Thomas G. Lopes commited on
Commit
15094ac
·
1 Parent(s): 58843c4

move utils file

Browse files
src/lib/components/inference-playground/code-snippets.svelte CHANGED
@@ -3,6 +3,11 @@
3
  import { structuredForbiddenProviders } from "$lib/state/models.svelte";
4
  import { token } from "$lib/state/token.svelte.js";
5
  import { isCustomModel } from "$lib/types.js";
 
 
 
 
 
6
  import { copyToClipboard } from "$lib/utils/copy.js";
7
  import { entries, fromEntries, keys } from "$lib/utils/object.svelte.js";
8
  import hljs from "highlight.js/lib/core";
@@ -12,11 +17,6 @@
12
  import IconExternal from "~icons/carbon/arrow-up-right";
13
  import IconCopy from "~icons/carbon/copy";
14
  import LocalToasts from "../local-toasts.svelte";
15
- import {
16
- getInferenceSnippet,
17
- type GetInferenceSnippetReturn,
18
- type InferenceSnippetLanguage,
19
- } from "./utils.svelte.js";
20
 
21
  hljs.registerLanguage("javascript", javascript);
22
  hljs.registerLanguage("python", python);
 
3
  import { structuredForbiddenProviders } from "$lib/state/models.svelte";
4
  import { token } from "$lib/state/token.svelte.js";
5
  import { isCustomModel } from "$lib/types.js";
6
+ import {
7
+ getInferenceSnippet,
8
+ type GetInferenceSnippetReturn,
9
+ type InferenceSnippetLanguage,
10
+ } from "$lib/utils/business.svelte.js";
11
  import { copyToClipboard } from "$lib/utils/copy.js";
12
  import { entries, fromEntries, keys } from "$lib/utils/object.svelte.js";
13
  import hljs from "highlight.js/lib/core";
 
17
  import IconExternal from "~icons/carbon/arrow-up-right";
18
  import IconCopy from "~icons/carbon/copy";
19
  import LocalToasts from "../local-toasts.svelte";
 
 
 
 
 
20
 
21
  hljs.registerLanguage("javascript", javascript);
22
  hljs.registerLanguage("python", python);
src/lib/components/inference-playground/custom-model-config.svelte CHANGED
@@ -24,6 +24,7 @@
24
  import { clickOutside } from "$lib/attachments/click-outside.js";
25
  import { models } from "$lib/state/models.svelte";
26
  import { PipelineTag, pipelineTagLabel, type Conversation, type CustomModel } from "$lib/types.js";
 
27
  import { createFieldValidation } from "$lib/utils/form.svelte.js";
28
  import { keys } from "$lib/utils/object.svelte.js";
29
  import { isValidURL } from "$lib/utils/url.js";
@@ -35,7 +36,6 @@
35
  import IconCaret from "~icons/carbon/chevron-down";
36
  import IconCross from "~icons/carbon/close";
37
  import Tooltip from "../tooltip.svelte";
38
- import { handleNonStreamingResponse } from "./utils.svelte.js";
39
 
40
  let dialog: HTMLDialogElement | undefined = $state();
41
  const exists = $derived(!!models.custom.find(m => m._id === model?._id));
 
24
  import { clickOutside } from "$lib/attachments/click-outside.js";
25
  import { models } from "$lib/state/models.svelte";
26
  import { PipelineTag, pipelineTagLabel, type Conversation, type CustomModel } from "$lib/types.js";
27
+ import { handleNonStreamingResponse } from "$lib/utils/business.svelte.js";
28
  import { createFieldValidation } from "$lib/utils/form.svelte.js";
29
  import { keys } from "$lib/utils/object.svelte.js";
30
  import { isValidURL } from "$lib/utils/url.js";
 
36
  import IconCaret from "~icons/carbon/chevron-down";
37
  import IconCross from "~icons/carbon/close";
38
  import Tooltip from "../tooltip.svelte";
 
39
 
40
  let dialog: HTMLDialogElement | undefined = $state();
41
  const exists = $derived(!!models.custom.find(m => m._id === model?._id));
src/lib/components/inference-playground/generation-config.svelte CHANGED
@@ -1,12 +1,12 @@
1
  <script lang="ts">
2
  import type { ConversationClass } from "$lib/state/conversations.svelte.js";
 
 
3
  import { isNumber } from "$lib/utils/is.js";
4
  import { watch } from "runed";
5
  import IconX from "~icons/carbon/close";
