@cortexkit/opencode-magic-context 0.44.3 → 0.44.4

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 (60) hide show
  1. package/dist/{derive-budgets-vjmvh6pz.js → derive-budgets-ncwn1jk9.js} +2 -2
  2. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  3. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  4. package/dist/features/magic-context/memory/embedding-openai.d.ts +1 -0
  5. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  6. package/dist/features/magic-context/memory/project-identity.d.ts +5 -4
  7. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  8. package/dist/features/magic-context/storage-db.d.ts +6 -1
  9. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  10. package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
  11. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +12 -1
  12. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -1
  13. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -1
  14. package/dist/hooks/magic-context/event-resolvers.d.ts +7 -0
  15. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  16. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  17. package/dist/hooks/magic-context/inject-compartments.d.ts +5 -0
  18. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  19. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  20. package/dist/hooks/magic-context/read-session-chunk.d.ts +4 -2
  21. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  22. package/dist/hooks/magic-context/read-session-raw.d.ts +2 -2
  23. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  24. package/dist/hooks/magic-context/tokenizer-calibration.d.ts +1 -1
  25. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  26. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
  27. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  28. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  29. package/dist/{index-q5p1aqvv.js → index-mrc0twf3.js} +10 -4
  30. package/dist/{index-9y5p0d50.js → index-msqr3x6m.js} +1 -1
  31. package/dist/{index-y5145x8k.js → index-n96ag4rk.js} +15 -1
  32. package/dist/{index-dgg5y7er.js → index-qm36k34q.js} +55 -12
  33. package/dist/{index-yhm60r53.js → index-sqp1hz9v.js} +180 -36
  34. package/dist/{index-rdsaxnf2.js → index-wprsye9w.js} +1 -1
  35. package/dist/{index-nf9sk8sh.js → index-zx7pmr39.js} +2 -2
  36. package/dist/index.js +88 -35
  37. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  38. package/dist/{read-session-chunk-n072mcq4.js → read-session-chunk-339hg90t.js} +2 -2
  39. package/dist/{recomp-orchestrator-19tr6zya.js → recomp-orchestrator-0ers6smx.js} +5 -5
  40. package/dist/shared/rpc-utils.d.ts +7 -0
  41. package/dist/shared/rpc-utils.d.ts.map +1 -1
  42. package/dist/shared/transcript.d.ts +2 -0
  43. package/dist/shared/transcript.d.ts.map +1 -1
  44. package/dist/shared/user-answer.d.ts +4 -0
  45. package/dist/shared/user-answer.d.ts.map +1 -0
  46. package/dist/{transform-postprocess-phase-z2mfc5w1.js → transform-postprocess-phase-ttdkrm6r.js} +5 -5
  47. package/dist/v2/hooks/payload.d.ts.map +1 -1
  48. package/dist/v2/hooks/store.d.ts +1 -1
  49. package/dist/v2/hooks/store.d.ts.map +1 -1
  50. package/dist/v2/server.js +334 -70
  51. package/dist/v2/store-reader.d.ts +2 -1
  52. package/dist/v2/store-reader.d.ts.map +1 -1
  53. package/dist/{wrapup-orchestrator-sy4m56a7.js → wrapup-orchestrator-x0jvvrqn.js} +6 -6
  54. package/package.json +1 -1
  55. package/src/shared/rpc-utils.test.ts +27 -2
  56. package/src/shared/rpc-utils.ts +44 -15
  57. package/src/shared/tag-transcript.ts +4 -1
  58. package/src/shared/transcript.ts +3 -0
  59. package/src/shared/user-answer.test.ts +40 -0
  60. package/src/shared/user-answer.ts +17 -0
package/dist/index.js CHANGED
@@ -459,7 +459,7 @@ import {
459
459
  snapRangeToCompartments,
460
460
  getActiveCompartmentRun,
461
461
  startCompartmentAgent
462
- } from "./index-yhm60r53.js";
462
+ } from "./index-sqp1hz9v.js";
463
463
  import"./index-sd3egckz.js";
