@cuylabs/agent-core 4.9.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -12
- package/dist/agent/chat-loop/commit-batch.d.ts +10 -0
- package/dist/agent/chat-loop/commit-batch.d.ts.map +1 -0
- package/dist/agent/chat-loop/context-recovery.d.ts +33 -0
- package/dist/agent/chat-loop/context-recovery.d.ts.map +1 -0
- package/dist/agent/chat-loop/finalize-turn.d.ts +19 -0
- package/dist/agent/chat-loop/finalize-turn.d.ts.map +1 -0
- package/dist/agent/chat-loop/index.d.ts +7 -0
- package/dist/agent/chat-loop/index.d.ts.map +1 -0
- package/dist/agent/chat-loop/loop.d.ts +8 -0
- package/dist/agent/chat-loop/loop.d.ts.map +1 -0
- package/dist/agent/chat-loop/model-step-runner.d.ts +26 -0
- package/dist/agent/chat-loop/model-step-runner.d.ts.map +1 -0
- package/dist/agent/chat-loop/model-step-snapshot.d.ts +49 -0
- package/dist/agent/chat-loop/model-step-snapshot.d.ts.map +1 -0
- package/dist/agent/chat-loop/turn-tools.d.ts +19 -0
- package/dist/agent/chat-loop/turn-tools.d.ts.map +1 -0
- package/dist/agent/chat-loop/types.d.ts +60 -0
- package/dist/agent/chat-loop/types.d.ts.map +1 -0
- package/dist/agent/defaults.d.ts +69 -0
- package/dist/agent/defaults.d.ts.map +1 -0
- package/dist/agent/event-printer.d.ts +94 -0
- package/dist/agent/event-printer.d.ts.map +1 -0
- package/dist/agent/fork.d.ts +59 -0
- package/dist/agent/fork.d.ts.map +1 -0
- package/dist/agent/index.d.ts +17 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/instance/context-management.d.ts +42 -0
- package/dist/agent/instance/context-management.d.ts.map +1 -0
- package/dist/agent/instance/forking.d.ts +26 -0
- package/dist/agent/instance/forking.d.ts.map +1 -0
- package/dist/agent/instance/index.d.ts +182 -0
- package/dist/agent/instance/index.d.ts.map +1 -0
- package/dist/agent/instance/interventions.d.ts +10 -0
- package/dist/agent/instance/interventions.d.ts.map +1 -0
- package/dist/agent/instance/mcp.d.ts +21 -0
- package/dist/agent/instance/mcp.d.ts.map +1 -0
- package/dist/agent/instance/sessions.d.ts +8 -0
- package/dist/agent/instance/sessions.d.ts.map +1 -0
- package/dist/agent/instance/tools.d.ts +16 -0
- package/dist/agent/instance/tools.d.ts.map +1 -0
- package/dist/agent/instance/turn-lifecycle.d.ts +61 -0
- package/dist/agent/instance/turn-lifecycle.d.ts.map +1 -0
- package/dist/agent/session.d.ts +16 -0
- package/dist/agent/session.d.ts.map +1 -0
- package/dist/agent/setup/config.d.ts +8 -0
- package/dist/agent/setup/config.d.ts.map +1 -0
- package/dist/agent/setup/context-window.d.ts +4 -0
- package/dist/agent/setup/context-window.d.ts.map +1 -0
- package/dist/agent/setup/environment.d.ts +5 -0
- package/dist/agent/setup/environment.d.ts.map +1 -0
- package/dist/agent/setup/middleware.d.ts +9 -0
- package/dist/agent/setup/middleware.d.ts.map +1 -0
- package/dist/agent/setup/runtime-config.d.ts +9 -0
- package/dist/agent/setup/runtime-config.d.ts.map +1 -0
- package/dist/agent/setup/state.d.ts +4 -0
- package/dist/agent/setup/state.d.ts.map +1 -0
- package/dist/agent/setup/tools.d.ts +8 -0
- package/dist/agent/setup/tools.d.ts.map +1 -0
- package/dist/agent/setup.d.ts +47 -0
- package/dist/agent/setup.d.ts.map +1 -0
- package/dist/agent/stream-provider.d.ts +27 -0
- package/dist/agent/stream-provider.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/agent-context.d.ts +76 -0
- package/dist/agent/turn-context/compaction/agent-context.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/budget.d.ts +4 -0
- package/dist/agent/turn-context/compaction/budget.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/check.d.ts +45 -0
- package/dist/agent/turn-context/compaction/check.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/fragments.d.ts +4 -0
- package/dist/agent/turn-context/compaction/fragments.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/index.d.ts +5 -0
- package/dist/agent/turn-context/compaction/index.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/memory.d.ts +18 -0
- package/dist/agent/turn-context/compaction/memory.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/results.d.ts +25 -0
- package/dist/agent/turn-context/compaction/results.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/summary.d.ts +3 -0
- package/dist/agent/turn-context/compaction/summary.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/types.d.ts +30 -0
- package/dist/agent/turn-context/compaction/types.d.ts.map +1 -0
- package/dist/agent/turn-context/fit-model-context.d.ts +29 -0
- package/dist/agent/turn-context/fit-model-context.d.ts.map +1 -0
- package/dist/agent/turn-context/index.d.ts +5 -0
- package/dist/agent/turn-context/index.d.ts.map +1 -0
- package/dist/agent/turn-context/system-prompts.d.ts +12 -0
- package/dist/agent/turn-context/system-prompts.d.ts.map +1 -0
- package/dist/agent/types/config.d.ts +206 -0
- package/dist/agent/types/config.d.ts.map +1 -0
- package/dist/agent/types/index.d.ts +11 -0
- package/dist/agent/types/index.d.ts.map +1 -0
- package/dist/agent/types/state.d.ts +16 -0
- package/dist/agent/types/state.d.ts.map +1 -0
- package/dist/agent/types/tracing.d.ts +12 -0
- package/dist/agent/types/tracing.d.ts.map +1 -0
- package/dist/{chunk-KYLPMBHD.js → chunk-336EDIBL.js} +1 -1
- package/dist/chunk-346FIYKT.js +960 -0
- package/dist/{chunk-HSUPTXNV.js → chunk-556CPZ3J.js} +13 -10
- package/dist/chunk-AHDCR7SX.js +83 -0
- package/dist/{chunk-CSR75JVC.js → chunk-ASXF5AC6.js} +1 -1
- package/dist/{chunk-BJC46FIF.js → chunk-BKHWKKSG.js} +2 -2
- package/dist/{chunk-2TTOLHBT.js → chunk-CFBSQLP5.js} +1 -1
- package/dist/chunk-CGP6UNCQ.js +554 -0
- package/dist/{chunk-GJFP5L2V.js → chunk-CNM6OROH.js} +15 -3
- package/dist/chunk-DD7S7ZG4.js +274 -0
- package/dist/chunk-DYZGHHDB.js +1458 -0
- package/dist/chunk-E66PKKDL.js +772 -0
- package/dist/{chunk-H3GRHFFG.js → chunk-EDKZOPUV.js} +63 -306
- package/dist/{chunk-GEBFHREI.js → chunk-GHVW7L4P.js} +71 -5
- package/dist/chunk-JFH6HBUG.js +227 -0
- package/dist/{chunk-MWPU2EVV.js → chunk-JUIL2NJC.js} +4 -81
- package/dist/{chunk-NS7D7JJU.js → chunk-K453AFTL.js} +35 -16
- package/dist/chunk-MJRZ2ZRI.js +498 -0
- package/dist/{chunk-UMIVJDEJ.js → chunk-SAWRDGBE.js} +30 -7
- package/dist/chunk-TYQWH6XH.js +88 -0
- package/dist/{chunk-QJV5XPPS.js → chunk-UEEHZ4QH.js} +1 -1
- package/dist/chunk-UG5PVNZV.js +53 -0
- package/dist/{chunk-BGG2HVIR.js → chunk-V4MIDL5B.js} +9 -0
- package/dist/chunk-W6LWIMIX.js +8 -0
- package/dist/context/assembly/index.d.ts +3 -0
- package/dist/context/assembly/index.d.ts.map +1 -0
- package/dist/context/assembly/prepare.d.ts +11 -0
- package/dist/context/assembly/prepare.d.ts.map +1 -0
- package/dist/context/assembly/types.d.ts +64 -0
- package/dist/context/assembly/types.d.ts.map +1 -0
- package/dist/context/config.d.ts +20 -0
- package/dist/context/config.d.ts.map +1 -0
- package/dist/context/fragments/index.d.ts +4 -0
- package/dist/context/fragments/index.d.ts.map +1 -0
- package/dist/context/fragments/messages.d.ts +12 -0
- package/dist/context/fragments/messages.d.ts.map +1 -0
- package/dist/context/fragments/render.d.ts +16 -0
- package/dist/context/fragments/render.d.ts.map +1 -0
- package/dist/context/fragments/types.d.ts +87 -0
- package/dist/context/fragments/types.d.ts.map +1 -0
- package/dist/context/index.d.ts +13 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +96 -0
- package/dist/context/text/truncation.d.ts +13 -0
- package/dist/context/text/truncation.d.ts.map +1 -0
- package/dist/context/window/budget.d.ts +135 -0
- package/dist/context/window/budget.d.ts.map +1 -0
- package/dist/context/window/compactor.d.ts +89 -0
- package/dist/context/window/compactor.d.ts.map +1 -0
- package/dist/context/window/cut-planner.d.ts +67 -0
- package/dist/context/window/cut-planner.d.ts.map +1 -0
- package/dist/context/window/decision.d.ts +50 -0
- package/dist/context/window/decision.d.ts.map +1 -0
- package/dist/context/window/estimation.d.ts +60 -0
- package/dist/context/window/estimation.d.ts.map +1 -0
- package/dist/context/window/index.d.ts +28 -0
- package/dist/context/window/index.d.ts.map +1 -0
- package/dist/context/window/manager.d.ts +113 -0
- package/dist/context/window/manager.d.ts.map +1 -0
- package/dist/context/window/summary-policy.d.ts +50 -0
- package/dist/context/window/summary-policy.d.ts.map +1 -0
- package/dist/context/window/summary.d.ts +65 -0
- package/dist/context/window/summary.d.ts.map +1 -0
- package/dist/context/window/tool-pruning.d.ts +73 -0
- package/dist/context/window/tool-pruning.d.ts.map +1 -0
- package/dist/dispatch/executor.d.ts +56 -0
- package/dist/dispatch/executor.d.ts.map +1 -0
- package/dist/dispatch/index.d.ts +7 -95
- package/dist/dispatch/index.d.ts.map +1 -0
- package/dist/dispatch/index.js +4 -3
- package/dist/dispatch/results.d.ts +9 -0
- package/dist/dispatch/results.d.ts.map +1 -0
- package/dist/dispatch/runtime.d.ts +19 -0
- package/dist/dispatch/runtime.d.ts.map +1 -0
- package/dist/dispatch/tool-factories.d.ts +8 -0
- package/dist/dispatch/tool-factories.d.ts.map +1 -0
- package/dist/dispatch/tools.d.ts +10 -0
- package/dist/dispatch/tools.d.ts.map +1 -0
- package/dist/dispatch/types.d.ts +131 -0
- package/dist/dispatch/types.d.ts.map +1 -0
- package/dist/events/event-bus/index.d.ts +13 -0
- package/dist/events/event-bus/index.d.ts.map +1 -0
- package/dist/events/event-bus/index.js +6 -0
- package/dist/events/event-bus/local.d.ts +14 -0
- package/dist/events/event-bus/local.d.ts.map +1 -0
- package/dist/events/event-bus/types.d.ts +78 -0
- package/dist/events/event-bus/types.d.ts.map +1 -0
- package/dist/events/index.d.ts +10 -89
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +6 -1
- package/dist/events/signal/index.d.ts +18 -0
- package/dist/events/signal/index.d.ts.map +1 -0
- package/dist/events/signal/index.js +6 -0
- package/dist/events/signal/local.d.ts +22 -0
- package/dist/events/signal/local.d.ts.map +1 -0
- package/dist/events/signal/types.d.ts +69 -0
- package/dist/events/signal/types.d.ts.map +1 -0
- package/dist/execution/index.d.ts +33 -481
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +45 -19
- package/dist/execution/scope/index.d.ts +10 -0
- package/dist/execution/scope/index.d.ts.map +1 -0
- package/dist/execution/scope/index.js +12 -0
- package/dist/execution/scope/run.d.ts +8 -0
- package/dist/execution/scope/run.d.ts.map +1 -0
- package/dist/execution/scope/store.d.ts +6 -0
- package/dist/execution/scope/store.d.ts.map +1 -0
- package/dist/execution/scope/types.d.ts +28 -0
- package/dist/execution/scope/types.d.ts.map +1 -0
- package/dist/execution/shared/usage.d.ts +9 -0
- package/dist/execution/shared/usage.d.ts.map +1 -0
- package/dist/execution/task/index.d.ts +6 -0
- package/dist/execution/task/index.d.ts.map +1 -0
- package/dist/execution/task/observer.d.ts +80 -0
- package/dist/execution/task/observer.d.ts.map +1 -0
- package/dist/execution/task/runner.d.ts +39 -0
- package/dist/execution/task/runner.d.ts.map +1 -0
- package/dist/execution/task/types.d.ts +85 -0
- package/dist/execution/task/types.d.ts.map +1 -0
- package/dist/execution/turn/engine/commit-batch.d.ts +16 -0
- package/dist/execution/turn/engine/commit-batch.d.ts.map +1 -0
- package/dist/execution/turn/engine/engine.d.ts +32 -0
- package/dist/execution/turn/engine/engine.d.ts.map +1 -0
- package/dist/execution/turn/engine/index.d.ts +12 -0
- package/dist/execution/turn/engine/index.d.ts.map +1 -0
- package/dist/execution/turn/engine/types.d.ts +67 -0
- package/dist/execution/turn/engine/types.d.ts.map +1 -0
- package/dist/execution/turn/index.d.ts +18 -0
- package/dist/execution/turn/index.d.ts.map +1 -0
- package/dist/execution/turn/index.js +52 -0
- package/dist/execution/turn/runner/commit.d.ts +11 -0
- package/dist/execution/turn/runner/commit.d.ts.map +1 -0
- package/dist/execution/turn/runner/index.d.ts +16 -0
- package/dist/execution/turn/runner/index.d.ts.map +1 -0
- package/dist/execution/turn/runner/prepare.d.ts +6 -0
- package/dist/execution/turn/runner/prepare.d.ts.map +1 -0
- package/dist/execution/turn/runner/stream-step.d.ts +8 -0
- package/dist/execution/turn/runner/stream-step.d.ts.map +1 -0
- package/dist/execution/turn/runner/tool-batch.d.ts +13 -0
- package/dist/execution/turn/runner/tool-batch.d.ts.map +1 -0
- package/dist/execution/turn/runner/types.d.ts +111 -0
- package/dist/execution/turn/runner/types.d.ts.map +1 -0
- package/dist/execution/turn/state.d.ts +110 -0
- package/dist/execution/turn/state.d.ts.map +1 -0
- package/dist/execution/turn/step-ledger.d.ts +89 -0
- package/dist/execution/turn/step-ledger.d.ts.map +1 -0
- package/dist/execution/turn/step-processing/doom-loop.d.ts +28 -0
- package/dist/execution/turn/step-processing/doom-loop.d.ts.map +1 -0
- package/dist/execution/turn/step-processing/index.d.ts +14 -0
- package/dist/execution/turn/step-processing/index.d.ts.map +1 -0
- package/dist/execution/turn/step-processing/overflow.d.ts +17 -0
- package/dist/execution/turn/step-processing/overflow.d.ts.map +1 -0
- package/dist/execution/turn/step-processing/process.d.ts +7 -0
- package/dist/execution/turn/step-processing/process.d.ts.map +1 -0
- package/dist/execution/turn/step-processing/types.d.ts +65 -0
- package/dist/execution/turn/step-processing/types.d.ts.map +1 -0
- package/dist/execution/workflow/index.d.ts +12 -0
- package/dist/execution/workflow/index.d.ts.map +1 -0
- package/dist/execution/workflow/index.js +39 -0
- package/dist/execution/workflow/planner/apply.d.ts +30 -0
- package/dist/execution/workflow/planner/apply.d.ts.map +1 -0
- package/dist/execution/workflow/planner/helpers.d.ts +6 -0
- package/dist/execution/workflow/planner/helpers.d.ts.map +1 -0
- package/dist/execution/workflow/planner/index.d.ts +13 -0
- package/dist/execution/workflow/planner/index.d.ts.map +1 -0
- package/dist/execution/workflow/planner/plan.d.ts +7 -0
- package/dist/execution/workflow/planner/plan.d.ts.map +1 -0
- package/dist/execution/workflow/planner/types.d.ts +49 -0
- package/dist/execution/workflow/planner/types.d.ts.map +1 -0
- package/dist/execution/workflow/snapshot.d.ts +11 -0
- package/dist/execution/workflow/snapshot.d.ts.map +1 -0
- package/dist/execution/workflow/state.d.ts +161 -0
- package/dist/execution/workflow/state.d.ts.map +1 -0
- package/dist/human/controller.d.ts +24 -0
- package/dist/human/controller.d.ts.map +1 -0
- package/dist/human/handler.d.ts +15 -0
- package/dist/human/handler.d.ts.map +1 -0
- package/dist/human/index.d.ts +5 -0
- package/dist/human/index.d.ts.map +1 -0
- package/dist/human/tool.d.ts +17 -0
- package/dist/human/tool.d.ts.map +1 -0
- package/dist/human/types.d.ts +62 -0
- package/dist/human/types.d.ts.map +1 -0
- package/dist/index.d.ts +66 -567
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2681 -1859
- package/dist/inference/defaults.d.ts +8 -0
- package/dist/inference/defaults.d.ts.map +1 -0
- package/dist/inference/errors/classify.d.ts +5 -0
- package/dist/inference/errors/classify.d.ts.map +1 -0
- package/dist/inference/errors/extract.d.ts +3 -0
- package/dist/inference/errors/extract.d.ts.map +1 -0
- package/dist/inference/errors/index.d.ts +8 -11
- package/dist/inference/errors/index.d.ts.map +1 -0
- package/dist/inference/errors/llm-error.d.ts +14 -0
- package/dist/inference/errors/llm-error.d.ts.map +1 -0
- package/dist/inference/errors/types.d.ts +18 -0
- package/dist/inference/errors/types.d.ts.map +1 -0
- package/dist/inference/errors/utils.d.ts +5 -0
- package/dist/inference/errors/utils.d.ts.map +1 -0
- package/dist/inference/index.d.ts +17 -49
- package/dist/inference/index.d.ts.map +1 -0
- package/dist/inference/index.js +7 -7
- package/dist/inference/middleware-support.d.ts +14 -0
- package/dist/inference/middleware-support.d.ts.map +1 -0
- package/dist/{model-messages-n_ZMZwIm.d.ts → inference/model-messages.d.ts} +4 -6
- package/dist/inference/model-messages.d.ts.map +1 -0
- package/dist/inference/retry.d.ts +73 -0
- package/dist/inference/retry.d.ts.map +1 -0
- package/dist/inference/stream.d.ts +16 -0
- package/dist/inference/stream.d.ts.map +1 -0
- package/dist/inference/toolset.d.ts +26 -0
- package/dist/inference/toolset.d.ts.map +1 -0
- package/dist/inference/types.d.ts +129 -0
- package/dist/inference/types.d.ts.map +1 -0
- package/dist/intervention/follow-up-policy.d.ts +41 -0
- package/dist/intervention/follow-up-policy.d.ts.map +1 -0
- package/dist/intervention/index.d.ts +5 -0
- package/dist/intervention/index.d.ts.map +1 -0
- package/dist/intervention/intervention.d.ts +130 -0
- package/dist/intervention/intervention.d.ts.map +1 -0
- package/dist/intervention/types.d.ts +74 -0
- package/dist/intervention/types.d.ts.map +1 -0
- package/dist/logger/index.d.ts +5 -47
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/logger.d.ts +46 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/{types-RSCv7nQ4.d.ts → logger/types.d.ts} +6 -7
- package/dist/logger/types.d.ts.map +1 -0
- package/dist/mcp/auth.d.ts +109 -0
- package/dist/mcp/auth.d.ts.map +1 -0
- package/dist/mcp/diagnostics.d.ts +23 -0
- package/dist/mcp/diagnostics.d.ts.map +1 -0
- package/dist/mcp/factories.d.ts +47 -0
- package/dist/mcp/factories.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +14 -175
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/manager.d.ts +45 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/modules.d.ts +6 -0
- package/dist/mcp/modules.d.ts.map +1 -0
- package/dist/{types-DMjoFKKv.d.ts → mcp/types.d.ts} +18 -19
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/config.d.ts +4 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/format.d.ts +8 -0
- package/dist/memory/format.d.ts.map +1 -0
- package/dist/memory/index.d.ts +5 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +14 -0
- package/dist/memory/middleware.d.ts +14 -0
- package/dist/memory/middleware.d.ts.map +1 -0
- package/dist/memory/types.d.ts +251 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/middleware/approval.d.ts +70 -0
- package/dist/middleware/approval.d.ts.map +1 -0
- package/dist/middleware/index.d.ts +25 -110
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +2 -2
- package/dist/middleware/prompt-cache/cache.d.ts +44 -0
- package/dist/middleware/prompt-cache/cache.d.ts.map +1 -0
- package/dist/middleware/prompt-cache/index.d.ts +14 -0
- package/dist/middleware/prompt-cache/index.d.ts.map +1 -0
- package/dist/middleware/prompt-cache/types.d.ts +50 -0
- package/dist/middleware/prompt-cache/types.d.ts.map +1 -0
- package/dist/middleware/runner.d.ts +115 -0
- package/dist/middleware/runner.d.ts.map +1 -0
- package/dist/middleware/telemetry/index.d.ts +12 -0
- package/dist/middleware/telemetry/index.d.ts.map +1 -0
- package/dist/middleware/telemetry/otel.d.ts +4 -0
- package/dist/middleware/telemetry/otel.d.ts.map +1 -0
- package/dist/middleware/telemetry/provider.d.ts +3 -0
- package/dist/middleware/telemetry/provider.d.ts.map +1 -0
- package/dist/middleware/telemetry/types.d.ts +150 -0
- package/dist/middleware/telemetry/types.d.ts.map +1 -0
- package/dist/middleware/types.d.ts +426 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/models/cache/adapters.d.ts +4 -0
- package/dist/models/cache/adapters.d.ts.map +1 -0
- package/dist/models/cache/index.d.ts +5 -0
- package/dist/models/cache/index.d.ts.map +1 -0
- package/dist/models/cache/manager.d.ts +32 -0
- package/dist/models/cache/manager.d.ts.map +1 -0
- package/dist/models/cache/types.d.ts +17 -0
- package/dist/models/cache/types.d.ts.map +1 -0
- package/dist/models/capability-resolver.d.ts +104 -0
- package/dist/models/capability-resolver.d.ts.map +1 -0
- package/dist/models/identifiers.d.ts +23 -0
- package/dist/models/identifiers.d.ts.map +1 -0
- package/dist/models/index.d.ts +35 -256
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +1 -1
- package/dist/models/overrides.d.ts +10 -0
- package/dist/models/overrides.d.ts.map +1 -0
- package/dist/models/profiles.d.ts +38 -0
- package/dist/models/profiles.d.ts.map +1 -0
- package/dist/models/reasoning/config.d.ts +49 -0
- package/dist/models/reasoning/config.d.ts.map +1 -0
- package/dist/models/reasoning/index.d.ts +12 -4
- package/dist/models/reasoning/index.d.ts.map +1 -0
- package/dist/models/reasoning/index.js +1 -1
- package/dist/models/reasoning/providers.d.ts +63 -0
- package/dist/models/reasoning/providers.d.ts.map +1 -0
- package/dist/{types-CQaXbRsS.d.ts → models/reasoning/types.d.ts} +7 -8
- package/dist/models/reasoning/types.d.ts.map +1 -0
- package/dist/models/remote/fetcher.d.ts +13 -0
- package/dist/models/remote/fetcher.d.ts.map +1 -0
- package/dist/models/remote/index.d.ts +8 -0
- package/dist/models/remote/index.d.ts.map +1 -0
- package/dist/models/remote/network.d.ts +6 -0
- package/dist/models/remote/network.d.ts.map +1 -0
- package/dist/models/remote/source.d.ts +16 -0
- package/dist/models/remote/source.d.ts.map +1 -0
- package/dist/models/remote/transform.d.ts +4 -0
- package/dist/models/remote/transform.d.ts.map +1 -0
- package/dist/models/remote/types.d.ts +28 -0
- package/dist/models/remote/types.d.ts.map +1 -0
- package/dist/models/resolver.d.ts +26 -0
- package/dist/models/resolver.d.ts.map +1 -0
- package/dist/models/types.d.ts +137 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/plugin/compatibility.d.ts +11 -0
- package/dist/plugin/compatibility.d.ts.map +1 -0
- package/dist/plugin/define.d.ts +77 -0
- package/dist/plugin/define.d.ts.map +1 -0
- package/dist/plugin/event-bus.d.ts +31 -0
- package/dist/plugin/event-bus.d.ts.map +1 -0
- package/dist/plugin/index.d.ts +9 -458
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/loader.d.ts +63 -0
- package/dist/plugin/loader.d.ts.map +1 -0
- package/dist/plugin/registry.d.ts +81 -0
- package/dist/plugin/registry.d.ts.map +1 -0
- package/dist/plugin/settings.d.ts +36 -0
- package/dist/plugin/settings.d.ts.map +1 -0
- package/dist/plugin/types.d.ts +168 -0
- package/dist/plugin/types.d.ts.map +1 -0
- package/dist/profiles/apply.d.ts +17 -0
- package/dist/profiles/apply.d.ts.map +1 -0
- package/dist/profiles/builtins.d.ts +18 -0
- package/dist/profiles/builtins.d.ts.map +1 -0
- package/dist/profiles/index.d.ts +12 -55
- package/dist/profiles/index.d.ts.map +1 -0
- package/dist/profiles/patterns.d.ts +12 -0
- package/dist/profiles/patterns.d.ts.map +1 -0
- package/dist/profiles/types.d.ts +48 -0
- package/dist/profiles/types.d.ts.map +1 -0
- package/dist/prompt/builder/builder.d.ts +27 -0
- package/dist/prompt/builder/builder.d.ts.map +1 -0
- package/dist/prompt/builder/index.d.ts +11 -0
- package/dist/prompt/builder/index.d.ts.map +1 -0
- package/dist/prompt/builder/priorities.d.ts +13 -0
- package/dist/prompt/builder/priorities.d.ts.map +1 -0
- package/dist/prompt/builder/sections.d.ts +30 -0
- package/dist/prompt/builder/sections.d.ts.map +1 -0
- package/dist/prompt/environment.d.ts +46 -0
- package/dist/prompt/environment.d.ts.map +1 -0
- package/dist/prompt/index.d.ts +31 -220
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +3 -1
- package/dist/prompt/instructions.d.ts +104 -0
- package/dist/prompt/instructions.d.ts.map +1 -0
- package/dist/prompt/templates.d.ts +56 -0
- package/dist/prompt/templates.d.ts.map +1 -0
- package/dist/prompt/types.d.ts +218 -0
- package/dist/prompt/types.d.ts.map +1 -0
- package/dist/safety/errors.d.ts +18 -0
- package/dist/safety/errors.d.ts.map +1 -0
- package/dist/safety/handler.d.ts +16 -0
- package/dist/safety/handler.d.ts.map +1 -0
- package/dist/safety/index.d.ts +11 -133
- package/dist/safety/index.d.ts.map +1 -0
- package/dist/safety/patterns.d.ts +17 -0
- package/dist/safety/patterns.d.ts.map +1 -0
- package/dist/safety/policy.d.ts +31 -0
- package/dist/safety/policy.d.ts.map +1 -0
- package/dist/safety/presets.d.ts +43 -0
- package/dist/safety/presets.d.ts.map +1 -0
- package/dist/safety/risk.d.ts +14 -0
- package/dist/safety/risk.d.ts.map +1 -0
- package/dist/safety/types.d.ts +165 -0
- package/dist/safety/types.d.ts.map +1 -0
- package/dist/sandbox/index.d.ts +2 -81
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/types.d.ts +79 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sessions/index.d.ts +13 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/{storage → sessions}/index.js +6 -17
- package/dist/sessions/manager/default.d.ts +11 -0
- package/dist/sessions/manager/default.d.ts.map +1 -0
- package/dist/sessions/manager/index.d.ts +12 -0
- package/dist/sessions/manager/index.d.ts.map +1 -0
- package/dist/sessions/manager/session-manager.d.ts +67 -0
- package/dist/sessions/manager/session-manager.d.ts.map +1 -0
- package/dist/sessions/manager/types.d.ts +42 -0
- package/dist/sessions/manager/types.d.ts.map +1 -0
- package/dist/sessions/store/lock.d.ts +18 -0
- package/dist/sessions/store/lock.d.ts.map +1 -0
- package/dist/sessions/store/memory.d.ts +22 -0
- package/dist/sessions/store/memory.d.ts.map +1 -0
- package/dist/sessions/types.d.ts +215 -0
- package/dist/sessions/types.d.ts.map +1 -0
- package/dist/sessions/utils.d.ts +77 -0
- package/dist/sessions/utils.d.ts.map +1 -0
- package/dist/skill/discovery/constants.d.ts +6 -0
- package/dist/skill/discovery/constants.d.ts.map +1 -0
- package/dist/skill/discovery/dedupe.d.ts +3 -0
- package/dist/skill/discovery/dedupe.d.ts.map +1 -0
- package/dist/skill/discovery/discover.d.ts +3 -0
- package/dist/skill/discovery/discover.d.ts.map +1 -0
- package/dist/skill/discovery/fs.d.ts +4 -0
- package/dist/skill/discovery/fs.d.ts.map +1 -0
- package/dist/skill/discovery/index.d.ts +6 -0
- package/dist/skill/discovery/index.d.ts.map +1 -0
- package/dist/skill/discovery/scan.d.ts +3 -0
- package/dist/skill/discovery/scan.d.ts.map +1 -0
- package/dist/skill/discovery/types.d.ts +15 -0
- package/dist/skill/discovery/types.d.ts.map +1 -0
- package/dist/skill/index.d.ts +67 -89
- package/dist/skill/index.d.ts.map +1 -0
- package/dist/skill/index.js +2 -2
- package/dist/skill/loader/constants.d.ts +5 -0
- package/dist/skill/loader/constants.d.ts.map +1 -0
- package/dist/skill/loader/frontmatter.d.ts +5 -0
- package/dist/skill/loader/frontmatter.d.ts.map +1 -0
- package/dist/skill/loader/index.d.ts +8 -0
- package/dist/skill/loader/index.d.ts.map +1 -0
- package/dist/skill/loader/metadata.d.ts +3 -0
- package/dist/skill/loader/metadata.d.ts.map +1 -0
- package/dist/skill/loader/resources.d.ts +5 -0
- package/dist/skill/loader/resources.d.ts.map +1 -0
- package/dist/skill/registry.d.ts +177 -0
- package/dist/skill/registry.d.ts.map +1 -0
- package/dist/skill/tools.d.ts +77 -0
- package/dist/skill/tools.d.ts.map +1 -0
- package/dist/skill/types.d.ts +291 -0
- package/dist/skill/types.d.ts.map +1 -0
- package/dist/subagents/index.d.ts +8 -179
- package/dist/subagents/index.d.ts.map +1 -0
- package/dist/subagents/index.js +5 -4
- package/dist/subagents/installation.d.ts +23 -0
- package/dist/subagents/installation.d.ts.map +1 -0
- package/dist/subagents/results.d.ts +15 -0
- package/dist/subagents/results.d.ts.map +1 -0
- package/dist/subagents/roles/discovery.d.ts +38 -0
- package/dist/subagents/roles/discovery.d.ts.map +1 -0
- package/dist/subagents/roles/index.d.ts +5 -0
- package/dist/subagents/roles/index.d.ts.map +1 -0
- package/dist/subagents/roles/markdown-profile.d.ts +61 -0
- package/dist/subagents/roles/markdown-profile.d.ts.map +1 -0
- package/dist/subagents/tool-factories.d.ts +11 -0
- package/dist/subagents/tool-factories.d.ts.map +1 -0
- package/dist/subagents/tools.d.ts +13 -0
- package/dist/subagents/tools.d.ts.map +1 -0
- package/dist/subagents/types.d.ts +21 -0
- package/dist/subagents/types.d.ts.map +1 -0
- package/dist/team/coordinator/coordinator.d.ts +342 -0
- package/dist/team/coordinator/coordinator.d.ts.map +1 -0
- package/dist/team/coordinator/inbox.d.ts +99 -0
- package/dist/team/coordinator/inbox.d.ts.map +1 -0
- package/dist/team/coordinator/index.d.ts +19 -0
- package/dist/team/coordinator/index.d.ts.map +1 -0
- package/dist/team/coordinator/planning.d.ts +33 -0
- package/dist/team/coordinator/planning.d.ts.map +1 -0
- package/dist/team/coordinator/policy.d.ts +31 -0
- package/dist/team/coordinator/policy.d.ts.map +1 -0
- package/dist/team/coordinator/round-engine.d.ts +25 -0
- package/dist/team/coordinator/round-engine.d.ts.map +1 -0
- package/dist/team/coordinator/synthesis.d.ts +20 -0
- package/dist/team/coordinator/synthesis.d.ts.map +1 -0
- package/dist/team/coordinator/turn.d.ts +107 -0
- package/dist/team/coordinator/turn.d.ts.map +1 -0
- package/dist/team/coordinator/types.d.ts +344 -0
- package/dist/team/coordinator/types.d.ts.map +1 -0
- package/dist/team/events.d.ts +148 -0
- package/dist/team/events.d.ts.map +1 -0
- package/dist/team/execution.d.ts +51 -0
- package/dist/team/execution.d.ts.map +1 -0
- package/dist/team/index.d.ts +23 -545
- package/dist/team/index.d.ts.map +1 -0
- package/dist/team/index.js +2 -2
- package/dist/team/mailbox.d.ts +91 -0
- package/dist/team/mailbox.d.ts.map +1 -0
- package/dist/team/notifications.d.ts +23 -0
- package/dist/team/notifications.d.ts.map +1 -0
- package/dist/team/permissions.d.ts +88 -0
- package/dist/team/permissions.d.ts.map +1 -0
- package/dist/team/shutdown.d.ts +38 -0
- package/dist/team/shutdown.d.ts.map +1 -0
- package/dist/team/task-board.d.ts +161 -0
- package/dist/team/task-board.d.ts.map +1 -0
- package/dist/team/types.d.ts +233 -0
- package/dist/team/types.d.ts.map +1 -0
- package/dist/team/work-loop.d.ts +30 -0
- package/dist/team/work-loop.d.ts.map +1 -0
- package/dist/tool/executor.d.ts +59 -0
- package/dist/tool/executor.d.ts.map +1 -0
- package/dist/tool/host/index.d.ts +7 -38
- package/dist/tool/host/index.d.ts.map +1 -0
- package/dist/tool/host/local.d.ts +15 -0
- package/dist/tool/host/local.d.ts.map +1 -0
- package/dist/tool/host/registry.d.ts +17 -0
- package/dist/tool/host/registry.d.ts.map +1 -0
- package/dist/{types-C_LCeYNg.d.ts → tool/host/types.d.ts} +6 -7
- package/dist/tool/host/types.d.ts.map +1 -0
- package/dist/tool/index.d.ts +21 -285
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +4 -3
- package/dist/tool/registry.d.ts +130 -0
- package/dist/tool/registry.d.ts.map +1 -0
- package/dist/tool/replay.d.ts +11 -0
- package/dist/tool/replay.d.ts.map +1 -0
- package/dist/tool/tool-search.d.ts +50 -0
- package/dist/tool/tool-search.d.ts.map +1 -0
- package/dist/tool/tool.d.ts +308 -0
- package/dist/tool/tool.d.ts.map +1 -0
- package/dist/tool/truncation.d.ts +34 -0
- package/dist/tool/truncation.d.ts.map +1 -0
- package/dist/tool/turn-tools.d.ts +71 -0
- package/dist/tool/turn-tools.d.ts.map +1 -0
- package/dist/tracking/file-tracking.d.ts +25 -0
- package/dist/tracking/file-tracking.d.ts.map +1 -0
- package/dist/tracking/index.d.ts +9 -0
- package/dist/tracking/index.d.ts.map +1 -0
- package/dist/tracking/turn-tracker/diff.d.ts +11 -0
- package/dist/tracking/turn-tracker/diff.d.ts.map +1 -0
- package/dist/tracking/turn-tracker/index.d.ts +11 -0
- package/dist/tracking/turn-tracker/index.d.ts.map +1 -0
- package/dist/tracking/turn-tracker/tracker.d.ts +31 -0
- package/dist/tracking/turn-tracker/tracker.d.ts.map +1 -0
- package/dist/tracking/turn-tracker/types.d.ts +66 -0
- package/dist/tracking/turn-tracker/types.d.ts.map +1 -0
- package/dist/types/compaction.d.ts +191 -0
- package/dist/types/compaction.d.ts.map +1 -0
- package/dist/types/doom-loop.d.ts +25 -0
- package/dist/types/doom-loop.d.ts.map +1 -0
- package/dist/types/events.d.ts +196 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/messages.d.ts +119 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/stream.d.ts +172 -0
- package/dist/types/stream.d.ts.map +1 -0
- package/dist/types/tool.d.ts +309 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/turn-source.d.ts +36 -0
- package/dist/types/turn-source.d.ts.map +1 -0
- package/dist/utils/sleep.d.ts +7 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/package.json +49 -12
- package/dist/chunk-CJI7PVS2.js +0 -58
- package/dist/chunk-V6ETEYST.js +0 -2091
- package/dist/index-BCqEGzBj.d.ts +0 -251
- package/dist/instance-Bg61WSyz.d.ts +0 -6004
- package/dist/llm-error-D93FNNLY.d.ts +0 -32
- package/dist/storage/index.d.ts +0 -191
- package/dist/turn-tools/index.d.ts +0 -12
- package/dist/turn-tools/index.js +0 -1
- package/dist/{chunk-O2WCYSXQ.js → chunk-3NBTQHVV.js} +0 -0
- package/dist/{chunk-Q742PSH3.js → chunk-MJML3A2F.js} +36 -36
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Team Mailbox
|
|
3
|
+
*
|
|
4
|
+
* Typed message bus for intra-team communication.
|
|
5
|
+
*
|
|
6
|
+
* `MailboxStore` is the persistence contract. `Mailbox` wraps it with
|
|
7
|
+
* input normalization, auto-derived kind, subscriber fan-out, and
|
|
8
|
+
* defensive cloning. Hosts swap in whatever store fits their deployment
|
|
9
|
+
* (in-memory for single-process, Redis/DB for distributed teams).
|
|
10
|
+
*
|
|
11
|
+
* Design choices:
|
|
12
|
+
* - Messages are immutable once sent — no edits, no deletes
|
|
13
|
+
* - Subscribers are notified via Promise.allSettled (one failure ≠ all fail)
|
|
14
|
+
* - `from` / `to` instead of `senderId` / `recipientId` (more readable)
|
|
15
|
+
* - `teamId` scoped filters so one store can serve multiple teams
|
|
16
|
+
*/
|
|
17
|
+
import type { MessageKind, MessagePayload, TeamMessage } from "./types.js";
|
|
18
|
+
/**
|
|
19
|
+
* Filter options for listing messages.
|
|
20
|
+
*/
|
|
21
|
+
export interface MessageListFilter {
|
|
22
|
+
teamId?: string;
|
|
23
|
+
from?: string;
|
|
24
|
+
to?: string;
|
|
25
|
+
taskId?: string;
|
|
26
|
+
kind?: MessageKind | MessageKind[];
|
|
27
|
+
limit?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Input for sending a new message.
|
|
31
|
+
*/
|
|
32
|
+
export interface MessageInput {
|
|
33
|
+
/** Optional ID (auto-generated if omitted) */
|
|
34
|
+
id?: string;
|
|
35
|
+
teamId: string;
|
|
36
|
+
from: string;
|
|
37
|
+
to?: string;
|
|
38
|
+
kind?: MessageKind;
|
|
39
|
+
body: string;
|
|
40
|
+
payload?: MessagePayload;
|
|
41
|
+
taskId?: string;
|
|
42
|
+
metadata?: Record<string, string>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Subscriber callback — invoked when a new message is sent.
|
|
46
|
+
*/
|
|
47
|
+
export type MailboxSubscriber = (message: TeamMessage) => void | Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Persistence contract for team messages.
|
|
50
|
+
*/
|
|
51
|
+
export interface MailboxStore {
|
|
52
|
+
start?(): Promise<void>;
|
|
53
|
+
stop?(): Promise<void>;
|
|
54
|
+
append(message: TeamMessage): Promise<TeamMessage>;
|
|
55
|
+
list(filter?: MessageListFilter): Promise<TeamMessage[]>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Simple in-memory store — suitable for single-process teams.
|
|
59
|
+
*/
|
|
60
|
+
export declare class InMemoryMailboxStore implements MailboxStore {
|
|
61
|
+
private readonly messages;
|
|
62
|
+
append(message: TeamMessage): Promise<TeamMessage>;
|
|
63
|
+
list(filter?: MessageListFilter): Promise<TeamMessage[]>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Team mailbox — typed message bus with subscriber notifications.
|
|
67
|
+
*/
|
|
68
|
+
export declare class Mailbox {
|
|
69
|
+
private readonly store;
|
|
70
|
+
private readonly subscribers;
|
|
71
|
+
private readonly createId;
|
|
72
|
+
constructor(options?: {
|
|
73
|
+
store?: MailboxStore;
|
|
74
|
+
createId?: () => string;
|
|
75
|
+
});
|
|
76
|
+
start(): Promise<void>;
|
|
77
|
+
stop(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Send a message. Notifies subscribers after persistence.
|
|
80
|
+
*/
|
|
81
|
+
send(input: MessageInput): Promise<TeamMessage>;
|
|
82
|
+
/**
|
|
83
|
+
* List messages matching the filter.
|
|
84
|
+
*/
|
|
85
|
+
list(filter?: MessageListFilter): Promise<TeamMessage[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Subscribe to new messages. Returns an unsubscribe function.
|
|
88
|
+
*/
|
|
89
|
+
subscribe(subscriber: MailboxSubscriber): () => void;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=mailbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC1D;AA6BD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAExC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMlD,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAmB/D;AAMD;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;KAAE;IAKjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BrD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI9D;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,IAAI;CAMrD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TeamTask } from "./types.js";
|
|
2
|
+
import type { TeamEvent } from "./events.js";
|
|
3
|
+
export type NotificationPriority = "immediate" | "deferred";
|
|
4
|
+
export type CoordinatorNotificationKind = "worker-report" | "task-result" | "permission-forwarded" | "permission-resolved" | "shutdown-requested" | "shutdown-resolved";
|
|
5
|
+
export interface CoordinatorNotification {
|
|
6
|
+
id: string;
|
|
7
|
+
teamId: string;
|
|
8
|
+
memberId: string;
|
|
9
|
+
kind: CoordinatorNotificationKind;
|
|
10
|
+
priority: NotificationPriority;
|
|
11
|
+
title: string;
|
|
12
|
+
body: string;
|
|
13
|
+
createdAt: string;
|
|
14
|
+
taskId?: string;
|
|
15
|
+
status?: TeamTask["status"];
|
|
16
|
+
}
|
|
17
|
+
export interface TeamNotificationEvent {
|
|
18
|
+
type: "team-notification";
|
|
19
|
+
teamId: string;
|
|
20
|
+
notification: CoordinatorNotification;
|
|
21
|
+
}
|
|
22
|
+
export declare function buildCoordinatorNotificationEvent(event: TeamEvent, resolveTask: (taskId: string) => Promise<TeamTask | undefined>): Promise<TeamNotificationEvent | null>;
|
|
23
|
+
//# sourceMappingURL=notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/team/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EASV,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,2BAA2B,GACnC,eAAe,GACf,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,uBAAuB,CAAC;CACvC;AA4KD,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAC7D,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAmBvC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Team Permission Policy
|
|
3
|
+
*
|
|
4
|
+
* Extends the existing approval middleware to support team-wide
|
|
5
|
+
* permission delegation. When a coordinator creates team members,
|
|
6
|
+
* it can install a `teamPermissionPolicy` middleware that:
|
|
7
|
+
*
|
|
8
|
+
* 1. Applies team-wide allow/deny rules to all member tool calls
|
|
9
|
+
* 2. Forwards unresolved approvals to the coordinator (lead agent)
|
|
10
|
+
* 3. Propagates "remember" decisions to all team members
|
|
11
|
+
*
|
|
12
|
+
* This is layered ON TOP of the existing `approvalMiddleware` —
|
|
13
|
+
* it doesn't replace it. Members inherit the lead's approval rules
|
|
14
|
+
* via fork(), and the team policy adds team-specific delegation.
|
|
15
|
+
*
|
|
16
|
+
* Design choices vs ccsource:
|
|
17
|
+
* - No filesystem polling for permission responses — uses callbacks
|
|
18
|
+
* - No separate sandbox permission path — uses standard approval pipeline
|
|
19
|
+
* - Team rules are typed objects, not mailbox message payloads
|
|
20
|
+
* - Integrates with existing `beforeToolCall` middleware contract
|
|
21
|
+
*/
|
|
22
|
+
import type { AgentMiddleware, ToolCallDecision } from "../middleware/types.js";
|
|
23
|
+
/**
|
|
24
|
+
* A team-wide permission rule.
|
|
25
|
+
*
|
|
26
|
+
* Rules are evaluated in order — first match wins.
|
|
27
|
+
*/
|
|
28
|
+
export interface TeamPermissionRule {
|
|
29
|
+
/** Tool name to match (exact or glob-style with `*`) */
|
|
30
|
+
tool: string;
|
|
31
|
+
/** Optional approval pattern to match against the tool input */
|
|
32
|
+
pattern?: string;
|
|
33
|
+
/** Member IDs this rule applies to (undefined = all members) */
|
|
34
|
+
members?: string[];
|
|
35
|
+
/** Whether to allow or deny */
|
|
36
|
+
action: "allow" | "deny";
|
|
37
|
+
/** Optional reason (shown to model on deny) */
|
|
38
|
+
reason?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Callback for forwarding approval requests to the coordinator.
|
|
42
|
+
* Returns the coordinator's decision.
|
|
43
|
+
*/
|
|
44
|
+
export type ApprovalForwarder = (memberId: string, tool: string, args: unknown, ctx: Parameters<NonNullable<AgentMiddleware["beforeToolCall"]>>[2]) => Promise<ToolCallDecision>;
|
|
45
|
+
/**
|
|
46
|
+
* Configuration for the team permission policy middleware.
|
|
47
|
+
*/
|
|
48
|
+
export interface TeamPermissionPolicyConfig {
|
|
49
|
+
/** The member ID this middleware is installed on */
|
|
50
|
+
memberId: string;
|
|
51
|
+
/** Team-wide rules (evaluated first, before forwarding) */
|
|
52
|
+
rules?: TeamPermissionRule[];
|
|
53
|
+
/**
|
|
54
|
+
* Forward unresolved approvals to this callback.
|
|
55
|
+
* If not provided, unresolved tools are allowed (fall through
|
|
56
|
+
* to the member's own approval middleware).
|
|
57
|
+
*/
|
|
58
|
+
forwardApproval?: ApprovalForwarder;
|
|
59
|
+
/**
|
|
60
|
+
* Callback when a "remember" decision is made — the coordinator
|
|
61
|
+
* can propagate it to all members by updating their rule sets.
|
|
62
|
+
*/
|
|
63
|
+
onRemember?: (rule: TeamPermissionRule) => void | Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create a team permission policy middleware.
|
|
67
|
+
*
|
|
68
|
+
* Install this on forked member agents to enforce team-wide
|
|
69
|
+
* permission rules and optionally forward approvals to the
|
|
70
|
+
* coordinator.
|
|
71
|
+
*
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const memberAgent = lead.fork({
|
|
74
|
+
* name: "explorer",
|
|
75
|
+
* additionalMiddleware: [
|
|
76
|
+
* teamPermissionPolicy({
|
|
77
|
+
* memberId: "explorer",
|
|
78
|
+
* rules: [
|
|
79
|
+
* { tool: "read_*", action: "allow" },
|
|
80
|
+
* { tool: "write_*", action: "deny", reason: "Explorer is read-only" },
|
|
81
|
+
* ],
|
|
82
|
+
* }),
|
|
83
|
+
* ],
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare function teamPermissionPolicy(config: TeamPermissionPolicyConfig): AgentMiddleware;
|
|
88
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/team/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAWhF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AA6BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,0BAA0B,GACjC,eAAe,CAqCjB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shutdown Protocol
|
|
3
|
+
*
|
|
4
|
+
* Two-phase graceful shutdown for team members:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Request** — coordinator sends a shutdown request via mailbox.
|
|
7
|
+
* If the member is idle, it goes offline immediately. If busy,
|
|
8
|
+
* it's marked "shutting-down" and finishes its current task first.
|
|
9
|
+
*
|
|
10
|
+
* 2. **Resolve** — once the member reaches "offline", the coordinator
|
|
11
|
+
* emits a shutdown-resolved event.
|
|
12
|
+
*
|
|
13
|
+
* The `shutdown()` function applies this to all active members in parallel.
|
|
14
|
+
*/
|
|
15
|
+
import type { CoordinatorCtx, MemberRuntime } from "./coordinator/types.js";
|
|
16
|
+
/**
|
|
17
|
+
* Request graceful shutdown of a specific member.
|
|
18
|
+
*
|
|
19
|
+
* - If member is idle, auto-accepts and goes offline immediately
|
|
20
|
+
* - If member is busy, marks as shutting-down and waits for current
|
|
21
|
+
* task to finish before going offline
|
|
22
|
+
* - Returns true if shutdown succeeded within the timeout
|
|
23
|
+
*/
|
|
24
|
+
export declare function requestShutdown(ctx: CoordinatorCtx, memberId: string, reason?: string, timeoutMs?: number): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Gracefully shut down all active members.
|
|
27
|
+
*/
|
|
28
|
+
export declare function shutdownAll(ctx: CoordinatorCtx, reason?: string, timeoutMs?: number): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Poll until a member reaches "offline" status.
|
|
31
|
+
* Returns false if the timeout expires first.
|
|
32
|
+
*/
|
|
33
|
+
export declare function waitForOffline(runtime: MemberRuntime, timeoutMs?: number): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Emit a shutdown-resolved event.
|
|
36
|
+
*/
|
|
37
|
+
export declare function emitShutdownResolved(ctx: CoordinatorCtx, memberId: string, requestId: string, accepted: boolean): Promise<void>;
|
|
38
|
+
//# sourceMappingURL=shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/team/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5E;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA2DlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,cAAc,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Board
|
|
3
|
+
*
|
|
4
|
+
* Manages team members and tasks with a dependency-aware lifecycle.
|
|
5
|
+
*
|
|
6
|
+
* The `TaskBoardStore` interface is the persistence contract — hosts
|
|
7
|
+
* swap in whatever backing store they need (in-memory, Redis, etc.).
|
|
8
|
+
* `TaskBoard` wraps the store and adds the behavioral logic: creation
|
|
9
|
+
* with dependency resolution, claiming, status transitions, and
|
|
10
|
+
* cascading unblock / cancel when dependencies complete or fail.
|
|
11
|
+
*
|
|
12
|
+
* Design choices vs the CLI version:
|
|
13
|
+
* - Added explicit `"claimed"` status (CLI jumped straight from pending → running)
|
|
14
|
+
* - `refreshDependents()` is recursive — cascading failures propagate fully
|
|
15
|
+
* - All mutations return `TaskTransition[]` so the coordinator can publish events
|
|
16
|
+
* - Store interface is minimal (CRUD); board owns all business rules
|
|
17
|
+
*/
|
|
18
|
+
import type { TaskStatus, TaskResult, TaskTransition, TeamMember, TeamTask } from "./types.js";
|
|
19
|
+
export declare class TaskConflictError extends Error {
|
|
20
|
+
readonly taskId?: string | undefined;
|
|
21
|
+
constructor(message: string, taskId?: string | undefined);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Filter options for listing tasks.
|
|
25
|
+
*/
|
|
26
|
+
export interface TaskListFilter {
|
|
27
|
+
memberId?: string;
|
|
28
|
+
status?: TaskStatus | TaskStatus[];
|
|
29
|
+
limit?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Persistence contract for task board data.
|
|
33
|
+
*
|
|
34
|
+
* Implementations must be safe for concurrent calls from the
|
|
35
|
+
* coordinator (which may dispatch multiple tasks in parallel).
|
|
36
|
+
* The in-memory implementation is inherently single-threaded;
|
|
37
|
+
* a Redis or database implementation should use optimistic
|
|
38
|
+
* locking or transactions.
|
|
39
|
+
*/
|
|
40
|
+
export interface TaskBoardStore {
|
|
41
|
+
/** Optional startup hook (open connections, etc.) */
|
|
42
|
+
start?(): Promise<void>;
|
|
43
|
+
/** Optional shutdown hook (close connections, etc.) */
|
|
44
|
+
stop?(): Promise<void>;
|
|
45
|
+
listMembers(): Promise<TeamMember[]>;
|
|
46
|
+
getMember(memberId: string): Promise<TeamMember | undefined>;
|
|
47
|
+
putMember(member: TeamMember): Promise<TeamMember>;
|
|
48
|
+
listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
|
|
49
|
+
getTask(taskId: string): Promise<TeamTask | undefined>;
|
|
50
|
+
putTask(task: TeamTask): Promise<TeamTask>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Input for creating a new task.
|
|
54
|
+
*/
|
|
55
|
+
export interface TaskCreateInput {
|
|
56
|
+
id: string;
|
|
57
|
+
title: string;
|
|
58
|
+
prompt: string;
|
|
59
|
+
memberId?: string;
|
|
60
|
+
dependsOn?: string[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Simple in-memory store — suitable for single-process teams.
|
|
64
|
+
*/
|
|
65
|
+
export declare class InMemoryTaskBoardStore implements TaskBoardStore {
|
|
66
|
+
private readonly members;
|
|
67
|
+
private readonly tasks;
|
|
68
|
+
listMembers(): Promise<TeamMember[]>;
|
|
69
|
+
getMember(memberId: string): Promise<TeamMember | undefined>;
|
|
70
|
+
putMember(member: TeamMember): Promise<TeamMember>;
|
|
71
|
+
listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
|
|
72
|
+
getTask(taskId: string): Promise<TeamTask | undefined>;
|
|
73
|
+
putTask(task: TeamTask): Promise<TeamTask>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Task board — manages task lifecycle with dependency tracking.
|
|
77
|
+
*
|
|
78
|
+
* All mutating methods return the affected task(s) plus any
|
|
79
|
+
* `TaskTransition` records triggered by the change (cascading
|
|
80
|
+
* unblocks, cancellations, etc.).
|
|
81
|
+
*/
|
|
82
|
+
export declare class TaskBoard {
|
|
83
|
+
private readonly store;
|
|
84
|
+
constructor(store: TaskBoardStore);
|
|
85
|
+
start(): Promise<void>;
|
|
86
|
+
stop(): Promise<void>;
|
|
87
|
+
listMembers(): Promise<TeamMember[]>;
|
|
88
|
+
getMember(id: string): Promise<TeamMember | undefined>;
|
|
89
|
+
listTasks(filter?: TaskListFilter): Promise<TeamTask[]>;
|
|
90
|
+
getTask(id: string): Promise<TeamTask | undefined>;
|
|
91
|
+
snapshot(): Promise<{
|
|
92
|
+
members: TeamMember[];
|
|
93
|
+
tasks: TeamTask[];
|
|
94
|
+
}>;
|
|
95
|
+
putMember(member: TeamMember): Promise<TeamMember>;
|
|
96
|
+
/**
|
|
97
|
+
* Create a new task. Its initial status is computed from dependencies:
|
|
98
|
+
* `"pending"` if all deps are met, `"blocked"` otherwise, or
|
|
99
|
+
* `"cancelled"` if a dependency already failed.
|
|
100
|
+
*/
|
|
101
|
+
createTask(input: TaskCreateInput): Promise<{
|
|
102
|
+
task: TeamTask;
|
|
103
|
+
transitions: TaskTransition[];
|
|
104
|
+
}>;
|
|
105
|
+
/**
|
|
106
|
+
* Claim a pending task for a member. Moves status to `"claimed"`.
|
|
107
|
+
*/
|
|
108
|
+
claimTask(taskId: string, memberId: string): Promise<TeamTask>;
|
|
109
|
+
/**
|
|
110
|
+
* Claim the next available pending task for a member.
|
|
111
|
+
* Prefers tasks already assigned to this member, then unassigned tasks.
|
|
112
|
+
*/
|
|
113
|
+
claimNextTask(memberId: string): Promise<TeamTask | undefined>;
|
|
114
|
+
/**
|
|
115
|
+
* Mark a claimed task as running with a run reference.
|
|
116
|
+
*/
|
|
117
|
+
startTask(taskId: string, runId: string): Promise<TeamTask>;
|
|
118
|
+
/**
|
|
119
|
+
* Complete a running task with a result.
|
|
120
|
+
* Cascades: blocked dependents may become pending or cancelled.
|
|
121
|
+
*/
|
|
122
|
+
completeTask(taskId: string, result: TaskResult): Promise<{
|
|
123
|
+
task: TeamTask;
|
|
124
|
+
transitions: TaskTransition[];
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* Fail a running task.
|
|
128
|
+
* Cascades: blocked dependents may be cancelled.
|
|
129
|
+
*/
|
|
130
|
+
failTask(taskId: string, error: string): Promise<{
|
|
131
|
+
task: TeamTask;
|
|
132
|
+
transitions: TaskTransition[];
|
|
133
|
+
}>;
|
|
134
|
+
/**
|
|
135
|
+
* Abort a claimed or running task without cascading dependency failure.
|
|
136
|
+
*
|
|
137
|
+
* Downstream tasks remain blocked so the host can retry or replace the
|
|
138
|
+
* aborted prerequisite explicitly.
|
|
139
|
+
*/
|
|
140
|
+
abortTask(taskId: string, reason?: string): Promise<{
|
|
141
|
+
task: TeamTask;
|
|
142
|
+
transitions: TaskTransition[];
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Cancel a task (at any non-terminal status).
|
|
146
|
+
* Cascades: blocked dependents may be cancelled.
|
|
147
|
+
*/
|
|
148
|
+
cancelTask(taskId: string, reason?: string): Promise<{
|
|
149
|
+
task: TeamTask;
|
|
150
|
+
transitions: TaskTransition[];
|
|
151
|
+
}>;
|
|
152
|
+
/**
|
|
153
|
+
* Re-evaluate all blocked tasks against current dependency state.
|
|
154
|
+
* Called automatically after complete/fail/cancel, but can also
|
|
155
|
+
* be called manually for batch operations.
|
|
156
|
+
*/
|
|
157
|
+
refreshDependents(): Promise<TaskTransition[]>;
|
|
158
|
+
private requireTask;
|
|
159
|
+
private retryOnConflict;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=task-board.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-board.d.ts","sourceRoot":"","sources":["../../src/team/task-board.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Team Types
|
|
3
|
+
*
|
|
4
|
+
* Shared vocabulary for multi-agent team coordination.
|
|
5
|
+
*
|
|
6
|
+
* A team is a group of agents working toward a shared goal
|
|
7
|
+
* under a coordinator. Each member is a forked agent with a
|
|
8
|
+
* role, and work is tracked as structured tasks with
|
|
9
|
+
* dependencies.
|
|
10
|
+
*
|
|
11
|
+
* These types are deliberately framework-agnostic — no React,
|
|
12
|
+
* no CLI, no filesystem. Hosts wire concrete stores.
|
|
13
|
+
*/
|
|
14
|
+
import type { TokenUsage } from "../types/messages.js";
|
|
15
|
+
/**
|
|
16
|
+
* Possible member lifecycle states.
|
|
17
|
+
*
|
|
18
|
+
* ```
|
|
19
|
+
* idle ──→ busy ──→ idle (task completed)
|
|
20
|
+
* │ │
|
|
21
|
+
* ├──→ shutting-down ├──→ shutting-down ──→ offline
|
|
22
|
+
* │ │
|
|
23
|
+
* └──→ offline └──→ offline
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export type MemberStatus = "idle" | "busy" | "shutting-down" | "offline";
|
|
27
|
+
/**
|
|
28
|
+
* A registered team member.
|
|
29
|
+
*
|
|
30
|
+
* Each member maps 1:1 to a forked agent instance. The coordinator
|
|
31
|
+
* creates and owns the record; the member agent is unaware of it.
|
|
32
|
+
*/
|
|
33
|
+
export interface TeamMember {
|
|
34
|
+
/** Stable identifier — usually matches the role name */
|
|
35
|
+
id: string;
|
|
36
|
+
/** Name of the role this member was created from */
|
|
37
|
+
role: string;
|
|
38
|
+
/** Human-readable description of the member's specialty */
|
|
39
|
+
description: string;
|
|
40
|
+
/** Session ID used for this member's agent conversations */
|
|
41
|
+
sessionId: string;
|
|
42
|
+
/** Current lifecycle state */
|
|
43
|
+
status: MemberStatus;
|
|
44
|
+
/** Task currently assigned to this member (if busy) */
|
|
45
|
+
activeTaskId?: string;
|
|
46
|
+
/** ISO timestamp of registration */
|
|
47
|
+
createdAt: string;
|
|
48
|
+
/** ISO timestamp of last status change */
|
|
49
|
+
updatedAt: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Task lifecycle states.
|
|
53
|
+
*
|
|
54
|
+
* ```
|
|
55
|
+
* ┌───────────┐
|
|
56
|
+
* │ blocked │ ← has unfinished dependencies
|
|
57
|
+
* └─────┬─────┘
|
|
58
|
+
* │ deps complete
|
|
59
|
+
* ▼
|
|
60
|
+
* ┌───────────┐ ┌───────────┐
|
|
61
|
+
* │ pending │────→│ claimed │
|
|
62
|
+
* └─────┬─────┘ └─────┬─────┘
|
|
63
|
+
* │ │ member starts work
|
|
64
|
+
* ▼ ▼
|
|
65
|
+
* ┌───────────┐ ┌───────────┐
|
|
66
|
+
* │ cancelled │ │ running │
|
|
67
|
+
* └───────────┘ └─────┬─────┘
|
|
68
|
+
* │
|
|
69
|
+
* ┌────┴────┐
|
|
70
|
+
* ▼ ▼
|
|
71
|
+
* ┌──────────┐ ┌──────────┐
|
|
72
|
+
* │ completed │ │ failed │
|
|
73
|
+
* └──────────┘ └──────────┘
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export type TaskStatus = "blocked" | "pending" | "claimed" | "running" | "completed" | "aborted" | "failed" | "cancelled";
|
|
77
|
+
/** Status values that indicate a terminal state (no further transitions). */
|
|
78
|
+
export declare const TERMINAL_STATUSES: readonly TaskStatus[];
|
|
79
|
+
/**
|
|
80
|
+
* Result of a completed task.
|
|
81
|
+
*/
|
|
82
|
+
export interface TaskResult {
|
|
83
|
+
/** The agent's final response text */
|
|
84
|
+
response: string;
|
|
85
|
+
/** Token usage for the entire task run */
|
|
86
|
+
usage?: TokenUsage;
|
|
87
|
+
/** Tool calls the agent made during the run */
|
|
88
|
+
toolCalls?: Array<{
|
|
89
|
+
name: string;
|
|
90
|
+
result: unknown;
|
|
91
|
+
}>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A unit of work assigned to a team member.
|
|
95
|
+
*/
|
|
96
|
+
export interface TeamTask {
|
|
97
|
+
/** Unique task identifier */
|
|
98
|
+
id: string;
|
|
99
|
+
/** Member assigned to this task (undefined = unassigned) */
|
|
100
|
+
memberId?: string;
|
|
101
|
+
/** Short label for display */
|
|
102
|
+
title: string;
|
|
103
|
+
/** Full task description / prompt given to the member agent */
|
|
104
|
+
prompt: string;
|
|
105
|
+
/** Current lifecycle status */
|
|
106
|
+
status: TaskStatus;
|
|
107
|
+
/** Task IDs that must complete before this task can start */
|
|
108
|
+
dependsOn?: string[];
|
|
109
|
+
/** ISO timestamp when a member claimed this task */
|
|
110
|
+
claimedAt?: string;
|
|
111
|
+
/** Execution/run identifier for the active attempt */
|
|
112
|
+
runId?: string;
|
|
113
|
+
/** ISO timestamp of creation */
|
|
114
|
+
createdAt: string;
|
|
115
|
+
/** ISO timestamp of last status change */
|
|
116
|
+
updatedAt: string;
|
|
117
|
+
/** Result (only present when status is "completed") */
|
|
118
|
+
result?: TaskResult;
|
|
119
|
+
/** Error message (only present when status is "failed" or "cancelled") */
|
|
120
|
+
error?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Message routing kind.
|
|
124
|
+
*
|
|
125
|
+
* - `direct` — one sender to one recipient
|
|
126
|
+
* - `broadcast` — one sender to all members
|
|
127
|
+
* - `system` — generated by the coordinator (task transitions, etc.)
|
|
128
|
+
*/
|
|
129
|
+
export type MessageKind = "direct" | "broadcast" | "system";
|
|
130
|
+
/**
|
|
131
|
+
* Structured message payloads — typed alternatives to plain text.
|
|
132
|
+
*
|
|
133
|
+
* Messages with a `payload` carry machine-readable data that the
|
|
134
|
+
* coordinator and member work loops can act on programmatically.
|
|
135
|
+
* The `body` field still contains a human-readable summary.
|
|
136
|
+
*/
|
|
137
|
+
export type MessagePayload = ShutdownRequestPayload | ShutdownResponsePayload | PermissionRequestPayload | PermissionResponsePayload | IdleNotificationPayload | GuidancePayload | WorkerReportPayload;
|
|
138
|
+
/** Coordinator asks a member to shut down. */
|
|
139
|
+
export interface ShutdownRequestPayload {
|
|
140
|
+
kind: "shutdown-request";
|
|
141
|
+
requestId: string;
|
|
142
|
+
reason?: string;
|
|
143
|
+
}
|
|
144
|
+
/** Member responds to a shutdown request. */
|
|
145
|
+
export interface ShutdownResponsePayload {
|
|
146
|
+
kind: "shutdown-response";
|
|
147
|
+
requestId: string;
|
|
148
|
+
accepted: boolean;
|
|
149
|
+
/** Why the member rejected (e.g. "mid-task") */
|
|
150
|
+
reason?: string;
|
|
151
|
+
}
|
|
152
|
+
/** Member asks coordinator for tool permission. */
|
|
153
|
+
export interface PermissionRequestPayload {
|
|
154
|
+
kind: "permission-request";
|
|
155
|
+
requestId: string;
|
|
156
|
+
tool: string;
|
|
157
|
+
args: unknown;
|
|
158
|
+
memberId: string;
|
|
159
|
+
}
|
|
160
|
+
/** Coordinator responds to a permission request. */
|
|
161
|
+
export interface PermissionResponsePayload {
|
|
162
|
+
kind: "permission-response";
|
|
163
|
+
requestId: string;
|
|
164
|
+
decision: "allow" | "deny";
|
|
165
|
+
reason?: string;
|
|
166
|
+
}
|
|
167
|
+
/** Member notifies coordinator it's idle and available for work. */
|
|
168
|
+
export interface IdleNotificationPayload {
|
|
169
|
+
kind: "idle-notification";
|
|
170
|
+
reason: "available" | "task-completed" | "task-failed" | "interrupted";
|
|
171
|
+
taskId?: string;
|
|
172
|
+
}
|
|
173
|
+
/** Coordinator sends guidance to a member. */
|
|
174
|
+
export interface GuidancePayload {
|
|
175
|
+
kind: "guidance";
|
|
176
|
+
taskId?: string;
|
|
177
|
+
}
|
|
178
|
+
/** Worker sends a mid-task report to the coordinator. */
|
|
179
|
+
export interface WorkerReportPayload {
|
|
180
|
+
kind: "worker-report";
|
|
181
|
+
taskId?: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* A message exchanged within the team.
|
|
185
|
+
*/
|
|
186
|
+
export interface TeamMessage {
|
|
187
|
+
/** Unique message identifier */
|
|
188
|
+
id: string;
|
|
189
|
+
/** Team this message belongs to */
|
|
190
|
+
teamId: string;
|
|
191
|
+
/** Sender (member ID, "coordinator", or "system") */
|
|
192
|
+
from: string;
|
|
193
|
+
/** Recipient member ID (undefined for broadcast/system) */
|
|
194
|
+
to?: string;
|
|
195
|
+
/** Routing kind */
|
|
196
|
+
kind: MessageKind;
|
|
197
|
+
/** Message body (human-readable summary) */
|
|
198
|
+
body: string;
|
|
199
|
+
/**
|
|
200
|
+
* Structured payload for machine-readable messages.
|
|
201
|
+
* When present, the `body` is a human-readable summary and
|
|
202
|
+
* the payload carries the typed data.
|
|
203
|
+
*/
|
|
204
|
+
payload?: MessagePayload;
|
|
205
|
+
/** Related task ID (if contextual) */
|
|
206
|
+
taskId?: string;
|
|
207
|
+
/** ISO timestamp */
|
|
208
|
+
createdAt: string;
|
|
209
|
+
/** Arbitrary metadata */
|
|
210
|
+
metadata?: Record<string, string>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Point-in-time view of the full team state.
|
|
214
|
+
*/
|
|
215
|
+
export interface TeamSnapshot {
|
|
216
|
+
members: TeamMember[];
|
|
217
|
+
tasks: TeamTask[];
|
|
218
|
+
messages: TeamMessage[];
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Why a task changed status — used by the coordinator to publish
|
|
222
|
+
* lifecycle events after mutations.
|
|
223
|
+
*/
|
|
224
|
+
export type TaskTransitionReason = "created" | "claimed" | "started" | "completed" | "aborted" | "failed" | "cancelled" | "unblocked" | "blocked-dependency-failed";
|
|
225
|
+
/**
|
|
226
|
+
* Record of a single task status change.
|
|
227
|
+
*/
|
|
228
|
+
export interface TaskTransition {
|
|
229
|
+
task: TeamTask;
|
|
230
|
+
reason: TaskTransitionReason;
|
|
231
|
+
previous?: TaskStatus;
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/team/types.ts"],"names":[],"mappings":"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"}
|