@superblocksteam/vite-plugin-file-sync 2.0.18-next.8 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/app-interface/source-tracker.d.ts +9 -2
- package/dist/ai-service/app-interface/source-tracker.d.ts.map +1 -1
- package/dist/ai-service/app-interface/source-tracker.js +22 -4
- package/dist/ai-service/app-interface/source-tracker.js.map +1 -1
- package/dist/ai-service/artifacts/bolt.js +4 -4
- package/dist/ai-service/artifacts/bolt.js.map +1 -1
- package/dist/ai-service/context/app-context.d.ts +37 -0
- package/dist/ai-service/context/app-context.d.ts.map +1 -0
- package/dist/ai-service/context/app-context.js +205 -0
- package/dist/ai-service/context/app-context.js.map +1 -0
- package/dist/ai-service/evals/content-matchers/index.d.ts +1 -0
- package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
- package/dist/ai-service/evals/content-matchers/index.js +8 -0
- package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
- package/dist/ai-service/evals/helpers/critical-scorers.d.ts +10 -0
- package/dist/ai-service/evals/helpers/critical-scorers.d.ts.map +1 -0
- package/dist/ai-service/evals/helpers/critical-scorers.js +331 -0
- package/dist/ai-service/evals/helpers/critical-scorers.js.map +1 -0
- package/dist/ai-service/evals/helpers/eval-scoring.d.ts +76 -12
- package/dist/ai-service/evals/helpers/eval-scoring.d.ts.map +1 -1
- package/dist/ai-service/evals/helpers/eval-scoring.js +155 -235
- package/dist/ai-service/evals/helpers/eval-scoring.js.map +1 -1
- package/dist/ai-service/evals/helpers/index.d.ts +34 -3
- package/dist/ai-service/evals/helpers/index.d.ts.map +1 -1
- package/dist/ai-service/evals/helpers/index.js +147 -22
- package/dist/ai-service/evals/helpers/index.js.map +1 -1
- package/dist/ai-service/evals/helpers/non-critical-scorers.d.ts +6 -0
- package/dist/ai-service/evals/helpers/non-critical-scorers.d.ts.map +1 -0
- package/dist/ai-service/evals/helpers/non-critical-scorers.js +187 -0
- package/dist/ai-service/evals/helpers/non-critical-scorers.js.map +1 -0
- package/dist/ai-service/evals/helpers/scorer-types.d.ts +39 -0
- package/dist/ai-service/evals/helpers/scorer-types.d.ts.map +1 -0
- package/dist/ai-service/evals/helpers/scorer-types.js +19 -0
- package/dist/ai-service/evals/helpers/scorer-types.js.map +1 -0
- package/dist/ai-service/evals/llm-provider.d.ts +2 -0
- package/dist/ai-service/evals/llm-provider.d.ts.map +1 -0
- package/dist/ai-service/evals/llm-provider.js +9 -0
- package/dist/ai-service/evals/llm-provider.js.map +1 -0
- package/dist/ai-service/index.d.ts +10 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +85 -11
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/from-prompt-context.js +1 -1
- package/dist/ai-service/integrations/from-prompt-context.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +3 -5
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +5 -13
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/impl/anthropic.d.ts +3 -0
- package/dist/ai-service/llm/impl/anthropic.d.ts.map +1 -0
- package/dist/ai-service/llm/impl/anthropic.js +42 -0
- package/dist/ai-service/llm/impl/anthropic.js.map +1 -0
- package/dist/ai-service/llm/provider.d.ts +3 -0
- package/dist/ai-service/llm/provider.d.ts.map +1 -0
- package/dist/ai-service/llm/provider.js +30 -0
- package/dist/ai-service/llm/provider.js.map +1 -0
- package/dist/ai-service/llm/types.d.ts +15 -0
- package/dist/ai-service/llm/types.d.ts.map +1 -0
- package/dist/ai-service/llm/types.js +2 -0
- package/dist/ai-service/llm/types.js.map +1 -0
- package/dist/ai-service/llm/utils.d.ts +9 -0
- package/dist/ai-service/llm/utils.d.ts.map +1 -0
- package/dist/ai-service/llm/utils.js +49 -0
- package/dist/ai-service/llm/utils.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/builders/code-generation.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/builders/code-generation.js +74 -42
- package/dist/ai-service/prompt-builder-service/builders/code-generation.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/builders/incremental-edits.d.ts +13 -0
- package/dist/ai-service/prompt-builder-service/builders/incremental-edits.d.ts.map +1 -0
- package/dist/ai-service/prompt-builder-service/builders/incremental-edits.js +71 -0
- package/dist/ai-service/prompt-builder-service/builders/incremental-edits.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/builders/specific-edits.d.ts +13 -0
- package/dist/ai-service/prompt-builder-service/builders/specific-edits.d.ts.map +1 -0
- package/dist/ai-service/prompt-builder-service/builders/specific-edits.js +71 -0
- package/dist/ai-service/prompt-builder-service/builders/specific-edits.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts +23 -0
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.d.ts.map +1 -0
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js +108 -0
- package/dist/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.d.ts +2 -2
- package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.js +56 -29
- package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/base-fragment.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/base-fragment.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/base-fragment.js +36 -3
- package/dist/ai-service/prompt-builder-service/fragment-generators/base-fragment.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/index.d.ts +2 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/index.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/index.js +2 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/index.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.d.ts +2 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.d.ts.map +1 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +6 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.d.ts +2 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.d.ts.map +1 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +6 -0
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/types.d.ts +21 -7
- package/dist/ai-service/prompt-builder-service/types.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/types.js +10 -1
- package/dist/ai-service/prompt-builder-service/types.js.map +1 -1
- package/dist/ai-service/result-buffer/bolt.js +2 -2
- package/dist/ai-service/result-buffer/bolt.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +10 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +51 -11
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +226 -231
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.d.ts +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.js +56 -3
- package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +1 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +1 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.js +9 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.js.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +80 -38
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +9 -3
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +1 -1
- package/dist/ai-service/transform/shared.d.ts.map +1 -1
- package/dist/ai-service/transform/shared.js +1 -5
- package/dist/ai-service/transform/shared.js.map +1 -1
- package/dist/ai-service/types.d.ts +1 -1
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/components-manager.d.ts +1 -1
- package/dist/components-manager.d.ts.map +1 -1
- package/dist/components-manager.js +81 -18
- package/dist/components-manager.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +50 -11
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +2 -1
- package/dist/file-system-manager.js.map +1 -1
- package/dist/refactor/javascript.d.ts.map +1 -1
- package/dist/refactor/javascript.js +19 -2
- package/dist/refactor/javascript.js.map +1 -1
- package/dist/rename-manager.d.ts +2 -1
- package/dist/rename-manager.d.ts.map +1 -1
- package/dist/rename-manager.js +8 -6
- package/dist/rename-manager.js.map +1 -1
- package/dist/sb-scope-manager.d.ts.map +1 -1
- package/dist/sb-scope-manager.js +19 -0
- package/dist/sb-scope-manager.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +5 -0
- package/dist/socket-manager.js.map +1 -1
- package/dist/source-tracker.d.ts +2 -1
- package/dist/source-tracker.d.ts.map +1 -1
- package/dist/source-tracker.js +2 -1
- package/dist/source-tracker.js.map +1 -1
- package/dist/virtual-modules.d.ts +5 -0
- package/dist/virtual-modules.d.ts.map +1 -0
- package/dist/virtual-modules.js +5 -0
- package/dist/virtual-modules.js.map +1 -0
- package/package.json +6 -6
- package/dist/ai-service/evals/lib/modal-config.d.ts +0 -8
- package/dist/ai-service/evals/lib/modal-config.d.ts.map +0 -1
- package/dist/ai-service/evals/lib/modal-config.js +0 -23
- package/dist/ai-service/evals/lib/modal-config.js.map +0 -1
- package/dist/ai-service/prompt-builder-service/constants/superblocks-components-fragments.d.ts +0 -3
- package/dist/ai-service/prompt-builder-service/constants/superblocks-components-fragments.d.ts.map +0 -1
- package/dist/ai-service/prompt-builder-service/constants/superblocks-components-fragments.js +0 -24
- package/dist/ai-service/prompt-builder-service/constants/superblocks-components-fragments.js.map +0 -1
package/dist/ai-service/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
1
|
import { addTracingToMethods, TracedEventEmitter, } from "@superblocksteam/shared";
|
|
3
2
|
import tracer from "dd-trace";
|
|
4
3
|
import { getErrorMeta, getLogger } from "../util/logger.js";
|
|
5
4
|
import { AppShell } from "./app-interface/shell.js";
|
|
6
5
|
import { SourceTrackerInterface } from "./app-interface/source-tracker.js";
|
|
7
6
|
import { BoltArtifactProcessor } from "./artifacts/bolt.js";
|
|
7
|
+
import { AppContextStore } from "./context/app-context.js";
|
|
8
8
|
import { IntegrationStore } from "./integrations/store.js";
|
|
9
|
+
import { createLLMProvider } from "./llm/provider.js";
|
|
10
|
+
import { PromptInterpretTask } from "./prompt-builder-service/classifiers/prompt-interpret-task.js";
|
|
9
11
|
import { ClarkStateNames, transitions, SERVICE_STARTED_WITH_DRAFT, USER_ACCEPTED_DRAFT, USER_REJECTED_DRAFT, BUILD_SYSTEM_ERRORED, USER_SENT_PROMPT, USER_CANCELED, AGENT_CANCELED, } from "./state-machine/clark-fsm.js";
|
|
10
12
|
import { FSM } from "./state-machine/fsm.js";
|
|
11
13
|
import { doAgentPlanning } from "./state-machine/handlers/agent-planning.js";
|
|
@@ -21,25 +23,30 @@ import { mockAnthropicFetch } from "./test-utils/anthropic-service-mock.js";
|
|
|
21
23
|
export class AiService extends TracedEventEmitter {
|
|
22
24
|
config;
|
|
23
25
|
artifactProcessor;
|
|
24
|
-
anthropicProvider;
|
|
25
26
|
templateRenderer;
|
|
26
27
|
appShell;
|
|
27
28
|
sourceTrackerInterface;
|
|
28
29
|
integrationStore;
|
|
30
|
+
_appContext;
|
|
31
|
+
llmProviderSettings;
|
|
29
32
|
clark;
|
|
33
|
+
get appContext() {
|
|
34
|
+
return this._appContext;
|
|
35
|
+
}
|
|
30
36
|
constructor(config) {
|
|
31
37
|
super(config.tracer);
|
|
32
38
|
this.config = config;
|
|
33
39
|
// todo: move to state handlers
|
|
34
40
|
this.artifactProcessor = new BoltArtifactProcessor();
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
this.llmProviderSettings = {
|
|
42
|
+
anthropic: {
|
|
43
|
+
baseURL: `${config.superblocksBaseUrl}/api/v1/ai/proxy/anthropic`,
|
|
44
|
+
apiKey: "placeholder",
|
|
45
|
+
fetch: process.env.MOCK_AI_GENERATION === "true"
|
|
46
|
+
? mockAnthropicFetch
|
|
47
|
+
: undefined,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
43
50
|
this.templateRenderer = new TemplateRenderer({
|
|
44
51
|
prefetchNodeModules: true,
|
|
45
52
|
});
|
|
@@ -49,6 +56,7 @@ export class AiService extends TracedEventEmitter {
|
|
|
49
56
|
});
|
|
50
57
|
this.sourceTrackerInterface = new SourceTrackerInterface();
|
|
51
58
|
this.integrationStore = new IntegrationStore();
|
|
59
|
+
this._appContext = new AppContextStore();
|
|
52
60
|
this.clark = new FSM({
|
|
53
61
|
transitions,
|
|
54
62
|
initialState: ClarkStateNames.Idle,
|
|
@@ -93,11 +101,12 @@ export class AiService extends TracedEventEmitter {
|
|
|
93
101
|
...this.config,
|
|
94
102
|
templateRenderer: this.templateRenderer,
|
|
95
103
|
artifactProcessor: this.artifactProcessor,
|
|
96
|
-
anthropicProvider: this.anthropicProvider,
|
|
97
104
|
appShell: this.appShell,
|
|
98
105
|
signals: this,
|
|
99
106
|
sourceTrackerInterface: this.sourceTrackerInterface,
|
|
100
107
|
integrationStore: this.integrationStore,
|
|
108
|
+
appContextStore: this.appContext,
|
|
109
|
+
llmProvider: createLLMProvider(this.llmProviderSettings, () => clark.context.jwt),
|
|
101
110
|
};
|
|
102
111
|
const clarkStateHandlers = Object.fromEntries(Object.entries(clarkStateHandlerFactories).map(([state, handlerFactory]) => [state, handlerFactory(clark, params)]));
|
|
103
112
|
return async (transition) => {
|
|
@@ -139,8 +148,44 @@ export class AiService extends TracedEventEmitter {
|
|
|
139
148
|
};
|
|
140
149
|
};
|
|
141
150
|
}
|
|
151
|
+
async registerPromptInterpretationTask(prompt, jwt, peer) {
|
|
152
|
+
const task = new PromptInterpretTask(createLLMProvider(this.llmProviderSettings, () => jwt), this.appContext, prompt);
|
|
153
|
+
this.clark.updateContext({
|
|
154
|
+
promptInterpretTask: task,
|
|
155
|
+
});
|
|
156
|
+
let interpretation;
|
|
157
|
+
try {
|
|
158
|
+
interpretation = await task.resolve();
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
getLogger().error(`[ai-service] Prompt interpretation failed`, getErrorMeta(error));
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const { components, apis, classification } = interpretation;
|
|
165
|
+
void peer.call.aiPushPromptInterpretation({
|
|
166
|
+
prompt,
|
|
167
|
+
classification,
|
|
168
|
+
componentElementIds: components,
|
|
169
|
+
apiNames: apis,
|
|
170
|
+
});
|
|
171
|
+
{
|
|
172
|
+
// this block is for debugging while developing prompt interpretation
|
|
173
|
+
// TODO(colin): remove this block before merging
|
|
174
|
+
const hydratedComponents = components.map((component) => this.appContext.componentSemanticsById[component]);
|
|
175
|
+
const hydratedApis = apis.map((api) => this.appContext.apiSemanticsByName[api]);
|
|
176
|
+
console.log("interpretation", prompt, classification, hydratedComponents, hydratedApis);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
142
179
|
async handleAiGenerate(request, peer) {
|
|
143
180
|
const { llmobs } = tracer;
|
|
181
|
+
// TODO: We'll reintroduce this when we're ready to do prompt interpretation.
|
|
182
|
+
// if (!this.clark.context.promptInterpretTask) {
|
|
183
|
+
// void this.registerPromptInterpretationTask(
|
|
184
|
+
// request.prompt,
|
|
185
|
+
// request.jwt,
|
|
186
|
+
// peer,
|
|
187
|
+
// );
|
|
188
|
+
// }
|
|
144
189
|
return llmobs.trace({
|
|
145
190
|
kind: "workflow",
|
|
146
191
|
name: "ai-generate-code",
|
|
@@ -163,7 +208,23 @@ export class AiService extends TracedEventEmitter {
|
|
|
163
208
|
});
|
|
164
209
|
});
|
|
165
210
|
}
|
|
211
|
+
submitAcceptanceEvalutation(wasAccepted) {
|
|
212
|
+
if (this.clark.context.spanContext) {
|
|
213
|
+
const { llmobs } = tracer;
|
|
214
|
+
try {
|
|
215
|
+
llmobs.submitEvaluation(this.clark.context.spanContext, {
|
|
216
|
+
label: "user_feedback",
|
|
217
|
+
metricType: "categorical",
|
|
218
|
+
value: wasAccepted ? "accepted" : "rejected",
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
getLogger().warn(`[ai-service] Failed to submit feedback to Datadog: ${error}`, JSON.stringify(getErrorMeta(error), null, 2));
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
166
226
|
async handleUserAcceptedDraft(peer) {
|
|
227
|
+
this.submitAcceptanceEvalutation(true);
|
|
167
228
|
if (this.clark.state !== ClarkStateNames.AwaitingUser) {
|
|
168
229
|
throw new Error("Service is not awaiting user input");
|
|
169
230
|
}
|
|
@@ -177,6 +238,7 @@ export class AiService extends TracedEventEmitter {
|
|
|
177
238
|
transitionTo({ type: USER_ACCEPTED_DRAFT });
|
|
178
239
|
}
|
|
179
240
|
async handleUserRejectedDraft(peer) {
|
|
241
|
+
this.submitAcceptanceEvalutation(false);
|
|
180
242
|
if (this.clark.state !== ClarkStateNames.AwaitingUser) {
|
|
181
243
|
throw new Error("Service is not awaiting user input");
|
|
182
244
|
}
|
|
@@ -206,12 +268,24 @@ export class AiService extends TracedEventEmitter {
|
|
|
206
268
|
error,
|
|
207
269
|
});
|
|
208
270
|
}
|
|
271
|
+
async handlePromptInterpretation(request, peer) {
|
|
272
|
+
if (this.clark.state !== ClarkStateNames.Idle &&
|
|
273
|
+
this.clark.state !== ClarkStateNames.AwaitingUser) {
|
|
274
|
+
getLogger().warn(`[ai-service] Prompt interpretation request in unexpected state: ${this.clark.state}`);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
this.clark.context.promptInterpretTask?.abort();
|
|
278
|
+
void this.registerPromptInterpretationTask(request.prompt, request.jwt, peer);
|
|
279
|
+
}
|
|
209
280
|
isBusy() {
|
|
210
281
|
return (this.clark.state !== ClarkStateNames.Idle &&
|
|
211
282
|
this.clark.state !== ClarkStateNames.AwaitingUser &&
|
|
212
283
|
this.clark.state !== ClarkStateNames.Dead);
|
|
213
284
|
}
|
|
214
285
|
setSourceTracker(sourceTracker) {
|
|
286
|
+
if (!sourceTracker) {
|
|
287
|
+
throw new Error("Source tracker cannot be undefined");
|
|
288
|
+
}
|
|
215
289
|
this.sourceTrackerInterface.setSourceTracker(sourceTracker);
|
|
216
290
|
}
|
|
217
291
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-prompt-context.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/from-prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAerB,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAqC,EACrC,MAAc,EACd,KAAY,EACZ,MAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0B,CAAC;IAEpD,IACE,CAAC,IAAI;QACL,CAAC,EAAE;QACH,CAAC,gBAAgB,CAAC;YAChB,IAAI;SACL,CAAC,EACF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CACzE;YACE,KAAK;YACL,WAAW;YACX,MAAM;YACN,
|
|
1
|
+
{"version":3,"file":"from-prompt-context.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/from-prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAerB,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAqC,EACrC,MAAc,EACd,KAAY,EACZ,MAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0B,CAAC;IAEpD,IACE,CAAC,IAAI;QACL,CAAC,EAAE;QACH,CAAC,gBAAgB,CAAC;YAChB,IAAI;SACL,CAAC,EACF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CACzE;YACE,KAAK;YACL,WAAW;YACX,MAAM;YACN,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CACF,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,QAAQ,EAAE;gBACR,GAAG,iBAAiB,CAAC,WAAW,CAAC;gBACjC,WAAW,EAAE,aAAa,IAAI,EAAE;aACjC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,WAAqC,EAAE,EAAE;IAClE,IACE,CAAC,WAAW,CAAC,QAAQ;QACrB,CAAC,qBAAqB,CAAC;YACrB,IAAI,EAAE,WAAW,CAAC,IAAkC;SACrD,CAAC,EACF,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CACxC,CAAC,QAA6B,EAAE,EAAE;QAChC,MAAM,UAAU,GACd,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAA+B,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEZ,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,MAAM,EAAE,gBAAgB;SACzB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,gBAAgB,CACvB,WAAoC;IAEpC,OAAO,CACL,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ;QACpC,WAAW,CAAC,IAAI,IAAI,wBAAwB,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAqC;IACjE,OAAO,WAAW,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAoC;IAEpC,OAAO,wBAAwB,CAAC,QAAQ,CACtC,WAAW,CAAC,IAAkC,CAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { getOpenApiSubset, type OpenApiSpec } from "../../util/open-api.js";
|
|
2
|
+
import type { LLMProvider } from "../llm/types.js";
|
|
2
3
|
import type { Clark } from "../state-machine/clark-fsm.js";
|
|
3
|
-
import type { AnthropicProvider } from "@ai-sdk/anthropic";
|
|
4
4
|
import type { PromptContextIntegration } from "@superblocksteam/library-shared/types";
|
|
5
5
|
export declare class IntegrationStore {
|
|
6
6
|
private openApiSpecs;
|
|
7
|
-
private LLM_MODEL;
|
|
8
|
-
private LLM_MODEL_PROVIDER;
|
|
9
7
|
getOpenApiSpec(integration: PromptContextIntegration, clark: Clark): Promise<OpenApiSpec | undefined>;
|
|
10
|
-
getRelevantOpenApiPaths({ clark, integration, prompt,
|
|
8
|
+
getRelevantOpenApiPaths({ clark, integration, prompt, llmProvider, }: {
|
|
11
9
|
clark: Clark;
|
|
12
10
|
integration: PromptContextIntegration;
|
|
13
11
|
prompt: string;
|
|
14
|
-
|
|
12
|
+
llmProvider: LLMProvider;
|
|
15
13
|
}): Promise<OpenApiSubset>;
|
|
16
14
|
}
|
|
17
15
|
export type OpenApiSubset = ReturnType<typeof getOpenApiSubset>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAEhB,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAEhB,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAmC;IAEjD,cAAc,CAClB,WAAW,EAAE,wBAAwB,EACrC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA0B7B,uBAAuB,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAW,GACZ,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,wBAAwB,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC;CAwD3B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -5,8 +5,6 @@ import { getOpenApiSubset, getRedactedPaths, } from "../../util/open-api.js";
|
|
|
5
5
|
import { buildOpenAPIIntentPrompt } from "../prompt-builder-service/index.js";
|
|
6
6
|
export class IntegrationStore {
|
|
7
7
|
openApiSpecs = {};
|
|
8
|
-
LLM_MODEL = "claude-3-7-sonnet-20250219";
|
|
9
|
-
LLM_MODEL_PROVIDER = "anthropic";
|
|
10
8
|
async getOpenApiSpec(integration, clark) {
|
|
11
9
|
if (this.openApiSpecs[integration.id]) {
|
|
12
10
|
return this.openApiSpecs[integration.id];
|
|
@@ -29,7 +27,7 @@ export class IntegrationStore {
|
|
|
29
27
|
this.openApiSpecs[integration.id] = result;
|
|
30
28
|
return this.openApiSpecs[integration.id];
|
|
31
29
|
}
|
|
32
|
-
async getRelevantOpenApiPaths({ clark, integration, prompt,
|
|
30
|
+
async getRelevantOpenApiPaths({ clark, integration, prompt, llmProvider, }) {
|
|
33
31
|
const openApiSpec = await this.getOpenApiSpec(integration, clark);
|
|
34
32
|
if (!openApiSpec) {
|
|
35
33
|
return {
|
|
@@ -37,20 +35,15 @@ export class IntegrationStore {
|
|
|
37
35
|
components: {},
|
|
38
36
|
};
|
|
39
37
|
}
|
|
40
|
-
const { jwt } = clark.context;
|
|
41
|
-
const headers = {};
|
|
42
|
-
if (jwt) {
|
|
43
|
-
headers["Authorization"] = `Bearer ${jwt}`;
|
|
44
|
-
headers["x-superblocks-authorization"] = `Bearer ${jwt}`;
|
|
45
|
-
}
|
|
46
38
|
const redactedPaths = getRedactedPaths(openApiSpec);
|
|
47
39
|
const { prompt: openApiIntentPrompt, schema } = buildOpenAPIIntentPrompt(prompt, redactedPaths);
|
|
48
40
|
const { llmobs } = ddTrace;
|
|
41
|
+
const model = llmProvider.modelForTask("openApiIntent");
|
|
49
42
|
const wrappedGenerateObject = llmobs.wrap({
|
|
50
43
|
kind: "llm",
|
|
51
44
|
name: "getRelevantOpenApiPaths",
|
|
52
|
-
modelName:
|
|
53
|
-
modelProvider:
|
|
45
|
+
modelName: model.modelId,
|
|
46
|
+
modelProvider: model.provider,
|
|
54
47
|
}, async (args) => {
|
|
55
48
|
const result = await generateObject(args);
|
|
56
49
|
// https://docs.datadoghq.com/llm_observability/sdk/?tab=nodejs#annotating-a-span
|
|
@@ -71,10 +64,9 @@ export class IntegrationStore {
|
|
|
71
64
|
return result;
|
|
72
65
|
});
|
|
73
66
|
const { object } = await wrappedGenerateObject({
|
|
74
|
-
model
|
|
67
|
+
model,
|
|
75
68
|
schema,
|
|
76
69
|
prompt: openApiIntentPrompt,
|
|
77
|
-
headers,
|
|
78
70
|
});
|
|
79
71
|
return getOpenApiSubset(openApiSpec, object.paths);
|
|
80
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6B,MAAM,IAAI,CAAC;AAC/D,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAK9E,MAAM,OAAO,gBAAgB;IACnB,YAAY,GAAgC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/impl/anthropic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,aAAa,GAAI,UAAU,mBAAmB,KAAG,aAuC7D,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
+
import { wrapLanguageModel } from "ai";
|
|
3
|
+
import { prioritySettingsMiddleware } from "../utils.js";
|
|
4
|
+
export const anthropicImpl = (settings) => {
|
|
5
|
+
const anthropic = createAnthropic(settings.anthropic);
|
|
6
|
+
return {
|
|
7
|
+
classifyPrompt: anthropic("claude-3-5-haiku-20241022"),
|
|
8
|
+
openApiIntent: anthropic("claude-3-7-sonnet-20250219"),
|
|
9
|
+
generateSpecificEdit: wrapLanguageModel({
|
|
10
|
+
model: anthropic("claude-3-5-haiku-20241022"),
|
|
11
|
+
middleware: [
|
|
12
|
+
prioritySettingsMiddleware({
|
|
13
|
+
settings: {
|
|
14
|
+
maxTokens: 8192,
|
|
15
|
+
temperature: 0.5,
|
|
16
|
+
},
|
|
17
|
+
}),
|
|
18
|
+
],
|
|
19
|
+
}),
|
|
20
|
+
generateBroadEdit: wrapLanguageModel({
|
|
21
|
+
model: anthropic("claude-4-sonnet-20250514"),
|
|
22
|
+
middleware: [
|
|
23
|
+
prioritySettingsMiddleware({
|
|
24
|
+
settings: {
|
|
25
|
+
maxTokens: 64000,
|
|
26
|
+
},
|
|
27
|
+
}),
|
|
28
|
+
],
|
|
29
|
+
}),
|
|
30
|
+
generateFullAppGen: wrapLanguageModel({
|
|
31
|
+
model: anthropic("claude-4-sonnet-20250514"),
|
|
32
|
+
middleware: [
|
|
33
|
+
prioritySettingsMiddleware({
|
|
34
|
+
settings: {
|
|
35
|
+
maxTokens: 64000,
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
],
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/impl/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAA6B,EAAiB,EAAE;IAC5E,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtD,OAAO;QACL,cAAc,EAAE,SAAS,CAAC,2BAA2B,CAAC;QACtD,aAAa,EAAE,SAAS,CAAC,4BAA4B,CAAC;QAEtD,oBAAoB,EAAE,iBAAiB,CAAC;YACtC,KAAK,EAAE,SAAS,CAAC,2BAA2B,CAAC;YAC7C,UAAU,EAAE;gBACV,0BAA0B,CAAC;oBACzB,QAAQ,EAAE;wBACR,SAAS,EAAE,IAAI;wBACf,WAAW,EAAE,GAAG;qBACjB;iBACF,CAAC;aACH;SACF,CAAC;QACF,iBAAiB,EAAE,iBAAiB,CAAC;YACnC,KAAK,EAAE,SAAS,CAAC,0BAA0B,CAAC;YAC5C,UAAU,EAAE;gBACV,0BAA0B,CAAC;oBACzB,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAC;aACH;SACF,CAAC;QACF,kBAAkB,EAAE,iBAAiB,CAAC;YACpC,KAAK,EAAE,SAAS,CAAC,0BAA0B,CAAC;YAC5C,UAAU,EAAE;gBACV,0BAA0B,CAAC;oBACzB,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAC;aACH;SACF,CAAC;KACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB,GAC5B,UAAU,mBAAmB,EAC7B,SAAS,MAAM,MAAM,GAAG,SAAS,KAChC,WAgCF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { customProvider, wrapLanguageModel } from "ai";
|
|
2
|
+
import { anthropicImpl } from "./impl/anthropic.js";
|
|
3
|
+
import { jwtMiddleware, modelFromClassification } from "./utils.js";
|
|
4
|
+
export const createLLMProvider = (settings, getJwt) => {
|
|
5
|
+
const wrapDefaults = (model) => wrapLanguageModel({
|
|
6
|
+
model,
|
|
7
|
+
middleware: [jwtMiddleware(getJwt)],
|
|
8
|
+
});
|
|
9
|
+
// NOTE: when we support multiple providers, we'll want to discriminate
|
|
10
|
+
// on some TBD criteria. We may also choose to mix and match providers.
|
|
11
|
+
const impl = anthropicImpl(settings);
|
|
12
|
+
const languageModels = {
|
|
13
|
+
classifyPrompt: wrapDefaults(impl.classifyPrompt),
|
|
14
|
+
openApiIntent: wrapDefaults(impl.openApiIntent),
|
|
15
|
+
generateSpecificEdit: wrapDefaults(impl.generateSpecificEdit),
|
|
16
|
+
generateBroadEdit: wrapDefaults(impl.generateBroadEdit),
|
|
17
|
+
generateFullAppGen: wrapDefaults(impl.generateFullAppGen),
|
|
18
|
+
};
|
|
19
|
+
const sdkProvider = customProvider({
|
|
20
|
+
languageModels,
|
|
21
|
+
});
|
|
22
|
+
const modelForTask = (modelId) => {
|
|
23
|
+
return sdkProvider.languageModel(modelId);
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
modelForTask,
|
|
27
|
+
modelForClassification: (classification) => modelFromClassification(modelForTask, classification),
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAwB,MAAM,IAAI,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAA6B,EAC7B,MAAiC,EACpB,EAAE;IACf,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE,CAC9C,iBAAiB,CAAC;QAChB,KAAK;QACL,UAAU,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACpC,CAAC,CAAC;IAEL,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,cAAc,GAAkB;QACpC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,oBAAoB,EAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC7D,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvD,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;KAC1D,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE;QACxC,OAAO,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,sBAAsB,EAAE,CAAC,cAAc,EAAE,EAAE,CACzC,uBAAuB,CAAC,YAAY,EAAE,cAAc,CAAC;KACxD,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PromptClassification } from "../prompt-builder-service/types.js";
|
|
2
|
+
import type { AnthropicProviderSettings } from "@ai-sdk/anthropic";
|
|
3
|
+
import type { LanguageModelV1 } from "ai";
|
|
4
|
+
export type LLMProviderSettings = {
|
|
5
|
+
anthropic: AnthropicProviderSettings;
|
|
6
|
+
};
|
|
7
|
+
export type LLMTask = "classifyPrompt" | "openApiIntent" | "generateSpecificEdit" | "generateBroadEdit" | "generateFullAppGen";
|
|
8
|
+
export type LLMTaskModels = {
|
|
9
|
+
[K in LLMTask]: LanguageModelV1;
|
|
10
|
+
};
|
|
11
|
+
export type LLMProvider = {
|
|
12
|
+
modelForTask: (modelId: LLMTask) => LanguageModelV1;
|
|
13
|
+
modelForClassification: (classification: PromptClassification) => LanguageModelV1;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,yBAAyB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,OAAO,GAAG,eAAe;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,CAAC;IACpD,sBAAsB,EAAE,CACtB,cAAc,EAAE,oBAAoB,KACjC,eAAe,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LLMTask } from "./types.js";
|
|
2
|
+
import type { PromptClassification } from "../prompt-builder-service/types.js";
|
|
3
|
+
import type { LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Middleware } from "ai";
|
|
4
|
+
export declare const modelFromClassification: (modelForTask: (taskName: LLMTask) => LanguageModelV1, classification: PromptClassification) => LanguageModelV1;
|
|
5
|
+
export declare const jwtMiddleware: (getJwt?: () => string | undefined) => LanguageModelV1Middleware;
|
|
6
|
+
export declare const prioritySettingsMiddleware: ({ settings, }: {
|
|
7
|
+
settings: Partial<LanguageModelV1CallOptions>;
|
|
8
|
+
}) => LanguageModelV1Middleware;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,IAAI,CAAC;AAEZ,eAAO,MAAM,uBAAuB,GAClC,cAAc,CAAC,QAAQ,EAAE,OAAO,KAAK,eAAe,EACpD,gBAAgB,oBAAoB,KACnC,eAaF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,MAAM,GAAG,SAAS,KAChC,yBAkBF,CAAC;AAIF,eAAO,MAAM,0BAA0B,GAAI,eAExC;IACD,QAAQ,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC/C,KAAG,yBAaH,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const modelFromClassification = (modelForTask, classification) => {
|
|
2
|
+
switch (classification) {
|
|
3
|
+
case "full_app_gen":
|
|
4
|
+
case "question":
|
|
5
|
+
return modelForTask("generateFullAppGen");
|
|
6
|
+
case "broad_edit":
|
|
7
|
+
return modelForTask("generateBroadEdit");
|
|
8
|
+
case "specific_edit":
|
|
9
|
+
case "unknown":
|
|
10
|
+
return modelForTask("generateSpecificEdit");
|
|
11
|
+
default:
|
|
12
|
+
throw new Error(`Unknown classification: ${classification}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export const jwtMiddleware = (getJwt) => {
|
|
16
|
+
return {
|
|
17
|
+
transformParams: async ({ params }) => {
|
|
18
|
+
const jwt = getJwt?.();
|
|
19
|
+
if (jwt) {
|
|
20
|
+
return {
|
|
21
|
+
...params,
|
|
22
|
+
headers: {
|
|
23
|
+
...params.headers,
|
|
24
|
+
Authorization: `Bearer ${jwt}`,
|
|
25
|
+
"x-superblocks-authorization": `Bearer ${jwt}`,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return params;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
// named so as to be distinct from the ai SDK's defaultSettingsMiddleware
|
|
34
|
+
// which has confusing behavior
|
|
35
|
+
export const prioritySettingsMiddleware = ({ settings, }) => {
|
|
36
|
+
return {
|
|
37
|
+
transformParams: async ({ params }) => {
|
|
38
|
+
return {
|
|
39
|
+
...params,
|
|
40
|
+
...settings,
|
|
41
|
+
providerMetadata: {
|
|
42
|
+
...params.providerMetadata,
|
|
43
|
+
...settings.providerMetadata,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ai-service/llm/utils.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,YAAoD,EACpD,cAAoC,EACnB,EAAE;IACnB,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC5C,KAAK,YAAY;YACf,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC3C,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAiC,EACN,EAAE;IAC7B,OAAO;QACL,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;YACvB,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO;oBACL,GAAG,MAAM;oBACT,OAAO,EAAE;wBACP,GAAG,MAAM,CAAC,OAAO;wBACjB,aAAa,EAAE,UAAU,GAAG,EAAE;wBAC9B,6BAA6B,EAAE,UAAU,GAAG,EAAE;qBAC/C;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,yEAAyE;AACzE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,QAAQ,GAGT,EAA6B,EAAE;IAC9B,OAAO;QACL,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,OAAO;gBACL,GAAG,MAAM;gBACT,GAAG,QAAQ;gBACX,gBAAgB,EAAE;oBAChB,GAAG,MAAM,CAAC,gBAAgB;oBAC1B,GAAG,QAAQ,CAAC,gBAAgB;iBAC7B;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/code-generation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/code-generation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0BtD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CAoF1B"}
|