@cortexkit/opencode-magic-context 0.22.5 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) 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 -1
  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-owner-backfill.d.ts +2 -1
  30. package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
  31. package/dist/features/magic-context/types.d.ts +8 -0
  32. package/dist/features/magic-context/types.d.ts.map +1 -1
  33. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  34. package/dist/hooks/magic-context/channel2-delivery.d.ts +22 -0
  35. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -0
  36. package/dist/hooks/magic-context/command-handler.d.ts +0 -1
  37. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  38. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  39. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  40. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  41. package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -0
  42. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  43. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
  44. package/dist/hooks/magic-context/compartment-trigger.d.ts +47 -2
  45. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  46. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +117 -0
  47. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -0
  48. package/dist/hooks/magic-context/emergency-drop.d.ts +86 -0
  49. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -0
  50. package/dist/hooks/magic-context/event-handler.d.ts +6 -4
  51. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  52. package/dist/hooks/magic-context/execute-flush.d.ts.map +1 -1
  53. package/dist/hooks/magic-context/execute-status.d.ts +1 -1
  54. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +10 -3
  56. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/hook-handlers.d.ts +3 -9
  58. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/hook.d.ts +3 -5
  60. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  61. package/dist/hooks/magic-context/note-visibility.d.ts +1 -1
  62. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +132 -0
  63. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -0
  64. package/dist/hooks/magic-context/read-session-chunk.d.ts +55 -0
  65. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  66. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  67. package/dist/hooks/magic-context/read-session-raw.d.ts +91 -0
  68. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +70 -0
  70. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -0
  71. package/dist/hooks/magic-context/send-session-notification.d.ts +2 -1
  72. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/system-prompt-hash.d.ts +0 -1
  74. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/tag-messages.d.ts +3 -0
  76. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  77. package/dist/hooks/magic-context/todo-view.d.ts +1 -1
  78. package/dist/hooks/magic-context/tool-drop-target.d.ts +9 -0
  79. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +15 -0
  81. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +7 -10
  83. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  84. package/dist/hooks/magic-context/transform.d.ts +14 -9
  85. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/upgrade-reminder.d.ts +2 -1
  87. package/dist/hooks/magic-context/upgrade-reminder.d.ts.map +1 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +5133 -1095
  90. package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
  91. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
  92. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  93. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  94. package/dist/plugin/tool-registry.d.ts.map +1 -1
  95. package/dist/shared/announcement.d.ts +4 -6
  96. package/dist/shared/announcement.d.ts.map +1 -1
  97. package/dist/shared/live-server-client.d.ts +50 -0
  98. package/dist/shared/live-server-client.d.ts.map +1 -0
  99. package/dist/shared/prompt-context.d.ts +31 -0
  100. package/dist/shared/prompt-context.d.ts.map +1 -0
  101. package/dist/shared/rpc-types.d.ts +0 -3
  102. package/dist/shared/rpc-types.d.ts.map +1 -1
  103. package/dist/shared/safe-notification-target.d.ts +23 -0
  104. package/dist/shared/safe-notification-target.d.ts.map +1 -0
  105. package/dist/shared/tag-transcript.d.ts.map +1 -1
  106. package/dist/shared/transcript-opencode.d.ts.map +1 -1
  107. package/dist/shared/transcript.d.ts +15 -1
  108. package/dist/shared/transcript.d.ts.map +1 -1
  109. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  110. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  111. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  112. package/dist/tools/ctx-memory/constants.d.ts +1 -1
  113. package/dist/tools/ctx-memory/constants.d.ts.map +1 -1
  114. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  115. package/dist/tools/ctx-memory/types.d.ts +7 -3
  116. package/dist/tools/ctx-memory/types.d.ts.map +1 -1
  117. package/dist/tools/ctx-note/constants.d.ts +1 -1
  118. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  119. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  120. package/dist/tools/ctx-note/types.d.ts +4 -0
  121. package/dist/tools/ctx-note/types.d.ts.map +1 -1
  122. package/dist/tools/ctx-search/constants.d.ts +1 -1
  123. package/dist/tools/ctx-search/constants.d.ts.map +1 -1
  124. package/dist/tui/data/context-db.d.ts.map +1 -1
  125. package/package.json +2 -1
  126. package/src/shared/announcement.test.ts +18 -0
  127. package/src/shared/announcement.ts +35 -20
  128. package/src/shared/live-server-client.ts +152 -0
  129. package/src/shared/prompt-context.ts +135 -0
  130. package/src/shared/rpc-types.ts +0 -3
  131. package/src/shared/safe-notification-target.test.ts +97 -0
  132. package/src/shared/safe-notification-target.ts +102 -0
  133. package/src/shared/tag-transcript.test.ts +34 -8
  134. package/src/shared/tag-transcript.ts +110 -8
  135. package/src/shared/transcript-opencode.ts +15 -5
  136. package/src/shared/transcript.ts +20 -2
  137. package/src/tui/data/context-db.ts +0 -3
  138. package/src/tui/index.tsx +2 -5
  139. package/src/tui/slots/sidebar-content.tsx +1 -26
  140. package/dist/hooks/magic-context/apply-context-nudge.d.ts +0 -5
  141. package/dist/hooks/magic-context/apply-context-nudge.d.ts.map +0 -1
  142. package/dist/hooks/magic-context/nudge-bands.d.ts +0 -6
  143. package/dist/hooks/magic-context/nudge-bands.d.ts.map +0 -1
  144. package/dist/hooks/magic-context/nudge-injection.d.ts +0 -7
  145. package/dist/hooks/magic-context/nudge-injection.d.ts.map +0 -1
  146. package/dist/hooks/magic-context/nudge-placement-store.d.ts +0 -15
  147. package/dist/hooks/magic-context/nudge-placement-store.d.ts.map +0 -1
  148. package/dist/hooks/magic-context/nudger.d.ts +0 -21
  149. package/dist/hooks/magic-context/nudger.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"storage-tags.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-tags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+DxC;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACpB,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACzB,IAAI,CAEN;AA4ID,wBAAgB,SAAS,CACrB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,MAAU,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,aAAa,GAAE,MAAU,EACzB,kBAAkB,GAAE,MAAM,GAAG,IAAW,EACxC,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACvC,MAAM,CAgBR;AAED,wBAAgB,eAAe,CAC3B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAEN;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC/B,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACd,IAAI,CAMN;AAED,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAClB,IAAI,CAEN;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACzB,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAQT;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,MAAM,EAAE,CAoCV;AAqBD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAGf;AAUD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,CAS5E;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,CAGlF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC9B,QAAQ,EAAE,CAsBZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAU1F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAapF;AAkCD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAGf;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI1C;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAG9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CAef;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAC7C,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAEf;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjG"}
