@cuylabs/agent-core 4.9.0 → 4.10.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 +29 -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 +29 -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 +170 -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 +53 -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 +39 -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 +17 -0
- package/dist/agent/turn-context/compaction/memory.d.ts.map +1 -0
- package/dist/agent/turn-context/compaction/results.d.ts +19 -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 +24 -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 +199 -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-AAGKWUXR.js +539 -0
- package/dist/chunk-AHDCR7SX.js +83 -0
- package/dist/{chunk-CSR75JVC.js → chunk-ASXF5AC6.js} +1 -1
- package/dist/{chunk-2TTOLHBT.js → chunk-CFBSQLP5.js} +1 -1
- package/dist/{chunk-GJFP5L2V.js → chunk-CNM6OROH.js} +15 -3
- package/dist/chunk-E66PKKDL.js +772 -0
- package/dist/{chunk-HSUPTXNV.js → chunk-EBVSPHXA.js} +13 -10
- package/dist/chunk-EEAGM5MS.js +257 -0
- package/dist/chunk-IQA64CAO.js +84 -0
- 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-LX4AHGI3.js +960 -0
- package/dist/chunk-MJRZ2ZRI.js +498 -0
- package/dist/chunk-NMJNN6LS.js +1155 -0
- package/dist/{chunk-UMIVJDEJ.js → chunk-SAWRDGBE.js} +30 -7
- package/dist/{chunk-GEBFHREI.js → chunk-TU5KDFWI.js} +30 -5
- 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-BJC46FIF.js → chunk-V4YQ6MBK.js} +2 -2
- package/dist/{chunk-H3GRHFFG.js → chunk-VMGZKIFT.js} +30 -9
- 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 +60 -0
- package/dist/context/assembly/types.d.ts.map +1 -0
- package/dist/context/config.d.ts +11 -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 +10 -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 +90 -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 +108 -0
- package/dist/context/window/budget.d.ts.map +1 -0
- package/dist/context/window/compactor.d.ts +74 -0
- package/dist/context/window/compactor.d.ts.map +1 -0
- package/dist/context/window/cut-planner.d.ts +64 -0
- package/dist/context/window/cut-planner.d.ts.map +1 -0
- package/dist/context/window/decision.d.ts +41 -0
- package/dist/context/window/decision.d.ts.map +1 -0
- package/dist/context/window/estimation.d.ts +45 -0
- package/dist/context/window/estimation.d.ts.map +1 -0
- package/dist/context/window/index.d.ts +26 -0
- package/dist/context/window/index.d.ts.map +1 -0
- package/dist/context/window/manager.d.ts +80 -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 +56 -0
- package/dist/context/window/summary.d.ts.map +1 -0
- package/dist/context/window/tool-pruning.d.ts +62 -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 +2482 -1846
- 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 +232 -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 +24 -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 +100 -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 +371 -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/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/storage/file/helpers.d.ts +16 -0
- package/dist/storage/file/helpers.d.ts.map +1 -0
- package/dist/storage/file/index.d.ts +6 -0
- package/dist/storage/file/index.d.ts.map +1 -0
- package/dist/storage/file/storage.d.ts +29 -0
- package/dist/storage/file/storage.d.ts.map +1 -0
- package/dist/storage/file/types.d.ts +6 -0
- package/dist/storage/file/types.d.ts.map +1 -0
- package/dist/storage/index.d.ts +11 -188
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +2 -1
- package/dist/storage/lock.d.ts +18 -0
- package/dist/storage/lock.d.ts.map +1 -0
- package/dist/storage/manager/default.d.ts +11 -0
- package/dist/storage/manager/default.d.ts.map +1 -0
- package/dist/storage/manager/index.d.ts +12 -0
- package/dist/storage/manager/index.d.ts.map +1 -0
- package/dist/storage/manager/session-manager.d.ts +57 -0
- package/dist/storage/manager/session-manager.d.ts.map +1 -0
- package/dist/storage/manager/types.d.ts +42 -0
- package/dist/storage/manager/types.d.ts.map +1 -0
- package/dist/storage/memory.d.ts +22 -0
- package/dist/storage/memory.d.ts.map +1 -0
- package/dist/storage/paths.d.ts +37 -0
- package/dist/storage/paths.d.ts.map +1 -0
- package/dist/storage/types.d.ts +205 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/utils.d.ts +77 -0
- package/dist/storage/utils.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 +142 -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 +194 -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 +45 -8
- 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/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,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool registry for @cuylabs/agent-core
|
|
3
|
+
*
|
|
4
|
+
* Manages available tools, named groups, and resolution from specs.
|
|
5
|
+
*/
|
|
6
|
+
import type { Tool } from "./tool.js";
|
|
7
|
+
/**
|
|
8
|
+
* A tool spec that can be resolved to an array of tools.
|
|
9
|
+
*
|
|
10
|
+
* - `string` — group name (`"read-only"`), single tool ID (`"bash"`),
|
|
11
|
+
* or comma-separated list (`"read,grep,glob"`).
|
|
12
|
+
* Prefix with `-` to exclude: `"all,-bash"`.
|
|
13
|
+
* - `string[]` — array of tool IDs and/or group names.
|
|
14
|
+
* - `Tool.AnyInfo[]` — pass-through (already resolved).
|
|
15
|
+
* - `true` — all registered tools.
|
|
16
|
+
* - `false` — no tools.
|
|
17
|
+
*/
|
|
18
|
+
export type ToolSpec = string | string[] | Tool.AnyInfo[] | boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Tool registry — manages available tools and named groups.
|
|
21
|
+
*
|
|
22
|
+
* Tools are registered individually. Groups are named collections of tool IDs
|
|
23
|
+
* that resolve against the registry at lookup time.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const reg = new ToolRegistry();
|
|
28
|
+
* reg.registerAll([readTool, grepTool, bashTool]);
|
|
29
|
+
* reg.registerGroup("read-only", ["read", "grep", "glob"]);
|
|
30
|
+
*
|
|
31
|
+
* // Resolve a spec to a tool array
|
|
32
|
+
* reg.resolve("read-only"); // → [readTool, grepTool]
|
|
33
|
+
* reg.resolve("all,-bash"); // → [readTool, grepTool]
|
|
34
|
+
* reg.resolve(["read", "grep"]); // → [readTool, grepTool]
|
|
35
|
+
* reg.resolve(true); // → all tools
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class ToolRegistry {
|
|
39
|
+
private tools;
|
|
40
|
+
private groups;
|
|
41
|
+
/**
|
|
42
|
+
* Register a tool. Throws if a tool with the same ID is already registered.
|
|
43
|
+
* Use `set()` for upsert semantics.
|
|
44
|
+
*/
|
|
45
|
+
register(tool: Tool.AnyInfo): void;
|
|
46
|
+
/** Register multiple tools (throws on duplicates). */
|
|
47
|
+
registerAll(tools: Tool.AnyInfo[]): void;
|
|
48
|
+
/** Register or replace a tool (upsert). */
|
|
49
|
+
set(tool: Tool.AnyInfo): void;
|
|
50
|
+
/** Unregister a tool by ID. Returns `true` if it existed. */
|
|
51
|
+
unregister(id: string): boolean;
|
|
52
|
+
/** Get a tool by ID. */
|
|
53
|
+
get(id: string): Tool.AnyInfo | undefined;
|
|
54
|
+
/** Check if a tool is registered. */
|
|
55
|
+
has(id: string): boolean;
|
|
56
|
+
/** Get all tool IDs. */
|
|
57
|
+
ids(): string[];
|
|
58
|
+
/** Get all tools. */
|
|
59
|
+
all(): Tool.AnyInfo[];
|
|
60
|
+
/** Clear all tools and groups. */
|
|
61
|
+
clear(): void;
|
|
62
|
+
/** Number of registered tools. */
|
|
63
|
+
get size(): number;
|
|
64
|
+
/**
|
|
65
|
+
* Register a named group of tool IDs.
|
|
66
|
+
* The group name can be used in `resolve()` specs.
|
|
67
|
+
* Tool IDs don't need to be registered yet — resolution is lazy.
|
|
68
|
+
*/
|
|
69
|
+
registerGroup(name: string, toolIds: string[]): void;
|
|
70
|
+
/** Get tools in a group (only returns registered tools). */
|
|
71
|
+
getGroup(name: string): Tool.AnyInfo[] | undefined;
|
|
72
|
+
/** Check if a group is registered. */
|
|
73
|
+
hasGroup(name: string): boolean;
|
|
74
|
+
/** List all group names. */
|
|
75
|
+
listGroups(): string[];
|
|
76
|
+
/**
|
|
77
|
+
* Partition registered tools into eager and deferred sets.
|
|
78
|
+
*
|
|
79
|
+
* Eager tools have their full schemas sent to the LLM on turn 1.
|
|
80
|
+
* Deferred tools are held back — the model discovers them via a
|
|
81
|
+
* search mechanism when needed, saving context window space.
|
|
82
|
+
*
|
|
83
|
+
* @returns `{ eager, deferred }` arrays of tool infos.
|
|
84
|
+
*/
|
|
85
|
+
partition(): {
|
|
86
|
+
eager: Tool.AnyInfo[];
|
|
87
|
+
deferred: Tool.AnyInfo[];
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Search deferred tools by keyword with multi-signal weighted scoring.
|
|
91
|
+
*
|
|
92
|
+
* Scoring per term:
|
|
93
|
+
* - Exact tool ID match: +10
|
|
94
|
+
* - Partial tool ID match (substring): +5
|
|
95
|
+
* - Keyword word-boundary match: +4
|
|
96
|
+
* - Keyword substring match: +2
|
|
97
|
+
*
|
|
98
|
+
* @param query - Space-separated search terms
|
|
99
|
+
* @param maxResults - Maximum results to return (default: 5)
|
|
100
|
+
* @returns Matching deferred tools sorted by relevance (highest score first)
|
|
101
|
+
*/
|
|
102
|
+
searchDeferred(query: string, maxResults?: number): Tool.AnyInfo[];
|
|
103
|
+
/**
|
|
104
|
+
* Resolve a `ToolSpec` to an array of tools.
|
|
105
|
+
*
|
|
106
|
+
* Supports group names, individual tool IDs, comma-separated strings,
|
|
107
|
+
* exclusions with `-` prefix, booleans, and pass-through arrays.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* registry.resolve("read-only"); // group name
|
|
112
|
+
* registry.resolve("read,grep,glob"); // comma-separated IDs
|
|
113
|
+
* registry.resolve("all,-bash"); // all except bash
|
|
114
|
+
* registry.resolve(["read", "grep"]); // array of IDs
|
|
115
|
+
* registry.resolve(true); // all registered tools
|
|
116
|
+
* registry.resolve(false); // empty array
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
resolve(spec: ToolSpec): Tool.AnyInfo[];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Default tool registry instance.
|
|
123
|
+
* Shared across the application — register tools here for global access.
|
|
124
|
+
*
|
|
125
|
+
* **Single-process only.** In multi-agent or multi-tenant setups where
|
|
126
|
+
* agents share a process, create a dedicated `new ToolRegistry()` per
|
|
127
|
+
* agent to avoid cross-contamination of tool registrations.
|
|
128
|
+
*/
|
|
129
|
+
export declare const defaultRegistry: ToolRegistry;
|
|
130
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tool/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;AAMpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,MAAM,CAA+B;IAM7C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI;IAOlC,sDAAsD;IACtD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI;IAMxC,2CAA2C;IAC3C,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI;IAI7B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,wBAAwB;IACxB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS;IAIzC,qCAAqC;IACrC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,wBAAwB;IACxB,GAAG,IAAI,MAAM,EAAE;IAIf,qBAAqB;IACrB,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;IAIrB,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAKb,kCAAkC;IAClC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAMD;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS;IAQlD,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,4BAA4B;IAC5B,UAAU,IAAI,MAAM,EAAE;IAQtB;;;;;;;;OAQG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;KAAE;IAahE;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,IAAI,CAAC,OAAO,EAAE;IAkD7D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE;CA0ExC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,cAAqB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FileOperationMeta, NormalizedToolReplayPolicy, ToolReplayPolicy } from "../types/tool.js";
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a tool replay policy into explicit, infrastructure-agnostic
|
|
4
|
+
* recovery semantics.
|
|
5
|
+
*
|
|
6
|
+
* The defaults are intentionally conservative:
|
|
7
|
+
* - read-only tools default to `replay`
|
|
8
|
+
* - mutating or unknown tools default to `manual`
|
|
9
|
+
*/
|
|
10
|
+
export declare function normalizeToolReplayPolicy(policy?: ToolReplayPolicy, fileOps?: FileOperationMeta): NormalizedToolReplayPolicy;
|
|
11
|
+
//# sourceMappingURL=replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/tool/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAiC1B;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,0BAA0B,CAY5B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Search — lets the model discover deferred tools at runtime.
|
|
3
|
+
*
|
|
4
|
+
* When an agent has many tools, sending all schemas on turn 1 wastes
|
|
5
|
+
* context window. Tools marked `deferred: true` are held back. The
|
|
6
|
+
* model calls `tool_search` to find them by keyword, and the matching
|
|
7
|
+
* schemas are added to subsequent turns.
|
|
8
|
+
*
|
|
9
|
+
* The search tool itself is always eager (never deferred).
|
|
10
|
+
*/
|
|
11
|
+
import { Tool } from "./tool.js";
|
|
12
|
+
import type { ToolRegistry } from "./registry.js";
|
|
13
|
+
/**
|
|
14
|
+
* Options for creating a tool_search tool.
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolSearchOptions {
|
|
17
|
+
/** Registry to search. Falls back to the default registry if not provided. */
|
|
18
|
+
registry: ToolRegistry;
|
|
19
|
+
/** Maximum results per search (default: 5). */
|
|
20
|
+
maxResults?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Callback invoked with the matched tools after each search.
|
|
23
|
+
*
|
|
24
|
+
* The agent setup should use this to add the discovered tools
|
|
25
|
+
* to the active tool set for subsequent model calls.
|
|
26
|
+
*/
|
|
27
|
+
onMatch: (tools: Tool.AnyInfo[]) => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a `tool_search` tool that the model can call to discover
|
|
31
|
+
* deferred tools by keyword.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { createToolSearchTool, ToolRegistry } from "@cuylabs/agent-core";
|
|
36
|
+
*
|
|
37
|
+
* const registry = new ToolRegistry();
|
|
38
|
+
* // ... register tools including deferred ones ...
|
|
39
|
+
*
|
|
40
|
+
* const activeTools = new Map<string, Tool.AnyInfo>();
|
|
41
|
+
* const search = createToolSearchTool({
|
|
42
|
+
* registry,
|
|
43
|
+
* onMatch: (tools) => {
|
|
44
|
+
* for (const t of tools) activeTools.set(t.id, t);
|
|
45
|
+
* },
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function createToolSearchTool(options: ToolSearchOptions): Tool.Info;
|
|
50
|
+
//# sourceMappingURL=tool-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../src/tool/tool-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,EAAE,YAAY,CAAC;IACvB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC,IAAI,CA6G1E"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool definition namespace for @cuylabs/agent-core
|
|
3
|
+
*
|
|
4
|
+
* Provides consistent tool creation via Tool.define.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ToolContext, ToolMetadata, FileOperationMeta, ToolCapabilities, ToolHostRequirements, InputCheckResult } from "../types/index.js";
|
|
8
|
+
import type { ToolReplayPolicy } from "../types/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* A schema type compatible with both Zod 3 and Zod 4.
|
|
11
|
+
*
|
|
12
|
+
* Uses structural typing so that schemas from either Zod version satisfy
|
|
13
|
+
* the constraint. This avoids the problem where Zod 3's `ZodType` class
|
|
14
|
+
* and Zod 4's `ZodType` class have incompatible internal shapes, causing
|
|
15
|
+
* type errors when a library compiled against one version is consumed with
|
|
16
|
+
* the other.
|
|
17
|
+
*
|
|
18
|
+
* Both Zod 3 and Zod 4 (classic API) schemas have `parse()` and `_output`.
|
|
19
|
+
*/
|
|
20
|
+
export interface CompatibleSchema<T = any> {
|
|
21
|
+
/** Parse and validate input data. Present in both Zod 3 and Zod 4. */
|
|
22
|
+
parse(data: unknown): T;
|
|
23
|
+
/**
|
|
24
|
+
* Type-level output marker used by both Zod versions:
|
|
25
|
+
* - Zod 3: `readonly _output!: T` (definite assignment assertion)
|
|
26
|
+
* - Zod 4 classic: `get _output(): T` (getter)
|
|
27
|
+
*/
|
|
28
|
+
readonly _output: T;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Infer the output type from a compatible schema.
|
|
32
|
+
* Equivalent to `z.infer<T>` but works with both Zod 3 and Zod 4 schemas.
|
|
33
|
+
*/
|
|
34
|
+
export type InferSchemaOutput<T extends CompatibleSchema> = T["_output"];
|
|
35
|
+
/**
|
|
36
|
+
* Tool namespace - tool definition utilities
|
|
37
|
+
*/
|
|
38
|
+
export declare namespace Tool {
|
|
39
|
+
type ProviderOptionValue = null | string | number | boolean | ProviderOptionValue[] | {
|
|
40
|
+
[key: string]: ProviderOptionValue;
|
|
41
|
+
};
|
|
42
|
+
type ProviderOptions = Record<string, {
|
|
43
|
+
[key: string]: ProviderOptionValue;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Tool info interface - the shape of a defined tool
|
|
47
|
+
*/
|
|
48
|
+
interface Info<TParams extends CompatibleSchema = any, TMeta extends ToolMetadata = ToolMetadata> {
|
|
49
|
+
/** Unique tool identifier */
|
|
50
|
+
id: string;
|
|
51
|
+
/** Static capability hints for inventory and runtime routing. */
|
|
52
|
+
capabilitiesHint?: ToolCapabilities;
|
|
53
|
+
/** Recovery semantics for resume-capable runtimes. */
|
|
54
|
+
replayPolicy?: ToolReplayPolicy;
|
|
55
|
+
/**
|
|
56
|
+
* When `true`, this tool's full schema is NOT sent to the LLM on the
|
|
57
|
+
* first turn. The model must discover it via a tool-search mechanism.
|
|
58
|
+
* Use for rarely-needed tools to save context window space.
|
|
59
|
+
*/
|
|
60
|
+
deferred?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Short keyword phrases (3-10 words) that help a tool-search mechanism
|
|
63
|
+
* find this tool when it is deferred. Include terms NOT already in the
|
|
64
|
+
* tool id (e.g. `["jupyter", "notebook cells"]` for a notebook editor).
|
|
65
|
+
*/
|
|
66
|
+
searchKeywords?: string[];
|
|
67
|
+
/** Initialize the tool (can be async for dynamic descriptions) */
|
|
68
|
+
init: (ctx?: InitContext) => Promise<InitResult<TParams, TMeta>> | InitResult<TParams, TMeta>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Any tool info - for use in arrays and collections where generic types vary
|
|
72
|
+
*/
|
|
73
|
+
type AnyInfo = Info<any, any>;
|
|
74
|
+
/**
|
|
75
|
+
* Context passed during tool initialization
|
|
76
|
+
*/
|
|
77
|
+
interface InitContext {
|
|
78
|
+
/** Working directory */
|
|
79
|
+
cwd?: string;
|
|
80
|
+
/** Agent name (if known) */
|
|
81
|
+
agent?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Result of tool initialization
|
|
85
|
+
*/
|
|
86
|
+
interface InitResult<TParams extends CompatibleSchema = any, TMeta extends ToolMetadata = ToolMetadata> {
|
|
87
|
+
/** Tool description for the LLM */
|
|
88
|
+
description: string;
|
|
89
|
+
/** Zod schema for parameters */
|
|
90
|
+
parameters: TParams;
|
|
91
|
+
/** Execute the tool */
|
|
92
|
+
execute: (params: InferSchemaOutput<TParams>, ctx: ToolContext) => Promise<ExecuteResult<TMeta>>;
|
|
93
|
+
/** Optional custom validation error formatter */
|
|
94
|
+
formatValidationError?: (error: z.ZodError) => string;
|
|
95
|
+
/**
|
|
96
|
+
* File operation metadata for automatic turn tracking.
|
|
97
|
+
* When set, the agent will automatically capture file baselines
|
|
98
|
+
* before tool execution for undo/diff capabilities.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* // For a write tool
|
|
103
|
+
* fileOps: {
|
|
104
|
+
* pathArgs: ['path'],
|
|
105
|
+
* operationType: 'write'
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
fileOps?: FileOperationMeta;
|
|
110
|
+
/** Optional replay metadata for resume-capable runtimes. */
|
|
111
|
+
replayPolicy?: ToolReplayPolicy;
|
|
112
|
+
/**
|
|
113
|
+
* Runtime capability declarations.
|
|
114
|
+
*
|
|
115
|
+
* Tells the framework how this tool behaves so it can make informed
|
|
116
|
+
* decisions about parallelism, approval, truncation, and interruption.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* capabilities: {
|
|
121
|
+
* parallelSafe: true,
|
|
122
|
+
* readOnly: true,
|
|
123
|
+
* riskLevel: "safe",
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
capabilities?: ToolCapabilities;
|
|
128
|
+
/**
|
|
129
|
+
* Describe whether the tool depends on the configured execution host.
|
|
130
|
+
*
|
|
131
|
+
* Use this for tools that call `ctx.host.*` so inventories and runtimes
|
|
132
|
+
* can distinguish host-backed tools from pure in-process tools.
|
|
133
|
+
*/
|
|
134
|
+
hostRequirements?: ToolHostRequirements;
|
|
135
|
+
/**
|
|
136
|
+
* Validate tool input before any middleware hooks or approval checks run.
|
|
137
|
+
*
|
|
138
|
+
* Use this for structural/semantic checks that should fail fast
|
|
139
|
+
* (file exists, argument constraints, size limits). The executor
|
|
140
|
+
* calls this before `beforeToolCall` middleware so a bad input
|
|
141
|
+
* never triggers side effects or user prompts.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* validate: async (params) => {
|
|
146
|
+
* if (params.old_string === params.new_string) {
|
|
147
|
+
* return { ok: false, reason: "No changes to apply" };
|
|
148
|
+
* }
|
|
149
|
+
* return { ok: true };
|
|
150
|
+
* }
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
validate?: (params: InferSchemaOutput<TParams>, ctx: ToolContext) => Promise<InputCheckResult> | InputCheckResult;
|
|
154
|
+
/**
|
|
155
|
+
* Extract permission patterns from tool input for the approval system.
|
|
156
|
+
*
|
|
157
|
+
* When set, the approval handler uses these patterns instead of the
|
|
158
|
+
* generic heuristic in `extractApprovalPatterns`. This lets each tool
|
|
159
|
+
* control how its inputs map to glob-matchable strings.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* // bash: match the first word of the command
|
|
164
|
+
* permissionPatterns: (input) => {
|
|
165
|
+
* const cmd = input.command.split(/\s+/)[0];
|
|
166
|
+
* return [cmd];
|
|
167
|
+
* },
|
|
168
|
+
*
|
|
169
|
+
* // edit: match the file path
|
|
170
|
+
* permissionPatterns: (input) => [input.path],
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
permissionPatterns?: (params: InferSchemaOutput<TParams>) => string[];
|
|
174
|
+
/**
|
|
175
|
+
* Enable strict tool calling when supported by the provider.
|
|
176
|
+
*
|
|
177
|
+
* When `true`, providers like OpenAI enforce JSON schema conformance
|
|
178
|
+
* on the generated tool call arguments — the model is guaranteed to
|
|
179
|
+
* produce valid inputs. Not all schemas are supported in strict mode;
|
|
180
|
+
* unsupported schemas are silently downgraded by the provider.
|
|
181
|
+
*
|
|
182
|
+
* @default false
|
|
183
|
+
*/
|
|
184
|
+
strict?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Example inputs that help guide the model on how to call this tool.
|
|
187
|
+
*
|
|
188
|
+
* Passed directly to the AI SDK's `tool({ inputExamples })`.
|
|
189
|
+
* Currently only Anthropic uses these natively; other providers
|
|
190
|
+
* ignore the setting.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* inputExamples: [
|
|
195
|
+
* { input: { location: "San Francisco" } },
|
|
196
|
+
* { input: { location: "London" } },
|
|
197
|
+
* ]
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
inputExamples?: Array<{
|
|
201
|
+
input: InferSchemaOutput<TParams>;
|
|
202
|
+
}>;
|
|
203
|
+
/**
|
|
204
|
+
* Human-readable title for the tool, surfaced in AI SDK metadata and UIs.
|
|
205
|
+
*
|
|
206
|
+
* Forwarded to the AI SDK's `tool({ title })`. This is runtime/UI
|
|
207
|
+
* metadata; provider tool-definition payloads still use the tool id
|
|
208
|
+
* plus description/schema for model-facing selection.
|
|
209
|
+
*/
|
|
210
|
+
title?: string;
|
|
211
|
+
/**
|
|
212
|
+
* Provider-specific tool metadata forwarded to the AI SDK.
|
|
213
|
+
*
|
|
214
|
+
* Use this for provider features that attach to one tool definition
|
|
215
|
+
* rather than to the whole model call.
|
|
216
|
+
*/
|
|
217
|
+
providerOptions?: ProviderOptions;
|
|
218
|
+
/**
|
|
219
|
+
* Custom function that controls how this tool's output is presented
|
|
220
|
+
* to the model. Use this to wrap or annotate the tool result that
|
|
221
|
+
* flows through the AI SDK with structured multi-part content.
|
|
222
|
+
*
|
|
223
|
+
* Forwarded to the AI SDK's `tool({ toModelOutput })`.
|
|
224
|
+
*
|
|
225
|
+
* Note: framework tools still return `ExecuteResult.output` as text at
|
|
226
|
+
* the execution boundary. This hook customizes the AI SDK-facing
|
|
227
|
+
* representation of that result; it does not currently widen the
|
|
228
|
+
* framework's own stored tool-result contract.
|
|
229
|
+
*
|
|
230
|
+
* The return value must conform to the AI SDK's `ToolResultOutput`
|
|
231
|
+
* type. Import it from `"ai"` for full type safety, or use the
|
|
232
|
+
* simplified union below.
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* toModelOutput: ({ output }) => ({
|
|
237
|
+
* type: "json" as const,
|
|
238
|
+
* value: output,
|
|
239
|
+
* })
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
toModelOutput?: (options: {
|
|
243
|
+
toolCallId: string;
|
|
244
|
+
input: InferSchemaOutput<TParams>;
|
|
245
|
+
output: unknown;
|
|
246
|
+
}) => unknown | Promise<unknown>;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Result of tool execution.
|
|
250
|
+
*
|
|
251
|
+
* `metadata` is optional — omit it when the tool has nothing extra to
|
|
252
|
+
* report. The framework defaults it to `{}` at the execution boundary
|
|
253
|
+
* so downstream middleware and consumers always see a defined object.
|
|
254
|
+
*/
|
|
255
|
+
interface ExecuteResult<TMeta extends ToolMetadata = ToolMetadata> {
|
|
256
|
+
/** Short title for display */
|
|
257
|
+
title: string;
|
|
258
|
+
/** Main output text */
|
|
259
|
+
output: string;
|
|
260
|
+
/**
|
|
261
|
+
* Arbitrary key/value bag surfaced in events and middleware.
|
|
262
|
+
* Defaults to `{}` when omitted.
|
|
263
|
+
*/
|
|
264
|
+
metadata?: TMeta;
|
|
265
|
+
}
|
|
266
|
+
interface DefineOptions {
|
|
267
|
+
/** Static replay metadata exposed to higher-level runtimes. */
|
|
268
|
+
replayPolicy?: ToolReplayPolicy;
|
|
269
|
+
/**
|
|
270
|
+
* When `true`, this tool's schema is not sent to the LLM initially.
|
|
271
|
+
* The model must discover it via tool-search. Saves context window
|
|
272
|
+
* space when you have many tools but only a few are used per turn.
|
|
273
|
+
*/
|
|
274
|
+
deferred?: boolean;
|
|
275
|
+
/**
|
|
276
|
+
* Keywords that help the tool-search mechanism find this tool.
|
|
277
|
+
* Only meaningful when `deferred` is `true`.
|
|
278
|
+
*/
|
|
279
|
+
searchKeywords?: string[];
|
|
280
|
+
/**
|
|
281
|
+
* Static capability hints exposed without calling `init()`.
|
|
282
|
+
*
|
|
283
|
+
* Use this when a runtime needs to route tools by capability before
|
|
284
|
+
* running initialization, for example durable human-input detection.
|
|
285
|
+
*/
|
|
286
|
+
capabilitiesHint?: ToolCapabilities;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Define a tool with standard patterns
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* const myTool = Tool.define("my_tool", {
|
|
294
|
+
* description: "Does something useful",
|
|
295
|
+
* parameters: z.object({
|
|
296
|
+
* input: z.string().describe("The input to process"),
|
|
297
|
+
* }),
|
|
298
|
+
* execute: async (params, ctx) => ({
|
|
299
|
+
* title: "Processed",
|
|
300
|
+
* output: `Result: ${params.input}`,
|
|
301
|
+
* metadata: {},
|
|
302
|
+
* }),
|
|
303
|
+
* });
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
function define<TParams extends CompatibleSchema, TMeta extends ToolMetadata = ToolMetadata>(id: string, init: Info<TParams, TMeta>["init"] | Awaited<ReturnType<Info<TParams, TMeta>["init"]>>, options?: DefineOptions): Info<TParams, TMeta>;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/tool/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output truncation utilities for @cuylabs/agent-core
|
|
3
|
+
*/
|
|
4
|
+
/** Maximum lines before truncation */
|
|
5
|
+
export declare const MAX_LINES = 2000;
|
|
6
|
+
/** Maximum bytes before truncation */
|
|
7
|
+
export declare const MAX_BYTES = 100000;
|
|
8
|
+
/** Directory for storing truncated outputs */
|
|
9
|
+
export declare const TRUNCATE_DIR: string;
|
|
10
|
+
/** Glob pattern for truncation directory */
|
|
11
|
+
export declare const TRUNCATE_GLOB: string;
|
|
12
|
+
export interface TruncateResult {
|
|
13
|
+
/** The (possibly truncated) content */
|
|
14
|
+
content: string;
|
|
15
|
+
/** Whether the content was truncated */
|
|
16
|
+
truncated: boolean;
|
|
17
|
+
/** Path to full output if truncated */
|
|
18
|
+
outputPath?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Truncate output if it exceeds limits.
|
|
22
|
+
*
|
|
23
|
+
* When truncation occurs the full output is written to a temp file
|
|
24
|
+
* **synchronously** so the path is valid immediately.
|
|
25
|
+
*/
|
|
26
|
+
export declare function truncateOutput(output: string, options?: {
|
|
27
|
+
maxLines?: number;
|
|
28
|
+
maxBytes?: number;
|
|
29
|
+
}): TruncateResult;
|
|
30
|
+
/**
|
|
31
|
+
* Format file size for display
|
|
32
|
+
*/
|
|
33
|
+
export declare function formatSize(bytes: number): string;
|
|
34
|
+
//# sourceMappingURL=truncation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncation.d.ts","sourceRoot":"","sources":["../../src/tool/truncation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,sCAAsC;AACtC,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,sCAAsC;AACtC,eAAO,MAAM,SAAS,SAAU,CAAC;AAEjC,8CAA8C;AAC9C,eAAO,MAAM,YAAY,QAAkD,CAAC;AAE5E,4CAA4C;AAC5C,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,cAAc,CA2DhB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ToolSet } from "ai";
|
|
2
|
+
import type { Tool } from "./tool.js";
|
|
3
|
+
/**
|
|
4
|
+
* Context provided to turn-scoped tool providers.
|
|
5
|
+
*
|
|
6
|
+
* This is intentionally platform-neutral. Channel packages can expose richer
|
|
7
|
+
* ambient context through their own AsyncLocalStorage helpers while the core
|
|
8
|
+
* package stays independent of Teams, Slack, M365, or Agent365 SDK types.
|
|
9
|
+
*
|
|
10
|
+
* Providers that need platform state such as a Microsoft `TurnContext`,
|
|
11
|
+
* authorization object, Slack client, tenant metadata, or request-scoped
|
|
12
|
+
* tokens should read that state from their channel package's ambient context at
|
|
13
|
+
* `resolveTools()` time. Do not close over per-request platform objects when
|
|
14
|
+
* constructing a provider, because providers may be inherited by forked agents.
|
|
15
|
+
*/
|
|
16
|
+
export interface AgentTurnToolContext {
|
|
17
|
+
sessionId: string;
|
|
18
|
+
turnId: string;
|
|
19
|
+
/**
|
|
20
|
+
* Current user message. Use this only for local tool selection/gating. Avoid
|
|
21
|
+
* forwarding it to external services unless the provider explicitly owns that
|
|
22
|
+
* data flow.
|
|
23
|
+
*/
|
|
24
|
+
message: string;
|
|
25
|
+
cwd: string;
|
|
26
|
+
/**
|
|
27
|
+
* Providers should observe this signal when doing network or token-exchange
|
|
28
|
+
* work. Agent-core passes the signal through but does not forcibly cancel
|
|
29
|
+
* provider code.
|
|
30
|
+
*/
|
|
31
|
+
abort: AbortSignal;
|
|
32
|
+
}
|
|
33
|
+
export interface AgentTurnToolProviderResult {
|
|
34
|
+
/**
|
|
35
|
+
* Framework tools available only for the active turn.
|
|
36
|
+
*/
|
|
37
|
+
tools?: Tool.AnyInfo[];
|
|
38
|
+
/**
|
|
39
|
+
* AI SDK-compatible MCP tools available only for the active turn.
|
|
40
|
+
*/
|
|
41
|
+
mcpTools?: ToolSet;
|
|
42
|
+
/**
|
|
43
|
+
* Called after the turn completes or errors.
|
|
44
|
+
*
|
|
45
|
+
* Use this to close per-turn MCP clients, revoke short-lived resources, or
|
|
46
|
+
* clean up temporary transport state. Cleanup callbacks run in reverse
|
|
47
|
+
* provider resolution order, matching stack semantics. If provider B depends
|
|
48
|
+
* on resources from provider A, register B after A so B is cleaned up first.
|
|
49
|
+
*/
|
|
50
|
+
cleanup?: () => void | Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
export interface AgentTurnToolProvider {
|
|
53
|
+
name: string;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve tools for the active chat turn only.
|
|
56
|
+
*
|
|
57
|
+
* Returned tools are not added to the agent's global tool registry and are
|
|
58
|
+
* cleaned up after the turn completes or fails.
|
|
59
|
+
*
|
|
60
|
+
* Resolution happens before chat lifecycle middleware starts. If resolution
|
|
61
|
+
* fails, agent-core emits structured `status: "error"` and `error` events,
|
|
62
|
+
* then rejects the turn; chat lifecycle middleware is not called for that
|
|
63
|
+
* failed resolution. Subscribe to `AgentEvent`s for full failure coverage.
|
|
64
|
+
*
|
|
65
|
+
* `resolveTools()` may be called concurrently for different sessions. Provider
|
|
66
|
+
* implementations must be reentrant or key mutable state by `sessionId` and
|
|
67
|
+
* `turnId`.
|
|
68
|
+
*/
|
|
69
|
+
resolveTools(context: AgentTurnToolContext): AgentTurnToolProviderResult | Promise<AgentTurnToolProviderResult>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=turn-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-tools.d.ts","sourceRoot":"","sources":["../../src/tool/turn-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;OAcG;IACH,YAAY,CACV,OAAO,EAAE,oBAAoB,GAC5B,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACvE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { FileOperationMeta } from "../types/tool.js";
|
|
2
|
+
import type { TurnChangeTracker } from "./turn-tracker/index.js";
|
|
3
|
+
export type { FileOperationMeta };
|
|
4
|
+
/**
|
|
5
|
+
* Extended tool metadata with file operation info.
|
|
6
|
+
*/
|
|
7
|
+
export interface TrackedToolMetadata {
|
|
8
|
+
/** File operation metadata for auto-tracking */
|
|
9
|
+
fileOps?: FileOperationMeta;
|
|
10
|
+
/** Other metadata */
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Extract file paths from tool arguments based on metadata.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractFilePathsFromArgs(args: Record<string, unknown>, meta: FileOperationMeta): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Check whether a tool operation should trigger baseline capture.
|
|
19
|
+
*/
|
|
20
|
+
export declare function shouldCaptureBaseline(meta: FileOperationMeta): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Wrap a tool execute function with automatic file tracking.
|
|
23
|
+
*/
|
|
24
|
+
export declare function withFileTracking<T extends (...args: unknown[]) => Promise<unknown>>(tracker: TurnChangeTracker, meta: FileOperationMeta, execute: T): T;
|
|
25
|
+
//# sourceMappingURL=file-tracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-tracking.d.ts","sourceRoot":"","sources":["../../src/tracking/file-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAoBV;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAClD,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAapE"}
|