@tangle-network/agent-runtime 0.195.1 → 0.196.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/dist/{activation-B4adh0sA.js → activation-BxMZybuo.js} +2 -2
- package/dist/{activation-B4adh0sA.js.map → activation-BxMZybuo.js.map} +1 -1
- package/dist/agent.d.ts +2 -2
- package/dist/agent.js +3 -3
- package/dist/{analyst-loop-CSH7P-Bf.js → analyst-loop-BknOQUW5.js} +3 -3
- package/dist/{analyst-loop-CSH7P-Bf.js.map → analyst-loop-BknOQUW5.js.map} +1 -1
- package/dist/analyst-loop.d.ts +1 -1
- package/dist/analyst-loop.js +1 -1
- package/dist/{authored-code-DzYtiflw.js → authored-code-URmkdgjv.js} +2 -2
- package/dist/{authored-code-DzYtiflw.js.map → authored-code-URmkdgjv.js.map} +1 -1
- package/dist/{conversation-BXPWMOSd.js → conversation-BxJ0SIBM.js} +5 -5
- package/dist/{conversation-BXPWMOSd.js.map → conversation-BxJ0SIBM.js.map} +1 -1
- package/dist/conversation.d.ts +1 -1
- package/dist/conversation.js +1 -1
- package/dist/{coordination-driver-CuShDjRV.js → coordination-driver-zkCrfEbS.js} +6 -6
- package/dist/{coordination-driver-CuShDjRV.js.map → coordination-driver-zkCrfEbS.js.map} +1 -1
- package/dist/{delegate-CSFC-Kh3.js → delegate-D7sonS78.js} +3 -3
- package/dist/{delegate-CSFC-Kh3.js.map → delegate-D7sonS78.js.map} +1 -1
- package/dist/{delegation-status-BlsbSeOB.js → delegation-status-CF4D0NZ_.js} +2 -2
- package/dist/{delegation-status-BlsbSeOB.js.map → delegation-status-CF4D0NZ_.js.map} +1 -1
- package/dist/durable.d.ts +2 -2
- package/dist/durable.js +3 -3
- package/dist/{environment-provider-Z1JazbJ1.js → environment-provider-1fKZh2zl.js} +4 -4
- package/dist/{environment-provider-Z1JazbJ1.js.map → environment-provider-1fKZh2zl.js.map} +1 -1
- package/dist/{environment-provider-adVa6X7a.d.ts → environment-provider-B-I2jlQy.d.ts} +3 -3
- package/dist/environment-provider.d.ts +1 -1
- package/dist/environment-provider.js +1 -1
- package/dist/{errors-CDZ8XsVj.js → errors-DodWX-cb.js} +9 -1
- package/dist/errors-DodWX-cb.js.map +1 -0
- package/dist/{graph-DqPUeri6.js → graph-BuS-NxXD.js} +30 -19
- package/dist/{graph-DqPUeri6.js.map → graph-BuS-NxXD.js.map} +1 -1
- package/dist/graph.d.ts +3 -3
- package/dist/graph.js +6 -6
- package/dist/{improve-7VTwse1c.d.ts → improve-DZs0KXhK.d.ts} +3 -3
- package/dist/{improvement-cycle-DEbciBTL.js → improvement-cycle-Tw5nYT5R.js} +8 -8
- package/dist/{improvement-cycle-DEbciBTL.js.map → improvement-cycle-Tw5nYT5R.js.map} +1 -1
- package/dist/{index-DNx0nWZH.d.ts → index-CYOJsxSg.d.ts} +17 -8
- package/dist/{index-DO6DHgRP.d.ts → index-D9mb6fn2.d.ts} +3 -3
- package/dist/{index-CVD30soi.d.ts → index-ZnxSe6iK.d.ts} +4 -4
- package/dist/index.d.ts +10 -10
- package/dist/index.js +10 -10
- package/dist/intelligence.d.ts +6 -6
- package/dist/intelligence.js +4 -4
- package/dist/{jsonl-file-Bh1Q9nt0.js → jsonl-file-BEpaEYjT.js} +3 -3
- package/dist/{jsonl-file-Bh1Q9nt0.js.map → jsonl-file-BEpaEYjT.js.map} +1 -1
- package/dist/kernel.d.ts +6 -6
- package/dist/kernel.js +12 -12
- package/dist/{knowledge-B0Mrp-XB.js → knowledge-CPzT_Ve7.js} +4 -4
- package/dist/{knowledge-B0Mrp-XB.js.map → knowledge-CPzT_Ve7.js.map} +1 -1
- package/dist/knowledge.d.ts +1 -1
- package/dist/knowledge.js +1 -1
- package/dist/{loop-runner-bin-b4585v9Z.d.ts → loop-runner-bin-DwrSB04m.d.ts} +3 -3
- package/dist/{loop-runner-bin-C5K46H0Q.js → loop-runner-bin-XKMc3Ld-.js} +5 -5
- package/dist/{loop-runner-bin-C5K46H0Q.js.map → loop-runner-bin-XKMc3Ld-.js.map} +1 -1
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/{materialization-vZssF9Nx.js → materialization-Cy0oM8tb.js} +2 -2
- package/dist/{materialization-vZssF9Nx.js.map → materialization-Cy0oM8tb.js.map} +1 -1
- package/dist/mcp/bin.js +4 -4
- package/dist/mcp/index.d.ts +6 -6
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/memory-bin.js +1 -1
- package/dist/{memory-server-Crkevawz.js → memory-server-BR310Weg.js} +3 -3
- package/dist/{memory-server-Crkevawz.js.map → memory-server-BR310Weg.js.map} +1 -1
- package/dist/{model-policy-Wf2MxXJ9.js → model-policy-DKDyr-fc.js} +2 -2
- package/dist/{model-policy-Wf2MxXJ9.js.map → model-policy-DKDyr-fc.js.map} +1 -1
- package/dist/{openai-tools-BDwAdxk5.d.ts → openai-tools-CRQhVT_V.d.ts} +2 -2
- package/dist/{openai-tools-DmvmaG0a.js → openai-tools-DoQ32vpe.js} +2 -2
- package/dist/{openai-tools-DmvmaG0a.js.map → openai-tools-DoQ32vpe.js.map} +1 -1
- package/dist/primeintellect/index.d.ts +1 -1
- package/dist/profiles.d.ts +2 -2
- package/dist/profiles.js +2 -2
- package/dist/{provision-supervisor-chyz0_Aj.js → provision-supervisor-CpMMShE_.js} +7 -7
- package/dist/{provision-supervisor-chyz0_Aj.js.map → provision-supervisor-CpMMShE_.js.map} +1 -1
- package/dist/{redact-Dv6PeuQz.js → redact-Cbl2O-4N.js} +19 -24
- package/dist/redact-Cbl2O-4N.js.map +1 -0
- package/dist/{runtime-B8x43nGP.d.ts → runtime-0xNaV6TJ.d.ts} +9 -6
- package/dist/{runtime-BZryF6gD.js → runtime-DqRieJ6e.js} +16 -16
- package/dist/{runtime-BZryF6gD.js.map → runtime-DqRieJ6e.js.map} +1 -1
- package/dist/{sandbox-events-DWeQRWxg.js → sandbox-events-DbC2WKKS.js} +19 -16
- package/dist/sandbox-events-DbC2WKKS.js.map +1 -0
- package/dist/{server-BorSFmn8.js → server-BjB6ay4N.js} +6 -6
- package/dist/{server-BorSFmn8.js.map → server-BjB6ay4N.js.map} +1 -1
- package/dist/{stream-agent-turn-DOtEsvCV.js → stream-agent-turn-Dt5mZpc3.js} +6 -6
- package/dist/{stream-agent-turn-DOtEsvCV.js.map → stream-agent-turn-Dt5mZpc3.js.map} +1 -1
- package/dist/{stream-agent-turn-B-gtBlOy.d.ts → stream-agent-turn-urHpmO_Z.d.ts} +3 -3
- package/dist/{structural-rollout-pOqANr8Y.js → structural-rollout-DPbZWgEm.js} +5 -5
- package/dist/{structural-rollout-pOqANr8Y.js.map → structural-rollout-DPbZWgEm.js.map} +1 -1
- package/dist/{substrate-qLePHqvH.d.ts → substrate-B4iT90Zv.d.ts} +2 -2
- package/dist/{supervise-BReI5ATC.js → supervise-D9aNi8_f.js} +23 -9
- package/dist/supervise-D9aNi8_f.js.map +1 -0
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +12 -12
- package/dist/{tool-server-DEmLr9YY.js → tool-server-BJbCPhoW.js} +2 -2
- package/dist/{tool-server-DEmLr9YY.js.map → tool-server-BJbCPhoW.js.map} +1 -1
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/{types-B_pNTBjK.d.ts → types-DFLZMaeh.d.ts} +2 -2
- package/dist/{types-BdolQ6Zi.d.ts → types-Q0PMagdm.d.ts} +3 -1
- package/package.json +1 -1
- package/dist/errors-CDZ8XsVj.js.map +0 -1
- package/dist/redact-Dv6PeuQz.js.map +0 -1
- package/dist/sandbox-events-DWeQRWxg.js.map +0 -1
- package/dist/supervise-BReI5ATC.js.map +0 -1
package/dist/testing.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { An as RunGraphTestOptions, Ho as SuperviseTestOptions, Pn as runGraphWithTestBrain, Wo as superviseWithTestBrain, cr as driverAgent, sr as DriverAgentOptions, us as SupervisorAgentTestDeps, ys as supervisorAgentWithTestBrain } from "./index-
|
|
2
|
-
import { Ft as ToolLoopCallContext, It as ToolLoopChat } from "./runtime-
|
|
1
|
+
import { An as RunGraphTestOptions, Ho as SuperviseTestOptions, Pn as runGraphWithTestBrain, Wo as superviseWithTestBrain, cr as driverAgent, sr as DriverAgentOptions, us as SupervisorAgentTestDeps, ys as supervisorAgentWithTestBrain } from "./index-CYOJsxSg.js";
|
|
2
|
+
import { Ft as ToolLoopCallContext, It as ToolLoopChat } from "./runtime-0xNaV6TJ.js";
|
|
3
3
|
import { AgentImprovementProposal, AgentProfile, AgentProfileImprovementMeasuredComparison, SandboxSizePreset } from "@tangle-network/agent-interface";
|
|
4
4
|
//#region src/testing/index.d.ts
|
|
5
5
|
/** A proposal produced by Runtime's opaque profile-improvement path. */
|
package/dist/testing.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { o as canonicalCandidateDigest$1, u as immutableCandidateValue } from "./protected-redaction-wGo44k2K.js";
|
|
2
2
|
import { $ as parseExactAgentProfile, G as applyExactAgentProfileDiff } from "./prepare-DDGp0-rW.js";
|
|
3
|
-
import { f as verifyAgentImprovementProposal } from "./improvement-cycle-
|
|
4
|
-
import { p as supervisorAgentWithTestBrain, r as superviseWithTestBrain } from "./supervise-
|
|
5
|
-
import { r as driverAgent } from "./coordination-driver-
|
|
6
|
-
import { i as runGraphWithTestBrain } from "./graph-
|
|
3
|
+
import { f as verifyAgentImprovementProposal } from "./improvement-cycle-Tw5nYT5R.js";
|
|
4
|
+
import { p as supervisorAgentWithTestBrain, r as superviseWithTestBrain } from "./supervise-D9aNi8_f.js";
|
|
5
|
+
import { r as driverAgent } from "./coordination-driver-zkCrfEbS.js";
|
|
6
|
+
import { i as runGraphWithTestBrain } from "./graph-BuS-NxXD.js";
|
|
7
7
|
import { SANDBOX_SIZE_PRESET_NAMES } from "@tangle-network/agent-interface";
|
|
8
8
|
//#region src/testing/fixtures/agent-improvement-proposal.json
|
|
9
9
|
var agent_improvement_proposal_default = {
|
|
10
10
|
changedSurfaces: ["prompt"],
|
|
11
|
-
digest: "sha256:
|
|
11
|
+
digest: "sha256:105ea8e17d3a7ea8f9662726dc24ca578b7083bbe89960e0be5ec4d8cea0f201",
|
|
12
12
|
evaluation: {
|
|
13
13
|
"decision": {
|
|
14
14
|
"contributingChecks": [
|
|
@@ -4579,7 +4579,7 @@ var agent_improvement_proposal_default = {
|
|
|
4579
4579
|
],
|
|
4580
4580
|
"metadata": {
|
|
4581
4581
|
"fixture": "agent-improvement-proposal",
|
|
4582
|
-
"runtimeVersion": "0.
|
|
4582
|
+
"runtimeVersion": "0.196.0"
|
|
4583
4583
|
},
|
|
4584
4584
|
"objectives": [
|
|
4585
4585
|
{
|
|
@@ -4690,8 +4690,8 @@ var agent_improvement_proposal_default = {
|
|
|
4690
4690
|
"baselineContentHash": "sha256:5c21ee53e513fc604cb09754e21c392b24a424da0ef37dbf8f1ee4a8a0b08f09",
|
|
4691
4691
|
"candidateContentHash": "sha256:60fcbb1c728194bd51d7d19cb732d1c3f1881dce7e0a6266b41c8b98cfd65693",
|
|
4692
4692
|
"kind": "agent-eval-loop",
|
|
4693
|
-
"recordDigest": "sha256:
|
|
4694
|
-
"runId": "agent-runtime-0.
|
|
4693
|
+
"recordDigest": "sha256:54e1f57dc1819844f372e7d13aa935a5e782ea827d3109d74fea454baba452eb",
|
|
4694
|
+
"runId": "agent-runtime-0.196.0-proposal-fixture",
|
|
4695
4695
|
"schema": "agent-candidate-experiment"
|
|
4696
4696
|
}
|
|
4697
4697
|
},
|
|
@@ -4714,13 +4714,13 @@ var agent_improvement_proposal_default = {
|
|
|
4714
4714
|
}],
|
|
4715
4715
|
kind: "agent-improvement-proposal",
|
|
4716
4716
|
proposedAt: "2026-07-10T01:00:00.000Z",
|
|
4717
|
-
runId: "agent-runtime-0.
|
|
4717
|
+
runId: "agent-runtime-0.196.0-proposal-fixture"
|
|
4718
4718
|
};
|
|
4719
4719
|
//#endregion
|
|
4720
4720
|
//#region src/testing/fixtures/agent-profile-improvement-proposal.json
|
|
4721
4721
|
var agent_profile_improvement_proposal_default = {
|
|
4722
4722
|
changedSurfaces: ["prompt", "skills"],
|
|
4723
|
-
digest: "sha256:
|
|
4723
|
+
digest: "sha256:0d9f086cb61adb97412bd68461ef0c68e89b8d31e897aeed488cb88975d41b08",
|
|
4724
4724
|
evaluation: {
|
|
4725
4725
|
"decision": {
|
|
4726
4726
|
"contributingChecks": [
|
|
@@ -6354,7 +6354,7 @@ var agent_profile_improvement_proposal_default = {
|
|
|
6354
6354
|
],
|
|
6355
6355
|
"metadata": {
|
|
6356
6356
|
"fixture": "agent-profile-improvement-proposal",
|
|
6357
|
-
"runtimeVersion": "0.
|
|
6357
|
+
"runtimeVersion": "0.196.0"
|
|
6358
6358
|
},
|
|
6359
6359
|
"objectives": [
|
|
6360
6360
|
{
|
|
@@ -6465,7 +6465,7 @@ var agent_profile_improvement_proposal_default = {
|
|
|
6465
6465
|
"baselineContentHash": "sha256:21c495a37c418c10bde64fbaa188beddeed31f1f051ea60a6a6582a9ee0db704",
|
|
6466
6466
|
"candidateContentHash": "sha256:103f77bc8481601eef1ad5fe6ba84a40dffabc3a44f421f8c8559121edab84e9",
|
|
6467
6467
|
"kind": "agent-eval-loop",
|
|
6468
|
-
"recordDigest": "sha256:
|
|
6468
|
+
"recordDigest": "sha256:50c30a0ab67b2416a13b9dd0cd6d18b3779802b48ab923fb1500325b71373b81",
|
|
6469
6469
|
"runId": "profile-improvement-1",
|
|
6470
6470
|
"schema": "agent-profile-improvement-experiment"
|
|
6471
6471
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as ValidationError } from "./errors-
|
|
1
|
+
import { m as ValidationError } from "./errors-DodWX-cb.js";
|
|
2
2
|
import { createInterface } from "node:readline";
|
|
3
3
|
//#region src/mcp/tool-server.ts
|
|
4
4
|
/**
|
|
@@ -151,4 +151,4 @@ function writeResponse(output, response) {
|
|
|
151
151
|
//#endregion
|
|
152
152
|
export { createStdioToolServer as t };
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=tool-server-
|
|
154
|
+
//# sourceMappingURL=tool-server-BJbCPhoW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-server-DEmLr9YY.js","names":[],"sources":["../src/mcp/tool-server.ts"],"sourcesContent":["/**\n * `createStdioToolServer` — the generic newline-delimited JSON-RPC 2.0 MCP\n * server core: `initialize` / `notifications/initialized` / `tools/list` /\n * `tools/call` over a stdio-shaped transport, protocol 2024-11-05.\n *\n * Extracted from `createMcpServer` (server.ts) so every in-repo MCP server —\n * the delegation server, the memory server — serves the ONE wire protocol the\n * same-host client (`connectStdioMcp`, runtime/stdio-mcp-client.ts) speaks.\n * A second hand-rolled serve loop could drift from what the client expects;\n * this core makes that impossible by construction.\n *\n * @experimental\n */\n\nimport { createInterface, type Interface as ReadlineInterface } from 'node:readline'\nimport { ValidationError } from '../errors'\nimport type { JsonRpcMessage, JsonRpcResponse, McpToolDescriptor, McpTransport } from './protocol'\n\nexport type { JsonRpcMessage, JsonRpcResponse, McpToolDescriptor, McpTransport } from './protocol'\n\nconst PROTOCOL_VERSION = '2024-11-05'\n\n/** @experimental */\nexport interface StdioToolServerOptions {\n /** Server display name surfaced via `initialize`. */\n serverName: string\n /** Server version surfaced via `initialize`. */\n serverVersion: string\n /** The tools to serve. Duplicate names throw — a silent shadow would hide a tool. */\n tools: readonly McpToolDescriptor[]\n}\n\n/** @experimental */\nexport interface StdioToolServer {\n /** Tools currently registered, keyed by name. */\n readonly tools: ReadonlyMap<string, McpToolDescriptor>\n /** Handle a single parsed JSON-RPC message. Returns the response object (or `null` for notifications). */\n handle(message: JsonRpcMessage): Promise<JsonRpcResponse | null>\n /** Drive the server on a stdio-shaped transport until `stop()` is called. */\n serve(transport?: McpTransport): Promise<void>\n /** Stop a `serve` call. Subsequent requests are rejected. */\n stop(): void\n}\n\n/** Build the generic stdio JSON-RPC tool server. */\nexport function createStdioToolServer(options: StdioToolServerOptions): StdioToolServer {\n const tools = new Map<string, McpToolDescriptor>()\n for (const tool of options.tools) {\n if (tools.has(tool.name)) {\n throw new ValidationError(`createStdioToolServer: duplicate tool name \"${tool.name}\"`)\n }\n tools.set(tool.name, tool)\n }\n\n let stopped = false\n let activeReadline: ReadlineInterface | undefined\n\n async function handle(message: JsonRpcMessage): Promise<JsonRpcResponse | null> {\n if (stopped) {\n return rpcError(message.id ?? null, -32099, 'server stopped')\n }\n if (message.method === 'initialize') {\n return rpcResult(message.id ?? null, {\n protocolVersion: PROTOCOL_VERSION,\n capabilities: { tools: {} },\n serverInfo: { name: options.serverName, version: options.serverVersion },\n })\n }\n if (message.method === 'notifications/initialized') {\n // MCP clients send this after the handshake; it has no id and expects\n // no response.\n return null\n }\n if (message.method === 'tools/list') {\n return rpcResult(message.id ?? null, {\n tools: [...tools.values()].map((tool) => ({\n name: tool.name,\n description: tool.description,\n inputSchema: tool.inputSchema,\n })),\n })\n }\n if (message.method === 'tools/call') {\n const params = (message.params ?? {}) as { name?: unknown; arguments?: unknown }\n const name = typeof params.name === 'string' ? params.name : ''\n const tool = tools.get(name)\n if (!tool) {\n return rpcError(message.id ?? null, -32601, `unknown tool: ${name}`)\n }\n try {\n const output = await tool.handler(params.arguments ?? {})\n return rpcResult(message.id ?? null, toolCallResult(output))\n } catch (err) {\n const reason = err instanceof Error ? err.message : String(err)\n const code = err instanceof TypeError || err instanceof RangeError ? -32602 : -32000\n return rpcError(message.id ?? null, code, reason)\n }\n }\n if (message.id === undefined || message.id === null) return null\n return rpcError(message.id, -32601, `unknown method: ${message.method}`)\n }\n\n async function serve(transport?: McpTransport): Promise<void> {\n const input = transport?.input ?? process.stdin\n const output = transport?.output ?? process.stdout\n const rl = createInterface({ input, crlfDelay: Number.POSITIVE_INFINITY })\n activeReadline = rl\n return new Promise<void>((resolve, reject) => {\n rl.on('line', (line) => {\n const trimmed = line.trim()\n if (!trimmed) return\n let parsed: JsonRpcMessage | undefined\n try {\n parsed = JSON.parse(trimmed) as JsonRpcMessage\n } catch (err) {\n writeResponse(output, rpcError(null, -32700, `parse error: ${(err as Error).message}`))\n return\n }\n if (parsed?.jsonrpc !== '2.0' || typeof parsed.method !== 'string') {\n writeResponse(output, rpcError(parsed?.id ?? null, -32600, 'invalid request'))\n return\n }\n void handle(parsed).then((response) => {\n if (response) writeResponse(output, response)\n })\n })\n rl.on('close', () => resolve())\n rl.on('error', (err) => reject(err))\n if (stopped) {\n rl.close()\n resolve()\n }\n })\n }\n\n function stop(): void {\n stopped = true\n activeReadline?.close()\n activeReadline = undefined\n }\n\n return { tools, handle, serve, stop }\n}\n\nfunction toolCallResult(output: unknown): {\n content: [{ type: 'text'; text: string }]\n structuredContent?: Record<string, unknown>\n isError: false\n} {\n let json: string | undefined\n try {\n json = JSON.stringify(output)\n } catch (err) {\n const reason = err instanceof Error ? `: ${err.message}` : ''\n throw new TypeError(`MCP tool result must be JSON-serializable${reason}`, { cause: err })\n }\n if (json === undefined) {\n throw new TypeError('MCP tool result must be JSON-serializable')\n }\n\n const serialized = JSON.parse(json) as unknown\n // Preserve string content verbatim. MCP clients pass this text directly to the calling agent.\n const result: {\n content: [{ type: 'text'; text: string }]\n structuredContent?: Record<string, unknown>\n isError: false\n } = {\n content: [{ type: 'text', text: typeof serialized === 'string' ? serialized : json }],\n isError: false,\n }\n if (serialized !== null && typeof serialized === 'object' && !Array.isArray(serialized)) {\n result.structuredContent = serialized as Record<string, unknown>\n }\n return result\n}\n\nfunction rpcResult(id: number | string | null, result: unknown): JsonRpcResponse {\n return { jsonrpc: '2.0', id, result }\n}\n\nfunction rpcError(\n id: number | string | null,\n code: number,\n message: string,\n data?: unknown,\n): JsonRpcResponse {\n return {\n jsonrpc: '2.0',\n id,\n error: data === undefined ? { code, message } : { code, message, data },\n }\n}\n\nfunction writeResponse(output: NodeJS.WritableStream, response: JsonRpcResponse): void {\n output.write(`${JSON.stringify(response)}\\n`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAM,mBAAmB;;AAyBzB,SAAgB,sBAAsB,SAAkD;CACtF,MAAM,wBAAQ,IAAI,IAA+B;CACjD,KAAK,MAAM,QAAQ,QAAQ,OAAO;EAChC,IAAI,MAAM,IAAI,KAAK,IAAI,GACrB,MAAM,IAAI,gBAAgB,+CAA+C,KAAK,KAAK,EAAE;EAEvF,MAAM,IAAI,KAAK,MAAM,IAAI;CAC3B;CAEA,IAAI,UAAU;CACd,IAAI;CAEJ,eAAe,OAAO,SAA0D;EAC9E,IAAI,SACF,OAAO,SAAS,QAAQ,MAAM,MAAM,QAAQ,gBAAgB;EAE9D,IAAI,QAAQ,WAAW,cACrB,OAAO,UAAU,QAAQ,MAAM,MAAM;GACnC,iBAAiB;GACjB,cAAc,EAAE,OAAO,CAAC,EAAE;GAC1B,YAAY;IAAE,MAAM,QAAQ;IAAY,SAAS,QAAQ;GAAc;EACzE,CAAC;EAEH,IAAI,QAAQ,WAAW,6BAGrB,OAAO;EAET,IAAI,QAAQ,WAAW,cACrB,OAAO,UAAU,QAAQ,MAAM,MAAM,EACnC,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU;GACxC,MAAM,KAAK;GACX,aAAa,KAAK;GAClB,aAAa,KAAK;EACpB,EAAE,EACJ,CAAC;EAEH,IAAI,QAAQ,WAAW,cAAc;GACnC,MAAM,SAAU,QAAQ,UAAU,CAAC;GACnC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO;GAC7D,MAAM,OAAO,MAAM,IAAI,IAAI;GAC3B,IAAI,CAAC,MACH,OAAO,SAAS,QAAQ,MAAM,MAAM,QAAQ,iBAAiB,MAAM;GAErE,IAAI;IACF,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,aAAa,CAAC,CAAC;IACxD,OAAO,UAAU,QAAQ,MAAM,MAAM,eAAe,MAAM,CAAC;GAC7D,SAAS,KAAK;IACZ,MAAM,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;IAC9D,MAAM,OAAO,eAAe,aAAa,eAAe,aAAa,SAAS;IAC9E,OAAO,SAAS,QAAQ,MAAM,MAAM,MAAM,MAAM;GAClD;EACF;EACA,IAAI,QAAQ,OAAO,KAAA,KAAa,QAAQ,OAAO,MAAM,OAAO;EAC5D,OAAO,SAAS,QAAQ,IAAI,QAAQ,mBAAmB,QAAQ,QAAQ;CACzE;CAEA,eAAe,MAAM,WAAyC;EAC5D,MAAM,QAAQ,WAAW,SAAS,QAAQ;EAC1C,MAAM,SAAS,WAAW,UAAU,QAAQ;EAC5C,MAAM,KAAK,gBAAgB;GAAE;GAAO,WAAW,OAAO;EAAkB,CAAC;EACzE,iBAAiB;EACjB,OAAO,IAAI,SAAe,SAAS,WAAW;GAC5C,GAAG,GAAG,SAAS,SAAS;IACtB,MAAM,UAAU,KAAK,KAAK;IAC1B,IAAI,CAAC,SAAS;IACd,IAAI;IACJ,IAAI;KACF,SAAS,KAAK,MAAM,OAAO;IAC7B,SAAS,KAAK;KACZ,cAAc,QAAQ,SAAS,MAAM,QAAQ,gBAAiB,IAAc,SAAS,CAAC;KACtF;IACF;IACA,IAAI,QAAQ,YAAY,SAAS,OAAO,OAAO,WAAW,UAAU;KAClE,cAAc,QAAQ,SAAS,QAAQ,MAAM,MAAM,QAAQ,iBAAiB,CAAC;KAC7E;IACF;IACA,OAAY,MAAM,CAAC,CAAC,MAAM,aAAa;KACrC,IAAI,UAAU,cAAc,QAAQ,QAAQ;IAC9C,CAAC;GACH,CAAC;GACD,GAAG,GAAG,eAAe,QAAQ,CAAC;GAC9B,GAAG,GAAG,UAAU,QAAQ,OAAO,GAAG,CAAC;GACnC,IAAI,SAAS;IACX,GAAG,MAAM;IACT,QAAQ;GACV;EACF,CAAC;CACH;CAEA,SAAS,OAAa;EACpB,UAAU;EACV,gBAAgB,MAAM;EACtB,iBAAiB,KAAA;CACnB;CAEA,OAAO;EAAE;EAAO;EAAQ;EAAO;CAAK;AACtC;AAEA,SAAS,eAAe,QAItB;CACA,IAAI;CACJ,IAAI;EACF,OAAO,KAAK,UAAU,MAAM;CAC9B,SAAS,KAAK;EACZ,MAAM,SAAS,eAAe,QAAQ,KAAK,IAAI,YAAY;EAC3D,MAAM,IAAI,UAAU,4CAA4C,UAAU,EAAE,OAAO,IAAI,CAAC;CAC1F;CACA,IAAI,SAAS,KAAA,GACX,MAAM,IAAI,UAAU,2CAA2C;CAGjE,MAAM,aAAa,KAAK,MAAM,IAAI;CAElC,MAAM,SAIF;EACF,SAAS,CAAC;GAAE,MAAM;GAAQ,MAAM,OAAO,eAAe,WAAW,aAAa;EAAK,CAAC;EACpF,SAAS;CACX;CACA,IAAI,eAAe,QAAQ,OAAO,eAAe,YAAY,CAAC,MAAM,QAAQ,UAAU,GACpF,OAAO,oBAAoB;CAE7B,OAAO;AACT;AAEA,SAAS,UAAU,IAA4B,QAAkC;CAC/E,OAAO;EAAE,SAAS;EAAO;EAAI;CAAO;AACtC;AAEA,SAAS,SACP,IACA,MACA,SACA,MACiB;CACjB,OAAO;EACL,SAAS;EACT;EACA,OAAO,SAAS,KAAA,IAAY;GAAE;GAAM;EAAQ,IAAI;GAAE;GAAM;GAAS;EAAK;CACxE;AACF;AAEA,SAAS,cAAc,QAA+B,UAAiC;CACrF,OAAO,MAAM,GAAG,KAAK,UAAU,QAAQ,EAAE,GAAG;AAC9C"}
|
|
1
|
+
{"version":3,"file":"tool-server-BJbCPhoW.js","names":[],"sources":["../src/mcp/tool-server.ts"],"sourcesContent":["/**\n * `createStdioToolServer` — the generic newline-delimited JSON-RPC 2.0 MCP\n * server core: `initialize` / `notifications/initialized` / `tools/list` /\n * `tools/call` over a stdio-shaped transport, protocol 2024-11-05.\n *\n * Extracted from `createMcpServer` (server.ts) so every in-repo MCP server —\n * the delegation server, the memory server — serves the ONE wire protocol the\n * same-host client (`connectStdioMcp`, runtime/stdio-mcp-client.ts) speaks.\n * A second hand-rolled serve loop could drift from what the client expects;\n * this core makes that impossible by construction.\n *\n * @experimental\n */\n\nimport { createInterface, type Interface as ReadlineInterface } from 'node:readline'\nimport { ValidationError } from '../errors'\nimport type { JsonRpcMessage, JsonRpcResponse, McpToolDescriptor, McpTransport } from './protocol'\n\nexport type { JsonRpcMessage, JsonRpcResponse, McpToolDescriptor, McpTransport } from './protocol'\n\nconst PROTOCOL_VERSION = '2024-11-05'\n\n/** @experimental */\nexport interface StdioToolServerOptions {\n /** Server display name surfaced via `initialize`. */\n serverName: string\n /** Server version surfaced via `initialize`. */\n serverVersion: string\n /** The tools to serve. Duplicate names throw — a silent shadow would hide a tool. */\n tools: readonly McpToolDescriptor[]\n}\n\n/** @experimental */\nexport interface StdioToolServer {\n /** Tools currently registered, keyed by name. */\n readonly tools: ReadonlyMap<string, McpToolDescriptor>\n /** Handle a single parsed JSON-RPC message. Returns the response object (or `null` for notifications). */\n handle(message: JsonRpcMessage): Promise<JsonRpcResponse | null>\n /** Drive the server on a stdio-shaped transport until `stop()` is called. */\n serve(transport?: McpTransport): Promise<void>\n /** Stop a `serve` call. Subsequent requests are rejected. */\n stop(): void\n}\n\n/** Build the generic stdio JSON-RPC tool server. */\nexport function createStdioToolServer(options: StdioToolServerOptions): StdioToolServer {\n const tools = new Map<string, McpToolDescriptor>()\n for (const tool of options.tools) {\n if (tools.has(tool.name)) {\n throw new ValidationError(`createStdioToolServer: duplicate tool name \"${tool.name}\"`)\n }\n tools.set(tool.name, tool)\n }\n\n let stopped = false\n let activeReadline: ReadlineInterface | undefined\n\n async function handle(message: JsonRpcMessage): Promise<JsonRpcResponse | null> {\n if (stopped) {\n return rpcError(message.id ?? null, -32099, 'server stopped')\n }\n if (message.method === 'initialize') {\n return rpcResult(message.id ?? null, {\n protocolVersion: PROTOCOL_VERSION,\n capabilities: { tools: {} },\n serverInfo: { name: options.serverName, version: options.serverVersion },\n })\n }\n if (message.method === 'notifications/initialized') {\n // MCP clients send this after the handshake; it has no id and expects\n // no response.\n return null\n }\n if (message.method === 'tools/list') {\n return rpcResult(message.id ?? null, {\n tools: [...tools.values()].map((tool) => ({\n name: tool.name,\n description: tool.description,\n inputSchema: tool.inputSchema,\n })),\n })\n }\n if (message.method === 'tools/call') {\n const params = (message.params ?? {}) as { name?: unknown; arguments?: unknown }\n const name = typeof params.name === 'string' ? params.name : ''\n const tool = tools.get(name)\n if (!tool) {\n return rpcError(message.id ?? null, -32601, `unknown tool: ${name}`)\n }\n try {\n const output = await tool.handler(params.arguments ?? {})\n return rpcResult(message.id ?? null, toolCallResult(output))\n } catch (err) {\n const reason = err instanceof Error ? err.message : String(err)\n const code = err instanceof TypeError || err instanceof RangeError ? -32602 : -32000\n return rpcError(message.id ?? null, code, reason)\n }\n }\n if (message.id === undefined || message.id === null) return null\n return rpcError(message.id, -32601, `unknown method: ${message.method}`)\n }\n\n async function serve(transport?: McpTransport): Promise<void> {\n const input = transport?.input ?? process.stdin\n const output = transport?.output ?? process.stdout\n const rl = createInterface({ input, crlfDelay: Number.POSITIVE_INFINITY })\n activeReadline = rl\n return new Promise<void>((resolve, reject) => {\n rl.on('line', (line) => {\n const trimmed = line.trim()\n if (!trimmed) return\n let parsed: JsonRpcMessage | undefined\n try {\n parsed = JSON.parse(trimmed) as JsonRpcMessage\n } catch (err) {\n writeResponse(output, rpcError(null, -32700, `parse error: ${(err as Error).message}`))\n return\n }\n if (parsed?.jsonrpc !== '2.0' || typeof parsed.method !== 'string') {\n writeResponse(output, rpcError(parsed?.id ?? null, -32600, 'invalid request'))\n return\n }\n void handle(parsed).then((response) => {\n if (response) writeResponse(output, response)\n })\n })\n rl.on('close', () => resolve())\n rl.on('error', (err) => reject(err))\n if (stopped) {\n rl.close()\n resolve()\n }\n })\n }\n\n function stop(): void {\n stopped = true\n activeReadline?.close()\n activeReadline = undefined\n }\n\n return { tools, handle, serve, stop }\n}\n\nfunction toolCallResult(output: unknown): {\n content: [{ type: 'text'; text: string }]\n structuredContent?: Record<string, unknown>\n isError: false\n} {\n let json: string | undefined\n try {\n json = JSON.stringify(output)\n } catch (err) {\n const reason = err instanceof Error ? `: ${err.message}` : ''\n throw new TypeError(`MCP tool result must be JSON-serializable${reason}`, { cause: err })\n }\n if (json === undefined) {\n throw new TypeError('MCP tool result must be JSON-serializable')\n }\n\n const serialized = JSON.parse(json) as unknown\n // Preserve string content verbatim. MCP clients pass this text directly to the calling agent.\n const result: {\n content: [{ type: 'text'; text: string }]\n structuredContent?: Record<string, unknown>\n isError: false\n } = {\n content: [{ type: 'text', text: typeof serialized === 'string' ? serialized : json }],\n isError: false,\n }\n if (serialized !== null && typeof serialized === 'object' && !Array.isArray(serialized)) {\n result.structuredContent = serialized as Record<string, unknown>\n }\n return result\n}\n\nfunction rpcResult(id: number | string | null, result: unknown): JsonRpcResponse {\n return { jsonrpc: '2.0', id, result }\n}\n\nfunction rpcError(\n id: number | string | null,\n code: number,\n message: string,\n data?: unknown,\n): JsonRpcResponse {\n return {\n jsonrpc: '2.0',\n id,\n error: data === undefined ? { code, message } : { code, message, data },\n }\n}\n\nfunction writeResponse(output: NodeJS.WritableStream, response: JsonRpcResponse): void {\n output.write(`${JSON.stringify(response)}\\n`)\n}\n"],"mappings":"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"}
|
package/dist/tui/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { an as SupervisorCleanupReceipt, in as ProvisionedSupervisor, nn as ProvisionSupervisorConnection, on as provisionSupervisor, rn as ProvisionSupervisorRequest } from "../index-
|
|
1
|
+
import { an as SupervisorCleanupReceipt, in as ProvisionedSupervisor, nn as ProvisionSupervisorConnection, on as provisionSupervisor, rn as ProvisionSupervisorRequest } from "../index-CYOJsxSg.js";
|
|
2
2
|
//#region src/tui/top-app.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* The interactive side of the supervisor-run TUI: a keypress/mouse loop over the frames
|
package/dist/tui/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as provisionSupervisor } from "../provision-supervisor-
|
|
1
|
+
import { t as provisionSupervisor } from "../provision-supervisor-CpMMShE_.js";
|
|
2
2
|
import { a as renderTopFrameWithLayout, i as renderTopFrame, n as runTopApp, r as loadTopSnapshot, t as renderTopOnce } from "../top-app-KgIFpD9H.js";
|
|
3
3
|
export { loadTopSnapshot, provisionSupervisor, renderTopFrame, renderTopFrameWithLayout, renderTopOnce, runTopApp };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { J as AgentTaskStatus, U as AgentRuntimeEvent, at as RuntimeStreamEvent, v as LoopTokenUsage, y as LoopTraceEmitter } from "./types-
|
|
1
|
+
import { J as AgentTaskStatus, U as AgentRuntimeEvent, at as RuntimeStreamEvent, v as LoopTokenUsage, y as LoopTraceEmitter } from "./types-Q0PMagdm.js";
|
|
2
2
|
import { l as RuntimeHooks } from "./runtime-hooks-Bj6wJHlH.js";
|
|
3
3
|
import { AgentExactRunControlRef, AgentInteractiveSession, AgentInteractiveSessionPromptAcknowledgement, AgentInteractiveSessionPromptCommand, AgentInteractiveSessionRef, AgentInteractiveSessionStart, AgentNativeContextContinuationOptions, AgentNativeContextContinuationResult, AgentProfile, AgentSessionStatus, ChildTaskEvent, ContextTransferRequest, HarnessType, InteractionAcknowledgement, InteractionRequest, InteractionResponseCommand, NativeContextBoundaryProof, NativeContextContinuationRequest, NativeContextContinuationTurn, RuntimeEventEnvelope, Sha256Digest } from "@tangle-network/agent-interface";
|
|
4
4
|
import { ControlEvalResult, DefaultVerdict, KnowledgeReadinessReport, KnowledgeRequirement, ToolSpan } from "@tangle-network/agent-eval";
|
|
@@ -2621,4 +2621,4 @@ interface WidenGate<Out> {
|
|
|
2621
2621
|
}
|
|
2622
2622
|
//#endregion
|
|
2623
2623
|
export { SupervisorOpts as $, RetainedRunEnvironmentAdmission as $n, sanitizeAgentRuntimeEvent as $t, ProviderModelAttemptEvidence as A, RecoverRetainedInteractiveRunOptions as An, OtelExporter as At, Scope as B, RecoverRetainedRunIntentOptions as Bn, loopEventToOtelSpan as Bt, MaterializedModelIdentity as C, DEFAULT_STALL_AFTER_MS as Cn, EvalRunGeneration as Ct, NodeSnapshot as D, createActivityLog as Dn, LoopSpanNode as Dt, NodeId as E, WorkerProgress as En, INTELLIGENCE_WIRE_VERSION as Et, RootHandle as F, StartRetainedInteractiveRunOptions as Fn, buildRuntimeEventOtelSpans as Ft, SpawnPrior as G, RetainedInteractiveIntentAdmission as Gn, RuntimeStreamEventCollector as Gt, SpawnEvent as H, RecoverRetainedRunResult as Hn, padTraceId as Ht, RootMaterialization as I, NativeContextContinuationExecution as In, createOpenInferenceFileExporter as It, SpendChannel as J, RetainedRunAdmissionHook as Jn, RuntimeTelemetryOptions as Jt, SpawnRejection as K, RetainedInteractiveStartedAdmission as Kn, RuntimeStreamEventSink as Kt, RootProviderModelEvidence as L, NativeContextContinuationHandle as Ln, createOtelExporter as Lt, ResultBlobStore as M, RetainedInteractiveEnvironmentInput as Mn, RuntimeEventOtelOptions as Mt, ResumedKeyState as N, RetainedInteractiveRunHandle as Nn, buildLoopOtelSpans as Nt, NodeStatus as O, readWorkerProgress as On, OtelAttribute as Ot, ResumedWork as P, RetainedInteractiveStartMaterial as Pn, buildLoopSpanNodes as Pt, Supervisor as Q, RetainedRunEffect as Qn, createRuntimeStreamEventCollector as Qt, RootSignal as R, NativeContextContinuationInput as Rn, exportEvalRuns as Rt, MaterializedExecutionIdentity as S, ActivityNote as Sn, EvalRunEvent as St, NodeExecutionIdentity as T, ScopeProgressInput as Tn, EvalRunsExportResult as Tt, SpawnJournal as U, RetainedInteractiveAdmission as Un, toOtelAttributes as Ut, Settled as V, RecoverRetainedRunOptions as Vn, padSpanId as Vt, SpawnOpts as W, RetainedInteractiveEnvironmentAdmission as Wn, RuntimeEventCollector as Wt, SteerableRootHandle as X, RetainedRunCancellation as Xn, SanitizedKnowledgeRequirement as Xt, SpendGap as Y, RetainedRunCancelOptions as Yn, SanitizedKnowledgeReadinessReport as Yt, SupervisedResult as Z, RetainedRunDispatchedAdmission as Zn, createRuntimeEventCollector as Zt, ExecutorRegistry as _, TraceSource as _n, TraceContext as _t, DefaultVerdict as a, WaitProbeRegistry as an, RetainedRunStartMaterial as ar, WaitOpts as at, ExecutorToolCall as b, sandboxSessionTraceSource as bn, readTraceContextFromEnv as bt, ExecutorAccounting as c, createWaitProbes as cn, StartRetainedRunOptions as cr, WorkerInteractiveUnavailableReason as ct, ExecutorContext as d, timerAt as dn, WorkerTraceResolver as dt, sanitizeKnowledgeReadinessReport as en, RetainedRunEventOptions as er, TokenUsageProvenance as et, ExecutorExecutionBinding as f, validateWaitSpec as fn, WorkerTraceSeamCarrier as ft, ExecutorProgressEvent as g, ToolStepInput as gn, workerTraceSeamKey as gt, ExecutorNodeContext as h, SessionTraceBox as hn, workerTraceHeaders as ht, Budget as i, WaitProbe as in, RetainedRunSnapshot as ir, UsageEvent as it, ProviderModelExecutionEvidence as j, RetainedInteractiveAdmissionHook as jn, OtelSpan as jt, ProfileMaterializationReceipt as k, ReconnectRetainedInteractiveRunOptions as kn, OtelExportConfig as kt, ExecutorCancellation as l, isWaitOutcome as ln, WorkerTraceEvidence as lt, ExecutorMaterialization as m, SessionMessageLike as mn, workerTraceEnv as mt, AgentExecutionRef as n, PendingWait as nn, RetainedRunIntentAdmission as nr, UnconfirmedTeardown as nt, ExecutionBindingReceipt as o, WaitRejection as on, RetainedRunTurnInput as or, WidenGate as ot, ExecutorFactory as p, waitUntil as pn, readWorkerTraceContext as pt, Spend as q, RetainedRunAdmission as qn, RuntimeStreamEventSummary as qt, AgentSpec as r, WaitOutcome as rn, RetainedRunReplayPoint as rr, UnknownMaterializationReason as rt, Executor as s, WaitSpec as sn, StartRetainedRunInEnvironmentOptions as sr, WorkerInteractiveSession as st, Agent as t, sanitizeRuntimeStreamEvent as tn, RetainedRunHandle as tr, TreeView as tt, ExecutorCancellationRequest as u, pollFor as un, WorkerTraceUnavailableReason as ut, ExecutorResult as v, createPushTraceSource as vn, createPropagatingTraceEmitter as vt, NoWinnerError as w, ExecutorProgress as wn, EvalRunsExportConfig as wt, Handle as x, ActivityLog as xn, traceContextToEnv as xt, ExecutorTeardownWarning as y, decodeToolPart as yn, mergeTraceEnv as yt, Runtime as z, ReconnectRetainedRunOptions as zn, generateSpanId as zt };
|
|
2624
|
-
//# sourceMappingURL=types-
|
|
2624
|
+
//# sourceMappingURL=types-DFLZMaeh.d.ts.map
|
|
@@ -320,6 +320,8 @@ type RuntimeStreamEvent = RuntimeCanonicalStreamEvent | {
|
|
|
320
320
|
tokensOut?: number;
|
|
321
321
|
/** False when the numeric token subtotal is incomplete or absent. */
|
|
322
322
|
tokensKnown?: false;
|
|
323
|
+
/** Why `tokensKnown` is false when a harness receipt was present but unreadable. */
|
|
324
|
+
tokensUnknownReason?: string;
|
|
323
325
|
costUsd?: number;
|
|
324
326
|
/** False when `costUsd` is only an observed floor, estimate, or absent. */
|
|
325
327
|
usdKnown?: false;
|
|
@@ -1276,4 +1278,4 @@ interface ExecCtx {
|
|
|
1276
1278
|
}
|
|
1277
1279
|
//#endregion
|
|
1278
1280
|
export { OpenAIChatToolChoice as $, RuntimeRunCompleteInput as A, AgentBackendInput as B, MountRecorder as C, SelectionReceipt as D, SandboxClient as E, RuntimeRunRow as F, AgentTaskContext as G, AgentKnowledgeProvider as H, RuntimeRunStatus as I, AgentTaskStatus as J, AgentTaskRunResult as K, startRuntimeRun as L, RuntimeRunHandle as M, RuntimeRunOptions as N, ValidationCtx as O, RuntimeRunPersistenceAdapter as P, OpenAIChatTool as Q, AgentAdapter as R, MountManifestEntry as S, RunProvenance as T, AgentRuntimeEvent as U, AgentExecutionBackend as V, AgentRuntimeEventSink as W, KnowledgeReadinessDecision as X, BackendErrorDetail as Y, OpenAIChatResponseFormat as Z, LoopTeardownFailedPayload as _, Iteration as a, RuntimeStreamEvent as at, LoopTraceEvent as b, LoopIterationDispatchPayload as c, LoopLineageOptions as d, RunAgentTaskOptions as et, LoopPlanDescription as f, LoopStartedPayload as g, LoopSandboxPlacement as h, ExecCtx as i, RuntimeSessionStore as it, RuntimeRunCost as j, Validator as k, LoopIterationEndedPayload as l, LoopResult as m, DefaultVerdict as n, RuntimeCanonicalStreamEvent as nt, LoopDecisionPayload as o, LoopPlanPayload as p, AgentTaskSpec as q, Driver as r, RuntimeSession as rt, LoopEndedPayload as s, AgentRunSpec as t, RunAgentTaskStreamOptions as tt, LoopIterationStartedPayload as u, LoopTokenUsage as v, OutputAdapter as w, LoopWinner as x, LoopTraceEmitter as y, AgentBackendContext as z };
|
|
1279
|
-
//# sourceMappingURL=types-
|
|
1281
|
+
//# sourceMappingURL=types-Q0PMagdm.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.196.0",
|
|
4
4
|
"description": "Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/agent-eval.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-runtime#readme",
|
|
6
6
|
"repository": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors-CDZ8XsVj.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n *\n * Error taxonomy for `@tangle-network/agent-runtime`.\n *\n * Public contract: every error this package throws as part of its consumer-\n * facing API either extends `AgentEvalError` (re-exported here for ergonomic\n * `instanceof` checks at the runtime boundary) or extends one of the\n * runtime-specific subclasses below.\n *\n * Internal invariant guards (`throw new Error('this should never happen')`)\n * remain plain `Error` — they are programmer-mistake assertions, not\n * consumer-catchable contract failures.\n *\n * Subclassing strategy: where a runtime-specific failure maps cleanly to an\n * agent-eval code (validation, config, not_found), we re-use the agent-eval\n * subclass. Runtime-only failure modes (session resume against the wrong\n * backend, backend transport errors) get fresh subclasses that still carry an\n * `AgentEvalErrorCode` so cross-package handlers can pattern-match without\n * importing the runtime.\n *\n * @stable\n */\n\nimport { AgentEvalError } from '@tangle-network/agent-eval'\nimport type {\n AgentInteractiveSessionRef,\n AgentInteractiveSessionStart,\n AgentInteractiveSessionStatus,\n} from '@tangle-network/agent-interface'\nimport type {\n RetainedInteractiveAdmission,\n RetainedRunAdmission,\n} from './runtime/retained-run-types'\n\nexport {\n AgentEvalError,\n type AgentEvalErrorCode,\n ConfigError,\n JudgeError,\n NotFoundError,\n ValidationError,\n} from '@tangle-network/agent-eval'\n\n/**\n *\n * Caller asked to resume a session against a backend whose `kind` does not\n * match the session's recorded backend. This is a routing bug — the same\n * session id was reused across two different backend implementations — and\n * is not retryable without picking the right backend.\n *\n * @stable\n */\nexport class SessionMismatchError extends AgentEvalError {\n readonly sessionBackend: string\n readonly requestedBackend: string\n\n constructor(sessionBackend: string, requestedBackend: string, options?: { cause?: unknown }) {\n super(\n 'validation',\n `Cannot resume ${sessionBackend} session with ${requestedBackend} backend`,\n options,\n )\n this.sessionBackend = sessionBackend\n this.requestedBackend = requestedBackend\n }\n}\n\n/**\n *\n * A backend transport call (HTTP, gRPC, sidecar IPC) failed with a non-success\n * status. Distinct from `JudgeError` (which is structural / unrecoverable)\n * because backend failures are sometimes retryable and consumers may want to\n * branch on the upstream status code.\n *\n * @stable\n */\nexport class BackendTransportError extends AgentEvalError {\n readonly backend: string\n readonly status?: number\n /**\n * Router-owned proof that a rejected request never reached a provider.\n *\n * This is intentionally one-sided. An absent value, or any value this\n * package does not understand, remains unknown to Runtime.\n */\n readonly providerDispatch?: 'not_started'\n /**\n * Truncated upstream response body (≤2 KiB) when available. Diagnostic\n * only — surfaces in `backend_error.error.body` and `final.error.body`\n * so operators can see \"free_tier_limit\", \"invalid_api_key\", etc. without\n * cracking the log line open.\n */\n readonly body?: string\n\n constructor(\n backend: string,\n message: string,\n options?: {\n cause?: unknown\n status?: number\n body?: string\n providerDispatch?: 'not_started'\n },\n ) {\n super('config', message, options)\n this.backend = backend\n this.status = options?.status\n this.body = options?.body\n this.providerDispatch = options?.providerDispatch\n }\n}\n\n/**\n *\n * A runtime-run lifecycle method was called in an order the state machine does\n * not allow: `persist()` before `complete()`, `complete()` twice, etc.\n *\n * @stable\n */\nexport class RuntimeRunStateError extends AgentEvalError {\n constructor(message: string, options?: { cause?: unknown }) {\n super('validation', message, options)\n }\n}\n\n/**\n *\n * The dynamic-loop planner returned an unusable topology move — the LLM emitted\n * no parseable envelope, an unknown `kind`, or a structurally-invalid move\n * (e.g. a fanout with zero tasks). This is a structural failure of the\n * agent-authored topology, not a config mistake: the planner ran but its output\n * cannot drive the kernel. Carries `validation` so cross-package handlers can\n * pattern-match without importing the runtime. Fail loud — never substitute a\n * default move, or the loop silently runs a topology nobody chose.\n *\n * @stable\n */\nexport class PlannerError extends AgentEvalError {\n constructor(message: string, options?: { cause?: unknown }) {\n super('validation', message, options)\n }\n}\n\n/**\n * The analyst loop could not read or run over a round's trace — e.g. an empty round\n * (no iterations to analyze) or a malformed trace projection. Fail loud: a silent empty\n * store would mask a broken capture path and the driver would steer on nothing.\n */\nexport class AnalystError extends AgentEvalError {\n constructor(message: string, options?: { cause?: unknown }) {\n super('validation', message, options)\n }\n}\n\n/**\n *\n * The caller's `onAdmission` durability hook rejected, so a retained run's\n * admission record is not durable. For a pre-create intent, no provider work\n * has started. For a later record, provider state may already be live and the\n * environment remains available for recovery. Carries `capture_integrity`\n * because the required recovery record was not written.\n *\n * @stable\n */\nabstract class RetainedAdmissionError<\n TAdmission extends RetainedRunAdmission | RetainedInteractiveAdmission,\n> extends AgentEvalError {\n readonly phase: TAdmission['phase']\n /** The exact record the hook failed to persist, for direct recovery. */\n readonly admission: TAdmission\n\n constructor(admission: TAdmission, options?: { cause?: unknown }) {\n const recovery =\n admission.phase === 'intent' || admission.phase === 'interactive_intent'\n ? 'no provider work has started'\n : 'the environment is kept for recovery'\n super(\n 'capture_integrity',\n `retained run admission (${admission.phase}) was not persisted; ${recovery}`,\n options,\n )\n this.phase = admission.phase\n this.admission = admission\n }\n}\n\n/** The caller could not persist one detached-run recovery record. @stable */\nexport class RetainedRunAdmissionError extends RetainedAdmissionError<RetainedRunAdmission> {}\n\n/** The caller could not persist one exact interactive-process recovery record. @stable */\nexport class RetainedInteractiveAdmissionError extends RetainedAdmissionError<RetainedInteractiveAdmission> {}\n\n/**\n * A provider returned a valid interactive reference that does not bind to the\n * exact start request, or returned data that could not be parsed as one.\n *\n * The requested start and any valid provider reference are detached snapshots.\n * Malformed provider data is never copied into the error, so the error remains\n * safe to persist while the environment remains available for orphan cleanup.\n *\n * @stable\n */\nexport class RetainedInteractiveBindingError extends AgentEvalError {\n /** The exact native-process start request sent to the provider. */\n readonly requested: AgentInteractiveSessionStart\n /** The valid provider data, when the provider returned a parseable value. */\n readonly returned: {\n readonly ref?: AgentInteractiveSessionRef\n readonly status?: AgentInteractiveSessionStatus\n }\n\n constructor(\n requested: AgentInteractiveSessionStart,\n returned: RetainedInteractiveBindingError['returned'],\n options?: { cause?: unknown },\n ) {\n super(\n 'backend_integrity',\n 'provider returned interactive data that does not bind to the requested start; the environment is kept for diagnosis and cleanup',\n options,\n )\n this.requested = Object.freeze(requested)\n this.returned = Object.freeze(returned)\n }\n}\n\n/**\n *\n * A retained dispatch answered with coordinates that do not bind to the\n * identity the runtime requested, or failed exact verification. The\n * environment-phase admission is already durable at this point, so its\n * coordinates plus the provider reference carried here are the manual\n * recovery path. The environment is intentionally kept. Carries\n * `backend_integrity` because the provider violated its dispatch contract.\n *\n * @stable\n */\nexport class RetainedRunDispatchBindingError extends AgentEvalError {\n /** The coordinates the runtime sent with the dispatch. */\n readonly requested: {\n readonly provider: string\n readonly environmentId: string\n readonly sessionId: string\n readonly executionId: string\n }\n /** The loose reference the provider actually returned, for triage. */\n readonly returned: {\n readonly id?: string\n readonly provider?: string\n readonly controlRef?: unknown\n }\n\n constructor(\n requested: RetainedRunDispatchBindingError['requested'],\n returned: RetainedRunDispatchBindingError['returned'],\n options?: { cause?: unknown },\n ) {\n super(\n 'backend_integrity',\n 'retained dispatch did not bind to the requested identity; the durable environment admission and the returned reference on this error are the recovery path',\n options,\n )\n this.requested = requested\n this.returned = returned\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,IAAa,uBAAb,cAA0C,eAAe;CACvD;CACA;CAEA,YAAY,gBAAwB,kBAA0B,SAA+B;EAC3F,MACE,cACA,iBAAiB,eAAe,gBAAgB,iBAAiB,WACjE,OACF;EACA,KAAK,iBAAiB;EACtB,KAAK,mBAAmB;CAC1B;AACF;;;;;;;;;;AAWA,IAAa,wBAAb,cAA2C,eAAe;CACxD;CACA;;;;;;;CAOA;;;;;;;CAOA;CAEA,YACE,SACA,SACA,SAMA;EACA,MAAM,UAAU,SAAS,OAAO;EAChC,KAAK,UAAU;EACf,KAAK,SAAS,SAAS;EACvB,KAAK,OAAO,SAAS;EACrB,KAAK,mBAAmB,SAAS;CACnC;AACF;;;;;;;;AASA,IAAa,uBAAb,cAA0C,eAAe;CACvD,YAAY,SAAiB,SAA+B;EAC1D,MAAM,cAAc,SAAS,OAAO;CACtC;AACF;;;;;;;;;;;;;AAcA,IAAa,eAAb,cAAkC,eAAe;CAC/C,YAAY,SAAiB,SAA+B;EAC1D,MAAM,cAAc,SAAS,OAAO;CACtC;AACF;;;;;;AAOA,IAAa,eAAb,cAAkC,eAAe;CAC/C,YAAY,SAAiB,SAA+B;EAC1D,MAAM,cAAc,SAAS,OAAO;CACtC;AACF;;;;;;;;;;;AAYA,IAAe,yBAAf,cAEU,eAAe;CACvB;;CAEA;CAEA,YAAY,WAAuB,SAA+B;EAChE,MAAM,WACJ,UAAU,UAAU,YAAY,UAAU,UAAU,uBAChD,iCACA;EACN,MACE,qBACA,2BAA2B,UAAU,MAAM,uBAAuB,YAClE,OACF;EACA,KAAK,QAAQ,UAAU;EACvB,KAAK,YAAY;CACnB;AACF;;AAGA,IAAa,4BAAb,cAA+C,uBAA6C,CAAC;;AAG7F,IAAa,oCAAb,cAAuD,uBAAqD,CAAC;;;;;;;;;;;AAY7G,IAAa,kCAAb,cAAqD,eAAe;;CAElE;;CAEA;CAKA,YACE,WACA,UACA,SACA;EACA,MACE,qBACA,mIACA,OACF;EACA,KAAK,YAAY,OAAO,OAAO,SAAS;EACxC,KAAK,WAAW,OAAO,OAAO,QAAQ;CACxC;AACF;;;;;;;;;;;;AAaA,IAAa,kCAAb,cAAqD,eAAe;;CAElE;;CAOA;CAMA,YACE,WACA,UACA,SACA;EACA,MACE,qBACA,8JACA,OACF;EACA,KAAK,YAAY;EACjB,KAAK,WAAW;CAClB;AACF"}
|