greprag 5.74.3 → 5.74.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/dist/archive/glyph-font.js +0 -1
  2. package/dist/archive/page-renderer.js +0 -1
  3. package/dist/archive/png-codec.js +0 -1
  4. package/dist/archive/transcript-extract.js +0 -1
  5. package/dist/assistant-doctrine.js +0 -1
  6. package/dist/capture-manifest.js +0 -1
  7. package/dist/ccr-store.js +0 -1
  8. package/dist/claude-lifecycle-cutover.js +0 -1
  9. package/dist/codex-chip-hooks.js +0 -1
  10. package/dist/codex-delegation-dedupe.js +0 -1
  11. package/dist/codex-fast-hook.js +0 -1
  12. package/dist/codex-hook-events.js +0 -1
  13. package/dist/codex-notify-hook.js +0 -1
  14. package/dist/codex-prompt-cache.js +0 -1
  15. package/dist/codex-steering.js +0 -1
  16. package/dist/codex-store-background.js +0 -1
  17. package/dist/commands/agent-doctrine-file.js +0 -1
  18. package/dist/commands/agents.js +0 -1
  19. package/dist/commands/archive.js +0 -1
  20. package/dist/commands/arm-reminder.js +0 -1
  21. package/dist/commands/assistant-reminder.js +0 -1
  22. package/dist/commands/assistant.js +0 -1
  23. package/dist/commands/checkpoint-helpers.js +0 -1
  24. package/dist/commands/checkpoint.js +0 -1
  25. package/dist/commands/claude-md-patch.js +0 -1
  26. package/dist/commands/codex-app-server-client.js +0 -1
  27. package/dist/commands/codex-app-server.js +0 -1
  28. package/dist/commands/codex-chip/bootstrap.js +0 -1
  29. package/dist/commands/codex-chip/breakthrough-ack-command.js +0 -1
  30. package/dist/commands/codex-chip/breakthrough-command.js +0 -1
  31. package/dist/commands/codex-chip/breakthrough.js +0 -1
  32. package/dist/commands/codex-chip/cleanup-command.js +0 -1
  33. package/dist/commands/codex-chip/command.js +0 -1
  34. package/dist/commands/codex-chip/git.js +0 -1
  35. package/dist/commands/codex-chip/goal-command.js +0 -1
  36. package/dist/commands/codex-chip/goals.js +0 -1
  37. package/dist/commands/codex-chip/help.js +0 -1
  38. package/dist/commands/codex-chip/inbox.js +0 -1
  39. package/dist/commands/codex-chip/lifecycle.js +0 -1
  40. package/dist/commands/codex-chip/mechanic-lifecycle.js +0 -1
  41. package/dist/commands/codex-chip/model.js +0 -1
  42. package/dist/commands/codex-chip/naming.js +0 -1
  43. package/dist/commands/codex-chip/native.js +0 -1
  44. package/dist/commands/codex-chip/prompt.js +0 -1
  45. package/dist/commands/codex-chip/resume-command.js +0 -1
  46. package/dist/commands/codex-chip/selection.js +0 -1
  47. package/dist/commands/codex-chip/store.js +0 -1
  48. package/dist/commands/codex-chip/worker.js +0 -1
  49. package/dist/commands/codex-delivery.js +0 -1
  50. package/dist/commands/codex-doctor.js +0 -1
  51. package/dist/commands/codex-model-policy.js +0 -1
  52. package/dist/commands/codex-startup.js +0 -1
  53. package/dist/commands/codex-supervisor.js +0 -1
  54. package/dist/commands/codex-wake-test.js +0 -1
  55. package/dist/commands/codex-watch-health.js +0 -1
  56. package/dist/commands/codex.js +0 -1
  57. package/dist/commands/collision-check.js +0 -1
  58. package/dist/commands/collision-reminder.js +0 -1
  59. package/dist/commands/context-governor.js +0 -1
  60. package/dist/commands/coordinate-gate.js +0 -1
  61. package/dist/commands/corpus/client.js +0 -1
  62. package/dist/commands/corpus/index.js +0 -1
  63. package/dist/commands/corpus/manage.js +0 -1
  64. package/dist/commands/corpus/refresh.js +0 -1
  65. package/dist/commands/corpus/search.js +0 -1
  66. package/dist/commands/corpus/section.js +0 -1
  67. package/dist/commands/corpus/source.js +0 -1
  68. package/dist/commands/corpus/status.js +0 -1
  69. package/dist/commands/corpus/tags.js +0 -1
  70. package/dist/commands/corpus/upload.js +0 -1
  71. package/dist/commands/corpus/walk.js +0 -1
  72. package/dist/commands/corpus-reminder.js +0 -1
  73. package/dist/commands/crush-stats.js +0 -1
  74. package/dist/commands/crush.js +0 -1
  75. package/dist/commands/delivery-reminder.js +0 -1
  76. package/dist/commands/delivery.js +0 -1
  77. package/dist/commands/desk-line.js +0 -1
  78. package/dist/commands/discord.js +0 -1
  79. package/dist/commands/discover.js +0 -1
  80. package/dist/commands/doc-pointer-reminder.js +0 -1
  81. package/dist/commands/doc.js +0 -1
  82. package/dist/commands/docptr.js +0 -1
  83. package/dist/commands/doctor.js +0 -1
  84. package/dist/commands/email-primer-reminder.js +0 -1
  85. package/dist/commands/email.js +0 -1
  86. package/dist/commands/enrichment-health-reminder.js +0 -1
  87. package/dist/commands/fix.js +0 -1
  88. package/dist/commands/friction-reminder.js +0 -1
  89. package/dist/commands/identity.js +0 -1
  90. package/dist/commands/inbox-drain.js +0 -1
  91. package/dist/commands/inbox-primer-reminder.js +0 -1
  92. package/dist/commands/inbox-retract.js +0 -1
  93. package/dist/commands/inbox-watch-supervisor.js +0 -1
  94. package/dist/commands/inbox-watch.js +0 -1
  95. package/dist/commands/ingress-trigger.js +0 -1
  96. package/dist/commands/init.js +0 -1
  97. package/dist/commands/load-primer-reminder.js +0 -1
  98. package/dist/commands/load.js +0 -1
  99. package/dist/commands/loadout-reminder.js +0 -1
  100. package/dist/commands/loadout.js +0 -1
  101. package/dist/commands/mechanic-live.js +0 -1
  102. package/dist/commands/mechanic-manifest.js +0 -1
  103. package/dist/commands/mechanic-spawn.js +0 -1
  104. package/dist/commands/mechanic.js +0 -1
  105. package/dist/commands/memory-format.js +0 -1
  106. package/dist/commands/memory-reflex.js +0 -1
  107. package/dist/commands/memory.js +0 -1
  108. package/dist/commands/opencode-chip-client.js +0 -1
  109. package/dist/commands/opencode-chip-lifecycle.js +0 -1
  110. package/dist/commands/opencode-chip-mission.js +0 -1
  111. package/dist/commands/opencode-chip-store.js +0 -1
  112. package/dist/commands/opencode-chip.js +0 -1
  113. package/dist/commands/opencode-goals.js +0 -1
  114. package/dist/commands/opencode-interrupt.js +0 -1
  115. package/dist/commands/opencode-relay.js +0 -1
  116. package/dist/commands/opencode-watch.js +0 -1
  117. package/dist/commands/os-primer-reminder.js +0 -1
  118. package/dist/commands/parity.js +0 -1
  119. package/dist/commands/pipe-wrap.js +0 -1
  120. package/dist/commands/poll-registry.js +0 -1
  121. package/dist/commands/procedure-reminder.js +0 -1
  122. package/dist/commands/procedure.js +0 -1
  123. package/dist/commands/project.js +0 -1
  124. package/dist/commands/reminder-registry.js +0 -1
  125. package/dist/commands/reminder-types.js +0 -1
  126. package/dist/commands/search-guard.js +0 -1
  127. package/dist/commands/session.js +0 -1
  128. package/dist/commands/setup-reminder.js +0 -1
  129. package/dist/commands/shell-dialect-guard.js +0 -1
  130. package/dist/commands/skill-gain-reminder.js +0 -1
  131. package/dist/commands/skill-mirror-reminder.js +0 -1
  132. package/dist/commands/skill.js +0 -1
  133. package/dist/commands/skillgain.js +0 -1
  134. package/dist/commands/sms.js +0 -1
  135. package/dist/commands/state-trigger.js +0 -1
  136. package/dist/commands/status.js +0 -1
  137. package/dist/commands/version-reminder.js +0 -1
  138. package/dist/commands/watcher-registry.js +0 -1
  139. package/dist/crush/adaptive-sizer.js +0 -1
  140. package/dist/crush/code-compressor.js +0 -1
  141. package/dist/crush/crush-keywords.js +0 -1
  142. package/dist/crush/crush-types.js +0 -1
  143. package/dist/crush/index.js +0 -1
  144. package/dist/crush/json-crusher.js +0 -1
  145. package/dist/crush/json-detectors.js +0 -1
  146. package/dist/crush/log-compressor.js +0 -1
  147. package/dist/crush/search-compressor.js +0 -1
  148. package/dist/delivery-config.js +0 -1
  149. package/dist/delivery-lifecycle.js +0 -1
  150. package/dist/doc-mirror-client.js +0 -1
  151. package/dist/docptr-refs.js +0 -1
  152. package/dist/email-pull.js +0 -1
  153. package/dist/email-send.js +0 -1
  154. package/dist/equipped-loadouts-cache.js +0 -1
  155. package/dist/fix-trigger.js +0 -1
  156. package/dist/guard.js +0 -1
  157. package/dist/harness.js +0 -1
  158. package/dist/hook-runtime.js +0 -1
  159. package/dist/hook.js +0 -1
  160. package/dist/inbox-attachments.js +0 -1
  161. package/dist/index.js +0 -1
  162. package/dist/inline-atom-background.js +0 -1
  163. package/dist/inline-atom-episode.js +0 -1
  164. package/dist/inline-atom-hook.js +0 -1
  165. package/dist/inline-atom-worker.js +0 -1
  166. package/dist/inline-atom.js +0 -1
  167. package/dist/mechanic-friction.js +0 -1
  168. package/dist/mechanic-role.js +0 -1
  169. package/dist/native-skill-adoption.js +0 -1
  170. package/dist/native-skill-mirror.js +0 -1
  171. package/dist/native-skill-pending.js +0 -1
  172. package/dist/opencode-plugin-crush.js +0 -1
  173. package/dist/opencode-plugin-helpers.js +0 -1
  174. package/dist/opencode-plugin-png.js +0 -1
  175. package/dist/opencode-plugin.js +0 -1
  176. package/dist/proc.js +0 -1
  177. package/dist/procedure-run.js +0 -1
  178. package/dist/procedure-runtime.js +0 -1
  179. package/dist/procedure-shadow.js +0 -1
  180. package/dist/procedure-watch.js +0 -1
  181. package/dist/procedure.js +0 -1
  182. package/dist/project-anchor.js +0 -1
  183. package/dist/reminder-injector.js +0 -1
  184. package/dist/secret-scrubber.js +0 -1
  185. package/dist/session-id.js +0 -1
  186. package/dist/skill-activation-manifest.js +0 -1
  187. package/dist/skill-landing.js +0 -1
  188. package/dist/skill-mirror-client.js +0 -1
  189. package/dist/skill-mirror-files.js +0 -1
  190. package/dist/skill-staleness.js +0 -1
  191. package/dist/turn-provenance.js +0 -1
  192. package/dist/windows-shims.js +0 -1
  193. package/dist/worktree-state.js +0 -1
  194. package/package.json +1 -1
  195. package/dist/archive/glyph-font.d.ts +0 -22
  196. package/dist/archive/glyph-font.js.map +0 -1
  197. package/dist/archive/page-renderer.d.ts +0 -67
  198. package/dist/archive/page-renderer.js.map +0 -1
  199. package/dist/archive/png-codec.d.ts +0 -21
  200. package/dist/archive/png-codec.js.map +0 -1
  201. package/dist/archive/transcript-extract.d.ts +0 -39
  202. package/dist/archive/transcript-extract.js.map +0 -1
  203. package/dist/assistant-doctrine.d.ts +0 -23
  204. package/dist/assistant-doctrine.js.map +0 -1
  205. package/dist/capture-manifest.d.ts +0 -20
  206. package/dist/capture-manifest.js.map +0 -1
  207. package/dist/ccr-store.d.ts +0 -49
  208. package/dist/ccr-store.js.map +0 -1
  209. package/dist/claude-lifecycle-cutover.d.ts +0 -23
  210. package/dist/claude-lifecycle-cutover.js.map +0 -1
  211. package/dist/codex-chip-hooks.d.ts +0 -16
  212. package/dist/codex-chip-hooks.js.map +0 -1
  213. package/dist/codex-delegation-dedupe.d.ts +0 -4
  214. package/dist/codex-delegation-dedupe.js.map +0 -1
  215. package/dist/codex-fast-hook.d.ts +0 -2
  216. package/dist/codex-fast-hook.js.map +0 -1
  217. package/dist/codex-hook-events.d.ts +0 -20
  218. package/dist/codex-hook-events.js.map +0 -1
  219. package/dist/codex-notify-hook.d.ts +0 -2
  220. package/dist/codex-notify-hook.js.map +0 -1
  221. package/dist/codex-prompt-cache.d.ts +0 -11
  222. package/dist/codex-prompt-cache.js.map +0 -1
  223. package/dist/codex-steering.d.ts +0 -30
  224. package/dist/codex-steering.js.map +0 -1
  225. package/dist/codex-store-background.d.ts +0 -2
  226. package/dist/codex-store-background.js.map +0 -1
  227. package/dist/commands/agent-doctrine-file.d.ts +0 -53
  228. package/dist/commands/agent-doctrine-file.js.map +0 -1
  229. package/dist/commands/agents.d.ts +0 -41
  230. package/dist/commands/agents.js.map +0 -1
  231. package/dist/commands/archive.d.ts +0 -81
  232. package/dist/commands/archive.js.map +0 -1
  233. package/dist/commands/arm-reminder.d.ts +0 -30
  234. package/dist/commands/arm-reminder.js.map +0 -1
  235. package/dist/commands/assistant-reminder.d.ts +0 -9
  236. package/dist/commands/assistant-reminder.js.map +0 -1
  237. package/dist/commands/assistant.d.ts +0 -20
  238. package/dist/commands/assistant.js.map +0 -1
  239. package/dist/commands/checkpoint-helpers.d.ts +0 -41
  240. package/dist/commands/checkpoint-helpers.js.map +0 -1
  241. package/dist/commands/checkpoint.d.ts +0 -16
  242. package/dist/commands/checkpoint.js.map +0 -1
  243. package/dist/commands/claude-md-patch.d.ts +0 -56
  244. package/dist/commands/claude-md-patch.js.map +0 -1
  245. package/dist/commands/codex-app-server-client.d.ts +0 -46
  246. package/dist/commands/codex-app-server-client.js.map +0 -1
  247. package/dist/commands/codex-app-server.d.ts +0 -1
  248. package/dist/commands/codex-app-server.js.map +0 -1
  249. package/dist/commands/codex-chip/bootstrap.d.ts +0 -8
  250. package/dist/commands/codex-chip/bootstrap.js.map +0 -1
  251. package/dist/commands/codex-chip/breakthrough-ack-command.d.ts +0 -1
  252. package/dist/commands/codex-chip/breakthrough-ack-command.js.map +0 -1
  253. package/dist/commands/codex-chip/breakthrough-command.d.ts +0 -5
  254. package/dist/commands/codex-chip/breakthrough-command.js.map +0 -1
  255. package/dist/commands/codex-chip/breakthrough.d.ts +0 -15
  256. package/dist/commands/codex-chip/breakthrough.js.map +0 -1
  257. package/dist/commands/codex-chip/cleanup-command.d.ts +0 -2
  258. package/dist/commands/codex-chip/cleanup-command.js.map +0 -1
  259. package/dist/commands/codex-chip/command.d.ts +0 -3
  260. package/dist/commands/codex-chip/command.js.map +0 -1
  261. package/dist/commands/codex-chip/git.d.ts +0 -34
  262. package/dist/commands/codex-chip/git.js.map +0 -1
  263. package/dist/commands/codex-chip/goal-command.d.ts +0 -1
  264. package/dist/commands/codex-chip/goal-command.js.map +0 -1
  265. package/dist/commands/codex-chip/goals.d.ts +0 -73
  266. package/dist/commands/codex-chip/goals.js.map +0 -1
  267. package/dist/commands/codex-chip/help.d.ts +0 -1
  268. package/dist/commands/codex-chip/help.js.map +0 -1
  269. package/dist/commands/codex-chip/inbox.d.ts +0 -10
  270. package/dist/commands/codex-chip/inbox.js.map +0 -1
  271. package/dist/commands/codex-chip/lifecycle.d.ts +0 -8
  272. package/dist/commands/codex-chip/lifecycle.js.map +0 -1
  273. package/dist/commands/codex-chip/mechanic-lifecycle.d.ts +0 -5
  274. package/dist/commands/codex-chip/mechanic-lifecycle.js.map +0 -1
  275. package/dist/commands/codex-chip/model.d.ts +0 -155
  276. package/dist/commands/codex-chip/model.js.map +0 -1
  277. package/dist/commands/codex-chip/naming.d.ts +0 -8
  278. package/dist/commands/codex-chip/naming.js.map +0 -1
  279. package/dist/commands/codex-chip/native.d.ts +0 -70
  280. package/dist/commands/codex-chip/native.js.map +0 -1
  281. package/dist/commands/codex-chip/prompt.d.ts +0 -3
  282. package/dist/commands/codex-chip/prompt.js.map +0 -1
  283. package/dist/commands/codex-chip/resume-command.d.ts +0 -7
  284. package/dist/commands/codex-chip/resume-command.js.map +0 -1
  285. package/dist/commands/codex-chip/selection.d.ts +0 -14
  286. package/dist/commands/codex-chip/selection.js.map +0 -1
  287. package/dist/commands/codex-chip/store.d.ts +0 -16
  288. package/dist/commands/codex-chip/store.js.map +0 -1
  289. package/dist/commands/codex-chip/worker.d.ts +0 -4
  290. package/dist/commands/codex-chip/worker.js.map +0 -1
  291. package/dist/commands/codex-delivery.d.ts +0 -67
  292. package/dist/commands/codex-delivery.js.map +0 -1
  293. package/dist/commands/codex-doctor.d.ts +0 -5
  294. package/dist/commands/codex-doctor.js.map +0 -1
  295. package/dist/commands/codex-model-policy.d.ts +0 -19
  296. package/dist/commands/codex-model-policy.js.map +0 -1
  297. package/dist/commands/codex-startup.d.ts +0 -13
  298. package/dist/commands/codex-startup.js.map +0 -1
  299. package/dist/commands/codex-supervisor.d.ts +0 -17
  300. package/dist/commands/codex-supervisor.js.map +0 -1
  301. package/dist/commands/codex-wake-test.d.ts +0 -46
  302. package/dist/commands/codex-wake-test.js.map +0 -1
  303. package/dist/commands/codex-watch-health.d.ts +0 -68
  304. package/dist/commands/codex-watch-health.js.map +0 -1
  305. package/dist/commands/codex.d.ts +0 -28
  306. package/dist/commands/codex.js.map +0 -1
  307. package/dist/commands/collision-check.d.ts +0 -112
  308. package/dist/commands/collision-check.js.map +0 -1
  309. package/dist/commands/collision-reminder.d.ts +0 -14
  310. package/dist/commands/collision-reminder.js.map +0 -1
  311. package/dist/commands/context-governor.d.ts +0 -87
  312. package/dist/commands/context-governor.js.map +0 -1
  313. package/dist/commands/coordinate-gate.d.ts +0 -80
  314. package/dist/commands/coordinate-gate.js.map +0 -1
  315. package/dist/commands/corpus/client.d.ts +0 -71
  316. package/dist/commands/corpus/client.js.map +0 -1
  317. package/dist/commands/corpus/index.d.ts +0 -24
  318. package/dist/commands/corpus/index.js.map +0 -1
  319. package/dist/commands/corpus/manage.d.ts +0 -6
  320. package/dist/commands/corpus/manage.js.map +0 -1
  321. package/dist/commands/corpus/refresh.d.ts +0 -12
  322. package/dist/commands/corpus/refresh.js.map +0 -1
  323. package/dist/commands/corpus/search.d.ts +0 -6
  324. package/dist/commands/corpus/search.js.map +0 -1
  325. package/dist/commands/corpus/section.d.ts +0 -5
  326. package/dist/commands/corpus/section.js.map +0 -1
  327. package/dist/commands/corpus/source.d.ts +0 -15
  328. package/dist/commands/corpus/source.js.map +0 -1
  329. package/dist/commands/corpus/status.d.ts +0 -5
  330. package/dist/commands/corpus/status.js.map +0 -1
  331. package/dist/commands/corpus/tags.d.ts +0 -17
  332. package/dist/commands/corpus/tags.js.map +0 -1
  333. package/dist/commands/corpus/upload.d.ts +0 -7
  334. package/dist/commands/corpus/upload.js.map +0 -1
  335. package/dist/commands/corpus/walk.d.ts +0 -5
  336. package/dist/commands/corpus/walk.js.map +0 -1
  337. package/dist/commands/corpus-reminder.d.ts +0 -15
  338. package/dist/commands/corpus-reminder.js.map +0 -1
  339. package/dist/commands/crush-stats.d.ts +0 -36
  340. package/dist/commands/crush-stats.js.map +0 -1
  341. package/dist/commands/crush.d.ts +0 -33
  342. package/dist/commands/crush.js.map +0 -1
  343. package/dist/commands/delivery-reminder.d.ts +0 -10
  344. package/dist/commands/delivery-reminder.js.map +0 -1
  345. package/dist/commands/delivery.d.ts +0 -1
  346. package/dist/commands/delivery.js.map +0 -1
  347. package/dist/commands/desk-line.d.ts +0 -36
  348. package/dist/commands/desk-line.js.map +0 -1
  349. package/dist/commands/discord.d.ts +0 -72
  350. package/dist/commands/discord.js.map +0 -1
  351. package/dist/commands/discover.d.ts +0 -45
  352. package/dist/commands/discover.js.map +0 -1
  353. package/dist/commands/doc-pointer-reminder.d.ts +0 -20
  354. package/dist/commands/doc-pointer-reminder.js.map +0 -1
  355. package/dist/commands/doc.d.ts +0 -6
  356. package/dist/commands/doc.js.map +0 -1
  357. package/dist/commands/docptr.d.ts +0 -17
  358. package/dist/commands/docptr.js.map +0 -1
  359. package/dist/commands/doctor.d.ts +0 -15
  360. package/dist/commands/doctor.js.map +0 -1
  361. package/dist/commands/email-primer-reminder.d.ts +0 -23
  362. package/dist/commands/email-primer-reminder.js.map +0 -1
  363. package/dist/commands/email.d.ts +0 -18
  364. package/dist/commands/email.js.map +0 -1
  365. package/dist/commands/enrichment-health-reminder.d.ts +0 -23
  366. package/dist/commands/enrichment-health-reminder.js.map +0 -1
  367. package/dist/commands/fix.d.ts +0 -50
  368. package/dist/commands/fix.js.map +0 -1
  369. package/dist/commands/friction-reminder.d.ts +0 -70
  370. package/dist/commands/friction-reminder.js.map +0 -1
  371. package/dist/commands/identity.d.ts +0 -24
  372. package/dist/commands/identity.js.map +0 -1
  373. package/dist/commands/inbox-drain.d.ts +0 -48
  374. package/dist/commands/inbox-drain.js.map +0 -1
  375. package/dist/commands/inbox-primer-reminder.d.ts +0 -27
  376. package/dist/commands/inbox-primer-reminder.js.map +0 -1
  377. package/dist/commands/inbox-retract.d.ts +0 -18
  378. package/dist/commands/inbox-retract.js.map +0 -1
  379. package/dist/commands/inbox-watch-supervisor.d.ts +0 -66
  380. package/dist/commands/inbox-watch-supervisor.js.map +0 -1
  381. package/dist/commands/inbox-watch.d.ts +0 -127
  382. package/dist/commands/inbox-watch.js.map +0 -1
  383. package/dist/commands/ingress-trigger.d.ts +0 -67
  384. package/dist/commands/ingress-trigger.js.map +0 -1
  385. package/dist/commands/init.d.ts +0 -48
  386. package/dist/commands/init.js.map +0 -1
  387. package/dist/commands/load-primer-reminder.d.ts +0 -38
  388. package/dist/commands/load-primer-reminder.js.map +0 -1
  389. package/dist/commands/load.d.ts +0 -20
  390. package/dist/commands/load.js.map +0 -1
  391. package/dist/commands/loadout-reminder.d.ts +0 -37
  392. package/dist/commands/loadout-reminder.js.map +0 -1
  393. package/dist/commands/loadout.d.ts +0 -15
  394. package/dist/commands/loadout.js.map +0 -1
  395. package/dist/commands/mechanic-live.d.ts +0 -12
  396. package/dist/commands/mechanic-live.js.map +0 -1
  397. package/dist/commands/mechanic-manifest.d.ts +0 -28
  398. package/dist/commands/mechanic-manifest.js.map +0 -1
  399. package/dist/commands/mechanic-spawn.d.ts +0 -39
  400. package/dist/commands/mechanic-spawn.js.map +0 -1
  401. package/dist/commands/mechanic.d.ts +0 -101
  402. package/dist/commands/mechanic.js.map +0 -1
  403. package/dist/commands/memory-format.d.ts +0 -68
  404. package/dist/commands/memory-format.js.map +0 -1
  405. package/dist/commands/memory-reflex.d.ts +0 -20
  406. package/dist/commands/memory-reflex.js.map +0 -1
  407. package/dist/commands/memory.d.ts +0 -74
  408. package/dist/commands/memory.js.map +0 -1
  409. package/dist/commands/opencode-chip-client.d.ts +0 -8
  410. package/dist/commands/opencode-chip-client.js.map +0 -1
  411. package/dist/commands/opencode-chip-lifecycle.d.ts +0 -2
  412. package/dist/commands/opencode-chip-lifecycle.js.map +0 -1
  413. package/dist/commands/opencode-chip-mission.d.ts +0 -22
  414. package/dist/commands/opencode-chip-mission.js.map +0 -1
  415. package/dist/commands/opencode-chip-store.d.ts +0 -72
  416. package/dist/commands/opencode-chip-store.js.map +0 -1
  417. package/dist/commands/opencode-chip.d.ts +0 -3
  418. package/dist/commands/opencode-chip.js.map +0 -1
  419. package/dist/commands/opencode-goals.d.ts +0 -5
  420. package/dist/commands/opencode-goals.js.map +0 -1
  421. package/dist/commands/opencode-interrupt.d.ts +0 -34
  422. package/dist/commands/opencode-interrupt.js.map +0 -1
  423. package/dist/commands/opencode-relay.d.ts +0 -144
  424. package/dist/commands/opencode-relay.js.map +0 -1
  425. package/dist/commands/opencode-watch.d.ts +0 -17
  426. package/dist/commands/opencode-watch.js.map +0 -1
  427. package/dist/commands/os-primer-reminder.d.ts +0 -14
  428. package/dist/commands/os-primer-reminder.js.map +0 -1
  429. package/dist/commands/parity.d.ts +0 -20
  430. package/dist/commands/parity.js.map +0 -1
  431. package/dist/commands/pipe-wrap.d.ts +0 -97
  432. package/dist/commands/pipe-wrap.js.map +0 -1
  433. package/dist/commands/poll-registry.d.ts +0 -56
  434. package/dist/commands/poll-registry.js.map +0 -1
  435. package/dist/commands/procedure-reminder.d.ts +0 -8
  436. package/dist/commands/procedure-reminder.js.map +0 -1
  437. package/dist/commands/procedure.d.ts +0 -15
  438. package/dist/commands/procedure.js.map +0 -1
  439. package/dist/commands/project.d.ts +0 -16
  440. package/dist/commands/project.js.map +0 -1
  441. package/dist/commands/reminder-registry.d.ts +0 -47
  442. package/dist/commands/reminder-registry.js.map +0 -1
  443. package/dist/commands/reminder-types.d.ts +0 -208
  444. package/dist/commands/reminder-types.js.map +0 -1
  445. package/dist/commands/search-guard.d.ts +0 -18
  446. package/dist/commands/search-guard.js.map +0 -1
  447. package/dist/commands/session.d.ts +0 -8
  448. package/dist/commands/session.js.map +0 -1
  449. package/dist/commands/setup-reminder.d.ts +0 -9
  450. package/dist/commands/setup-reminder.js.map +0 -1
  451. package/dist/commands/shell-dialect-guard.d.ts +0 -25
  452. package/dist/commands/shell-dialect-guard.js.map +0 -1
  453. package/dist/commands/skill-gain-reminder.d.ts +0 -17
  454. package/dist/commands/skill-gain-reminder.js.map +0 -1
  455. package/dist/commands/skill-mirror-reminder.d.ts +0 -10
  456. package/dist/commands/skill-mirror-reminder.js.map +0 -1
  457. package/dist/commands/skill.d.ts +0 -1
  458. package/dist/commands/skill.js.map +0 -1
  459. package/dist/commands/skillgain.d.ts +0 -12
  460. package/dist/commands/skillgain.js.map +0 -1
  461. package/dist/commands/sms.d.ts +0 -11
  462. package/dist/commands/sms.js.map +0 -1
  463. package/dist/commands/state-trigger.d.ts +0 -103
  464. package/dist/commands/state-trigger.js.map +0 -1
  465. package/dist/commands/status.d.ts +0 -69
  466. package/dist/commands/status.js.map +0 -1
  467. package/dist/commands/version-reminder.d.ts +0 -27
  468. package/dist/commands/version-reminder.js.map +0 -1
  469. package/dist/commands/watcher-registry.d.ts +0 -121
  470. package/dist/commands/watcher-registry.js.map +0 -1
  471. package/dist/crush/adaptive-sizer.d.ts +0 -40
  472. package/dist/crush/adaptive-sizer.js.map +0 -1
  473. package/dist/crush/code-compressor.d.ts +0 -61
  474. package/dist/crush/code-compressor.js.map +0 -1
  475. package/dist/crush/crush-keywords.d.ts +0 -40
  476. package/dist/crush/crush-keywords.js.map +0 -1
  477. package/dist/crush/crush-types.d.ts +0 -38
  478. package/dist/crush/crush-types.js.map +0 -1
  479. package/dist/crush/index.d.ts +0 -17
  480. package/dist/crush/index.js.map +0 -1
  481. package/dist/crush/json-crusher.d.ts +0 -38
  482. package/dist/crush/json-crusher.js.map +0 -1
  483. package/dist/crush/json-detectors.d.ts +0 -48
  484. package/dist/crush/json-detectors.js.map +0 -1
  485. package/dist/crush/log-compressor.d.ts +0 -60
  486. package/dist/crush/log-compressor.js.map +0 -1
  487. package/dist/crush/search-compressor.d.ts +0 -60
  488. package/dist/crush/search-compressor.js.map +0 -1
  489. package/dist/delivery-config.d.ts +0 -35
  490. package/dist/delivery-config.js.map +0 -1
  491. package/dist/delivery-lifecycle.d.ts +0 -3
  492. package/dist/delivery-lifecycle.js.map +0 -1
  493. package/dist/doc-mirror-client.d.ts +0 -56
  494. package/dist/doc-mirror-client.js.map +0 -1
  495. package/dist/docptr-refs.d.ts +0 -37
  496. package/dist/docptr-refs.js.map +0 -1
  497. package/dist/email-pull.d.ts +0 -106
  498. package/dist/email-pull.js.map +0 -1
  499. package/dist/email-send.d.ts +0 -75
  500. package/dist/email-send.js.map +0 -1
  501. package/dist/equipped-loadouts-cache.d.ts +0 -20
  502. package/dist/equipped-loadouts-cache.js.map +0 -1
  503. package/dist/fix-trigger.d.ts +0 -63
  504. package/dist/fix-trigger.js.map +0 -1
  505. package/dist/guard.d.ts +0 -129
  506. package/dist/guard.js.map +0 -1
  507. package/dist/harness.d.ts +0 -6
  508. package/dist/harness.js.map +0 -1
  509. package/dist/hook-runtime.d.ts +0 -22
  510. package/dist/hook-runtime.js.map +0 -1
  511. package/dist/hook.d.ts +0 -8
  512. package/dist/hook.js.map +0 -1
  513. package/dist/inbox-attachments.d.ts +0 -37
  514. package/dist/inbox-attachments.js.map +0 -1
  515. package/dist/index.d.ts +0 -9
  516. package/dist/index.js.map +0 -1
  517. package/dist/inline-atom-background.d.ts +0 -9
  518. package/dist/inline-atom-background.js.map +0 -1
  519. package/dist/inline-atom-episode.d.ts +0 -85
  520. package/dist/inline-atom-episode.js.map +0 -1
  521. package/dist/inline-atom-hook.d.ts +0 -22
  522. package/dist/inline-atom-hook.js.map +0 -1
  523. package/dist/inline-atom-worker.d.ts +0 -2
  524. package/dist/inline-atom-worker.js.map +0 -1
  525. package/dist/inline-atom.d.ts +0 -52
  526. package/dist/inline-atom.js.map +0 -1
  527. package/dist/mechanic-friction.d.ts +0 -82
  528. package/dist/mechanic-friction.js.map +0 -1
  529. package/dist/mechanic-role.d.ts +0 -20
  530. package/dist/mechanic-role.js.map +0 -1
  531. package/dist/native-skill-adoption.d.ts +0 -45
  532. package/dist/native-skill-adoption.js.map +0 -1
  533. package/dist/native-skill-mirror.d.ts +0 -50
  534. package/dist/native-skill-mirror.js.map +0 -1
  535. package/dist/native-skill-pending.d.ts +0 -44
  536. package/dist/native-skill-pending.js.map +0 -1
  537. package/dist/opencode-plugin-crush.d.ts +0 -137
  538. package/dist/opencode-plugin-crush.js.map +0 -1
  539. package/dist/opencode-plugin-helpers.d.ts +0 -200
  540. package/dist/opencode-plugin-helpers.js.map +0 -1
  541. package/dist/opencode-plugin-png.d.ts +0 -151
  542. package/dist/opencode-plugin-png.js.map +0 -1
  543. package/dist/opencode-plugin.d.ts +0 -93
  544. package/dist/opencode-plugin.js.map +0 -1
  545. package/dist/proc.d.ts +0 -35
  546. package/dist/proc.js.map +0 -1
  547. package/dist/procedure-run.d.ts +0 -51
  548. package/dist/procedure-run.js.map +0 -1
  549. package/dist/procedure-runtime.d.ts +0 -28
  550. package/dist/procedure-runtime.js.map +0 -1
  551. package/dist/procedure-shadow.d.ts +0 -31
  552. package/dist/procedure-shadow.js.map +0 -1
  553. package/dist/procedure-watch.d.ts +0 -155
  554. package/dist/procedure-watch.js.map +0 -1
  555. package/dist/procedure.d.ts +0 -164
  556. package/dist/procedure.js.map +0 -1
  557. package/dist/project-anchor.d.ts +0 -110
  558. package/dist/project-anchor.js.map +0 -1
  559. package/dist/reminder-injector.d.ts +0 -3
  560. package/dist/reminder-injector.js.map +0 -1
  561. package/dist/secret-scrubber.d.ts +0 -48
  562. package/dist/secret-scrubber.js.map +0 -1
  563. package/dist/session-id.d.ts +0 -98
  564. package/dist/session-id.js.map +0 -1
  565. package/dist/skill-activation-manifest.d.ts +0 -37
  566. package/dist/skill-activation-manifest.js.map +0 -1
  567. package/dist/skill-landing.d.ts +0 -88
  568. package/dist/skill-landing.js.map +0 -1
  569. package/dist/skill-mirror-client.d.ts +0 -59
  570. package/dist/skill-mirror-client.js.map +0 -1
  571. package/dist/skill-mirror-files.d.ts +0 -6
  572. package/dist/skill-mirror-files.js.map +0 -1
  573. package/dist/skill-staleness.d.ts +0 -57
  574. package/dist/skill-staleness.js.map +0 -1
  575. package/dist/turn-provenance.d.ts +0 -18
  576. package/dist/turn-provenance.js.map +0 -1
  577. package/dist/windows-shims.d.ts +0 -46
  578. package/dist/windows-shims.js.map +0 -1
  579. package/dist/worktree-state.d.ts +0 -14
  580. package/dist/worktree-state.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-skill-pending.js","sourceRoot":"","sources":["../src/native-skill-pending.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEH,kEAEC;AAUD,kEAMC;AAyHD,gEA+DC;AA9QD,oDAAsC;AACtC,4CAA8B;AAC9B,4CAA8B;AAC9B,gDAAkC;AAClC,+DAM+B;AAC/B,6DAA4E;AAE5E,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AA4C1D,SAAS,OAAO,CAAC,UAAmB;IAClC,OAAO,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,2BAA2B,CAAC,IAAa;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,SAAgB,2BAA2B,CAAC,IAAa;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;QACjH,IAAI,MAAM,EAAE,OAAO,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;IAC7G,CAAC;IAAC,MAAM,CAAC,CAAC,4DAA4D,CAAC,CAAC;IACxE,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,KAA8B;IAChF,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC/C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAAa;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAKzB;IACC,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,oDAA8B,EAAE,CAAC;QACtD,IAAI,CAAC,IAAA,8CAAwB,EAAC,QAAQ,CAAC;YAAE,SAAS;QAClD,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAA,qCAAe,EAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7D,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ;gBACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAA,4CAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,MAM5B;IACC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,SAAS;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IACxE,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACtB,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc;QAAE,OAAO,IAAI,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAW,EAAQ,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO;QACtC,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;gBAAE,OAAO;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClH,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,QAAgB;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC1G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB,EAAE,KAAkB;IACnE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CAAC,MAO1C;IACC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG;QACH,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,GAAuB;YAClC,EAAE;YACF,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,IAAA,yCAAoB,EAAC,KAAK,CAAC;YACxC,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YAC1C,WAAW;YACX,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;YACxC,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM;QAAE,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM;QAC9C,iBAAiB,EAAE,OAAO,CAAC,MAAM;KAClC,CAAC;AACJ,CAAC"}
