spexcode 0.6.7 → 0.7.0-next.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 (247) hide show
  1. package/README.md +12 -7
  2. package/node_modules/@spexcode/session-application/dist/index.d.ts +17 -0
  3. package/node_modules/@spexcode/session-application/dist/index.js +35 -0
  4. package/node_modules/@spexcode/session-application/dist/migration.d.ts +51 -0
  5. package/node_modules/@spexcode/session-application/dist/migration.js +694 -0
  6. package/node_modules/@spexcode/session-application/dist/production.d.ts +109 -0
  7. package/node_modules/@spexcode/session-application/dist/production.js +438 -0
  8. package/node_modules/@spexcode/session-application/dist/schema.d.ts +2 -0
  9. package/node_modules/@spexcode/session-application/dist/schema.js +39 -0
  10. package/node_modules/@spexcode/session-application/package.json +29 -0
  11. package/node_modules/@spexcode/session-events/dist/errors.d.ts +6 -0
  12. package/node_modules/@spexcode/session-events/dist/errors.js +11 -0
  13. package/node_modules/@spexcode/session-events/dist/index.d.ts +46 -0
  14. package/node_modules/@spexcode/session-events/dist/index.js +245 -0
  15. package/node_modules/@spexcode/session-events/dist/schema.d.ts +3 -0
  16. package/node_modules/@spexcode/session-events/dist/schema.js +44 -0
  17. package/node_modules/@spexcode/session-events/package.json +24 -0
  18. package/node_modules/@spexcode/session-protocol/dist/canonical.d.ts +36 -0
  19. package/node_modules/@spexcode/session-protocol/dist/canonical.js +139 -0
  20. package/node_modules/@spexcode/session-protocol/dist/engine.d.ts +22 -0
  21. package/node_modules/@spexcode/session-protocol/dist/engine.js +478 -0
  22. package/node_modules/@spexcode/session-protocol/dist/errors.d.ts +8 -0
  23. package/node_modules/@spexcode/session-protocol/dist/errors.js +39 -0
  24. package/node_modules/@spexcode/session-protocol/dist/index.d.ts +60 -0
  25. package/node_modules/@spexcode/session-protocol/dist/index.js +4 -0
  26. package/node_modules/@spexcode/session-protocol/dist/schema.d.ts +36 -0
  27. package/node_modules/@spexcode/session-protocol/dist/schema.js +192 -0
  28. package/node_modules/@spexcode/{session-core → session-protocol}/package.json +4 -8
  29. package/node_modules/@spexcode/session-runtime/dist/errors.d.ts +6 -0
  30. package/node_modules/@spexcode/session-runtime/dist/errors.js +11 -0
  31. package/node_modules/@spexcode/session-runtime/dist/index.d.ts +33 -0
  32. package/node_modules/@spexcode/session-runtime/dist/index.js +193 -0
  33. package/node_modules/@spexcode/session-runtime/dist/schema.d.ts +2 -0
  34. package/node_modules/@spexcode/session-runtime/dist/schema.js +37 -0
  35. package/node_modules/@spexcode/session-runtime/package.json +24 -0
  36. package/node_modules/@spexcode/session-selflaunch/bin/spex-session.mjs +4 -0
  37. package/node_modules/@spexcode/session-selflaunch/dist/cli.d.ts +25 -0
  38. package/node_modules/@spexcode/session-selflaunch/dist/cli.js +156 -0
  39. package/node_modules/@spexcode/session-selflaunch/dist/index.d.ts +28 -0
  40. package/node_modules/@spexcode/session-selflaunch/dist/index.js +25 -0
  41. package/node_modules/@spexcode/session-selflaunch/dist/locality.d.ts +31 -0
  42. package/node_modules/@spexcode/session-selflaunch/dist/locality.js +135 -0
  43. package/node_modules/@spexcode/session-selflaunch/dist/path.d.ts +13 -0
  44. package/node_modules/@spexcode/session-selflaunch/dist/path.js +45 -0
  45. package/node_modules/@spexcode/session-selflaunch/package.json +35 -0
  46. package/node_modules/@spexcode/session-topology/dist/errors.d.ts +6 -0
  47. package/node_modules/@spexcode/session-topology/dist/errors.js +11 -0
  48. package/node_modules/@spexcode/session-topology/dist/index.d.ts +24 -0
  49. package/node_modules/@spexcode/session-topology/dist/index.js +173 -0
  50. package/node_modules/@spexcode/session-topology/dist/schema.d.ts +3 -0
  51. package/node_modules/@spexcode/session-topology/dist/schema.js +27 -0
  52. package/node_modules/@spexcode/session-topology/package.json +24 -0
  53. package/node_modules/@spexcode/spec-cli/bin/spex.mjs +175 -21
  54. package/node_modules/@spexcode/spec-cli/dist/cli.js +121 -59
  55. package/node_modules/@spexcode/spec-cli/dist/client.d.ts +1 -3
  56. package/node_modules/@spexcode/spec-cli/dist/client.js +49 -30
  57. package/node_modules/@spexcode/spec-cli/dist/codex-runtime-generations.d.ts +11 -0
  58. package/node_modules/@spexcode/spec-cli/dist/codex-runtime-generations.js +46 -9
  59. package/node_modules/@spexcode/spec-cli/dist/delivery-lock.d.ts +2 -0
  60. package/node_modules/@spexcode/spec-cli/dist/delivery-lock.js +58 -0
  61. package/node_modules/@spexcode/spec-cli/dist/doctor.js +53 -11
  62. package/node_modules/@spexcode/spec-cli/dist/file-write.js +14 -2
  63. package/node_modules/@spexcode/spec-cli/dist/gateway-hub.js +2 -1
  64. package/node_modules/@spexcode/spec-cli/dist/gateway.js +6 -3
  65. package/node_modules/@spexcode/spec-cli/dist/graphCache.js +32 -2
  66. package/node_modules/@spexcode/spec-cli/dist/graphSnapshot.js +57 -2
  67. package/node_modules/@spexcode/spec-cli/dist/graphStream.d.ts +2 -0
  68. package/node_modules/@spexcode/spec-cli/dist/graphStream.js +83 -3
  69. package/node_modules/@spexcode/spec-cli/dist/guide.js +29 -18
  70. package/node_modules/@spexcode/spec-cli/dist/harness-select.js +16 -3
  71. package/node_modules/@spexcode/spec-cli/dist/harness.d.ts +24 -6
  72. package/node_modules/@spexcode/spec-cli/dist/harness.js +510 -72
  73. package/node_modules/@spexcode/spec-cli/dist/help.js +11 -8
  74. package/node_modules/@spexcode/spec-cli/dist/hook-prompts.js +8 -0
  75. package/node_modules/@spexcode/spec-cli/dist/host-resources.js +29 -8
  76. package/node_modules/@spexcode/spec-cli/dist/host.d.ts +7 -0
  77. package/node_modules/@spexcode/spec-cli/dist/host.js +98 -1
  78. package/node_modules/@spexcode/spec-cli/dist/index.js +294 -36
  79. package/node_modules/@spexcode/spec-cli/dist/init.js +1 -1
  80. package/node_modules/@spexcode/spec-cli/dist/lint.js +70 -35
  81. package/node_modules/@spexcode/spec-cli/dist/listen.d.ts +3 -2
  82. package/node_modules/@spexcode/spec-cli/dist/listen.js +14 -2
  83. package/node_modules/@spexcode/spec-cli/dist/machine-peer.d.ts +2 -1
  84. package/node_modules/@spexcode/spec-cli/dist/machine-peer.js +46 -15
  85. package/node_modules/@spexcode/spec-cli/dist/materialize.d.ts +2 -2
  86. package/node_modules/@spexcode/spec-cli/dist/materialize.js +176 -35
  87. package/node_modules/@spexcode/spec-cli/dist/opencode.js +10 -2
  88. package/node_modules/@spexcode/spec-cli/dist/pi-harness.js +18 -5
  89. package/node_modules/@spexcode/spec-cli/dist/pi-headless.d.ts +2 -0
  90. package/node_modules/@spexcode/spec-cli/dist/pi-headless.js +27 -0
  91. package/node_modules/@spexcode/spec-cli/dist/pty-bridge.js +14 -14
  92. package/node_modules/@spexcode/spec-cli/dist/reviews.js +12 -7
  93. package/node_modules/@spexcode/spec-cli/dist/runtime-ownership.d.ts +11 -0
  94. package/node_modules/@spexcode/spec-cli/dist/runtime-ownership.js +79 -1
  95. package/node_modules/@spexcode/spec-cli/dist/session-application.d.ts +23 -0
  96. package/node_modules/@spexcode/spec-cli/dist/session-application.js +189 -0
  97. package/node_modules/@spexcode/spec-cli/dist/session-declarations.js +13 -1
  98. package/node_modules/@spexcode/spec-cli/dist/session-files.d.ts +6 -0
  99. package/node_modules/@spexcode/spec-cli/dist/session-files.js +13 -1
  100. package/node_modules/@spexcode/spec-cli/dist/session-follow.js +39 -22
  101. package/node_modules/@spexcode/{session-core/dist/record-lock.d.ts → spec-cli/dist/session-record-lock.d.ts} +0 -4
  102. package/node_modules/@spexcode/spec-cli/dist/session-record-lock.js +94 -0
  103. package/node_modules/@spexcode/spec-cli/dist/session-runtime-adapter.d.ts +44 -0
  104. package/node_modules/@spexcode/spec-cli/dist/session-runtime-adapter.js +37 -0
  105. package/node_modules/@spexcode/spec-cli/dist/session-timeline.d.ts +25 -2
  106. package/node_modules/@spexcode/spec-cli/dist/session-timeline.js +68 -11
  107. package/node_modules/@spexcode/spec-cli/dist/session-transcript.d.ts +57 -0
  108. package/node_modules/@spexcode/spec-cli/dist/session-transcript.js +137 -0
  109. package/node_modules/@spexcode/spec-cli/dist/session-web.js +4 -4
  110. package/node_modules/@spexcode/spec-cli/dist/sessions.d.ts +112 -15
  111. package/node_modules/@spexcode/spec-cli/dist/sessions.js +1553 -764
  112. package/node_modules/@spexcode/spec-cli/dist/shim-runtime.js +14 -0
  113. package/node_modules/@spexcode/spec-cli/dist/source-list.d.ts +13 -0
  114. package/node_modules/@spexcode/spec-cli/dist/source-list.js +99 -0
  115. package/node_modules/@spexcode/spec-cli/dist/source-read.d.ts +16 -0
  116. package/node_modules/@spexcode/spec-cli/dist/source-read.js +84 -0
  117. package/node_modules/@spexcode/spec-cli/dist/spec-attachments.d.ts +7 -0
  118. package/node_modules/@spexcode/spec-cli/dist/spec-attachments.js +89 -0
  119. package/node_modules/@spexcode/spec-cli/dist/spec-body-edit.d.ts +23 -0
  120. package/node_modules/@spexcode/spec-cli/dist/spec-body-edit.js +138 -0
  121. package/node_modules/@spexcode/spec-cli/dist/supervise.js +15 -6
  122. package/node_modules/@spexcode/spec-cli/hooks/dispatch.sh +19 -31
  123. package/node_modules/@spexcode/spec-cli/hooks/harness.sh +6 -6
  124. package/node_modules/@spexcode/spec-cli/package.json +8 -6
  125. package/node_modules/@spexcode/spec-cli/templates/hooks/post-checkout +4 -2
  126. package/node_modules/@spexcode/spec-cli/templates/hooks/post-merge +2 -1
  127. package/node_modules/@spexcode/spec-cli/templates/hooks/pre-commit +5 -3
  128. package/node_modules/@spexcode/spec-cli/templates/hooks/reference-transaction +5 -3
  129. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/commands/spec.md +2 -7
  130. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/idle/idle.sh +4 -10
  131. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/idle/spec.md +1 -1
  132. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/mark-active/mark-active.sh +22 -24
  133. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/mark-active/spec.md +10 -2
  134. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/session-fail/fail.sh +8 -7
  135. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/session-fail/spec.md +3 -1
  136. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/session-listen/session-listen.sh +133 -0
  137. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/session-listen/spec.md +36 -0
  138. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/spec.md +2 -0
  139. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/stop-gate/spec.md +1 -1
  140. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/core/stop-gate/stop-gate.sh +17 -20
  141. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/skills/merge/spec.md +33 -0
  142. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/skills/spec.md +2 -6
  143. package/node_modules/@spexcode/spec-cli/templates/spec/project/.plugins/spec.md +7 -0
  144. package/node_modules/@spexcode/spec-core/dist/anchors.d.ts +13 -2
  145. package/node_modules/@spexcode/spec-core/dist/anchors.js +311 -15
  146. package/node_modules/@spexcode/spec-core/dist/git.d.ts +4 -0
  147. package/node_modules/@spexcode/spec-core/dist/git.js +9 -9
  148. package/node_modules/@spexcode/spec-core/dist/layout.d.ts +12 -1
  149. package/node_modules/@spexcode/spec-core/dist/layout.js +4 -2
  150. package/node_modules/@spexcode/spec-core/dist/resilience.d.ts +1 -0
  151. package/node_modules/@spexcode/spec-core/dist/resilience.js +8 -0
  152. package/node_modules/@spexcode/spec-core/dist/review/reviewFilters.d.ts +1 -0
  153. package/node_modules/@spexcode/spec-core/dist/review/reviewFilters.js +7 -3
  154. package/node_modules/@spexcode/spec-core/dist/review/reviewQuery.d.ts +1 -0
  155. package/node_modules/@spexcode/spec-core/dist/review/reviewQuery.js +4 -0
  156. package/node_modules/@spexcode/spec-core/dist/specs.d.ts +2 -0
  157. package/node_modules/@spexcode/spec-core/dist/specs.js +30 -0
  158. package/node_modules/@spexcode/spec-core/package.json +4 -1
  159. package/node_modules/@spexcode/spec-core/templates/spexcode.json +36 -13
  160. package/node_modules/@spexcode/spec-eval/dist/cli.js +1 -1
  161. package/node_modules/@spexcode/spec-eval/dist/evaltab.d.ts +1 -0
  162. package/node_modules/@spexcode/spec-eval/dist/evaltab.js +6 -1
  163. package/node_modules/@spexcode/spec-eval/dist/freshness.d.ts +1 -1
  164. package/node_modules/@spexcode/spec-eval/dist/freshness.js +12 -12
  165. package/node_modules/@spexcode/spec-eval/dist/host.d.ts +2 -1
  166. package/node_modules/@spexcode/spec-eval/dist/sessioneval.d.ts +2 -1
  167. package/node_modules/@spexcode/spec-eval/dist/sessioneval.js +20 -3
  168. package/node_modules/@spexcode/spec-eval/package.json +2 -2
  169. package/node_modules/@spexcode/spec-forge/package.json +2 -2
  170. package/node_modules/@spexcode/transcript/dist/frames.d.ts +44 -0
  171. package/node_modules/@spexcode/transcript/dist/frames.js +85 -0
  172. package/node_modules/@spexcode/transcript/dist/index.d.ts +5 -0
  173. package/node_modules/@spexcode/transcript/dist/index.js +5 -0
  174. package/node_modules/@spexcode/transcript/dist/live.d.ts +16 -0
  175. package/node_modules/@spexcode/transcript/dist/live.js +65 -0
  176. package/node_modules/@spexcode/transcript/dist/parsers.d.ts +47 -0
  177. package/node_modules/@spexcode/transcript/dist/parsers.js +285 -0
  178. package/node_modules/@spexcode/transcript/dist/readers.d.ts +10 -0
  179. package/node_modules/@spexcode/transcript/dist/readers.js +296 -0
  180. package/node_modules/@spexcode/transcript/dist/turns.d.ts +42 -0
  181. package/node_modules/@spexcode/transcript/dist/turns.js +11 -0
  182. package/node_modules/@spexcode/transcript/package.json +30 -0
  183. package/node_modules/@vscode/tree-sitter-wasm/LICENSE +21 -0
  184. package/node_modules/@vscode/tree-sitter-wasm/README.md +36 -0
  185. package/node_modules/@vscode/tree-sitter-wasm/SECURITY.md +41 -0
  186. package/node_modules/@vscode/tree-sitter-wasm/cgmanifest.json +16 -0
  187. package/node_modules/@vscode/tree-sitter-wasm/package.json +42 -0
  188. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-bash.wasm +0 -0
  189. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-c-sharp.wasm +0 -0
  190. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-cpp.wasm +0 -0
  191. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-css.wasm +0 -0
  192. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-go.wasm +0 -0
  193. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-ini.wasm +0 -0
  194. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-java.wasm +0 -0
  195. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-javascript.wasm +0 -0
  196. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-php.wasm +0 -0
  197. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-powershell.wasm +0 -0
  198. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-python.wasm +0 -0
  199. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-regex.wasm +0 -0
  200. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-ruby.wasm +0 -0
  201. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-rust.wasm +0 -0
  202. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-tsx.wasm +0 -0
  203. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter-typescript.wasm +0 -0
  204. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter.js +4075 -0
  205. package/node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter.wasm +0 -0
  206. package/node_modules/@vscode/tree-sitter-wasm/wasm/web-tree-sitter.d.ts +1027 -0
  207. package/node_modules/smol-toml/LICENSE +24 -0
  208. package/node_modules/smol-toml/README.md +418 -0
  209. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  210. package/node_modules/smol-toml/dist/date.js +127 -0
  211. package/node_modules/smol-toml/dist/error.d.ts +38 -0
  212. package/node_modules/smol-toml/dist/error.js +63 -0
  213. package/node_modules/smol-toml/dist/extract.js +69 -0
  214. package/node_modules/smol-toml/dist/index.cjs +734 -0
  215. package/node_modules/smol-toml/dist/index.d.ts +43 -0
  216. package/node_modules/smol-toml/dist/index.js +33 -0
  217. package/node_modules/smol-toml/dist/parse.d.ts +36 -0
  218. package/node_modules/smol-toml/dist/parse.js +149 -0
  219. package/node_modules/smol-toml/dist/primitive.js +238 -0
  220. package/node_modules/smol-toml/dist/stringify.d.ts +31 -0
  221. package/node_modules/smol-toml/dist/stringify.js +181 -0
  222. package/node_modules/smol-toml/dist/struct.js +179 -0
  223. package/node_modules/smol-toml/dist/util.d.ts +38 -0
  224. package/node_modules/smol-toml/dist/util.js +89 -0
  225. package/node_modules/smol-toml/package.json +68 -0
  226. package/package.json +9 -3
  227. package/node_modules/@spexcode/session-core/dist/delivery-queue.d.ts +0 -24
  228. package/node_modules/@spexcode/session-core/dist/delivery-queue.js +0 -206
  229. package/node_modules/@spexcode/session-core/dist/index.d.ts +0 -5
  230. package/node_modules/@spexcode/session-core/dist/index.js +0 -5
  231. package/node_modules/@spexcode/session-core/dist/internal.d.ts +0 -3
  232. package/node_modules/@spexcode/session-core/dist/internal.js +0 -3
  233. package/node_modules/@spexcode/session-core/dist/message.d.ts +0 -22
  234. package/node_modules/@spexcode/session-core/dist/message.js +0 -53
  235. package/node_modules/@spexcode/session-core/dist/record-lock.js +0 -152
  236. package/node_modules/@spexcode/session-core/dist/runtime-session.d.ts +0 -62
  237. package/node_modules/@spexcode/session-core/dist/runtime-session.js +0 -326
  238. package/node_modules/@spexcode/session-core/dist/session-cursors.d.ts +0 -14
  239. package/node_modules/@spexcode/session-core/dist/session-cursors.js +0 -82
  240. package/node_modules/@spexcode/session-core/dist/session-timeline.d.ts +0 -47
  241. package/node_modules/@spexcode/session-core/dist/session-timeline.js +0 -216
  242. package/node_modules/@spexcode/spec-cli/dist/execution-trace.d.ts +0 -26
  243. package/node_modules/@spexcode/spec-cli/dist/execution-trace.js +0 -475
  244. package/node_modules/@spexcode/spec-cli/dist/session-execution.d.ts +0 -10
  245. package/node_modules/@spexcode/spec-cli/dist/session-execution.js +0 -70
  246. package/node_modules/@spexcode/spec-cli/hooks/compat/mark-active-0.5.2-eef1.fixture +0 -53
  247. package/node_modules/@spexcode/spec-cli/hooks/compat/mark-active-sed-v0.fixture +0 -46
