stitchkit 0.87.1 → 0.88.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 (43) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
  3. package/dist/agent-runtime/coding-tool-paths.d.ts +1 -1
  4. package/dist/agent-runtime/coding-tool-paths.d.ts.map +1 -1
  5. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
  6. package/dist/agent-runtime/coding-tool-shell.d.ts.map +1 -1
  7. package/dist/agent-runtime/models.d.ts +14 -0
  8. package/dist/agent-runtime/models.d.ts.map +1 -1
  9. package/dist/agent-runtime/observability.d.ts +8 -0
  10. package/dist/agent-runtime/observability.d.ts.map +1 -1
  11. package/dist/agent-runtime/owned-provider-stream.d.ts +16 -0
  12. package/dist/agent-runtime/owned-provider-stream.d.ts.map +1 -0
  13. package/dist/agent-runtime/run-execution.d.ts.map +1 -1
  14. package/dist/agent-runtime/runtime-internals.d.ts +12 -0
  15. package/dist/agent-runtime/runtime-internals.d.ts.map +1 -1
  16. package/dist/agent-runtime/runtime.d.ts +12 -0
  17. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  18. package/dist/agent-runtime/schemas.d.ts +6 -0
  19. package/dist/agent-runtime/schemas.d.ts.map +1 -1
  20. package/dist/agent-runtime/store-events.d.ts +2 -0
  21. package/dist/agent-runtime/store-events.d.ts.map +1 -1
  22. package/dist/agent-runtime-browser.js +5 -3
  23. package/dist/agent-runtime-coding-tools.js +27 -16
  24. package/dist/agent-runtime-harness.js +6 -6
  25. package/dist/agent-runtime-openrouter.d.ts.map +1 -1
  26. package/dist/agent-runtime-openrouter.js +12 -2
  27. package/dist/agent-runtime-sqlite-bun.js +5 -5
  28. package/dist/agent-runtime-sqlite-node.js +5 -5
  29. package/dist/agent-runtime.d.ts +1 -1
  30. package/dist/agent-runtime.d.ts.map +1 -1
  31. package/dist/agent-runtime.js +11 -8
  32. package/dist/{index-z1m86vc8.js → index-6krwcdcf.js} +2 -1
  33. package/dist/{index-z2452tsw.js → index-bt14acb5.js} +2 -2
  34. package/dist/{index-9553432s.js → index-crykmqkr.js} +1 -1
  35. package/dist/{index-p1b1y93x.js → index-gtj3zc53.js} +5 -1
  36. package/dist/{index-tg3m2ec5.js → index-mqv3b5rh.js} +4 -1
  37. package/dist/{index-35aefxby.js → index-p86mxmpp.js} +123 -7
  38. package/dist/{index-6g273pqx.js → index-qp3vshvc.js} +4 -4
  39. package/dist/{index-5wezxcxx.js → index-v1qk37y9.js} +2 -2
  40. package/dist/{index-hkm6wysp.js → index-y64k3s0h.js} +1 -1
  41. package/dist/testing.js +14 -3
  42. package/llms-full.txt +86 -10
  43. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AgentModelCatalogSchema
3
- } from "./index-tg3m2ec5.js";
3
+ } from "./index-mqv3b5rh.js";
4
4
  import {
5
5
  isRecord
6
6
  } from "./index-77fekveh.js";
@@ -220,9 +220,19 @@ function openRouterProvider(settings) {
220
220
  const provider = createOpenRouter(settings);
221
221
  return {
222
222
  create: (modelId) => provider.chat(modelId),
223
- normalizeUsage: ({ usage, providerMetadata }) => normalizeOpenRouterUsage(usage, providerMetadata)
223
+ normalizeUsage: ({ usage, providerMetadata }) => normalizeOpenRouterUsage(usage, providerMetadata),
224
+ resolveResponseProvider: ({ providerMetadata }) => readUpstreamProvider(providerMetadata)
224
225
  };
225
226
  }