@@ -1,137 +0,0 @@
1
- /** opencode-plugin-crush.ts — the inline outbound-context CRUSHER for opencode.
2
- *
3
- * WHY THIS EXISTS — Claude Code's harness can only REWRITE a bash command to
4
- * pipe its output through `greprag crush` (the pipe-wrap PreToolUse hook); it
5
- * cannot replace context already sitting in the outbound message array. opencode
6
- * CAN: `experimental.chat.messages.transform` fires before every LLM call with
7
- * the full outbound `output.messages` in hand. This module is the engine the
8
- * plugin's transform hook runs — it walks the message parts and crushes the
9
- * bulky ones IN-PROCESS (no per-part subprocess), reversibly, reusing greprag's
10
- * existing crush engine.
11
- *
12
- * HARD CONSTRAINTS this design serves:
13
- * - DEP-FREE. The deployed plugin loads its sidecars by absolute path from
14
- * ~/.greprag/ under Bun, where neither relative `require('./proc')` nor
15
- * npm deps like `sql.js` resolve. So this file imports ONLY the pure crush
16
- * engine (`./crush`, zero deps, deployed as ~/.greprag/crush/) — nothing
17
- * else. The CCR store (sql.js) and the spawn wrapper (proc) are NOT imported
18
- * here; CCR persistence is INJECTED via the `stash` callback so the sidecar
19
- * stays loadable inside the plugin.
20
- * - IN-PROCESS transform. The crush compression (CPU-bound, runs for every
21
- * crushable part of every message on every LLM call) never spawns a process.
22
- * Only the rare PERSISTENCE of an original is delegated (the plugin's stash
23
- * fires `greprag ccr put` once per part actually crushed — off the hot path).
24
- *
25
- * INVARIANTS (mirror adr/crush-engine.md, enforced per-field here):
26
- * - Reversible: a crushed field becomes `<crushed>\n<<ccr:HASH>>`; the stash
27
- * callback persists the byte-exact original so `greprag retrieve <hash>`
28
- * recovers it. HASH is sha256(original)[:16] — the SAME value CcrStore.put
29
- * computes, so the plugin can compute it in-process and the CLI store agrees.
30
- * - token-validate-or-revert (Headroom): a field is replaced ONLY when the
31
- * crushed + marker text costs strictly fewer estimated tokens; else the
32
- * original is kept untouched.
33
- * - Idempotent: a field already carrying a `<<ccr:` marker is never re-crushed.
34
- * - DETERMINISTIC (= cache-preserving): crush is a PURE function of the field
35
- * content — same bytes in, byte-identical bytes out, every call. opencode
36
- * hands us the ORIGINAL message array each LLM call, so a deterministic crush
37
- * reproduces the SAME crushed prefix → the Anthropic prompt cache stays warm.
38
- * This is why Headroom's literal "skip already-cached blocks" does NOT port:
39
- * skipping = forwarding originals = a DIFFERENT (larger) prefix = a cache
40
- * BREAK. Deterministic crush is the portable equivalent of live-zone-only —
41
- * it preserves the cache by being reproducible, not by leaving history alone.
42
- * The optional per-session `memo` (below) is a pure CPU optimization on top:
43
- * it skips RE-CRUSHING unchanged history parts; it never changes the bytes.
44
- * - Non-destructive: mutates ONLY the message objects it is handed (the
45
- * request-scoped `output.messages` copy). It never touches opencode's
46
- * persisted session history — that contract is the caller's to honor by
47
- * passing the request-scoped array.
48
- * - Defensive: every part is processed under try/catch — a crush failure is
49
- * swallowed and the part is left verbatim, so a turn is NEVER broken.
50
- */
51
- export type CrushType = 'log' | 'search' | 'json' | 'code';
52
- /** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker(). */
53
- export declare function ccrMarker(hash: string): string;
54
- /** Default byte floor — fields smaller than this pass through untouched. */
55
- export declare const DEFAULT_THRESHOLD_BYTES = 2048;
56
- /** Persist the byte-exact `original` into the CCR store and return its 16-hex
57
- * marker hash. Injected so this sidecar stays dep-free:
58
- * - CLI / unit test: backed by CcrStore.put (sql.js, synchronous, byte-exact).
59
- * - opencode plugin: sha256 in-process + fire-and-forget `greprag ccr put`. */
60
- export type CcrStash = (original: string, sourceType: CrushType) => string;
61
- /** Default cap on memo entries — a long marathon session has thousands of
62
- * history parts, but only the bulky (over-floor) ones ever reach the memo, and
63
- * FIFO eviction keeps memory bounded regardless of session length. */
64
- export declare const DEFAULT_MEMO_ENTRIES = 1024;
65
- /** A bounded content→replacement cache. Keys are content hashes; values are the
66
- * crush RESULT for that exact content (a replacement string, or `null` for
67
- * "left verbatim"). Reused across every `crushMessages` call in one session so
68
- * unchanged history parts are not re-crushed each LLM turn. */
69
- export interface CrushMemo {
70
- has(key: string): boolean;
71
- get(key: string): string | null | undefined;
72
- set(key: string, value: string | null): void;
73
- readonly size: number;
74
- }
75
- /** FIFO-bounded memo. `set` keeps the FIRST value for a key (crush is
76
- * deterministic, so re-sets would be identical anyway) and evicts the oldest
77
- * entry once `maxEntries` is exceeded — never unbounded growth. */
78
- export declare function createCrushMemo(maxEntries?: number): CrushMemo;
79
- /** Cheap, dependency-free content key for the memo: length + two independent
80
- * rolling hashes (FNV-1a 32 + djb2). The length prefix plus two hashes make a
81
- * collision astronomically unlikely at any realistic session size — and a memo
82
- * is only ever a CPU shortcut, so the worst theoretical case (a collision) is
83
- * bounded by the determinism contract: identical content always crushes the
84
- * same, so we never want two DIFFERENT contents to share a key, which the
85
- * length+double-hash composite guards against. */
86
- export declare function memoKey(content: string): string;
87
- export interface CrushMessagesOptions {
88
- /** Persist the original; returns the 16-hex marker hash. Required. */
89
- stash: CcrStash;
90
- /** Byte floor for crushing a field. Default DEFAULT_THRESHOLD_BYTES. */
91
- thresholdBytes?: number;
92
- /** Optional bounded per-session memo (see createCrushMemo). Lets a long
93
- * session skip re-crushing unchanged history parts every LLM call — a CPU
94
- * win, the portable equivalent of Headroom's live-zone-only. Never changes
95
- * output bytes (determinism is preserved with or without it). */
96
- memo?: CrushMemo;
97
- }
98
- export interface CrushMessagesStats {
99
- /** Fields replaced with crushed + marker text. */
100
- partsCrushed: number;
101
- /** Fields left verbatim (below threshold, already-marked, or a thrown crush). */
102
- partsSkipped: number;
103
- /** Fields the engine could not shrink — token-validate-or-revert kept them. */
104
- partsReverted: number;
105
- /** Total bytes of the over-threshold fields seen. */
106
- bytesBefore: number;
107
- /** Total bytes of those fields after processing. */
108
- bytesAfter: number;
109
- /** Heavy-path invocations of crushField (over-floor, unmarked, memo miss). */
110
- crushFieldCalls: number;
111
- /** Over-floor fields served from the memo without re-running crushField. */
112
- memoHits: number;
113
- }
114
- /** Pick the crush engine for a raw content string. Output-shape heuristics,
115
- * since (unlike pipe-wrap) we see the OUTPUT, not the producing command:
116
- * - leading `{` / `[` → json
117
- * - majority `file:line:` → search (grep/rg match lines, incl. `-`-context)
118
- * - reads as source code → code (imports/signatures kept, bodies elided)
119
- * - else → log (the safe generalist: keeps errors + traces,
120
- * dedupes spam; a misclassified field just
121
- * compresses less, never wrongly).
122
- * Code is tested AFTER json/search (those have sharper signals) and BEFORE the
123
- * log fallback; `looksLikeCode` is conservative so a log/prose field never
124
- * routes here (it would only compress less, but the contract is: don't misroute). */
125
- export declare function classifyContent(text: string): CrushType;
126
- /** Crush one content string. Returns the replacement (`<crushed>\n<<ccr:HASH>>`)
127
- * or null to leave the original UNTOUCHED. Honors byte threshold, idempotency,
128
- * passthrough, and token-validate-or-revert. The stash side effect fires ONLY
129
- * on a real crush (after validation passes), so a reverted/skipped field is
130
- * never persisted. */
131
- export declare function crushField(content: string, stash: CcrStash, thresholdBytes?: number): string | null;
132
- /** Walk an opencode outbound message array (`output.messages`) and crush its
133
- * bulky parts in place. Each message is `{ info, parts[] }`. Every part is
134
- * processed under try/catch — a thrown crush (or a thrown stash) is swallowed,
135
- * the part is left verbatim, and the walk continues: a crush failure NEVER
136
- * breaks the turn. Non-array / malformed input is handled defensively. */
137
- export declare function crushMessages(messages: unknown, opts: CrushMessagesOptions): CrushMessagesStats;
@@ -1 +0,0 @@
1
- {"version":3,"file":"opencode-plugin-crush.js","sourceRoot":"","sources":["../src/opencode-plugin-crush.ts"],"names":[],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- /** GrepRAG opencode plugin — test-friendly helpers.
2
- *
3
- * Pure functions and type definitions extracted from `opencode-plugin.ts` so
4
- * the deployed plugin file can use a single `export = { id, server }` shape
5
- * (no `__esModule: true` wrapper, no `__test` helper export). The opencode
6
- * legacy plugin loader iterates `Object.values(mod)` and rejects any value
7
- * that isn't a function or `{ server: function }`; an `__esModule: true`
8
- * boolean in that iteration throws "Plugin export is not a function" and the
9
- * plugin registers zero hooks. See `adr/opencode-monitor-relay.md` 2026-06-06
10
- * entries (e) and (f) for the full diagnosis.
11
- *
12
- * Three callers, all out-of-band of opencode's loader:
13
- * - `opencode-plugin.ts` — the deployed plugin source imports these for use
14
- * inside the V1 server function (recap renderer + anchor + lockfile).
15
- * - `hook.ts` — Claude/Codex SessionStart hook imports the recap renderer
16
- * so the recap body pushed to the system prompt is identical between
17
- * harnesses. The hook keeps its own preamble (setup warning, checkpoint
18
- * hint) — those are session-start UX concerns, not recap content.
19
- * - `tests/test-opencode-plugin.cjs` and `tests/test-opencode-relay-spawn.cjs`
20
- * — unit tests pull the same helpers by `require()` to exercise envelope
21
- * construction, anchor resolution, and lockfile dedup without booting
22
- * opencode.
23
- *
24
- * opencode never loads this file directly. Its presence at
25
- * `~/.config/opencode/plugins/greprag-memory-helpers.js` is incidental to the
26
- * deploy step; only `greprag-memory.js` is registered in the user's
27
- * `opencode.json` plugin list.
28
- */
29
- declare const HOME: string;
30
- interface TextPart {
31
- type: 'text';
32
- text: string;
33
- synthetic?: boolean;
34
- ignored?: boolean;
35
- }
36
- type ToolState = {
37
- status: 'pending';
38
- input: Record<string, unknown>;
39
- } | {
40
- status: 'running';
41
- input: Record<string, unknown>;
42
- title?: string;
43
- } | {
44
- status: 'completed';
45
- input: Record<string, unknown>;
46
- output: string;
47
- title: string;
48
- } | {
49
- status: 'error';
50
- input: Record<string, unknown>;
51
- error: string;
52
- };
53
- interface ToolPart {
54
- type: 'tool';
55
- callID: string;
56
- tool: string;
57
- state: ToolState;
58
- }
59
- interface GenericPart {
60
- type: string;
61
- [key: string]: unknown;
62
- }
63
- type Part = TextPart | ToolPart | GenericPart;
64
- interface ProjectAnchor {
65
- projectId: string;
66
- projectName: string;
67
- memoryCapture: boolean;
68
- sessionStartRecap: boolean;
69
- inboxNotify: 'every_turn' | 'session_start_only' | 'off';
70
- }
71
- /** Parsed `.greprag/project.json` contents. `project_id` and `project_name` are
72
- * both optional after v0.7 — a file may carry per-project settings only and
73
- * let identity flow from git derivation. */
74
- interface AnchorFile {
75
- projectId?: string;
76
- projectName?: string;
77
- memoryCapture: boolean;
78
- sessionStartRecap: boolean;
79
- inboxNotify: 'every_turn' | 'session_start_only' | 'off';
80
- }
81
- declare function readAnchorFile(filePath: string): AnchorFile | null;
82
- /** Walk up from cwd looking for an anchor file. Checks canonical `.greprag/`
83
- * first, then legacy `.claude/` and `.opencode/` at each level. Returns the
84
- * first hit. Skips home-level globals; those are reserved for the
85
- * ephemeral-cwd path of the cascade. */
86
- declare function findExistingAnchorFile(startDir: string): string | null;
87
- /** Format the SHA-256 of an input string into a deterministic UUID v4-shape
88
- * string. Must match the algorithm in packages/cli/src/project-anchor.ts so
89
- * the plugin resolves identical IDs to the Claude Code CLI. */
90
- declare function formatUuid(hashHex: string): string;
91
- /** Derive a stable project_id from the repo's root commit SHA. Sorted +
92
- * hashed so disjoint-history merges produce one deterministic id everywhere.
93
- * Returns null when cwd isn't a git repo or has no commits yet. */
94
- declare function computeGitDerivedProjectId(cwd: string): string | null;
95
- /** Hash the cwd path into a stable UUID. Last-resort fallback — when no git
96
- * history and no anchor file exist, this keeps capture flowing under a
97
- * per-path identity that `greprag doctor` can later consolidate. */
98
- declare function deterministicProjectId(cwd: string): string;
99
- /** True when cwd is an ephemeral session path (Cowork, tmp dirs). The
100
- * deterministic-hash fallback would mint a fresh id every session in those
101
- * paths, so we prefer the global anchor instead. */
102
- declare function isEphemeralCwd(cwd: string): boolean;
103
- /** Resolve the project anchor for `worktree` using the same 4-level cascade
104
- * the Claude Code CLI uses (packages/cli/src/project-anchor.ts). Settings
105
- * always come from the nearest repo-level file when one exists, regardless
106
- * of which identity level resolved.
107
- *
108
- * 1. Anchor file with explicit `project_id` → file-based identity
109
- * 2. Git repo with at least one commit → root-commit-derived UUID
110
- * 3. Ephemeral cwd + ~/.greprag/project.json exists → global anchor
111
- * 4. Path-hash fallback (never returns null; lets capture flow until
112
- * `greprag init` runs and `greprag doctor` consolidates) */
113
- declare function readAnchor(worktree: string): ProjectAnchor;
114
- declare function extractText(parts: Part[]): string;
115
- interface ToolCallSummary {
116
- name: string;
117
- target?: string;
118
- brief?: string;
119
- }
120
- /** Pull a one-line summary out of each tool call: name + a target string + an
121
- * optional brief for shell commands. Mirrors the shape the Claude Code hook
122
- * posts so server-side compaction sees identical structure regardless of
123
- * client origin. */
124
- declare function extractToolCalls(parts: Part[]): ToolCallSummary[];
125
- declare function extractFilesTouched(parts: Part[]): string[];
126
- type TurnProvenance = 'session-turn' | 'skill-injection' | 'continuation-summary' | 'chip-prompt';
127
- declare function classifyUserText(text: string): TurnProvenance;
128
- declare function provenanceElisionMarker(p: TurnProvenance, text: string): string;
129
- interface Envelope {
130
- userPrompt: string;
131
- agentResponse: string;
132
- toolCalls: ToolCallSummary[];
133
- filesTouched: string[];
134
- status: 'completed' | 'errored';
135
- provenance: TurnProvenance;
136
- }
137
- declare function buildEnvelope(userParts: Part[], assistantParts: Part[], errored: boolean): Envelope;
138
- /** True when the OS reports `pid` as a running process. Used to decide whether
139
- * a stale-lockfile check should trust the recorded PID or treat the file as
140
- * abandoned. */
141
- export declare function isPidAlive(pid: number): boolean;
142
- declare function relayLockPath(sessionId: string): string;
143
- declare function tryClaimRelayLock(lockPath: string): {
144
- ok: true;
145
- fd: number;
146
- } | {
147
- ok: false;
148
- reason: string;
149
- };
150
- /** One row from `/v1/memory/by-period`. Mirrors hook.ts ByPeriodRow — kept
151
- * in sync intentionally so the two paths fetch the same shape. */
152
- interface ByPeriodRow {
153
- id: string;
154
- projectId: string | null;
155
- projectName: string | null;
156
- crystallization: string;
157
- content: string;
158
- wordCount: number;
159
- windowStart: string | null;
160
- windowEnd: string | null;
161
- branch: string | null;
162
- artifactType: string | null;
163
- artifactId: string | null;
164
- artifactUrl: string | null;
165
- createdAt: string;
166
- }
167
- /** Cap on the number of hourlies surfaced in the recap body. 3 — the hook's
168
- * established value; if the user wants more they pull on demand via
169
- * `greprag memory recap`. adr: adr/memory-recap-pyramid.md. */
170
- declare const HOURLY_CAP = 3;
171
- /** Strip noise blocks from compacted content before injection.
172
- * Compactor contract: numbered items end with a trailer ("Open: ..." for
173
- * hourly, "Shipped: ..." for daily) which may span multiple lines. Trailers
174
- * always come AFTER the numbered list — so we drop from the trigger line
175
- * through end-of-string.
176
- *
177
- * - daily: drop the deterministic "Shipped: <UUID-list>" trailer (useful for
178
- * /greprag deep-dive, but a wall of IDs at session start)
179
- * - hourly: drop the per-hour "Open:" block (stale snapshot of open items
180
- * that were resolved or superseded in later hours) */
181
- declare function stripRecapNoise(content: string, type: 'daily' | 'hourly'): string;
182
- /** Render an hourly window's recency: "5 hours ago", "1 hour ago",
183
- * "30 min ago", "just now". Reference is the end of the window — when the
184
- * hour wrapped up. */
185
- declare function fmtHoursAgo(windowEndIso: string, now: Date): string;
186
- /** Build the recap body — hourlies-only render. Recap is hourlies-only by
187
- * design: daily summaries used to render here (one prose paragraph per
188
- * daily window) but added ~1500 tokens to every SessionStart for marginal
189
- * value. Dailies still exist in the DB; agents who want historic context
190
- * pull on demand via `greprag memory recap` (or
191
- * `greprag memory search "<query>"` for a specific topic). Pull, don't push.
192
- *
193
- * Window: 2 days back to now (50-row pull), filtered to last 24h, sliced
194
- * to HOURLY_CAP most-recent.
195
- *
196
- * Returns "" when there are no recent hourlies — caller treats that as
197
- * "no recap block". Empty body is not an error; the query itself is the
198
- * only network call and any failure is swallowed (returns ""). */
199
- declare function buildRecapBody(apiUrl: string, apiKey: string, anchor: ProjectAnchor, now?: Date): Promise<string>;
200
- export { HOME, type Part, type TextPart, type ToolPart, type ToolState, type GenericPart, type ProjectAnchor, type AnchorFile, type ToolCallSummary, type Envelope, type TurnProvenance, type ByPeriodRow, formatUuid, computeGitDerivedProjectId, deterministicProjectId, isEphemeralCwd, readAnchorFile, findExistingAnchorFile, readAnchor, extractText, extractToolCalls, extractFilesTouched, classifyUserText, provenanceElisionMarker, buildEnvelope, relayLockPath, tryClaimRelayLock, stripRecapNoise, fmtHoursAgo, buildRecapBody, HOURLY_CAP, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"opencode-plugin-helpers.js","sourceRoot":"","sources":["../src/opencode-plugin-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,151 +0,0 @@
1
- /** opencode-plugin-png.ts — Lever 2 (Snapcompact) PNG recode for opencode.
2
- *
3
- * WHAT — at a CONTEXT-SIZE THRESHOLD, recode OLD conversation history (bulky
4
- * text parts) into dense pixel-font PNG IMAGE parts so the model receives them
5
- * as VISION tokens: lossless ~3x input compression (a 1568x1568 PNG holds
6
- * ~30K chars but bills ~3,279 image tokens). Design + economics:
7
- * docs/pre-llm-compression.md ("Lever 2 — Snapcompact", "cache cost model").
8
- * This is Lever 2 to opencode-plugin-crush.ts's Lever 1 (per-part text crush).
9
- *
10
- * WHY HERE — opencode's `experimental.chat.messages.transform` hook fires
11
- * before every LLM call with the full outbound `output.messages` array in
12
- * hand (opencode-native `{ info, parts[] }` shape). We can REPLACE bulky old
13
- * text parts with image parts in that request-scoped array. Claude Code's
14
- * harness can only render the WHOLE pre-compact transcript at PreCompact
15
- * (commands/archive.ts); opencode lets us recode SURVIVING history selectively
16
- * and continuously, which is the Lever-2 idea this engine implements.
17
- *
18
- * ── THE OPENCODE IMAGE-PART CONTRACT (load-bearing, verified) ──────────────
19
- * An opencode-native image part is a FILE part:
20
- * { type: 'file', mime: 'image/png', url: 'data:image/png;base64,<b64>',
21
- * filename?: string }
22
- * Source of truth: sst/opencode `session/message-v2.ts` `toModelMessagesEffect`
23
- * reads `part.mime` / `part.url` / `part.filename`, builds a UIMessage file
24
- * part `{ type:'file', url, mediaType: part.mime, filename }`, then hands it to
25
- * the AI SDK `convertToModelMessages()` which emits the provider image block.
26
- * Confirmed against tests/test-opencode-plugin.cjs (the `{ type:'file', mime:
27
- * 'image/png', url:'data:image/png;base64,...' }` fixture). The shipped Lever-1
28
- * crusher proves mutations to this same native parts array DO propagate to the
29
- * model, so an INJECTED file part rides the same path. The one residual a live
30
- * opencode restart confirms: that `convertToModelMessages` + the provider
31
- * accept a freshly-injected file part identically to a user-uploaded one.
32
- *
33
- * ── THE VISION GATE (critical) ─────────────────────────────────────────────
34
- * Feeding a PNG to a TEXT-ONLY model BREAKS the turn. opencode declares image
35
- * support per model via `modalities.input` containing `"image"`; a model
36
- * lacking it has opencode REJECT image parts ("this model does not support
37
- * image input"). So recode fires ONLY for vision-capable models — authoritative
38
- * check is `modalities.input` includes 'image'; when the hook payload omits
39
- * modalities we fall back to a model-id allowlist that DENIES the unknown
40
- * (never recode unless proven safe). `deepseek-v4-flash` is text-only in
41
- * opencode's model def (issue: missing image modality) → it must pass through.
42
- *
43
- * INVARIANTS:
44
- * - Reversible: the byte-exact original is CCR-stashed via the injected
45
- * `stash` callback; the 16-hex hash (sha256[:16], identical to CcrStore.put)
46
- * is embedded in the image filename AND a tiny `<<ccr:HASH>>` breadcrumb
47
- * text part, so `greprag retrieve <hash>` recovers it byte-exact.
48
- * - Threshold-fired: a no-op below `thresholdChars` (default ~400K) — recoding
49
- * history pays a one-time cache-rebuild toll, only worth it past the
50
- * crossover (docs/pre-llm-compression.md cache cost model).
51
- * - Live-tail-safe: the newest `liveTailMessages` messages (default 1) are
52
- * NEVER recoded — only old history is rewritten.
53
- * - Lossless: every rendered page self-tests its pixel round-trip
54
- * (verifyRoundTrip); a failure is surfaced in stats, never silent.
55
- * - Defensive: per-part try/catch — a render/stash failure leaves that part
56
- * verbatim; malformed input is handled; the turn is NEVER broken.
57
- * - Non-destructive: mutates ONLY the request-scoped message objects handed
58
- * in (caller passes opencode's per-call `output.messages`, never persisted
59
- * history).
60
- * - Dep-free: imports ONLY the pure archive renderer (zlib via png-codec is a
61
- * Node builtin) — inlines cleanly into the single opencode plugin bundle,
62
- * no sql.js / no proc / no sidecar require.
63
- */
64
- /** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker() / opencode-plugin-crush. */
65
- export declare function ccrPngMarker(hash: string): string;
66
- /** Total context chars above which recode fires. ~400K crossover where cache-read
67
- * overhead overtakes productive turn cost (docs/pre-llm-compression.md). */
68
- export declare const DEFAULT_THRESHOLD_CHARS = 400000;
69
- /** Only text parts at least this big are recoded — a tiny part isn't worth a PNG. */
70
- export declare const DEFAULT_MIN_PART_CHARS = 4000;
71
- /** Newest N messages preserved verbatim (never recode the live tail). */
72
- export declare const DEFAULT_LIVE_TAIL_MESSAGES = 1;
73
- /** Built-in vision-capable model-id substrings — the deny-unknown fallback used
74
- * ONLY when the hook payload carries no `modalities`. Deliberately EXCLUDES
75
- * deepseek-*: opencode's model def declares deepseek-v4-flash text-only (no
76
- * image modality) and rejects image parts, so it must pass through. Extend via
77
- * GREPRAG_OPENCODE_PNG_VISION_MODELS without editing code. */
78
- export declare const DEFAULT_VISION_MODEL_SUBSTRINGS: string[];
79
- /** Persist the byte-exact `original` and return its 16-hex marker hash.
80
- * Injected so this module stays dep-free (CLI/test: CcrStore.put; opencode
81
- * plugin: in-process sha256 + fire-and-forget `greprag ccr put`). */
82
- export type PngStash = (original: string) => string;
83
- /** opencode-native image part. THE contract (see header). */
84
- export interface OpencodeFilePart {
85
- type: 'file';
86
- mime: 'image/png';
87
- url: string;
88
- filename: string;
89
- }
90
- export interface RecodeMessagesOptions {
91
- /** Persist the original; returns the 16-hex marker hash. Required. */
92
- stash: PngStash;
93
- /** The outbound model id (input.model.modelID / .id). */
94
- modelId?: string | null;
95
- /** opencode model modalities — `string[]` (input modalities) or
96
- * `{ input?: string[] }`. When present it is AUTHORITATIVE for the gate. */
97
- modalities?: string[] | {
98
- input?: string[];
99
- } | null;
100
- /** Total-context char floor for firing. Default DEFAULT_THRESHOLD_CHARS. */
101
- thresholdChars?: number;
102
- /** Per-text-part char floor for recoding. Default DEFAULT_MIN_PART_CHARS. */
103
- minPartChars?: number;
104
- /** Newest N messages left verbatim. Default DEFAULT_LIVE_TAIL_MESSAGES. */
105
- liveTailMessages?: number;
106
- /** Extra vision-capable model-id substrings (fallback gate only). */
107
- visionAllowlist?: string[];
108
- }
109
- export interface RecodeMessagesStats {
110
- /** True iff at least one part was recoded (threshold crossed AND vision-capable). */
111
- fired: boolean;
112
- /** Result of the model-capability gate. */
113
- visionCapable: boolean;
114
- /** Total chars of all string content seen across every message part. */
115
- totalChars: number;
116
- /** The threshold applied. */
117
- thresholdChars: number;
118
- /** Text parts replaced with image parts. */
119
- partsRecoded: number;
120
- /** PNG pages rendered across all recoded parts. */
121
- pagesRendered: number;
122
- /** Total bytes of rendered PNGs. */
123
- pngBytes: number;
124
- /** First pixel round-trip self-test failure, or null when all lossless. */
125
- selfTestError: string | null;
126
- /** Why it did / didn't fire. */
127
- reason: string;
128
- }
129
- /** Decide whether the model accepts image input. `modalities.input` is
130
- * AUTHORITATIVE (opencode's own declaration); only when it is absent do we
131
- * fall back to the model-id allowlist, which DENIES the unknown. */
132
- export declare function isVisionCapable(opts: {
133
- modelId?: string | null;
134
- modalities?: RecodeMessagesOptions['modalities'];
135
- visionAllowlist?: string[];
136
- }): boolean;
137
- /** Render `text` to one or more pixel-font PNG file parts (one per page).
138
- * Each page self-tests its pixel round-trip. `hash` is embedded in every
139
- * page's filename so a model (or a human) can map an image back to its CCR
140
- * original. */
141
- export declare function renderTextToImageParts(text: string, hash: string): {
142
- parts: OpencodeFilePart[];
143
- pages: number;
144
- pngBytes: number;
145
- selfTestError: string | null;
146
- };
147
- /** Walk an opencode outbound message array and recode bulky OLD text parts to
148
- * pixel-font PNG image parts, in place on the request-scoped objects. Fires
149
- * only when the total context exceeds `thresholdChars` AND the model is
150
- * vision-capable. Returns stats; never throws. */
151
- export declare function recodeMessagesToPng(messages: unknown, opts: RecodeMessagesOptions): RecodeMessagesStats;
@@ -1 +0,0 @@
1
- {"version":3,"file":"opencode-plugin-png.js","sourceRoot":"","sources":["../src/opencode-plugin-png.ts"],"names":[],"mappings":"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"}