agent-nuvira 3.3.3 → 3.3.4
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/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-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +2 -1
- package/dist/learning/model-registry.js.map +1 -1
- 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/server.d.ts +14 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +247 -13
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +196 -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-XJjj2cBX.css} +1 -1
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.js +207 -0
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.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
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
// ─── Construction ───────────────────────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* Build a `ToolRefusal`. `alternatives` is dropped when empty so a refusal never
|
|
28
|
+
* renders an empty "alternatives: []" that reads like a real (empty) answer.
|
|
29
|
+
*/
|
|
30
|
+
export function refuse(code, reason, alternatives = []) {
|
|
31
|
+
const refusal = { ok: false, code, reason };
|
|
32
|
+
if (alternatives.length > 0)
|
|
33
|
+
refusal.alternatives = alternatives;
|
|
34
|
+
return refusal;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The refusal fields to spread into a tool's own success-shaped result, so a
|
|
38
|
+
* legacy `{ success: boolean, error?: string }` payload becomes machine-readable
|
|
39
|
+
* without changing its shape for existing readers.
|
|
40
|
+
*/
|
|
41
|
+
export function refusalFields(code, alternatives = []) {
|
|
42
|
+
const field = { code };
|
|
43
|
+
if (alternatives.length > 0)
|
|
44
|
+
field.alternatives = alternatives;
|
|
45
|
+
return field;
|
|
46
|
+
}
|
|
47
|
+
// ─── Inspection ─────────────────────────────────────────────────────────────
|
|
48
|
+
/** True when `value` is a well-formed `ToolRefusal` (ok === false + a known code). */
|
|
49
|
+
export function isToolRefusal(value) {
|
|
50
|
+
if (!value || typeof value !== 'object')
|
|
51
|
+
return false;
|
|
52
|
+
const v = value;
|
|
53
|
+
return v.ok === false && typeof v.code === 'string' && REFUSAL_CODES.has(v.code);
|
|
54
|
+
}
|
|
55
|
+
const REFUSAL_CODES = new Set([
|
|
56
|
+
'unsupported_format',
|
|
57
|
+
'not_configured',
|
|
58
|
+
'no_data',
|
|
59
|
+
'unavailable',
|
|
60
|
+
]);
|
|
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 function formatRefusal(r) {
|
|
66
|
+
const alt = r.alternatives && r.alternatives.length > 0 ? ` Instead: ${r.alternatives.join(' | ')}` : '';
|
|
67
|
+
return `[${r.code}] ${r.reason}${alt}`;
|
|
68
|
+
}
|
|
69
|
+
/** Human-readable phrase per code, for UI surfaces that show a badge. */
|
|
70
|
+
export function refusalLabel(code) {
|
|
71
|
+
switch (code) {
|
|
72
|
+
case 'unsupported_format': return 'unsupported format';
|
|
73
|
+
case 'not_configured': return 'not configured';
|
|
74
|
+
case 'no_data': return 'nothing to read';
|
|
75
|
+
case 'unavailable': return 'temporarily unavailable';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=tool-refusal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-refusal.js","sourceRoot":"","sources":["../../src/tools/tool-refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA8BH,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,MAAM,CACpB,IAAqB,EACrB,MAAc,EACd,eAAyB,EAAE;IAE3B,MAAM,OAAO,GAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IACjE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqB,EACrB,eAAyB,EAAE;IAE3B,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAyC,CAAC;IACpD,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAkB;IAC7C,oBAAoB;IACpB,gBAAgB;IAChB,SAAS;IACT,aAAa;CACd,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAc;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;AACzC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,IAAqB;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,oBAAoB,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACvD,KAAK,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAC/C,KAAK,SAAS,CAAC,CAAC,OAAO,iBAAiB,CAAC;QACzC,KAAK,aAAa,CAAC,CAAC,OAAO,yBAAyB,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/dist/tools/toolsets.d.ts
CHANGED
|
@@ -93,6 +93,14 @@ export declare function effectiveToolJsonSchemas(cm?: ConfigManagerLike): ToolJs
|
|
|
93
93
|
* (guarded at module load by `validateCoreToolCoverage`). This is the whole
|
|
94
94
|
* loop harness: files, terminal, code execution, web, clarification,
|
|
95
95
|
* plan/todo, skills, delegation, and the discovery tool itself.
|
|
96
|
+
*
|
|
97
|
+
* `read_extract` is core (not tier-2) on purpose. A document — a PDF, a DOCX,
|
|
98
|
+
* a spreadsheet — is first-class user input, and `read_file` refuses a binary
|
|
99
|
+
* file by NAMING `read_extract` as the alternative (coding-tools.ts). If that
|
|
100
|
+
* alternative were hidden behind `tool_search`, the refusal would send the model
|
|
101
|
+
* to a tool it cannot call, and the user's own document would be unreadable in
|
|
102
|
+
* the default tiered loop — the exact "barely reachable by default" gap. One
|
|
103
|
+
* extra schema is a rounding error against a dead end.
|
|
96
104
|
*/
|
|
97
105
|
export declare const CORE_TOOL_NAMES: readonly string[];
|
|
98
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolsets.d.ts","sourceRoot":"","sources":["../../src/tools/toolsets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAA8B,KAAK,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAK3F,uEAAuE;AACvE,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACvC;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,IAAI;QAAE,KAAK,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,eAAe,CAAA;SAAE,CAAA;KAAE,CAAC;IACtD,IAAI,CAAC,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE;YAAE,QAAQ,EAAE,eAAe,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/D;AAID,eAAO,MAAM,QAAQ,EAAE,UAAU,EAkJhC,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAU5G;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAQzE;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAS9F;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAI/E;AAID,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,IAAI,EAAE,CAI7D;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAEjF;AAmBD
|
|
1
|
+
{"version":3,"file":"toolsets.d.ts","sourceRoot":"","sources":["../../src/tools/toolsets.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/toolsets.js
CHANGED
|
@@ -39,8 +39,8 @@ export const TOOLSETS = [
|
|
|
39
39
|
{
|
|
40
40
|
name: 'experience',
|
|
41
41
|
label: 'Experience',
|
|
42
|
-
description: 'In-loop UX tools: clarification (ask_user), requirement verification, end-of-response follow-ups,
|
|
43
|
-
tools: ['ask_user', 'suggest_followups', 'verify_requirement', 'skill'],
|
|
42
|
+
description: 'In-loop UX tools: clarification (ask_user), requirement verification, end-of-response follow-ups, loading reusable capability packs (skill), and recording a finding whose verdict the gate computes from the evidence supplied.',
|
|
43
|
+
tools: ['ask_user', 'suggest_followups', 'verify_requirement', 'skill', 'finding'],
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
name: 'code',
|
|
@@ -267,6 +267,14 @@ export function effectiveToolJsonSchemas(cm) {
|
|
|
267
267
|
* (guarded at module load by `validateCoreToolCoverage`). This is the whole
|
|
268
268
|
* loop harness: files, terminal, code execution, web, clarification,
|
|
269
269
|
* plan/todo, skills, delegation, and the discovery tool itself.
|
|
270
|
+
*
|
|
271
|
+
* `read_extract` is core (not tier-2) on purpose. A document — a PDF, a DOCX,
|
|
272
|
+
* a spreadsheet — is first-class user input, and `read_file` refuses a binary
|
|
273
|
+
* file by NAMING `read_extract` as the alternative (coding-tools.ts). If that
|
|
274
|
+
* alternative were hidden behind `tool_search`, the refusal would send the model
|
|
275
|
+
* to a tool it cannot call, and the user's own document would be unreadable in
|
|
276
|
+
* the default tiered loop — the exact "barely reachable by default" gap. One
|
|
277
|
+
* extra schema is a rounding error against a dead end.
|
|
270
278
|
*/
|
|
271
279
|
export const CORE_TOOL_NAMES = [
|
|
272
280
|
'read_file',
|
|
@@ -279,9 +287,11 @@ export const CORE_TOOL_NAMES = [
|
|
|
279
287
|
'code_execution',
|
|
280
288
|
'web_search',
|
|
281
289
|
'read_page',
|
|
290
|
+
'read_extract',
|
|
282
291
|
'ask_user',
|
|
283
292
|
'suggest_followups',
|
|
284
293
|
'plan_todo',
|
|
294
|
+
'finding',
|
|
285
295
|
'skill',
|
|
286
296
|
'delegate',
|
|
287
297
|
'tool_search', // the discovery/load tool MUST be core or tiering is a trap
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolsets.js","sourceRoot":"","sources":["../../src/tools/toolsets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAkC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA+BrD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,+GAA+G;QAC5H,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;KAC/E;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,2MAA2M;QACxN,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KAClC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"toolsets.js","sourceRoot":"","sources":["../../src/tools/toolsets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAkC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA+BrD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,+GAA+G;QAC5H,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;KAC/E;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,2MAA2M;QACxN,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KAClC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,kOAAkO;QAC/O,KAAK,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,CAAC;KACnF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,gOAAgO;QAC7O,KAAK,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,CAAC;KAC5F;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,ySAAyS;QACtT,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC;KAC7G;IACD;QACE,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gFAAgF;QAC7F,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;KACnC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sHAAsH;QACnI,KAAK,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;KACxC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,8KAA8K;QAC3L,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACxC;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,wDAAwD;QACrE,KAAK,EAAE,CAAC,SAAS,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,CAAC;KACtE;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,6HAA6H;QAC1I,KAAK,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,CAAC;KACjM;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,CAAC;KACzD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,wCAAwC;QACrD,KAAK,EAAE,CAAC,QAAQ,CAAC;KAClB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,4EAA4E;QACzF,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC1D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,gFAAgF;QAC7F,KAAK,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC;KACpF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4DAA4D;QACzE,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC;KAC1D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KAClH;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,CAAC;KACrF;IACD;QACE,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,2GAA2G;QACxH,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,eAAe,EAAE,IAAI;KACtB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,8FAA8F;QAC3G,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACxF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC;KACzF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,wGAAwG;QACrH,KAAK,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;KACjI;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,qEAAqE;QAClF,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC;KACnE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,0DAA0D;QACvE,KAAK,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC9F;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,uEAAuE;QACpF,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC;KAC3G;CACF,CAAC;AAEF,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAoB;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAsB;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;QACtC,OAAO,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAsB;IACtF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,uDAAuD,CAAC,CAAC;IACnG,CAAC;IACD,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAgD,EAAE,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,EAAsB;IACpE,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC;AAChE,CAAC;AAED,+EAA+E;AAE/E,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,EAAE,CAAC;IAC5C,OAAO,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,EAAsB;IAC7D,OAAO,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,4DAA4D;AAC5D,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,mEAAmE;AACnE,2EAA2E;AAC3E,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,oEAAoE;AAEpE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,WAAW;IACX,UAAU;IACV,MAAM;IACN,aAAa;IACb,WAAW;IACX,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,cAAc;IACd,UAAU;IACV,mBAAmB;IACnB,WAAW;IACX,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa,EAAE,4DAA4D;CAC5E,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAsB;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,EAAsB;IACxD,OAAO,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAsB;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAI,EAAE,EAAE,MAAM,EAAE,EAAwD,EAAE,KAAK,EAAE,YAAY,CAAC;QAC5G,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,EAAsB;IAQrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK;QACzC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAE/E,uEAAuE;AACvE,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,QAAkB;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1,64 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vision Tools —
|
|
2
|
+
* Vision Tools — image analysis backed by a REAL engine, or a typed refusal.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* What is real here, and what is not:
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
6
|
+
* - `analyze` reports the image's actual format and pixel dimensions (parsed from
|
|
7
|
+
* the PNG/JPEG/GIF/BMP headers) and, when a vision backend is configured,
|
|
8
|
+
* a genuine description from it.
|
|
9
|
+
* - `ocr` transcribes an image through the configured vision model
|
|
10
|
+
* (`./modality/vision.js` — a local Ollama vision model such as llava /
|
|
11
|
+
* llama3.2-vision, or Gemini when a key is set). A vision-model transcription
|
|
12
|
+
* is not a confidence-scored OCR engine, so the result says which engine ran
|
|
13
|
+
* and never invents a `confidence` number.
|
|
14
|
+
* - `detect-elements`, `find-element` and `compare` have **no backend** and refuse
|
|
15
|
+
* with `not_configured`. They previously returned `[]` / `{similarity: 0}` —
|
|
16
|
+
* empty-but-valid payloads that read as "ran, found nothing", which is the same
|
|
17
|
+
* class of defect as the `read_extract` PDF stub.
|
|
18
|
+
*
|
|
19
|
+
* The registry's `vision` tool ("analyze images, extract text via OCR, detect UI
|
|
20
|
+
* elements") pointed at this file while `describe_image` pointed at the real
|
|
21
|
+
* engine — two tools for one capability, one of them a stub. See
|
|
22
|
+
* TOOL_TRUTHFULNESS_TRACKER.md finding #6.
|
|
11
23
|
*/
|
|
24
|
+
import { type VisionOptions } from './modality/vision.js';
|
|
25
|
+
import { type ToolRefusalCode } from './tool-refusal.js';
|
|
12
26
|
export interface ImageAnalysis {
|
|
13
27
|
/** Image path */
|
|
14
28
|
path: string;
|
|
15
|
-
/**
|
|
29
|
+
/** Real pixel dimensions, or {0,0} when the header could not be parsed */
|
|
16
30
|
dimensions: {
|
|
17
31
|
width: number;
|
|
18
32
|
height: number;
|
|
19
33
|
};
|
|
20
34
|
/** Image format */
|
|
21
35
|
format: string;
|
|
22
|
-
/**
|
|
23
|
-
elements: DetectedElement[];
|
|
24
|
-
/** OCR text */
|
|
25
|
-
ocrText?: string;
|
|
26
|
-
/** Description */
|
|
36
|
+
/** Description text — from the vision backend when one is configured, else the metadata line */
|
|
27
37
|
description: string;
|
|
28
38
|
/** Tags */
|
|
29
39
|
tags: string[];
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
height: number;
|
|
40
|
-
};
|
|
41
|
-
/** Element text */
|
|
42
|
-
text?: string;
|
|
43
|
-
/** Confidence score */
|
|
44
|
-
confidence: number;
|
|
40
|
+
/** Whether the analysis ran (a failed read is `ok: false`, never an empty success) */
|
|
41
|
+
ok: boolean;
|
|
42
|
+
/** Which engine produced `description` */
|
|
43
|
+
via?: 'vision-model' | 'metadata';
|
|
44
|
+
/** Explains what was NOT done, when a capability is missing */
|
|
45
|
+
note?: string;
|
|
46
|
+
code?: ToolRefusalCode;
|
|
47
|
+
alternatives?: string[];
|
|
48
|
+
error?: string;
|
|
45
49
|
}
|
|
46
50
|
export interface OCRResult {
|
|
47
|
-
/** Extracted text */
|
|
48
51
|
text: string;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
x: number;
|
|
56
|
-
y: number;
|
|
57
|
-
width: number;
|
|
58
|
-
height: number;
|
|
59
|
-
};
|
|
60
|
-
confidence: number;
|
|
61
|
-
}>;
|
|
52
|
+
ok: boolean;
|
|
53
|
+
/** The engine that produced the text — absent when nothing ran */
|
|
54
|
+
via?: 'vision-model';
|
|
55
|
+
code?: ToolRefusalCode;
|
|
56
|
+
alternatives?: string[];
|
|
57
|
+
error?: string;
|
|
62
58
|
}
|
|
63
59
|
export interface UIElement {
|
|
64
60
|
/** Element type */
|
|
@@ -77,65 +73,74 @@ export interface UIElement {
|
|
|
77
73
|
/** Is interactive */
|
|
78
74
|
interactive: boolean;
|
|
79
75
|
}
|
|
76
|
+
export interface DetectElementsResult {
|
|
77
|
+
ok: boolean;
|
|
78
|
+
elements: UIElement[];
|
|
79
|
+
code?: ToolRefusalCode;
|
|
80
|
+
alternatives?: string[];
|
|
81
|
+
error?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface CompareResult {
|
|
84
|
+
ok: boolean;
|
|
85
|
+
similarity?: number;
|
|
86
|
+
differences?: Array<{
|
|
87
|
+
x: number;
|
|
88
|
+
y: number;
|
|
89
|
+
width: number;
|
|
90
|
+
height: number;
|
|
91
|
+
}>;
|
|
92
|
+
code?: ToolRefusalCode;
|
|
93
|
+
alternatives?: string[];
|
|
94
|
+
error?: string;
|
|
95
|
+
}
|
|
80
96
|
export declare class VisionAnalyzer {
|
|
81
97
|
/**
|
|
82
|
-
* Analyze an image
|
|
98
|
+
* Analyze an image: real format + dimensions always, plus a real description
|
|
99
|
+
* when a vision backend is available.
|
|
83
100
|
*/
|
|
84
|
-
analyze(imagePath: string): Promise<ImageAnalysis>;
|
|
101
|
+
analyze(imagePath: string, opts?: VisionOptions): Promise<ImageAnalysis>;
|
|
85
102
|
/**
|
|
86
|
-
*
|
|
103
|
+
* Transcribe the text in an image through the configured vision model.
|
|
104
|
+
*
|
|
105
|
+
* Refuses when no backend is configured — it never returns an empty string as
|
|
106
|
+
* if the image simply contained no text.
|
|
87
107
|
*/
|
|
88
|
-
ocr(imagePath: string): Promise<OCRResult>;
|
|
108
|
+
ocr(imagePath: string, opts?: VisionOptions): Promise<OCRResult>;
|
|
89
109
|
/**
|
|
90
110
|
* Detect UI elements in a screenshot.
|
|
111
|
+
*
|
|
112
|
+
* There is no detector backend (no ML model, no DOM access from a raster image),
|
|
113
|
+
* so this refuses rather than returning an empty element list.
|
|
91
114
|
*/
|
|
92
|
-
detectUIElements(imagePath: string): Promise<
|
|
115
|
+
detectUIElements(imagePath: string): Promise<DetectElementsResult>;
|
|
93
116
|
/**
|
|
94
117
|
* Compare two images.
|
|
118
|
+
*
|
|
119
|
+
* No pixel-diff or embedding backend is wired up, so this refuses. It used to
|
|
120
|
+
* return `{ similarity: 0, differences: [] }`, which reads as "identical images
|
|
121
|
+
* with no differences" — the opposite of what it knew.
|
|
95
122
|
*/
|
|
96
|
-
compare(imagePath1: string, imagePath2: string): Promise<
|
|
97
|
-
similarity: number;
|
|
98
|
-
differences: Array<{
|
|
99
|
-
x: number;
|
|
100
|
-
y: number;
|
|
101
|
-
width: number;
|
|
102
|
-
height: number;
|
|
103
|
-
}>;
|
|
104
|
-
}>;
|
|
123
|
+
compare(imagePath1: string, imagePath2: string): Promise<CompareResult>;
|
|
105
124
|
/**
|
|
106
|
-
* Extract text from a screenshot
|
|
125
|
+
* Extract text from a screenshot (thin alias over `ocr`, kept for callers that
|
|
126
|
+
* expect a bare string). A refusal yields an empty string — prefer `ocr` when
|
|
127
|
+
* you need to tell "no text in the image" apart from "no backend configured".
|
|
107
128
|
*/
|
|
108
|
-
extractText(imagePath: string): Promise<string>;
|
|
129
|
+
extractText(imagePath: string, opts?: VisionOptions): Promise<string>;
|
|
109
130
|
/**
|
|
110
|
-
* Find element
|
|
131
|
+
* Find an element whose text matches. Refuses for the same reason as
|
|
132
|
+
* `detectUIElements` — there is no detector to search.
|
|
111
133
|
*/
|
|
112
134
|
findElementByText(imagePath: string, text: string): Promise<UIElement | null>;
|
|
113
135
|
/**
|
|
114
|
-
* Get image dimensions (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
export declare class ScreenshotAnalyzer {
|
|
119
|
-
private analyzer;
|
|
120
|
-
constructor();
|
|
121
|
-
/**
|
|
122
|
-
* Analyze a browser screenshot.
|
|
136
|
+
* Get image dimensions from the format header (PNG / JPEG / GIF / BMP).
|
|
137
|
+
* Returns {0,0} when the header is not one of those — an unknown size, never a
|
|
138
|
+
* guessed one.
|
|
123
139
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}>;
|
|
129
|
-
/**
|
|
130
|
-
* Find clickable elements.
|
|
131
|
-
*/
|
|
132
|
-
findClickableElements(screenshotPath: string): Promise<UIElement[]>;
|
|
133
|
-
/**
|
|
134
|
-
* Generate automation instructions.
|
|
135
|
-
*/
|
|
136
|
-
generateAutomationInstructions(screenshotPath: string, goal: string): Promise<string[]>;
|
|
137
|
-
private inferLayout;
|
|
140
|
+
getImageDimensions(buffer: Buffer, format: string): {
|
|
141
|
+
width: number;
|
|
142
|
+
height: number;
|
|
143
|
+
};
|
|
138
144
|
}
|
|
139
145
|
export declare function getVisionAnalyzer(): VisionAnalyzer;
|
|
140
|
-
export declare function getScreenshotAnalyzer(): ScreenshotAnalyzer;
|
|
141
146
|
//# sourceMappingURL=vision-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vision-tools.d.ts","sourceRoot":"","sources":["../../src/tools/vision-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vision-tools.d.ts","sourceRoot":"","sources":["../../src/tools/vision-tools.ts"],"names":[],"mappings":"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"}
|