@@ -1,15 +1,18 @@
1
1
  import { type ReviewDiffFile } from '@spexcode/spec-core';
2
2
  import { type ConfigPreset, type SpecLite } from '@spexcode/spec-core';
3
- import { type Harness, type TurnFailure, type DispatchResult, type PaneProbe, type ProcTable } from './harness.js';
3
+ import { type AdapterLoadedReferenceState, type Harness, type TurnFailure, type DispatchResult, type PaneProbe, type ProcTable } from './harness.js';
4
4
  import { envSessionId, type RawRecord, type SessionLifecycle, type SessionProposal } from '@spexcode/spec-core';
5
5
  import { type SessionWeb } from './session-web.js';
6
- import { type MessageIdempotency } from '@spexcode/session-core';
6
+ import { type ProductionSessionApplication } from '@spexcode/session-application';
7
7
  export declare const TMUX_SOCK: string;
8
+ /** Start the one process-local serial reaper and resume any crash leftovers. */
9
+ export declare function startWorktreeTrashReaper(): void;
8
10
  export type { DispatchResult };
9
11
  export type Lifecycle = SessionLifecycle;
10
12
  export type Proposal = SessionProposal;
11
13
  export type DisplayStatus = 'working' | 'idle' | 'offline' | 'starting' | 'review' | 'done' | 'close-pending' | 'parked' | 'error' | 'asking' | 'queued' | 'unknown' | 'corrupt' | 'retired';
