@raidiant/notifai 11.7.1-beta.2 → 12.0.0-beta.11

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 (409) hide show
  1. package/CHANGELOG.md +61 -4
  2. package/NOTICE +16 -0
  3. package/THIRD_PARTY_NOTICES +725 -0
  4. package/bin/notifai.mjs +11420 -0
  5. package/data/install.ps1 +318 -0
  6. package/data/release.json +1 -0
  7. package/inventory.json +1 -0
  8. package/npm-adapter-files.json +52 -0
  9. package/package.json +14 -44
  10. package/README.md +0 -168
  11. package/dist/agent-update-notice.d.ts +0 -7
  12. package/dist/agent-update-notice.js +0 -77
  13. package/dist/agent-update-notice.js.map +0 -1
  14. package/dist/atomic-file.d.ts +0 -30
  15. package/dist/atomic-file.js +0 -148
  16. package/dist/atomic-file.js.map +0 -1
  17. package/dist/attendant-update.d.ts +0 -15
  18. package/dist/attendant-update.js +0 -96
  19. package/dist/attendant-update.js.map +0 -1
  20. package/dist/claude-wake.d.ts +0 -108
  21. package/dist/claude-wake.js +0 -369
  22. package/dist/claude-wake.js.map +0 -1
  23. package/dist/cli-bin.d.ts +0 -26
  24. package/dist/cli-bin.js +0 -220
  25. package/dist/cli-bin.js.map +0 -1
  26. package/dist/cli-contract.d.ts +0 -16
  27. package/dist/cli-contract.js +0 -27
  28. package/dist/cli-contract.js.map +0 -1
  29. package/dist/cli-release.d.ts +0 -36
  30. package/dist/cli-release.js +0 -85
  31. package/dist/cli-release.js.map +0 -1
  32. package/dist/client.d.ts +0 -109
  33. package/dist/client.js +0 -217
  34. package/dist/client.js.map +0 -1
  35. package/dist/codex-answer-control.d.ts +0 -14
  36. package/dist/codex-answer-control.js +0 -41
  37. package/dist/codex-answer-control.js.map +0 -1
  38. package/dist/codex-answer-presentation.d.ts +0 -18
  39. package/dist/codex-answer-presentation.js +0 -113
  40. package/dist/codex-answer-presentation.js.map +0 -1
  41. package/dist/codex-input-lifecycle.d.ts +0 -10
  42. package/dist/codex-input-lifecycle.js +0 -63
  43. package/dist/codex-input-lifecycle.js.map +0 -1
  44. package/dist/codex-native-control.d.ts +0 -13
  45. package/dist/codex-native-control.js +0 -120
  46. package/dist/codex-native-control.js.map +0 -1
  47. package/dist/codex-native-turn.d.ts +0 -37
  48. package/dist/codex-native-turn.js +0 -155
  49. package/dist/codex-native-turn.js.map +0 -1
  50. package/dist/codex-question-bindings.d.ts +0 -76
  51. package/dist/codex-question-bindings.js +0 -151
  52. package/dist/codex-question-bindings.js.map +0 -1
  53. package/dist/codex-queue-control.d.ts +0 -21
  54. package/dist/codex-queue-control.js +0 -59
  55. package/dist/codex-queue-control.js.map +0 -1
  56. package/dist/codex-tool-messages.d.ts +0 -7
  57. package/dist/codex-tool-messages.js +0 -126
  58. package/dist/codex-tool-messages.js.map +0 -1
  59. package/dist/codex-wake.d.ts +0 -58
  60. package/dist/codex-wake.js +0 -135
  61. package/dist/codex-wake.js.map +0 -1
  62. package/dist/command-session.d.ts +0 -14
  63. package/dist/command-session.js +0 -31
  64. package/dist/command-session.js.map +0 -1
  65. package/dist/commands-acknowledge.d.ts +0 -13
  66. package/dist/commands-acknowledge.js +0 -116
  67. package/dist/commands-acknowledge.js.map +0 -1
  68. package/dist/commands-agent-sessions.d.ts +0 -6
  69. package/dist/commands-agent-sessions.js +0 -51
  70. package/dist/commands-agent-sessions.js.map +0 -1
  71. package/dist/commands-ask.d.ts +0 -62
  72. package/dist/commands-ask.js +0 -503
  73. package/dist/commands-ask.js.map +0 -1
  74. package/dist/commands-auth.d.ts +0 -76
  75. package/dist/commands-auth.js +0 -421
  76. package/dist/commands-auth.js.map +0 -1
  77. package/dist/commands-close.d.ts +0 -6
  78. package/dist/commands-close.js +0 -273
  79. package/dist/commands-close.js.map +0 -1
  80. package/dist/commands-config.d.ts +0 -31
  81. package/dist/commands-config.js +0 -272
  82. package/dist/commands-config.js.map +0 -1
  83. package/dist/commands-core.d.ts +0 -145
  84. package/dist/commands-core.js +0 -190
  85. package/dist/commands-core.js.map +0 -1
  86. package/dist/commands-devices.d.ts +0 -41
  87. package/dist/commands-devices.js +0 -144
  88. package/dist/commands-devices.js.map +0 -1
  89. package/dist/commands-doctor.d.ts +0 -25
  90. package/dist/commands-doctor.js +0 -1553
  91. package/dist/commands-doctor.js.map +0 -1
  92. package/dist/commands-guidance.d.ts +0 -27
  93. package/dist/commands-guidance.js +0 -150
  94. package/dist/commands-guidance.js.map +0 -1
  95. package/dist/commands-harness-context.d.ts +0 -57
  96. package/dist/commands-harness-context.js +0 -102
  97. package/dist/commands-harness-context.js.map +0 -1
  98. package/dist/commands-hook-attend.d.ts +0 -70
  99. package/dist/commands-hook-attend.js +0 -655
  100. package/dist/commands-hook-attend.js.map +0 -1
  101. package/dist/commands-hook-diagnostics.d.ts +0 -37
  102. package/dist/commands-hook-diagnostics.js +0 -136
  103. package/dist/commands-hook-diagnostics.js.map +0 -1
  104. package/dist/commands-hook-install.d.ts +0 -26
  105. package/dist/commands-hook-install.js +0 -784
  106. package/dist/commands-hook-install.js.map +0 -1
  107. package/dist/commands-hook-run.d.ts +0 -29
  108. package/dist/commands-hook-run.js +0 -933
  109. package/dist/commands-hook-run.js.map +0 -1
  110. package/dist/commands-hook-shape.d.ts +0 -19
  111. package/dist/commands-hook-shape.js +0 -48
  112. package/dist/commands-hook-shape.js.map +0 -1
  113. package/dist/commands-init.d.ts +0 -42
  114. package/dist/commands-init.js +0 -901
  115. package/dist/commands-init.js.map +0 -1
  116. package/dist/commands-io.d.ts +0 -2
  117. package/dist/commands-io.js +0 -117
  118. package/dist/commands-io.js.map +0 -1
  119. package/dist/commands-logs.d.ts +0 -30
  120. package/dist/commands-logs.js +0 -201
  121. package/dist/commands-logs.js.map +0 -1
  122. package/dist/commands-native-acknowledge.d.ts +0 -8
  123. package/dist/commands-native-acknowledge.js +0 -114
  124. package/dist/commands-native-acknowledge.js.map +0 -1
  125. package/dist/commands-project.d.ts +0 -4
  126. package/dist/commands-project.js +0 -41
  127. package/dist/commands-project.js.map +0 -1
  128. package/dist/commands-receive.d.ts +0 -3
  129. package/dist/commands-receive.js +0 -59
  130. package/dist/commands-receive.js.map +0 -1
  131. package/dist/commands-send-support.d.ts +0 -59
  132. package/dist/commands-send-support.js +0 -258
  133. package/dist/commands-send-support.js.map +0 -1
  134. package/dist/commands-send.d.ts +0 -34
  135. package/dist/commands-send.js +0 -900
  136. package/dist/commands-send.js.map +0 -1
  137. package/dist/commands-setup-proof.d.ts +0 -43
  138. package/dist/commands-setup-proof.js +0 -134
  139. package/dist/commands-setup-proof.js.map +0 -1
  140. package/dist/commands-skill.d.ts +0 -21
  141. package/dist/commands-skill.js +0 -199
  142. package/dist/commands-skill.js.map +0 -1
  143. package/dist/commands-sounds.d.ts +0 -12
  144. package/dist/commands-sounds.js +0 -35
  145. package/dist/commands-sounds.js.map +0 -1
  146. package/dist/commands-update-check.d.ts +0 -6
  147. package/dist/commands-update-check.js +0 -102
  148. package/dist/commands-update-check.js.map +0 -1
  149. package/dist/commands-update-resume.d.ts +0 -7
  150. package/dist/commands-update-resume.js +0 -143
  151. package/dist/commands-update-resume.js.map +0 -1
  152. package/dist/commands-update-skill.d.ts +0 -5
  153. package/dist/commands-update-skill.js +0 -36
  154. package/dist/commands-update-skill.js.map +0 -1
  155. package/dist/commands-update.d.ts +0 -11
  156. package/dist/commands-update.js +0 -286
  157. package/dist/commands-update.js.map +0 -1
  158. package/dist/commands.d.ts +0 -26
  159. package/dist/commands.js +0 -27
  160. package/dist/commands.js.map +0 -1
  161. package/dist/config-schema.d.ts +0 -62
  162. package/dist/config-schema.js +0 -302
  163. package/dist/config-schema.js.map +0 -1
  164. package/dist/config.d.ts +0 -181
  165. package/dist/config.js +0 -357
  166. package/dist/config.js.map +0 -1
  167. package/dist/credentials.d.ts +0 -96
  168. package/dist/credentials.js +0 -342
  169. package/dist/credentials.js.map +0 -1
  170. package/dist/file-lock.d.ts +0 -34
  171. package/dist/file-lock.js +0 -367
  172. package/dist/file-lock.js.map +0 -1
  173. package/dist/generated-session-label.d.ts +0 -2
  174. package/dist/generated-session-label.js +0 -152
  175. package/dist/generated-session-label.js.map +0 -1
  176. package/dist/guidance-content.d.ts +0 -53
  177. package/dist/guidance-content.js +0 -248
  178. package/dist/guidance-content.js.map +0 -1
  179. package/dist/guidance-render.d.ts +0 -25
  180. package/dist/guidance-render.js +0 -47
  181. package/dist/guidance-render.js.map +0 -1
  182. package/dist/guidance.d.ts +0 -69
  183. package/dist/guidance.js +0 -173
  184. package/dist/guidance.js.map +0 -1
  185. package/dist/harness-session-title.d.ts +0 -22
  186. package/dist/harness-session-title.js +0 -74
  187. package/dist/harness-session-title.js.map +0 -1
  188. package/dist/harnesses.d.ts +0 -65
  189. package/dist/harnesses.js +0 -159
  190. package/dist/harnesses.js.map +0 -1
  191. package/dist/hermes-attendant.d.ts +0 -38
  192. package/dist/hermes-attendant.js +0 -337
  193. package/dist/hermes-attendant.js.map +0 -1
  194. package/dist/hermes-plugin.d.ts +0 -11
  195. package/dist/hermes-plugin.js +0 -299
  196. package/dist/hermes-plugin.js.map +0 -1
  197. package/dist/hook-acknowledgements.d.ts +0 -70
  198. package/dist/hook-acknowledgements.js +0 -490
  199. package/dist/hook-acknowledgements.js.map +0 -1
  200. package/dist/hook-adapter.d.ts +0 -48
  201. package/dist/hook-adapter.js +0 -419
  202. package/dist/hook-adapter.js.map +0 -1
  203. package/dist/hook-events.d.ts +0 -105
  204. package/dist/hook-events.js +0 -130
  205. package/dist/hook-events.js.map +0 -1
  206. package/dist/hook-gates.d.ts +0 -7
  207. package/dist/hook-gates.js +0 -20
  208. package/dist/hook-gates.js.map +0 -1
  209. package/dist/hook-input.d.ts +0 -10
  210. package/dist/hook-input.js +0 -64
  211. package/dist/hook-input.js.map +0 -1
  212. package/dist/hook-lifecycle.d.ts +0 -112
  213. package/dist/hook-lifecycle.js +0 -2031
  214. package/dist/hook-lifecycle.js.map +0 -1
  215. package/dist/hook-project-sessions.d.ts +0 -28
  216. package/dist/hook-project-sessions.js +0 -141
  217. package/dist/hook-project-sessions.js.map +0 -1
  218. package/dist/hook-question-lock.d.ts +0 -29
  219. package/dist/hook-question-lock.js +0 -217
  220. package/dist/hook-question-lock.js.map +0 -1
  221. package/dist/hook-question-retirement.d.ts +0 -74
  222. package/dist/hook-question-retirement.js +0 -314
  223. package/dist/hook-question-retirement.js.map +0 -1
  224. package/dist/hook-question-state.d.ts +0 -58
  225. package/dist/hook-question-state.js +0 -239
  226. package/dist/hook-question-state.js.map +0 -1
  227. package/dist/hook-session-state.d.ts +0 -127
  228. package/dist/hook-session-state.js +0 -488
  229. package/dist/hook-session-state.js.map +0 -1
  230. package/dist/hook-types.d.ts +0 -476
  231. package/dist/hook-types.js +0 -4
  232. package/dist/hook-types.js.map +0 -1
  233. package/dist/injection-render.d.ts +0 -36
  234. package/dist/injection-render.js +0 -61
  235. package/dist/injection-render.js.map +0 -1
  236. package/dist/install-hooks.d.ts +0 -470
  237. package/dist/install-hooks.js +0 -1622
  238. package/dist/install-hooks.js.map +0 -1
  239. package/dist/integration-health.d.ts +0 -26
  240. package/dist/integration-health.js +0 -133
  241. package/dist/integration-health.js.map +0 -1
  242. package/dist/interactive.d.ts +0 -22
  243. package/dist/interactive.js +0 -644
  244. package/dist/interactive.js.map +0 -1
  245. package/dist/invocation-context.d.ts +0 -47
  246. package/dist/invocation-context.js +0 -164
  247. package/dist/invocation-context.js.map +0 -1
  248. package/dist/local-path.d.ts +0 -7
  249. package/dist/local-path.js +0 -27
  250. package/dist/local-path.js.map +0 -1
  251. package/dist/logging.d.ts +0 -157
  252. package/dist/logging.js +0 -599
  253. package/dist/logging.js.map +0 -1
  254. package/dist/main-run.d.ts +0 -1
  255. package/dist/main-run.js +0 -42
  256. package/dist/main-run.js.map +0 -1
  257. package/dist/main.d.ts +0 -2
  258. package/dist/main.js +0 -12
  259. package/dist/main.js.map +0 -1
  260. package/dist/native-answer-operation.d.ts +0 -70
  261. package/dist/native-answer-operation.js +0 -247
  262. package/dist/native-answer-operation.js.map +0 -1
  263. package/dist/native-skills.d.ts +0 -64
  264. package/dist/native-skills.js +0 -167
  265. package/dist/native-skills.js.map +0 -1
  266. package/dist/node-floor.d.ts +0 -19
  267. package/dist/node-floor.js +0 -32
  268. package/dist/node-floor.js.map +0 -1
  269. package/dist/npm-invocation.d.ts +0 -34
  270. package/dist/npm-invocation.js +0 -53
  271. package/dist/npm-invocation.js.map +0 -1
  272. package/dist/openclaw-continuation-bridge.d.ts +0 -7
  273. package/dist/openclaw-continuation-bridge.js +0 -64
  274. package/dist/openclaw-continuation-bridge.js.map +0 -1
  275. package/dist/openclaw-gateway-readiness.d.ts +0 -1
  276. package/dist/openclaw-gateway-readiness.js +0 -24
  277. package/dist/openclaw-gateway-readiness.js.map +0 -1
  278. package/dist/openclaw-generation.d.ts +0 -21
  279. package/dist/openclaw-generation.js +0 -115
  280. package/dist/openclaw-generation.js.map +0 -1
  281. package/dist/openclaw-message-bridge.d.ts +0 -8
  282. package/dist/openclaw-message-bridge.js +0 -93
  283. package/dist/openclaw-message-bridge.js.map +0 -1
  284. package/dist/openclaw-pending.d.ts +0 -8
  285. package/dist/openclaw-pending.js +0 -47
  286. package/dist/openclaw-pending.js.map +0 -1
  287. package/dist/openclaw-plugin.d.ts +0 -75
  288. package/dist/openclaw-plugin.js +0 -1353
  289. package/dist/openclaw-plugin.js.map +0 -1
  290. package/dist/openclaw-session-access.d.ts +0 -12
  291. package/dist/openclaw-session-access.js +0 -79
  292. package/dist/openclaw-session-access.js.map +0 -1
  293. package/dist/opencode-plugin.d.ts +0 -88
  294. package/dist/opencode-plugin.js +0 -286
  295. package/dist/opencode-plugin.js.map +0 -1
  296. package/dist/orca-session-title.d.ts +0 -11
  297. package/dist/orca-session-title.js +0 -111
  298. package/dist/orca-session-title.js.map +0 -1
  299. package/dist/pack-feedback-slice.d.ts +0 -35
  300. package/dist/pack-feedback-slice.js +0 -126
  301. package/dist/pack-feedback-slice.js.map +0 -1
  302. package/dist/pairing-qr.d.ts +0 -5
  303. package/dist/pairing-qr.js +0 -24
  304. package/dist/pairing-qr.js.map +0 -1
  305. package/dist/pending-pairing.d.ts +0 -38
  306. package/dist/pending-pairing.js +0 -70
  307. package/dist/pending-pairing.js.map +0 -1
  308. package/dist/platform.d.ts +0 -67
  309. package/dist/platform.js +0 -140
  310. package/dist/platform.js.map +0 -1
  311. package/dist/process-identity.d.ts +0 -26
  312. package/dist/process-identity.js +0 -82
  313. package/dist/process-identity.js.map +0 -1
  314. package/dist/program.d.ts +0 -59
  315. package/dist/program.js +0 -691
  316. package/dist/program.js.map +0 -1
  317. package/dist/project-enablement.d.ts +0 -21
  318. package/dist/project-enablement.js +0 -71
  319. package/dist/project-enablement.js.map +0 -1
  320. package/dist/question-settlement-process.d.ts +0 -17
  321. package/dist/question-settlement-process.js +0 -35
  322. package/dist/question-settlement-process.js.map +0 -1
  323. package/dist/question-timing.d.ts +0 -46
  324. package/dist/question-timing.js +0 -48
  325. package/dist/question-timing.js.map +0 -1
  326. package/dist/readiness.d.ts +0 -153
  327. package/dist/readiness.js +0 -149
  328. package/dist/readiness.js.map +0 -1
  329. package/dist/release.d.ts +0 -31
  330. package/dist/release.js +0 -52
  331. package/dist/release.js.map +0 -1
  332. package/dist/send-attempts.d.ts +0 -26
  333. package/dist/send-attempts.js +0 -139
  334. package/dist/send-attempts.js.map +0 -1
  335. package/dist/send.d.ts +0 -115
  336. package/dist/send.js +0 -421
  337. package/dist/send.js.map +0 -1
  338. package/dist/session-activation.d.ts +0 -13
  339. package/dist/session-activation.js +0 -64
  340. package/dist/session-activation.js.map +0 -1
  341. package/dist/session-attendant-probe.d.ts +0 -85
  342. package/dist/session-attendant-probe.js +0 -173
  343. package/dist/session-attendant-probe.js.map +0 -1
  344. package/dist/session-attendant-state.d.ts +0 -70
  345. package/dist/session-attendant-state.js +0 -256
  346. package/dist/session-attendant-state.js.map +0 -1
  347. package/dist/session-attendant.d.ts +0 -143
  348. package/dist/session-attendant.js +0 -520
  349. package/dist/session-attendant.js.map +0 -1
  350. package/dist/session-delivery.d.ts +0 -249
  351. package/dist/session-delivery.js +0 -576
  352. package/dist/session-delivery.js.map +0 -1
  353. package/dist/session-handoff.d.ts +0 -98
  354. package/dist/session-handoff.js +0 -118
  355. package/dist/session-handoff.js.map +0 -1
  356. package/dist/session-input-wakes.d.ts +0 -78
  357. package/dist/session-input-wakes.js +0 -239
  358. package/dist/session-input-wakes.js.map +0 -1
  359. package/dist/session-inputs.d.ts +0 -57
  360. package/dist/session-inputs.js +0 -434
  361. package/dist/session-inputs.js.map +0 -1
  362. package/dist/session-labels.d.ts +0 -56
  363. package/dist/session-labels.js +0 -396
  364. package/dist/session-labels.js.map +0 -1
  365. package/dist/session-message-handoff.d.ts +0 -39
  366. package/dist/session-message-handoff.js +0 -107
  367. package/dist/session-message-handoff.js.map +0 -1
  368. package/dist/setup-destinations.d.ts +0 -23
  369. package/dist/setup-destinations.js +0 -44
  370. package/dist/setup-destinations.js.map +0 -1
  371. package/dist/skill-integrity.d.ts +0 -54
  372. package/dist/skill-integrity.js +0 -164
  373. package/dist/skill-integrity.js.map +0 -1
  374. package/dist/skill-source/manifest.json +0 -40
  375. package/dist/skill-source/notifai/SKILL.md +0 -350
  376. package/dist/skill-source/notifai/references/diagnostics.md +0 -36
  377. package/dist/skill-source/notifai/references/harness-setup.md +0 -384
  378. package/dist/skill-source/notifai/references/native-questions.md +0 -51
  379. package/dist/skill-source/notifai/references/notes-and-edits.md +0 -54
  380. package/dist/skill-source/notifai/references/send-details.md +0 -14
  381. package/dist/skill-source/notifai/references/updates.md +0 -116
  382. package/dist/skill-source/notifai/references/writing-examples.md +0 -56
  383. package/dist/sound-ref.d.ts +0 -23
  384. package/dist/sound-ref.js +0 -28
  385. package/dist/sound-ref.js.map +0 -1
  386. package/dist/ui/banner.d.ts +0 -22
  387. package/dist/ui/banner.js +0 -87
  388. package/dist/ui/banner.js.map +0 -1
  389. package/dist/ui/config-view.d.ts +0 -30
  390. package/dist/ui/config-view.js +0 -108
  391. package/dist/ui/config-view.js.map +0 -1
  392. package/dist/ui/help.d.ts +0 -44
  393. package/dist/ui/help.js +0 -107
  394. package/dist/ui/help.js.map +0 -1
  395. package/dist/ui/theme.d.ts +0 -90
  396. package/dist/ui/theme.js +0 -244
  397. package/dist/ui/theme.js.map +0 -1
  398. package/dist/update-handoff.d.ts +0 -29
  399. package/dist/update-handoff.js +0 -69
  400. package/dist/update-handoff.js.map +0 -1
  401. package/dist/url-policy.d.ts +0 -85
  402. package/dist/url-policy.js +0 -369
  403. package/dist/url-policy.js.map +0 -1
  404. package/dist/version.d.ts +0 -40
  405. package/dist/version.js +0 -132
  406. package/dist/version.js.map +0 -1
  407. package/dist/wake-support.d.ts +0 -40
  408. package/dist/wake-support.js +0 -95
  409. package/dist/wake-support.js.map +0 -1
