crewly 1.12.1 → 1.13.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/config/skills/_common/complete-body-shape.test.sh +113 -0
- package/config/skills/_common/no-dangling-symlinks.test.sh +63 -0
- package/config/skills/_common/task-pool-body-shape.test.sh +471 -0
- package/config/skills/agent/core/accept-task/execute.sh +30 -5
- package/config/skills/agent/core/block-task/execute.sh +59 -6
- package/config/skills/agent/core/complete-task/SKILL.md +37 -5
- package/config/skills/agent/core/complete-task/execute.sh +40 -9
- package/config/skills/agent/core/complete-task/execute.test.sh +213 -0
- package/config/skills/agent/core/create-task/SKILL.md +33 -0
- package/config/skills/agent/core/create-task/execute.sh +82 -23
- package/config/skills/agent/core/delegate-task/execute.sh +46 -0
- package/config/skills/agent/core/get-team-norms/SKILL.md +1 -1
- package/config/skills/agent/core/get-team-norms/execute.sh +73 -2
- package/config/skills/agent/core/handoff-task/execute.sh +8 -1
- package/config/skills/agent/core/report-status/SKILL.md +26 -0
- package/config/skills/agent/core/report-status/execute.sh +40 -5
- package/config/skills/orchestrator/delegate-task/SKILL.md +1 -1
- package/config/skills/orchestrator/delegate-task/execute.sh +45 -11
- package/config/skills/orchestrator/delegate-task/execute.test.sh +153 -1
- package/config/skills/team-leader/aggregate-results/SKILL.md +1 -1
- package/config/skills/team-leader/decompose-goal/execute.sh +11 -16
- package/config/skills/team-leader/delegate-task/SKILL.md +14 -1
- package/config/skills/team-leader/delegate-task/execute.sh +132 -43
- package/config/skills/team-leader/delegate-task/execute.test.sh +180 -27
- package/config/vitest-exclude.constants.ts +56 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +29 -7
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +18 -3
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +18 -15
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +6 -1
- 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 +19 -10
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +20 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/scripts/stamp-build.d.ts +25 -0
- package/dist/backend/backend/src/scripts/stamp-build.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/stamp-build.js +48 -0
- package/dist/backend/backend/src/scripts/stamp-build.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +33 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +78 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +248 -44
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +51 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +31 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +5 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +7 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +15 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +40 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js +26 -0
- package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +19 -3
- package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +28 -3
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +65 -8
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +214 -4
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +330 -48
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +13 -1
- 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 +84 -5
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +14 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +77 -3
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +152 -7
- 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 +268 -36
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/escalation-router.service.js +2 -2
- package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +39 -2
- package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts +3 -0
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js +21 -10
- package/dist/backend/backend/src/services/wiki/wiki-migrate.service.js.map +1 -1
- package/dist/backend/backend/src/types/v2/index.d.ts +1 -1
- package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/index.js +1 -1
- package/dist/backend/backend/src/types/v2/index.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +181 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +104 -17
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/backend/src/utils/build-provenance.d.ts +150 -0
- package/dist/backend/backend/src/utils/build-provenance.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/build-provenance.js +211 -0
- package/dist/backend/backend/src/utils/build-provenance.js.map +1 -0
- package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js +7 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
- package/dist/backend/build-info.json +4 -0
- package/dist/backend/config/vitest-exclude.constants.d.ts +53 -0
- package/dist/backend/config/vitest-exclude.constants.d.ts.map +1 -0
- package/dist/backend/config/vitest-exclude.constants.js +55 -0
- package/dist/backend/config/vitest-exclude.constants.js.map +1 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts +538 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js +802 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.d.ts +240 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.js +524 -0
- package/dist/cli/backend/src/services/agent/agent-heartbeat.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +629 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +4548 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.d.ts +118 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.js +304 -0
- package/dist/cli/backend/src/services/agent/agent-suspend.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts +196 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js +504 -0
- package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts +97 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.js +334 -0
- package/dist/cli/backend/src/services/agent/claude-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +47 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.js +112 -0
- package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.d.ts +323 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.js +1056 -0
- package/dist/cli/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +198 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +816 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +155 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +272 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +91 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +120 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts +536 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js +282 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js.map +1 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.d.ts +100 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.js +149 -0
- package/dist/cli/backend/src/services/agent/disk-cleanup.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts +130 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.js +758 -0
- package/dist/cli/backend/src/services/agent/gemini-runtime.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +216 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +508 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.d.ts +113 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.js +161 -0
- package/dist/cli/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts +156 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +641 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +295 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +1166 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.d.ts +71 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js +174 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts +435 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js +1331 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts +33 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.js +70 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/capability-overlay.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts +100 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +296 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts +59 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.js +87 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/decision-rights.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts +67 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.js +84 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/default-execution-loop.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts +35 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/domain-sop.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts +41 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.js +95 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/expert-profile.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.js +47 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/identity.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts +65 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +79 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.js +55 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/learning-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts +44 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.js +120 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/lifecycle.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts +46 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.js +44 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/markdown-file-module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts +28 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.js +46 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/memory-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.d.ts +60 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.js +104 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/mission-context.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.d.ts +29 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +103 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +383 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts +34 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js +96 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.d.ts +106 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.js +167 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/request-contract.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts +35 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.js +50 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/risk-policy.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +91 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.js +411 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts +62 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +199 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts +79 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js +118 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/sop-norm-distinction.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.d.ts +102 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.js +229 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.d.ts +61 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.js +197 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-norms.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.d.ts +54 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.js +149 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/team-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +32 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +69 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.d.ts +91 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.js +136 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/working-memory.module.js.map +1 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.d.ts +81 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.js +135 -0
- package/dist/cli/backend/src/services/ai/self-improvement/growth-areas.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +737 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +1213 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts +27 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js +57 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/config.d.ts +100 -0
- package/dist/cli/backend/src/services/chat-v2/config.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/config.js +174 -0
- package/dist/cli/backend/src/services/chat-v2/config.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.d.ts +118 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.js +171 -0
- package/dist/cli/backend/src/services/chat-v2/legacy-dto.utils.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts +188 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js +317 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts +119 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js +551 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +208 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +405 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/types.d.ts +341 -0
- package/dist/cli/backend/src/services/chat-v2/types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/types.js +61 -0
- package/dist/cli/backend/src/services/chat-v2/types.js.map +1 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts +5 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js +7 -0
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.d.ts +37 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.d.ts.map +1 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.js +63 -0
- package/dist/cli/backend/src/services/continuation/patterns/idle-patterns.js.map +1 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.d.ts +335 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.d.ts.map +1 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.js +421 -0
- package/dist/cli/backend/src/services/intent-task/intent-classifier.rules.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-client.d.ts +233 -0
- package/dist/cli/backend/src/services/mcp-client.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-client.js +302 -0
- package/dist/cli/backend/src/services/mcp-client.js.map +1 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.d.ts +168 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.js +365 -0
- package/dist/cli/backend/src/services/memory/mission-context.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.d.ts +197 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.js +369 -0
- package/dist/cli/backend/src/services/memory/session-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.d.ts +77 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.js +171 -0
- package/dist/cli/backend/src/services/memory/user-profile.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.d.ts +232 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.js +417 -0
- package/dist/cli/backend/src/services/memory/working-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +84 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +136 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts +358 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js +755 -0
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +269 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +391 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.d.ts +132 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.js +284 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.service.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.d.ts +70 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.js +121 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.singleton.js.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.d.ts +130 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.js +48 -0
- package/dist/cli/backend/src/services/observability/agent-behavior-log.types.js.map +1 -0
- package/dist/cli/backend/src/services/observability/observability-db.d.ts +84 -0
- package/dist/cli/backend/src/services/observability/observability-db.d.ts.map +1 -0
- package/dist/cli/backend/src/services/observability/observability-db.js +165 -0
- package/dist/cli/backend/src/services/observability/observability-db.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.d.ts +124 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.js +256 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.service.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.d.ts +80 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.js +16 -0
- package/dist/cli/backend/src/services/onboarding/content-approval.types.js.map +1 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +142 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +265 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.d.ts +231 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.js +353 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-marker.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.d.ts +157 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.js +483 -0
- package/dist/cli/backend/src/services/orchestrator/improvement-startup.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/index.d.ts +16 -0
- package/dist/cli/backend/src/services/orchestrator/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/index.js +16 -0
- package/dist/cli/backend/src/services/orchestrator/index.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +117 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +300 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.d.ts +114 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.js +195 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-setup.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts +94 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js +279 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.d.ts +192 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.js +395 -0
- package/dist/cli/backend/src/services/orchestrator/safe-restart.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.d.ts +201 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.js +396 -0
- package/dist/cli/backend/src/services/orchestrator/self-improvement.service.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.d.ts +17 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.js +30 -0
- package/dist/cli/backend/src/services/orchestrator/slack-bridge-lazy.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.d.ts +249 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.js +569 -0
- package/dist/cli/backend/src/services/orchestrator/state-persistence.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/index.d.ts +47 -0
- package/dist/cli/backend/src/services/session/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/index.js +50 -0
- package/dist/cli/backend/src/services/session/index.js.map +1 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.d.ts +163 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.js +362 -0
- package/dist/cli/backend/src/services/session/log-rotation.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/index.d.ts +11 -0
- package/dist/cli/backend/src/services/session/pty/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/index.js +11 -0
- package/dist/cli/backend/src/services/session/pty/index.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +445 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +804 -0
- package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +252 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.js +611 -0
- package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts +275 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js +403 -0
- package/dist/cli/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.d.ts +86 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.js +214 -0
- package/dist/cli/backend/src/services/session/runtime-pid-registry.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.d.ts +127 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.js +226 -0
- package/dist/cli/backend/src/services/session/session-backend.factory.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.d.ts +390 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.js +19 -0
- package/dist/cli/backend/src/services/session/session-backend.interface.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts +350 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-command-helper.js +810 -0
- package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.d.ts +307 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.js +742 -0
- package/dist/cli/backend/src/services/session/session-handoff.service.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.d.ts +231 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.js +407 -0
- package/dist/cli/backend/src/services/session/session-state-persistence.js.map +1 -0
- package/dist/cli/backend/src/services/settings/role.service.d.ts +277 -0
- package/dist/cli/backend/src/services/settings/role.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/settings/role.service.js +728 -0
- package/dist/cli/backend/src/services/settings/role.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.d.ts +152 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.js +354 -0
- package/dist/cli/backend/src/services/slack/cross-machine-message.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.d.ts +114 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.js +331 -0
- package/dist/cli/backend/src/services/slack/slack-image.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +499 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +1928 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts +315 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack.service.js +1094 -0
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -0
- package/dist/cli/backend/src/services/sop/sop.service.d.ts +364 -0
- package/dist/cli/backend/src/services/sop/sop.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/sop/sop.service.js +734 -0
- package/dist/cli/backend/src/services/sop/sop.service.js.map +1 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +152 -7
- 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 +268 -36
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts +178 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.js +692 -0
- package/dist/cli/backend/src/services/v3/escalation-router.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.d.ts +200 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.js +482 -0
- package/dist/cli/backend/src/services/v3/kr-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts +117 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.js +321 -0
- package/dist/cli/backend/src/services/v3/mission-executor.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts +610 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +1529 -0
- package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.d.ts +78 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.js +108 -0
- package/dist/cli/backend/src/services/v3/request-tracker.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts +295 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.js +534 -0
- package/dist/cli/backend/src/services/v3/request.service.js.map +1 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.d.ts +340 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.js +1113 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -0
- package/dist/cli/backend/src/types/cross-machine.types.d.ts +103 -0
- package/dist/cli/backend/src/types/cross-machine.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/cross-machine.types.js +47 -0
- package/dist/cli/backend/src/types/cross-machine.types.js.map +1 -0
- package/dist/cli/backend/src/types/intent-task.types.d.ts +402 -0
- package/dist/cli/backend/src/types/intent-task.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/intent-task.types.js +403 -0
- package/dist/cli/backend/src/types/intent-task.types.js.map +1 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.d.ts +531 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.js +110 -0
- package/dist/cli/backend/src/types/orchestrator-state.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/index.d.ts +30 -0
- package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/index.js +22 -0
- package/dist/cli/backend/src/types/v2/index.js.map +1 -0
- package/dist/cli/backend/src/types/v2/key-result.types.d.ts +279 -0
- package/dist/cli/backend/src/types/v2/key-result.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/key-result.types.js +264 -0
- package/dist/cli/backend/src/types/v2/key-result.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/mission.types.d.ts +661 -0
- package/dist/cli/backend/src/types/v2/mission.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/mission.types.js +713 -0
- package/dist/cli/backend/src/types/v2/mission.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.d.ts +204 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.js +121 -0
- package/dist/cli/backend/src/types/v2/reconcile.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts +192 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/request.types.js +179 -0
- package/dist/cli/backend/src/types/v2/request.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +181 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +104 -17
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/workspace.types.d.ts +157 -0
- package/dist/cli/backend/src/types/v2/workspace.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/workspace.types.js +173 -0
- package/dist/cli/backend/src/types/v2/workspace.types.js.map +1 -0
- package/dist/cli/backend/src/utils/async.utils.d.ts +68 -0
- package/dist/cli/backend/src/utils/async.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/async.utils.js +80 -0
- package/dist/cli/backend/src/utils/async.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/native-binding.utils.d.ts +128 -0
- package/dist/cli/backend/src/utils/native-binding.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/native-binding.utils.js +206 -0
- package/dist/cli/backend/src/utils/native-binding.utils.js.map +1 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts +142 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts.map +1 -0
- package/dist/cli/backend/src/websocket/chat.gateway.js +327 -0
- package/dist/cli/backend/src/websocket/chat.gateway.js.map +1 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.d.ts +341 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.d.ts.map +1 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.js +933 -0
- package/dist/cli/backend/src/websocket/terminal.gateway.js.map +1 -0
- package/dist/cli/config/vitest-exclude.constants.d.ts +53 -0
- package/dist/cli/config/vitest-exclude.constants.d.ts.map +1 -0
- package/dist/cli/config/vitest-exclude.constants.js +55 -0
- package/dist/cli/config/vitest-exclude.constants.js.map +1 -0
- package/package.json +2 -2
- package/packages/crewly-agent/src/cli.ts +16 -6
- package/packages/crewly-agent/src/runtime/agent-runner.service.test.ts +311 -33
- package/packages/crewly-agent/src/runtime/agent-runner.service.ts +221 -12
- package/packages/crewly-agent/src/runtime/tool-registry.test.ts +19 -0
- package/packages/crewly-agent/src/runtime/tool-registry.ts +4 -1
- package/packages/crewly-agent/src/runtime/types.ts +65 -5
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent classifier rules — code-of-record per Mia spec §5 Q4.
|
|
3
|
+
*
|
|
4
|
+
* **Purpose**
|
|
5
|
+
*
|
|
6
|
+
* Centralises every keyword set and structural pattern the L0/L1/L2/L3
|
|
7
|
+
* classifier consumes. Both production classifier paths
|
|
8
|
+
* (`backend/src/types/intent-task.types.ts:classifyIntentLevel/Category`
|
|
9
|
+
* and `backend/src/services/v3/v3-data.service.ts:classifyIntent`) read
|
|
10
|
+
* from this file so a rule update lands in exactly one place.
|
|
11
|
+
*
|
|
12
|
+
* **Why a separate file?**
|
|
13
|
+
*
|
|
14
|
+
* Per Mia: "Easier review than buried regex." A reviewer auditing rule
|
|
15
|
+
* coverage scans this file's exports rather than walking the classifier's
|
|
16
|
+
* inline regex. Adding ZH parity to a category is a single-edit operation
|
|
17
|
+
* here; in the inline shape it would be a ~10-line walk.
|
|
18
|
+
*
|
|
19
|
+
* **Spec source-of-truth**
|
|
20
|
+
*
|
|
21
|
+
* `specs/2026-05-06-intent-classifier-rules.md` (Mia, 2026-05-06).
|
|
22
|
+
* Section references (§2.1, §2.2, etc.) below correspond to that doc.
|
|
23
|
+
*
|
|
24
|
+
* @module services/intent-task/intent-classifier.rules
|
|
25
|
+
*/
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// §2.1 — Plurality / quantifier (HIGHEST PRECISION)
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
/**
|
|
30
|
+
* Quantifier tokens that, when paired with a state-changing verb AND a
|
|
31
|
+
* plural deliverable noun, force L1 → L2 promotion (§2.1).
|
|
32
|
+
*
|
|
33
|
+
* Anti-pattern guard (§3 last paragraph): quantifier alone is NOT enough.
|
|
34
|
+
* "Show me all 3 statuses" stays L0 because the verb is read-only.
|
|
35
|
+
* Promotion requires quantifier + state-changing verb + plural deliverable
|
|
36
|
+
* noun — see {@link L2_QUANTIFIER_PROMOTERS_TRIGRAM}.
|
|
37
|
+
*/
|
|
38
|
+
export const QUANTIFIER_TOKENS = {
|
|
39
|
+
/** EN: both/all/every/each + numeric + numeric-words. */
|
|
40
|
+
en: /\b(both|all|every|each|two|three|four|five|six|seven|eight|nine|ten|\d+)\b/i,
|
|
41
|
+
/** ZH: 这两/三/四/五/.../多个/所有/全部/每个/几个. */
|
|
42
|
+
zh: /(两|三|四|五|六|七|八|九|十|这两|这三|多个|所有|全部|每个|几个)/,
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Plural deliverable noun tokens that, paired with a quantifier + state-
|
|
46
|
+
* changing verb, force L2 promotion (§2.1).
|
|
47
|
+
*
|
|
48
|
+
* The ZH measure-words (份/个/张/篇/段/章/项/条) double as deliverable-noun
|
|
49
|
+
* proxies because Chinese uses measure-words in lieu of pluralisation.
|
|
50
|
+
*/
|
|
51
|
+
export const DELIVERABLE_NOUN_TOKENS = {
|
|
52
|
+
en: /\b(docs?|specs?|files?|reports?|tasks?|prs?|tickets?|issues?|services?|modules?|components?|features?|tests?|migrations?|scripts?)\b/i,
|
|
53
|
+
/**
|
|
54
|
+
* ZH: 文档/文件/规范 + measure-words (份/个/张/篇/段/章/项/条). Combined
|
|
55
|
+
* because Chinese parses noun + measure-word as the deliverable proxy.
|
|
56
|
+
*/
|
|
57
|
+
zh: /(文档|文件|规范|份|个|张|篇|段|章|项|条|条目|笔记)/,
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Quantifier-trigram tokens (§2.1 + §3 anti-pattern guard).
|
|
61
|
+
*
|
|
62
|
+
* **Implementation note:** rather than constraining token order in a
|
|
63
|
+
* single regex, the classifier checks all three axes (quantifier +
|
|
64
|
+
* state-change verb + deliverable noun) for presence within the same
|
|
65
|
+
* input. This handles all natural orderings (VERB-QUANT-NOUN as in
|
|
66
|
+
* "create three reports" / "做这两份 md 文档"; QUANT-NOUN-VERB as in
|
|
67
|
+
* "three reports to make" / "三份报告要做"; QUANT-VERB-NOUN; etc.)
|
|
68
|
+
* without explosion of permutations.
|
|
69
|
+
*
|
|
70
|
+
* The anti-promotion guard in `classifyIntentLevel` ensures
|
|
71
|
+
* "Show me all 3 statuses" stays L0 by checking that the verb axis is
|
|
72
|
+
* NOT exclusively read-only ({@link L0_READ_VERB_PATTERN}) before
|
|
73
|
+
* promoting on this trigram.
|
|
74
|
+
*/
|
|
75
|
+
export const L2_QUANTIFIER_TRIGRAM = {
|
|
76
|
+
/**
|
|
77
|
+
* EN: requires all three axes — quantifier + state-change verb +
|
|
78
|
+
* deliverable noun — present in the input. Order-agnostic.
|
|
79
|
+
*
|
|
80
|
+
* The exposed regex matches the QUANTIFIER axis only; the consumer
|
|
81
|
+
* checks the other two axes via the helper below.
|
|
82
|
+
*/
|
|
83
|
+
en: /\b(both|all|every|two|three|four|five|six|seven|eight|nine|ten|\d+)\b/i,
|
|
84
|
+
/** ZH quantifier axis. */
|
|
85
|
+
zh: /(两|三|四|五|六|七|八|九|十|这两|这三|多个|所有|全部|每个|几个)/,
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* State-change verb axis for the quantifier-trigram. Distinct from
|
|
89
|
+
* {@link ACTION_VERB_EN}/{@link ACTION_VERB_ZH} because the trigram
|
|
90
|
+
* specifically excludes ambiguous-shape verbs (e.g. `run`, `check`)
|
|
91
|
+
* that are common in read-only contexts.
|
|
92
|
+
*/
|
|
93
|
+
export const L2_TRIGRAM_STATE_CHANGE_VERB = {
|
|
94
|
+
en: /\b(make|build|create|implement|add|write|update|delete|deploy|migrate|refactor|design|review|fix|configure|prepare|draft|publish|release|ship|launch|generate)\b/i,
|
|
95
|
+
zh: /(做(?!了|过|得|的|出|不到|不了|不下|不来|不出)|写|搞定|做完|完成|实现|添加|创建|构建|搭建|设计|部署|发布|上线|分析|审查|评审|编排|调研|规划|优化|重构|修复|改写|编写|起草|拆分|准备)/,
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Plural-deliverable axis for the quantifier-trigram. Mirrors
|
|
99
|
+
* {@link DELIVERABLE_NOUN_TOKENS} but kept distinct so a future tuning
|
|
100
|
+
* of "what counts as deliverable in a trigram context" doesn't drift.
|
|
101
|
+
*/
|
|
102
|
+
export const L2_TRIGRAM_DELIVERABLE = {
|
|
103
|
+
en: /\b(docs?|specs?|files?|reports?|tasks?|prs?|tickets?|issues?|services?|modules?|components?|features?|tests?|migrations?|scripts?)\b/i,
|
|
104
|
+
zh: /(份|个|张|篇|段|章|项|条|条目|文档|文件|规范|报告|任务|md|md\s*文档|计划|spec)/i,
|
|
105
|
+
};
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// §2.2 — Multi-artifact / file-creation triggers
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
/**
|
|
110
|
+
* Doc/spec creation triggers (§2.2 row 1). These promote to L2 even with
|
|
111
|
+
* a tiny verb because authoring a doc is multi-step by nature.
|
|
112
|
+
*/
|
|
113
|
+
export const L2_DOC_CREATION_TRIGGER = {
|
|
114
|
+
en: /\b(spec|specification|design\s+doc|rfc|brief|writeup|whitepaper|markdown\s+doc|md\s+doc)\b/i,
|
|
115
|
+
zh: /(规范|设计文档|草稿|说明文档|md\s*文档|markdown\s*文档|笔记|白皮书|说明书)/,
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* File-with-extension reference (§2.2 row 2). Any path with extension
|
|
119
|
+
* promotes to L2 unless the verb is read-only — the read-only guard is
|
|
120
|
+
* applied at the classifier level, not here, because read-only verbs are
|
|
121
|
+
* a separate axis (see {@link L0_READ_VERB_PATTERN}).
|
|
122
|
+
*/
|
|
123
|
+
export const L2_FILE_EXTENSION_TRIGGER = /\b\w+\.(md|markdown|ts|tsx|js|jsx|py|sql|json|yml|yaml|sh|tf|java|go|rb|rs|cpp|c|h|toml|ini|conf|css|scss|html|xml|csv)\b/i;
|
|
124
|
+
/**
|
|
125
|
+
* PR / commit / branch artifact (§2.2 row 3). Order-agnostic — both
|
|
126
|
+
* "open a PR" (VERB-NOUN) and "PR to open" (NOUN-VERB) match, with the
|
|
127
|
+
* VERB-NOUN form being far more common.
|
|
128
|
+
*/
|
|
129
|
+
export const L2_PR_ARTIFACT_TRIGGER = {
|
|
130
|
+
en: /\b(?:(pr|pull\s+request|commit|branch|merge)\b.{0,30}?\b(open|create|raise|file|prepare|draft|push|cut|land)|(open|create|raise|file|prepare|draft|push|cut|land)\b.{0,30}?\b(pr|pull\s+request|commit|branch|merge))\b/i,
|
|
131
|
+
zh: /(pr|pull\s+request|提交|分支|合并|merge).{0,12}?(开|提|准备|起草|推送|落地|创建|发起)|(开|提|准备|起草|推送|落地|创建|发起).{0,12}?(pr|pull\s+request|提交|分支|合并|merge)/i,
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Migration / schema (§2.2 row 4).
|
|
135
|
+
*/
|
|
136
|
+
export const L2_MIGRATION_TRIGGER = {
|
|
137
|
+
en: /\b(migration|schema|seed|fixture|backfill)\b/i,
|
|
138
|
+
zh: /(迁移|建表|改表|回填|数据迁移|表结构)/,
|
|
139
|
+
};
|
|
140
|
+
// ---------------------------------------------------------------------------
|
|
141
|
+
// §2.3 — Verb–noun pair signaling system-level work
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
/**
|
|
144
|
+
* Build/implement + system-noun (§2.3 row 1). The canonical L2 shape —
|
|
145
|
+
* pre-existing in the EN classifier; ZH parity is the new contribution.
|
|
146
|
+
*/
|
|
147
|
+
export const L2_BUILD_SYSTEM_NOUN = {
|
|
148
|
+
en: /\b(implement|build|create|develop|design|architect|refactor)\b.{0,40}?\b(feature|system|service|module|component|pipeline|workflow|framework|infrastructure)\b/i,
|
|
149
|
+
zh: /(实现|构建|创建|搭建|设计|架构|重构|开发|编写|做).{0,15}?(功能|系统|服务|模块|组件|流水线|工作流|框架|基础设施|架构|平台|工具)/,
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Deploy/migrate + env-noun (§2.3 row 2).
|
|
153
|
+
*/
|
|
154
|
+
export const L2_DEPLOY_ENV_NOUN = {
|
|
155
|
+
en: /\b(deploy|migrate|upgrade|provision)\b.{0,40}?\b(to|from|environment|server|cluster|staging|production)\b/i,
|
|
156
|
+
zh: /(部署|迁移|升级|发布|上线).{0,15}?(到|从|环境|服务器|集群|预发|生产|测试环境|正式环境)/,
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* End-to-end / full-stack scope (§2.3 row 3).
|
|
160
|
+
*/
|
|
161
|
+
export const L2_E2E_SCOPE = {
|
|
162
|
+
en: /\b(end[- ]?to[- ]?end|full[- ]?stack|e2e|integration)\b.{0,30}?\b(test|setup|implementation|implement)\b/i,
|
|
163
|
+
zh: /(端到端|全栈|完整|整套|完整链路).{0,12}?(测试|搭建|实现|实施|部署)/,
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Coordinate / orchestrate (§2.3 row 4). Single-token signal — by the
|
|
167
|
+
* time someone says "coordinate", the work is multi-agent by definition.
|
|
168
|
+
*/
|
|
169
|
+
export const L2_COORDINATE = {
|
|
170
|
+
en: /\b(coordinate|orchestrate|delegate|parallelize|fan\s*out)\b/i,
|
|
171
|
+
zh: /(协调|编排|分发|拆分|并行|分派|分配|统筹)/,
|
|
172
|
+
};
|
|
173
|
+
// ---------------------------------------------------------------------------
|
|
174
|
+
// §2.4 — Conjunction of distinct verbs / numbered list
|
|
175
|
+
// ---------------------------------------------------------------------------
|
|
176
|
+
/**
|
|
177
|
+
* Sequenced verbs (§2.4 row 1). "X then Y" / "X 然后 Y".
|
|
178
|
+
*/
|
|
179
|
+
export const L2_SEQUENCED_VERBS = {
|
|
180
|
+
en: /\b(then|and\s+then|after\s+that|next|followed\s+by|subsequently)\b/i,
|
|
181
|
+
zh: /(然后|接着|之后|再|随后|继而|紧接着)/,
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Numbered/bulleted list (§2.4 row 3). Two or more numbered items in the
|
|
185
|
+
* same input is structurally L2.
|
|
186
|
+
*/
|
|
187
|
+
/**
|
|
188
|
+
* Numbered list trigger. Matches "1. … 2. …" / "(1) … (2) …" / "① … ②".
|
|
189
|
+
* The `\s?` after the marker is OPTIONAL because Chinese-encoded numbered
|
|
190
|
+
* lists ("①修复 ②测试") have no whitespace between the marker and the
|
|
191
|
+
* content.
|
|
192
|
+
*/
|
|
193
|
+
export const L2_NUMBERED_LIST = /(?:^|\s)(?:1\.|\(1\)|①)\s?.{0,200}?(?:^|\s)(?:2\.|\(2\)|②)/s;
|
|
194
|
+
// ---------------------------------------------------------------------------
|
|
195
|
+
// §2.5 — Cross-system context-pivot (catches "oss重启了 你现在再做这个")
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
/**
|
|
198
|
+
* Restart/recovery + redirect (§2.5). Status-update clause followed by a
|
|
199
|
+
* directive that references prior multi-step context. The "this/这个"
|
|
200
|
+
* referent points to a prior plan the classifier can't resolve, but the
|
|
201
|
+
* SHAPE is reliable enough to promote.
|
|
202
|
+
*/
|
|
203
|
+
export const L2_CROSS_SYSTEM_PIVOT = {
|
|
204
|
+
en: /\b(restart(ed)?|back|up|live|running|recovered)\b.{0,40}?\b(now|then|so|please)?\s*(do|run|continue|resume|proceed|kick\s+off|pick\s+up)\b/i,
|
|
205
|
+
/**
|
|
206
|
+
* ZH: status-clause (重启/回来/上线/跑起来/好了/恢复) + ≤16-char gap +
|
|
207
|
+
* directive prefix (现在/那/你?) + (再/继续/接着/开始) + verb (做/搞/跑/继续).
|
|
208
|
+
*/
|
|
209
|
+
zh: /(重启|回来|上线|跑起来|好了|恢复|恢复了|起来了|连上).{0,16}?(现在|那|你)?\s*(再|继续|接着|开始|重新).{0,8}?(做|搞|跑|继续|执行|开始|处理|完成)/,
|
|
210
|
+
};
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
// §2.6 — Sprint / OKR / time-budget markers (L3 candidates)
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
214
|
+
/**
|
|
215
|
+
* Sprint / milestone / epic markers (§2.6 row 1). These are L3 CANDIDATES
|
|
216
|
+
* — combined with §2.3 they classify L3; alone they classify L2.
|
|
217
|
+
*/
|
|
218
|
+
export const L3_SPRINT_OKR_MARKERS = {
|
|
219
|
+
en: /\b(sprint|milestone|epic|okr|kr\d?)\b/i,
|
|
220
|
+
zh: /(冲刺|迭代|里程碑|目标|kr\d?|季度目标|年度目标)/i,
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* Multi-day timebox (§2.6 row 2). Time markers like "this week" /
|
|
224
|
+
* "by Friday" / "这周" / "下周" combined with a verb suggest sprint-level
|
|
225
|
+
* scope.
|
|
226
|
+
*/
|
|
227
|
+
export const L3_TIMEBOX_MARKERS = {
|
|
228
|
+
en: /\b(this\s+week|by\s+(eod|friday|monday|tuesday|wednesday|thursday|sunday|saturday|tomorrow|tonight)|next\s+sprint|tonight|overnight|by\s+end\s+of\s+(day|week|sprint))\b/i,
|
|
229
|
+
zh: /(这周|本周|今天|今晚|过夜|周末|下周|明天前|月底|季度内|本季度|这个月|下个月)/,
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Deliver / ship verbs (§2.6 row 3). Distinct from §2.3 deploy axis —
|
|
233
|
+
* "ship" / "上线" carry a sprint-completion semantic.
|
|
234
|
+
*/
|
|
235
|
+
export const L3_DELIVER_SHIP_VERBS = {
|
|
236
|
+
en: /\b(ship|deliver|launch|release|land|execute)\b/i,
|
|
237
|
+
zh: /(发布|上线|交付|搞定|完成|拿下|落地|执行)/,
|
|
238
|
+
};
|
|
239
|
+
// ---------------------------------------------------------------------------
|
|
240
|
+
// §1.2 — Read verbs (anti-promotion guard for §2.1)
|
|
241
|
+
// ---------------------------------------------------------------------------
|
|
242
|
+
/**
|
|
243
|
+
* Read-only / status-lookup verbs. If the only verb in the input is a
|
|
244
|
+
* read verb, do NOT promote even if a quantifier is present
|
|
245
|
+
* (§3 last paragraph: "Show me all 3 statuses" stays L0).
|
|
246
|
+
*/
|
|
247
|
+
export const L0_READ_VERB_PATTERN = {
|
|
248
|
+
en: /\b(show|list|get|check|find|count|describe|explain|view|see|look\s+at|what|where|when|who|which|how|is|are|does|do|status|version|health|uptime)\b/i,
|
|
249
|
+
zh: /(查看|查询|展示|列出|看一下|看看|多少|什么|哪|是否|有没有|状态|版本|健康|启动时间)/,
|
|
250
|
+
};
|
|
251
|
+
// ---------------------------------------------------------------------------
|
|
252
|
+
// Action verb pattern (used by isActionableIntent)
|
|
253
|
+
// ---------------------------------------------------------------------------
|
|
254
|
+
/**
|
|
255
|
+
* EN action verb pattern. Used as a positive signal for actionability
|
|
256
|
+
* when no non-actionable pattern matches. Pre-existing — kept here to
|
|
257
|
+
* keep all classifier inputs in one file.
|
|
258
|
+
*/
|
|
259
|
+
export const ACTION_VERB_EN = /\b(fix|build|create|deploy|implement|add|update|delete|remove|write|read|check|test|run|make|send|set\s+up|configure|install|download|upload|convert|transform|generate|export|import|refactor|migrate|upgrade|optimize|search|find|move|copy|rename|clean\s*up|set|start|stop|restart|enable|disable|schedule|assign|delegate|review|audit|analyze|investigate|research|explore|design|plan|document|monitor|track|debug|trace|patch|revert|rollback|merge|push|pull|commit|release|publish|integrate|connect|disconnect|setup|tear\s*down|provision|scale|backup|restore)\b/i;
|
|
260
|
+
/**
|
|
261
|
+
* ZH action verb pattern. Mirrors §2.3 + §2.6 verb sets plus the canonical
|
|
262
|
+
* Chinese imperatives Mia called out in the spec preamble (§0 root cause
|
|
263
|
+
* 1): 做/写/搞/搞定/重启/检查 etc.
|
|
264
|
+
*
|
|
265
|
+
* **Strictness on dual-use verbs (Mia 2026-05-06):** the bare imperatives
|
|
266
|
+
* 做 and 搞 are conversational-filler-ambiguous (做了 = "did already",
|
|
267
|
+
* 搞砸 = "messed up", 搞不定 = "can't do"). To follow Mia's
|
|
268
|
+
* stricter-promotion default ("false-negative is fixable; false-positive
|
|
269
|
+
* over-decomposes"), we use negative lookaheads on those two so the
|
|
270
|
+
* completed/denial forms don't match. Other actionable forms (做完, 搞定,
|
|
271
|
+
* 做+deliverable) are explicit fall-through tokens further in the pattern.
|
|
272
|
+
*
|
|
273
|
+
* The companion {@link NON_ACTIONABLE_PATTERNS_ZH} set includes
|
|
274
|
+
* sentence-shape filters for "I just did X" / "I can't do X" cases that
|
|
275
|
+
* the lookahead alone cannot catch — both layers together produce the
|
|
276
|
+
* stricter behaviour Mia asked for.
|
|
277
|
+
*/
|
|
278
|
+
// Issue #472 (Arch nit on PR #471): symmetry fix on the bare-做
|
|
279
|
+
// negative-lookahead list. 搞 already excluded its mistake/botched
|
|
280
|
+
// suffixes (砸|错|乱|糊涂); 做 only excluded completed/denial suffixes
|
|
281
|
+
// (了|过|得|的|出|不到|不了|不下|不来|不出) and missed the parallel
|
|
282
|
+
// mistake suffixes (错|坏|废). Operational risk: a user typing
|
|
283
|
+
// "做错了" / "做坏了" / "做废了" matched the bare 做 token and reached
|
|
284
|
+
// the L2 promoter. Symmetric coverage closes the gap.
|
|
285
|
+
export const ACTION_VERB_ZH = /(做(?!了|过|得|的|出|错|坏|废|不到|不了|不下|不来|不出)|写(?!不出|不来)|搞(?!砸|错|不定|不动|不了|乱|糊涂)|搞定|做完|完成|重启|启动|停止|关闭|检查|查看|查询|修复|修\b|改|改写|编写|起草|添加|删除|移除|部署|上线|发布|创建|实现|构建|搭建|设计|分析|审查|评审|编排|调研|规划|计划|制定|优化|重构|拆分|分发|分派|协调|分配|统筹|集成|配置|安装|更新|升级|迁移|回填|监控|跟踪|追踪|调试|跑|执行|处理|准备|提交|合并|推送|拉取|发版|交付|落地|拿下|测试|审计|评估|排查|审核|审定)/;
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
// Non-actionable patterns — ZH parity additions
|
|
288
|
+
// ---------------------------------------------------------------------------
|
|
289
|
+
/**
|
|
290
|
+
* Non-actionable ZH patterns that should be filtered out by
|
|
291
|
+
* `isActionableIntent` before classification (§3 filtered rows).
|
|
292
|
+
*
|
|
293
|
+
* Exported as an array for composition with the existing EN
|
|
294
|
+
* NON_ACTIONABLE_PATTERNS in `intent-task.types.ts`.
|
|
295
|
+
*/
|
|
296
|
+
export const NON_ACTIONABLE_PATTERNS_ZH = [
|
|
297
|
+
// Greetings / pleasantries (§3 row 12)
|
|
298
|
+
/^(你好|您好|嗨|早上好|下午好|晚上好|早|晚安|再见|拜拜|多谢|谢谢|感谢)\s*[。!!]?$/,
|
|
299
|
+
// Pure acknowledgements (§3 row 7)
|
|
300
|
+
/^(好的|好|知道了|收到|嗯|嗯嗯|哦|哦哦|明白|明白了|可以|行|对|没问题|稍等|马上|马上来|好啊|好哒)\s*[。!!]?$/,
|
|
301
|
+
// Opinion / discussion (§3 row 8: 我觉得 / 也许)
|
|
302
|
+
/^(我觉得|我认为|我感觉|也许|可能|可能我|或许|大概|应该|觉得)/,
|
|
303
|
+
// FYI / status-share (§3 row 9: 我刚 push 了)
|
|
304
|
+
// Allow optional whitespace between 我刚/已经 and the past-tense verb so
|
|
305
|
+
// "我刚 push 了" / "我已经 merge 完了" etc. all match.
|
|
306
|
+
/^我\s*(刚|已经|已|刚刚)\s*(做了|完成|搞定|push|merge|提交|推送|部署|更新|修复|发布)/i,
|
|
307
|
+
/^(做完了|完成了|已完成|刚完成|刚刚搞定)/,
|
|
308
|
+
// Apology / confirmation (§3 row 10)
|
|
309
|
+
/^(抱歉|不好意思|对不起|确认|确认了|没事|没关系|没什么)/,
|
|
310
|
+
// Mia stricter-default 2026-05-06: dual-use verb conversational-filler
|
|
311
|
+
// forms. These run BEFORE classification so a message like "做了" /
|
|
312
|
+
// "搞砸了" / "做不到" cannot reach the L2 promoter. Catches the cases
|
|
313
|
+
// the verb-level negative lookahead alone misses (e.g. when the
|
|
314
|
+
// problematic form is mid-sentence rather than verb-tail).
|
|
315
|
+
//
|
|
316
|
+
// (a) "I/we did X already" — completed action, not a directive.
|
|
317
|
+
/^(?:我们?\s*)?(?:刚|已经|已|刚刚|早就)?\s*(?:做了|搞了|做完了|搞完了|搞定了|完成了|弄完了|弄好了|做过了|搞过了)/,
|
|
318
|
+
// (b) "(I) can't do X" — capability denial, not a directive.
|
|
319
|
+
/^.{0,20}?(做不到|做不了|做不下来|做不出来|搞不定|搞不动|搞不了|完不成|弄不了|没做完|没搞定)/,
|
|
320
|
+
// (c) Short message ending in a botched/error verb (搞砸/搞错).
|
|
321
|
+
// Issue #472: parallel mistake-form coverage. 搞 had 砸|错|乱|糊涂;
|
|
322
|
+
// 做 needs the parallel 错|坏|废 forms so a user message like "做错了" /
|
|
323
|
+
// "做坏了" / "做废了" is filtered before the L2 promoter sees it.
|
|
324
|
+
/^.{0,30}?(搞砸|搞错|搞乱|搞糊涂|做错|做坏|做废|做糟)(?:了|过)?\s*[。!?!?]?$/,
|
|
325
|
+
];
|
|
326
|
+
// ---------------------------------------------------------------------------
|
|
327
|
+
// Length floors
|
|
328
|
+
// ---------------------------------------------------------------------------
|
|
329
|
+
/**
|
|
330
|
+
* Length floors for L2 promotion when no rule fires. ZH has no spaces, so
|
|
331
|
+
* word-count alone under-estimates message density — char-count is the
|
|
332
|
+
* complementary axis.
|
|
333
|
+
*/
|
|
334
|
+
export const L2_LENGTH_FLOORS = {
|
|
335
|
+
/** EN/space-tokenised word count above which the message is L2. */
|
|
336
|
+
wordCount: 35,
|
|
337
|
+
/** Total character count above which the message is L2 (catches ZH). */
|
|
338
|
+
charCount: 80,
|
|
339
|
+
};
|
|
340
|
+
// ---------------------------------------------------------------------------
|
|
341
|
+
// Category — ZH parity extensions (§2.3 lookup tables)
|
|
342
|
+
// ---------------------------------------------------------------------------
|
|
343
|
+
/**
|
|
344
|
+
* Category-specific keyword sets. Each category combines an EN pattern
|
|
345
|
+
* with a ZH pattern; the classifier matches if EITHER fires.
|
|
346
|
+
*
|
|
347
|
+
* Exported as a structured object so the consumer code reads
|
|
348
|
+
* `CATEGORY_KEYWORDS.debugging.zh.test(input)` rather than digging into
|
|
349
|
+
* nested ternaries.
|
|
350
|
+
*
|
|
351
|
+
* Order is significant — see `classifyIntentCategory` in
|
|
352
|
+
* `intent-task.types.ts`. The most-specific categories run first.
|
|
353
|
+
*/
|
|
354
|
+
export const CATEGORY_KEYWORDS = {
|
|
355
|
+
debugging: {
|
|
356
|
+
en: /\b(fix|bug|error|crash|broken|issue|debug|trace|stack\s*trace|exception|segfault|panic|hang|leak|regression|flaky)\b/i,
|
|
357
|
+
zh: /(修复|修\b|改bug|bug|报错|崩溃|出错|故障|异常|挂了|内存泄漏|泄漏|不工作|有问题|错了|挂死|死循环|跑不起来)/i,
|
|
358
|
+
},
|
|
359
|
+
deployment: {
|
|
360
|
+
// Bug A v0 (2026-05-06): added `ship|publish` for backward
|
|
361
|
+
// compatibility with v3-data.service.test.ts which pins
|
|
362
|
+
// "Ship the new feature" → deployment. Pre-Bug-A the v3-data
|
|
363
|
+
// classifier had its own deploy regex with these tokens; the
|
|
364
|
+
// delegation rolls them in here so the pre-existing assertion
|
|
365
|
+
// still passes after consolidation.
|
|
366
|
+
en: /\b(deploy|ship|publish|staging|production|docker|kubernetes|k8s|helm|terraform|ansible|nginx|container|image|rollback|rollout)\b/i,
|
|
367
|
+
zh: /(部署|上线|发布|发版|预发|生产|生产环境|预发环境|镜像|容器|回滚|灰度|滚动发布)/,
|
|
368
|
+
},
|
|
369
|
+
release: {
|
|
370
|
+
en: /\b(release)\b/i,
|
|
371
|
+
zh: /(发版|release)/i,
|
|
372
|
+
},
|
|
373
|
+
ciCdContext: {
|
|
374
|
+
en: /\b(ci|cd)\b/i,
|
|
375
|
+
zh: /(持续集成|持续交付|流水线|ci|cd)/i,
|
|
376
|
+
},
|
|
377
|
+
ciCdAction: {
|
|
378
|
+
en: /\b(pipeline|build|run|trigger|fix)\b/i,
|
|
379
|
+
zh: /(流水线|构建|运行|触发|修复)/,
|
|
380
|
+
},
|
|
381
|
+
review: {
|
|
382
|
+
en: /\b(review|pr\b|pull\s+request|code\s+review|audit|approve|reject|lgtm)\b/i,
|
|
383
|
+
zh: /(审查|评审|审核|review|代码审查|代码评审|pr\b|拉取请求|批准|驳回|通过)/i,
|
|
384
|
+
},
|
|
385
|
+
research: {
|
|
386
|
+
en: /\b(research|investigate|explore|analyze|compare|evaluate|benchmark|measure|profile|survey|study)\b/i,
|
|
387
|
+
zh: /(研究|调查|分析|评估|对比|评测|基准测试|测量|画像|调研|考察|学习|探索)/,
|
|
388
|
+
},
|
|
389
|
+
planning: {
|
|
390
|
+
en: /\b(plan|roadmap|strategy|design|architect|spec|specification|rfc|proposal|estimate|prioritize|schedule|timeline|milestone)\b/i,
|
|
391
|
+
zh: /(规划|路线图|战略|策略|设计|架构|规范|提案|估算|优先级|时间表|时间线|里程碑|计划|方案|蓝图)/,
|
|
392
|
+
},
|
|
393
|
+
communication: {
|
|
394
|
+
en: /\b(message|notify|slack|email|communicate|tell\s|announce|broadcast|ping|alert|report\s+to|inform|update\s+the\s+team)\b/i,
|
|
395
|
+
zh: /(告诉|问|通知|发消息|转告|通报|告知|联系|沟通|喊一下|跟.{0,4}说|@|私信|群发)/,
|
|
396
|
+
},
|
|
397
|
+
codeChange: {
|
|
398
|
+
en: /\b(implement|code|write|add|update|modify|refactor|create|build|develop|rename|move|copy|delete|remove|clean\s*up|optimize|improve|enhance|extend|extract|inline|merge|split|convert|transform|generate|scaffold|bootstrap|set\s*up|configure|install|integrate|connect|wire|hook\s*up|enable|disable|restart|reboot)\b/i,
|
|
399
|
+
// CJK note: \b doesn't behave correctly between two CJK chars in JS,
|
|
400
|
+
// so the bare-verb tokens (做/写/改/加) use negative lookaheads to
|
|
401
|
+
// exclude their non-imperative suffixes rather than relying on \b.
|
|
402
|
+
// Mia stricter-default: 做(?!了|过|得|的|出) excludes 做了/做过/做得/
|
|
403
|
+
// 做的/做出 — the conversational/completed forms.
|
|
404
|
+
// Issue #472: parallel symmetry fix — 做(?!...|错|坏|废|...) so the
|
|
405
|
+
// codeChange category doesn't fire on "做错" / "做坏" / "做废" forms.
|
|
406
|
+
zh: /(实现|添加|创建|开发|编写|搭建|新增|修改|更新|更改|重构|删除|移除|优化|增强|扩展|抽取|内联|合并|拆分|转换|生成|脚手架|配置|安装|集成|连接|启用|禁用|改成|改名|改完|改造|改一下|改个|做(?!了|过|得|的|出|错|坏|废|不到|不了)|写(?!不出|不来)|搞(?!砸|错|不定|不动|不了|乱|糊涂)|去掉|去除|加上|加入|加进|重启|启动)/,
|
|
407
|
+
},
|
|
408
|
+
query: {
|
|
409
|
+
en: /\b(what|where|when|who|which|how|show|list|get|status|check|find|search|look\s*up|count|describe|explain)\b/i,
|
|
410
|
+
zh: /(什么|哪里|哪|何时|谁|哪个|怎么|怎样|展示|列出|看|看看|查看|查询|状态|检查|查找|搜索|查阅|多少|描述|解释|说明)/,
|
|
411
|
+
},
|
|
412
|
+
// Growth / money / marketing — non-software business goals (make money, grow
|
|
413
|
+
// an audience, run marketing). Keywords are deliberately SPECIFIC phrases to
|
|
414
|
+
// avoid colliding with software intents ("build" stays code_change; only the
|
|
415
|
+
// domain phrases below route here).
|
|
416
|
+
growth: {
|
|
417
|
+
en: /\b(monetize|monetise|make\s+money|earn\s+money|revenue|profit|sales\s+funnel|lead\s+gen(eration)?|conversion\s+rate|go[- ]to[- ]market|gtm|social\s+media|marketing\s+campaign|ad\s+campaign|grow\s+(the\s+)?(audience|following|account|subscribers|userbase)|gain\s+(followers|subscribers)|acquire\s+(customers|users)|seo\s+strategy|content\s+marketing|influencer)\b/i,
|
|
418
|
+
zh: /(变现|挣钱|赚钱|盈利|营收|获客|拉新|涨粉|增粉|涨粉丝|加粉|社媒|社交媒体|营销|推广|引流|带货|卖货|销售额|转化率|增长黑客|私域|公域|投放|起号|做号|运营.{0,2}(账号|社媒|抖音|小红书|公众号))/,
|
|
419
|
+
},
|
|
420
|
+
};
|
|
421
|
+
//# sourceMappingURL=intent-classifier.rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-classifier.rules.js","sourceRoot":"","sources":["../../../../../../backend/src/services/intent-task/intent-classifier.rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Client Service
|
|
3
|
+
*
|
|
4
|
+
* Enables Crewly agents to connect to external MCP (Model Context Protocol)
|
|
5
|
+
* servers and use their tools. This is the client-side counterpart to our
|
|
6
|
+
* existing MCP server — it lets agents consume tools from any MCP-compatible
|
|
7
|
+
* server (filesystem, GitHub, database, etc.).
|
|
8
|
+
*
|
|
9
|
+
* Supports stdio-based MCP servers (child process spawning) which is the
|
|
10
|
+
* standard transport for local MCP servers.
|
|
11
|
+
*
|
|
12
|
+
* @module services/mcp-client
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* MCP Client configuration constants
|
|
16
|
+
*/
|
|
17
|
+
export declare const MCP_CLIENT_CONSTANTS: {
|
|
18
|
+
/** Client identification sent during MCP handshake */
|
|
19
|
+
readonly CLIENT_INFO: {
|
|
20
|
+
readonly NAME: "crewly-agent";
|
|
21
|
+
readonly VERSION: "1.0.0";
|
|
22
|
+
};
|
|
23
|
+
/** Default timeout for tool calls (30 seconds) */
|
|
24
|
+
readonly TOOL_CALL_TIMEOUT_MS: 30000;
|
|
25
|
+
/** Default timeout for server connection (15 seconds) */
|
|
26
|
+
readonly CONNECTION_TIMEOUT_MS: 15000;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Configuration for an external MCP server.
|
|
30
|
+
*
|
|
31
|
+
* Matches the format used in `crewly.config.ts`:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* mcpServers: {
|
|
34
|
+
* filesystem: { command: 'npx', args: ['-y', '@anthropic/mcp-filesystem'] },
|
|
35
|
+
* github: { command: 'npx', args: ['-y', '@anthropic/mcp-github'] },
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export interface McpServerConfig {
|
|
40
|
+
/** The executable command to run (e.g., 'npx', 'node', 'python') */
|
|
41
|
+
command: string;
|
|
42
|
+
/** Command-line arguments for the executable */
|
|
43
|
+
args?: string[];
|
|
44
|
+
/** Environment variables to set for the server process */
|
|
45
|
+
env?: Record<string, string>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Normalized tool information from an MCP server.
|
|
49
|
+
*/
|
|
50
|
+
export interface McpToolInfo {
|
|
51
|
+
/** Tool name as registered on the MCP server */
|
|
52
|
+
name: string;
|
|
53
|
+
/** Human-readable description of the tool */
|
|
54
|
+
description?: string;
|
|
55
|
+
/** JSON Schema describing the tool's input parameters */
|
|
56
|
+
inputSchema: Record<string, unknown>;
|
|
57
|
+
/** Name of the MCP server that provides this tool */
|
|
58
|
+
serverName: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Result from calling an MCP tool.
|
|
62
|
+
*/
|
|
63
|
+
export interface McpToolResult {
|
|
64
|
+
/** Content blocks returned by the tool */
|
|
65
|
+
content: McpContentBlock[];
|
|
66
|
+
/** Whether the tool call resulted in an error */
|
|
67
|
+
isError: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A single content block in a tool result.
|
|
71
|
+
*/
|
|
72
|
+
export interface McpContentBlock {
|
|
73
|
+
/** Content type: 'text', 'image', or 'resource' */
|
|
74
|
+
type: string;
|
|
75
|
+
/** Text content (when type is 'text') */
|
|
76
|
+
text?: string;
|
|
77
|
+
/** Base64-encoded data (when type is 'image') */
|
|
78
|
+
data?: string;
|
|
79
|
+
/** MIME type (when type is 'image') */
|
|
80
|
+
mimeType?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Status information for a connected MCP server.
|
|
84
|
+
*/
|
|
85
|
+
export interface McpServerStatus {
|
|
86
|
+
/** Server identifier */
|
|
87
|
+
name: string;
|
|
88
|
+
/** Whether the server is currently connected */
|
|
89
|
+
connected: boolean;
|
|
90
|
+
/** Number of tools available from this server */
|
|
91
|
+
toolCount: number;
|
|
92
|
+
/** Server name reported during handshake */
|
|
93
|
+
serverName?: string;
|
|
94
|
+
/** Server version reported during handshake */
|
|
95
|
+
serverVersion?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Manages connections to external MCP servers and provides a unified
|
|
99
|
+
* interface for discovering and calling tools across all connected servers.
|
|
100
|
+
*
|
|
101
|
+
* Agents use this service to:
|
|
102
|
+
* 1. Connect to configured MCP servers at startup
|
|
103
|
+
* 2. Discover available tools across all servers
|
|
104
|
+
* 3. Call tools by name with type-safe arguments
|
|
105
|
+
* 4. Gracefully disconnect on shutdown
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* const mcpClient = new McpClientService();
|
|
110
|
+
*
|
|
111
|
+
* // Connect to a filesystem MCP server
|
|
112
|
+
* await mcpClient.connectServer('filesystem', {
|
|
113
|
+
* command: 'npx',
|
|
114
|
+
* args: ['-y', '@anthropic/mcp-filesystem', '/home/user'],
|
|
115
|
+
* });
|
|
116
|
+
*
|
|
117
|
+
* // List all available tools
|
|
118
|
+
* const tools = mcpClient.listTools();
|
|
119
|
+
*
|
|
120
|
+
* // Call a tool
|
|
121
|
+
* const result = await mcpClient.callTool('filesystem', 'read_file', {
|
|
122
|
+
* path: '/home/user/file.txt',
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* // Disconnect all servers
|
|
126
|
+
* await mcpClient.disconnectAll();
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare class McpClientService {
|
|
130
|
+
/** Map of server name -> active connection */
|
|
131
|
+
private connections;
|
|
132
|
+
/**
|
|
133
|
+
* Connect to an external MCP server via stdio transport.
|
|
134
|
+
*
|
|
135
|
+
* Spawns the server as a child process, performs the MCP handshake,
|
|
136
|
+
* and caches the list of available tools.
|
|
137
|
+
*
|
|
138
|
+
* @param name - Unique identifier for this server connection
|
|
139
|
+
* @param config - Server configuration (command, args, env)
|
|
140
|
+
* @throws Error if already connected to a server with this name
|
|
141
|
+
* @throws Error if the connection or handshake fails
|
|
142
|
+
*/
|
|
143
|
+
connectServer(name: string, config: McpServerConfig): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Disconnect from a specific MCP server.
|
|
146
|
+
*
|
|
147
|
+
* Closes the transport and cleans up the child process.
|
|
148
|
+
*
|
|
149
|
+
* @param name - Name of the server to disconnect
|
|
150
|
+
* @throws Error if the server is not connected
|
|
151
|
+
*/
|
|
152
|
+
disconnectServer(name: string): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Disconnect from all connected MCP servers.
|
|
155
|
+
*
|
|
156
|
+
* Closes all transports and cleans up child processes. Errors from
|
|
157
|
+
* individual disconnections are caught and do not prevent other
|
|
158
|
+
* servers from being disconnected. Connections are always removed
|
|
159
|
+
* from the internal map, even if `close()` fails.
|
|
160
|
+
*/
|
|
161
|
+
disconnectAll(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* List all available tools across connected MCP servers.
|
|
164
|
+
*
|
|
165
|
+
* @param serverName - Optional: filter tools to a specific server
|
|
166
|
+
* @returns Array of tool information objects
|
|
167
|
+
*/
|
|
168
|
+
listTools(serverName?: string): McpToolInfo[];
|
|
169
|
+
/**
|
|
170
|
+
* Call a tool on a specific MCP server.
|
|
171
|
+
*
|
|
172
|
+
* @param serverName - Name of the server that provides the tool
|
|
173
|
+
* @param toolName - Name of the tool to call
|
|
174
|
+
* @param args - Arguments to pass to the tool
|
|
175
|
+
* @returns The tool's result containing content blocks and error status
|
|
176
|
+
* @throws Error if the server is not connected
|
|
177
|
+
* @throws Error if the tool is not found on the server
|
|
178
|
+
* @throws Error if the tool call fails
|
|
179
|
+
*/
|
|
180
|
+
callTool(serverName: string, toolName: string, args?: Record<string, unknown>): Promise<McpToolResult>;
|
|
181
|
+
/**
|
|
182
|
+
* Refresh the tool list for a specific server.
|
|
183
|
+
*
|
|
184
|
+
* Useful when a server's tools may have changed since the initial connection.
|
|
185
|
+
*
|
|
186
|
+
* @param serverName - Name of the server to refresh
|
|
187
|
+
* @throws Error if the server is not connected
|
|
188
|
+
*/
|
|
189
|
+
refreshTools(serverName: string): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Get the names of all currently connected MCP servers.
|
|
192
|
+
*
|
|
193
|
+
* @returns Array of server names
|
|
194
|
+
*/
|
|
195
|
+
getConnectedServers(): string[];
|
|
196
|
+
/**
|
|
197
|
+
* Check if a specific MCP server is currently connected.
|
|
198
|
+
*
|
|
199
|
+
* @param name - Server name to check
|
|
200
|
+
* @returns True if the server is connected
|
|
201
|
+
*/
|
|
202
|
+
isServerConnected(name: string): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Get status information for all connected servers.
|
|
205
|
+
*
|
|
206
|
+
* @returns Array of server status objects including tool counts
|
|
207
|
+
*/
|
|
208
|
+
getServerStatuses(): McpServerStatus[];
|
|
209
|
+
/**
|
|
210
|
+
* Connect to multiple MCP servers from a configuration map.
|
|
211
|
+
*
|
|
212
|
+
* This is the primary entrypoint for agent startup. Errors from
|
|
213
|
+
* individual connections are caught — failing servers do not prevent
|
|
214
|
+
* other servers from connecting.
|
|
215
|
+
*
|
|
216
|
+
* @param configs - Map of server name -> server config
|
|
217
|
+
* @returns Map of server name -> error (only for servers that failed to connect)
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
* const errors = await mcpClient.connectAll({
|
|
222
|
+
* filesystem: { command: 'npx', args: ['-y', '@anthropic/mcp-filesystem', '/tmp'] },
|
|
223
|
+
* github: { command: 'npx', args: ['-y', '@anthropic/mcp-github'] },
|
|
224
|
+
* });
|
|
225
|
+
*
|
|
226
|
+
* if (errors.size > 0) {
|
|
227
|
+
* console.warn('Some MCP servers failed to connect:', errors);
|
|
228
|
+
* }
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
connectAll(configs: Record<string, McpServerConfig>): Promise<Map<string, Error>>;
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=mcp-client.d.ts.map
|