@superblocksteam/vite-plugin-file-sync 2.0.162-next.2 → 2.0.163-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/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +18 -7
- package/dist/ai-service/agent/middleware.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 -29
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +25 -0
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/coding/run-coding-subagent.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js +15 -0
- package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +4 -2
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.d.ts +18 -0
- package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.js +61 -0
- package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.js.map +1 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.js +21 -8
- package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +87 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +453 -82
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.d.ts +1 -0
- package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +18 -2
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.d.ts +11 -0
- package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +62 -14
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +2 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +2 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts +1 -0
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js +7 -2
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools/read-file-metrics.d.ts +30 -0
- package/dist/ai-service/agent/tools/read-file-metrics.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/read-file-metrics.js +158 -0
- package/dist/ai-service/agent/tools/read-file-metrics.js.map +1 -0
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts +27 -0
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/subagent-isolation.js +57 -0
- package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -0
- package/dist/ai-service/agent/tools.d.ts +4 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +51 -5
- package/dist/ai-service/agent/tools.js.map +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 +1 -0
- package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +2 -2
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts +2 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.js +3 -0
- package/dist/ai-service/app-interface/filesystem/draft-manager.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +2 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +13 -11
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +1 -1
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +18 -9
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +92 -112
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-interface/typecheck-output-parser.d.ts +9 -0
- package/dist/ai-service/app-interface/typecheck-output-parser.d.ts.map +1 -0
- package/dist/ai-service/app-interface/typecheck-output-parser.js +21 -0
- package/dist/ai-service/app-interface/typecheck-output-parser.js.map +1 -0
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts +5 -0
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts.map +1 -1
- package/dist/ai-service/app-interface/vulnerability-gate.js +9 -2
- package/dist/ai-service/app-interface/vulnerability-gate.js.map +1 -1
- package/dist/ai-service/app-layout.d.ts +13 -0
- package/dist/ai-service/app-layout.d.ts.map +1 -0
- package/dist/ai-service/app-layout.js +25 -0
- package/dist/ai-service/app-layout.js.map +1 -0
- package/dist/ai-service/app-skills/manager.d.ts +2 -0
- package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
- package/dist/ai-service/app-skills/manager.js +13 -6
- package/dist/ai-service/app-skills/manager.js.map +1 -1
- package/dist/ai-service/attachment-label-metrics.d.ts +5 -0
- package/dist/ai-service/attachment-label-metrics.d.ts.map +1 -0
- package/dist/ai-service/attachment-label-metrics.js +26 -0
- package/dist/ai-service/attachment-label-metrics.js.map +1 -0
- package/dist/ai-service/attachment-upload.d.ts.map +1 -1
- package/dist/ai-service/attachment-upload.js +6 -1
- package/dist/ai-service/attachment-upload.js.map +1 -1
- package/dist/ai-service/attachments/validate-prompt-attachments.d.ts +7 -0
- package/dist/ai-service/attachments/validate-prompt-attachments.d.ts.map +1 -0
- package/dist/ai-service/attachments/validate-prompt-attachments.js +96 -0
- package/dist/ai-service/attachments/validate-prompt-attachments.js.map +1 -0
- package/dist/ai-service/chat/chat-push-metrics.d.ts +17 -0
- package/dist/ai-service/chat/chat-push-metrics.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-push-metrics.js +45 -0
- package/dist/ai-service/chat/chat-push-metrics.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +51 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +181 -4
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/features.d.ts +32 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +32 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/helper-system-ai-attributes.d.ts +1 -1
- package/dist/ai-service/helper-system-ai-attributes.d.ts.map +1 -1
- package/dist/ai-service/helper-system-ai-attributes.js.map +1 -1
- package/dist/ai-service/index.d.ts +19 -4
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +176 -23
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/client.d.ts +9 -0
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +13 -43
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
- package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.js +6 -0
- package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts +8 -0
- package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/server-side.js +8 -0
- package/dist/ai-service/llm/context-v2/compaction/server-side.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-component-partition.d.ts +24 -0
- package/dist/ai-service/llm/context-v2/context-component-partition.d.ts.map +1 -0
- package/dist/ai-service/llm/context-v2/context-component-partition.js +222 -0
- package/dist/ai-service/llm/context-v2/context-component-partition.js.map +1 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts +9 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +40 -2
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +116 -4
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +276 -64
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts +18 -0
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/file-read-ledger.d.ts +218 -0
- package/dist/ai-service/llm/context-v2/file-read-ledger.d.ts.map +1 -0
- package/dist/ai-service/llm/context-v2/file-read-ledger.js +275 -0
- package/dist/ai-service/llm/context-v2/file-read-ledger.js.map +1 -0
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +5 -2
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts +2 -0
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.js +4 -0
- package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
- package/dist/ai-service/llm/context-v2/tool-schema-tokens.d.ts +22 -0
- package/dist/ai-service/llm/context-v2/tool-schema-tokens.d.ts.map +1 -0
- package/dist/ai-service/llm/context-v2/tool-schema-tokens.js +36 -0
- package/dist/ai-service/llm/context-v2/tool-schema-tokens.js.map +1 -0
- package/dist/ai-service/llm/context-v2/types.d.ts +8 -0
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js +48 -0
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/error.d.ts +2 -0
- package/dist/ai-service/llm/error.d.ts.map +1 -1
- package/dist/ai-service/llm/error.js +1 -0
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/retry-exhaustion-reason.d.ts +2 -0
- package/dist/ai-service/llm/retry-exhaustion-reason.d.ts.map +1 -0
- package/dist/ai-service/llm/retry-exhaustion-reason.js +2 -0
- package/dist/ai-service/llm/retry-exhaustion-reason.js.map +1 -0
- package/dist/ai-service/llm/stream/errors.d.ts +6 -7
- package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/errors.js +7 -1
- package/dist/ai-service/llm/stream/errors.js.map +1 -1
- package/dist/ai-service/llm/stream/event-bus.d.ts +9 -1
- package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/context.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/context.js +13 -0
- package/dist/ai-service/llm/stream/observers/context.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +14 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +91 -7
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts +3 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +73 -52
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.js +16 -9
- package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +5 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +103 -12
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +3 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +9 -0
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llm/stream/session.d.ts +8 -1
- package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/session.js +19 -0
- package/dist/ai-service/llm/stream/session.js.map +1 -1
- package/dist/ai-service/llm/stream/types.d.ts +13 -0
- package/dist/ai-service/llm/stream/types.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/wait-state-tracker.d.ts +5 -14
- package/dist/ai-service/llm/stream/wait-state-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/wait-state-tracker.js +25 -0
- package/dist/ai-service/llm/stream/wait-state-tracker.js.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +8 -8
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
- package/dist/ai-service/policy-gate-remediation-usage.d.ts +2 -0
- package/dist/ai-service/policy-gate-remediation-usage.d.ts.map +1 -0
- package/dist/ai-service/policy-gate-remediation-usage.js +56 -0
- package/dist/ai-service/policy-gate-remediation-usage.js.map +1 -0
- package/dist/ai-service/prompts/summarize-destructive-migration.d.ts +12 -0
- package/dist/ai-service/prompts/summarize-destructive-migration.d.ts.map +1 -0
- package/dist/ai-service/prompts/summarize-destructive-migration.js +37 -0
- package/dist/ai-service/prompts/summarize-destructive-migration.js.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.js +2 -2
- package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
- package/dist/ai-service/security/secret-scanner-service.d.ts.map +1 -1
- package/dist/ai-service/security/secret-scanner-service.js +88 -23
- package/dist/ai-service/security/secret-scanner-service.js.map +1 -1
- package/dist/ai-service/skills/index.d.ts +0 -7
- package/dist/ai-service/skills/index.d.ts.map +1 -1
- package/dist/ai-service/skills/index.js +0 -9
- package/dist/ai-service/skills/index.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 +4 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
- package/dist/ai-service/skills/system/resolve.d.ts +2 -0
- package/dist/ai-service/skills/system/resolve.d.ts.map +1 -0
- package/dist/ai-service/skills/system/resolve.js +32 -0
- package/dist/ai-service/skills/system/resolve.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.js +9 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.js +11 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-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 +16 -24
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- 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 +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +11 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +7 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +21 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.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 +32 -9
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +21 -2
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +11 -2
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +105 -18
- package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts +3 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +52 -13
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/tasks/peer-push.d.ts +3 -0
- package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
- package/dist/ai-service/tasks/peer-push.js +33 -0
- package/dist/ai-service/tasks/peer-push.js.map +1 -1
- package/dist/ai-service/util/call-peer.d.ts +2 -0
- package/dist/ai-service/util/call-peer.d.ts.map +1 -1
- package/dist/ai-service/util/call-peer.js +17 -4
- package/dist/ai-service/util/call-peer.js.map +1 -1
- package/dist/ai-service/util/line-ranges.d.ts +21 -0
- package/dist/ai-service/util/line-ranges.d.ts.map +1 -0
- package/dist/ai-service/util/line-ranges.js +36 -0
- package/dist/ai-service/util/line-ranges.js.map +1 -0
- package/dist/ai-service/util/peer-liveness.d.ts +1 -0
- package/dist/ai-service/util/peer-liveness.d.ts.map +1 -1
- package/dist/ai-service/util/peer-liveness.js +2 -0
- package/dist/ai-service/util/peer-liveness.js.map +1 -1
- package/dist/dev-server-ws-smoke-client.d.ts.map +1 -1
- package/dist/dev-server-ws-smoke-client.js +7 -0
- package/dist/dev-server-ws-smoke-client.js.map +1 -1
- package/dist/draft-interface.d.ts +8 -0
- package/dist/draft-interface.d.ts.map +1 -1
- package/dist/early-error-relay.d.ts +2 -0
- package/dist/early-error-relay.d.ts.map +1 -1
- package/dist/early-error-relay.js +7 -3
- package/dist/early-error-relay.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +43 -15
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +2 -2
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +3 -3
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/git-service/errors.d.ts +9 -0
- package/dist/git-service/errors.d.ts.map +1 -1
- package/dist/git-service/errors.js +15 -0
- package/dist/git-service/errors.js.map +1 -1
- package/dist/git-service/index.d.ts +2 -2
- package/dist/git-service/index.d.ts.map +1 -1
- package/dist/git-service/index.js +2 -2
- package/dist/git-service/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lock-service/activity-tracker.d.ts +5 -0
- package/dist/lock-service/activity-tracker.d.ts.map +1 -1
- package/dist/lock-service/activity-tracker.js +10 -0
- package/dist/lock-service/activity-tracker.js.map +1 -1
- package/dist/lock-service/index.d.ts +69 -4
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +139 -29
- package/dist/lock-service/index.js.map +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/accordion.tsx +9 -65
- package/dist/migration-templates/app-fullstack/client/components/ui/area-chart.tsx +36 -156
- package/dist/migration-templates/app-fullstack/client/components/ui/aspect-ratio.tsx +1 -5
- package/dist/migration-templates/app-fullstack/client/components/ui/avatar.tsx +4 -18
- package/dist/migration-templates/app-fullstack/client/components/ui/badge.tsx +6 -29
- package/dist/migration-templates/app-fullstack/client/components/ui/bar-chart.tsx +41 -167
- package/dist/migration-templates/app-fullstack/client/components/ui/breadcrumb.tsx +1 -4
- package/dist/migration-templates/app-fullstack/client/components/ui/button.tsx +5 -64
- package/dist/migration-templates/app-fullstack/client/components/ui/calendar.tsx +6 -42
- package/dist/migration-templates/app-fullstack/client/components/ui/card.tsx +1 -4
- package/dist/migration-templates/app-fullstack/client/components/ui/checkbox.tsx +4 -29
- package/dist/migration-templates/app-fullstack/client/components/ui/date-range-picker.tsx +13 -154
- package/dist/migration-templates/app-fullstack/client/components/ui/dialog.tsx +7 -34
- package/dist/migration-templates/app-fullstack/client/components/ui/file-dropzone.tsx +12 -95
- package/dist/migration-templates/app-fullstack/client/components/ui/file-input.tsx +12 -73
- package/dist/migration-templates/app-fullstack/client/components/ui/hover-card.tsx +10 -66
- package/dist/migration-templates/app-fullstack/client/components/ui/icon.tsx +3 -16
- package/dist/migration-templates/app-fullstack/client/components/ui/image.tsx +4 -16
- package/dist/migration-templates/app-fullstack/client/components/ui/input.tsx +18 -159
- package/dist/migration-templates/app-fullstack/client/components/ui/label.tsx +1 -4
- package/dist/migration-templates/app-fullstack/client/components/ui/line-chart.tsx +32 -148
- package/dist/migration-templates/app-fullstack/client/components/ui/link.tsx +4 -24
- package/dist/migration-templates/app-fullstack/client/components/ui/navigation-menu.tsx +3 -24
- package/dist/migration-templates/app-fullstack/client/components/ui/pagination.tsx +4 -24
- package/dist/migration-templates/app-fullstack/client/components/ui/pie-chart.tsx +28 -142
- package/dist/migration-templates/app-fullstack/client/components/ui/popover.tsx +9 -61
- package/dist/migration-templates/app-fullstack/client/components/ui/progress.tsx +2 -11
- package/dist/migration-templates/app-fullstack/client/components/ui/radar-chart.tsx +37 -171
- package/dist/migration-templates/app-fullstack/client/components/ui/radial-chart.tsx +50 -202
- package/dist/migration-templates/app-fullstack/client/components/ui/select.tsx +5 -35
- package/dist/migration-templates/app-fullstack/client/components/ui/separator.tsx +1 -8
- package/dist/migration-templates/app-fullstack/client/components/ui/sheet.tsx +7 -40
- package/dist/migration-templates/app-fullstack/client/components/ui/sidebar.tsx +3 -35
- package/dist/migration-templates/app-fullstack/client/components/ui/slider.tsx +11 -95
- package/dist/migration-templates/app-fullstack/client/components/ui/switch.tsx +5 -32
- package/dist/migration-templates/app-fullstack/client/components/ui/textarea.tsx +13 -90
- package/dist/migration-templates/app-fullstack/client/components/ui/toggle-group.tsx +11 -75
- package/dist/migration-templates/app-fullstack/client/components/ui/toggle.tsx +8 -70
- package/dist/migration-templates/app-fullstack/client/components/ui/tooltip.tsx +9 -62
- package/dist/parsing/imports.d.ts +22 -0
- package/dist/parsing/imports.d.ts.map +1 -1
- package/dist/parsing/imports.js +71 -0
- package/dist/parsing/imports.js.map +1 -1
- package/dist/reconnect-guard-plugin.d.ts +53 -0
- package/dist/reconnect-guard-plugin.d.ts.map +1 -0
- package/dist/reconnect-guard-plugin.js +203 -0
- package/dist/reconnect-guard-plugin.js.map +1 -0
- package/dist/resolver.d.ts +2 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +4 -6
- package/dist/resolver.js.map +1 -1
- package/dist/router-parser-metrics.d.ts +2 -1
- package/dist/router-parser-metrics.d.ts.map +1 -1
- package/dist/router-parser-metrics.js.map +1 -1
- package/dist/router-parser.d.ts +10 -1
- package/dist/router-parser.d.ts.map +1 -1
- package/dist/router-parser.js +306 -69
- package/dist/router-parser.js.map +1 -1
- package/dist/scan-scope-merge-metrics.d.ts +2 -0
- package/dist/scan-scope-merge-metrics.d.ts.map +1 -0
- package/dist/scan-scope-merge-metrics.js +18 -0
- package/dist/scan-scope-merge-metrics.js.map +1 -0
- package/dist/scan-scope-merge.d.ts +2 -2
- package/dist/scan-scope-merge.d.ts.map +1 -1
- package/dist/scan-scope-merge.js +64 -14
- package/dist/scan-scope-merge.js.map +1 -1
- package/dist/server-rpc/index.d.ts.map +1 -1
- package/dist/server-rpc/index.js +12 -2
- package/dist/server-rpc/index.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 +276 -15
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/download.js +2 -2
- package/dist/sync-service/download.js.map +1 -1
- package/dist/sync-service/index.d.ts +95 -22
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +402 -56
- package/dist/sync-service/index.js.map +1 -1
- package/dist/sync-service/page-reference-guard.d.ts +17 -0
- package/dist/sync-service/page-reference-guard.d.ts.map +1 -0
- package/dist/sync-service/page-reference-guard.js +170 -0
- package/dist/sync-service/page-reference-guard.js.map +1 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +16 -2
- package/dist/util.js.map +1 -1
- package/package.json +15 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-skills/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAiBrB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,YAAoC;IAG/D,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwC1C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE;IAYvD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWrE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBtB;;OAEG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC,SAAS,CAAC;IAsBrB;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD;;;OAGG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,SAAS,CAAC;IAiBrB;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,wBAAwB,IAAI,OAAO,CAAC;QACxC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;YAOY,2BAA2B;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-skills/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAiBrB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,YAAoC;IAG/D,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwC1C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE;IAYvD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWrE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBtB;;OAEG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC,SAAS,CAAC;IAsBrB;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD;;;OAGG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,SAAS,CAAC;IAiBrB;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,wBAAwB,IAAI,OAAO,CAAC;QACxC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;YAOY,2BAA2B;CA0F1C"}
|
|
@@ -206,17 +206,20 @@ export class AppSkillsManager {
|
|
|
206
206
|
if (alwaysOn.length === 0 && onDemand.length === 0) {
|
|
207
207
|
return {
|
|
208
208
|
alwaysInjectDedupeKeys: [],
|
|
209
|
+
alwaysInjectSection: "",
|
|
209
210
|
onDemandIndexCount: 0,
|
|
211
|
+
onDemandIndexSection: "",
|
|
210
212
|
section: "",
|
|
211
213
|
};
|
|
212
214
|
}
|
|
213
|
-
|
|
215
|
+
let alwaysInjectSection = "";
|
|
216
|
+
let onDemandIndexSection = "";
|
|
214
217
|
if (alwaysOn.length > 0) {
|
|
215
218
|
const items = alwaysOn
|
|
216
219
|
.map((f) => `### ${f.name}
|
|
217
220
|
${f.description ? `${f.description}\n\n` : ""}${f.content}`)
|
|
218
221
|
.join("\n\n");
|
|
219
|
-
|
|
222
|
+
alwaysInjectSection = `<app_knowledge>
|
|
220
223
|
## App-Specific Knowledge
|
|
221
224
|
|
|
222
225
|
The following knowledge entries were explicitly saved by the user for this application. They are MANDATORY on every turn and override general defaults.
|
|
@@ -228,7 +231,7 @@ The following knowledge entries were explicitly saved by the user for this appli
|
|
|
228
231
|
- These take precedence over your general defaults, but never over safety guidelines
|
|
229
232
|
|
|
230
233
|
${items}
|
|
231
|
-
</app_knowledge
|
|
234
|
+
</app_knowledge>`;
|
|
232
235
|
}
|
|
233
236
|
if (onDemand.length > 0) {
|
|
234
237
|
const items = onDemand
|
|
@@ -241,18 +244,22 @@ ${items}
|
|
|
241
244
|
</knowledge>`;
|
|
242
245
|
})
|
|
243
246
|
.join("\n");
|
|
244
|
-
|
|
247
|
+
onDemandIndexSection = `<app_knowledge_index>
|
|
245
248
|
## Available App-Specific Knowledge
|
|
246
249
|
|
|
247
250
|
These app-specific knowledge files are saved by the user for this application. Before implementing, review the entries below and use \`build_readFile <location>\` to load any entry relevant to the current task.
|
|
248
251
|
|
|
249
252
|
${items}
|
|
250
|
-
</app_knowledge_index
|
|
253
|
+
</app_knowledge_index>`;
|
|
251
254
|
}
|
|
252
255
|
return {
|
|
253
256
|
alwaysInjectDedupeKeys: alwaysOn.map((fact) => `${APP_SKILLS_RELATIVE_DIR}/${path.basename(fact.path)}`),
|
|
257
|
+
alwaysInjectSection,
|
|
254
258
|
onDemandIndexCount: onDemand.length,
|
|
255
|
-
|
|
259
|
+
onDemandIndexSection,
|
|
260
|
+
section: [alwaysInjectSection, onDemandIndexSection]
|
|
261
|
+
.filter((section) => section.length > 0)
|
|
262
|
+
.join("\n\n"),
|
|
256
263
|
};
|
|
257
264
|
}
|
|
258
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/ai-service/app-skills/manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/ai-service/app-skills/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-label-metrics.d.ts","sourceRoot":"","sources":["../../src/ai-service/attachment-label-metrics.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAyBD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,8BAA8B,GACrC,IAAI,CAEN"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { metrics } from "@opentelemetry/api";
|
|
2
|
+
const METER_NAME = "superblocks.clark.attachment_label";
|
|
3
|
+
const TRUNCATED_TOTAL_METRIC = "superblocks.clark.attachment_label.truncated_total";
|
|
4
|
+
class AttachmentLabelMetrics {
|
|
5
|
+
cachedMeter;
|
|
6
|
+
truncatedCounter;
|
|
7
|
+
recordTruncated(params) {
|
|
8
|
+
const meter = metrics.getMeter(METER_NAME);
|
|
9
|
+
if (meter !== this.cachedMeter || !this.truncatedCounter) {
|
|
10
|
+
this.cachedMeter = meter;
|
|
11
|
+
this.truncatedCounter = meter.createCounter(TRUNCATED_TOTAL_METRIC, {
|
|
12
|
+
description: "Text attachments truncated before being sent to the model for labeling, because their content exceeded the labeling size budget.",
|
|
13
|
+
unit: "1",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
// Org/app identity stays on logs and traces, not this counter's labels
|
|
17
|
+
// (per Clark's traffic-counter convention: it would create a per-tenant
|
|
18
|
+
// series).
|
|
19
|
+
this.truncatedCounter.add(1, { mime_type: params.mimeType });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const attachmentLabelMetrics = new AttachmentLabelMetrics();
|
|
23
|
+
export function recordAttachmentLabelTruncated(params) {
|
|
24
|
+
attachmentLabelMetrics.recordTruncated(params);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=attachment-label-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-label-metrics.js","sourceRoot":"","sources":["../../src/ai-service/attachment-label-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAEvE,MAAM,UAAU,GAAG,oCAAoC,CAAC;AACxD,MAAM,sBAAsB,GAC1B,oDAAoD,CAAC;AAMvD,MAAM,sBAAsB;IAClB,WAAW,CAAoB;IAC/B,gBAAgB,CAAsB;IAE9C,eAAe,CAAC,MAAsC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE;gBAClE,WAAW,EACT,kIAAkI;gBACpI,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;QACL,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,WAAW;QACX,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAE5D,MAAM,UAAU,8BAA8B,CAC5C,MAAsC;IAEtC,sBAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/ai-service/attachment-upload.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/ai-service/attachment-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,MAA6B,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,eAAuB,EACvB,kBAAkB,EAClB,GAAG,EACH,MAAM,GACP,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsHlC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildAttachmentUploadFormData, isUserFacingUploadError, toAttachmentUploadDescriptor, uploadAttachmentToServerApi, } from "@superblocksteam/shared";
|
|
1
|
+
import { buildAttachmentUploadFormData, isUserFacingUploadError, toAttachmentUploadDescriptor, uploadAttachmentToServerApi, validateAttachmentBytes, } from "@superblocksteam/shared";
|
|
2
2
|
import { getBucketeerUrlFromSuperblocksUrl } from "@superblocksteam/util";
|
|
3
3
|
import { getErrorMeta } from "../util/logger.js";
|
|
4
4
|
import { getScopedToken } from "./util/scoped-token-utils.js";
|
|
@@ -12,6 +12,11 @@ export async function uploadAttachmentToBucketeer({ applicationId, file, fileNam
|
|
|
12
12
|
if (!descriptor) {
|
|
13
13
|
throw new Error("Unsupported attachment upload input");
|
|
14
14
|
}
|
|
15
|
+
await validateAttachmentBytes({
|
|
16
|
+
fileName: descriptor.fileName,
|
|
17
|
+
mimeType: descriptor.mimeType,
|
|
18
|
+
bytes: new Uint8Array(await descriptor.blob.arrayBuffer()),
|
|
19
|
+
});
|
|
15
20
|
const buildFormData = () => {
|
|
16
21
|
return buildAttachmentUploadFormData({
|
|
17
22
|
descriptor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/ai-service/attachment-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/ai-service/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Attachment } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import type { ClarkStateHandlerParams } from "../state-machine/clark-fsm.js";
|
|
3
|
+
/** Validate new input before it becomes durable chat or inference history. */
|
|
4
|
+
export declare function validatePromptAttachments(attachments: Attachment[] | undefined, jwt: string, services: Pick<ClarkStateHandlerParams, "applicationId" | "superblocksBaseUrl"> & {
|
|
5
|
+
rpcClient: Pick<ClarkStateHandlerParams["rpcClient"], "call">;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=validate-prompt-attachments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-prompt-attachments.d.ts","sourceRoot":"","sources":["../../../src/ai-service/attachments/validate-prompt-attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,uCAAuC,CAAC;AAW/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAqC7E,8EAA8E;AAC9E,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,IAAI,CACZ,uBAAuB,EACvB,eAAe,GAAG,oBAAoB,CACvC,GAAG;IAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GACpE,OAAO,CAAC,IAAI,CAAC,CAiEf"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { resolveAttachmentFileName, } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import { assertAttachmentPdfPages, assertAttachmentSize, AttachmentValidationError, getAttachmentUploadLimit, toAttachmentUploadDescriptor, validateAttachmentBytes, } from "@superblocksteam/shared";
|
|
3
|
+
import { getScopedToken } from "../util/scoped-token-utils.js";
|
|
4
|
+
import { getAttachmentLeaseMetadata } from "./uploaded-content-part.js";
|
|
5
|
+
async function downloadAttachment(url, input) {
|
|
6
|
+
const response = await fetch(url, { signal: AbortSignal.timeout(30_000) });
|
|
7
|
+
if (!response.ok || !response.body) {
|
|
8
|
+
throw new Error("This upload is unavailable. Attach the file again and retry.");
|
|
9
|
+
}
|
|
10
|
+
const reader = response.body.getReader();
|
|
11
|
+
const chunks = [];
|
|
12
|
+
let size = 0;
|
|
13
|
+
try {
|
|
14
|
+
const declaredSize = Number(response.headers.get("content-length"));
|
|
15
|
+
if (Number.isFinite(declaredSize))
|
|
16
|
+
assertAttachmentSize({ ...input, sizeBytes: declaredSize });
|
|
17
|
+
for (;;) {
|
|
18
|
+
const { value, done } = await reader.read();
|
|
19
|
+
if (done)
|
|
20
|
+
break;
|
|
21
|
+
size += value.byteLength;
|
|
22
|
+
assertAttachmentSize({ ...input, sizeBytes: size });
|
|
23
|
+
chunks.push(value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
await reader.cancel(error);
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
reader.releaseLock();
|
|
32
|
+
}
|
|
33
|
+
return Buffer.concat(chunks, size);
|
|
34
|
+
}
|
|
35
|
+
/** Validate new input before it becomes durable chat or inference history. */
|
|
36
|
+
export async function validatePromptAttachments(attachments, jwt, services) {
|
|
37
|
+
let pdfPages = 0;
|
|
38
|
+
for (const attachment of attachments ?? []) {
|
|
39
|
+
const fileName = resolveAttachmentFileName(attachment);
|
|
40
|
+
try {
|
|
41
|
+
let bytes;
|
|
42
|
+
let mimeType;
|
|
43
|
+
if (attachment.type === "uploaded") {
|
|
44
|
+
const reference = getAttachmentLeaseMetadata(attachment);
|
|
45
|
+
mimeType = reference.mediaType;
|
|
46
|
+
getAttachmentUploadLimit({ fileName, mimeType });
|
|
47
|
+
const scopedToken = attachment.scopeType === "org"
|
|
48
|
+
? ""
|
|
49
|
+
: await getScopedToken({
|
|
50
|
+
applicationId: services.applicationId,
|
|
51
|
+
jwt,
|
|
52
|
+
superblocksBaseUrl: services.superblocksBaseUrl,
|
|
53
|
+
});
|
|
54
|
+
// Only the authorized lease resolver can supply a download URL.
|
|
55
|
+
// Never fetch the caller's url or signedUrl directly.
|
|
56
|
+
const leases = await services.rpcClient.call((client) => client.call.v1.ai.resolveAttachmentLeases({
|
|
57
|
+
attachments: [reference],
|
|
58
|
+
scopedToken,
|
|
59
|
+
superblocksBaseUrl: services.superblocksBaseUrl,
|
|
60
|
+
}));
|
|
61
|
+
const lease = leases?.data?.attachments.find((item) => item.url === reference.url);
|
|
62
|
+
if (!lease?.signedUrl) {
|
|
63
|
+
throw new Error("This upload is unavailable. Attach the file again and retry.");
|
|
64
|
+
}
|
|
65
|
+
bytes = await downloadAttachment(lease.signedUrl, {
|
|
66
|
+
fileName,
|
|
67
|
+
mimeType,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const descriptor = toAttachmentUploadDescriptor({
|
|
72
|
+
...attachment,
|
|
73
|
+
fileName,
|
|
74
|
+
});
|
|
75
|
+
if (!descriptor)
|
|
76
|
+
throw new AttachmentValidationError("unsupported_type");
|
|
77
|
+
mimeType = descriptor.mimeType;
|
|
78
|
+
bytes = new Uint8Array(await descriptor.blob.arrayBuffer());
|
|
79
|
+
}
|
|
80
|
+
const result = await validateAttachmentBytes({
|
|
81
|
+
fileName,
|
|
82
|
+
mimeType,
|
|
83
|
+
bytes,
|
|
84
|
+
});
|
|
85
|
+
pdfPages += result.pdfPages;
|
|
86
|
+
assertAttachmentPdfPages(pdfPages);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const message = error instanceof AttachmentValidationError
|
|
90
|
+
? error.message
|
|
91
|
+
: "This file could not be checked. Attach it again and retry.";
|
|
92
|
+
throw new Error(`"${fileName}": ${message}`, { cause: error });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=validate-prompt-attachments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-prompt-attachments.js","sourceRoot":"","sources":["../../../src/ai-service/attachments/validate-prompt-attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,26 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const CHAT_PUSH_FAILURE_REASONS: readonly ["rpc_error", "timeout"];
|
|
7
7
|
type ChatPushFailureReason = (typeof CHAT_PUSH_FAILURE_REASONS)[number];
|
|
8
|
+
/**
|
|
9
|
+
* Outcome of one abandoned-tool-call reconcile pass (ENG-6785). A process
|
|
10
|
+
* retries after `load_failed` or `push_failed`, so a pod can emit more than
|
|
11
|
+
* one pass.
|
|
12
|
+
*
|
|
13
|
+
* `no_orphans` is the healthy steady state and is emitted deliberately: without
|
|
14
|
+
* it there is no denominator, so a reconcile that silently stopped finding
|
|
15
|
+
* anything would look identical to a fleet that stopped being killed. A rising
|
|
16
|
+
* `reconciled` rate is the pod-churn signal; `load_failed` means the transcript
|
|
17
|
+
* was never read; `push_failed` means a transcript is still claiming a dead
|
|
18
|
+
* tool is running.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CHAT_RECONCILE_OUTCOMES: readonly ["load_failed", "no_orphans", "push_failed", "reconciled"];
|
|
21
|
+
export type ChatReconcileOutcome = (typeof CHAT_RECONCILE_OUTCOMES)[number];
|
|
8
22
|
export declare function recordChatPushFailure(input: {
|
|
9
23
|
reason: ChatPushFailureReason;
|
|
10
24
|
}): void;
|
|
25
|
+
export declare function recordChatAbandonedToolReconcile(input: {
|
|
26
|
+
outcome: ChatReconcileOutcome;
|
|
27
|
+
}): void;
|
|
11
28
|
export declare function _resetChatPushMetricsForTesting(): void;
|
|
12
29
|
export {};
|
|
13
30
|
//# sourceMappingURL=chat-push-metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-push-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-push-metrics.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,mCAAoC,CAAC;AAC3E,KAAK,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-push-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-push-metrics.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,mCAAoC,CAAC;AAC3E,KAAK,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,qEAK1B,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAsE5E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,qBAAqB,CAAC;CAC/B,GAAG,IAAI,CAEP;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,IAAI,CAEP;AAED,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
|
|
@@ -28,10 +28,35 @@ import { metrics } from "@opentelemetry/api";
|
|
|
28
28
|
*/
|
|
29
29
|
export const CHAT_PUSH_FAILURE_REASONS = ["rpc_error", "timeout"];
|
|
30
30
|
const METER_NAME = "superblocks.clark.chat";
|
|
31
|
+
/**
|
|
32
|
+
* Outcome of one abandoned-tool-call reconcile pass (ENG-6785). A process
|
|
33
|
+
* retries after `load_failed` or `push_failed`, so a pod can emit more than
|
|
34
|
+
* one pass.
|
|
35
|
+
*
|
|
36
|
+
* `no_orphans` is the healthy steady state and is emitted deliberately: without
|
|
37
|
+
* it there is no denominator, so a reconcile that silently stopped finding
|
|
38
|
+
* anything would look identical to a fleet that stopped being killed. A rising
|
|
39
|
+
* `reconciled` rate is the pod-churn signal; `load_failed` means the transcript
|
|
40
|
+
* was never read; `push_failed` means a transcript is still claiming a dead
|
|
41
|
+
* tool is running.
|
|
42
|
+
*/
|
|
43
|
+
export const CHAT_RECONCILE_OUTCOMES = [
|
|
44
|
+
"load_failed",
|
|
45
|
+
"no_orphans",
|
|
46
|
+
"push_failed",
|
|
47
|
+
"reconciled",
|
|
48
|
+
];
|
|
31
49
|
const METRIC_PUSH_FAILURES = "superblocks.clark.chat.push_failures";
|
|
50
|
+
const METRIC_RECONCILES = "superblocks.clark.chat.abandoned_tool_reconciles";
|
|
32
51
|
class ChatPushMetrics {
|
|
33
52
|
cachedMeter;
|
|
34
53
|
cachedCounter;
|
|
54
|
+
// Its own meter handle rather than sharing `cachedMeter`: a single shared
|
|
55
|
+
// field lets whichever instrument rebinds first mark the meter as current,
|
|
56
|
+
// so the other one keeps returning a counter still bound to the replaced
|
|
57
|
+
// provider and silently drops every subsequent add.
|
|
58
|
+
cachedReconcileMeter;
|
|
59
|
+
cachedReconcileCounter;
|
|
35
60
|
/**
|
|
36
61
|
* Lazy instrument factory. Re-creates the counter when the global
|
|
37
62
|
* MeterProvider changes (a stale instrument bound to a replaced provider
|
|
@@ -49,19 +74,39 @@ class ChatPushMetrics {
|
|
|
49
74
|
});
|
|
50
75
|
return this.cachedCounter;
|
|
51
76
|
}
|
|
77
|
+
getReconcileCounter() {
|
|
78
|
+
const meter = metrics.getMeter(METER_NAME);
|
|
79
|
+
if (meter === this.cachedReconcileMeter && this.cachedReconcileCounter) {
|
|
80
|
+
return this.cachedReconcileCounter;
|
|
81
|
+
}
|
|
82
|
+
this.cachedReconcileMeter = meter;
|
|
83
|
+
this.cachedReconcileCounter = meter.createCounter(METRIC_RECONCILES, {
|
|
84
|
+
description: "Abandoned-tool-call reconcile passes, by outcome (ENG-6785). Retries after load_failed or push_failed.",
|
|
85
|
+
unit: "{pass}",
|
|
86
|
+
});
|
|
87
|
+
return this.cachedReconcileCounter;
|
|
88
|
+
}
|
|
52
89
|
recordFailure(input) {
|
|
53
90
|
this.getCounter().add(1, { reason: input.reason });
|
|
54
91
|
}
|
|
92
|
+
recordReconcile(input) {
|
|
93
|
+
this.getReconcileCounter().add(1, { outcome: input.outcome });
|
|
94
|
+
}
|
|
55
95
|
/** Drop cached instrument bindings (tests swap the global provider). */
|
|
56
96
|
_resetForTesting() {
|
|
57
97
|
this.cachedMeter = undefined;
|
|
58
98
|
this.cachedCounter = undefined;
|
|
99
|
+
this.cachedReconcileMeter = undefined;
|
|
100
|
+
this.cachedReconcileCounter = undefined;
|
|
59
101
|
}
|
|
60
102
|
}
|
|
61
103
|
const chatPushMetrics = new ChatPushMetrics();
|
|
62
104
|
export function recordChatPushFailure(input) {
|
|
63
105
|
chatPushMetrics.recordFailure(input);
|
|
64
106
|
}
|
|
107
|
+
export function recordChatAbandonedToolReconcile(input) {
|
|
108
|
+
chatPushMetrics.recordReconcile(input);
|
|
109
|
+
}
|
|
65
110
|
export function _resetChatPushMetricsForTesting() {
|
|
66
111
|
chatPushMetrics._resetForTesting();
|
|
67
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-push-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-push-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,WAAW,EAAE,SAAS,CAAU,CAAC;AAG3E,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-push-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-push-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,WAAW,EAAE,SAAS,CAAU,CAAC;AAG3E,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;CACJ,CAAC;AAGX,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;AAEpE,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAI7E,MAAM,eAAe;IACX,WAAW,CAAoB;IAC/B,aAAa,CAAsB;IAC3C,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,oDAAoD;IAC5C,oBAAoB,CAAoB;IACxC,sBAAsB,CAAsB;IAEpD;;;;OAIG;IACK,UAAU;QAChB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;YAC7D,WAAW,EACT,2HAA2H;YAC7H,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,mBAAmB;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;YACnE,WAAW,EACT,wGAAwG;YAC1G,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,KAAwC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,KAAwC;QACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,wEAAwE;IACxE,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,MAAM,UAAU,qBAAqB,CAAC,KAErC;IACC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAEhD;IACC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,eAAe,CAAC,gBAAgB,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -11,6 +11,17 @@ type AiChatSummaryWithOutcome = AiChatSummary & {
|
|
|
11
11
|
};
|
|
12
12
|
export declare function isAiChatMessage(item: AiChatItem): item is AiChatMessage;
|
|
13
13
|
export declare function isAiChatSummary(item: AiChatItem): item is AiChatSummary;
|
|
14
|
+
export declare const INTERRUPTED_TOOL_ERROR = "This step did not report a result because the session restarted.";
|
|
15
|
+
interface AiToolCallRow {
|
|
16
|
+
toolCallId: string;
|
|
17
|
+
toolName: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Tool calls in `messages` that no `tool-result` or `tool-error` row ever
|
|
21
|
+
* answered. Order follows the transcript so the reconcile rows land in the
|
|
22
|
+
* order the calls were made.
|
|
23
|
+
*/
|
|
24
|
+
export declare function findAbandonedToolCalls(messages: readonly AiChatMessage[]): AiToolCallRow[];
|
|
14
25
|
interface TranscriptBudgetConfig {
|
|
15
26
|
maxResidentBytes?: number;
|
|
16
27
|
maxResidentItems?: number;
|
|
@@ -61,6 +72,36 @@ export declare class ChatSessionStore {
|
|
|
61
72
|
private validateChatItemV1;
|
|
62
73
|
private recordTranscriptLoadOutcome;
|
|
63
74
|
private ensureLoadedFromServer;
|
|
75
|
+
private reconcilePass?;
|
|
76
|
+
private readonly ownedToolCallIds;
|
|
77
|
+
/**
|
|
78
|
+
* Write a terminal result for every tool call this session's transcript
|
|
79
|
+
* still records as running (ENG-6785).
|
|
80
|
+
*
|
|
81
|
+
* A tool call persists as its own `type: "tool"` row with
|
|
82
|
+
* `status: "pending"`, and the row that resolves it is appended separately
|
|
83
|
+
* when the call returns. If the runtime dies in between -- an OOM kill, a
|
|
84
|
+
* warm-pool pod replacement, an ai-service restart -- the second row is
|
|
85
|
+
* never written, and every future reader of that transcript sees a tool
|
|
86
|
+
* that is still running. Nothing else in the system ever corrects it: the
|
|
87
|
+
* process that owed the result is gone.
|
|
88
|
+
*
|
|
89
|
+
* Started when a peer first binds, which is the moment a replacement pod
|
|
90
|
+
* can state something no other party knows -- it started empty, so nothing
|
|
91
|
+
* in the transcript it just loaded is executing. Reconnect history loads
|
|
92
|
+
* join this promise via `getMessages({ force: true })` so the open tab
|
|
93
|
+
* sees the durable interrupt. A failed load or push releases the memo so
|
|
94
|
+
* the next bind retries. Calls this process starts are tracked separately
|
|
95
|
+
* and are never written as interrupted.
|
|
96
|
+
*
|
|
97
|
+
* Deliberately not folded into `ensureLoadedFromServer`. Appending from
|
|
98
|
+
* inside the load deadlocks -- `doAppendMessage` awaits the very load it
|
|
99
|
+
* would be running under -- and the 20s `boundedAppendMessage` bound would
|
|
100
|
+
* then fire and invalidate the shared RPC socket out from under every other
|
|
101
|
+
* caller.
|
|
102
|
+
*/
|
|
103
|
+
reconcileAbandonedToolCalls(): Promise<void>;
|
|
104
|
+
private runAbandonedToolCallReconcile;
|
|
64
105
|
getLastUserMessage(): AiChatMessage | undefined;
|
|
65
106
|
getMessages(options?: {
|
|
66
107
|
force?: boolean;
|
|
@@ -95,6 +136,7 @@ export declare class ChatSessionStore {
|
|
|
95
136
|
text: string;
|
|
96
137
|
type: "text" | "reasoning";
|
|
97
138
|
}): void;
|
|
139
|
+
discardTextBlocks(ids: readonly string[]): void;
|
|
98
140
|
commitMessage(id: string, type: "text" | "reasoning", group?: string): Promise<void>;
|
|
99
141
|
recordAssistant(payload: AiChatMessage): Promise<void>;
|
|
100
142
|
recordAssistantChangeInfo(payload: AiChangeInfoPush): Promise<void>;
|
|
@@ -111,6 +153,15 @@ export declare class ChatSessionStore {
|
|
|
111
153
|
setPromptIdProvider(provider: () => string | undefined): void;
|
|
112
154
|
private stampPromptId;
|
|
113
155
|
private appendMessage;
|
|
156
|
+
private noteOwnedToolCall;
|
|
157
|
+
/**
|
|
158
|
+
* Reconcile-authored rows must not stay in the local cache when the RPC
|
|
159
|
+
* does not confirm them: findAbandonedToolCalls would treat the phantom
|
|
160
|
+
* tool-error as a real result and never retry that call.
|
|
161
|
+
*/
|
|
162
|
+
private appendReconcileRow;
|
|
163
|
+
private enqueueAppend;
|
|
164
|
+
private rollbackUnconfirmedAppend;
|
|
114
165
|
/**
|
|
115
166
|
* Resolves when every push queued so far has completed (or failed/timed
|
|
116
167
|
* out). Never rejects. Callers use this to make chat history durable at a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|