@robota-sdk/agent-core 3.0.0-beta.84 → 3.0.0-beta.86

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/browser/bounded-output-Bgx2Cgkx.js +2 -0
  3. package/dist/browser/bounded-output-Bgx2Cgkx.js.map +1 -0
  4. package/dist/browser/{command-executor-BsBTcghZ.js → command-executor-C0XXfBnt.js} +2 -2
  5. package/dist/browser/{command-executor-BsBTcghZ.js.map → command-executor-C0XXfBnt.js.map} +1 -1
  6. package/dist/browser/{http-executor-CHy6UeBU.js → http-executor-B4YgCJg7.js} +2 -2
  7. package/dist/browser/{http-executor-CHy6UeBU.js.map → http-executor-B4YgCJg7.js.map} +1 -1
  8. package/dist/browser/index.d.ts +48 -19
  9. package/dist/browser/index.d.ts.map +1 -1
  10. package/dist/browser/index.js +11 -11
  11. package/dist/browser/index.js.map +1 -1
  12. package/dist/browser/{verdict-decoder-Dk_w2NG9.js → verdict-decoder-Dz_rjoIZ.js} +2 -2
  13. package/dist/browser/verdict-decoder-Dz_rjoIZ.js.map +1 -0
  14. package/dist/node/bounded-output-Bgx2Cgkx.js +2 -0
  15. package/dist/node/bounded-output-Bgx2Cgkx.js.map +1 -0
  16. package/dist/node/{command-executor-CPGK8I8l.cjs → command-executor-CqAFpB-X.cjs} +1 -1
  17. package/dist/node/{command-executor-BdE1zg3q.js → command-executor-d6DdfUTD.js} +2 -2
  18. package/dist/node/{command-executor-BdE1zg3q.js.map → command-executor-d6DdfUTD.js.map} +1 -1
  19. package/dist/node/{http-executor-cWzI2svn.js → http-executor-ADn4locH.js} +2 -2
  20. package/dist/node/{http-executor-cWzI2svn.js.map → http-executor-ADn4locH.js.map} +1 -1
  21. package/dist/node/{http-executor-BYiKn8h3.cjs → http-executor-BFtXs8FP.cjs} +1 -1
  22. package/dist/node/{index-DXZ-pyEr.d.ts → index-CPwJEiFl.d.cts} +49 -20
  23. package/dist/node/index-CPwJEiFl.d.cts.map +1 -0
  24. package/dist/node/{index-gEUh4G-t.d.cts → index-DQrmrFn9.d.ts} +49 -20
  25. package/dist/node/index-DQrmrFn9.d.ts.map +1 -0
  26. package/dist/node/index.cjs +9 -9
  27. package/dist/node/index.d.cts +3 -3
  28. package/dist/node/index.d.ts +3 -3
  29. package/dist/node/index.js +11 -11
  30. package/dist/node/index.js.map +1 -1
  31. package/dist/node/node.cjs +1 -1
  32. package/dist/node/node.d.cts +1 -1
  33. package/dist/node/node.d.ts +1 -1
  34. package/dist/node/node.js +1 -1
  35. package/dist/node/testing/index.d.cts +1 -1
  36. package/dist/node/testing/index.d.ts +1 -1
  37. package/dist/node/{types-BQ-sKCQS.d.cts → types-Ge2XB-y-.d.cts} +2 -2
  38. package/dist/node/{types-BQ-sKCQS.d.cts.map → types-Ge2XB-y-.d.cts.map} +1 -1
  39. package/dist/node/{types-BQ-sKCQS.d.ts → types-Ge2XB-y-.d.ts} +2 -2
  40. package/dist/node/{types-BQ-sKCQS.d.ts.map → types-Ge2XB-y-.d.ts.map} +1 -1
  41. package/dist/node/verdict-decoder-DIHay1ul.cjs +1 -0
  42. package/dist/node/{verdict-decoder-Dk_w2NG9.js → verdict-decoder-Dz_rjoIZ.js} +2 -2
  43. package/dist/node/verdict-decoder-Dz_rjoIZ.js.map +1 -0
  44. package/package.json +1 -1
  45. package/dist/browser/bounded-output-D3cgiOrh.js +0 -2
  46. package/dist/browser/bounded-output-D3cgiOrh.js.map +0 -1
  47. package/dist/browser/verdict-decoder-Dk_w2NG9.js.map +0 -1
  48. package/dist/node/bounded-output-D3cgiOrh.js +0 -2
  49. package/dist/node/bounded-output-D3cgiOrh.js.map +0 -1
  50. package/dist/node/index-DXZ-pyEr.d.ts.map +0 -1
  51. package/dist/node/index-gEUh4G-t.d.cts.map +0 -1
  52. package/dist/node/verdict-decoder-D412SAGd.cjs +0 -1
  53. package/dist/node/verdict-decoder-Dk_w2NG9.js.map +0 -1
