@cortexkit/pi-magic-context 0.49.34 → 0.49.36

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 (73) hide show
  1. package/dist/auto-search-worker.js +163 -155
  2. package/dist/chunk-embedding-write-worker.js +71 -66
  3. package/dist/{compaction-marker-candidates-p1kqkqhq.js → compaction-marker-candidates-9fzqg6y0.js} +6 -3
  4. package/dist/compaction-marker-candidates-worker.js +24 -23
  5. package/dist/{compartment-chunk-embedding-8c85ebce.js → compartment-chunk-embedding-jpcme6tz.js} +11 -9
  6. package/dist/embedding-backfill-002vyexq.js +27 -0
  7. package/dist/embedding-worker-process.js +2 -1
  8. package/dist/embedding-worker.js +5 -4
  9. package/dist/expand-attachments-8sxeyj26.js +21 -0
  10. package/dist/historian-calibration-extension.js +2 -1
  11. package/dist/{index-hqw0rt9k.js → index-0wtm7g7f.js} +1 -1
  12. package/dist/{index-wqpjhx1p.js → index-2qqsnh1b.js} +2 -2
  13. package/dist/index-3bb24eb6.js +229 -0
  14. package/dist/{index-48twbev2.js → index-6pk49fc3.js} +37 -51
  15. package/dist/{index-399p688g.js → index-8sqebjzk.js} +4 -1
  16. package/dist/{index-np9ryr8y.js → index-a7sj2bam.js} +24 -241
  17. package/dist/index-by1bzjcd.js +24 -0
  18. package/dist/{index-6981g1xv.js → index-c1dqxr10.js} +35 -5
  19. package/dist/index-c6wbq66z.js +168 -0
  20. package/dist/{index-bvpar0bg.js → index-ck8wj35v.js} +2 -2
  21. package/dist/{index-jn44h81p.js → index-cq71g4dk.js} +1 -1
  22. package/dist/{index-pb3ea2tq.js → index-d107f484.js} +5 -5
  23. package/dist/{index-f4fz95fy.js → index-dgqjq8sg.js} +398 -4996
  24. package/dist/index-dnp1jjar.js +222 -0
  25. package/dist/index-ea37qn4x.js +777 -0
  26. package/dist/{index-g2tfayfc.js → index-f6y7mdq9.js} +98 -552
  27. package/dist/{index-0gymvr5j.js → index-f9qet7y8.js} +19 -8
  28. package/dist/index-gxqmh9hq.js +194 -0
  29. package/dist/{index-fgs78jyd.js → index-gymgz20n.js} +5 -222
  30. package/dist/index-hgd00nas.js +113 -0
  31. package/dist/{index-9xd7qveg.js → index-jbkwszd5.js} +4 -4
  32. package/dist/{index-e61zxfts.js → index-kj49vs41.js} +4 -4
  33. package/dist/{index-4zemngt7.js → index-mp0gh04g.js} +2 -2
  34. package/dist/{index-eenxm3t3.js → index-mx757f3g.js} +51 -32
  35. package/dist/{index-23t8ryqw.js → index-n0zjvs3h.js} +1 -168
  36. package/dist/index-nypgv96r.js +58 -0
  37. package/dist/index-p9jfa33t.js +4171 -0
  38. package/dist/{index-eqw9t2ty.js → index-pwp6zyx3.js} +15 -4
  39. package/dist/{index-cj3bkd16.js → index-ry84c8dr.js} +2 -2
  40. package/dist/{index-gwxaz0z5.js → index-rzfr7wdv.js} +2 -2
  41. package/dist/index-w26zvs1q.js +528 -0
  42. package/dist/index-wfqysrwq.js +204 -0
  43. package/dist/index-wrr9rp9a.js +16 -0
  44. package/dist/{index-my0dn413.js → index-wt7vmyj4.js} +1 -1
  45. package/dist/{index-0mc0vv97.js → index-wwsfevck.js} +8 -5
  46. package/dist/{index-54wmg4rj.js → index-x2n261wp.js} +16 -14
  47. package/dist/{index-6wdwv3a6.js → index-y90fxz4t.js} +10 -4
  48. package/dist/{index-c474g0gj.js → index-yacs388s.js} +1 -1
  49. package/dist/{index-xn5yh0pn.js → index-z7dktknj.js} +34 -131
  50. package/dist/index.js +1316 -488
  51. package/dist/{logger-shetp43v.js → logger-2j70hhz4.js} +2 -1
  52. package/dist/{message-fts-rowid-map-3mbvdgn9.js → message-fts-rowid-map-hmgyfxxa.js} +8 -6
  53. package/dist/{message-index-bounded-a6na71rg.js → message-index-bounded-82sergz7.js} +15 -12
  54. package/dist/{message-time-backfill-e3r8ddh1.js → message-time-backfill-x45573rs.js} +3 -2
  55. package/dist/migration-worker.js +56 -48
  56. package/dist/{project-embedding-registry-acqb6be4.js → project-embedding-registry-16pj4vyf.js} +16 -13
  57. package/dist/raw-ordinal-warmup-worker.js +114 -113
  58. package/dist/{read-session-chunk-2xcp6f40.js → read-session-chunk-jxq427v6.js} +17 -10
  59. package/dist/{read-session-raw-g9b1zdn5.js → read-session-raw-a9ntjqap.js} +6 -4
  60. package/dist/render-2wan3bfh.js +42 -0
  61. package/dist/{safe-notification-target-zcpchea6.js → safe-notification-target-jk69jxwp.js} +3 -2
  62. package/dist/search-3p18trsb.js +50 -0
  63. package/dist/search-archive-pgrv04gv.js +25 -0
  64. package/dist/{storage-tags-6409qq18.js → storage-tags-p9y3bnw7.js} +5 -4
  65. package/dist/store-reader-2m80zs5z.js +14 -0
  66. package/dist/store-v60q7dje.js +452 -0
  67. package/dist/subagent-entry.js +34 -25
  68. package/dist/tag-snapshot-worker-pi.js +218 -209
  69. package/dist/v2-archive-reader-5zpj8hrg.js +11 -0
  70. package/package.json +1 -1
  71. package/dist/embedding-backfill-rwfmyvze.js +0 -24
  72. package/dist/search-archive-jate39w5.js +0 -21
  73. package/dist/search-b6hp64hc.js +0 -45
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  log2,
14
14
  sessionLog2
