@cortexkit/opencode-magic-context 0.22.5 → 0.23.1

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 (160) hide show
  1. package/dist/agents/magic-context-prompt.d.ts +1 -1
  2. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  3. package/dist/agents/permissions.d.ts +4 -4
  4. package/dist/agents/permissions.d.ts.map +1 -1
  5. package/dist/config/project-security.d.ts +5 -0
  6. package/dist/config/project-security.d.ts.map +1 -1
  7. package/dist/config/schema/magic-context.d.ts +0 -13
  8. package/dist/config/schema/magic-context.d.ts.map +1 -1
  9. package/dist/features/magic-context/dreamer/task-prompts.d.ts +1 -1
  10. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  11. package/dist/features/magic-context/memory/constants.d.ts +7 -0
  12. package/dist/features/magic-context/memory/constants.d.ts.map +1 -1
  13. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  14. package/dist/features/magic-context/storage-db.d.ts +1 -1
  15. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  16. package/dist/features/magic-context/storage-meta-persisted.d.ts +83 -15
  17. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  18. package/dist/features/magic-context/storage-meta-shared.d.ts +9 -2
  19. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  20. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  21. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  22. package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
  23. package/dist/features/magic-context/storage-tags.d.ts +118 -1
  24. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  25. package/dist/features/magic-context/storage.d.ts +2 -2
  26. package/dist/features/magic-context/storage.d.ts.map +1 -1
  27. package/dist/features/magic-context/tagger.d.ts +12 -2
  28. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  29. package/dist/features/magic-context/tool-definition-tokens.d.ts +0 -21
  30. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
  31. package/dist/features/magic-context/tool-owner-backfill.d.ts +2 -1
  32. package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
  33. package/dist/features/magic-context/types.d.ts +8 -0
  34. package/dist/features/magic-context/types.d.ts.map +1 -1
  35. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  36. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  37. package/dist/hooks/magic-context/channel2-delivery.d.ts +22 -0
  38. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -0
  39. package/dist/hooks/magic-context/command-handler.d.ts +0 -1
  40. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  41. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  42. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  43. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  44. package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -0
  45. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  46. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
  47. package/dist/hooks/magic-context/compartment-trigger.d.ts +47 -2
  48. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  49. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +18 -0
  50. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -0
  51. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +117 -0
  52. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -0
  53. package/dist/hooks/magic-context/emergency-drop.d.ts +86 -0
  54. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -0
  55. package/dist/hooks/magic-context/event-handler.d.ts +6 -4
  56. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/execute-flush.d.ts.map +1 -1
  58. package/dist/hooks/magic-context/execute-status.d.ts +1 -1
  59. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  60. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +10 -3
  61. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  62. package/dist/hooks/magic-context/hook-handlers.d.ts +3 -9
  63. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  64. package/dist/hooks/magic-context/hook.d.ts +3 -5
  65. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  66. package/dist/hooks/magic-context/inject-compartments.d.ts +0 -2
  67. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts +8 -0
  69. package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts.map +1 -0
  70. package/dist/hooks/magic-context/note-visibility.d.ts +1 -1
  71. package/dist/hooks/magic-context/openai-compat-adjacency.d.ts +38 -0
  72. package/dist/hooks/magic-context/openai-compat-adjacency.d.ts.map +1 -0
  73. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +132 -0
  74. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -0
  75. package/dist/hooks/magic-context/read-session-chunk.d.ts +55 -0
  76. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  77. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/read-session-raw.d.ts +91 -0
  79. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +70 -0
  81. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -0
  82. package/dist/hooks/magic-context/send-session-notification.d.ts +2 -1
  83. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  84. package/dist/hooks/magic-context/system-prompt-hash.d.ts +0 -1
  85. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/tag-messages.d.ts +3 -0
  87. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  88. package/dist/hooks/magic-context/todo-view.d.ts +1 -1
  89. package/dist/hooks/magic-context/tool-drop-target.d.ts +9 -0
  90. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +15 -0
  92. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +7 -10
  94. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/transform.d.ts +14 -17
  96. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/upgrade-reminder.d.ts +2 -1
  98. package/dist/hooks/magic-context/upgrade-reminder.d.ts.map +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +5215 -1140
  101. package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
  102. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
  103. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  104. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  105. package/dist/plugin/tool-registry.d.ts.map +1 -1
  106. package/dist/shared/announcement.d.ts +4 -6
  107. package/dist/shared/announcement.d.ts.map +1 -1
  108. package/dist/shared/live-server-client.d.ts +50 -0
  109. package/dist/shared/live-server-client.d.ts.map +1 -0
  110. package/dist/shared/prompt-context.d.ts +31 -0
  111. package/dist/shared/prompt-context.d.ts.map +1 -0
  112. package/dist/shared/rpc-types.d.ts +0 -3
  113. package/dist/shared/rpc-types.d.ts.map +1 -1
  114. package/dist/shared/safe-notification-target.d.ts +23 -0
  115. package/dist/shared/safe-notification-target.d.ts.map +1 -0
  116. package/dist/shared/tag-transcript.d.ts.map +1 -1
  117. package/dist/shared/transcript-opencode.d.ts.map +1 -1
  118. package/dist/shared/transcript.d.ts +15 -1
  119. package/dist/shared/transcript.d.ts.map +1 -1
  120. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  121. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  122. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  123. package/dist/tools/ctx-memory/constants.d.ts +1 -1
  124. package/dist/tools/ctx-memory/constants.d.ts.map +1 -1
  125. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  126. package/dist/tools/ctx-memory/types.d.ts +7 -3
  127. package/dist/tools/ctx-memory/types.d.ts.map +1 -1
  128. package/dist/tools/ctx-note/constants.d.ts +1 -1
  129. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  130. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  131. package/dist/tools/ctx-note/types.d.ts +4 -0
  132. package/dist/tools/ctx-note/types.d.ts.map +1 -1
  133. package/dist/tools/ctx-search/constants.d.ts +1 -1
  134. package/dist/tools/ctx-search/constants.d.ts.map +1 -1
  135. package/dist/tui/data/context-db.d.ts.map +1 -1
  136. package/package.json +2 -1
  137. package/src/shared/announcement.test.ts +18 -0
  138. package/src/shared/announcement.ts +35 -20
  139. package/src/shared/live-server-client.ts +152 -0
  140. package/src/shared/prompt-context.ts +135 -0
  141. package/src/shared/rpc-types.ts +0 -3
  142. package/src/shared/safe-notification-target.test.ts +97 -0
  143. package/src/shared/safe-notification-target.ts +102 -0
  144. package/src/shared/tag-transcript.test.ts +34 -8
  145. package/src/shared/tag-transcript.ts +110 -8
  146. package/src/shared/transcript-opencode.ts +15 -5
  147. package/src/shared/transcript.ts +20 -2
  148. package/src/tui/data/context-db.ts +0 -3
  149. package/src/tui/index.tsx +2 -5
  150. package/src/tui/slots/sidebar-content.tsx +1 -26
  151. package/dist/hooks/magic-context/apply-context-nudge.d.ts +0 -5
  152. package/dist/hooks/magic-context/apply-context-nudge.d.ts.map +0 -1
  153. package/dist/hooks/magic-context/nudge-bands.d.ts +0 -6
  154. package/dist/hooks/magic-context/nudge-bands.d.ts.map +0 -1
  155. package/dist/hooks/magic-context/nudge-injection.d.ts +0 -7
  156. package/dist/hooks/magic-context/nudge-injection.d.ts.map +0 -1
  157. package/dist/hooks/magic-context/nudge-placement-store.d.ts +0 -15
  158. package/dist/hooks/magic-context/nudge-placement-store.d.ts.map +0 -1
  159. package/dist/hooks/magic-context/nudger.d.ts +0 -21
  160. package/dist/hooks/magic-context/nudger.d.ts.map +0 -1