1
+ {"version":3,"file":"storage-tags.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-tags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+DxC;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACpB,IAAI,CAEN;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACpB;AAeD;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB,uBAAuB,CAqBzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAWtC;AAED,wBAAgB,gCAAgC,CAC5C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAqChC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACzB,IAAI,CAEN;AA2BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,IAAI,CAEN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAC1C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA0C9D;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,GAC3B,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,GACvB,IAAI,CAYN;AA4ID;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,SAAS,CACrB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,MAAU,EAC7B,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,aAAa,GAAE,MAAU,EACzB,kBAAkB,GAAE,MAAM,GAAG,IAAW,EACxC,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,WAAW,GAAE,cAAc,GAAG,IAAW,GAC1C,MAAM,CAmBR;AAED,wBAAgB,eAAe,CAC3B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAEN;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC/B,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACd,IAAI,CAMN;AAED,wBAAgB,kBAAkB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAClB,IAAI,CAEN;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACzB,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAQT;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,MAAM,EAAE,CAoCV;AAqBD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAGf;AAUD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,CAS5E;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,CAGlF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC9B,QAAQ,EAAE,CAsBZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAU1F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAapF;AAkCD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAGf;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI1C;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAG9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CAef;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAC7C,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAEf;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjG"}
@@ -8,13 +8,13 @@ export { applySqliteTuningPragmas, type ContextDatabase, closeDatabase, enforceS
8
8
  export { deleteIdentityRekeyMap, getIdentityRekeyMap, type IdentityRekeyMapRow, listIdentityRekeyMaps, upsertIdentityRekeyMap, } from "./storage-identity-rekey-map";
9
9
  export { clearM0MutationsForSession, deleteM0Mutation, getM0Mutation, getM0MutationsAfterId, getM0MutationsBySession, getMaxM0MutationId, type M0MutationLogRow, type M0MutationType, queueM0Mutation, queueM0Mutation as appendM0Mutation, } from "./storage-m0-mutation-log";
10
10
  export { getMaxMemoryMutationId, getMemoryMutation, getMemoryMutationsForRender, type MemoryMutationLogRow, type MemoryMutationType, queueMemoryMutation, } from "./storage-memory-mutation-log";
11
- export { type AppendAutoSearchHintOutcome, type AutoSearchHintDecision, addStaleReduceStrippedIds, appendAutoSearchHintDecision, appendNoteNudgeAnchor, applyStrippedPlaceholderDelta, clearCachedM0, clearCachedM0M1, clearDeferredExecutePendingIfMatches, clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPendingCompactionMarkerStateIf, clearPendingPiCompactionMarkerStateIf, clearPersistedNoteNudge, clearPersistedNudgePlacement, clearPersistedReasoningWatermark, clearPersistedStickyTurnReminder, clearPersistedTodoSyntheticAnchor, clearSession, type DeferredExecutePayload, deliverNoteNudgeAtomic, getAutoSearchHintDecisions, getHistorianFailureState, getNoteLastReadAt, getNoteNudgeAnchors, getOrCreateSessionMeta, getOverflowState, getPendingCompactionMarkerState, getPendingPiCompactionMarkerState, getPersistedNoteNudge, getPersistedNudgePlacement, getPersistedReasoningWatermark, getPersistedStickyTurnReminder, getPersistedTodoSyntheticAnchor, getSessionsWithPendingMarker, getSessionsWithPendingPiMarker, getSessionWorkMetrics, getStaleReduceStrippedIds, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, type PendingCompactionMarker, type PendingPiCompactionMarker, type PersistCachedM0Payload, type PersistedOverflowState, type PersistedTodoSyntheticAnchor, peekDeferredExecutePending, persistCachedM0, pruneAutoSearchHintDecisions, pruneNoteNudgeAnchors, recordDetectedContextLimit, recordOverflowDetected, removeAutoSearchHintDecisionByMessageId, removeNoteNudgeAnchorByMessageId, removeStrippedPlaceholderId, setDeferredExecutePendingIfAbsent, setNoteLastReadAt, setPendingCompactionMarkerState, setPendingPiCompactionMarkerState, setPersistedNudgePlacement, setPersistedReasoningWatermark, setPersistedStickyTurnReminder, setPersistedTodoSyntheticAnchor, setSessionWorkMetrics, setStrippedPlaceholderIds, updateSessionMeta, } from "./storage-meta";
11
+ export { type AppendAutoSearchHintOutcome, type AutoSearchHintDecision, addStaleReduceStrippedIds, appendAutoSearchHintDecision, appendNoteNudgeAnchor, applyStrippedPlaceholderDelta, type Channel2NudgeState, casChannel2NudgeState, clearCachedM0, clearCachedM0M1, clearDeferredExecutePendingIfMatches, clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPendingCompactionMarkerStateIf, clearPendingPiCompactionMarkerStateIf, clearPersistedNoteNudge, clearPersistedReasoningWatermark, clearPersistedTodoSyntheticAnchor, clearSession, type DeferredExecutePayload, DRAIN_WINDOW_MS, deliverNoteNudgeAtomic, getAutoSearchHintDecisions, getChannel2NudgeClaimedAt, getChannel2NudgeState, getHistorianFailureState, getLastNudgeLevel, getLastNudgeUndropped, getNoteLastReadAt, getNoteNudgeAnchors, getOrCreateSessionMeta, getOverflowState, getPendingCompactionMarkerState, getPendingPiCompactionMarkerState, getPersistedNoteNudge, getPersistedReasoningWatermark, getPersistedTodoSyntheticAnchor, getSessionsWithPendingMarker, getSessionsWithPendingPiMarker, getSessionWorkMetrics, getStaleReduceStrippedIds, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, type PendingCompactionMarker, type PendingPiCompactionMarker, type PersistCachedM0Payload, type PersistedChannel1NudgeLevel, type PersistedOverflowState, type PersistedTodoSyntheticAnchor, type PersistedUsageState, type ProtectedTailDrainReservation, type ProtectedTailDrainReserveResult, type ProtectedTailMeta, type ProtectedTailSeedResult, peekDeferredExecutePending, persistCachedM0, protectedTailWindowBudget, pruneAutoSearchHintDecisions, pruneNoteNudgeAnchors, recordDetectedContextLimit, recordOverflowDetected, recordProtectedTailNoEligibleHead, recordProtectedTailPublicationFloor, removeAutoSearchHintDecisionByMessageId, removeNoteNudgeAnchorByMessageId, removeStrippedPlaceholderId, reserveProtectedTailDrainTokens, resetLastNudgeCycle, resetLastNudgeCycleIfTailShrank, resetProtectedTailNoEligibleHead, rollbackProtectedTailDrainReservation, setChannel2NudgeState, setDeferredExecutePendingIfAbsent, setLastNudgeLevel, setLastNudgeUndropped, setNoteLastReadAt, setPendingCompactionMarkerState, setPendingPiCompactionMarkerState, setPersistedReasoningWatermark, setPersistedTodoSyntheticAnchor, setSessionWorkMetrics, setStrippedPlaceholderIds, updateSessionMeta, } from "./storage-meta";
12
12
  export { bumpSessionFactsVersion } from "./storage-meta-shared";
13
13
  export { addNote, deleteNote, dismissNote, getNotes, getPendingSmartNotes, getReadySmartNotes, getSessionNotes, getSmartNotes, markNoteChecked, markNoteReady, type Note, type NoteStatus, type NoteType, replaceAllSessionNotes, updateNote, } from "./storage-notes";
14
14
  export { clearPendingOps, getPendingOps, queuePendingOp, removePendingOp, } from "./storage-ops";
15
15
  export { bumpProjectMemoryEpoch, bumpProjectUserProfileVersion, deleteProjectState, ensureProjectState, GLOBAL_USER_PROFILE_PROJECT_PATH, getProjectState, type ProjectStateRow, setProjectState, } from "./storage-project-state";
16
16
  export { getSourceContents, replaceSourceContent, saveSourceContent, } from "./storage-source";
17
17
  export { getSubagentInvocations, getSubagentTotalsBySubagent, recordSubagentInvocation, type SubagentInvocationInput, type SubagentInvocationRow, type SubagentKind, type SubagentTotals, } from "./storage-subagent-invocations";
18
- export { adoptFallbackTagMessageId, deleteTagsByMessageId, findAdoptableFallbackTags, getActiveTagsBySession, getMaxDroppedTagNumber, getMaxTagNumberBySession, getTagById, getTagsByNumbers, getTagsBySession, getTopNBySize, insertTag, updateCavemanDepth, updateTagDropMode, updateTagMessageId, updateTagStatus, } from "./storage-tags";
18
+ export { type ActiveTagTokenAggregate, adoptFallbackTagMessageId, deleteTagsByMessageId, findAdoptableFallbackTags, getActiveTagsBySession, getActiveTagTokenAggregate, getActiveTagTokenTotalsByMessage, getAllStatusTagTokenTotalsFlat, getMaxDroppedTagNumber, getMaxTagNumberBySession, getTagById, getTagsByNumbers, getTagsBySession, getTopNBySize, getTriggerTagTokenUpperBound, insertTag, type MessageTokenTotal, updateCavemanDepth, updateTagDropMode, updateTagMessageId, updateTagStatus, } from "./storage-tags";
19
19
  export { clearV22BackfillFailures, deleteV22BackfillFailure, getV22BackfillFailure, listV22BackfillFailures, recordV22BackfillFailure, type V22BackfillErrorClass, type V22BackfillFailureRow, } from "./storage-v22-backfill-failures";
20
20
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Database } from "../../shared/sqlite";
2
+ import { type TagTokenCounts } from "./storage-tags";
2
3
  import type { TagEntry } from "./types";