6
  import { GENERATION_CONFIG_KEYS, GENERATION_CONFIG_SETTINGS } from "./generation-config-settings.js";
7
  import StructuredOutputModal from "./structured-output-modal.svelte";
8
- import { maxAllowedTokens } from "./utils.svelte.js";
9
- import { structuredForbiddenProviders } from "$lib/state/models.svelte.js";
10
 
11
  interface Props {
12
  conversation: ConversationClass;
 
1
  <script lang="ts">
2
  import type { ConversationClass } from "$lib/state/conversations.svelte.js";
3
+ import { structuredForbiddenProviders } from "$lib/state/models.svelte.js";
4
+ import { maxAllowedTokens } from "$lib/utils/business.svelte.js";
5
  import { isNumber } from "$lib/utils/is.js";
6
  import { watch } from "runed";
7
  import IconX from "~icons/carbon/close";
8
  import { GENERATION_CONFIG_KEYS, GENERATION_CONFIG_SETTINGS } from "./generation-config-settings.js";
9
  import StructuredOutputModal from "./structured-output-modal.svelte";
 
 
10
 
11
  interface Props {
12
  conversation: ConversationClass;
src/lib/components/inference-playground/playground.svelte CHANGED
@@ -1,24 +1,13 @@
1
  <script lang="ts">
2
  import { observe, observed, ObservedElements } from "$lib/attachments/observe.svelte.js";
3
- import { token } from "$lib/state/token.svelte.js";
4
- import { cmdOrCtrl, optOrAlt } from "$lib/utils/platform.js";
5
- import { Popover } from "melt/components";
6
- import { default as IconDelete } from "~icons/carbon/trash-can";
7
- import Toaster from "../toaster.svelte";
8
- import Tooltip from "../tooltip.svelte";
9
- import PlaygroundConversationHeader from "./conversation-header.svelte";
10
- import PlaygroundConversation from "./conversation.svelte";
11
- import GenerationConfig from "./generation-config.svelte";
12
- import HFTokenModal from "./hf-token-modal.svelte";
13
- import ModelSelectorModal from "./model-selector-modal.svelte";
14
- import ModelSelector from "./model-selector.svelte";
15
- import ProjectSelect from "./project-select.svelte";
16
- import { isSystemPromptSupported } from "./utils.svelte.js";
17
-
18
  import { conversations } from "$lib/state/conversations.svelte";
19
  import { projects } from "$lib/state/projects.svelte";
 
20
  import { isHFModel } from "$lib/types.js";
21
  import { iterate } from "$lib/utils/array.js";
 
 
 
22
  import IconChatLeft from "~icons/carbon/align-box-bottom-left";
23
  import IconChatRight from "~icons/carbon/align-box-bottom-right";
24
  import IconExternal from "~icons/carbon/arrow-up-right";
@@ -28,8 +17,18 @@
28
  import IconCompare from "~icons/carbon/compare";
29
  import IconInfo from "~icons/carbon/information";
30
  import IconSettings from "~icons/carbon/settings";
31
- import { showShareModal } from "../share-modal.svelte";
32
  import IconShare from "~icons/carbon/share";
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  const multiple = $derived(conversations.active.length > 1);
35
 
 
1
  <script lang="ts">
2
  import { observe, observed, ObservedElements } from "$lib/attachments/observe.svelte.js";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  import { conversations } from "$lib/state/conversations.svelte";
4
  import { projects } from "$lib/state/projects.svelte";
5
+ import { token } from "$lib/state/token.svelte.js";
6
  import { isHFModel } from "$lib/types.js";
7
  import { iterate } from "$lib/utils/array.js";
8
+ import { isSystemPromptSupported } from "$lib/utils/business.svelte.js";
9
+ import { cmdOrCtrl, optOrAlt } from "$lib/utils/platform.js";
10
+ import { Popover } from "melt/components";
11
  import IconChatLeft from "~icons/carbon/align-box-bottom-left";
12
  import IconChatRight from "~icons/carbon/align-box-bottom-right";
13
  import IconExternal from "~icons/carbon/arrow-up-right";
 
17
  import IconCompare from "~icons/carbon/compare";
18
  import IconInfo from "~icons/carbon/information";
19
  import IconSettings from "~icons/carbon/settings";
 
20
  import IconShare from "~icons/carbon/share";
21
+ import { default as IconDelete } from "~icons/carbon/trash-can";
22
+ import { showShareModal } from "../share-modal.svelte";
23
+ import Toaster from "../toaster.svelte";
24
+ import Tooltip from "../tooltip.svelte";
25
+ import PlaygroundConversationHeader from "./conversation-header.svelte";
26
+ import PlaygroundConversation from "./conversation.svelte";
27
+ import GenerationConfig from "./generation-config.svelte";
28
+ import HFTokenModal from "./hf-token-modal.svelte";
29
+ import ModelSelectorModal from "./model-selector-modal.svelte";
30
+ import ModelSelector from "./model-selector.svelte";
31
+ import ProjectSelect from "./project-select.svelte";
32
 
33
  const multiple = $derived(conversations.active.length > 1);
34
 
src/lib/state/conversations.svelte.ts CHANGED
@@ -2,13 +2,10 @@ import {
2
  defaultGenerationConfig,
3
  type GenerationConfig,
4
  } from "$lib/components/inference-playground/generation-config-settings.js";
5
- import {
6
- handleNonStreamingResponse,
7
- handleStreamingResponse,
8
- } from "$lib/components/inference-playground/utils.svelte.js";
9
  import { addToast } from "$lib/components/toaster.svelte.js";
10
  import { AbortManager } from "$lib/spells/abort-manager.svelte";
11
  import { PipelineTag, Provider, type ConversationMessage, type GenerationStatistics, type Model } from "$lib/types.js";
 
12
  import { omit, snapshot } from "$lib/utils/object.svelte";
13
  import { models, structuredForbiddenProviders } from "./models.svelte";
14
  import { DEFAULT_PROJECT_ID, ProjectEntity, projects } from "./projects.svelte";
@@ -17,11 +14,11 @@ import { token } from "./token.svelte";
17
  // @ts-ignore - Svelte imports are broken in TS files
18
  import { showQuotaModal } from "$lib/components/quota-modal.svelte";
19
  import { idb } from "$lib/remult.js";
 
 
20
  import { poll } from "$lib/utils/poll.js";
21
  import { Entity, Fields, repo, type MembersOnly } from "remult";
22
  import { images } from "./images.svelte";
23
- import { isString } from "$lib/utils/is.js";
24
- import { createInit } from "$lib/spells/create-init.svelte";
25
 
26
  @Entity("conversation")
27
  export class ConversationEntity {
 
2
  defaultGenerationConfig,
3
  type GenerationConfig,
4
  } from "$lib/components/inference-playground/generation-config-settings.js";
 
 
 
 
5
  import { addToast } from "$lib/components/toaster.svelte.js";
6
  import { AbortManager } from "$lib/spells/abort-manager.svelte";
7
  import { PipelineTag, Provider, type ConversationMessage, type GenerationStatistics, type Model } from "$lib/types.js";
8
+ import { handleNonStreamingResponse, handleStreamingResponse } from "$lib/utils/business.svelte.js";
9
  import { omit, snapshot } from "$lib/utils/object.svelte";
10
  import { models, structuredForbiddenProviders } from "./models.svelte";
11
  import { DEFAULT_PROJECT_ID, ProjectEntity, projects } from "./projects.svelte";
 
14
  // @ts-ignore - Svelte imports are broken in TS files
15
  import { showQuotaModal } from "$lib/components/quota-modal.svelte";
16
  import { idb } from "$lib/remult.js";
17
+ import { createInit } from "$lib/spells/create-init.svelte";
18
+ import { isString } from "$lib/utils/is.js";
19
  import { poll } from "$lib/utils/poll.js";
20
  import { Entity, Fields, repo, type MembersOnly } from "remult";
21
  import { images } from "./images.svelte";
 
 
22
 
23
  @Entity("conversation")
24
  export class ConversationEntity {
src/lib/{components/inference-playground/utils.svelte.ts → utils/business.svelte.ts} RENAMED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  import ctxLengthData from "$lib/data/context_length.json";
2
  import { InferenceClient, snippets } from "@huggingface/inference";
3
  import { ConversationClass, type ConversationEntityMembers } from "$lib/state/conversations.svelte";
 
1
+ /** BUSINESS
2
+ *
3
+ * All utils that are bound to business logic
4
+ * (and wouldn't be useful in another project)
5
+ * should be here.
6
+ *
7
+ **/
8
+
9
  import ctxLengthData from "$lib/data/context_length.json";
10
  import { InferenceClient, snippets } from "@huggingface/inference";
11
  import { ConversationClass, type ConversationEntityMembers } from "$lib/state/conversations.svelte";