@@ -0,0 +1,86 @@
1
+ /** Reclaim target = fixedFloor + TARGET_FRACTION × (ceiling − fixedFloor). */
2
+ export declare const TARGET_FRACTION = 0.3;
3
+ /** Keep the newest `ceil(RESERVE × tierCount)` of T1/T2 as continuation context. */
4
+ export declare const TIER_RECENCY_RESERVE = 0.2;
5
+ /**
6
+ * Don't bust the cache for a trivial reclaim. If the computed reclaim is at or
7
+ * below this, the pass is a no-op (combined with the watermark, this prevents
8
+ * 85%-94.9% oscillation).
9
+ */
10
+ export declare const EMERGENCY_REARM_MIN_TOKENS = 2000;
11
+ export type Tier = 1 | 2 | 3;
12
+ /**
13
+ * Classify a tool into its drop tier. T1 (keep longest) = navigation/structure
14
+ * the agent re-uses; T2 (medium) = edit-class continuation context; T3 (drop
15
+ * first) = everything else (the default — bash, ctx_reduce, inspect, web, …).
16
+ */
17
+ export declare function resolveToolTier(toolName: string | null): Tier;
18
+ /** Minimal tag shape the planner needs (subset of TagEntry, harness-agnostic). */
19
+ export interface EmergencyDropTag {
20
+ tagNumber: number;
21
+ type: "message" | "tool" | "file";
22
+ status: "active" | "dropped" | "compacted";
23
+ toolName: string | null;
24
+ byteSize: number;
25
+ /** Tool-arg bytes — `drop()` removes the invocation too, so these reclaim. */
26
+ inputByteSize: number;
27
+ reasoningByteSize: number;
28
+ }
29
+ export interface EmergencyDropPlan {
30
+ /** Whether the caller should perform any drop this pass. */
31
+ shouldDrop: boolean;
32
+ /** Tool tag numbers to drop, in eviction order (T3→T2→T1, oldest-first). */
33
+ tagNumbers: number[];
34
+ /** Reclaim target in tokens (for logging). */
35
+ reclaimTokens: number;
36
+ /** Human-readable reason (no-op explanation or drop summary), for logs. */
37
+ reason: string;
38
+ }
39
+ /**
40
+ * Plan a tiered target-headroom emergency drop. Pure: returns the ordered set of
41
+ * tool tag numbers to drop plus the new watermark; the caller applies them.
42
+ *
43
+ * fixedFloor is derived as `currentTotalInputTokens − Σ(active floor-tag tokens)`.
44
+ * Tags cover exactly the live-tail content (messages, tool outputs, files,
45
+ * reasoning); system, tool defs, and m[0]/m[1] are untagged. So this difference
46
+ * IS `system + toolDefs + (primary ? m0 + m1 : 0)` — the irreducible prefix —
47
+ * with no extra plumbing, and it self-adjusts for subagents (no m0/m1 in their
48
+ * total) by construction.
49
+ *
50
+ * The two tag sets serve DIFFERENT contracts and must not be conflated:
51
+ * - `floorTags`: the ENTIRE active live-window tag set (all types, including
52
+ * non-droppable tool tags). Only their token sum matters — it makes
53
+ * `fixedFloor` the true irreducible prefix. Passing a narrower set (e.g.
54
+ * tool-only) folds real conversation/reasoning tail into the "floor",
55
+ * raising the target and systematically under-evicting at ≥85%.
56
+ * - `tags`: the evictable candidates — active tool tags whose drop target
57
+ * would actually reclaim bytes (caller pre-filters on `canDrop()` so no
58
+ * phantom tag is counted as reclaimed).
59
+ */
60
+ export declare function planEmergencyDrop(input: {
61
+ /** Evictable candidates: active tool tags with a working drop target. */
62
+ tags: readonly EmergencyDropTag[];
63
+ /**
64
+ * FULL active live-window tag set (all types) — floor accounting only.
65
+ * See the fixedFloor contract above.
66
+ */
67
+ floorTags: readonly EmergencyDropTag[];
68
+ maxTag: number;
69
+ protectedTags: number;
70
+ currentTotalInputTokens: number;
71
+ /** ceiling = contextLimit × executeThreshold%. */
72
+ ceilingTokens: number;
73
+ /**
74
+ * last_emergency_input_sample — the `currentTotalInputTokens` reading at the
75
+ * previous emergency drop (0 if never dropped). The SOLE idempotence latch:
76
+ * see the same-sample no-op below. (There is deliberately no tag-number
77
+ * watermark — a scalar "dropped-through" cursor wrongly excludes still-active
78
+ * lower-numbered tags after a non-contiguous tier-ordered drop. Dropped tags
79
+ * leave the `status='active'` set, so they're never re-selected; the sample
80
+ * latch is what prevents over-dropping the rest of the tail on a stale pass.)
81
+ */
82
+ priorInputSample: number;
83
+ /** True once any emergency drop has happened (drives the latch + log). */
84
+ hasPriorDrop: boolean;
85
+ }): EmergencyDropPlan;
86
+ //# sourceMappingURL=emergency-drop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emergency-drop.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/emergency-drop.ts"],"names":[],"mappings":"AAqBA,8EAA8E;AAC9E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAiB7B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAK7D;AAED,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAaD,MAAM,WAAW,iBAAiB;IAC9B,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACrC,yEAAyE;IACzE,IAAI,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClC;;;OAGG;IACH,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,YAAY,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAuHpB"}
@@ -2,7 +2,6 @@ import type { createCompactionHandler } from "../../features/magic-context/compa
2
2
  import type { Tagger } from "../../features/magic-context/tagger";