3
4
  export declare function makeToolCompositeKey(ownerMsgId: string, callId: string): string;
4
5
  /**
@@ -26,7 +27,14 @@ export interface Tagger {
26
27
  * onto the real SessionEntry id. OpenCode passes undefined → column
27
28
  * stays NULL → no behavior change.
28
29
  */
29
- entryFingerprint?: string | null): number;
30
+ entryFingerprint?: string | null,
31
+ /**
32
+ * Lazy per-tag token computation, invoked by the tagger ONLY on the
33
+ * fresh-insert branch (never when an existing tag is rebound). This is
34
+ * what keeps tokenization "compute once, ever" — steady-state passes
35
+ * pay nothing. Returns the real-tokenizer counts for this tag's content.
36
+ */
37
+ tokenThunk?: () => TagTokenCounts): number;
30
38
  /**
31
39
  * Look up the tag number for a non-tool entity.
32
40
  *
@@ -48,7 +56,9 @@ export interface Tagger {
48
56
  * to satisfy the contract while preserving the legacy "each part
49
57
  * gets its own tag" behavior.
50
58
  */
51
- assignToolTag(sessionId: string, callId: string, ownerMsgId: string, byteSize: number, db: Database, reasoningByteSize?: number, toolName?: string | null, inputByteSize?: number): number;
59
+ assignToolTag(sessionId: string, callId: string, ownerMsgId: string, byteSize: number, db: Database, reasoningByteSize?: number, toolName?: string | null, inputByteSize?: number,
60
+ /** Lazy token computation — invoked only on fresh insert (see assignTag). */
61
+ tokenThunk?: () => TagTokenCounts): number;
52
62
  /**
53
63
  * Look up the tag number for a tool invocation by composite
54
64
  * identity.
@@ -1 +1 @@
1
- {"version":3,"file":"tagger.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tagger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AASpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkBxC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;;;;;;GASG;AACH,KAAK,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,MAAM;IACnB;;;;;OAKG;IACH,SAAS,CACL,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,MAAM,CAAC;IACV;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IACvF;;;;;;;;;;;;OAYG;IACH,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM,GACvB,MAAM,CAAC;IACV;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvE;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5F,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAmJD,wBAAgB,YAAY,IAAI,MAAM,CAkdrC"}
1
+ {"version":3,"file":"tagger.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tagger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAQH,KAAK,cAAc,EAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkBxC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;;;;;;;GASG;AACH,KAAK,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,MAAM;IACnB;;;;;OAKG;IACH,SAAS,CACL,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,cAAc,GAClC,MAAM,CAAC;IACV;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IACvF;;;;;;;;;;;;OAYG;IACH,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,EACZ,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,CAAC,EAAE,MAAM;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,cAAc,GAClC,MAAM,CAAC;IACV;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvE;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5F,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAmJD,wBAAgB,YAAY,IAAI,MAAM,CAsgBrC"}
@@ -39,7 +39,8 @@
39
39
  * - The NULL guard makes UPDATE idempotent: re-running against an
40
40
  * already-backfilled row matches zero rows and moves on.
41
41
  * - The state table makes session bookkeeping idempotent: a
42
- * completed session is never re-processed.
42
+ * completed session is never re-processed; a session with unresolved
43
+ * NULL-owner rows stays pending for later lazy adoption/retry.
43
44
  */
