@coralai/sps-cli 0.55.12 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/cardMarkComplete.d.ts.map +1 -1
- package/dist/commands/cardMarkComplete.js +6 -3
- package/dist/commands/cardMarkComplete.js.map +1 -1
- package/dist/commands/projectInit.d.ts +18 -16
- package/dist/commands/projectInit.d.ts.map +1 -1
- package/dist/commands/projectInit.js +59 -186
- package/dist/commands/projectInit.js.map +1 -1
- package/dist/commands/skillCommand.js +7 -4
- package/dist/commands/skillCommand.js.map +1 -1
- package/dist/commands/tick.d.ts +2 -20
- package/dist/commands/tick.d.ts.map +1 -1
- package/dist/commands/tick.js +58 -1
- package/dist/commands/tick.js.map +1 -1
- package/dist/console/index.d.ts.map +1 -1
- package/dist/console/index.js +4 -0
- package/dist/console/index.js.map +1 -1
- package/dist/console/routes/chat.d.ts.map +1 -1
- package/dist/console/routes/chat.js +121 -0
- package/dist/console/routes/chat.js.map +1 -1
- package/dist/console/routes/projects.d.ts +0 -6
- package/dist/console/routes/projects.d.ts.map +1 -1
- package/dist/console/routes/projects.js +11 -2
- package/dist/console/routes/projects.js.map +1 -1
- package/dist/console/routes/providers.d.ts +10 -0
- package/dist/console/routes/providers.d.ts.map +1 -0
- package/dist/console/routes/providers.js +63 -0
- package/dist/console/routes/providers.js.map +1 -0
- package/dist/console/routes/smartarrange.d.ts +4 -0
- package/dist/console/routes/smartarrange.d.ts.map +1 -0
- package/dist/console/routes/smartarrange.js +107 -0
- package/dist/console/routes/smartarrange.js.map +1 -0
- package/dist/console/routes/system.d.ts.map +1 -1
- package/dist/console/routes/system.js +28 -0
- package/dist/console/routes/system.js.map +1 -1
- package/dist/console/routes/workers.d.ts.map +1 -1
- package/dist/console/routes/workers.js +36 -4
- package/dist/console/routes/workers.js.map +1 -1
- package/dist/console-assets/assets/index-CWkYVI5d.js +600 -0
- package/dist/console-assets/assets/index-CnUBHNsN.css +10 -0
- package/dist/console-assets/index.html +2 -2
- package/dist/core/agents/AcpBackend.d.ts +24 -0
- package/dist/core/agents/AcpBackend.d.ts.map +1 -0
- package/dist/core/agents/AcpBackend.js +86 -0
- package/dist/core/agents/AcpBackend.js.map +1 -0
- package/dist/core/agents/AgentBackend.d.ts +53 -0
- package/dist/core/agents/AgentBackend.d.ts.map +1 -0
- package/dist/core/agents/AgentBackend.js +18 -0
- package/dist/core/agents/AgentBackend.js.map +1 -0
- package/dist/core/agents/ClaudeAcpBackend.d.ts +13 -0
- package/dist/core/agents/ClaudeAcpBackend.d.ts.map +1 -0
- package/dist/core/agents/ClaudeAcpBackend.js +14 -0
- package/dist/core/agents/ClaudeAcpBackend.js.map +1 -0
- package/dist/core/agents/ClaudeSdkBackend.d.ts +26 -0
- package/dist/core/agents/ClaudeSdkBackend.d.ts.map +1 -0
- package/dist/core/agents/ClaudeSdkBackend.js +102 -0
- package/dist/core/agents/ClaudeSdkBackend.js.map +1 -0
- package/dist/core/agents/CodexAppServerBackend.d.ts +33 -0
- package/dist/core/agents/CodexAppServerBackend.d.ts.map +1 -0
- package/dist/core/agents/CodexAppServerBackend.js +168 -0
- package/dist/core/agents/CodexAppServerBackend.js.map +1 -0
- package/dist/core/agents/OpenAiAgentBackend.d.ts +39 -0
- package/dist/core/agents/OpenAiAgentBackend.d.ts.map +1 -0
- package/dist/core/agents/OpenAiAgentBackend.js +132 -0
- package/dist/core/agents/OpenAiAgentBackend.js.map +1 -0
- package/dist/core/agents/agentsMd.d.ts +2 -0
- package/dist/core/agents/agentsMd.d.ts.map +1 -0
- package/dist/core/agents/agentsMd.js +22 -0
- package/dist/core/agents/agentsMd.js.map +1 -0
- package/dist/core/agents/localTracing.d.ts +3 -0
- package/dist/core/agents/localTracing.d.ts.map +1 -0
- package/dist/core/agents/localTracing.js +42 -0
- package/dist/core/agents/localTracing.js.map +1 -0
- package/dist/core/agents/resolveBackend.d.ts +26 -0
- package/dist/core/agents/resolveBackend.d.ts.map +1 -0
- package/dist/core/agents/resolveBackend.js +27 -0
- package/dist/core/agents/resolveBackend.js.map +1 -0
- package/dist/core/agents/workerOutputSink.d.ts +4 -0
- package/dist/core/agents/workerOutputSink.d.ts.map +1 -0
- package/dist/core/agents/workerOutputSink.js +39 -0
- package/dist/core/agents/workerOutputSink.js.map +1 -0
- package/dist/core/config.d.ts +6 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +4 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/intel/RuntimeSession.d.ts +16 -0
- package/dist/core/intel/RuntimeSession.d.ts.map +1 -0
- package/dist/core/intel/RuntimeSession.js +89 -0
- package/dist/core/intel/RuntimeSession.js.map +1 -0
- package/dist/core/intel/agentsConfig.d.ts +20 -0
- package/dist/core/intel/agentsConfig.d.ts.map +1 -0
- package/dist/core/intel/agentsConfig.js +68 -0
- package/dist/core/intel/agentsConfig.js.map +1 -0
- package/dist/core/intel/planStore.d.ts +23 -0
- package/dist/core/intel/planStore.d.ts.map +1 -0
- package/dist/core/intel/planStore.js +67 -0
- package/dist/core/intel/planStore.js.map +1 -0
- package/dist/core/intel/types.d.ts +86 -0
- package/dist/core/intel/types.d.ts.map +1 -0
- package/dist/core/intel/types.js +8 -0
- package/dist/core/intel/types.js.map +1 -0
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +9 -12
- package/dist/core/memory.js.map +1 -1
- package/dist/core/memoryIngest.d.ts +18 -0
- package/dist/core/memoryIngest.d.ts.map +1 -0
- package/dist/core/memoryIngest.js +56 -0
- package/dist/core/memoryIngest.js.map +1 -0
- package/dist/core/memoryProvider.d.ts +63 -0
- package/dist/core/memoryProvider.d.ts.map +1 -0
- package/dist/core/memoryProvider.js +205 -0
- package/dist/core/memoryProvider.js.map +1 -0
- package/dist/core/skillStore.d.ts.map +1 -1
- package/dist/core/skillStore.js +2 -1
- package/dist/core/skillStore.js.map +1 -1
- package/dist/core/skills/SkillsManager.d.ts +38 -0
- package/dist/core/skills/SkillsManager.d.ts.map +1 -0
- package/dist/core/skills/SkillsManager.js +231 -0
- package/dist/core/skills/SkillsManager.js.map +1 -0
- package/dist/core/skills/distribution.d.ts +64 -0
- package/dist/core/skills/distribution.d.ts.map +1 -0
- package/dist/core/skills/distribution.js +269 -0
- package/dist/core/skills/distribution.js.map +1 -0
- package/dist/core/skills/index.d.ts +13 -0
- package/dist/core/skills/index.d.ts.map +1 -0
- package/dist/core/skills/index.js +13 -0
- package/dist/core/skills/index.js.map +1 -0
- package/dist/core/skills/types.d.ts +44 -0
- package/dist/core/skills/types.d.ts.map +1 -0
- package/dist/core/skills/types.js +9 -0
- package/dist/core/skills/types.js.map +1 -0
- package/dist/core/taskPrompts.d.ts +0 -12
- package/dist/core/taskPrompts.d.ts.map +1 -1
- package/dist/core/taskPrompts.js +0 -14
- package/dist/core/taskPrompts.js.map +1 -1
- package/dist/core/transcriptIngest.d.ts +37 -0
- package/dist/core/transcriptIngest.d.ts.map +1 -0
- package/dist/core/transcriptIngest.js +137 -0
- package/dist/core/transcriptIngest.js.map +1 -0
- package/dist/core/wiki/types.d.ts +282 -745
- package/dist/core/wiki/types.d.ts.map +1 -1
- package/dist/core/wiki/types.js +1 -1
- package/dist/core/wiki/types.js.map +1 -1
- package/dist/engines/SmartArrangeEngine.d.ts +75 -0
- package/dist/engines/SmartArrangeEngine.d.ts.map +1 -0
- package/dist/engines/SmartArrangeEngine.js +112 -0
- package/dist/engines/SmartArrangeEngine.js.map +1 -0
- package/dist/engines/StageEngine.d.ts +3 -17
- package/dist/engines/StageEngine.d.ts.map +1 -1
- package/dist/engines/StageEngine.js +13 -91
- package/dist/engines/StageEngine.js.map +1 -1
- package/dist/engines/smartarrange/AcpWorkerExec.d.ts +35 -0
- package/dist/engines/smartarrange/AcpWorkerExec.d.ts.map +1 -0
- package/dist/engines/smartarrange/AcpWorkerExec.js +71 -0
- package/dist/engines/smartarrange/AcpWorkerExec.js.map +1 -0
- package/dist/engines/smartarrange/cardSink.d.ts +29 -0
- package/dist/engines/smartarrange/cardSink.d.ts.map +1 -0
- package/dist/engines/smartarrange/cardSink.js +43 -0
- package/dist/engines/smartarrange/cardSink.js.map +1 -0
- package/dist/engines/smartarrange/runner.d.ts +24 -0
- package/dist/engines/smartarrange/runner.d.ts.map +1 -0
- package/dist/engines/smartarrange/runner.js +116 -0
- package/dist/engines/smartarrange/runner.js.map +1 -0
- package/dist/engines/smartarrange/screenshot.d.ts +5 -0
- package/dist/engines/smartarrange/screenshot.d.ts.map +1 -0
- package/dist/engines/smartarrange/screenshot.js +117 -0
- package/dist/engines/smartarrange/screenshot.js.map +1 -0
- package/dist/main.js +127 -92
- package/dist/main.js.map +1 -1
- package/dist/manager/worker-manager-impl.d.ts.map +1 -1
- package/dist/manager/worker-manager-impl.js +7 -0
- package/dist/manager/worker-manager-impl.js.map +1 -1
- package/dist/providers/LLMClient.d.ts +32 -0
- package/dist/providers/LLMClient.d.ts.map +1 -0
- package/dist/providers/LLMClient.js +108 -0
- package/dist/providers/LLMClient.js.map +1 -0
- package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
- package/dist/providers/MarkdownTaskBackend.js +3 -2
- package/dist/providers/MarkdownTaskBackend.js.map +1 -1
- package/dist/providers/llm/chatTools.d.ts +11 -0
- package/dist/providers/llm/chatTools.d.ts.map +1 -0
- package/dist/providers/llm/chatTools.js +57 -0
- package/dist/providers/llm/chatTools.js.map +1 -0
- package/dist/providers/llm/codexAuth.d.ts +8 -0
- package/dist/providers/llm/codexAuth.d.ts.map +1 -0
- package/dist/providers/llm/codexAuth.js +57 -0
- package/dist/providers/llm/codexAuth.js.map +1 -0
- package/dist/providers/llm/codexModel.d.ts +14 -0
- package/dist/providers/llm/codexModel.d.ts.map +1 -0
- package/dist/providers/llm/codexModel.js +96 -0
- package/dist/providers/llm/codexModel.js.map +1 -0
- package/dist/providers/llm/localSubscription.d.ts +15 -0
- package/dist/providers/llm/localSubscription.d.ts.map +1 -0
- package/dist/providers/llm/localSubscription.js +66 -0
- package/dist/providers/llm/localSubscription.js.map +1 -0
- package/dist/providers/llm/modelFactory.d.ts +14 -0
- package/dist/providers/llm/modelFactory.d.ts.map +1 -0
- package/dist/providers/llm/modelFactory.js +22 -0
- package/dist/providers/llm/modelFactory.js.map +1 -0
- package/dist/providers/llm/monitorSkills.d.ts +6 -0
- package/dist/providers/llm/monitorSkills.d.ts.map +1 -0
- package/dist/providers/llm/monitorSkills.js +37 -0
- package/dist/providers/llm/monitorSkills.js.map +1 -0
- package/dist/providers/llm/probeTools.d.ts +7 -0
- package/dist/providers/llm/probeTools.d.ts.map +1 -0
- package/dist/providers/llm/probeTools.js +84 -0
- package/dist/providers/llm/probeTools.js.map +1 -0
- package/dist/providers/llm/providers.d.ts +26 -0
- package/dist/providers/llm/providers.d.ts.map +1 -0
- package/dist/providers/llm/providers.js +68 -0
- package/dist/providers/llm/providers.js.map +1 -0
- package/dist/providers/llm/skillTools.d.ts +4 -0
- package/dist/providers/llm/skillTools.d.ts.map +1 -0
- package/dist/providers/llm/skillTools.js +42 -0
- package/dist/providers/llm/skillTools.js.map +1 -0
- package/dist/providers/llm/workerTools.d.ts +9 -0
- package/dist/providers/llm/workerTools.d.ts.map +1 -0
- package/dist/providers/llm/workerTools.js +111 -0
- package/dist/providers/llm/workerTools.js.map +1 -0
- package/dist/providers/mcp/spsMcpServer.d.ts +15 -0
- package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -0
- package/dist/providers/mcp/spsMcpServer.js +67 -0
- package/dist/providers/mcp/spsMcpServer.js.map +1 -0
- package/dist/providers/mcp/spsMcpStdio.d.ts +2 -0
- package/dist/providers/mcp/spsMcpStdio.d.ts.map +1 -0
- package/dist/providers/mcp/spsMcpStdio.js +32 -0
- package/dist/providers/mcp/spsMcpStdio.js.map +1 -0
- package/dist/providers/mcp/spsMcpStdioConfig.d.ts +11 -0
- package/dist/providers/mcp/spsMcpStdioConfig.d.ts.map +1 -0
- package/dist/providers/mcp/spsMcpStdioConfig.js +19 -0
- package/dist/providers/mcp/spsMcpStdioConfig.js.map +1 -0
- package/dist/server.d.ts +23 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +23 -0
- package/dist/server.js.map +1 -1
- package/dist/services/ChatService.d.ts +8 -0
- package/dist/services/ChatService.d.ts.map +1 -1
- package/dist/services/ChatService.js +2 -0
- package/dist/services/ChatService.js.map +1 -1
- package/dist/services/LogService.d.ts +1 -1
- package/dist/services/LogService.d.ts.map +1 -1
- package/dist/services/LogService.js +3 -2
- package/dist/services/LogService.js.map +1 -1
- package/dist/services/ProjectService.d.ts +12 -2
- package/dist/services/ProjectService.d.ts.map +1 -1
- package/dist/services/ProjectService.js +1 -0
- package/dist/services/ProjectService.js.map +1 -1
- package/dist/services/SkillService.js +11 -13
- package/dist/services/SkillService.js.map +1 -1
- package/dist/services/SmartArrangeService.d.ts +12 -0
- package/dist/services/SmartArrangeService.d.ts.map +1 -0
- package/dist/services/SmartArrangeService.js +37 -0
- package/dist/services/SmartArrangeService.js.map +1 -0
- package/dist/services/SystemService.d.ts +20 -0
- package/dist/services/SystemService.d.ts.map +1 -1
- package/dist/services/SystemService.js +93 -0
- package/dist/services/SystemService.js.map +1 -1
- package/dist/services/WorkerService.d.ts +8 -0
- package/dist/services/WorkerService.d.ts.map +1 -1
- package/dist/services/WorkerService.js +73 -3
- package/dist/services/WorkerService.js.map +1 -1
- package/dist/services/container.d.ts +2 -0
- package/dist/services/container.d.ts.map +1 -1
- package/dist/services/container.js +2 -0
- package/dist/services/container.js.map +1 -1
- package/dist/shared/localTime.d.ts +8 -0
- package/dist/shared/localTime.d.ts.map +1 -0
- package/dist/shared/localTime.js +11 -0
- package/dist/shared/localTime.js.map +1 -0
- package/dist/shared/runtimePaths.d.ts +1 -1
- package/dist/shared/runtimePaths.d.ts.map +1 -1
- package/dist/shared/runtimePaths.js +2 -2
- package/dist/shared/runtimePaths.js.map +1 -1
- package/dist/shared/runtimeSchemas.d.ts +74 -245
- package/dist/shared/runtimeSchemas.d.ts.map +1 -1
- package/dist/shared/runtimeSchemas.js +2 -2
- package/dist/shared/runtimeSchemas.js.map +1 -1
- package/monitor-skills/probe-playbook/SKILL.md +32 -0
- package/monitor-skills/visual-rubric/SKILL.md +34 -0
- package/package.json +8 -8
- package/project-template/.claude/hooks/stop.sh +3 -1
- package/dist/console-assets/assets/index-BvWWj69G.js +0 -557
- package/dist/console-assets/assets/index-Eo4PuNPl.css +0 -10
- package/dist/interfaces/ACPClient.d.ts +0 -107
- package/dist/interfaces/ACPClient.d.ts.map +0 -1
- package/dist/interfaces/ACPClient.js +0 -17
- package/dist/interfaces/ACPClient.js.map +0 -1
- package/dist/interfaces/AgentRuntime.d.ts +0 -40
- package/dist/interfaces/AgentRuntime.d.ts.map +0 -1
- package/dist/interfaces/AgentRuntime.js +0 -17
- package/dist/interfaces/AgentRuntime.js.map +0 -1
- package/dist/manager/agentmemory.d.ts +0 -6
- package/dist/manager/agentmemory.d.ts.map +0 -1
- package/dist/manager/agentmemory.js +0 -73
- package/dist/manager/agentmemory.js.map +0 -1
- package/dist/models/acp.d.ts +0 -64
- package/dist/models/acp.d.ts.map +0 -1
- package/dist/models/acp.js +0 -17
- package/dist/models/acp.js.map +0 -1
- package/dist/providers/LocalACPClient.d.ts +0 -27
- package/dist/providers/LocalACPClient.d.ts.map +0 -1
- package/dist/providers/LocalACPClient.js +0 -26
- package/dist/providers/LocalACPClient.js.map +0 -1
- package/dist/providers/adapters/AcpSdkAdapter.d.ts +0 -24
- package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +0 -1
- package/dist/providers/adapters/AcpSdkAdapter.js +0 -439
- package/dist/providers/adapters/AcpSdkAdapter.js.map +0 -1
- package/dist/providers/adapters/acp-fs-handlers.d.ts +0 -26
- package/dist/providers/adapters/acp-fs-handlers.d.ts.map +0 -1
- package/dist/providers/adapters/acp-fs-handlers.js +0 -61
- package/dist/providers/adapters/acp-fs-handlers.js.map +0 -1
- package/dist/providers/adapters/acp-permissions.d.ts +0 -42
- package/dist/providers/adapters/acp-permissions.d.ts.map +0 -1
- package/dist/providers/adapters/acp-permissions.js +0 -76
- package/dist/providers/adapters/acp-permissions.js.map +0 -1
- package/dist/providers/adapters/acp-session-accumulator.d.ts +0 -55
- package/dist/providers/adapters/acp-session-accumulator.d.ts.map +0 -1
- package/dist/providers/adapters/acp-session-accumulator.js +0 -133
- package/dist/providers/adapters/acp-session-accumulator.js.map +0 -1
- package/dist/providers/adapters/acp-terminal-manager.d.ts +0 -56
- package/dist/providers/adapters/acp-terminal-manager.d.ts.map +0 -1
- package/dist/providers/adapters/acp-terminal-manager.js +0 -127
- package/dist/providers/adapters/acp-terminal-manager.js.map +0 -1
- package/project-template/logs/.gitkeep +0 -0
- package/skills/architecture-decision-records/SKILL.md +0 -207
- package/skills/backend/SKILL.md +0 -62
- package/skills/backend/references/api-design.md +0 -168
- package/skills/backend/references/caching.md +0 -181
- package/skills/backend/references/data-access.md +0 -173
- package/skills/backend/references/layering.md +0 -181
- package/skills/backend/references/observability.md +0 -190
- package/skills/backend/references/resilience.md +0 -201
- package/skills/backend/references/security.md +0 -186
- package/skills/backend-architect/SKILL.md +0 -119
- package/skills/code-reviewer/SKILL.md +0 -143
- package/skills/coding-standards/SKILL.md +0 -60
- package/skills/coding-standards/references/clean-code.md +0 -258
- package/skills/coding-standards/references/code-review.md +0 -192
- package/skills/coding-standards/references/commits-and-prs.md +0 -226
- package/skills/coding-standards/references/error-strategy.md +0 -193
- package/skills/coding-standards/references/naming.md +0 -185
- package/skills/coding-standards/references/tdd.md +0 -171
- package/skills/database/SKILL.md +0 -53
- package/skills/database/references/indexing.md +0 -190
- package/skills/database/references/migrations.md +0 -199
- package/skills/database/references/nosql.md +0 -185
- package/skills/database/references/queries.md +0 -295
- package/skills/database/references/scaling.md +0 -203
- package/skills/database/references/schema.md +0 -191
- package/skills/database-optimizer/SKILL.md +0 -168
- package/skills/debugging-workflow/SKILL.md +0 -244
- package/skills/dev-worker/SKILL.md +0 -40
- package/skills/dev-worker/references/architect.md +0 -139
- package/skills/dev-worker/references/backend.md +0 -163
- package/skills/dev-worker/references/frontend.md +0 -122
- package/skills/dev-worker/references/fullstack.md +0 -179
- package/skills/dev-worker/references/optimizer.md +0 -151
- package/skills/dev-worker/references/phaser.md +0 -109
- package/skills/dev-worker/references/prototyper.md +0 -171
- package/skills/dev-worker/references/reviewer.md +0 -122
- package/skills/dev-worker/references/security.md +0 -154
- package/skills/dev-worker/references/senior.md +0 -155
- package/skills/dev-worker/references/typescript.md +0 -65
- package/skills/dev-worker/references/writer.md +0 -201
- package/skills/devops/SKILL.md +0 -55
- package/skills/devops/references/ci-cd.md +0 -204
- package/skills/devops/references/containers.md +0 -272
- package/skills/devops/references/deploy.md +0 -201
- package/skills/devops/references/iac.md +0 -252
- package/skills/devops/references/observability.md +0 -228
- package/skills/devops/references/secrets.md +0 -178
- package/skills/devops-automator/SKILL.md +0 -164
- package/skills/frontend/SKILL.md +0 -52
- package/skills/frontend/references/accessibility.md +0 -222
- package/skills/frontend/references/components.md +0 -206
- package/skills/frontend/references/performance.md +0 -219
- package/skills/frontend/references/routing.md +0 -209
- package/skills/frontend/references/state.md +0 -190
- package/skills/frontend/references/testing.md +0 -216
- package/skills/frontend-developer/SKILL.md +0 -115
- package/skills/git-workflow/SKILL.md +0 -355
- package/skills/golang/SKILL.md +0 -49
- package/skills/golang/references/concurrency.md +0 -284
- package/skills/golang/references/errors.md +0 -241
- package/skills/golang/references/idioms.md +0 -285
- package/skills/golang/references/testing.md +0 -238
- package/skills/java/SKILL.md +0 -50
- package/skills/java/references/concurrency.md +0 -194
- package/skills/java/references/idioms.md +0 -283
- package/skills/java/references/testing.md +0 -228
- package/skills/kotlin/SKILL.md +0 -47
- package/skills/kotlin/references/coroutines.md +0 -240
- package/skills/kotlin/references/idioms.md +0 -268
- package/skills/kotlin/references/testing.md +0 -219
- package/skills/mobile/SKILL.md +0 -50
- package/skills/mobile/references/architecture.md +0 -204
- package/skills/mobile/references/navigation.md +0 -158
- package/skills/mobile/references/performance.md +0 -152
- package/skills/mobile/references/platform.md +0 -166
- package/skills/mobile/references/state-and-data.md +0 -174
- package/skills/python/SKILL.md +0 -51
- package/skills/python/THIRD_PARTY.md +0 -14
- package/skills/python/references/async.md +0 -218
- package/skills/python/references/error-handling.md +0 -254
- package/skills/python/references/idioms.md +0 -279
- package/skills/python/references/packaging.md +0 -233
- package/skills/python/references/testing.md +0 -269
- package/skills/python/references/typing.md +0 -292
- package/skills/qa-tester/SKILL.md +0 -186
- package/skills/rust/SKILL.md +0 -50
- package/skills/rust/references/async.md +0 -224
- package/skills/rust/references/errors.md +0 -240
- package/skills/rust/references/ownership.md +0 -263
- package/skills/rust/references/testing.md +0 -274
- package/skills/rust/references/traits.md +0 -250
- package/skills/security-engineer/SKILL.md +0 -157
- package/skills/sps-memory/SKILL.md +0 -213
- package/skills/sps-pipeline/SKILL.md +0 -476
- package/skills/swift/SKILL.md +0 -48
- package/skills/swift/references/concurrency.md +0 -280
- package/skills/swift/references/idioms.md +0 -334
- package/skills/swift/references/testing.md +0 -229
- package/skills/tax-worker/SKILL.md +0 -150
- package/skills/tax-worker/references/account-codes.md +0 -165
- package/skills/typescript/SKILL.md +0 -51
- package/skills/typescript/references/async.md +0 -241
- package/skills/typescript/references/errors.md +0 -208
- package/skills/typescript/references/idioms.md +0 -246
- package/skills/typescript/references/testing.md +0 -225
- package/skills/typescript/references/tooling.md +0 -208
- package/skills/typescript/references/types.md +0 -259
- package/skills/wiki-update/SKILL.md +0 -300
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/console/routes/projects.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,OAAO,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/console/routes/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module console/routes/providers
|
|
3
|
+
* @description 模型 provider(API 端点)管理:读写共享 provider 配置(~/.coral/game-platform/*.json)。
|
|
4
|
+
* 让用户在控制台增删第三方 OpenAI/Anthropic 兼容端点(base URL + key + models),
|
|
5
|
+
* worker/reviewer 的"模型配置"从这里选。apiKey 出站脱敏,不泄露到浏览器。
|
|
6
|
+
* @layer console
|
|
7
|
+
*/
|
|
8
|
+
import { Hono } from 'hono';
|
|
9
|
+
export declare function createProvidersRoute(): Hono;
|
|
10
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/console/routes/providers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAgB5B,wBAAgB,oBAAoB,IAAI,IAAI,CAmD3C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module console/routes/providers
|
|
3
|
+
* @description 模型 provider(API 端点)管理:读写共享 provider 配置(~/.coral/game-platform/*.json)。
|
|
4
|
+
* 让用户在控制台增删第三方 OpenAI/Anthropic 兼容端点(base URL + key + models),
|
|
5
|
+
* worker/reviewer 的"模型配置"从这里选。apiKey 出站脱敏,不泄露到浏览器。
|
|
6
|
+
* @layer console
|
|
7
|
+
*/
|
|
8
|
+
import { Hono } from 'hono';
|
|
9
|
+
import { detectClaudeSub, detectCodexSub } from '../../providers/llm/localSubscription.js';
|
|
10
|
+
import { deleteProvider, listProviders, upsertProvider, } from '../../providers/llm/providers.js';
|
|
11
|
+
function maskKey(k) {
|
|
12
|
+
return k ? `••••${k.slice(-4)}` : '';
|
|
13
|
+
}
|
|
14
|
+
const isKind = (k) => k === 'anthropic' || k === 'openai';
|
|
15
|
+
export function createProvidersRoute() {
|
|
16
|
+
const app = new Hono();
|
|
17
|
+
// 列两类 provider;apiKey 脱敏(只回 hasKey + 末4位),绝不出全 key。
|
|
18
|
+
// 验证通过的本地官方订阅(claude / codex)作为 builtin 置顶,不可编辑/删除。
|
|
19
|
+
app.get('/', (c) => {
|
|
20
|
+
const mask = (e) => ({ ...e, apiKey: maskKey(e.apiKey), hasKey: Boolean(e.apiKey), builtin: false });
|
|
21
|
+
const claude = detectClaudeSub();
|
|
22
|
+
const codex = detectCodexSub();
|
|
23
|
+
const anthropicBuiltin = claude.available
|
|
24
|
+
? [{ id: 'official', name: 'Claude 官方订阅', baseUrl: '', apiKey: '', hasKey: true, builtin: true, detail: claude.detail, models: claude.models }]
|
|
25
|
+
: [];
|
|
26
|
+
const openaiBuiltin = codex.available
|
|
27
|
+
? [{ id: 'codex', name: 'Codex(ChatGPT 订阅)', baseUrl: '', apiKey: '', hasKey: true, builtin: true, detail: codex.detail, models: codex.models }]
|
|
28
|
+
: [];
|
|
29
|
+
// 用户自配里若有同 id(official/codex)则去重,builtin 优先。
|
|
30
|
+
const dedup = (list, builtinIds) => list.filter((e) => !builtinIds.includes(e.id));
|
|
31
|
+
return c.json({
|
|
32
|
+
anthropic: [...anthropicBuiltin, ...dedup(listProviders('anthropic'), ['official']).map(mask)],
|
|
33
|
+
openai: [...openaiBuiltin, ...dedup(listProviders('openai'), ['codex']).map(mask)],
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
// 新增/编辑。apiKey 留空 = 保留已有(前端不回传脱敏 key)。
|
|
37
|
+
app.put('/', async (c) => {
|
|
38
|
+
const body = (await c.req.json().catch(() => null));
|
|
39
|
+
const kind = body?.kind;
|
|
40
|
+
const e = body?.entry;
|
|
41
|
+
if (!isKind(kind) || !e?.id || !e?.name || !e?.baseUrl) {
|
|
42
|
+
return c.json({ error: 'kind + entry.{id,name,baseUrl} required' }, 422);
|
|
43
|
+
}
|
|
44
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(e.id)) {
|
|
45
|
+
return c.json({ error: 'id must match [a-zA-Z0-9_-]+' }, 422);
|
|
46
|
+
}
|
|
47
|
+
let apiKey = (e.apiKey ?? '').trim();
|
|
48
|
+
if (!apiKey)
|
|
49
|
+
apiKey = listProviders(kind).find((x) => x.id === e.id)?.apiKey ?? '';
|
|
50
|
+
const models = Array.isArray(e.models) ? e.models.map(String).map((s) => s.trim()).filter(Boolean) : [];
|
|
51
|
+
upsertProvider(kind, { id: e.id, name: e.name, baseUrl: e.baseUrl.replace(/\/+$/, ''), apiKey, models });
|
|
52
|
+
return c.json({ ok: true });
|
|
53
|
+
});
|
|
54
|
+
app.delete('/:kind/:id', (c) => {
|
|
55
|
+
const kind = c.req.param('kind');
|
|
56
|
+
if (!isKind(kind))
|
|
57
|
+
return c.json({ error: 'bad kind' }, 422);
|
|
58
|
+
const ok = deleteProvider(kind, c.req.param('id'));
|
|
59
|
+
return c.json({ ok }, ok ? 200 : 404);
|
|
60
|
+
});
|
|
61
|
+
return app;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/console/routes/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smartarrange.d.ts","sourceRoot":"","sources":["../../../src/console/routes/smartarrange.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAmDjF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CA2C/E"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module console/routes/smartarrange
|
|
3
|
+
* @description SmartArrange 编排页数据 + 人工确认。任务清单读 plan.json;
|
|
4
|
+
* 卡片读**统一的 markdown 卡**(cards/<state>/*.md,与看板同源),按 plan.cardSeqs 关联到任务。
|
|
5
|
+
* @layer console
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { Hono } from 'hono';
|
|
10
|
+
import { loadProjectConf } from '../../core/config.js';
|
|
11
|
+
import { loadPlan } from '../../core/intel/planStore.js';
|
|
12
|
+
import { resolveProjectPaths } from '../../core/paths.js';
|
|
13
|
+
import { createTaskBackend } from '../../providers/registry.js';
|
|
14
|
+
import { toHttpStatus, toProblemJson } from '../../shared/errors.js';
|
|
15
|
+
function intelDir(project) {
|
|
16
|
+
return join(resolveProjectPaths(project).runtimeDir, 'intel', 'current');
|
|
17
|
+
}
|
|
18
|
+
function planPath(project) {
|
|
19
|
+
return join(intelDir(project), 'plan.json');
|
|
20
|
+
}
|
|
21
|
+
/** 旧格式兜底:改用 markdown 卡之前的项目仍把卡写在 cards.jsonl(状态:末卡=制作中,余=完成)。 */
|
|
22
|
+
function legacyJsonlCards(project) {
|
|
23
|
+
const f = join(intelDir(project), 'cards.jsonl');
|
|
24
|
+
if (!existsSync(f))
|
|
25
|
+
return [];
|
|
26
|
+
try {
|
|
27
|
+
const rows = readFileSync(f, 'utf-8').trim().split('\n').filter(Boolean).map((l) => JSON.parse(l));
|
|
28
|
+
const maxSeq = rows.reduce((m, r) => Math.max(m, Number(r.seq) || 0), 0);
|
|
29
|
+
return rows.map((r) => ({
|
|
30
|
+
seq: Number(r.seq),
|
|
31
|
+
taskId: String(r.taskId ?? '?'),
|
|
32
|
+
title: r.title,
|
|
33
|
+
skills: r.skills ?? [],
|
|
34
|
+
status: Number(r.seq) >= maxSeq ? 'doing' : 'done',
|
|
35
|
+
prompt: r.prompt ?? '',
|
|
36
|
+
at: r.at,
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** 卡状态(markdown state)→ 编排页状态点:完成/制作中/待完成。 */
|
|
44
|
+
function stateToStatus(state) {
|
|
45
|
+
if (state === 'Done')
|
|
46
|
+
return 'done';
|
|
47
|
+
if (state === 'Inprogress')
|
|
48
|
+
return 'doing';
|
|
49
|
+
return 'todo';
|
|
50
|
+
}
|
|
51
|
+
/** 从 markdown body 的「## 日志」抽第一条时间戳(派发时间,服务器本地)。 */
|
|
52
|
+
function firstLogTs(body) {
|
|
53
|
+
const m = body?.match(/###\s+(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/);
|
|
54
|
+
return m?.[1];
|
|
55
|
+
}
|
|
56
|
+
/** seq → 所属任务 id(从 plan.tasks[].cardSeqs)。 */
|
|
57
|
+
function seqTaskMap(plan) {
|
|
58
|
+
const m = new Map();
|
|
59
|
+
for (const t of plan?.tasks ?? [])
|
|
60
|
+
for (const s of t.cardSeqs)
|
|
61
|
+
m.set(s, t.id);
|
|
62
|
+
return m;
|
|
63
|
+
}
|
|
64
|
+
export function createSmartArrangeRoute(smartarrange) {
|
|
65
|
+
const app = new Hono();
|
|
66
|
+
// 编排页数据:任务清单 + 卡链路(markdown 卡)
|
|
67
|
+
app.get('/:project', async (c) => {
|
|
68
|
+
const project = c.req.param('project');
|
|
69
|
+
const plan = loadPlan(planPath(project));
|
|
70
|
+
const seq2task = seqTaskMap(plan);
|
|
71
|
+
let cards = [];
|
|
72
|
+
try {
|
|
73
|
+
const backend = createTaskBackend(loadProjectConf(project));
|
|
74
|
+
const all = await backend.listAll();
|
|
75
|
+
cards = all
|
|
76
|
+
.map((card) => ({ ...card, seqN: Number(card.seq) }))
|
|
77
|
+
.filter((card) => seq2task.has(card.seqN)) // 只取编排链上的卡(监工产的)
|
|
78
|
+
.sort((a, b) => a.seqN - b.seqN)
|
|
79
|
+
.map((card) => ({
|
|
80
|
+
seq: card.seqN,
|
|
81
|
+
taskId: seq2task.get(card.seqN) ?? '?',
|
|
82
|
+
title: card.title,
|
|
83
|
+
skills: card.skills ?? [],
|
|
84
|
+
status: stateToStatus(card.state),
|
|
85
|
+
state: card.state,
|
|
86
|
+
prompt: card.desc ?? '',
|
|
87
|
+
at: firstLogTs(card.body),
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
/* conf 缺失/未启动 → 空卡 */
|
|
92
|
+
}
|
|
93
|
+
// 旧项目(cards.jsonl,无 markdown 卡)兜底,平滑过渡
|
|
94
|
+
if (cards.length === 0)
|
|
95
|
+
cards = legacyJsonlCards(project);
|
|
96
|
+
return c.json({ plan, cards });
|
|
97
|
+
});
|
|
98
|
+
// 人工确认首轮任务清单 → 进入自动流水线(委托 SmartArrangeService,与容器方法同源)
|
|
99
|
+
app.post('/:project/approve', (c) => {
|
|
100
|
+
const r = smartarrange.approve(c.req.param('project'));
|
|
101
|
+
if (!r.ok)
|
|
102
|
+
return c.json(toProblemJson(r.error), toHttpStatus(r.error));
|
|
103
|
+
return c.json(r.value);
|
|
104
|
+
});
|
|
105
|
+
return app;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=smartarrange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smartarrange.js","sourceRoot":"","sources":["../../../src/console/routes/smartarrange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/console/routes/system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/console/routes/system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA2H7D"}
|
|
@@ -34,6 +34,34 @@ export function createSystemRoute(system) {
|
|
|
34
34
|
}
|
|
35
35
|
return c.json(r.value);
|
|
36
36
|
});
|
|
37
|
+
app.get('/memory', async (c) => {
|
|
38
|
+
return sendResult(c, await system.readMemory());
|
|
39
|
+
});
|
|
40
|
+
app.put('/memory', async (c) => {
|
|
41
|
+
const body = (await c.req.json().catch(() => null));
|
|
42
|
+
if (!body || typeof body.provider !== 'string') {
|
|
43
|
+
return c.json({ type: 'validation', title: 'provider required', status: 422 }, 422);
|
|
44
|
+
}
|
|
45
|
+
const r = await system.writeMemory(body.provider, typeof body.url === 'string' ? body.url : '');
|
|
46
|
+
if (!r.ok) {
|
|
47
|
+
return c.json(toProblemJson(r.error), toHttpStatus(r.error));
|
|
48
|
+
}
|
|
49
|
+
return c.json(r.value);
|
|
50
|
+
});
|
|
51
|
+
app.get('/agents', async (c) => {
|
|
52
|
+
return sendResult(c, await system.readAgents());
|
|
53
|
+
});
|
|
54
|
+
app.put('/agents', async (c) => {
|
|
55
|
+
const body = (await c.req.json().catch(() => null));
|
|
56
|
+
if (!body || !body.worker?.model || !body.reviewer?.model || !body.reviewer?.providerId) {
|
|
57
|
+
return c.json({ type: 'validation', title: 'worker.model + reviewer.{providerId,model} required', status: 422 }, 422);
|
|
58
|
+
}
|
|
59
|
+
const r = await system.writeAgents(body);
|
|
60
|
+
if (!r.ok) {
|
|
61
|
+
return c.json(toProblemJson(r.error), toHttpStatus(r.error));
|
|
62
|
+
}
|
|
63
|
+
return c.json(r.value);
|
|
64
|
+
});
|
|
37
65
|
app.get('/latest-version', async (c) => {
|
|
38
66
|
return sendResult(c, await system.latestVersion());
|
|
39
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/console/routes/system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/console/routes/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../../src/console/routes/workers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../../src/console/routes/workers.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAuBrE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAwDjF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAuB1F"}
|
|
@@ -8,10 +8,31 @@
|
|
|
8
8
|
* LogService.tailWorkerSupervisorLog / tailAcpSession / (aggregate enrich) 里。
|
|
9
9
|
* 此文件现在只做 HTTP 适配,不再直接读 fs 或解析日志。
|
|
10
10
|
*/
|
|
11
|
-
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
12
13
|
import { Hono } from 'hono';
|
|
13
|
-
import { home, workerMarkerFile } from '../../shared/runtimePaths.js';
|
|
14
|
+
import { home, logsDir, workerMarkerFile } from '../../shared/runtimePaths.js';
|
|
14
15
|
import { sendResult } from '../lib/resultToJson.js';
|
|
16
|
+
/** 读 smartArrange 统一行为日志 `sps-sa-<p>-output.log`(WorkerOutputEvent sink,格式 `<ts> [kind] text`)→ 输出行。 */
|
|
17
|
+
function readUnifiedOutput(project, limit) {
|
|
18
|
+
const f = join(logsDir(project), `sps-sa-${project}-output.log`);
|
|
19
|
+
if (!existsSync(f))
|
|
20
|
+
return [];
|
|
21
|
+
try {
|
|
22
|
+
return readFileSync(f, 'utf-8')
|
|
23
|
+
.trim()
|
|
24
|
+
.split('\n')
|
|
25
|
+
.filter(Boolean)
|
|
26
|
+
.slice(-limit)
|
|
27
|
+
.map((line) => {
|
|
28
|
+
const m = line.match(/^(\S+ \S+) \[([^\]]+)\] ([\s\S]*)$/);
|
|
29
|
+
return m ? { ts: m[1], kind: m[2], text: m[3] } : { ts: null, kind: 'log', text: line };
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
15
36
|
export function createWorkersRoute(workers, logs) {
|
|
16
37
|
const app = new Hono();
|
|
17
38
|
app.get('/:project/workers', async (c) => {
|
|
@@ -34,8 +55,19 @@ export function createWorkersRoute(workers, logs) {
|
|
|
34
55
|
catch {
|
|
35
56
|
/* marker 文件可选,丢了不阻塞 */
|
|
36
57
|
}
|
|
37
|
-
|
|
38
|
-
|
|
58
|
+
// smartArrange worker:统一读 sps-sa-<p>-output.log(WorkerOutputEvent sink,后端无关);
|
|
59
|
+
// 空则回落旧 acp 日志(改造前的 claude 跑出来的)。非 smartArrange(pipeline)→ supervisor + acp 会话日志。
|
|
60
|
+
const isSa = r.value.stage === 'smartArrange';
|
|
61
|
+
const recentLogs = isSa ? [] : await logs.tailWorkerSupervisorLog(project, slot, 20);
|
|
62
|
+
let recentOutput;
|
|
63
|
+
if (isSa) {
|
|
64
|
+
recentOutput = readUnifiedOutput(project, 500);
|
|
65
|
+
if (recentOutput.length === 0)
|
|
66
|
+
recentOutput = await logs.tailAcpSession(project, slot, 500, `sps-sa-${project}-acp-`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
recentOutput = await logs.tailAcpSession(project, slot, 500);
|
|
70
|
+
}
|
|
39
71
|
return c.json({
|
|
40
72
|
...r.value,
|
|
41
73
|
markerPath: markerPath.replace(home(), '~'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/console/routes/workers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/console/routes/workers.ts"],"names":[],"mappings":"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"}
|