stitchkit 0.88.0 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/dist/agent-runtime/child-blocking.d.ts +17 -0
  3. package/dist/agent-runtime/child-blocking.d.ts.map +1 -0
  4. package/dist/agent-runtime/child-budget-policy.d.ts +23 -0
  5. package/dist/agent-runtime/child-budget-policy.d.ts.map +1 -0
  6. package/dist/agent-runtime/children-contract.d.ts +155 -0
  7. package/dist/agent-runtime/children-contract.d.ts.map +1 -0
  8. package/dist/agent-runtime/children.d.ts +4 -99
  9. package/dist/agent-runtime/children.d.ts.map +1 -1
  10. package/dist/agent-runtime/coding-shell-process.d.ts +33 -0
  11. package/dist/agent-runtime/coding-shell-process.d.ts.map +1 -0
  12. package/dist/agent-runtime/coding-tool-contract.d.ts +18 -0
  13. package/dist/agent-runtime/coding-tool-contract.d.ts.map +1 -1
  14. package/dist/agent-runtime/coding-tool-files.d.ts.map +1 -1
  15. package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
  16. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
  17. package/dist/agent-runtime/coding-tool-shell.d.ts.map +1 -1
  18. package/dist/agent-runtime/coding-tool-utf8.d.ts +28 -0
  19. package/dist/agent-runtime/coding-tool-utf8.d.ts.map +1 -0
  20. package/dist/agent-runtime/contained-files.d.ts +20 -0
  21. package/dist/agent-runtime/contained-files.d.ts.map +1 -1
  22. package/dist/agent-runtime/durability-contract.d.ts +176 -0
  23. package/dist/agent-runtime/durability-contract.d.ts.map +1 -0
  24. package/dist/agent-runtime/durability-json.d.ts +3 -0
  25. package/dist/agent-runtime/durability-json.d.ts.map +1 -0
  26. package/dist/agent-runtime/durability-ledger.d.ts +16 -0
  27. package/dist/agent-runtime/durability-ledger.d.ts.map +1 -0
  28. package/dist/agent-runtime/durability-scheduler.d.ts +29 -0
  29. package/dist/agent-runtime/durability-scheduler.d.ts.map +1 -0
  30. package/dist/agent-runtime/durability.d.ts +14 -0
  31. package/dist/agent-runtime/durability.d.ts.map +1 -0
  32. package/dist/agent-runtime/event-search.d.ts.map +1 -1
  33. package/dist/agent-runtime/harness-contract.d.ts +37 -0
  34. package/dist/agent-runtime/harness-contract.d.ts.map +1 -1
  35. package/dist/agent-runtime/harness.d.ts +8 -0
  36. package/dist/agent-runtime/harness.d.ts.map +1 -1
  37. package/dist/agent-runtime/prompt.d.ts +23 -0
  38. package/dist/agent-runtime/prompt.d.ts.map +1 -1
  39. package/dist/agent-runtime/run-execution.d.ts.map +1 -1
  40. package/dist/agent-runtime/runtime-internals.d.ts +4 -0
  41. package/dist/agent-runtime/runtime-internals.d.ts.map +1 -1
  42. package/dist/agent-runtime/runtime.d.ts +13 -0
  43. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  44. package/dist/agent-runtime/sandbox-broker.d.ts +7 -0
  45. package/dist/agent-runtime/sandbox-broker.d.ts.map +1 -0
  46. package/dist/agent-runtime/sandbox-bubblewrap-args.d.ts +9 -0
  47. package/dist/agent-runtime/sandbox-bubblewrap-args.d.ts.map +1 -0
  48. package/dist/agent-runtime/sandbox-bubblewrap-storage.d.ts +22 -0
  49. package/dist/agent-runtime/sandbox-bubblewrap-storage.d.ts.map +1 -0
  50. package/dist/agent-runtime/sandbox-bubblewrap.d.ts +14 -0
  51. package/dist/agent-runtime/sandbox-bubblewrap.d.ts.map +1 -0
  52. package/dist/agent-runtime/sandbox-coding-adapter.d.ts +15 -0
  53. package/dist/agent-runtime/sandbox-coding-adapter.d.ts.map +1 -0
  54. package/dist/agent-runtime/sandbox-coding.d.ts +15 -0
  55. package/dist/agent-runtime/sandbox-coding.d.ts.map +1 -0
  56. package/dist/agent-runtime/sandbox-contract.d.ts +93 -0
  57. package/dist/agent-runtime/sandbox-contract.d.ts.map +1 -0
  58. package/dist/agent-runtime/sandbox-process-owner.d.ts +11 -0
  59. package/dist/agent-runtime/sandbox-process-owner.d.ts.map +1 -0
  60. package/dist/agent-runtime/sandbox-process.d.ts +8 -0
  61. package/dist/agent-runtime/sandbox-process.d.ts.map +1 -0
  62. package/dist/agent-runtime/sandbox-session.d.ts +5 -0
  63. package/dist/agent-runtime/sandbox-session.d.ts.map +1 -0
  64. package/dist/agent-runtime/sandbox.d.ts +19 -0
  65. package/dist/agent-runtime/sandbox.d.ts.map +1 -1
  66. package/dist/agent-runtime/sqlite-purge.d.ts.map +1 -1
  67. package/dist/agent-runtime/sqlite.d.ts.map +1 -1
  68. package/dist/agent-runtime/store-driver.d.ts +127 -0
  69. package/dist/agent-runtime/store-driver.d.ts.map +1 -1
  70. package/dist/agent-runtime/store-events.d.ts +104 -0
  71. package/dist/agent-runtime/store-events.d.ts.map +1 -1
  72. package/dist/agent-runtime/store-migrations/v2-to-v3.d.ts +14 -0
  73. package/dist/agent-runtime/store-migrations/v2-to-v3.d.ts.map +1 -0
  74. package/dist/agent-runtime/store.d.ts +115 -0
  75. package/dist/agent-runtime/store.d.ts.map +1 -1
  76. package/dist/agent-runtime-coding-tools.js +11 -1247
  77. package/dist/agent-runtime-harness.d.ts +1 -1
  78. package/dist/agent-runtime-harness.d.ts.map +1 -1
  79. package/dist/agent-runtime-harness.js +65 -15
  80. package/dist/agent-runtime-openrouter.d.ts +3 -12
  81. package/dist/agent-runtime-openrouter.d.ts.map +1 -1
  82. package/dist/agent-runtime-openrouter.js +10 -7
  83. package/dist/agent-runtime-sandbox.d.ts +5 -0
  84. package/dist/agent-runtime-sandbox.d.ts.map +1 -0
  85. package/dist/agent-runtime-sandbox.js +797 -0
  86. package/dist/agent-runtime-sqlite-bun.js +3 -3
  87. package/dist/agent-runtime-sqlite-node.js +3 -3
  88. package/dist/agent-runtime.d.ts +5 -4
  89. package/dist/agent-runtime.d.ts.map +1 -1
  90. package/dist/agent-runtime.js +259 -65
  91. package/dist/application/watch-hub.d.ts +24 -2
  92. package/dist/application/watch-hub.d.ts.map +1 -1
  93. package/dist/application.js +127 -37
  94. package/dist/cli.js +8 -8
  95. package/dist/index-2na0qrfn.js +214 -0
  96. package/dist/{index-rcgsnrr6.js → index-31jw8fjq.js} +3 -3
  97. package/dist/{index-9hw9eq48.js → index-7601qfg1.js} +14 -14
  98. package/dist/{index-3xnq72rz.js → index-7rkhw9ec.js} +14 -1
  99. package/dist/{index-0vfdh685.js → index-8c3a7m4g.js} +1 -1
  100. package/dist/{index-t7gh5w3v.js → index-bn2cjajt.js} +27 -6
  101. package/dist/index-cp20z0n6.js +1351 -0
  102. package/dist/{index-qp3vshvc.js → index-fadnxwna.js} +87 -5
  103. package/dist/{index-v1qk37y9.js → index-hrbajay7.js} +106 -4
  104. package/dist/{index-p86mxmpp.js → index-hw2chdvy.js} +646 -43
  105. package/dist/{index-0ydchz76.js → index-mnm4qp0p.js} +5 -5
  106. package/dist/{index-1szetq6f.js → index-q3ve2d1k.js} +30 -8
  107. package/dist/{index-6krwcdcf.js → index-zwkgfq1s.js} +95 -85
  108. package/dist/{index-wn9cb82y.js → index-zyvby92n.js} +12 -9
  109. package/dist/index.js +13 -13
  110. package/dist/live/watch-client.d.ts +2 -1
  111. package/dist/live/watch-client.d.ts.map +1 -1
  112. package/dist/live/watch-contract.d.ts +70 -4
  113. package/dist/live/watch-contract.d.ts.map +1 -1
  114. package/dist/live/watch-delta.d.ts +110 -0
  115. package/dist/live/watch-delta.d.ts.map +1 -0
  116. package/dist/live.d.ts +2 -1
  117. package/dist/live.d.ts.map +1 -1
  118. package/dist/live.js +56 -4
  119. package/dist/observability/changes.d.ts +55 -0
  120. package/dist/observability/changes.d.ts.map +1 -0
  121. package/dist/observability/index.d.ts +2 -0
  122. package/dist/observability/index.d.ts.map +1 -1
  123. package/dist/observability/index.js +127 -0
  124. package/dist/observability/spool.d.ts +53 -0
  125. package/dist/observability/spool.d.ts.map +1 -0
  126. package/dist/server/index.js +9 -9
  127. package/dist/testing/agent-store-conformance.d.ts.map +1 -1
  128. package/dist/testing.js +57 -23
  129. package/dist/tool-invoker.js +6 -6
  130. package/dist/tools/agent.d.ts +6 -0
  131. package/dist/tools/agent.d.ts.map +1 -1
  132. package/dist/tools/connections/define.d.ts +6 -0
  133. package/dist/tools/connections/define.d.ts.map +1 -0
  134. package/dist/tools/connections/errors.d.ts +50 -0
  135. package/dist/tools/connections/errors.d.ts.map +1 -0
  136. package/dist/tools/connections/http.d.ts +3 -0
  137. package/dist/tools/connections/http.d.ts.map +1 -0
  138. package/dist/tools/connections/index.d.ts +19 -0
  139. package/dist/tools/connections/index.d.ts.map +1 -0
  140. package/dist/tools/connections/index.js +1047 -0
  141. package/dist/tools/connections/instance.d.ts +3 -0
  142. package/dist/tools/connections/instance.d.ts.map +1 -0
  143. package/dist/tools/connections/json-rpc.d.ts +8 -0
  144. package/dist/tools/connections/json-rpc.d.ts.map +1 -0
  145. package/dist/tools/connections/limits.d.ts +36 -0
  146. package/dist/tools/connections/limits.d.ts.map +1 -0
  147. package/dist/tools/connections/mcp-client.d.ts +44 -0
  148. package/dist/tools/connections/mcp-client.d.ts.map +1 -0
  149. package/dist/tools/connections/mcp.d.ts +5 -0
  150. package/dist/tools/connections/mcp.d.ts.map +1 -0
  151. package/dist/tools/connections/mount.d.ts +12 -0
  152. package/dist/tools/connections/mount.d.ts.map +1 -0
  153. package/dist/tools/connections/openapi-document.d.ts +4 -0
  154. package/dist/tools/connections/openapi-document.d.ts.map +1 -0
  155. package/dist/tools/connections/openapi.d.ts +5 -0
  156. package/dist/tools/connections/openapi.d.ts.map +1 -0
  157. package/dist/tools/connections/runtime.d.ts +29 -0
  158. package/dist/tools/connections/runtime.d.ts.map +1 -0
  159. package/dist/tools/connections/schema-budget.d.ts +8 -0
  160. package/dist/tools/connections/schema-budget.d.ts.map +1 -0
  161. package/dist/tools/connections/sse-frames.d.ts +7 -0
  162. package/dist/tools/connections/sse-frames.d.ts.map +1 -0
  163. package/dist/tools/connections/sse-session.d.ts +26 -0
  164. package/dist/tools/connections/sse-session.d.ts.map +1 -0
  165. package/dist/tools/connections/ssrf.d.ts +15 -0
  166. package/dist/tools/connections/ssrf.d.ts.map +1 -0
  167. package/dist/tools/connections/types.d.ts +60 -0
  168. package/dist/tools/connections/types.d.ts.map +1 -0
  169. package/dist/tools/durability-context.d.ts +7 -0
  170. package/dist/tools/durability-context.d.ts.map +1 -0
  171. package/dist/tools/execute.d.ts +2 -0
  172. package/dist/tools/execute.d.ts.map +1 -1
  173. package/dist/tools/registry.d.ts +38 -0
  174. package/dist/tools/registry.d.ts.map +1 -0
  175. package/dist/tools/runtime-tool.d.ts +4 -0
  176. package/dist/tools/runtime-tool.d.ts.map +1 -1
  177. package/dist/tools.d.ts +1 -0
  178. package/dist/tools.d.ts.map +1 -1
  179. package/dist/tools.js +83 -26
  180. package/llms-full.txt +386 -16
  181. package/llms.txt +1 -0
  182. package/package.json +9 -1
  183. package/dist/index-dre2ywck.js +0 -48
  184. package/dist/{index-evcnmsc3.js → index-t7fkyxcr.js} +3 -3
