@superblocksteam/vite-plugin-file-sync 2.0.18-next.2 → 2.0.18-next.21
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/eval-scoring.d.ts +23 -4
- package/dist/ai-service/evals/helpers/eval-scoring.d.ts.map +1 -1
- package/dist/ai-service/evals/helpers/eval-scoring.js +211 -34
- package/dist/ai-service/evals/helpers/eval-scoring.js.map +1 -1
- package/dist/ai-service/evals/helpers/index.d.ts +20 -1
- package/dist/ai-service/evals/helpers/index.d.ts.map +1 -1
- package/dist/ai-service/evals/helpers/index.js +108 -2
- package/dist/ai-service/evals/helpers/index.js.map +1 -1
- 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 +80 -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 +95 -38
- 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/classifiers/prompt-interpret-task.d.ts +24 -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 +117 -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 +1 -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 +1 -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/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 +49 -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.map +1 -1
- package/dist/components-manager.js +9 -15
- 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/lock-service/index.d.ts +1 -0
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +27 -11
- package/dist/lock-service/index.js.map +1 -1
- package/dist/server-rpc/index.d.ts +0 -1
- package/dist/server-rpc/index.d.ts.map +1 -1
- package/dist/server-rpc/index.js +0 -4
- package/dist/server-rpc/index.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/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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const modelFromClassification = (modelForTask, classification) => {
|
|
2
|
+
switch (classification) {
|
|
3
|
+
case "new_app":
|
|
4
|
+
case "question":
|
|
5
|
+
return modelForTask("generateFullApp");
|
|
6
|
+
case "broad_update":
|
|
7
|
+
return modelForTask("generateBroadUpdate");
|
|
8
|
+
case "incremental_edit":
|
|
9
|
+
case "unknown":
|
|
10
|
+
return modelForTask("generateIncrementalEdit");
|
|
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,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAC7C,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,yBAAyB,CAAC,CAAC;QACjD;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;AAEtD,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,CAiG1B"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
// import { WIDGET_SOURCE_ID_ATTRIBUTE } from "@superblocksteam/library-shared";
|
|
1
2
|
import { getLogger } from "../../../util/logger.js";
|
|
2
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
// getBroadUpdateBaseFragment,
|
|
5
|
+
getFullAppBaseFragment,
|
|
6
|
+
// getIncrementalUpdateBaseFragment,
|
|
7
|
+
} from "../fragment-generators/base-fragment.js";
|
|
3
8
|
import { getFileContextFragment } from "../fragment-generators/file-fragments.js";
|
|
4
9
|
import { getIntegrationContextFragment, getUnresolvedIntegrationsFragment, } from "../fragment-generators/integration-fragments.js";
|
|
5
10
|
export async function buildCodeGenerationSystemPrompt(options) {
|
|
@@ -7,42 +12,69 @@ export async function buildCodeGenerationSystemPrompt(options) {
|
|
|
7
12
|
logOptions(options);
|
|
8
13
|
}
|
|
9
14
|
const systemMessages = [];
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
15
|
+
// NOTE: We're currently hardcoding the classification to "new_app". We will follow up with a PR to remove this.
|
|
16
|
+
// TODO: Remove this once we have a proper classification system
|
|
17
|
+
systemMessages.push(getFullAppBaseFragment());
|
|
18
|
+
systemMessages.push(...commonFragments(options));
|
|
19
|
+
systemMessages.push("We have determined that the user intends to create a new Superblocks app. Create a new Superblocks app based on the user's request.");
|
|
20
|
+
// Temporarily hardcoding the classification to "new_app", so commenting out the rest of the switch statement.
|
|
21
|
+
// switch (options.classification) {
|
|
22
|
+
// case "new_app":
|
|
23
|
+
// systemMessages.push(getFullAppBaseFragment());
|
|
24
|
+
// systemMessages.push(...commonFragments(options));
|
|
25
|
+
// systemMessages.push(
|
|
26
|
+
// "We have determined that the user intends to create a new Superblocks app. Create a new Superblocks app based on the user's request.",
|
|
27
|
+
// );
|
|
28
|
+
// break;
|
|
29
|
+
// case "incremental_edit": {
|
|
30
|
+
// const tagNames =
|
|
31
|
+
// options.componentTargets?.map((target) => target.tagName) ?? [];
|
|
32
|
+
// const anyCustomComponents =
|
|
33
|
+
// options.componentTargets?.some((target) => target.isCustomComponent) ??
|
|
34
|
+
// false;
|
|
35
|
+
// systemMessages.push(
|
|
36
|
+
// getIncrementalUpdateBaseFragment(tagNames, anyCustomComponents),
|
|
37
|
+
// );
|
|
38
|
+
// systemMessages.push(
|
|
39
|
+
// `
|
|
40
|
+
// The user has focused one or more code elements in the UI. They want to make changes specific to the focused element(s).
|
|
41
|
+
// Your job is to return the updated component artifact for each focused element.
|
|
42
|
+
// Let the user know which attributes you modified in an easy to understand way. Do not mention Superblocks internals like ${WIDGET_SOURCE_ID_ATTRIBUTE} or mention attributes you have not modified.`,
|
|
43
|
+
// );
|
|
44
|
+
// options.componentTargets?.forEach((target, index) => {
|
|
45
|
+
// systemMessages.push(
|
|
46
|
+
// `**Focused Element ${index + 1} (path: ${target.filePath}):**`,
|
|
47
|
+
// );
|
|
48
|
+
// systemMessages.push(focusedElementCodeFragment(target));
|
|
49
|
+
// });
|
|
50
|
+
// systemMessages.push(`
|
|
51
|
+
// When making changes:
|
|
52
|
+
// 1. ONLY modify the relevant attributes of the focused code elements.
|
|
53
|
+
// 2. Consult the relevant TypeScript types for the focused elements.
|
|
54
|
+
// 3. If it is not clear how to modify the focused elements based on the user's request, ask the user for clarification.`);
|
|
55
|
+
// break;
|
|
56
|
+
// }
|
|
57
|
+
// case "broad_update":
|
|
58
|
+
// systemMessages.push(getBroadUpdateBaseFragment());
|
|
59
|
+
// systemMessages.push(...commonFragments(options));
|
|
60
|
+
// systemMessages.push(
|
|
61
|
+
// "We have determined that the user is asking for an update to an existing app. Heed the user's request and update the app accordingly. Do not remove existing functionality unless the user explicitly asks for it.",
|
|
62
|
+
// );
|
|
63
|
+
// break;
|
|
64
|
+
// case "question":
|
|
65
|
+
// systemMessages.push(getFullAppBaseFragment());
|
|
66
|
+
// systemMessages.push(
|
|
67
|
+
// "We have determined that the user appears to be asking a question. Formulate a helpful response. CRITICAL: DO NOT return any artifacts. CRITICAL: ONLY return responses relevant to Superblocks.",
|
|
68
|
+
// );
|
|
69
|
+
// break;
|
|
70
|
+
// case "unknown":
|
|
71
|
+
// systemMessages.push(
|
|
72
|
+
// "The user's request is unclear. The response should ask for more information about how they want to use Superblocks. CRITICAL: DO NOT return any artifacts.",
|
|
73
|
+
// );
|
|
74
|
+
// break;
|
|
75
|
+
// default:
|
|
76
|
+
// throw new Error(`Unknown classification: ${options.classification}`);
|
|
77
|
+
// }
|
|
46
78
|
// TODO: Add other entity types (state_vars, components, timers, etc.)
|
|
47
79
|
// Return the content of all system messages joined together
|
|
48
80
|
if (options.enableDebugLogging) {
|
|
@@ -53,11 +85,36 @@ export async function buildCodeGenerationSystemPrompt(options) {
|
|
|
53
85
|
content: msg,
|
|
54
86
|
}));
|
|
55
87
|
}
|
|
88
|
+
function commonFragments(options) {
|
|
89
|
+
const systemMessages = [];
|
|
90
|
+
// Current working directory
|
|
91
|
+
systemMessages.push(`The current working directory is \`${options.workingDirectory}\`.`);
|
|
92
|
+
// Add integration context
|
|
93
|
+
if (options.integrationPromptContent &&
|
|
94
|
+
options.integrationPromptContent.length > 0) {
|
|
95
|
+
systemMessages.push(getIntegrationContextFragment(options.integrationPromptContent));
|
|
96
|
+
}
|
|
97
|
+
// Handle unresolved integrations
|
|
98
|
+
if (options.unresolvedIntegrations &&
|
|
99
|
+
options.unresolvedIntegrations.length > 0) {
|
|
100
|
+
systemMessages.push(getUnresolvedIntegrationsFragment(options.unresolvedIntegrations));
|
|
101
|
+
}
|
|
102
|
+
// Add file context (artifactContext)
|
|
103
|
+
if (options.fileArtifacts?.length) {
|
|
104
|
+
const { content, paths } = options.artifactProcessor.createArtifactContext(options.fileArtifacts);
|
|
105
|
+
systemMessages.push(getFileContextFragment(paths, content));
|
|
106
|
+
}
|
|
107
|
+
return systemMessages;
|
|
108
|
+
}
|
|
56
109
|
const logOptions = (options) => {
|
|
57
110
|
const logger = getLogger();
|
|
58
111
|
logger.info("[prompt-service] " + "=".repeat(80));
|
|
59
112
|
logger.info("[prompt-service] buildCodeGenerationSystemPrompt options:");
|
|
60
|
-
|
|
113
|
+
const safeOptions = {
|
|
114
|
+
...options,
|
|
115
|
+
componentTargets: options.componentTargets?.map(({ nodePath, ...rest }) => rest),
|
|
116
|
+
};
|
|
117
|
+
logger.info(JSON.stringify(safeOptions, null, 2));
|
|
61
118
|
logger.info("[prompt-service] " + "=".repeat(80));
|
|
62
119
|
};
|
|
63
120
|
const logSystemPrompt = (systemMessages) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/code-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/code-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentTarget } from "../types.js";
|
|
2
|
+
import type { NodePath } from "@babel/traverse";
|
|
3
|
+
import type { JSXOpeningElement } from "@babel/types";
|
|
4
|
+
import type { SbElement } from "@superblocksteam/library-shared/types";
|
|
5
|
+
export type FocusedContext = {
|
|
6
|
+
focusedElementId: SbElement;
|
|
7
|
+
focusedPath: NodePath<JSXOpeningElement>;
|
|
8
|
+
focusedComponentName: string | null;
|
|
9
|
+
focusedFilePath: string;
|
|
10
|
+
customComponentFilePath: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
export declare const focusedElementCodeFragment: (target: ComponentTarget) => string;
|
|
13
|
+
//# sourceMappingURL=incremental-edits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incremental-edits.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/incremental-edits.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAoDF,eAAO,MAAM,0BAA0B,GAAI,QAAQ,eAAe,WAqCjE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { WIDGET_SOURCE_ID_ATTRIBUTE } from "@superblocksteam/library-shared";
|
|
2
|
+
import { generate } from "../../../generate.js";
|
|
3
|
+
import { getVariableReferences, makeJSXAttribute, } from "../../../parsing/jsx.js";
|
|
4
|
+
import { getLogger } from "../../../util/logger.js";
|
|
5
|
+
import { Paths } from "../../const.js";
|
|
6
|
+
import { matchPath } from "../../transform/shared.js";
|
|
7
|
+
const _getElementDependencies = (focusedContext, params) => {
|
|
8
|
+
const dependencyList = {};
|
|
9
|
+
const sourceTracker = params.sourceTrackerInterface;
|
|
10
|
+
// get scope from page name
|
|
11
|
+
const pagePathMatcher = matchPath(Paths.PageIndexes);
|
|
12
|
+
const pagePath = pagePathMatcher(focusedContext.focusedFilePath);
|
|
13
|
+
if (!pagePath.matched) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const scope = sourceTracker.getScopeDefinitionForPage(pagePath.params.pageName);
|
|
17
|
+
if (!scope) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const variablesToCheck = new Set(scope.entityNames);
|
|
21
|
+
let attributes = focusedContext.focusedPath.get("attributes");
|
|
22
|
+
if (!Array.isArray(attributes)) {
|
|
23
|
+
attributes = [attributes];
|
|
24
|
+
}
|
|
25
|
+
for (const attribute of attributes) {
|
|
26
|
+
if (attribute.isJSXAttribute()) {
|
|
27
|
+
const refs = getVariableReferences(attribute.node, variablesToCheck);
|
|
28
|
+
for (const ref of refs) {
|
|
29
|
+
const elementId = scope.scopeNameToEntityId[ref];
|
|
30
|
+
if (!elementId) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
dependencyList[ref] = {
|
|
34
|
+
entityId: elementId,
|
|
35
|
+
attributeName: attribute.node.name.name,
|
|
36
|
+
isCustomComponent: sourceTracker.isCustomComponent(ref),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return dependencyList;
|
|
42
|
+
};
|
|
43
|
+
export const focusedElementCodeFragment = (target) => {
|
|
44
|
+
const nodePath = target.nodePath;
|
|
45
|
+
nodePath.pushContainer("attributes", makeJSXAttribute(WIDGET_SOURCE_ID_ATTRIBUTE, target.elementId));
|
|
46
|
+
const openingElement = nodePath.node;
|
|
47
|
+
const originalSelfClosing = openingElement.selfClosing;
|
|
48
|
+
openingElement.selfClosing = true;
|
|
49
|
+
const focusedCode = generate(openingElement, {
|
|
50
|
+
jsescOption: {
|
|
51
|
+
minimal: true,
|
|
52
|
+
},
|
|
53
|
+
}).code.trim();
|
|
54
|
+
target.nodePath?.traverse({
|
|
55
|
+
JSXAttribute(path) {
|
|
56
|
+
if (path.node.name.name === WIDGET_SOURCE_ID_ATTRIBUTE) {
|
|
57
|
+
path.remove();
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
openingElement.selfClosing = originalSelfClosing;
|
|
62
|
+
getLogger().debug(`[ai-service] focused code ${focusedCode}`);
|
|
63
|
+
return `
|
|
64
|
+
\`\`\`tsx
|
|
65
|
+
// ${target.filePath}
|
|
66
|
+
|
|
67
|
+
${focusedCode}
|
|
68
|
+
\`\`\`
|
|
69
|
+
`;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=incremental-edits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incremental-edits.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/incremental-edits.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type PromptClassification } from "../types.js";
|
|
2
|
+
import type { AppContextStore } from "../../context/app-context.js";
|
|
3
|
+
import type { LLMProvider } from "../../llm/types.js";
|
|
4
|
+
import type { SbElement } from "@superblocksteam/library-shared/types";
|
|
5
|
+
export interface PromptInterpretationTaskResult {
|
|
6
|
+
classification: PromptClassification;
|
|
7
|
+
components: SbElement[];
|
|
8
|
+
apis: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare class PromptInterpretTask {
|
|
11
|
+
private readonly llmProvider;
|
|
12
|
+
private readonly appContext;
|
|
13
|
+
private readonly prompt;
|
|
14
|
+
private abortController;
|
|
15
|
+
private result;
|
|
16
|
+
constructor(llmProvider: LLMProvider, appContext: AppContextStore, prompt: string);
|
|
17
|
+
static defaultResult: PromptInterpretationTaskResult;
|
|
18
|
+
static mergeResults(result1: PromptInterpretationTaskResult | undefined, result2: PromptInterpretationTaskResult | undefined): PromptInterpretationTaskResult;
|
|
19
|
+
private buildSystemPrompt;
|
|
20
|
+
abort(): void;
|
|
21
|
+
resolve(): Promise<PromptInterpretationTaskResult>;
|
|
22
|
+
private doResolve;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=prompt-interpret-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-interpret-task.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAwD;gBAGnD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,MAAM;IAKjC,OAAc,aAAa,EAAE,8BAA8B,CAIzD;WAEY,YAAY,CACxB,OAAO,EAAE,8BAA8B,GAAG,SAAS,EACnD,OAAO,EAAE,8BAA8B,GAAG,SAAS,GAClD,8BAA8B;IAWjC,OAAO,CAAC,iBAAiB;IAgFlB,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO,CAAC,8BAA8B,CAAC;YAQ3C,SAAS;CAgBxB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { generateObject } from "ai";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { PromptClassificationEnum, } from "../types.js";
|
|
4
|
+
export class PromptInterpretTask {
|
|
5
|
+
llmProvider;
|
|
6
|
+
appContext;
|
|
7
|
+
prompt;
|
|
8
|
+
abortController;
|
|
9
|
+
result = null;
|
|
10
|
+
constructor(llmProvider, appContext, prompt) {
|
|
11
|
+
this.llmProvider = llmProvider;
|
|
12
|
+
this.appContext = appContext;
|
|
13
|
+
this.prompt = prompt;
|
|
14
|
+
this.abortController = new AbortController();
|
|
15
|
+
}
|
|
16
|
+
static defaultResult = {
|
|
17
|
+
classification: "unknown",
|
|
18
|
+
components: [],
|
|
19
|
+
apis: [],
|
|
20
|
+
};
|
|
21
|
+
static mergeResults(result1, result2) {
|
|
22
|
+
result1 = result1 ?? PromptInterpretTask.defaultResult;
|
|
23
|
+
result2 = result2 ?? PromptInterpretTask.defaultResult;
|
|
24
|
+
return {
|
|
25
|
+
classification: result2.classification,
|
|
26
|
+
components: [...new Set([...result1.components, ...result2.components])],
|
|
27
|
+
apis: [...new Set([...result1.apis, ...result2.apis])],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
buildSystemPrompt() {
|
|
31
|
+
const componentContext = Object.fromEntries(Object.entries(this.appContext.componentSemanticsById).map(([id, { tagName, bindName, semanticPath, semanticProperties }]) => [
|
|
32
|
+
id,
|
|
33
|
+
{
|
|
34
|
+
type: tagName,
|
|
35
|
+
name: bindName,
|
|
36
|
+
path: semanticPath,
|
|
37
|
+
properties: semanticProperties,
|
|
38
|
+
},
|
|
39
|
+
]));
|
|
40
|
+
const apiContext = this.appContext.apiSemanticsByName;
|
|
41
|
+
const componentIds = Object.keys(this.appContext.componentSemanticsById);
|
|
42
|
+
const apiNames = Object.keys(this.appContext.apiSemanticsByName);
|
|
43
|
+
const systemPrompt = `
|
|
44
|
+
You are an expert AI assistant for a low-code platform. Your task is to analyze a user's request and identify the specific UI components and backend APIs they are referring to based on the application's context. You must also determine the user's primary intent.
|
|
45
|
+
|
|
46
|
+
Think step-by-step.
|
|
47
|
+
1. First, determine the user's primary intent based on their request. Use the 'Intent Definitions' section below to guide your choice.
|
|
48
|
+
2. Analyze the user's prompt for keywords related to components (e.g., 'button', 'table', 'red', 'submit') and APIs (e.g., 'run query', 'fetch data').
|
|
49
|
+
3. Compare these keywords against the provided application context below.
|
|
50
|
+
4. Pay close attention to the 'properties' of components, as users often refer to them by their visual state (e.g., color, text).
|
|
51
|
+
5. Use the 'path' property to understand the location of components, which might be mentioned by the user (e.g., 'the button at the top').
|
|
52
|
+
6. Use the 'name' property, which is how a developer might refer to the component in code.
|
|
53
|
+
|
|
54
|
+
# Intent Definitions
|
|
55
|
+
- **new_app**: The user wants to create a new application from scratch. The prompt will be very high-level and describe the app's purpose. Examples: "build a user management dashboard", "create an app to track inventory".
|
|
56
|
+
- **broad_update**: The user wants to add a new feature or make a significant change to the existing application. This often involves creating new components or complex logic. Examples: "add a form to create new users", "create a detail view for the selected table row".
|
|
57
|
+
- **incremental_edit**: The user wants to make a small, targeted change to existing components or APIs. This is for modifying, connecting, or deleting existing things. Examples: "make the button blue", "change the table title", "when the button is clicked, run the fetchUsers API".
|
|
58
|
+
- **question**: The user is asking a question and not requesting a change. Examples: "what does this button do?", "how do I add an event listener to the button?".
|
|
59
|
+
- **unknown**: The user's intent is unclear, irrelevant, or gibberish.
|
|
60
|
+
|
|
61
|
+
# Application Context
|
|
62
|
+
|
|
63
|
+
## UI Components
|
|
64
|
+
A list of all UI components in the application.
|
|
65
|
+
\`\`\`json
|
|
66
|
+
${JSON.stringify(componentContext, null, 2)}
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## APIs
|
|
70
|
+
A list of all available APIs (backend logic).
|
|
71
|
+
\`\`\`json
|
|
72
|
+
${JSON.stringify(apiContext, null, 2)}
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
# User Request
|
|
76
|
+
Analyze the following user request and identify which components (by their \`id\`) and APIs (by their \`name\`) are the most likely targets, and determine the user's intent.
|
|
77
|
+
|
|
78
|
+
**User Request:** "${this.prompt}"
|
|
79
|
+
|
|
80
|
+
Select the components and APIs that are most relevant to this request. If the user's request is ambiguous, select all potential candidates. If nothing seems relevant, return empty arrays.`;
|
|
81
|
+
const schema = z.object({
|
|
82
|
+
classification: PromptClassificationEnum.describe("The user's primary intent. Analyze the prompt to determine the most fitting category."),
|
|
83
|
+
components: (componentIds.length > 0
|
|
84
|
+
? z.array(z.enum(componentIds))
|
|
85
|
+
: z.array(z.string()).max(0)).describe("An array of component IDs that are the target of the user's prompt. If no components are relevant, return an empty array."),
|
|
86
|
+
apis: (apiNames.length > 0
|
|
87
|
+
? z.array(z.enum(apiNames))
|
|
88
|
+
: z.array(z.string()).max(0)).describe("An array of API names that are the target of the user's prompt. If no APIs are relevant, return an empty array."),
|
|
89
|
+
});
|
|
90
|
+
return { systemPrompt, schema };
|
|
91
|
+
}
|
|
92
|
+
abort() {
|
|
93
|
+
this.abortController.abort();
|
|
94
|
+
}
|
|
95
|
+
resolve() {
|
|
96
|
+
if (this.result) {
|
|
97
|
+
return this.result;
|
|
98
|
+
}
|
|
99
|
+
this.result = this.doResolve();
|
|
100
|
+
return this.result;
|
|
101
|
+
}
|
|
102
|
+
async doResolve() {
|
|
103
|
+
const { systemPrompt, schema } = this.buildSystemPrompt();
|
|
104
|
+
const { object: interpretation } = await generateObject({
|
|
105
|
+
model: this.llmProvider.modelForTask("classifyPrompt"),
|
|
106
|
+
schema,
|
|
107
|
+
prompt: systemPrompt,
|
|
108
|
+
abortSignal: this.abortController.signal,
|
|
109
|
+
});
|
|
110
|
+
return {
|
|
111
|
+
classification: interpretation.classification,
|
|
112
|
+
components: interpretation.components,
|
|
113
|
+
apis: interpretation.apis,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=prompt-interpret-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-interpret-task.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/classifiers/prompt-interpret-task.ts"],"names":[],"mappings":"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"}
|
package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
export
|
|
1
|
+
export declare const PLATFORM_FRAGMENTS: string[][];
|
|
2
|
+
export declare const COMPONENT_FRAGMENTS: string[][];
|
|
3
3
|
//# sourceMappingURL=superblocks-platform-fragments.d.ts.map
|
package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"superblocks-platform-fragments.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"superblocks-platform-fragments.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,kBAAkB,YAG7B,CAAC;AAEH,eAAO,MAAM,mBAAmB,YAG9B,CAAC"}
|
|
@@ -1,30 +1,57 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { loadPromptFragment } from "../utils/markdown-loader.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
import { wrapWithXMLTags } from "../utils/formatting.js";
|
|
2
|
+
import { loadLibraryComponentPromptFragment, loadPromptFragment, } from "../utils/markdown-loader.js";
|
|
3
|
+
const LIBRARY_COMPONENTS = [
|
|
4
|
+
"Button",
|
|
5
|
+
"Checkbox",
|
|
6
|
+
"Container",
|
|
7
|
+
"Text",
|
|
8
|
+
"Dropdown",
|
|
9
|
+
"Switch",
|
|
10
|
+
"Input",
|
|
11
|
+
"Image",
|
|
12
|
+
"Icon",
|
|
13
|
+
"DatePicker",
|
|
14
|
+
"Page",
|
|
15
|
+
"Table",
|
|
16
|
+
"Modal",
|
|
17
|
+
"KeyValue",
|
|
18
|
+
"Slideout",
|
|
19
|
+
];
|
|
20
|
+
// Define fragments in an array to guarantee order
|
|
21
|
+
const PLATFORM_DEFINITIONS = [
|
|
22
|
+
["superblocks_page", "platform-parts/superblocks-page"],
|
|
23
|
+
["superblocks_routes", "platform-parts/superblocks-routes"],
|
|
24
|
+
[
|
|
25
|
+
"superblocks_components_rules",
|
|
26
|
+
"platform-parts/superblocks-components-rules",
|
|
27
|
+
],
|
|
28
|
+
["superblocks_event_flow_typedefs", "library-typedefs/EventFlow"],
|
|
29
|
+
["superblocks_dim_typedefs", "library-typedefs/Dim"],
|
|
30
|
+
[
|
|
31
|
+
"superblocks_text_style_with_variant_typedefs",
|
|
32
|
+
"library-typedefs/TextStyleWithVariant",
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"superblocks_custom_components",
|
|
36
|
+
"platform-parts/superblocks-custom-components",
|
|
37
|
+
],
|
|
38
|
+
["superblocks_layouts", "platform-parts/superblocks-layouts"],
|
|
39
|
+
["superblocks_forms", "platform-parts/superblocks-forms"],
|
|
40
|
+
["superblocks_state", "platform-parts/superblocks-state"],
|
|
41
|
+
// ["superblocks_timers", "platform-parts/superblocks-timers"],
|
|
42
|
+
["superblocks_api", "platform-parts/superblocks-api"],
|
|
43
|
+
["superblocks_event_flow", "platform-parts/superblocks-event-flow"],
|
|
44
|
+
["superblocks_theming", "platform-parts/superblocks-theming"],
|
|
45
|
+
["superblocks_rbac", "platform-parts/superblocks-rbac"],
|
|
46
|
+
["superblocks_data_filtering", "platform-parts/superblocks-data-filtering"],
|
|
47
|
+
["full_examples", "platform-parts/full-examples"],
|
|
48
|
+
];
|
|
49
|
+
export const PLATFORM_FRAGMENTS = PLATFORM_DEFINITIONS.map(([key, path]) => [
|
|
50
|
+
key,
|
|
51
|
+
wrapWithXMLTags(key, loadPromptFragment(path)),
|
|
52
|
+
]);
|
|
53
|
+
export const COMPONENT_FRAGMENTS = LIBRARY_COMPONENTS.map((key) => [
|
|
54
|
+
`superblocks_component_${key.toLowerCase()}`,
|
|
55
|
+
wrapWithXMLTags(key, loadLibraryComponentPromptFragment(key)),
|
|
56
|
+
]);
|
|
30
57
|
//# sourceMappingURL=superblocks-platform-fragments.js.map
|
package/dist/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"superblocks-platform-fragments.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"superblocks-platform-fragments.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/constants/superblocks-platform-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,kCAAkC,EAClC,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,MAAM,kBAAkB,GAAG;IACzB,QAAQ;IACR,UAAU;IACV,WAAW;IACX,MAAM;IACN,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,YAAY;IACZ,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;CACF,CAAC;AAEX,kDAAkD;AAClD,MAAM,oBAAoB,GAAG;IAC3B,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IACvD,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;IAC3D;QACE,8BAA8B;QAC9B,6CAA6C;KAC9C;IACD,CAAC,iCAAiC,EAAE,4BAA4B,CAAC;IACjE,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;IACpD;QACE,8CAA8C;QAC9C,uCAAuC;KACxC;IACD;QACE,+BAA+B;QAC/B,8CAA8C;KAC/C;IACD,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;IAC7D,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;IACzD,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;IACzD,+DAA+D;IAC/D,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;IACnE,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;IAC7D,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IACvD,CAAC,4BAA4B,EAAE,2CAA2C,CAAC;IAC3E,CAAC,eAAe,EAAE,8BAA8B,CAAC;CACzC,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1E,GAAG;IACH,eAAe,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACjE,yBAAyB,GAAG,CAAC,WAAW,EAAE,EAAE;IAC5C,eAAe,CAAC,GAAG,EAAE,kCAAkC,CAAC,GAAG,CAAC,CAAC;CAC9D,CAAC,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const getFullAppBaseFragment: () => string;
|
|
2
|
+
export declare const getBroadUpdateBaseFragment: () => string;
|
|
3
|
+
export declare const getIncrementalUpdateBaseFragment: (tagNames: string[], anyCustomComponents: boolean) => string;
|
|
2
4
|
//# sourceMappingURL=base-fragment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-fragment.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/fragment-generators/base-fragment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-fragment.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/fragment-generators/base-fragment.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB,cAclC,CAAC;AAEF,eAAO,MAAM,0BAA0B,cActC,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,UAAU,MAAM,EAAE,EAClB,qBAAqB,OAAO,WAkC7B,CAAC"}
|