@raidiant/notifai 11.7.1 → 12.0.0-beta.6

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 +48 -0
  2. package/NOTICE +16 -0
  3. package/THIRD_PARTY_NOTICES +725 -0
  4. package/bin/notifai.mjs +11387 -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,337 +0,0 @@
1
- /**
2
- * The local classic CLI plugin owns this child for one exact Hermes session.
3
- * Its pipe is an in-process writer bridge, not a second Hermes connection:
4
- * the plugin checks its attached CLI's session id again at every injection.
5
- */
6
- import { existsSync } from 'node:fs';
7
- import path from 'node:path';
8
- import readline from 'node:readline';
9
- import { log, makeClient } from './commands-core.js';
10
- import { waitForReply } from './commands-send-support.js';
11
- import { loadConfig } from './config.js';
12
- import { hermesPluginCurrent } from './hermes-plugin.js';
13
- import { acquireClaimFile, claimHolderMayRun, readClaimFile, releaseClaimFile } from './hook-question-lock.js';
14
- import { beginSessionIncarnation, lifecycleStamp, readSessionIncarnation, readSessionState, refreshSessionMarkers, rotateSessionIncarnation, sessionNotified, } from './hook-session-state.js';
15
- import { handleSessionEnd, runEscalationWaiter } from './hook-lifecycle.js';
16
- import { currentProcessIdentity, processStartTime } from './process-identity.js';
17
- import { projectBinding, projectEnabled } from './project-enablement.js';
18
- import { runSessionAttendant, systemAttendantClock } from './session-attendant.js';
19
- import { attendantClaimPath, attendantStatusPath, readAttendantLease, writeAttendantStatus } from './session-attendant-state.js';
20
- import { handOffSessionMessages } from './session-message-handoff.js';
21
- const STATE_MAX_AGE_MS = 5_000;
22
- const INITIAL_FRAME_TIMEOUT_MS = 5_000;
23
- /** Framed, bounded IPC to the plugin thread that owns PluginContext. */
24
- export class HermesWriterBridge {
25
- input;
26
- output;
27
- now;
28
- lines;
29
- helloValue = null;
30
- currentSession = null;
31
- activity = 'idle';
32
- stateAt = 0;
33
- closed = false;
34
- ended = false;
35
- nextId = 0;
36
- pending = new Map();
37
- onHello = null;
38
- constructor(input, output, now = Date.now) {
39
- this.input = input;
40
- this.output = output;
41
- this.now = now;
42
- this.lines = readline.createInterface({ input, crlfDelay: Infinity });
43
- this.lines.on('line', line => this.receive(line));
44
- this.lines.on('close', () => this.close());
45
- }
46
- async hello() {
47
- if (this.helloValue !== null || this.closed)
48
- return this.helloValue;
49
- return new Promise(resolve => {
50
- const timer = setTimeout(() => {
51
- this.onHello = null;
52
- resolve(null);
53
- }, INITIAL_FRAME_TIMEOUT_MS);
54
- this.onHello = value => {
55
- clearTimeout(timer);
56
- resolve(value);
57
- };
58
- });
59
- }
60
- receive(line) {
61
- if (line.length > 256 * 1024 || this.closed)
62
- return;
63
- let frame;
64
- try {
65
- frame = JSON.parse(line);
66
- }
67
- catch {
68
- return;
69
- }
70
- if (frame.type === 'hello' && this.helloValue === null &&
71
- typeof frame.session_id === 'string' && typeof frame.cwd === 'string' &&
72
- typeof frame.pid === 'number') {
73
- this.helloValue = frame;
74
- this.onHello?.(this.helloValue);
75
- this.onHello = null;
76
- return;
77
- }
78
- if (this.helloValue === null)
79
- return;
80
- if (frame.type === 'state' && typeof frame.session_id === 'string' &&
81
- (frame.activity === 'idle' || frame.activity === 'working')) {
82
- this.currentSession = frame.session_id;
83
- this.activity = frame.activity;
84
- this.stateAt = this.now();
85
- }
86
- else if (frame.type === 'end' && frame.session_id === this.helloValue.session_id) {
87
- this.ended = true;
88
- this.currentSession = null;
89
- for (const settle of this.pending.values())
90
- settle(null);
91
- this.pending.clear();
92
- }
93
- else if (frame.type === 'result' && typeof frame.id === 'number' &&
94
- typeof frame.accepted === 'boolean') {
95
- this.pending.get(frame.id)?.(frame);
96
- this.pending.delete(frame.id);
97
- }
98
- }
99
- close() {
100
- if (this.closed)
101
- return;
102
- this.closed = true;
103
- this.onHello?.(null);
104
- this.onHello = null;
105
- for (const settle of this.pending.values())
106
- settle(null);
107
- this.pending.clear();
108
- this.lines.close();
109
- this.input.destroy();
110
- }
111
- probe(sessionId) {
112
- if (this.ended)
113
- return { state: 'ended', reason: 'session-end-hook' };
114
- if (this.closed || process.ppid !== this.helloValue?.pid)
115
- return { state: 'ended', reason: 'harness-gone' };
116
- if (this.currentSession !== null && this.currentSession !== sessionId) {
117
- return { state: 'ended', reason: 'session-replaced' };
118
- }
119
- if (this.currentSession !== sessionId || this.now() - this.stateAt > STATE_MAX_AGE_MS) {
120
- return { state: 'uncertain', reason: 'plugin-writer-unconfirmed' };
121
- }
122
- return { state: 'running', activity: this.activity };
123
- }
124
- async write(sessionId, text, begin, guard) {
125
- if (this.probe(sessionId).state !== 'running')
126
- return { status: 'unavailable', reason: 'Hermes plugin writer is not current' };
127
- if (!begin())
128
- return { status: 'cancelled' };
129
- if (!guard.writable())
130
- return { status: 'aborted', reason: 'claim or lease lapsed before Hermes injection' };
131
- const budget = Math.floor(Math.min(5_000, guard.remainingMs()));
132
- if (!Number.isFinite(budget) || budget <= 0) {
133
- return { status: 'aborted', reason: 'claim or lease lapsed before Hermes injection' };
134
- }
135
- const id = ++this.nextId;
136
- const result = new Promise(resolve => this.pending.set(id, resolve));
137
- try {
138
- // The plugin checks this again immediately before calling inject_message.
139
- // A queued pipe write must not outlive the delivery claim.
140
- this.output.write(`${JSON.stringify({ type: 'write', id, session_id: sessionId, text,
141
- deadline_ms: Date.now() + budget })}\n`);
142
- }
143
- catch (error) {
144
- this.pending.delete(id);
145
- return { status: 'failed', reason: 'Hermes writer pipe failed', error };
146
- }
147
- let timer;
148
- const reply = await Promise.race([
149
- result,
150
- new Promise(resolve => { timer = setTimeout(() => resolve(null), budget); }),
151
- ]);
152
- if (timer !== undefined)
153
- clearTimeout(timer);
154
- this.pending.delete(id);
155
- if (reply === null)
156
- return { status: 'failed', reason: 'Hermes injection was not confirmed', error: new Error('writer response missing') };
157
- if (!reply.accepted)
158
- return { status: 'aborted', reason: reply.reason ?? 'Hermes rejected the exact session' };
159
- return { status: 'written', route: 'session-queue' };
160
- }
161
- }
162
- /** The only Hermes answer route: the plugin's attached classic CLI instance. */
163
- export function hermesAnswerRoute(bridge, sessionId) {
164
- return {
165
- kind: 'session-queue',
166
- deliver: async (event) => {
167
- if (event.writeGuard === undefined)
168
- return { acknowledgement: 'held', notes: [] };
169
- const result = await bridge.write(sessionId, event.context, () => event.commitDelivery(), event.writeGuard);
170
- if (result.status === 'written')
171
- return {
172
- acknowledgement: 'delivered', notes: [],
173
- log: { route: 'session-queue', stage: 'plugin-injection' },
174
- };
175
- return {
176
- acknowledgement: 'held', notes: [],
177
- log: { reason: result.status === 'failed' ? 'write-unconfirmed' : result.status === 'aborted' ? 'write-aborted' : result.status },
178
- };
179
- },
180
- };
181
- }
182
- function hermesGates(deps, cwd, sessionId) {
183
- try {
184
- const config = loadConfig({ cwd, env: deps.env, sessionId });
185
- if (!projectEnabled(projectBinding(cwd, deps.env, config.project.value))) {
186
- return { ok: false, reason: 'project-disabled' };
187
- }
188
- }
189
- catch {
190
- return { ok: false, reason: 'enablement-unavailable' };
191
- }
192
- if (!hermesPluginCurrent(deps.hookAdapterHome, deps.env)) {
193
- return { ok: false, reason: 'hermes-plugin-removed-or-replaced' };
194
- }
195
- return { ok: true };
196
- }
197
- export async function hermesAttendCommand(deps, input, output) {
198
- const bridge = new HermesWriterBridge(input, output);
199
- const hello = await bridge.hello();
200
- if (hello === null || hello.pid !== process.ppid ||
201
- hello.session_id === '' || hello.session_id !== deps.env['HERMES_SESSION_ID'] ||
202
- !path.isAbsolute(hello.cwd) || !existsSync(hello.cwd)) {
203
- bridge.close();
204
- return 0;
205
- }
206
- const { session_id: sessionId, cwd } = hello;
207
- const gate = () => hermesGates(deps, cwd, sessionId);
208
- if (!gate().ok) {
209
- bridge.close();
210
- return 0;
211
- }
212
- const start = processStartTime(hello.pid);
213
- const writer = currentProcessIdentity();
214
- if (start === null || writer === null) {
215
- bridge.close();
216
- return 0;
217
- }
218
- const logger = log(deps);
219
- logger.bind({ cmd: 'hook hermes-attend', session: sessionId });
220
- const claimFile = attendantClaimPath(sessionId, deps.env);
221
- const record = beginSessionIncarnation(sessionId, deps.env, {
222
- stamp: lifecycleStamp(), harnessProcess: { pid: hello.pid, start }, clearEarlierEnd: true,
223
- });
224
- let token = acquireClaimFile(claimFile, { incarnation: record.incarnation }, Date.now());
225
- const claimDeadline = systemAttendantClock.monotonic() + 6_000;
226
- while (token === null && systemAttendantClock.monotonic() < claimDeadline) {
227
- const holder = readClaimFile(claimFile);
228
- if (holder?.['incarnation'] === record.incarnation && claimHolderMayRun(holder))
229
- break;
230
- await systemAttendantClock.sleep(250, new AbortController().signal);
231
- token = acquireClaimFile(claimFile, { incarnation: record.incarnation }, Date.now());
232
- }
233
- if (token === null) {
234
- bridge.close();
235
- return 0;
236
- }
237
- let client;
238
- let serviceIdentity;
239
- const connect = () => {
240
- if (client !== undefined)
241
- return client;
242
- const credential = deps.store.load();
243
- if (credential !== null)
244
- serviceIdentity = { base_url: credential.baseUrl, machine_id: credential.machineId };
245
- client = credential
246
- ? makeClient(deps, credential.baseUrl, `Bearer nfm_${credential.machineId}.${credential.secret}`)
247
- : null;
248
- return client;
249
- };
250
- let observer = null;
251
- const observeQuestions = () => {
252
- const probe = bridge.probe(sessionId);
253
- if (observer !== null || probe.state !== 'running' || probe.activity !== 'idle')
254
- return;
255
- const state = readSessionState(sessionId, deps.env);
256
- if (state.harness !== 'hermes' ||
257
- ((state.pending?.length ?? 0) === 0 && state.accepted === undefined))
258
- return;
259
- const api = connect();
260
- if (api === null)
261
- return;
262
- const now = deps.now ?? Date.now;
263
- const sleep = deps.sleep ?? ((ms) => new Promise(resolve => setTimeout(resolve, ms)));
264
- const ctx = {
265
- client: api, config: loadConfig({ cwd, env: deps.env, sessionId }), env: deps.env,
266
- ...(serviceIdentity === undefined ? {} : { service_identity: serviceIdentity }),
267
- now, sleep, harness: 'hermes', log: logger,
268
- waitForFirstReply: async (requestId, timeoutSeconds) => {
269
- const result = await waitForReply(api, requestId, { timeoutSeconds, afterSeq: 0, now, sleep });
270
- return { replies: result.response.replies, timedOut: result.timedOut, degraded: result.degraded };
271
- },
272
- answerClaims: {
273
- lease: () => readAttendantLease(sessionId, deps.env), writer,
274
- monotonic: () => systemAttendantClock.monotonic(),
275
- },
276
- };
277
- observer = runEscalationWaiter(ctx, {
278
- sessionId, envelope: { session_id: sessionId, cwd },
279
- route: hermesAnswerRoute(bridge, sessionId), recordStop: false,
280
- }).then(() => undefined).catch(err => {
281
- logger.error('hook.end', { hook: 'hermes-question', outcome: 'failed', reason: String(err) });
282
- }).finally(() => { observer = null; });
283
- };
284
- try {
285
- await runSessionAttendant({
286
- sessionId,
287
- incarnation: record.incarnation,
288
- incarnationNow: () => readSessionIncarnation(sessionId, deps.env)?.incarnation ?? null,
289
- rotateIncarnation: expected => {
290
- const next = rotateSessionIncarnation(sessionId, deps.env, expected);
291
- if (next === null)
292
- return null;
293
- releaseClaimFile(claimFile, token);
294
- token = acquireClaimFile(claimFile, { incarnation: next.incarnation }, Date.now());
295
- return token === null ? null : next.incarnation;
296
- },
297
- probe: () => bridge.probe(sessionId),
298
- claimHeld: () => token !== null && readClaimFile(claimFile)?.['token'] === token,
299
- notified: () => sessionNotified(sessionId, deps.env),
300
- gates: gate,
301
- client: connect,
302
- serverSupportsAttendance: async (api) => (await api.compatibility()).server_capabilities.includes('session_attendance'),
303
- acceptsMessages: true,
304
- publishProbeStatus: true,
305
- onProbe: probe => { if (probe.state === 'running' && probe.activity === 'idle')
306
- observeQuestions(); },
307
- onMessages: (messages, attendant) => {
308
- const api = connect();
309
- if (api === null)
310
- return Promise.resolve('done');
311
- return handOffSessionMessages(messages, attendant, {
312
- sequencer: {
313
- sessionId, env: deps.env, client: api,
314
- monotonic: () => systemAttendantClock.monotonic(),
315
- wall: () => systemAttendantClock.wall(),
316
- sleep: ms => systemAttendantClock.sleep(ms, new AbortController().signal),
317
- writer, log: logger,
318
- },
319
- write: (text, begin, guard) => bridge.write(sessionId, text, begin, guard),
320
- });
321
- },
322
- clock: systemAttendantClock,
323
- logger,
324
- writeStatus: status => writeAttendantStatus(sessionId, deps.env, status),
325
- heartbeat: () => refreshSessionMarkers(sessionId, deps.env, Date.now(), [claimFile, attendantStatusPath(sessionId, deps.env)]),
326
- });
327
- }
328
- finally {
329
- bridge.close();
330
- handleSessionEnd(deps.env, { session_id: sessionId, cwd }, Date.now(), false);
331
- await observer;
332
- if (token !== null)
333
- releaseClaimFile(claimFile, token);
334
- }
335
- return 0;
336
- }
337
- //# sourceMappingURL=hermes-attendant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hermes-attendant.js","sourceRoot":"","sources":["../src/hermes-attendant.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export declare const HERMES_PLUGIN_ID = "notifai";
2
- export declare const HERMES_PLUGIN_MARKER = "# notifai managed hermes plugin v1";
3
- export declare function hermesPluginDir(env?: NodeJS.ProcessEnv): string;
4
- export declare function hermesPluginSource(adapterPath: string, nodePath?: string): string;
5
- export declare function isOurHermesPlugin(dir: string): boolean;
6
- export declare function hermesVersionSupported(env?: NodeJS.ProcessEnv): boolean;
7
- export declare function hermesPluginListed(env?: NodeJS.ProcessEnv): boolean;
8
- export declare function preflightHermesPlugin(env?: NodeJS.ProcessEnv): void;
9
- export declare function installHermesPlugin(adapterPath: string, env?: NodeJS.ProcessEnv, nodePath?: string): string;
10
- export declare function uninstallHermesPlugin(env?: NodeJS.ProcessEnv): boolean;
11
- export declare function hermesPluginCurrent(adapterHome: string | undefined, env: NodeJS.ProcessEnv): boolean;