@@ -1,2 +1,2 @@
1
- export { type AgentHarnessApprovalDecision, type AgentHarnessControlConnection, type AgentHarnessControlServer, type AgentHarnessControlServerConfig, type AgentHarnessFileLimits, AgentHarnessFileLimitsSchema, type AgentHarnessFileResources, type AgentHarnessFileRoot, AgentHarnessFileRootSchema, type AgentHarnessLimits, AgentHarnessLimitsSchema, type AgentHarnessPendingApproval, type AgentHarnessProfileEvent, AgentHarnessProfileEventSchema, type AgentHarnessResource, type AgentHarnessResourceDiagnostic, AgentHarnessResourceDiagnosticSchema, type AgentHarnessResourceKind, AgentHarnessResourceKindSchema, type AgentHarnessResourceResult, AgentHarnessResourceSchema, createAgentHarnessControlServer, createAgentHarnessFileResources, createHeadlessAgentHarness, type HeadlessAgentHarness, type HeadlessAgentHarnessConfig, type HeadlessAgentModelResolver, } from './agent-runtime/harness.js';
1
+ export { type AgentHarnessApprovalAuthorization, type AgentHarnessApprovalAuthorizationResult, type AgentHarnessApprovalDecision, AgentHarnessApprovalRejectedError, type AgentHarnessApprovalRequest, type AgentHarnessControlConnection, type AgentHarnessControlServer, type AgentHarnessControlServerConfig, type AgentHarnessFileLimits, AgentHarnessFileLimitsSchema, type AgentHarnessFileResources, type AgentHarnessFileRoot, AgentHarnessFileRootSchema, type AgentHarnessLimits, AgentHarnessLimitsSchema, type AgentHarnessPendingApproval, type AgentHarnessProfileEvent, AgentHarnessProfileEventSchema, type AgentHarnessResource, type AgentHarnessResourceDiagnostic, AgentHarnessResourceDiagnosticSchema, type AgentHarnessResourceKind, AgentHarnessResourceKindSchema, type AgentHarnessResourceResult, AgentHarnessResourceSchema, createAgentHarnessControlServer, createAgentHarnessFileResources, createHeadlessAgentHarness, type HeadlessAgentHarness, type HeadlessAgentHarnessConfig, type HeadlessAgentModelResolver, } from './agent-runtime/harness.js';
2
2
  //# sourceMappingURL=agent-runtime-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime-harness.d.ts","sourceRoot":"","sources":["../src/agent-runtime-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,oCAAoC,EACpC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"agent-runtime-harness.d.ts","sourceRoot":"","sources":["../src/agent-runtime-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EACjC,iCAAiC,EACjC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,oCAAoC,EACpC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC"}
