@superblocksteam/vite-plugin-file-sync 2.0.82 → 2.0.83-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 +65 -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 +3 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +12 -8
- 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/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 +50 -0
- package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
- package/dist/ai-service/facts/knowledge-manager.js +195 -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 +17 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +54 -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/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 +21 -3
- 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,14 +1,12 @@
|
|
|
1
|
-
import { readFile, readdir, stat } from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
1
|
import { getLogger } from "../../../../util/logger.js";
|
|
4
|
-
import {
|
|
2
|
+
import { getSystemSkillContent, parseSkillPath, isSkillPath, SkillLayer, SKILL_PATH_PREFIXES, } from "../../../skills/index.js";
|
|
3
|
+
import { SYSTEM_SKILLS } from "../../../skills/system/_registry.generated.js";
|
|
5
4
|
export class SkillFileHandler {
|
|
6
5
|
type = "skill";
|
|
7
6
|
logger = getLogger();
|
|
8
|
-
systemSkillsDir;
|
|
9
7
|
constructor() {
|
|
10
8
|
this.logger.info(`[Skills] SkillFileHandler initialized`);
|
|
11
|
-
this.
|
|
9
|
+
this.logger.info(`[Skills] Loaded ${Object.keys(SYSTEM_SKILLS).length} system skill files`);
|
|
12
10
|
}
|
|
13
11
|
// --- Path Checking Helpers ---
|
|
14
12
|
/**
|
|
@@ -199,74 +197,82 @@ export class SkillFileHandler {
|
|
|
199
197
|
}));
|
|
200
198
|
}
|
|
201
199
|
// --- System Skills (Track 1: bundled in package, read-only) ---
|
|
202
|
-
|
|
200
|
+
readSystemSkill(virtualPath) {
|
|
201
|
+
// Convert virtual path to registry key
|
|
202
|
+
// virtualPath: "skills/system/superblocks-frontend/SKILL.md"
|
|
203
|
+
// registryKey: "superblocks-frontend/SKILL.md"
|
|
203
204
|
const relativePath = virtualPath.slice(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM].length);
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
this.logger.info(`[Skills] Successfully read system skill from: ${physicalPath}`);
|
|
209
|
-
return content;
|
|
205
|
+
this.logger.info(`[Skills] readSystemSkill: virtualPath=${virtualPath}, relativePath=${relativePath}`);
|
|
206
|
+
const content = getSystemSkillContent(relativePath);
|
|
207
|
+
if (content) {
|
|
208
|
+
this.logger.info(`[Skills] Successfully loaded system skill: ${relativePath} (${content.length} chars)`);
|
|
210
209
|
}
|
|
211
|
-
|
|
212
|
-
this.logger.info(`[Skills]
|
|
213
|
-
return undefined;
|
|
210
|
+
else {
|
|
211
|
+
this.logger.info(`[Skills] System skill not found: ${relativePath}`);
|
|
214
212
|
}
|
|
213
|
+
return content;
|
|
215
214
|
}
|
|
216
|
-
|
|
215
|
+
getSystemSkillMetadata(virtualPath) {
|
|
217
216
|
const relativePath = virtualPath.slice(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM].length);
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
const stats = await stat(physicalPath);
|
|
221
|
-
return {
|
|
222
|
-
path: virtualPath,
|
|
223
|
-
size: stats.size,
|
|
224
|
-
mtime: stats.mtime,
|
|
225
|
-
isDirectory: stats.isDirectory(),
|
|
226
|
-
isFile: stats.isFile(),
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
217
|
+
const content = getSystemSkillContent(relativePath);
|
|
218
|
+
if (!content) {
|
|
230
219
|
return undefined;
|
|
231
220
|
}
|
|
221
|
+
return {
|
|
222
|
+
path: virtualPath,
|
|
223
|
+
size: content.length,
|
|
224
|
+
mtime: new Date(), // No real mtime for bundled content
|
|
225
|
+
isDirectory: false,
|
|
226
|
+
isFile: true,
|
|
227
|
+
};
|
|
232
228
|
}
|
|
233
|
-
|
|
229
|
+
listSystemSkills(virtualPath) {
|
|
234
230
|
const entries = [];
|
|
235
|
-
// Determine the
|
|
236
|
-
let
|
|
231
|
+
// Determine the prefix to filter by
|
|
232
|
+
let filterPrefix = "";
|
|
237
233
|
if (virtualPath.startsWith(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM])) {
|
|
238
|
-
|
|
234
|
+
filterPrefix = virtualPath.slice(SKILL_PATH_PREFIXES[SkillLayer.SYSTEM].length);
|
|
239
235
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
236
|
+
// Track directories we've seen to avoid duplicates
|
|
237
|
+
const seenDirs = new Set();
|
|
238
|
+
for (const [key, rawContent] of Object.entries(SYSTEM_SKILLS)) {
|
|
239
|
+
const content = rawContent;
|
|
240
|
+
// Check if this file matches the filter
|
|
241
|
+
if (filterPrefix && !key.startsWith(filterPrefix)) {
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
// Get the path relative to the filter
|
|
245
|
+
const relativePath = filterPrefix
|
|
246
|
+
? key.slice(filterPrefix.length).replace(/^\//, "")
|
|
247
|
+
: key;
|
|
248
|
+
// Check if this is a direct child or in a subdirectory
|
|
249
|
+
const parts = relativePath.split("/");
|
|
250
|
+
if (parts.length === 1) {
|
|
251
|
+
// Direct file
|
|
252
|
+
const itemVirtualPath = `${SKILL_PATH_PREFIXES[SkillLayer.SYSTEM]}${key}`;
|
|
253
|
+
entries.push({
|
|
254
|
+
path: itemVirtualPath,
|
|
255
|
+
type: "file",
|
|
256
|
+
readOnly: true,
|
|
257
|
+
size: content.length,
|
|
258
|
+
mtime: new Date(),
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
// In a subdirectory - add the directory if not seen
|
|
263
|
+
const dirName = parts[0]; // Safe: parts.length > 1 guaranteed here
|
|
264
|
+
const dirKey = filterPrefix ? `${filterPrefix}/${dirName}` : dirName;
|
|
265
|
+
if (!seenDirs.has(dirKey)) {
|
|
266
|
+
seenDirs.add(dirKey);
|
|
267
|
+
const itemVirtualPath = `${SKILL_PATH_PREFIXES[SkillLayer.SYSTEM]}${dirKey}`;
|
|
248
268
|
entries.push({
|
|
249
269
|
path: itemVirtualPath,
|
|
250
270
|
type: "directory",
|
|
251
271
|
readOnly: true,
|
|
252
272
|
});
|
|
253
273
|
}
|
|
254
|
-
else if (item.name.endsWith(".md")) {
|
|
255
|
-
const physicalPath = path.join(physicalDir, item.name);
|
|
256
|
-
const stats = await stat(physicalPath);
|
|
257
|
-
entries.push({
|
|
258
|
-
path: itemVirtualPath,
|
|
259
|
-
type: "file",
|
|
260
|
-
readOnly: true,
|
|
261
|
-
size: stats.size,
|
|
262
|
-
mtime: stats.mtime,
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
274
|
}
|
|
266
275
|
}
|
|
267
|
-
catch {
|
|
268
|
-
this.logger.debug(`[SkillFileHandler] Failed to list system skills: ${physicalDir}`);
|
|
269
|
-
}
|
|
270
276
|
return entries;
|
|
271
277
|
}
|
|
272
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-handler.js","sourceRoot":"","sources":["../../../../../src/ai-service/app-interface/filesystem/handlers/skill-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skill-handler.js","sourceRoot":"","sources":["../../../../../src/ai-service/app-interface/filesystem/handlers/skill-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,12 @@ export declare class ChatSessionStore {
|
|
|
49
49
|
getMessages(options?: {
|
|
50
50
|
force?: boolean;
|
|
51
51
|
}): Promise<AiChatMessage[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Get the most recent commitId from draftCommitted or commitRestored messages.
|
|
54
|
+
* Waits for messages to load from server first.
|
|
55
|
+
* Returns undefined if no commits found.
|
|
56
|
+
*/
|
|
57
|
+
getLatestCommitId(): Promise<string | undefined>;
|
|
52
58
|
newChat(): Promise<void>;
|
|
53
59
|
truncateAfterTimestamp(sinceTimestamp: number): Promise<void>;
|
|
54
60
|
recordUser(text: string, options?: {
|
|
@@ -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,EAIL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAOlB,KAAK,UAAU,EAUhB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;AAEvD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,aAAa,CAEvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,aAAa,CAEvE;AAkBD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,UAAU,sBAAsB;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,sBAAsB,CAAmB;IACjD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,sBAAsB;IAY1C;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAyE3B,OAAO,CAAC,qBAAqB;
|
|
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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"}
|
|
@@ -408,6 +408,17 @@ let ChatSessionStore = (() => {
|
|
|
408
408
|
reason: typeof msg.reason === "string" ? msg.reason : undefined,
|
|
409
409
|
};
|
|
410
410
|
}
|
|
411
|
+
else if (msg.type === "knowledge") {
|
|
412
|
+
return {
|
|
413
|
+
role: msg.role,
|
|
414
|
+
content: msg.content,
|
|
415
|
+
type: "knowledge",
|
|
416
|
+
id: typeof msg.id === "string" ? msg.id : undefined,
|
|
417
|
+
timestamp,
|
|
418
|
+
status,
|
|
419
|
+
facts: msg.facts,
|
|
420
|
+
};
|
|
421
|
+
}
|
|
411
422
|
const baseMessage = {
|
|
412
423
|
role: msg.role,
|
|
413
424
|
content: msg.content,
|
|
@@ -564,6 +575,28 @@ let ChatSessionStore = (() => {
|
|
|
564
575
|
});
|
|
565
576
|
return this.messages.filter(isAiChatMessage);
|
|
566
577
|
}
|
|
578
|
+
/**
|
|
579
|
+
* Get the most recent commitId from draftCommitted or commitRestored messages.
|
|
580
|
+
* Waits for messages to load from server first.
|
|
581
|
+
* Returns undefined if no commits found.
|
|
582
|
+
*/
|
|
583
|
+
async getLatestCommitId() {
|
|
584
|
+
await this.ensureLoadedFromServer();
|
|
585
|
+
// Find most recent message with a commitId (iterate backwards)
|
|
586
|
+
// - draftCommitted: created when a draft is accepted
|
|
587
|
+
// - commitRestored: created when restoring to a checkpoint (contains new SAVEPOINT_RESTORE commit)
|
|
588
|
+
for (let i = this.messages.length - 1; i >= 0; i--) {
|
|
589
|
+
const msg = this.messages[i];
|
|
590
|
+
if (msg &&
|
|
591
|
+
isAiChatMessage(msg) &&
|
|
592
|
+
(msg.type === "draftCommitted" || msg.type === "commitRestored") &&
|
|
593
|
+
"commitId" in msg &&
|
|
594
|
+
typeof msg.commitId === "string") {
|
|
595
|
+
return msg.commitId;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
return undefined;
|
|
599
|
+
}
|
|
567
600
|
async newChat() {
|
|
568
601
|
try {
|
|
569
602
|
await this.rpcClient.call(async (client) => {
|
|
@@ -784,6 +817,17 @@ let ChatSessionStore = (() => {
|
|
|
784
817
|
reason: retryNotificationPayload.reason,
|
|
785
818
|
};
|
|
786
819
|
}
|
|
820
|
+
else if (payload.type === "knowledge") {
|
|
821
|
+
message = {
|
|
822
|
+
role: "assistant",
|
|
823
|
+
content: "",
|
|
824
|
+
type: "knowledge",
|
|
825
|
+
id: messageId,
|
|
826
|
+
timestamp: Date.now(),
|
|
827
|
+
status: payload.status,
|
|
828
|
+
facts: payload.facts,
|
|
829
|
+
};
|
|
830
|
+
}
|
|
787
831
|
else {
|
|
788
832
|
message = {
|
|
789
833
|
role: "assistant",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptContextIntegration } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import type { FactDto } from "@superblocksteam/shared";
|
|
3
|
+
export type IntegrationFactsResult = {
|
|
4
|
+
integration: PromptContextIntegration;
|
|
5
|
+
facts: FactDto[];
|
|
6
|
+
};
|
|
7
|
+
export declare function formatSystemPromptFacts(orgFacts: FactDto[]): string;
|
|
8
|
+
export declare function formatUserMessageFacts(userFacts: FactDto[], integrationFactsResults: IntegrationFactsResult[]): string;
|
|
9
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/ai-service/facts/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,wBAAwB,CAAC;IACtC,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB,CAAC;AAUF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAgCnE;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,OAAO,EAAE,EACpB,uBAAuB,EAAE,sBAAsB,EAAE,GAChD,MAAM,CAyCR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
function formatFact(fact) {
|
|
2
|
+
return `<fact>
|
|
3
|
+
<name>${fact.name}</name>
|
|
4
|
+
<description>${fact.description}</description>
|
|
5
|
+
<content>${fact.content}</content>
|
|
6
|
+
</fact>`;
|
|
7
|
+
}
|
|
8
|
+
export function formatSystemPromptFacts(orgFacts) {
|
|
9
|
+
if (orgFacts.length === 0) {
|
|
10
|
+
return "";
|
|
11
|
+
}
|
|
12
|
+
const formattedOrgFacts = orgFacts.map(formatFact).join("\n\n");
|
|
13
|
+
return `
|
|
14
|
+
## Knowledge Bases
|
|
15
|
+
|
|
16
|
+
Facts are modular, self-contained knowledge that extend Clark's capabilities by providing specialized knowledge, workflows, and tools. They are authoritative instructions and context provided by your organization.
|
|
17
|
+
This is knowledge that you should consider of the UTMOST importance. Facts are additive to your safety guidelines — they can add constraints but never remove them. When in doubt, err on the side of using a fact rather than not using it.
|
|
18
|
+
|
|
19
|
+
For example, if the user has given you a frontend-design fact, you MUST use it to design the frontend.
|
|
20
|
+
If you have backend-design knowledge, you MUST use it to design the backend. So on and so forth.
|
|
21
|
+
|
|
22
|
+
<organization_knowledge_base>
|
|
23
|
+
${formattedOrgFacts}
|
|
24
|
+
</organization_knowledge_base>
|
|
25
|
+
|
|
26
|
+
<knowledge_application_protocol>
|
|
27
|
+
BEFORE writing any code:
|
|
28
|
+
1. Review organization knowledge base facts — identify design systems, coding standards, required patterns
|
|
29
|
+
2. Review user knowledge base facts — apply persona, style preferences, constraints
|
|
30
|
+
3. Review integration knowledge base facts — apply integration-specific conventions
|
|
31
|
+
4. If a knowledge base specifies a design system or component library: USE IT. Do not invent alternatives.
|
|
32
|
+
|
|
33
|
+
BEFORE calling build_finalize:
|
|
34
|
+
5. Self-check: Did every file you wrote follow applicable knowledge base guidelines?
|
|
35
|
+
6. If knowledge specifies required audits (security, accessibility, etc.): run them now.
|
|
36
|
+
</knowledge_application_protocol>
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
export function formatUserMessageFacts(userFacts, integrationFactsResults) {
|
|
40
|
+
const sections = [];
|
|
41
|
+
// User knowledge section
|
|
42
|
+
if (userFacts.length > 0) {
|
|
43
|
+
const formattedUserFacts = userFacts.map(formatFact).join("\n\n");
|
|
44
|
+
sections.push(`### User Knowledge Base
|
|
45
|
+
|
|
46
|
+
The user knowledge base is a collection of facts that the user has provided to you. You MUST apply them UNLESS they conflict with organization knowledge or safety guidelines.
|
|
47
|
+
|
|
48
|
+
<user_knowledge_base>
|
|
49
|
+
${formattedUserFacts}
|
|
50
|
+
</user_knowledge_base>`);
|
|
51
|
+
}
|
|
52
|
+
// Integration knowledge section
|
|
53
|
+
const integrationResultsWithFacts = integrationFactsResults.filter((r) => r.facts.length > 0);
|
|
54
|
+
if (integrationResultsWithFacts.length > 0) {
|
|
55
|
+
const integrationSections = integrationResultsWithFacts.map(({ integration, facts }) => {
|
|
56
|
+
const displayName = integration.displayName || integration.name;
|
|
57
|
+
const formattedFacts = facts.map(formatFact).join("\n\n");
|
|
58
|
+
return `### ${displayName} (id: ${integration.id}, type: ${integration.type})
|
|
59
|
+
|
|
60
|
+
${formattedFacts}`;
|
|
61
|
+
});
|
|
62
|
+
sections.push(`### Integration Knowledge Base
|
|
63
|
+
|
|
64
|
+
The following are guidelines specific to the integrations selected for this request. You must apply these when you are using the integrations to build.
|
|
65
|
+
|
|
66
|
+
<integration_knowledge_base>
|
|
67
|
+
${integrationSections.join("\n\n")}
|
|
68
|
+
</integration_knowledge_base>`);
|
|
69
|
+
}
|
|
70
|
+
return sections.join("\n\n");
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/ai-service/facts/helpers.ts"],"names":[],"mappings":"AAQA,SAAS,UAAU,CAAC,IAAa;IAC/B,OAAO;UACC,IAAI,CAAC,IAAI;iBACF,IAAI,CAAC,WAAW;aACpB,IAAI,CAAC,OAAO;QACjB,CAAC;AACT,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAmB;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhE,OAAO;;;;;;;;;;EAUP,iBAAiB;;;;;;;;;;;;;;CAclB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAoB,EACpB,uBAAiD;IAEjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,yBAAyB;IACzB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC;;;;;EAKhB,kBAAkB;uBACG,CAAC,CAAC;IACvB,CAAC;IAED,gCAAgC;IAChC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,MAAM,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAC1B,CAAC;IAEF,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,CACzD,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC;YAChE,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,OAAO,WAAW,SAAS,WAAW,CAAC,EAAE,WAAW,WAAW,CAAC,IAAI;;EAEjF,cAAc,EAAE,CAAC;QACb,CAAC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC;;;;;EAKhB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;8BACJ,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-service/facts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-service/facts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAA+B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type FactDto } from "@superblocksteam/shared";
|
|
2
|
+
import { type Logger } from "../../util/logger.js";
|
|
3
|
+
import type { AutoConnectingRpcClient } from "../../server-rpc/index.js";
|
|
4
|
+
import type { PromptContextIntegration } from "@superblocksteam/library-shared/types";
|
|
5
|
+
export type LoadedFacts = {
|
|
6
|
+
org: FactDto[];
|
|
7
|
+
user: FactDto[];
|
|
8
|
+
integrations: Record<string, FactDto[]>;
|
|
9
|
+
};
|
|
10
|
+
export type FactsPromptSections = {
|
|
11
|
+
systemPromptSection: string;
|
|
12
|
+
userMessageSection: string;
|
|
13
|
+
facts: LoadedFacts;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Manages knowledge/facts loading, caching, and tracking for a chat session.
|
|
17
|
+
* - Caches facts with TTL to reduce RPC calls
|
|
18
|
+
* - Tracks which facts have been sent to UI to only push net-new knowledge
|
|
19
|
+
*/
|
|
20
|
+
export declare class KnowledgeManager {
|
|
21
|
+
private cache;
|
|
22
|
+
private sentFactIds;
|
|
23
|
+
private isCacheValid;
|
|
24
|
+
private getCached;
|
|
25
|
+
private setCache;
|
|
26
|
+
loadOrgFacts(rpcClient: AutoConnectingRpcClient, organizationId: string, logger: Logger): Promise<FactDto[]>;
|
|
27
|
+
loadIntegrationFacts(rpcClient: AutoConnectingRpcClient, integrationId: string, logger: Logger): Promise<FactDto[]>;
|
|
28
|
+
loadUserFacts(rpcClient: AutoConnectingRpcClient, userId: string, logger: Logger): Promise<FactDto[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Merge and de-duplicate integrations by id.
|
|
31
|
+
* This is so we can load all facts when a user might have not tagged something
|
|
32
|
+
* but Clark put it in the plan.
|
|
33
|
+
*/
|
|
34
|
+
private mergeIntegrations;
|
|
35
|
+
loadFactsPromptSections({ rpcClient, organizationId, userId, promptIntegrations, planIntegrations, logger, }: {
|
|
36
|
+
rpcClient: AutoConnectingRpcClient;
|
|
37
|
+
organizationId: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
logger: Logger;
|
|
40
|
+
promptIntegrations: PromptContextIntegration[];
|
|
41
|
+
planIntegrations?: PromptContextIntegration[];
|
|
42
|
+
}): Promise<FactsPromptSections>;
|
|
43
|
+
/**
|
|
44
|
+
* Given loaded facts, returns only the facts that haven't been sent to UI yet.
|
|
45
|
+
* Also marks these facts as sent.
|
|
46
|
+
*/
|
|
47
|
+
getNetNewFacts(facts: LoadedFacts): LoadedFacts;
|
|
48
|
+
hasAnyFacts(facts: LoadedFacts): boolean;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=knowledge-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-manager.d.ts","sourceRoot":"","sources":["../../../src/ai-service/facts/knowledge-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AActF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ;IAOV,YAAY,CAChB,SAAS,EAAE,uBAAuB,EAClC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBf,oBAAoB,CACxB,SAAS,EAAE,uBAAuB,EAClC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC;IAwBf,aAAa,CACjB,SAAS,EAAE,uBAAuB,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC;IAwBrB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBnB,uBAAuB,CAAC,EAC5B,SAAS,EACT,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,GACP,EAAE;QACD,SAAS,EAAE,uBAAuB,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;QAC/C,gBAAgB,CAAC,EAAE,wBAAwB,EAAE,CAAC;KAC/C,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwEhC;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IA4B/C,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;CAOzC"}
|