@superblocksteam/vite-plugin-file-sync 2.0.41-next.30 → 2.0.41-next.32
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.js +1 -1
- package/dist/ai-service/agent/apis.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 +15 -2
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +3 -2
- package/dist/ai-service/agent/tools/debug-cache.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/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/index.d.ts +1 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +72 -59
- 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 +3 -5
- 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/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +240 -260
- package/dist/ai-service/state-machine/handlers/llm-generating.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/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 +8 -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
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
1
35
|
import { exec } from "node:child_process";
|
|
2
36
|
import { readFile, mkdir, writeFile } from "node:fs/promises";
|
|
3
37
|
import * as path from "node:path";
|
|
@@ -7,6 +41,7 @@ import { detect } from "package-manager-detector";
|
|
|
7
41
|
import { resolveCommand } from "package-manager-detector";
|
|
8
42
|
import { createGitIgnorePatterns } from "../../util/ignore-patterns.js";
|
|
9
43
|
import { getLogger } from "../../util/logger.js";
|
|
44
|
+
import llmobs from "../llmobs/index.js";
|
|
10
45
|
import { NpmInstallError } from "../types.js";
|
|
11
46
|
import { Linter } from "./linter.js";
|
|
12
47
|
const execPromise = promisify(exec);
|
|
@@ -18,180 +53,212 @@ const CLARK_APP_BLACKLIST_PATTERNS = [
|
|
|
18
53
|
"chakra/**", // Chakra UI system files - framework internals
|
|
19
54
|
"components/**", // Components folder - framework internals
|
|
20
55
|
];
|
|
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
|
-
|
|
56
|
+
let AppShell = (() => {
|
|
57
|
+
let _instanceExtraInitializers = [];
|
|
58
|
+
let _readFiles_decorators;
|
|
59
|
+
let _runTypecheck_decorators;
|
|
60
|
+
let _runLinter_decorators;
|
|
61
|
+
let _warmLinterCache_decorators;
|
|
62
|
+
let _runNpmInstall_decorators;
|
|
63
|
+
let _runPackageManagerInstall_decorators;
|
|
64
|
+
let _uninstallPackages_decorators;
|
|
65
|
+
let _saveGeneratedArtifact_decorators;
|
|
66
|
+
return class AppShell {
|
|
67
|
+
static {
|
|
68
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
69
|
+
_readFiles_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.readFiles" })];
|
|
70
|
+
_runTypecheck_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runTypecheck" })];
|
|
71
|
+
_runLinter_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runLinter" })];
|
|
72
|
+
_warmLinterCache_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.warmLinterCache" })];
|
|
73
|
+
_runNpmInstall_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runNpmInstall" })];
|
|
74
|
+
_runPackageManagerInstall_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runPackageManagerInstall" })];
|
|
75
|
+
_uninstallPackages_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.uninstallPackages" })];
|
|
76
|
+
_saveGeneratedArtifact_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.saveGeneratedArtifact" })];
|
|
77
|
+
__esDecorate(this, null, _readFiles_decorators, { kind: "method", name: "readFiles", static: false, private: false, access: { has: obj => "readFiles" in obj, get: obj => obj.readFiles }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
78
|
+
__esDecorate(this, null, _runTypecheck_decorators, { kind: "method", name: "runTypecheck", static: false, private: false, access: { has: obj => "runTypecheck" in obj, get: obj => obj.runTypecheck }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
79
|
+
__esDecorate(this, null, _runLinter_decorators, { kind: "method", name: "runLinter", static: false, private: false, access: { has: obj => "runLinter" in obj, get: obj => obj.runLinter }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
80
|
+
__esDecorate(this, null, _warmLinterCache_decorators, { kind: "method", name: "warmLinterCache", static: false, private: false, access: { has: obj => "warmLinterCache" in obj, get: obj => obj.warmLinterCache }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
81
|
+
__esDecorate(this, null, _runNpmInstall_decorators, { kind: "method", name: "runNpmInstall", static: false, private: false, access: { has: obj => "runNpmInstall" in obj, get: obj => obj.runNpmInstall }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
82
|
+
__esDecorate(this, null, _runPackageManagerInstall_decorators, { kind: "method", name: "runPackageManagerInstall", static: false, private: false, access: { has: obj => "runPackageManagerInstall" in obj, get: obj => obj.runPackageManagerInstall }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
83
|
+
__esDecorate(this, null, _uninstallPackages_decorators, { kind: "method", name: "uninstallPackages", static: false, private: false, access: { has: obj => "uninstallPackages" in obj, get: obj => obj.uninstallPackages }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
84
|
+
__esDecorate(this, null, _saveGeneratedArtifact_decorators, { kind: "method", name: "saveGeneratedArtifact", static: false, private: false, access: { has: obj => "saveGeneratedArtifact" in obj, get: obj => obj.saveGeneratedArtifact }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
85
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
86
|
+
}
|
|
87
|
+
appRootDirPath = __runInitializers(this, _instanceExtraInitializers);
|
|
88
|
+
fsOperationQueue;
|
|
89
|
+
linter;
|
|
90
|
+
messageSender;
|
|
91
|
+
constructor({ appRootDirPath, fsOperationQueue, messageSender, }) {
|
|
92
|
+
this.appRootDirPath = appRootDirPath;
|
|
93
|
+
this.fsOperationQueue = fsOperationQueue;
|
|
94
|
+
this.linter = new Linter(appRootDirPath);
|
|
95
|
+
this.messageSender = messageSender;
|
|
96
|
+
}
|
|
97
|
+
async readFiles(patterns, globOptions, enableAppBlacklist = true) {
|
|
98
|
+
return await this.fsOperationQueue.enqueue(async () => {
|
|
99
|
+
// Start with standard ignore patterns (includes .gitignore)
|
|
100
|
+
const standardIgnorePatterns = await createGitIgnorePatterns(this.appRootDirPath);
|
|
101
|
+
const files = await glob(patterns, {
|
|
46
102
|
nodir: true,
|
|
47
103
|
cwd: this.appRootDirPath,
|
|
48
104
|
ignore: Array.from(standardIgnorePatterns),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
?
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
105
|
+
...globOptions,
|
|
106
|
+
});
|
|
107
|
+
// Compute the set of files that match the Clark blacklist patterns (to be omitted),
|
|
108
|
+
// intersected with the files resolved by the provided patterns.
|
|
109
|
+
const blacklistedFiles = enableAppBlacklist
|
|
110
|
+
? new Set(await glob(Array.from(CLARK_APP_BLACKLIST_PATTERNS), {
|
|
111
|
+
nodir: true,
|
|
112
|
+
cwd: this.appRootDirPath,
|
|
113
|
+
ignore: Array.from(standardIgnorePatterns),
|
|
114
|
+
}))
|
|
115
|
+
: new Set();
|
|
116
|
+
return await Promise.all(files.map(async (file) => {
|
|
117
|
+
const isBlacklisted = blacklistedFiles.has(file);
|
|
118
|
+
const content = isBlacklisted
|
|
119
|
+
? "<… file contents omitted …>" // TODO(mark): could we just return the exported lines?
|
|
120
|
+
: await readFile(path.join(this.appRootDirPath, file), "utf-8");
|
|
121
|
+
return {
|
|
122
|
+
type: "file",
|
|
123
|
+
filePath: file,
|
|
124
|
+
content,
|
|
125
|
+
};
|
|
126
|
+
}));
|
|
127
|
+
});
|
|
68
128
|
}
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
|
|
129
|
+
async runTypecheck(abortSignal) {
|
|
130
|
+
const output = await this.runTypecheckRawOutput(abortSignal);
|
|
131
|
+
if (!output) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const parsed = output.split("\n").reduce((acc, line) => {
|
|
135
|
+
const [filePath, _rest] = line.split("(");
|
|
136
|
+
if (filePath && filePath.trim() !== "") {
|
|
137
|
+
acc[filePath] = [...(acc[filePath] || []), line];
|
|
138
|
+
return acc;
|
|
139
|
+
}
|
|
73
140
|
return acc;
|
|
141
|
+
}, {});
|
|
142
|
+
return Object.keys(parsed).length > 0 ? parsed : null;
|
|
143
|
+
}
|
|
144
|
+
async runTypecheckRawOutput(abortSignal) {
|
|
145
|
+
const checkForErrors = new Promise((resolve) => {
|
|
146
|
+
exec([
|
|
147
|
+
"npx tsc",
|
|
148
|
+
"--noEmit",
|
|
149
|
+
// speed up marginal typecheck
|
|
150
|
+
"--incremental",
|
|
151
|
+
// expected format
|
|
152
|
+
"--pretty false",
|
|
153
|
+
// allow any
|
|
154
|
+
"--noImplicitAny false",
|
|
155
|
+
// cache in separate file to avoid conflicts with vite or user ide
|
|
156
|
+
"--tsBuildInfoFile .superblocks/app.tsbuildinfo",
|
|
157
|
+
].join(" "), {
|
|
158
|
+
cwd: this.appRootDirPath,
|
|
159
|
+
encoding: "utf-8",
|
|
160
|
+
signal: abortSignal,
|
|
161
|
+
}, (_error, stdout, stderr) => {
|
|
162
|
+
resolve(stdout || stderr);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
const output = await checkForErrors;
|
|
166
|
+
if (!output || typeof output !== "string") {
|
|
167
|
+
return null;
|
|
74
168
|
}
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"--incremental",
|
|
86
|
-
// expected format
|
|
87
|
-
"--pretty false",
|
|
88
|
-
// allow any
|
|
89
|
-
"--noImplicitAny false",
|
|
90
|
-
// cache in separate file to avoid conflicts with vite or user ide
|
|
91
|
-
"--tsBuildInfoFile .superblocks/app.tsbuildinfo",
|
|
92
|
-
].join(" "), {
|
|
93
|
-
cwd: this.appRootDirPath,
|
|
94
|
-
encoding: "utf-8",
|
|
95
|
-
signal: abortSignal,
|
|
96
|
-
}, (_error, stdout, stderr) => {
|
|
97
|
-
resolve(stdout || stderr);
|
|
169
|
+
return output;
|
|
170
|
+
}
|
|
171
|
+
async runLinter(filePaths, abortSignal) {
|
|
172
|
+
const absoluteFilePaths = filePaths.map((filePath) => path.join(this.appRootDirPath, filePath));
|
|
173
|
+
return await this.fsOperationQueue.enqueue(async () => {
|
|
174
|
+
const lintErrorsByPath = await this.linter.lint(absoluteFilePaths, abortSignal);
|
|
175
|
+
if (Object.keys(lintErrorsByPath).length > 0) {
|
|
176
|
+
return lintErrorsByPath;
|
|
177
|
+
}
|
|
178
|
+
return null;
|
|
98
179
|
});
|
|
99
|
-
});
|
|
100
|
-
const output = await checkForErrors;
|
|
101
|
-
if (!output || typeof output !== "string") {
|
|
102
|
-
return null;
|
|
103
180
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
181
|
+
warmLinterCache() {
|
|
182
|
+
void this.linter.warmCache(["**/*.{tsx}"]);
|
|
183
|
+
}
|
|
184
|
+
async runNpmInstall(abortSignal) {
|
|
185
|
+
return await new Promise((resolve, reject) => {
|
|
186
|
+
const command =
|
|
187
|
+
// if we're running in csb mock server, we need to avoid conflicts with the workspace
|
|
188
|
+
process.env.SUPERBLOCKS_SERVER_ENV === "local"
|
|
189
|
+
? "pnpm install --config.confirmModulesPurge=false"
|
|
190
|
+
: "npm install";
|
|
191
|
+
exec(command, {
|
|
192
|
+
cwd: this.appRootDirPath,
|
|
193
|
+
timeout: 30_000,
|
|
194
|
+
signal: abortSignal,
|
|
195
|
+
}, (error, _stdout, stderr) => {
|
|
196
|
+
if (error) {
|
|
197
|
+
return reject(new NpmInstallError(stderr));
|
|
198
|
+
}
|
|
199
|
+
return resolve();
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
async runPackageManagerInstall(abortSignal) {
|
|
204
|
+
// NOTE: this largely duplicates the logic in the CLI
|
|
205
|
+
const packageManager = await detect({
|
|
206
|
+
strategies: [
|
|
207
|
+
"packageManager-field",
|
|
208
|
+
"lockfile",
|
|
209
|
+
"install-metadata",
|
|
210
|
+
"devEngines-field",
|
|
211
|
+
],
|
|
212
|
+
cwd: this.appRootDirPath,
|
|
213
|
+
});
|
|
214
|
+
if (!packageManager) {
|
|
215
|
+
throw new Error("Could not detect package manager");
|
|
112
216
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
async runNpmInstall(abortSignal) {
|
|
120
|
-
return await new Promise((resolve, reject) => {
|
|
121
|
-
const command =
|
|
122
|
-
// if we're running in csb mock server, we need to avoid conflicts with the workspace
|
|
123
|
-
process.env.SUPERBLOCKS_SERVER_ENV === "local"
|
|
124
|
-
? "pnpm install --config.confirmModulesPurge=false"
|
|
125
|
-
: "npm install";
|
|
126
|
-
exec(command, {
|
|
217
|
+
const installCommand = resolveCommand(packageManager.agent, "install", packageManager.agent === "npm" ? ["--fund=false", "--audit=false"] : []);
|
|
218
|
+
if (!installCommand) {
|
|
219
|
+
throw new Error(`Could not determine install command for ${packageManager.agent}, skipping package installation`);
|
|
220
|
+
}
|
|
221
|
+
const { command, args } = installCommand;
|
|
222
|
+
const { stdout } = await execPromise(`${command} ${args.join(" ")}`, {
|
|
127
223
|
cwd: this.appRootDirPath,
|
|
128
|
-
timeout: 30_000,
|
|
129
224
|
signal: abortSignal,
|
|
130
|
-
}, (error, _stdout, stderr) => {
|
|
131
|
-
if (error) {
|
|
132
|
-
return reject(new NpmInstallError(stderr));
|
|
133
|
-
}
|
|
134
|
-
return resolve();
|
|
135
225
|
});
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
async runPackageManagerInstall(abortSignal) {
|
|
139
|
-
// NOTE: this largely duplicates the logic in the CLI
|
|
140
|
-
const packageManager = await detect({
|
|
141
|
-
strategies: [
|
|
142
|
-
"packageManager-field",
|
|
143
|
-
"lockfile",
|
|
144
|
-
"install-metadata",
|
|
145
|
-
"devEngines-field",
|
|
146
|
-
],
|
|
147
|
-
cwd: this.appRootDirPath,
|
|
148
|
-
});
|
|
149
|
-
if (!packageManager) {
|
|
150
|
-
throw new Error("Could not detect package manager");
|
|
226
|
+
return stdout;
|
|
151
227
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const command = `${packageManager} ${uninstallCmd} ${packages.join(" ")}`;
|
|
169
|
-
exec(command, {
|
|
170
|
-
cwd: this.appRootDirPath,
|
|
171
|
-
timeout: 30_000,
|
|
172
|
-
signal: options?.abortSignal,
|
|
173
|
-
}, (error, stdout, stderr) => {
|
|
174
|
-
if (error) {
|
|
175
|
-
return reject(new NpmInstallError(stderr || error.message));
|
|
176
|
-
}
|
|
177
|
-
return resolve({ stdout, stderr });
|
|
228
|
+
async uninstallPackages(packages, options) {
|
|
229
|
+
return await new Promise((resolve, reject) => {
|
|
230
|
+
// Use pnpm for local env, npm otherwise (same pattern as runNpmInstall)
|
|
231
|
+
const packageManager = process.env.SUPERBLOCKS_SERVER_ENV === "local" ? "pnpm" : "npm";
|
|
232
|
+
const uninstallCmd = packageManager === "pnpm" ? "remove" : "uninstall";
|
|
233
|
+
const command = `${packageManager} ${uninstallCmd} ${packages.join(" ")}`;
|
|
234
|
+
exec(command, {
|
|
235
|
+
cwd: this.appRootDirPath,
|
|
236
|
+
timeout: 30_000,
|
|
237
|
+
signal: options?.abortSignal,
|
|
238
|
+
}, (error, stdout, stderr) => {
|
|
239
|
+
if (error) {
|
|
240
|
+
return reject(new NpmInstallError(stderr || error.message));
|
|
241
|
+
}
|
|
242
|
+
return resolve({ stdout, stderr });
|
|
243
|
+
});
|
|
178
244
|
});
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
async saveGeneratedArtifact(artifact, stepId, runTimestamp) {
|
|
182
|
-
const stepPath = path.join(this.appRootDirPath, ".superblocks", "generations", runTimestamp, stepId, artifact.filePath);
|
|
183
|
-
await mkdir(path.dirname(stepPath), { recursive: true });
|
|
184
|
-
const relativeStepPath = path.relative(this.appRootDirPath, stepPath);
|
|
185
|
-
getLogger().debug(`[ai-service] Saving step file: ${relativeStepPath}`);
|
|
186
|
-
await writeFile(stepPath, artifact.content);
|
|
187
|
-
}
|
|
188
|
-
async sendMessage(message) {
|
|
189
|
-
if (this.messageSender) {
|
|
190
|
-
await this.messageSender(message);
|
|
191
245
|
}
|
|
192
|
-
|
|
193
|
-
|
|
246
|
+
async saveGeneratedArtifact(artifact, stepId, runTimestamp) {
|
|
247
|
+
const stepPath = path.join(this.appRootDirPath, ".superblocks", "generations", runTimestamp, stepId, artifact.filePath);
|
|
248
|
+
await mkdir(path.dirname(stepPath), { recursive: true });
|
|
249
|
+
const relativeStepPath = path.relative(this.appRootDirPath, stepPath);
|
|
250
|
+
getLogger().debug(`[ai-service] Saving step file: ${relativeStepPath}`);
|
|
251
|
+
await writeFile(stepPath, artifact.content);
|
|
194
252
|
}
|
|
195
|
-
|
|
196
|
-
|
|
253
|
+
async sendMessage(message) {
|
|
254
|
+
if (this.messageSender) {
|
|
255
|
+
await this.messageSender(message);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
getLogger().warn(`[ai-service] No message sender configured, cannot send message: ${message.type}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
})();
|
|
263
|
+
export { AppShell };
|
|
197
264
|
//# sourceMappingURL=shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,IAAI,EAAsC,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE,+CAA+C;IAC5D,eAAe,EAAE,0CAA0C;CACnD,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,IAAI,EAAsC,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE,+CAA+C;IAC5D,eAAe,EAAE,0CAA0C;CACnD,CAAC;IAEE,QAAQ;;;;;;;;;;iBAAR,QAAQ;;;qCAqBlB,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;wCAgD7D,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;qCA4DhE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;2CAuB7D,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;yCAKnE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;oDA2BjE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;6CAuC5E,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;iDAgCrE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;YAzO1E,8KAAa,SAAS,6DA6CrB;YAGD,uLAAa,YAAY,6DAoBxB;YAwCD,8KAAa,SAAS,6DAoBrB;YAGD,gMAAO,eAAe,6DAErB;YAGD,0LAAa,aAAa,6DAwBzB;YAGD,2NAAa,wBAAwB,6DAoCpC;YAGD,sMAAa,iBAAiB,6DA6B7B;YAGD,kNAAa,qBAAqB,6DAiBjC;;;QAhRe,cAAc,GADnB,mDAAQ,CACoB;QACtB,gBAAgB,CAAiB;QACjC,MAAM,CAAS;QACxB,aAAa,CAAmC;QAExD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,GAKd;YACC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACrC,CAAC;QAGM,KAAK,CAAC,SAAS,CACpB,QAAkB,EAClB,WAA2C,EAC3C,kBAAkB,GAAG,IAAI;YAEzB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACpD,4DAA4D;gBAC5D,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAC1D,IAAI,CAAC,cAAc,CACpB,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;oBACjC,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,IAAI,CAAC,cAAc;oBACxB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;oBAC1C,GAAG,WAAW;iBACf,CAAC,CAAC;gBAEH,oFAAoF;gBACpF,gEAAgE;gBAChE,MAAM,gBAAgB,GAAG,kBAAkB;oBACzC,CAAC,CAAC,IAAI,GAAG,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE;wBACnD,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,IAAI,CAAC,cAAc;wBACxB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;qBAC3C,CAAC,CACH;oBACH,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;gBAEtB,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACvB,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,aAAa;wBAC3B,CAAC,CAAC,6BAA6B,CAAC,uDAAuD;wBACvF,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;oBAElE,OAAO;wBACL,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;wBACd,OAAO;qBACQ,CAAC;gBACpB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAGM,KAAK,CAAC,YAAY,CACvB,WAAyB;YAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACvC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBACjD,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAA8B,CAC/B,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;QAEM,KAAK,CAAC,qBAAqB,CAChC,WAAyB;YAEzB,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7C,IAAI,CACF;oBACE,SAAS;oBACT,UAAU;oBACV,8BAA8B;oBAC9B,eAAe;oBACf,kBAAkB;oBAClB,gBAAgB;oBAChB,YAAY;oBACZ,uBAAuB;oBACvB,kEAAkE;oBAClE,gDAAgD;iBACjD,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;oBACE,GAAG,EAAE,IAAI,CAAC,cAAc;oBACxB,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,WAAW;iBACpB,EACD,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;oBACzB,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;gBAC5B,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAEpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAGM,KAAK,CAAC,SAAS,CACpB,SAAmB,EACnB,WAAyB;YAEzB,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CACzC,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACpD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAC7C,iBAAiB,EACjB,WAAW,CACZ,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7C,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAGM,eAAe;YACpB,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,CAAC;QAGM,KAAK,CAAC,aAAa,CAAC,WAAyB;YAClD,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,OAAO;gBACX,qFAAqF;gBACrF,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,OAAO;oBAC5C,CAAC,CAAC,iDAAiD;oBACnD,CAAC,CAAC,aAAa,CAAC;gBAEpB,IAAI,CACF,OAAO,EACP;oBACE,GAAG,EAAE,IAAI,CAAC,cAAc;oBACxB,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,WAAW;iBACpB,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;oBACzB,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7C,CAAC;oBAED,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAGM,KAAK,CAAC,wBAAwB,CAAC,WAAyB;YAC7D,qDAAqD;YACrD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;gBAClC,UAAU,EAAE;oBACV,sBAAsB;oBACtB,UAAU;oBACV,kBAAkB;oBAClB,kBAAkB;iBACnB;gBACD,GAAG,EAAE,IAAI,CAAC,cAAc;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,cAAc,GAAG,cAAc,CACnC,cAAc,CAAC,KAAK,EACpB,SAAS,EACT,cAAc,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CACxE,CAAC;YAEF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,CAAC,KAAK,iCAAiC,CACjG,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAEzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnE,GAAG,EAAE,IAAI,CAAC,cAAc;gBACxB,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAGM,KAAK,CAAC,iBAAiB,CAC5B,QAAkB,EAClB,OAEC;YAED,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,wEAAwE;gBACxE,MAAM,cAAc,GAClB,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClE,MAAM,YAAY,GAAG,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxE,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE1E,IAAI,CACF,OAAO,EACP;oBACE,GAAG,EAAE,IAAI,CAAC,cAAc;oBACxB,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,OAAO,EAAE,WAAW;iBAC7B,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;oBACxB,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9D,CAAC;oBAED,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAGM,KAAK,CAAC,qBAAqB,CAChC,QAAsB,EACtB,MAAc,EACd,YAAoB;YAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,MAAM,EACN,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACtE,SAAS,EAAE,CAAC,KAAK,CAAC,kCAAkC,gBAAgB,EAAE,CAAC,CAAC;YACxE,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAEM,KAAK,CAAC,WAAW,CAAC,OAGxB;YACC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,SAAS,EAAE,CAAC,IAAI,CACd,mEAAmE,OAAO,CAAC,IAAI,EAAE,CAClF,CAAC;YACJ,CAAC;QACH,CAAC;;;SA9RU,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolt.d.ts","sourceRoot":"","sources":["../../../src/ai-service/artifacts/bolt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bolt.d.ts","sourceRoot":"","sources":["../../../src/ai-service/artifacts/bolt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,qBAAa,qBAAsB,YAAW,iBAAiB;IAK7D,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe;IAiB7D,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;CA4BnD"}
|
|
@@ -1,34 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
const boltArtifact = `<boltArtifact id="code-content" title="Code Content" >\n${boltActions.join("\n")}\n</boltArtifact>`;
|
|
7
|
-
return {
|
|
8
|
-
content: boltArtifact,
|
|
9
|
-
paths: files.map((file) => file.filePath),
|
|
10
|
-
};
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
11
5
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
16
30
|
}
|
|
17
|
-
return files
|
|
18
|
-
.map((file) => {
|
|
19
|
-
const match = file.match(/<boltAction type="(file|component)" filePath="([^"]+)">([\s\S]*?)<\/boltAction>/);
|
|
20
|
-
if (!match)
|
|
21
|
-
return null;
|
|
22
|
-
const [, type, filePath, content] = match;
|
|
23
|
-
return content
|
|
24
|
-
? {
|
|
25
|
-
type,
|
|
26
|
-
filePath,
|
|
27
|
-
content: content.trim(),
|
|
28
|
-
}
|
|
29
|
-
: null;
|
|
30
|
-
})
|
|
31
|
-
.filter((file) => file !== null);
|
|
32
31
|
}
|
|
33
|
-
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
35
|
+
import llmobs from "../llmobs/index.js";
|
|
36
|
+
let BoltArtifactProcessor = (() => {
|
|
37
|
+
let _instanceExtraInitializers = [];
|
|
38
|
+
let _createArtifactContext_decorators;
|
|
39
|
+
let _extractFileArtifacts_decorators;
|
|
40
|
+
return class BoltArtifactProcessor {
|
|
41
|
+
static {
|
|
42
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
43
|
+
_createArtifactContext_decorators = [llmobs.decorate({
|
|
44
|
+
kind: "task",
|
|
45
|
+
name: "BoltArtifactProcessor.createArtifactContext",
|
|
46
|
+
})];
|
|
47
|
+
_extractFileArtifacts_decorators = [llmobs.decorate({
|
|
48
|
+
kind: "task",
|
|
49
|
+
name: "BoltArtifactProcessor.extractFileArtifacts",
|
|
50
|
+
})];
|
|
51
|
+
__esDecorate(this, null, _createArtifactContext_decorators, { kind: "method", name: "createArtifactContext", static: false, private: false, access: { has: obj => "createArtifactContext" in obj, get: obj => obj.createArtifactContext }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
52
|
+
__esDecorate(this, null, _extractFileArtifacts_decorators, { kind: "method", name: "extractFileArtifacts", static: false, private: false, access: { has: obj => "extractFileArtifacts" in obj, get: obj => obj.extractFileArtifacts }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
53
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
54
|
+
}
|
|
55
|
+
createArtifactContext(files) {
|
|
56
|
+
const boltActions = files.map((file) => {
|
|
57
|
+
return `<boltAction type="file" filePath="${file.filePath}">\n${file.content}\n</boltAction>`;
|
|
58
|
+
});
|
|
59
|
+
const boltArtifact = `<boltArtifact id="code-content" title="Code Content" >\n${boltActions.join("\n")}\n</boltArtifact>`;
|
|
60
|
+
return {
|
|
61
|
+
content: boltArtifact,
|
|
62
|
+
paths: files.map((file) => file.filePath),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
extractFileArtifacts(text) {
|
|
66
|
+
const files = text.match(/<boltAction type="(file|component)" filePath="([^"]+)">([\s\S]*?)<\/boltAction>/g);
|
|
67
|
+
if (!files) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
return files
|
|
71
|
+
.map((file) => {
|
|
72
|
+
const match = file.match(/<boltAction type="(file|component)" filePath="([^"]+)">([\s\S]*?)<\/boltAction>/);
|
|
73
|
+
if (!match)
|
|
74
|
+
return null;
|
|
75
|
+
const [, type, filePath, content] = match;
|
|
76
|
+
return content
|
|
77
|
+
? {
|
|
78
|
+
type,
|
|
79
|
+
filePath,
|
|
80
|
+
content: content.trim(),
|
|
81
|
+
}
|
|
82
|
+
: null;
|
|
83
|
+
})
|
|
84
|
+
.filter((file) => file !== null);
|
|
85
|
+
}
|
|
86
|
+
constructor() {
|
|
87
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
})();
|
|
91
|
+
export { BoltArtifactProcessor };
|
|
34
92
|
//# sourceMappingURL=bolt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bolt.js","sourceRoot":"","sources":["../../../src/ai-service/artifacts/bolt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bolt.js","sourceRoot":"","sources":["../../../src/ai-service/artifacts/bolt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;IAK3B,qBAAqB;;;;iBAArB,qBAAqB;;;iDAC/B,MAAM,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6CAA6C;iBACpD,CAAC;gDAcD,MAAM,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,4CAA4C;iBACnD,CAAC;YAhBF,kNAAA,qBAAqB,6DAWpB;YAMD,+MAAA,oBAAoB,6DA2BnB;;;QA5CD,qBAAqB,CAAC,KAAqB;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,OAAO,qCAAqC,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,OAAO,iBAAiB,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,2DAA2D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAE1H,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1C,CAAC;QACJ,CAAC;QAMD,oBAAoB,CAAC,IAAY;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,kFAAkF,CACnF,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,KAAK;iBACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,iFAAiF,CAClF,CAAC;gBACF,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAExB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;gBAE1C,OAAO,OAAO;oBACZ,CAAC,CAAC;wBACE,IAAI;wBACJ,QAAQ;wBACR,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;qBACxB;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3D,CAAC;;YAjDU,mDAAqB;;;;SAArB,qBAAqB"}
|
|
@@ -75,11 +75,13 @@ export declare function getLastUserMessage(messages: AiChatMessage[]): AiChatMes
|
|
|
75
75
|
* 6. Sorts exchanges by original order and flattens to messages
|
|
76
76
|
* 7. Processes messages to apply filtering and summary logic
|
|
77
77
|
*/
|
|
78
|
-
export declare
|
|
78
|
+
export declare const extractProductiveHistoryForContext: typeof _extractProductiveHistoryForContext;
|
|
79
|
+
declare function _extractProductiveHistoryForContext(messages: AiChatMessage[], options?: {
|
|
79
80
|
maxAcceptedExchanges?: number;
|
|
80
81
|
includeRecentUnknown?: boolean;
|
|
81
82
|
}): Array<{
|
|
82
83
|
role: "user" | "assistant";
|
|
83
84
|
content: string;
|
|
84
85
|
}>;
|
|
86
|
+
export {};
|
|
85
87
|
//# sourceMappingURL=extract-history.d.ts.map
|