@monoes/monomindcli 2.16.12 → 2.16.14
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/.claude/agents/core/coder.md +1 -1
- package/.claude/agents/engineering/engineering-devops-automator.md +1 -1
- package/.claude/agents/github/repo-architect.md +1 -1
- package/.claude/agents/testing/production-validator.md +1 -1
- package/.claude/agents/testing/testing-tool-evaluator.md +1 -1
- package/.claude/commands/github/pr-manager.md +1 -1
- package/.claude/helpers/pick-rank.cjs +34 -4
- package/.claude/skills/monolean-audit/SKILL.md +1 -1
- package/README.md +1 -1
- package/dist/src/commands/cleanup-data.d.ts +30 -0
- package/dist/src/commands/cleanup-data.d.ts.map +1 -0
- package/dist/src/commands/cleanup-data.js +138 -0
- package/dist/src/commands/cleanup-data.js.map +1 -0
- package/dist/src/commands/cleanup-scratch.d.ts +43 -0
- package/dist/src/commands/cleanup-scratch.d.ts.map +1 -0
- package/dist/src/commands/cleanup-scratch.js +125 -0
- package/dist/src/commands/cleanup-scratch.js.map +1 -0
- package/dist/src/commands/cleanup.d.ts +2 -39
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +5 -247
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/doctor-gitignore-checks.d.ts +10 -0
- package/dist/src/commands/doctor-gitignore-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-gitignore-checks.js +141 -0
- package/dist/src/commands/doctor-gitignore-checks.js.map +1 -0
- package/dist/src/commands/doctor-helpers-checks.d.ts +10 -0
- package/dist/src/commands/doctor-helpers-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-helpers-checks.js +292 -0
- package/dist/src/commands/doctor-helpers-checks.js.map +1 -0
- package/dist/src/commands/doctor-memory-checks.d.ts +47 -0
- package/dist/src/commands/doctor-memory-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-memory-checks.js +298 -0
- package/dist/src/commands/doctor-memory-checks.js.map +1 -0
- package/dist/src/commands/doctor-monograph-checks.d.ts +9 -0
- package/dist/src/commands/doctor-monograph-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-monograph-checks.js +331 -0
- package/dist/src/commands/doctor-monograph-checks.js.map +1 -0
- package/dist/src/commands/doctor-project-checks.d.ts +7 -66
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +10 -1331
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor-routing-checks.d.ts +10 -0
- package/dist/src/commands/doctor-routing-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-routing-checks.js +194 -0
- package/dist/src/commands/doctor-routing-checks.js.map +1 -0
- package/dist/src/commands/doctor-worker-checks.d.ts +17 -0
- package/dist/src/commands/doctor-worker-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-worker-checks.js +122 -0
- package/dist/src/commands/doctor-worker-checks.js.map +1 -0
- package/dist/src/commands/hooks-routing-commands.js +1 -1
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +6 -15
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/org-control.d.ts +117 -0
- package/dist/src/commands/org-control.d.ts.map +1 -0
- package/dist/src/commands/org-control.js +274 -0
- package/dist/src/commands/org-control.js.map +1 -0
- package/dist/src/commands/org-lifecycle.d.ts +7 -0
- package/dist/src/commands/org-lifecycle.d.ts.map +1 -0
- package/dist/src/commands/org-lifecycle.js +298 -0
- package/dist/src/commands/org-lifecycle.js.map +1 -0
- package/dist/src/commands/org-manage.d.ts +7 -0
- package/dist/src/commands/org-manage.d.ts.map +1 -0
- package/dist/src/commands/org-manage.js +357 -0
- package/dist/src/commands/org-manage.js.map +1 -0
- package/dist/src/commands/org-memory-command.d.ts +3 -0
- package/dist/src/commands/org-memory-command.d.ts.map +1 -0
- package/dist/src/commands/org-memory-command.js +178 -0
- package/dist/src/commands/org-memory-command.js.map +1 -0
- package/dist/src/commands/org-observe-approvals.d.ts +8 -0
- package/dist/src/commands/org-observe-approvals.d.ts.map +1 -0
- package/dist/src/commands/org-observe-approvals.js +211 -0
- package/dist/src/commands/org-observe-approvals.js.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts +26 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.js +180 -0
- package/dist/src/commands/org-observe-checkpoint.js.map +1 -0
- package/dist/src/commands/org-observe-config.d.ts +8 -0
- package/dist/src/commands/org-observe-config.d.ts.map +1 -0
- package/dist/src/commands/org-observe-config.js +160 -0
- package/dist/src/commands/org-observe-config.js.map +1 -0
- package/dist/src/commands/org-observe-gates.d.ts +4 -0
- package/dist/src/commands/org-observe-gates.d.ts.map +1 -0
- package/dist/src/commands/org-observe-gates.js +182 -0
- package/dist/src/commands/org-observe-gates.js.map +1 -0
- package/dist/src/commands/org-observe-inbox.d.ts +18 -0
- package/dist/src/commands/org-observe-inbox.d.ts.map +1 -0
- package/dist/src/commands/org-observe-inbox.js +154 -0
- package/dist/src/commands/org-observe-inbox.js.map +1 -0
- package/dist/src/commands/org-observe-logs.d.ts +31 -0
- package/dist/src/commands/org-observe-logs.d.ts.map +1 -0
- package/dist/src/commands/org-observe-logs.js +272 -0
- package/dist/src/commands/org-observe-logs.js.map +1 -0
- package/dist/src/commands/org-observe-questions.d.ts +8 -0
- package/dist/src/commands/org-observe-questions.d.ts.map +1 -0
- package/dist/src/commands/org-observe-questions.js +201 -0
- package/dist/src/commands/org-observe-questions.js.map +1 -0
- package/dist/src/commands/org-observe-report.d.ts +8 -0
- package/dist/src/commands/org-observe-report.d.ts.map +1 -0
- package/dist/src/commands/org-observe-report.js +366 -0
- package/dist/src/commands/org-observe-report.js.map +1 -0
- package/dist/src/commands/org-observe-shared.d.ts +20 -0
- package/dist/src/commands/org-observe-shared.d.ts.map +1 -0
- package/dist/src/commands/org-observe-shared.js +55 -0
- package/dist/src/commands/org-observe-shared.js.map +1 -0
- package/dist/src/commands/org-observe.d.ts +9 -101
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +12 -1675
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org-poll.d.ts +57 -0
- package/dist/src/commands/org-poll.d.ts.map +1 -0
- package/dist/src/commands/org-poll.js +194 -0
- package/dist/src/commands/org-poll.js.map +1 -0
- package/dist/src/commands/org-run.d.ts +3 -0
- package/dist/src/commands/org-run.d.ts.map +1 -0
- package/dist/src/commands/org-run.js +449 -0
- package/dist/src/commands/org-run.js.map +1 -0
- package/dist/src/commands/org-serve.d.ts +19 -0
- package/dist/src/commands/org-serve.d.ts.map +1 -0
- package/dist/src/commands/org-serve.js +395 -0
- package/dist/src/commands/org-serve.js.map +1 -0
- package/dist/src/commands/org-subcommands-config.d.ts +8 -0
- package/dist/src/commands/org-subcommands-config.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-config.js +93 -0
- package/dist/src/commands/org-subcommands-config.js.map +1 -0
- package/dist/src/commands/org-subcommands-hil.d.ts +11 -0
- package/dist/src/commands/org-subcommands-hil.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-hil.js +216 -0
- package/dist/src/commands/org-subcommands-hil.js.map +1 -0
- package/dist/src/commands/org-subcommands-observe.d.ts +12 -0
- package/dist/src/commands/org-subcommands-observe.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-observe.js +249 -0
- package/dist/src/commands/org-subcommands-observe.js.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts +12 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.js +163 -0
- package/dist/src/commands/org-subcommands-runtime.js.map +1 -0
- package/dist/src/commands/org.d.ts +3 -151
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +43 -2735
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/never-commit.d.ts +3 -3
- package/dist/src/init/types.d.ts +1 -1
- package/dist/src/init/types.js +1 -1
- package/dist/src/knowledge/document-store.js +1 -1
- package/dist/src/knowledge/document-store.js.map +1 -1
- package/dist/src/mcp-tools/hooks-edit-command.d.ts +10 -0
- package/dist/src/mcp-tools/hooks-edit-command.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-edit-command.js +247 -0
- package/dist/src/mcp-tools/hooks-edit-command.js.map +1 -0
- package/dist/src/mcp-tools/hooks-learning.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-learning.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-learning.js +408 -0
- package/dist/src/mcp-tools/hooks-learning.js.map +1 -0
- package/dist/src/mcp-tools/hooks-metrics-list.d.ts +8 -0
- package/dist/src/mcp-tools/hooks-metrics-list.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-metrics-list.js +205 -0
- package/dist/src/mcp-tools/hooks-metrics-list.js.map +1 -0
- package/dist/src/mcp-tools/hooks-route.d.ts +12 -0
- package/dist/src/mcp-tools/hooks-route.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-route.js +251 -0
- package/dist/src/mcp-tools/hooks-route.js.map +1 -0
- package/dist/src/mcp-tools/hooks-routing.d.ts +6 -27
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +6 -1727
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/hooks-session.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-session.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-session.js +243 -0
- package/dist/src/mcp-tools/hooks-session.js.map +1 -0
- package/dist/src/mcp-tools/hooks-task.d.ts +17 -0
- package/dist/src/mcp-tools/hooks-task.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-task.js +427 -0
- package/dist/src/mcp-tools/hooks-task.js.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts +2 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2 -1
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +1 -1
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/memory/bm25-index.d.ts +2 -2
- package/dist/src/memory/bm25-index.js +2 -2
- package/dist/src/memory/embedding-operations.js +2 -2
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/entity-name-key.d.ts +1 -1
- package/dist/src/memory/entity-name-key.js +1 -1
- package/dist/src/memory/hnsw-operations.d.ts +1 -1
- package/dist/src/memory/hnsw-operations.js +1 -1
- package/dist/src/memory/memory-bridge-backend.d.ts +43 -0
- package/dist/src/memory/memory-bridge-backend.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-backend.js +363 -0
- package/dist/src/memory/memory-bridge-backend.js.map +1 -0
- package/dist/src/memory/memory-bridge-core.d.ts +42 -0
- package/dist/src/memory/memory-bridge-core.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-core.js +126 -0
- package/dist/src/memory/memory-bridge-core.js.map +1 -0
- package/dist/src/memory/memory-bridge-entries.d.ts +131 -0
- package/dist/src/memory/memory-bridge-entries.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-entries.js +227 -0
- package/dist/src/memory/memory-bridge-entries.js.map +1 -0
- package/dist/src/memory/memory-bridge-feedback.d.ts +60 -0
- package/dist/src/memory/memory-bridge-feedback.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-feedback.js +118 -0
- package/dist/src/memory/memory-bridge-feedback.js.map +1 -0
- package/dist/src/memory/memory-bridge-paths.d.ts +123 -0
- package/dist/src/memory/memory-bridge-paths.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-paths.js +335 -0
- package/dist/src/memory/memory-bridge-paths.js.map +1 -0
- package/dist/src/memory/memory-bridge-search.d.ts +48 -0
- package/dist/src/memory/memory-bridge-search.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-search.js +383 -0
- package/dist/src/memory/memory-bridge-search.js.map +1 -0
- package/dist/src/memory/memory-bridge-sessions.d.ts +38 -0
- package/dist/src/memory/memory-bridge-sessions.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-sessions.js +109 -0
- package/dist/src/memory/memory-bridge-sessions.js.map +1 -0
- package/dist/src/memory/memory-bridge-store.d.ts +58 -0
- package/dist/src/memory/memory-bridge-store.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-store.js +201 -0
- package/dist/src/memory/memory-bridge-store.js.map +1 -0
- package/dist/src/memory/memory-bridge.d.ts +10 -438
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +14 -1787
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-kg-claims.d.ts +52 -0
- package/dist/src/memory/memory-kg-claims.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-claims.js +99 -0
- package/dist/src/memory/memory-kg-claims.js.map +1 -0
- package/dist/src/memory/memory-kg-index.d.ts +86 -0
- package/dist/src/memory/memory-kg-index.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-index.js +256 -0
- package/dist/src/memory/memory-kg-index.js.map +1 -0
- package/dist/src/memory/memory-kg-ingest.d.ts +44 -0
- package/dist/src/memory/memory-kg-ingest.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-ingest.js +361 -0
- package/dist/src/memory/memory-kg-ingest.js.map +1 -0
- package/dist/src/memory/memory-kg-model.d.ts +168 -0
- package/dist/src/memory/memory-kg-model.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-model.js +158 -0
- package/dist/src/memory/memory-kg-model.js.map +1 -0
- package/dist/src/memory/memory-kg-names.d.ts +64 -0
- package/dist/src/memory/memory-kg-names.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-names.js +187 -0
- package/dist/src/memory/memory-kg-names.js.map +1 -0
- package/dist/src/memory/memory-kg-promote.d.ts +79 -0
- package/dist/src/memory/memory-kg-promote.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-promote.js +248 -0
- package/dist/src/memory/memory-kg-promote.js.map +1 -0
- package/dist/src/memory/memory-kg-rebuild.d.ts +77 -0
- package/dist/src/memory/memory-kg-rebuild.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rebuild.js +299 -0
- package/dist/src/memory/memory-kg-rebuild.js.map +1 -0
- package/dist/src/memory/memory-kg-rollback.d.ts +47 -0
- package/dist/src/memory/memory-kg-rollback.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rollback.js +193 -0
- package/dist/src/memory/memory-kg-rollback.js.map +1 -0
- package/dist/src/memory/memory-kg-rules.d.ts +64 -0
- package/dist/src/memory/memory-kg-rules.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rules.js +251 -0
- package/dist/src/memory/memory-kg-rules.js.map +1 -0
- package/dist/src/memory/memory-kg-scan.d.ts +118 -0
- package/dist/src/memory/memory-kg-scan.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-scan.js +209 -0
- package/dist/src/memory/memory-kg-scan.js.map +1 -0
- package/dist/src/memory/memory-kg-search.d.ts +80 -0
- package/dist/src/memory/memory-kg-search.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-search.js +239 -0
- package/dist/src/memory/memory-kg-search.js.map +1 -0
- package/dist/src/memory/memory-kg.d.ts +19 -547
- package/dist/src/memory/memory-kg.d.ts.map +1 -1
- package/dist/src/memory/memory-kg.js +10 -2389
- package/dist/src/memory/memory-kg.js.map +1 -1
- package/dist/src/orgrt/daemon-types.d.ts +196 -0
- package/dist/src/orgrt/daemon-types.d.ts.map +1 -0
- package/dist/src/orgrt/daemon-types.js +38 -0
- package/dist/src/orgrt/daemon-types.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +70 -300
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +41 -2536
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/idle-watchdog.d.ts +39 -0
- package/dist/src/orgrt/idle-watchdog.d.ts.map +1 -0
- package/dist/src/orgrt/idle-watchdog.js +289 -0
- package/dist/src/orgrt/idle-watchdog.js.map +1 -0
- package/dist/src/orgrt/org-reload.d.ts +7 -0
- package/dist/src/orgrt/org-reload.d.ts.map +1 -0
- package/dist/src/orgrt/org-reload.js +111 -0
- package/dist/src/orgrt/org-reload.js.map +1 -0
- package/dist/src/orgrt/org-start-steps.d.ts +21 -0
- package/dist/src/orgrt/org-start-steps.d.ts.map +1 -0
- package/dist/src/orgrt/org-start-steps.js +305 -0
- package/dist/src/orgrt/org-start-steps.js.map +1 -0
- package/dist/src/orgrt/org-start.d.ts +7 -0
- package/dist/src/orgrt/org-start.d.ts.map +1 -0
- package/dist/src/orgrt/org-start.js +435 -0
- package/dist/src/orgrt/org-start.js.map +1 -0
- package/dist/src/orgrt/org-state-file.d.ts +8 -0
- package/dist/src/orgrt/org-state-file.d.ts.map +1 -0
- package/dist/src/orgrt/org-state-file.js +116 -0
- package/dist/src/orgrt/org-state-file.js.map +1 -0
- package/dist/src/orgrt/org-stop.d.ts +6 -0
- package/dist/src/orgrt/org-stop.d.ts.map +1 -0
- package/dist/src/orgrt/org-stop.js +332 -0
- package/dist/src/orgrt/org-stop.js.map +1 -0
- package/dist/src/orgrt/org-tools.d.ts +11 -0
- package/dist/src/orgrt/org-tools.d.ts.map +1 -0
- package/dist/src/orgrt/org-tools.js +305 -0
- package/dist/src/orgrt/org-tools.js.map +1 -0
- package/dist/src/orgrt/role-incarnation.d.ts +18 -0
- package/dist/src/orgrt/role-incarnation.d.ts.map +1 -0
- package/dist/src/orgrt/role-incarnation.js +374 -0
- package/dist/src/orgrt/role-incarnation.js.map +1 -0
- package/dist/src/orgrt/role-respawn.d.ts +7 -0
- package/dist/src/orgrt/role-respawn.d.ts.map +1 -0
- package/dist/src/orgrt/role-respawn.js +318 -0
- package/dist/src/orgrt/role-respawn.js.map +1 -0
- package/dist/src/orgrt/role-session-opts.d.ts +389 -0
- package/dist/src/orgrt/role-session-opts.d.ts.map +1 -0
- package/dist/src/orgrt/role-session-opts.js +289 -0
- package/dist/src/orgrt/role-session-opts.js.map +1 -0
- package/dist/src/orgrt/runner-resolve.d.ts +43 -0
- package/dist/src/orgrt/runner-resolve.d.ts.map +1 -0
- package/dist/src/orgrt/runner-resolve.js +77 -0
- package/dist/src/orgrt/runner-resolve.js.map +1 -0
- package/dist/src/orgrt/session-gate.d.ts +34 -0
- package/dist/src/orgrt/session-gate.d.ts.map +1 -0
- package/dist/src/orgrt/session-gate.js +74 -0
- package/dist/src/orgrt/session-gate.js.map +1 -0
- package/dist/src/orgrt/session-prompt.d.ts +31 -0
- package/dist/src/orgrt/session-prompt.d.ts.map +1 -0
- package/dist/src/orgrt/session-prompt.js +115 -0
- package/dist/src/orgrt/session-prompt.js.map +1 -0
- package/dist/src/orgrt/session-run.d.ts +18 -0
- package/dist/src/orgrt/session-run.d.ts.map +1 -0
- package/dist/src/orgrt/session-run.js +429 -0
- package/dist/src/orgrt/session-run.js.map +1 -0
- package/dist/src/orgrt/session-stream.d.ts +21 -0
- package/dist/src/orgrt/session-stream.d.ts.map +1 -0
- package/dist/src/orgrt/session-stream.js +173 -0
- package/dist/src/orgrt/session-stream.js.map +1 -0
- package/dist/src/orgrt/session-types.d.ts +219 -0
- package/dist/src/orgrt/session-types.d.ts.map +1 -0
- package/dist/src/orgrt/session-types.js +2 -0
- package/dist/src/orgrt/session-types.js.map +1 -0
- package/dist/src/orgrt/session-usage.d.ts +29 -0
- package/dist/src/orgrt/session-usage.d.ts.map +1 -0
- package/dist/src/orgrt/session-usage.js +64 -0
- package/dist/src/orgrt/session-usage.js.map +1 -0
- package/dist/src/orgrt/session.d.ts +5 -281
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +8 -1117
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/ui/org-hil.mjs +1 -1
- package/dist/src/ui/routes-org-agents.mjs +318 -0
- package/dist/src/ui/routes-org-approvals.mjs +133 -0
- package/dist/src/ui/routes-org-config.mjs +459 -0
- package/dist/src/ui/routes-org-control.mjs +300 -0
- package/dist/src/ui/routes-org-files.mjs +172 -0
- package/dist/src/ui/routes-org-helpers.mjs +84 -0
- package/dist/src/ui/routes-org-knowledge.mjs +262 -0
- package/dist/src/ui/routes-org-lifecycle.mjs +224 -0
- package/dist/src/ui/routes-org-live.mjs +278 -0
- package/dist/src/ui/routes-org-mastermind.mjs +346 -0
- package/dist/src/ui/routes-org-planning.mjs +398 -0
- package/dist/src/ui/routes-org-runs.mjs +430 -0
- package/dist/src/ui/routes-org-status.mjs +342 -0
- package/dist/src/ui/routes-org-workflows.mjs +212 -0
- package/dist/src/ui/routes-org.mjs +26 -3847
- package/dist/src/ui/server.mjs +1 -1
- package/dist/src/utils/native-error.d.ts +1 -1
- package/dist/src/utils/native-error.js +1 -1
- package/dist/src/utils/paths.d.ts +2 -1
- package/dist/src/utils/paths.d.ts.map +1 -1
- package/dist/src/utils/paths.js +2 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/org-skills/adversarial-reviewer/SKILL.md +1 -1
- package/org-skills/board-deck-builder/SKILL.md +1 -1
- package/org-skills/code-reviewer/SKILL.md +1 -1
- package/org-skills/debugging-wizard/SKILL.md +1 -1
- package/org-skills/scientific-thinking-literature-review/SKILL.md +1 -1
- package/org-skills/scientific-thinking-scholar-evaluation/SKILL.md +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/orgrt/session-prompt.ts
|
|
2
|
+
// Extracted from session.ts — a role session's system prompt and model.
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { endpointBriefingLines } from './endpoint-roles.js';
|
|
5
|
+
import { expandRolePromptVars, promptVarsFor } from './prompt-vars.js';
|
|
6
|
+
import { roleSkillGuidance } from './skill-library.js';
|
|
7
|
+
import { DEFAULT_CLAUDE_MODEL, VERCEL_PROVIDERS } from './vercel-providers.js';
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the extra system-prompt block for a role: its pinned library
|
|
10
|
+
* skills and on-demand skill catalog (skill-library.ts) plus the role's own
|
|
11
|
+
* `instructions_file`, if any — all optional and independent. A missing or
|
|
12
|
+
* unreadable `instructions_file` is skipped (not an error): a role shouldn't
|
|
13
|
+
* fail to start a session over a stale/typo'd custom-file path.
|
|
14
|
+
*/
|
|
15
|
+
export function resolveRoleExtraGuidance(role, projectRoot) {
|
|
16
|
+
const parts = [];
|
|
17
|
+
const skills = roleSkillGuidance(role, projectRoot);
|
|
18
|
+
if (skills)
|
|
19
|
+
parts.push(skills);
|
|
20
|
+
if (role.instructions_file) {
|
|
21
|
+
try {
|
|
22
|
+
const custom = readFileSync(role.instructions_file, 'utf-8').trim();
|
|
23
|
+
if (custom)
|
|
24
|
+
parts.push(custom);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// missing/unreadable custom instructions file — skip, don't crash session start
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return parts.length ? parts.join('\n\n') : undefined;
|
|
31
|
+
}
|
|
32
|
+
/** Resolve the model string for a role: explicit adapter_config.model wins;
|
|
33
|
+
* otherwise fall back to the vendor/runtime default.
|
|
34
|
+
*
|
|
35
|
+
* Vendor defaults are read straight off VERCEL_PROVIDERS, which already
|
|
36
|
+
* carries a defaultModel per vendor. A second hand-kept table lived here and
|
|
37
|
+
* restated all sixteen of them — two lists of per-vendor defaults that would
|
|
38
|
+
* eventually disagree, which is precisely the drift #252 was. An empty
|
|
39
|
+
* registry default (openai-compatible, which serves arbitrary endpoints) is
|
|
40
|
+
* falsy and so falls through to the runtime switch, as it always did. */
|
|
41
|
+
export function resolveModel(role, runtime, vendor) {
|
|
42
|
+
const explicit = role.adapter_config?.model;
|
|
43
|
+
if (explicit)
|
|
44
|
+
return explicit;
|
|
45
|
+
const vendorDefault = vendor ? VERCEL_PROVIDERS[vendor]?.defaultModel : undefined;
|
|
46
|
+
if (vendorDefault)
|
|
47
|
+
return vendorDefault;
|
|
48
|
+
switch (runtime) {
|
|
49
|
+
case 'claude':
|
|
50
|
+
return DEFAULT_CLAUDE_MODEL;
|
|
51
|
+
// Kimi Code CLI namespaces model ids as <provider>/<model> (its own
|
|
52
|
+
// default_model is "kimi-code/kimi-for-coding-highspeed") — a bare "k3"
|
|
53
|
+
// 404s with "Model \"k3\" is not configured in config.toml".
|
|
54
|
+
case 'kimicode':
|
|
55
|
+
return 'kimi-code/k3';
|
|
56
|
+
case 'opencode':
|
|
57
|
+
return 'glm-5.2'; // opencode is typically paired with a vendor; this is the bare-runtime fallback
|
|
58
|
+
case 'codex':
|
|
59
|
+
return 'gpt-5.6-terra';
|
|
60
|
+
case 'antigravity':
|
|
61
|
+
return 'gemini-3.6-flash-high';
|
|
62
|
+
case 'vercel':
|
|
63
|
+
return 'gpt-5.5';
|
|
64
|
+
default:
|
|
65
|
+
return DEFAULT_CLAUDE_MODEL;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Role briefing given to each agent session (SDK systemPrompt option).
|
|
69
|
+
* `extraGuidance` carries pre-resolved text the caller already loaded from
|
|
70
|
+
* disk — the role's library skills and/or its own `instructions_file`,
|
|
71
|
+
* if either resolved to something. Kept as a plain string param (not read here)
|
|
72
|
+
* so this function stays synchronous/pure and trivially testable. */
|
|
73
|
+
export function buildRolePrompt(role, def, roster, glossary, extraGuidance,
|
|
74
|
+
/** M2: one line per endpoint role (endpointBriefingLines) — boss only. */
|
|
75
|
+
endpointBriefing) {
|
|
76
|
+
const isCoordinator = role.reports_to == null;
|
|
77
|
+
return [
|
|
78
|
+
`You are agent "${role.id}" (${role.title || role.type}) in the org "${def.name}".`,
|
|
79
|
+
`Org goal: ${def.goal}`,
|
|
80
|
+
isCoordinator ? `You are the coordinator of this org.` : `You report to "${role.reports_to}".`,
|
|
81
|
+
role.responsibilities?.length
|
|
82
|
+
? `Your responsibilities:\n- ${role.responsibilities.join('\n- ')}`
|
|
83
|
+
: '',
|
|
84
|
+
extraGuidance || '',
|
|
85
|
+
`## Communication protocol`,
|
|
86
|
+
`The ONLY way to communicate with other agents is the org_send tool.`,
|
|
87
|
+
`Roster: ${roster.join(', ')}. Address another org's agent as "<org-name>:<role-id>".`,
|
|
88
|
+
endpointBriefing?.length ? `Automations in this org:\n${endpointBriefing.join('\n')}` : '',
|
|
89
|
+
`If you need a human decision, call ask_human with your question, then end your turn - you'll receive the human's answer as a new message when it arrives. Do not call ask_human for anything you can resolve yourself.`,
|
|
90
|
+
`For irreversible or high-risk actions (deployments, deletions, external communications), call org_gate to create a decision gate — a hard-blocking approval checkpoint. End your turn and wait for the human's approval or rejection before proceeding.`,
|
|
91
|
+
`You can structure work as a task DAG: use org_task to create tasks with dependencies, org_task_done to mark them complete, and org_tasks to see the full DAG. Tasks with satisfied dependencies are automatically dispatched to their assignee.`,
|
|
92
|
+
`The work graph is dynamic: call org_task_split when scope expands, org_task_merge when parallel branches converge early, or org_task_cancel when evidence makes a planned task moot. Use org_plan_graph to propose a full work graph in one call when you know the plan upfront. If a task genuinely can't proceed until a specific real-world time — a scheduled long-running process, a deadline someone gave you, anything with a known future unblock time — call org_task_block instead of leaving it idle: it stops the idle watchdog from nudging you about it and automatically resumes the task when the time arrives, instead of you repeatedly re-confirming "still waiting" every idle cycle.`,
|
|
93
|
+
`Before starting substantial work, call org_recall to check what previous runs already learned or delivered - do not redo finished work.`,
|
|
94
|
+
`The user's documents (notes, handbooks, specs) are searchable with knowledge_search - ground your work in them instead of guessing; results labeled [global] come from the user's personal cross-project brain.`,
|
|
95
|
+
`When you receive a message, act on it, then org_send your result to the requester.`,
|
|
96
|
+
isCoordinator
|
|
97
|
+
? `When the org's goal for this run is achieved (or clearly can't be): first call org_learn ONCE with the durable knowledge this run produced, then call org_complete exactly once with the outcome and a concise summary. Then end your turn.`
|
|
98
|
+
: `When your current work is complete and no reply is needed, end your turn without further tool calls.`,
|
|
99
|
+
isCoordinator && glossary?.length
|
|
100
|
+
? `Known entities (reuse these EXACT names in org_learn instead of near-duplicates): ${glossary.slice(0, 40).join(', ')}`
|
|
101
|
+
: '',
|
|
102
|
+
]
|
|
103
|
+
.filter(Boolean)
|
|
104
|
+
.join('\n\n');
|
|
105
|
+
}
|
|
106
|
+
/** The system prompt one session of this role is built with. */
|
|
107
|
+
export function rolePromptFor(opts) {
|
|
108
|
+
return buildRolePrompt(expandRolePromptVars(opts.role, promptVarsFor(opts.orgRoot ?? opts.cwd)), (opts.def ?? { name: opts.org, goal: '' }), opts.def?.roles.map((r) => r.id) ?? [opts.role.id], opts.glossary,
|
|
109
|
+
// D7: the loadout's text follows the role's own guidance. With no
|
|
110
|
+
// loadout this is exactly resolveRoleExtraGuidance(role), as before.
|
|
111
|
+
[resolveRoleExtraGuidance(opts.role, opts.orgRoot ?? opts.cwd), opts.loadout?.guidance]
|
|
112
|
+
.filter(Boolean)
|
|
113
|
+
.join('\n\n') || undefined, opts.onComplete ? endpointBriefingLines(opts.def) : undefined);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=session-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-prompt.js","sourceRoot":"","sources":["../../../src/orgrt/session-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CumulativeMeter } from './cumulative-meter.js';
|
|
2
|
+
import type { StreamOptions } from './mailbox.js';
|
|
3
|
+
import type { TokenUsage } from './policy.js';
|
|
4
|
+
import { type FaultRestarts } from './sandbox-fault.js';
|
|
5
|
+
import type { SessionOpts } from './session-types.js';
|
|
6
|
+
/** One bounded SDK session for a role; resolves with the SDK's session_id (for
|
|
7
|
+
* resuming on restart) and whether it ended by hitting the turn limit (so the
|
|
8
|
+
* caller can push a continuation) when the stream ends (mailbox closed or
|
|
9
|
+
* maxTurns reached). */
|
|
10
|
+
export declare function runOneSession(opts: SessionOpts, resume?: string, costTotals?: CumulativeMeter<{
|
|
11
|
+
usd: number;
|
|
12
|
+
}>, progress?: {
|
|
13
|
+
replied: boolean;
|
|
14
|
+
}, tokenTotals?: CumulativeMeter<TokenUsage>, streamOpts?: StreamOptions, faultWatch?: ReturnType<FaultRestarts['watch']>, cancelled?: AbortSignal): Promise<{
|
|
15
|
+
sessionId?: string;
|
|
16
|
+
hitTurnLimit?: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=session-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-run.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session-run.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAI3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQtD;;;yBAGyB;AACzB,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,eAAe,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7C,QAAQ,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC/B,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,EACzC,UAAU,CAAC,EAAE,aAAa,EAC1B,UAAU,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAqZzD"}
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/orgrt/session-run.ts
|
|
2
|
+
// Extracted from session.ts — one bounded runner session for a role (runOneSession).
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { ClaudeAgentRunner, defaultClaudeRunner } from './agent-runner.js';
|
|
5
|
+
import { ensureAuthorityDirs } from './authority-mask.js';
|
|
6
|
+
import { resolveRoleCostTier } from './cost-tier.js';
|
|
7
|
+
import { buildOrgTools } from './org-tools.js';
|
|
8
|
+
import { summarizeToolOutput } from './policy.js';
|
|
9
|
+
import { resolveRoleProvider } from './provider.js';
|
|
10
|
+
import { resolveRoleGitEnforcement, roleAuthorityMask } from './role-sandbox.js';
|
|
11
|
+
import { ProcessFaultError } from './sandbox-fault.js';
|
|
12
|
+
import { sandboxStubPaths, sandboxStubs } from './sandbox-stubs.js';
|
|
13
|
+
import { resolveModel } from './session-prompt.js';
|
|
14
|
+
import { openSessionStream, sessionRunArgs } from './session-stream.js';
|
|
15
|
+
import { addTo, emitUsage, resultBreakdown, totalTokens, turnBreakdown } from './session-usage.js';
|
|
16
|
+
import { StateDetector } from './state-detector.js';
|
|
17
|
+
import { linkAbort } from './task-cancel.js';
|
|
18
|
+
const CONTEXT_LIMIT_RE = /context.window.limit|context.length.exceeded|maximum.context/i;
|
|
19
|
+
/** One bounded SDK session for a role; resolves with the SDK's session_id (for
|
|
20
|
+
* resuming on restart) and whether it ended by hitting the turn limit (so the
|
|
21
|
+
* caller can push a continuation) when the stream ends (mailbox closed or
|
|
22
|
+
* maxTurns reached). */
|
|
23
|
+
export async function runOneSession(opts, resume, costTotals, progress, tokenTotals, streamOpts, faultWatch, cancelled) {
|
|
24
|
+
const { org, role, bus, policy, mailbox, cwd } = opts;
|
|
25
|
+
// Each call starts a new runner process, whose cumulative totals may or may
|
|
26
|
+
// not continue the previous one's (cumulative-meter.ts).
|
|
27
|
+
costTotals?.newProcess();
|
|
28
|
+
tokenTotals?.newProcess();
|
|
29
|
+
// Read lastMessageId live from opts instead of capturing at session start
|
|
30
|
+
// This ensures chat responses link to the most recent message delivered
|
|
31
|
+
const getLastMessageId = () => (opts.lastMessageId ? opts.lastMessageId() : undefined);
|
|
32
|
+
// Resolve runner. Precedence: explicit runner > queryFn-wrapped > default.
|
|
33
|
+
// queryFn stays supported so daemon.ts / test-loop.ts need no changes.
|
|
34
|
+
const runner = opts.runner ?? (opts.queryFn ? new ClaudeAgentRunner(opts.queryFn) : defaultClaudeRunner);
|
|
35
|
+
const tools = buildOrgTools(opts);
|
|
36
|
+
// M1: provider tools are listed per session start, so a hot-reloaded
|
|
37
|
+
// tool_providers block takes effect at the role's next session.
|
|
38
|
+
const providerSet = opts.buildProviderTools ? await opts.buildProviderTools() : undefined;
|
|
39
|
+
if (providerSet)
|
|
40
|
+
tools.push(...providerSet.tools);
|
|
41
|
+
// Named-provider resolution (`adapter_config.provider`): explicit role
|
|
42
|
+
// provider wins, else the named entry from `monomind providers configure`.
|
|
43
|
+
// The named provider's default model fills in adapter_config.model when the
|
|
44
|
+
// role didn't pin one.
|
|
45
|
+
const prov = resolveRoleProvider(role, opts.orgRoot ?? opts.cwd);
|
|
46
|
+
// ADR-O001 D8: the role's cost tier, when the org declares one. Resolved
|
|
47
|
+
// here — the single choke point where a role's model is decided — so the
|
|
48
|
+
// documented precedence holds in exactly one place:
|
|
49
|
+
// explicit adapter_config.model > tier > named-provider default > runtime
|
|
50
|
+
// The tier's EFFORT is applied even when the model came from an explicit
|
|
51
|
+
// pin: which model to run and how hard to think are separate axes, and
|
|
52
|
+
// silently dropping the effort because a model was pinned would be the
|
|
53
|
+
// "silent downgrade" this decision exists to prevent.
|
|
54
|
+
// Throws (fails the session) rather than guessing when the tier has no
|
|
55
|
+
// entry for this role's provider — daemon.ts validates the whole roster
|
|
56
|
+
// up front so that is normally caught before any token is spent.
|
|
57
|
+
const tier = resolveRoleCostTier({
|
|
58
|
+
role,
|
|
59
|
+
def: opts.def,
|
|
60
|
+
vendor: role.provider?.vendor ?? prov.cfg?.vendor,
|
|
61
|
+
});
|
|
62
|
+
const model = role.adapter_config?.model ??
|
|
63
|
+
tier?.model ??
|
|
64
|
+
prov.defaultModel ??
|
|
65
|
+
resolveModel(role, role.runtime, role.provider?.vendor ?? prov.cfg?.vendor);
|
|
66
|
+
bus.emit({ type: 'status', from: role.id, msg: 'session starting' });
|
|
67
|
+
let sessionId = resume;
|
|
68
|
+
let hitTurnLimit = false;
|
|
69
|
+
let contextLimitFired = false;
|
|
70
|
+
// #budget-realtime: real tokens already accounted for the message CURRENTLY
|
|
71
|
+
// in flight, via the per-assistant-turn accounting below — reset to 0 each
|
|
72
|
+
// time a 'result' message ends one mailbox message and the next one starts.
|
|
73
|
+
// Exists purely so the 'result' branch never re-adds what this branch
|
|
74
|
+
// already added (see there for why it can't just always add).
|
|
75
|
+
let messageTurnTokens = { input: 0, output: 0, cacheRead: 0, cacheCreation: 0 };
|
|
76
|
+
// Abort hook for the runner (AgentRunArgs.signal): the silent-stream
|
|
77
|
+
// abort below used to call iterator.return() only, which queues behind a
|
|
78
|
+
// subprocess runner blocked in `for await (child.stdout)` — the child was
|
|
79
|
+
// never killed, so every supervisor retry stacked another live CLI.
|
|
80
|
+
//
|
|
81
|
+
// Per attempt, linked one way to the caller's externalAbort (#256): the
|
|
82
|
+
// silent-stream abort used to fire the daemon's slot controller itself,
|
|
83
|
+
// permanently. Every retry then started on an already-aborted signal (a
|
|
84
|
+
// runner honoring it kills its child at once) and the daemon's crash
|
|
85
|
+
// backoff, which races that controller to notice an org stop, resolved
|
|
86
|
+
// immediately - the role burned its retries and crashed. An org stop still
|
|
87
|
+
// aborts the attempt; the attempt's own abort stays its own.
|
|
88
|
+
const abort = new AbortController();
|
|
89
|
+
const external = opts.externalAbort?.signal;
|
|
90
|
+
const onExternalAbort = () => abort.abort(external?.reason);
|
|
91
|
+
if (external?.aborted)
|
|
92
|
+
onExternalAbort();
|
|
93
|
+
else
|
|
94
|
+
external?.addEventListener('abort', onExternalAbort, { once: true });
|
|
95
|
+
// org_task_cancel for this process's task: end it the same way (task-cancel.ts).
|
|
96
|
+
// Already aborted when it landed during the setup awaits above.
|
|
97
|
+
const unlinkCancelled = linkAbort(cancelled, abort);
|
|
98
|
+
try {
|
|
99
|
+
// #258: policy.git enforced where git runs, not only by Bash text
|
|
100
|
+
// classification — guard env for every runtime, OS sandbox + file-tool
|
|
101
|
+
// deny rules for Claude. Throws (session fails) when the role requires
|
|
102
|
+
// the sandbox and it can't start.
|
|
103
|
+
// Before the sandbox is built: it can only mask directories that exist.
|
|
104
|
+
ensureAuthorityDirs(homedir(), process.env);
|
|
105
|
+
const gitEnforcement = resolveRoleGitEnforcement({
|
|
106
|
+
org,
|
|
107
|
+
role,
|
|
108
|
+
cwd,
|
|
109
|
+
orgRoot: opts.orgRoot,
|
|
110
|
+
orgDir: opts.orgDir,
|
|
111
|
+
bus,
|
|
112
|
+
claudeRuntime: runner instanceof ClaudeAgentRunner,
|
|
113
|
+
runtime: role.runtime ?? opts.def?.runtime,
|
|
114
|
+
// The sandbox's mount-point stubs, created once and kept until the run
|
|
115
|
+
// ends, so no other role's process deletes one mid-bind (sandbox-stubs.ts).
|
|
116
|
+
// Held before the deny list is built, which keeps a denied cwd read-only
|
|
117
|
+
// when all of them are in place (sandbox-deny-write.ts).
|
|
118
|
+
holdStubs: (writableRoots) => {
|
|
119
|
+
const paths = sandboxStubPaths({ cwd, home: homedir(), writableRoots, env: process.env });
|
|
120
|
+
sandboxStubs.hold(`${org}:${opts.run ?? ''}`, paths);
|
|
121
|
+
return sandboxStubs.missing(paths);
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
// What this session really got, not what the config asked for (policy-git.ts).
|
|
125
|
+
policy.setOsSandboxed(!!gitEnforcement.claudeRestrictions?.sandbox);
|
|
126
|
+
const authorityMask = roleAuthorityMask({
|
|
127
|
+
bus,
|
|
128
|
+
roleId: role.id,
|
|
129
|
+
inSdkSandbox: !!gitEnforcement.claudeRestrictions?.sandbox,
|
|
130
|
+
// vercel runs in-process with no shell; its file tools go through the policy engine.
|
|
131
|
+
inProcess: (role.runtime ?? opts.def?.runtime) === 'vercel',
|
|
132
|
+
cwd,
|
|
133
|
+
orgRoot: opts.orgRoot,
|
|
134
|
+
});
|
|
135
|
+
const stream = runner.run(sessionRunArgs(opts, {
|
|
136
|
+
runner,
|
|
137
|
+
tools,
|
|
138
|
+
streamOpts,
|
|
139
|
+
gitEnforcement,
|
|
140
|
+
model,
|
|
141
|
+
tier,
|
|
142
|
+
prov,
|
|
143
|
+
resume,
|
|
144
|
+
authorityMask,
|
|
145
|
+
abort,
|
|
146
|
+
}));
|
|
147
|
+
const detector = new StateDetector();
|
|
148
|
+
const rest = await openSessionStream(opts, stream, abort);
|
|
149
|
+
for await (const m of rest) {
|
|
150
|
+
if (process.env.MONOMIND_DEBUG) {
|
|
151
|
+
console.error(`[orgrt:${org}/${role.id}] runner message type=${m.type} subtype=${String(m.subtype ?? '-')}`);
|
|
152
|
+
}
|
|
153
|
+
if (cancelled?.aborted)
|
|
154
|
+
throw cancelled.reason;
|
|
155
|
+
mailbox.observeTurn(m.type); // the prompt stream outlives a live turn (#331)
|
|
156
|
+
if (m.session_id) {
|
|
157
|
+
sessionId = m.session_id;
|
|
158
|
+
// P2-13: propagate the session ID back to the daemon so checkpoints
|
|
159
|
+
// can resume the SDK session after a crash/restart.
|
|
160
|
+
opts.onSessionId?.(sessionId);
|
|
161
|
+
}
|
|
162
|
+
const prevState = detector.current();
|
|
163
|
+
const textForDetect = m.type === 'assistant' ? m.text || '' : undefined;
|
|
164
|
+
const newState = detector.onMessage(m.type, m.subtype, textForDetect);
|
|
165
|
+
if (newState !== prevState) {
|
|
166
|
+
bus.emit({
|
|
167
|
+
type: 'status',
|
|
168
|
+
from: role.id,
|
|
169
|
+
reason: 'state-change',
|
|
170
|
+
msg: `${prevState} → ${newState}`,
|
|
171
|
+
data: { from: prevState, to: newState },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (m.type === 'assistant') {
|
|
175
|
+
if (progress)
|
|
176
|
+
progress.replied = true;
|
|
177
|
+
const text = m.text || '';
|
|
178
|
+
if (text.trim()) {
|
|
179
|
+
opts.onOutput?.(text);
|
|
180
|
+
bus.emit({ type: 'chat', from: role.id, msg: text, parentId: getLastMessageId() });
|
|
181
|
+
if (opts.onContextLimit && !contextLimitFired && CONTEXT_LIMIT_RE.test(text)) {
|
|
182
|
+
contextLimitFired = true;
|
|
183
|
+
bus.emit({
|
|
184
|
+
type: 'audit',
|
|
185
|
+
from: role.id,
|
|
186
|
+
reason: 'boss-context-limit',
|
|
187
|
+
msg: 'coordinator context window exhausted — requesting whole-org restart with fresh sessions',
|
|
188
|
+
});
|
|
189
|
+
opts.onContextLimit();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// #budget-realtime (HIGH): the SDK's 'result' message arrives once per
|
|
193
|
+
// WHOLE mailbox message in streaming-input mode — with
|
|
194
|
+
// max_turns_per_message defaulting to 100,000, a single message can
|
|
195
|
+
// internally loop through hundreds/thousands of tool-use turns before
|
|
196
|
+
// that 'result' ever arrives, during which policy.used never moved and
|
|
197
|
+
// policy.decide() allowed every one of those turns' tool calls
|
|
198
|
+
// regardless of real spend (the overspend was already done by the time
|
|
199
|
+
// overBudget could ever trip). Each 'assistant' SDK message DOES carry
|
|
200
|
+
// that ONE model turn's real usage (agent-runner.ts reads it off
|
|
201
|
+
// BetaMessage.usage) — accumulate it as turns actually happen and
|
|
202
|
+
// enforce the budget immediately, so overBudget can close the mailbox
|
|
203
|
+
// DURING a runaway message instead of only once it finally completes.
|
|
204
|
+
// (USD budget can't get the same real-time treatment: the SDK only
|
|
205
|
+
// exposes cost as a cumulative total on 'result', not per-turn on
|
|
206
|
+
// 'assistant' — verified against this project's Claude Agent SDK
|
|
207
|
+
// .d.ts, which puts `usage`/token counts on BetaMessage but cost only
|
|
208
|
+
// on SDKResultSuccess.total_cost_usd/modelUsage. overBudgetUsd is
|
|
209
|
+
// still checked below, once per message, same as before this fix.)
|
|
210
|
+
//
|
|
211
|
+
// ADR-O001 D1: the sum must include BOTH cache fields. They are
|
|
212
|
+
// siblings of input_tokens in the Anthropic API, not subsets of it —
|
|
213
|
+
// `input_tokens` is the uncached remainder — and both are billable
|
|
214
|
+
// (~0.1x and ~1.25x input). Omitting them meant the better the cache
|
|
215
|
+
// worked the less the meter saw: on one measured run, 2,765M tokens
|
|
216
|
+
// billed against 8.1M recorded, with input_tokens at 0.0M.
|
|
217
|
+
const turn = turnBreakdown(m);
|
|
218
|
+
const turnTokens = totalTokens(turn);
|
|
219
|
+
if (turnTokens > 0) {
|
|
220
|
+
addTo(messageTurnTokens, turn);
|
|
221
|
+
policy.addTokenUsage(turn);
|
|
222
|
+
if (policy.overBudget) {
|
|
223
|
+
bus.emit({
|
|
224
|
+
type: 'status',
|
|
225
|
+
from: role.id,
|
|
226
|
+
reason: 'budget-exhausted',
|
|
227
|
+
msg: 'token budget exhausted - closing session',
|
|
228
|
+
});
|
|
229
|
+
mailbox.close('token-budget');
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else if (m.type === 'tool_result') {
|
|
234
|
+
// #289: the tool call's outcome. Until this event existed, a Bash
|
|
235
|
+
// running a test suite looked identical on the bus whether the suite
|
|
236
|
+
// passed, failed, or the binary was missing — one 'allow' at the moment
|
|
237
|
+
// it started — so every consumer inferred success from the agent's own
|
|
238
|
+
// narration. `call_id` joins this back to that invocation event; the
|
|
239
|
+
// body is redacted and capped (policy.ts) so a megabyte of output, or a
|
|
240
|
+
// credential echoed by a command, never lands in bus.jsonl.
|
|
241
|
+
const body = summarizeToolOutput(m.text ?? '');
|
|
242
|
+
const data = {
|
|
243
|
+
...(m.tool_use_id ? { call_id: m.tool_use_id } : {}),
|
|
244
|
+
ok: m.is_error !== true,
|
|
245
|
+
...(typeof m.duration_ms === 'number' ? { duration_ms: m.duration_ms } : {}),
|
|
246
|
+
output: body.output,
|
|
247
|
+
...(body.truncated ? { truncated: true } : {}),
|
|
248
|
+
output_chars: body.output_chars,
|
|
249
|
+
};
|
|
250
|
+
bus.emit({
|
|
251
|
+
type: 'tool_result',
|
|
252
|
+
from: role.id,
|
|
253
|
+
...(m.tool ? { tool: m.tool } : {}),
|
|
254
|
+
data: data,
|
|
255
|
+
});
|
|
256
|
+
faultWatch?.observe(m, sessionId);
|
|
257
|
+
}
|
|
258
|
+
else if (m.type === 'result') {
|
|
259
|
+
// ADR-O001 D1: prefer the SDK's `modelUsage` over `usage`. The SDK
|
|
260
|
+
// documents `usage` as "MAIN AGENT LOOP ONLY — excludes Task
|
|
261
|
+
// subagent, sidechain, and auxiliary model calls ... Prefer
|
|
262
|
+
// modelUsage for token/cost accounting"; the measured run made 46
|
|
263
|
+
// subagent calls this counter never saw. modelUsage is CUMULATIVE per
|
|
264
|
+
// session (same lifecycle as total_cost_usd, per its own type doc),
|
|
265
|
+
// so it is converted to a delta here rather than added, exactly as
|
|
266
|
+
// cost is below. A runner that reports no modelUsage falls back to
|
|
267
|
+
// the per-turn `usage` fields, which keep their old semantics.
|
|
268
|
+
const resultTokens = resultBreakdown(m, tokenTotals, m.session_id ?? sessionId ?? '');
|
|
269
|
+
// Per the SDK's own type docs, a 'result' message's usage is that
|
|
270
|
+
// message's own (effectively last-turn) usage in streaming-input mode,
|
|
271
|
+
// NOT a cumulative total across every turn of the mailbox message —
|
|
272
|
+
// and that last turn was already counted above via its own 'assistant'
|
|
273
|
+
// message, specifically so overBudget could trip mid-message. Adding
|
|
274
|
+
// the result's own usage again unconditionally would double-count it.
|
|
275
|
+
// (A modelUsage-derived delta is per-session-cumulative, so the same
|
|
276
|
+
// subtraction is exactly right there too: it removes what the
|
|
277
|
+
// assistant turns of THIS message already contributed and leaves the
|
|
278
|
+
// subagent/auxiliary volume the main loop never reported.) Only make
|
|
279
|
+
// up the shortfall (never negative) so a turn whose usage somehow
|
|
280
|
+
// never reached the 'assistant' branch (e.g. a runner/test double that
|
|
281
|
+
// doesn't emit per-turn usage) still gets counted at least once.
|
|
282
|
+
const shortfall = {
|
|
283
|
+
input: Math.max(0, resultTokens.input - messageTurnTokens.input),
|
|
284
|
+
output: Math.max(0, resultTokens.output - messageTurnTokens.output),
|
|
285
|
+
cacheRead: Math.max(0, resultTokens.cacheRead - messageTurnTokens.cacheRead),
|
|
286
|
+
cacheCreation: Math.max(0, resultTokens.cacheCreation - messageTurnTokens.cacheCreation),
|
|
287
|
+
};
|
|
288
|
+
if (totalTokens(shortfall) > 0)
|
|
289
|
+
policy.addTokenUsage(shortfall);
|
|
290
|
+
// What this whole mailbox message actually added to the meter: the
|
|
291
|
+
// per-turn accounting above plus whatever the result topped up. This
|
|
292
|
+
// is what the 'usage' event reports, so a consumer summing events
|
|
293
|
+
// lands on the same number as policy.usage.
|
|
294
|
+
const messageTokens = {
|
|
295
|
+
input: messageTurnTokens.input + shortfall.input,
|
|
296
|
+
output: messageTurnTokens.output + shortfall.output,
|
|
297
|
+
cacheRead: messageTurnTokens.cacheRead + shortfall.cacheRead,
|
|
298
|
+
cacheCreation: messageTurnTokens.cacheCreation + shortfall.cacheCreation,
|
|
299
|
+
};
|
|
300
|
+
messageTurnTokens = { input: 0, output: 0, cacheRead: 0, cacheCreation: 0 };
|
|
301
|
+
// Convert the SDK's cumulative total_cost_usd into a per-result
|
|
302
|
+
// delta before emitting - downstream sums usage events. A new session
|
|
303
|
+
// id counts in full; a same-process dip (rounding, a provider-side
|
|
304
|
+
// correction) floors at 0 rather than re-adding the cumulative cost,
|
|
305
|
+
// which feeds USD budget enforcement (ORG-7). A resume in a new
|
|
306
|
+
// process is judged by the meter (cumulative-meter.ts).
|
|
307
|
+
let costDelta = m.cost_usd;
|
|
308
|
+
if (costTotals && typeof m.cost_usd === 'number' && Number.isFinite(m.cost_usd)) {
|
|
309
|
+
const sid = m.session_id ?? sessionId ?? '';
|
|
310
|
+
costDelta = costTotals.delta(sid, { usd: m.cost_usd }).usd;
|
|
311
|
+
}
|
|
312
|
+
// ORG-7: accumulate real USD cost so policy.overBudgetUsd (role.budget_usd) is enforceable.
|
|
313
|
+
if (typeof costDelta === 'number' && Number.isFinite(costDelta))
|
|
314
|
+
policy.addUsageUsd(costDelta);
|
|
315
|
+
emitUsage(bus, role.id, messageTokens, costDelta, m.subtype);
|
|
316
|
+
if (m.subtype && m.subtype !== 'success') {
|
|
317
|
+
if (m.subtype === 'error_max_turns')
|
|
318
|
+
hitTurnLimit = true;
|
|
319
|
+
bus.emit({
|
|
320
|
+
type: 'audit',
|
|
321
|
+
from: role.id,
|
|
322
|
+
reason: 'session-result-error',
|
|
323
|
+
msg: `turn ended with subtype "${m.subtype}"${m.is_error ? ' (is_error)' : ''} - the role produced no usable output`,
|
|
324
|
+
});
|
|
325
|
+
if (opts.circuitBreaker && m.subtype !== 'error_max_turns') {
|
|
326
|
+
const cb = opts.circuitBreaker;
|
|
327
|
+
cb.state.failures++;
|
|
328
|
+
if (cb.state.failures >= cb.threshold) {
|
|
329
|
+
cb.state.tripped = true;
|
|
330
|
+
bus.emit({
|
|
331
|
+
type: 'audit',
|
|
332
|
+
from: role.id,
|
|
333
|
+
reason: 'circuit-breaker-tripped',
|
|
334
|
+
msg: `circuit breaker tripped after ${cb.state.failures} consecutive failures — closing role`,
|
|
335
|
+
data: { failures: cb.state.failures, threshold: cb.threshold },
|
|
336
|
+
});
|
|
337
|
+
mailbox.close();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else if (m.subtype === 'success' && opts.circuitBreaker) {
|
|
342
|
+
opts.circuitBreaker.state.failures = 0;
|
|
343
|
+
}
|
|
344
|
+
if (policy.overBudget) {
|
|
345
|
+
bus.emit({
|
|
346
|
+
type: 'status',
|
|
347
|
+
from: role.id,
|
|
348
|
+
reason: 'budget-exhausted',
|
|
349
|
+
msg: 'token budget exhausted - closing session',
|
|
350
|
+
});
|
|
351
|
+
// #205: tag WHY the mailbox closed. A budget-exhausted boss is
|
|
352
|
+
// recoverable (raise the budget, resume) — the idle watchdog reads
|
|
353
|
+
// this to stop reporting it as generic "unreachable" (crash-like).
|
|
354
|
+
mailbox.close('token-budget');
|
|
355
|
+
}
|
|
356
|
+
// ORG-7: parallel USD-budget enforcement, same pattern as the token check above.
|
|
357
|
+
if (policy.overBudgetUsd) {
|
|
358
|
+
bus.emit({
|
|
359
|
+
type: 'status',
|
|
360
|
+
from: role.id,
|
|
361
|
+
reason: 'budget-exhausted',
|
|
362
|
+
msg: 'USD budget exhausted - closing session',
|
|
363
|
+
});
|
|
364
|
+
mailbox.close('usd-budget');
|
|
365
|
+
}
|
|
366
|
+
// The turn is over: whatever tool calls it was going to make, it has
|
|
367
|
+
// made. What the role left open is knowable here (decisions.ts's
|
|
368
|
+
// nudgeOpenTasksAtTurnEnd) instead of only to the idle watchdog.
|
|
369
|
+
opts.onTurnEnd?.();
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
if (cancelled?.aborted)
|
|
373
|
+
throw cancelled.reason;
|
|
374
|
+
bus.emit({ type: 'status', from: role.id, msg: 'session ended' });
|
|
375
|
+
return { sessionId, hitTurnLimit };
|
|
376
|
+
}
|
|
377
|
+
catch (err) {
|
|
378
|
+
// The turn in flight never got its 'result', so its metered turns (already
|
|
379
|
+
// in policy) have no usage event yet. Cost is only on 'result': unknown.
|
|
380
|
+
if (totalTokens(messageTurnTokens) > 0)
|
|
381
|
+
emitUsage(bus, role.id, messageTurnTokens, undefined, 'aborted');
|
|
382
|
+
// Ending the process was the point; sandbox-fault.ts already audited it.
|
|
383
|
+
if (err instanceof ProcessFaultError)
|
|
384
|
+
throw err;
|
|
385
|
+
if (cancelled?.aborted)
|
|
386
|
+
throw cancelled.reason;
|
|
387
|
+
// org_complete / org stop close the mailbox and abort every session: a
|
|
388
|
+
// normal stop, not a failure. The daemon still classifies it.
|
|
389
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
390
|
+
if ((mailbox.isClosed || (external?.aborted ?? false)) &&
|
|
391
|
+
(err?.name === 'AbortError' || /\baborted\b/i.test(message))) {
|
|
392
|
+
bus.emit({
|
|
393
|
+
type: 'status',
|
|
394
|
+
from: role.id,
|
|
395
|
+
reason: 'session-stopped',
|
|
396
|
+
msg: 'session stopped',
|
|
397
|
+
});
|
|
398
|
+
throw err;
|
|
399
|
+
}
|
|
400
|
+
// #304: the daemon's role loop catches this same error one step later and
|
|
401
|
+
// emits the authoritative CLASSIFIED status — crashed / stopped with the
|
|
402
|
+
// org / terminated by stop — carrying the real error text when it is a
|
|
403
|
+
// genuine crash (daemon.ts's 'agent-session-crash' audit). This
|
|
404
|
+
// breadcrumb must not pre-empt that with the raw SDK string: on a
|
|
405
|
+
// planned stop it announced "Claude Code process aborted by user" about
|
|
406
|
+
// a stop nobody requested. It deliberately does NOT classify —
|
|
407
|
+
// session.ts relays, the daemon decides — and it carries a `reason` so
|
|
408
|
+
// it is filterable; its absence is why every #304/#251 test was
|
|
409
|
+
// structurally unable to see this event.
|
|
410
|
+
bus.emit({
|
|
411
|
+
type: 'status',
|
|
412
|
+
from: role.id,
|
|
413
|
+
reason: 'session-error',
|
|
414
|
+
msg: 'session ended with an error — see the classified status that follows',
|
|
415
|
+
});
|
|
416
|
+
throw err;
|
|
417
|
+
}
|
|
418
|
+
finally {
|
|
419
|
+
// Unlink so a long-lived role doesn't pile a listener per attempt onto the
|
|
420
|
+
// slot controller. Aborting the finished attempt keeps a runner abandoned
|
|
421
|
+
// mid-stream by a throw from outliving it now that an org stop can no
|
|
422
|
+
// longer reach it.
|
|
423
|
+
external?.removeEventListener('abort', onExternalAbort);
|
|
424
|
+
unlinkCancelled();
|
|
425
|
+
abort.abort();
|
|
426
|
+
providerSet?.close();
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=session-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-run.js","sourceRoot":"","sources":["../../../src/orgrt/session-run.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,qFAAqF;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAsB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,gBAAgB,GAAG,+DAA+D,CAAC;AAEzF;;;yBAGyB;AACzB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAiB,EACjB,MAAe,EACf,UAA6C,EAC7C,QAA+B,EAC/B,WAAyC,EACzC,UAA0B,EAC1B,UAA+C,EAC/C,SAAuB;IAEvB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,4EAA4E;IAC5E,yDAAyD;IACzD,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEvF,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE5F,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAElD,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,uBAAuB;IACvB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,yEAAyE;IACzE,yEAAyE;IACzE,oDAAoD;IACpD,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,sDAAsD;IACtD,uEAAuE;IACvE,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM;KAClD,CAAC,CAAC;IACH,MAAM,KAAK,GACT,IAAI,CAAC,cAAc,EAAE,KAAK;QAC1B,IAAI,EAAE,KAAK;QACX,IAAI,CAAC,YAAY;QACjB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE9E,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAErE,IAAI,SAAS,GAAuB,MAAM,CAAC;IAC3C,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,8DAA8D;IAC9D,IAAI,iBAAiB,GAAe,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC5F,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC5C,MAAM,eAAe,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,OAAO;QAAE,eAAe,EAAE,CAAC;;QACpC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,iFAAiF;IACjF,gEAAgE;IAChE,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,kCAAkC;QAClC,wEAAwE;QACxE,mBAAmB,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,yBAAyB,CAAC;YAC/C,GAAG;YACH,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG;YACH,aAAa,EAAE,MAAM,YAAY,iBAAiB;YAClD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO;YAC1C,uEAAuE;YACvE,4EAA4E;YAC5E,yEAAyE;YACzE,yDAAyD;YACzD,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QACH,+EAA+E;QAC/E,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC;YACtC,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO;YAC1D,qFAAqF;YACrF,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,QAAQ;YAC3D,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CACvB,cAAc,CAAC,IAAI,EAAE;YACnB,MAAM;YACN,KAAK;YACL,UAAU;YACV,cAAc;YACd,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,aAAa;YACb,KAAK;SACN,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1D,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CACX,UAAU,GAAG,IAAI,IAAI,CAAC,EAAE,yBAAyB,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAC9F,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,EAAE,OAAO;gBAAE,MAAM,SAAS,CAAC,MAAM,CAAC;YAC/C,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;YAC7E,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;gBACzB,oEAAoE;gBACpE,oDAAoD;gBACpD,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACtE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,MAAM,EAAE,cAAc;oBACtB,GAAG,EAAE,GAAG,SAAS,MAAM,QAAQ,EAAE;oBACjC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,IAAI,QAAQ;oBAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACnF,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7E,iBAAiB,GAAG,IAAI,CAAC;wBACzB,GAAG,CAAC,IAAI,CAAC;4BACP,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,IAAI,CAAC,EAAE;4BACb,MAAM,EAAE,oBAAoB;4BAC5B,GAAG,EAAE,yFAAyF;yBAC/F,CAAC,CAAC;wBACH,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,uEAAuE;gBACvE,uDAAuD;gBACvD,oEAAoE;gBACpE,sEAAsE;gBACtE,uEAAuE;gBACvE,+DAA+D;gBAC/D,uEAAuE;gBACvE,uEAAuE;gBACvE,iEAAiE;gBACjE,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,kEAAkE;gBAClE,iEAAiE;gBACjE,sEAAsE;gBACtE,kEAAkE;gBAClE,mEAAmE;gBACnE,EAAE;gBACF,gEAAgE;gBAChE,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,2DAA2D;gBAC3D,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAC/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACtB,GAAG,CAAC,IAAI,CAAC;4BACP,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,IAAI,CAAC,EAAE;4BACb,MAAM,EAAE,kBAAkB;4BAC1B,GAAG,EAAE,0CAA0C;yBAChD,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpC,kEAAkE;gBAClE,qEAAqE;gBACrE,wEAAwE;gBACxE,uEAAuE;gBACvE,qEAAqE;gBACrE,wEAAwE;gBACxE,4DAA4D;gBAC5D,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAwB;oBAChC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;oBACvB,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,YAAY,EAAE,IAAI,CAAC,YAAY;iBAChC,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,EAAE,IAA0C;iBACjD,CAAC,CAAC;gBACH,UAAU,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,mEAAmE;gBACnE,6DAA6D;gBAC7D,4DAA4D;gBAC5D,kEAAkE;gBAClE,sEAAsE;gBACtE,oEAAoE;gBACpE,mEAAmE;gBACnE,mEAAmE;gBACnE,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC;gBACtF,kEAAkE;gBAClE,uEAAuE;gBACvE,oEAAoE;gBACpE,uEAAuE;gBACvE,qEAAqE;gBACrE,sEAAsE;gBACtE,qEAAqE;gBACrE,8DAA8D;gBAC9D,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,uEAAuE;gBACvE,iEAAiE;gBACjE,MAAM,SAAS,GAAe;oBAC5B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;oBAChE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;oBACnE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;oBAC5E,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;iBACzF,CAAC;gBACF,IAAI,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAChE,mEAAmE;gBACnE,qEAAqE;gBACrE,kEAAkE;gBAClE,4CAA4C;gBAC5C,MAAM,aAAa,GAAe;oBAChC,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK;oBAChD,MAAM,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;oBACnD,SAAS,EAAE,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS;oBAC5D,aAAa,EAAE,iBAAiB,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa;iBACzE,CAAC;gBACF,iBAAiB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;gBAC5E,gEAAgE;gBAChE,sEAAsE;gBACtE,mEAAmE;gBACnE,qEAAqE;gBACrE,gEAAgE;gBAChE,wDAAwD;gBACxD,IAAI,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAC3B,IAAI,UAAU,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChF,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,EAAE,CAAC;oBAC5C,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;gBAC7D,CAAC;gBACD,4FAA4F;gBAC5F,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC7D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAChC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB;wBAAE,YAAY,GAAG,IAAI,CAAC;oBACzD,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,IAAI,CAAC,EAAE;wBACb,MAAM,EAAE,sBAAsB;wBAC9B,GAAG,EAAE,4BAA4B,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,uCAAuC;qBACrH,CAAC,CAAC;oBACH,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;wBAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;wBAC/B,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;4BACtC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;4BACxB,GAAG,CAAC,IAAI,CAAC;gCACP,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,IAAI,CAAC,EAAE;gCACb,MAAM,EAAE,yBAAyB;gCACjC,GAAG,EAAE,iCAAiC,EAAE,CAAC,KAAK,CAAC,QAAQ,sCAAsC;gCAC7F,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE;6BAC/D,CAAC,CAAC;4BACH,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,CAAC,EAAE;wBACb,MAAM,EAAE,kBAAkB;wBAC1B,GAAG,EAAE,0CAA0C;qBAChD,CAAC,CAAC;oBACH,+DAA+D;oBAC/D,mEAAmE;oBACnE,mEAAmE;oBACnE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAChC,CAAC;gBACD,iFAAiF;gBACjF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,GAAG,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,CAAC,EAAE;wBACb,MAAM,EAAE,kBAAkB;wBAC1B,GAAG,EAAE,wCAAwC;qBAC9C,CAAC,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC;gBACD,qEAAqE;gBACrE,iEAAiE;gBACjE,iEAAiE;gBACjE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,OAAO;YAAE,MAAM,SAAS,CAAC,MAAM,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC;YACpC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,yEAAyE;QACzE,IAAI,GAAG,YAAY,iBAAiB;YAAE,MAAM,GAAG,CAAC;QAChD,IAAI,SAAS,EAAE,OAAO;YAAE,MAAM,SAAS,CAAC,MAAM,CAAC;QAC/C,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IACE,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;YAClD,CAAE,GAAgC,EAAE,IAAI,KAAK,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1F,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,EAAE;gBACb,MAAM,EAAE,iBAAiB;gBACzB,GAAG,EAAE,iBAAiB;aACvB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,kEAAkE;QAClE,wEAAwE;QACxE,+DAA+D;QAC/D,uEAAuE;QACvE,gEAAgE;QAChE,yCAAyC;QACzC,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,MAAM,EAAE,eAAe;YACvB,GAAG,EAAE,sEAAsE;SAC5E,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,mBAAmB;QACnB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,eAAe,EAAE,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,WAAW,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentMessage, AgentRunner, OrgToolDef } from './agent-runner.js';
|
|
2
|
+
import type { resolveRoleCostTier } from './cost-tier.js';
|
|
3
|
+
import type { StreamOptions } from './mailbox.js';
|
|
4
|
+
import { type resolveRoleProvider } from './provider.js';
|
|
5
|
+
import type { resolveRoleGitEnforcement, roleAuthorityMask } from './role-sandbox.js';
|
|
6
|
+
import type { SessionOpts } from './session-types.js';
|
|
7
|
+
/** The AgentRunner.run() arguments for one session, built by runOneSession. */
|
|
8
|
+
export declare function sessionRunArgs(opts: SessionOpts, s: {
|
|
9
|
+
runner: AgentRunner;
|
|
10
|
+
tools: OrgToolDef[];
|
|
11
|
+
streamOpts: StreamOptions | undefined;
|
|
12
|
+
gitEnforcement: ReturnType<typeof resolveRoleGitEnforcement>;
|
|
13
|
+
model: string;
|
|
14
|
+
tier: ReturnType<typeof resolveRoleCostTier>;
|
|
15
|
+
prov: ReturnType<typeof resolveRoleProvider>;
|
|
16
|
+
resume: string | undefined;
|
|
17
|
+
authorityMask: ReturnType<typeof roleAuthorityMask>;
|
|
18
|
+
abort: AbortController;
|
|
19
|
+
}): Parameters<AgentRunner['run']>[0];
|
|
20
|
+
export declare function openSessionStream(opts: SessionOpts, stream: AsyncIterable<AgentMessage>, abort: AbortController): Promise<AsyncGenerator<AgentMessage>>;
|
|
21
|
+
//# sourceMappingURL=session-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-stream.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session-stream.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQtD,+EAA+E;AAC/E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACpD,KAAK,EAAE,eAAe,CAAC;CACxB,GACA,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAyGnC;AAuBD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAqDvC"}
|