464
464
  import {
465
465
  canonicalModelIdentity,
@@ -485,7 +485,7 @@ import {
485
485
  resolveKnownHistorianContextLimit2,
486
486
  resolveHistorianProducerLimits2,
487
487
  resolveHistorianContextLimit2
488
- } from "./index-9y5p0d50.js";
488
+ } from "./index-msqr3x6m.js";
489
489
  import {
490
490
  resolveOpenCodeDbPath,
491
491
  assertOpenCodeStoreGeneration,
@@ -558,6 +558,7 @@ import {
558
558
  buildInMemoryTailRawMessages,
559
559
  estimateTrueRawMessageTokens,
560
560
  invalidateTrueRawTokenCache,
561
+ toolPartHasUserAnswer,
561
562
  DreamTokenBudgetExceeded,
562
563
  createDreamTokenBudget,
563
564
  recordToolParameters,
@@ -584,7 +585,7 @@ import {
584
585
  readRawSessionMessageById2,
585
586
  readSessionChunk2,
586
587
  readRawSessionSeedTail2
587
- } from "./index-dgg5y7er.js";
588
+ } from "./index-qm36k34q.js";
588
589
  import"./index-kwe03yde.js";
589
590
  import {
590
591
  getErrorMessage,
@@ -604,7 +605,7 @@ import {
604
605
  import {
605
606
  resolveModelCalibration,
606
607
  calibrateBuckets
607
- } from "./index-y5145x8k.js";
608
+ } from "./index-n96ag4rk.js";
608
609
  import {
609
610
  resolveHistorianModel2,
610
611
  resolveOpenCodeAgentOverrides2,
@@ -681,12 +682,12 @@ import {
681
682
  abortSessionFailClosed2,
682
683
  evaluateEmergencyFailClosed2,
683
684
  runPostTransformPhase2
684
- } from "./index-q5p1aqvv.js";
685
+ } from "./index-mrc0twf3.js";
685
686
  import {
686
687
  setRecompStarting2,
687
688
  setRecompTerminal2,
688
689
  runManagedRecomp2
689
- } from "./index-rdsaxnf2.js";
690
+ } from "./index-wprsye9w.js";
690
691
  import {
691
692
  isValidSemver,
692
693
  compareSemverCore,
@@ -701,7 +702,7 @@ import {
701
702
  } from "./index-fmsr7v69.js";
702
703
  import {
703
704
  runManagedWrapup2
704
- } from "./index-nf9sk8sh.js";
705
+ } from "./index-zx7pmr39.js";
705
706
  import {
706
707
  logSlowWriteTransaction
707
708
  } from "./index-kr5qehbd.js";
@@ -9379,7 +9380,7 @@ function countFailures(db) {
9379
9380
  function classifyBackfillError(error) {
9380
9381
  if (error instanceof ProjectIdentityError) {
9381
9382
  return {
9382
- errorClass: error.errorClass === "dubious_ownership" || error.errorClass === "home_project_disabled" || error.errorClass === "git_identity_unavailable" ? "unknown" : error.errorClass,
9383
+ errorClass: error.errorClass === "dubious_ownership" || error.errorClass === "home_project_disabled" || error.errorClass === "git_identity_unavailable" || error.errorClass === "no_commits" ? "unknown" : error.errorClass,
9383
9384
  errorMessage: error.message
9384
9385
  };
9385
9386
  }
@@ -16320,6 +16321,11 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16320
16321
  let agentSessionId = null;
16321
16322
  let promptSettled = false;
16322
16323
  const startedAt = Date.now();
16324
+ let budgetFinalized = false;
16325
+ const onBudgetUpdate = (state) => {
16326
+ budgetFinalized ||= state.finalizeFired;
16327
+ args.onBudgetUpdate?.(state);
16328
+ };
16323
16329
  try {
16324
16330
  const prompt = buildMapMemoriesPrompt(args.projectIdentity, batch);
16325
16331
  if (args.hiddenCompletionExecutor) {
@@ -16332,7 +16338,7 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16332
16338
  prompt,
16333
16339
  title: "magic-context-dream-map-memories",
16334
16340
  callContext: "dreamer:map-memories",
16335
- metadata: { tokenBudget: args.tokenBudget, onBudgetUpdate: args.onBudgetUpdate },
16341
+ metadata: { tokenBudget: args.tokenBudget, onBudgetUpdate },
16336
16342
  model: args.model,
16337
16343
  fallbackModels: args.fallbackModels,
16338
16344
  timeoutMs: sliceMs,
@@ -16343,9 +16349,12 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16343
16349
  status: "completed",
16344
16350
  messages: run.completion.messages ?? []
16345
16351
  });
16346
- const outcome = await applyParsedBatchMappings(args, batch, run.validated);
16352
+ const outcome = await applyParsedBatchMappings(args, batch, run.validated, budgetFinalized);
16347
16353
  const returnedIds = new Set(run.validated.map((entry) => entry.id));
16348
- return { ...outcome, requeue: batch.filter((memory) => !returnedIds.has(memory.id)) };
16354
+ return {
16355
+ ...outcome,
16356
+ requeue: budgetFinalized ? [] : batch.filter((memory) => !returnedIds.has(memory.id))
16357
+ };
16349
16358
  }
16350
16359
  const client = args.client;
16351
16360
  if (!client)
@@ -16375,7 +16384,7 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16375
16384
  }, {
16376
16385
  transport: createPromptAsyncTransport(client, agentSessionId, {
16377
16386
  tokenBudget: args.tokenBudget,
16378
- onBudgetUpdate: args.onBudgetUpdate
16387
+ onBudgetUpdate
16379
16388
  }),
16380
16389
  timeoutMs: sliceMs,
16381
16390
  signal,
@@ -16402,11 +16411,11 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16402
16411
  });
16403
16412
  promptSettled = true;
16404
16413
  recordInvocation2(args, startedAt, { status: "completed", messages: run.output });
16405
- const outcome = await applyParsedBatchMappings(args, batch, run.validated);
16414
+ const outcome = await applyParsedBatchMappings(args, batch, run.validated, budgetFinalized);
16406
16415
  const returnedIds = new Set(run.validated.filter((entry) => batch.some((memory) => memory.id === entry.id)).map((entry) => entry.id));
16407
16416
  return {
16408
16417
  ...outcome,
16409
- requeue: batch.filter((memory) => !returnedIds.has(memory.id))
16418
+ requeue: budgetFinalized ? [] : batch.filter((memory) => !returnedIds.has(memory.id))
16410
16419
  };
16411
16420
  } catch (error) {
16412
16421
  const desc = describeError(error);
@@ -16441,7 +16450,7 @@ async function mapOneBatch(args, batch, sliceMs, signal) {
16441
16450
  });
16442
16451
  }
16443
16452
  }