15
- } from "./index-fgs78jyd.js";
15
+ } from "./index-gymgz20n.js";
16
16
  import {
17
17
  resolveDecisionCalibration,
18
18
  calibrationForModelKey,
@@ -23,7 +23,7 @@ import {
23
23
  TAG_SELECT_COLUMNS2,
24
24
  getCandidateToolOwners2,
25
25
  pickNearestPriorOwner2
26
- } from "./index-eqw9t2ty.js";
26
+ } from "./index-pwp6zyx3.js";
27
27
  import {
28
28
  OMO_INTERNAL_INITIATOR_MARKER,
29
29
  isSystemDirective,
@@ -39,14 +39,14 @@ import {
39
39
  formatBlock,
40
40
  compactTextForSummary,
41
41
  mergeCommitHashes
42
- } from "./index-my0dn413.js";
42
+ } from "./index-wt7vmyj4.js";
43
43
  import {
44
44
  Database2,
45
45
  prepareCachedStatement2
46
46
  } from "./index-2qtx0q6h.js";
47
47
  import {
48
48
  stableStringify
49
- } from "./index-c474g0gj.js";
49
+ } from "./index-yacs388s.js";
50
50
  import {
51
51
  resolveOpenCodeDbPath,
52
52
  assertOpenCodeStoreGeneration,
@@ -54,7 +54,7 @@ import {
54
54
  recordOpenCodeDbReadFailure,
55
55
  clearOpenCodeDbReadFailure,
56
56
  claimOpenCodeDbDiagnosticOnce
57
- } from "./index-23t8ryqw.js";
57
+ } from "./index-n0zjvs3h.js";
58
58
  import {
59
59
  prewarmRawSessionOrdinalsForDb,
60
60
  readRawSessionMessagesFromDb2,
@@ -71,13 +71,17 @@ import {
71
71
  hasRawSessionMessageByIdFromDb2,
72
72
  readRawSeedTailFromDb2,
73
73
  readRawSessionBoundaryEndpointsFromDb2
74
- } from "./index-6981g1xv.js";
74
+ } from "./index-c1dqxr10.js";
75
+ import {
76
+ markHostUnservedRow,
77
+ isHostUnservedRow
78
+ } from "./index-by1bzjcd.js";
75
79
  import {
76
80
  closeQuietly
77
81
  } from "./index-nrzkqte4.js";
