@superblocksteam/vite-plugin-file-sync 2.0.83 → 2.0.84-next.1
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 +36 -0
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +202 -1
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +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 +101 -57
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +1 -1
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js +23 -7
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +36 -19
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +11 -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 +95 -54
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +6 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +26 -12
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +30 -10
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.js +6 -2
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +20 -5
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +30 -4
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +14 -4
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -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 +23 -11
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +72 -0
- package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/get-logs.js +343 -0
- package/dist/ai-service/agent/tools/get-logs.js.map +1 -0
- package/dist/ai-service/agent/tools/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/errors.d.ts +9 -0
- package/dist/ai-service/agent/tools/integrations/errors.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/errors.js +35 -0
- package/dist/ai-service/agent/tools/integrations/errors.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +20 -5
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +12 -3
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +19 -28
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +37 -15
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.js +9 -4
- package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +73 -7
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.js +9 -4
- package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +40 -8
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +41 -3
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +0 -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 +60 -54
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +6 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +44 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/facts/helpers.d.ts +9 -0
- package/dist/ai-service/facts/helpers.d.ts.map +1 -0
- package/dist/ai-service/facts/helpers.js +72 -0
- package/dist/ai-service/facts/helpers.js.map +1 -0
- package/dist/ai-service/facts/index.d.ts +4 -0
- package/dist/ai-service/facts/index.d.ts.map +1 -0
- package/dist/ai-service/facts/index.js +3 -0
- package/dist/ai-service/facts/index.js.map +1 -0
- package/dist/ai-service/facts/knowledge-manager.d.ts +51 -0
- package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
- package/dist/ai-service/facts/knowledge-manager.js +202 -0
- package/dist/ai-service/facts/knowledge-manager.js.map +1 -0
- package/dist/ai-service/features.d.ts +8 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +8 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +34 -2
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +112 -18
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.js +4 -2
- package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +6 -3
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +96 -6
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/judge-executor.js +1 -1
- package/dist/ai-service/judge/judge-executor.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +26 -13
- 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/context.d.ts +19 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +64 -1
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts +11 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +5 -0
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
- 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 +42 -6
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +4 -0
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/error.js +1 -1
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
- package/dist/ai-service/llm/stream/config.d.ts +1 -1
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts +20 -0
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +115 -18
- 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 +2 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +4 -4
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.d.ts +111 -14
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.js +441 -66
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +40 -4
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/playwright-server.js +11 -2
- package/dist/ai-service/mcp/playwright-server.js.map +1 -1
- package/dist/ai-service/recording/index.d.ts +25 -0
- package/dist/ai-service/recording/index.d.ts.map +1 -0
- package/dist/ai-service/recording/index.js +27 -0
- package/dist/ai-service/recording/index.js.map +1 -0
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts +35 -0
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/llm-recorder.js +221 -0
- package/dist/ai-service/recording/recorders/llm-recorder.js.map +1 -0
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts +38 -0
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/socket-recorder.js +44 -0
- package/dist/ai-service/recording/recorders/socket-recorder.js.map +1 -0
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts +25 -0
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +1 -0
- package/dist/ai-service/recording/recorders/tool-recorder.js +58 -0
- package/dist/ai-service/recording/recorders/tool-recorder.js.map +1 -0
- package/dist/ai-service/recording/recording-manager.d.ts +104 -0
- package/dist/ai-service/recording/recording-manager.d.ts.map +1 -0
- package/dist/ai-service/recording/recording-manager.js +308 -0
- package/dist/ai-service/recording/recording-manager.js.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts +143 -0
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -0
- package/dist/ai-service/recording/storage/session-recording-storage.js +374 -0
- package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -0
- package/dist/ai-service/recording/types.d.ts +148 -0
- package/dist/ai-service/recording/types.d.ts.map +1 -0
- package/dist/ai-service/recording/types.js +8 -0
- package/dist/ai-service/recording/types.js.map +1 -0
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
- package/dist/ai-service/security/safety-classifier.js +9 -3
- package/dist/ai-service/security/safety-classifier.js.map +1 -1
- package/dist/ai-service/skills/index.d.ts +23 -11
- package/dist/ai-service/skills/index.d.ts.map +1 -1
- package/dist/ai-service/skills/index.js +86 -21
- package/dist/ai-service/skills/index.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts +6 -0
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/_registry.generated.js +24 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +56 -0
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +143 -11
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +130 -3
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +155 -0
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.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 +97 -17
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/types.d.ts +24 -0
- package/dist/ai-service/skills/types.d.ts.map +1 -1
- package/dist/ai-service/skills/types.js +45 -0
- package/dist/ai-service/skills/types.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +33 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +6 -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 +24 -21
- 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 +120 -5
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +23 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +52 -22
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/ids.d.ts +1 -0
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +3 -0
- package/dist/ids.js.map +1 -1
- package/dist/refactor/entities.d.ts.map +1 -1
- package/dist/refactor/entities.js +0 -1
- package/dist/refactor/entities.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +26 -4
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +4 -0
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +6 -0
- package/dist/sync-service/index.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts +42 -0
- package/dist/util/log-sanitizer.d.ts.map +1 -0
- package/dist/util/log-sanitizer.js +177 -0
- package/dist/util/log-sanitizer.js.map +1 -0
- package/dist/util/logger.d.ts +4 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +77 -19
- package/dist/util/logger.js.map +1 -1
- package/package.json +17 -14
- package/dist/ai-service/agent/tools/get-console-logs.d.ts +0 -29
- package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/get-console-logs.js +0 -171
- package/dist/ai-service/agent/tools/get-console-logs.js.map +0 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +0 -2
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +0 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.js +0 -91
- package/dist/ai-service/test-utils/anthropic-service-mock.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -886
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +0 -70
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +0 -3
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +0 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -109
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +0 -1
- package/dist/ai-service/test-utils/mock-utils.d.ts +0 -12
- package/dist/ai-service/test-utils/mock-utils.d.ts.map +0 -1
- package/dist/ai-service/test-utils/mock-utils.js +0 -70
- package/dist/ai-service/test-utils/mock-utils.js.map +0 -1
- package/dist/ai-service/util/safe-stringify.d.ts +0 -2
- package/dist/ai-service/util/safe-stringify.d.ts.map +0 -1
- package/dist/ai-service/util/safe-stringify.js +0 -75
- package/dist/ai-service/util/safe-stringify.js.map +0 -1
|
@@ -1,33 +1,74 @@
|
|
|
1
1
|
import { AiEntityType, AiPermissionType, } from "@superblocksteam/library-shared/types";
|
|
2
2
|
import { isEmpty } from "lodash-es";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
+
import { safeJsonStringify } from "../../../../util/log-sanitizer.js";
|
|
4
5
|
import { getErrorMeta, getLogger, getPrefixedLogger, } from "../../../../util/logger.js";
|
|
5
|
-
import {
|
|
6
|
-
import { createToolFactory, PermissionLevel, ToolCategory, } from "../../tools2/types.js";
|
|
6
|
+
import { createToolFactory, PermissionLevel, ToolCategory, ToolExecutionError, } from "../../tools2/types.js";
|
|
7
7
|
import { codeBlock } from "../../tools2/utils.js";
|
|
8
8
|
import { containsMutations, extractIntegrationIdsFromSource, extractMutations, } from "./analysis.js";
|
|
9
9
|
import { runApiValidationPipeline } from "./api-validation-orchestrator.js";
|
|
10
10
|
import { safeSampleJson } from "./sample-json.js";
|
|
11
|
+
/**
|
|
12
|
+
* Validates testApi inputs before permission check.
|
|
13
|
+
* Throws if validation fails (e.g., mutations detected but no description provided).
|
|
14
|
+
*/
|
|
15
|
+
export const validateTestApiInput = (input = {}, mutations = []) => {
|
|
16
|
+
const hasMutations = mutations?.length > 0;
|
|
17
|
+
const description = input?.description;
|
|
18
|
+
const apiName = input?.apiName;
|
|
19
|
+
if (hasMutations && (!description || description.trim().length === 0)) {
|
|
20
|
+
const mutationsPreview = mutations
|
|
21
|
+
.slice(0, 3)
|
|
22
|
+
.map((m, idx) => {
|
|
23
|
+
const detail = m.details.length > 60 ? `${m.details.slice(0, 60)}...` : m.details;
|
|
24
|
+
return ` ${idx + 1}. ${m.type} "${m.name}": ${detail}`;
|
|
25
|
+
})
|
|
26
|
+
.join("\n");
|
|
27
|
+
throw new Error(`
|
|
28
|
+
The API "${apiName}" contains ${mutations.length} mutation(s) that will modify data, but no description was provided.
|
|
29
|
+
|
|
30
|
+
Mutations detected:
|
|
31
|
+
${mutationsPreview}
|
|
32
|
+
|
|
33
|
+
You MUST provide a 'description' parameter that explains in plain English what data will be modified and why.
|
|
34
|
+
|
|
35
|
+
Example call:
|
|
36
|
+
testApi({
|
|
37
|
+
apiName: "${apiName}",
|
|
38
|
+
inputs: {...},
|
|
39
|
+
description: "Creates a users table with columns for id, name, email, and created_at timestamp"
|
|
40
|
+
})`.trim());
|
|
41
|
+
}
|
|
42
|
+
};
|
|
11
43
|
export const checkTestApiPermissions = async (services, input) => {
|
|
12
44
|
// we are building our initial set of tools, we don't have any permissions yet
|
|
13
45
|
if (!input || isEmpty(input)) {
|
|
14
46
|
return PermissionLevel.PROMPT;
|
|
15
47
|
}
|
|
16
48
|
if (!input.apiName) {
|
|
17
|
-
throw new
|
|
49
|
+
throw new ToolExecutionError("API name is required", {
|
|
50
|
+
toolName: "testApi",
|
|
51
|
+
input: input ?? {},
|
|
52
|
+
context: {},
|
|
53
|
+
severity: "warn",
|
|
54
|
+
});
|
|
18
55
|
}
|
|
56
|
+
let mutations = [];
|
|
19
57
|
try {
|
|
20
58
|
const apiTsPath = `apis/${input.apiName}.ts`;
|
|
21
59
|
const apiSourceContent = await services.appShell.readFile(apiTsPath);
|
|
22
|
-
|
|
23
|
-
return mutations.length > 0
|
|
24
|
-
? PermissionLevel.PROMPT
|
|
25
|
-
: PermissionLevel.ALLOW;
|
|
60
|
+
mutations = extractMutations(apiSourceContent);
|
|
26
61
|
}
|
|
27
62
|
catch {
|
|
28
63
|
getLogger().error(`[testApi] Failed to read API source, fall back to PROMPT: ${input.apiName}`);
|
|
64
|
+
validateTestApiInput(input, mutations);
|
|
29
65
|
return PermissionLevel.PROMPT;
|
|
30
66
|
}
|
|
67
|
+
if (mutations.length > 0) {
|
|
68
|
+
validateTestApiInput(input, mutations);
|
|
69
|
+
return PermissionLevel.PROMPT;
|
|
70
|
+
}
|
|
71
|
+
return PermissionLevel.ALLOW;
|
|
31
72
|
};
|
|
32
73
|
export const testApiToolFactory = createToolFactory("testApi", ({ clark, services, }) => {
|
|
33
74
|
return {
|
|
@@ -84,6 +125,15 @@ The description will be shown to the user in an approval prompt, so it must be c
|
|
|
84
125
|
summary: `Ok if I test ${apiName}?`,
|
|
85
126
|
};
|
|
86
127
|
},
|
|
128
|
+
onCall: (params) => {
|
|
129
|
+
// Mark the API as no longer untested immediately when the tool is called,
|
|
130
|
+
// even if execution is later blocked by permission checks.
|
|
131
|
+
// This prevents build_debug from erroneously reporting it as untested
|
|
132
|
+
// when the user was already asked about testing.
|
|
133
|
+
if (params.apiName) {
|
|
134
|
+
clark.context.apiTestingState?.untested.delete(params.apiName);
|
|
135
|
+
}
|
|
136
|
+
},
|
|
87
137
|
getRequiredPermissions: async (params) => {
|
|
88
138
|
const { apiName } = params;
|
|
89
139
|
if (!apiName) {
|
|
@@ -110,51 +160,9 @@ The description will be shown to the user in an approval prompt, so it must be c
|
|
|
110
160
|
return [];
|
|
111
161
|
}
|
|
112
162
|
},
|
|
113
|
-
execute: async ({ apiName, inputs,
|
|
163
|
+
execute: async ({ apiName, inputs, omitStepOutputs, timeout }) => {
|
|
114
164
|
const logger = getPrefixedLogger(`[testApi-${apiName}]`);
|
|
115
|
-
const apiTsPath = `apis/${apiName}.ts`;
|
|
116
|
-
let apiSourceContent;
|
|
117
|
-
try {
|
|
118
|
-
apiSourceContent = await services.appShell.readFile(apiTsPath);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
throw new Error(`API source for ${apiName} not found. Ensure the API has been created with writeApi first.`);
|
|
122
|
-
}
|
|
123
|
-
let mutations = [];
|
|
124
|
-
try {
|
|
125
|
-
mutations = extractMutations(apiSourceContent);
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
mutations = [];
|
|
129
|
-
}
|
|
130
|
-
const hasMutations = mutations.length > 0;
|
|
131
|
-
if (hasMutations && (!description || description.trim().length === 0)) {
|
|
132
|
-
const mutationsPreview = mutations
|
|
133
|
-
.slice(0, 3)
|
|
134
|
-
.map((m, idx) => {
|
|
135
|
-
const detail = m.details.length > 60
|
|
136
|
-
? `${m.details.slice(0, 60)}...`
|
|
137
|
-
: m.details;
|
|
138
|
-
return ` ${idx + 1}. ${m.type} "${m.name}": ${detail}`;
|
|
139
|
-
})
|
|
140
|
-
.join("\n");
|
|
141
|
-
throw new Error(`
|
|
142
|
-
The API "${apiName}" contains ${mutations.length} mutation(s) that will modify data, but no description was provided.
|
|
143
|
-
|
|
144
|
-
Mutations detected:
|
|
145
|
-
${mutationsPreview}
|
|
146
|
-
|
|
147
|
-
You MUST provide a 'description' parameter that explains in plain English what data will be modified and why.
|
|
148
|
-
|
|
149
|
-
Example call:
|
|
150
|
-
testApi({
|
|
151
|
-
apiName: "${apiName}",
|
|
152
|
-
inputs: {...},
|
|
153
|
-
description: "Creates a users table with columns for id, name, email, and created_at timestamp"
|
|
154
|
-
})`.trim());
|
|
155
|
-
}
|
|
156
165
|
logger.info(`Executing API ${apiName} with inputs:`, safeJsonStringify(inputs));
|
|
157
|
-
clark.context.untestedApis?.delete(apiName);
|
|
158
166
|
try {
|
|
159
167
|
const result = (await runApiValidationPipeline({
|
|
160
168
|
clark,
|
|
@@ -173,8 +181,30 @@ testApi({
|
|
|
173
181
|
if (!result.success) {
|
|
174
182
|
// log technical error details
|
|
175
183
|
logger.warn(`api execution returned errors for ${apiName}:`, result);
|
|
184
|
+
// Track the failed test (lazily initialize state so pre-existing APIs are tracked too)
|
|
185
|
+
clark.context.apiTestingState ??= {
|
|
186
|
+
untested: new Set(),
|
|
187
|
+
failed: new Set(),
|
|
188
|
+
passed: new Set(),
|
|
189
|
+
};
|
|
190
|
+
clark.context.apiTestingState.failed.add(apiName);
|
|
191
|
+
clark.context.apiTestingState.passed.delete(apiName);
|
|
192
|
+
// Build a helpful message that includes error details so the model doesn't need to read the API file
|
|
193
|
+
const errors = result.errors ?? [];
|
|
194
|
+
const errorSummary = errors
|
|
195
|
+
.map((e) => {
|
|
196
|
+
const parts = [e.message];
|
|
197
|
+
if (e.suggestion) {
|
|
198
|
+
parts.push(`Suggestion: ${e.suggestion}`);
|
|
199
|
+
}
|
|
200
|
+
return parts.join("\n");
|
|
201
|
+
})
|
|
202
|
+
.join("\n\n");
|
|
176
203
|
return {
|
|
177
|
-
message: `API ${apiName} executed with unhandled errors
|
|
204
|
+
message: `API ${apiName} executed with unhandled errors. The error details are included in the result below - analyze them to understand and fix the issue.
|
|
205
|
+
|
|
206
|
+
Error summary:
|
|
207
|
+
${errorSummary || "No specific error details available."}`,
|
|
178
208
|
result,
|
|
179
209
|
apiName,
|
|
180
210
|
};
|
|
@@ -191,6 +221,14 @@ testApi({
|
|
|
191
221
|
};
|
|
192
222
|
}
|
|
193
223
|
}
|
|
224
|
+
// Track the successful test (lazily initialize state so pre-existing APIs are tracked too)
|
|
225
|
+
clark.context.apiTestingState ??= {
|
|
226
|
+
untested: new Set(),
|
|
227
|
+
failed: new Set(),
|
|
228
|
+
passed: new Set(),
|
|
229
|
+
};
|
|
230
|
+
clark.context.apiTestingState.passed.add(apiName);
|
|
231
|
+
clark.context.apiTestingState.failed.delete(apiName);
|
|
194
232
|
return {
|
|
195
233
|
message: `API ${apiName} executed successfully. Check for handled errors and output sample ("outputs") that may reveal issues.
|
|
196
234
|
If the API is meant to be run off a useEffect, call build_reloadFile to reload the appropriate file to propagate the changes to the UI.`,
|
|
@@ -203,12 +241,15 @@ If the API is meant to be run off a useEffect, call build_reloadFile to reload t
|
|
|
203
241
|
};
|
|
204
242
|
}
|
|
205
243
|
catch (error) {
|
|
206
|
-
logger.
|
|
244
|
+
logger.warn(`API execution failed for ${apiName}:`, getErrorMeta(error));
|
|
245
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
207
246
|
return {
|
|
208
|
-
message: `API execution failed for ${apiName}
|
|
247
|
+
message: `API execution failed for ${apiName}. The error details are included in the result below - analyze them to understand and fix the issue.
|
|
248
|
+
|
|
249
|
+
Error: ${errorMessage}`,
|
|
209
250
|
result: {
|
|
210
251
|
success: false,
|
|
211
|
-
systemError:
|
|
252
|
+
systemError: errorMessage,
|
|
212
253
|
},
|
|
213
254
|
apiName,
|
|
214
255
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/test-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/test-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Clark } from "../../state-machine/clark-fsm.js";
|
|
2
2
|
export declare const buildCaptureScreenshotToolFactory: import("../tools2/types.js").ToolFactory<{
|
|
3
3
|
clark: Clark;
|
|
4
|
-
}, import("../tools2/types.js").Tool<{
|
|
4
|
+
}, import("../tools2/types.js").Tool<{
|
|
5
|
+
selector?: string | undefined;
|
|
6
|
+
}, {
|
|
5
7
|
dataUrl: string;
|
|
6
8
|
message: string;
|
|
7
9
|
}>>;
|
|
@@ -35,6 +37,9 @@ type ScreenshotModelOutput = {
|
|
|
35
37
|
} | {
|
|
36
38
|
type: "text";
|
|
37
39
|
value: string;
|
|
40
|
+
} | {
|
|
41
|
+
type: "error-text";
|
|
42
|
+
value: string;
|
|
38
43
|
};
|
|
39
44
|
export declare function screenshotToModelOutput(output: {
|
|
40
45
|
dataUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-capture-screenshot.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,eAAO,MAAM,iCAAiC;WAEvB,KAAK
|
|
1
|
+
{"version":3,"file":"build-capture-screenshot.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,eAAO,MAAM,iCAAiC;WAEvB,KAAK;;;;;;GAiG3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EACjE,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CA0BrB;AAED;;;;;;GAMG;AACH,KAAK,qBAAqB,GACtB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,qBAAqB,EACpD,QAAQ,EAAE,MAAM,GACf,qBAAqB,CAmFvB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
|
+
import { safeJsonStringify } from "../../../util/log-sanitizer.js";
|
|
2
3
|
import { getErrorMeta, getPrefixedLogger } from "../../../util/logger.js";
|
|
3
|
-
import { safeJsonStringify } from "../../util/safe-stringify.js";
|
|
4
4
|
import { createToolFactory, ToolCategory, PermissionLevel, } from "../tools2/types.js";
|
|
5
5
|
export const buildCaptureScreenshotToolFactory = createToolFactory("build_captureScreenshot", ({ clark }) => {
|
|
6
6
|
return {
|
|
@@ -15,15 +15,25 @@ export const buildCaptureScreenshotToolFactory = createToolFactory("build_captur
|
|
|
15
15
|
|
|
16
16
|
Be thorough in your visual verification.
|
|
17
17
|
|
|
18
|
+
Do NOT take multiple selector-based screenshots to inspect different parts of the same page unless you need element-level detail.
|
|
19
|
+
Use a CSS selector only when the user asks to focus on a specific element, or when a full-page screenshot is unreadable and one targeted follow-up is necessary.
|
|
20
|
+
If the selector doesn't match any element or the matched element has no visible dimensions, an error is returned.
|
|
21
|
+
|
|
18
22
|
**LIMITATIONS:**
|
|
19
23
|
- This tool only captures the currently visible page/route in the app preview
|
|
20
24
|
- You CANNOT navigate to different pages or routes to take screenshots - you can only see what's currently displayed
|
|
21
25
|
- This is a read-only tool: you cannot interact with, click, or modify the UI through this tool
|
|
26
|
+
- Very tall or wide pages (>8000px in either dimension) will be automatically scaled down to fit within model limits
|
|
22
27
|
`,
|
|
23
|
-
inputSchema: z.object({
|
|
24
|
-
|
|
28
|
+
inputSchema: z.object({
|
|
29
|
+
selector: z
|
|
30
|
+
.string()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe("Optional CSS selector to capture a specific element (e.g. '#my-component', '.sidebar', '[data-testid=\"header\"]'). If omitted, captures the full page. Prefer omitting this and taking one full-page screenshot first; use selector only for explicit, narrow follow-up checks."),
|
|
33
|
+
}),
|
|
34
|
+
execute: async ({ selector }) => {
|
|
25
35
|
const logger = clark.logger;
|
|
26
|
-
logger.info(`[build_captureScreenshot] Starting screenshot capture`);
|
|
36
|
+
logger.info(`[build_captureScreenshot] Starting screenshot capture${selector ? ` (selector: "${selector}")` : ""}`);
|
|
27
37
|
if (!clark.context.peer) {
|
|
28
38
|
const error = "Editor client not available - cannot capture screenshot";
|
|
29
39
|
logger.error(`[build_captureScreenshot] ${error}`);
|
|
@@ -32,7 +42,7 @@ export const buildCaptureScreenshotToolFactory = createToolFactory("build_captur
|
|
|
32
42
|
logger.info(`[build_captureScreenshot] Editor client available, sending capture request...`);
|
|
33
43
|
try {
|
|
34
44
|
const requestStartTime = Date.now();
|
|
35
|
-
const response = await clark.context.peer.call.aiCaptureScreenshot();
|
|
45
|
+
const response = await clark.context.peer.call.aiCaptureScreenshot(selector ? { selector } : undefined);
|
|
36
46
|
const requestDuration = Date.now() - requestStartTime;
|
|
37
47
|
logger.info(`[build_captureScreenshot] Received RPC response after ${requestDuration}ms`);
|
|
38
48
|
const { dataUrl } = validateScreenshotResponse(response, "build_captureScreenshot");
|
|
@@ -44,7 +54,8 @@ If the screenshot is blank, check error logs. If there is nothing reported, cons
|
|
|
44
54
|
};
|
|
45
55
|
}
|
|
46
56
|
catch (error) {
|
|
47
|
-
|
|
57
|
+
const errorMeta = getErrorMeta(error);
|
|
58
|
+
logger.error(`[build_captureScreenshot] Error capturing screenshot: ${errorMeta.error.message}`, errorMeta);
|
|
48
59
|
throw error;
|
|
49
60
|
}
|
|
50
61
|
},
|
|
@@ -90,17 +101,20 @@ export function validateScreenshotResponse(response, toolName) {
|
|
|
90
101
|
export function screenshotToModelOutput(output, toolName) {
|
|
91
102
|
const logger = getPrefixedLogger(`[${toolName}]`);
|
|
92
103
|
if (!output || typeof output !== "object") {
|
|
93
|
-
logger.
|
|
104
|
+
logger.debug(`output is missing or invalid. Output: ${safeJsonStringify(output)}`);
|
|
94
105
|
return {
|
|
95
106
|
type: "text",
|
|
96
107
|
value: "Screenshot captured but output is missing or invalid",
|
|
97
108
|
};
|
|
98
109
|
}
|
|
110
|
+
if ("type" in output && output.type === "error-text") {
|
|
111
|
+
return output;
|
|
112
|
+
}
|
|
99
113
|
if ("dataUrl" in output && output.dataUrl !== undefined) {
|
|
100
114
|
// Extract base64 data from data URL
|
|
101
115
|
const dataUrl = output.dataUrl;
|
|
102
116
|
if (typeof dataUrl !== "string") {
|
|
103
|
-
logger.
|
|
117
|
+
logger.debug(`dataUrl is missing or invalid. Output: ${safeJsonStringify(output)}`);
|
|
104
118
|
return {
|
|
105
119
|
type: "text",
|
|
106
120
|
value: "Screenshot captured but data URL is missing or invalid",
|
|
@@ -108,7 +122,7 @@ export function screenshotToModelOutput(output, toolName) {
|
|
|
108
122
|
}
|
|
109
123
|
const parts = dataUrl.split(",");
|
|
110
124
|
if (parts.length < 2) {
|
|
111
|
-
logger.
|
|
125
|
+
logger.debug(`data URL format is unexpected. dataUrl length: ${dataUrl.length}`);
|
|
112
126
|
// Fallback if data URL format is unexpected
|
|
113
127
|
return {
|
|
114
128
|
type: "text",
|
|
@@ -117,7 +131,7 @@ export function screenshotToModelOutput(output, toolName) {
|
|
|
117
131
|
}
|
|
118
132
|
const [header, base64Data] = parts;
|
|
119
133
|
if (!base64Data) {
|
|
120
|
-
logger.
|
|
134
|
+
logger.debug(`base64 data is missing after split. Header: ${header}`);
|
|
121
135
|
return {
|
|
122
136
|
type: "text",
|
|
123
137
|
value: "Screenshot captured (base64 data missing)",
|
|
@@ -125,7 +139,7 @@ export function screenshotToModelOutput(output, toolName) {
|
|
|
125
139
|
}
|
|
126
140
|
const mediaTypeMatch = header?.match(/data:([^;]+)/);
|
|
127
141
|
const mediaType = mediaTypeMatch?.[1] || "image/png";
|
|
128
|
-
logger.
|
|
142
|
+
logger.debug(`Successfully converted to content type with media (type: ${mediaType}, data length: ${base64Data.length})`);
|
|
129
143
|
return {
|
|
130
144
|
type: "content",
|
|
131
145
|
value: [
|
|
@@ -141,7 +155,7 @@ export function screenshotToModelOutput(output, toolName) {
|
|
|
141
155
|
(output.type === "content" || output.type === "text")) {
|
|
142
156
|
return output;
|
|
143
157
|
}
|
|
144
|
-
logger.
|
|
158
|
+
logger.debug(`output.type is missing or invalid. Output: ${safeJsonStringify(output)}`);
|
|
145
159
|
return {
|
|
146
160
|
type: "text",
|
|
147
161
|
value: "Output is missing or invalid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-capture-screenshot.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build-capture-screenshot.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-debug.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;WAMvB,KAAK;cACF,uBAAuB;
|
|
1
|
+
{"version":3,"file":"build-debug.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;WAMvB,KAAK;cACF,uBAAuB;yFAuPpC,CAAC"}
|
|
@@ -24,16 +24,6 @@ export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark,
|
|
|
24
24
|
const now = Date.now();
|
|
25
25
|
const STALE_ERROR_THRESHOLD = 2 * 60 * 1000;
|
|
26
26
|
const RECENT_MODIFICATION_THRESHOLD = 5 * 1000; // 5 seconds
|
|
27
|
-
// check for untested apis
|
|
28
|
-
if (clark.context.untestedApis?.size) {
|
|
29
|
-
const error = [];
|
|
30
|
-
error.push(`${clark.context.untestedApis.size} API(s) have not been tested yet:`);
|
|
31
|
-
for (const apiName of clark.context.untestedApis) {
|
|
32
|
-
error.push(` - ${apiName}`);
|
|
33
|
-
}
|
|
34
|
-
error.push("", "Ensure these APIs are tested to avoid potential runtime issues.");
|
|
35
|
-
throw new Error(error.join("\n"));
|
|
36
|
-
}
|
|
37
27
|
// Check if files were recently modified
|
|
38
28
|
const lastModTime = clark.context.lastFileModificationTime || 0;
|
|
39
29
|
const timeSinceLastModification = now - lastModTime;
|
|
@@ -109,6 +99,14 @@ export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark,
|
|
|
109
99
|
const disappeared = errorTracker.getUnresolvedDisappearances(currentErrorKeys);
|
|
110
100
|
// Add warnings about disappeared errors to result
|
|
111
101
|
const warnings = [];
|
|
102
|
+
// Warn about failed API builds that haven't been rebuilt
|
|
103
|
+
if (clark.context.failedApiBuilds?.size) {
|
|
104
|
+
warnings.push(`${clark.context.failedApiBuilds.size} API build(s) have failed and not been rebuilt:`);
|
|
105
|
+
for (const apiName of clark.context.failedApiBuilds) {
|
|
106
|
+
warnings.push(` - ${apiName}`);
|
|
107
|
+
}
|
|
108
|
+
warnings.push("", "These APIs must be successfully rebuilt before you can finalize.");
|
|
109
|
+
}
|
|
112
110
|
if (disappeared.length > 0) {
|
|
113
111
|
warnings.push(`${disappeared.length} runtime error(s) that were seen earlier are no longer appearing:`);
|
|
114
112
|
for (const hist of disappeared) {
|
|
@@ -116,6 +114,27 @@ export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark,
|
|
|
116
114
|
}
|
|
117
115
|
warnings.push("", "These errors may not have been fixed - they might only be hidden because:", " - Component is rendering with different data now", " - Error boundary recovered", " - Component is in a different state", "", "Verify these errors are actually fixed by:", " 1. Reviewing code that accesses these properties", " 2. Adding optional chaining (?.) and fallback values", " 3. Testing with null/undefined data states");
|
|
118
116
|
}
|
|
117
|
+
// Block finalization if any APIs have not been tested
|
|
118
|
+
const untestedApis = clark.context.apiTestingState?.untested;
|
|
119
|
+
if (untestedApis?.size) {
|
|
120
|
+
const untestedList = Array.from(untestedApis)
|
|
121
|
+
.map((api) => ` - ${api}`)
|
|
122
|
+
.join("\n");
|
|
123
|
+
throw new Error(`${untestedApis.size} API(s) have not been tested yet:\n${untestedList}\n\n` +
|
|
124
|
+
"You must call testApi for each untested API before finalizing.");
|
|
125
|
+
}
|
|
126
|
+
// Add warning about failed API tests
|
|
127
|
+
const failedApiTests = clark.context.apiTestingState?.failed;
|
|
128
|
+
if (failedApiTests?.size) {
|
|
129
|
+
if (warnings.length > 0) {
|
|
130
|
+
warnings.push(""); // Add spacing between warning sections
|
|
131
|
+
}
|
|
132
|
+
warnings.push(`WARNING: ${failedApiTests.size} API test(s) failed:`);
|
|
133
|
+
for (const apiName of failedApiTests) {
|
|
134
|
+
warnings.push(` - ${apiName}`);
|
|
135
|
+
}
|
|
136
|
+
warnings.push("", "These failures may indicate bugs in your changes. Review the test output and fix any issues before finalizing.");
|
|
137
|
+
}
|
|
119
138
|
// Only mark as resolved on a clean run: no runtime errors and no disappearances
|
|
120
139
|
if ((result.runtimeErrors?.length ?? 0) === 0 &&
|
|
121
140
|
disappeared.length === 0) {
|
|
@@ -125,6 +144,7 @@ export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark,
|
|
|
125
144
|
clark.updateContext({
|
|
126
145
|
debugToolCalled: true,
|
|
127
146
|
lastDebugTimestamp: result.timestamp,
|
|
147
|
+
lastDebugHadTypeErrors: Boolean(effectiveResult.typeErrors),
|
|
128
148
|
});
|
|
129
149
|
// Return result with warnings if applicable
|
|
130
150
|
if (warnings.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-debug.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,UAAU,EACV,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAI1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CACpD,aAAa,EACb,CAAC,EACC,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,OAAO;QAC9B,WAAW,EAAE;;;;;;;;;KASd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC5C,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;YAE5D,
|
|
1
|
+
{"version":3,"file":"build-debug.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-delete-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAoBhF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GAAU,QAAQ;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,eAAe,CAgC1B,CAAC;AAEF,eAAO,MAAM,0BAA0B;WAM5B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"build-delete-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAoBhF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GAAU,QAAQ;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAG,OAAO,CAAC,eAAe,CAgC1B,CAAC;AAEF,eAAO,MAAM,0BAA0B;WAM5B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;;;;GA6KtD,CAAC"}
|
|
@@ -166,9 +166,13 @@ export const buildDeleteFileToolFactory = createToolFactory("build_deleteFile",
|
|
|
166
166
|
// Check if this is an API (for updating untestedApis context)
|
|
167
167
|
const apiPathParams = parseGeneratedApiPath(filePath);
|
|
168
168
|
await services.appShell.deleteFile(filePath);
|
|
169
|
-
// Clear from
|
|
169
|
+
// Clear from API testing state and failed builds if it was an API
|
|
170
170
|
if (apiPathParams) {
|
|
171
|
-
|
|
171
|
+
const { apiName } = apiPathParams;
|
|
172
|
+
clark.context.apiTestingState?.untested.delete(apiName);
|
|
173
|
+
clark.context.apiTestingState?.failed.delete(apiName);
|
|
174
|
+
clark.context.apiTestingState?.passed.delete(apiName);
|
|
175
|
+
clark.context.failedApiBuilds?.delete(apiName);
|
|
172
176
|
}
|
|
173
177
|
// Invalidate TypeScript cache
|
|
174
178
|
debugCache.invalidateTypeScript();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-delete-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build-delete-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-edit-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-edit-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-edit-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-edit-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAqChF,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,cAAc,EAAE,QAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAkCjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAyGjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,QAkD1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,QA6BzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QA8CtC,CAAC;AAwCF,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,GACjB,MAAM,CA2CR;AAED,eAAO,MAAM,wBAAwB;WAM1B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;GAkKtD,CAAC"}
|