227
+ function readUpstreamProvider(metadata) {
228
+ if (!isRecord(metadata))
229
+ return;
230
+ const openrouter = metadata.openrouter;
231
+ if (!isRecord(openrouter))
232
+ return;
233
+ const name = openrouter.provider;
234
+ return typeof name === "string" && name.length > 0 ? name : undefined;
235
+ }
226
236
  function reported(value) {
227
237
  return value === undefined || !Number.isSafeInteger(value) || value < 0 ? { provenance: "unavailable" } : { value, provenance: "provider-reported" };
228
238
  }
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "./index-6g273pqx.js";
5
- import"./index-9553432s.js";
6
- import"./index-5wezxcxx.js";
7
- import"./index-z1m86vc8.js";
8
- import"./index-p1b1y93x.js";
4
+ } from "./index-qp3vshvc.js";
5
+ import"./index-crykmqkr.js";
6
+ import"./index-v1qk37y9.js";
7
+ import"./index-6krwcdcf.js";
8
+ import"./index-gtj3zc53.js";
9
9
 
10
10
  // src/agent-runtime-sqlite-bun.ts
11
11
  import { Database } from "bun:sqlite";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "./index-6g273pqx.js";
5
- import"./index-9553432s.js";
6
- import"./index-5wezxcxx.js";
7
- import"./index-z1m86vc8.js";
8
- import"./index-p1b1y93x.js";
4
+ } from "./index-qp3vshvc.js";
5
+ import"./index-crykmqkr.js";
6
+ import"./index-v1qk37y9.js";
7
+ import"./index-6krwcdcf.js";
8
+ import"./index-gtj3zc53.js";
9
9
 
10
10
  // src/agent-runtime-sqlite-node.ts
11
11
  import { DatabaseSync } from "node:sqlite";
@@ -19,7 +19,7 @@ export { type AgentProtocol, type AgentProtocolConfig, type AgentTerminalAccepta
19
19
  export { type AgentProviderFailure, type AgentProviderFailureReason, AgentProviderStreamCutError, classifyProviderFailure, isToolResultFailure, } from './agent-runtime/provider-failure.js';
20
20
  export { AgentConversationPurgedError, type AgentConversationPurgeInput, AgentConversationPurgeInputSchema, type AgentConversationPurgeResult, AgentConversationPurgeResultSchema, purgeAgentConversation, } from './agent-runtime/purge.js';
21
21
  export { type AgentRetryPolicy, recordAgentRetryDecision } from './agent-runtime/retry-policy.js';
22
- export { type AgentContextUsage, type AgentRuntime, type AgentRuntimeAdmission, type AgentRuntimeConfig, type AgentRuntimeInput, type AgentRuntimeInterruptInput, type AgentRuntimePrepareStep, type AgentRuntimeProtocolInput, type AgentRuntimeRecordIds, type AgentRuntimeRecoverOptions, type AgentRuntimeRecoveryDecision, type AgentRuntimeRecoveryInput, type AgentRuntimeRecoveryOutcome, type AgentRuntimeRunContext, type AgentRuntimeStopPolicy, createAgentRuntime, } from './agent-runtime/runtime.js';
22
+ export { type AgentContextUsage, type AgentRuntime, type AgentRuntimeAbandonInput, type AgentRuntimeAdmission, type AgentRuntimeConfig, type AgentRuntimeInput, type AgentRuntimeInterruptInput, type AgentRuntimePrepareStep, type AgentRuntimeProtocolInput, type AgentRuntimeRecordIds, type AgentRuntimeRecoverOptions, type AgentRuntimeRecoveryDecision, type AgentRuntimeRecoveryInput, type AgentRuntimeRecoveryOutcome, type AgentRuntimeRunContext, type AgentRuntimeStopPolicy, createAgentRuntime, } from './agent-runtime/runtime.js';
23
23
  export type { AgentRuntimeResult } from './agent-runtime/runtime-result.js';
24
24
  export { type AgentProcessSandbox, type AgentSandboxGrade, AgentSandboxGradeSchema, type AgentSandboxRestriction, AgentSandboxRestrictionSchema, missingSandboxRestrictions, probeAgentProcessSandbox, recordAgentSandboxProbe, } from './agent-runtime/sandbox.js';
25
25
  export { createAgentScheduleTools } from './agent-runtime/schedule-tools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import {
2
2
  AgentConversationMessagePageSchema,
3
3
  AgentConversationPageSchema,
4
4
  AgentConversationSummarySchema
5
- } from "./index-9553432s.js";
5
+ } from "./index-crykmqkr.js";
6
6
  import {
7
7
  ACTIVE_AGENT_RUN_STATES,
8
8
  AgentAdmissionReceiptSchema,
@@ -15,7 +15,7 @@ import {
15
15
  createAgentRuntimeStore,
16
16
  createMemoryAgentRuntimeStore,
17
17
  purgeAgentConversation
18
- } from "./index-5wezxcxx.js";
18
+ } from "./index-v1qk37y9.js";
19
19
  import {
20
20
  AgentContextOverflowError,
21
21
  AgentProviderStreamCutError,
@@ -42,7 +42,7 @@ import {
42
42
  renderAgentStateSlots,
43
43
  repairedSearchCall,
44
44
  selectAgentHistory
45
- } from "./index-35aefxby.js";
45
+ } from "./index-p86mxmpp.js";
46
46
  import"./index-p13mwz16.js";