78
82
  import {
79
83
  logSlowWriteTransaction
80
- } from "./index-hqw0rt9k.js";
84
+ } from "./index-0wtm7g7f.js";
81
85
 
82
86
  // ../plugin/src/features/magic-context/overflow-detection.ts
83
87
  var OVERFLOW_PATTERNS = [
@@ -98,6 +102,8 @@ var OVERFLOW_PATTERNS = [
98
102
  /request entity too large/i,
99
103
  /context length is only \d+ tokens/i,
100
104
  /input length.*exceeds.*context length/i,
105
+ /\bContextWindowExceededError\b/i,
106
+ /\bthe input \(\d+ tokens?\) is longer than the model's context length \(\d+ tokens?\)/i,
101
107
  /prompt too long; exceeded (?:max )?context length/i,
102
108
  /too large for model with \d+ maximum context length/i,
103
109
  /model_context_window_exceeded/i,
@@ -120,6 +126,10 @@ var LIMIT_EXTRACTION_PATTERNS = [
120
126
  },
121
127
  { pattern: /context size[^0-9]{0,40}(\d{4,})\s*tokens?/i, provenance: "combined" },
122
128
  { pattern: /exceeds? the context length of (\d+)/i, provenance: "combined" },
129
+ {
130
+ pattern: /\bthe input \(\d+ tokens?\) is longer than the model's context length \((\d+) tokens?\)/i,
131
+ provenance: "combined"
132
+ },
123
133
  {
124
134
  pattern: />\s*(\d+)\s*(?:tokens?\s*)?(?:maximum|max|limit)\b/i,
125
135
  provenance: "prompt_only"
@@ -258,7 +268,9 @@ function parseReportedInputTokens(message) {
258
268
  /input token count\s*\(?\s*(\d+)/i,
259
269
  /input length\s*(\d+)/i,
260
270
  /prompt was\s*(\d+)/i,
261
- /messages resulted in\s*(\d+)\s*tokens?/i
271
+ /messages resulted in\s*(\d+)\s*tokens?/i,
272
+ /\bthe input \((\d+) tokens?\) is longer than the model's context length \(\d+ tokens?\)/i,
273
+ /\(\s*(\d+)\s+in the messages,\s*\d+\s+in the completion\s*\)/i
262
274
  ];
263
275
  for (const pattern of patterns) {
264
276
  const raw = message.match(pattern)?.[1];
@@ -3031,27 +3043,22 @@ function askAnswerLines(text) {
3031
3043
  return extractAskAnswerNotices(text).map(formatAskAnswerNotice);
3032
3044
  }
3033
3045
 
3034
- // ../plugin/src/hooks/magic-context/host-served-rows.ts
3035
- var HOST_UNSERVED_ROW = "hostUnservedRow";
3036
- function markHostUnservedRow(target) {
3037
- Object.defineProperty(target, HOST_UNSERVED_ROW, {
3038
- value: true,
3039
- enumerable: false,
3040
- configurable: true
3046
+ // ../plugin/src/hooks/magic-context/compartment-commit-hashes.ts
3047
+ function rawCommitHashes(value) {
3048
+ if (typeof value === "string") {
3049
+ return Array.from(value.matchAll(/\b[0-9a-f]{7,40}\b/gi), (match) => match[0].toLowerCase());
3050
+ }
3051
+ if (value === null || typeof value !== "object")
3052
+ return [];
3053
+ return Object.values(value).flatMap(rawCommitHashes);
3054
+ }
3055
+ function removeUnsupportedCommitHashes(text, supported) {
3056
+ return text.replace(/`?\b([0-9a-f]{7,40})\b`?/gi, (token, hash) => {
3057
+ const normalized = hash.toLowerCase();
3058
+ if (!/[a-f]/.test(normalized))
3059
+ return token;
3060
+ return Array.from(supported).some((source) => source.startsWith(normalized)) ? token : "";
3041
3061
  });
3042
- return target;
3043
- }
3044
- function isHostUnservedRow(value) {
3045
- return typeof value === "object" && value !== null && value[HOST_UNSERVED_ROW] === true;
3046
- }
3047
- function retreatPastHostUnservedRows(messages, exclusiveEnd, floor) {
3048
- if (!messages.some(isHostUnservedRow))
3049
- return exclusiveEnd;
3050
- const byOrdinal = new Map(messages.map((message) => [message.ordinal, message]));
3051
- let end = exclusiveEnd;
3052
- while (end - 1 >= floor && isHostUnservedRow(byOrdinal.get(end - 1)))
3053
- end -= 1;
3054
- return end;
3055
3062
  }
3056
3063
 
3057
3064
  // ../plugin/src/hooks/magic-context/read-session-true-raw-tokens.ts
@@ -3127,7 +3134,7 @@ function looksImageLike(part) {
3127
3134
  const type = typeof part.type === "string" ? part.type.toLowerCase() : "";
3128
3135
  const mime = typeof part.mime === "string" ? part.mime.toLowerCase() : "";
3129
3136
  const mediaType = typeof part.mediaType === "string" ? part.mediaType.toLowerCase() : "";
3130
- return type.includes("image") || mime.startsWith("image/") || mediaType.startsWith("image/") || part.image_url !== undefined || part.imageUrl !== undefined || part.image !== undefined;
3137
+ return type.includes("image") || mime.startsWith("image/") || mediaType.startsWith("image/") || part.image_url !== undefined || part.imageUrl !== undefined || part.image !== undefined || type.includes("file") && (typeof part.url === "string" && part.url.startsWith("data:image/") || typeof part.data === "string" && /^(?:data:image\/|\/9j\/|iVBORw0KGgo|R0lGOD)/.test(part.data));
3131
3138
  }
3132
3139
  function defaultImageTokenHeuristic(part) {
3133
3140
  if (isRecord(part)) {
@@ -3491,7 +3498,7 @@ function buildTrueRawTokenIndex(sessionId, messages, options) {
3491
3498
  } else {
3492
3499
  const raw = tokenForMessage(message, options);
3493
3500
  const seed = options.calibration;
3494
- total = seed ? (raw.toolInput + raw.toolOutput) * seed.toolsRatio + (raw.text + raw.reasoning + raw.other) * seed.proseRatio + raw.image : raw.total;
3501
+ total = options.measure === "summary-removed" ? raw.text * (seed?.proseRatio ?? 1) + raw.toolInput * (seed?.toolsRatio ?? 1) : seed ? (raw.toolInput + raw.toolOutput) * seed.toolsRatio + (raw.text + raw.reasoning + raw.other) * seed.proseRatio + raw.image : raw.total;
3495
3502
  }
3496
3503
  tokensByOrdinal.set(message.ordinal, total);
3497
3504
  idsByOrdinal.set(message.ordinal, message.id);
@@ -4282,6 +4289,13 @@ function resolveHostServedBoundaryId2(sessionId, messageId) {
4282
4289
  function hasRawMessageProvider2(sessionId) {
4283
4290
  return sessionProviders.has(sessionId);
4284
4291
  }
4292
+ function rawMessageWorkerSource2(sessionId) {
4293
+ return sessionProviders.get(sessionId)?.provider.workerSource;
4294
+ }
4295
+ function rawMessageOffThreadRangeReader2(sessionId) {
4296
+ const provider = sessionProviders.get(sessionId)?.provider;
4297
+ return provider?.readMessageIdOrdinalsForRangeOffThread?.bind(provider);
4298
+ }
4285
4299
  function setRawMessageProvider2(sessionId, provider) {
4286
4300
  const current = sessionProviders.get(sessionId);
4287
4301
  const registration = current?.provider === provider ? current : { provider, scopes: 0 };
@@ -5068,7 +5082,12 @@ function readSessionChunk2(sessionId, tokenBudget, offset = 1, eligibleEndOrdina
5068
5082
  }
5069
5083
  if (msg.ordinal < startOrdinal)
5070
5084
  continue;
5071
- const meta = { ordinal: msg.ordinal, messageId: msg.id };
5085
+ const commitHashes = rawCommitHashes(msg.parts);
5086
+ const meta = {
5087
+ ordinal: msg.ordinal,
5088
+ messageId: msg.id
5089
+ };
5090
+ Object.defineProperty(meta, "commitHashes", { value: commitHashes });
5072
5091
  if (isHostUnservedRow(msg))
5073
5092
  markHostUnservedRow(meta);
5074
5093
  if (msg.role === "system") {
@@ -5246,4 +5265,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
5246
5265
  });
5247
5266
  }
5248
5267
 
5249
- export { detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, rowWindowMass, computeProtectionWindow, readEpochFloorSnapshot, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, isRustMarkerAdmissionFenced, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, EMERGENCY_DRAIN_FAILURE_BACKOFF_MS, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, recordOverflowDetected, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, getCompactionMarkerPublicationState, compareAndSetCompactionMarkerPublicationState, getDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, COMPACTION_OFF_THINKING_FROZEN_PREFIX, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, setPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingPiMarker, setSessionWorkMetrics, getSessionWorkMetrics, resolveEpochFloorForPass, withReadOnlySessionDb, expandToolPart, askAnswerLines, retreatPastHostUnservedRows, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isFilePart, hasUserAnswerMetadata, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, TOKEN_BUDGET_TOOL_REFUSAL, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, droppedInputMarker, createDroppedInputGuard, isEditTool, applyEditMarkerToInput, modelAcceptsEmptyContent, isAnthropicFamilyRoute, variantChangeBustsProviderCache, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, isMarkerOnlyText, findLatestAssistantReasoningMutationExemptMessage, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opaqueThinkingCost, estimatePartImageTokens, SKELETON_REAL_INPUT_MAX_BYTES, toolInputStringBytes, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, resolveHistorianChunkStart2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
5268
+ export { detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, MAX_EXECUTE_THRESHOLD, escalationBands, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, rowWindowMass, computeProtectionWindow, readEpochFloorSnapshot, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, isRustMarkerAdmissionFenced, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, EMERGENCY_DRAIN_FAILURE_BACKOFF_MS, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, recordOverflowDetected, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, getCompactionMarkerPublicationState, compareAndSetCompactionMarkerPublicationState, getDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, COMPACTION_OFF_THINKING_FROZEN_PREFIX, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, setPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingPiMarker, setSessionWorkMetrics, getSessionWorkMetrics, resolveEpochFloorForPass, withReadOnlySessionDb, expandToolPart, askAnswerLines, removeUnsupportedCommitHashes, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isFilePart, hasUserAnswerMetadata, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, TOKEN_BUDGET_TOOL_REFUSAL, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, droppedInputMarker, createDroppedInputGuard, isEditTool, applyEditMarkerToInput, modelAcceptsEmptyContent, isAnthropicFamilyRoute, variantChangeBustsProviderCache, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, isMarkerOnlyText, findLatestAssistantReasoningMutationExemptMessage, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opaqueThinkingCost, estimatePartImageTokens, SKELETON_REAL_INPUT_MAX_BYTES, toolInputStringBytes, resolveHostServedBoundaryId2, hasRawMessageProvider2, rawMessageWorkerSource2, rawMessageOffThreadRangeReader2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, resolveHistorianChunkStart2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
@@ -1,48 +1,3 @@
1
- // ../plugin/src/shared/bounded-session-map.ts
2
- class BoundedSessionMap {
3
- maxEntries;
4
- store = new Map;
5
- constructor(maxEntries) {
6
- if (!Number.isFinite(maxEntries) || maxEntries < 1) {
7
- throw new Error(`BoundedSessionMap: maxEntries must be >= 1, got ${maxEntries}`);
8
- }
9
- this.maxEntries = maxEntries;
10
- }
11
- get(sessionId) {
12
- const value = this.store.get(sessionId);
13
- if (value === undefined)
14
- return;
15
- this.store.delete(sessionId);
16
- this.store.set(sessionId, value);
17
- return value;
18
- }
19
- peek(sessionId) {
20
- return this.store.get(sessionId);
21
- }
22
- has(sessionId) {
23
- return this.store.has(sessionId);
24
- }
25
- set(sessionId, value) {
26
- if (this.store.has(sessionId)) {
27
- this.store.delete(sessionId);
28
- } else if (this.store.size >= this.maxEntries) {
29
- const oldest = this.store.keys().next().value;
30
- if (oldest !== undefined)
31
- this.store.delete(oldest);
32
- }
33
- this.store.set(sessionId, value);
34
- }
35
- delete(sessionId) {
36
- return this.store.delete(sessionId);
37
- }
38
- clear() {
39
- this.store.clear();
40
- }
41
- get size() {
42
- return this.store.size;
43
- }
44
- }
45
-
46
1
  // ../plugin/src/shared/opencode-db-path.ts
47
2
  import { existsSync, readdirSync, statSync } from "node:fs";
48
3
  import { homedir } from "node:os";
@@ -220,126 +175,4 @@ function claimOpenCodeDbDiagnosticOnce(surface, resolution) {
220
175
  return true;
221
176
  }
222
177
 
223
- // ../plugin/src/features/magic-context/tool-definition-tokens.ts
224
- var ACTIVITY_WINDOW_MS = 10 * 60000;
225
- var MAX_ACTIVITY_GAP_MS = 60000;
226
- var WINDOWED_SINCE_KEY = "tool_definition_measurements:windowed_since";
227
- var routes = new Map;
228
- var sessionFlights = new BoundedSessionMap(1000);
229
- var persistenceDb = null;
230
- var windowedSince;
231
- var boundAt = 0;
232
- var cachedInsertStmt = null;
233
- var cachedDeleteStmt = null;
234
- function agentKey(agentName) {
235
- return agentName && agentName.length > 0 ? agentName : "default";
236
- }
237
- function keyFor(providerID, modelID, agentName) {
238
- return `${providerID}/${modelID}/${agentKey(agentName)}`;
239
- }
240
- function routeFor(providerID, modelID, agentName) {
241
- const key = keyFor(providerID, modelID, agentName);
242
- let route = routes.get(key);
243
- if (!route) {
244
- route = {
245
- providerID,
246
- modelID,
247
- agentName: agentKey(agentName),
248
- tools: new Map,
249
- live: false,
250
- clock: 0,
251
- lastWallAt: Date.now(),
252
- oldestFireAt: Number.POSITIVE_INFINITY,
253
- retired: new Map,
254
- legacyRows: new Set
255
- };
256
- routes.set(key, route);
257
- }
258
- return { key, route };
259
- }
260
- function advanceClock(route) {
261
- const now = Date.now();
262
- const gap = Math.min(Math.max(now - route.lastWallAt, 0), MAX_ACTIVITY_GAP_MS);
263
- route.clock += gap;
264
- route.lastWallAt = Math.max(route.lastWallAt, now);
265
- return route.clock;
266
- }
267
- function readWindowedSince(db) {
268
- try {
269
- const row = db.prepare("SELECT value FROM schema_migrations_meta WHERE key = ?").get(WINDOWED_SINCE_KEY);
270
- if (!row)
271
- return;
272
- const value = Number(row.value);
273
- return Number.isFinite(value) ? value : undefined;
274
- } catch {
275
- return;
276
- }
277
- }
278
- function markWindowed() {
279
- if (windowedSince !== undefined || !persistenceDb)
280
- return;
281
- try {
282
- persistenceDb.prepare("INSERT OR IGNORE INTO schema_migrations_meta (key, value) VALUES (?, ?)").run(WINDOWED_SINCE_KEY, String(boundAt));
283
- windowedSince = readWindowedSince(persistenceDb);
284
- } catch {}
285
- }
286
- function setDatabase(db) {
287
- const rebound = persistenceDb !== null && persistenceDb !== db;
288
- persistenceDb = db;
289
- boundAt = Date.now();
290
- cachedInsertStmt = null;
291
- cachedDeleteStmt = null;
292
- if (rebound) {
293
- for (const route of routes.values()) {
294
- for (const slot of route.tools.values()) {
295
- slot.persisted = false;
296
- slot.writeFailedAt = undefined;
297
- }
298
- for (const retired of route.retired.values())
299
- retired.rowKept = false;
300
- route.legacyRows.clear();
301
- }
302
- }
303
- windowedSince = readWindowedSince(db);
304
- if (windowedSince !== undefined)
305
- return;
306
- try {
307
- if (!db.prepare("SELECT 1 FROM tool_definition_measurements LIMIT 1").get())
308
- markWindowed();
309
- } catch {}
310
- }
311
- function loadToolDefinitionMeasurements(db) {
312
- let rows = [];
313
- try {
314
- rows = db.prepare("SELECT provider_id, model_id, agent_name, tool_id, token_count, recorded_at FROM tool_definition_measurements").all();
315
- } catch {
316
- return;
317
- }
318
- const since = readWindowedSince(db);
319
- const loadedAt = new Map;
320
- for (const row of rows) {
321
- const { route } = routeFor(row.provider_id, row.model_id, row.agent_name);
322
- if (route.live)
323
- continue;
324
- let now = loadedAt.get(route);
325
- if (now === undefined) {
326
- now = advanceClock(route);
327
- loadedAt.set(route, now);
328
- }
329
- const legacy = since === undefined || !(Number(row.recorded_at) >= since);
330
- route.tools.set(row.tool_id, {
331
- tokens: row.token_count,
332
- fingerprint: undefined,
333
- lastFireAt: now,
334
- legacy,
335
- persisted: !legacy
336
- });
337
- route.oldestFireAt = Math.min(route.oldestFireAt, now);
338
- if (legacy)
339
- route.legacyRows.add(row.tool_id);
340
- else
341
- route.legacyRows.delete(row.tool_id);
342
- }
343
- }
344
-
345
- export { BoundedSessionMap, resolveOpenCodeDbPath, hasV1MessageTables, assertOpenCodeStoreGeneration, openCodeDbPathExists, getOpenCodeDbProbeDescriptions, recordOpenCodeDbReadFailure, clearOpenCodeDbReadFailure, claimOpenCodeDbDiagnosticOnce, setDatabase, loadToolDefinitionMeasurements };
178
+ export { resolveOpenCodeDbPath, hasV1MessageTables, assertOpenCodeStoreGeneration, openCodeDbPathExists, getOpenCodeDbProbeDescriptions, recordOpenCodeDbReadFailure, clearOpenCodeDbReadFailure, claimOpenCodeDbDiagnosticOnce };
@@ -0,0 +1,58 @@
1
+ // ../plugin/src/shared/reusable-worker-entry.ts
2
+ import { EventEmitter } from "node:events";
3
+ import { parentPort, workerData } from "node:worker_threads";
4
+ function serveWorkerJobs(run, autoClose = true) {
5
+ if (!parentPort)
6
+ throw new Error("worker requires a parent port");
7
+ const parent = parentPort;
8
+ if (!workerData?.reusableWorker) {
9
+ Promise.resolve(run(workerData, parent)).catch(rethrow);
10
+ return;
11
+ }
12
+ let active;
13
+ parent.on("message", (message) => {
14
+ if (!("start" in message)) {
15
+ if (active?.id === message.jobId)
16
+ active.port.emit("message", message.value);
17
+ return;
18
+ }
19
+ if (active)
20
+ throw new Error("reusable worker received overlapping jobs");
21
+ const id = message.jobId;
22
+ let closed = false;
23
+ const port = Object.assign(new EventEmitter, {
24
+ postMessage(value, transferList) {
25
+ if (!closed)
26
+ parent.postMessage({ jobId: id, value }, transferList);
27
+ },
28
+ close() {
29
+ if (closed)
30
+ return;
31
+ closed = true;
32
+ port.removeAllListeners();
33
+ active = undefined;
34
+ parent.postMessage({
35
+ jobId: id,
36
+ finished: true,
37
+ code: Number(process.exitCode) || 0
38
+ });
39
+ }
40
+ });
41
+ active = { id, port };
42
+ try {
43
+ Promise.resolve(run(message.start, port)).then(() => {
44
+ if (autoClose)
45
+ port.close();
46
+ }).catch(rethrow);
47
+ } catch (error) {
48
+ rethrow(error);
49
+ }
50
+ });
51
+ }
52
+ function rethrow(error) {
53
+ setTimeout(() => {
54
+ throw error;
55
+ });
56
+ }
57
+
58
+ export { serveWorkerJobs };