@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,426 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the composable middleware interface for agent lifecycle hooks.
|
|
5
|
+
*
|
|
6
|
+
* Middleware is just a plain object with optional hook methods — no
|
|
7
|
+
* base classes, no discovery, no installation. Pass it in code:
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const agent = createAgent({
|
|
11
|
+
* middleware: [myLoggerMiddleware, myApprovalMiddleware],
|
|
12
|
+
* });
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Hooks run in array order for "before" operations and reverse order
|
|
16
|
+
* for "after" operations (like middleware stacks everywhere).
|
|
17
|
+
*/
|
|
18
|
+
import type { LanguageModel, ModelMessage, SystemModelMessage, TelemetryOptions } from "ai";
|
|
19
|
+
import type { ProviderOptions } from "@ai-sdk/provider-utils";
|
|
20
|
+
import type { AgentContextCompactionPhase, AgentEvent } from "../types/events.js";
|
|
21
|
+
import type { PromptBuildContext, PromptSection } from "../prompt/types.js";
|
|
22
|
+
import type { Message, TokenUsage } from "../types/messages.js";
|
|
23
|
+
import type { RecentMessagesOptions as SessionRecentMessagesOptions } from "../sessions/manager/types.js";
|
|
24
|
+
import type { ScopeSnapshot } from "../execution/scope/types.js";
|
|
25
|
+
import type { StreamChunk, StreamProvider } from "../types/stream.js";
|
|
26
|
+
import type { ToolContext } from "../types/tool.js";
|
|
27
|
+
import type { Tool } from "../tool/tool.js";
|
|
28
|
+
import type { ReasoningLevel } from "../models/reasoning/index.js";
|
|
29
|
+
import type { ApprovalCorrection } from "../safety/types.js";
|
|
30
|
+
import type { AgentContextFragmentBuildContext, AgentContextFragmentInput } from "../context/fragments/types.js";
|
|
31
|
+
import type { ContextCompactionDecision } from "../context/window/index.js";
|
|
32
|
+
import type { CompactionCutReason, CompactionEffectiveness, CompactionReason, CompactionTrigger } from "../types/compaction.js";
|
|
33
|
+
/**
|
|
34
|
+
* Action returned by `beforeToolCall` — determines whether
|
|
35
|
+
* the tool call proceeds or is blocked.
|
|
36
|
+
*/
|
|
37
|
+
export interface ToolCallDecision {
|
|
38
|
+
/** Whether to allow or deny the tool call */
|
|
39
|
+
action: "allow" | "deny";
|
|
40
|
+
/** Reason for denial — returned to the model as the tool output */
|
|
41
|
+
reason?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Structured correction metadata for denied tool calls.
|
|
44
|
+
*
|
|
45
|
+
* Hosts and runtimes can persist this even though the model still receives
|
|
46
|
+
* a string tool result.
|
|
47
|
+
*/
|
|
48
|
+
correction?: ApprovalCorrection;
|
|
49
|
+
/**
|
|
50
|
+
* Rewritten tool arguments. When present, replaces the original
|
|
51
|
+
* args for the remainder of the execution pipeline (schema validation,
|
|
52
|
+
* baseline capture, and execution).
|
|
53
|
+
*
|
|
54
|
+
* Only meaningful when `action` is `"allow"`. Use this for path
|
|
55
|
+
* rewriting, sandbox prefixing, argument sanitization, or injecting
|
|
56
|
+
* default values — without the tool knowing about the transformation.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* beforeToolCall: async (tool, args, ctx) => {
|
|
61
|
+
* if (tool === "write_file") {
|
|
62
|
+
* const a = args as { path: string };
|
|
63
|
+
* return {
|
|
64
|
+
* action: "allow",
|
|
65
|
+
* args: { ...a, path: resolveSandboxPath(a.path) },
|
|
66
|
+
* };
|
|
67
|
+
* }
|
|
68
|
+
* return { action: "allow" };
|
|
69
|
+
* },
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
args?: unknown;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Mutable model invocation payload presented to middleware before an LLM call.
|
|
76
|
+
*/
|
|
77
|
+
export interface ModelCallInput {
|
|
78
|
+
model: LanguageModel;
|
|
79
|
+
system: string[];
|
|
80
|
+
messages: ModelMessage[];
|
|
81
|
+
temperature?: number;
|
|
82
|
+
topP?: number;
|
|
83
|
+
maxOutputTokens?: number;
|
|
84
|
+
maxSteps?: number;
|
|
85
|
+
reasoningLevel?: ReasoningLevel;
|
|
86
|
+
telemetry?: TelemetryOptions;
|
|
87
|
+
customStreamProvider?: StreamProvider;
|
|
88
|
+
toolExecutionMode?: "auto" | "plan";
|
|
89
|
+
/**
|
|
90
|
+
* Provider-specific options passed through to `streamText()`.
|
|
91
|
+
*
|
|
92
|
+
* Middleware can set these to enable provider features like Anthropic
|
|
93
|
+
* prompt caching (`{ anthropic: { cacheControl: { type: "ephemeral" } } }`).
|
|
94
|
+
*
|
|
95
|
+
* When multiple sources set providerOptions (e.g. middleware + reasoning),
|
|
96
|
+
* they are shallow-merged before the LLM call.
|
|
97
|
+
*/
|
|
98
|
+
providerOptions?: ProviderOptions;
|
|
99
|
+
/**
|
|
100
|
+
* System messages with provider-specific options.
|
|
101
|
+
*
|
|
102
|
+
* When set, these take precedence over the plain `system` strings.
|
|
103
|
+
* This allows middleware to attach per-message metadata such as
|
|
104
|
+
* Anthropic `cacheControl` breakpoints on system content.
|
|
105
|
+
*
|
|
106
|
+
* Leave undefined to use the plain `system` string array.
|
|
107
|
+
*/
|
|
108
|
+
systemMessages?: SystemModelMessage[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Context shared across model middleware hooks for a single step.
|
|
112
|
+
*/
|
|
113
|
+
export interface ModelCallContext {
|
|
114
|
+
sessionID: string;
|
|
115
|
+
turnID?: string;
|
|
116
|
+
step: number;
|
|
117
|
+
cwd: string;
|
|
118
|
+
abort: AbortSignal;
|
|
119
|
+
model: LanguageModel;
|
|
120
|
+
toolNames: string[];
|
|
121
|
+
mcpToolNames: string[];
|
|
122
|
+
scope?: ScopeSnapshot;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Return this from `model.input(...)` to stop an LLM call entirely.
|
|
126
|
+
*/
|
|
127
|
+
export interface BlockedModelCall {
|
|
128
|
+
block: true;
|
|
129
|
+
reason: string;
|
|
130
|
+
}
|
|
131
|
+
/** Type guard for `BlockedModelCall`. */
|
|
132
|
+
export declare function isBlockedModelCall(value: ModelCallInput | BlockedModelCall): value is BlockedModelCall;
|
|
133
|
+
/**
|
|
134
|
+
* Final step result exposed to model middleware after the stream is processed.
|
|
135
|
+
*/
|
|
136
|
+
export interface ModelCallOutput {
|
|
137
|
+
text: string;
|
|
138
|
+
usage?: TokenUsage;
|
|
139
|
+
finishReason?: string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Context shared across chat lifecycle hooks for a single turn.
|
|
143
|
+
*/
|
|
144
|
+
export interface ChatLifecycleContext {
|
|
145
|
+
sessionId: string;
|
|
146
|
+
turnId?: string;
|
|
147
|
+
history?: HistoryAccessor;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Options for reading a bounded slice of recent visible chat messages.
|
|
151
|
+
*/
|
|
152
|
+
export type RecentMessagesOptions = Pick<SessionRecentMessagesOptions, "limit" | "roles">;
|
|
153
|
+
/**
|
|
154
|
+
* Lazy chat-history accessor exposed to lifecycle middleware.
|
|
155
|
+
*
|
|
156
|
+
* The chat loop passes this accessor by reference; messages are only read and
|
|
157
|
+
* deserialized if middleware calls it.
|
|
158
|
+
*/
|
|
159
|
+
export interface HistoryAccessor {
|
|
160
|
+
getRecentMessages(options?: RecentMessagesOptions): Message[];
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Extended tool result returned by `afterToolCall` middleware.
|
|
164
|
+
*
|
|
165
|
+
* Same shape as `Tool.ExecuteResult` with an optional `supplement` —
|
|
166
|
+
* extra text appended to the tool output for model visibility.
|
|
167
|
+
*
|
|
168
|
+
* Use this to inject warnings, guidance, lint results, or annotations
|
|
169
|
+
* that the model should see alongside the tool's own output, without
|
|
170
|
+
* modifying the tool's result directly.
|
|
171
|
+
*
|
|
172
|
+
* When multiple middleware add supplements, each one receives the
|
|
173
|
+
* previous supplement (if any) and can extend or replace it.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* afterToolCall: async (tool, args, result) => {
|
|
178
|
+
* if (tool === "write_file") {
|
|
179
|
+
* const warnings = await lintFile(args.path);
|
|
180
|
+
* return { ...result, supplement: warnings };
|
|
181
|
+
* }
|
|
182
|
+
* return result;
|
|
183
|
+
* },
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
export interface ToolCallOutput extends Tool.ExecuteResult {
|
|
187
|
+
/**
|
|
188
|
+
* Supplementary text appended to the tool output for the model.
|
|
189
|
+
*
|
|
190
|
+
* Kept separate from `output` so the original tool result stays
|
|
191
|
+
* untouched. The executor merges this into the final output string
|
|
192
|
+
* before returning it to the model.
|
|
193
|
+
*/
|
|
194
|
+
supplement?: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Shared context for middleware that observes a context compaction pass.
|
|
198
|
+
*
|
|
199
|
+
* `beforeContextCompactionCommit` receives the proposed replacement after the
|
|
200
|
+
* cut and summary are prepared, before it is committed to session history.
|
|
201
|
+
* `afterContextCompactionCommit` receives the same shape after the session has
|
|
202
|
+
* been replaced.
|
|
203
|
+
*/
|
|
204
|
+
export interface ContextCompactionHookContext {
|
|
205
|
+
sessionId: string;
|
|
206
|
+
turnId?: string;
|
|
207
|
+
cwd: string;
|
|
208
|
+
phase?: AgentContextCompactionPhase;
|
|
209
|
+
trigger?: CompactionTrigger;
|
|
210
|
+
reason?: CompactionReason;
|
|
211
|
+
inputTokens: number;
|
|
212
|
+
limit: number;
|
|
213
|
+
decision: ContextCompactionDecision;
|
|
214
|
+
effectiveness: CompactionEffectiveness;
|
|
215
|
+
removedMessages: readonly Message[];
|
|
216
|
+
keptMessages: readonly Message[];
|
|
217
|
+
messagesAfter: readonly Message[];
|
|
218
|
+
persistedMessages: readonly Message[];
|
|
219
|
+
removedCount: number;
|
|
220
|
+
tokensRemoved: number;
|
|
221
|
+
summarized: boolean;
|
|
222
|
+
previousSummary?: string;
|
|
223
|
+
nextSummary?: string;
|
|
224
|
+
cutIndex?: number;
|
|
225
|
+
cutReason?: CompactionCutReason;
|
|
226
|
+
tokensBefore: number;
|
|
227
|
+
tokensAfter: number;
|
|
228
|
+
abort?: AbortSignal;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Optional model-specific hooks grouped under `middleware.model`.
|
|
232
|
+
*/
|
|
233
|
+
export interface AgentModelHooks {
|
|
234
|
+
/**
|
|
235
|
+
* Review or rewrite the model request before the LLM is invoked.
|
|
236
|
+
*
|
|
237
|
+
* Return:
|
|
238
|
+
* - `undefined` to keep the current request
|
|
239
|
+
* - a `ModelCallInput` object to replace the request
|
|
240
|
+
* - `{ block: true, reason }` to cancel the model call
|
|
241
|
+
*
|
|
242
|
+
* Hooks run in middleware array order. The first block stops the call.
|
|
243
|
+
*/
|
|
244
|
+
input?(input: ModelCallInput, ctx: ModelCallContext): Promise<ModelCallInput | BlockedModelCall | void>;
|
|
245
|
+
/**
|
|
246
|
+
* Review or rewrite raw stream chunks as they arrive from the model.
|
|
247
|
+
*
|
|
248
|
+
* Return:
|
|
249
|
+
* - `undefined` to keep the current chunk
|
|
250
|
+
* - a `StreamChunk` to replace it
|
|
251
|
+
* - `null` to drop it from downstream processing
|
|
252
|
+
*
|
|
253
|
+
* Hooks run in middleware array order.
|
|
254
|
+
*/
|
|
255
|
+
chunk?(chunk: StreamChunk, ctx: ModelCallContext): Promise<StreamChunk | null | void>;
|
|
256
|
+
/**
|
|
257
|
+
* Review or rewrite the fully processed model result for the current step.
|
|
258
|
+
*
|
|
259
|
+
* Hooks run in reverse middleware order so outer middleware sees the final
|
|
260
|
+
* shaped result, matching `afterToolCall(...)`.
|
|
261
|
+
*/
|
|
262
|
+
output?(output: ModelCallOutput, ctx: ModelCallContext): Promise<ModelCallOutput | void>;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Agent middleware — composable lifecycle hooks.
|
|
266
|
+
*
|
|
267
|
+
* All methods are optional. Implement only what you need.
|
|
268
|
+
*
|
|
269
|
+
* Ordering:
|
|
270
|
+
* - `beforeToolCall`: runs in array order, first "deny" wins
|
|
271
|
+
* - `afterToolCall`: runs in reverse order (innermost first)
|
|
272
|
+
* - `model.input`: runs in array order, first block wins
|
|
273
|
+
* - `model.chunk`: runs in array order on raw stream chunks
|
|
274
|
+
* - `model.output`: runs in reverse order
|
|
275
|
+
* - `promptSections`: all run, sections merged
|
|
276
|
+
* - `beforeContextCompactionCommit`: runs in array order before session history is replaced
|
|
277
|
+
* - `afterContextCompactionCommit`: runs in reverse order after session history is replaced
|
|
278
|
+
* - `onEvent`: all run synchronously, errors logged, never blocks the stream
|
|
279
|
+
* - `onChatStart` / `onChatEnd`: run in array order, awaited sequentially
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```typescript
|
|
283
|
+
* // A simple logging middleware
|
|
284
|
+
* const logger: AgentMiddleware = {
|
|
285
|
+
* name: "logger",
|
|
286
|
+
* beforeToolCall: async (tool, args) => {
|
|
287
|
+
* console.log(`→ ${tool}`, args);
|
|
288
|
+
* return { action: "allow" };
|
|
289
|
+
* },
|
|
290
|
+
* afterToolCall: async (tool, args, result) => {
|
|
291
|
+
* console.log(`← ${tool}`, result.title);
|
|
292
|
+
* return result;
|
|
293
|
+
* },
|
|
294
|
+
* };
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
export interface AgentMiddleware {
|
|
298
|
+
/** Middleware name (for logging and debugging) */
|
|
299
|
+
name: string;
|
|
300
|
+
/**
|
|
301
|
+
* Optional hooks for shaping model requests, raw stream chunks,
|
|
302
|
+
* and final step outputs.
|
|
303
|
+
*/
|
|
304
|
+
model?: AgentModelHooks;
|
|
305
|
+
/**
|
|
306
|
+
* Intercept a tool call before execution.
|
|
307
|
+
*
|
|
308
|
+
* Return `{ action: "allow" }` to proceed, or `{ action: "deny", reason }` to
|
|
309
|
+
* block the call. When denied, `reason` is returned to the model as the tool
|
|
310
|
+
* output so it can adjust its approach.
|
|
311
|
+
*
|
|
312
|
+
* Runs in array order. The first middleware that returns "deny" short-circuits
|
|
313
|
+
* the chain — remaining middleware and the tool itself are skipped.
|
|
314
|
+
*
|
|
315
|
+
* @param tool - Tool name (e.g. "bash", "write_file")
|
|
316
|
+
* @param args - Parsed tool arguments
|
|
317
|
+
* @param ctx - Tool execution context (cwd, sessionID, host, etc.)
|
|
318
|
+
*/
|
|
319
|
+
beforeToolCall?(tool: string, args: unknown, ctx: ToolContext): Promise<ToolCallDecision>;
|
|
320
|
+
/**
|
|
321
|
+
* Transform or observe a tool result after execution.
|
|
322
|
+
*
|
|
323
|
+
* Receives the result and must return a result (can be the same object
|
|
324
|
+
* or a modified copy). Runs in reverse array order so the outermost
|
|
325
|
+
* middleware sees the final transformed result.
|
|
326
|
+
*
|
|
327
|
+
* @param tool - Tool name
|
|
328
|
+
* @param args - Original tool arguments
|
|
329
|
+
* @param result - Tool execution result
|
|
330
|
+
* @param ctx - Tool execution context
|
|
331
|
+
*/
|
|
332
|
+
afterToolCall?(tool: string, args: unknown, result: ToolCallOutput, ctx: ToolContext): Promise<ToolCallOutput>;
|
|
333
|
+
/**
|
|
334
|
+
* Inject dynamic prompt sections at build time.
|
|
335
|
+
*
|
|
336
|
+
* Called during `PromptBuilder.build()` for each middleware. Return one
|
|
337
|
+
* or more sections to inject into the system prompt. Return `undefined`
|
|
338
|
+
* or an empty array to inject nothing.
|
|
339
|
+
*
|
|
340
|
+
* Sections follow the same priority system as static sections — use
|
|
341
|
+
* `priority` to control placement relative to base template (10),
|
|
342
|
+
* environment (20), instructions (30), custom (50), skills (70),
|
|
343
|
+
* and per-turn overrides (90).
|
|
344
|
+
*
|
|
345
|
+
* @param ctx - Build context with cwd, model, toolNames, sessionId
|
|
346
|
+
*/
|
|
347
|
+
promptSections?(ctx: PromptBuildContext): PromptSection | PromptSection[] | undefined;
|
|
348
|
+
/**
|
|
349
|
+
* Inject typed model-visible context messages before each model step.
|
|
350
|
+
*
|
|
351
|
+
* Use this for runtime/session context that should be distinguishable from
|
|
352
|
+
* normal user conversation: environment snapshots, memory recall, workflow
|
|
353
|
+
* hints, or hook-added context. Returned context fragments are transient
|
|
354
|
+
* unless the caller also persists them through
|
|
355
|
+
* `SessionManager.addContextFragment(...)`.
|
|
356
|
+
*/
|
|
357
|
+
contextFragments?(ctx: AgentContextFragmentBuildContext): AgentContextFragmentInput | AgentContextFragmentInput[] | undefined | Promise<AgentContextFragmentInput | AgentContextFragmentInput[] | undefined>;
|
|
358
|
+
/**
|
|
359
|
+
* Observe or persist information immediately before context compaction
|
|
360
|
+
* replaces visible session history.
|
|
361
|
+
*
|
|
362
|
+
* Use this for blocking durability work that must see removed messages before
|
|
363
|
+
* they leave the model-visible window, such as memory capture. Errors are
|
|
364
|
+
* logged and do not abort compaction.
|
|
365
|
+
*/
|
|
366
|
+
beforeContextCompactionCommit?(ctx: ContextCompactionHookContext): Promise<void> | void;
|
|
367
|
+
/**
|
|
368
|
+
* Observe a completed context compaction after session history has been
|
|
369
|
+
* replaced.
|
|
370
|
+
*
|
|
371
|
+
* Use this for follow-up bookkeeping that should only happen after the
|
|
372
|
+
* compacted history is committed. Errors are logged and do not abort the turn.
|
|
373
|
+
*/
|
|
374
|
+
afterContextCompactionCommit?(ctx: ContextCompactionHookContext): Promise<void> | void;
|
|
375
|
+
/**
|
|
376
|
+
* Observe agent events (read-only, non-blocking).
|
|
377
|
+
*
|
|
378
|
+
* Fires for every event emitted during `chat()`. Errors thrown by
|
|
379
|
+
* handlers are caught and logged — they never interrupt the stream.
|
|
380
|
+
*
|
|
381
|
+
* This is intentionally synchronous (void return) to prevent
|
|
382
|
+
* event observers from blocking the streaming pipeline.
|
|
383
|
+
*
|
|
384
|
+
* @param event - The agent event
|
|
385
|
+
*/
|
|
386
|
+
onEvent?(event: AgentEvent): void;
|
|
387
|
+
/**
|
|
388
|
+
* Called when `chat()` starts, before the LLM stream is created.
|
|
389
|
+
*
|
|
390
|
+
* Use this for setup: initializing loggers, recording start time,
|
|
391
|
+
* resetting per-turn state, etc. Runs in array order, awaited
|
|
392
|
+
* sequentially.
|
|
393
|
+
*
|
|
394
|
+
* @param sessionId - Session identifier
|
|
395
|
+
* @param message - The user message being sent
|
|
396
|
+
*/
|
|
397
|
+
onChatStart?(sessionId: string, message: string, ctx?: ChatLifecycleContext): Promise<void>;
|
|
398
|
+
/**
|
|
399
|
+
* Called when `chat()` completes (or errors), after all events
|
|
400
|
+
* have been yielded.
|
|
401
|
+
*
|
|
402
|
+
* Use this for teardown: flushing logs, recording metrics, etc.
|
|
403
|
+
* Runs in array order, awaited sequentially. Always called, even
|
|
404
|
+
* if the stream errored.
|
|
405
|
+
*
|
|
406
|
+
* Turn-scoped tool cleanup runs after `onChatEnd`, so middleware can still
|
|
407
|
+
* inspect the just-resolved turn tool objects during this hook.
|
|
408
|
+
*
|
|
409
|
+
* @param sessionId - Session identifier
|
|
410
|
+
* @param result - Completion info (usage stats and optional error)
|
|
411
|
+
*/
|
|
412
|
+
onChatEnd?(sessionId: string, result: {
|
|
413
|
+
usage?: TokenUsage;
|
|
414
|
+
error?: Error;
|
|
415
|
+
output?: string;
|
|
416
|
+
}, ctx?: ChatLifecycleContext): Promise<void>;
|
|
417
|
+
/**
|
|
418
|
+
* Get the active OTel context for a session.
|
|
419
|
+
*
|
|
420
|
+
* Used internally by the LLM layer to wrap `streamText()` so that
|
|
421
|
+
* AI SDK spans are nested under the middleware's parent span.
|
|
422
|
+
* Only implemented by the `otelMiddleware`.
|
|
423
|
+
*/
|
|
424
|
+
getOtelContext?(sessionId: string, ctx?: ChatLifecycleContext): unknown;
|
|
425
|
+
}
|
|
426
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/middleware/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/models/cache/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAyHpD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,cAAc,CAUhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CapabilitySource, ModelEntry, ResolverOptions, SourceResult } from "../types.js";
|
|
2
|
+
import { SourcePriority } from "../types.js";
|
|
3
|
+
import type { Logger } from "../../logger/types.js";
|
|
4
|
+
export declare class CapabilityCache {
|
|
5
|
+
private adapter;
|
|
6
|
+
private memoryCache;
|
|
7
|
+
private ttlMs;
|
|
8
|
+
private loaded;
|
|
9
|
+
private readonly log;
|
|
10
|
+
constructor(options?: Partial<ResolverOptions>, logger?: Logger);
|
|
11
|
+
private load;
|
|
12
|
+
get(modelId: string, provider?: string): Promise<ModelEntry | undefined>;
|
|
13
|
+
set(entry: ModelEntry): Promise<void>;
|
|
14
|
+
setMany(entries: ModelEntry[]): Promise<void>;
|
|
15
|
+
persist(): Promise<void>;
|
|
16
|
+
clear(): Promise<void>;
|
|
17
|
+
stats(): {
|
|
18
|
+
size: number;
|
|
19
|
+
loaded: boolean;
|
|
20
|
+
};
|
|
21
|
+
getAll(): Promise<ModelEntry[]>;
|
|
22
|
+
getAllByProvider(): Promise<Record<string, ModelEntry[]>>;
|
|
23
|
+
}
|
|
24
|
+
export declare class CacheCapabilitySource implements CapabilitySource {
|
|
25
|
+
private cache;
|
|
26
|
+
readonly priority = SourcePriority.LocalCache;
|
|
27
|
+
readonly name = "Local Cache";
|
|
28
|
+
constructor(cache: CapabilityCache);
|
|
29
|
+
lookup(modelId: string, provider?: string): Promise<SourceResult>;
|
|
30
|
+
isAvailable(): Promise<boolean>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/models/cache/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAA4B,cAAc,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,EAAE,MAAM,CAAC,EAAE,MAAM;YAOrD,IAAI;IAoBZ,GAAG,CACP,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAK5B,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,KAAK,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAOpC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAK/B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CAYhE;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAIhD,OAAO,CAAC,KAAK;IAHzB,QAAQ,CAAC,QAAQ,6BAA6B;IAC9C,QAAQ,CAAC,IAAI,iBAAiB;gBAEV,KAAK,EAAE,eAAe;IAEpC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBjE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ModelEntry } from "../types.js";
|
|
2
|
+
export interface CacheData {
|
|
3
|
+
version: number;
|
|
4
|
+
updatedAt: string;
|
|
5
|
+
expiresAt: string;
|
|
6
|
+
models: Record<string, ModelEntry>;
|
|
7
|
+
source?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface StorageAdapter {
|
|
10
|
+
read(): Promise<CacheData | undefined>;
|
|
11
|
+
write(data: CacheData): Promise<void>;
|
|
12
|
+
clear(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare const CACHE_VERSION = 1;
|
|
15
|
+
export declare function cacheKey(modelId: string, provider?: string): string;
|
|
16
|
+
export declare function isExpired(data: CacheData): boolean;
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/models/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAElD"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Capability Resolver for @cuylabs/agent-core
|
|
3
|
+
*
|
|
4
|
+
* Main orchestrator that combines multiple capability sources:
|
|
5
|
+
* 1. User overrides (highest priority)
|
|
6
|
+
* 2. Local cache (fast, persisted)
|
|
7
|
+
* 3. Pattern matching (always available)
|
|
8
|
+
* 4. Remote API (optional, network-dependent)
|
|
9
|
+
*
|
|
10
|
+
* Designed for the Vercel AI SDK v6 ecosystem.
|
|
11
|
+
*/
|
|
12
|
+
import type { LanguageModel } from "ai";
|
|
13
|
+
import type { ModelEntry, ModelCapabilities, ResolverOptions, ProviderCompatibility } from "./types.js";
|
|
14
|
+
import { SourcePriority } from "./types.js";
|
|
15
|
+
import { type NetworkStatus } from "./remote/index.js";
|
|
16
|
+
import type { Logger } from "../logger/types.js";
|
|
17
|
+
/**
|
|
18
|
+
* Resolution result with source information
|
|
19
|
+
*/
|
|
20
|
+
export interface ResolutionResult {
|
|
21
|
+
/** The resolved model entry */
|
|
22
|
+
entry: ModelEntry;
|
|
23
|
+
/** Which source provided the primary result */
|
|
24
|
+
source: SourcePriority;
|
|
25
|
+
/** Whether this is a confident match */
|
|
26
|
+
confident: boolean;
|
|
27
|
+
/** Resolution timing in ms */
|
|
28
|
+
resolveTimeMs: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Model Capability Resolver
|
|
32
|
+
*
|
|
33
|
+
* Provides a unified API for querying model capabilities with
|
|
34
|
+
* automatic fallback through multiple sources.
|
|
35
|
+
*/
|
|
36
|
+
export declare class ModelCapabilityResolver {
|
|
37
|
+
private options;
|
|
38
|
+
private cache;
|
|
39
|
+
private sources;
|
|
40
|
+
private initialized;
|
|
41
|
+
private initPromise;
|
|
42
|
+
private readonly log;
|
|
43
|
+
constructor(options?: Partial<ResolverOptions>, logger?: Logger);
|
|
44
|
+
/**
|
|
45
|
+
* Initialize the resolver (load cache, optionally fetch remote)
|
|
46
|
+
*/
|
|
47
|
+
initialize(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve capabilities for a model
|
|
50
|
+
*/
|
|
51
|
+
resolve(model: LanguageModel): Promise<ResolutionResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Quick check if a model supports reasoning
|
|
54
|
+
* Uses cache/patterns only for speed
|
|
55
|
+
*/
|
|
56
|
+
supportsReasoning(model: LanguageModel): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Get capabilities for a model
|
|
59
|
+
*/
|
|
60
|
+
getCapabilities(model: LanguageModel): Promise<ModelCapabilities>;
|
|
61
|
+
/**
|
|
62
|
+
* Get provider compatibility settings
|
|
63
|
+
*/
|
|
64
|
+
getCompatibility(model: LanguageModel): Promise<ProviderCompatibility | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Force refresh from remote API
|
|
67
|
+
*/
|
|
68
|
+
refreshRemote(): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Get current network status
|
|
71
|
+
*/
|
|
72
|
+
getNetworkStatus(): NetworkStatus;
|
|
73
|
+
/**
|
|
74
|
+
* Get resolver statistics
|
|
75
|
+
*/
|
|
76
|
+
getStats(): {
|
|
77
|
+
cacheSize: number;
|
|
78
|
+
cacheLoaded: boolean;
|
|
79
|
+
remoteFetchEnabled: boolean;
|
|
80
|
+
networkOnline: boolean;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Clear all cached data
|
|
84
|
+
*/
|
|
85
|
+
clearCache(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* List all available models
|
|
88
|
+
* Fetches from remote if cache is empty and remote is enabled
|
|
89
|
+
*/
|
|
90
|
+
listModels(): Promise<ModelEntry[]>;
|
|
91
|
+
/**
|
|
92
|
+
* List all available models grouped by provider
|
|
93
|
+
*/
|
|
94
|
+
listModelsByProvider(): Promise<Record<string, ModelEntry[]>>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the default resolver instance
|
|
98
|
+
*/
|
|
99
|
+
export declare function getDefaultResolver(): ModelCapabilityResolver;
|
|
100
|
+
/**
|
|
101
|
+
* Configure the default resolver with custom options
|
|
102
|
+
*/
|
|
103
|
+
export declare function configureResolver(options: Partial<ResolverOptions>): void;
|
|
104
|
+
//# sourceMappingURL=capability-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-resolver.d.ts","sourceRoot":"","sources":["../../src/models/capability-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAGjB,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAMtE,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAOjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,cAAc,CAAC;IACvB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAoBnE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BjC;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0D9D;;;OAGG;IACG,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAc/D;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKvE;;OAEG;IACG,gBAAgB,CACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAK7C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;KACxB;IAYD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAoBzC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CAkBpE;AAQD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,uBAAuB,CAQ5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAEzE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { LanguageModel } from "ai";
|
|
2
|
+
/**
|
|
3
|
+
* Extract a model ID string from a LanguageModel instance.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getModelId(model: LanguageModel): string;
|
|
6
|
+
/**
|
|
7
|
+
* Extract a provider identifier from a LanguageModel instance.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getProviderId(model: LanguageModel): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Extract model ID from a LanguageModel.
|
|
12
|
+
*
|
|
13
|
+
* Canonical helper — use this instead of `getModelId` in consumer code.
|
|
14
|
+
*/
|
|
15
|
+
export declare const extractModelId: (model: LanguageModel) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Extract provider from a LanguageModel.
|
|
18
|
+
*
|
|
19
|
+
* Tries the model's `.provider` property first, then falls back
|
|
20
|
+
* to pattern-matching the model ID via `inferProvider`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractProvider(model: LanguageModel): string | undefined;
|
|
23
|
+
//# sourceMappingURL=identifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/models/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxC;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAYtE;AAID;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAmB,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAGxE"}
|