@@ -1,135 +0,0 @@
1
- import { accessSync, constants, existsSync } from 'node:fs';
2
- import path from 'node:path';
3
- import { configHome } from './install-hooks.js';
4
- import {} from './hook-types.js';
5
- import { deliverIntoCodexThread } from './session-handoff.js';
6
- import { abortedDelivery, cancelledDelivery, holdForNextTurn, runWakeCommand } from './wake-support.js';
7
- /** Codex thread ids are UUIDs, and `--thread` wants that exact id. */
8
- const THREAD_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
9
- /**
10
- * The per-thread durable inbox `codex queue` writes to, relative to `$CODEX_HOME`.
11
- *
12
- * Named for diagnostics only. Notifai never opens it: the schema is private to
13
- * Codex, versioned by its own migration table, and the supported writer is the
14
- * CLI. Reading it here would couple Notifai to an internal shape it does not own.
15
- */
16
- export const CODEX_QUEUE_STORE_FILE = 'queue_1.sqlite';
17
- export function codexHome(env) {
18
- return configHome(env, 'CODEX_HOME', '.codex');
19
- }
20
- export function codexQueueStorePath(env) {
21
- return path.join(codexHome(env), CODEX_QUEUE_STORE_FILE);
22
- }
23
- /**
24
- * Whether this Stop hook could queue an answer into its own thread.
25
- *
26
- * The only precondition the route actually has is an exact thread id: queueing
27
- * needs no writer lock, no daemon, no socket and no platform syscall, and it
28
- * succeeds against a live, busy or stopped thread alike. The absence of the
29
- * queue store is deliberately *not* a blocker — Codex creates it on first
30
- * write — so this reports readiness, never a store-existence gate.
31
- */
32
- export function inspectCodexQueue(threadId, _env) {
33
- if (threadId === undefined || !THREAD_ID.test(threadId)) {
34
- return {
35
- state: 'unavailable',
36
- reason: 'the Codex session id is not a thread id, so no inbox can be named',
37
- };
38
- }
39
- return { state: 'ready', threadId };
40
- }
41
- /**
42
- * Low-level exact-thread wake transport. Production callers wrap this route
43
- * with sessionInputRoute: only a content-free wake goes into the native queue,
44
- * and the foreground consumer claims current input immediately before stdout.
45
- *
46
- * Queue exit 0 proves storage, never presentation. A busy owner may consume
47
- * the wake much later; an exited thread keeps it until reopened. There is no
48
- * cold-resume path here, which would consume the queue and a repeated prompt.
49
- */
50
- export function codexWakeRoute(options) {
51
- const env = options.env ?? process.env;
52
- const adapters = options.adapters ?? systemCodexWakeAdapters(env);
53
- return {
54
- kind: 'session-queue',
55
- async deliver(event) {
56
- const written = await deliverIntoCodexThread({
57
- threadId: options.threadId,
58
- cwd: options.cwd,
59
- env,
60
- adapters,
61
- text: event.context,
62
- // `codex queue` is a subprocess writer.
63
- begin: () => event.commitDelivery('subprocess'),
64
- ...(event.writeGuard === undefined ? {} : { guard: event.writeGuard }),
65
- onSpawn: (pgid) => event.writerGroup?.(pgid),
66
- });
67
- if (written.status === 'unavailable')
68
- return holdForNextTurn(written.reason);
69
- if (written.status === 'cancelled' || written.status === 'stopped')
70
- return cancelledDelivery();
71
- if (written.status === 'aborted')
72
- return abortedDelivery();
73
- if (written.status === 'failed') {
74
- // A claimed answer (the Session Attendant holds this thread's lease)
75
- // may have reached the queue: it is reported unconfirmed and never
76
- // written again, exactly like a failed inbox write. An unclaimed one
77
- // is held for the next turn, as it always was.
78
- if (event.writeGuard !== undefined)
79
- throw written.error;
80
- return holdForNextTurn(`queueing the answer into the Codex thread failed: ${written.reason}`);
81
- }
82
- return {
83
- notes: [
84
- "queued the accepted answer into the Codex thread's durable inbox; it starts a turn when that thread is next live",
85
- ],
86
- // `stage: queued`, never `delivered`: exit 0 is identical against an
87
- // exited thread, so this write proves storage and never consumption.
88
- // Consumption is observable elsewhere and only elsewhere — this
89
- // session's own UserPromptSubmit fires with the queued text.
90
- log: { route: 'session-queue', stage: 'queued' },
91
- // The journal still settles here, and must. `delivered` is this
92
- // codebase's token for "the harness itself accepted the write", which
93
- // is exactly what happened; it has never meant the model acted on it
94
- // (see DeliveryAcknowledgement). Holding instead would replay the
95
- // answer at every turn-end while Codex also delivers the queued copy,
96
- // which is the one failure this route has to avoid.
97
- acknowledgement: 'delivered',
98
- };
99
- },
100
- };
101
- }
102
- function runCodex(args, options) {
103
- return runWakeCommand('codex', args, options);
104
- }
105
- export function systemCodexWakeAdapters(env = process.env) {
106
- return {
107
- available: () => executableOnPath('codex', env),
108
- async queue(threadId, cwd, context, onSpawn, signal) {
109
- if (!existsSync(cwd))
110
- throw new Error(`Codex thread cwd no longer exists: ${cwd}`);
111
- await runCodex(['queue', '--thread', threadId, '--message', context], {
112
- cwd,
113
- env,
114
- ...(onSpawn === undefined ? {} : { onSpawn }),
115
- ...(signal === undefined ? {} : { signal }),
116
- });
117
- },
118
- };
119
- }
120
- /** Whether `name` resolves to an executable file on this environment's PATH (POSIX). */
121
- function executableOnPath(name, env) {
122
- for (const directory of (env['PATH'] ?? '').split(path.delimiter)) {
123
- if (directory === '')
124
- continue;
125
- try {
126
- accessSync(path.join(directory, name), constants.X_OK);
127
- return true;
128
- }
129
- catch {
130
- // Not here; keep looking.
131
- }
132
- }
133
- return false;
134
- }
135
- //# sourceMappingURL=codex-wake.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex-wake.js","sourceRoot":"","sources":["../src/codex-wake.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { CommandDeps } from './commands-core.js';
2
- export interface ResolvedCommandSession {
3
- sessionId: string;
4
- source: 'exact-harness' | 'stable-id' | 'project-pointer';
5
- }
6
- /**
7
- * Resolve only Question Routing lifecycle ownership.
8
- *
9
- * Exact harness identity wins across checkouts. A stable question/request id
10
- * wins next. The cwd pointer remains a compatibility fallback for shells that
11
- * genuinely have no exact harness identity; it never owns Project or config
12
- * scope, which stay with the command's invocation directory.
13
- */
14
- export declare function resolveCommandSession(deps: CommandDeps, stableId?: string): ResolvedCommandSession | null;
@@ -1,31 +0,0 @@
1
- import { resolveActiveHarness } from './commands-harness-context.js';
2
- import { readProjectSession } from './hook-project-sessions.js';
3
- import { findOwningSession } from './hook-session-state.js';
4
- /**
5
- * Resolve only Question Routing lifecycle ownership.
6
- *
7
- * Exact harness identity wins across checkouts. A stable question/request id
8
- * wins next. The cwd pointer remains a compatibility fallback for shells that
9
- * genuinely have no exact harness identity; it never owns Project or config
10
- * scope, which stay with the command's invocation directory.
11
- */
12
- export function resolveCommandSession(deps, stableId) {
13
- if (stableId !== undefined) {
14
- const owner = findOwningSession(stableId, deps.env);
15
- if (owner.ambiguous)
16
- return null;
17
- if (owner.sessionId !== null)
18
- return { sessionId: owner.sessionId, source: 'stable-id' };
19
- }
20
- const now = (deps.now ?? Date.now)();
21
- const resolution = resolveActiveHarness(deps.env, deps.cwd, now);
22
- if (resolution.contested.length > 0)
23
- return null;
24
- if (resolution.active?.sessionId !== undefined &&
25
- resolution.contested.length === 0) {
26
- return { sessionId: resolution.active.sessionId, source: 'exact-harness' };
27
- }
28
- const pointer = readProjectSession(deps.cwd, deps.env, now);
29
- return pointer === null ? null : { sessionId: pointer, source: 'project-pointer' };
30
- }
31
- //# sourceMappingURL=command-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-session.js","sourceRoot":"","sources":["../src/command-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAO3D;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAiB,EACjB,QAAiB;IAEjB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAC1F,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAChE,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IACE,UAAU,CAAC,MAAM,EAAE,SAAS,KAAK,SAAS;QAC1C,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EACjC,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3D,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;AACpF,CAAC"}
@@ -1,13 +0,0 @@
1
- import { type CommandDeps } from './commands-core.js';
2
- import { type NativeAcknowledgeFlags } from './commands-native-acknowledge.js';
3
- /**
4
- * Record the one Agent Acknowledgement associated with a replied-to request
5
- * (`req_…`) or a Session Message handed into the session (`sm_…`), dispatched
6
- * by the identifier's prefix.
7
- *
8
- * `--text` is optional here because the acknowledgement is not: an account may
9
- * turn the agent's written reply off, and the receipt must still be recorded so
10
- * the user sees that an agent read the answer. The service holds the account's
11
- * snapshot, so it — not this process — decides whether text was owed.
12
- */
13
- export declare function acknowledgeCommand(deps: CommandDeps, id: string, flags: NativeAcknowledgeFlags): Promise<number>;
@@ -1,116 +0,0 @@
1
- /** Agent-authored acknowledgement submission and local obligation clearing. */
2
- import { AGENT_ACKNOWLEDGEMENT_MAX_LENGTH, SESSION_MESSAGE_ID_PREFIX, } from '@raidiant/notifai-protocol';
3
- import { resolveCommandSession } from './command-session.js';
4
- import { EXIT, authedClient, loadLoggedConfig, log, reportError, } from './commands-core.js';
5
- import { clearAcknowledgementObligation } from './hook-acknowledgements.js';
6
- import { openclawOwnsMessage, openclawOwnsReply } from './openclaw-session-access.js';
7
- import { acknowledgeNativeAnswer } from './commands-native-acknowledge.js';
8
- /**
9
- * Record the one Agent Acknowledgement associated with a replied-to request
10
- * (`req_…`) or a Session Message handed into the session (`sm_…`), dispatched
11
- * by the identifier's prefix.
12
- *
13
- * `--text` is optional here because the acknowledgement is not: an account may
14
- * turn the agent's written reply off, and the receipt must still be recorded so
15
- * the user sees that an agent read the answer. The service holds the account's
16
- * snapshot, so it — not this process — decides whether text was owed.
17
- */
18
- export async function acknowledgeCommand(deps, id, flags) {
19
- if (id.startsWith('q_'))
20
- return acknowledgeNativeAnswer(deps, id, flags);
21
- if (flags.operationId !== undefined || flags.nativeAnswers !== undefined) {
22
- deps.io.err('--operation-id and --native-answers require the exact local q_ question identity.');
23
- return EXIT.usage;
24
- }
25
- const requestId = id;
26
- const subject = id.startsWith(SESSION_MESSAGE_ID_PREFIX) ? 'message' : 'request';
27
- if (deps.env['NOTIFAI_ACTIVE_HARNESS'] === 'openclaw') {
28
- const sessionKey = deps.env['NOTIFAI_ACTIVE_SESSION_ID'] ?? '';
29
- const owned = subject === 'request'
30
- ? openclawOwnsReply(sessionKey, requestId, deps.env, deps.cwd)
31
- : openclawOwnsMessage(sessionKey, id, deps.env, deps.cwd);
32
- if (!owned) {
33
- deps.io.err('This acknowledgement does not belong to the current OpenClaw session generation.');
34
- return EXIT.usage;
35
- }
36
- }
37
- const text = flags.text?.trim() ?? '';
38
- if (flags.text !== undefined && text.length === 0) {
39
- deps.io.err('--text must contain non-whitespace text. Drop it to acknowledge without text.');
40
- return EXIT.usage;
41
- }
42
- if (text.length > AGENT_ACKNOWLEDGEMENT_MAX_LENGTH) {
43
- deps.io.err(`--text must be at most ${AGENT_ACKNOWLEDGEMENT_MAX_LENGTH} characters after trimming. Shorten it: an acknowledgement is a receipt, not a report.`);
44
- return EXIT.usage;
45
- }
46
- const logger = log(deps);
47
- const lifecycleSession = resolveCommandSession(deps, requestId);
48
- const config = loadLoggedConfig(deps, {
49
- cwd: deps.cwd,
50
- env: deps.env,
51
- ...(lifecycleSession === null ? {} : { sessionId: lifecycleSession.sessionId }),
52
- });
53
- logger.info('acknowledgement.attempted', {
54
- ...(subject === 'message' ? { message_id: id } : { request_id: id }),
55
- characters: text.length,
56
- });
57
- const authed = authedClient(deps, config);
58
- if (!authed)
59
- return EXIT.auth;
60
- if (subject === 'message') {
61
- return acknowledgeMessage(deps, authed.client, id, text, flags.json === true, lifecycleSession?.sessionId ?? null);
62
- }
63
- try {
64
- const result = await authed.client.putAgentAcknowledgement(requestId, text.length > 0 ? { text } : {});
65
- const output = {
66
- request_id: requestId,
67
- outcome: result.status,
68
- acknowledgement: result.agent_acknowledgement,
69
- agent_acknowledgement_required: true,
70
- };
71
- logger.info('acknowledgement.outcome', {
72
- request_id: requestId,
73
- outcome: result.status,
74
- text_chars: result.agent_acknowledgement.text.length,
75
- created_at: result.agent_acknowledgement.created_at,
76
- agent_acknowledgement_required: true,
77
- });
78
- if (lifecycleSession !== null) {
79
- clearAcknowledgementObligation(lifecycleSession.sessionId, deps.env, requestId);
80
- }
81
- if (flags.json)
82
- deps.io.out(JSON.stringify(output, null, 2));
83
- else {
84
- deps.io.out(`Agent Acknowledgement ${result.status} for ${requestId} at ${result.agent_acknowledgement.created_at}.`);
85
- }
86
- return EXIT.ok;
87
- }
88
- catch (err) {
89
- return reportError(deps, err, { operation: 'agent_acknowledgement', request_id: requestId });
90
- }
91
- }
92
- async function acknowledgeMessage(deps, client, messageId, text, json, sessionId) {
93
- const logger = log(deps);
94
- try {
95
- const result = await client.putSessionMessageAcknowledgement(messageId, text.length > 0 ? { text } : {});
96
- logger.info('acknowledgement.outcome', {
97
- message_id: messageId,
98
- outcome: result.status,
99
- text_chars: result.agent_acknowledgement.text.length,
100
- created_at: result.agent_acknowledgement.created_at,
101
- });
102
- if (sessionId !== null)
103
- clearAcknowledgementObligation(sessionId, deps.env, messageId);
104
- if (json) {
105
- deps.io.out(JSON.stringify({ message_id: messageId, outcome: result.status, acknowledgement: result.agent_acknowledgement }, null, 2));
106
- }
107
- else {
108
- deps.io.out(`Agent Acknowledgement ${result.status} for ${messageId} at ${result.agent_acknowledgement.created_at}.`);
109
- }
110
- return EXIT.ok;
111
- }
112
- catch (err) {
113
- return reportError(deps, err, { operation: 'session_message_acknowledgement', message_id: messageId });
114
- }
115
- }
116
- //# sourceMappingURL=commands-acknowledge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands-acknowledge.js","sourceRoot":"","sources":["../src/commands-acknowledge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { type CommandDeps } from './commands-core.js';
2
- export interface AgentSessionRenameFlags {
3
- json?: boolean;
4
- }
5
- /** Rename only the exact harness-owned Agent Session running this command. */
6
- export declare function agentSessionRenameCommand(deps: CommandDeps, label: string, flags?: AgentSessionRenameFlags): Promise<number>;
@@ -1,51 +0,0 @@
1
- import { resolveActiveHarness } from './commands-harness-context.js';
2
- import { authedClient, EXIT, loadLoggedConfig, reportError, } from './commands-core.js';
3
- import { normalizeExplicitSessionLabel, renameStoredSessionLabel, } from './session-labels.js';
4
- /** Rename only the exact harness-owned Agent Session running this command. */
5
- export async function agentSessionRenameCommand(deps, label, flags = {}) {
6
- const now = deps.now?.() ?? Date.now();
7
- const resolution = resolveActiveHarness(deps.env, deps.cwd, now);
8
- const active = resolution.active;
9
- if (resolution.contested.length > 0 || active?.sessionId === undefined) {
10
- deps.io.err('No exact active Agent Session can be proven here. Run this command inside the Agent Session you intend to rename.');
11
- return EXIT.usage;
12
- }
13
- const normalized = normalizeExplicitSessionLabel({
14
- env: deps.env,
15
- sessionId: active.sessionId,
16
- label,
17
- });
18
- if (!normalized.ok) {
19
- deps.io.err(normalized.error);
20
- return EXIT.usage;
21
- }
22
- const config = loadLoggedConfig(deps, { cwd: deps.cwd, env: deps.env });
23
- const auth = authedClient(deps, config);
24
- if (!auth)
25
- return EXIT.auth;
26
- try {
27
- const renamed = await auth.client.putAgentSessionLabel({
28
- session_id: active.sessionId,
29
- label: normalized.label,
30
- });
31
- const local = renameStoredSessionLabel({
32
- env: deps.env,
33
- sessionId: active.sessionId,
34
- label: renamed.label,
35
- harness: active.harness,
36
- now,
37
- });
38
- if (!local.ok) {
39
- deps.io.err(local.error);
40
- return EXIT.failed;
41
- }
42
- deps.io.out(flags.json
43
- ? JSON.stringify(renamed)
44
- : `Agent Session renamed to "${renamed.label}" across your Notifai account.`);
45
- return EXIT.ok;
46
- }
47
- catch (err) {
48
- return reportError(deps, err, { operation: 'agent_session_rename' });
49
- }
50
- }
51
- //# sourceMappingURL=commands-agent-sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands-agent-sessions.js","sourceRoot":"","sources":["../src/commands-agent-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,gBAAgB,EAChB,WAAW,GAEZ,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,qBAAqB,CAAA;AAM5B,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAiB,EACjB,KAAa,EACb,QAAiC,EAAE;IAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IACtC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,mHAAmH,CACpH,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,6BAA6B,CAAC;QAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK;KACN,CAAC,CAAA;IACF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACrD,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,wBAAwB,CAAC;YACrC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG;SACJ,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACxB,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,KAAK,CAAC,IAAI;YACR,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,CAAC,CAAC,6BAA6B,OAAO,CAAC,KAAK,gCAAgC,CAC/E,CAAA;QACD,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAA;IACtE,CAAC;AACH,CAAC"}
@@ -1,62 +0,0 @@
1
- /** Validation and durable registration for the agent-facing ask command. */
2
- import { type QuestionT } from '@raidiant/notifai-protocol';
3
- import { type CommandDeps } from './commands-core.js';
4
- export interface AskFlags {
5
- /** Emit the registration and its turn obligation as one JSON object. */
6
- json?: boolean;
7
- choice?: string[];
8
- /** The single question is multi-select: several answers may be chosen. */
9
- multi?: boolean;
10
- /** Optional standalone Markdown Body for focused detail. */
11
- body?: string;
12
- /** Allow visible backslash-n sequences in `--body`. */
13
- literalBackslashN?: boolean;
14
- /** Raw JSON for a multi-question form; replaces the positional question. */
15
- form?: string;
16
- image?: string[];
17
- imageAlt?: string[];
18
- project?: string;
19
- sessionLabel?: string;
20
- }
21
- export interface AskFailure {
22
- ok: false;
23
- registered: false;
24
- code: string;
25
- check_id: string;
26
- exit_code: number;
27
- remedy: string;
28
- message: string;
29
- user_action?: {
30
- code: string;
31
- harness: string;
32
- action: string;
33
- message: string;
34
- };
35
- }
36
- /** One stable failure contract for every machine-readable ask refusal. */
37
- export declare function reportAskFailure(deps: CommandDeps, flags: Pick<AskFlags, 'json'>, failure: Omit<AskFailure, 'ok' | 'registered'>): number;
38
- export interface BuiltQuestions {
39
- questions: QuestionT[];
40
- /** Purpose-written plain text for the collapsed banner and list surfaces. */
41
- summary: string;
42
- /** Optional standalone Markdown Body for focused detail. */
43
- body?: string;
44
- }
45
- /**
46
- * Turn ask input into questions plus authored presentation content. Everything is
47
- * validated at registration because a later hook failure is easy to miss.
48
- */
49
- export declare function buildQuestions(flags: AskFlags, question: string | undefined): {
50
- ok: true;
51
- questions: QuestionT[];
52
- summary: string;
53
- body?: string;
54
- } | {
55
- ok: false;
56
- error: string;
57
- };
58
- /**
59
- * Registers and starts submission immediately, without waiting for turn end.
60
- * The exact harness keeps ownership of answer delivery while work continues.
61
- */
62
- export declare function askCommand(deps: CommandDeps, question: string | undefined, flags: AskFlags): number | Promise<number>;