@inbrowser/agent 0.1.0 → 0.3.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/LICENSE +21 -0
- package/README.md +2 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/fixtures.d.ts +2 -2
- package/dist/cli/fixtures.d.ts.map +1 -1
- package/dist/cli/fixtures.js +7 -16
- package/dist/cli/fixtures.js.map +1 -1
- package/dist/cli/llm/openrouter.d.ts +4 -4
- package/dist/cli/llm/openrouter.d.ts.map +1 -1
- package/dist/cli/llm/openrouter.js +20 -31
- package/dist/cli/llm/openrouter.js.map +1 -1
- package/dist/diagnostics/index.d.ts +5 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +3 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/diagnostics/timing.d.ts +48 -0
- package/dist/diagnostics/timing.d.ts.map +1 -0
- package/dist/diagnostics/timing.js +85 -0
- package/dist/diagnostics/timing.js.map +1 -0
- package/dist/diagnostics/truthfulness.d.ts +36 -0
- package/dist/diagnostics/truthfulness.d.ts.map +1 -0
- package/dist/diagnostics/truthfulness.js +180 -0
- package/dist/diagnostics/truthfulness.js.map +1 -0
- package/dist/dispatch-memoization.d.ts +84 -0
- package/dist/dispatch-memoization.d.ts.map +1 -0
- package/dist/dispatch-memoization.js +197 -0
- package/dist/dispatch-memoization.js.map +1 -0
- package/dist/eval/comparison-report.d.ts +164 -0
- package/dist/eval/comparison-report.d.ts.map +1 -0
- package/dist/eval/comparison-report.js +316 -0
- package/dist/eval/comparison-report.js.map +1 -0
- package/dist/eval/fixture.d.ts +74 -0
- package/dist/eval/fixture.d.ts.map +1 -0
- package/dist/eval/fixture.js +217 -0
- package/dist/eval/fixture.js.map +1 -0
- package/dist/eval/index.d.ts +13 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +7 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/load-node.d.ts +16 -0
- package/dist/eval/load-node.d.ts.map +1 -0
- package/dist/eval/load-node.js +58 -0
- package/dist/eval/load-node.js.map +1 -0
- package/dist/eval/metric-collector.d.ts +209 -0
- package/dist/eval/metric-collector.d.ts.map +1 -0
- package/dist/eval/metric-collector.js +293 -0
- package/dist/eval/metric-collector.js.map +1 -0
- package/dist/eval/run-record.d.ts +76 -0
- package/dist/eval/run-record.d.ts.map +1 -0
- package/dist/eval/run-record.js +32 -0
- package/dist/eval/run-record.js.map +1 -0
- package/dist/eval/runner.d.ts +140 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +310 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/eval/spec-framework.d.ts +113 -0
- package/dist/eval/spec-framework.d.ts.map +1 -0
- package/dist/eval/spec-framework.js +100 -0
- package/dist/eval/spec-framework.js.map +1 -0
- package/dist/eval/spec-helpers.d.ts +245 -0
- package/dist/eval/spec-helpers.d.ts.map +1 -0
- package/dist/eval/spec-helpers.js +605 -0
- package/dist/eval/spec-helpers.js.map +1 -0
- package/dist/index.d.ts +32 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/llm-adapter.d.ts +30 -34
- package/dist/llm-adapter.d.ts.map +1 -1
- package/dist/llm-adapter.js +61 -51
- package/dist/llm-adapter.js.map +1 -1
- package/dist/mcp/connect.d.ts +68 -0
- package/dist/mcp/connect.d.ts.map +1 -0
- package/dist/mcp/connect.js +111 -0
- package/dist/mcp/connect.js.map +1 -0
- package/dist/metrics.js +4 -4
- package/dist/metrics.js.map +1 -1
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -0
- package/dist/node.js.map +1 -1
- package/dist/planner-executor.d.ts +132 -0
- package/dist/planner-executor.d.ts.map +1 -0
- package/dist/planner-executor.js +274 -0
- package/dist/planner-executor.js.map +1 -0
- package/dist/retrieval.d.ts +74 -0
- package/dist/retrieval.d.ts.map +1 -0
- package/dist/retrieval.js +287 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +8 -2
- package/dist/session.js.map +1 -1
- package/dist/skill-catalog.d.ts +81 -0
- package/dist/skill-catalog.d.ts.map +1 -0
- package/dist/skill-catalog.js +388 -0
- package/dist/skill-catalog.js.map +1 -0
- package/dist/skill-router.d.ts +95 -0
- package/dist/skill-router.d.ts.map +1 -0
- package/dist/skill-router.js +130 -0
- package/dist/skill-router.js.map +1 -0
- package/dist/strategy.d.ts +22 -2
- package/dist/strategy.d.ts.map +1 -1
- package/dist/strategy.js +358 -28
- package/dist/strategy.js.map +1 -1
- package/dist/tools.d.ts +15 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +18 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/agent.d.ts +2 -3
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +1 -1
- package/dist/types/chat.d.ts +0 -15
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/llm.d.ts +11 -64
- package/dist/types/llm.d.ts.map +1 -1
- package/dist/types/llm.js +7 -8
- package/dist/types/llm.js.map +1 -1
- package/dist/types/metrics.d.ts +2 -2
- package/dist/types/metrics.d.ts.map +1 -1
- package/dist/types/session.d.ts +2 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +60 -3
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/types/tools.d.ts +18 -0
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/types/trace.d.ts +67 -15
- package/dist/types/trace.d.ts.map +1 -1
- package/dist/types/trace.js +5 -3
- package/dist/types/trace.js.map +1 -1
- package/package.json +3 -2
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types/agent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inverse-mode types — see `plans/inverse-mode-architecture.md`.
|
|
3
3
|
*
|
|
4
|
-
* In inference mode, an agent owns its
|
|
4
|
+
* In inference mode, an agent owns its ModelClient + conversation and the
|
|
5
5
|
* strategy drives a turn-by-turn loop calling `ToolHandler`s. In inverse
|
|
6
6
|
* mode, an external LLM host (Claude Code, Claude Desktop) drives the
|
|
7
7
|
* conversation and calls *behavior-named* `AgentTool`s one-shot.
|
|
@@ -70,8 +70,7 @@ export interface AgentContext {
|
|
|
70
70
|
*
|
|
71
71
|
* Field name preserved (vs. `projectContext`) so the public
|
|
72
72
|
* AgentContext shape doesn't break external tools that destructure
|
|
73
|
-
* `ctx.agentApp`; the *type*
|
|
74
|
-
* `ProjectContext` in Phase C step 13 of the legacy-SDK migration.
|
|
73
|
+
* `ctx.agentApp`; the *type* is `ProjectContext`.
|
|
75
74
|
*/
|
|
76
75
|
agentApp?: ProjectContext;
|
|
77
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CACnE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,QAAQ,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,WAAW,CAAC;IACpB;4CACwC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CACnE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,QAAQ,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,WAAW,CAAC;IACpB;4CACwC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
package/dist/types/agent.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inverse-mode types — see `plans/inverse-mode-architecture.md`.
|
|
3
3
|
*
|
|
4
|
-
* In inference mode, an agent owns its
|
|
4
|
+
* In inference mode, an agent owns its ModelClient + conversation and the
|
|
5
5
|
* strategy drives a turn-by-turn loop calling `ToolHandler`s. In inverse
|
|
6
6
|
* mode, an external LLM host (Claude Code, Claude Desktop) drives the
|
|
7
7
|
* conversation and calls *behavior-named* `AgentTool`s one-shot.
|
package/dist/types/chat.d.ts
CHANGED
|
@@ -56,19 +56,4 @@ export interface TurnDetails {
|
|
|
56
56
|
/** Free-form provider routing info (OpenRouter "provider" field, etc.). */
|
|
57
57
|
routing?: Record<string, unknown>;
|
|
58
58
|
}
|
|
59
|
-
/** A normalized message shape providers consume — drops React-specific fields like `streaming`. */
|
|
60
|
-
export interface NormalizedMessage {
|
|
61
|
-
role: ChatRole;
|
|
62
|
-
text: string;
|
|
63
|
-
toolCalls?: {
|
|
64
|
-
callId: string;
|
|
65
|
-
name: string;
|
|
66
|
-
args: unknown;
|
|
67
|
-
signature?: string;
|
|
68
|
-
}[];
|
|
69
|
-
/** For `role: 'tool'` only — the result of a previous tool call. */
|
|
70
|
-
callId?: string;
|
|
71
|
-
name?: string;
|
|
72
|
-
resultJson?: string;
|
|
73
|
-
}
|
|
74
59
|
//# sourceMappingURL=chat.d.ts.map
|
package/dist/types/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
|
package/dist/types/llm.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the same provider without contention.
|
|
2
|
+
* The agent's model-call contract is now the shared `ModelClient`
|
|
3
|
+
* contract from `@inbrowser/model` — the one type the cloud
|
|
4
|
+
* providers, the on-device engine, the relay (transport), and the
|
|
5
|
+
* agent (runtime) all speak. This module re-exports it so the
|
|
6
|
+
* `./types/llm.js` import site downstream code already uses keeps
|
|
7
|
+
* working, and keeps the agent-local construction helpers (`LlmConfig`,
|
|
8
|
+
* `LlmClientFactory`) plus the agent-local `JsonSchema` type.
|
|
10
9
|
*/
|
|
11
|
-
import type {
|
|
12
|
-
|
|
10
|
+
import type { ModelClient } from '@inbrowser/model';
|
|
11
|
+
export type { ModelClient, ModelRequest, ModelEvent, ModelMessage, ModelUsage, ToolSpec, ReasoningEffort, } from '@inbrowser/model';
|
|
13
12
|
export interface LlmConfig {
|
|
14
13
|
apiKey?: string;
|
|
15
14
|
model: string;
|
|
@@ -20,19 +19,6 @@ export interface LlmConfig {
|
|
|
20
19
|
/** Caller-side flag — affects metrics' `isByok`. */
|
|
21
20
|
isByok?: boolean;
|
|
22
21
|
}
|
|
23
|
-
export interface ChatRequest {
|
|
24
|
-
messages: NormalizedMessage[];
|
|
25
|
-
/** Tool declarations the model may invoke. Empty array → plain chat. */
|
|
26
|
-
tools: ToolDeclaration[];
|
|
27
|
-
/** Lighter than `tools.length === 0`; lets adapters skip tool-mode encoding entirely. */
|
|
28
|
-
toolUseEnabled: boolean;
|
|
29
|
-
}
|
|
30
|
-
export interface ToolDeclaration {
|
|
31
|
-
name: string;
|
|
32
|
-
description: string;
|
|
33
|
-
/** JSON Schema describing the tool's arguments. */
|
|
34
|
-
parameters: JsonSchema;
|
|
35
|
-
}
|
|
36
22
|
export type JsonSchema = {
|
|
37
23
|
type?: string;
|
|
38
24
|
description?: string;
|
|
@@ -42,48 +28,9 @@ export type JsonSchema = {
|
|
|
42
28
|
enum?: unknown[];
|
|
43
29
|
[key: string]: unknown;
|
|
44
30
|
};
|
|
45
|
-
export interface LlmClient {
|
|
46
|
-
readonly id: string;
|
|
47
|
-
readonly supportsTools: boolean;
|
|
48
|
-
chat(req: ChatRequest, signal: AbortSignal): AsyncIterable<ChatEvent>;
|
|
49
|
-
}
|
|
50
|
-
export type ChatEvent = {
|
|
51
|
-
kind: 'text';
|
|
52
|
-
chunk: string;
|
|
53
|
-
} | {
|
|
54
|
-
kind: 'thinking';
|
|
55
|
-
chunk: string;
|
|
56
|
-
} | {
|
|
57
|
-
kind: 'tool_call';
|
|
58
|
-
id: string;
|
|
59
|
-
name: string;
|
|
60
|
-
args: unknown;
|
|
61
|
-
signature?: string;
|
|
62
|
-
} | {
|
|
63
|
-
kind: 'turn_complete';
|
|
64
|
-
usage: RawUsage;
|
|
65
|
-
details: TurnDetails;
|
|
66
|
-
} | {
|
|
67
|
-
kind: 'error';
|
|
68
|
-
message: string;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Raw token usage as the provider reports it — interpreted by
|
|
72
|
-
* `MetricsCollector` to derive `TurnMetrics` (cost, cached
|
|
73
|
-
* fraction, reasoning fraction). Different providers report
|
|
74
|
-
* different shapes; the collector handles them.
|
|
75
|
-
*/
|
|
76
|
-
export interface RawUsage {
|
|
77
|
-
promptTokens: number;
|
|
78
|
-
completionTokens: number;
|
|
79
|
-
cachedTokens?: number;
|
|
80
|
-
reasoningTokens?: number;
|
|
81
|
-
/** Provider-supplied cost (OpenRouter), when available — bypasses pricing tables. */
|
|
82
|
-
costUsd?: number;
|
|
83
|
-
}
|
|
84
31
|
export interface LlmClientFactory {
|
|
85
|
-
create(config: LlmConfig):
|
|
32
|
+
create(config: LlmConfig): ModelClient;
|
|
86
33
|
}
|
|
87
34
|
/** Re-export so consumers don't have to dig into `./chat.js`. */
|
|
88
|
-
export type { TurnDetails, TurnMetrics };
|
|
35
|
+
export type { TurnDetails, TurnMetrics } from './chat.js';
|
|
89
36
|
//# sourceMappingURL=llm.d.ts.map
|
package/dist/types/llm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;CACxC;AAED,iEAAiE;AACjE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/types/llm.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the same provider without contention.
|
|
2
|
+
* The agent's model-call contract is now the shared `ModelClient`
|
|
3
|
+
* contract from `@inbrowser/model` — the one type the cloud
|
|
4
|
+
* providers, the on-device engine, the relay (transport), and the
|
|
5
|
+
* agent (runtime) all speak. This module re-exports it so the
|
|
6
|
+
* `./types/llm.js` import site downstream code already uses keeps
|
|
7
|
+
* working, and keeps the agent-local construction helpers (`LlmConfig`,
|
|
8
|
+
* `LlmClientFactory`) plus the agent-local `JsonSchema` type.
|
|
10
9
|
*/
|
|
11
10
|
export {};
|
|
12
11
|
//# sourceMappingURL=llm.js.map
|
package/dist/types/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
package/dist/types/metrics.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* cost breakdown. Pricing tables live here, not inside provider
|
|
7
7
|
* implementations.
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { ModelUsage, TurnMetrics } from './llm.js';
|
|
10
10
|
export interface MetricsCollector {
|
|
11
11
|
/** Stamp a turn-completion event. Returns the typed metrics shape. */
|
|
12
12
|
recordTurn(input: RecordTurnInput): TurnMetrics;
|
|
@@ -17,7 +17,7 @@ export interface MetricsCollector {
|
|
|
17
17
|
}
|
|
18
18
|
export interface RecordTurnInput {
|
|
19
19
|
llmId: string;
|
|
20
|
-
rawUsage:
|
|
20
|
+
rawUsage: ModelUsage;
|
|
21
21
|
model: string;
|
|
22
22
|
durationMs: number;
|
|
23
23
|
isByok?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,WAAW,CAAC;IAChD,wEAAwE;IACxE,MAAM,IAAI,aAAa,CAAC;IACxB,2DAA2D;IAC3D,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* (`./strategy.ts`).
|
|
9
9
|
*/
|
|
10
10
|
import type { ChatMessage, TurnDetails, TurnMetrics } from './chat.js';
|
|
11
|
-
import type {
|
|
11
|
+
import type { ModelClient } from './llm.js';
|
|
12
12
|
import type { MetricsCollector } from './metrics.js';
|
|
13
13
|
import type { RuntimeState } from './runtime.js';
|
|
14
14
|
import type { AgentStrategy } from './strategy.js';
|
|
@@ -18,7 +18,7 @@ import type { Workspace } from './workspace.js';
|
|
|
18
18
|
export interface AgentSessionConfig {
|
|
19
19
|
/** Pluggable inference algorithm. See `./strategy.ts`. */
|
|
20
20
|
strategy: AgentStrategy;
|
|
21
|
-
llm:
|
|
21
|
+
llm: ModelClient;
|
|
22
22
|
tools: ToolDispatch;
|
|
23
23
|
/** Tool declarations the LLM should see this turn. Caller filters by
|
|
24
24
|
* capabilities before construction. Empty list disables function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/strategy.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* surface stays stable; only the internals change.
|
|
8
8
|
*/
|
|
9
9
|
import type { ChatMessage, TurnDetails } from './chat.js';
|
|
10
|
-
import type {
|
|
10
|
+
import type { ModelClient, ModelUsage } from './llm.js';
|
|
11
11
|
import type { RuntimeState } from './runtime.js';
|
|
12
12
|
import type { ToolContext, ToolDispatch, ToolHandler, ToolResult } from './tools.js';
|
|
13
13
|
import type { Tracer } from './trace.js';
|
|
@@ -22,10 +22,19 @@ export interface AgentStrategy {
|
|
|
22
22
|
}
|
|
23
23
|
export interface StrategyRunInput {
|
|
24
24
|
prompt: string;
|
|
25
|
+
/**
|
|
26
|
+
* Conversation history BEFORE this turn's prompt. The strategy is
|
|
27
|
+
* responsible for appending `prompt` itself when composing the
|
|
28
|
+
* message array (`[system, ...history, user(prompt)]`). `history`
|
|
29
|
+
* never contains the current `prompt` — the session keeps the user
|
|
30
|
+
* message in its own history for persistence/events, but hands the
|
|
31
|
+
* strategy the pre-prompt view so the prompt appears exactly once
|
|
32
|
+
* per LLM request.
|
|
33
|
+
*/
|
|
25
34
|
history: ChatMessage[];
|
|
26
35
|
workspace: Workspace;
|
|
27
36
|
runtime: RuntimeState;
|
|
28
|
-
llm:
|
|
37
|
+
llm: ModelClient;
|
|
29
38
|
tools: ToolDispatch;
|
|
30
39
|
/** Already filtered by the active capabilities. */
|
|
31
40
|
toolList: ToolHandler[];
|
|
@@ -60,7 +69,7 @@ export type StrategyEvent = {
|
|
|
60
69
|
result: ToolResult;
|
|
61
70
|
} | {
|
|
62
71
|
kind: 'turn_complete';
|
|
63
|
-
usage:
|
|
72
|
+
usage: ModelUsage;
|
|
64
73
|
details: TurnDetails;
|
|
65
74
|
} | {
|
|
66
75
|
kind: 'error';
|
|
@@ -73,4 +82,52 @@ export type StrategyEvent = {
|
|
|
73
82
|
name: string;
|
|
74
83
|
data?: unknown;
|
|
75
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Opt-in critique-and-retry pass after a candidate final-answer turn.
|
|
87
|
+
*
|
|
88
|
+
* When `enabled === true`, the ReAct loop runs as usual, but instead of
|
|
89
|
+
* returning immediately on a turn that produced no tool calls the
|
|
90
|
+
* strategy issues a second chat call asking the model to evaluate its
|
|
91
|
+
* own last response against the prior tool results visible in the
|
|
92
|
+
* conversation. The evaluation returns a JSON verdict of the shape
|
|
93
|
+
* `{ "ok": boolean, "feedback"?: string }`. When the verdict is `ok`
|
|
94
|
+
* the original answer stands. When the verdict flags problems and the
|
|
95
|
+
* retry budget has not been exhausted, the strategy injects the
|
|
96
|
+
* feedback as a synthetic user message and loops back into the next
|
|
97
|
+
* ReAct iteration. When the retry budget is exhausted the strategy
|
|
98
|
+
* returns the most recent final-answer turn as-is — reflexion never
|
|
99
|
+
* blocks completion.
|
|
100
|
+
*
|
|
101
|
+
* A malformed verdict (non-JSON critique text, or JSON missing the
|
|
102
|
+
* `ok` field) is treated as `{ ok: true }`: fail-open, never block on a
|
|
103
|
+
* critique the strategy could not parse.
|
|
104
|
+
*
|
|
105
|
+
* The critique runs through the same `ModelClient` as the main loop; the
|
|
106
|
+
* trace emits an additional `llm_request` for the critique call with a
|
|
107
|
+
* `requestId` suffixed `#critique`, so trace consumers can distinguish
|
|
108
|
+
* critique requests from main-loop requests. The strategy emits a
|
|
109
|
+
* `custom` `StrategyEvent` named `'reflexion_critique'` with a
|
|
110
|
+
* `{ verdict, text, feedback? }` payload at every critique decision.
|
|
111
|
+
*
|
|
112
|
+
* Defaults: `maxRetries: 1`. When `enabled === false` (or the option
|
|
113
|
+
* is absent) the strategy's behavior is byte-for-byte identical to the
|
|
114
|
+
* pre-reflexion loop.
|
|
115
|
+
*/
|
|
116
|
+
export interface ReflexionConfig {
|
|
117
|
+
/** Opt-in switch. */
|
|
118
|
+
enabled: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Maximum retries after the critique flags problems. Defaults to 1.
|
|
121
|
+
* Setting to 0 disables retries entirely (the critique runs and its
|
|
122
|
+
* verdict is emitted, but no retry is attempted on `ok: false`).
|
|
123
|
+
*/
|
|
124
|
+
maxRetries?: number;
|
|
125
|
+
/**
|
|
126
|
+
* System prompt used for the critique call. Defaults to a neutral
|
|
127
|
+
* prompt that asks the model to evaluate consistency with prior
|
|
128
|
+
* tool results and reply with `{"ok": boolean, "feedback"?: string}`
|
|
129
|
+
* JSON. Override when a skill needs a tighter verifier rubric.
|
|
130
|
+
*/
|
|
131
|
+
critiqueSystemPrompt?: string;
|
|
132
|
+
}
|
|
76
133
|
//# sourceMappingURL=strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,6EAA6E;IAC7E,WAAW,IAAI,WAAW,CAAC;IAC3B,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB;;sEAEkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;sEAEkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACpC;4DAC4D;GAC1D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
|
package/dist/types/tools.d.ts
CHANGED
|
@@ -17,6 +17,24 @@ export interface ToolHandler<A = unknown, D = unknown> {
|
|
|
17
17
|
parameters: JsonSchema;
|
|
18
18
|
/** Capability gate — handler is excluded from `list()` when this returns false. */
|
|
19
19
|
available?(capabilities: Capabilities): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Opt-in: the dispatcher is allowed to run this tool concurrently with
|
|
22
|
+
* other `parallelSafe` tools issued in the same turn. Absent or `false`
|
|
23
|
+
* means the conservative default — the dispatcher treats it as not safe
|
|
24
|
+
* to parallelize. Read this field via {@link isParallelSafe} so the
|
|
25
|
+
* default is applied uniformly. Pure-tool dispatchers (parallel
|
|
26
|
+
* scheduling) consume this; tag-only branches do not change runtime
|
|
27
|
+
* behavior.
|
|
28
|
+
*/
|
|
29
|
+
parallelSafe?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Opt-in: calling this tool with the same arguments against the same
|
|
32
|
+
* workspace state always produces the same result, so a content-addressed
|
|
33
|
+
* cache may serve repeat calls. Absent or `false` means the conservative
|
|
34
|
+
* default — the dispatch layer must execute the handler every call. Read
|
|
35
|
+
* this field via {@link isPure} so the default is applied uniformly.
|
|
36
|
+
*/
|
|
37
|
+
pure?: boolean;
|
|
20
38
|
execute(args: A, ctx: ToolContext): Promise<ToolResult<D>>;
|
|
21
39
|
}
|
|
22
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types/trace.d.ts
CHANGED
|
@@ -16,11 +16,13 @@
|
|
|
16
16
|
* one — incur zero cost.
|
|
17
17
|
*
|
|
18
18
|
* Phase 1 captures `llm_request` only (the priority the playground
|
|
19
|
-
* needs to ship a prompt visualizer). `llm_response`
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* needs to ship a prompt visualizer). `llm_response` and
|
|
20
|
+
* `turn_dispatch_complete` complete the per-iteration wall-clock
|
|
21
|
+
* triple — request-dispatched, response-completed, tool-dispatch-
|
|
22
|
+
* completed — that the eval harness uses to split language-model
|
|
23
|
+
* time from tool-dispatch time.
|
|
22
24
|
*/
|
|
23
|
-
import type {
|
|
25
|
+
import type { ModelMessage } from './llm.js';
|
|
24
26
|
/**
|
|
25
27
|
* Wire-level snapshot of a single LLM request as it leaves the
|
|
26
28
|
* strategy. Captured exactly once per ReAct iteration — N times per
|
|
@@ -36,7 +38,12 @@ export interface LlmRequestTrace {
|
|
|
36
38
|
turnId: string;
|
|
37
39
|
/** 0-indexed ReAct iteration within this turn. */
|
|
38
40
|
iteration: number;
|
|
39
|
-
/** Wall-clock ms
|
|
41
|
+
/** Wall-clock ms captured immediately before the strategy hands
|
|
42
|
+
* the request to `ModelClient.chat()`. Pair with
|
|
43
|
+
* `LlmResponseTrace.ts` (response completed) and
|
|
44
|
+
* `TurnDispatchCompleteTrace.ts` (tool dispatch completed) to
|
|
45
|
+
* derive the language-model vs tool-dispatch wall-clock split for
|
|
46
|
+
* this iteration. */
|
|
40
47
|
ts: number;
|
|
41
48
|
/** The system-prompt string the strategy received from
|
|
42
49
|
* `StrategyRunInput.systemPrompt`. Captured verbatim. */
|
|
@@ -45,7 +52,7 @@ export interface LlmRequestTrace {
|
|
|
45
52
|
* the synthesized leading system message, the prior history, the
|
|
46
53
|
* current user prompt, and any assistant+tool entries the ReAct
|
|
47
54
|
* loop appended this turn. */
|
|
48
|
-
messages:
|
|
55
|
+
messages: ModelMessage[];
|
|
49
56
|
/** Tool declarations as filtered + shaped by the strategy. The
|
|
50
57
|
* `parameters` value is captured opaquely — providers normalize
|
|
51
58
|
* it (Gemini sanitizes; OpenRouter is permissive), so the trace
|
|
@@ -61,10 +68,11 @@ export interface LlmRequestTrace {
|
|
|
61
68
|
};
|
|
62
69
|
}
|
|
63
70
|
/**
|
|
64
|
-
* Tool-decl row as the agent loop produced it pre-provider.
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* the
|
|
71
|
+
* Tool-decl row as the agent loop produced it pre-provider. The
|
|
72
|
+
* agent loop builds nested `ToolSpec`s for the `ModelRequest`; this
|
|
73
|
+
* flat view is the canonical pre-provider snapshot the trace exposes.
|
|
74
|
+
* Not coupled to the in-process `ToolHandler` type — the trace is a
|
|
75
|
+
* wire snapshot, not a live handle.
|
|
68
76
|
*/
|
|
69
77
|
export interface ToolDeclarationView {
|
|
70
78
|
name: string;
|
|
@@ -72,15 +80,22 @@ export interface ToolDeclarationView {
|
|
|
72
80
|
parameters: unknown;
|
|
73
81
|
}
|
|
74
82
|
/**
|
|
75
|
-
* Response-side snapshot.
|
|
76
|
-
* `
|
|
77
|
-
*
|
|
78
|
-
*
|
|
83
|
+
* Response-side snapshot. Emitted once per ReAct iteration, paired
|
|
84
|
+
* one-to-one with `LlmRequestTrace` via `requestId`. Captures the
|
|
85
|
+
* full assistant output and the timestamp at which the chat()
|
|
86
|
+
* iterator drained — `ts - LlmRequestTrace.ts` is the iteration's
|
|
87
|
+
* language-model wall-clock segment.
|
|
79
88
|
*/
|
|
80
89
|
export interface LlmResponseTrace {
|
|
81
90
|
/** Same id as the matching `LlmRequestTrace.requestId`. */
|
|
82
91
|
requestId: string;
|
|
83
|
-
/** Wall-clock ms
|
|
92
|
+
/** Wall-clock ms captured immediately after the `chat()` iterator
|
|
93
|
+
* has drained for this iteration (the `usage` event arrives just
|
|
94
|
+
* before the iterable returns, or `error` on a streaming failure).
|
|
95
|
+
* Not
|
|
96
|
+
* emitted on mid-stream error — callers should treat a missing
|
|
97
|
+
* `llm_response` as "language-model time unknown for this
|
|
98
|
+
* iteration." */
|
|
84
99
|
ts: number;
|
|
85
100
|
/** Full assistant text emitted this iteration. */
|
|
86
101
|
text: string;
|
|
@@ -102,12 +117,49 @@ export interface LlmResponseTrace {
|
|
|
102
117
|
cachedTokens?: number;
|
|
103
118
|
};
|
|
104
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* End-of-iteration tool-dispatch marker. Emitted once per ReAct
|
|
122
|
+
* iteration that actually ran tool calls, immediately after the
|
|
123
|
+
* per-turn dispatch loop drained. Paired one-to-one with
|
|
124
|
+
* `LlmResponseTrace` via `requestId`. NOT emitted for the final
|
|
125
|
+
* assistant turn (no tool calls → no dispatch segment to close).
|
|
126
|
+
*
|
|
127
|
+
* `ts - LlmResponseTrace.ts` is the iteration's tool-dispatch
|
|
128
|
+
* wall-clock segment; `ts - LlmRequestTrace.ts` is the iteration's
|
|
129
|
+
* total wall-clock from request dispatch through tool-result append.
|
|
130
|
+
*
|
|
131
|
+
* Only the aggregate is captured. Per-tool wall-clock can be added
|
|
132
|
+
* later — the existing `tool_call`/`tool_result` events on the
|
|
133
|
+
* strategy event stream are the right place for that, not the
|
|
134
|
+
* trace.
|
|
135
|
+
*/
|
|
136
|
+
export interface TurnDispatchCompleteTrace {
|
|
137
|
+
/** Same id as the matching `LlmRequestTrace.requestId`. */
|
|
138
|
+
requestId: string;
|
|
139
|
+
/** Mirror of `LlmRequestTrace.turnId`, carried for grouping
|
|
140
|
+
* consumers that key by turn rather than by iteration. */
|
|
141
|
+
turnId: string;
|
|
142
|
+
/** 0-indexed ReAct iteration within the turn. Mirrors
|
|
143
|
+
* `LlmRequestTrace.iteration`. */
|
|
144
|
+
iteration: number;
|
|
145
|
+
/** Wall-clock ms captured immediately after the last tool result
|
|
146
|
+
* for this iteration was appended to the messages array, before
|
|
147
|
+
* the loop steps to the next iteration. */
|
|
148
|
+
ts: number;
|
|
149
|
+
/** Number of tool calls executed in this iteration. Always >= 1
|
|
150
|
+
* in practice (an iteration with zero tool calls does not emit
|
|
151
|
+
* this event). */
|
|
152
|
+
toolCallCount: number;
|
|
153
|
+
}
|
|
105
154
|
export type TraceEvent = {
|
|
106
155
|
kind: 'llm_request';
|
|
107
156
|
data: LlmRequestTrace;
|
|
108
157
|
} | {
|
|
109
158
|
kind: 'llm_response';
|
|
110
159
|
data: LlmResponseTrace;
|
|
160
|
+
} | {
|
|
161
|
+
kind: 'turn_dispatch_complete';
|
|
162
|
+
data: TurnDispatchCompleteTrace;
|
|
111
163
|
};
|
|
112
164
|
/**
|
|
113
165
|
* Pluggable trace sink. Hosts implement `emit()` to push events to a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/types/trace.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/types/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;+CAE2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;0BAKsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX;8DAC0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB;;;mCAG+B;IAC/B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;;iDAG6C;IAC7C,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B;;;oBAGgB;IAChB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;sBAMkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;gCAC4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ;kDAC8C;IAC9C,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB;+DAC2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf;uCACmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB;;gDAE4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX;;uBAEmB;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B"}
|
package/dist/types/trace.js
CHANGED
|
@@ -16,9 +16,11 @@
|
|
|
16
16
|
* one — incur zero cost.
|
|
17
17
|
*
|
|
18
18
|
* Phase 1 captures `llm_request` only (the priority the playground
|
|
19
|
-
* needs to ship a prompt visualizer). `llm_response`
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* needs to ship a prompt visualizer). `llm_response` and
|
|
20
|
+
* `turn_dispatch_complete` complete the per-iteration wall-clock
|
|
21
|
+
* triple — request-dispatched, response-completed, tool-dispatch-
|
|
22
|
+
* completed — that the eval harness uses to split language-model
|
|
23
|
+
* time from tool-dispatch time.
|
|
22
24
|
*/
|
|
23
25
|
export {};
|
|
24
26
|
//# sourceMappingURL=trace.js.map
|
package/dist/types/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/types/trace.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/types/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inbrowser/agent",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Agent runtime + CLI. Library exports AgentSession, AgentStrategy, ToolRegistry,
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Agent runtime + CLI. Library exports AgentSession, AgentStrategy, ToolRegistry, ModelClient, MetricsCollector, SandboxObserver. Ships an `agent` binary with NDJSON output, --json stdin, --dry-run, schema introspection, and inverse-mode MCP serve. Domain-agnostic — hosts wire their own AgentDefinitions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
+
"@inbrowser/model": "workspace:*",
|
|
32
33
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
33
34
|
"@opentui/core": "^0.1.0",
|
|
34
35
|
"@opentui/react": "^0.1.0",
|