44
45
  import type { Database } from "../../shared/sqlite";
45
46
  interface BackfillStateRow {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-owner-backfill.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tool-owner-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAiBpD,UAAU,gBAAgB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,cAAc;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,cAAc,CAqDjE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAkB/D;AA6SD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAO1F"}
1
+ {"version":3,"file":"tool-owner-backfill.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tool-owner-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAiBpD,UAAU,gBAAgB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,cAAc;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,cAAc,CAqDjE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAkB/D;AAuUD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAO1F"}
@@ -87,6 +87,14 @@ export interface SessionMeta {
87
87
  cachedM0ToolSetHash: string | null;
88
88
  cachedM0ModelKey: string | null;
89
89
  lastObservedModelKey: string | null;
90
+ lastUsageContextLimit: number;
91
+ priorBoundaryOrdinal: number;
92
+ protectedTailPolicyVersion: number;
93
+ protectedTailDrainWindowStartedAt: number;
94
+ protectedTailDrainTokens: number;
95
+ recoveryNoEligibleHeadCount: number;
96
+ forceEmergencyBypassWindowStart: number;
97
+ forceEmergencyBypassUsed: number;
90
98
  upgradeRemindedAt: number | null;
91
99
  }
92
100
  export type SchedulerDecision = "execute" | "defer";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-search-runner.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/auto-search-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiBH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA4C1D,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;+DAC2D;IAC3D,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAyID;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IhB;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"auto-search-runner.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/auto-search-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiBH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA4C1D,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;+DAC2D;IAC3D,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAyID;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JhB;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAElE"}