@@ -1,2 +1,2 @@
1
- const e={deny:3,defer:2,ask:1,allow:0};function t(t){return typeof t==`string`&&t in e}function n(e){if(!(typeof e!=`object`||!e)&&`additionalContext`in e)return String(e.additionalContext)}function r(e,r){let a=i(e);if(a===null){let t=e.trim();return{context:t?[t]:[]}}if(a.continue===!1)return{context:[],blockReason:typeof a.stopReason==`string`?a.stopReason:`Blocked by hook (continue: false)`};let o=a.hookSpecificOutput,s=[];if(r===`UserPromptSubmit`){let e=n(o);if(a.decision===`block`)return{context:e?[e]:[],blockReason:`Blocked by hook (decision: block)`};e&&s.push(e)}let c,l;if(r===`PreToolUse`&&typeof o==`object`&&o){let e=o;if(t(e.permissionDecision)){if(c=e.permissionDecision,c===`deny`)return{context:[],blockReason:`Blocked by hook (permissionDecision: deny)`,permissionDecision:c};e.updatedInput!==void 0&&(l=e.updatedInput)}}return typeof a.systemMessage==`string`&&a.systemMessage&&s.push(a.systemMessage),{context:s,...c!==void 0&&{permissionDecision:c},...l!==void 0&&{updatedInput:l}}}function i(e){let t=e.trim();if(!t.startsWith(`{`))return null;try{return JSON.parse(t)}catch{return null}}function a(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return null;let n=e;if(n.continue===!1)return typeof n.stopReason==`string`&&n.stopReason?n.stopReason:`Blocked by hook (continue: false)`;if(t===`UserPromptSubmit`&&n.decision===`block`)return typeof n.reason==`string`&&n.reason?n.reason:`Blocked by hook (decision: block)`;if(t===`PreToolUse`){let e=n.hookSpecificOutput;if(typeof e==`object`&&e&&e.permissionDecision===`deny`)return`Blocked by hook (permissionDecision: deny)`}return null}function o(e){let t=e.replace(/\s+/g,` `).trim();return t.length>200?`${t.slice(0,200)}…`:t}function s(e,t,n){let r;try{r=JSON.parse(e)}catch(n){return{outcome:`error`,source:t,kind:`malformed-response`,reason:`Hook response is not valid JSON (${n instanceof Error?n.message:String(n)}): ${o(e)}`}}return c(r,t,n,e)}function c(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e))return{outcome:`error`,source:t,kind:`malformed-response`,reason:`Hook response is not a JSON object: ${o(r)}`};let{ok:i,reason:s}=e;if(i===!0)return{outcome:`allow`,source:t,stdout:r};if(i===!1)return{outcome:`deny`,source:t,reason:typeof s==`string`&&s?s:`Blocked by ${t} hook`};let c=a(e,n);return c===null?{outcome:`error`,source:t,kind:`malformed-response`,reason:i===void 0?`Hook response has no boolean "ok" field: ${o(r)}`:`Hook response "ok" is ${typeof i}, not boolean: ${o(r)}`}:{outcome:`deny`,source:t,reason:c}}export{e as n,r,s as t};
2
- //# sourceMappingURL=verdict-decoder-Dk_w2NG9.js.map
1
+ const e={deny:3,ask:2,defer:1,allow:0};function t(t){return typeof t==`string`&&t in e}function n(e){if(!(typeof e!=`object`||!e)&&`additionalContext`in e)return String(e.additionalContext)}function r(e,r){let a=i(e);if(a===null){let t=e.trim();return{context:t?[t]:[]}}if(a.continue===!1)return{context:[],blockReason:typeof a.stopReason==`string`?a.stopReason:`Blocked by hook (continue: false)`};let o=a.hookSpecificOutput,s=[];if(r===`UserPromptSubmit`){let e=n(o);if(a.decision===`block`)return{context:e?[e]:[],blockReason:`Blocked by hook (decision: block)`};e&&s.push(e)}let c,l;if(r===`PreToolUse`&&typeof o==`object`&&o){let e=o;if(t(e.permissionDecision)){if(c=e.permissionDecision,c===`deny`)return{context:[],blockReason:`Blocked by hook (permissionDecision: deny)`,permissionDecision:c};e.updatedInput!==void 0&&(l=e.updatedInput)}}return typeof a.systemMessage==`string`&&a.systemMessage&&s.push(a.systemMessage),{context:s,...c!==void 0&&{permissionDecision:c},...l!==void 0&&{updatedInput:l}}}function i(e){let t=e.trim();if(!t.startsWith(`{`))return null;try{return JSON.parse(t)}catch{return null}}function a(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return null;let n=e;if(n.continue===!1)return typeof n.stopReason==`string`&&n.stopReason?n.stopReason:`Blocked by hook (continue: false)`;if(t===`UserPromptSubmit`&&n.decision===`block`)return typeof n.reason==`string`&&n.reason?n.reason:`Blocked by hook (decision: block)`;if(t===`PreToolUse`){let e=n.hookSpecificOutput;if(typeof e==`object`&&e&&e.permissionDecision===`deny`)return`Blocked by hook (permissionDecision: deny)`}return null}function o(e){let t=e.replace(/\s+/g,` `).trim();return t.length>200?`${t.slice(0,200)}…`:t}function s(e,t,n){let r;try{r=JSON.parse(e)}catch(n){return{outcome:`error`,source:t,kind:`malformed-response`,reason:`Hook response is not valid JSON (${n instanceof Error?n.message:String(n)}): ${o(e)}`}}return c(r,t,n,e)}function c(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e))return{outcome:`error`,source:t,kind:`malformed-response`,reason:`Hook response is not a JSON object: ${o(r)}`};let{ok:i,reason:s}=e;if(i===!0)return{outcome:`allow`,source:t,stdout:r};if(i===!1)return{outcome:`deny`,source:t,reason:typeof s==`string`&&s?s:`Blocked by ${t} hook`};let c=a(e,n);return c===null?{outcome:`error`,source:t,kind:`malformed-response`,reason:i===void 0?`Hook response has no boolean "ok" field: ${o(r)}`:`Hook response "ok" is ${typeof i}, not boolean: ${o(r)}`}:{outcome:`deny`,source:t,reason:c}}export{e as n,r,s as t};
2
+ //# sourceMappingURL=verdict-decoder-Dz_rjoIZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdict-decoder-Dz_rjoIZ.js","names":[],"sources":["../../src/hooks/response-protocol.ts","../../src/hooks/verdict-decoder.ts"],"sourcesContent":["/**\n * The Claude Code hook RESPONSE protocol: what an approving hook's stdout may say.\n *\n * This is a different contract from the outcome union in `types.ts`. The outcome says whether the\n * hook reached a verdict at all; this says what a response additionally requests — `continue: false`,\n * a `permissionDecision`, an `updatedInput`, injected context.\n *\n * `interpretAllowOutcome` is the whole interpretation of one approving body (issue #2191): what to\n * inject, whether it blocks, which `permissionDecision` it states and the `updatedInput` riding with\n * it. `runHooks` only loops and aggregates — priority across hooks and the result shape stay there.\n *\n * The two contracts are mostly independent, with ONE crossing point: `explicitBlockDirective` below. A body may\n * carry a directive that unambiguously means \"block\" while the `{ ok, reason }` verdict beside it is\n * undecodable, and that body HAS rendered a verdict — discarding it because a sibling field was\n * malformed would be fail-open in an enforcement gate, which is the defect SEC-015 exists to remove\n * rather than relocate.\n */\n\nimport type { THookEvent } from './types.js';\n\nexport type TPermissionDecision = 'allow' | 'deny' | 'ask' | 'defer';\n\n/**\n * Permission decision priority: deny=3 > ask=2 > defer=1 > allow=0. `defer` leaves the call to the\n * normal flow, so it outranks an `allow` but must not cancel another hook's `ask`.\n */\nexport const PERMISSION_PRIORITY: Record<string, number> = { deny: 3, ask: 2, defer: 1, allow: 0 };\n\n/**\n * What one `allow` outcome's stdout asks of the runner — declarative, so the runner aggregates and\n * this module decides what a body MEANS.\n */\nexport interface IAllowInterpretation {\n /** Text to append to the collected stdout: raw output, injected context, a system message. */\n readonly context: readonly string[];\n /** Present when the body blocks. `context` is still appended before the runner returns. */\n readonly blockReason?: string;\n /** PreToolUse only: the decision the body states, when it is one the protocol names. */\n readonly permissionDecision?: TPermissionDecision;\n /** PreToolUse only: an input rewrite riding alongside a named `permissionDecision`. */\n readonly updatedInput?: Record<string, unknown>;\n}\n\nfunction isPermissionDecision(value: unknown): value is TPermissionDecision {\n return typeof value === 'string' && value in PERMISSION_PRIORITY;\n}\n\nfunction additionalContextOf(specific: unknown): string | undefined {\n if (specific === null || typeof specific !== 'object') return undefined;\n if (!('additionalContext' in specific)) return undefined;\n return String((specific as Record<string, unknown>)['additionalContext']);\n}\n\n/** Decode one approving hook's stdout per the protocol (Claude Code compatible) for `event`. */\nexport function interpretAllowOutcome(stdout: string, event: THookEvent): IAllowInterpretation {\n const json = parseHookJson(stdout);\n if (json === null) {\n // Raw text stdout (non-JSON)\n const raw = stdout.trim();\n return { context: raw ? [raw] : [] };\n }\n // Common: continue: false → block\n if (json['continue'] === false) {\n return {\n context: [],\n blockReason:\n typeof json['stopReason'] === 'string'\n ? json['stopReason']\n : 'Blocked by hook (continue: false)',\n };\n }\n const specific = json['hookSpecificOutput'];\n const context: string[] = [];\n if (event === 'UserPromptSubmit') {\n const additional = additionalContextOf(specific);\n // decision: \"block\" → block, carrying the context the hook attached\n if (json['decision'] === 'block') {\n return {\n context: additional ? [additional] : [],\n blockReason: 'Blocked by hook (decision: block)',\n };\n }\n // additionalContext without block → inject into stdout\n if (additional) context.push(additional);\n }\n let permissionDecision: TPermissionDecision | undefined;\n let updatedInput: Record<string, unknown> | undefined;\n if (event === 'PreToolUse' && specific !== null && typeof specific === 'object') {\n const record = specific as Record<string, unknown>;\n if (isPermissionDecision(record['permissionDecision'])) {\n permissionDecision = record['permissionDecision'];\n // deny → immediate block; nothing else in the body is read\n if (permissionDecision === 'deny') {\n return {\n context: [],\n blockReason: 'Blocked by hook (permissionDecision: deny)',\n permissionDecision,\n };\n }\n if (record['updatedInput'] !== undefined) {\n updatedInput = record['updatedInput'] as Record<string, unknown>;\n }\n }\n }\n // systemMessage → inject into stdout for AI context\n if (typeof json['systemMessage'] === 'string' && json['systemMessage']) {\n context.push(json['systemMessage']);\n }\n return {\n context,\n ...(permissionDecision !== undefined && { permissionDecision }),\n ...(updatedInput !== undefined && { updatedInput }),\n };\n}\n\n/** Parse hook stdout as JSON if it starts with '{', otherwise return null. */\nfunction parseHookJson(stdout: string): Record<string, unknown> | null {\n const trimmed = stdout.trim();\n if (!trimmed.startsWith('{')) return null;\n try {\n return JSON.parse(trimmed) as Record<string, unknown>;\n } catch {\n // allow-fallback: hook stdout may be plain text; malformed JSON means raw stdout\n return null;\n }\n}\n\n/**\n * The reason an explicitly-blocking response gives, or `null` when the body requests no block ON\n * THIS EVENT.\n *\n * These three directives are the vocabulary `HOOK-CATALOG.md` names as blocking triggers, and each\n * is a decision the hook stated outright — unlike `ok`, which can be malformed into meaning nothing.\n * A body carrying one has spoken, whatever else in it did not decode.\n *\n * Scoped by event exactly as `runHooks` scopes them (issue #2196): `continue: false` blocks on every\n * event; `decision: \"block\"` is the `UserPromptSubmit` vocabulary; `permissionDecision: \"deny\"` is\n * the `PreToolUse` vocabulary. The decoder used to read all three on any event, so a body like\n * `{\"ok\": \"maybe\", \"decision\": \"block\"}` denied a tool call the runner would not have blocked — one\n * vocabulary, two sets of rules. Now there is one set.\n */\nexport function explicitBlockDirective(body: unknown, event: THookEvent): string | null {\n if (typeof body !== 'object' || body === null || Array.isArray(body)) return null;\n const record = body as Record<string, unknown>;\n\n if (record['continue'] === false) {\n return typeof record['stopReason'] === 'string' && record['stopReason']\n ? record['stopReason']\n : 'Blocked by hook (continue: false)';\n }\n if (event === 'UserPromptSubmit' && record['decision'] === 'block') {\n return typeof record['reason'] === 'string' && record['reason']\n ? record['reason']\n : 'Blocked by hook (decision: block)';\n }\n if (event === 'PreToolUse') {\n const specific = record['hookSpecificOutput'];\n if (typeof specific === 'object' && specific !== null) {\n if ((specific as Record<string, unknown>)['permissionDecision'] === 'deny') {\n return 'Blocked by hook (permissionDecision: deny)';\n }\n }\n }\n return null;\n}\n","/**\n * SEC-015 — the one decoder for a `{ ok, reason }` hook verdict.\n *\n * The HTTP, prompt, and agent executors all receive a hook's answer as this shape, and all three\n * decoded it the same wrong way: `(body as { ok: boolean }).ok` followed by a truthiness test. That\n * is not a decode, it is a coercion, and it fails in both directions — `{\"ok\": \"false\"}` is truthy\n * so the gate was disabled, while `{}` and `{\"ok\": null}` are falsy so a tool call was blocked by a\n * verdict no endpoint issued.\n *\n * `ok` must therefore be EXACTLY `true` or EXACTLY `false`. Everything else is the absence of a\n * verdict, not a quiet vote for one — UNLESS the same body carries an explicit block directive from\n * the Claude Code response protocol (`continue: false`, `decision: \"block\"`,\n * `permissionDecision: \"deny\"`), which is a decision the hook stated outright and which an\n * undecodable `ok` beside it does not retract — read with the same per-event scoping `runHooks`\n * applies (issue #2196), so decoder and runner cannot disagree about when a directive means anything.\n */\n\nimport { explicitBlockDirective } from './response-protocol.js';\n\nimport type { THookDefinition, THookEvent, THookOutcome } from './types.js';\n\n/** How much of an undecodable payload to quote back. Enough to identify it, not enough to flood a log. */\nconst REASON_EXCERPT_LIMIT = 200;\n\n/** A one-line, length-capped rendering of whatever arrived, for the `error` reason. */\nfunction excerpt(raw: string): string {\n const collapsed = raw.replace(/\\s+/g, ' ').trim();\n return collapsed.length > REASON_EXCERPT_LIMIT\n ? `${collapsed.slice(0, REASON_EXCERPT_LIMIT)}…`\n : collapsed;\n}\n\n/**\n * Decode a hook's RAW response text into an outcome — parsing included.\n *\n * Parsing lives here rather than at each call site because it was the same three lines in the HTTP,\n * prompt and agent executors, which is the shape this module exists to collapse. A body that is not\n * JSON and a body whose `ok` is not a boolean are both \"no verdict could be read\", and both quote\n * the payload back the same way.\n *\n * @param raw - The response text as it arrived.\n * @param source - The executor doing the decoding, carried onto the outcome for diagnostics.\n * @param event - The event the hook answered, which decides WHICH block directives count\n * (issue #2196): the decoder scopes them exactly as `runHooks` does.\n */\nexport function decodeHookVerdict(\n raw: string,\n source: THookDefinition['type'],\n event: THookEvent,\n): THookOutcome {\n let body: unknown;\n try {\n body = JSON.parse(raw) as unknown;\n } catch (err: unknown) {\n return {\n outcome: 'error',\n source,\n kind: 'malformed-response',\n reason: `Hook response is not valid JSON (${err instanceof Error ? err.message : String(err)}): ${excerpt(raw)}`,\n };\n }\n return decodeParsedVerdict(body, source, event, raw);\n}\n\n/** The decode proper, once the text is known to be JSON. Separated only so each half stays readable. */\nfunction decodeParsedVerdict(\n body: unknown,\n source: THookDefinition['type'],\n event: THookEvent,\n raw: string,\n): THookOutcome {\n if (typeof body !== 'object' || body === null || Array.isArray(body)) {\n return {\n outcome: 'error',\n source,\n kind: 'malformed-response',\n reason: `Hook response is not a JSON object: ${excerpt(raw)}`,\n };\n }\n\n const { ok, reason } = body as { ok?: unknown; reason?: unknown };\n\n if (ok === true) {\n return { outcome: 'allow', source, stdout: raw };\n }\n\n if (ok === false) {\n return {\n outcome: 'deny',\n source,\n reason: typeof reason === 'string' && reason ? reason : `Blocked by ${source} hook`,\n };\n }\n\n // Neither boolean, so the `{ ok }` verdict is undecodable. Before calling that \"no verdict\", ask\n // whether the SAME body carries an explicit block directive — `continue: false`,\n // `decision: \"block\"`, `permissionDecision: \"deny\"`. Those are unambiguous statements the hook\n // made outright, and an endpoint that wrote `{\"ok\": \"false\", \"continue\": false}` plainly meant to\n // block. Discarding that because `ok` was a string would be fail-open in an enforcement gate: the\n // same class of defect as reading the string as approval, pointed the other way. Which of the\n // three count is the event's call — the same scoping `runHooks` applies (issue #2196).\n const directive = explicitBlockDirective(body, event);\n if (directive !== null) {\n return { outcome: 'deny', source, reason: directive };\n }\n\n // Nothing in the body decided anything. Deliberately NOT folded into either verdict.\n return {\n outcome: 'error',\n source,\n kind: 'malformed-response',\n reason:\n ok === undefined\n ? `Hook response has no boolean \"ok\" field: ${excerpt(raw)}`\n : `Hook response \"ok\" is ${typeof ok}, not boolean: ${excerpt(raw)}`,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=class extends Error{context;constructor(e,t){super(e),this.context=t,this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}},t=class extends e{code=`CONFIGURATION_ERROR`;category=`user`;recoverable=!1;constructor(e,t){super(`Configuration Error: ${e}`,t)}},n=class extends e{field;code=`VALIDATION_ERROR`;category=`user`;recoverable=!1;constructor(e,t,n){super(`Validation Error: ${e}`,n),this.field=t}},r=class extends e{issues;attempts;code=`STRUCTURED_OUTPUT_ERROR`;category=`provider`;recoverable=!0;constructor(e,t,n,r){super(`Structured Output Error: ${e}`,r),this.issues=t,this.attempts=n}},i=class extends e{provider;originalError;code=`PROVIDER_ERROR`;category=`provider`;recoverable=!0;status;type;constructor(e,t,n,r,i){super(`Provider Error (${t}): ${e}`,r),this.provider=t,this.originalError=n,i?.status!==void 0&&(this.status=i.status),i?.type!==void 0&&(this.type=i.type)}},a=class extends e{provider;code=`AUTHENTICATION_ERROR`;category=`user`;recoverable=!1;constructor(e,t,n){super(`Authentication Error: ${e}`,n),this.provider=t}},o=class extends e{retryAfter;provider;code=`RATE_LIMIT_ERROR`;category=`provider`;recoverable=!0;constructor(e,t,n,r){super(`Rate Limit Error: ${e}`,r),this.retryAfter=t,this.provider=n}},s=class extends e{originalError;provider;code=`NETWORK_ERROR`;category=`system`;recoverable=!0;constructor(e,t,n,r){super(`Network Error: ${e}`,n),this.originalError=t,this.provider=r}},c=class extends e{toolName;originalError;code=`TOOL_EXECUTION_ERROR`;category=`system`;recoverable=!1;constructor(e,t,n,r){super(`Tool Execution Error (${t}): ${e}`,r),this.toolName=t,this.originalError=n}},l=class extends e{toolName;callCount;maxSameToolInputs;code=`SAME_TOOL_INPUT_LOOP`;category=`system`;recoverable=!0;constructor(e,t,n,r){super(`Tool "${e}" was called with identical input ${t} times, past the maxSameToolInputs limit of ${n} — stopping the turn to break the loop`,r),this.toolName=e,this.callCount=t,this.maxSameToolInputs=n}},u=class extends e{round;code=`EMPTY_COMPLETION`;category=`provider`;recoverable=!0;constructor(e,t){super(`Round ${e} ended with no tool call and no text response, and allowToolOnlyCompletion prevented the follow-up call that would otherwise recover it`,t),this.round=e}},d=class extends e{model;provider;availableModels;code=`MODEL_NOT_AVAILABLE`;category=`user`;recoverable=!1;constructor(e,t,n,r){let i=e===void 0?`No model available for provider "${t}"`:`Model "${e}" is not available for provider "${t}"`,a=r?.originalMessage;super(typeof a==`string`&&a.length>0?`${i}: ${a}`:i,r),this.model=e,this.provider=t,this.availableModels=n}},f=class extends e{code=`CIRCUIT_BREAKER_OPEN`;category=`system`;recoverable=!0;constructor(e=`Circuit breaker is open`,t){super(e,t)}},p=class extends e{pluginName;code=`PLUGIN_ERROR`;category=`system`;recoverable=!1;constructor(e,t,n){super(`Plugin Error (${t}): ${e}`,n),this.pluginName=t}},m=class extends e{code=`STORAGE_ERROR`;category=`system`;recoverable=!0;constructor(e,t){super(`Storage Error: ${e}`,t)}},h=class extends e{code=`CACHE_INTEGRITY_ERROR`;category=`system`;recoverable=!1;constructor(e,t){super(`Cache Integrity Error: ${e}`,t)}},g=class extends e{executable;code=`UNSUPPORTED_SHELL`;category=`user`;recoverable=!1;constructor(e){super(`Unsupported shell executable: ${e}`,{executable:e}),this.executable=e}};function _(e){return e===`darwin`?'Host OS: macOS (POSIX, BSD userland). Use BSD-flavored utilities: `sed -i ""` needs an empty backup arg, `date`/`grep`/`stat` flags differ from GNU. Prefer portable POSIX flags; avoid Linux/GNU-only options.':e===`linux`?"Host OS: Linux (POSIX, usually GNU coreutils, but distro/user setup varies). Prefer portable POSIX flags; do not assume a specific distro, and probe with `command -v` before relying on a non-standard tool.":`Host OS: ${e}; active shell family: POSIX sh/bash. Write portable POSIX syntax and avoid host-specific flags.`}function v(e,t){let n=x(e)===`bash`?`bash`:`sh`;return{command:e,kind:n,platform:t,commandArgs:e=>[`-c`,e],interactiveArgs:[],label:`${n} on ${t}`,syntaxHint:_(t)}}function y(e,t){return{command:e,kind:`powershell`,platform:t,commandArgs:e=>[`-NoProfile`,`-Command`,e],interactiveArgs:[`-NoProfile`],label:`PowerShell on ${t}`,syntaxHint:`Host OS: ${t}; active shell family: PowerShell. Write PowerShell syntax (not bash): e.g. \`Get-ChildItem\` not \`ls -la\`, \`\$env:VAR\` not \`\$VAR\`.`}}function b(e,t){return{command:e,kind:`cmd`,platform:t,commandArgs:e=>[`/d`,`/s`,`/c`,e],interactiveArgs:[],label:`cmd.exe on ${t}`,syntaxHint:`Host OS: ${t}; active shell family: Windows cmd.exe. Write cmd.exe syntax.`}}function x(e){return(e.split(/[\\/]/).at(-1)?.toLowerCase()??``).replace(/\.exe$/i,``)}function S(e,t){switch(x(e)){case`sh`:case`bash`:return v(e,t);case`powershell`:case`pwsh`:return y(e,t);case`cmd`:return b(e,t);default:throw new g(e)}}function C(e){let t=e?.trim();return t===void 0||t.length===0?void 0:t}function w(e={}){let t=e.env??process.env,n=e.platform??process.platform,r=C(e.executable);return r===void 0?n===`win32`?y(`powershell.exe`,n):v(C(t.SHELL)??`/bin/sh`,n):S(r,n)}const T=/^(?!0{32}$)[0-9a-f]{32}$/,E=/^(?!0{16}$)[0-9a-f]{16}$/;function D(e){return e.replaceAll(`-`,``).slice(0,16)}const O=D;function k(e){return E.test(e)}function A(e,t){if(!(!T.test(e)||!E.test(t)))return`00-${e}-${t}-01`}function j(e,t){if(e.allowedOrigins.length===0)return;let n=A(e.traceId,D(t));if(n!==void 0)return{traceparent:n,allowedOrigins:[...e.allowedOrigins]}}function M(e,t){return j(e,t)}function N(e,t,n){if(t?.subprocessClasses?.includes(e)!==!0)return;let r=A(t.traceId,n);return r===void 0?void 0:{TRACEPARENT:r}}function P(e,t,n={}){if(t===void 0||n.TRACEPARENT!==void 0)return{...e,...n};let{TRACESTATE:r,...i}=e;return{...i,...t,...n}}function F(e,t){if(e===void 0||t===void 0)return{};let n;try{n=new URL(e).origin}catch{return{}}return n===`null`||!t.allowedOrigins.includes(n)?{}:{traceparent:t.traceparent}}const I=e=>`\n…[output truncated: ${e} byte(s) dropped]`;function L(e){let t=e.retain??`head`,n=e.truncationMarker??I,r=Math.max(0,Math.floor(e.maxBytes)),i=new TextEncoder,a=[],o=0,s=0,c=e=>{let t=r-o;if(t<=0)return;let n=e.byteLength<=t?e:e.subarray(0,t);a.push(n),o+=n.byteLength},l=e=>{let t=e.byteLength<=r?e:e.subarray(e.byteLength-r);for(a.push(t),o+=t.byteLength;o>r&&a.length>0;){let e=a[0],t=o-r;e.byteLength<=t?(a.shift(),o-=e.byteLength):(a[0]=e.subarray(t),o-=t)}};return{append(e){let n=typeof e==`string`?i.encode(e):e;s+=n.byteLength,t===`head`?c(n):l(n)},get retainedBytes(){return o},get totalBytes(){return s},get droppedBytes(){return s-o},get truncated(){return s>o},toString(){let e=new Uint8Array(o),r=0;for(let t of a)e.set(t,r),r+=t.byteLength;a=a.length>1?[e]:a;let i=new TextDecoder().decode(e);if(s<=o)return i;let c=n(s-o);return t===`head`?`${i}${c}`:`${c.replace(/^\n/,``)}\n${i}`}}}export{e as C,c as D,r as E,n as O,o as S,m as T,u as _,O as a,p as b,M as c,g as d,w as f,t as g,f as h,j as i,N as l,h as m,A as n,D as o,a as p,k as r,P as s,L as t,F as u,d as v,l as w,i as x,s as y};
2
+ //# sourceMappingURL=bounded-output-Bgx2Cgkx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-output-Bgx2Cgkx.js","names":[],"sources":["../../src/utils/errors.ts","../../src/utils/platform-shell.ts","../../src/utils/trace-context.ts","../../src/utils/bounded-output.ts"],"sourcesContent":["/**\n * Reusable type definitions for error utilities\n */\n\n/**\n * Error context data type\n * Used for storing contextual information in error instances\n */\nexport type TErrorContextData = Record<\n string,\n string | number | boolean | Date | Error | string[] | undefined\n>;\n\n/**\n * Error external input type\n * Used for handling external errors from unknown sources\n */\nexport type TErrorExternalInput =\n Error | string | Record<string, string | number | boolean> | null | undefined;\n\n/**\n * Base error class for all Robota errors\n */\nexport abstract class RobotaError extends Error {\n abstract readonly code: string;\n abstract readonly category: 'user' | 'system' | 'provider';\n abstract readonly recoverable: boolean;\n\n constructor(\n message: string,\n public readonly context?: TErrorContextData,\n ) {\n super(message);\n this.name = this.constructor.name;\n\n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * Configuration related errors\n */\nexport class ConfigurationError extends RobotaError {\n readonly code = 'CONFIGURATION_ERROR';\n readonly category = 'user' as const;\n readonly recoverable = false;\n\n constructor(message: string, context?: TErrorContextData) {\n super(`Configuration Error: ${message}`, context);\n }\n}\n\n/**\n * Input validation errors\n */\nexport class ValidationError extends RobotaError {\n readonly code = 'VALIDATION_ERROR';\n readonly category = 'user' as const;\n readonly recoverable = false;\n\n constructor(\n message: string,\n public readonly field?: string,\n context?: TErrorContextData,\n ) {\n super(`Validation Error: ${message}`, context);\n }\n}\n\n/**\n * Structured output validation exhausted its retry budget (CORE-015).\n *\n * Thrown by `run(input, { output })` when the model's final response still fails\n * schema validation after the configured number of retries. `issues` holds the\n * validation messages from the last attempt; `attempts` is the total number of\n * provider turns spent (initial + retries).\n */\nexport class StructuredOutputError extends RobotaError {\n readonly code = 'STRUCTURED_OUTPUT_ERROR';\n readonly category = 'provider' as const;\n readonly recoverable = true;\n\n constructor(\n message: string,\n public readonly issues: string[],\n public readonly attempts: number,\n context?: TErrorContextData,\n ) {\n super(`Structured Output Error: ${message}`, context);\n }\n}\n\n/** What the vendor said about a failed call, as far as it said anything. */\nexport interface IProviderFailureDetails {\n /** The HTTP status of the failed response; absent for a failure with no response (e.g. an SSE error event). */\n status?: number;\n /** The vendor's own error type, e.g. Anthropic's `overloaded_error`. */\n type?: string;\n}\n\n/**\n * Provider related errors\n */\nexport class ProviderError extends RobotaError {\n readonly code = 'PROVIDER_ERROR';\n readonly category = 'provider' as const;\n readonly recoverable = true;\n readonly status?: number;\n readonly type?: string;\n\n constructor(\n message: string,\n public readonly provider: string,\n public readonly originalError?: Error,\n context?: TErrorContextData,\n details?: IProviderFailureDetails,\n ) {\n super(`Provider Error (${provider}): ${message}`, context);\n if (details?.status !== undefined) this.status = details.status;\n if (details?.type !== undefined) this.type = details.type;\n }\n}\n\n/**\n * Authentication errors\n */\nexport class AuthenticationError extends RobotaError {\n readonly code = 'AUTHENTICATION_ERROR';\n readonly category = 'user' as const;\n readonly recoverable = false;\n\n constructor(\n message: string,\n public readonly provider?: string,\n context?: TErrorContextData,\n ) {\n super(`Authentication Error: ${message}`, context);\n }\n}\n\n/**\n * Rate limit errors\n */\nexport class RateLimitError extends RobotaError {\n readonly code = 'RATE_LIMIT_ERROR';\n readonly category = 'provider' as const;\n readonly recoverable = true;\n\n constructor(\n message: string,\n public readonly retryAfter?: number,\n public readonly provider?: string,\n context?: TErrorContextData,\n ) {\n super(`Rate Limit Error: ${message}`, context);\n }\n}\n\n/**\n * Network/connectivity errors\n */\nexport class NetworkError extends RobotaError {\n readonly code = 'NETWORK_ERROR';\n readonly category = 'system' as const;\n readonly recoverable = true;\n\n constructor(\n message: string,\n public readonly originalError?: Error,\n context?: TErrorContextData,\n /** `undefined` for a network failure with no provider context (e.g. a generic timeout). */\n public readonly provider?: string,\n ) {\n super(`Network Error: ${message}`, context);\n }\n}\n\n/**\n * Tool execution errors\n */\nexport class ToolExecutionError extends RobotaError {\n readonly code = 'TOOL_EXECUTION_ERROR';\n readonly category = 'system' as const;\n readonly recoverable = false;\n\n constructor(\n message: string,\n public readonly toolName: string,\n public readonly originalError?: Error,\n context?: TErrorContextData,\n ) {\n super(`Tool Execution Error (${toolName}): ${message}`, context);\n }\n}\n\n/**\n * The same-tool-input loop guard tripped — CORE-035.\n *\n * A tool was invoked with byte-identical serialized inputs more times than `maxSameToolInputs`\n * allows, so the turn stopped rather than looping. This is the AGENT giving up, not the user\n * cancelling: the SPEC used to promise an `AbortError` here, which `isAbortFailure` resolves as\n * `success: true, interrupted: true` — reporting a run that produced no answer as a success.\n *\n * Named rather than a bare `Error` for the reason the SPEC was reaching for by naming a type at all:\n * a caller must be able to tell \"the agent looped\" from \"the network died\". `RobotaError` carries\n * `code`/`category`/`recoverable` out through CORE-027's failure path intact.\n *\n * `recoverable` is TRUE: the loop is a property of this turn's prompt and tool set, not of the\n * system, and a caller that varies either can reasonably try again.\n */\nexport class SameToolInputLoopError extends RobotaError {\n readonly code = 'SAME_TOOL_INPUT_LOOP';\n readonly category = 'system' as const;\n readonly recoverable = true;\n\n constructor(\n public readonly toolName: string,\n public readonly callCount: number,\n public readonly maxSameToolInputs: number,\n context?: TErrorContextData,\n ) {\n super(\n `Tool \"${toolName}\" was called with identical input ${callCount} times, past the ` +\n `maxSameToolInputs limit of ${maxSameToolInputs} — stopping the turn to break the loop`,\n context,\n );\n }\n}\n\n/**\n * A turn ended with neither a tool result nor a final text response while `allowToolOnlyCompletion`\n * was set.\n *\n * `allowToolOnlyCompletion` only WIDENS what counts as a valid finish (a tool call alone, with no\n * final text after it); it never narrows the ordinary case. Without the flag, a round that produces\n * neither is recovered by one more provider call asking for a summary (`forceSummaryCall`). Setting\n * the flag is what turns that rescue off — a decision agent wants exactly one provider call, never a\n * follow-up — so a round that produces neither has nothing left to recover it. That is a genuinely\n * unanswered turn, not the internal `[STRICT-POLICY]` result-shape violation an actually malformed\n * execution result trips; a caller must be able to catch this by type instead of parsing that message.\n *\n * `recoverable` is TRUE: like `SameToolInputLoopError`, this is a property of this turn's prompt and\n * model response, not of the system, and a caller that varies either can reasonably try again.\n */\nexport class EmptyCompletionError extends RobotaError {\n readonly code = 'EMPTY_COMPLETION';\n readonly category = 'provider' as const;\n readonly recoverable = true;\n\n constructor(\n public readonly round: number,\n context?: TErrorContextData,\n ) {\n super(\n `Round ${round} ended with no tool call and no text response, and allowToolOnlyCompletion ` +\n 'prevented the follow-up call that would otherwise recover it',\n context,\n );\n }\n}\n\n/**\n * Model not available errors\n */\nexport class ModelNotAvailableError extends RobotaError {\n readonly code = 'MODEL_NOT_AVAILABLE';\n readonly category = 'user' as const;\n readonly recoverable = false;\n\n constructor(\n /** `undefined` when the failure names no model — a provider adapter classifying a raw HTTP\n * response by status alone does not always know which model the vendor meant. */\n public readonly model: string | undefined,\n public readonly provider: string,\n public readonly availableModels?: string[],\n /**\n * `context.originalMessage`, when given, is the vendor's own text (already scrubbed of any\n * credential by the caller) — folded into `message` so a \"Details\" disclosure built from\n * `message` alone still shows the real cause instead of just this class's fixed sentence.\n */\n context?: TErrorContextData,\n ) {\n const base =\n model !== undefined\n ? `Model \"${model}\" is not available for provider \"${provider}\"`\n : `No model available for provider \"${provider}\"`;\n const detail = context?.['originalMessage'];\n super(typeof detail === 'string' && detail.length > 0 ? `${base}: ${detail}` : base, context);\n }\n}\n\n/**\n * Circuit breaker open error\n */\nexport class CircuitBreakerOpenError extends RobotaError {\n readonly code = 'CIRCUIT_BREAKER_OPEN';\n readonly category = 'system' as const;\n readonly recoverable = true;\n\n constructor(message: string = 'Circuit breaker is open', context?: TErrorContextData) {\n super(message, context);\n }\n}\n\n/**\n * Plugin errors\n */\nexport class PluginError extends RobotaError {\n readonly code = 'PLUGIN_ERROR';\n readonly category = 'system' as const;\n readonly recoverable = false;\n\n constructor(\n message: string,\n public readonly pluginName: string,\n context?: TErrorContextData,\n ) {\n super(`Plugin Error (${pluginName}): ${message}`, context);\n }\n}\n\n/**\n * Storage related errors\n */\nexport class StorageError extends RobotaError {\n readonly code = 'STORAGE_ERROR';\n readonly category = 'system' as const;\n readonly recoverable = true;\n\n constructor(message: string, context?: TErrorContextData) {\n super(`Storage Error: ${message}`, context);\n }\n}\n\n/**\n * Cache integrity validation errors\n */\nexport class CacheIntegrityError extends RobotaError {\n readonly code = 'CACHE_INTEGRITY_ERROR';\n readonly category = 'system' as const;\n readonly recoverable = false;\n\n constructor(message: string, context?: TErrorContextData) {\n super(`Cache Integrity Error: ${message}`, context);\n }\n}\n","/**\n * TERM-008: cross-platform shell resolution (SSOT).\n *\n * Single source of truth for \"which shell do we spawn, and how\", shared by every shell-running site.\n * Resolution is a pure function of one request so every branch is testable without the host shell.\n */\n\nimport { RobotaError } from './errors.js';\n\n/** Shell family — drives non-interactive arg shape, quoting, and LLM syntax guidance. */\nexport type TShellKind = 'bash' | 'sh' | 'powershell' | 'cmd';\n\n/** The active shell resolved for a platform, plus the metadata callers need to drive and describe it. */\nexport interface IPlatformShell {\n /** Executable to spawn (e.g. `/bin/sh`, `powershell.exe`, or `$SHELL`). */\n readonly command: string;\n /** Shell family. */\n readonly kind: TShellKind;\n /** Node platform this was resolved for (`process.platform`). */\n readonly platform: NodeJS.Platform;\n /** Args to run a single command string non-interactively. */\n commandArgs(command: string): string[];\n /** Args for an interactive shell session (drop-to-shell). */\n readonly interactiveArgs: string[];\n /** Human label for the active shell, for tool/UI descriptions (e.g. `PowerShell (Windows)`). */\n readonly label: string;\n /** One-line syntax guidance for an LLM authoring commands. */\n readonly syntaxHint: string;\n}\n\n/** Pure inputs for resolving one executable together with its command argument family. */\nexport interface IPlatformShellResolutionRequest {\n /** Request-local executable. A non-blank value has the highest precedence. */\n readonly executable?: string;\n /** Environment used for SHELL resolution. */\n readonly env?: NodeJS.ProcessEnv;\n /** Actual host platform retained in the resolved metadata. */\n readonly platform?: NodeJS.Platform;\n}\n\n/** An explicit executable whose basename has no supported command argument family. */\nexport class UnsupportedShellError extends RobotaError {\n readonly code = 'UNSUPPORTED_SHELL';\n readonly category = 'user' as const;\n readonly recoverable = false;\n\n constructor(public readonly executable: string) {\n super(`Unsupported shell executable: ${executable}`, { executable });\n }\n}\n\n/**\n * OS-family syntax guidance for the LLM. macOS and Linux are both POSIX but ship different userlands\n * (macOS = BSD coreutils, most Linux = GNU coreutils), so flags like `sed -i`, `date`, and `grep`\n * differ — naming the OS lets the model avoid Linux-only invocations on macOS and vice versa.\n */\nfunction posixSyntaxHint(platform: NodeJS.Platform): string {\n if (platform === 'darwin') {\n return 'Host OS: macOS (POSIX, BSD userland). Use BSD-flavored utilities: `sed -i \"\"` needs an empty backup arg, `date`/`grep`/`stat` flags differ from GNU. Prefer portable POSIX flags; avoid Linux/GNU-only options.';\n }\n if (platform === 'linux') {\n return 'Host OS: Linux (POSIX, usually GNU coreutils, but distro/user setup varies). Prefer portable POSIX flags; do not assume a specific distro, and probe with `command -v` before relying on a non-standard tool.';\n }\n return `Host OS: ${platform}; active shell family: POSIX sh/bash. Write portable POSIX syntax and avoid host-specific flags.`;\n}\n\nfunction posixShell(command: string, platform: NodeJS.Platform): IPlatformShell {\n const isBash = shellBasename(command) === 'bash';\n const kind: TShellKind = isBash ? 'bash' : 'sh';\n return {\n command,\n kind,\n platform,\n commandArgs: (cmd: string): string[] => ['-c', cmd],\n interactiveArgs: [],\n label: `${kind} on ${platform}`,\n syntaxHint: posixSyntaxHint(platform),\n };\n}\n\nfunction powerShell(command: string, platform: NodeJS.Platform): IPlatformShell {\n return {\n command,\n kind: 'powershell',\n platform,\n commandArgs: (cmd: string): string[] => ['-NoProfile', '-Command', cmd],\n interactiveArgs: ['-NoProfile'],\n label: `PowerShell on ${platform}`,\n syntaxHint:\n `Host OS: ${platform}; active shell family: PowerShell. Write PowerShell syntax (not bash): e.g. ` +\n '`Get-ChildItem` not `ls -la`, `$env:VAR` not `$VAR`.',\n };\n}\n\nfunction cmdShell(command: string, platform: NodeJS.Platform): IPlatformShell {\n return {\n command,\n kind: 'cmd',\n platform,\n commandArgs: (cmd: string): string[] => ['/d', '/s', '/c', cmd],\n interactiveArgs: [],\n label: `cmd.exe on ${platform}`,\n syntaxHint: `Host OS: ${platform}; active shell family: Windows cmd.exe. Write cmd.exe syntax.`,\n };\n}\n\nfunction shellBasename(command: string): string {\n const basename = command.split(/[\\\\/]/).at(-1)?.toLowerCase() ?? '';\n return basename.replace(/\\.exe$/i, '');\n}\n\nfunction explicitShell(command: string, platform: NodeJS.Platform): IPlatformShell {\n switch (shellBasename(command)) {\n case 'sh':\n case 'bash':\n return posixShell(command, platform);\n case 'powershell':\n case 'pwsh':\n return powerShell(command, platform);\n case 'cmd':\n return cmdShell(command, platform);\n default:\n throw new UnsupportedShellError(command);\n }\n}\n\nfunction nonBlank(value: string | undefined): string | undefined {\n const trimmed = value?.trim();\n return trimmed === undefined || trimmed.length === 0 ? undefined : trimmed;\n}\n\n/**\n * Resolve the shell to spawn for the current (or a given) platform.\n *\n * - request `executable` wins when non-blank.\n * - **win32:** PowerShell.\n * - **posix:** `$SHELL` if set, else `/bin/sh`.\n */\nexport function resolvePlatformShell(\n request: IPlatformShellResolutionRequest = {},\n): IPlatformShell {\n const env = request.env ?? process.env;\n const platform = request.platform ?? process.platform;\n const requestedExecutable = nonBlank(request.executable);\n if (requestedExecutable !== undefined) return explicitShell(requestedExecutable, platform);\n\n if (platform === 'win32') return powerShell('powershell.exe', platform);\n\n return posixShell(nonBlank(env['SHELL']) ?? '/bin/sh', platform);\n}\n","/**\n * Pure helpers for trusted W3C trace context. Strings and the WHATWG `URL` only, so they are the\n * same in the browser build and in every adapter that attaches the header.\n */\nimport type {\n IOutboundTraceContext,\n IRunTraceContext,\n ISubprocessTraceEnv,\n TSubprocessTraceClass,\n} from '../interfaces/trace-context';\n\nconst TRACE_ID = /^(?!0{32}$)[0-9a-f]{32}$/;\nconst SPAN_ID = /^(?!0{16}$)[0-9a-f]{16}$/;\n\n/**\n * The span ID an operation is exported under, derived from the ID core mints before it runs (a\n * provider call's call ID, a tool body's body ID). One derivation for both the exporter and the\n * outgoing header, so the span a recipient sees as its parent is the span the trace contains.\n */\nexport function spanIdFromMintedId(mintedId: string): string {\n return mintedId.replaceAll('-', '').slice(0, 16);\n}\n\n/** The provider-call name for {@link spanIdFromMintedId}, kept so existing callers keep working. */\nexport const providerCallSpanId: (callId: string) => string = spanIdFromMintedId;\n\n/** Whether `spanId` is a well-formed minted span ID: 16 lowercase hex characters, not all zero. */\nexport function isMintedSpanId(spanId: string): boolean {\n return SPAN_ID.test(spanId);\n}\n\n/** A sampled version-00 `traceparent`, or undefined when either identifier is invalid. */\nexport function buildTraceparent(traceId: string, spanId: string): string | undefined {\n if (!TRACE_ID.test(traceId) || !SPAN_ID.test(spanId)) return undefined;\n return `00-${traceId}-${spanId}-01`;\n}\n\n/** The outbound context for one invoked call, or undefined when there is nothing valid to send. */\nexport function outboundTraceContextFor(\n traceContext: IRunTraceContext,\n callId: string,\n): IOutboundTraceContext | undefined {\n if (traceContext.allowedOrigins.length === 0) return undefined;\n const traceparent = buildTraceparent(traceContext.traceId, spanIdFromMintedId(callId));\n if (traceparent === undefined) return undefined;\n return { traceparent, allowedOrigins: [...traceContext.allowedOrigins] };\n}\n\n/**\n * The outbound context for one tool body, keyed by the body ID core minted for it — never the\n * vendor's tool call ID, which is neither unique nor hex.\n */\nexport function toolTraceContextFor(\n traceContext: IRunTraceContext,\n toolBodyId: string,\n): IOutboundTraceContext | undefined {\n return outboundTraceContextFor(traceContext, toolBodyId);\n}\n\n/**\n * The environment one child process of `subprocessClass` receives, naming `spanId` as its parent,\n * or undefined when the host did not enable that class. Independent of the origin allowlist.\n */\nexport function traceEnvFor(\n subprocessClass: TSubprocessTraceClass,\n traceContext: IRunTraceContext | undefined,\n spanId: string,\n): ISubprocessTraceEnv | undefined {\n if (traceContext?.subprocessClasses?.includes(subprocessClass) !== true) return undefined;\n const traceparent = buildTraceparent(traceContext.traceId, spanId);\n return traceparent === undefined ? undefined : { TRACEPARENT: traceparent };\n}\n\n/**\n * A fresh child environment: `base`, then Robota's trace, then `overrides`. When Robota's value\n * applies, the ambient `TRACESTATE` is dropped because it belongs to a different parent. When\n * `overrides` sets its own `TRACEPARENT`, Robota's value does not apply and `base` passes unchanged.\n * `base` itself is never modified.\n */\nexport function subprocessTraceEnvironment(\n base: Readonly<Record<string, string | undefined>>,\n traceEnv: ISubprocessTraceEnv | undefined,\n overrides: Readonly<Record<string, string>> = {},\n): Record<string, string | undefined> {\n if (traceEnv === undefined || overrides['TRACEPARENT'] !== undefined) return { ...base, ...overrides };\n const { TRACESTATE: _ambientState, ...rest } = base;\n return { ...rest, ...traceEnv, ...overrides };\n}\n\n/**\n * The headers to add to a request whose effective base URL is `baseUrl`: `traceparent` when its\n * origin exactly equals a listed origin, nothing otherwise. Scheme, host and port must all match;\n * a subdomain or a different port is a different origin.\n */\nexport function traceHeadersFor(\n baseUrl: string | undefined,\n traceContext: IOutboundTraceContext | undefined,\n): Readonly<Record<string, string>> {\n if (baseUrl === undefined || traceContext === undefined) return {};\n let origin: string;\n try {\n origin = new URL(baseUrl).origin;\n } catch {\n return {};\n }\n if (origin === 'null' || !traceContext.allowedOrigins.includes(origin)) return {};\n return { traceparent: traceContext.traceparent };\n}\n","/**\n * ARCH-056 (#2161): the bounded output-retention contract for child-process execution.\n *\n * Every path that reads a child's stdout/stderr must bound memory WHILE the output is being read —\n * not cap a summary afterwards while retaining the whole log. Before this existed, `shell-tool`\n * could buffer for ten minutes, the hook `CommandExecutor` repeated the pattern, and a subagent\n * runner had rediscovered a 4 KiB tail on its own. This module names the policy once:\n *\n * - **Budget.** `maxBytes` is the most that is ever RETAINED; bytes beyond it are dropped as they\n * arrive, so memory is bounded by the budget, not by the child's lifetime.\n * - **Retention.** `head` keeps the first `maxBytes` (a tool result: what the command said first);\n * `tail` keeps the last `maxBytes` (a diagnostic: how it ended).\n * - **Truncation is visible.** `truncated`, `droppedBytes` and a marker in `toString()` say that\n * output was dropped and how much — never a silently shorter string.\n * - **No spill.** This contract never writes to disk; a caller that needs the whole stream owns a\n * log file (background tasks do), and this buffer is what stays in memory beside it.\n * - **Termination is not here.** Exceeding the budget drops bytes; whether the child is killed is\n * the caller's policy (CORE-023 owns process-tree termination).\n *\n * Chunks are `Uint8Array` (a Node `Buffer` is one), and decoding happens once at `toString()`, so a\n * multi-byte character split across a chunk boundary is never decoded twice.\n */\n\nexport type TOutputRetention = 'head' | 'tail';\n\nexport interface IBoundedOutputOptions {\n /** Most bytes ever retained. */\n readonly maxBytes: number;\n /** Which end to keep once over budget. Default `head`. */\n readonly retain?: TOutputRetention;\n /** Marker appended (head) or prepended (tail) to `toString()` when bytes were dropped. */\n readonly truncationMarker?: (droppedBytes: number) => string;\n}\n\nexport interface IBoundedOutput {\n append(chunk: Uint8Array | string): void;\n /** Bytes currently retained (≤ `maxBytes`). */\n readonly retainedBytes: number;\n /** Bytes the child produced in total, retained or not. */\n readonly totalBytes: number;\n readonly droppedBytes: number;\n readonly truncated: boolean;\n /** The retained output, decoded as UTF-8, with the truncation marker when bytes were dropped. */\n toString(): string;\n}\n\nconst DEFAULT_MARKER = (dropped: number): string =>\n `\\n…[output truncated: ${dropped} byte(s) dropped]`;\n\nexport function createBoundedOutput(options: IBoundedOutputOptions): IBoundedOutput {\n const retain = options.retain ?? 'head';\n const marker = options.truncationMarker ?? DEFAULT_MARKER;\n const maxBytes = Math.max(0, Math.floor(options.maxBytes));\n const encoder = new TextEncoder();\n let chunks: Uint8Array[] = [];\n let retained = 0;\n let total = 0;\n\n const appendHead = (bytes: Uint8Array): void => {\n const room = maxBytes - retained;\n if (room <= 0) return;\n const kept = bytes.byteLength <= room ? bytes : bytes.subarray(0, room);\n chunks.push(kept);\n retained += kept.byteLength;\n };\n\n const appendTail = (bytes: Uint8Array): void => {\n const kept = bytes.byteLength <= maxBytes ? bytes : bytes.subarray(bytes.byteLength - maxBytes);\n chunks.push(kept);\n retained += kept.byteLength;\n // Drop whole leading chunks first, then trim the oldest survivor — O(chunks), no re-copying.\n while (retained > maxBytes && chunks.length > 0) {\n const oldest = chunks[0] as Uint8Array;\n const excess = retained - maxBytes;\n if (oldest.byteLength <= excess) {\n chunks.shift();\n retained -= oldest.byteLength;\n } else {\n chunks[0] = oldest.subarray(excess);\n retained -= excess;\n }\n }\n };\n\n return {\n append(chunk) {\n const bytes = typeof chunk === 'string' ? encoder.encode(chunk) : chunk;\n total += bytes.byteLength;\n if (retain === 'head') appendHead(bytes);\n else appendTail(bytes);\n },\n get retainedBytes() {\n return retained;\n },\n get totalBytes() {\n return total;\n },\n get droppedBytes() {\n return total - retained;\n },\n get truncated() {\n return total > retained;\n },\n toString() {\n const joined = new Uint8Array(retained);\n let offset = 0;\n for (const chunk of chunks) {\n joined.set(chunk, offset);\n offset += chunk.byteLength;\n }\n chunks = chunks.length > 1 ? [joined] : chunks;\n const text = new TextDecoder().decode(joined);\n if (total <= retained) return text;\n const note = marker(total - retained);\n return retain === 'head' ? `${text}${note}` : `${note.replace(/^\\n/, '')}\\n${text}`;\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime-DWNI8pZO.cjs"),t=require("./verdict-decoder-D412SAGd.cjs");let n=require("node:child_process");var r=e.t({CommandExecutor:()=>s});const i=1e6;function a(e,n){let r=t.i({maxBytes:i}),a=t.i({maxBytes:i,retain:`tail`});return e.stdout?.on(`data`,e=>r.append(e)),e.stderr?.on(`data`,e=>a.append(e)),e.stdin?.on(`error`,()=>{}),e.stdin?.write(n),e.stdin?.end(),{stdoutOutput:r,stderrOutput:a}}function o(e,t,n,r){if(e===0)return{outcome:`allow`,source:`command`,stdout:n};if(e===2)return{outcome:`deny`,source:`command`,reason:r.trim()||`Blocked by hook`};let i=r.trim()?`: ${r.trim()}`:``;return{outcome:`error`,source:`command`,kind:`nonzero-exit`,reason:e===null?`Hook terminated by signal ${t??`unknown`}${i}`:`Hook exited ${e}${i}`}}var s=class{shellExecutable;type=`command`;constructor(e){this.shellExecutable=e}execute(e,r,i){let s=e.timeout??600,c=s*1e3,l=JSON.stringify(r);return new Promise(u=>{let d=!1,f=t.h({executable:this.shellExecutable}),p=(0,n.spawn)(f.command,f.commandArgs(e.command),{cwd:r.cwd,env:t.u(process.env,i,r.env)}),{stdoutOutput:m,stderrOutput:h}=a(p,l),g=setTimeout(()=>{d||(d=!0,p.kill(`SIGTERM`),u({outcome:`error`,source:`command`,kind:`timeout`,reason:`Hook timed out after ${s}s`}))},c);p.on(`close`,(e,t)=>{d||(d=!0,clearTimeout(g),u(o(e,t,m.toString(),h.toString())))}),p.on(`error`,e=>{d||(d=!0,clearTimeout(g),u({outcome:`error`,source:`command`,kind:`spawn-failure`,reason:e.message}))})})}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
1
+ const e=require("./rolldown-runtime-DWNI8pZO.cjs"),t=require("./verdict-decoder-DIHay1ul.cjs");let n=require("node:child_process");var r=e.t({CommandExecutor:()=>s});const i=1e6;function a(e,n){let r=t.i({maxBytes:i}),a=t.i({maxBytes:i,retain:`tail`});return e.stdout?.on(`data`,e=>r.append(e)),e.stderr?.on(`data`,e=>a.append(e)),e.stdin?.on(`error`,()=>{}),e.stdin?.write(n),e.stdin?.end(),{stdoutOutput:r,stderrOutput:a}}function o(e,t,n,r){if(e===0)return{outcome:`allow`,source:`command`,stdout:n};if(e===2)return{outcome:`deny`,source:`command`,reason:r.trim()||`Blocked by hook`};let i=r.trim()?`: ${r.trim()}`:``;return{outcome:`error`,source:`command`,kind:`nonzero-exit`,reason:e===null?`Hook terminated by signal ${t??`unknown`}${i}`:`Hook exited ${e}${i}`}}var s=class{shellExecutable;type=`command`;constructor(e){this.shellExecutable=e}execute(e,r,i){let s=e.timeout??600,c=s*1e3,l=JSON.stringify(r);return new Promise(u=>{let d=!1,f=t.h({executable:this.shellExecutable}),p=(0,n.spawn)(f.command,f.commandArgs(e.command),{cwd:r.cwd,env:t.u(process.env,i,r.env)}),{stdoutOutput:m,stderrOutput:h}=a(p,l),g=setTimeout(()=>{d||(d=!0,p.kill(`SIGTERM`),u({outcome:`error`,source:`command`,kind:`timeout`,reason:`Hook timed out after ${s}s`}))},c);p.on(`close`,(e,t)=>{d||(d=!0,clearTimeout(g),u(o(e,t,m.toString(),h.toString())))}),p.on(`error`,e=>{d||(d=!0,clearTimeout(g),u({outcome:`error`,source:`command`,kind:`spawn-failure`,reason:e.message}))})})}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}});
@@ -1,2 +1,2 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{f as t,s as n,t as r}from"./bounded-output-D3cgiOrh.js";import{spawn as i}from"node:child_process";var a=e({CommandExecutor:()=>l});const o=1e6;function s(e,t){let n=r({maxBytes:o}),i=r({maxBytes:o,retain:`tail`});return e.stdout?.on(`data`,e=>n.append(e)),e.stderr?.on(`data`,e=>i.append(e)),e.stdin?.on(`error`,()=>{}),e.stdin?.write(t),e.stdin?.end(),{stdoutOutput:n,stderrOutput:i}}function c(e,t,n,r){if(e===0)return{outcome:`allow`,source:`command`,stdout:n};if(e===2)return{outcome:`deny`,source:`command`,reason:r.trim()||`Blocked by hook`};let i=r.trim()?`: ${r.trim()}`:``;return{outcome:`error`,source:`command`,kind:`nonzero-exit`,reason:e===null?`Hook terminated by signal ${t??`unknown`}${i}`:`Hook exited ${e}${i}`}}var l=class{shellExecutable;type=`command`;constructor(e){this.shellExecutable=e}execute(e,r,a){let o=e.timeout??600,l=o*1e3,u=JSON.stringify(r);return new Promise(d=>{let f=!1,p=t({executable:this.shellExecutable}),m=i(p.command,p.commandArgs(e.command),{cwd:r.cwd,env:n(process.env,a,r.env)}),{stdoutOutput:h,stderrOutput:g}=s(m,u),_=setTimeout(()=>{f||(f=!0,m.kill(`SIGTERM`),d({outcome:`error`,source:`command`,kind:`timeout`,reason:`Hook timed out after ${o}s`}))},l);m.on(`close`,(e,t)=>{f||(f=!0,clearTimeout(_),d(c(e,t,h.toString(),g.toString())))}),m.on(`error`,e=>{f||(f=!0,clearTimeout(_),d({outcome:`error`,source:`command`,kind:`spawn-failure`,reason:e.message}))})})}};export{a as n,l as t};
2
- //# sourceMappingURL=command-executor-BdE1zg3q.js.map
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{f as t,s as n,t as r}from"./bounded-output-Bgx2Cgkx.js";import{spawn as i}from"node:child_process";var a=e({CommandExecutor:()=>l});const o=1e6;function s(e,t){let n=r({maxBytes:o}),i=r({maxBytes:o,retain:`tail`});return e.stdout?.on(`data`,e=>n.append(e)),e.stderr?.on(`data`,e=>i.append(e)),e.stdin?.on(`error`,()=>{}),e.stdin?.write(t),e.stdin?.end(),{stdoutOutput:n,stderrOutput:i}}function c(e,t,n,r){if(e===0)return{outcome:`allow`,source:`command`,stdout:n};if(e===2)return{outcome:`deny`,source:`command`,reason:r.trim()||`Blocked by hook`};let i=r.trim()?`: ${r.trim()}`:``;return{outcome:`error`,source:`command`,kind:`nonzero-exit`,reason:e===null?`Hook terminated by signal ${t??`unknown`}${i}`:`Hook exited ${e}${i}`}}var l=class{shellExecutable;type=`command`;constructor(e){this.shellExecutable=e}execute(e,r,a){let o=e.timeout??600,l=o*1e3,u=JSON.stringify(r);return new Promise(d=>{let f=!1,p=t({executable:this.shellExecutable}),m=i(p.command,p.commandArgs(e.command),{cwd:r.cwd,env:n(process.env,a,r.env)}),{stdoutOutput:h,stderrOutput:g}=s(m,u),_=setTimeout(()=>{f||(f=!0,m.kill(`SIGTERM`),d({outcome:`error`,source:`command`,kind:`timeout`,reason:`Hook timed out after ${o}s`}))},l);m.on(`close`,(e,t)=>{f||(f=!0,clearTimeout(_),d(c(e,t,h.toString(),g.toString())))}),m.on(`error`,e=>{f||(f=!0,clearTimeout(_),d({outcome:`error`,source:`command`,kind:`spawn-failure`,reason:e.message}))})})}};export{a as n,l as t};
2
+ //# sourceMappingURL=command-executor-d6DdfUTD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-executor-BdE1zg3q.js","names":[],"sources":["../../src/hooks/executors/command-executor.ts"],"sourcesContent":["/**\n * Command hook executor — executes shell commands with JSON input on stdin.\n *\n * Exit-code mapping (SEC-015):\n * - `0` → `allow`, stdout carried for the runner's response-protocol decode\n * - `2` → `deny`, stderr carried as the reason\n * - any other code → `error` / `nonzero-exit`\n * - killed by a signal (exit code `null`) → `error` / `nonzero-exit`, signal named in the reason\n * - deadline elapsed → `error` / `timeout`\n * - the process never started → `error` / `spawn-failure`\n *\n * The last four used to be one number. A missing binary exits `127` and a timeout resolved `1`, and\n * the runner discarded both alike, so a gate that never ran was indistinguishable from one that\n * approved.\n */\n\nimport { spawn } from 'node:child_process';\n\nimport { createBoundedOutput, type IBoundedOutput } from '../../utils/bounded-output.js';\nimport { resolvePlatformShell } from '../../utils/platform-shell.js';\nimport { subprocessTraceEnvironment } from '../../utils/trace-context.js';\n\nimport type { ISubprocessTraceEnv } from '../../interfaces/trace-context.js';\nimport type {\n ICommandHookDefinition,\n IHookInput,\n THookOutcome,\n IHookTypeExecutor,\n} from '../types.js';\n\n/** Default timeout in seconds — matches Claude Code's 600s default */\nconst DEFAULT_TIMEOUT_SECONDS = 600;\n/** ARCH-056: most bytes retained per hook stream (stdout head, stderr tail). */\nconst MAX_HOOK_OUTPUT_BYTES = 1_000_000;\n\n/**\n * How a finished process maps onto an outcome — a pure function of what the process reported.\n *\n * Extracted from `execute` because it is the part that carries the contract: `execute` owns spawning\n * and settling exactly once, this owns what the result MEANS, and the two change for different\n * reasons.\n */\n/**\n * Attach the output collectors and feed the hook input to stdin.\n *\n * Separated from `execute` so the promise body reads as the three things that can settle it —\n * timeout, close, spawn error — rather than as stream plumbing interleaved with them. The\n * `settled` guard those three share is the invariant worth keeping visible in one place.\n */\nfunction wireChildIo(\n child: ReturnType<typeof spawn>,\n inputJson: string,\n): { stdoutOutput: IBoundedOutput; stderrOutput: IBoundedOutput } {\n // ARCH-056: bounded while reading; a hook that floods stdout cannot grow the parent's memory.\n const stdoutOutput = createBoundedOutput({ maxBytes: MAX_HOOK_OUTPUT_BYTES });\n const stderrOutput = createBoundedOutput({ maxBytes: MAX_HOOK_OUTPUT_BYTES, retain: 'tail' });\n child.stdout?.on('data', (chunk: Buffer) => stdoutOutput.append(chunk));\n child.stderr?.on('data', (chunk: Buffer) => stderrOutput.append(chunk));\n child.stdin?.on('error', () => {\n // EPIPE: child closed stdin before we finished writing — safe to ignore\n });\n child.stdin?.write(inputJson);\n child.stdin?.end();\n return { stdoutOutput, stderrOutput };\n}\n\nfunction outcomeOfExit(\n code: number | null,\n signal: NodeJS.Signals | null,\n stdout: string,\n stderr: string,\n): THookOutcome {\n if (code === 0) return { outcome: 'allow', source: 'command', stdout };\n if (code === 2) {\n return { outcome: 'deny', source: 'command', reason: stderr.trim() || 'Blocked by hook' };\n }\n const detail = stderr.trim() ? `: ${stderr.trim()}` : '';\n return {\n outcome: 'error',\n source: 'command',\n kind: 'nonzero-exit',\n // `code === null` means a signal ended it. That is not an exit code and must not be read as\n // one — the old `code ?? 1` made a SIGKILLed hook indistinguishable from one that exited 1.\n reason:\n code === null\n ? `Hook terminated by signal ${signal ?? 'unknown'}${detail}`\n : `Hook exited ${code}${detail}`,\n };\n}\n\nexport class CommandExecutor implements IHookTypeExecutor {\n readonly type = 'command' as const;\n\n constructor(private readonly shellExecutable?: string) {}\n\n /**\n * `traceEnv` is the prompt's trace for this child, handed separately so it never reaches the\n * stdin JSON. The child sees `process.env`, then Robota's value, then the hook's own `env`; a hook\n * that sets its own `TRACEPARENT` wins and gets the ambient environment unchanged.\n */\n execute(\n definition: ICommandHookDefinition,\n input: IHookInput,\n traceEnv?: ISubprocessTraceEnv,\n ): Promise<THookOutcome> {\n const timeoutSeconds = definition.timeout ?? DEFAULT_TIMEOUT_SECONDS;\n const timeoutMs = timeoutSeconds * 1000;\n const inputJson = JSON.stringify(input);\n\n return new Promise<THookOutcome>((resolve) => {\n let settled = false;\n const shell = resolvePlatformShell({ executable: this.shellExecutable });\n const child = spawn(shell.command, shell.commandArgs(definition.command), {\n cwd: input.cwd,\n env: subprocessTraceEnvironment(process.env, traceEnv, input.env),\n });\n const { stdoutOutput, stderrOutput } = wireChildIo(child, inputJson);\n\n const timer = setTimeout(() => {\n if (!settled) {\n settled = true;\n child.kill('SIGTERM');\n resolve({\n outcome: 'error',\n source: 'command',\n kind: 'timeout',\n reason: `Hook timed out after ${timeoutSeconds}s`,\n });\n }\n }, timeoutMs);\n\n child.on('close', (code: number | null, signal: NodeJS.Signals | null) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n resolve(outcomeOfExit(code, signal, stdoutOutput.toString(), stderrOutput.toString()));\n });\n\n child.on('error', (err: Error) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n resolve({\n outcome: 'error',\n source: 'command',\n kind: 'spawn-failure',\n reason: err.message,\n });\n });\n });\n }\n}\n"],"mappings":"8LA+BA,MAEM,EAAwB,IAgB9B,SAAS,EACP,EACA,EACgE,CAEhE,IAAM,EAAe,EAAoB,CAAE,SAAU,CAAsB,CAAC,EACtE,EAAe,EAAoB,CAAE,SAAU,EAAuB,OAAQ,MAAO,CAAC,EAQ5F,OAPA,EAAM,QAAQ,GAAG,OAAS,GAAkB,EAAa,OAAO,CAAK,CAAC,EACtE,EAAM,QAAQ,GAAG,OAAS,GAAkB,EAAa,OAAO,CAAK,CAAC,EACtE,EAAM,OAAO,GAAG,YAAe,CAE/B,CAAC,EACD,EAAM,OAAO,MAAM,CAAS,EAC5B,EAAM,OAAO,IAAI,EACV,CAAE,eAAc,cAAa,CACtC,CAEA,SAAS,EACP,EACA,EACA,EACA,EACc,CACd,GAAI,IAAS,EAAG,MAAO,CAAE,QAAS,QAAS,OAAQ,UAAW,QAAO,EACrE,GAAI,IAAS,EACX,MAAO,CAAE,QAAS,OAAQ,OAAQ,UAAW,OAAQ,EAAO,KAAK,GAAK,iBAAkB,EAE1F,IAAM,EAAS,EAAO,KAAK,EAAI,KAAK,EAAO,KAAK,IAAM,GACtD,MAAO,CACL,QAAS,QACT,OAAQ,UACR,KAAM,eAGN,OACE,IAAS,KACL,6BAA6B,GAAU,YAAY,IACnD,eAAe,IAAO,GAC9B,CACF,CAEA,IAAa,EAAb,KAA0D,CAG3B,gBAF7B,KAAgB,UAEhB,YAAY,EAA2C,CAA1B,KAAA,gBAAA,CAA2B,CAOxD,QACE,EACA,EACA,EACuB,CACvB,IAAM,EAAiB,EAAW,SAAW,IACvC,EAAY,EAAiB,IAC7B,EAAY,KAAK,UAAU,CAAK,EAEtC,OAAO,IAAI,QAAuB,GAAY,CAC5C,IAAI,EAAU,GACR,EAAQ,EAAqB,CAAE,WAAY,KAAK,eAAgB,CAAC,EACjE,EAAQ,EAAM,EAAM,QAAS,EAAM,YAAY,EAAW,OAAO,EAAG,CACxE,IAAK,EAAM,IACX,IAAK,EAA2B,QAAQ,IAAK,EAAU,EAAM,GAAG,CAClE,CAAC,EACK,CAAE,eAAc,gBAAiB,EAAY,EAAO,CAAS,EAE7D,EAAQ,eAAiB,CACxB,IACH,EAAU,GACV,EAAM,KAAK,SAAS,EACpB,EAAQ,CACN,QAAS,QACT,OAAQ,UACR,KAAM,UACN,OAAQ,wBAAwB,EAAe,EACjD,CAAC,EAEL,EAAG,CAAS,EAEZ,EAAM,GAAG,SAAU,EAAqB,IAAkC,CACpE,IACJ,EAAU,GACV,aAAa,CAAK,EAClB,EAAQ,EAAc,EAAM,EAAQ,EAAa,SAAS,EAAG,EAAa,SAAS,CAAC,CAAC,EACvF,CAAC,EAED,EAAM,GAAG,QAAU,GAAe,CAC5B,IACJ,EAAU,GACV,aAAa,CAAK,EAClB,EAAQ,CACN,QAAS,QACT,OAAQ,UACR,KAAM,gBACN,OAAQ,EAAI,OACd,CAAC,EACH,CAAC,CACH,CAAC,CACH,CACF"}
1
+ {"version":3,"file":"command-executor-d6DdfUTD.js","names":[],"sources":["../../src/hooks/executors/command-executor.ts"],"sourcesContent":["/**\n * Command hook executor — executes shell commands with JSON input on stdin.\n *\n * Exit-code mapping (SEC-015):\n * - `0` → `allow`, stdout carried for the runner's response-protocol decode\n * - `2` → `deny`, stderr carried as the reason\n * - any other code → `error` / `nonzero-exit`\n * - killed by a signal (exit code `null`) → `error` / `nonzero-exit`, signal named in the reason\n * - deadline elapsed → `error` / `timeout`\n * - the process never started → `error` / `spawn-failure`\n *\n * The last four used to be one number. A missing binary exits `127` and a timeout resolved `1`, and\n * the runner discarded both alike, so a gate that never ran was indistinguishable from one that\n * approved.\n */\n\nimport { spawn } from 'node:child_process';\n\nimport { createBoundedOutput, type IBoundedOutput } from '../../utils/bounded-output.js';\nimport { resolvePlatformShell } from '../../utils/platform-shell.js';\nimport { subprocessTraceEnvironment } from '../../utils/trace-context.js';\n\nimport type { ISubprocessTraceEnv } from '../../interfaces/trace-context.js';\nimport type {\n ICommandHookDefinition,\n IHookInput,\n THookOutcome,\n IHookTypeExecutor,\n} from '../types.js';\n\n/** Default timeout in seconds — matches Claude Code's 600s default */\nconst DEFAULT_TIMEOUT_SECONDS = 600;\n/** ARCH-056: most bytes retained per hook stream (stdout head, stderr tail). */\nconst MAX_HOOK_OUTPUT_BYTES = 1_000_000;\n\n/**\n * How a finished process maps onto an outcome — a pure function of what the process reported.\n *\n * Extracted from `execute` because it is the part that carries the contract: `execute` owns spawning\n * and settling exactly once, this owns what the result MEANS, and the two change for different\n * reasons.\n */\n/**\n * Attach the output collectors and feed the hook input to stdin.\n *\n * Separated from `execute` so the promise body reads as the three things that can settle it —\n * timeout, close, spawn error — rather than as stream plumbing interleaved with them. The\n * `settled` guard those three share is the invariant worth keeping visible in one place.\n */\nfunction wireChildIo(\n child: ReturnType<typeof spawn>,\n inputJson: string,\n): { stdoutOutput: IBoundedOutput; stderrOutput: IBoundedOutput } {\n // ARCH-056: bounded while reading; a hook that floods stdout cannot grow the parent's memory.\n const stdoutOutput = createBoundedOutput({ maxBytes: MAX_HOOK_OUTPUT_BYTES });\n const stderrOutput = createBoundedOutput({ maxBytes: MAX_HOOK_OUTPUT_BYTES, retain: 'tail' });\n child.stdout?.on('data', (chunk: Buffer) => stdoutOutput.append(chunk));\n child.stderr?.on('data', (chunk: Buffer) => stderrOutput.append(chunk));\n child.stdin?.on('error', () => {\n // EPIPE: child closed stdin before we finished writing — safe to ignore\n });\n child.stdin?.write(inputJson);\n child.stdin?.end();\n return { stdoutOutput, stderrOutput };\n}\n\nfunction outcomeOfExit(\n code: number | null,\n signal: NodeJS.Signals | null,\n stdout: string,\n stderr: string,\n): THookOutcome {\n if (code === 0) return { outcome: 'allow', source: 'command', stdout };\n if (code === 2) {\n return { outcome: 'deny', source: 'command', reason: stderr.trim() || 'Blocked by hook' };\n }\n const detail = stderr.trim() ? `: ${stderr.trim()}` : '';\n return {\n outcome: 'error',\n source: 'command',\n kind: 'nonzero-exit',\n // `code === null` means a signal ended it. That is not an exit code and must not be read as\n // one — the old `code ?? 1` made a SIGKILLed hook indistinguishable from one that exited 1.\n reason:\n code === null\n ? `Hook terminated by signal ${signal ?? 'unknown'}${detail}`\n : `Hook exited ${code}${detail}`,\n };\n}\n\nexport class CommandExecutor implements IHookTypeExecutor {\n readonly type = 'command' as const;\n\n constructor(private readonly shellExecutable?: string) {}\n\n /**\n * `traceEnv` is the prompt's trace for this child, handed separately so it never reaches the\n * stdin JSON. The child sees `process.env`, then Robota's value, then the hook's own `env`; a hook\n * that sets its own `TRACEPARENT` wins and gets the ambient environment unchanged.\n */\n execute(\n definition: ICommandHookDefinition,\n input: IHookInput,\n traceEnv?: ISubprocessTraceEnv,\n ): Promise<THookOutcome> {\n const timeoutSeconds = definition.timeout ?? DEFAULT_TIMEOUT_SECONDS;\n const timeoutMs = timeoutSeconds * 1000;\n const inputJson = JSON.stringify(input);\n\n return new Promise<THookOutcome>((resolve) => {\n let settled = false;\n const shell = resolvePlatformShell({ executable: this.shellExecutable });\n const child = spawn(shell.command, shell.commandArgs(definition.command), {\n cwd: input.cwd,\n env: subprocessTraceEnvironment(process.env, traceEnv, input.env),\n });\n const { stdoutOutput, stderrOutput } = wireChildIo(child, inputJson);\n\n const timer = setTimeout(() => {\n if (!settled) {\n settled = true;\n child.kill('SIGTERM');\n resolve({\n outcome: 'error',\n source: 'command',\n kind: 'timeout',\n reason: `Hook timed out after ${timeoutSeconds}s`,\n });\n }\n }, timeoutMs);\n\n child.on('close', (code: number | null, signal: NodeJS.Signals | null) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n resolve(outcomeOfExit(code, signal, stdoutOutput.toString(), stderrOutput.toString()));\n });\n\n child.on('error', (err: Error) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n resolve({\n outcome: 'error',\n source: 'command',\n kind: 'spawn-failure',\n reason: err.message,\n });\n });\n });\n }\n}\n"],"mappings":"8LA+BA,MAEM,EAAwB,IAgB9B,SAAS,EACP,EACA,EACgE,CAEhE,IAAM,EAAe,EAAoB,CAAE,SAAU,CAAsB,CAAC,EACtE,EAAe,EAAoB,CAAE,SAAU,EAAuB,OAAQ,MAAO,CAAC,EAQ5F,OAPA,EAAM,QAAQ,GAAG,OAAS,GAAkB,EAAa,OAAO,CAAK,CAAC,EACtE,EAAM,QAAQ,GAAG,OAAS,GAAkB,EAAa,OAAO,CAAK,CAAC,EACtE,EAAM,OAAO,GAAG,YAAe,CAE/B,CAAC,EACD,EAAM,OAAO,MAAM,CAAS,EAC5B,EAAM,OAAO,IAAI,EACV,CAAE,eAAc,cAAa,CACtC,CAEA,SAAS,EACP,EACA,EACA,EACA,EACc,CACd,GAAI,IAAS,EAAG,MAAO,CAAE,QAAS,QAAS,OAAQ,UAAW,QAAO,EACrE,GAAI,IAAS,EACX,MAAO,CAAE,QAAS,OAAQ,OAAQ,UAAW,OAAQ,EAAO,KAAK,GAAK,iBAAkB,EAE1F,IAAM,EAAS,EAAO,KAAK,EAAI,KAAK,EAAO,KAAK,IAAM,GACtD,MAAO,CACL,QAAS,QACT,OAAQ,UACR,KAAM,eAGN,OACE,IAAS,KACL,6BAA6B,GAAU,YAAY,IACnD,eAAe,IAAO,GAC9B,CACF,CAEA,IAAa,EAAb,KAA0D,CAG3B,gBAF7B,KAAgB,UAEhB,YAAY,EAA2C,CAA1B,KAAA,gBAAA,CAA2B,CAOxD,QACE,EACA,EACA,EACuB,CACvB,IAAM,EAAiB,EAAW,SAAW,IACvC,EAAY,EAAiB,IAC7B,EAAY,KAAK,UAAU,CAAK,EAEtC,OAAO,IAAI,QAAuB,GAAY,CAC5C,IAAI,EAAU,GACR,EAAQ,EAAqB,CAAE,WAAY,KAAK,eAAgB,CAAC,EACjE,EAAQ,EAAM,EAAM,QAAS,EAAM,YAAY,EAAW,OAAO,EAAG,CACxE,IAAK,EAAM,IACX,IAAK,EAA2B,QAAQ,IAAK,EAAU,EAAM,GAAG,CAClE,CAAC,EACK,CAAE,eAAc,gBAAiB,EAAY,EAAO,CAAS,EAE7D,EAAQ,eAAiB,CACxB,IACH,EAAU,GACV,EAAM,KAAK,SAAS,EACpB,EAAQ,CACN,QAAS,QACT,OAAQ,UACR,KAAM,UACN,OAAQ,wBAAwB,EAAe,EACjD,CAAC,EAEL,EAAG,CAAS,EAEZ,EAAM,GAAG,SAAU,EAAqB,IAAkC,CACpE,IACJ,EAAU,GACV,aAAa,CAAK,EAClB,EAAQ,EAAc,EAAM,EAAQ,EAAa,SAAS,EAAG,EAAa,SAAS,CAAC,CAAC,EACvF,CAAC,EAED,EAAM,GAAG,QAAU,GAAe,CAC5B,IACJ,EAAU,GACV,aAAa,CAAK,EAClB,EAAQ,CACN,QAAS,QACT,OAAQ,UACR,KAAM,gBACN,OAAQ,EAAI,OACd,CAAC,EACH,CAAC,CACH,CAAC,CACH,CACF"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./verdict-decoder-Dk_w2NG9.js";var n=e({HttpExecutor:()=>i});function r(e){return e.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(e,t)=>{let n=process.env[t];return n===void 0?e:n})}var i=class{type=`http`;async execute(e,n){let i=(e.timeout??10)*1e3,o={"Content-Type":`application/json`};if(e.headers)for(let[t,n]of Object.entries(e.headers))o[t]=r(n);try{let r=await fetch(e.url,{method:`POST`,headers:o,body:JSON.stringify(n),signal:AbortSignal.timeout(i)});return r.ok?t(await r.text(),`http`,n.hook_event_name):{outcome:`error`,source:`http`,kind:`http-status`,reason:`HTTP ${r.status} ${r.statusText}`}}catch(e){return a(e)}}};function a(e){return{outcome:`error`,source:`http`,kind:e instanceof Error&&e.name===`TimeoutError`?`timeout`:`transport-failure`,reason:e instanceof Error?e.message:String(e)}}export{n,i as t};
2
- //# sourceMappingURL=http-executor-cWzI2svn.js.map
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./verdict-decoder-Dz_rjoIZ.js";var n=e({HttpExecutor:()=>i});function r(e){return e.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(e,t)=>{let n=process.env[t];return n===void 0?e:n})}var i=class{type=`http`;async execute(e,n){let i=(e.timeout??10)*1e3,o={"Content-Type":`application/json`};if(e.headers)for(let[t,n]of Object.entries(e.headers))o[t]=r(n);try{let r=await fetch(e.url,{method:`POST`,headers:o,body:JSON.stringify(n),signal:AbortSignal.timeout(i)});return r.ok?t(await r.text(),`http`,n.hook_event_name):{outcome:`error`,source:`http`,kind:`http-status`,reason:`HTTP ${r.status} ${r.statusText}`}}catch(e){return a(e)}}};function a(e){return{outcome:`error`,source:`http`,kind:e instanceof Error&&e.name===`TimeoutError`?`timeout`:`transport-failure`,reason:e instanceof Error?e.message:String(e)}}export{n,i as t};
2
+ //# sourceMappingURL=http-executor-ADn4locH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-executor-cWzI2svn.js","names":[],"sources":["../../src/hooks/executors/http-executor.ts"],"sourcesContent":["/**\n * HTTP hook executor — POSTs hook input as JSON to a URL.\n *\n * Response format: `{ ok: boolean, reason?: string }`, decoded by `decodeHookVerdict` (SEC-015):\n * - `ok: true` → `allow`\n * - `ok: false` → `deny`, carrying `reason`\n * - anything else, including a non-boolean `ok` → `error` / `malformed-response`\n *\n * Transport conditions are outcomes in their own right rather than a shared failure code:\n * non-2xx → `http-status`, deadline elapsed → `timeout`, unreachable → `transport-failure`,\n * unparseable body → `malformed-response`.\n *\n * Supports env var interpolation in headers: $VAR_NAME\n */\n\nimport { decodeHookVerdict } from '../verdict-decoder.js';\n\nimport type { IHttpHookDefinition, IHookInput, THookOutcome, IHookTypeExecutor } from '../types.js';\n\n/** Default timeout in seconds */\nconst DEFAULT_TIMEOUT_SECONDS = 10;\n\n/** Interpolate $VAR_NAME references in a string with process.env values. */\nfunction interpolateEnvVars(value: string): string {\n return value.replace(/\\$([A-Za-z_][A-Za-z0-9_]*)/g, (_match, varName: string) => {\n const envValue = process.env[varName];\n return envValue !== undefined ? envValue : _match;\n });\n}\n\nexport class HttpExecutor implements IHookTypeExecutor {\n readonly type = 'http' as const;\n\n async execute(definition: IHttpHookDefinition, input: IHookInput): Promise<THookOutcome> {\n const timeoutSeconds = definition.timeout ?? DEFAULT_TIMEOUT_SECONDS;\n const timeoutMs = timeoutSeconds * 1000;\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n\n if (definition.headers) {\n for (const [key, value] of Object.entries(definition.headers)) {\n headers[key] = interpolateEnvVars(value);\n }\n }\n\n try {\n const response = await fetch(definition.url, {\n method: 'POST',\n headers,\n body: JSON.stringify(input),\n signal: AbortSignal.timeout(timeoutMs),\n });\n\n if (!response.ok) {\n return {\n outcome: 'error',\n source: 'http',\n kind: 'http-status',\n reason: `HTTP ${response.status} ${response.statusText}`,\n };\n }\n\n // Read the body as TEXT first. `response.json()` would collapse \"the endpoint sent HTML\" and\n // \"the endpoint sent a verdict\" into one throw, and the raw text is what the decoder quotes\n // back — so a misconfigured endpoint is identifiable from the reason alone.\n return decodeHookVerdict(await response.text(), 'http', input.hook_event_name);\n } catch (err: unknown) {\n return toTransportOutcome(err);\n }\n }\n}\n\n/**\n * Classify a `fetch` rejection.\n *\n * `AbortSignal.timeout` rejects with a `DOMException` named `TimeoutError`, which is a different\n * fact from a connection refused or dropped: one says the hook was too slow, the other says it was\n * never reached. Both are `error`, and an operator reading the reason needs to know which.\n */\nfunction toTransportOutcome(err: unknown): THookOutcome {\n return {\n outcome: 'error',\n source: 'http',\n kind: err instanceof Error && err.name === 'TimeoutError' ? 'timeout' : 'transport-failure',\n reason: err instanceof Error ? err.message : String(err),\n };\n}\n"],"mappings":"8HAuBA,SAAS,EAAmB,EAAuB,CACjD,OAAO,EAAM,QAAQ,+BAAgC,EAAQ,IAAoB,CAC/E,IAAM,EAAW,QAAQ,IAAI,GAC7B,OAAO,IAAa,IAAA,GAAuB,EAAX,CAClC,CAAC,CACH,CAEA,IAAa,EAAb,KAAuD,CACrD,KAAgB,OAEhB,MAAM,QAAQ,EAAiC,EAA0C,CAEvF,IAAM,GADiB,EAAW,SAAW,IACV,IAE7B,EAAkC,CACtC,eAAgB,kBAClB,EAEA,GAAI,EAAW,QACb,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,EAAW,OAAO,EAC1D,EAAQ,GAAO,EAAmB,CAAK,EAI3C,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,EAAW,IAAK,CAC3C,OAAQ,OACR,UACA,KAAM,KAAK,UAAU,CAAK,EAC1B,OAAQ,YAAY,QAAQ,CAAS,CACvC,CAAC,EAcD,OAZK,EAAS,GAYP,EAAkB,MAAM,EAAS,KAAK,EAAG,OAAQ,EAAM,eAAe,EAXpE,CACL,QAAS,QACT,OAAQ,OACR,KAAM,cACN,OAAQ,QAAQ,EAAS,OAAO,GAAG,EAAS,YAC9C,CAOJ,OAAS,EAAc,CACrB,OAAO,EAAmB,CAAG,CAC/B,CACF,CACF,EASA,SAAS,EAAmB,EAA4B,CACtD,MAAO,CACL,QAAS,QACT,OAAQ,OACR,KAAM,aAAe,OAAS,EAAI,OAAS,eAAiB,UAAY,oBACxE,OAAQ,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,CACzD,CACF"}
1
+ {"version":3,"file":"http-executor-ADn4locH.js","names":[],"sources":["../../src/hooks/executors/http-executor.ts"],"sourcesContent":["/**\n * HTTP hook executor — POSTs hook input as JSON to a URL.\n *\n * Response format: `{ ok: boolean, reason?: string }`, decoded by `decodeHookVerdict` (SEC-015):\n * - `ok: true` → `allow`\n * - `ok: false` → `deny`, carrying `reason`\n * - anything else, including a non-boolean `ok` → `error` / `malformed-response`\n *\n * Transport conditions are outcomes in their own right rather than a shared failure code:\n * non-2xx → `http-status`, deadline elapsed → `timeout`, unreachable → `transport-failure`,\n * unparseable body → `malformed-response`.\n *\n * Supports env var interpolation in headers: $VAR_NAME\n */\n\nimport { decodeHookVerdict } from '../verdict-decoder.js';\n\nimport type { IHttpHookDefinition, IHookInput, THookOutcome, IHookTypeExecutor } from '../types.js';\n\n/** Default timeout in seconds */\nconst DEFAULT_TIMEOUT_SECONDS = 10;\n\n/** Interpolate $VAR_NAME references in a string with process.env values. */\nfunction interpolateEnvVars(value: string): string {\n return value.replace(/\\$([A-Za-z_][A-Za-z0-9_]*)/g, (_match, varName: string) => {\n const envValue = process.env[varName];\n return envValue !== undefined ? envValue : _match;\n });\n}\n\nexport class HttpExecutor implements IHookTypeExecutor {\n readonly type = 'http' as const;\n\n async execute(definition: IHttpHookDefinition, input: IHookInput): Promise<THookOutcome> {\n const timeoutSeconds = definition.timeout ?? DEFAULT_TIMEOUT_SECONDS;\n const timeoutMs = timeoutSeconds * 1000;\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n\n if (definition.headers) {\n for (const [key, value] of Object.entries(definition.headers)) {\n headers[key] = interpolateEnvVars(value);\n }\n }\n\n try {\n const response = await fetch(definition.url, {\n method: 'POST',\n headers,\n body: JSON.stringify(input),\n signal: AbortSignal.timeout(timeoutMs),\n });\n\n if (!response.ok) {\n return {\n outcome: 'error',\n source: 'http',\n kind: 'http-status',\n reason: `HTTP ${response.status} ${response.statusText}`,\n };\n }\n\n // Read the body as TEXT first. `response.json()` would collapse \"the endpoint sent HTML\" and\n // \"the endpoint sent a verdict\" into one throw, and the raw text is what the decoder quotes\n // back — so a misconfigured endpoint is identifiable from the reason alone.\n return decodeHookVerdict(await response.text(), 'http', input.hook_event_name);\n } catch (err: unknown) {\n return toTransportOutcome(err);\n }\n }\n}\n\n/**\n * Classify a `fetch` rejection.\n *\n * `AbortSignal.timeout` rejects with a `DOMException` named `TimeoutError`, which is a different\n * fact from a connection refused or dropped: one says the hook was too slow, the other says it was\n * never reached. Both are `error`, and an operator reading the reason needs to know which.\n */\nfunction toTransportOutcome(err: unknown): THookOutcome {\n return {\n outcome: 'error',\n source: 'http',\n kind: err instanceof Error && err.name === 'TimeoutError' ? 'timeout' : 'transport-failure',\n reason: err instanceof Error ? err.message : String(err),\n };\n}\n"],"mappings":"8HAuBA,SAAS,EAAmB,EAAuB,CACjD,OAAO,EAAM,QAAQ,+BAAgC,EAAQ,IAAoB,CAC/E,IAAM,EAAW,QAAQ,IAAI,GAC7B,OAAO,IAAa,IAAA,GAAuB,EAAX,CAClC,CAAC,CACH,CAEA,IAAa,EAAb,KAAuD,CACrD,KAAgB,OAEhB,MAAM,QAAQ,EAAiC,EAA0C,CAEvF,IAAM,GADiB,EAAW,SAAW,IACV,IAE7B,EAAkC,CACtC,eAAgB,kBAClB,EAEA,GAAI,EAAW,QACb,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,EAAW,OAAO,EAC1D,EAAQ,GAAO,EAAmB,CAAK,EAI3C,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,EAAW,IAAK,CAC3C,OAAQ,OACR,UACA,KAAM,KAAK,UAAU,CAAK,EAC1B,OAAQ,YAAY,QAAQ,CAAS,CACvC,CAAC,EAcD,OAZK,EAAS,GAYP,EAAkB,MAAM,EAAS,KAAK,EAAG,OAAQ,EAAM,eAAe,EAXpE,CACL,QAAS,QACT,OAAQ,OACR,KAAM,cACN,OAAQ,QAAQ,EAAS,OAAO,GAAG,EAAS,YAC9C,CAOJ,OAAS,EAAc,CACrB,OAAO,EAAmB,CAAG,CAC/B,CACF,CACF,EASA,SAAS,EAAmB,EAA4B,CACtD,MAAO,CACL,QAAS,QACT,OAAQ,OACR,KAAM,aAAe,OAAS,EAAI,OAAS,eAAiB,UAAY,oBACxE,OAAQ,aAAe,MAAQ,EAAI,QAAU,OAAO,CAAG,CACzD,CACF"}
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime-DWNI8pZO.cjs"),t=require("./verdict-decoder-D412SAGd.cjs");var n=e.t({HttpExecutor:()=>i});function r(e){return e.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(e,t)=>{let n=process.env[t];return n===void 0?e:n})}var i=class{type=`http`;async execute(e,n){let i=(e.timeout??10)*1e3,o={"Content-Type":`application/json`};if(e.headers)for(let[t,n]of Object.entries(e.headers))o[t]=r(n);try{let r=await fetch(e.url,{method:`POST`,headers:o,body:JSON.stringify(n),signal:AbortSignal.timeout(i)});return r.ok?t.t(await r.text(),`http`,n.hook_event_name):{outcome:`error`,source:`http`,kind:`http-status`,reason:`HTTP ${r.status} ${r.statusText}`}}catch(e){return a(e)}}};function a(e){return{outcome:`error`,source:`http`,kind:e instanceof Error&&e.name===`TimeoutError`?`timeout`:`transport-failure`,reason:e instanceof Error?e.message:String(e)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
1
+ const e=require("./rolldown-runtime-DWNI8pZO.cjs"),t=require("./verdict-decoder-DIHay1ul.cjs");var n=e.t({HttpExecutor:()=>i});function r(e){return e.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(e,t)=>{let n=process.env[t];return n===void 0?e:n})}var i=class{type=`http`;async execute(e,n){let i=(e.timeout??10)*1e3,o={"Content-Type":`application/json`};if(e.headers)for(let[t,n]of Object.entries(e.headers))o[t]=r(n);try{let r=await fetch(e.url,{method:`POST`,headers:o,body:JSON.stringify(n),signal:AbortSignal.timeout(i)});return r.ok?t.t(await r.text(),`http`,n.hook_event_name):{outcome:`error`,source:`http`,kind:`http-status`,reason:`HTTP ${r.status} ${r.statusText}`}}catch(e){return a(e)}}};function a(e){return{outcome:`error`,source:`http`,kind:e instanceof Error&&e.name===`TimeoutError`?`timeout`:`transport-failure`,reason:e instanceof Error?e.message:String(e)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
@@ -1,4 +1,4 @@
1
- import { C as IModelEffortResolution, F as IUniversalObjectValue, I as TPrimitiveValue, L as TUniversalArrayValue, R as TUniversalValue, S as IModelEffortOutcome, _ as IOutboundTraceContext, a as IHookErrorOutcome, b as TSubprocessTraceClass, c as IHookTypeExecutor, d as TGuardrail, f as THookDefinition, h as THooksConfig, j as TModelEffortSelection, k as TModelEffortOutcomeCallback, m as THookOutcome, p as THookEvent, s as IHookInput, v as IRunTraceContext, w as IProviderModelEffortTable, y as ISubprocessTraceEnv } from "./types-BQ-sKCQS.js";
1
+ import { C as IModelEffortResolution, F as IUniversalObjectValue, I as TPrimitiveValue, L as TUniversalArrayValue, R as TUniversalValue, S as IModelEffortOutcome, _ as IOutboundTraceContext, a as IHookErrorOutcome, b as TSubprocessTraceClass, c as IHookTypeExecutor, d as TGuardrail, f as THookDefinition, h as THooksConfig, j as TModelEffortSelection, k as TModelEffortOutcomeCallback, m as THookOutcome, p as THookEvent, s as IHookInput, v as IRunTraceContext, w as IProviderModelEffortTable, y as ISubprocessTraceEnv } from "./types-Ge2XB-y-.cjs";
2
2
  import { TypeOf, ZodType } from "zod";
3
3
  //#region src/interfaces/types.d.ts
4
4
  /**
@@ -464,6 +464,28 @@ declare class SameToolInputLoopError extends RobotaError {
464
464
  readonly recoverable = true;
465
465
  constructor(toolName: string, callCount: number, maxSameToolInputs: number, context?: TErrorContextData);
466
466
  }
467
+ /**
468
+ * A turn ended with neither a tool result nor a final text response while `allowToolOnlyCompletion`
469
+ * was set.
470
+ *
471
+ * `allowToolOnlyCompletion` only WIDENS what counts as a valid finish (a tool call alone, with no
472
+ * final text after it); it never narrows the ordinary case. Without the flag, a round that produces
473
+ * neither is recovered by one more provider call asking for a summary (`forceSummaryCall`). Setting
474
+ * the flag is what turns that rescue off — a decision agent wants exactly one provider call, never a
475
+ * follow-up — so a round that produces neither has nothing left to recover it. That is a genuinely
476
+ * unanswered turn, not the internal `[STRICT-POLICY]` result-shape violation an actually malformed
477
+ * execution result trips; a caller must be able to catch this by type instead of parsing that message.
478
+ *
479
+ * `recoverable` is TRUE: like `SameToolInputLoopError`, this is a property of this turn's prompt and
480
+ * model response, not of the system, and a caller that varies either can reasonably try again.
481
+ */
482
+ declare class EmptyCompletionError extends RobotaError {
483
+ readonly round: number;
484
+ readonly code = "EMPTY_COMPLETION";
485
+ readonly category: "provider";
486
+ readonly recoverable = true;
487
+ constructor(round: number, context?: TErrorContextData);
488
+ }
467
489
  /**
468
490
  * Model not available errors
469
491
  */
@@ -2079,7 +2101,8 @@ interface IRunOptions {
2079
2101
  * The summary call is the one made when the round cap ends the loop on a tool round; before the cap
2080
2102
  * the model is called again after tool results as usual, so a decision agent sets
2081
2103
  * `maxExecutionRounds` too (e.g. `1`). The run resolves with the turn's text, or `''` when it
2082
- * produced none; consumers read the outcome from the tool results.
2104
+ * ended in tool results (consumers read the outcome from those results), and rejects with
2105
+ * `EmptyCompletionError` when it produced neither text nor a tool result.
2083
2106
  */
2084
2107
  allowToolOnlyCompletion?: boolean;
2085
2108
  /**
@@ -2127,8 +2150,11 @@ type TAgentEventName = (typeof AGENT_EVENT_NAMES)[keyof typeof AGENT_EVENT_NAMES
2127
2150
  * - Import and use EVENT_EMITTER_EVENTS instead.
2128
2151
  */
2129
2152
  declare const EVENT_EMITTER_EVENTS: {
2153
+ /** @deprecated Not emitted by a run; a run emits `AGENT_EXECUTION_START`. */
2130
2154
  readonly EXECUTION_START: "execution.start";
2155
+ /** @deprecated Not emitted by a run; a run emits `AGENT_EXECUTION_COMPLETE`. */
2131
2156
  readonly EXECUTION_COMPLETE: "execution.complete";
2157
+ /** @deprecated Not emitted by a run; a run emits `AGENT_EXECUTION_ERROR`. */
2132
2158
  readonly EXECUTION_ERROR: "execution.error";
2133
2159
  readonly TOOL_BEFORE_EXECUTE: "tool.beforeExecute";
2134
2160
  readonly TOOL_AFTER_EXECUTE: "tool.afterExecute";
@@ -2359,6 +2385,8 @@ interface IPluginExecutionResult {
2359
2385
  * above, which lives at this abstracts layer.
2360
2386
  */
2361
2387
  interface IPluginContext {
2388
+ toolData?: IToolExecutionContext;
2389
+ toolResult?: IToolExecutionResult;
2362
2390
  input?: string;
2363
2391
  response?: string;
2364
2392
  messages?: TUniversalMessage[];
@@ -2368,7 +2396,10 @@ interface IPluginContext {
2368
2396
  executionContext?: TContextData;
2369
2397
  /** PLG-020 (issue #2460): the run's result, for `afterExecution` / `afterConversation` / `afterToolExecution`. */
2370
2398
  executionResult?: IPluginExecutionResult;
2371
- /** PLG-020 (issue #2460): the message just appended to the conversation, for `onMessageAdded`. */
2399
+ /**
2400
+ * The message just appended to the conversation, for `onMessageAdded`, or the streamed text
2401
+ * chunk, for `onStreamingChunk`.
2402
+ */
2372
2403
  message?: TUniversalMessage;
2373
2404
  }
2374
2405
  /** Error context for plugin error handling */
@@ -2448,7 +2479,7 @@ interface IPluginHooks {
2448
2479
  afterExecution?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void> | void;
2449
2480
  beforeConversation?(context: IPluginExecutionContext): Promise<void> | void;
2450
2481
  afterConversation?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void> | void;
2451
- beforeToolCall?(toolName: string, parameters: TToolParameters): Promise<void> | void;
2482
+ beforeToolCall?(toolName: string, parameters: TToolParameters, context?: IToolExecutionContext): Promise<void> | void;
2452
2483
  beforeToolExecution?(context: IPluginExecutionContext, toolData: IToolExecutionContext): Promise<void> | void;
2453
2484
  afterToolCall?(toolName: string, parameters: TToolParameters, result: IToolExecutionResult): Promise<void> | void;
2454
2485
  afterToolExecution?(context: IPluginExecutionContext, toolResults: IPluginExecutionResult): Promise<void> | void;
@@ -2963,7 +2994,7 @@ interface IProviderDefinition {
2963
2994
  * LLM nodes' single `COST_PER_TOKEN_USD` scalar. The correct long-term home is the per-model
2964
2995
  * {@link IProviderModelCatalogEntry.costPerInputToken}/`costPerOutputToken`; this flat scalar is a
2965
2996
  * fidelity-preserving interim used only while model catalogs are `status:'unavailable'` (no per-model
2966
- * entries to attach cost to). Consumed by the collapsed `llm-text` node's `maxCostUsd` estimation. Absent
2997
+ * entries to attach cost to). Consumed by the collapsed `llm-text` node's cost estimate. Absent
2967
2998
  * means cost is unknown for this provider and estimators must degrade explicitly.
2968
2999
  */
2969
3000
  costPerTokenUsd?: number;
@@ -3633,14 +3664,9 @@ type TExecutorStreamEvent = IExecutorStreamMessageEvent | IExecutorStreamTermina
3633
3664
  /**
3634
3665
  * Interface for executing AI provider operations
3635
3666
  *
3636
- * Executors abstract the execution mechanism, allowing providers to work
3637
- * with either local API calls or remote server calls transparently.
3638
- *
3639
- * Implementation patterns:
3640
- * - LocalExecutor: Direct API calls using provider SDKs
3641
- * - RemoteExecutor: HTTP/WebSocket calls to remote server
3642
- * - CacheExecutor: Cached responses with explicit error propagation
3643
- * - HybridExecutor: Conditional local/remote execution
3667
+ * Executors abstract the execution mechanism, so a provider can call its API directly or hand the
3668
+ * call to something else (a server of your own, a cache). `LocalExecutor` is the in-process one;
3669
+ * any other is yours to implement.
3644
3670
  */
3645
3671
  interface IExecutor {
3646
3672
  /**
@@ -3718,7 +3744,10 @@ interface ILocalExecutorConfig {
3718
3744
  enableLogging?: boolean;
3719
3745
  }
3720
3746
  /**
3721
- * Configuration options for remote executor
3747
+ * Configuration options for a remote executor.
3748
+ *
3749
+ * @deprecated Robota ships no remote executor, so nothing reads this type. It stays exported only
3750
+ * so existing imports keep compiling; describe your own executor's options instead.
3722
3751
  */
3723
3752
  interface IRemoteExecutorConfig {
3724
3753
  /** Remote server URL */
@@ -4266,7 +4295,7 @@ declare abstract class AbstractPlugin<TOptions extends IPluginOptions = IPluginO
4266
4295
  afterExecution?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void>;
4267
4296
  beforeConversation?(context: IPluginExecutionContext): Promise<void>;
4268
4297
  afterConversation?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void>;
4269
- beforeToolCall?(toolName: string, parameters: TToolParameters): Promise<void>;
4298
+ beforeToolCall?(toolName: string, parameters: TToolParameters, context?: IToolExecutionContext): Promise<void>;
4270
4299
  beforeToolExecution?(context: IPluginExecutionContext, toolData: IToolExecutionContext): Promise<void>;
4271
4300
  afterToolCall?(toolName: string, parameters: TToolParameters, result: IToolExecutionResult): Promise<void>;
4272
4301
  afterToolExecution?(context: IPluginExecutionContext, toolResults: IPluginExecutionResult): Promise<void>;
@@ -6414,9 +6443,9 @@ interface IOrchestrationStepResult {
6414
6443
  output: string;
6415
6444
  /**
6416
6445
  * Optional token usage of the step's subagent run (the {@link ITokenUsage} SSOT triple;
6417
- * TYPE-003). Present only when the underlying runner/manager surfaces usage through its
6418
- * result — the default `SubagentManager.wait` does not yet thread it, so this is
6419
- * `undefined` there until that port is extended.
6446
+ * TYPE-003). Present when the underlying runner reported it — `SubagentManager.wait` already
6447
+ * threads a completed job's `usage` straight through its result; this is `undefined` only when
6448
+ * the runner itself never reported any.
6420
6449
  */
6421
6450
  usage?: ITokenUsage;
6422
6451
  }
@@ -7268,5 +7297,5 @@ declare function decodeHookVerdict(raw: string, source: THookDefinition['type'],
7268
7297
  /** Does a hook that reached no verdict block at this event? */
7269
7298
  declare function isEnforcing(event: THookEvent): boolean;
7270
7299
  //#endregion
7271
- export { parseParameterRule as $, IProviderSetupStepDefinition as $a, assertProviderNativeWebToolsAvailable as $c, IProgressReportingTool as $i, isChatEntry as $l, ConversationStore as $n, TStructuredOutputValidation as $o, isAbortFailure as $r, USER_EVENT_PREFIX as $s, IRegistryOwnedLifecycle as $t, allowRulesForAutoMode as A, IProviderMediaError as Aa, IRawProviderResponse as Ac, ITerminalOutput as Ai, IProviderCapabilityTable as Al, EventEmitterPlugin as An, IPluginContext as Ao, TShellKind as Ar, TToolEffectAdmission as As, IHandoffOrchestrationSpec as At, IPermissionPolicyProjection as B, IProviderStructuredOutputCapability as Ba, getProviderCapabilities as Bc, IRemoteExecutorConfig as Bi, ITextMessagePart as Bl, createBoundedOutput as Bn, PluginPriority as Bo, ExecutionJournalError as Br, IUserInteraction as Bs, AGENT_EVENTS as Bt, IContextTokenEstimate as C, IImageComposeRequest as Ca, TEventLoggerData as Cc, ICredentialStore as Ci, TErrorContextData as Cl, EXECUTION_EVENT_PREFIX as Cn, getGlobalLogLevel as Co, spanIdFromMintedId as Cr, IFunctionTool as Cs, createExecutionProxy as Ct, estimateToolSchemaTokens as D, IImageGenerationResult as Da, IProviderNativeRawPayloadEvent as Dc, IStats as Di, IModelRef as Dl, assertResidentToolRemains as Dn, setGlobalLoggerSink as Do, traceHeadersFor as Dr, IToolExecutionResult as Ds, ORCHESTRATION_EVENT_PREFIX as Dt, estimateSerializedContextTokens as E, IImageGenerationRequest as Ea, IChatOptions as Ec, IFileSystemAsync as Ei, ValidationError as El, DEFERRED_WITHOUT_LOADER_MESSAGE as En, setGlobalLogLevel as Eo, traceEnvFor as Er, IToolExecutionContext as Es, ORCHESTRATION_EVENTS as Et, IPermissionPatternProblem as F, IVideoJobSnapshot as Fa, TProviderNativeRawPayloadCallback as Fc, IExecutor as Fi, IAssistantMessage as Fl, InMemoryEventEmitterMetrics as Fn, IPluginExecutionResult as Fo, TTimerId as Fr, TToolSearchMode as Fs, IOrchestrationStep as Ft, IToolPermissionArgument as G, IProviderDefinitionConfig as Ga, TJSONSchemaKind as Gc, IConversationResponse as Gi, TMessageState as Gl, resolveEnvReference as Gn, TEventName as Go, validateApiKey as Gr, SPAN_EVENTS as Gs, IAssistantUsageMetadata as Gt, IParameterRule as H, TStructuredOutputProvenance as Ha, IParameterSchema as Hc, TExecutorStreamEvent as Hi, IToolMessage as Hl, formatEnvReference as Hn, IEventEmitterEventData as Ho, ISimpleValidationResult as Hr, ISpanCompletionEventData as Hs, peerDriverOf as Ht, findInvalidPermissionPatterns as I, TImageInputSource as Ia, TProviderNativeRawPayloadKind as Ic, IExecutorChatResult as Ii, IBaseMessage as Il, shellArgumentForDisplay as In, IPluginHooks as Io, isExecutionControlError as Ir, TToolSearchSetting as Is, IOrchestrationStepResult as It, clearRegisteredToolProfiles as J, IProviderModelCatalogEntry as Ja, IProviderCapabilities as Jc, IStreamingChunk as Ji, TUniversalMessagePart as Jl, ConversationHistory as Jn, TExecutionEventCallback as Jo, validateUserInput as Jr, TOOL_PERMISSION_EVENTS as Js, sumHistoryUsage as Jt, IToolPermissionProfile as K, IProviderEndpoint as Ka, TParameterDefaultValue as Kc, IConversationService as Ki, TUniversalMessage as Kl, IAIProviderInstance as Kn, TExecutionEventName as Ko, validateModelName as Kr, SPAN_EVENT_PREFIX as Ks, ISessionUsageTotals as Kt, findPermissionPatternWarnings as L, TProviderMediaResult as La, TProviderOptionValueBase as Lc, IExecutorStreamMessageEvent as Li, IHistoryEntry as Ll, IBoundedOutput as Ln, IPluginOptions as Lo, ExecutionRecoveryError as Lr, IActionDefault as Ls, IParallelOrchestrationSpec as Lt, splitCommandSegments as M, IVideoGenerationProvider as Ma, ITokenUsageWithCacheRead as Mc, IEventHistoryRecord as Mi, resolveModelCapabilities as Ml, IEventEmitterPluginOptions as Mn, IPluginData as Mo, resolvePlatformShell as Mr, TToolMetadata as Ms, IOrchestrationDelegation as Mt, applyPresetToolLists as N, IVideoGenerationRequest as Na, TProviderConfigValue as Nc, IEventHistorySnapshot as Ni, resolveModelCapability as Nl, IEventEmitterMetrics as Nn, IPluginErrorContext as No, startPeriodicTask as Nr, IDeferredToolCatalog as Ns, IOrchestrationEventData as Nt, IContextTokenUsage as O, IInlineImageInputSource as Oa, IProviderOptions as Oc, ISession as Oi, TRoleModelMap as Ol, FunctionTool as On, IPlugin as Oo, IPlatformShell as Or, IToolRegistry as Os, TOrchestrationEvent as Ot, toolNamesToPatterns as P, IVideoJobAccepted as Pa, TProviderNativeRawPayload as Pc, IChatExecutionRequest as Pi, TProviderModelCapability as Pl, IEventEmitterMetricsSnapshot as Pn, IPluginExecutionContext as Po, stopPeriodicTask as Pr, TOOL_SEARCH_TOOL_NAME as Ps, IOrchestrationRunResult as Pt, matchesAnyPattern as Q, IProviderSetupHelpLink as Qa, IProviderNativeWebToolRequest as Qc, TToolExecutionParameters as Qi, isAssistantMessage as Ql, createUserMessage as Qn, TStructuredOutputSchema as Qo, TProviderMessage as Qr, USER_EVENTS as Qs, verifiedProviderCallUsage as Qt, validatePermissionPattern as R, isImageGenerationProvider as Ra, TTextDeltaCallback as Rc, IExecutorStreamTerminalEvent as Ri, IInlineImageMessagePart as Rl, IBoundedOutputOptions as Rn, IPluginStats as Ro, TExecutionRecoveryErrorCode as Rr, IActionOption as Rs, ISequentialOrchestrationSpec as Rt, CONTEXT_ESTIMATE_CHARS_PER_TOKEN as S, isMediaProviderDefinition as Sa, TEventListener as Sc, ICredentialKey as Si, StructuredOutputError as Sl, EXECUTION_EVENTS as Sn, createLogger as So, providerCallSpanId as Sr, TJournalModelOptions as Ss, ExecutionProxy as St, estimateContextTokensFromMessages as T, IImageGenerationProvider as Ta, IAIProvider as Tc, IFileSystem as Ti, ToolExecutionError as Tl, TOOL_EVENT_PREFIX as Tn, logger as To, toolTraceContextFor as Tr, ITool as Ts, IExecutionProxyConfig as Tt, IPermissionEvaluationContext as U, IProviderCredentialRequirement as Ua, IToolSchema as Uc, IContextOptions as Ui, IUriImageMessagePart as Ul, hasUsableSecretReference as Un, IEventEmitterPlugin as Uo, Validator as Ur, PROVIDER_CALL_EVENTS as Us, printablePeerDriver as Ut, projectPermissionPolicy as V, TStructuredOutputMechanism as Va, IObjectParameterSchema as Vc, IStreamExecutionRequest as Vi, IToolCall as Vl, ENV_REFERENCE_PREFIX as Vn, EVENT_EMITTER_EVENTS as Vo, ErrorUtils as Vr, TActionResponse as Vs, AGENT_EVENT_PREFIX as Vt, IPermissionLists as W, IProviderDefinition as Wa, TJSONSchemaEnum as Wc, IConversationContext as Wi, IUserMessage as Wl, isEnvReference as Wn, TEventEmitterListener as Wo, validateAgentConfig as Wr, PROVIDER_FALLBACK_EVENTS as Ws, EventHistoryModule as Wt, getToolPermissionProfile as X, IProviderProfileConfig as Xa, IProviderNativeWebToolCapabilities as Xc, TConversationContextMetadata as Xi, chatEntryToMessage as Xl, createSystemMessage as Xn, IJsonSchemaOutput as Xo, TMessageConverterRegistry as Xr, readModelFallbackNotice as Xs, IVerifiedProviderCallUsage as Xt, evaluatePermission as Y, IProviderProbeResult as Ya, IProviderFunctionCallingCapability as Yc, IToolExecutionRequest as Yi, TUniversalMessageRole as Yl, createAssistantMessage as Yn, TExecutionEventData as Yo, MessageConverter as Yr, TSpanEvent as Ys, sumMessagesUsage as Yt, isToolDeniedOutright as Z, IProviderProfileDefaults as Za, IProviderNativeWebToolCapability as Zc, TResponseMetadata as Zi, getMessagesForAPI as Zl, createToolMessage as Zn, IStructuredOutputSpec as Zo, TMessageFormatConverter as Zr, TUserEvent as Zs, TProviderUsageProvenance as Zt, getModelName as _, TManagerToolParameters as _a, IEventServiceOwnerBinding as _c, hashToolSchema as _i, ProviderError as _l, ToolResultAdmissionError as _n, ILogger as _o, zodToJsonSchema as _r, IRecoverableExecutionJournal as _s, TBackgroundPermissionPolicy as _t, TToolParameters as _u, IModelPrice as a, setToolProgressCallback as aa, ObservableEventService as ac, IProviderRuntimeConfig as ai, classifyProviderFailure as al, AgentFactory as an, findProviderDefinition as ao, resolveMediaProviderConfig as ar, IZodSchema as as, PROTECTED_FILE_NAMES as at, IToolContinuation as au, readTokenUsageFromMessage as b, IMediaProviderDefinition as ba, IToolEventData as bc, IManagerLifecycleOptions as bi, SameToolInputLoopError as bl, Robota as bn, SilentLogger as bo, isMintedSpanId as br, IResumeToolCallsResult as bs, TRUST_TO_MODE as bt, estimateBlendedCostPer1000 as c, confirmAction as ca, bindWithOwnerPath as cc, IToolSchemaProjectionChange as ci, toProviderError as cl, IAgentCreationStats as cn, IAgent as co, processEnvResolver as cr, ICacheEntry as cs, RISK_CLASS_POLICY as ct, IToolWaitResponse as cu, DEFAULT_MAX_OUTPUT as d, selectAction as da, isDefaultEventService as dc, PERMISSIVE_TOOL_SCHEMA_PROFILE as di, CircuitBreakerOpenError as dl, DEFAULT_TOOL_RESULT_HARD_CHARS as dn, IAbstractTool as do, extractEnumValues as dr, ICacheStats as ds, TArgumentKind as dt, TConfigData as du, IToolExecutionStep as ea, TASK_EVENTS as ec, AbstractTool as ei, createDefaultProviderCapabilities as el, IRegistryTransactionError as en, TProviderCredentialField as eo, createProviderFromConfig as er, normalizeStructuredOutput as es, registerToolPermissionProfile as et, isSystemMessage as eu, IModelDefinition as f, textAction as fa, IAgentEventData as fc, STRICT_TOOL_SCHEMA_PROFILE as fi, ConfigurationError as fl, DEFAULT_TOOL_RESULT_WARNING_CHARS as fn, IAbstractToolOptions as fo, getSchemaTypeName as fr, ICacheStorage as fs, TMatchDirection as ft, TConfigValue as fu, getModelMaxOutput as g, IToolManager as ga, IEventService as gc, TToolSchemaProjectionProfileBase as gi, PluginError as gl, TToolResultAdmissionErrorCode as gn, ConsoleLogger as go, closeObjectSchemas as gr, IModelJournalContext as gs, DEFAULT_BACKGROUND_PERMISSION_POLICY as gt, TMetadataValue as gu, getModelContextWindow as h, IAIProviderManager as ha, IEventObjectValue as hc, TToolSchemaProjectionOutcome as hi, NetworkError as hl, MAX_TOOL_RESULT_CHARS as hn, TToolExecutionFunction as ho, ISchemaClosureOptions as hr, IExecutionRoundCheckpoint as hs, isReadOnlyCommandLine as ht, TMetadata as hu, runHooks as i, isProgressReportingTool as ia, DefaultEventService as ic, IExecutorAwareProviderConfig as ii, TProviderFailureReason as il, runRegistryTransaction as in, TProviderSetupHelpLinkKind as io, createVideoProviderFromDefinition as ir, IZodParseResult as is, PROTECTED_DIRECTORY_NAMES as it, IToolActionIdentity as iu, isBroadExecutionAllowRule as j, IUriImageInputSource as ja, ITokenUsage as jc, IEventHistoryModule as ji, modelDeclaresCapability as jl, IEventEmitterHierarchicalEventData as jn, IPluginContract as jo, UnsupportedShellError as jr, TToolExecutor as js, IHierarchicalOrchestrationSpec as jt, IContextWindowState as k, IMediaOutputRef as ka, IProviderRequest as kc, ISpinner as ki, IModelCapabilityDeviation as kl, ToolRegistry as kn, IPluginConfig as ko, IPlatformShellResolutionRequest as kr, IToolResult as ks, IGroupChatOrchestrationSpec as kt, lookupModelPrice as l, isConfirmed as la, composeEventName as lc, IToolSchemaProjectionProfile as li, AuthenticationError as ll, IAgentFactoryOptions as ln, IAgentConfig as lo, IStructuredOutputResolutionInput as lr, ICacheKey as ls, TToolRiskClass as lt, IToolWaitState as lu, formatTokenCount as m, IToolFactory as ma, IEventContext as mc, TOOL_SCHEMA_PROJECTION_MAX_NODES as mi, ModelNotAvailableError as ml, IToolResultSpillStore as mn, IToolWithEventService as mo, ISchemaClosureChange as mr, IExecutionJournal as ms, TResolveInWorkspace as mt, TLoggerData as mu, decodeHookVerdict as n, getToolEstimatedDuration as na, AbstractEventService as nc, AbstractPlugin as ni, TModelFallbackCallback as nl, isRegistryTransactionError as nn, TProviderModelLifecycle as no, IMediaProviderOverrides as nr, validateAgainstJsonSchema as ns, toolNameMatches as nt, isUserMessage as nu, MODEL_PRICES as o, CONFIRM_NO as oa, StructuredEventService as oc, TProviderLoggingData as oi, readProviderFailureDetails as ol, AgentTemplates as on, formatSupportedProviderTypes as oo, TEnvResolver as or, IZodSchemaDef as os, isProtectedPath as ot, IToolContinuationPrompt as ou, findModelDefinition as p, IOpenAPIToolConfig as pa, IBaseEventData as pc, TOOL_SCHEMA_PROJECTION_MAX_DEPTH as pi, IProviderFailureDetails as pl, IToolResultAdmissionOptions as pn, IToolContract as po, hasValidationConstraints as pr, IExecutionContinuationState as ps, IReadOnlyCommandContext as pt, TContextData as pu, TToolArgs as q, IProviderModelCatalog as qa, IProviderSpecificOptions as qc, IConversationServiceOptions as qi, TUniversalMessageMetadata as ql, LocalExecutor as qn, IRunOptions as qo, validateProviderName as qr, TOOL_BODY_EVENTS as qs, collectAssistantUsageMetadata as qt, GuardrailExecutor as r, getToolExecutionSteps as ra, DEFAULT_ABSTRACT_EVENT_SERVICE as rc, AbstractAIProvider as ri, IProviderFailureClassification as rl, lifecycleOf as rn, TProviderSetupField as ro, createImageProviderFromDefinition as rr, ISchemaConversionOptions as rs, ICriticalPathContext as rt, messageToHistoryEntry as ru, calculateModelCost as s, CONFIRM_YES as sa, bindEventServiceOwner as sc, IToolSchemaProjection as si, scrubSecrets as sl, ITemplateApplicationResult as sn, getProviderCredentialRequirement as so, createRecordEnvResolver as sr, IResponseFormatConfig as ss, removesCriticalPath as st, IToolWaitRequest as su, isEnforcing as t, TToolProgressCallback as ta, TASK_EVENT_PREFIX as tc, AbstractExecutor as ti, IModelFallbackNotice as tl, IRegistryTransactionStep as tn, TProviderModelCatalogStatus as to, normalizeProviderConfig as tr, parseStructuredResponseText as ts, requiresFreshApproval as tt, isToolMessage as tu, DEFAULT_CONTEXT_WINDOW as u, multiSelectAction as ua, generateSpanId as uc, PARAMETER_SCHEMA_KEYWORDS as ui, CacheIntegrityError as ul, IAgentLifecycleEvents as un, IAgentTemplate as uo, resolveStructuredOutputCapability as ur, ICacheOptions as us, UNCLASSIFIED_TOOL_FALLBACK as ut, TComplexConfigValue as uu, registerModelMetadata as v, IMediaProviderConfig as va, IExecutionEventData as vc, projectToolSchema as vi, RateLimitError as vl, admitToolResult as vn, ILoggerOptions as vo, callJournaledProvider as vr, IResumeExecutionOptions as vs, TPermissionDecision$1 as vt, TypeUtils as vu, IContextTokenEstimateOptions as w, IImageEditRequest as wa, TEventUniversalValue as wc, IDirent as wi, TErrorExternalInput as wl, TOOL_EVENTS as wn, getGlobalLoggerSink as wo, subprocessTraceEnvironment as wr, IParameterValidationResult as ws, withEventEmission as wt, readTokenUsageFromMetadata as x, findMediaProviderDefinition as xa, TEventExtensionValue as xc, AbstractAgent as xi, StorageError as xl, IDestroyResult as xn, TUtilLogLevel as xo, outboundTraceContextFor as xr, TExecutionJournalRecord as xs, TTrustLevel as xt, IMessageTokenUsage as y, IMediaProviderCredentialRequirement as ya, IOwnerPathSegment as yc, AbstractManager as yi, RobotaError as yl, wasToolResultAdmitted as yn, IUtilLogEntry as yo, buildTraceparent as yr, IResumeToolCallsOptions as ys, TPermissionMode as yt, IPermissionPolicyContext as z, isVideoGenerationProvider as za, TToolChoice as zc, ILocalExecutorConfig as zi, ISystemMessage as zl, TOutputRetention as zn, PluginCategory as zo, ExecutionSuspendedError as zr, IActionRequest as zs, TOrchestrationPrimitive as zt };
7272
- //# sourceMappingURL=index-DXZ-pyEr.d.ts.map
7300
+ export { parseParameterRule as $, IProviderSetupStepDefinition as $a, assertProviderNativeWebToolsAvailable as $c, IProgressReportingTool as $i, isAssistantMessage as $l, ConversationStore as $n, TStructuredOutputValidation as $o, isAbortFailure as $r, USER_EVENT_PREFIX as $s, IRegistryOwnedLifecycle as $t, allowRulesForAutoMode as A, IProviderMediaError as Aa, IRawProviderResponse as Ac, ITerminalOutput as Ai, IModelCapabilityDeviation as Al, EventEmitterPlugin as An, IPluginContext as Ao, TShellKind as Ar, TToolEffectAdmission as As, IHandoffOrchestrationSpec as At, IPermissionPolicyProjection as B, IProviderStructuredOutputCapability as Ba, getProviderCapabilities as Bc, IRemoteExecutorConfig as Bi, ISystemMessage as Bl, createBoundedOutput as Bn, PluginPriority as Bo, ExecutionJournalError as Br, IUserInteraction as Bs, AGENT_EVENTS as Bt, IContextTokenEstimate as C, IImageComposeRequest as Ca, TEventLoggerData as Cc, ICredentialStore as Ci, StructuredOutputError as Cl, EXECUTION_EVENT_PREFIX as Cn, getGlobalLogLevel as Co, spanIdFromMintedId as Cr, IFunctionTool as Cs, createExecutionProxy as Ct, estimateToolSchemaTokens as D, IImageGenerationResult as Da, IProviderNativeRawPayloadEvent as Dc, IStats as Di, ValidationError as Dl, assertResidentToolRemains as Dn, setGlobalLoggerSink as Do, traceHeadersFor as Dr, IToolExecutionResult as Ds, ORCHESTRATION_EVENT_PREFIX as Dt, estimateSerializedContextTokens as E, IImageGenerationRequest as Ea, IChatOptions as Ec, IFileSystemAsync as Ei, ToolExecutionError as El, DEFERRED_WITHOUT_LOADER_MESSAGE as En, setGlobalLogLevel as Eo, traceEnvFor as Er, IToolExecutionContext as Es, ORCHESTRATION_EVENTS as Et, IPermissionPatternProblem as F, IVideoJobSnapshot as Fa, TProviderNativeRawPayloadCallback as Fc, IExecutor as Fi, TProviderModelCapability as Fl, InMemoryEventEmitterMetrics as Fn, IPluginExecutionResult as Fo, TTimerId as Fr, TToolSearchMode as Fs, IOrchestrationStep as Ft, IToolPermissionArgument as G, IProviderDefinitionConfig as Ga, TJSONSchemaKind as Gc, IConversationResponse as Gi, IUserMessage as Gl, resolveEnvReference as Gn, TEventName as Go, validateApiKey as Gr, SPAN_EVENTS as Gs, IAssistantUsageMetadata as Gt, IParameterRule as H, TStructuredOutputProvenance as Ha, IParameterSchema as Hc, TExecutorStreamEvent as Hi, IToolCall as Hl, formatEnvReference as Hn, IEventEmitterEventData as Ho, ISimpleValidationResult as Hr, ISpanCompletionEventData as Hs, peerDriverOf as Ht, findInvalidPermissionPatterns as I, TImageInputSource as Ia, TProviderNativeRawPayloadKind as Ic, IExecutorChatResult as Ii, IAssistantMessage as Il, shellArgumentForDisplay as In, IPluginHooks as Io, isExecutionControlError as Ir, TToolSearchSetting as Is, IOrchestrationStepResult as It, clearRegisteredToolProfiles as J, IProviderModelCatalogEntry as Ja, IProviderCapabilities as Jc, IStreamingChunk as Ji, TUniversalMessageMetadata as Jl, ConversationHistory as Jn, TExecutionEventCallback as Jo, validateUserInput as Jr, TOOL_PERMISSION_EVENTS as Js, sumHistoryUsage as Jt, IToolPermissionProfile as K, IProviderEndpoint as Ka, TParameterDefaultValue as Kc, IConversationService as Ki, TMessageState as Kl, IAIProviderInstance as Kn, TExecutionEventName as Ko, validateModelName as Kr, SPAN_EVENT_PREFIX as Ks, ISessionUsageTotals as Kt, findPermissionPatternWarnings as L, TProviderMediaResult as La, TProviderOptionValueBase as Lc, IExecutorStreamMessageEvent as Li, IBaseMessage as Ll, IBoundedOutput as Ln, IPluginOptions as Lo, ExecutionRecoveryError as Lr, IActionDefault as Ls, IParallelOrchestrationSpec as Lt, splitCommandSegments as M, IVideoGenerationProvider as Ma, ITokenUsageWithCacheRead as Mc, IEventHistoryRecord as Mi, modelDeclaresCapability as Ml, IEventEmitterPluginOptions as Mn, IPluginData as Mo, resolvePlatformShell as Mr, TToolMetadata as Ms, IOrchestrationDelegation as Mt, applyPresetToolLists as N, IVideoGenerationRequest as Na, TProviderConfigValue as Nc, IEventHistorySnapshot as Ni, resolveModelCapabilities as Nl, IEventEmitterMetrics as Nn, IPluginErrorContext as No, startPeriodicTask as Nr, IDeferredToolCatalog as Ns, IOrchestrationEventData as Nt, IContextTokenUsage as O, IInlineImageInputSource as Oa, IProviderOptions as Oc, ISession as Oi, IModelRef as Ol, FunctionTool as On, IPlugin as Oo, IPlatformShell as Or, IToolRegistry as Os, TOrchestrationEvent as Ot, toolNamesToPatterns as P, IVideoJobAccepted as Pa, TProviderNativeRawPayload as Pc, IChatExecutionRequest as Pi, resolveModelCapability as Pl, IEventEmitterMetricsSnapshot as Pn, IPluginExecutionContext as Po, stopPeriodicTask as Pr, TOOL_SEARCH_TOOL_NAME as Ps, IOrchestrationRunResult as Pt, matchesAnyPattern as Q, IProviderSetupHelpLink as Qa, IProviderNativeWebToolRequest as Qc, TToolExecutionParameters as Qi, getMessagesForAPI as Ql, createUserMessage as Qn, TStructuredOutputSchema as Qo, TProviderMessage as Qr, USER_EVENTS as Qs, verifiedProviderCallUsage as Qt, validatePermissionPattern as R, isImageGenerationProvider as Ra, TTextDeltaCallback as Rc, IExecutorStreamTerminalEvent as Ri, IHistoryEntry as Rl, IBoundedOutputOptions as Rn, IPluginStats as Ro, TExecutionRecoveryErrorCode as Rr, IActionOption as Rs, ISequentialOrchestrationSpec as Rt, CONTEXT_ESTIMATE_CHARS_PER_TOKEN as S, isMediaProviderDefinition as Sa, TEventListener as Sc, ICredentialKey as Si, StorageError as Sl, EXECUTION_EVENTS as Sn, createLogger as So, providerCallSpanId as Sr, TJournalModelOptions as Ss, ExecutionProxy as St, estimateContextTokensFromMessages as T, IImageGenerationProvider as Ta, IAIProvider as Tc, IFileSystem as Ti, TErrorExternalInput as Tl, TOOL_EVENT_PREFIX as Tn, logger as To, toolTraceContextFor as Tr, ITool as Ts, IExecutionProxyConfig as Tt, IPermissionEvaluationContext as U, IProviderCredentialRequirement as Ua, IToolSchema as Uc, IContextOptions as Ui, IToolMessage as Ul, hasUsableSecretReference as Un, IEventEmitterPlugin as Uo, Validator as Ur, PROVIDER_CALL_EVENTS as Us, printablePeerDriver as Ut, projectPermissionPolicy as V, TStructuredOutputMechanism as Va, IObjectParameterSchema as Vc, IStreamExecutionRequest as Vi, ITextMessagePart as Vl, ENV_REFERENCE_PREFIX as Vn, EVENT_EMITTER_EVENTS as Vo, ErrorUtils as Vr, TActionResponse as Vs, AGENT_EVENT_PREFIX as Vt, IPermissionLists as W, IProviderDefinition as Wa, TJSONSchemaEnum as Wc, IConversationContext as Wi, IUriImageMessagePart as Wl, isEnvReference as Wn, TEventEmitterListener as Wo, validateAgentConfig as Wr, PROVIDER_FALLBACK_EVENTS as Ws, EventHistoryModule as Wt, getToolPermissionProfile as X, IProviderProfileConfig as Xa, IProviderNativeWebToolCapabilities as Xc, TConversationContextMetadata as Xi, TUniversalMessageRole as Xl, createSystemMessage as Xn, IJsonSchemaOutput as Xo, TMessageConverterRegistry as Xr, readModelFallbackNotice as Xs, IVerifiedProviderCallUsage as Xt, evaluatePermission as Y, IProviderProbeResult as Ya, IProviderFunctionCallingCapability as Yc, IToolExecutionRequest as Yi, TUniversalMessagePart as Yl, createAssistantMessage as Yn, TExecutionEventData as Yo, MessageConverter as Yr, TSpanEvent as Ys, sumMessagesUsage as Yt, isToolDeniedOutright as Z, IProviderProfileDefaults as Za, IProviderNativeWebToolCapability as Zc, TResponseMetadata as Zi, chatEntryToMessage as Zl, createToolMessage as Zn, IStructuredOutputSpec as Zo, TMessageFormatConverter as Zr, TUserEvent as Zs, TProviderUsageProvenance as Zt, getModelName as _, TManagerToolParameters as _a, IEventServiceOwnerBinding as _c, hashToolSchema as _i, PluginError as _l, ToolResultAdmissionError as _n, ILogger as _o, zodToJsonSchema as _r, IRecoverableExecutionJournal as _s, TBackgroundPermissionPolicy as _t, TMetadataValue as _u, IModelPrice as a, setToolProgressCallback as aa, ObservableEventService as ac, IProviderRuntimeConfig as ai, classifyProviderFailure as al, AgentFactory as an, findProviderDefinition as ao, resolveMediaProviderConfig as ar, IZodSchema as as, PROTECTED_FILE_NAMES as at, IToolActionIdentity as au, readTokenUsageFromMessage as b, IMediaProviderDefinition as ba, IToolEventData as bc, IManagerLifecycleOptions as bi, RobotaError as bl, Robota as bn, SilentLogger as bo, isMintedSpanId as br, IResumeToolCallsResult as bs, TRUST_TO_MODE as bt, estimateBlendedCostPer1000 as c, confirmAction as ca, bindWithOwnerPath as cc, IToolSchemaProjectionChange as ci, toProviderError as cl, IAgentCreationStats as cn, IAgent as co, processEnvResolver as cr, ICacheEntry as cs, RISK_CLASS_POLICY as ct, IToolWaitRequest as cu, DEFAULT_MAX_OUTPUT as d, selectAction as da, isDefaultEventService as dc, PERMISSIVE_TOOL_SCHEMA_PROFILE as di, CircuitBreakerOpenError as dl, DEFAULT_TOOL_RESULT_HARD_CHARS as dn, IAbstractTool as do, extractEnumValues as dr, ICacheStats as ds, TArgumentKind as dt, TComplexConfigValue as du, IToolExecutionStep as ea, TASK_EVENTS as ec, AbstractTool as ei, createDefaultProviderCapabilities as el, IRegistryTransactionError as en, TProviderCredentialField as eo, createProviderFromConfig as er, normalizeStructuredOutput as es, registerToolPermissionProfile as et, isChatEntry as eu, IModelDefinition as f, textAction as fa, IAgentEventData as fc, STRICT_TOOL_SCHEMA_PROFILE as fi, ConfigurationError as fl, DEFAULT_TOOL_RESULT_WARNING_CHARS as fn, IAbstractToolOptions as fo, getSchemaTypeName as fr, ICacheStorage as fs, TMatchDirection as ft, TConfigData as fu, getModelMaxOutput as g, IToolManager as ga, IEventService as gc, TToolSchemaProjectionProfileBase as gi, NetworkError as gl, TToolResultAdmissionErrorCode as gn, ConsoleLogger as go, closeObjectSchemas as gr, IModelJournalContext as gs, DEFAULT_BACKGROUND_PERMISSION_POLICY as gt, TMetadata as gu, getModelContextWindow as h, IAIProviderManager as ha, IEventObjectValue as hc, TToolSchemaProjectionOutcome as hi, ModelNotAvailableError as hl, MAX_TOOL_RESULT_CHARS as hn, TToolExecutionFunction as ho, ISchemaClosureOptions as hr, IExecutionRoundCheckpoint as hs, isReadOnlyCommandLine as ht, TLoggerData as hu, runHooks as i, isProgressReportingTool as ia, DefaultEventService as ic, IExecutorAwareProviderConfig as ii, TProviderFailureReason as il, runRegistryTransaction as in, TProviderSetupHelpLinkKind as io, createVideoProviderFromDefinition as ir, IZodParseResult as is, PROTECTED_DIRECTORY_NAMES as it, messageToHistoryEntry as iu, isBroadExecutionAllowRule as j, IUriImageInputSource as ja, ITokenUsage as jc, IEventHistoryModule as ji, IProviderCapabilityTable as jl, IEventEmitterHierarchicalEventData as jn, IPluginContract as jo, UnsupportedShellError as jr, TToolExecutor as js, IHierarchicalOrchestrationSpec as jt, IContextWindowState as k, IMediaOutputRef as ka, IProviderRequest as kc, ISpinner as ki, TRoleModelMap as kl, ToolRegistry as kn, IPluginConfig as ko, IPlatformShellResolutionRequest as kr, IToolResult as ks, IGroupChatOrchestrationSpec as kt, lookupModelPrice as l, isConfirmed as la, composeEventName as lc, IToolSchemaProjectionProfile as li, AuthenticationError as ll, IAgentFactoryOptions as ln, IAgentConfig as lo, IStructuredOutputResolutionInput as lr, ICacheKey as ls, TToolRiskClass as lt, IToolWaitResponse as lu, formatTokenCount as m, IToolFactory as ma, IEventContext as mc, TOOL_SCHEMA_PROJECTION_MAX_NODES as mi, IProviderFailureDetails as ml, IToolResultSpillStore as mn, IToolWithEventService as mo, ISchemaClosureChange as mr, IExecutionJournal as ms, TResolveInWorkspace as mt, TContextData as mu, decodeHookVerdict as n, getToolEstimatedDuration as na, AbstractEventService as nc, AbstractPlugin as ni, TModelFallbackCallback as nl, isRegistryTransactionError as nn, TProviderModelLifecycle as no, IMediaProviderOverrides as nr, validateAgainstJsonSchema as ns, toolNameMatches as nt, isToolMessage as nu, MODEL_PRICES as o, CONFIRM_NO as oa, StructuredEventService as oc, TProviderLoggingData as oi, readProviderFailureDetails as ol, AgentTemplates as on, formatSupportedProviderTypes as oo, TEnvResolver as or, IZodSchemaDef as os, isProtectedPath as ot, IToolContinuation as ou, findModelDefinition as p, IOpenAPIToolConfig as pa, IBaseEventData as pc, TOOL_SCHEMA_PROJECTION_MAX_DEPTH as pi, EmptyCompletionError as pl, IToolResultAdmissionOptions as pn, IToolContract as po, hasValidationConstraints as pr, IExecutionContinuationState as ps, IReadOnlyCommandContext as pt, TConfigValue as pu, TToolArgs as q, IProviderModelCatalog as qa, IProviderSpecificOptions as qc, IConversationServiceOptions as qi, TUniversalMessage as ql, LocalExecutor as qn, IRunOptions as qo, validateProviderName as qr, TOOL_BODY_EVENTS as qs, collectAssistantUsageMetadata as qt, GuardrailExecutor as r, getToolExecutionSteps as ra, DEFAULT_ABSTRACT_EVENT_SERVICE as rc, AbstractAIProvider as ri, IProviderFailureClassification as rl, lifecycleOf as rn, TProviderSetupField as ro, createImageProviderFromDefinition as rr, ISchemaConversionOptions as rs, ICriticalPathContext as rt, isUserMessage as ru, calculateModelCost as s, CONFIRM_YES as sa, bindEventServiceOwner as sc, IToolSchemaProjection as si, scrubSecrets as sl, ITemplateApplicationResult as sn, getProviderCredentialRequirement as so, createRecordEnvResolver as sr, IResponseFormatConfig as ss, removesCriticalPath as st, IToolContinuationPrompt as su, isEnforcing as t, TToolProgressCallback as ta, TASK_EVENT_PREFIX as tc, AbstractExecutor as ti, IModelFallbackNotice as tl, IRegistryTransactionStep as tn, TProviderModelCatalogStatus as to, normalizeProviderConfig as tr, parseStructuredResponseText as ts, requiresFreshApproval as tt, isSystemMessage as tu, DEFAULT_CONTEXT_WINDOW as u, multiSelectAction as ua, generateSpanId as uc, PARAMETER_SCHEMA_KEYWORDS as ui, CacheIntegrityError as ul, IAgentLifecycleEvents as un, IAgentTemplate as uo, resolveStructuredOutputCapability as ur, ICacheOptions as us, UNCLASSIFIED_TOOL_FALLBACK as ut, IToolWaitState as uu, registerModelMetadata as v, IMediaProviderConfig as va, IExecutionEventData as vc, projectToolSchema as vi, ProviderError as vl, admitToolResult as vn, ILoggerOptions as vo, callJournaledProvider as vr, IResumeExecutionOptions as vs, TPermissionDecision$1 as vt, TToolParameters as vu, IContextTokenEstimateOptions as w, IImageEditRequest as wa, TEventUniversalValue as wc, IDirent as wi, TErrorContextData as wl, TOOL_EVENTS as wn, getGlobalLoggerSink as wo, subprocessTraceEnvironment as wr, IParameterValidationResult as ws, withEventEmission as wt, readTokenUsageFromMetadata as x, findMediaProviderDefinition as xa, TEventExtensionValue as xc, AbstractAgent as xi, SameToolInputLoopError as xl, IDestroyResult as xn, TUtilLogLevel as xo, outboundTraceContextFor as xr, TExecutionJournalRecord as xs, TTrustLevel as xt, IMessageTokenUsage as y, IMediaProviderCredentialRequirement as ya, IOwnerPathSegment as yc, AbstractManager as yi, RateLimitError as yl, wasToolResultAdmitted as yn, IUtilLogEntry as yo, buildTraceparent as yr, IResumeToolCallsOptions as ys, TPermissionMode as yt, TypeUtils as yu, IPermissionPolicyContext as z, isVideoGenerationProvider as za, TToolChoice as zc, ILocalExecutorConfig as zi, IInlineImageMessagePart as zl, TOutputRetention as zn, PluginCategory as zo, ExecutionSuspendedError as zr, IActionRequest as zs, TOrchestrationPrimitive as zt };
7301
+ //# sourceMappingURL=index-CPwJEiFl.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CPwJEiFl.d.cts","names":[],"sources":["../../src/interfaces/types.ts","../../src/interfaces/tool-continuation.ts","../../src/interfaces/messages.ts","../../src/interfaces/provider-model-capability-kind.ts","../../src/interfaces/model-capability.ts","../../src/interfaces/role-model.ts","../../src/utils/errors.ts","../../src/utils/provider-failure.ts","../../src/interfaces/model-fallback.ts","../../src/interfaces/provider-capabilities.ts","../../src/interfaces/provider-specific-options.ts","../../src/interfaces/tool-schema.ts","../../src/interfaces/provider.ts","../../src/event-service/interfaces.ts","../../src/event-service/event-service.ts","../../src/event-service/task-events.ts","../../src/event-service/user-events.ts","../../src/event-service/span-events.ts","../../src/interfaces/interaction.ts","../../src/interfaces/tool-search.ts","../../src/interfaces/tool.ts","../../src/interfaces/execution-journal.ts","../../src/interfaces/cache.ts","../../src/interfaces/response-format.ts","../../src/schema/zod-schema-types.ts","../../src/schema/structured-output.ts","../../src/interfaces/run-options.ts","../../src/plugins/event-emitter/types.ts","../../src/abstracts/abstract-module-types.ts","../../src/abstracts/abstract-plugin-types.ts","../../src/utils/logger.ts","../../src/abstracts/abstract-tool-types.ts","../../src/interfaces/agent.ts","../../src/interfaces/provider-definition.ts","../../src/interfaces/structured-output-capability.ts","../../src/interfaces/media-provider.ts","../../src/interfaces/media-provider-definition.ts","../../src/interfaces/manager.ts","../../src/interfaces/tool-integration.ts","../../src/interfaces/interaction-builders.ts","../../src/interfaces/progress-reporting.ts","../../src/interfaces/service.ts","../../src/interfaces/executor.ts","../../src/interfaces/history-module.ts","../../src/interfaces/terminal-output.ts","../../src/interfaces/session.ts","../../src/interfaces/file-system.ts","../../src/interfaces/credential-store.ts","../../src/abstracts/abstract-agent.ts","../../src/abstracts/abstract-manager.ts","../../src/schema/project-tool-schema.ts","../../src/abstracts/abstract-ai-provider.ts","../../src/abstracts/abstract-plugin.ts","../../src/abstracts/abstract-executor.ts","../../src/abstracts/abstract-tool.ts","../../src/utils/abort-classification.ts","../../src/utils/message-converter.ts","../../src/utils/validation.ts","../../src/utils/error-utils.ts","../../src/utils/execution-journal-error.ts","../../src/utils/execution-suspended-error.ts","../../src/utils/execution-recovery-error.ts","../../src/utils/execution-control-error.ts","../../src/utils/timer-types.ts","../../src/utils/periodic-task.ts","../../src/utils/platform-shell.ts","../../src/utils/trace-context.ts","../../src/services/execution-journal.ts","../../src/schema/zod-to-json-schema.ts","../../src/schema/close-object-schemas.ts","../../src/schema/zod-schema-inspect.ts","../../src/services/structured-output-transport.ts","../../src/utils/env-resolver.ts","../../src/providers/media-provider-factory.ts","../../src/providers/provider-factory.ts","../../src/managers/conversation-history-types.ts","../../src/managers/conversation-store.ts","../../src/managers/conversation-message-factory.ts","../../src/managers/conversation-history-manager.ts","../../src/executors/local-executor.ts","../../src/utils/env-ref.ts","../../src/utils/bounded-output.ts","../../src/utils/shell-argument.ts","../../src/plugins/event-emitter/metrics.ts","../../src/plugins/event-emitter/plugin-types.ts","../../src/plugins/event-emitter-plugin.ts","../../src/tool-registry/tool-registry.ts","../../src/tool-registry/function-tool.ts","../../src/tool-registry/tool-residency.ts","../../src/core/robota-types.ts","../../src/core/robota-base.ts","../../src/managers/ai-provider-manager.ts","../../src/managers/tool-manager.ts","../../src/core/robota-config-manager.ts","../../src/services/tool-execution-constants.ts","../../src/services/execution-constants.ts","../../src/core/robota-lifecycle.ts","../../src/core/robota.ts","../../src/core/tool-result-admission.ts","../../src/managers/agent-factory-helpers.ts","../../src/managers/agent-templates.ts","../../src/managers/agent-factory.ts","../../src/managers/registry-transaction.ts","../../src/services/provider-call-usage.ts","../../src/services/execution-usage.ts","../../src/services/history-module.ts","../../src/services/message-origin.ts","../../src/agents/constants.ts","../../src/orchestration/orchestration-contracts.ts","../../src/orchestration/orchestration-events.ts","../../src/utils/execution-proxy-types.ts","../../src/utils/execution-proxy.ts","../../src/permissions/types.ts","../../src/permissions/read-only-commands.ts","../../src/permissions/argument-matchers.ts","../../src/permissions/permission-mode.ts","../../src/permissions/permission-safeguards.ts","../../src/permissions/permission-gate.ts","../../src/permissions/permission-policy.ts","../../src/permissions/pattern-validation.ts","../../src/permissions/tool-list-patterns.ts","../../src/permissions/command-segments.ts","../../src/permissions/auto-mode-rules.ts","../../src/context/types.ts","../../src/context/estimation.ts","../../src/context/token-usage.ts","../../src/context/models.ts","../../src/context/model-pricing.ts","../../src/hooks/response-protocol.ts","../../src/hooks/hook-runner.ts","../../src/hooks/executors/guardrail-executor.ts","../../src/hooks/verdict-decoder.ts","../../src/hooks/enforcement-policy.ts"],"mappings":"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,KACE,WAAW,YACX,UAAU,uBACV,UAAU,OAAO;EAEnB,IAAI,WAAW,YAAY,8BAA8B;EACzD,KAAK,WAAW,YAAY,YAAY,QAAQ,0BAA0B;;;;;UC7J3D;EACf;EACA;EACA;EACA;EACA,WAAW,2CAA2C;GACrD,0CAC6B,OAAO,2CAA2C;;;UAIjE;EACf;EACA,OAAO;EACP,QAAQ;EACR;EACA,WAAW,2CAA2C;;;UAIvC;GACd,0CAA0C;;;UAI5B;EACf;EACA,SAAS;;;UAIM;EACf;EACA;EACA;;;UAIe;EACf;EACA,UAAU;EACV,OAAO;EACP;EACA;;;aAIU;EACV;EACA;EACA;EACA;EACA;EACA;;;aAIU;EACV;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;EACA,cAAc;EACd,WAAW;;;UAII;EACf;EACA;EACA;EACA;EACA,eAAe;EACf;GACC,0CAA0C;;;UAI5B,QACf,iBAAiB,qBAAqB,oBACtC,SAAS;EAET;EACA;EACA;EACA,WAAW,UAAU,UAAU,eAAe,sBAAsB;EACpE,YAAY;EACZ,SAAS,SAAS,0BAA0B,QAAQ;EACpD,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb;EACA;;;;;aC1FU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;aAUU;EACV;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA,WAAW;EACX,SAAS;EACT,WAAW,2CAA2C;GACrD,0CAIG,yCAIA,sBACA,4CACA,2CAA2C;;;UAKhC;EACf;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ,QAAQ;EAChB,YAAY;IACV;IACA;IACA,YAAY;IACZ;;EAEF,UAAU;IACR;IACA;IACA;IACA;;EAEF,QAAQ;EACR,WAAW,2CAA2C;;;;;;;;UASvC;EACf,WAAW;EACX,aAAa;EACb;EACA;EACA,WAAW;EACX,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,mBAAmB;;EAEnB,kBAAkB;;;;;EAKlB,UAAU;;;UAIK;EACf;EACA;EACA,aAAa;EACb,SAAS;EACT,Q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"}