@superblocksteam/vite-plugin-file-sync 2.0.165-next.0 → 2.0.166-next.0
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/prompts/api-prompts.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/api-prompts.js +3 -1
- package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +43 -7
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.d.ts +12 -0
- package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.js +29 -0
- package/dist/ai-service/agent/tool-result-metrics.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts +17 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js +208 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +6 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +53 -19
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts +20 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js +284 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts +77 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js +627 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +51 -9
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +50 -6
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +153 -40
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/index.d.ts +3 -2
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +3 -2
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +15 -15
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts +33 -0
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js +67 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js.map +1 -0
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +6 -6
- package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.js +4 -2
- package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts +4 -15
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.js +4 -44
- package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +17 -64
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +1 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +23 -5
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts +9 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js +52 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.js +57 -49
- package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +3 -3
- package/dist/ai-service/agent/tools2/tools/git.d.ts +6 -6
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts +8 -2
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +184 -4
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -1
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts +5 -0
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts.map +1 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js +18 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts +6 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js +23 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +25 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +70 -4
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/edit-after-clark.d.ts +58 -0
- package/dist/ai-service/edit-after-clark.d.ts.map +1 -0
- package/dist/ai-service/edit-after-clark.js +143 -0
- package/dist/ai-service/edit-after-clark.js.map +1 -0
- package/dist/ai-service/features.d.ts +5 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +5 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +25 -3
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +123 -18
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +5 -5
- package/dist/ai-service/llm/context-v2/context.d.ts +23 -6
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +48 -13
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
- package/dist/ai-service/llm/stream/abort-reason.d.ts +31 -0
- package/dist/ai-service/llm/stream/abort-reason.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/abort-reason.js +36 -0
- package/dist/ai-service/llm/stream/abort-reason.js.map +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts +15 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +88 -12
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/migration-prompt-gating.d.ts +1 -0
- package/dist/ai-service/migration-prompt-gating.d.ts.map +1 -1
- package/dist/ai-service/migration-prompt-gating.js +6 -0
- package/dist/ai-service/migration-prompt-gating.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.js +8 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
- package/dist/ai-service/skills/system/resolve.d.ts.map +1 -1
- package/dist/ai-service/skills/system/resolve.js +29 -4
- package/dist/ai-service/skills/system/resolve.js.map +1 -1
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js +66 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +6 -6
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js +29 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +2 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -1
- 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/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +1 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts +18 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js +66 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts +12 -3
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +17 -5
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/template-renderer.js +43 -7
- package/dist/ai-service/template-renderer.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/file-sync-vite-plugin.d.ts +12 -3
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +57 -17
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +42 -23
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.js +5 -5
- package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.d.ts +2 -0
- package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.js +2 -2
- package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -1
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +3 -0
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/socket-manager.d.ts +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +64 -22
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +14 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +27 -1
- package/dist/sync-service/index.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +15 -1
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.d.ts +6 -0
- package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.js +21 -0
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
- package/dist/vite-plugin-yaml-types.d.ts +6 -0
- package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
- package/dist/vite-plugin-yaml-types.js +52 -61
- package/dist/vite-plugin-yaml-types.js.map +1 -1
- package/package.json +14 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-prompts.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/api-prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA4O5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAC3C,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"api-prompts.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/api-prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA4O5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAC3C,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,GAAG,MAAM,CAwfT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAiChE"}
|
|
@@ -292,6 +292,8 @@ Before writing ANY API, you MUST:
|
|
|
292
292
|
1. **Call \`getSdkApiDocs\` first**
|
|
293
293
|
- Pass integration IDs whenever available so docs are tailored to the app's actual integrations
|
|
294
294
|
- \`getSdkApiDocs\` returns version-aware integration documentation for the app's plugin versions
|
|
295
|
+
- For shared SDK guidance, call \`getSdkApiDocs()\` to discover the installed README's section IDs, then request only the relevant \`section\`
|
|
296
|
+
- If a root section response includes \`root.continuation\`, pass that exact token as \`continuation\` to retrieve the next chunk
|
|
295
297
|
- This is REQUIRED before creating or modifying any SDK API
|
|
296
298
|
|
|
297
299
|
2. **Use \`getSdkApiDocs\` output as the source of truth for integration methods and SDK API patterns**
|
|
@@ -378,7 +380,7 @@ If the user requests checking user data, like email, ID, groups, or custom claim
|
|
|
378
380
|
You must NEVER attempt to rely on frontend data for security-critical operations. Instead, use \`ctx.user\`, which is securely populated server-side from the Superblocks JWT. Call \`getSdkApiDocs\` for the full \`ctx.user\` interface, properties, and usage examples including groups and custom claims.
|
|
379
381
|
</permissions>
|
|
380
382
|
|
|
381
|
-
**First argument to \`useApi\` / \`useApiData\` / \`executeApi\`:** each key on the default export in \`server/apis/index.ts\` — not the \`name\` field inside \`api({
|
|
383
|
+
**First argument to \`useApi\` / \`useApiData\` / \`executeApi\`:** each key on the default export in \`server/apis/index.ts\` — not the \`name\` field inside \`api({ ... })\` when those differ. Use \`index.ts\` and existing call sites;
|
|
382
384
|
|
|
383
385
|
**CRITICAL: When debugging data issues:**
|
|
384
386
|
- If the UI is showing no data, ALWAYS test the relevant APIs first to verify they are actually returning data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-prompts.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/api-prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0OD,CAAC;AACT,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAElC;IACC,MAAM,kBAAkB,GAAG,OAAO,EAAE,yBAAyB;QAC3D,CAAC,CAAC;;;;wBAIkB;QACpB,CAAC,CAAC;;;;;;;;;;;wBAWkB,CAAC;IAEvB,OAAO
|
|
1
|
+
{"version":3,"file":"api-prompts.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/api-prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0OD,CAAC;AACT,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAElC;IACC,MAAM,kBAAkB,GAAG,OAAO,EAAE,yBAAyB;QAC3D,CAAC,CAAC;;;;wBAIkB;QACpB,CAAC,CAAC;;;;;;;;;;;wBAWkB,CAAC;IAEvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FP,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwYZ,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAmB;IACtD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA2B4B,CAAC;IACtC,CAAC;IAED,OAAO,oRAAoR,CAAC;AAC9R,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,uCAAuC,CAAC;AAS/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAShD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,sBAAsB,MAAM,EAC5B,yBAAyB,MAAM,EAC/B,iBAAiB,cAAc,EAC/B,mCAAiC,EACjC,YAAY,aAAa,EACzB,wCAAsC,EACtC,UAAU,mBAAmB,
|
|
1
|
+
{"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,uCAAuC,CAAC;AAS/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAShD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,sBAAsB,MAAM,EAC5B,yBAAyB,MAAM,EAC/B,iBAAiB,cAAc,EAC/B,mCAAiC,EACjC,YAAY,aAAa,EACzB,wCAAsC,EACtC,UAAU,mBAAmB,WA6iB9B,CAAC;AAopBF;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,SAAS,CAAC,EAAE,aAAa,GACxB,MAAM,CAiBR"}
|
|
@@ -28,6 +28,9 @@ export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSe
|
|
|
28
28
|
? "connected"
|
|
29
29
|
: "disconnected";
|
|
30
30
|
const gitConnected = gitConnectionState === "connected";
|
|
31
|
+
// Read early: sections built below choose between pointing at a skill file
|
|
32
|
+
// and stating their rules inline.
|
|
33
|
+
const useSkills = config.features.useSystemSkills;
|
|
31
34
|
const managedNativeDbProductAvailable = isManagedNativeDbAvailableForClark(config);
|
|
32
35
|
const canManageAppDatabaseLifecycle = options?.effectivePermissions === undefined ||
|
|
33
36
|
(options.effectivePermissions.has(EffectivePermission.APPLICATIONS_UPDATE) &&
|
|
@@ -128,17 +131,46 @@ You cannot delete App Database bindings. Explain that deletion is not supported
|
|
|
128
131
|
**SQL migration contents:**
|
|
129
132
|
- Migration \`.sql\` files (e.g. under \`db/migrations/\`) apply in **edit/preview and deployed** environments.
|
|
130
133
|
- Put seed/INSERT rows in a migration \`.sql\` file only when the database will **always** need that data, including in deployed apps.
|
|
131
|
-
- If
|
|
134
|
+
- If the user asked for data for testing or demos in edit mode, do **not** generate a \`.sql\` seed migration — insert those rows at runtime with \`executeRequestToIntegration\` against the provisioned integration instead of baking them into migrations that also run in deploy. Without that request, leave the tables empty.
|
|
135
|
+
|
|
136
|
+
${config.features.clarkAttachmentDownloadEnabled
|
|
137
|
+
? `**Importing CSV and Excel data from chat attachments:**
|
|
138
|
+
- Inspect the file and validate its columns and values before writing any rows. Infer the App Database schema from the file, provision the database if needed, and apply schema-only migrations before loading data.
|
|
139
|
+
- Excel \`.xlsx\` attachments are converted to one CSV per non-empty sheet before they reach \`testApi\` or \`downloadAttachments\`. Generated SDK code must still parse CSV only; do not parse spreadsheet binary formats in sandbox code.
|
|
140
|
+
- Create a self-contained temporary SDK API under \`server/apis/\` and register it. The API must accept a FilePicker-compatible input, read each CSV with \`readContentsAsync("text")\`, then parse, validate, and reshape it before inserting rows in dependency order. When a workbook produced multiple CSVs, load each sheet into the matching table.
|
|
141
|
+
- Call \`testApi\` with \`attachmentInputs\` mapping the API input name to the attachment's \`storageKey\`. The tool sends the converted CSV files through the orchestrator's file-input path.
|
|
142
|
+
- A single API run has an execution time limit, so a large file will time out if it is loaded in one pass. Insert rows in batches of a few hundred per statement instead of one statement per row.
|
|
143
|
+
- When batching alone is not enough, give the API row-range inputs such as \`offset\` and \`limit\`, then call \`testApi\` once per chunk until every row is loaded. Make each chunk safe to re-run (for example \`ON CONFLICT DO NOTHING\` on a unique key) so a repeated chunk cannot duplicate rows.
|
|
144
|
+
- If a run times out, fails, or is cancelled, do not assume nothing was written. Count the rows already in the table, then resume from the next unloaded row instead of restarting the whole import.
|
|
145
|
+
- Report the import complete only after the final chunk lands and the table row count matches the file.
|
|
146
|
+
- Use the current editor profile only, and do not claim that other profiles were loaded.
|
|
147
|
+
- If the load fails, keep the temporary API so you can fix and retry it. Do not report the import as complete.
|
|
148
|
+
- After a successful load, delete both the temporary API source and its registry entry, then verify that both are absent before reporting completion.
|
|
149
|
+
- Never put imported rows in migration files or initialize Production. Imported rows are edit App Database data only.
|
|
150
|
+
- For any other file type, explain that direct import into an App Database is not supported. Do not attempt an ad hoc import or claim that its data was loaded.
|
|
151
|
+
- When creating an App Database from an uploaded Postgres dump (\`.dump\`), keep the dump's table and column names unchanged by default so a later data import can target the same schema. Rename tables or columns only when the user explicitly asks.
|
|
132
152
|
|
|
133
|
-
**
|
|
153
|
+
**Creating an app from an Excel workbook:**
|
|
154
|
+
${useSkills
|
|
155
|
+
? `- When an \`.xlsx\` workbook is part of the request, \`build_readFile\` \`skills/system/spreadsheet-import/SKILL.md\` before you design a schema, write a migration, or import any rows. It explains the \`*-structure.json\` digest written beside the CSVs and how to decide which columns are stored and which are derived.`
|
|
156
|
+
: `- Before designing a schema from an \`.xlsx\` workbook, call \`downloadAttachments\` and read the \`*-structure.json\` digest written beside the CSVs. It describes every sheet and is the thing to design from; the CSVs are rows to load, not reading material.
|
|
157
|
+
- A sheet whose \`role\` is \`derived report\` has no rows to import: build it as a page or view over the imported tables, never as another table.
|
|
158
|
+
- A column with \`computed\` is derived behavior, not a stored column, and \`coverage\` says how many cells follow that rule. A column with only an \`example\` computes something different per row, so read it as report logic.
|
|
159
|
+
- The CSVs are already trimmed to the table: the \`banner\`, the rows above \`headerRowNumber\`, and \`footerAggregates\` are described in the digest and excluded from the rows.`}
|
|
160
|
+
- Attaching a workbook is not by itself a request to load its rows. If the request was to inspect the file, design a schema, or build screens, do that and ask before importing; if the request was to build an app from the workbook, the data is part of it.
|
|
161
|
+
`
|
|
162
|
+
: `**Importing data from chat attachments:**
|
|
134
163
|
- Directly importing data from a file attachment in chat into an App Database is not currently supported. Do not convert the attachment's contents into seed/INSERT migration rows or directly insert them at runtime from chat as a workaround.
|
|
135
164
|
- Do not treat tool or file-editing limits as limits on the amount of data an App Database or file import can support.
|
|
136
165
|
- \`testApi\` does not support file inputs, so do not claim you tested an upload through it.
|
|
137
166
|
- Recommend building an in-app file import flow instead, and let the application's requirements determine its design.
|
|
138
167
|
- When creating an App Database from an uploaded Postgres dump (\`.dump\`), keep the dump's table and column names unchanged by default so a later data import can target the same schema. Rename tables or columns only when the user explicitly asks.
|
|
168
|
+
`}
|
|
139
169
|
|
|
140
170
|
`
|
|
141
171
|
: ""}**One-off data edits:**
|
|
172
|
+
- Only write rows the user asked for. Do not invent sample, demo, or placeholder data to fill a table you just created, and do not load a file's contents because it happens to be attached: building a schema or a screen is not a request to populate it. Finish the structure, say what you would load, and ask.
|
|
173
|
+
- \`enableTesting: false\` on the plan context turns off the test subagent, nothing else. It does not disable \`testApi\` and it is never a reason to load data by hand. If the import path you need is genuinely unavailable, say which one and why, and ask the user how to proceed instead of inserting rows one statement at a time.
|
|
142
174
|
- When the user asks for a one-time data change, such as inserting, updating, or deleting specific rows, adding sample data to a table, or fixing a bad record, run the SQL directly with \`executeRequestToIntegration\`. Do NOT build an app API, page, or UI flow just to run a one-time change${managedNativeDbAvailable ? ", and do NOT bake it into a migration `.sql` file" : ""}.
|
|
143
175
|
- Only build the change into the application (an API plus UI) when the app itself needs to perform it repeatedly, or the user asks for a reusable flow.
|
|
144
176
|
- SQL data writes and DDL statements require Build mode. They stay blocked in Plan mode even after a plan is approved, so when an approved plan includes either operation, ask the user to switch to Build mode to run it.
|
|
@@ -210,10 +242,9 @@ Only start the Git setup flow when the user explicitly asks to connect or use Gi
|
|
|
210
242
|
- There is no \`pages/\` directory at the app root; the pages are under \`${uiRoot}pages/\``;
|
|
211
243
|
const thirdPartyImportEnabled = config.features.thirdPartyImportEnabled ?? false;
|
|
212
244
|
const currentDate = new Date().toISOString().split("T")[0];
|
|
213
|
-
const useSkills = config.features.useSystemSkills;
|
|
214
245
|
// Try to build skills guidance if enabled, with fallback to detailed guidance
|
|
215
246
|
const skillsGuidance = useSkills
|
|
216
|
-
? buildSkillsSystemGuidance(sdkApiEnabled, thirdPartyImportEnabled, v2ToV3MigrationInProgress)
|
|
247
|
+
? buildSkillsSystemGuidance(sdkApiEnabled, config.features.clarkAttachmentDownloadEnabled === true, thirdPartyImportEnabled, v2ToV3MigrationInProgress)
|
|
217
248
|
: null;
|
|
218
249
|
const skillsLoaded = skillsGuidance !== null;
|
|
219
250
|
// Use detailed guidance sections if skills are disabled OR if skills failed to load
|
|
@@ -273,7 +304,7 @@ Call \`listAttachments\` first only when:
|
|
|
273
304
|
- The block's \`note\` says no \`storageKey\` is available, and you need to fall back to \`attachmentIds\`.
|
|
274
305
|
|
|
275
306
|
Rules:
|
|
276
|
-
- Never fabricate or fetch attachment \`url\` values directly (no ad-hoc code, shell, urllib/curl, or HTTP requests)
|
|
307
|
+
- Never fabricate or fetch attachment \`url\` values directly (no ad-hoc code, shell, urllib/curl, or HTTP requests) - \`downloadAttachments\` is the normal path. To pass an uploaded attachment to a temporary SDK API, use \`testApi.attachmentInputs\` with its \`storageKey\`.
|
|
277
308
|
- Do not claim contents were reviewed unless you actually downloaded and inspected them in this turn.
|
|
278
309
|
- If the block's \`note\` says there is no \`storageKey\`, do not invent one; tell the user the attachment cannot be materialized from the current message.${thirdPartyImportEnabled
|
|
279
310
|
? `
|
|
@@ -504,11 +535,12 @@ function buildKnowledgeBlock(factsSection, appKnowledgeSection) {
|
|
|
504
535
|
*
|
|
505
536
|
* @returns Skills guidance string, or null if skills failed to load (triggers fallback)
|
|
506
537
|
*/
|
|
507
|
-
function buildSkillsSystemGuidance(sdkApiEnabled, thirdPartyImportEnabled, v2ToV3MigrationInProgress) {
|
|
538
|
+
function buildSkillsSystemGuidance(sdkApiEnabled, spreadsheetImportEnabled, thirdPartyImportEnabled, v2ToV3MigrationInProgress) {
|
|
508
539
|
try {
|
|
509
540
|
const uiRoot = uiRootFor(sdkApiEnabled);
|
|
510
541
|
const excludeSkills = buildSystemSkillExclusions({
|
|
511
542
|
sdkApiEnabled,
|
|
543
|
+
spreadsheetImportEnabled,
|
|
512
544
|
thirdPartyImportEnabled,
|
|
513
545
|
v2ToV3MigrationInProgress,
|
|
514
546
|
});
|
|
@@ -519,7 +551,11 @@ function buildSkillsSystemGuidance(sdkApiEnabled, thirdPartyImportEnabled, v2ToV
|
|
|
519
551
|
}
|
|
520
552
|
logger.info("System skills loaded successfully");
|
|
521
553
|
const apiSkillGuidance = sdkApiEnabled
|
|
522
|
-
?
|
|
554
|
+
? /*md*/ `
|
|
555
|
+
**BEFORE creating or editing ANY SDK API, you MUST:**
|
|
556
|
+
1. Read \`skills/system/superblocks-sdk-api/SKILL.md\` - Contains the documentation retrieval workflow
|
|
557
|
+
2. Call \`getSdkApiDocs\` with integration IDs when available - Provides version-aware integration documentation
|
|
558
|
+
`
|
|
523
559
|
: /*md*/ `
|
|
524
560
|
**BEFORE creating or editing ANY API, you MUST:**
|
|
525
561
|
1. Read \`skills/system/superblocks-api/SKILL.md\` - Contains core patterns, type definitions, and scoping rules
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import type { Tool } from "./tools2/types.js";
|
|
2
2
|
export declare const DEFAULT_MAX_OUTPUT_CHARS = 25000;
|
|
3
3
|
export declare const TOOL_EXECUTION_RESULT_CHARS_METRIC = "superblocks.clark.tool.execution.result_chars";
|
|
4
|
+
export declare const BUILD_READ_FILE_IMMUTABLE_READS_METRIC = "superblocks.clark.tool.build_read_file.immutable_reads";
|
|
4
5
|
export type ToolExecutionOutcome = "error" | "success" | "timeout";
|
|
6
|
+
/** Prefix classes the immutable-path read cache short-circuits, kept low-cardinality. */
|
|
7
|
+
export type ImmutableReadKind = "system_skill" | "upload";
|
|
8
|
+
/** Whether an eligible full read was served from cache (`hit`) or actually read (`miss`). */
|
|
9
|
+
export type ImmutableReadOutcome = "hit" | "miss";
|
|
10
|
+
/**
|
|
11
|
+
* Record one eligible full read of an immutable-path file. Recording both the
|
|
12
|
+
* `hit` (short-circuited) and `miss` (actually read) outcomes gives the
|
|
13
|
+
* denominator the hit count alone lacks, so the redundancy-reduction rate is
|
|
14
|
+
* `hit / (hit + miss)` per prefix class.
|
|
15
|
+
*/
|
|
16
|
+
export declare function recordBuildReadFileImmutableRead(kind: ImmutableReadKind, outcome: ImmutableReadOutcome): void;
|
|
5
17
|
/**
|
|
6
18
|
* Character length of a tool result as the model receives it.
|
|
7
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-result-metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAG/C,eAAO,MAAM,kCAAkC,kDACE,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-result-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-result-metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAG/C,eAAO,MAAM,kCAAkC,kDACE,CAAC;AAClD,eAAO,MAAM,sCAAsC,2DACO,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnE,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE1D,6FAA6F;AAC7F,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,CAAC;AA2ElD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAKN;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EACjC,IAAI,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5D,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAInE;AAYD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAON;AAUD,wBAAgB,iCAAiC,IAAI,IAAI,CAKxD"}
|
|
@@ -4,6 +4,7 @@ import { metrics } from "@opentelemetry/api";
|
|
|
4
4
|
export const DEFAULT_MAX_OUTPUT_CHARS = 25_000;
|
|
5
5
|
const METER_NAME = "superblocks.clark.tool_execution";
|
|
6
6
|
export const TOOL_EXECUTION_RESULT_CHARS_METRIC = "superblocks.clark.tool.execution.result_chars";
|
|
7
|
+
export const BUILD_READ_FILE_IMMUTABLE_READS_METRIC = "superblocks.clark.tool.build_read_file.immutable_reads";
|
|
7
8
|
/**
|
|
8
9
|
* Highest step number reported verbatim; anything beyond collapses into
|
|
9
10
|
* `MAX_TRACKED_STEP+`. A turn is around a dozen steps, so this keeps the
|
|
@@ -45,6 +46,32 @@ function resolveResultCharsHistogram() {
|
|
|
45
46
|
});
|
|
46
47
|
return cachedResultCharsHistogram;
|
|
47
48
|
}
|
|
49
|
+
let cachedImmutableReadsMeter;
|
|
50
|
+
let cachedImmutableReadsCounter;
|
|
51
|
+
function resolveImmutableReadsCounter() {
|
|
52
|
+
const meter = metrics.getMeter(METER_NAME);
|
|
53
|
+
if (meter === cachedImmutableReadsMeter && cachedImmutableReadsCounter) {
|
|
54
|
+
return cachedImmutableReadsCounter;
|
|
55
|
+
}
|
|
56
|
+
cachedImmutableReadsMeter = meter;
|
|
57
|
+
cachedImmutableReadsCounter = meter.createCounter(BUILD_READ_FILE_IMMUTABLE_READS_METRIC, {
|
|
58
|
+
description: "Full build_readFile reads of an immutable-path file, split into cache hits and misses by prefix class.",
|
|
59
|
+
unit: "{read}",
|
|
60
|
+
});
|
|
61
|
+
return cachedImmutableReadsCounter;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Record one eligible full read of an immutable-path file. Recording both the
|
|
65
|
+
* `hit` (short-circuited) and `miss` (actually read) outcomes gives the
|
|
66
|
+
* denominator the hit count alone lacks, so the redundancy-reduction rate is
|
|
67
|
+
* `hit / (hit + miss)` per prefix class.
|
|
68
|
+
*/
|
|
69
|
+
export function recordBuildReadFileImmutableRead(kind, outcome) {
|
|
70
|
+
resolveImmutableReadsCounter().add(1, {
|
|
71
|
+
"clark.build_read_file.immutable_kind": kind,
|
|
72
|
+
"clark.build_read_file.dedup_outcome": outcome,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
48
75
|
/**
|
|
49
76
|
* Serialized length without the log sanitizer. `safeJsonStringify` drops
|
|
50
77
|
* secret-named fields and rewrites any repeated object reference as
|
|
@@ -158,5 +185,7 @@ function formatStepNumber(stepNumber) {
|
|
|
158
185
|
export function _resetToolResultMetricsForTesting() {
|
|
159
186
|
cachedMeter = undefined;
|
|
160
187
|
cachedResultCharsHistogram = undefined;
|
|
188
|
+
cachedImmutableReadsMeter = undefined;
|
|
189
|
+
cachedImmutableReadsCounter = undefined;
|
|
161
190
|
}
|
|
162
191
|
//# sourceMappingURL=tool-result-metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-result-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAIzD,yGAAyG;AACzG,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,CAAC,MAAM,kCAAkC,GAC7C,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-result-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-result-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type SdkApiFileInput } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import type { Clark, ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
|
|
3
|
+
export declare function formatAttachmentInputDetails({ attachmentInputs, clark, services, }: {
|
|
4
|
+
attachmentInputs: Record<string, string[]>;
|
|
5
|
+
clark: Clark;
|
|
6
|
+
services: ClarkStateHandlerParams;
|
|
7
|
+
}): string | undefined;
|
|
8
|
+
export declare function buildAttachmentFileInputs({ attachmentInputs, clark, inputs, services, }: {
|
|
9
|
+
attachmentInputs: Record<string, string[]>;
|
|
10
|
+
clark: Clark;
|
|
11
|
+
inputs: Record<string, unknown>;
|
|
12
|
+
services: ClarkStateHandlerParams;
|
|
13
|
+
}): Promise<{
|
|
14
|
+
files: SdkApiFileInput[];
|
|
15
|
+
inputs: Record<string, unknown>;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=attachment-file-inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-file-inputs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/attachment-file-inputs.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,uCAAuC,CAAC;AAW/C,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAkC7C,wBAAgB,4BAA4B,CAAC,EAC3C,gBAAgB,EAChB,KAAK,EACL,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GAAG,MAAM,GAAG,SAAS,CAqCrB;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC,CAuLD"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { resolveAttachmentFileName, } from "@superblocksteam/library-shared/types";
|
|
3
|
+
import { assertAttachmentSize, getTextAttachmentType, isXlsxAttachmentFile, } from "@superblocksteam/shared";
|
|
4
|
+
import { AttachmentsStore } from "../../../attachments/index.js";
|
|
5
|
+
import { getCanonicalAttachmentUrl } from "../../../attachments/uploaded-content-part.js";
|
|
6
|
+
import { getActiveContext } from "../../../llm/context-v2/utils/index.js";
|
|
7
|
+
import { scrubSecrets, stripUnsafeChars } from "../../../types.js";
|
|
8
|
+
import { resolveUploadedAttachmentLeases } from "../../tools2/tools/attachment-lease-resolver.js";
|
|
9
|
+
import { convertWorkbookToCsvSheets } from "./spreadsheet-csv.js";
|
|
10
|
+
const ATTACHMENT_FETCH_TIMEOUT_MS = 30_000;
|
|
11
|
+
// Browsers often label .csv uploads as Excel files, which the shared
|
|
12
|
+
// attachment checks reject as Office documents.
|
|
13
|
+
const CSV_MIME_TYPE = "text/csv";
|
|
14
|
+
function normalizeAttachmentInputs(attachmentInputs) {
|
|
15
|
+
return Object.fromEntries(Object.entries(attachmentInputs).map(([inputName, storageKeys]) => [
|
|
16
|
+
inputName,
|
|
17
|
+
storageKeys.map((storageKey) => storageKey.trim()),
|
|
18
|
+
]));
|
|
19
|
+
}
|
|
20
|
+
function safeDisplayName(value) {
|
|
21
|
+
return stripUnsafeChars(scrubSecrets(value)).trim().slice(0, 200);
|
|
22
|
+
}
|
|
23
|
+
export function formatAttachmentInputDetails({ attachmentInputs, clark, services, }) {
|
|
24
|
+
const context = getActiveContext(clark, services);
|
|
25
|
+
const normalizedInputs = normalizeAttachmentInputs(attachmentInputs);
|
|
26
|
+
const storageKeys = Array.from(new Set(Object.values(normalizedInputs).flat()));
|
|
27
|
+
const attachments = context
|
|
28
|
+
? new AttachmentsStore().getUploadedAttachmentsByStorageKeys(context, storageKeys)
|
|
29
|
+
: [];
|
|
30
|
+
const fileNamesByStorageKey = new Map(attachments.flatMap((attachment) => {
|
|
31
|
+
const storageKey = attachment.storageKey?.trim();
|
|
32
|
+
if (!storageKey)
|
|
33
|
+
return [];
|
|
34
|
+
const fileName = resolveAttachmentFileName({
|
|
35
|
+
fileName: attachment.fileName,
|
|
36
|
+
mediaType: attachment.mediaType,
|
|
37
|
+
type: "uploaded",
|
|
38
|
+
});
|
|
39
|
+
return [[storageKey, safeDisplayName(fileName)]];
|
|
40
|
+
}));
|
|
41
|
+
const details = Object.entries(normalizedInputs).map(([inputName, inputStorageKeys]) => {
|
|
42
|
+
const fileNames = inputStorageKeys.map((storageKey) => fileNamesByStorageKey.get(storageKey) ?? "unavailable attachment");
|
|
43
|
+
return `- ${safeDisplayName(inputName)}: ${fileNames.join(", ")}`;
|
|
44
|
+
});
|
|
45
|
+
return details.length > 0
|
|
46
|
+
? `Attached files:\n${details.join("\n")}`
|
|
47
|
+
: undefined;
|
|
48
|
+
}
|
|
49
|
+
export async function buildAttachmentFileInputs({ attachmentInputs, clark, inputs, services, }) {
|
|
50
|
+
if (services.features.clarkAttachmentDownloadEnabled !== true) {
|
|
51
|
+
throw new Error("Attachment inputs are disabled");
|
|
52
|
+
}
|
|
53
|
+
const context = getActiveContext(clark, services);
|
|
54
|
+
if (!context) {
|
|
55
|
+
throw new Error("Context not available");
|
|
56
|
+
}
|
|
57
|
+
const normalizedInputs = normalizeAttachmentInputs(attachmentInputs);
|
|
58
|
+
const storageKeys = Array.from(new Set(Object.values(normalizedInputs).flat()));
|
|
59
|
+
if (storageKeys.some((storageKey) => storageKey.length === 0)) {
|
|
60
|
+
throw new Error("Attachment storageKey must not be empty");
|
|
61
|
+
}
|
|
62
|
+
const attachments = new AttachmentsStore()
|
|
63
|
+
.getUploadedAttachmentsByStorageKeys(context, storageKeys)
|
|
64
|
+
.filter((attachment) => attachment.type === "uploaded" &&
|
|
65
|
+
typeof attachment.storageKey === "string" &&
|
|
66
|
+
attachment.storageKey.length > 0);
|
|
67
|
+
const attachmentsByStorageKey = new Map(attachments.map((attachment) => [attachment.storageKey.trim(), attachment]));
|
|
68
|
+
const missingStorageKeys = storageKeys.filter((storageKey) => !attachmentsByStorageKey.has(storageKey));
|
|
69
|
+
if (missingStorageKeys.length > 0) {
|
|
70
|
+
throw new Error("Attachment not found in current session");
|
|
71
|
+
}
|
|
72
|
+
const unsupported = attachments.filter((attachment) => {
|
|
73
|
+
const fileName = resolveAttachmentFileName({
|
|
74
|
+
fileName: attachment.fileName,
|
|
75
|
+
mediaType: attachment.mediaType,
|
|
76
|
+
type: "uploaded",
|
|
77
|
+
});
|
|
78
|
+
return (getTextAttachmentType({ fileName }) !== "csv" &&
|
|
79
|
+
!isXlsxAttachmentFile({ fileName, mimeType: attachment.mediaType }));
|
|
80
|
+
});
|
|
81
|
+
if (unsupported.length > 0) {
|
|
82
|
+
throw new Error("Only CSV and Excel attachments can be passed as API inputs");
|
|
83
|
+
}
|
|
84
|
+
const leasesByUrl = await resolveUploadedAttachmentLeases({
|
|
85
|
+
attachments,
|
|
86
|
+
clark,
|
|
87
|
+
services,
|
|
88
|
+
});
|
|
89
|
+
const files = [];
|
|
90
|
+
const metadataByStorageKey = new Map();
|
|
91
|
+
for (const attachment of attachments) {
|
|
92
|
+
const lease = leasesByUrl.get(getCanonicalAttachmentUrl(attachment.url));
|
|
93
|
+
if (!lease) {
|
|
94
|
+
throw new Error("A fresh attachment download URL was not returned");
|
|
95
|
+
}
|
|
96
|
+
const fileName = resolveAttachmentFileName({
|
|
97
|
+
fileName: attachment.fileName,
|
|
98
|
+
mediaType: attachment.mediaType,
|
|
99
|
+
type: "uploaded",
|
|
100
|
+
});
|
|
101
|
+
const isWorkbook = isXlsxAttachmentFile({
|
|
102
|
+
fileName,
|
|
103
|
+
mimeType: attachment.mediaType,
|
|
104
|
+
});
|
|
105
|
+
const timeoutSignal = AbortSignal.timeout(ATTACHMENT_FETCH_TIMEOUT_MS);
|
|
106
|
+
const turnSignal = clark.context.abortController?.signal;
|
|
107
|
+
const response = await fetch(lease.signedUrl, {
|
|
108
|
+
signal: turnSignal
|
|
109
|
+
? AbortSignal.any([turnSignal, timeoutSignal])
|
|
110
|
+
: timeoutSignal,
|
|
111
|
+
});
|
|
112
|
+
if (!response.ok || !response.body) {
|
|
113
|
+
throw new Error(`Failed to download attachment: HTTP ${response.status}`);
|
|
114
|
+
}
|
|
115
|
+
const reader = response.body.getReader();
|
|
116
|
+
const chunks = [];
|
|
117
|
+
let size = 0;
|
|
118
|
+
try {
|
|
119
|
+
for (;;) {
|
|
120
|
+
const { value, done } = await reader.read();
|
|
121
|
+
if (done)
|
|
122
|
+
break;
|
|
123
|
+
size += value.byteLength;
|
|
124
|
+
assertAttachmentSize({
|
|
125
|
+
fileName,
|
|
126
|
+
mimeType: isWorkbook ? attachment.mediaType : CSV_MIME_TYPE,
|
|
127
|
+
sizeBytes: size,
|
|
128
|
+
});
|
|
129
|
+
chunks.push(value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
await reader.cancel(error);
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
reader.releaseLock();
|
|
138
|
+
}
|
|
139
|
+
const contents = Buffer.concat(chunks, size);
|
|
140
|
+
const preparedSheets = isWorkbook
|
|
141
|
+
? await convertWorkbookToCsvSheets({ bytes: contents, fileName })
|
|
142
|
+
: null;
|
|
143
|
+
if (preparedSheets) {
|
|
144
|
+
const sheetMetadata = [];
|
|
145
|
+
// A sheet that only derives values from other sheets has no rows to
|
|
146
|
+
// load, so only the data tables become API inputs.
|
|
147
|
+
const dataSheets = preparedSheets.filter((sheet) => sheet.csv !== undefined && sheet.fileName !== undefined);
|
|
148
|
+
if (dataSheets.length === 0) {
|
|
149
|
+
throw new Error("Workbook has no data to import");
|
|
150
|
+
}
|
|
151
|
+
for (const [index, sheet] of dataSheets.entries()) {
|
|
152
|
+
const csvBytes = Buffer.from(sheet.csv, "utf8");
|
|
153
|
+
const fileId = `clark-attachment-${attachment.id}-${index + 1}`;
|
|
154
|
+
files.push({
|
|
155
|
+
buffer: csvBytes.toString("base64"),
|
|
156
|
+
encoding: "base64",
|
|
157
|
+
mimeType: CSV_MIME_TYPE,
|
|
158
|
+
originalName: fileId,
|
|
159
|
+
size: String(csvBytes.byteLength),
|
|
160
|
+
});
|
|
161
|
+
sheetMetadata.push({
|
|
162
|
+
$superblocksId: fileId,
|
|
163
|
+
encoding: "text",
|
|
164
|
+
extension: "csv",
|
|
165
|
+
name: sheet.fileName,
|
|
166
|
+
size: csvBytes.byteLength,
|
|
167
|
+
type: CSV_MIME_TYPE,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
metadataByStorageKey.set(attachment.storageKey.trim(), sheetMetadata);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const fileId = `clark-attachment-${attachment.id}`;
|
|
174
|
+
files.push({
|
|
175
|
+
buffer: contents.toString("base64"),
|
|
176
|
+
encoding: "base64",
|
|
177
|
+
mimeType: CSV_MIME_TYPE,
|
|
178
|
+
originalName: fileId,
|
|
179
|
+
size: String(contents.byteLength),
|
|
180
|
+
});
|
|
181
|
+
metadataByStorageKey.set(attachment.storageKey.trim(), [
|
|
182
|
+
{
|
|
183
|
+
$superblocksId: fileId,
|
|
184
|
+
encoding: "text",
|
|
185
|
+
extension: path.extname(fileName).slice(1),
|
|
186
|
+
name: fileName,
|
|
187
|
+
size: contents.byteLength,
|
|
188
|
+
type: CSV_MIME_TYPE,
|
|
189
|
+
},
|
|
190
|
+
]);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const fileInputs = Object.fromEntries(Object.entries(normalizedInputs).map(([inputName, inputStorageKeys]) => {
|
|
194
|
+
const metadata = inputStorageKeys.flatMap((storageKey) => {
|
|
195
|
+
const filesForKey = metadataByStorageKey.get(storageKey);
|
|
196
|
+
if (!filesForKey) {
|
|
197
|
+
throw new Error("Attachment could not be prepared");
|
|
198
|
+
}
|
|
199
|
+
return filesForKey;
|
|
200
|
+
});
|
|
201
|
+
return [inputName, { files: metadata }];
|
|
202
|
+
}));
|
|
203
|
+
return {
|
|
204
|
+
files,
|
|
205
|
+
inputs: { ...inputs, ...fileInputs },
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=attachment-file-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-file-inputs.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/attachment-file-inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
|
|
2
|
+
import { type RootDocumentationMetadata } from "./sdk-root-documentation.js";
|
|
2
3
|
/**
|
|
3
4
|
* Stay under the agent outputLimiter (DEFAULT_MAX_OUTPUT_CHARS = 25_000)
|
|
4
5
|
* with headroom for JSON wrapping. Importing middleware would create a cycle.
|
|
@@ -6,6 +7,7 @@ import type { ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.j
|
|
|
6
7
|
export declare const SCOPED_SDK_DOCS_CHAR_BUDGET = 24500;
|
|
7
8
|
export type SdkApiDocsServices = {
|
|
8
9
|
integrationStore: Pick<ClarkStateHandlerParams["integrationStore"], "getHeader" | "getPluginExecutionVersion">;
|
|
10
|
+
readSdkRootReadme?: () => Promise<string>;
|
|
9
11
|
};
|
|
10
12
|
export declare const SCOPED_SDK_PATTERNS_STUB: string;
|
|
11
13
|
type SdkApiDocsResult = {
|
|
@@ -15,6 +17,7 @@ type SdkApiDocsResult = {
|
|
|
15
17
|
version?: string;
|
|
16
18
|
sdkVersion?: string;
|
|
17
19
|
}[];
|
|
20
|
+
root?: RootDocumentationMetadata;
|
|
18
21
|
};
|
|
19
22
|
/**
|
|
20
23
|
* Note appended when plugin-scoped docs are cut to stay under the
|
|
@@ -22,11 +25,13 @@ type SdkApiDocsResult = {
|
|
|
22
25
|
* getSdkApiDocs with the same integrationIds returns the omitted tail —
|
|
23
26
|
* there is no cursor/offset, so that call yields the same prefix.
|
|
24
27
|
*/
|
|
25
|
-
export declare const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no continuation cursor \u2014 repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root
|
|
28
|
+
export declare const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no plugin-doc continuation cursor \u2014 repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root section index, not the omitted plugin sections. To keep every plugin's docs intact, request fewer plugins per call]";
|
|
26
29
|
export declare function fitScopedDocsUnderBudget(result: SdkApiDocsResult, budget?: number, pluginStarts?: number[]): SdkApiDocsResult;
|
|
27
30
|
export declare const getSdkApiDocsToolFactory: import("../../tools2/types.js").ToolFactory<SdkApiDocsServices, import("../../tools2/types.js").Tool<{
|
|
31
|
+
section?: string | undefined;
|
|
28
32
|
integrationIds?: string[] | undefined;
|
|
29
33
|
pluginIds?: string[] | undefined;
|
|
34
|
+
continuation?: string | undefined;
|
|
30
35
|
}, SdkApiDocsResult>>;
|
|
31
36
|
export {};
|
|
32
37
|
//# sourceMappingURL=get-sdk-api-docs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,IAAI,CACpB,uBAAuB,CAAC,kBAAkB,CAAC,EAC3C,WAAW,GAAG,2BAA2B,CAC1C,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AA6CF,eAAO,MAAM,wBAAwB,QAiBzB,CAAC;AA6Hb,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,IAAI,CAAC,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,8XACgV,CAAC;AAEzX,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,MAAoC,EAC5C,YAAY,GAAE,MAAM,EAAO,GAC1B,gBAAgB,CA0BlB;AAyED,eAAO,MAAM,wBAAwB;;;;;qBAmIpC,CAAC"}
|