@@ -6,34 +6,34 @@ import {
6
6
  composeAgentPrompt,
7
7
  createAgentRuntime,
8
8
  createAgentRuntimeEventSink
9
- } from "./index-p86mxmpp.js";
9
+ } from "./index-hw2chdvy.js";
10
10
  import"./index-p13mwz16.js";
11
11
  import"./index-y64k3s0h.js";
12
12
  import {
13
13
  AgentModelDescriptorSchema
14
14
  } from "./index-mqv3b5rh.js";
15
- import"./index-6krwcdcf.js";
15
+ import"./index-zwkgfq1s.js";
16
16
  import"./index-gtj3zc53.js";
17
17
  import"./index-wnfk50r0.js";
18
18
  import {
19
19
  walkContainedFiles
20
- } from "./index-t7gh5w3v.js";
21
- import"./index-3xnq72rz.js";
22
- import {
23
- defineRuntimeTool
24
- } from "./index-kc6h6hg0.js";
25
- import"./index-wn9cb82y.js";
20
+ } from "./index-bn2cjajt.js";
21
+ import"./index-7rkhw9ec.js";
22
+ import"./index-zyvby92n.js";
26
23
  import"./index-vsbzgd7b.js";
27
24
  import"./index-f9mb610r.js";
28
- import"./index-r159gjwy.js";
29
- import"./index-cby4ar3v.js";
30
- import"./index-7zbps32p.js";
31
25
  import"./index-7evdsyez.js";