16444
- async function applyParsedBatchMappings(args, batch, parsed) {
16453
+ async function applyParsedBatchMappings(args, batch, parsed, budgetFinalized = false) {
16445
16454
  const batchIds = new Set(batch.map((memory) => memory.id));
16446
16455
  const valid = parsed.filter((entry) => batchIds.has(entry.id));
16447
16456
  const unknown = parsed.filter((entry) => !batchIds.has(entry.id));
@@ -16449,9 +16458,12 @@ async function applyParsedBatchMappings(args, batch, parsed) {
16449
16458
  log(`[dreamer] map-memories warning: dropping ${unknown.length} unknown mapping entr${unknown.length === 1 ? "y" : "ies"} outside the current batch (${unknown.map((entry) => entry.id).join(", ")})`);
16450
16459
  }
16451
16460
  assertNoDuplicateManifestIds(valid.map((entry) => entry.id), "mappings");
16452
- if (valid.length * 2 < batch.length) {
16461
+ if (!budgetFinalized && valid.length * 2 < batch.length) {
16453
16462
  throw new Error(`mappings manifest covers ${valid.length}/${batch.length} batch ids after filtering unknown entries; rejecting mostly-wrong manifest`);
16454
16463
  }
16464
+ if (budgetFinalized && valid.length < batch.length) {
16465
+ log(`[dreamer] map-memories: accepted partial manifest after token budget: ${valid.length}/${batch.length}`);
16466
+ }
16455
16467
  if (valid.length === 0)
16456
16468
  return { mapped: 0, independent: 0 };
16457
16469
  const planned = [];
@@ -18024,6 +18036,11 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18024
18036
  let agentSessionId = null;
18025
18037
  let promptSettled = false;
18026
18038
  const startedAt = Date.now();
18039
+ let budgetFinalized = false;
18040
+ const onBudgetUpdate = (state) => {
18041
+ budgetFinalized ||= state.finalizeFired;
18042
+ args.onBudgetUpdate?.(state);
18043
+ };
18027
18044
  try {
18028
18045
  const headAtPrompt = await readGitHead(args.sessionDirectory);
18029
18046
  const evidence = !args.forceBroad && batch.every((m) => m.verifiedAt) ? await buildVerifyDiffEvidence(args.sessionDirectory, batch) : null;
@@ -18038,7 +18055,7 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18038
18055
  prompt,
18039
18056
  title: "magic-context-dream-verify",
18040
18057
  callContext: "dreamer:verify",
18041
- metadata: { tokenBudget: args.tokenBudget, onBudgetUpdate: args.onBudgetUpdate },
18058
+ metadata: { tokenBudget: args.tokenBudget, onBudgetUpdate },
18042
18059
  model: args.model,
18043
18060
  fallbackModels: args.fallbackModels,
18044
18061
  language: args.language,
@@ -18055,7 +18072,7 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18055
18072
  status: "completed",
18056
18073
  messages: run.completion.messages ?? []
18057
18074
  });
18058
- return applyParsedVerifyManifest(args, batch, run.validated, evidence?.head ?? headAtPrompt);
18075
+ return applyParsedVerifyManifest(args, batch, run.validated, evidence?.head ?? headAtPrompt, budgetFinalized);
18059
18076
  }
18060
18077
  const client = args.client;
18061
18078
  if (!client)
@@ -18085,7 +18102,7 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18085
18102
  }, {
18086
18103
  transport: createPromptAsyncTransport(client, agentSessionId, {
18087
18104
  tokenBudget: args.tokenBudget,
18088
- onBudgetUpdate: args.onBudgetUpdate
18105
+ onBudgetUpdate
18089
18106
  }),
18090
18107
  timeoutMs: sliceMs,
18091
18108
  signal,
@@ -18115,7 +18132,7 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18115
18132
  });
18116
18133
  promptSettled = true;
18117
18134
  recordInvocation4(args, startedAt, { status: "completed", messages: run.output });
18118
- return await applyParsedVerifyManifest(args, batch, run.validated, evidence?.head ?? headAtPrompt);
18135
+ return await applyParsedVerifyManifest(args, batch, run.validated, evidence?.head ?? headAtPrompt, budgetFinalized);
18119
18136
  } catch (error) {
18120
18137
  const desc = describeError(error);
18121
18138
  const providerFailure = error instanceof DreamerProviderOutputFailureError ? error : undefined;
@@ -18161,7 +18178,7 @@ async function verifyOneBatch(args, batch, sliceMs, signal) {
18161
18178
  });
18162
18179
  }
18163
18180
  }