12
14
  export type Liveness = 'online' | 'starting' | 'offline' | 'unknown';
15
+ export declare function displayStatusForProposal(proposal: Proposal | null | undefined): DisplayStatus;
13
16
  export type Session = {
14
17
  id: string;
15
18
  node: string | null;
@@ -34,6 +37,7 @@ export type Session = {
34
37
  liveness: Liveness;
35
38
  note: string | null;
36
39
  archived: boolean;
40
+ closedAt: string | null;
37
41
  archiveHazard?: string | null;
38
42
  prompt: string | null;
39
43
  promptPreview: string | null;
@@ -50,11 +54,6 @@ export type CloseSource = {
50
54
  } | {
51
55
  kind: 'user';
52
56
  };
53
- export type SessionClosure = {
54
- id: string;
55
- closedAt: string;
56
- };
57
- export declare function findSessionClosure(selector: string): SessionClosure | null;
58
57
  export declare const HEADLINE_PREVIEW_COLUMNS = 60;
59
58
  export declare const deriveLabel: (r: {
60
59
  name?: string | null;
@@ -104,20 +103,34 @@ export type SessRec = {
104
103
  createdAt: number;
105
104
  harness: string;
106
105
  harnessSessionId: string | null;
106
+ runtimeStartToken: string | null;
107
107
  stopped: boolean;
108
108
  archived: boolean;
109
+ closedAt: string | null;
109
110
  coldProof?: string | null;
110
111
  adapterRecovery?: string | null;
111
112
  launcher: string | null;
112
113
  launchCmd: string | null;
113
114
  launchOwner: string | null;
115
+ launchReadinessStartedAt?: number | null;
114
116
  createRequestId?: string | null;
115
117
  createPayloadHash?: string | null;
116
118
  zcodeChildSessionIds?: string[];
117
119
  base?: string | null;
120
+ forkCommit?: string | null;
121
+ diffComments?: DiffComment[];
118
122
  launchReadinessPending?: LaunchReadinessPending | null;
119
123
  };
120
- type LaunchReadinessOriginal = Pick<SessRec, 'status' | 'proposal' | 'note' | 'stopped' | 'archived' | 'coldProof' | 'adapterRecovery'>;
124
+ export type DiffComment = {
125
+ id: string;
126
+ filePath: string;
127
+ lineStart: number;
128
+ lineEnd: number;
129
+ body: string;
130
+ diffIdentity: string;
131
+ sentAt: string | null;
132
+ };
133
+ type LaunchReadinessOriginal = Pick<SessRec, 'status' | 'proposal' | 'note' | 'stopped' | 'archived' | 'closedAt' | 'coldProof' | 'adapterRecovery'>;
121
134
  type LaunchReadinessPending = {
122
135
  version: 1;
123
136
  startedAt: number;
@@ -136,7 +149,6 @@ export declare class SessionRecordUnusable extends Error {
136
149
  constructor(code: 'corrupt' | 'retired', session: string, message: string);
137
150
  }
138
151
  export declare function withSessionRecordLockSync<T>(id: string, body: () => T): T;
139
- export declare function withSessionInputLock<T>(id: string, body: () => T): T | null;
140
152
  export declare function fromRaw(raw: RawRecord & {
141
153
  launch_owner?: string;
142
154
  }): SessRec;
@@ -185,6 +197,13 @@ export type ReviewIdentity = {
185
197
  label: string;
186
198
  };
187
199
  export declare function reviewIdentity(id: string): ReviewIdentity | null;
200
+ export type SessionHookState = {
201
+ governed: boolean;
202
+ status: Lifecycle;
203
+ proposal: Proposal | null;
204
+ note: string | null;
205
+ };
206
+ export declare function sessionHookState(id: string): SessionHookState | null;
188
207
  export declare function toSession(rec: SessRec, status: DisplayStatus, lv: Liveness, activity?: string | null): Session;
189
208
  export type ZCodeChildSessionLink = {
190
209
  sessionId: string;
@@ -195,6 +214,17 @@ export declare function linkZCodeChildSession(sessionId: string, childSessionId:
195
214
  export declare function renameSession(id: string, name: string): Promise<boolean>;
196
215
  export declare function setSessionSort(id: string, key: number | null): Promise<boolean>;
197
216
  export declare function sessionPrompt(id: string): Promise<string | null>;
217
+ export type ArchiveSessionIndexRow = {
218
+ id: string;
219
+ title: string;
220
+ label: string;
221
+ closedAt: string | null;
222
+ node: string | null;
223
+ };
224
+ export type ArchiveSessionIndexProbe = {
225
+ promptReads?: number;
226
+ };
227
+ export declare function listArchivedSessionIndex(probe?: ArchiveSessionIndexProbe): Promise<ArchiveSessionIndexRow[]>;
198
228
  export declare function listSessions(includeArchived?: boolean): Promise<Session[]>;
199
229
  export type ApiBaseSource = 'flag' | 'worker-env' | 'record' | 'env-fallback' | 'default';
200
230
  export type ApiBaseInfo = {
@@ -238,7 +268,22 @@ export type LaunchBlock = {
238
268
  message: string;
239
269
  };
240
270
  export declare function launchPreflight(rec: SessRec): LaunchBlock | null;
271
+ export declare function launchShellCommand(file: string): string;
241
272
  export declare function launchScript(id: string, tail: string, harness?: Harness, cmd?: string): string;
273
+ export declare function canonicalWatchRecipients(application: Pick<ProductionSessionApplication, 'topology'>, sessionId: string, status: string): string[];
274
+ export declare function sessionHasPendingDelivery(id: string, application?: Pick<ProductionSessionApplication, 'readPendingMessages'> & Partial<Pick<ProductionSessionApplication, 'resolveRuntime'>> | null): boolean;
275
+ export declare function canonicalRecordProjection<T extends Pick<SessRec, 'status' | 'stopped' | 'archived'>>(rec: T, canonical: {
276
+ status: string;
277
+ proposal: string | null;
278
+ note: string | null;
279
+ parentSessionId: string | null;
280
+ } | null | undefined): T & {
281
+ status: Lifecycle;
282
+ proposal: Proposal | null;
283
+ note: string | null;
284
+ parent: string | null;
285
+ };
286
+ export declare function adapterResidentLiveness(rec: SessRec, resident: AdapterLoadedReferenceState | undefined): Liveness;
242
287
  export declare const drainQueue: () => Promise<void>;
243
288
  export declare function superviseQueue(intervalMs?: number): void;
244
289
  export declare function superviseDelivery(intervalMs?: number): void;
@@ -260,6 +305,7 @@ type SessionCreateRequestOptions = {
260
305
  requestKey?: string;
261
306
  signal?: AbortSignal;
262
307
  timeoutMs?: number;
308
+ onPublished?: (session: Session) => void | Promise<void>;
263
309
  };
264
310
  export type SessionCreateRequestResult = {
265
311
  status: 201;
@@ -274,6 +320,7 @@ export declare function sessionCreateTimeoutMs(env?: NodeJS.ProcessEnv): number;
274
320
  export declare function sessionIdForCreateKey(key: string): string;
275
321
  export declare function sessionCreateRequest(body: unknown, options?: SessionCreateRequestOptions): Promise<SessionCreateRequestResult>;
276
322
  export declare function createSession(prompt: string, launcher?: string, name?: string, base?: string): Promise<Session>;
323
+ export declare function projectCreatedSession(session: Session): void;
277
324
  export declare function spawnerClause(p: SessRec | null): string;
278
325
  export declare function pendingSessionCreateWorktreePaths(): Set<string>;
279
326
  export declare function bootstrapMaterialize(rec: SessRec, doMaterialize?: (proj: string) => unknown): void;
@@ -292,10 +339,15 @@ export declare function markState(status: Lifecycle, opts?: {
292
339
  note?: string;
293
340
  sessionId?: string;
294
341
  }): boolean;
342
+ export declare function markHumanPromptActive(sessionId: string): boolean;
295
343
  export declare const markDone: (proposal?: Proposal, sessionId?: string, note?: string) => boolean;
296
- export declare const markError: (sessionId?: string) => boolean;
297
344
  export declare function markTurnFailure(sessionId: string | undefined, note: string): boolean;
345
+ export declare const INTERRUPTED_NOTE = "interrupted: the human stopped this turn; the next message continues the conversation";
346
+ export declare function stampInterrupt(id: string): void;
347
+ export declare function clearInterruptMarker(id: string): void;
348
+ export declare const markInterrupted: (sessionId: string) => boolean;
298
349
  export declare function markHeadlessTurnFailure(sessionId: string, harness: string, exitCode: string): boolean;
350
+ export declare function existingHarnessLaunchTarget(id: string): string | null;
299
351
  export declare function stageHarnessLaunchProof(sessionId: string | undefined, harnessSessionId: string | undefined, launchPayload: string): boolean;
300
352
  export declare function markHarnessSessionId(sessionId: string | undefined, harnessSessionId: string | undefined): boolean;
301
353
  export declare function markIdle(sessionId?: string): boolean;
@@ -312,7 +364,7 @@ export type ReviewEvalFacts = {
312
364
  export type ReviewEvalGate = ({
313
365
  phase: 'ready';
314
366
  } & ReviewEvalFacts) | {
315
- phase: 'unavailable' | 'loading' | 'updating' | 'error';
367
+ phase: 'unavailable' | 'loading' | 'updating' | 'error' | 'dormant';
316
368
  };
317
369
  export type ReviewGates = {
318
370
  conflictsWithMain: boolean;
@@ -335,14 +387,47 @@ export type ReviewPayload = {
335
387
  note: string | null;
336
388
  };
337
389
  };
390
+ export type SessionDiffFile = ReviewDiffFile & {
391
+ patch: string;
392
+ diffIdentity: string;
393
+ };
394
+ export type DiffScope = 'branch' | 'working';
395
+ export type BranchState = 'no-commits' | 'merged' | 'open';
396
+ export type SessionDiffPayload = {
397
+ id: string;
398
+ scope: 'branch';
399
+ branch: string;
400
+ baseRef: string;
401
+ base: string;
402
+ head: string;
403
+ mergeBase: string;
404
+ branchState: BranchState;
405
+ commitUrl: string | null;
406
+ files: SessionDiffFile[];
407
+ working: {
408
+ readable: boolean;
409
+ files: SessionDiffFile[];
410
+ };
411
+ comments: DiffComment[];
412
+ };
413
+ export declare function commitUrlForRemote(remote: string, commit: string): string | null;
414
+ export declare function sessionDiff(id: string, filePath?: string, offset?: number, limit?: number, scope?: DiffScope): Promise<SessionDiffPayload | null>;
415
+ export declare function saveDiffComment(id: string, input: Omit<DiffComment, 'id' | 'sentAt'> & {
416
+ id?: string;
417
+ }): Promise<DiffComment | null>;
418
+ export declare function retractDiffComment(id: string, commentId: string): Promise<DiffComment | null>;
419
+ export declare function sendDiffComments(id: string, ids?: string[]): Promise<{
420
+ ok: boolean;
421
+ sentAt?: string;
422
+ count?: number;
423
+ error?: string;
424
+ }>;
338
425
  export declare function reviewPayload(id: string): Promise<ReviewPayload | null>;
339
426
  export type MergeSessionResult = {
340
427
  dispatched: true;
341
428
  } | {
342
429
  dispatched: false;
343
430
  reason: string;
344
- code?: 'session_merge_not_proposed';
345
- status?: 409;
346
431
  };
347
432
  export declare function mergeSession(id: string): Promise<MergeSessionResult>;
348
433
  export type SessionLeafReceipt = {
@@ -366,7 +451,6 @@ export type SessionLeafProcessProbe = Readonly<{
366
451
  }>;
367
452
  export declare function installSessionLeafProcessProbeForTest(probe: SessionLeafProcessProbe): () => void;
368
453
  export declare const stopSession: (id: string) => Promise<boolean>;
369
- export declare const archiveSession: (id: string, on?: boolean) => Promise<boolean>;
370
454
  export declare const closeSession: (id: string, rawSource?: unknown) => Promise<boolean>;
371
455
  export type CorruptRecordQuarantineWitness = {
372
456
  adapter: string;
@@ -415,19 +499,32 @@ export type SessionTableScope = {
415
499
  parent: string;
416
500
  };
417
501
  export declare function formatTable(sessions: Session[], color?: boolean, scope?: SessionTableScope): string;
502
+ type MessageIdempotency = {
503
+ operation: string;
504
+ requestDigest: string;
505
+ payloadHash: string;
506
+ };
418
507
  type DispatchIdempotency = MessageIdempotency;
419
- type DispatchAcceptCode = 'dispatch_key_reused' | 'session_merge_not_proposed';
508
+ type DispatchAcceptCode = 'dispatch_key_reused';
509
+ export declare const EMPTY_PROMPT_ERROR = "empty prompt \u2014 nothing to dispatch";
420
510
  type AcceptedDispatch = DispatchResult & {
421
511
  replayed?: boolean;
422
512
  code?: DispatchAcceptCode;
513
+ delivery?: 'accepted' | 'queued' | 'deferred';
423
514
  };
424
515
  type SendTextOptions = {
425
516
  replyVia?: 'note';
426
517
  idempotency?: DispatchIdempotency;
518
+ deliveryKey?: string;
427
519
  acceptGuard?: (record: SessRec) => Promise<void>;
428
520
  deferDrain?: boolean;
521
+ allowStranded?: boolean;
429
522
  };
430
523
  export declare function sendText(id: string, text: string, from?: string, opts?: SendTextOptions): Promise<AcceptedDispatch>;
431
524
  export declare function drainSession(id: string): Promise<void>;
525
+ export declare function canonicalMessageText(message: {
526
+ kind: string;
527
+ body: Uint8Array;
528
+ }, recipient: SessRec): string;
432
529
  export declare function interruptSession(id: string): Promise<DispatchResult>;
433
530
  export declare function rawKey(id: string, key: string | string[]): Promise<boolean>;