@@ -0,0 +1,22 @@
1
+ import type { Database } from "../../shared/sqlite";
2
+ export interface Channel2DeliveryDeps {
3
+ db: Database;
4
+ serverUrl?: string;
5
+ directory: string;
6
+ /** Reclaimable tool-output tokens for the wording + stale-intent revalidation. */
7
+ reclaimableTokens?: number;
8
+ /**
9
+ * The usable working range measured at the same Channel-1 baseline refresh
10
+ * (see Channel1State.usableTokens). Required to re-run the FULL trigger
11
+ * predicate at delivery time.
12
+ */
13
+ usableTokens?: number;
14
+ }
15
+ /**
16
+ * Attempt to deliver a pending Channel 2 ceiling nudge for `sessionId`. Safe to
17
+ * call on every final-stop `message.updated` — it no-ops unless a `pending`
18
+ * intent exists and the live server is reachable. Returns true only when a
19
+ * delivery was confirmed (intent moved to `delivered`).
20
+ */
21
+ export declare function maybeDeliverChannel2(sessionId: string, deps: Channel2DeliveryDeps): Promise<boolean>;
22
+ //# sourceMappingURL=channel2-delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel2-delivery.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/channel2-delivery.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAyBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAsJlB"}
@@ -37,7 +37,6 @@ export interface CommandExecuteOutput {
37
37
  export declare function createMagicContextCommandHandler(deps: {
38
38
  db: Database;
39
39
  protectedTags: number;
40
- nudgeIntervalTokens?: number;
41
40
  executeThresholdPercentage?: number | {
42
41
  default: number;
43
42
  [modelKey: string]: number;
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/command-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,GAC/B,MAAM,wBAAwB,CAAC;AA6BhC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAyBxE,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoiBpF"}
1
+ {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,GAC/B,MAAM,wBAAwB,CAAC;AAgChC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgCxE,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmpBpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-partial-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-partial-recomp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,WAAW,EAEd,MAAM,kDAAkD,CAAC;AAuB1D,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAW9F,MAAM,WAAW,kBAAkB;IAC/B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,WAAW,EAAE,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA2CzC;AAuBD,wBAAsB,4BAA4B,CAC9C,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmZjB"}
1
+ {"version":3,"file":"compartment-runner-partial-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-partial-recomp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,WAAW,EAEd,MAAM,kDAAkD,CAAC;AAuB1D,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAW9F,MAAM,WAAW,kBAAkB;IAC/B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,WAAW,EAAE,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA2CzC;AAuBD,wBAAsB,4BAA4B,CAC9C,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA2YjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-recomp.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmD9F,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB;IACC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD,GAAG,IAAI,CAgDP;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwe/F"}
1
+ {"version":3,"file":"compartment-runner-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-recomp.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmD9F,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB;IACC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD,GAAG,IAAI,CAgDP;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsf/F"}
@@ -1,6 +1,7 @@
1
1
  import type { PluginContext } from "../../plugin/types";
2
2
  import type { Database } from "../../shared/sqlite";
3
3
  import type { ParsedEvent } from "./compartment-parser";
4
+ import type { ProtectedTailBoundarySnapshot } from "./protected-tail-boundary";
4
5
  import type { NotificationParams } from "./send-session-notification";
5
6
  /**
6
7
  * Live progress for a running recomp / session-upgrade, surfaced in the TUI
@@ -59,6 +60,10 @@ export interface CompartmentRunnerDeps {
59
60
  */
60
61
  historianChunkTokens: number;
61
62
  historianTimeoutMs?: number;
63
+ /** Immutable protected-tail boundary resolved by the trigger/force path. Tests may omit it and use the default-snapshot factory. */
64
+ boundarySnapshot?: ProtectedTailBoundarySnapshot;
65
+ /** Current resolved main-model context limit used to reject stale boundary snapshots after model switches. */
66
+ currentContextLimit?: number;
62
67
  /** Resolved fallback chain for historian-family calls (historian + compressor). */
63
68
  fallbackModels?: readonly string[];
64
69
  directory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-types.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compartment-runner-types.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAID,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE3F;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GACvB,oBAAoB,CAetB;AA0BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CA0CvE;AAED,MAAM,WAAW,2BAA2B;IACxC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,8BAA8B,CAChD,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,0BAA0B,CAAC,CAuDrC;AAED,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"compartment-runner.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAID,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE3F;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GACvB,oBAAoB,CAetB;AA0BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CA8CvE;AAED,MAAM,WAAW,2BAA2B;IACxC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,8BAA8B,CAChD,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,0BAA0B,CAAC,CAuDrC;AAED,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { ContextUsage, SessionMeta, TagEntry } from "../../features/magic-context/types";
2
2
  import type { Database } from "../../shared/sqlite";
3
+ import { type ProtectedTailBoundarySnapshot } from "./protected-tail-boundary";
4
+ import { type InMemoryMessageView, type RawMessage } from "./read-session-raw";
3
5
  declare const POST_DROP_TARGET_RATIO = 0.75;
4
6
  declare const FORCE_COMPARTMENT_PERCENTAGE = 80;
5
7
  declare const BLOCK_UNTIL_DONE_PERCENTAGE = 95;
@@ -8,10 +10,53 @@ export { BLOCK_UNTIL_DONE_PERCENTAGE, FORCE_COMPARTMENT_PERCENTAGE, FORCE_MATERI
8
10
  export interface CompartmentTriggerResult {
9
11
  shouldFire: boolean;
10
12
  reason?: "projected_headroom" | "force_80" | "commit_clusters" | "tail_size";
13
+ /**
14
+ * The protected-tail boundary snapshot the decision was computed from.
15
+ * Present whenever the tail inspection ran. Callers that start the
16
+ * historian in the SAME pass (transform path) should hand this to
17
+ * runCompartmentPhase so it doesn't re-resolve the boundary — one
18
+ * resolution per pass, and the historian sees exactly the snapshot the
19
+ * decision saw.
20
+ */
21
+ boundarySnapshot?: ProtectedTailBoundarySnapshot;
11
22
  }
23
+ /**
24
+ * In-memory tail source for the trigger — the transform's `args.messages`
25
+ * converted to absolute-ordinal RawMessages (via `buildInMemoryTailRawMessages`
26
+ * with `anchorFound=true`). When supplied, the tail inspection primes the
27
+ * raw-message cache from memory and performs ZERO opencode.db reads on the hot
28
+ * path. Callers must only pass an ANCHORED conversion — an unanchored one has
29
+ * assumed ordinals; leave it undefined to fall through to the DB-primed path.
30
+ */
31
+ export interface InMemoryTailSource {
32
+ messages: RawMessage[];
33
+ absoluteMessageCount: number;
34
+ }
35
+ /**
36
+ * Convert the transform's in-memory `args.messages` into a trigger tail source,
37
+ * applying the anchored-only gate:
38
+ *
39
+ * - Compartments exist + boundary has a message id → require the anchor to be
40
+ * FOUND in the array (`anchorFound`). OpenCode's `filterCompacted` stops at
41
+ * our compaction marker (the boundary message), so the anchor is normally the
42
+ * array head; when the marker drain lags, the anchor sits a few messages in
43
+ * and the converter drops the already-compartmentalized prefix. If it isn't
44
+ * present at all (deleted, or the marker advanced past it), ordinal
45
+ * assignment would be an unverified guess → return undefined so the caller
46
+ * falls through to the DB-primed read.
47
+ * - Compartments exist but the boundary row has NO message id (legacy rows) →
48
+ * undefined (DB path, as before).
49
+ * - No compartments (#132 early-session) → the whole array is the session;
50
+ * ordinals from 1, no anchor needed.
51
+ *
52
+ * Live-verified byte-identical to the DB path on every boundary decision field
53
+ * (offset, protectedTailStart, eligibleEndOrdinal, N, trueRawEligibleTokens,
54
+ * arc fencing) across real sessions before the cutover.
55
+ */
56
+ export declare function buildTriggerInMemoryTail(db: Database, sessionId: string, messages: readonly InMemoryMessageView[]): InMemoryTailSource | undefined;
12
57
  export declare function getProactiveCompartmentTriggerPercentage(executeThresholdPercentage: number): number;
13
- export declare function checkCompartmentTrigger(db: Database, sessionId: string, sessionMeta: SessionMeta, usage: ContextUsage, _previousPercentage: number, executeThresholdPercentage: number, triggerBudget: number, autoDropToolAge?: number, protectedTagCount?: number, clearReasoningAge?: number, dropToolStructure?: boolean, commitClusterTrigger?: {
58
+ export declare function checkCompartmentTrigger(db: Database, sessionId: string, sessionMeta: SessionMeta, usage: ContextUsage, _previousPercentage: number, executeThresholdPercentage: number, triggerBudget: number, clearReasoningAge?: number, commitClusterTrigger?: {
14
59
  enabled: boolean;
15
60
  min_clusters: number;
16
- }, preloadedActiveTags?: readonly TagEntry[]): CompartmentTriggerResult;
61
+ }, preloadedActiveTags?: readonly TagEntry[], contextLimit?: number, inMemoryTail?: InMemoryTailSource): CompartmentTriggerResult;
17
62
  //# sourceMappingURL=compartment-trigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AASpD,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AAExC,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,GACzB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC;CAChF;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AAgJD,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,UAAO,EACxB,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,GAC1C,wBAAwB,CAiI1B"}
1
+ {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAIH,KAAK,6BAA6B,EAErC,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAG5B,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AAExC,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,GACzB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC7E;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACzC,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AA0MD,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,EACzC,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,kBAAkB,GAClC,wBAAwB,CAiR1B"}
@@ -0,0 +1,117 @@
1
+ import type { MessageLike } from "./tag-messages";
2
+ export type Channel1Level = "gentle" | "firm" | "urgent";
3
+ /**
4
+ * Per-session metric baseline, snapshotted at the END of each transform pass
5
+ * (post-drop, so `tailToolTokens` reflects the actually-rendered tail) and read
6
+ * by Channel 1 in `tool.execute.after`. `turnToolTokens` accumulates this turn's
7
+ * tool outputs since the last snapshot; it is zeroed when the snapshot is
8
+ * refreshed (a proven turn transition), NOT on `chat.message` — chat.message
9
+ * fires mid-turn for queued messages and would erase live-turn bytes.
10
+ * Only written for full-feature (primary) sessions; its absence is how Channel 1
11
+ * stays off for subagents in Phase 1.
12
+ */
13
+ export interface Channel1State {
14
+ tailToolTokens: number;
15
+ historyBudgetTokens: number;
16
+ contextLimit: number;
17
+ executeThresholdPercentage: number;
18
+ lastInputTokens: number;
19
+ turnToolTokens: number;
20
+ /**
21
+ * The usable working range (executeThresholdTokens − inputTokens +
22
+ * liveTail) measured at the same baseline refresh. Carried so Channel-2
23
+ * delivery can revalidate the FULL trigger predicate (reclaimable ≥
24
+ * usable/3), not just the 10k floor — a floor-only recheck let a stale
25
+ * intent deliver and permanently burn the one-per-session ceiling cap.
26
+ */
27
+ usableTokens: number;
28
+ /**
29
+ * True once the agent calls `ctx_reduce` after the last baseline refresh.
30
+ * Suppresses Channel 1 until the next transform recomputes `tailToolTokens`
31
+ * from the now-reduced messages (the in-flight baseline still shows the
32
+ * pre-reduce high value, so without this we'd nag on the very next tool).
33
+ * Reset to false on each baseline refresh.
34
+ */
35
+ reducedSinceRefresh: boolean;
36
+ }
37
+ export declare const CHANNEL1_SENTINEL = "<system-reminder>";
38
+ export declare const TOKENS_PER_BYTE = 0.25;
39
+ export declare const CHANNEL1_FLOOR_TOKENS = 10000;
40
+ export declare const CHANNEL1_REFIRE_FLOOR_TOKENS = 10000;
41
+ export declare function channel1RefireTokens(historyBudgetTokens: number): number;
42
+ /**
43
+ * Whether a tool output string is a drop/truncation sentinel (so it should NOT
44
+ * count toward reclaimable `undropped` tokens). Exported so the Pi harness — whose
45
+ * tool output lives in `toolResult.content[].text`, not OpenCode's
46
+ * `parts[].state.output` — can reuse the exact same sentinel detection.
47
+ */
48
+ export declare function isDroppedToolOutput(output: string): boolean;
49
+ /**
50
+ * Sum approximate tokens of non-dropped tool output from a list of already-
51
+ * extracted output strings. Harness-agnostic core shared by OpenCode
52
+ * (`computeTailToolTokens`) and Pi (`toolResult.content[].text` extraction).
53
+ */
54
+ export declare function tailToolTokensFromStrings(outputs: readonly string[]): number;
55
+ /**
56
+ * Sum approximate tokens of non-dropped tool output across the visible
57
+ * messages. The compartment-injection step has already trimmed everything
58
+ * before the last compartment boundary, so `messages` IS the live tail —
59
+ * walking it gives the post-boundary undropped tool tokens without any tag
60
+ * query or boundary filter.
61
+ */
62
+ export declare function computeTailToolTokens(messages: MessageLike[]): number;
63
+ /** Approximate tokens for a single tool output string (prospective per-turn accounting). */
64
+ export declare function toolOutputTokens(output: string): number;
65
+ export interface TailTokenEstimate {
66
+ /** Non-dropped tool-output tokens: reclaimable by ctx_reduce. */
67
+ tailToolTokens: number;
68
+ /** Approximate full live-tail tokens: conversation + tool calls/results. */
69
+ liveTailTokens: number;
70
+ }
71
+ /**
72
+ * Fallback when the tag-token aggregate is temporarily unavailable. It estimates
73
+ * both reclaimable tool output and the full live tail; using only tool output for
74
+ * liveTail makes usableTokens look too small and can arm Channel 2 prematurely.
75
+ */
76
+ export declare function computeTailTokenEstimate(messages: MessageLike[]): TailTokenEstimate;
77
+ export interface Channel1Decision {
78
+ fire: boolean;
79
+ level: Channel1Level;
80
+ undroppedTokens: number;
81
+ /** Value to persist into `last_nudge_undropped` (caller writes it). */
82
+ nextLastNudge: number;
83
+ /** Value to persist into `last_nudge_level` (caller writes it). */
84
+ nextLastNudgeLevel: Channel1Level | "";
85
+ }
86
+ /**
87
+ * Pure decision: should Channel 1 fire, and at what level? Caller supplies the
88
+ * already-computed `undroppedTokens` (tail baseline + this turn's accumulator)
89
+ * and `pressure`. No DB access here — fully unit-testable.
90
+ */
91
+ export declare function decideChannel1(input: {
92
+ undroppedTokens: number;
93
+ pressure: number;
94
+ historyBudgetTokens: number;
95
+ lastNudgeUndropped: number;
96
+ lastNudgeLevel: Channel1Level | "";
97
+ hasRecentReduce: boolean;
98
+ }): Channel1Decision;
99
+ /** Compute pressure from prospective per-turn token estimates. */
100
+ export declare function computePressure(input: {
101
+ lastInputTokens: number;
102
+ turnToolTokens: number;
103
+ contextLimit: number;
104
+ executeThresholdPercentage: number;
105
+ }): number;
106
+ export declare const CHANNEL2_USABLE_FRACTION: number;
107
+ export declare const CHANNEL2_MIN_RECLAIMABLE = 10000;
108
+ /** Pure decision: should the Channel 2 ceiling intent be recorded this pass? */
109
+ export declare function shouldTriggerChannel2(input: {
110
+ reclaimableTokens: number;
111
+ usableTokens: number;
112
+ }): boolean;
113
+ /** The synthetic user `<system-reminder>` body delivered by Channel 2. */
114
+ export declare function buildChannel2Reminder(undroppedTokens: number): string;
115
+ /** Build the `<system-reminder name="mc-ctx-reduce">…</system-reminder>` body for a level. */
116
+ export declare function buildChannel1Reminder(level: Channel1Level, undroppedTokens: number): string;
117
+ //# sourceMappingURL=ctx-reduce-nudge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctx-reduce-nudge.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/ctx-reduce-nudge.ts"],"names":[],"mappings":"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"}
@@ -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"}