47
47
  import {
48
48
  AgentAdmissionEventSchema,
@@ -60,7 +60,7 @@ import {
60
60
  AgentTransientDeltaEventSchema,
61
61
  advanceAgentRuntimeEventCursor,
62
62
  agentDurableEventId
63
- } from "./index-hkm6wysp.js";
63
+ } from "./index-y64k3s0h.js";
64
64
  import {
65
65
  AgentModelCapabilitySchema,
66
66
  AgentModelCatalogEntrySchema,
@@ -77,7 +77,7 @@ import {
77
77
  defineModelRegistry,
78
78
  searchAgentModelCatalog,
79
79
  validateAgentModelSnapshot
80
- } from "./index-tg3m2ec5.js";
80
+ } from "./index-mqv3b5rh.js";
81
81
  import {
82
82
  AcceptInputAndAssignRunSchema,
83
83
  AcquireAgentRunSchema,
@@ -108,7 +108,7 @@ import {
108
108
  encodeAgentConversationArchive,
109
109
  isAssistantHistoryEvidence,
110
110
  isCompleteAgentHistoryTurn
111
- } from "./index-z1m86vc8.js";
111
+ } from "./index-6krwcdcf.js";
112
112
  import {
113
113
  AgentAssistantPlaceholderSchema,
114
114
  AgentControlPartSchema,
@@ -122,6 +122,7 @@ import {
122
122
  AgentOpaquePartSchema,
123
123
  AgentProvenanceSchema,
124
124
  AgentProviderEnvelopeSchema,
125
+ AgentProviderResponseSchema,
125
126
  AgentReasoningPartSchema,
126
127
  AgentRecordIdSchema,
127
128
  AgentRecordVersionSchema,
@@ -144,7 +145,7 @@ import {
144
145
  AgentUsageSchema,
145
146
  AgentUsageValueSchema,
146
147
  runStateForTerminalReason
147
- } from "./index-p1b1y93x.js";
148
+ } from "./index-gtj3zc53.js";
148
149
  import {
149
150
  createBoundedSinkManager
150
151
  } from "./index-wnfk50r0.js";
@@ -1347,7 +1348,8 @@ var AgentStepFinishedEventSchema = AgentRunEventBaseSchema.extend({
1347
1348
  type: z6.literal("step-finished"),
1348
1349
  step: z6.int().nonnegative(),
1349
1350
  ttftMs: z6.number().nonnegative().optional(),
1350
- usage: AgentUsageSchema
1351
+ usage: AgentUsageSchema,
1352
+ response: AgentProviderResponseSchema
1351
1353
  });
1352
1354
  var AgentRunTerminalEventSchema = AgentRunEventBaseSchema.extend({
1353
1355
  type: z6.literal("run-terminal"),
@@ -2374,6 +2376,7 @@ export {
2374
2376
  AgentReasoningEndEventSchema,
2375
2377
  AgentReasoningDeltaEventSchema,
2376
2378
  AgentProviderStreamCutError,
2379
+ AgentProviderResponseSchema,
2377
2380
  AgentProviderEnvelopeSchema,
2378
2381
  AgentProvenanceSchema,
2379
2382
  AgentOpaquePartSchema,
@@ -7,7 +7,7 @@ import {
7
7
  AgentSnapshotSchema,
8
8
  AgentTerminalReasonSchema,
9
9
  AgentUsageSchema
10
- } from "./index-p1b1y93x.js";
10
+ } from "./index-gtj3zc53.js";
11
11
 
12
12
  // src/agent-runtime/history-chronology.ts
13
13
  function createToolChronology() {
@@ -202,6 +202,7 @@ var AgentStoreEventKindSchema = z2.enum([
202
202
  "runtime/baseline",
203
203
  "runtime/transition",
204
204
  "provider/request",
205
+ "provider/response",
205
206
  "provider/message",
206
207
  "state/set",
207
208
  "spill/created",
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AgentRuntimeEventSchema
3
- } from "./index-hkm6wysp.js";
3
+ } from "./index-y64k3s0h.js";
4
4
  import {
5
5
  AgentMessagePartSchema,
6
6
  AgentSnapshotSchema
7
- } from "./index-p1b1y93x.js";
7
+ } from "./index-gtj3zc53.js";
8
8
 
9
9
  // src/agent-runtime/control-schema.ts
10
10
  import { z } from "zod";
@@ -2,7 +2,7 @@ import {
2
2
  AgentMessageSchema,
3
3
  AgentRecordIdSchema,
4
4
  AgentRecordVersionSchema
5
- } from "./index-p1b1y93x.js";
5
+ } from "./index-gtj3zc53.js";
6
6
 
7
7
  // src/agent-runtime/conversations.ts
8
8
  import { z } from "zod";
@@ -9,6 +9,10 @@ var AgentProviderEnvelopeSchema = z.object({
9
9
  provider: z.string().min(1),
10
10
  data: AgentJsonObjectSchema
11
11
  });
12
+ var AgentProviderResponseSchema = z.object({
13
+ id: z.string().min(1),
14
+ provider: z.string().min(1).optional()
15
+ }).strict();
12
16
  var AgentTextPartSchema = z.object({
13
17
  type: z.literal("text"),
14
18
  text: z.string()
@@ -329,4 +333,4 @@ var AgentRunMetricsSchema = z.object({
329
333
  ttftMs: z.number().nonnegative().optional()
330
334
  });
331
335
 
332
- export { AgentRecordIdSchema, AgentRecordVersionSchema, AgentTimestampSchema, AgentJsonObjectSchema, AgentProviderEnvelopeSchema, AgentTextPartSchema, AgentReasoningPartSchema, AgentFilePartSchema, AgentSourcePartSchema, AgentToolCallPartSchema, AgentToolResultPartSchema, AgentToolApprovalRequestPartSchema, AgentToolApprovalResponsePartSchema, AgentOpaquePartSchema, AgentControlPartSchema, AgentMessagePartSchema, AgentMessageRoleSchema, AgentMessageStatusSchema, AgentMessageSchema, AgentAssistantPlaceholderSchema, AgentRunStateSchema, AgentRunQueuePrioritySchema, AgentRunOperationKindSchema, AgentRunOperationPhaseSchema, AgentRunOperationSchema, AgentTerminalReasonSchema, runStateForTerminalReason, AgentProvenanceSchema, AgentUsageValueSchema, AgentCostValueSchema, AgentUsageSchema, AgentRunSchema, AgentSnapshotSchema, AgentRunMetricsSchema };
336
+ export { AgentRecordIdSchema, AgentRecordVersionSchema, AgentTimestampSchema, AgentJsonObjectSchema, AgentProviderEnvelopeSchema, AgentProviderResponseSchema, AgentTextPartSchema, AgentReasoningPartSchema, AgentFilePartSchema, AgentSourcePartSchema, AgentToolCallPartSchema, AgentToolResultPartSchema, AgentToolApprovalRequestPartSchema, AgentToolApprovalResponsePartSchema, AgentOpaquePartSchema, AgentControlPartSchema, AgentMessagePartSchema, AgentMessageRoleSchema, AgentMessageStatusSchema, AgentMessageSchema, AgentAssistantPlaceholderSchema, AgentRunStateSchema, AgentRunQueuePrioritySchema, AgentRunOperationKindSchema, AgentRunOperationPhaseSchema, AgentRunOperationSchema, AgentTerminalReasonSchema, runStateForTerminalReason, AgentProvenanceSchema, AgentUsageValueSchema, AgentCostValueSchema, AgentUsageSchema, AgentRunSchema, AgentSnapshotSchema, AgentRunMetricsSchema };
@@ -128,7 +128,10 @@ function defineModelRegistry(config) {
128
128
  return {
129
129
  descriptor: selected,
130
130
  model: provider.create(selected.modelId),
131
- ...provider.normalizeUsage && { normalizeUsage: provider.normalizeUsage }
131
+ ...provider.normalizeUsage && { normalizeUsage: provider.normalizeUsage },
132
+ ...provider.resolveResponseProvider && {
133
+ resolveResponseProvider: provider.resolveResponseProvider
134
+ }
132
135
  };
133
136
  },
134
137
  snapshot(input) {
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  AgentRuntimeEventSchema,
6
6
  agentDurableEventId
7
- } from "./index-hkm6wysp.js";
7
+ } from "./index-y64k3s0h.js";
8
8
  import {
9
9
  advanceToolChronology,
10
10
  assistantStatus,
@@ -13,18 +13,19 @@ import {
13
13
  createToolChronology,
14
14
  isAssistantHistoryEvidence,
15
15
  isCompleteAgentHistoryTurn
16
- } from "./index-z1m86vc8.js";
16
+ } from "./index-6krwcdcf.js";
17
17
  import {
18
18
  AgentAssistantPlaceholderSchema,
19
19
  AgentJsonObjectSchema,
20
20
  AgentMessagePartSchema,
21
21
  AgentMessageSchema,
22
22
  AgentProvenanceSchema,
23
+ AgentProviderResponseSchema,
23
24
  AgentRunOperationSchema,
24
25
  AgentRunSchema,
25
26
  AgentSnapshotSchema,
26
27
  runStateForTerminalReason
27
- } from "./index-p1b1y93x.js";
28
+ } from "./index-gtj3zc53.js";
28
29
  import {
29
30
  createBoundedSinkManager
30
31
  } from "./index-wnfk50r0.js";
@@ -1167,6 +1168,47 @@ function repairedSearchCall(toolCall, searchName) {
1167
1168
  };
1168
1169
  }
1169
1170
 
1171
+ // src/agent-runtime/owned-provider-stream.ts
1172
+ var DEFAULT_CLEANUP_TIMEOUT_MS = 1000;
1173
+ async function settleCleanup(operation, timeoutMs) {
1174
+ let timeout;
1175
+ const deadline = new Promise((_resolve, reject) => {
1176
+ timeout = setTimeout(() => reject(new Error(`Provider stream cleanup exceeded ${timeoutMs} ms`)), timeoutMs);
1177
+ });
1178
+ try {
1179
+ await Promise.race([operation, deadline]);
1180
+ } finally {
1181
+ if (timeout !== undefined)
1182
+ clearTimeout(timeout);
1183
+ }
1184
+ }
1185
+ async function* ownedProviderStream(input) {
1186
+ const iterator = input.stream[Symbol.asyncIterator]();
1187
+ let completed = false;
1188
+ try {
1189
+ for (;; ) {
1190
+ const next = await iterator.next();
1191
+ if (next.done) {
1192
+ completed = true;
1193
+ return;
1194
+ }
1195
+ yield next.value;
1196
+ }
1197
+ } finally {
1198
+ if (!completed) {
1199
+ input.abort();
1200
+ const cleanup = iterator.return?.();
1201
+ if (cleanup) {
1202
+ try {
1203
+ await settleCleanup(cleanup, input.cleanupTimeoutMs ?? DEFAULT_CLEANUP_TIMEOUT_MS);
1204
+ } catch (error) {
1205
+ input.onCleanupFailure(error);
1206
+ }
1207
+ }
1208
+ }
1209
+ }
1210
+ }
1211
+
1170
1212
  // src/agent-runtime/provider-origin.ts
1171
1213
  import {
1172
1214
  InvalidToolApprovalError,
@@ -1221,6 +1263,12 @@ function providerEnvelope(value) {
1221
1263
  return;
1222
1264
  return { schemaVersion: 1, provider: "ai-sdk", data: parsed.data };
1223
1265
  }
1266
+ function providerResponseIdentity(id, provider) {
1267
+ return AgentProviderResponseSchema.parse({
1268
+ id,
1269
+ ...typeof provider === "string" && provider.length > 0 ? { provider } : {}
1270
+ });
1271
+ }
1224
1272
  function appendText(parts, text) {
1225
1273
  const previous = parts.at(-1);
1226
1274
  if (previous?.type === "text") {
@@ -1620,6 +1668,7 @@ function createRunExecutor(dependencies) {
1620
1668
  let step = 0;
1621
1669
  let selectedModel;
1622
1670
  let internalCause;
1671
+ let providerStreamCleanupFailure;
1623
1672
  let reasoningPartIndex;
1624
1673
  let firstOutputAt;
1625
1674
  let terminalPolicyName;
@@ -1935,16 +1984,35 @@ function createRunExecutor(dependencies) {
1935
1984
  }
1936
1985
  });
1937
1986
  };
1987
+ const recordProviderResponse = async (response) => {
1988
+ const identity = providerResponseIdentity(response.id, selectedModel?.resolveResponseProvider?.({
1989
+ providerMetadata: response.providerMetadata
1990
+ }));
1991
+ await config.store.appendEvent({
1992
+ conversationId: run.conversationId,
1993
+ kind: "provider/response",
1994
+ payload: {
1995
+ runId: run.id,
1996
+ attempt: response.attempt,
1997
+ stepNumber: response.stepNumber,
1998
+ response: identity
1999
+ }
2000
+ });
2001
+ return identity;
2002
+ };
1938
2003
  for (;; ) {
1939
2004
  const attemptPartStart = parts.length;
1940
2005
  let retrying = false;
1941
2006
  let draining = false;
2007
+ const providerAttempt = retryAttempt;
2008
+ const attemptAbort = new AbortController;
2009
+ const attemptSignal = AbortSignal.any([executionSignal, attemptAbort.signal]);
1942
2010
  const result = streamAgentTextBoundary({
1943
2011
  model: fallbackModel,
1944
2012
  tools,
1945
2013
  instructions: withCarriedSystem(prompt.instructions),
1946
2014
  messages: history,
1947
- abortSignal: executionSignal,
2015
+ abortSignal: attemptSignal,
1948
2016
  maxRetries: 0,
1949
2017
  stopWhen: stopConditions,
1950
2018
  onLanguageModelCallStart: (event) => {
@@ -1984,17 +2052,29 @@ function createRunExecutor(dependencies) {
1984
2052
  instructionsOverride = override.system;
1985
2053
  await recordProviderRequest({
1986
2054
  stepNumber: options.stepNumber,
1987
- attempt: retryAttempt,
2055
+ attempt: providerAttempt,
1988
2056
  instructions: instructionsOverride ?? withCarriedSystem(prompt.instructions),
1989
2057
  messages: providerMessages
1990
2058
  });
1991
2059
  return { ...preparedStep, model };
1992
2060
  }
1993
2061
  });
1994
- for await (const part of result.stream) {
2062
+ for await (const part of ownedProviderStream({
2063
+ stream: result.stream,
2064
+ abort: () => attemptAbort.abort(new Error("Agent runtime released provider stream")),
2065
+ onCleanupFailure: (error) => {
2066
+ providerStreamCleanupFailure = error;
2067
+ }
2068
+ })) {
1995
2069
  idleDeadline.touch();
1996
2070
  if (draining) {
1997
2071
  if (part.type === "finish-step") {
2072
+ await recordProviderResponse({
2073
+ id: part.response.id,
2074
+ providerMetadata: part.providerMetadata,
2075
+ stepNumber: step,
2076
+ attempt: providerAttempt
2077
+ });
1998
2078
  const failedStepUsage = selectedModel.normalizeUsage?.({
1999
2079
  usage: part.usage,
2000
2080
  providerMetadata: part.providerMetadata
@@ -2267,6 +2347,12 @@ function createRunExecutor(dependencies) {
2267
2347
  terminalReason = failureThisRuntimeOwns(part.error) ?? "provider_failure";
2268
2348
  internalCause = part.error;
2269
2349
  } else if (part.type === "finish-step") {
2350
+ const response = await recordProviderResponse({
2351
+ id: part.response.id,
2352
+ providerMetadata: part.providerMetadata,
2353
+ stepNumber: step,
2354
+ attempt: providerAttempt
2355
+ });
2270
2356
  await operationLifecycle.finish(part.finishReason === "error" ? "failed" : "completed");
2271
2357
  const stepTrace = trace ? config.observe?.rootTrace(trace) : undefined;
2272
2358
  const stepUsage = selectedModel.normalizeUsage?.({
@@ -2289,6 +2375,7 @@ function createRunExecutor(dependencies) {
2289
2375
  modelId: selectedModel.descriptor.modelId,
2290
2376
  step,
2291
2377
  usage: stepUsage,
2378
+ response,
2292
2379
  emittedAt: now().toISOString()
2293
2380
  });
2294
2381
  step += 1;
@@ -2357,7 +2444,7 @@ function createRunExecutor(dependencies) {
2357
2444
  }
2358
2445
  } catch (error) {
2359
2446
  operationLifecycle.failStepCheckpoints(error);
2360
- internalCause = error;
2447
+ internalCause = providerStreamCleanupFailure === undefined ? error : new AggregateError([error, providerStreamCleanupFailure], `${error instanceof Error ? error.message : String(error)} (provider stream cleanup also failed: ${providerStreamCleanupFailure instanceof Error ? providerStreamCleanupFailure.message : String(providerStreamCleanupFailure)})`);
2361
2448
  const latest = await config.store.loadRun({
2362
2449
  conversationId: run.conversationId,
2363
2450
  runId: run.id
@@ -2935,6 +3022,35 @@ function createAgentRuntime(config) {
2935
3022
  }
2936
3023
  return requested;
2937
3024
  },
3025
+ async abandon(input) {
3026
+ if (input.staleOwner !== true) {
3027
+ throw new TypeError("Abandoning a run requires explicit staleOwner evidence");
3028
+ }
3029
+ const releaseAdmission = beginAdmission();
3030
+ try {
3031
+ const abandoned = await config.store.recoverRun({
3032
+ conversationId: input.conversationId,
3033
+ runId: input.runId,
3034
+ expectedRevision: input.expectedRevision,
3035
+ action: "abandon"
3036
+ });
3037
+ if (abandoned.outcome === "applied") {
3038
+ const abandonedRun = findRun(abandoned.snapshot.runs, input.runId);
3039
+ await publish({
3040
+ type: "run-state",
3041
+ eventId: agentDurableEventId("run-state", abandonedRun.id, abandoned.snapshot.version),
3042
+ conversationId: abandonedRun.conversationId,
3043
+ runId: abandonedRun.id,
3044
+ snapshotVersion: abandoned.snapshot.version,
3045
+ state: abandonedRun.state,
3046
+ emittedAt: now().toISOString()
3047
+ });
3048
+ }
3049
+ return abandoned;
3050
+ } finally {
3051
+ releaseAdmission();
3052
+ }
3053
+ },
2938
3054
  async recover(options) {
2939
3055
  if (admissionClosed)
2940
3056
  throw closedError();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AgentConversationMessagePageSchema,
3
3
  AgentConversationPageSchema
4
- } from "./index-9553432s.js";
4
+ } from "./index-crykmqkr.js";
5
5
  import {
6
6
  AgentAdmissionReceiptSchema,
7
7
  AgentConversationPurgedError,
@@ -9,7 +9,7 @@ import {
9
9
  AgentRuntimeHeadSchema,
10
10
  AgentStoredRunSchema,
11
11
  createAgentRuntimeStore
12
- } from "./index-5wezxcxx.js";
12
+ } from "./index-v1qk37y9.js";
13
13
  import {
14
14
  AgentRecoverableDescriptorSchema,
15
15
  AgentRecoverablePageSchema,
@@ -18,11 +18,11 @@ import {
18
18
  AppendAgentStoreEventSchema,
19
19
  agentStoreEventDraft,
20
20
  canonicalAgentJson
21
- } from "./index-z1m86vc8.js";
21
+ } from "./index-6krwcdcf.js";
22
22
  import {
23
23
  AgentMessageSchema,
24
24
  AgentRunSchema
25
- } from "./index-p1b1y93x.js";
25
+ } from "./index-gtj3zc53.js";
26
26
 
27
27
  // src/agent-runtime/sqlite.ts
28
28
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -19,7 +19,7 @@ import {
19
19
  canonicalAgentJson,
20
20
  decodeAgentConversationArchive,
21
21
  encodeAgentConversationArchive
22
- } from "./index-z1m86vc8.js";
22
+ } from "./index-6krwcdcf.js";
23
23
  import {
24
24
  AgentMessageSchema,
25
25
  AgentRecordIdSchema,
@@ -27,7 +27,7 @@ import {
27
27
  AgentRunSchema,
28
28
  AgentSnapshotSchema,
29
29
  runStateForTerminalReason
30
- } from "./index-p1b1y93x.js";
30
+ } from "./index-gtj3zc53.js";
31
31
 
32
32
  // src/agent-runtime/purge.ts
33
33
  import { z } from "zod";
@@ -10,7 +10,7 @@ import {
10
10
  AgentRunStateSchema,
11
11
  AgentTerminalReasonSchema,
12
12
  AgentTimestampSchema
13
- } from "./index-p1b1y93x.js";
13
+ } from "./index-gtj3zc53.js";
14
14
 
15
15
  // src/agent-runtime/event-schema.ts
16
16
  import { z } from "zod";
package/dist/testing.js CHANGED
@@ -6,7 +6,7 @@ import"./index-3gye9wzb.js";
6
6
  import"./index-3z73fh2c.js";
7
7
  import {
8
8
  createMemoryAgentRuntimeStore
9
- } from "./index-5wezxcxx.js";
9
+ } from "./index-v1qk37y9.js";
10
10
  import {
11
11
  createAgentRaceBarrier,
12
12
  createAgentRaceDriver,
@@ -14,11 +14,11 @@ import {
14
14
  } from "./index-cnyk6te3.js";
15
15
  import {
16
16
  decodeAgentConversationArchive
17
- } from "./index-z1m86vc8.js";
17
+ } from "./index-6krwcdcf.js";
18
18
  import {
19
19
  AgentMessageSchema,
20
20
  AgentRunSchema
21
- } from "./index-p1b1y93x.js";
21
+ } from "./index-gtj3zc53.js";
22
22
  import {
23
23
  RealtimeRejectDirectionSchema,
24
24
  RealtimeRejectFaultSchema,
@@ -541,6 +541,17 @@ async function conformanceScenario(store, conversationIds) {
541
541
  if (terminalRun?.state !== "abandoned" || terminalMessage?.status !== "failed") {
542
542
  throw new Error("Abandon recovery did not atomically terminalize its assistant record");
543
543
  }
544
+ const abandonedView = await store.loadRun({
545
+ conversationId: recoveryConversationId,
546
+ runId: abandonedRun.id
547
+ });
548
+ if (abandonedView?.run.state !== "abandoned" || abandonedView.run.terminalReason !== "abandoned" || abandonedView.assistant?.status !== "failed") {
549
+ throw new Error("The canonical run record disagrees with its abandoned index projection");
550
+ }
551
+ const afterAbandon = await store.scanRecoverable({ limit: 100 });
552
+ if (afterAbandon.items.some((item) => item.run.id === abandonedRun.id)) {
553
+ throw new Error("The recoverable index still exposes a canonically abandoned run");
554
+ }
544
555
  await assertCausalHistoryOrder(store, causalHistoryConversationId);
545
556
  await assertActiveRunCausalOrder(store, causalActiveConversationId);
546
557
  await assertInterruptPriorityOrder(store, interruptPriorityConversationId);