@superblocksteam/vite-plugin-file-sync 2.0.41-next.5 → 2.0.41-next.51
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/agent/apis-system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/apis-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/apis-system-prompt.js +50 -21
- package/dist/ai-service/agent/apis-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/apis.d.ts +10 -0
- package/dist/ai-service/agent/apis.d.ts.map +1 -1
- package/dist/ai-service/agent/apis.js +25 -3
- package/dist/ai-service/agent/apis.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +5 -2
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +24 -23
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +7 -12
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +23 -2
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +4 -9
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +27 -0
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-set-api-triggers.js +265 -0
- package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -0
- package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +4 -9
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.d.ts +95 -13
- package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +215 -38
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +22 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +3 -1
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +170 -159
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.js +117 -68
- package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
- package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
- package/dist/ai-service/app-interface/linter.js +103 -54
- package/dist/ai-service/app-interface/linter.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +227 -160
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/artifacts/bolt.d.ts.map +1 -1
- package/dist/ai-service/artifacts/bolt.js +88 -30
- package/dist/ai-service/artifacts/bolt.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +12 -2
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +45 -1
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/chat/extract-history.d.ts +3 -1
- package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
- package/dist/ai-service/chat/extract-history.js +6 -1
- package/dist/ai-service/chat/extract-history.js.map +1 -1
- package/dist/ai-service/context/app-context.d.ts.map +1 -1
- package/dist/ai-service/context/app-context.js +305 -241
- package/dist/ai-service/context/app-context.js.map +1 -1
- package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
- package/dist/ai-service/evals/content-matchers/index.js +1 -0
- package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
- package/dist/ai-service/index.d.ts +3 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +105 -71
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integration-validator.d.ts +1 -1
- package/dist/ai-service/integration-validator.d.ts.map +1 -1
- package/dist/ai-service/integration-validator.js +6 -3
- package/dist/ai-service/integration-validator.js.map +1 -1
- package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/database.js +1 -1
- package/dist/ai-service/integrations/metadata/database.js.map +1 -1
- package/dist/ai-service/integrations/metadata/graphql-based.js +1 -1
- package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
- package/dist/ai-service/integrations/metadata/open-api.js +1 -1
- package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +135 -74
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llmobs/helpers.d.ts +20 -0
- package/dist/ai-service/llmobs/helpers.d.ts.map +1 -0
- package/dist/ai-service/llmobs/helpers.js +130 -0
- package/dist/ai-service/llmobs/helpers.js.map +1 -0
- package/dist/ai-service/llmobs/index.d.ts +8 -0
- package/dist/ai-service/llmobs/index.d.ts.map +1 -0
- package/dist/ai-service/llmobs/index.js +7 -0
- package/dist/ai-service/llmobs/index.js.map +1 -0
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts +60 -0
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -0
- package/dist/ai-service/llmobs/middleware/stream-text.js +601 -0
- package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -0
- package/dist/ai-service/llmobs/tracer.d.ts +95 -0
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -0
- package/dist/ai-service/llmobs/tracer.js +341 -0
- package/dist/ai-service/llmobs/tracer.js.map +1 -0
- package/dist/ai-service/llmobs/types.d.ts +47 -0
- package/dist/ai-service/llmobs/types.d.ts.map +1 -0
- package/dist/ai-service/llmobs/types.js +2 -0
- package/dist/ai-service/llmobs/types.js.map +1 -0
- package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js +5 -3
- package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js +3 -1
- package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +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.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +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.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +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.js +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.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +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.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +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-chakra-new.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.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
- package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js +4 -2
- package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts +3 -1
- package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js +3 -1
- package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +16 -4
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +47 -0
- 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 +6 -6
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +5 -4
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/idle.js +1 -1
- package/dist/ai-service/state-machine/handlers/idle.js.map +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 +274 -266
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.js +2 -0
- package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js +54 -19
- package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts +41 -70
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +66 -173
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +102 -56
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/test-utils/dd-trace-helpers.d.ts +1 -0
- package/dist/ai-service/test-utils/dd-trace-helpers.d.ts.map +1 -1
- package/dist/ai-service/test-utils/dd-trace-helpers.js.map +1 -1
- package/dist/ai-service/test-utils/span-interceptor.d.ts +74 -0
- package/dist/ai-service/test-utils/span-interceptor.d.ts.map +1 -0
- package/dist/ai-service/test-utils/span-interceptor.js +272 -0
- package/dist/ai-service/test-utils/span-interceptor.js.map +1 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +2 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +120 -63
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +97 -47
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +88 -37
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -1
- package/dist/ai-service/transform/shared.d.ts +4 -2
- package/dist/ai-service/transform/shared.d.ts.map +1 -1
- package/dist/ai-service/transform/shared.js +6 -3
- package/dist/ai-service/transform/shared.js.map +1 -1
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +77 -26
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/ai-service/util/safe-stringify.d.ts +2 -0
- package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
- package/dist/ai-service/util/safe-stringify.js +68 -0
- package/dist/ai-service/util/safe-stringify.js.map +1 -0
- package/dist/binding-extraction/extract-identifiers.d.ts +5 -2
- package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/extract-identifiers.js +7 -4
- package/dist/binding-extraction/extract-identifiers.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +92 -1
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +3 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +12 -0
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +53 -1
- package/dist/file-system-manager.js.map +1 -1
- package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
- package/dist/parsing/entity/to-value-entity.js +1 -0
- package/dist/parsing/entity/to-value-entity.js.map +1 -1
- package/dist/parsing/jsx.d.ts +4 -0
- package/dist/parsing/jsx.d.ts.map +1 -1
- package/dist/parsing/jsx.js +33 -0
- package/dist/parsing/jsx.js.map +1 -1
- package/dist/parsing/page.d.ts.map +1 -1
- package/dist/parsing/page.js +48 -3
- package/dist/parsing/page.js.map +1 -1
- package/dist/parsing/properties.d.ts.map +1 -1
- package/dist/parsing/properties.js +10 -0
- package/dist/parsing/properties.js.map +1 -1
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +15 -16
- package/dist/routing.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +3 -1
- package/dist/socket-manager.js.map +1 -1
- package/dist/source-tracker.d.ts +4 -0
- package/dist/source-tracker.d.ts.map +1 -1
- package/dist/source-tracker.js +132 -5
- package/dist/source-tracker.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +3 -9
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/util/logger.d.ts +9 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +64 -7
- package/dist/util/logger.js.map +1 -1
- package/package.json +9 -7
- package/dist/ai-service/llmobs.d.ts +0 -154
- package/dist/ai-service/llmobs.d.ts.map +0 -1
- package/dist/ai-service/llmobs.js +0 -216
- package/dist/ai-service/llmobs.js.map +0 -1
- package/dist/ai-service/util/ddog-llmobs.d.ts +0 -20
- package/dist/ai-service/util/ddog-llmobs.d.ts.map +0 -1
- package/dist/ai-service/util/ddog-llmobs.js +0 -197
- package/dist/ai-service/util/ddog-llmobs.js.map +0 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { Property } from "@superblocksteam/library-shared";
|
|
2
|
+
import { isValidMultiStepDef, TriggerStepType, } from "@superblocksteam/library-shared/types";
|
|
3
|
+
import { tool } from "ai";
|
|
4
|
+
import z from "zod";
|
|
5
|
+
import { ensureScopeFileDraft } from "../utils.js";
|
|
6
|
+
const triggerStepsSchema = z
|
|
7
|
+
.array(z.unknown(), {
|
|
8
|
+
description: "Array of trigger steps (ValidStepDef[]). Use the same structure provided by the Superblocks editor for EventFlow steps.",
|
|
9
|
+
})
|
|
10
|
+
.nonempty({ message: "Provide at least one trigger step." })
|
|
11
|
+
.superRefine((steps, ctx) => {
|
|
12
|
+
if (!isValidMultiStepDef(steps)) {
|
|
13
|
+
ctx.addIssue({
|
|
14
|
+
code: z.ZodIssueCode.custom,
|
|
15
|
+
message: "Trigger steps must be a valid EventFlow definition (each item needs a supported trigger type).",
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
.transform((steps) => steps);
|
|
20
|
+
export default function createBuildSetApiTriggersTool(_clark, services, scopeUpdateQueue) {
|
|
21
|
+
return tool({
|
|
22
|
+
description: `
|
|
23
|
+
Set the onSuccess and onError EventFlow handlers for an API entity in scope.ts.
|
|
24
|
+
Provide one or both trigger step arrays to overwrite the existing handlers.
|
|
25
|
+
|
|
26
|
+
Each step should follow the EventFlow JSON format used by the editor. Common patterns:
|
|
27
|
+
|
|
28
|
+
- Set a state variable:
|
|
29
|
+
{ "type": "setStateVar", "stateVar": "ordersDataVar", "value": { "computed": "() => api.response || []" } }
|
|
30
|
+
|
|
31
|
+
- Run JavaScript:
|
|
32
|
+
{ "type": "runJS", "code": "({ api }) => { toast.success('Loaded'); }" }
|
|
33
|
+
|
|
34
|
+
- Run another API:
|
|
35
|
+
{ "type": "runApis", "apis": ["refreshSummaryApi"] }
|
|
36
|
+
|
|
37
|
+
Handlers are overwritten entirely, so include all desired steps in each array.
|
|
38
|
+
`,
|
|
39
|
+
inputSchema: z
|
|
40
|
+
.object({
|
|
41
|
+
scopeId: z
|
|
42
|
+
.string()
|
|
43
|
+
.describe("ID of the scope containing the API entity"),
|
|
44
|
+
apiName: z.string().describe("Name of the API entity"),
|
|
45
|
+
onSuccess: triggerStepsSchema.optional(),
|
|
46
|
+
onError: triggerStepsSchema.optional(),
|
|
47
|
+
})
|
|
48
|
+
.refine((value) => value.onSuccess || value.onError, {
|
|
49
|
+
message: "Provide at least one of onSuccess or onError steps",
|
|
50
|
+
path: ["onSuccess"],
|
|
51
|
+
}),
|
|
52
|
+
execute: async ({ scopeId, apiName, onSuccess, onError }) => {
|
|
53
|
+
return await scopeUpdateQueue.enqueue(async () => {
|
|
54
|
+
const sourceTracker = services.fileSystemInterface.getSourceTracker();
|
|
55
|
+
const { filePath, scopeDefinition } = sourceTracker.getScopeDefinitionAndFilePathByNameOrId({
|
|
56
|
+
identifier: scopeId,
|
|
57
|
+
type: "id",
|
|
58
|
+
});
|
|
59
|
+
if (!scopeDefinition || !filePath) {
|
|
60
|
+
throw new Error(`Scope with ID "${scopeId}" not found`);
|
|
61
|
+
}
|
|
62
|
+
const entityId = scopeDefinition.scopeNameToEntityId[apiName];
|
|
63
|
+
if (!entityId) {
|
|
64
|
+
throw new Error(`API entity "${apiName}" not found in scope ${scopeDefinition.name}`);
|
|
65
|
+
}
|
|
66
|
+
await ensureScopeFileDraft({ scopeFilePath: filePath }, services);
|
|
67
|
+
const updates = {};
|
|
68
|
+
const normalizeContext = {
|
|
69
|
+
scopeDefinition: {
|
|
70
|
+
name: scopeDefinition.name,
|
|
71
|
+
scopeNameToEntityId: scopeDefinition.scopeNameToEntityId,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
if (onSuccess) {
|
|
75
|
+
updates.onSuccess = Property.Event(normalizeTriggerSteps(onSuccess, normalizeContext));
|
|
76
|
+
}
|
|
77
|
+
if (onError) {
|
|
78
|
+
updates.onError = Property.Event(normalizeTriggerSteps(onError, normalizeContext));
|
|
79
|
+
}
|
|
80
|
+
await services.fileSystemInterface
|
|
81
|
+
.getFileSystemManager()
|
|
82
|
+
.handleUpdateEntity({
|
|
83
|
+
entityId,
|
|
84
|
+
updates,
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
scopeId,
|
|
88
|
+
apiName,
|
|
89
|
+
updated: {
|
|
90
|
+
onSuccessSteps: onSuccess?.length,
|
|
91
|
+
onErrorSteps: onError?.length,
|
|
92
|
+
},
|
|
93
|
+
message: `Updated API "${apiName}" trigger configuration in scope.ts`,
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
export function normalizeTriggerSteps(steps, context) {
|
|
100
|
+
return steps.map((step) => normalizeTriggerStep(step, context));
|
|
101
|
+
}
|
|
102
|
+
function normalizeTriggerStep(step, context) {
|
|
103
|
+
if (!step || typeof step !== "object") {
|
|
104
|
+
return step;
|
|
105
|
+
}
|
|
106
|
+
const normalizedType = normalizeTriggerType(step.type);
|
|
107
|
+
const normalizedStep = {
|
|
108
|
+
...step,
|
|
109
|
+
type: normalizedType,
|
|
110
|
+
};
|
|
111
|
+
switch (normalizedType) {
|
|
112
|
+
case TriggerStepType.SET_STATE_VAR:
|
|
113
|
+
return normalizeSetStateVarStep(normalizedStep, context);
|
|
114
|
+
case TriggerStepType.RUN_JS:
|
|
115
|
+
return normalizeRunJsStep(normalizedStep, context);
|
|
116
|
+
case TriggerStepType.RUN_APIS:
|
|
117
|
+
return normalizeRunApisStep(normalizedStep, context);
|
|
118
|
+
default:
|
|
119
|
+
normalizeNestedFlowsInStep(normalizedStep, context);
|
|
120
|
+
return normalizedStep;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function normalizeTriggerType(type) {
|
|
124
|
+
if (type === TriggerStepType.RUN_JS ||
|
|
125
|
+
type === TriggerStepType.SET_STATE_VAR ||
|
|
126
|
+
type === TriggerStepType.RUN_APIS) {
|
|
127
|
+
return type;
|
|
128
|
+
}
|
|
129
|
+
if (typeof type === "string") {
|
|
130
|
+
const lower = type.toLowerCase();
|
|
131
|
+
if (lower === "runjs") {
|
|
132
|
+
return TriggerStepType.RUN_JS;
|
|
133
|
+
}
|
|
134
|
+
if (lower === "setstatevar") {
|
|
135
|
+
return TriggerStepType.SET_STATE_VAR;
|
|
136
|
+
}
|
|
137
|
+
if (lower === "executeapi" || lower === "runapis") {
|
|
138
|
+
return TriggerStepType.RUN_APIS;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return type;
|
|
142
|
+
}
|
|
143
|
+
function normalizeSetStateVarStep(step, context) {
|
|
144
|
+
normalizeNestedFlowsInStep(step, context);
|
|
145
|
+
const originalValue = step.value;
|
|
146
|
+
let stateVarName;
|
|
147
|
+
if (typeof step.stateVar === "string") {
|
|
148
|
+
stateVarName = step.stateVar;
|
|
149
|
+
}
|
|
150
|
+
else if (typeof step.state?.name === "string") {
|
|
151
|
+
stateVarName = step.state.name;
|
|
152
|
+
}
|
|
153
|
+
else if (originalValue &&
|
|
154
|
+
typeof originalValue === "object" &&
|
|
155
|
+
typeof originalValue.stateVar === "string") {
|
|
156
|
+
stateVarName = originalValue.stateVar;
|
|
157
|
+
}
|
|
158
|
+
if (stateVarName) {
|
|
159
|
+
const entityId = context.scopeDefinition.scopeNameToEntityId[stateVarName];
|
|
160
|
+
if (!entityId) {
|
|
161
|
+
throw new Error(`State variable "${stateVarName}" not found in scope ${context.scopeDefinition.name}`);
|
|
162
|
+
}
|
|
163
|
+
step.state = {
|
|
164
|
+
id: entityId,
|
|
165
|
+
name: stateVarName,
|
|
166
|
+
...(step.state?.scope ? { scope: step.state.scope } : {}),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (originalValue &&
|
|
170
|
+
typeof originalValue === "object" &&
|
|
171
|
+
!Array.isArray(originalValue)) {
|
|
172
|
+
const { computed, value, stateVar, ...rest } = originalValue;
|
|
173
|
+
if (typeof computed === "string") {
|
|
174
|
+
step.value = Property.Computed(normalizeComputedString(computed));
|
|
175
|
+
}
|
|
176
|
+
else if (value !== undefined) {
|
|
177
|
+
step.value = value;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
const remaining = { ...rest };
|
|
181
|
+
if (Object.keys(remaining).length > 0) {
|
|
182
|
+
step.value = remaining;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
delete step.value;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
delete step.stateVar;
|
|
190
|
+
return step;
|
|
191
|
+
}
|
|
192
|
+
function normalizeRunJsStep(step, context) {
|
|
193
|
+
const handlerCandidates = [step.code, step.handler, step.value?.code];
|
|
194
|
+
const handler = handlerCandidates.find((candidate) => typeof candidate === "string" && candidate.trim().length > 0);
|
|
195
|
+
if (handler) {
|
|
196
|
+
step.code = ensureRunJsFunction(handler);
|
|
197
|
+
}
|
|
198
|
+
delete step.handler;
|
|
199
|
+
delete step.params;
|
|
200
|
+
if (step.value && typeof step.value === "object") {
|
|
201
|
+
const { handler: _handler, code: _code, ...rest } = step.value;
|
|
202
|
+
if (Object.keys(rest).length === 0) {
|
|
203
|
+
delete step.value;
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
step.value = rest;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
normalizeNestedFlowsInStep(step, context);
|
|
210
|
+
return step;
|
|
211
|
+
}
|
|
212
|
+
function normalizeRunApisStep(step, context) {
|
|
213
|
+
if (Array.isArray(step.apis)) {
|
|
214
|
+
step.apis = step.apis.map((api) => {
|
|
215
|
+
if (typeof api === "string") {
|
|
216
|
+
return { name: api };
|
|
217
|
+
}
|
|
218
|
+
if (api && typeof api === "object" && typeof api.name === "string") {
|
|
219
|
+
return api;
|
|
220
|
+
}
|
|
221
|
+
return api;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
normalizeNestedFlowsInStep(step, context);
|
|
225
|
+
return step;
|
|
226
|
+
}
|
|
227
|
+
function ensureRunJsFunction(raw) {
|
|
228
|
+
const trimmed = raw.trim();
|
|
229
|
+
const looksLikeFunction = trimmed.startsWith("(") ||
|
|
230
|
+
trimmed.startsWith("function") ||
|
|
231
|
+
trimmed.startsWith("async ") ||
|
|
232
|
+
/^[_$a-zA-Z][_$a-zA-Z0-9]*\s*=>/.test(trimmed);
|
|
233
|
+
if (looksLikeFunction) {
|
|
234
|
+
return trimmed;
|
|
235
|
+
}
|
|
236
|
+
return `() => {\n${raw}\n}`;
|
|
237
|
+
}
|
|
238
|
+
function normalizeNestedFlowsInStep(step, context) {
|
|
239
|
+
const nestedFlowKeys = ["onSuccess", "onError", "onCancel"];
|
|
240
|
+
const containers = [step, step.value].filter((candidate) => candidate && typeof candidate === "object" && !Array.isArray(candidate));
|
|
241
|
+
for (const container of containers) {
|
|
242
|
+
for (const key of nestedFlowKeys) {
|
|
243
|
+
const nested = container[key];
|
|
244
|
+
if (Array.isArray(nested)) {
|
|
245
|
+
container[key] = normalizeTriggerSteps(nested, context);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
function normalizeComputedString(raw) {
|
|
251
|
+
const trimmed = raw.trim();
|
|
252
|
+
const arrowMatch = trimmed.match(/^\s*\([^)]*\)\s*=>\s*([\s\S]+)$/);
|
|
253
|
+
if (!arrowMatch) {
|
|
254
|
+
return trimmed;
|
|
255
|
+
}
|
|
256
|
+
const body = arrowMatch[1]?.trim();
|
|
257
|
+
if (!body) {
|
|
258
|
+
return "";
|
|
259
|
+
}
|
|
260
|
+
if (body.startsWith("{") && body.endsWith("}")) {
|
|
261
|
+
return body;
|
|
262
|
+
}
|
|
263
|
+
return body.replace(/;\s*$/, "");
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=build-set-api-triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-set-api-triggers.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-set-api-triggers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-write-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;;;;;;
|
|
1
|
+
{"version":3,"file":"build-write-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB;;;;;;;GAyElC"}
|
|
@@ -2,7 +2,7 @@ import { tool } from "ai";
|
|
|
2
2
|
import z from "zod";
|
|
3
3
|
import { ROUTES_FILE } from "../../../file-system-helpers.js";
|
|
4
4
|
import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
|
|
5
|
-
import { debugCache,
|
|
5
|
+
import { debugCache, createTypeScriptCheckFunction } from "./debug-cache.js";
|
|
6
6
|
import { isGeneratedApiFilePath } from "./shared-helpers.js";
|
|
7
7
|
export default function createBuildWriteFileTool(clark, services) {
|
|
8
8
|
const { isReadRequired } = fileReadTracker(clark);
|
|
@@ -47,15 +47,10 @@ export default function createBuildWriteFileTool(clark, services) {
|
|
|
47
47
|
if (isRoutesFile) {
|
|
48
48
|
throw new Error("Directly writing to routes files is not allowed. If you must make changes to the routes, use the appropriate tool. The routes file is automatically updated when you create pages.");
|
|
49
49
|
}
|
|
50
|
-
// Clear runtime and build system errors since code will change
|
|
51
|
-
clark.updateContext({
|
|
52
|
-
runtimeErrors: [],
|
|
53
|
-
buildSystemErrors: [],
|
|
54
|
-
});
|
|
55
50
|
await services.draftInterface.createDraftFile(filePath, content);
|
|
56
|
-
// Trigger eager
|
|
57
|
-
const
|
|
58
|
-
debugCache.
|
|
51
|
+
// Trigger eager TypeScript check after file write (debounced to avoid excessive checks)
|
|
52
|
+
const typeCheckFunction = createTypeScriptCheckFunction(services.appShell, clark.context.abortController?.signal);
|
|
53
|
+
debugCache.startEagerTypeScriptCheck(typeCheckFunction);
|
|
59
54
|
return {
|
|
60
55
|
filePath,
|
|
61
56
|
contentLength: content.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-write-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"build-write-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-write-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAY,EACZ,QAAiC;IAEjC,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;KAoBZ;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,mFAAmF,CAC/G,CAAC;YACJ,CAAC;YAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,oLAAoL,CACrL,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjE,wFAAwF;YACxF,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,QAAQ,CAAC,QAAQ,EACjB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CACtC,CAAC;YACF,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAExD,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,sBAAsB,OAAO,CAAC,MAAM,kBAAkB,QAAQ,EAAE;aAC1E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,35 +1,117 @@
|
|
|
1
1
|
import type { AppShell } from "../../app-interface/shell.js";
|
|
2
2
|
import type { Clark } from "../../state-machine/clark-fsm.js";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Results from different types of debug checks
|
|
5
5
|
*/
|
|
6
|
-
export interface
|
|
6
|
+
export interface TypeScriptCheckResult {
|
|
7
|
+
typeErrors: string;
|
|
8
|
+
status: "errors_found" | "success";
|
|
9
|
+
timestamp: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ContextErrorsResult {
|
|
12
|
+
buildSystemErrors: Record<string, unknown>[];
|
|
13
|
+
runtimeErrors: Record<string, unknown>[];
|
|
14
|
+
status: "errors_found" | "success";
|
|
15
|
+
timestamp: number;
|
|
16
|
+
}
|
|
17
|
+
export interface CombinedDebugResult {
|
|
7
18
|
status: "errors_found" | "success";
|
|
8
19
|
message: string;
|
|
9
20
|
typeErrors: string;
|
|
10
|
-
buildSystemErrors: string[];
|
|
21
|
+
buildSystemErrors: Record<string, unknown>[];
|
|
11
22
|
runtimeErrors: Record<string, unknown>[];
|
|
12
23
|
timestamp: number;
|
|
13
24
|
}
|
|
14
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Cache for expensive TypeScript type checking
|
|
27
|
+
* - Longer cache duration since type checking is expensive
|
|
28
|
+
* - Intelligent invalidation based on file changes
|
|
29
|
+
* - Debouncing to prevent multiple checks during rapid editing
|
|
30
|
+
*/
|
|
31
|
+
export declare class TypeScriptCache {
|
|
15
32
|
private pendingCheck;
|
|
16
33
|
private cachedResult;
|
|
17
34
|
private abortController;
|
|
35
|
+
private debounceTimer;
|
|
36
|
+
private readonly CACHE_TTL;
|
|
37
|
+
private readonly DEBOUNCE_DELAY;
|
|
18
38
|
/**
|
|
19
|
-
* Start
|
|
39
|
+
* Start a debounced TypeScript check
|
|
20
40
|
*/
|
|
21
|
-
startEagerCheck(
|
|
41
|
+
startEagerCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
|
|
22
42
|
/**
|
|
23
|
-
*
|
|
43
|
+
* Start an immediate TypeScript check (used internally and for testing)
|
|
24
44
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
45
|
+
startImmediateCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get cached TypeScript result if available, otherwise wait for pending check
|
|
48
|
+
*/
|
|
49
|
+
getResult(): Promise<TypeScriptCheckResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Check if we have a fresh cached result
|
|
52
|
+
*/
|
|
53
|
+
hasFreshResult(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Invalidate the cache (e.g., when significant code changes occur)
|
|
56
|
+
*/
|
|
57
|
+
invalidate(): void;
|
|
58
|
+
private runTypeCheck;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Cache for context errors (build system and runtime errors)
|
|
62
|
+
* - Short cache duration since these are cheap to read from context
|
|
63
|
+
* - Updated whenever errors are added/removed from context
|
|
64
|
+
*/
|
|
65
|
+
export declare class ContextErrorsCache {
|
|
66
|
+
private cachedResult;
|
|
67
|
+
private readonly CACHE_TTL;
|
|
68
|
+
/**
|
|
69
|
+
* Get context errors, using cache if fresh, but always recalculate error ages
|
|
70
|
+
*/
|
|
71
|
+
getResult(contextErrorsFunction: () => ContextErrorsResult): ContextErrorsResult;
|
|
72
|
+
/**
|
|
73
|
+
* Add fresh age calculations to build system errors
|
|
74
|
+
*/
|
|
75
|
+
private addFreshAges;
|
|
76
|
+
/**
|
|
77
|
+
* Invalidate the cache when context errors change
|
|
78
|
+
*/
|
|
79
|
+
invalidate(): void;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Combined debug cache that manages both TypeScript and context error caches
|
|
83
|
+
*/
|
|
84
|
+
export declare class DebugCache {
|
|
85
|
+
private typeScriptCache;
|
|
86
|
+
private contextErrorsCache;
|
|
87
|
+
/**
|
|
88
|
+
* Start an eager TypeScript check (debounced)
|
|
89
|
+
*/
|
|
90
|
+
startEagerTypeScriptCheck(typeCheckFunction: () => Promise<TypeScriptCheckResult>): void;
|
|
91
|
+
/**
|
|
92
|
+
* Invalidate context errors cache when errors are added/removed
|
|
93
|
+
*/
|
|
94
|
+
invalidateContextErrors(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Invalidate TypeScript cache when significant code changes occur
|
|
97
|
+
*/
|
|
98
|
+
invalidateTypeScript(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Get combined debug result
|
|
101
|
+
*/
|
|
102
|
+
getCombinedResult(typeCheckFunction: () => Promise<TypeScriptCheckResult>, contextErrorsFunction: () => ContextErrorsResult): Promise<CombinedDebugResult>;
|
|
103
|
+
/**
|
|
104
|
+
* Check if we have fresh TypeScript results (useful for optimization)
|
|
105
|
+
*/
|
|
106
|
+
hasFreshTypeScriptResult(): boolean;
|
|
27
107
|
}
|
|
28
108
|
export declare const debugCache: DebugCache;
|
|
29
109
|
/**
|
|
30
|
-
*
|
|
110
|
+
* Create TypeScript check function
|
|
111
|
+
*/
|
|
112
|
+
export declare function createTypeScriptCheckFunction(appShell: AppShell, abortSignal?: AbortSignal): () => Promise<TypeScriptCheckResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Create context errors function
|
|
31
115
|
*/
|
|
32
|
-
export declare function
|
|
33
|
-
appShell: AppShell;
|
|
34
|
-
}): () => Promise<DebugResult>;
|
|
116
|
+
export declare function createRuntimeAndBuildErrorsFunction(clark: Clark, appShell: AppShell): () => ContextErrorsResult;
|
|
35
117
|
//# sourceMappingURL=debug-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-cache.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;
|
|
1
|
+
{"version":3,"file":"debug-cache.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"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"}
|