@raidiant/notifai 11.7.1 → 12.0.0-beta.13

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 +57 -0
  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,74 +0,0 @@
1
- import { readFileSync, statSync } from 'node:fs';
2
- import path from 'node:path';
3
- import { configHome } from './install-hooks.js';
4
- import { readOrcaSessionTitle } from './orca-session-title.js';
5
- const SESSION_INDEX_MAX_BYTES = 64 * 1024 * 1024;
6
- function safeSessionId(value) {
7
- return (value.length > 0 &&
8
- value.length <= 128 &&
9
- !Array.from(value).some((character) => {
10
- const codePoint = character.codePointAt(0) ?? 0;
11
- return codePoint < 32 || codePoint === 127;
12
- }));
13
- }
14
- /**
15
- * Read Codex's own append-only Agent Session title index.
16
- *
17
- * Codex writes one JSONL row for every title update and its consumers scan
18
- * newest-first. Missing, oversized, or malformed local state is ordinary
19
- * adapter failure: callers retain the generated fallback path.
20
- */
21
- export function readCodexSessionTitle(env, sessionId) {
22
- if (!safeSessionId(sessionId))
23
- return undefined;
24
- const file = path.join(configHome(env, 'CODEX_HOME', '.codex'), 'session_index.jsonl');
25
- try {
26
- // CODEX_HOME is the active local harness's configuration authority and
27
- // the basename is fixed; Notification Request input cannot select a path.
28
- const size = statSync(file).size; // lgtm [js/path-injection]
29
- if (size <= 0 || size > SESSION_INDEX_MAX_BYTES)
30
- return undefined;
31
- const lines = readFileSync(file, 'utf8').split(/\r?\n/u); // lgtm [js/path-injection]
32
- for (let index = lines.length - 1; index >= 0; index -= 1) {
33
- const line = lines[index].trim();
34
- if (line.length === 0)
35
- continue;
36
- let parsed;
37
- try {
38
- parsed = JSON.parse(line);
39
- }
40
- catch {
41
- continue;
42
- }
43
- if (typeof parsed !== 'object' || parsed === null)
44
- continue;
45
- const entry = parsed;
46
- if (entry.id !== sessionId || typeof entry.thread_name !== 'string')
47
- continue;
48
- const title = entry.thread_name.trim();
49
- return title.length > 0 ? title : undefined;
50
- }
51
- }
52
- catch {
53
- return undefined;
54
- }
55
- return undefined;
56
- }
57
- /**
58
- * Resolve semantic title adapters without making any host a prerequisite.
59
- * Managed harness output is authoritative, Orca may enrich an exact pane, and
60
- * Codex Desktop/CLI can name its own exact thread with no Orca environment.
61
- */
62
- export function readHarnessSessionTitle(env, active, adapters = {}) {
63
- if (active?.sessionLabel !== undefined)
64
- return active.sessionLabel;
65
- if (active?.sessionId === undefined)
66
- return undefined;
67
- const orca = (adapters.orca ?? readOrcaSessionTitle)(env);
68
- if (orca !== undefined)
69
- return orca;
70
- if (active.harness !== 'codex')
71
- return undefined;
72
- return (adapters.codex ?? readCodexSessionTitle)(env, active.sessionId);
73
- }
74
- //# sourceMappingURL=harness-session-title.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"harness-session-title.js","sourceRoot":"","sources":["../src/harness-session-title.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /** Every harness Notifai can name in Source Context when authoritatively known. */
2
- export declare const SOURCE_CONTEXT_HARNESSES: readonly ["claude-code", "codex", "cursor", "opencode", "openclaw", "hermes", "grok"];
3
- export type SourceContextHarness = (typeof SOURCE_CONTEXT_HARNESSES)[number];
4
- /**
5
- * Harnesses whose lifecycle Notifai can install and manage.
6
- *
7
- * Source Context is the broader vocabulary. Managed hook installation is a
8
- * narrower, independently proven cell. Hermes owns a native prompt plugin,
9
- * while its Question Routing remains unsupported.
10
- */
11
- export declare const HOOK_INSTALLABLE_HARNESSES: readonly ["claude-code", "codex", "cursor", "opencode", "openclaw", "hermes", "grok"];
12
- export type HookInstallableHarness = (typeof HOOK_INSTALLABLE_HARNESSES)[number];
13
- export declare function isHookInstallableHarness(value: string): value is HookInstallableHarness;
14
- export declare const HARNESS_LABELS: Record<SourceContextHarness, string>;
15
- export type DeliveryRoute = 'hook-continuation' | 'inbox-socket' | 'session-queue' | 'owned-control-plane' | 'cold-resume' | 'hold-for-next-turn' | 'unsupported';
16
- export type StopContinuation = 'decision-block' | 'gateway-service' | 'plugin-attendant' | 'unsupported';
17
- export interface HarnessCapability {
18
- /** How an answer is admitted to another turn in the already-open session. */
19
- stopContinuation: StopContinuation;
20
- /** Available answer-delivery routes, best current route first. */
21
- deliveryRoutes: readonly DeliveryRoute[];
22
- /** Concise, honest readiness text for doctor and installation guidance. */
23
- deliveryContract: string;
24
- /** Whether this integration can queue Session Notes and post-consumption Answer Edits. */
25
- sessionMessages?: 'gateway-service' | 'unsupported';
26
- }
27
- export declare const HERMES_CLASSIC_CLI_QUESTION_CAPABILITY: HarnessCapability;
28
- export declare const HERMES_QUESTION_ROUTING_UNAVAILABLE: HarnessCapability;
29
- /**
30
- * The one Hermes integration instance proven by the pinned vertical probe.
31
- *
32
- * This is evidence-bearing capability data, not an adapter. Unsupported and
33
- * deferred surfaces intentionally have no empty implementation object here.
34
- */
35
- export declare const HERMES_CLASSIC_CLI_LOCAL_CAPABILITY: {
36
- readonly instance: {
37
- readonly harness: "hermes";
38
- readonly surface: "classic-cli";
39
- readonly terminalBackend: "local";
40
- };
41
- readonly setup: "hermes-plugin";
42
- readonly activation: "project-enabled-system-prompt-section";
43
- readonly sourceContext: "hermes-session-id-and-invocation-cwd";
44
- readonly continuation: "plugin-attendant-exact-session-injection";
45
- readonly sessionPresence: "plugin-owned-attendant";
46
- readonly sessionMessages: "in-process-exact-session-injection";
47
- };
48
- export type HermesClassicCliLocalInstance = (typeof HERMES_CLASSIC_CLI_LOCAL_CAPABILITY)['instance'];
49
- /**
50
- * Resolve only the Hermes instance whose complete marker envelope was proven.
51
- *
52
- * `HERMES_SESSION_ID` is also bridged by deferred gateway, TUI, API, ACP, and
53
- * remote-backend paths. Their first-party routing/source/backend markers keep
54
- * those cells distinct. Missing source/backend values are the pinned classic
55
- * CLI defaults; a gateway key is never part of that instance.
56
- */
57
- export declare function hermesClassicCliLocalInstance(env: NodeJS.ProcessEnv): HermesClassicCliLocalInstance | null;
58
- /**
59
- * Question-routing contract for hook-installable harnesses.
60
- *
61
- * Hermes Question Routing is scoped to its proved local classic CLI instance.
62
- */
63
- export declare const HARNESS_CAPABILITIES: Record<HookInstallableHarness, HarnessCapability>;
64
- /** Question-routing capability for the active harness integration on this host. */
65
- export declare function questionRoutingCapability(harness: HookInstallableHarness, platform?: NodeJS.Platform): HarnessCapability;
package/dist/harnesses.js DELETED
@@ -1,159 +0,0 @@
1
- /** Every harness Notifai can name in Source Context when authoritatively known. */
2
- export const SOURCE_CONTEXT_HARNESSES = [
3
- 'claude-code',
4
- 'codex',
5
- 'cursor',
6
- 'opencode',
7
- 'openclaw',
8
- 'hermes',
9
- 'grok',
10
- ];
11
- /**
12
- * Harnesses whose lifecycle Notifai can install and manage.
13
- *
14
- * Source Context is the broader vocabulary. Managed hook installation is a
15
- * narrower, independently proven cell. Hermes owns a native prompt plugin,
16
- * while its Question Routing remains unsupported.
17
- */
18
- export const HOOK_INSTALLABLE_HARNESSES = [
19
- 'claude-code',
20
- 'codex',
21
- 'cursor',
22
- 'opencode',
23
- 'openclaw',
24
- 'hermes',
25
- 'grok',
26
- ];
27
- export function isHookInstallableHarness(value) {
28
- return HOOK_INSTALLABLE_HARNESSES.includes(value);
29
- }
30
- export const HARNESS_LABELS = {
31
- 'claude-code': 'Claude Code',
32
- codex: 'Codex',
33
- cursor: 'Cursor',
34
- opencode: 'OpenCode',
35
- openclaw: 'OpenClaw',
36
- hermes: 'Hermes',
37
- grok: 'Grok',
38
- };
39
- const CLAUDE_CODE_CAPABILITY = {
40
- stopContinuation: 'decision-block',
41
- deliveryRoutes: ['hook-continuation', 'inbox-socket', 'cold-resume', 'hold-for-next-turn'],
42
- deliveryContract: 'the Stop hook returns at once and waits out of band through the complete answer window, then posts the answer into this same session over its own inbox socket; a session that has stopped is resumed only once a liveness probe proves it stopped',
43
- };
44
- const CLAUDE_CODE_WINDOWS_CAPABILITY = {
45
- stopContinuation: 'decision-block',
46
- deliveryRoutes: ['hook-continuation', 'hold-for-next-turn'],
47
- deliveryContract: 'the Stop hook keeps the turn held through the complete answer window, then returns the answer as a decision block that continues this same Agent Session; direct inbox wake is unavailable on Windows',
48
- };
49
- const CODEX_CAPABILITY = {
50
- stopContinuation: 'decision-block',
51
- deliveryRoutes: ['session-queue', 'hold-for-next-turn'],
52
- deliveryContract: "the Stop hook returns at once and waits out of band through the complete answer window, then queues the answer into this same thread's durable inbox; a live session consumes it within seconds, a busy one at its next turn boundary, and a stopped one the next time it is opened",
53
- };
54
- const CURSOR_CAPABILITY = {
55
- stopContinuation: 'unsupported',
56
- deliveryRoutes: ['unsupported'],
57
- deliveryContract: 'the hook can return a live follow-up, but the invoking shell exposes no exact conversation id; asynchronous ask is unsupported',
58
- };
59
- const OPENCODE_CAPABILITY = {
60
- stopContinuation: 'unsupported',
61
- deliveryRoutes: ['unsupported'],
62
- deliveryContract: 'no proven answer continuation after session.idle; use a blocking reply command',
63
- };
64
- const OPENCLAW_CAPABILITY = {
65
- stopContinuation: 'gateway-service',
66
- deliveryRoutes: ['session-queue'],
67
- deliveryContract: 'the Gateway service owns the complete answer window and queues a pointer-only follow-up into the exact current session after claiming the answer; the agent fetches the reply and acknowledges it in that session',
68
- sessionMessages: 'gateway-service',
69
- };
70
- const OPENCLAW_UNPROVEN_PLATFORM_CAPABILITY = {
71
- stopContinuation: 'unsupported',
72
- deliveryRoutes: ['unsupported'],
73
- deliveryContract: 'OpenClaw asynchronous answer continuation is verified on macOS only; use a blocking reply command on this host',
74
- sessionMessages: 'unsupported',
75
- };
76
- const GROK_CAPABILITY = {
77
- stopContinuation: 'decision-block',
78
- deliveryRoutes: ['hook-continuation', 'hold-for-next-turn'],
79
- deliveryContract: 'the Stop hook holds the complete answer window, then returns a decision block carrying the answer into the same Grok Agent Session; the successor Stop confirms consumption',
80
- };
81
- export const HERMES_CLASSIC_CLI_QUESTION_CAPABILITY = {
82
- stopContinuation: 'plugin-attendant',
83
- deliveryRoutes: ['session-queue'],
84
- deliveryContract: 'the live classic CLI plugin owns the complete answer window and injects the claimed answer into its exact attached session; a stopped process cannot resume or receive an answer',
85
- };
86
- export const HERMES_QUESTION_ROUTING_UNAVAILABLE = {
87
- stopContinuation: 'unsupported',
88
- deliveryRoutes: ['unsupported'],
89
- deliveryContract: 'Hermes Question Routing is available only in an attended local classic CLI session; use a blocking `notifai send --reply` question on other Hermes surfaces',
90
- };
91
- /**
92
- * The one Hermes integration instance proven by the pinned vertical probe.
93
- *
94
- * This is evidence-bearing capability data, not an adapter. Unsupported and
95
- * deferred surfaces intentionally have no empty implementation object here.
96
- */
97
- export const HERMES_CLASSIC_CLI_LOCAL_CAPABILITY = {
98
- instance: {
99
- harness: 'hermes',
100
- surface: 'classic-cli',
101
- terminalBackend: 'local',
102
- },
103
- setup: 'hermes-plugin',
104
- activation: 'project-enabled-system-prompt-section',
105
- sourceContext: 'hermes-session-id-and-invocation-cwd',
106
- continuation: 'plugin-attendant-exact-session-injection',
107
- sessionPresence: 'plugin-owned-attendant',
108
- sessionMessages: 'in-process-exact-session-injection',
109
- };
110
- /**
111
- * Resolve only the Hermes instance whose complete marker envelope was proven.
112
- *
113
- * `HERMES_SESSION_ID` is also bridged by deferred gateway, TUI, API, ACP, and
114
- * remote-backend paths. Their first-party routing/source/backend markers keep
115
- * those cells distinct. Missing source/backend values are the pinned classic
116
- * CLI defaults; a gateway key is never part of that instance.
117
- */
118
- export function hermesClassicCliLocalInstance(env) {
119
- const sessionId = (env['HERMES_SESSION_ID'] ?? '').trim();
120
- const sessionKey = (env['HERMES_SESSION_KEY'] ?? '').trim();
121
- const platform = (env['HERMES_SESSION_PLATFORM'] ?? '').trim().toLowerCase();
122
- const source = (env['HERMES_SESSION_SOURCE'] ?? '').trim().toLowerCase();
123
- const terminalBackend = (env['TERMINAL_ENV'] ?? '').trim().toLowerCase();
124
- if (sessionId === '' || sessionKey !== '' || platform !== '')
125
- return null;
126
- if (source !== '' && source !== 'cli')
127
- return null;
128
- if (terminalBackend !== '' && terminalBackend !== 'local')
129
- return null;
130
- return HERMES_CLASSIC_CLI_LOCAL_CAPABILITY.instance;
131
- }
132
- /**
133
- * Question-routing contract for hook-installable harnesses.
134
- *
135
- * Hermes Question Routing is scoped to its proved local classic CLI instance.
136
- */
137
- export const HARNESS_CAPABILITIES = {
138
- 'claude-code': CLAUDE_CODE_CAPABILITY,
139
- codex: CODEX_CAPABILITY,
140
- cursor: CURSOR_CAPABILITY,
141
- opencode: OPENCODE_CAPABILITY,
142
- openclaw: OPENCLAW_CAPABILITY,
143
- hermes: HERMES_CLASSIC_CLI_QUESTION_CAPABILITY,
144
- grok: GROK_CAPABILITY,
145
- };
146
- /** Question-routing capability for the active harness integration on this host. */
147
- export function questionRoutingCapability(harness, platform = process.platform) {
148
- if (harness === 'hermes' && platform !== 'darwin' && platform !== 'linux') {
149
- return HERMES_QUESTION_ROUTING_UNAVAILABLE;
150
- }
151
- if (harness === 'claude-code' && platform === 'win32') {
152
- return CLAUDE_CODE_WINDOWS_CAPABILITY;
153
- }
154
- if (harness === 'openclaw' && platform !== 'darwin') {
155
- return OPENCLAW_UNPROVEN_PLATFORM_CAPABILITY;
156
- }
157
- return HARNESS_CAPABILITIES[harness];
158
- }
159
- //# sourceMappingURL=harnesses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../src/harnesses.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import type { Readable, Writable } from 'node:stream';
2
- import { type CommandDeps } from './commands-core.js';
3
- import type { EscalationDeliveryRoute } from './hook-types.js';
4
- import { type HarnessProbe } from './session-attendant.js';
5
- import type { SessionWriteResult } from './session-handoff.js';
6
- import type { WriteGuard } from './wake-support.js';
7
- type Hello = {
8
- type: 'hello';
9
- session_id: string;
10
- cwd: string;
11
- pid: number;
12
- };
13
- /** Framed, bounded IPC to the plugin thread that owns PluginContext. */
14
- export declare class HermesWriterBridge {
15
- private input;
16
- private output;
17
- private now;
18
- private lines;
19
- private helloValue;
20
- private currentSession;
21
- private activity;
22
- private stateAt;
23
- private closed;
24
- private ended;
25
- private nextId;
26
- private pending;
27
- private onHello;
28
- constructor(input: Readable, output: Writable, now?: () => number);
29
- hello(): Promise<Hello | null>;
30
- private receive;
31
- close(): void;
32
- probe(sessionId: string): HarnessProbe;
33
- write(sessionId: string, text: string, begin: () => boolean, guard: WriteGuard): Promise<SessionWriteResult>;
34
- }
35
- /** The only Hermes answer route: the plugin's attached classic CLI instance. */
36
- export declare function hermesAnswerRoute(bridge: HermesWriterBridge, sessionId: string): EscalationDeliveryRoute;
37
- export declare function hermesAttendCommand(deps: CommandDeps, input: Readable, output: Writable): Promise<number>;
38
- export {};