3
3
  import type { ContextUsage } from "../../features/magic-context/types";
4
4
  import { type NotificationParams } from "./send-session-notification";
5
- import { type NudgePlacementStore } from "./transform";
6
5
  type CacheTtlConfig = string | Record<string, string>;
7
6
  interface ContextUsageEntry {
8
7
  usage: ContextUsage;
@@ -12,13 +11,10 @@ interface ContextUsageEntry {
12
11
  export interface EventHandlerDeps {
13
12
  contextUsageMap: Map<string, ContextUsageEntry>;
14
13
  compactionHandler: ReturnType<typeof createCompactionHandler>;
15
- nudgePlacements: NudgePlacementStore;
16
14
  onSessionCacheInvalidated?: (sessionId: string) => void;
17
15
  onSessionDeleted?: (sessionId: string) => void;
18
16
  config: {
19
17
  protected_tags: number;
20
- auto_drop_tool_age?: number;
21
- drop_tool_structure?: boolean;
22
18
  clear_reasoning_age?: number;
23
19
  execute_threshold_percentage?: number | {
24
20
  default: number;
@@ -37,6 +33,12 @@ export interface EventHandlerDeps {
37
33
  tagger: Tagger;
38
34
  db: import("../../shared/sqlite").Database;
39
35
  client?: unknown;
36
+ /** Live HTTP listener URL — Channel 2 ceiling nudge delivery (#28202 workaround). */
37
+ serverUrl?: string;
38
+ /** Project directory — passed to the live-server client for Channel 2. */
39
+ directory?: string;
40
+ /** Channel 1 per-session metric baseline; read for the Channel 2 ceiling-nudge wording. */
41
+ channel1StateBySession?: Map<string, import("./ctx-reduce-nudge").Channel1State>;
40
42
  getNotificationParams?: (sessionId: string) => NotificationParams;
41
43
  /**
42
44
  * Process-scoped set of Magic Context's own hidden child sessions, keyed by
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AA6BvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAsBvE,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKhF,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAOD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,eAAe,EAAE,mBAAmB,CAAC;IACrC,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IAIf,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvC;AA2HD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CA2ezF"}
1
+ {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAyBvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,oCAAoC,CAAC;AAqBpF,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAM1F,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IAIf,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvC;AAoID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAsezF"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-flush.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-flush.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA8BpE"}
1
+ {"version":3,"file":"execute-flush.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-flush.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0BpE"}
@@ -1,5 +1,5 @@
1
1
  import type { Database } from "../../shared/sqlite";
2
- export declare function executeStatus(db: Database, sessionId: string, protectedTags: number, nudgeIntervalTokens?: number, executeThresholdPercentageConfig?: number | {
2
+ export declare function executeStatus(db: Database, sessionId: string, protectedTags: number, executeThresholdPercentageConfig?: number | {
3
3
  default: number;
4
4
  [modelKey: string]: number;
5
5
  }, liveModelKey?: string, historyBudgetPercentage?: number, commitClusterTrigger?: {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-status.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-status.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA8BpD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,mBAAmB,GAAE,MAAsC,EAC3D,gCAAgC,GAC1B,MAAM,GACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAyC,EAC5F,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,MAAM,EAChC,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,sBAAsB,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACrF,YAAY,CAAC,EAAE,MAAM,GACtB,MAAM,CA6JR"}
1
+ {"version":3,"file":"execute-status.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-status.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAyBpD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gCAAgC,GAC1B,MAAM,GACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAyC,EAC5F,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,MAAM,EAChC,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,sBAAsB,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACrF,YAAY,CAAC,EAAE,MAAM,GACtB,MAAM,CAmJR"}
@@ -3,10 +3,17 @@ import type { TagEntry } from "../../features/magic-context/types";
3
3
  import { type CavemanCleanupConfig } from "./caveman-cleanup";
4
4
  import type { MessageLike, TagTarget } from "./tag-messages";
5
5
  export declare function applyHeuristicCleanup(sessionId: string, db: ContextDatabase, targets: Map<number, TagTarget>, messageTagNumbers: Map<MessageLike, number>, config: {
6
- autoDropToolAge: number;
7
- dropToolStructure: boolean;
8
6
  protectedTags: number;
9
- dropAllTools?: boolean;
7
+ /**
8
+ * Tiered target-headroom emergency drop. Provided only on the ≥85%
9
+ * force-materialize (cache-busting) pass; undefined on routine execute
10
+ * passes (Phase 2 removed routine age-based tool drops entirely). When
11
+ * present, the emergency drop runs before dedup/injection-strip.
12
+ */
13
+ emergency?: {
14
+ currentTotalInputTokens: number;
15
+ ceilingTokens: number;
16
+ };
10
17
  /**
11
18
  * Age-tier caveman text compression settings. Only honored when the
12
19
  * session is running with ctx_reduce_enabled=false — caller is
@@ -1 +1 @@
1
- {"version":3,"file":"heuristic-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/heuristic-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAQ5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe7D,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,EAC3C,MAAM,EAAE;IACJ,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC,EACD,aAAa,CAAC,EAAE,QAAQ,EAAE,GAC3B;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC9B,CA8KA"}
1
+ {"version":3,"file":"heuristic-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/heuristic-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAY5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe7D,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,EAC3C,MAAM,EAAE;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QACR,uBAAuB,EAAE,MAAM,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC,EACD,aAAa,CAAC,EAAE,QAAQ,EAAE,GAC3B;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC9B,CAwMA"}
@@ -1,13 +1,12 @@
1
1
  import { getOrCreateSessionMeta } from "../../features/magic-context/storage-meta";
2
2
  import type { PluginContext } from "../../plugin/types";
3
+ import { type Channel1State } from "./ctx-reduce-nudge";
3
4
  export type LiveModelBySession = Map<string, {
4
5
  providerID: string;
5
6
  modelID: string;
6
7
  }>;
7
8
  export type VariantBySession = Map<string, string | undefined>;
8
9
  export type AgentBySession = Map<string, string>;
9
- export type RecentReduceBySession = Map<string, number>;
10
- export type ToolUsageSinceUserTurn = Map<string, number>;
11
10
  /**
12
11
  * Cache-busting signal sets — replaces the old monolithic `flushedSessions`.
13
12
  *
@@ -84,8 +83,6 @@ export declare function getLiveNotificationParams(sessionId: string, liveModelBy
84
83
  };
85
84
  export declare function createChatMessageHook(args: {
86
85
  db: Parameters<typeof getOrCreateSessionMeta>[0];
87
- toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
88
- recentReduceBySession: RecentReduceBySession;
89
86
  liveModelBySession: LiveModelBySession;
90
87
  variantBySession: VariantBySession;
91
88
  agentBySession: AgentBySession;
@@ -133,8 +130,6 @@ export declare function createEventHook(args: {
133
130
  * for the full doc-comment.
134
131
  */
135
132
  sessionDirectoryBySession: Map<string, string>;
136
- recentReduceBySession: RecentReduceBySession;
137
- toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
138
133
  /** All signal sets are cleaned on `session.deleted` to prevent leaks. */
139
134
  historyRefreshSessions: HistoryRefreshSessions;
140
135
  deferredHistoryRefreshSessions: DeferredHistoryRefreshSessions;
@@ -162,7 +157,6 @@ export declare function createCommandExecuteBeforeHook(commandHandler: {
162
157
  }): (input: unknown, output: unknown) => Promise<unknown>;
163
158
  export declare function createToolExecuteAfterHook(args: {
164
159
  db: Parameters<typeof getOrCreateSessionMeta>[0];
165
- recentReduceBySession: RecentReduceBySession;
166
- toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
167
- }): (input: unknown) => Promise<void>;
160
+ channel1StateBySession: Map<string, Channel1State>;
161
+ }): (input: unknown, output?: unknown) => Promise<void>;
168
162
  //# sourceMappingURL=hook-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import type { LiveSessionState } from "./live-session-state";
8
8
  export interface MagicContextDeps {
9
9
  client: PluginContext["client"];
10
10
  directory: string;
11
+ /** Live HTTP listener URL for the Channel 2 ceiling nudge (#28202 workaround). */
12
+ serverUrl?: string;
11
13
  tagger: Tagger;
12
14
  scheduler: Scheduler;
13
15
  onSessionCacheInvalidated?: (sessionId: string) => void;
@@ -16,11 +18,7 @@ export interface MagicContextDeps {
16
18
  config: {
17
19
  protected_tags: number;
18
20
  ctx_reduce_enabled?: boolean;
19
- nudge_interval_tokens?: number;
20
- auto_drop_tool_age?: number;
21
- drop_tool_structure?: boolean;
22
21
  clear_reasoning_age?: number;
23
- iteration_nudge_threshold?: number;
24
22
  execute_threshold_percentage?: number | {
25
23
  default: number;
26
24
  [modelKey: string]: number;
@@ -101,6 +99,6 @@ export declare function createMagicContextHook(deps: MagicContextDeps): {
101
99
  };
102
100
  }) => Promise<void>;
103
101
  "command.execute.before": (input: unknown, output: unknown) => Promise<unknown>;
104
- "tool.execute.after": (input: unknown) => Promise<void>;
102
+ "tool.execute.after": (input: unknown, output?: unknown) => Promise<void>;
105
103
  } | null;
106
104
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,6 @@ export interface M0SnapshotMarkers {
65
65
  sessionFactsVersion: number;
66
66
  upgradeState: string | null;
67
67
  systemHash: string;
68
- toolSetHash: string;
69
68
  modelKey: string;
70
69
  }
71
70
  /**
@@ -76,7 +75,6 @@ export interface M0SnapshotMarkers {
76
75
  */
77
76
  export interface M0HardSignals {
78
77
  systemHash: string;
79
- toolSetHash: string;
80
78
  modelKey: string;
81
79
  /** True when the provider cache TTL has elapsed since lastResponseTime. */
82
80
  cacheExpired: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Captured openai-compat wire fixtures from issue #135 pinning harness.
3
+ * Source: scripts/experiments/issue-135-pinning-harness.ts (case 1c).
4
+ */
5
+ import type { OpenAiCompatWireMessage } from "./openai-compat-adjacency";
6
+ /** Known FAIL: [dropped] assistant between tool_calls and tool result. */
7
+ export declare const ISSUE_135_ORPHAN_WIRE: OpenAiCompatWireMessage[];
8
+ //# sourceMappingURL=issue-135-wire-fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-135-wire-fixtures.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/issue-135-wire-fixtures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,EAe1D,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * transform pipeline (i.e. inside `runPostTransformPhase`, not inside
9
9
  * `tagMessages`). By that point:
10
10
  * - queued user `ctx_reduce` ops have been applied
11
- * - heuristic cleanup (auto_drop_tool_age, clear_reasoning_age) ran
11
+ * - heuristic cleanup (emergency tiered drop, clear_reasoning_age) ran
12
12
  * - sentinel/replay logic neutralized previously-stripped parts
13
13
  * So if a `ctx_note` read is still a real, non-sentinel part in the
14
14
  * messages array we're about to send, the agent will actually see it.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * OpenAI-compatible chat adjacency invariant used by GitHub Copilot's wire format.
3
+ *
4
+ * Every assistant message with `tool_calls` must be immediately followed by
5
+ * `role: "tool"` messages whose `tool_call_id` values cover exactly the ids
6
+ * declared on that assistant message (order among tool messages may vary).
7
+ *
8
+ * Copilot re-translates this shape to Bedrock/Claude server-side; violating
9
+ * adjacency here reproduces issue #135 (`tool_use` without adjacent `tool_result`).
10
+ */
11
+ export type OpenAiCompatWireMessage = {
12
+ role: string;
13
+ content?: string | null | unknown;
14
+ tool_calls?: Array<{
15
+ id: string;
16
+ type?: string;
17
+ function?: {
18
+ name: string;
19
+ arguments: string;
20
+ };
21
+ }>;
22
+ tool_call_id?: string;
23
+ };
24
+ export type AdjacencyViolation = {
25
+ index: number;
26
+ kind: "missing_tool_messages" | "orphan_tool_message" | "unmatched_tool_call_id";
27
+ assistantToolCallIds?: string[];
28
+ followingRoles?: string[];
29
+ toolCallId?: string;
30
+ detail: string;
31
+ };
32
+ export type AdjacencyResult = {
33
+ ok: boolean;
34
+ violations: AdjacencyViolation[];
35
+ };
36
+ export declare function assertOpenAiCompatAdjacency(messages: OpenAiCompatWireMessage[]): AdjacencyResult;
37
+ export declare function formatWireSlice(messages: OpenAiCompatWireMessage[], centerIndex: number, radius?: number): string;
38
+ //# sourceMappingURL=openai-compat-adjacency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compat-adjacency.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/openai-compat-adjacency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;IACjF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,eAAe,CAyFhG;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,uBAAuB,EAAE,EACnC,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACX,MAAM,CAmBR"}
@@ -0,0 +1,132 @@
1
+ import type { Database } from "../../shared/sqlite";
2
+ export type BoundaryMode = "trigger" | "incremental-runner" | "transform-force" | "manual-full-recomp" | "manual-partial-recomp" | "pi-trigger" | "pi-runner";
3
+ export interface BoundaryUsage {
4
+ percentage: number;
5
+ inputTokens: number;
6
+ }
7
+ export interface ResolvedBoundaryContext {
8
+ sessionId: string;
9
+ mode: BoundaryMode;
10
+ contextLimit: number;
11
+ executeThresholdPercentage: number;
12
+ triggerBudget: number;
13
+ usage: BoundaryUsage | null;
14
+ usageSource: "live" | "persisted" | "provisional-zero" | "manual-none";
15
+ lastCompartmentEndOrdinal: number;
16
+ priorBoundaryOrdinal: number;
17
+ protectedTailPolicyVersion: number;
18
+ migrationFloorActive: boolean;
19
+ emergencyTailScale?: 0.5 | 0.25;
20
+ providerShapeVersion: "opencode-v1" | "pi-folded-v1";
21
+ cacheNamespace: string;
22
+ createdAt?: number;
23
+ /**
24
+ * Durable per-message token totals (sum of the message's active tag
25
+ * token_counts), keyed by real message id. When present, the boundary's
26
+ * token index reads these instead of re-tokenizing the raw session — the
27
+ * restart-durable fast path. A message missing here (or with a NULL-count
28
+ * tag) falls back to live tokenization. Built once in resolveBoundaryContext
29
+ * from the tag store; omitted (→ all-live) when the caller has no tag store.
30
+ */
31
+ storedTokenTotals?: Map<string, number>;
32
+ }
33
+ export interface ProtectedTailBoundarySnapshot {
34
+ sessionId: string;
35
+ mode: BoundaryMode;
36
+ offset: number;
37
+ offsetMessageId: string | null;
38
+ protectedTailStart: number;
39
+ protectedTailStartMessageId: string | null;
40
+ eligibleEndOrdinal: number;
41
+ eligibleEndMessageId: string | null;
42
+ rawMessageCountAtTrigger: number;
43
+ rawLastMessageIdAtTrigger: string | null;
44
+ N: number;
45
+ usagePercentage: number;
46
+ usageInputTokens: number;
47
+ usageSource: ResolvedBoundaryContext["usageSource"];
48
+ contextLimit: number;
49
+ executeThresholdPercentage: number;
50
+ triggerBudget: number;
51
+ priorBoundaryOrdinal: number;
52
+ migrationFloorActive: boolean;
53
+ emergencyTailScale?: 0.5 | 0.25;
54
+ providerShapeVersion: "opencode-v1" | "pi-folded-v1";
55
+ cacheNamespace: string;
56
+ createdAt: number;
57
+ rawRangeFingerprint: string;
58
+ trueRawEligibleTokens: number;
59
+ oversizeAtomicUnit: boolean;
60
+ boundaryReason: string;
61
+ }
62
+ export interface ProtectedTailTokenTarget {
63
+ usable: number;
64
+ rawN: number;
65
+ floorN: number;
66
+ ceilingN: number;
67
+ effectiveFloor: number;
68
+ N: number;
69
+ headroom: number;
70
+ triggerBudget: number;
71
+ reserve: number;
72
+ }
73
+ export interface RawHistoryEligibility {
74
+ lastCompartmentEnd: number;
75
+ offset: number;
76
+ rawMessageCount: number;
77
+ hasRawBeyondLastCompartment: boolean;
78
+ }
79
+ export interface ProactiveTriggerInfo {
80
+ boundary: ProtectedTailBoundarySnapshot;
81
+ hasProtectedEligibleHead: boolean;
82
+ trueRawEligibleTokens: number;
83
+ tcTokenEstimate: number;
84
+ messageCount: number;
85
+ commitClusterCount: number;
86
+ isMeaningful: boolean;
87
+ }
88
+ export interface BoundarySnapshotValidationResult {
89
+ ok: boolean;
90
+ reason?: "stale_snapshot" | "model_or_limit_changed";
91
+ detail?: string;
92
+ }
93
+ export declare const RECOVERY_NO_HEAD_LIMIT = 2;
94
+ /** A tiny complete head is still worth summarizing at force pressure; below this, wait for a real arc/user turn. */
95
+ export declare const MIN_FORCE_ELIGIBLE_TOKENS_CAP = 1000;
96
+ export declare function deriveMinForceEligibleTokens(scaledN: number): number;
97
+ export declare function deriveProtectedTailTokenTarget(args: {
98
+ contextLimit: number;
99
+ executeThresholdPercentage: number;
100
+ usagePercentage: number;
101
+ triggerBudget?: number;
102
+ }): ProtectedTailTokenTarget;
103
+ export declare function nonEmergencyPerRunCap(usable: number, N: number): number;
104
+ export declare function force80PerRunCap(usable: number, N: number): number;
105
+ export declare function force95PerRunCap(usable: number, N: number): number;
106
+ export declare function selectPerRunCap(snapshot: Pick<ProtectedTailBoundarySnapshot, "usagePercentage" | "N" | "contextLimit" | "executeThresholdPercentage">): number;
107
+ export declare function resolveProtectedTailBoundary(ctx: ResolvedBoundaryContext): ProtectedTailBoundarySnapshot;
108
+ export declare function resolveBoundaryContext(args: {
109
+ db: Database;
110
+ sessionId: string;
111
+ mode: BoundaryMode;
112
+ contextLimit: number;
113
+ executeThresholdPercentage: number;
114
+ usage?: BoundaryUsage | null;
115
+ usageSource?: ResolvedBoundaryContext["usageSource"];
116
+ emergencyTailScale?: 0.5 | 0.25;
117
+ providerShapeVersion?: "opencode-v1" | "pi-folded-v1";
118
+ cacheNamespace?: string;
119
+ }): ResolvedBoundaryContext;
120
+ export declare function resolveOpenCodeProtectedTailBoundary(args: Parameters<typeof resolveBoundaryContext>[0]): ProtectedTailBoundarySnapshot;
121
+ export declare function getRawHistoryEligibility(db: Database, sessionId: string): RawHistoryEligibility;
122
+ export declare function hasProtectedEligibleHead(snapshot: ProtectedTailBoundarySnapshot): boolean;
123
+ export declare function hasRunnableCompartmentWindow(snapshot: ProtectedTailBoundarySnapshot): boolean;
124
+ export declare function validateBoundarySnapshot(args: {
125
+ db: Database;
126
+ snapshot: ProtectedTailBoundarySnapshot;
127
+ currentContextLimit?: number;
128
+ }): BoundarySnapshotValidationResult;
129
+ export declare function recordHighPressureNoEligibleHead(db: Database, snapshot: ProtectedTailBoundarySnapshot): number;
130
+ export declare function resetHighPressureNoEligibleHead(db: Database, sessionId: string): void;
131
+ export declare function createDefaultBoundarySnapshotForTests(sessionId: string): ProtectedTailBoundarySnapshot;
132
+ //# sourceMappingURL=protected-tail-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protected-tail-boundary.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/protected-tail-boundary.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,60 @@ export interface SessionChunk {
78
78
  }
79
79
  export declare function withRawSessionMessageCache<T>(fn: () => T): T;
80
80
  export declare function readRawSessionMessages(sessionId: string): RawMessage[];
81
+ /**
82
+ * Prime the active raw-message cache with a TAIL-ONLY read (only messages
83
+ * at/after the last compartment boundary), so subsequent
84
+ * `readRawSessionMessages(sessionId)` calls in this scope reuse it instead of
85
+ * reading the whole session.
86
+ *
87
+ * This is the O(tail) path: the compartment-trigger boundary resolution is
88
+ * offset-forward only (its candidate / suffix / range / head-cap / chunk-scan
89
+ * reads never cross below `baseOrdinal+1`), and the absolute message count it
90
+ * needs is recovered from the tail reader (`baseOrdinal + tail`), NOT from
91
+ * counting pre-boundary rows. On a months-long session the full read grows
92
+ * O(session); this stays flat at the tail size.
93
+ *
94
+ * The cached array carries ABSOLUTE ordinals (`baseOrdinal+1 …`) so every
95
+ * downstream absolute-ordinal computation matches the full read; the true total
96
+ * is stashed in the parallel absolute-count cache for `.length`-style consumers.
97
+ *
98
+ * No-op (returns false) when a provider is registered (Pi: in-memory branch read
99
+ * is already cheap and authoritative), no OpenCode DB exists, the cache is
100
+ * already populated, or no usable boundary anchor exists (e.g. no compartments,
101
+ * or the anchor message was deleted) — in which case the caller falls through to
102
+ * the full read, which is correct (everything is eligible / nothing to skip).
103
+ */
104
+ export declare function primeTailRawMessageCache(args: {
105
+ sessionId: string;
106
+ lastCompartmentEnd: number;
107
+ anchorMessageId: string | null;
108
+ }): boolean;
109
+ /**
110
+ * Absolute session message count for the active scope. Returns the tail-prime's
111
+ * stashed absolute count when a tail slice is cached; otherwise null, signalling
112
+ * callers to use `readRawSessionMessages(sessionId).length` (whole-session
113
+ * array) as before.
114
+ */
115
+ export declare function getCachedAbsoluteMessageCount(sessionId: string): number | null;
116
+ /**
117
+ * Prime the active raw-message cache with an IN-MEMORY tail built from the
118
+ * transform's `args.messages` — no opencode.db read at all. This is the hot-path
119
+ * goal: the transform already receives the post-marker tail (the eligible
120
+ * window) as parsed objects, so the boundary resolver can consume it directly.
121
+ *
122
+ * The caller supplies the already-converted absolute-ordinal `RawMessage[]` (via
123
+ * `buildInMemoryTailRawMessages`) plus its absolute count. Same scope/lifecycle
124
+ * rules as the other prime helpers: only inside a `withRawSessionMessageCache`
125
+ * scope, never shadows a registered provider (Pi), and is a no-op if the cache is
126
+ * already populated for the session.
127
+ *
128
+ * Returns true when it primed the cache.
129
+ */
130
+ export declare function primeInMemoryTailRawMessageCache(args: {
131
+ sessionId: string;
132
+ messages: RawMessage[];
133
+ absoluteMessageCount: number;
134
+ }): boolean;
81
135
  export declare function readRawSessionMessageById(sessionId: string, messageId: string): RawMessage | null;
82
136
  export declare function getRawSessionMessageCount(sessionId: string): number;
83
137
  /**
@@ -102,6 +156,7 @@ export interface RawSessionTagKeys {
102
156
  toolObservations: Map<string, Set<string>>;
103
157
  }
104
158
  export declare function getRawSessionTagKeysThrough(sessionId: string, upToMessageIndex: number): RawSessionTagKeys;
159
+ export declare function getLegacyProtectedTailStartOrdinal(sessionId: string): number;
105
160
  export declare function getProtectedTailStartOrdinal(sessionId: string): number;
106
161
  export declare function readSessionChunk(sessionId: string, tokenBudget: number, offset?: number, eligibleEndOrdinal?: number): SessionChunk;
107
162
  export declare function getRawSessionMessageIdsThrough(sessionId: string, endOrdinal: number): string[];