agent-nuvira 3.3.3 → 3.3.5
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 +13 -5
- package/dist/agent-sdk/src/agent.d.ts +2 -0
- package/dist/agent-sdk/src/agent.d.ts.map +1 -1
- package/dist/agent-sdk/src/define.d.ts +64 -0
- package/dist/agent-sdk/src/define.d.ts.map +1 -0
- package/dist/agent-sdk/src/define.js +76 -0
- package/dist/agent-sdk/src/define.js.map +1 -0
- package/dist/agent-sdk/src/index.d.ts +9 -0
- package/dist/agent-sdk/src/index.d.ts.map +1 -1
- package/dist/agent-sdk/src/index.js +9 -0
- package/dist/agent-sdk/src/index.js.map +1 -1
- package/dist/agent-sdk/src/scaffold.d.ts +11 -0
- package/dist/agent-sdk/src/scaffold.d.ts.map +1 -1
- package/dist/agent-sdk/src/scaffold.js +16 -6
- package/dist/agent-sdk/src/scaffold.js.map +1 -1
- package/dist/agents/long-form-plan.d.ts.map +1 -1
- package/dist/agents/long-form-plan.js +2 -1
- package/dist/agents/long-form-plan.js.map +1 -1
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +5 -4
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/agent.d.ts +2 -2
- package/dist/cli/agent.js +10 -10
- package/dist/cli/chat.d.ts +94 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +354 -20
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +5 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +9 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +3 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/edit.js +2 -2
- package/dist/cli/eval.d.ts +17 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +105 -2
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/execute.d.ts +16 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +192 -22
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +55 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +212 -13
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -8
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/models.d.ts +1 -1
- package/dist/cli/models.js +4 -4
- package/dist/cli/parity.d.ts +85 -0
- package/dist/cli/parity.d.ts.map +1 -0
- package/dist/cli/parity.js +506 -0
- package/dist/cli/parity.js.map +1 -0
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +2 -1
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/retrieval.d.ts.map +1 -1
- package/dist/cli/retrieval.js +5 -4
- package/dist/cli/retrieval.js.map +1 -1
- package/dist/cli/sdk.js +4 -4
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli/trace.d.ts.map +1 -1
- package/dist/cli/trace.js +2 -1
- package/dist/cli/trace.js.map +1 -1
- package/dist/cli/workflow.js +2 -2
- package/dist/cli/workflow.js.map +1 -1
- package/dist/config/process-env.d.ts +136 -0
- package/dist/config/process-env.d.ts.map +1 -0
- package/dist/config/process-env.js +217 -0
- package/dist/config/process-env.js.map +1 -0
- package/dist/config/types.d.ts +44 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/findings/verdicts.d.ts +241 -0
- package/dist/findings/verdicts.d.ts.map +1 -0
- package/dist/findings/verdicts.js +284 -0
- package/dist/findings/verdicts.js.map +1 -0
- package/dist/gateway/adapters.d.ts +65 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +216 -10
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/channel-directory.d.ts +31 -0
- package/dist/gateway/channel-directory.d.ts.map +1 -1
- package/dist/gateway/channel-directory.js +40 -0
- package/dist/gateway/channel-directory.js.map +1 -1
- package/dist/gateway/gateway-log.d.ts +1 -1
- package/dist/gateway/gateway-log.d.ts.map +1 -1
- package/dist/gateway/gateway-log.js.map +1 -1
- package/dist/gateway/hooks.d.ts +87 -19
- package/dist/gateway/hooks.d.ts.map +1 -1
- package/dist/gateway/hooks.js +62 -23
- package/dist/gateway/hooks.js.map +1 -1
- package/dist/gateway/inbound-media.d.ts +147 -0
- package/dist/gateway/inbound-media.d.ts.map +1 -0
- package/dist/gateway/inbound-media.js +317 -0
- package/dist/gateway/inbound-media.js.map +1 -0
- package/dist/gateway/inbox.d.ts +8 -1
- package/dist/gateway/inbox.d.ts.map +1 -1
- package/dist/gateway/inbox.js.map +1 -1
- package/dist/gateway/platform-config.d.ts +14 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +26 -8
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/realtime.d.ts +114 -0
- package/dist/gateway/realtime.d.ts.map +1 -0
- package/dist/gateway/realtime.js +402 -0
- package/dist/gateway/realtime.js.map +1 -0
- package/dist/gateway/registry.d.ts +31 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +224 -4
- package/dist/gateway/registry.js.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.js +123 -4
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +6 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +14 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +17 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/groq-adapter.d.ts +2 -0
- package/dist/inference/groq-adapter.d.ts.map +1 -1
- package/dist/inference/groq-adapter.js +16 -6
- package/dist/inference/groq-adapter.js.map +1 -1
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +29 -0
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/benchmark.d.ts.map +1 -1
- package/dist/learning/benchmark.js +3 -2
- package/dist/learning/benchmark.js.map +1 -1
- package/dist/learning/continuation.d.ts.map +1 -1
- package/dist/learning/continuation.js +2 -1
- package/dist/learning/continuation.js.map +1 -1
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +2 -1
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/deferred-task.d.ts.map +1 -1
- package/dist/learning/deferred-task.js +13 -4
- package/dist/learning/deferred-task.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +2 -1
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/long-form.d.ts.map +1 -1
- package/dist/learning/long-form.js +2 -1
- package/dist/learning/long-form.js.map +1 -1
- package/dist/learning/model-reachability.d.ts +95 -0
- package/dist/learning/model-reachability.d.ts.map +1 -0
- package/dist/learning/model-reachability.js +111 -0
- package/dist/learning/model-reachability.js.map +1 -0
- package/dist/learning/model-registry.d.ts +22 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +26 -1
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-verify-job.d.ts +131 -0
- package/dist/learning/model-verify-job.d.ts.map +1 -0
- package/dist/learning/model-verify-job.js +221 -0
- package/dist/learning/model-verify-job.js.map +1 -0
- package/dist/learning/reasoning-cache.d.ts.map +1 -1
- package/dist/learning/reasoning-cache.js +2 -1
- package/dist/learning/reasoning-cache.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +37 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +66 -0
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +2 -1
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/retrieval.d.ts.map +1 -1
- package/dist/learning/retrieval.js +2 -1
- package/dist/learning/retrieval.js.map +1 -1
- package/dist/learning/seeded-benchmark.d.ts +160 -0
- package/dist/learning/seeded-benchmark.d.ts.map +1 -0
- package/dist/learning/seeded-benchmark.js +321 -0
- package/dist/learning/seeded-benchmark.js.map +1 -0
- package/dist/learning/seeded-bugs.d.ts +142 -0
- package/dist/learning/seeded-bugs.d.ts.map +1 -0
- package/dist/learning/seeded-bugs.js +535 -0
- package/dist/learning/seeded-bugs.js.map +1 -0
- package/dist/learning/step-checkpoint.d.ts +127 -0
- package/dist/learning/step-checkpoint.d.ts.map +1 -0
- package/dist/learning/step-checkpoint.js +244 -0
- package/dist/learning/step-checkpoint.js.map +1 -0
- package/dist/nlu/intent-confirm.d.ts +23 -1
- package/dist/nlu/intent-confirm.d.ts.map +1 -1
- package/dist/nlu/intent-confirm.js +85 -2
- package/dist/nlu/intent-confirm.js.map +1 -1
- package/dist/nlu/learnings.d.ts +7 -0
- package/dist/nlu/learnings.d.ts.map +1 -1
- package/dist/nlu/learnings.js +7 -0
- package/dist/nlu/learnings.js.map +1 -1
- package/dist/observability/debug-log.d.ts +250 -0
- package/dist/observability/debug-log.d.ts.map +1 -0
- package/dist/observability/debug-log.js +500 -0
- package/dist/observability/debug-log.js.map +1 -0
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +4 -1
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/observability/otel.d.ts +278 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +590 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/parity/drivers.d.ts +99 -0
- package/dist/parity/drivers.d.ts.map +1 -0
- package/dist/parity/drivers.js +1362 -0
- package/dist/parity/drivers.js.map +1 -0
- package/dist/parity/graph.d.ts +73 -0
- package/dist/parity/graph.d.ts.map +1 -0
- package/dist/parity/graph.js +162 -0
- package/dist/parity/graph.js.map +1 -0
- package/dist/parity/matrix.d.ts +105 -0
- package/dist/parity/matrix.d.ts.map +1 -0
- package/dist/parity/matrix.js +352 -0
- package/dist/parity/matrix.js.map +1 -0
- package/dist/parity/observation.d.ts +444 -0
- package/dist/parity/observation.d.ts.map +1 -0
- package/dist/parity/observation.js +333 -0
- package/dist/parity/observation.js.map +1 -0
- package/dist/parity/scenarios.d.ts +229 -0
- package/dist/parity/scenarios.d.ts.map +1 -0
- package/dist/parity/scenarios.js +175 -0
- package/dist/parity/scenarios.js.map +1 -0
- package/dist/parity/surfaces.d.ts +122 -0
- package/dist/parity/surfaces.d.ts.map +1 -0
- package/dist/parity/surfaces.js +190 -0
- package/dist/parity/surfaces.js.map +1 -0
- package/dist/runtime/fault-injection.d.ts +173 -0
- package/dist/runtime/fault-injection.d.ts.map +1 -0
- package/dist/runtime/fault-injection.js +281 -0
- package/dist/runtime/fault-injection.js.map +1 -0
- package/dist/tools/child-agent-entry.d.ts +23 -0
- package/dist/tools/child-agent-entry.d.ts.map +1 -0
- package/dist/tools/child-agent-entry.js +129 -0
- package/dist/tools/child-agent-entry.js.map +1 -0
- package/dist/tools/child-agent-runtime.d.ts +124 -0
- package/dist/tools/child-agent-runtime.d.ts.map +1 -0
- package/dist/tools/child-agent-runtime.js +704 -0
- package/dist/tools/child-agent-runtime.js.map +1 -0
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +82 -10
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/delegation-system.d.ts +31 -0
- package/dist/tools/delegation-system.d.ts.map +1 -1
- package/dist/tools/delegation-system.js +70 -9
- package/dist/tools/delegation-system.js.map +1 -1
- package/dist/tools/extract/docx.d.ts +27 -0
- package/dist/tools/extract/docx.d.ts.map +1 -0
- package/dist/tools/extract/docx.js +48 -0
- package/dist/tools/extract/docx.js.map +1 -0
- package/dist/tools/extract/html-text.d.ts +27 -0
- package/dist/tools/extract/html-text.d.ts.map +1 -0
- package/dist/tools/extract/html-text.js +86 -0
- package/dist/tools/extract/html-text.js.map +1 -0
- package/dist/tools/extract/pdf-ocr.d.ts +58 -0
- package/dist/tools/extract/pdf-ocr.d.ts.map +1 -0
- package/dist/tools/extract/pdf-ocr.js +116 -0
- package/dist/tools/extract/pdf-ocr.js.map +1 -0
- package/dist/tools/extract/pdf.d.ts +65 -0
- package/dist/tools/extract/pdf.d.ts.map +1 -0
- package/dist/tools/extract/pdf.js +197 -0
- package/dist/tools/extract/pdf.js.map +1 -0
- package/dist/tools/extract/pptx.d.ts +32 -0
- package/dist/tools/extract/pptx.d.ts.map +1 -0
- package/dist/tools/extract/pptx.js +77 -0
- package/dist/tools/extract/pptx.js.map +1 -0
- package/dist/tools/extract/xlsx.d.ts +47 -0
- package/dist/tools/extract/xlsx.d.ts.map +1 -0
- package/dist/tools/extract/xlsx.js +111 -0
- package/dist/tools/extract/xlsx.js.map +1 -0
- package/dist/tools/finding-tool.d.ts +76 -0
- package/dist/tools/finding-tool.d.ts.map +1 -0
- package/dist/tools/finding-tool.js +125 -0
- package/dist/tools/finding-tool.js.map +1 -0
- package/dist/tools/messaging-tools.d.ts +41 -11
- package/dist/tools/messaging-tools.d.ts.map +1 -1
- package/dist/tools/messaging-tools.js +104 -55
- package/dist/tools/messaging-tools.js.map +1 -1
- package/dist/tools/neutts-synth.d.ts +27 -3
- package/dist/tools/neutts-synth.d.ts.map +1 -1
- package/dist/tools/neutts-synth.js +57 -13
- package/dist/tools/neutts-synth.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts +43 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +13 -2
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/read-extract.d.ts +116 -45
- package/dist/tools/read-extract.d.ts.map +1 -1
- package/dist/tools/read-extract.js +494 -158
- package/dist/tools/read-extract.js.map +1 -1
- package/dist/tools/registry.d.ts +2 -2
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +152 -23
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/subagent-refusal.d.ts +15 -0
- package/dist/tools/subagent-refusal.d.ts.map +1 -0
- package/dist/tools/subagent-refusal.js +18 -0
- package/dist/tools/subagent-refusal.js.map +1 -0
- package/dist/tools/subagent-spawner.d.ts +122 -0
- package/dist/tools/subagent-spawner.d.ts.map +1 -1
- package/dist/tools/subagent-spawner.js +249 -28
- package/dist/tools/subagent-spawner.js.map +1 -1
- package/dist/tools/tool-hooks.d.ts +177 -0
- package/dist/tools/tool-hooks.d.ts.map +1 -0
- package/dist/tools/tool-hooks.js +427 -0
- package/dist/tools/tool-hooks.js.map +1 -0
- package/dist/tools/tool-loop.d.ts +82 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +167 -9
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/tool-refusal.d.ts +68 -0
- package/dist/tools/tool-refusal.d.ts.map +1 -0
- package/dist/tools/tool-refusal.js +78 -0
- package/dist/tools/tool-refusal.js.map +1 -0
- package/dist/tools/toolsets.d.ts +8 -0
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +12 -2
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/tools/vision-tools.d.ts +88 -83
- package/dist/tools/vision-tools.d.ts.map +1 -1
- package/dist/tools/vision-tools.js +134 -103
- package/dist/tools/vision-tools.js.map +1 -1
- package/dist/tools/worktree.d.ts +210 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +374 -0
- package/dist/tools/worktree.js.map +1 -0
- package/dist/utils/format.d.ts +3 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +32 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/web-dashboard/attachment-extract.d.ts +64 -0
- package/dist/web-dashboard/attachment-extract.d.ts.map +1 -0
- package/dist/web-dashboard/attachment-extract.js +154 -0
- package/dist/web-dashboard/attachment-extract.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +108 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +36 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +37 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +61 -1
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/process-env-inventory.d.ts +57 -0
- package/dist/web-dashboard/process-env-inventory.d.ts.map +1 -0
- package/dist/web-dashboard/process-env-inventory.js +96 -0
- package/dist/web-dashboard/process-env-inventory.js.map +1 -0
- package/dist/web-dashboard/server.d.ts +14 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +493 -30
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +261 -48
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +18 -3
- package/src/web-dashboard/public/assets/{index-Cyd6tIew.css → index-CIJ6FHHZ.css} +1 -1
- package/src/web-dashboard/public/assets/index-CsySzR41.js +207 -0
- package/src/web-dashboard/public/assets/index-CsySzR41.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/tools/child-agent-worker.js +0 -212
- package/src/web-dashboard/public/assets/index-CxDj7p6i.js +0 -207
- package/src/web-dashboard/public/assets/index-CxDj7p6i.js.map +0 -1
package/dist/tools/tool-loop.js
CHANGED
|
@@ -16,6 +16,20 @@
|
|
|
16
16
|
* blocks after its response text (contract in TOOL_CONTRACT_JSON).
|
|
17
17
|
*/
|
|
18
18
|
import { getTool, toolJsonSchemas } from './registry.js';
|
|
19
|
+
// WS3 (#25) — the turn's span tree. Null-safe throughout: with export off every
|
|
20
|
+
// helper below is a no-op and no span object is ever built.
|
|
21
|
+
import { TOOL_SPAN_PREFIX, withSpanActive } from '../observability/otel.js';
|
|
22
|
+
// WS4 (#26) — the operator's tool lifecycle hooks. Never able to break a call:
|
|
23
|
+
// `runBeforeToolHooks` always resolves, and a broken hook never vetoes.
|
|
24
|
+
import { runBeforeToolHooks, runToolOutcomeHooks, toolHookRefusalText, } from './tool-hooks.js';
|
|
25
|
+
// WS5 (#27) — the resume ledger. A `StepReplay` is threaded through the turn
|
|
26
|
+
// when the run is a resume; `stepDigest` is over the whole input, so a step whose
|
|
27
|
+
// thread or tool schema changed MISSES and is paid for again (see the module).
|
|
28
|
+
import { stepDigest } from '../learning/step-checkpoint.js';
|
|
29
|
+
// WS6 (#28) — the declared fault seam. `faultAt` is a null check when this
|
|
30
|
+
// process declared no fault (`NUVIRA_INJECT_FAULT`), so an ordinary turn is
|
|
31
|
+
// unaffected.
|
|
32
|
+
import { faultAt } from '../runtime/fault-injection.js';
|
|
19
33
|
import { detectPermissionSeeking, isAffirmativeReply, replyAsksTheReader, requestAuthorizesWrites, stripTrailingPermissionSeek, } from '../learning/autonomy-policy.js';
|
|
20
34
|
import { envelopeFromPlan, envelopeFromRequest, getEnvelope, grantEnvelope, isEnvelopeKey, } from '../learning/intent-envelope.js';
|
|
21
35
|
import { detectProcessComplaint, isTraceKey, repeatNudge, runTraceFor, RunTrace, } from '../learning/run-trace.js';
|
|
@@ -591,6 +605,13 @@ async function runToolLoopInner(opts, progress) {
|
|
|
591
605
|
// steps, one advisory delegate suggestion fires (bounded, deterministic).
|
|
592
606
|
const parallel = makeParallelSuggester();
|
|
593
607
|
let steps = 0;
|
|
608
|
+
/**
|
|
609
|
+
* WS5 (#27) — model calls this run did NOT make because the checkpoint had a
|
|
610
|
+
* recorded answer for the exact same input. Zero on an ordinary run, and
|
|
611
|
+
* reported rather than merely logged: "this turn cost one model call instead of
|
|
612
|
+
* three" is the whole claim of a partial resume.
|
|
613
|
+
*/
|
|
614
|
+
let replayedSteps = 0;
|
|
594
615
|
// The last SUBSTANTIVE answer text. JSON-only steps (a `{"tool":...}` block
|
|
595
616
|
// with no visible text, common after the model already answered) must NOT
|
|
596
617
|
// clobber it — otherwise the delivered answer is lost and the turn ends
|
|
@@ -615,7 +636,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
615
636
|
// P4 — check cancellation BEFORE each step (a pre-aborted signal never
|
|
616
637
|
// spends a model call) and after tool executions (below).
|
|
617
638
|
if (opts.signal?.aborted) {
|
|
618
|
-
return { content: '', followups, toolCalls: toolCallsRun, steps, bounded: false, cancelled: true };
|
|
639
|
+
return { content: '', followups, toolCalls: toolCallsRun, steps, ...(opts.resume ? { replayedSteps } : {}), bounded: false, cancelled: true };
|
|
619
640
|
}
|
|
620
641
|
steps += 1;
|
|
621
642
|
// Mechanical thread budget: trim BEFORE the model call so a provider
|
|
@@ -637,7 +658,27 @@ async function runToolLoopInner(opts, progress) {
|
|
|
637
658
|
syncRouteFeed(thread, opts.servedRoute, routeFeedState);
|
|
638
659
|
let response;
|
|
639
660
|
try {
|
|
640
|
-
|
|
661
|
+
// WS5 (#27) — a resumed run replays this step when its input is unchanged.
|
|
662
|
+
// The key is the step's POSITION and the digest is its whole input, so both
|
|
663
|
+
// have to line up: a plan that shifted by one step replays nothing (the
|
|
664
|
+
// positions hold different inputs), while a re-run of the same plan replays
|
|
665
|
+
// every step whose thread and schema are byte-identical.
|
|
666
|
+
const resumeKey = `model:${steps}`;
|
|
667
|
+
const resumeDigest = opts.resume ? stepDigest(thread, schemas) : '';
|
|
668
|
+
const replayed = opts.resume?.replay(resumeKey, resumeDigest) ?? null;
|
|
669
|
+
if (replayed) {
|
|
670
|
+
response = replayed;
|
|
671
|
+
replayedSteps += 1;
|
|
672
|
+
deps.onEvent?.(` ↩️ step ${steps} replayed from the checkpoint — no model call`);
|
|
673
|
+
}
|
|
674
|
+
else {
|
|
675
|
+
response = await deps.callModel(thread, schemas, opts.onToken, opts.signal);
|
|
676
|
+
// Recorded AFTER the call, and only what the model actually returned: a
|
|
677
|
+
// failed call records nothing, so a resume cannot inherit a failure as an
|
|
678
|
+
// answer.
|
|
679
|
+
if (opts.resume)
|
|
680
|
+
opts.resume.record(resumeKey, resumeDigest, response);
|
|
681
|
+
}
|
|
641
682
|
// A provider/adapter that resolves with nothing usable (undefined, a
|
|
642
683
|
// missing content field) must not crash the turn — treat it as this
|
|
643
684
|
// step's generation failure so the bounded continuation logic below can
|
|
@@ -646,13 +687,18 @@ async function runToolLoopInner(opts, progress) {
|
|
|
646
687
|
if (!response || typeof response.content !== 'string' || !Array.isArray(response.toolCalls)) {
|
|
647
688
|
throw new Error('model returned a malformed step response (no content/toolCalls)');
|
|
648
689
|
}
|
|
690
|
+
// R2 — the transport the caller reported for THIS step. Recorded before
|
|
691
|
+
// anything can return, so a turn that dies mid-way still attributes the
|
|
692
|
+
// transport that served the steps it did complete.
|
|
693
|
+
if (response.transport)
|
|
694
|
+
progress.transport = response.transport;
|
|
649
695
|
}
|
|
650
696
|
catch (err) {
|
|
651
697
|
// P4 — an abort (the dashboard Cancel button) is a clean stop, NOT a
|
|
652
698
|
// generation failure: the caller discards the turn. No error text, no
|
|
653
699
|
// fallback — the fetch itself aborted on the caller's signal.
|
|
654
700
|
if (opts.signal?.aborted) {
|
|
655
|
-
return { content: '', followups, toolCalls: toolCallsRun, steps, bounded: false, cancelled: true };
|
|
701
|
+
return { content: '', followups, toolCalls: toolCallsRun, steps, ...(opts.resume ? { replayedSteps } : {}), bounded: false, cancelled: true };
|
|
656
702
|
}
|
|
657
703
|
// Generation failure — surface what we have rather than crash the turn.
|
|
658
704
|
// generationFailed is TRUE only when NOTHING happened yet (no content, no
|
|
@@ -714,6 +760,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
714
760
|
followups,
|
|
715
761
|
toolCalls: toolCallsRun,
|
|
716
762
|
steps,
|
|
763
|
+
...(opts.resume ? { replayedSteps } : {}),
|
|
717
764
|
bounded: false,
|
|
718
765
|
continuations,
|
|
719
766
|
generationFailed: delivered === '' || !madeProgress,
|
|
@@ -985,6 +1032,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
985
1032
|
followups,
|
|
986
1033
|
toolCalls: toolCallsRun,
|
|
987
1034
|
steps,
|
|
1035
|
+
...(opts.resume ? { replayedSteps } : {}),
|
|
988
1036
|
bounded: false,
|
|
989
1037
|
continuations,
|
|
990
1038
|
};
|
|
@@ -1067,31 +1115,117 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1067
1115
|
followups.length = 0;
|
|
1068
1116
|
}
|
|
1069
1117
|
// I2: emit `tool:started` (before execution) + `tool:called` (after)
|
|
1070
|
-
// on the observability bus — drives the
|
|
1071
|
-
// the `post_tool_call` hook AND the dashboard's
|
|
1118
|
+
// on the observability bus — drives the dashboard's
|
|
1072
1119
|
// step cards (P0.6: the GUI renders each call as a live card —
|
|
1073
1120
|
// running → ok/error with duration + collapsible result). Timing is
|
|
1074
1121
|
// wall-clock; `ok` mirrors the tool-result convention (Error: prefix).
|
|
1075
1122
|
const startedAt = Date.now();
|
|
1123
|
+
// WS4 (#26) — the `before` hooks, and the ONE place an operator's veto can
|
|
1124
|
+
// stop a call. It happens before `tool:started` is announced and before a
|
|
1125
|
+
// span is created, so a vetoed call leaves no evidence of having run — and
|
|
1126
|
+
// it is reported as a `called` call with an `Error:` result, so every
|
|
1127
|
+
// surface's tool lifecycle shows the attempt and its outcome rather than an
|
|
1128
|
+
// unexplained gap.
|
|
1129
|
+
const beforeHooks = await runBeforeToolHooks({
|
|
1130
|
+
tool: call.name,
|
|
1131
|
+
args: call.arguments,
|
|
1132
|
+
callId: call.id,
|
|
1133
|
+
...(opts.surface ? { surface: opts.surface } : {}),
|
|
1134
|
+
...(ctx.cwd ? { cwd: ctx.cwd } : {}),
|
|
1135
|
+
...(ctx.configManager ? { configManager: ctx.configManager } : {}),
|
|
1136
|
+
});
|
|
1137
|
+
for (const problem of beforeHooks.problems) {
|
|
1138
|
+
// A hook that failed to run is REPORTED rather than swallowed: the seam
|
|
1139
|
+
// fails open, so without this a broken policy looks exactly like one that
|
|
1140
|
+
// allowed everything.
|
|
1141
|
+
traceEvent({ kind: 'gate', gate: 'tool-hook', tool: call.name, ok: false, summary: problem });
|
|
1142
|
+
}
|
|
1143
|
+
if (beforeHooks.denied) {
|
|
1144
|
+
const refusal = toolHookRefusalText(beforeHooks);
|
|
1145
|
+
traceEvent({
|
|
1146
|
+
kind: 'gate',
|
|
1147
|
+
gate: 'tool-hook',
|
|
1148
|
+
tool: call.name,
|
|
1149
|
+
ok: false,
|
|
1150
|
+
summary: `${beforeHooks.by ?? 'a tool hook'} refused ${call.name}` +
|
|
1151
|
+
(beforeHooks.reason ? `: ${beforeHooks.reason}` : ''),
|
|
1152
|
+
});
|
|
1153
|
+
deps.onEvent?.(` ⛔ ${call.name} — refused by a tool hook`);
|
|
1154
|
+
ctx.emit?.('tool:called', {
|
|
1155
|
+
id: call.id,
|
|
1156
|
+
tool: call.name,
|
|
1157
|
+
ok: false,
|
|
1158
|
+
result: refusal,
|
|
1159
|
+
durationMs: Date.now() - startedAt,
|
|
1160
|
+
});
|
|
1161
|
+
return refusal;
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* Tell the `after` / `failed` hooks what happened to this call.
|
|
1165
|
+
*
|
|
1166
|
+
* Observe-only by construction: the outcome has already been decided and
|
|
1167
|
+
* reported by the time this runs, so a hook here cannot rewrite history —
|
|
1168
|
+
* the phase it is named for is the fact it receives.
|
|
1169
|
+
*/
|
|
1170
|
+
const reportToolOutcome = async (outcome) => {
|
|
1171
|
+
const report = await runToolOutcomeHooks({
|
|
1172
|
+
tool: call.name,
|
|
1173
|
+
args: call.arguments,
|
|
1174
|
+
callId: call.id,
|
|
1175
|
+
...(opts.surface ? { surface: opts.surface } : {}),
|
|
1176
|
+
...(ctx.cwd ? { cwd: ctx.cwd } : {}),
|
|
1177
|
+
...(ctx.configManager ? { configManager: ctx.configManager } : {}),
|
|
1178
|
+
durationMs: Date.now() - startedAt,
|
|
1179
|
+
...outcome,
|
|
1180
|
+
});
|
|
1181
|
+
for (const problem of report.problems) {
|
|
1182
|
+
traceEvent({ kind: 'gate', gate: 'tool-hook', tool: call.name, ok: false, summary: problem });
|
|
1183
|
+
}
|
|
1184
|
+
};
|
|
1076
1185
|
ctx.emit?.('tool:started', {
|
|
1077
1186
|
id: call.id,
|
|
1078
1187
|
tool: call.name,
|
|
1079
1188
|
args: call.arguments,
|
|
1080
1189
|
});
|
|
1190
|
+
// WS3 (#25) — the call as a child span of the turn. Created where the call
|
|
1191
|
+
// actually runs (not where it is announced), so a call that was REFUSED by
|
|
1192
|
+
// a gate above never gets a span claiming it happened.
|
|
1193
|
+
const toolSpan = opts.otel?.child(`${TOOL_SPAN_PREFIX}${call.name}`, { 'nuvira.tool': call.name }) ?? null;
|
|
1081
1194
|
try {
|
|
1082
1195
|
deps.onEvent?.(` ⚙ ${call.name}(${summarizeArgs(call.arguments)})`);
|
|
1083
|
-
|
|
1196
|
+
// The span is ACTIVE for the whole execution: that is what lets a tool
|
|
1197
|
+
// which spawns a subagent propagate the trace instead of starting a
|
|
1198
|
+
// second, unrelated one in the child.
|
|
1199
|
+
let resultText = await withSpanActive(toolSpan, async () => {
|
|
1200
|
+
// WS6 (#28) — a DECLARED fault, injected at the one place this loop runs
|
|
1201
|
+
// a tool, so every in-process surface (CLI chat, dashboard, gateway,
|
|
1202
|
+
// execute) is affected by the same declaration and none of them needs to
|
|
1203
|
+
// know the seam exists. The result is an `Error:` string rather than a
|
|
1204
|
+
// throw, which is exactly what a tool that really failed returns — so the
|
|
1205
|
+
// call is reported as FAILED, the `failed` hook fires, and the model is
|
|
1206
|
+
// handed the fault's own words. With no declaration this is a null check.
|
|
1207
|
+
const injected = faultAt('tool', call.name);
|
|
1208
|
+
if (injected)
|
|
1209
|
+
return `Error: ${injected.message}`;
|
|
1210
|
+
return deps.executeTool(call.name, call.arguments, ctx);
|
|
1211
|
+
});
|
|
1084
1212
|
// I3: a tool that returns {artifact, result} gets its deliverable
|
|
1085
1213
|
// recorded on the session and only `result`
|
|
1086
1214
|
// is fed back to the model — the JSON payload is runtime metadata.
|
|
1087
1215
|
resultText = appendToolArtifact(resultText, ctx.artifacts);
|
|
1216
|
+
// The SAME outcome convention the loop uses everywhere else (`Error:`
|
|
1217
|
+
// prefix), so the span cannot report a success the result did not have.
|
|
1218
|
+
const toolOk = !resultText.startsWith('Error:');
|
|
1088
1219
|
ctx.emit?.('tool:called', {
|
|
1089
1220
|
id: call.id,
|
|
1090
1221
|
tool: call.name,
|
|
1091
|
-
ok:
|
|
1222
|
+
ok: toolOk,
|
|
1092
1223
|
result: resultText,
|
|
1093
1224
|
durationMs: Date.now() - startedAt,
|
|
1094
1225
|
});
|
|
1226
|
+
toolSpan?.attr('nuvira.ok', toolOk);
|
|
1227
|
+
toolSpan?.end({ ok: toolOk });
|
|
1228
|
+
await reportToolOutcome({ ok: toolOk, result: resultText });
|
|
1095
1229
|
if (call.name === 'suggest_followups')
|
|
1096
1230
|
endedAfterConcluding = true;
|
|
1097
1231
|
return resultText;
|
|
@@ -1105,10 +1239,16 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1105
1239
|
error: message,
|
|
1106
1240
|
durationMs: Date.now() - startedAt,
|
|
1107
1241
|
});
|
|
1242
|
+
toolSpan?.end({ ok: false, message });
|
|
1243
|
+
await reportToolOutcome({ ok: false, error: message });
|
|
1108
1244
|
return `Error: ${message}`;
|
|
1109
1245
|
}
|
|
1110
1246
|
finally {
|
|
1111
1247
|
toolDurations.set(call.id, Date.now() - startedAt);
|
|
1248
|
+
// A safety net, not a second report: `end()` is idempotent, so a call
|
|
1249
|
+
// that already ended its span is untouched, and one that reached here
|
|
1250
|
+
// without reporting says so rather than defaulting to success.
|
|
1251
|
+
toolSpan?.end({ ok: false, message: 'tool outcome was never reported' });
|
|
1112
1252
|
}
|
|
1113
1253
|
};
|
|
1114
1254
|
const executed = new Array(plans.length).fill('');
|
|
@@ -1271,7 +1411,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1271
1411
|
// P4 — cancellation during/after tool execution: do NOT request another
|
|
1272
1412
|
// model step on a cancelled turn (the user already walked away).
|
|
1273
1413
|
if (opts.signal?.aborted) {
|
|
1274
|
-
return { content: '', followups, toolCalls: toolCallsRun, steps, bounded: false, cancelled: true };
|
|
1414
|
+
return { content: '', followups, toolCalls: toolCallsRun, steps, ...(opts.resume ? { replayedSteps } : {}), bounded: false, cancelled: true };
|
|
1275
1415
|
}
|
|
1276
1416
|
// ── endsAgentStep — a successful dispenser's RESULT is the answer ────────
|
|
1277
1417
|
// `build`/`resume`/`repair`/`document`/`website`/`analyze`/`test`/`publish`
|
|
@@ -1298,6 +1438,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1298
1438
|
followups,
|
|
1299
1439
|
toolCalls: toolCallsRun,
|
|
1300
1440
|
steps,
|
|
1441
|
+
...(opts.resume ? { replayedSteps } : {}),
|
|
1301
1442
|
bounded: false,
|
|
1302
1443
|
continuations,
|
|
1303
1444
|
};
|
|
@@ -1376,6 +1517,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1376
1517
|
followups,
|
|
1377
1518
|
toolCalls: toolCallsRun,
|
|
1378
1519
|
steps,
|
|
1520
|
+
...(opts.resume ? { replayedSteps } : {}),
|
|
1379
1521
|
bounded: false,
|
|
1380
1522
|
continuations,
|
|
1381
1523
|
};
|
|
@@ -1395,6 +1537,7 @@ async function runToolLoopInner(opts, progress) {
|
|
|
1395
1537
|
followups,
|
|
1396
1538
|
toolCalls: toolCallsRun,
|
|
1397
1539
|
steps,
|
|
1540
|
+
...(opts.resume ? { replayedSteps } : {}),
|
|
1398
1541
|
bounded: true,
|
|
1399
1542
|
continuations,
|
|
1400
1543
|
};
|
|
@@ -1600,6 +1743,11 @@ export async function runToolLoop(opts) {
|
|
|
1600
1743
|
verificationEvidence: [],
|
|
1601
1744
|
};
|
|
1602
1745
|
const result = await runToolLoopInner(opts, progress);
|
|
1746
|
+
// R2 — relay the transport the caller's seam reported. Attached on EVERY
|
|
1747
|
+
// exit path, including a cancelled/failed turn: if a model call happened over
|
|
1748
|
+
// the JSON fallback before the turn died, that is a fact about the run.
|
|
1749
|
+
if (progress.transport)
|
|
1750
|
+
result.transport = progress.transport;
|
|
1603
1751
|
if (!result.cancelled && !result.generationFailed) {
|
|
1604
1752
|
result.successfulToolCalls = [...progress.successfulToolCalls];
|
|
1605
1753
|
result.deliveryConfirmed = progress.deliveryConfirmed;
|
|
@@ -1727,7 +1875,17 @@ function previewToolResult(result, max = 200) {
|
|
|
1727
1875
|
*/
|
|
1728
1876
|
export function classifyToolRefusal(result) {
|
|
1729
1877
|
const text = result || '';
|
|
1730
|
-
if (/needs explicit confirmation|requires confirmation|retry with confirm|call ask_user/i.test(text)
|
|
1878
|
+
if (/needs explicit confirmation|requires confirmation|retry with confirm|call ask_user/i.test(text) ||
|
|
1879
|
+
// The REAL `confirmFirst` wording (coding-tools.ts: "write_file: state-changing
|
|
1880
|
+
// — NOT applied. Ask the user first via ask_user (…), then retry write_file with
|
|
1881
|
+
// confirm:true once they approve.") matched NONE of the patterns above: the
|
|
1882
|
+
// words are the same but the phrasing is "retry write_file with confirm", not
|
|
1883
|
+
// "retry with confirm". A write that was NOT applied therefore counted as a call
|
|
1884
|
+
// that ran — so the path it named counted as a MUTATION, the run trace recorded
|
|
1885
|
+
// a change that never happened, and the verification gate asked the model to
|
|
1886
|
+
// check a file nothing had written. Found by the child's gate, where the same
|
|
1887
|
+
// miscount reported `unverifiedEdit` for an empty diff.
|
|
1888
|
+
/\bstate-changing\b[^.]*\bNOT applied\b|\bretry\s+\w+\s+with\s+confirm/i.test(text)) {
|
|
1731
1889
|
return { gate: 'confirmation', summary: 'declined until the user approves — the gate asked before acting' };
|
|
1732
1890
|
}
|
|
1733
1891
|
// A BOUNDARY denial is the other refusal that did not read as one. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/tools/tool-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/tools/tool-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tool-refusal — the contract for a tool that cannot do its work.
|
|
3
|
+
*
|
|
4
|
+
* Live incident (2026-09-27): a PDF blood report was placed in the project and
|
|
5
|
+
* `read_extract` answered `{ text: '<%PDF-1.4 …raw bytes…>', format: 'pdf',
|
|
6
|
+
* success: true }`. Nothing downstream could tell extraction had failed, so the
|
|
7
|
+
* turn produced a generic Markdown template instead of an assessment, claimed to
|
|
8
|
+
* have "verified that the file was created correctly", and only on the third turn
|
|
9
|
+
* told the user the file had never been read.
|
|
10
|
+
*
|
|
11
|
+
* The failure was NOT the missing extractor. The same file already returns an
|
|
12
|
+
* honest `success: false, error: 'XLSX extraction requires xlsx library'` for the
|
|
13
|
+
* formats it never pretended to support. The failure was that an unsupported
|
|
14
|
+
* format reported success — and a `success: true` on a path that performs no work
|
|
15
|
+
* is the one defect the agent cannot recover from, because the signal it would
|
|
16
|
+
* need to fall back on was replaced with a plausible result.
|
|
17
|
+
*
|
|
18
|
+
* So: a tool that cannot perform its action returns a `ToolRefusal` — a typed,
|
|
19
|
+
* machine-readable "no" with a reason and, where one exists, the concrete thing
|
|
20
|
+
* the caller can do instead. Tools whose backend is optional or unconfigured
|
|
21
|
+
* additionally expose an `isXAvailable()` probe, mirrored into the tool
|
|
22
|
+
* description, so the model can see what is real before choosing a tool (the
|
|
23
|
+
* pattern `src/tools/modality/` already follows).
|
|
24
|
+
*/
|
|
25
|
+
/** Why a tool refused. Deliberately small — every case maps to a different recovery. */
|
|
26
|
+
export type ToolRefusalCode =
|
|
27
|
+
/** The input is a format this tool cannot read (no parser/backend for it). */
|
|
28
|
+
'unsupported_format'
|
|
29
|
+
/** The capability exists but its backend is missing or unconfigured (no key, no binary, no package). */
|
|
30
|
+
| 'not_configured'
|
|
31
|
+
/** The backend is present but the input is outside what it can do (e.g. a PDF page with no text layer). */
|
|
32
|
+
| 'no_data'
|
|
33
|
+
/** Temporarily unusable (backend up but broken, rate-limited, disabled by policy). */
|
|
34
|
+
| 'unavailable';
|
|
35
|
+
export interface ToolRefusal {
|
|
36
|
+
ok: false;
|
|
37
|
+
code: ToolRefusalCode;
|
|
38
|
+
/** One sentence, in the user's language, saying what is missing — never a stack trace. */
|
|
39
|
+
reason: string;
|
|
40
|
+
/** Concrete alternative actions, most useful first (another tool, a CLI command, a user action). */
|
|
41
|
+
alternatives?: string[];
|
|
42
|
+
}
|
|
43
|
+
/** A refusal plus optional recovery detail a specific tool wants to carry. */
|
|
44
|
+
export interface RefusalField {
|
|
45
|
+
code: ToolRefusalCode;
|
|
46
|
+
alternatives?: string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Build a `ToolRefusal`. `alternatives` is dropped when empty so a refusal never
|
|
50
|
+
* renders an empty "alternatives: []" that reads like a real (empty) answer.
|
|
51
|
+
*/
|
|
52
|
+
export declare function refuse(code: ToolRefusalCode, reason: string, alternatives?: string[]): ToolRefusal;
|
|
53
|
+
/**
|
|
54
|
+
* The refusal fields to spread into a tool's own success-shaped result, so a
|
|
55
|
+
* legacy `{ success: boolean, error?: string }` payload becomes machine-readable
|
|
56
|
+
* without changing its shape for existing readers.
|
|
57
|
+
*/
|
|
58
|
+
export declare function refusalFields(code: ToolRefusalCode, alternatives?: string[]): RefusalField;
|
|
59
|
+
/** True when `value` is a well-formed `ToolRefusal` (ok === false + a known code). */
|
|
60
|
+
export declare function isToolRefusal(value: unknown): value is ToolRefusal;
|
|
61
|
+
/**
|
|
62
|
+
* One-line, model-facing rendering of a refusal. Tools that already return JSON
|
|
63
|
+
* keep returning JSON; this is for the surfaces that print a single string.
|
|
64
|
+
*/
|
|
65
|
+
export declare function formatRefusal(r: ToolRefusal): string;
|
|
66
|
+
/** Human-readable phrase per code, for UI surfaces that show a badge. */
|
|
67
|
+
export declare function refusalLabel(code: ToolRefusalCode): string;
|
|
68
|
+
//# sourceMappingURL=tool-refusal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-refusal.d.ts","sourceRoot":"","sources":["../../src/tools/tool-refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,wFAAwF;AACxF,MAAM,MAAM,eAAe;AACzB,8EAA8E;AAC5E,oBAAoB;AACtB,wGAAwG;GACtG,gBAAgB;AAClB,2GAA2G;GACzG,SAAS;AACX,sFAAsF;GACpF,aAAa,CAAC;AAElB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,eAAe,CAAC;IACtB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAID;;;GAGG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAM,EAAO,GAC1B,WAAW,CAIb;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,eAAe,EACrB,YAAY,GAAE,MAAM,EAAO,GAC1B,YAAY,CAId;AAID,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAIlE;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAGpD;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAO1D"}
|