32
26
  import"./index-2bxcmqkb.js";
33
27
  import"./index-6k1937bx.js";
34
28
  import"./index-0w9abg87.js";
35
29
  import"./index-zcgf3gqf.js";
30
+ import"./index-7zbps32p.js";
36
31
  import"./index-kzfs85xp.js";
32
+ import {
33
+ defineRuntimeTool
34
+ } from "./index-kc6h6hg0.js";
35
+ import"./index-r159gjwy.js";
36
+ import"./index-cby4ar3v.js";
37
37
  import"./index-77fekveh.js";
38
38
 
39
39
  // src/agent-runtime/harness-contract.ts
@@ -485,6 +485,14 @@ function createAgentHarnessControlServer(harness, config = {}) {
485
485
  }
486
486
 
487
487
  // src/agent-runtime/harness.ts
488
+ class AgentHarnessApprovalRejectedError extends Error {
489
+ reason;
490
+ constructor(reason) {
491
+ super(`Approval response rejected: ${reason}`);
492
+ this.name = "AgentHarnessApprovalRejectedError";
493
+ this.reason = reason;
494
+ }
495
+ }
488
496
  function activeRunId(snapshot) {
489
497
  const active = snapshot.runs.filter((run2) => run2.state === "running" || run2.state === "interrupt_requested");
490
498
  if (active.length !== 1) {
@@ -506,6 +514,7 @@ function createHeadlessAgentHarness(config) {
506
514
  onProfile,
507
515
  onProfileError,
508
516
  publish: applicationPublish,
517
+ blockingPresentation = "local",
509
518
  ...runtimeConfig
510
519
  } = config;
511
520
  const limits = resolveHarnessLimits(inputLimits);
@@ -543,7 +552,15 @@ function createHeadlessAgentHarness(config) {
543
552
  entry.emitting = emitting;
544
553
  return emitting;
545
554
  };
546
- const publish = async (event) => {
555
+ const presentationMessage = (message) => blockingPresentation === "parent" ? {
556
+ ...message,
557
+ parts: message.parts.filter((part) => part.type !== "tool-approval-request")
558
+ } : message;
559
+ const publish = async (rawEvent) => {
560
+ let event = rawEvent;
561
+ if (blockingPresentation === "parent" && (event.type === "assistant-checkpoint" || event.type === "terminal")) {
562
+ event = { ...event, message: presentationMessage(event.message) };
563
+ }
547
564
  try {
548
565
  await applicationPublish?.(event);
549
566
  } finally {
@@ -558,7 +575,7 @@ function createHeadlessAgentHarness(config) {
558
575
  ...runtimeConfig,
559
576
  models,
560
577
  publish,
561
- prompt: async ({ context, signal, model, snapshot }) => {
578
+ prompt: async ({ context, signal, model, snapshot, event }) => {
562
579
  const loaded = validateHarnessResources(await resources.load({ context, signal, model, snapshot }), limits);
563
580
  try {
564
581
  await resources.onDiagnostics?.({ context, diagnostics: loaded.diagnostics });
@@ -584,6 +601,7 @@ function createHeadlessAgentHarness(config) {
584
601
  return prompt({
585
602
  context,
586
603
  signal,
604
+ event,
587
605
  budget: await promptBudget({
588
606
  context,
589
607
  contextWindow: model.descriptor.contextWindow
@@ -627,7 +645,10 @@ function createHeadlessAgentHarness(config) {
627
645
  };
628
646
  return {
629
647
  ...runtime,
630
- snapshot: (conversationId) => config.store.loadSnapshot(conversationId),
648
+ snapshot: async (conversationId) => {
649
+ const snapshot = await config.store.loadSnapshot(conversationId);
650
+ return { ...snapshot, messages: snapshot.messages.map(presentationMessage) };
651
+ },
631
652
  subscribe(listener) {
632
653
  subscribers.add(listener);
633
654
  return () => subscribers.delete(listener);
@@ -638,6 +659,34 @@ function createHeadlessAgentHarness(config) {
638
659
  if (pending2.length !== 1) {
639
660
  throw new Error("Approval request is missing, stale or already answered");
640
661
  }
662
+ const request = pending2[0];
663
+ if (!request) {
664
+ throw new Error("Approval request is missing, stale or already answered");
665
+ }
666
+ const authorization = config.authorizeApprovalResponse ? await config.authorizeApprovalResponse({
667
+ responder: input.context,
668
+ conversationId: input.conversationId,
669
+ request: {
670
+ approvalId: request.approvalId,
671
+ callId: request.callId,
672
+ toolName: request.toolName,
673
+ input: request.input
674
+ },
675
+ approved: input.approved
676
+ }) : { status: "allowed" };
677
+ if (authorization.status === "rejected") {
678
+ await runtimeConfig.store.appendEvent({
679
+ conversationId: input.conversationId,
680
+ kind: "approval/response-rejected",
681
+ payload: {
682
+ approvalId: request.approvalId,
683
+ callId: request.callId,
684
+ toolName: request.toolName,
685
+ reason: authorization.reason
686
+ }
687
+ });
688
+ throw new AgentHarnessApprovalRejectedError(authorization.reason);
689
+ }
641
690
  const ticket = runtime.submit({
642
691
  conversationId: input.conversationId,
643
692
  idempotencyKey: `tool-approval:${input.approvalId}`,
@@ -674,5 +723,6 @@ export {
674
723
  AgentHarnessProfileEventSchema,
675
724
  AgentHarnessLimitsSchema,
676
725
  AgentHarnessFileRootSchema,
677
- AgentHarnessFileLimitsSchema
726
+ AgentHarnessFileLimitsSchema,
727
+ AgentHarnessApprovalRejectedError
678
728
  };
@@ -21,18 +21,9 @@ export declare function openRouterProvider(settings: OpenRouterProviderSettings)
21
21
  /**
22
22
  * Read OpenRouter's token counts and cost out of one SDK step, with provenance.
23
23
  *
24
- * Exported, and that is the point of it existing here at all. The same function
25
- * has always run inside `openRouterProvider`, which means it was reachable only
26
- * by building the whole agent runtime durable store, execution protocol and
27
- * recovery included. An application that calls `generateText` directly, and only
28
- * wants an honest number for its own ledger, could not reach it and derived it
29
- * again; two of them did, and more than half of the two files agree line for
30
- * line.
31
- *
32
- * What is easy to get wrong when deriving it again is not the arithmetic but the
33
- * provenance: a number the provider reported, a number nobody reported and a
34
- * zero are three different facts, and a value invented for a missing field is
35
- * the one that reads as true and is not.
24
+ * Raw step usage is authoritative: the SDK adapter substitutes zero for some
25
+ * absent counters. Normalized counters (including aggregate usage without raw)
26
+ * therefore cannot establish provider-reported provenance. Use each SDK step.
36
27
  */
37
28
  export declare function normalizeOpenRouterUsage(usage: LanguageModelUsage, providerMetadata: unknown): AgentUsage;
38
29
  //# sourceMappingURL=agent-runtime-openrouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime-openrouter.d.ts","sourceRoot":"","sources":["../src/agent-runtime-openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE7C,OAAO,EACL,KAAK,0BAA0B,EAE/B,KAAK,iBAAiB,EAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAkD9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3F,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAyFD,+FAA+F;AAC/F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpE,CAyGA;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,0BAA0B,GACnC,0BAA0B,CAQ5B;AA0CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,EACzB,gBAAgB,EAAE,OAAO,GACxB,UAAU,CASZ"}
1
+ {"version":3,"file":"agent-runtime-openrouter.d.ts","sourceRoot":"","sources":["../src/agent-runtime-openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE7C,OAAO,EACL,KAAK,0BAA0B,EAE/B,KAAK,iBAAiB,EAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAkD9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE3F,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAyFD,+FAA+F;AAC/F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpE,CAyGA;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,0BAA0B,GACnC,0BAA0B,CAQ5B;AA0CD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,EACzB,gBAAgB,EAAE,OAAO,GACxB,UAAU,CAcZ"}
@@ -234,10 +234,10 @@ function readUpstreamProvider(metadata) {
234
234
  return typeof name === "string" && name.length > 0 ? name : undefined;
235
235
  }
236
236
  function reported(value) {
237
- return value === undefined || !Number.isSafeInteger(value) || value < 0 ? { provenance: "unavailable" } : { value, provenance: "provider-reported" };
237
+ return typeof value !== "number" || !Number.isSafeInteger(value) || value < 0 ? { provenance: "unavailable" } : { value, provenance: "provider-reported" };
238
238
  }
239
239
  function reportedUsd(value) {
240
- return value === undefined ? { provenance: "unavailable" } : { value, currency: "USD", provenance: "provider-reported" };
240
+ return value === undefined || !Number.isFinite(value) || value < 0 ? { provenance: "unavailable" } : { value, currency: "USD", provenance: "provider-reported" };
241
241
  }
242
242
  function readCost(metadata) {
243
243
  if (!isRecord(metadata))
@@ -251,12 +251,15 @@ function readCost(metadata) {
251
251
  return isRecord(usage) && typeof usage.cost === "number" && usage.cost >= 0 ? usage.cost : undefined;
252
252
  }
253
253
  function normalizeOpenRouterUsage(usage, providerMetadata) {
254
+ const raw = isRecord(usage.raw) ? usage.raw : {};
255
+ const prompt = isRecord(raw.prompt_tokens_details) ? raw.prompt_tokens_details : {};
256
+ const completion = isRecord(raw.completion_tokens_details) ? raw.completion_tokens_details : {};
254
257
  return {
255
- inputTokens: reported(usage.inputTokens),
256
- outputTokens: reported(usage.outputTokens),
257
- reasoningTokens: reported(usage.outputTokenDetails.reasoningTokens),
258
- cacheReadTokens: reported(usage.inputTokenDetails.cacheReadTokens),
259
- cacheWriteTokens: reported(usage.inputTokenDetails.cacheWriteTokens),
258
+ inputTokens: reported(raw.prompt_tokens),
259
+ outputTokens: reported(raw.completion_tokens),
260
+ reasoningTokens: reported(completion.reasoning_tokens),
261
+ cacheReadTokens: reported(prompt.cached_tokens),
262
+ cacheWriteTokens: reported(prompt.cache_write_tokens),
260
263
  cost: reportedUsd(readCost(providerMetadata))
261
264
  };
262
265
  }
@@ -0,0 +1,5 @@
1
+ export { type BubblewrapSandboxConfig, createBubblewrapSandboxBackend, } from './agent-runtime/sandbox-bubblewrap.js';
2
+ export { createSandboxCodingTools, type SandboxCodingBinding, } from './agent-runtime/sandbox-coding.js';
3
+ export { type SandboxBackend, type SandboxCommand, SandboxCommandSchema, type SandboxCreateInput, type SandboxDriver, SandboxError, type SandboxHandle, type SandboxNetworkPolicy, SandboxNetworkPolicySchema, type SandboxPrewarmInput, type SandboxProcess, type SandboxRunOptions, type SandboxSession, type SandboxState, SandboxStateSchema, } from './agent-runtime/sandbox-contract.js';
4
+ export { createSandboxSession } from './agent-runtime/sandbox-session.js';
5
+ //# sourceMappingURL=agent-runtime-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime-sandbox.d.ts","sourceRoot":"","sources":["../src/agent-runtime-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,8BAA8B,GAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC"}