18164
- async function applyParsedVerifyManifest(args, batch, parsed, headAtPrompt) {
18181
+ async function applyParsedVerifyManifest(args, batch, parsed, headAtPrompt, budgetFinalized = false) {
18165
18182
  const batchIds = new Set(batch.map((m) => m.id));
18166
18183
  const batchById = new Map(batch.map((memory) => [memory.id, memory]));
18167
18184
  const valid = {
@@ -18181,9 +18198,12 @@ async function applyParsedVerifyManifest(args, batch, parsed, headAtPrompt) {
18181
18198
  }
18182
18199
  const validIds = [...valid.verified, ...valid.updated, ...valid.archived, ...valid.skipped].map((entry) => entry.id);
18183
18200
  assertNoDuplicateManifestIds(validIds, "verify");
18184
- if (validIds.length * 2 < batch.length) {
18201
+ if (!budgetFinalized && validIds.length * 2 < batch.length) {
18185
18202
  throw new Error(`verify manifest covers ${validIds.length}/${batch.length} batch ids after filtering unknown entries; rejecting mostly-wrong manifest`);
18186
18203
  }
18204
+ if (budgetFinalized && validIds.length < batch.length) {
18205
+ log(`[dreamer] verify: accepted partial manifest after token budget: ${validIds.length}/${batch.length}`);
18206
+ }
18187
18207
  if (validIds.length === 0) {
18188
18208
  return { verified: 0, updated: 0, archived: 0, skipped: 0, refused: 0 };
18189
18209
  }
@@ -21342,6 +21362,12 @@ function resolveSessionId(properties) {
21342
21362
  }
21343
21363
  return;
21344
21364
  }
21365
+ function historyBudgetPolicyIdentity(historyBudgetPercentage, executeThresholdPercentage, modelKey, executeThresholdTokens) {
21366
+ if (!historyBudgetPercentage)
21367
+ return "pdefault";
21368
+ const threshold = resolveExecuteThresholdDetail(executeThresholdPercentage ?? 65, modelKey, 65, { tokensConfig: executeThresholdTokens, contextLimit: Number.MAX_SAFE_INTEGER });
21369
+ return `p${historyBudgetPercentage}:${threshold.mode}:${threshold.absoluteTokens ?? threshold.percentage}`;
21370
+ }
21345
21371
 
21346
21372
  // src/features/magic-context/scheduler.ts
21347
21373
  var TTL_PATTERN = /^(\d+)([smh])$/;
@@ -24549,6 +24575,7 @@ function encodeOpenCodeMessagesToCk(messages) {
24549
24575
  const synthetic = syntheticParts.length > 0 && syntheticParts.every((part) => part !== null && typeof part === "object" && (part.synthetic === true || part.syntheticTodoMarker === true));
24550
24576
  const content = [];
24551
24577
  const recoveryToolTitles = {};
24578
+ const userAnswerBlocks = [];
24552
24579
  for (const partValue of parts) {
24553
24580
  if (partValue === null || typeof partValue !== "object")
24554
24581
  continue;
@@ -24596,6 +24623,8 @@ function encodeOpenCodeMessagesToCk(messages) {
24596
24623
  if (title)
24597
24624
  recoveryToolTitles[callId] = title;
24598
24625
  const output = typeof state.output === "string" ? state.output : typeof state.error === "string" ? state.error : "";
24626
+ if (toolPartHasUserAnswer(part))
24627
+ userAnswerBlocks.push(content.length);
24599
24628
  content.push({
24600
24629
  kind: {
24601
24630
  type: "tool_result",
@@ -24627,9 +24656,12 @@ function encodeOpenCodeMessagesToCk(messages) {
24627
24656
  ck: {
24628
24657
  role,
24629
24658
  content,
24630
- ...Object.keys(recoveryToolTitles).length > 0 ? {
24659
+ ...Object.keys(recoveryToolTitles).length > 0 || userAnswerBlocks.length > 0 ? {
24631
24660
  provider_extras: {
24632
- opencode: { ctx_expand_tool_titles: recoveryToolTitles }
24661
+ opencode: {
24662
+ ...Object.keys(recoveryToolTitles).length > 0 ? { ctx_expand_tool_titles: recoveryToolTitles } : {},
24663
+ ...userAnswerBlocks.length > 0 ? { user_answer_block_indices: userAnswerBlocks } : {}
24664
+ }
24633
24665
  }
24634
24666
  } : {},
24635
24667
  meta: {
@@ -26075,7 +26107,9 @@ function resolveConfigValue(cfg, key, modelKey, defaultValue) {
26075
26107
  }
26076
26108
  function buildSidebarSnapshot(db, sessionId, directory, liveSessionState, injectionBudgetTokens, config, moduleStatus, compactionEnabled = true) {
26077
26109
  try {
26078
- const projectIdentity = resolveProjectIdentity(directory);
26110
+ const projectIdentity = resolveProjectIdentityForSession(directory);
26111
+ if (projectIdentity === undefined)
26112
+ throw new ProjectIdentityError("git_identity_unavailable", directory, "Memory features paused while project identity is unavailable");
26079
26113
  const meta = db.prepare("SELECT * FROM session_meta WHERE session_id = ?").get(sessionId);
26080
26114
  const usagePercentage = meta ? Number(meta.last_context_percentage ?? meta.last_usage_percentage ?? 0) : 0;
26081
26115
  const inputTokens = meta ? Number(meta.last_input_tokens ?? 0) : 0;
@@ -26279,7 +26313,7 @@ function buildSidebarSnapshot(db, sessionId, directory, liveSessionState, inject
26279
26313
  };
26280
26314
  return applyStickySnapshotCache(sessionId, fresh);
26281
26315
  } catch (err) {
26282
- if (!(err instanceof ProjectIdentityError && err.errorClass === "home_project_disabled"))
26316
+ if (!(err instanceof ProjectIdentityError))
26283
26317
  log("[rpc] sidebar-snapshot error:", err);
26284
26318
  throw err;
26285
26319
  }
@@ -26287,6 +26321,8 @@ function buildSidebarSnapshot(db, sessionId, directory, liveSessionState, inject
26287
26321
  function buildSidebarSnapshotRpcResponse(db, sessionId, directory, liveSessionState, injectionBudgetTokens, config, moduleStatus, compactionEnabled = true) {
26288
26322
  if (shouldSkipHomeProjectMemory(directory))
26289
26323
  return { sessionId, disabled: true };
26324
+ if (resolveProjectIdentityForSession(directory) === undefined)
26325
+ return { sessionId, disabled: true, paused: true };
26290
26326
  try {
26291
26327
  return buildSidebarSnapshot(db, sessionId, directory, liveSessionState, injectionBudgetTokens, config, moduleStatus, compactionEnabled);
26292
26328
  } catch {
@@ -26748,6 +26784,8 @@ function registerRpcHandlers(rpcServer, args) {
26748
26784
  const dir = String(params.directory ?? directory);
26749
26785
  if (shouldSkipHomeProjectMemory(dir))
26750
26786
  return { sessionId, disabled: true };
26787
+ if (resolveProjectIdentityForSession(dir) === undefined)
26788
+ return { sessionId, disabled: true, paused: true };
26751
26789
  const modelKey = params.modelKey ? String(params.modelKey) : undefined;
26752
26790
  const db = readDatabase();
26753
26791
  if (!db || !sessionId)
@@ -26770,6 +26808,8 @@ function registerRpcHandlers(rpcServer, args) {
26770
26808
  const dir = String(params.directory ?? directory);
26771
26809
  if (shouldSkipHomeProjectMemory(dir))
26772
26810
  return { sessionId, disabled: true };
26811
+ if (resolveProjectIdentityForSession(dir) === undefined)
26812
+ return { sessionId, disabled: true, paused: true };
26773
26813
  const db = readDatabase();
26774
26814
  if (!db || !sessionId)
26775
26815
  return { error: "unavailable" };
@@ -26797,7 +26837,7 @@ function registerRpcHandlers(rpcServer, args) {
26797
26837
  return { count: buildCompartmentCount(db, sessionId, moduleStatus) };
26798
26838
  });
26799
26839
  const buildManagedCtx = async (db) => {
26800
- const { deriveHistorianChunkTokens, resolveHistorianContextLimit } = await import("./derive-budgets-vjmvh6pz.js");
26840
+ const { deriveHistorianChunkTokens, resolveHistorianContextLimit } = await import("./derive-budgets-ncwn1jk9.js");
26801
26841
  const { resolveHistorianModel } = await import("./model-resolution-dxatzjde.js");
26802
26842
  const { userMemoryCollectionEnabled } = await import("./task-config-2bm68628.js");
26803
26843
  const DEFAULT_HISTORIAN_TIMEOUT_MS = 600000;
@@ -26831,7 +26871,7 @@ function registerRpcHandlers(rpcServer, args) {
26831
26871
  const db = readDatabase();
26832
26872
  if (!db)
26833
26873
  return { ok: false, error: "db unavailable" };
26834
- const { runManagedRecomp } = await import("./recomp-orchestrator-19tr6zya.js");
26874
+ const { runManagedRecomp } = await import("./recomp-orchestrator-0ers6smx.js");
26835
26875
  const { sendIgnoredMessage } = await import("./send-session-notification-04hvd54c.js");
26836
26876
  log(`[rpc] recomp requested for session ${sessionId}`);
26837
26877
  const ctx = await buildManagedCtx(db);
@@ -26890,7 +26930,7 @@ function registerRpcHandlers(rpcServer, args) {
26890
26930
  const db = readDatabase();
26891
26931
  if (!db)
26892
26932
  return { ok: false, error: "db unavailable" };
26893
- const { runManagedWrapup } = await import("./wrapup-orchestrator-sy4m56a7.js");
26933
+ const { runManagedWrapup } = await import("./wrapup-orchestrator-x0jvvrqn.js");
26894
26934
  const model = liveSessionState.liveModelBySession.get(sessionId);
26895
26935
  const contextLimit = model ? resolveContextLimit(model.providerID, model.modelID, { db, sessionID: sessionId }) : 128000;
26896
26936
  const ctx = {
@@ -32386,7 +32426,9 @@ function createTransform(deps) {
32386
32426
  const persistedUsageFreshForBoundary = persistedUsageBeforeResets && Date.now() - persistedUsageBeforeResets.updatedAt <= 10 * 60 * 1000 && (persistedUsageBeforeResets.lastObservedModelKey === null || currentModelKeyForBoundary === undefined || piModelRefToCanonical(persistedUsageBeforeResets.lastObservedModelKey) === piModelRefToCanonical(currentModelKeyForBoundary)) && (resolvedContextLimit === undefined || persistedUsageBeforeResets.lastUsageContextLimit === 0 || persistedUsageBeforeResets.lastUsageContextLimit === resolvedContextLimit) ? persistedUsageBeforeResets.usage : null;
32387
32427
  const boundaryUsageForProtectedTail = persistedUsageFreshForBoundary ?? contextUsageEarly;
32388
32428
  const boundaryUsageSource = persistedUsageFreshForBoundary ? "persisted" : "live";
32389
- const historyBudgetTokens = resolveHistoryBudgetTokens(deps.historyBudgetPercentage, contextUsageEarly, deps.executeThresholdPercentage, deps.getModelKey?.(sessionId), deps.executeThresholdTokens, resolvedContextLimit);
32429
+ const historyPolicyIdentity = historyBudgetPolicyIdentity(deps.historyBudgetPercentage, deps.executeThresholdPercentage, currentModelKeyForBoundary, deps.executeThresholdTokens);
32430
+ const historyContextLimit = resolvedContextLimit ?? (currentModelKeyForBoundary && persistedUsageBeforeResets?.lastObservedModelKey && piModelRefToCanonical(currentModelKeyForBoundary) === piModelRefToCanonical(persistedUsageBeforeResets.lastObservedModelKey) && persistedUsageBeforeResets.lastUsageContextLimit > 0 ? persistedUsageBeforeResets.lastUsageContextLimit : undefined);
32431
+ const historyBudgetTokens = resolveHistoryBudgetTokens(deps.historyBudgetPercentage, contextUsageEarly, deps.executeThresholdPercentage, deps.getModelKey?.(sessionId), deps.executeThresholdTokens, historyContextLimit);
32390
32432
  const emergencyCeilingLimit = thresholdContextLimit ?? 0;
32391
32433
  const emergencyCeilingTokens = Number.isFinite(emergencyCeilingLimit) && emergencyCeilingLimit > 0 ? Math.floor(emergencyCeilingLimit * (effectiveExecuteThresholdPercentage / 100)) : undefined;
32392
32434
  const schedulerDecision = compactionOff ? "defer" : resolveSchedulerDecision(deps.scheduler, sessionMeta, contextUsageEarly, sessionId, deps.getModelKey?.(sessionId), resolvedContextLimit);
@@ -32760,6 +32802,7 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so Ma
32760
32802
  muralEnabled: deps.muralEnabled,
32761
32803
  memoryInjectionBudgetTokens: deps.memoryConfig?.injectionBudgetTokens,
32762
32804
  historyBudgetTokens,
32805
+ historyBudgetPolicyIdentity: historyPolicyIdentity,
32763
32806
  hardSignals: m0HardSignals
32764
32807
  }).value;
32765
32808
  const protectionCacheBustingPass = !compactionOff && (schedulerDecision === "execute" || isCacheBusting || contextUsage.percentage >= forceMaterializationPercentage || deps.pendingMaterializationSessions.has(sessionId) || canConsumeDeferredLate && deferredMaterializationSessions.has(sessionId) || protectionFoldWillBust);
@@ -32883,6 +32926,7 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so Ma
32883
32926
  memoryEnabled: deps.memoryConfig?.enabled,
32884
32927
  memoryInjectionBudgetTokens: deps.memoryConfig?.injectionBudgetTokens,
32885
32928
  historyBudgetTokens,
32929
+ historyBudgetPolicyIdentity: historyPolicyIdentity,
32886
32930
  temporalAwareness: deps.experimentalTemporalAwareness,
32887
32931
  hardSignals: m0HardSignals,
32888
32932
  muralEnabled: deps.muralEnabled
@@ -39147,7 +39191,7 @@ class V2StoreReader {
39147
39191
  return { rows, cursor: rows.at(-1)?.seq };
39148
39192
  });
39149
39193
  }
39150
- messagePage(sessionID, afterOrdinal, limit, finalWatermark) {
39194
+ messagePage(sessionID, afterOrdinal, limit, finalWatermark, after) {
39151
39195
  return trackDecodeOperation("messagePage", () => {
39152
39196
  if (!Number.isSafeInteger(afterOrdinal) || afterOrdinal < 0)
39153
39197
  throw new Error("Invalid raw-message ordinal cursor");
@@ -39158,6 +39202,14 @@ class V2StoreReader {
39158
39202
  const pageSize = Math.min(limit, finalWatermark - afterOrdinal);
39159
39203
  if (pageSize <= 0)
39160
39204
  return [];
39205
+ if (after) {
39206
+ const anchor = this.db.prepare("SELECT seq FROM session_message WHERE session_id = ? AND id = ?").get(sessionID, after.id);
39207
+ if (anchor) {
39208
+ return this.db.prepare(`SELECT id, session_id, type, seq, time_created, data
39209
+ FROM session_message WHERE session_id = ? AND seq > ?
39210
+ AND type IN (${RAW_MESSAGE_TYPE_PARAMETERS}) ORDER BY seq ASC LIMIT ?`).all(sessionID, anchor.seq, ...RAW_MESSAGE_TYPES, pageSize).map(decode);
39211
+ }
39212
+ }
39161
39213
  const maximumSeq = Number.MAX_SAFE_INTEGER;
39162
39214
  const rows = this.db.prepare(V2_MESSAGE_PAGE_SQL).all(afterOrdinal, sessionID, ...RAW_MESSAGE_TYPES, Math.max(0, afterOrdinal - 1), sessionID, ...RAW_MESSAGE_TYPES, finalWatermark - 1, maximumSeq, sessionID, ...RAW_MESSAGE_TYPES, pageSize);
39163
39215
  return rows.map(decode);
@@ -40939,6 +40991,7 @@ function adaptPayload(draft, admittedIDs = new Set) {
40939
40991
  input: structuredClone(call?.input ?? {}),
40940
40992
  status: result ? "completed" : "running",
40941
40993
  ...result ? { output } : {},
40994
+ ...result && (call?.name ?? result.part.name) === "question" ? { metadata: { userAnswer: true } } : {},
40942
40995
  ...files ? { attachments: contentValueAttachments(files) } : {}
40943
40996
  }
40944
40997
  };
@@ -41478,10 +41531,10 @@ function* readV2RawMessagePagesForConversion(openReader, sessionID, pageRows = C
41478
41531
  function createV2RawMessageReader(openReader) {
41479
41532
  const servedBoundaryCache = new Map;
41480
41533
  return {
41481
- readPage: (sessionID, afterOrdinal, limit, finalWatermark) => {
41534
+ readPage: (sessionID, afterOrdinal, limit, finalWatermark, after) => {
41482
41535
  const reader = openReader();
41483
41536
  try {
41484
- return rawMessagePage(reader.messagePage(sessionID, afterOrdinal, limit, finalWatermark), afterOrdinal);
41537
+ return rawMessagePage(reader.messagePage(sessionID, afterOrdinal, limit, finalWatermark, after), afterOrdinal);
41485
41538
  } finally {
41486
41539
  reader.close();
41487
41540
  }
@@ -41575,7 +41628,7 @@ function createV2RawMessageReader(openReader) {
41575
41628
  }
41576
41629
  function createV2RawMessageProvider(reader, sessionID) {
41577
41630
  return {
41578
- readMessagePage: (afterOrdinal, limit, finalWatermark) => reader.readPage(sessionID, afterOrdinal, limit, finalWatermark),
41631
+ readMessagePage: (afterOrdinal, limit, finalWatermark, after) => reader.readPage(sessionID, afterOrdinal, limit, finalWatermark, after),
41579
41632
  readMessageById: (messageID) => reader.findById(sessionID, messageID),
41580
41633
  readMessagePartsById: (messageID) => reader.findPartsById(sessionID, messageID),
41581
41634
  hasMessageById: (messageID) => reader.hasById(sessionID, messageID),
@@ -43219,7 +43272,7 @@ var server = async (ctx) => {
43219
43272
  tryReopenStorage,
43220
43273
  onStorageBusyRefusal: async (sessionId, message) => {
43221
43274
  const { sendStatusNotification } = await import("./send-session-notification-04hvd54c.js");
43222
- const { abortSessionFailClosed } = await import("./transform-postprocess-phase-z2mfc5w1.js");
43275
+ const { abortSessionFailClosed } = await import("./transform-postprocess-phase-ttdkrm6r.js");
43223
43276
  await sendStatusNotification(ctx.client, sessionId, message, {
43224
43277
  toastDurationMs: 15000
43225
43278
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAsCzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAe3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAchG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAElG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAWlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAmBvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAGR,wBAAwB,EAGxB,eAAe,EACf,YAAY,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,wBAAsB,oBAAoB,CACtC,YAAY,EAAE,oBAAoB,GAAG,SAAS,EAC9C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB1C;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,aAAa,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAA;SAAE,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAA;SAAE,GAAG,IAAI,CAAC;KAC3F,CAAC;IACF,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC;QAC1E,eAAe,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;QACrD,MAAM,CAAC,EAAE,kBAAkB,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,kBAAkB,CAAC;KAC/B,CAAC;CACL;AAED,+EAA+E;AAC/E,UAAU,kBAAkB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAsDD;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAqCxC;AAiCD,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAmXjB;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB;AAWD,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,iBAAiB,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAmVd;AA6BD,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,iBAAiB,GACjC,MAAM,CAcR;AAED,UAAU,yBAAyB;IAC/B,WAAW,CAAC,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,KAAK,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;KACN,CAAC;IACF,SAAS,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,cAAc,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;KACN,CAAC;CACL;AAiBD,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAC7C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,OAAO,CAET;AAED,wBAAgB,qBAAqB,CACjC,cAAc,GAAE,yBAA8B,GAC/C,wBAAwB,CA4E1B;AAiID;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,yBAAyB,GAAG,SAAS,CAAC;IACpE,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;CACvC,GACF,IAAI,CAmYN"}
@@ -28,8 +28,8 @@ import {
28
28
  getLegacyProtectedTailStartOrdinal2,
29
29
  readSessionChunk2,
30
30
  readRawSessionSeedTail2
31
- } from "./index-dgg5y7er.js";
32
- import"./index-y5145x8k.js";
31
+ } from "./index-qm36k34q.js";
32
+ import"./index-n96ag4rk.js";
33
33
  import"./index-4an2p8qa.js";
34
34
  import"./index-3bygzk2d.js";
35
35
  import"./index-s70wtd8k.js";
@@ -2,13 +2,13 @@ import {
2
2
  setRecompStarting2,
3
3
  setRecompTerminal2,
4
4
  runManagedRecomp2
5
- } from "./index-rdsaxnf2.js";
6
- import"./index-yhm60r53.js";
5
+ } from "./index-wprsye9w.js";
6
+ import"./index-sqp1hz9v.js";
7
7
  import"./index-sd3egckz.js";
8
- import"./index-9y5p0d50.js";
8
+ import"./index-msqr3x6m.js";
9
9
  import"./index-33q7s9y2.js";
10
- import"./index-dgg5y7er.js";
11
- import"./index-y5145x8k.js";
10
+ import"./index-qm36k34q.js";
11
+ import"./index-n96ag4rk.js";
12
12
  import"./index-4an2p8qa.js";
13
13
  import"./index-kr5qehbd.js";
14
14
  import"./index-jdxxq8cz.js";
@@ -54,7 +54,12 @@ export declare function isPidAlive(pid: number): PidLiveness;
54
54
  export declare function readProcessStartTime(pid: number): number | null;
55
55
  /** Capture the command and start-time probes used to explain a blocker. */
56
56
  export declare function readProcessProbeEvidence(pid: number): ProcessProbeEvidence;
57
+ interface ProcessListEntry {
58
+ pid: number;
59
+ command: string;
60
+ }
57
61
  type ProcessSnapshotSource = "cim" | "tasklist" | "ps";
62
+ export declare function parseTasklistOutput(output: string): ProcessListEntry[] | null;
58
63
  /** Reuse the platform-gated command probes used by PID identity checks. */
59
64
  export declare function readProcessCommand(pid: number): string | null;
60
65
  /** Classify a process command without changing the liveness decision. */
@@ -117,5 +122,7 @@ declare function execProcessListAsync(file: string, args: string[], timeout: num
117
122
  /** Inject only the asynchronous transport; legacy synchronous probes stay isolated. */
118
123
  export declare function __setAsyncProcessProbeForTests(probe?: typeof execProcessListAsync): void;
119
124
  export declare function inspectProcessesAsync(forceFresh?: boolean): Promise<AsyncProcessInspection>;
125
+ /** Take one fresh Windows process snapshot with command time limits for synchronous callers. */
126
+ export declare function inspectWindowsProcessesSync(): AsyncProcessInspection;
120
127
  export {};
121
128
  //# sourceMappingURL=rpc-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-utils.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-utils.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,8 @@ export type TranscriptPartKind = "text" | "thinking" | "tool_use" | "tool_result
66
66
  export interface TranscriptPart {
67
67
  /** Discriminator for filter logic. Stable across mutations. */
68
68
  readonly kind: TranscriptPartKind;
69
+ /** True when the host marks this tool result as carrying a user's answer. */
70
+ hasUserAnswer?(): boolean;
69
71
  /**
70
72
  * Best-effort identifier for cross-pass tracking. May be:
71
73
  * - OpenCode part ID (e.g. "prt_..."), stable across passes.
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/shared/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GACxB,MAAM,GACN,UAAU,GACV,UAAU,GACV,aAAa,GACb,OAAO,GACP,MAAM,GACN,YAAY,GACZ,SAAS,CAAC;AAEhB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAElC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAE9B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;;;;;;;;;OAWG;IACH,eAAe,IAAI;QACf,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhD;;;;;OAKG;IACH,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAEvD;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnD,wFAAwF;IACxF,MAAM,CAAC,IAAI,OAAO,CAAC;IACnB,gGAAgG;IAChG,sFAAsF;IACtF,SAAS,CAAC,IAAI,OAAO,GAAG,OAAO,CAAC;IAEhC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8FAA8F;IAC9F,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjE,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAE5B;;;;;;;;;;;;;OAaG;IACH,MAAM,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAAiC,CAAC"}
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/shared/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GACxB,MAAM,GACN,UAAU,GACV,UAAU,GACV,aAAa,GACb,OAAO,GACP,MAAM,GACN,YAAY,GACZ,SAAS,CAAC;AAEhB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAElC,6EAA6E;IAC7E,aAAa,CAAC,IAAI,OAAO,CAAC;IAE1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAE9B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;;;;;;;;;OAWG;IACH,eAAe,IAAI;QACf,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhD;;;;;OAKG;IACH,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAEvD;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnD,wFAAwF;IACxF,MAAM,CAAC,IAAI,OAAO,CAAC;IACnB,gGAAgG;IAChG,sFAAsF;IACtF,SAAS,CAAC,IAAI,OAAO,GAAG,OAAO,CAAC;IAEhC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8FAA8F;IAC9F,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjE,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAE5B;;;;;;;;;;;;;OAaG;IACH,MAAM,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAAiC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Host-owned answer metadata, independent of the tool's registered name. */
2
+ export declare function hasUserAnswerMetadata(value: unknown): boolean;
3
+ export declare function toolPartHasUserAnswer(part: unknown): boolean;
4
+ //# sourceMappingURL=user-answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-answer.d.ts","sourceRoot":"","sources":["../../src/shared/user-answer.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAO7D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAI5D"}
@@ -9,13 +9,13 @@ import {
9
9
  abortSessionFailClosed2,
10
10
  evaluateEmergencyFailClosed2,
11
11
  runPostTransformPhase2
12
- } from "./index-q5p1aqvv.js";
13
- import"./index-yhm60r53.js";
12
+ } from "./index-mrc0twf3.js";
13
+ import"./index-sqp1hz9v.js";
14
14
  import"./index-sd3egckz.js";
15
- import"./index-9y5p0d50.js";
15
+ import"./index-msqr3x6m.js";
16
16
  import"./index-33q7s9y2.js";
17
- import"./index-dgg5y7er.js";
18
- import"./index-y5145x8k.js";
17
+ import"./index-qm36k34q.js";
18
+ import"./index-n96ag4rk.js";
19
19
  import"./index-4an2p8qa.js";
20
20
  import"./index-kr5qehbd.js";
21
21
  import"./index-jdxxq8cz.js";
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AAgKxF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EAmT/F"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AAgKxF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EAyT/F"}
@@ -15,7 +15,7 @@ export declare function rawMessages(rows: readonly StoreRow[], history?: readonl
15
15
  /** Project a SQL-bounded page whose first row follows `afterOrdinal`. */
16
16
  export declare function rawMessagePage(rows: readonly StoreRow[], afterOrdinal: number): RawMessage[];
17
17
  export interface V2RawMessageReader {
18
- readPage(sessionID: string, afterOrdinal: number, limit: number, finalWatermark: number): RawMessage[];
18
+ readPage(sessionID: string, afterOrdinal: number, limit: number, finalWatermark: number, after?: RawMessageOrdinalAnchor): RawMessage[];
19
19
  findById(sessionID: string, messageID: string): RawMessage | null;
20
20
  findPartsById(sessionID: string, messageID: string): RawMessageParts | null;
21
21
  hasById(sessionID: string, messageID: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/store.ts"],"names":[],"mappings":"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"}