cli-jaw 2.1.1 → 2.1.3
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/README.ja.md +8 -6
- package/README.ko.md +8 -6
- package/README.md +18 -11
- package/README.zh-CN.md +8 -6
- package/dist/bin/cli-jaw.js +19 -3
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/browser.js +1 -1
- package/dist/bin/commands/browser.js.map +1 -1
- package/dist/bin/commands/chat-search.js +71 -0
- package/dist/bin/commands/chat-search.js.map +1 -0
- package/dist/bin/commands/chat.js +98 -58
- package/dist/bin/commands/chat.js.map +1 -1
- package/dist/bin/commands/dispatch.js +130 -5
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/goal.js +66 -9
- package/dist/bin/commands/goal.js.map +1 -1
- package/dist/bin/commands/history.js +61 -0
- package/dist/bin/commands/history.js.map +1 -0
- package/dist/bin/commands/lock.js +104 -0
- package/dist/bin/commands/lock.js.map +1 -0
- package/dist/bin/commands/memory.js +23 -2
- package/dist/bin/commands/memory.js.map +1 -1
- package/dist/bin/commands/orchestrate.js.map +1 -1
- package/dist/bin/commands/project.js +4 -1
- package/dist/bin/commands/project.js.map +1 -1
- package/dist/bin/commands/tui/fullscreen-mode.js +237 -0
- package/dist/bin/commands/tui/fullscreen-mode.js.map +1 -0
- package/dist/bin/commands/tui/input-handler.js +139 -52
- package/dist/bin/commands/tui/input-handler.js.map +1 -1
- package/dist/bin/commands/tui/overlays.js +177 -70
- package/dist/bin/commands/tui/overlays.js.map +1 -1
- package/dist/bin/commands/tui/renderer.js +70 -20
- package/dist/bin/commands/tui/renderer.js.map +1 -1
- package/dist/bin/commands/tui/simple-mode.js +1 -2
- package/dist/bin/commands/tui/simple-mode.js.map +1 -1
- package/dist/bin/commands/tui/tui-io.js +8 -0
- package/dist/bin/commands/tui/tui-io.js.map +1 -0
- package/dist/bin/commands/tui/types.js +9 -0
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/bin/commands/tui/ws-handler.js +115 -23
- package/dist/bin/commands/tui/ws-handler.js.map +1 -1
- package/dist/bin/commands/worker.js +159 -0
- package/dist/bin/commands/worker.js.map +1 -0
- package/dist/bin/postinstall.js +0 -76
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/mcp/format-converters.js +21 -2
- package/dist/lib/mcp/format-converters.js.map +1 -1
- package/dist/lib/mcp/mcp-registry.js +75 -0
- package/dist/lib/mcp/mcp-registry.js.map +1 -0
- package/dist/lib/stt.js +1 -1
- package/dist/lib/stt.js.map +1 -1
- package/dist/lib/upload.js +7 -0
- package/dist/lib/upload.js.map +1 -1
- package/dist/scripts/fresh-install-smoke.js +1 -1
- package/dist/scripts/fresh-install-smoke.js.map +1 -1
- package/dist/server.js +151 -22
- package/dist/server.js.map +1 -1
- package/dist/src/agent/agy-runtime.js +1 -0
- package/dist/src/agent/agy-runtime.js.map +1 -1
- package/dist/src/agent/agy-transcript-watcher.js +78 -0
- package/dist/src/agent/agy-transcript-watcher.js.map +1 -0
- package/dist/src/agent/agy-transcript.js +158 -0
- package/dist/src/agent/agy-transcript.js.map +1 -0
- package/dist/src/agent/args.js +51 -5
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/claude-e-runtime.js +1 -1
- package/dist/src/agent/claude-e-runtime.js.map +1 -1
- package/dist/src/agent/codex-app-client.js +2 -2
- package/dist/src/agent/codex-app-client.js.map +1 -1
- package/dist/src/agent/cursor-runtime.js +1 -0
- package/dist/src/agent/cursor-runtime.js.map +1 -1
- package/dist/src/agent/error-classifier.js +6 -1
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/events/claude.js +1 -0
- package/dist/src/agent/events/claude.js.map +1 -1
- package/dist/src/agent/events/codex.js +0 -44
- package/dist/src/agent/events/codex.js.map +1 -1
- package/dist/src/agent/events/helpers.js +52 -5
- package/dist/src/agent/events/helpers.js.map +1 -1
- package/dist/src/agent/events/opencode.js +6 -2
- package/dist/src/agent/events/opencode.js.map +1 -1
- package/dist/src/agent/events/summary.js +3 -2
- package/dist/src/agent/events/summary.js.map +1 -1
- package/dist/src/agent/events/tool-labels.js +8 -5
- package/dist/src/agent/events/tool-labels.js.map +1 -1
- package/dist/src/agent/kiro-auth.js +213 -0
- package/dist/src/agent/kiro-auth.js.map +1 -0
- package/dist/src/agent/kiro-models.js +79 -0
- package/dist/src/agent/kiro-models.js.map +1 -0
- package/dist/src/agent/kiro-runtime.js +314 -0
- package/dist/src/agent/kiro-runtime.js.map +1 -0
- package/dist/src/agent/lifecycle-handler.js +208 -23
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/memory-flush-controller.js +3 -4
- package/dist/src/agent/memory-flush-controller.js.map +1 -1
- package/dist/src/agent/resume-classifier.js +18 -1
- package/dist/src/agent/resume-classifier.js.map +1 -1
- package/dist/src/agent/session-persistence.js +2 -2
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/smoke-detector.js +3 -0
- package/dist/src/agent/smoke-detector.js.map +1 -1
- package/dist/src/agent/spawn/queue.js +11 -5
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn/resume.js +6 -1
- package/dist/src/agent/spawn/resume.js.map +1 -1
- package/dist/src/agent/spawn-env.js +1 -1
- package/dist/src/agent/spawn-env.js.map +1 -1
- package/dist/src/agent/spawn.js +231 -43
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/watchdog.js +1 -1
- package/dist/src/agent/watchdog.js.map +1 -1
- package/dist/src/browser/actions.js +0 -8
- package/dist/src/browser/actions.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-escalation.js +5 -29
- package/dist/src/browser/adaptive-fetch/browser-escalation.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-runtime.js +5 -14
- package/dist/src/browser/adaptive-fetch/browser-runtime.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/browser-session.js +14 -28
- package/dist/src/browser/adaptive-fetch/browser-session.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/challenge-detector.js +4 -26
- package/dist/src/browser/adaptive-fetch/challenge-detector.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/content-scorer.js +5 -29
- package/dist/src/browser/adaptive-fetch/content-scorer.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js +0 -64
- package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/fetcher.js +4 -19
- package/dist/src/browser/adaptive-fetch/fetcher.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/human-loop.js +0 -26
- package/dist/src/browser/adaptive-fetch/human-loop.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/index.js +74 -145
- package/dist/src/browser/adaptive-fetch/index.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/metadata.js +1 -41
- package/dist/src/browser/adaptive-fetch/metadata.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/output.js +1 -18
- package/dist/src/browser/adaptive-fetch/output.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/reader-adapters.js +43 -75
- package/dist/src/browser/adaptive-fetch/reader-adapters.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/safety.js +5 -48
- package/dist/src/browser/adaptive-fetch/safety.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/third-party-readers.js +0 -11
- package/dist/src/browser/adaptive-fetch/third-party-readers.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/trace.js +3 -18
- package/dist/src/browser/adaptive-fetch/trace.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/transforms.js +0 -23
- package/dist/src/browser/adaptive-fetch/transforms.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/types.js +3 -0
- package/dist/src/browser/adaptive-fetch/types.js.map +1 -0
- package/dist/src/browser/adaptive-fetch/validators.js +0 -17
- package/dist/src/browser/adaptive-fetch/validators.js.map +1 -1
- package/dist/src/browser/adaptive-fetch/waf-profiles.js +0 -10
- package/dist/src/browser/adaptive-fetch/waf-profiles.js.map +1 -1
- package/dist/src/browser/connection.js +1 -1
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-response.js +0 -1
- package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt.js +0 -33
- package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
- package/dist/src/browser/web-ai/diagnostics.js +0 -16
- package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/doctor.js.map +1 -1
- package/dist/src/browser/web-ai/errors.js +1 -1
- package/dist/src/browser/web-ai/errors.js.map +1 -1
- package/dist/src/browser/web-ai/grok-live.js +2 -0
- package/dist/src/browser/web-ai/grok-live.js.map +1 -1
- package/dist/src/cli/claude-models.js +2 -2
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/commands.js +16 -4
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/compact.js +2 -1
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/handlers/session-handlers.js +34 -0
- package/dist/src/cli/handlers/session-handlers.js.map +1 -0
- package/dist/src/cli/handlers-project.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +2 -0
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers-workflows.js +85 -17
- package/dist/src/cli/handlers-workflows.js.map +1 -1
- package/dist/src/cli/handlers.js +84 -43
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/readiness.js +17 -1
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry-live.js +17 -0
- package/dist/src/cli/registry-live.js.map +1 -0
- package/dist/src/cli/registry.js +51 -10
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/tui/composer.js +135 -5
- package/dist/src/cli/tui/composer.js.map +1 -1
- package/dist/src/cli/tui/diffview.js +41 -0
- package/dist/src/cli/tui/diffview.js.map +1 -0
- package/dist/src/cli/tui/editor.js +45 -0
- package/dist/src/cli/tui/editor.js.map +1 -0
- package/dist/src/cli/tui/file-mention.js +78 -0
- package/dist/src/cli/tui/file-mention.js.map +1 -0
- package/dist/src/cli/tui/highlight.js +82 -0
- package/dist/src/cli/tui/highlight.js.map +1 -0
- package/dist/src/cli/tui/keymap.js +21 -0
- package/dist/src/cli/tui/keymap.js.map +1 -1
- package/dist/src/cli/tui/markdown.js +124 -0
- package/dist/src/cli/tui/markdown.js.map +1 -0
- package/dist/src/cli/tui/mode.js +26 -0
- package/dist/src/cli/tui/mode.js.map +1 -0
- package/dist/src/cli/tui/overlay.js +121 -98
- package/dist/src/cli/tui/overlay.js.map +1 -1
- package/dist/src/cli/tui/render/frame.js +72 -0
- package/dist/src/cli/tui/render/frame.js.map +1 -0
- package/dist/src/cli/tui/render/layout.js +22 -0
- package/dist/src/cli/tui/render/layout.js.map +1 -0
- package/dist/src/cli/tui/render/mouse.js +25 -0
- package/dist/src/cli/tui/render/mouse.js.map +1 -0
- package/dist/src/cli/tui/render/scheduler.js +37 -0
- package/dist/src/cli/tui/render/scheduler.js.map +1 -0
- package/dist/src/cli/tui/render/viewport.js +82 -0
- package/dist/src/cli/tui/render/viewport.js.map +1 -0
- package/dist/src/cli/tui/renderers.js +37 -0
- package/dist/src/cli/tui/renderers.js.map +1 -1
- package/dist/src/cli/tui/stream.js +48 -0
- package/dist/src/cli/tui/stream.js.map +1 -0
- package/dist/src/cli/tui/text-buffer.js +143 -0
- package/dist/src/cli/tui/text-buffer.js.map +1 -0
- package/dist/src/cli/tui/theme.js +128 -0
- package/dist/src/cli/tui/theme.js.map +1 -0
- package/dist/src/cli/tui/transcript.js +4 -0
- package/dist/src/cli/tui/transcript.js.map +1 -1
- package/dist/src/command-contract/help-renderer.js +1 -1
- package/dist/src/command-contract/help-renderer.js.map +1 -1
- package/dist/src/core/chat-sessions.js +63 -0
- package/dist/src/core/chat-sessions.js.map +1 -0
- package/dist/src/core/cli-detection.js +14 -0
- package/dist/src/core/cli-detection.js.map +1 -1
- package/dist/src/core/compact.js +43 -11
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +14 -1
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +52 -12
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/employees.js +2 -2
- package/dist/src/core/employees.js.map +1 -1
- package/dist/src/core/main-session.js +3 -2
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/discord-file.js +1 -1
- package/dist/src/discord/discord-file.js.map +1 -1
- package/dist/src/discord/send-only-client.js +1 -3
- package/dist/src/discord/send-only-client.js.map +1 -1
- package/dist/src/goal/heartbeat.js +113 -7
- package/dist/src/goal/heartbeat.js.map +1 -1
- package/dist/src/goal/store.js +44 -5
- package/dist/src/goal/store.js.map +1 -1
- package/dist/src/ide/diff.js +37 -0
- package/dist/src/ide/diff.js.map +1 -1
- package/dist/src/manager/launchd-service.js +1 -1
- package/dist/src/manager/launchd-service.js.map +1 -1
- package/dist/src/manager/lifecycle-helpers.js +14 -0
- package/dist/src/manager/lifecycle-helpers.js.map +1 -1
- package/dist/src/manager/lifecycle-store.js.map +1 -1
- package/dist/src/manager/lifecycle.js +94 -5
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/notes/routes.js +0 -31
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/ws.js.map +1 -1
- package/dist/src/manager/preview-link-policy.js +11 -4
- package/dist/src/manager/preview-link-policy.js.map +1 -1
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/routes/dashboard-memory.js.map +1 -1
- package/dist/src/manager/scan.js +36 -1
- package/dist/src/manager/scan.js.map +1 -1
- package/dist/src/manager/server.js +42 -7
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/shutdown.js +8 -3
- package/dist/src/manager/shutdown.js.map +1 -1
- package/dist/src/manager/systemd-service.js +1 -1
- package/dist/src/manager/systemd-service.js.map +1 -1
- package/dist/src/memory/indexing.js +49 -1
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/memory/keyword-expand.js +0 -187
- package/dist/src/memory/keyword-expand.js.map +1 -1
- package/dist/src/memory/runtime.js +3 -2
- package/dist/src/memory/runtime.js.map +1 -1
- package/dist/src/memory/shared.js.map +1 -1
- package/dist/src/messaging/send.js +66 -7
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/collect.js +3 -2
- package/dist/src/orchestrator/collect.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +9 -3
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/friction.js +59 -0
- package/dist/src/orchestrator/friction.js.map +1 -0
- package/dist/src/orchestrator/gateway.js +4 -4
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +89 -45
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/sanitize.js +69 -0
- package/dist/src/orchestrator/sanitize.js.map +1 -0
- package/dist/src/orchestrator/seed.js +50 -0
- package/dist/src/orchestrator/seed.js.map +1 -0
- package/dist/src/orchestrator/state-machine.js +215 -76
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/worker-monitor.js +1 -1
- package/dist/src/orchestrator/worker-monitor.js.map +1 -1
- package/dist/src/orchestrator/worker-progress.js +29 -0
- package/dist/src/orchestrator/worker-progress.js.map +1 -0
- package/dist/src/orchestrator/worker-registry.js +63 -2
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +190 -115
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +124 -61
- package/dist/src/prompt/templates/control-system.md +2 -2
- package/dist/src/prompt/templates/employee.md +41 -56
- package/dist/src/prompt/templates/orchestration.md +23 -8
- package/dist/src/prompt/templates/skills.md +6 -0
- package/dist/src/routes/browser.js +3 -3
- package/dist/src/routes/browser.js.map +1 -1
- package/dist/src/routes/employees.js +4 -4
- package/dist/src/routes/employees.js.map +1 -1
- package/dist/src/routes/goal.js +48 -4
- package/dist/src/routes/goal.js.map +1 -1
- package/dist/src/routes/heartbeat.js +1 -1
- package/dist/src/routes/heartbeat.js.map +1 -1
- package/dist/src/routes/i18n.js +1 -1
- package/dist/src/routes/i18n.js.map +1 -1
- package/dist/src/routes/jaw-memory.js +1 -1
- package/dist/src/routes/jaw-memory.js.map +1 -1
- package/dist/src/routes/memory.js.map +1 -1
- package/dist/src/routes/messaging.js +8 -3
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +267 -117
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/quota-agy-reverse.js +6 -5
- package/dist/src/routes/quota-agy-reverse.js.map +1 -1
- package/dist/src/routes/quota-kiro-reverse.js +187 -0
- package/dist/src/routes/quota-kiro-reverse.js.map +1 -0
- package/dist/src/routes/quota.js +68 -6
- package/dist/src/routes/quota.js.map +1 -1
- package/dist/src/routes/settings.js +37 -8
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/skills.js.map +1 -1
- package/dist/src/security/path-guards.js +0 -3
- package/dist/src/security/path-guards.js.map +1 -1
- package/dist/src/security/security-audit-log.js.map +1 -1
- package/dist/src/shared/shell-command-display.js +51 -0
- package/dist/src/shared/shell-command-display.js.map +1 -0
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/trace/store.js +32 -0
- package/dist/src/trace/store.js.map +1 -1
- package/dist/src/types/cli-engine.js +1 -0
- package/dist/src/types/cli-engine.js.map +1 -1
- package/dist/src/workflows/employee-boundary.js +7 -7
- package/dist/src/workflows/employee-boundary.js.map +1 -1
- package/dist/src/workflows/handoff.js +16 -16
- package/dist/src/workflows/handoff.js.map +1 -1
- package/dist/src/workflows/scope-sandbox.js +58 -0
- package/dist/src/workflows/scope-sandbox.js.map +1 -0
- package/package.json +1 -1
- package/public/assets/providers/kiro-color.svg +15 -0
- package/public/assets/providers/kiro.svg +14 -0
- package/public/css/chat.css +27 -0
- package/public/css/modals.css +79 -0
- package/public/css/orc-state.css +10 -6
- package/public/css/sidebar.css +85 -0
- package/public/css/variables.css +6 -2
- package/public/dist/assets/{Agent-CIUGaUVn.js → Agent-DBKNQ6tp.js} +1 -1
- package/public/dist/assets/{DocPanel-C1pGgE-S.js → DocPanel-BU16GUlB.js} +1 -1
- package/public/dist/assets/DocPanel-gU-WkgyA.css +1 -0
- package/public/dist/assets/Employees-F0ssNuO-.js +1 -0
- package/public/dist/assets/{FolderPanel-DSkanaGN.js → FolderPanel-DT0fU8f2.js} +1 -1
- package/public/dist/assets/Heartbeat-fsuLzY9c.js +1 -0
- package/public/dist/assets/Mcp-_Yq4N3Sk.js +4 -0
- package/public/dist/assets/{Memory-BgN8djV4.js → Memory-CRR8kotI.js} +1 -1
- package/public/dist/assets/{ModelProvider-DHQ1Zvw0.js → ModelProvider-DQgISbKw.js} +1 -1
- package/public/dist/assets/agent-meta-C4mauPL5.js +1 -0
- package/public/dist/assets/app-0OQhPpTG.css +1 -0
- package/public/dist/assets/app-CSqIyg9A.js +55 -0
- package/public/dist/assets/constants-BHMkzpN_.js +1 -0
- package/public/dist/assets/{employees-DiNLzEXS.js → employees-CZdWHH-r.js} +7 -7
- package/public/dist/assets/idb-cache-0LNMskFB.js +1 -0
- package/public/dist/assets/idb-cache-5H89a4l8.js +1 -0
- package/public/dist/assets/manager-CGTQ5EIm.js +12 -0
- package/public/dist/assets/manager-UBunDqMH.css +1 -0
- package/public/dist/assets/{memory-B_nn0A4v.js → memory-B3QSmj_e.js} +9 -9
- package/public/dist/assets/memory-DOBqiuPc.js +1 -0
- package/public/dist/assets/{provider-icons-XEfJPGTe.js → provider-icons-Crv6yvlG.js} +35 -6
- package/public/dist/assets/render-J11oxfnl.js +28 -0
- package/public/dist/assets/settings-BV_2Bh0_.js +1 -0
- package/public/dist/assets/settings-m_cim0ov.js +151 -0
- package/public/dist/assets/sidebar-ZBXdBgF7.js +49 -0
- package/public/dist/assets/{skills-COa4iSwL.js → skills-CjaBmIPV.js} +6 -6
- package/public/dist/assets/skills-Xm3fl1zr.js +1 -0
- package/public/dist/assets/{slash-commands-C_ePvrPi.js → slash-commands-71jc07Wf.js} +1 -1
- package/public/dist/assets/slash-commands-BO6ssnAz.js +1 -0
- package/public/dist/assets/{trace-drawer-CY4z_Ie8.js → trace-drawer-Czvf2P2o.js} +1 -1
- package/public/dist/assets/ui-CverZJnd.js +1 -0
- package/public/dist/assets/ui-qKxy-4p9.js +142 -0
- package/public/dist/index.html +113 -86
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +111 -84
- package/public/js/constants.ts +34 -11
- package/public/js/features/chat-messages.ts +13 -2
- package/public/js/features/chat-search.ts +5 -1
- package/public/js/features/chat.ts +86 -44
- package/public/js/features/employees.ts +7 -2
- package/public/js/features/idb-cache.ts +4 -0
- package/public/js/features/media-lightbox.ts +40 -0
- package/public/js/features/message-history.ts +55 -7
- package/public/js/features/pending-queue.ts +28 -4
- package/public/js/features/process-block.ts +32 -17
- package/public/js/features/process-log-adapter.ts +11 -2
- package/public/js/features/settings-cli-status-render.ts +161 -0
- package/public/js/features/settings-cli-status.ts +136 -187
- package/public/js/features/settings-core.ts +5 -1
- package/public/js/features/settings-mcp.ts +513 -7
- package/public/js/features/settings-types.ts +1 -0
- package/public/js/features/settings.ts +1 -1
- package/public/js/features/tool-ui.ts +18 -4
- package/public/js/features/transport-status-row.ts +3 -0
- package/public/js/features/ui-status.ts +5 -1
- package/public/js/main.ts +5 -0
- package/public/js/preview-parent-origin.ts +14 -0
- package/public/js/provider-icons.ts +6 -1
- package/public/js/render/file-links.ts +10 -2
- package/public/js/render/markdown.ts +16 -0
- package/public/js/ui.ts +8 -1
- package/public/js/virtual-scroll.ts +19 -0
- package/public/js/ws.ts +151 -15
- package/public/locales/en.json +9 -2
- package/public/locales/ja.json +9 -2
- package/public/locales/ko.json +9 -2
- package/public/locales/zh.json +9 -2
- package/public/manager/src/App.tsx +13 -70
- package/public/manager/src/InstancePreview.tsx +56 -11
- package/public/manager/src/SidebarRailRouter.tsx +32 -4
- package/public/manager/src/components/InstanceRow.tsx +0 -1
- package/public/manager/src/components/WorkbenchHeader.tsx +17 -7
- package/public/manager/src/doc-panel/DocPanel.tsx +14 -1
- package/public/manager/src/doc-panel/doc-panel.css +16 -0
- package/public/manager/src/folder-panel/FolderPanel.tsx +13 -2
- package/public/manager/src/hooks/useElectronDroppedPaths.ts +89 -0
- package/public/manager/src/hooks/useInstanceMessageEvents.ts +4 -15
- package/public/manager/src/manager-components.css +35 -1
- package/public/manager/src/manager-polish.css +11 -1
- package/public/manager/src/manager-shortcut-runner.ts +107 -0
- package/public/manager/src/manager-shortcuts.ts +15 -0
- package/public/manager/src/panels/desktop-bridge.ts +13 -0
- package/public/manager/src/settings/SettingsSidebar.tsx +1 -1
- package/public/manager/src/settings/components/sidebar-filter.ts +2 -0
- package/public/manager/src/settings/pages/Mcp.tsx +311 -43
- package/public/manager/src/settings/pages/components/McpServerCard.tsx +89 -55
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +32 -9
- package/public/manager/src/settings/pages/components/employees-helpers.ts +1 -0
- package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +1 -0
- package/public/manager/src/settings/pages/mcp-helpers.ts +54 -12
- package/public/manager/src/settings/types.ts +1 -0
- package/public/manager/src/types.ts +2 -1
- package/scripts/fresh-install-smoke.ts +1 -1
- package/scripts/smoke/agy-transcript-tail-smoke.mjs +89 -0
- package/public/dist/assets/DocPanel-CL1scIfq.css +0 -1
- package/public/dist/assets/Employees-BL9MAzzx.js +0 -1
- package/public/dist/assets/Heartbeat-D64JCg4t.js +0 -1
- package/public/dist/assets/Mcp-wYwJA_61.js +0 -3
- package/public/dist/assets/agent-meta-BhEbjy4P.js +0 -1
- package/public/dist/assets/app-2Rz848bQ.js +0 -48
- package/public/dist/assets/app-BW-Xz2p6.css +0 -1
- package/public/dist/assets/constants-ahKI_aEG.js +0 -1
- package/public/dist/assets/idb-cache-BnZfG5FD.js +0 -1
- package/public/dist/assets/idb-cache-CZ3JdK8r.js +0 -1
- package/public/dist/assets/manager-CfyZloIP.js +0 -12
- package/public/dist/assets/manager-DyrwJLZr.css +0 -1
- package/public/dist/assets/memory-CCjNFWmO.js +0 -1
- package/public/dist/assets/render-CgDEBoCX.js +0 -28
- package/public/dist/assets/settings-CY_6tGuS.js +0 -1
- package/public/dist/assets/settings-DWW4GzNc.js +0 -66
- package/public/dist/assets/sidebar-DQKE5IA1.js +0 -23
- package/public/dist/assets/skills-DYTlqoke.js +0 -1
- package/public/dist/assets/slash-commands-D7CU5oso.js +0 -1
- package/public/dist/assets/ui-Car1OUvV.js +0 -1
- package/public/dist/assets/ui-DK_9ndj0.js +0 -140
- /package/public/dist/assets/{locale-DT1WRaeJ.js → locale-BHMJIzyw.js} +0 -0
|
@@ -5,10 +5,33 @@ import { stripUndefined } from '../core/strip-undefined.js';
|
|
|
5
5
|
import { assertSendFilePath } from '../security/path-guards.js';
|
|
6
6
|
import { getLastActiveTarget, getLatestSeenTarget, clearTargetState } from './runtime.js';
|
|
7
7
|
const sendFns = new Map();
|
|
8
|
+
const OUTBOUND_TYPES = new Set(['text', 'voice', 'photo', 'document']);
|
|
9
|
+
const CHANNELS = new Set(['telegram', 'discord', 'active']);
|
|
8
10
|
export function registerSendTransport(channel, fn) {
|
|
9
11
|
sendFns.set(channel, fn);
|
|
10
12
|
}
|
|
11
13
|
// ─── Normalize ──────────────────────────────────────
|
|
14
|
+
function badRequest(code) {
|
|
15
|
+
return Object.assign(new Error(code), { statusCode: 400, code });
|
|
16
|
+
}
|
|
17
|
+
function normalizeOutboundType(value) {
|
|
18
|
+
const type = value == null || value === ''
|
|
19
|
+
? 'text'
|
|
20
|
+
: String(value).trim().toLowerCase();
|
|
21
|
+
if (!OUTBOUND_TYPES.has(type)) {
|
|
22
|
+
throw badRequest('invalid_outbound_type');
|
|
23
|
+
}
|
|
24
|
+
return type;
|
|
25
|
+
}
|
|
26
|
+
function normalizeChannel(value) {
|
|
27
|
+
const channel = value == null || value === ''
|
|
28
|
+
? 'active'
|
|
29
|
+
: String(value).trim().toLowerCase();
|
|
30
|
+
if (!CHANNELS.has(channel)) {
|
|
31
|
+
throw badRequest('invalid_channel');
|
|
32
|
+
}
|
|
33
|
+
return channel;
|
|
34
|
+
}
|
|
12
35
|
export function normalizeChannelSendRequest(body) {
|
|
13
36
|
const rawPath = body["file_path"] || body["filePath"];
|
|
14
37
|
let filePath;
|
|
@@ -16,13 +39,13 @@ export function normalizeChannelSendRequest(body) {
|
|
|
16
39
|
filePath = assertSendFilePath(String(rawPath), settings["workingDir"] || undefined, settings["projectDirs"] || null);
|
|
17
40
|
}
|
|
18
41
|
return stripUndefined({
|
|
19
|
-
channel: body["channel"]
|
|
20
|
-
type: (body["type"]
|
|
42
|
+
channel: normalizeChannel(body["channel"]),
|
|
43
|
+
type: normalizeOutboundType(body["type"]),
|
|
21
44
|
text: body["text"],
|
|
22
45
|
filePath,
|
|
23
46
|
caption: body["caption"],
|
|
24
47
|
target: body["target"],
|
|
25
|
-
chatId: body["chat_id"]
|
|
48
|
+
chatId: body["chat_id"] ?? body["chatId"],
|
|
26
49
|
});
|
|
27
50
|
}
|
|
28
51
|
// ─── Resolve Target ─────────────────────────────────
|
|
@@ -62,10 +85,10 @@ function getConfiguredFallbackTarget(channel) {
|
|
|
62
85
|
return null;
|
|
63
86
|
}
|
|
64
87
|
/**
|
|
65
|
-
* Validate a
|
|
88
|
+
* Validate a target against the current channel's configured allowlist.
|
|
66
89
|
* Returns true if the target is valid for the given channel.
|
|
67
90
|
*/
|
|
68
|
-
export function validateTarget(target, channel) {
|
|
91
|
+
export function validateTarget(target, channel, options = {}) {
|
|
69
92
|
if (!target || !target.targetId)
|
|
70
93
|
return false;
|
|
71
94
|
if (target.channel !== channel)
|
|
@@ -79,20 +102,56 @@ export function validateTarget(target, channel) {
|
|
|
79
102
|
if (!inAllowlist)
|
|
80
103
|
return false;
|
|
81
104
|
}
|
|
105
|
+
else if (options.requireConfiguredAllowlist) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
82
108
|
}
|
|
83
109
|
else if (channel === 'telegram') {
|
|
84
110
|
const allowed = settings["telegram"]?.allowedChatIds;
|
|
85
111
|
if (allowed?.length && !allowed.map(String).includes(String(target.targetId)))
|
|
86
112
|
return false;
|
|
113
|
+
if (!allowed?.length && options.requireConfiguredAllowlist)
|
|
114
|
+
return false;
|
|
87
115
|
}
|
|
88
116
|
return true;
|
|
89
117
|
}
|
|
118
|
+
function targetFromChatId(channel, chatId) {
|
|
119
|
+
return channel === 'telegram'
|
|
120
|
+
? {
|
|
121
|
+
channel: 'telegram',
|
|
122
|
+
targetKind: 'user',
|
|
123
|
+
peerKind: 'direct',
|
|
124
|
+
targetId: String(chatId),
|
|
125
|
+
}
|
|
126
|
+
: {
|
|
127
|
+
channel: 'discord',
|
|
128
|
+
targetKind: 'channel',
|
|
129
|
+
peerKind: 'channel',
|
|
130
|
+
targetId: String(chatId),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export function validateExplicitChatId(channel, chatId) {
|
|
134
|
+
return validateTarget(targetFromChatId(channel, chatId), channel, { requireConfiguredAllowlist: true });
|
|
135
|
+
}
|
|
90
136
|
export async function sendChannelOutput(req) {
|
|
91
137
|
const channel = resolveChannel(req);
|
|
138
|
+
if (!OUTBOUND_TYPES.has(req.type)) {
|
|
139
|
+
return { ok: false, status: 400, error: `Invalid outbound type: ${String(req.type)}` };
|
|
140
|
+
}
|
|
141
|
+
if (req.chatId != null && String(req.chatId).trim()) {
|
|
142
|
+
const explicitTarget = targetFromChatId(channel, req.chatId);
|
|
143
|
+
if (!validateTarget(explicitTarget, channel, { requireConfiguredAllowlist: true })) {
|
|
144
|
+
return { ok: false, status: 403, error: `Explicit ${channel} chatId is not in the configured allowlist` };
|
|
145
|
+
}
|
|
146
|
+
if (req.target && (req.target.targetId !== explicitTarget.targetId || req.target.channel !== explicitTarget.channel)) {
|
|
147
|
+
return { ok: false, status: 400, error: 'chatId and target refer to different destinations' };
|
|
148
|
+
}
|
|
149
|
+
req.target = req.target || explicitTarget;
|
|
150
|
+
}
|
|
92
151
|
// Validate explicit target (shape + allowlist)
|
|
93
152
|
if (req.target) {
|
|
94
|
-
if (!validateTarget(req.target, channel)) {
|
|
95
|
-
return { ok: false, error: `Invalid or disallowed target for ${channel}: ${req.target.targetId || '(empty)'}` };
|
|
153
|
+
if (!validateTarget(req.target, channel, { requireConfiguredAllowlist: true })) {
|
|
154
|
+
return { ok: false, status: 403, error: `Invalid or disallowed target for ${channel}: ${req.target.targetId || '(empty)'}` };
|
|
96
155
|
}
|
|
97
156
|
}
|
|
98
157
|
// Resolve target: explicit > validated lastActive > validated latestSeen > configured fallback > error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/messaging/send.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,qDAAqD;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAkB1F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/messaging/send.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,qDAAqD;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAkB1F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;AAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACrF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA8B,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzF,MAAM,UAAU,qBAAqB,CAAC,OAAyB,EAAE,EAAmB;IAChF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,uDAAuD;AAEvD,SAAS,UAAU,CAAC,IAAY;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;QACtC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAoB,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAoB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;QACzC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAsC,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAsC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAyB;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,EAAE,CAAC;QACV,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,cAAc,CAAC;QAClB,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ;QACR,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;KAC5C,CAAC,CAAC;AACP,CAAC;AAED,uDAAuD;AAEvD,SAAS,cAAc,CAAC,GAAuB;IAC3C,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAChE,OAAQ,QAAQ,CAAC,SAAS,CAAsB,IAAI,UAAU,CAAC;AACnE,CAAC;AAED,uDAAuD;AAEvD;;;GAGG;AACH,SAAS,2BAA2B,CAAC,OAAyB;IAC1D,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;QACrD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO;gBACH,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/B,CAAC;QACN,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;QACnD,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO;gBACH,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAClC,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC1B,MAAoB,EACpB,OAAyB,EACzB,UAAoD,EAAE;IAEtD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;QAChD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,qEAAqE;YACrE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;mBAC9C,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;QACnC,CAAC;aAAM,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;QACrD,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5F,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,0BAA0B;YAAE,OAAO,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAyB,EAAE,MAAuB;IACxE,OAAO,OAAO,KAAK,UAAU;QACzB,CAAC,CAAC;YACE,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;SAC3B;QACD,CAAC,CAAC;YACE,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;SAC3B,CAAC;AACV,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAyB,EAAE,MAAuB;IACrF,OAAO,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAuB;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,0BAA0B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3F,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,OAAO,4CAA4C,EAAE,CAAC;QAC9G,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YACnH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;QAClG,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC;IAC9C,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oCAAoC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,CAAC;QACjI,CAAC;IACL,CAAC;IAED,uGAAuG;IACvG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI;gBAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;YACtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,QAAQ;oBAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,OAAO,mDAAmD,EAAE,CAAC;IACvH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,OAAO,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -18,13 +18,14 @@ export function orchestrateAndCollect(prompt, meta = {}, locale = 'ko') {
|
|
|
18
18
|
}, IDLE_TIMEOUT);
|
|
19
19
|
}
|
|
20
20
|
const handler = (type, data) => {
|
|
21
|
-
|
|
21
|
+
// Live assistant chunks arrive as agent_output (Web UI + spawn.ts); legacy alias agent_chunk.
|
|
22
|
+
if (type === 'agent_chunk' || type === 'agent_output' || type === 'agent_tool' ||
|
|
22
23
|
type === 'agent_status' || type === 'agent_retry' ||
|
|
23
24
|
type === 'agent_done' || type === 'agent_fallback' ||
|
|
24
25
|
type === 'round_start' || type === 'round_done') {
|
|
25
26
|
resetTimeout();
|
|
26
27
|
}
|
|
27
|
-
//
|
|
28
|
+
// agent_output is the live stream event; agent_done remains authoritative.
|
|
28
29
|
if (type === 'agent_done' && data["error"] && data["text"]) {
|
|
29
30
|
collected = collected || data["text"];
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/orchestrator/collect.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,6DAA6D;AAC7D,yDAAyD;AACzD,wDAAwD;AAExD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EACH,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAClD,gBAAgB,EAAE,aAAa,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEpC,MAAM,UAAU,qBAAqB,CACjC,MAAc,EACd,OAA4B,EAAE,EAC9B,SAAiB,IAAI;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAsC,CAAC;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC;QAE7B,SAAS,YAAY;YACjB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,uBAAuB,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,YAAY,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAyB,EAAE,EAAE;YACxD,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY;
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/orchestrator/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { startWorkerMonitor } from './worker-monitor.js';
|
|
|
10
10
|
import { isSessionPersistingCli } from '../agent/cli-helpers.js';
|
|
11
11
|
import { buildWorkspaceContextBlock } from './workspace-context.js';
|
|
12
12
|
import { updateWorkerPhase } from './worker-registry.js';
|
|
13
|
+
import { sanitizeToolLogForDurableStorage } from '../shared/tool-log-sanitize.js';
|
|
13
14
|
// ─── Phase Constants (shared with pipeline.ts) ───────
|
|
14
15
|
export const PHASES = { 1: 'Planning', 2: 'Plan Audit', 3: 'Development', 4: 'Debug/Check', 5: 'Integration' };
|
|
15
16
|
// Employee-scoped phase agenda. Do NOT include delegation language
|
|
@@ -214,12 +215,12 @@ Output with empty subtasks and your answer in direct_answer:
|
|
|
214
215
|
- false: 자동으로 done 처리
|
|
215
216
|
|
|
216
217
|
#### Dev Skills Reference
|
|
217
|
-
Each employee
|
|
218
|
+
Each employee receives a compact role contract and absolute skill paths:
|
|
218
219
|
- frontend → dev-frontend SKILL.md (UI/component guide)
|
|
219
220
|
- backend → dev-backend SKILL.md (API/server guide)
|
|
220
221
|
- data → dev-data SKILL.md (data pipeline guide)
|
|
221
222
|
- docs → documentation SKILL.md
|
|
222
|
-
|
|
223
|
+
Skill bodies are read on demand instead of preloaded into every employee prompt.
|
|
223
224
|
|
|
224
225
|
### ⚡ Parallel Execution (Tier 1-2 only)
|
|
225
226
|
When 2+ subtasks modify **completely independent file sets**, mark them \`"parallel": true\`.
|
|
@@ -309,7 +310,10 @@ export async function runSingleAgent(ap, emp, worklog, round, meta, priorResults
|
|
|
309
310
|
promptEmployee.id = emp.id;
|
|
310
311
|
if (empCli)
|
|
311
312
|
promptEmployee.cli = empCli;
|
|
312
|
-
const sysPrompt = getEmployeePromptV2(promptEmployee, text(ap["role"]), currentPhase
|
|
313
|
+
const sysPrompt = getEmployeePromptV2(promptEmployee, text(ap["role"]), currentPhase, {
|
|
314
|
+
mutable: ap["mutable"] === true,
|
|
315
|
+
scope: typeof ap["scope"] === 'string' ? ap["scope"] : null,
|
|
316
|
+
});
|
|
313
317
|
const executionContext = ap["parallel"]
|
|
314
318
|
? buildParallelContext(ap, parallelPeers)
|
|
315
319
|
: buildSequentialContext(ap, priorResults);
|
|
@@ -445,6 +449,7 @@ ${worklogBlock}`.trim();
|
|
|
445
449
|
throw err;
|
|
446
450
|
}
|
|
447
451
|
const resultText = text(r["text"]);
|
|
452
|
+
const resultTools = Array.isArray(r["tools"]) ? sanitizeToolLogForDurableStorage(r["tools"]) : [];
|
|
448
453
|
const isSuccess = r["code"] === 0 || (r["code"] == null && resultText.trim().length > 0);
|
|
449
454
|
if (isSuccess && r["sessionId"] && isSessionPersistingCli(String(emp["cli"] || ''))) {
|
|
450
455
|
const empOutputLen = typeof r["outputLen"] === 'number' ? r["outputLen"] : 0;
|
|
@@ -459,6 +464,7 @@ ${worklogBlock}`.trim();
|
|
|
459
464
|
phase: currentPhase, phaseLabel,
|
|
460
465
|
status: isSuccess ? 'done' : 'error',
|
|
461
466
|
text: diagnosticText,
|
|
467
|
+
tools: resultTools,
|
|
462
468
|
};
|
|
463
469
|
// Parse phases_completed from agent output (supports both plain-text and legacy JSON)
|
|
464
470
|
const responseText = diagnosticText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sDAAsD;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF,wDAAwD;AAExD,MAAM,CAAC,MAAM,MAAM,GAA2B,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;AAEvI,mEAAmE;AACnE,oFAAoF;AACpF,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACtD,CAAC,EAAE;;;;mEAI4D;IAC/D,CAAC,EAAE;;;;;4CAKqC;IACxC,CAAC,EAAE;;;mDAG4C;IAC/C,CAAC,EAAE;;6HAEsH;IACzH,CAAC,EAAE;;iEAE0D;CAChE,CAAC;AAEF,6EAA6E;AAC7E,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACrD,CAAC,EAAE,0GAA0G;IAC7G,CAAC,EAAE,wOAAwO;IAC3O,CAAC,EAAE,oEAAoE;IACvE,CAAC,EAAE,oFAAoF;IACvF,CAAC,EAAE,uEAAuE;CAC7E,CAAC;AAoCF,SAAS,IAAI,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,EAAkB;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,EAAkB;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,oBAAoB,CAAC,EAAkB,EAAE,KAAuB;IAC5E,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;IACtG,MAAM,QAAQ,GAAG,KAAK;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;SAC7F,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAE5B,OAAO;;6BAEkB,EAAE,CAAC,MAAM,CAAC;;;;;EAKrC,OAAO;;;EAGP,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAkB,EAAE,YAA8B;IACrF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvH,CAAC,CAAC,2BAA2B,CAAC;IAElC,OAAO;;6BAEkB,EAAE,CAAC,MAAM,CAAC;;;EAGrC,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,YAAY,CAAC,IAAoB,EAAE,EAAkB;IACjE,kEAAkE;IAClE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,oCAAoC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAClB,+CAA+C;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IACH,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7F,OAAO,KAAK,IAAI,IAAI,CAAC;AACzB,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,sBAAsB,CAAC,WAA6B;IAChE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CACR,iDAAiD,IAAI,MAAM;oBAC3D,IAAI,QAAQ,UAAU,EAAE,CAAC,OAAO,CAAC,0BAA0B;oBAC3D,gBAAgB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAChD,CAAC;gBACF,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiB,EAAE,CAAiB;IAC/D,MAAM,KAAK,GAAG;QACV,yCAAyC;QACzC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE;QACnC,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE;QAChC,SAAS,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;QACpC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE;QACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAC/E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB,EAAE,IAAoB;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3H,OAAO;EACT,MAAM;;;EAGN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAmIO,WAAW;+BACI,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,EAAkB,EAClB,GAAiB,EACjB,OAAgC,EAChC,KAAa,EACb,IAA6B,EAC7B,YAA8B,EAC9B,gBAAkC,EAAE;IAEpC,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,cAAc,GAAwE;QACxF,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;KACvB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO;QAAE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAAE,cAAc,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IACzF,IAAI,MAAM;QAAE,cAAc,CAAC,GAAG,GAAG,MAAM,CAAC;IACxC,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE;QAClF,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI;QAC/B,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;KAC9D,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC;QACnC,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,aAAa,CAAC;QACzC,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,YAAY;SAC/B,KAAK,CAAC,eAAe,CAAC;SACtB,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;SACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAI,QAAQ,CAAC,aAAa,CAAqB,IAAI,IAAI,CAAC;IACxE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,UAAU,IAAI,UAAU;QAC3C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,aAAa,GAAG,WAAW;QAC7B,CAAC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,cAAc,GAAG,0BAA0B,CAAC;QAC9C,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI;QAC1C,WAAW,EAAE,aAAa;QAC1B,WAAW;QACX,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;KACzB,CAAC,CAAC;IACH,sFAAsF;IACtF,mFAAmF;IACnF,6CAA6C;IAC7C,MAAM,YAAY,GAAG,WAAW;QAC5B,CAAC,CAAC;;+FAEqF,WAAW,EAAE;QACpG,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,GAAG,cAAc;;uBAEjB,UAAU;EAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;oBAWE,EAAE,CAAC,cAAc,CAAC,KAAK,UAAU;EACnD,WAAW;;uBAEU,eAAe;;;;;;;;;;;oBAWlB,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIhE,gBAAgB;;EAEhB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;IAEpB,SAAS,CAAC,cAAc,EAAE;QACtB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;QAC1C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,UAAU;QACxD,UAAU,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAA+B,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,CAAC,CAAC,CAChB,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;WAC7C,YAAY;WACZ,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC;WAClC,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,aAAa,CAC3D,CAAC;IACF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QAClF,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,OAAO;QACzB,aAAa,EAAE,OAAO;QACtB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC1G,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/G,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,SAAS,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,aAAa,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,SAAS,IAAI,OAAO,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,QAAQ;QAClF,CAAC,CAAC,UAAU,CAAC,YAAY,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE;QACvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,QAAQ,EAAE,CAAC,SAAS;QACpB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,SAAS,EAAE,SAAS;QACpB,gBAAgB,EAAE,cAAc;QAChC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACnC,GAAG,EAAE;YACD,iBAAiB,EAAE,GAAG;YACtB,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1D,kBAAkB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;YACtE,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,GAAG,CAAC,MAAM,4BAA4B,CAAC,CAAC;oBAC/F,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC;gBACD,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACV,gBAAgB,EAAE,WAAW,IAAI,EAAE;YACnC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1C;QACD,SAAS,EAAE;YACP,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAmD,CAAC;YAC1F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACvC;KACJ,CAAC,CAAC;IACH,IAAI,CAAiB,CAAC;IACtB,IAAI,CAAC;QACD,CAAC,GAAG,MAAM,OAAyB,CAAC;QACpC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzF,IAAI,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3D,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG;QACX,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC;QACnD,KAAK,EAAE,YAAY,EAAE,UAAU;QAC/B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACpC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,WAAW;KACrB,CAAC;IAEF,sFAAsF;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC;IAEpC,gFAAgF;IAChF,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACnE,wDAAwD;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAEhG,IAAI,eAAe,GAAoB,IAAI,CAAC;IAE5C,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,eAAe,GAAG,KAAK,CAAC;IAClD,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,eAAe,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAC1C,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAAC,CAAC;IAC7E,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QACvE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACZ,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,MAAM,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;YAC/B,EAAE,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,gBAAgB,eAAe,GAAG,CAAC,CAAC;QAC1H,CAAC;IACL,CAAC;IAED,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9I,IAAI,WAAW,EAAE,CAAC;QACd,eAAe,CAAC,WAAW,EAAE,eAAe,EACxC,aAAa,KAAK,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpJ,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
const ledger = new Map();
|
|
3
|
+
function normalizeError(error) {
|
|
4
|
+
return error
|
|
5
|
+
.toLowerCase()
|
|
6
|
+
.replace(/\d+:\d+/g, 'L:C')
|
|
7
|
+
.replace(/\/[\w/.-]+\//g, '.../')
|
|
8
|
+
.replace(/\s+/g, ' ')
|
|
9
|
+
.trim()
|
|
10
|
+
.slice(0, 500);
|
|
11
|
+
}
|
|
12
|
+
export function recordFriction(tool, error) {
|
|
13
|
+
const normalized = normalizeError(error);
|
|
14
|
+
const hash = createHash('sha256').update(`${tool}:${normalized}`).digest('hex');
|
|
15
|
+
const now = new Date().toISOString();
|
|
16
|
+
const existing = ledger.get(hash);
|
|
17
|
+
if (!existing) {
|
|
18
|
+
ledger.set(hash, {
|
|
19
|
+
toolOrPhase: tool,
|
|
20
|
+
errorFingerprint: hash,
|
|
21
|
+
count: 1,
|
|
22
|
+
firstSeen: now,
|
|
23
|
+
lastSeen: now,
|
|
24
|
+
});
|
|
25
|
+
return 'retry';
|
|
26
|
+
}
|
|
27
|
+
existing.count++;
|
|
28
|
+
existing.lastSeen = now;
|
|
29
|
+
if (existing.count >= 3)
|
|
30
|
+
return 'stop';
|
|
31
|
+
if (existing.count >= 2)
|
|
32
|
+
return 'escalate';
|
|
33
|
+
return 'retry';
|
|
34
|
+
}
|
|
35
|
+
export function resetFriction() {
|
|
36
|
+
ledger.clear();
|
|
37
|
+
}
|
|
38
|
+
export function getFrictionSummary() {
|
|
39
|
+
return Array.from(ledger.values())
|
|
40
|
+
.filter(s => s.count >= 2)
|
|
41
|
+
.sort((a, b) => b.count - a.count);
|
|
42
|
+
}
|
|
43
|
+
// P3-3: Oscillation detection (done→needs_fix→done→needs_fix)
|
|
44
|
+
const verdictHistory = [];
|
|
45
|
+
export function recordVerdict(verdict) {
|
|
46
|
+
verdictHistory.push(verdict);
|
|
47
|
+
if (verdictHistory.length > 10)
|
|
48
|
+
verdictHistory.shift();
|
|
49
|
+
}
|
|
50
|
+
export function detectOscillation() {
|
|
51
|
+
if (verdictHistory.length < 4)
|
|
52
|
+
return false;
|
|
53
|
+
const last4 = verdictHistory.slice(-4);
|
|
54
|
+
return last4[0] === last4[2] && last4[1] === last4[3] && last4[0] !== last4[1];
|
|
55
|
+
}
|
|
56
|
+
export function resetVerdictHistory() {
|
|
57
|
+
verdictHistory.length = 0;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=friction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"friction.js","sourceRoot":"","sources":["../../../src/orchestrator/friction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAUpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEpD,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;SAChC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC;AAID,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa;IACxD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;YACf,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;IAExB,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,8DAA8D;AAC9D,MAAM,cAAc,GAAa,EAAE,CAAC;AAEpC,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,cAAc,CAAC,MAAM,GAAG,EAAE;QAAE,cAAc,CAAC,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
5
5
|
import { isAgentBusy, enqueueMessage, messageQueue } from '../agent/spawn.js';
|
|
6
6
|
import { hasBlockingWorkers } from './worker-registry.js';
|
|
7
7
|
import { insertMessage } from '../core/db.js';
|
|
8
|
+
import { getActiveChatSession } from '../core/chat-sessions.js';
|
|
8
9
|
import { settings } from '../core/config.js';
|
|
9
10
|
import { stripUndefined } from '../core/strip-undefined.js';
|
|
10
11
|
import { broadcast } from '../core/bus.js';
|
|
@@ -70,7 +71,7 @@ export function submitMessage(text, meta) {
|
|
|
70
71
|
if (getState(scope) === 'IDLE' && isContinueIntent(trimmed)) {
|
|
71
72
|
if (isAgentBusy())
|
|
72
73
|
return { action: 'rejected', reason: 'busy' };
|
|
73
|
-
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null);
|
|
74
|
+
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null, getActiveChatSession());
|
|
74
75
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
75
76
|
if (!meta.skipOrchestrate) {
|
|
76
77
|
runDetached(orchestrateContinue({ origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'continue', { ...meta, requestId });
|
|
@@ -79,7 +80,7 @@ export function submitMessage(text, meta) {
|
|
|
79
80
|
}
|
|
80
81
|
// ── reset intent ──
|
|
81
82
|
if (isResetIntent(trimmed)) {
|
|
82
|
-
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null);
|
|
83
|
+
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null, getActiveChatSession());
|
|
83
84
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
84
85
|
if (!meta.skipOrchestrate) {
|
|
85
86
|
runDetached(orchestrateReset({ origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'reset', { ...meta, requestId });
|
|
@@ -95,11 +96,10 @@ export function submitMessage(text, meta) {
|
|
|
95
96
|
// documented in devlog/_plan/260417_message_duplication/02_*.
|
|
96
97
|
if (isAgentBusy() || hasBlockingWorkers()) {
|
|
97
98
|
const queuedId = enqueueMessage(trimmed, meta.origin, stripUndefined({ target: meta.target, chatId: meta.chatId, requestId, scope }));
|
|
98
|
-
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
99
99
|
return { action: 'queued', pending: messageQueue.length, queued: true, requestId, queuedId };
|
|
100
100
|
}
|
|
101
101
|
// ── idle → start immediately ──
|
|
102
|
-
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null);
|
|
102
|
+
insertMessage.run('user', display, meta.origin, '', settings["workingDir"] || null, getActiveChatSession());
|
|
103
103
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
104
104
|
if (!meta.skipOrchestrate) {
|
|
105
105
|
runDetached(orchestrate(trimmed, { origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'orchestrate', { ...meta, requestId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,17 @@ import crypto from 'crypto';
|
|
|
5
5
|
import { resolve } from 'node:path';
|
|
6
6
|
import { broadcast } from '../core/bus.js';
|
|
7
7
|
import { settings } from '../core/config.js';
|
|
8
|
-
import { clearAllEmployeeSessions,
|
|
8
|
+
import { clearAllEmployeeSessions, getRecentMessagesLite, getLatestUnconsumedAnchor, } from '../core/db.js';
|
|
9
|
+
import { getActiveChatSession } from '../core/chat-sessions.js';
|
|
9
10
|
import { clearPromptCache } from '../prompt/builder.js';
|
|
10
11
|
import { spawnAgent, killAgentById } from '../agent/spawn.js';
|
|
11
12
|
import { createWorklog, readLatestWorklog, appendToWorklog, upsertWorklogSection, updateWorklogStatus, } from '../memory/worklog.js';
|
|
12
|
-
import {
|
|
13
|
+
import { listPendingWorkerResults, claimWorkerReplay, markWorkerReplayed, releaseWorkerReplay, getActiveWorkers, cancelWorker, clearAllWorkers, } from './worker-registry.js';
|
|
13
14
|
import { processQueue } from '../agent/spawn.js';
|
|
14
15
|
import { getState, getPrefix, resetState, setState, getStatePrompt, getCtx, } from './state-machine.js';
|
|
16
|
+
import { resetFriction } from './friction.js';
|
|
17
|
+
import { stripInterviewTracker } from './sanitize.js';
|
|
18
|
+
// scope is globally 'default' — resolveOrcScope/findActiveScope no longer needed here
|
|
15
19
|
import { buildMemoryInjection } from '../memory/injection.js';
|
|
16
20
|
// ─── Parser re-exports ─────────────────────────────
|
|
17
21
|
import { isContinueIntent, isResetIntent, isApproveIntent, parseDirectAnswer, stripSubtaskJSON, resolveNumericReference, } from './parser.js';
|
|
@@ -60,34 +64,6 @@ export function buildApprovedPlanPromptBlock(ctx, state, workingDir) {
|
|
|
60
64
|
'---',
|
|
61
65
|
].filter(Boolean).join('\n');
|
|
62
66
|
}
|
|
63
|
-
async function executePreparedWorkerTask(prepared, args) {
|
|
64
|
-
const { task, emp, workerPhase } = prepared;
|
|
65
|
-
upsertEmployeeSession.run(emp["id"], null, emp["cli"], String(emp["model"] || ''), 0);
|
|
66
|
-
claimWorker(emp, task["task"]);
|
|
67
|
-
try {
|
|
68
|
-
const result = await args.runSingle({
|
|
69
|
-
...task,
|
|
70
|
-
phaseProfile: [workerPhase],
|
|
71
|
-
currentPhaseIdx: 0,
|
|
72
|
-
currentPhase: workerPhase,
|
|
73
|
-
completed: false,
|
|
74
|
-
history: [],
|
|
75
|
-
}, emp, { path: args.worklogPath }, 1, { origin: args.origin }, args.priorResults || [], args.parallelPeers || []);
|
|
76
|
-
if (result["status"] === 'done') {
|
|
77
|
-
finishWorker(emp["id"], String(result["text"] || ''));
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
failWorker(emp["id"], String(result["text"] || `[worker error] ${emp["id"]}`));
|
|
81
|
-
}
|
|
82
|
-
return { emp, result, dispatched: true, ran: true };
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
failWorker(emp["id"], err.message || String(err));
|
|
86
|
-
console.error(`[jaw:pabcd] worker ${emp["id"]} failed:`, err.message);
|
|
87
|
-
return { emp, result: null, dispatched: true, ran: false };
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const ACTIVE_PABCD_DISPATCH_STATES = new Set(['P', 'A', 'B', 'C']);
|
|
91
67
|
// ─── drainPendingReplays ─────────────────────────────
|
|
92
68
|
// Feed completed-but-unreceived worker results back to Boss. Safe to call
|
|
93
69
|
// from any idle caller (dispatch route on client-disconnect, processQueue
|
|
@@ -150,7 +126,7 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
150
126
|
clearPromptCache();
|
|
151
127
|
ctx = getCtx(scope);
|
|
152
128
|
const numericResolution = state === 'P' && !ctx?.plan
|
|
153
|
-
? resolveNumericReference(userText,
|
|
129
|
+
? resolveNumericReference(userText, getRecentMessagesLite.all(settings["workingDir"] || null, getActiveChatSession(), 20))
|
|
154
130
|
: null;
|
|
155
131
|
if (numericResolution?.needsConfirmation) {
|
|
156
132
|
broadcast('orchestrate_done', {
|
|
@@ -257,7 +233,7 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
257
233
|
}
|
|
258
234
|
}
|
|
259
235
|
const source = meta["_workerResult"] ? 'worker' : 'user';
|
|
260
|
-
const prefix = getPrefix(state, source);
|
|
236
|
+
const prefix = getPrefix(state, source, getCtx(scope));
|
|
261
237
|
if (prefix && !skipPrefix) {
|
|
262
238
|
prompt = prefix + '\n' + prompt;
|
|
263
239
|
}
|
|
@@ -293,20 +269,84 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
293
269
|
if (state === 'I' && !meta["_workerResult"]) {
|
|
294
270
|
const ivCtx = getCtx(scope);
|
|
295
271
|
if (ivCtx?.interview) {
|
|
296
|
-
const
|
|
297
|
-
|
|
272
|
+
const originalText = result["text"] || '';
|
|
273
|
+
// Strip tracker from user-visible text (shared sanitizer)
|
|
274
|
+
result["text"] = stripInterviewTracker(originalText);
|
|
275
|
+
// P0-2 + P1-1: parse Evidence-Ref or legacy string format
|
|
276
|
+
// Try XML-tagged block first, then fallback to raw known:/unknown: in text
|
|
277
|
+
const xmlBlock = originalText.match(/<interview_tracker>([\s\S]*?)<\/interview_tracker>/);
|
|
278
|
+
const body = xmlBlock
|
|
279
|
+
? xmlBlock[1]
|
|
280
|
+
: (originalText.includes('known:') ? originalText : null);
|
|
281
|
+
if (body) {
|
|
298
282
|
try {
|
|
299
|
-
const
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
283
|
+
const knownMatch = body.match(/known:\s*(\[[\s\S]*?\])\s*(?:unknown:|$)/);
|
|
284
|
+
const unknownMatch = body.match(/unknown:\s*(\[[\s\S]*?\])/)
|
|
285
|
+
|| body.match(/unknown:\s*(\[[\s\S]*\])\s*$/);
|
|
286
|
+
const rawKnown = knownMatch ? JSON.parse(knownMatch[1]) : [];
|
|
287
|
+
const rawUnknown = unknownMatch ? JSON.parse(unknownMatch[1]) : [];
|
|
288
|
+
const nextRound = ivCtx.interview.round + 1;
|
|
289
|
+
const VALID_SOURCES = ['user_statement', 'repo_fact', 'inference', 'assumption', 'default'];
|
|
290
|
+
const VALID_DIMS = ['goal', 'constraint', 'success', 'ontology'];
|
|
291
|
+
// P1-1: parse known as Evidence[] (with string fallback)
|
|
292
|
+
const known = Array.isArray(rawKnown)
|
|
293
|
+
? rawKnown.map((v) => {
|
|
294
|
+
if (typeof v === 'string' && v.trim().length > 0) {
|
|
295
|
+
return { fact: v.trim(), source: 'inference', confidence: 0.5, turnNumber: nextRound };
|
|
296
|
+
}
|
|
297
|
+
if (typeof v === 'object' && v && 'fact' in v) {
|
|
298
|
+
const ev = v;
|
|
299
|
+
const eFact = String(ev['fact'] || '').trim();
|
|
300
|
+
const eSrc = String(ev['source'] || 'inference');
|
|
301
|
+
const eConf = ev['confidence'];
|
|
302
|
+
const eTurn = ev['turnNumber'];
|
|
303
|
+
const eDim = String(ev['dimension'] || '');
|
|
304
|
+
return {
|
|
305
|
+
fact: eFact,
|
|
306
|
+
source: (VALID_SOURCES.includes(eSrc) ? eSrc : 'inference'),
|
|
307
|
+
confidence: typeof eConf === 'number' ? eConf : 0.5,
|
|
308
|
+
turnNumber: typeof eTurn === 'number' ? eTurn : nextRound,
|
|
309
|
+
...(VALID_DIMS.includes(eDim) ? { dimension: eDim } : {}),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
return null;
|
|
313
|
+
}).filter((v) => v !== null && v.fact.length > 0)
|
|
314
|
+
: [];
|
|
315
|
+
const unknown = Array.isArray(rawUnknown)
|
|
316
|
+
? rawUnknown.filter((v) => typeof v === 'string' && v.trim().length > 0)
|
|
317
|
+
: [];
|
|
318
|
+
// P2-2: parse assessment if present
|
|
319
|
+
let assessment;
|
|
320
|
+
const assessMatch = body.match(/assessment:\s*(\{[^}]+\})/);
|
|
321
|
+
if (assessMatch) {
|
|
322
|
+
try {
|
|
323
|
+
const raw = JSON.parse(assessMatch[1]);
|
|
324
|
+
const VALID_LEVELS = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
325
|
+
if (raw && VALID_LEVELS.includes(raw['goal']) && VALID_LEVELS.includes(raw['constraint'])) {
|
|
326
|
+
assessment = {
|
|
327
|
+
goal: raw['goal'], constraint: raw['constraint'],
|
|
328
|
+
success: raw['success'] || 'low', ontology: raw['ontology'] || 'low',
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
catch { /* skip */ }
|
|
333
|
+
}
|
|
334
|
+
if (known.length || unknown.length) {
|
|
335
|
+
// Gap B: drop any prior-round assessment from the carried state so a
|
|
336
|
+
// missing assessment block can't silently persist a stale score (drift).
|
|
337
|
+
// Re-add only when THIS round actually emitted a fresh assessment.
|
|
338
|
+
const { assessment: _stale, ...prevInterview } = ivCtx.interview;
|
|
339
|
+
void _stale;
|
|
340
|
+
setState('I', {
|
|
341
|
+
...ivCtx,
|
|
342
|
+
interview: {
|
|
343
|
+
...prevInterview, round: nextRound, known, unknown,
|
|
344
|
+
...(assessment ? { assessment } : {}),
|
|
345
|
+
},
|
|
346
|
+
}, scope, 'Interview');
|
|
347
|
+
}
|
|
307
348
|
}
|
|
308
|
-
catch { /*
|
|
309
|
-
result["text"] = result["text"].replace(/<interview_tracker>[\s\S]*?<\/interview_tracker>/g, '').trim();
|
|
349
|
+
catch { /* parse failed — state unchanged, tracker already stripped */ }
|
|
310
350
|
}
|
|
311
351
|
}
|
|
312
352
|
}
|
|
@@ -336,8 +376,11 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
336
376
|
}
|
|
337
377
|
}
|
|
338
378
|
}
|
|
379
|
+
// Final safety strip: shared sanitizer regardless of state
|
|
380
|
+
if (typeof result["text"] === 'string') {
|
|
381
|
+
result["text"] = stripInterviewTracker(result["text"]);
|
|
382
|
+
}
|
|
339
383
|
// Normal response → broadcast
|
|
340
|
-
// (Worker JSON dispatch removed in patch3 — Boss calls `cli-jaw dispatch` directly)
|
|
341
384
|
broadcast('orchestrate_done', {
|
|
342
385
|
text: result["text"] || '',
|
|
343
386
|
origin,
|
|
@@ -383,6 +426,7 @@ export async function orchestrateReset(meta = {}) {
|
|
|
383
426
|
}
|
|
384
427
|
clearAllWorkers();
|
|
385
428
|
clearAllEmployeeSessions.run();
|
|
429
|
+
resetFriction();
|
|
386
430
|
const scope = 'default';
|
|
387
431
|
resetState(scope);
|
|
388
432
|
try {
|