crewly 1.8.9 → 1.8.11
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/config/constants.d.ts.map +1 -0
- package/config/index.d.ts.map +1 -0
- package/config/roles/_common/memory-instructions.md +6 -5
- package/config/roles/_common/wiki-instructions.md +49 -0
- package/config/roles/architect/prompt.md +2 -2
- package/config/roles/backend-developer/prompt.md +2 -2
- package/config/roles/designer/prompt.md +2 -2
- package/config/roles/developer/prompt.md +2 -2
- package/config/roles/frontend-developer/prompt.md +2 -2
- package/config/roles/fullstack-dev/prompt.md +2 -2
- package/config/roles/generalist/prompt.md +2 -2
- package/config/roles/ops/prompt.md +2 -2
- package/config/roles/orchestrator/prompt.md +135 -11
- package/config/roles/product-manager/prompt.md +2 -2
- package/config/roles/qa/prompt.md +2 -2
- package/config/roles/qa-engineer/prompt.md +2 -2
- package/config/roles/researcher/prompt.md +15 -6
- package/config/roles/sales/prompt.md +2 -2
- package/config/roles/support/prompt.md +2 -2
- package/config/roles/team-leader/prompt.md +17 -2
- package/config/roles/tpm/prompt.md +2 -2
- package/config/roles/ux-designer/prompt.md +2 -2
- package/config/skills/orchestrator/wiki-cleanup/SKILL.md +89 -0
- package/config/skills/orchestrator/wiki-cleanup/execute.sh +139 -0
- package/config/skills/orchestrator/wiki-lint/SKILL.md +75 -0
- package/config/skills/orchestrator/wiki-lint/execute.sh +66 -0
- package/config/skills/orchestrator/wiki-migrate/SKILL.md +103 -0
- package/config/skills/orchestrator/wiki-migrate/execute.sh +82 -0
- package/config/skills/orchestrator/wiki-process-queue/SKILL.md +9 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +169 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +1779 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +18 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +63 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js +5 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +109 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +418 -4
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +11 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +64 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/index.js.orc-bak-20260529 +3130 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +513 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +1568 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +86 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +147 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +68 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +131 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +130 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +263 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +74 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +140 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +29 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +279 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +340 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +1176 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +79 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +145 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +79 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +218 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +16 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js +16 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +135 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +185 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +141 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +310 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +143 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +103 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +256 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +143 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +264 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +13 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +135 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +1937 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +1 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +429 -0
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +852 -0
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +1 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +171 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.js +725 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +50 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +19 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +45 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +34 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +118 -0
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +326 -0
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.d.ts +72 -0
- package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.js +186 -0
- package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +4 -1
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +24 -1
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +74 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +154 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts +160 -0
- package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js +399 -0
- package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts +182 -0
- package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-lint.service.js +505 -0
- package/dist/backend/backend/src/services/wiki/wiki-lint.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts +232 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +1416 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-recent.service.d.ts +51 -0
- package/dist/backend/backend/src/services/wiki/wiki-recent.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-recent.service.js +102 -0
- package/dist/backend/backend/src/services/wiki/wiki-recent.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts +84 -0
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js +156 -0
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +90 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.js +190 -0
- package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +164 -0
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +675 -0
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +65 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/types/auto-assign.types.d.ts +271 -0
- package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/auto-assign.types.js +136 -0
- package/dist/backend/backend/src/types/auto-assign.types.js.map +1 -0
- package/dist/backend/backend/src/types/cron-task.types.d.ts +16 -1
- package/dist/backend/backend/src/types/cron-task.types.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts +111 -0
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/esm-require.utils.js +124 -0
- package/dist/backend/backend/src/utils/esm-require.utils.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +220 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +37 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +56 -0
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +91 -0
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +159 -0
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +304 -0
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +115 -0
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +215 -0
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +78 -0
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/embedding-provider.js +179 -0
- package/dist/cli/backend/src/services/memory/embedding-provider.js.map +1 -0
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +331 -0
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/vector-store.service.js +814 -0
- package/dist/cli/backend/src/services/memory/vector-store.service.js.map +1 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +171 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js +725 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +19 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +45 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
- package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
- package/dist/cli/cli/src/index.js +0 -0
- package/frontend/dist/assets/{index-db3f5041.css → index-068bb4f6.css} +10 -1
- package/frontend/dist/assets/index-c24ceb15.js +4960 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/config/skills/agent/core/query-knowledge/SKILL.md +0 -87
- package/config/skills/agent/core/query-knowledge/execute.sh +0 -30
- package/config/skills/orchestrator/query-knowledge/SKILL.md +0 -75
- package/config/skills/orchestrator/query-knowledge/execute.sh +0 -30
- package/frontend/dist/assets/index-cc115bb4.js +0 -4926
package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewly-agent-runtime.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeepSeek SSE Transform — extracts `reasoning_content` from DeepSeek-R1 streaming responses.
|
|
3
|
+
*
|
|
4
|
+
* **Why this exists:**
|
|
5
|
+
* DeepSeek-R1 (`deepseek-reasoner`) returns chain-of-thought as `delta.reasoning_content`
|
|
6
|
+
* inside each SSE chunk. The Vercel AI SDK's @ai-sdk/openai chat-completions parser
|
|
7
|
+
* (3.0.41) accumulates `reasoning_tokens` into `usage.reasoningTokens` (correct billing
|
|
8
|
+
* surface) but **does not** map `reasoning_content` text to any content-part or
|
|
9
|
+
* `reasoningText` field. Result: users pay for reasoning tokens but the reasoning
|
|
10
|
+
* text is silently dropped.
|
|
11
|
+
*
|
|
12
|
+
* **What this module does:**
|
|
13
|
+
* - Pure stream transformer: takes a DeepSeek SSE response body, tees it,
|
|
14
|
+
* passes one branch through unchanged (for AI SDK to consume normally),
|
|
15
|
+
* and parses the other branch to extract reasoning_content into an
|
|
16
|
+
* accumulator string.
|
|
17
|
+
* - Zero dependency on AI SDK internals — operates only on the raw SSE byte
|
|
18
|
+
* stream that AI SDK is about to consume.
|
|
19
|
+
*
|
|
20
|
+
* **Architectural note (Sam memo reconciliation):**
|
|
21
|
+
* Earlier scope memo referenced wrapping a "PR #425 translator output" layer.
|
|
22
|
+
* Verified: PR #425 is the frontend Settings UI fix; no Crewly-owned translator
|
|
23
|
+
* exists. The only seam Crewly owns between DeepSeek and the AI SDK is the
|
|
24
|
+
* `createOpenAI({ fetch })` upstream hook in model-manager.ts. This module is
|
|
25
|
+
* the body of that hook.
|
|
26
|
+
*
|
|
27
|
+
* **DeepClaude pattern reference (read-only):**
|
|
28
|
+
* Reasoning-content extraction approach borrowed conceptually from public
|
|
29
|
+
* DeepClaude pattern (HTTP proxy that splits R1 reasoning from final answer).
|
|
30
|
+
* **No code, no fork, no dependency** — pattern reference only, per Anthropic
|
|
31
|
+
* ToS guardrail flagged by Arch.
|
|
32
|
+
*
|
|
33
|
+
* @module services/agent/crewly-agent/deepseek-sse-transform
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Result of teeing and parsing a DeepSeek SSE body.
|
|
37
|
+
*
|
|
38
|
+
* - `passthroughBody` is the un-tampered byte stream that should be handed
|
|
39
|
+
* to the consumer (AI SDK) as the response body.
|
|
40
|
+
* - `getReasoning()` returns the accumulated reasoning_content text once
|
|
41
|
+
* the underlying stream has fully drained. Calling it before drain
|
|
42
|
+
* returns whatever has been parsed so far.
|
|
43
|
+
*/
|
|
44
|
+
export interface ParsedDeepseekSse {
|
|
45
|
+
passthroughBody: ReadableStream<Uint8Array>;
|
|
46
|
+
getReasoning(): string;
|
|
47
|
+
/** True once the parser has seen the SSE `[DONE]` sentinel or stream end. */
|
|
48
|
+
isDrained(): boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Parse a single SSE event-block (one or more `data:` lines + a blank line).
|
|
52
|
+
*
|
|
53
|
+
* Returns the accumulated reasoning_content string from this block, or
|
|
54
|
+
* empty string if the block had no reasoning content. Returns `null` if
|
|
55
|
+
* the block is the `[DONE]` sentinel.
|
|
56
|
+
*
|
|
57
|
+
* @param block - One SSE event block (between blank-line delimiters)
|
|
58
|
+
* @returns reasoning_content string, or `null` if `[DONE]`
|
|
59
|
+
*/
|
|
60
|
+
export declare function parseSseBlock(block: string): string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Tee a DeepSeek SSE response body and parse one branch for reasoning_content
|
|
63
|
+
* while passing the other branch through to the AI SDK consumer unchanged.
|
|
64
|
+
*
|
|
65
|
+
* The parser runs as a fire-and-forget background reader on the cloned stream.
|
|
66
|
+
* It accumulates reasoning text into an internal buffer that the caller can
|
|
67
|
+
* read via `getReasoning()` after the consumer has drained the passthrough.
|
|
68
|
+
*
|
|
69
|
+
* **Stream safety:**
|
|
70
|
+
* - The tee is symmetric: backpressure on the consumer branch does not
|
|
71
|
+
* stall the parser branch (and vice versa) thanks to ReadableStream.tee()
|
|
72
|
+
* internal buffering.
|
|
73
|
+
* - Parser errors are caught and logged but never propagated to the consumer.
|
|
74
|
+
*
|
|
75
|
+
* @param body - Raw SSE response body from DeepSeek
|
|
76
|
+
* @returns Object with passthrough body and reasoning accumulator
|
|
77
|
+
*/
|
|
78
|
+
export declare function teeAndParse(body: ReadableStream<Uint8Array>): ParsedDeepseekSse;
|
|
79
|
+
//# sourceMappingURL=deepseek-sse-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepseek-sse-transform.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/deepseek-sse-transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAgBH;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IACjC,eAAe,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,YAAY,IAAI,MAAM,CAAC;IACvB,6EAA6E;IAC7E,SAAS,IAAI,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoB1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAqD/E"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeepSeek SSE Transform — extracts `reasoning_content` from DeepSeek-R1 streaming responses.
|
|
3
|
+
*
|
|
4
|
+
* **Why this exists:**
|
|
5
|
+
* DeepSeek-R1 (`deepseek-reasoner`) returns chain-of-thought as `delta.reasoning_content`
|
|
6
|
+
* inside each SSE chunk. The Vercel AI SDK's @ai-sdk/openai chat-completions parser
|
|
7
|
+
* (3.0.41) accumulates `reasoning_tokens` into `usage.reasoningTokens` (correct billing
|
|
8
|
+
* surface) but **does not** map `reasoning_content` text to any content-part or
|
|
9
|
+
* `reasoningText` field. Result: users pay for reasoning tokens but the reasoning
|
|
10
|
+
* text is silently dropped.
|
|
11
|
+
*
|
|
12
|
+
* **What this module does:**
|
|
13
|
+
* - Pure stream transformer: takes a DeepSeek SSE response body, tees it,
|
|
14
|
+
* passes one branch through unchanged (for AI SDK to consume normally),
|
|
15
|
+
* and parses the other branch to extract reasoning_content into an
|
|
16
|
+
* accumulator string.
|
|
17
|
+
* - Zero dependency on AI SDK internals — operates only on the raw SSE byte
|
|
18
|
+
* stream that AI SDK is about to consume.
|
|
19
|
+
*
|
|
20
|
+
* **Architectural note (Sam memo reconciliation):**
|
|
21
|
+
* Earlier scope memo referenced wrapping a "PR #425 translator output" layer.
|
|
22
|
+
* Verified: PR #425 is the frontend Settings UI fix; no Crewly-owned translator
|
|
23
|
+
* exists. The only seam Crewly owns between DeepSeek and the AI SDK is the
|
|
24
|
+
* `createOpenAI({ fetch })` upstream hook in model-manager.ts. This module is
|
|
25
|
+
* the body of that hook.
|
|
26
|
+
*
|
|
27
|
+
* **DeepClaude pattern reference (read-only):**
|
|
28
|
+
* Reasoning-content extraction approach borrowed conceptually from public
|
|
29
|
+
* DeepClaude pattern (HTTP proxy that splits R1 reasoning from final answer).
|
|
30
|
+
* **No code, no fork, no dependency** — pattern reference only, per Anthropic
|
|
31
|
+
* ToS guardrail flagged by Arch.
|
|
32
|
+
*
|
|
33
|
+
* @module services/agent/crewly-agent/deepseek-sse-transform
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Parse a single SSE event-block (one or more `data:` lines + a blank line).
|
|
37
|
+
*
|
|
38
|
+
* Returns the accumulated reasoning_content string from this block, or
|
|
39
|
+
* empty string if the block had no reasoning content. Returns `null` if
|
|
40
|
+
* the block is the `[DONE]` sentinel.
|
|
41
|
+
*
|
|
42
|
+
* @param block - One SSE event block (between blank-line delimiters)
|
|
43
|
+
* @returns reasoning_content string, or `null` if `[DONE]`
|
|
44
|
+
*/
|
|
45
|
+
export function parseSseBlock(block) {
|
|
46
|
+
const lines = block.split('\n');
|
|
47
|
+
let reasoning = '';
|
|
48
|
+
for (const line of lines) {
|
|
49
|
+
if (!line.startsWith('data:'))
|
|
50
|
+
continue;
|
|
51
|
+
const payload = line.slice(5).trim();
|
|
52
|
+
if (!payload)
|
|
53
|
+
continue;
|
|
54
|
+
if (payload === '[DONE]')
|
|
55
|
+
return null;
|
|
56
|
+
try {
|
|
57
|
+
const chunk = JSON.parse(payload);
|
|
58
|
+
const r = chunk.choices?.[0]?.delta?.reasoning_content;
|
|
59
|
+
if (typeof r === 'string') {
|
|
60
|
+
reasoning += r;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Malformed JSON — skip silently; AI SDK consumer will surface
|
|
65
|
+
// any real error itself when it parses the same chunk.
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return reasoning;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Tee a DeepSeek SSE response body and parse one branch for reasoning_content
|
|
72
|
+
* while passing the other branch through to the AI SDK consumer unchanged.
|
|
73
|
+
*
|
|
74
|
+
* The parser runs as a fire-and-forget background reader on the cloned stream.
|
|
75
|
+
* It accumulates reasoning text into an internal buffer that the caller can
|
|
76
|
+
* read via `getReasoning()` after the consumer has drained the passthrough.
|
|
77
|
+
*
|
|
78
|
+
* **Stream safety:**
|
|
79
|
+
* - The tee is symmetric: backpressure on the consumer branch does not
|
|
80
|
+
* stall the parser branch (and vice versa) thanks to ReadableStream.tee()
|
|
81
|
+
* internal buffering.
|
|
82
|
+
* - Parser errors are caught and logged but never propagated to the consumer.
|
|
83
|
+
*
|
|
84
|
+
* @param body - Raw SSE response body from DeepSeek
|
|
85
|
+
* @returns Object with passthrough body and reasoning accumulator
|
|
86
|
+
*/
|
|
87
|
+
export function teeAndParse(body) {
|
|
88
|
+
const [consumerBranch, parserBranch] = body.tee();
|
|
89
|
+
let reasoning = '';
|
|
90
|
+
let drained = false;
|
|
91
|
+
// Background reader: drain parserBranch, parse SSE, accumulate reasoning.
|
|
92
|
+
// Errors are swallowed — consumer branch is independent and unaffected.
|
|
93
|
+
void (async () => {
|
|
94
|
+
const reader = parserBranch.getReader();
|
|
95
|
+
const decoder = new TextDecoder();
|
|
96
|
+
let buffer = '';
|
|
97
|
+
try {
|
|
98
|
+
while (true) {
|
|
99
|
+
const { done, value } = await reader.read();
|
|
100
|
+
if (done)
|
|
101
|
+
break;
|
|
102
|
+
buffer += decoder.decode(value, { stream: true });
|
|
103
|
+
// SSE event blocks are delimited by blank lines (\n\n).
|
|
104
|
+
let blankIdx;
|
|
105
|
+
while ((blankIdx = buffer.indexOf('\n\n')) >= 0) {
|
|
106
|
+
const block = buffer.slice(0, blankIdx);
|
|
107
|
+
buffer = buffer.slice(blankIdx + 2);
|
|
108
|
+
const result = parseSseBlock(block);
|
|
109
|
+
if (result === null) {
|
|
110
|
+
drained = true;
|
|
111
|
+
}
|
|
112
|
+
else if (result) {
|
|
113
|
+
reasoning += result;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Flush trailing partial block (if SSE source ended mid-block — defensive)
|
|
118
|
+
if (buffer.trim()) {
|
|
119
|
+
const result = parseSseBlock(buffer);
|
|
120
|
+
if (result && result !== null)
|
|
121
|
+
reasoning += result;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
// Parser failures must not break consumer flow — log and exit.
|
|
126
|
+
// eslint-disable-next-line no-console
|
|
127
|
+
console.warn('[DeepSeek SSE Transform] parser branch error (consumer unaffected):', err);
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
drained = true;
|
|
131
|
+
try {
|
|
132
|
+
reader.releaseLock();
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
/* already released */
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
})();
|
|
139
|
+
return {
|
|
140
|
+
passthroughBody: consumerBranch,
|
|
141
|
+
getReasoning: () => reasoning,
|
|
142
|
+
isDrained: () => drained,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=deepseek-sse-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepseek-sse-transform.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/deepseek-sse-transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAgCH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;YACtD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC;YACvD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3B,SAAS,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,+DAA+D;YAC/D,uDAAuD;QACxD,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgC;IAC3D,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,0EAA0E;IAC1E,wEAAwE;IACxE,KAAK,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,wDAAwD;gBACxD,IAAI,QAAgB,CAAC;gBACrB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBACpC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACrB,OAAO,GAAG,IAAI,CAAC;oBAChB,CAAC;yBAAM,IAAI,MAAM,EAAE,CAAC;wBACnB,SAAS,IAAI,MAAM,CAAC;oBACrB,CAAC;gBACF,CAAC;YACF,CAAC;YACD,2EAA2E;YAC3E,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAS,IAAI,MAAM,CAAC;YACpD,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,+DAA+D;YAC/D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAC;QAC1F,CAAC;gBAAS,CAAC;YACV,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACJ,MAAM,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACR,sBAAsB;YACvB,CAAC;QACF,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACN,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO;KACxB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Isolation Service
|
|
3
|
+
*
|
|
4
|
+
* Strips sensitive environment variables (API keys, tokens, secrets) from
|
|
5
|
+
* child process environments when agents execute bash commands. Maintains
|
|
6
|
+
* an allowlist of safe variables and provides a mechanism to explicitly
|
|
7
|
+
* pass specific vars when needed.
|
|
8
|
+
*
|
|
9
|
+
* @module services/agent/crewly-agent/env-isolation.service
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const isolation = new EnvIsolationService();
|
|
14
|
+
* const safeEnv = isolation.createSafeEnv(process.env);
|
|
15
|
+
* // safeEnv has PATH, HOME, etc. but no ANTHROPIC_API_KEY
|
|
16
|
+
*
|
|
17
|
+
* const withOverrides = isolation.createSafeEnv(process.env, ['MY_CUSTOM_VAR']);
|
|
18
|
+
* // safeEnv + MY_CUSTOM_VAR explicitly included
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Environment variables that are always safe to pass to child processes.
|
|
23
|
+
* These are essential for basic shell operation and don't contain secrets.
|
|
24
|
+
*/
|
|
25
|
+
export declare const SAFE_ENV_ALLOWLIST: readonly string[];
|
|
26
|
+
/**
|
|
27
|
+
* Patterns that identify sensitive environment variable names.
|
|
28
|
+
* Variables matching these patterns are stripped from child processes.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SENSITIVE_ENV_PATTERNS: readonly RegExp[];
|
|
31
|
+
/**
|
|
32
|
+
* Service that creates sanitized environment objects for child processes.
|
|
33
|
+
*/
|
|
34
|
+
export declare class EnvIsolationService {
|
|
35
|
+
private readonly allowlist;
|
|
36
|
+
private readonly sensitivePatterns;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new EnvIsolationService.
|
|
39
|
+
*
|
|
40
|
+
* @param additionalSafeVars - Extra variable names to always allow
|
|
41
|
+
* @param additionalSensitivePatterns - Extra patterns to block
|
|
42
|
+
*/
|
|
43
|
+
constructor(additionalSafeVars?: string[], additionalSensitivePatterns?: RegExp[]);
|
|
44
|
+
/**
|
|
45
|
+
* Creates a safe environment object by filtering out sensitive variables.
|
|
46
|
+
*
|
|
47
|
+
* Strategy:
|
|
48
|
+
* 1. Start with all env vars
|
|
49
|
+
* 2. Keep vars on the allowlist
|
|
50
|
+
* 3. Remove vars matching sensitive patterns
|
|
51
|
+
* 4. Add explicitly requested vars (overrides)
|
|
52
|
+
*
|
|
53
|
+
* @param sourceEnv - Source environment (typically process.env)
|
|
54
|
+
* @param explicitVars - Variable names to explicitly include even if they'd be filtered
|
|
55
|
+
* @returns Sanitized environment object safe for child processes
|
|
56
|
+
*/
|
|
57
|
+
createSafeEnv(sourceEnv: Record<string, string | undefined>, explicitVars?: string[]): Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Checks if an environment variable name matches any sensitive pattern.
|
|
60
|
+
*
|
|
61
|
+
* @param varName - Environment variable name to check
|
|
62
|
+
* @returns True if the variable is considered sensitive
|
|
63
|
+
*/
|
|
64
|
+
isSensitive(varName: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the list of sensitive variable names found in the given environment.
|
|
67
|
+
* Useful for audit logging.
|
|
68
|
+
*
|
|
69
|
+
* @param sourceEnv - Environment to scan
|
|
70
|
+
* @returns Array of sensitive variable names found
|
|
71
|
+
*/
|
|
72
|
+
findSensitiveVars(sourceEnv: Record<string, string | undefined>): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Returns the current allowlist as an array.
|
|
75
|
+
* @returns Copy of the safe variable allowlist
|
|
76
|
+
*/
|
|
77
|
+
getAllowlist(): string[];
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=env-isolation.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-isolation.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/env-isolation.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAwEtC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EA0C1C,CAAC;AAEX;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD;;;;;OAKG;gBAED,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,2BAA2B,CAAC,EAAE,MAAM,EAAE;IAQxC;;;;;;;;;;;;OAYG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA+BzB;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE;IAI1E;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;CAGzB"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Isolation Service
|
|
3
|
+
*
|
|
4
|
+
* Strips sensitive environment variables (API keys, tokens, secrets) from
|
|
5
|
+
* child process environments when agents execute bash commands. Maintains
|
|
6
|
+
* an allowlist of safe variables and provides a mechanism to explicitly
|
|
7
|
+
* pass specific vars when needed.
|
|
8
|
+
*
|
|
9
|
+
* @module services/agent/crewly-agent/env-isolation.service
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const isolation = new EnvIsolationService();
|
|
14
|
+
* const safeEnv = isolation.createSafeEnv(process.env);
|
|
15
|
+
* // safeEnv has PATH, HOME, etc. but no ANTHROPIC_API_KEY
|
|
16
|
+
*
|
|
17
|
+
* const withOverrides = isolation.createSafeEnv(process.env, ['MY_CUSTOM_VAR']);
|
|
18
|
+
* // safeEnv + MY_CUSTOM_VAR explicitly included
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Environment variables that are always safe to pass to child processes.
|
|
23
|
+
* These are essential for basic shell operation and don't contain secrets.
|
|
24
|
+
*/
|
|
25
|
+
export const SAFE_ENV_ALLOWLIST = [
|
|
26
|
+
// System essentials
|
|
27
|
+
'PATH',
|
|
28
|
+
'HOME',
|
|
29
|
+
'USER',
|
|
30
|
+
'LOGNAME',
|
|
31
|
+
'SHELL',
|
|
32
|
+
'TERM',
|
|
33
|
+
'TERM_PROGRAM',
|
|
34
|
+
'LANG',
|
|
35
|
+
'LC_ALL',
|
|
36
|
+
'LC_CTYPE',
|
|
37
|
+
'TZ',
|
|
38
|
+
'TMPDIR',
|
|
39
|
+
'TEMP',
|
|
40
|
+
'TMP',
|
|
41
|
+
// Node.js / runtime
|
|
42
|
+
'NODE_ENV',
|
|
43
|
+
'NODE_PATH',
|
|
44
|
+
'NODE_OPTIONS',
|
|
45
|
+
'NPM_CONFIG_PREFIX',
|
|
46
|
+
'NVM_DIR',
|
|
47
|
+
'NVM_BIN',
|
|
48
|
+
// Build tools
|
|
49
|
+
'FORCE_COLOR',
|
|
50
|
+
'NO_COLOR',
|
|
51
|
+
'CI',
|
|
52
|
+
'EDITOR',
|
|
53
|
+
'VISUAL',
|
|
54
|
+
'PAGER',
|
|
55
|
+
// Git (non-secret)
|
|
56
|
+
'GIT_AUTHOR_NAME',
|
|
57
|
+
'GIT_AUTHOR_EMAIL',
|
|
58
|
+
'GIT_COMMITTER_NAME',
|
|
59
|
+
'GIT_COMMITTER_EMAIL',
|
|
60
|
+
// Platform
|
|
61
|
+
'HOSTNAME',
|
|
62
|
+
'PWD',
|
|
63
|
+
'OLDPWD',
|
|
64
|
+
'SHLVL',
|
|
65
|
+
'XDG_CONFIG_HOME',
|
|
66
|
+
'XDG_DATA_HOME',
|
|
67
|
+
'XDG_CACHE_HOME',
|
|
68
|
+
'XDG_RUNTIME_DIR',
|
|
69
|
+
// macOS specifics
|
|
70
|
+
'COMMAND_MODE',
|
|
71
|
+
'__CF_USER_TEXT_ENCODING',
|
|
72
|
+
// Python
|
|
73
|
+
'PYTHONPATH',
|
|
74
|
+
'VIRTUAL_ENV',
|
|
75
|
+
// Rust
|
|
76
|
+
'CARGO_HOME',
|
|
77
|
+
'RUSTUP_HOME',
|
|
78
|
+
// Go
|
|
79
|
+
'GOPATH',
|
|
80
|
+
'GOROOT',
|
|
81
|
+
// Java
|
|
82
|
+
'JAVA_HOME',
|
|
83
|
+
// Homebrew
|
|
84
|
+
'HOMEBREW_PREFIX',
|
|
85
|
+
'HOMEBREW_CELLAR',
|
|
86
|
+
'HOMEBREW_REPOSITORY',
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Patterns that identify sensitive environment variable names.
|
|
90
|
+
* Variables matching these patterns are stripped from child processes.
|
|
91
|
+
*/
|
|
92
|
+
export const SENSITIVE_ENV_PATTERNS = [
|
|
93
|
+
/api[_-]?key/i,
|
|
94
|
+
/api[_-]?secret/i,
|
|
95
|
+
/api[_-]?token/i,
|
|
96
|
+
/secret[_-]?key/i,
|
|
97
|
+
/access[_-]?key/i,
|
|
98
|
+
/access[_-]?token/i,
|
|
99
|
+
/auth[_-]?token/i,
|
|
100
|
+
/bearer[_-]?token/i,
|
|
101
|
+
/private[_-]?key/i,
|
|
102
|
+
/password/i,
|
|
103
|
+
/passwd/i,
|
|
104
|
+
/credential/i,
|
|
105
|
+
/^AWS_SECRET/i,
|
|
106
|
+
/^AWS_SESSION/i,
|
|
107
|
+
/^ANTHROPIC_API/i,
|
|
108
|
+
/^OPENAI_API/i,
|
|
109
|
+
/^GOOGLE_API/i,
|
|
110
|
+
/^GOOGLE_APPLICATION_CREDENTIALS/i,
|
|
111
|
+
/^STRIPE_SECRET/i,
|
|
112
|
+
/^SUPABASE_SERVICE_ROLE/i,
|
|
113
|
+
/^DATABASE_URL$/i,
|
|
114
|
+
/^REDIS_URL$/i,
|
|
115
|
+
/^MONGODB_URI$/i,
|
|
116
|
+
/^GITHUB_TOKEN$/i,
|
|
117
|
+
/^GH_TOKEN$/i,
|
|
118
|
+
/^NPM_TOKEN$/i,
|
|
119
|
+
/^DOCKER_PASSWORD$/i,
|
|
120
|
+
/^DOCKER_AUTH$/i,
|
|
121
|
+
/connection[_-]?string/i,
|
|
122
|
+
/^SENTRY_DSN$/i,
|
|
123
|
+
/^DATADOG_API_KEY$/i,
|
|
124
|
+
/^SENDGRID_API_KEY$/i,
|
|
125
|
+
/^TWILIO_AUTH_TOKEN$/i,
|
|
126
|
+
/^SLACK_BOT_TOKEN$/i,
|
|
127
|
+
/^SLACK_TOKEN$/i,
|
|
128
|
+
/^DISCORD_TOKEN$/i,
|
|
129
|
+
/^WEBHOOK_SECRET$/i,
|
|
130
|
+
/^SIGNING_SECRET$/i,
|
|
131
|
+
/^ENCRYPTION_KEY$/i,
|
|
132
|
+
/^JWT_SECRET$/i,
|
|
133
|
+
/^SESSION_SECRET$/i,
|
|
134
|
+
];
|
|
135
|
+
/**
|
|
136
|
+
* Service that creates sanitized environment objects for child processes.
|
|
137
|
+
*/
|
|
138
|
+
export class EnvIsolationService {
|
|
139
|
+
allowlist;
|
|
140
|
+
sensitivePatterns;
|
|
141
|
+
/**
|
|
142
|
+
* Creates a new EnvIsolationService.
|
|
143
|
+
*
|
|
144
|
+
* @param additionalSafeVars - Extra variable names to always allow
|
|
145
|
+
* @param additionalSensitivePatterns - Extra patterns to block
|
|
146
|
+
*/
|
|
147
|
+
constructor(additionalSafeVars, additionalSensitivePatterns) {
|
|
148
|
+
this.allowlist = new Set([...SAFE_ENV_ALLOWLIST, ...(additionalSafeVars || [])]);
|
|
149
|
+
this.sensitivePatterns = additionalSensitivePatterns
|
|
150
|
+
? [...SENSITIVE_ENV_PATTERNS, ...additionalSensitivePatterns]
|
|
151
|
+
: SENSITIVE_ENV_PATTERNS;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Creates a safe environment object by filtering out sensitive variables.
|
|
155
|
+
*
|
|
156
|
+
* Strategy:
|
|
157
|
+
* 1. Start with all env vars
|
|
158
|
+
* 2. Keep vars on the allowlist
|
|
159
|
+
* 3. Remove vars matching sensitive patterns
|
|
160
|
+
* 4. Add explicitly requested vars (overrides)
|
|
161
|
+
*
|
|
162
|
+
* @param sourceEnv - Source environment (typically process.env)
|
|
163
|
+
* @param explicitVars - Variable names to explicitly include even if they'd be filtered
|
|
164
|
+
* @returns Sanitized environment object safe for child processes
|
|
165
|
+
*/
|
|
166
|
+
createSafeEnv(sourceEnv, explicitVars) {
|
|
167
|
+
const safeEnv = {};
|
|
168
|
+
const explicitSet = new Set(explicitVars || []);
|
|
169
|
+
for (const [key, value] of Object.entries(sourceEnv)) {
|
|
170
|
+
if (value === undefined)
|
|
171
|
+
continue;
|
|
172
|
+
// Always include explicitly requested vars
|
|
173
|
+
if (explicitSet.has(key)) {
|
|
174
|
+
safeEnv[key] = value;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
// Include if on allowlist
|
|
178
|
+
if (this.allowlist.has(key)) {
|
|
179
|
+
safeEnv[key] = value;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
// Skip if matches a sensitive pattern
|
|
183
|
+
if (this.isSensitive(key)) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
// Default: include non-sensitive vars not on either list
|
|
187
|
+
safeEnv[key] = value;
|
|
188
|
+
}
|
|
189
|
+
return safeEnv;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Checks if an environment variable name matches any sensitive pattern.
|
|
193
|
+
*
|
|
194
|
+
* @param varName - Environment variable name to check
|
|
195
|
+
* @returns True if the variable is considered sensitive
|
|
196
|
+
*/
|
|
197
|
+
isSensitive(varName) {
|
|
198
|
+
return this.sensitivePatterns.some((pattern) => pattern.test(varName));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Returns the list of sensitive variable names found in the given environment.
|
|
202
|
+
* Useful for audit logging.
|
|
203
|
+
*
|
|
204
|
+
* @param sourceEnv - Environment to scan
|
|
205
|
+
* @returns Array of sensitive variable names found
|
|
206
|
+
*/
|
|
207
|
+
findSensitiveVars(sourceEnv) {
|
|
208
|
+
return Object.keys(sourceEnv).filter((key) => this.isSensitive(key));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Returns the current allowlist as an array.
|
|
212
|
+
* @returns Copy of the safe variable allowlist
|
|
213
|
+
*/
|
|
214
|
+
getAllowlist() {
|
|
215
|
+
return Array.from(this.allowlist);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=env-isolation.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-isolation.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/env-isolation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crewly Agent Runtime — Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* @module services/agent/crewly-agent
|
|
5
|
+
*/
|
|
6
|
+
export { AgentRunnerService } from './agent-runner.service.js';
|
|
7
|
+
export { CrewlyAgentRuntimeService } from './crewly-agent-runtime.service.js';
|
|
8
|
+
export { CrewlyApiClient } from './api-client.js';
|
|
9
|
+
export { ModelManager } from './model-manager.js';
|
|
10
|
+
export { InProcessLogBuffer, type LogEntry } from './in-process-log-buffer.js';
|
|
11
|
+
export { createTools, getToolNames } from './tool-registry.js';
|
|
12
|
+
export { createAuditorTools, getAuditorToolNames } from './auditor-tools.js';
|
|
13
|
+
export { AuditTrailService } from './audit-trail.service.js';
|
|
14
|
+
export { RateLimiter, RATE_LIMITER_DEFAULTS, type RateLimiterConfig } from './rate-limiter.js';
|
|
15
|
+
export { type ModelProvider, type ModelConfig, type ConversationState, type CrewlyAgentConfig, type AgentRunResult, type ToolCallRecord, type ApiCallResult, type AuditEntry, type SecurityPolicy, type AuditLogFilters, MODEL_PROVIDERS, CREWLY_AGENT_DEFAULTS, WRITE_TOOLS, isModelProvider, isModelConfig, } from './types.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crewly Agent Runtime — Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* @module services/agent/crewly-agent
|
|
5
|
+
*/
|
|
6
|
+
export { AgentRunnerService } from './agent-runner.service.js';
|
|
7
|
+
export { CrewlyAgentRuntimeService } from './crewly-agent-runtime.service.js';
|
|
8
|
+
export { CrewlyApiClient } from './api-client.js';
|
|
9
|
+
export { ModelManager } from './model-manager.js';
|
|
10
|
+
export { InProcessLogBuffer } from './in-process-log-buffer.js';
|
|
11
|
+
export { createTools, getToolNames } from './tool-registry.js';
|
|
12
|
+
export { createAuditorTools, getAuditorToolNames } from './auditor-tools.js';
|
|
13
|
+
export { AuditTrailService } from './audit-trail.service.js';
|
|
14
|
+
export { RateLimiter, RATE_LIMITER_DEFAULTS } from './rate-limiter.js';
|
|
15
|
+
export { MODEL_PROVIDERS, CREWLY_AGENT_DEFAULTS, WRITE_TOOLS, isModelProvider, isModelConfig, } from './types.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|