@raidiant/notifai 10.1.6 → 11.0.1

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 (161) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +28 -16
  3. package/dist/claude-wake.d.ts +1 -2
  4. package/dist/claude-wake.js +15 -61
  5. package/dist/claude-wake.js.map +1 -1
  6. package/dist/cli-bin.js +3 -14
  7. package/dist/cli-bin.js.map +1 -1
  8. package/dist/cli-contract.d.ts +12 -0
  9. package/dist/cli-contract.js +19 -0
  10. package/dist/cli-contract.js.map +1 -0
  11. package/dist/cli-release.d.ts +0 -1
  12. package/dist/cli-release.js +5 -21
  13. package/dist/cli-release.js.map +1 -1
  14. package/dist/client.d.ts +2 -2
  15. package/dist/codex-wake.d.ts +1 -1
  16. package/dist/codex-wake.js +8 -36
  17. package/dist/codex-wake.js.map +1 -1
  18. package/dist/command-session.js +2 -1
  19. package/dist/command-session.js.map +1 -1
  20. package/dist/commands-acknowledge.d.ts +13 -0
  21. package/dist/commands-acknowledge.js +67 -0
  22. package/dist/commands-acknowledge.js.map +1 -0
  23. package/dist/commands-ask.d.ts +63 -0
  24. package/dist/commands-ask.js +407 -0
  25. package/dist/commands-ask.js.map +1 -0
  26. package/dist/commands-close.d.ts +6 -0
  27. package/dist/commands-close.js +197 -0
  28. package/dist/commands-close.js.map +1 -0
  29. package/dist/commands-config.js +2 -2
  30. package/dist/commands-config.js.map +1 -1
  31. package/dist/commands-core.js +2 -2
  32. package/dist/commands-core.js.map +1 -1
  33. package/dist/commands-doctor.js +89 -134
  34. package/dist/commands-doctor.js.map +1 -1
  35. package/dist/commands-harness-context.d.ts +0 -1
  36. package/dist/commands-harness-context.js +2 -4
  37. package/dist/commands-harness-context.js.map +1 -1
  38. package/dist/commands-hook-diagnostics.d.ts +27 -0
  39. package/dist/commands-hook-diagnostics.js +97 -0
  40. package/dist/commands-hook-diagnostics.js.map +1 -0
  41. package/dist/commands-hook-install.d.ts +26 -0
  42. package/dist/commands-hook-install.js +549 -0
  43. package/dist/commands-hook-install.js.map +1 -0
  44. package/dist/commands-hook-run.d.ts +29 -0
  45. package/dist/commands-hook-run.js +517 -0
  46. package/dist/commands-hook-run.js.map +1 -0
  47. package/dist/commands-init.d.ts +2 -7
  48. package/dist/commands-init.js +59 -92
  49. package/dist/commands-init.js.map +1 -1
  50. package/dist/commands-send.js +35 -3
  51. package/dist/commands-send.js.map +1 -1
  52. package/dist/commands-skill.js +5 -5
  53. package/dist/commands-skill.js.map +1 -1
  54. package/dist/commands-update.js +17 -31
  55. package/dist/commands-update.js.map +1 -1
  56. package/dist/commands.d.ts +11 -6
  57. package/dist/commands.js +9 -4
  58. package/dist/commands.js.map +1 -1
  59. package/dist/config-schema.js +2 -2
  60. package/dist/config-schema.js.map +1 -1
  61. package/dist/config.d.ts +14 -4
  62. package/dist/config.js +35 -9
  63. package/dist/config.js.map +1 -1
  64. package/dist/file-lock.d.ts +3 -0
  65. package/dist/file-lock.js +33 -17
  66. package/dist/file-lock.js.map +1 -1
  67. package/dist/guidance-content.js +30 -15
  68. package/dist/guidance-content.js.map +1 -1
  69. package/dist/harnesses.d.ts +2 -2
  70. package/dist/harnesses.js +10 -2
  71. package/dist/harnesses.js.map +1 -1
  72. package/dist/hook-acknowledgements.d.ts +42 -0
  73. package/dist/hook-acknowledgements.js +316 -0
  74. package/dist/hook-acknowledgements.js.map +1 -0
  75. package/dist/hook-adapter.js +7 -4
  76. package/dist/hook-adapter.js.map +1 -1
  77. package/dist/hook-events.d.ts +6 -0
  78. package/dist/hook-events.js +22 -0
  79. package/dist/hook-events.js.map +1 -0
  80. package/dist/hook-gates.d.ts +7 -0
  81. package/dist/hook-gates.js +21 -0
  82. package/dist/hook-gates.js.map +1 -0
  83. package/dist/hook-lifecycle.d.ts +93 -0
  84. package/dist/{hooks.js → hook-lifecycle.js} +61 -1359
  85. package/dist/hook-lifecycle.js.map +1 -0
  86. package/dist/hook-project-sessions.d.ts +28 -0
  87. package/dist/hook-project-sessions.js +141 -0
  88. package/dist/hook-project-sessions.js.map +1 -0
  89. package/dist/hook-question-lock.d.ts +7 -0
  90. package/dist/hook-question-lock.js +173 -0
  91. package/dist/hook-question-lock.js.map +1 -0
  92. package/dist/hook-question-retirement.d.ts +57 -0
  93. package/dist/hook-question-retirement.js +261 -0
  94. package/dist/hook-question-retirement.js.map +1 -0
  95. package/dist/hook-question-state.d.ts +45 -0
  96. package/dist/hook-question-state.js +196 -0
  97. package/dist/hook-question-state.js.map +1 -0
  98. package/dist/hook-session-state.d.ts +31 -0
  99. package/dist/hook-session-state.js +249 -0
  100. package/dist/hook-session-state.js.map +1 -0
  101. package/dist/{hooks.d.ts → hook-types.d.ts} +17 -236
  102. package/dist/hook-types.js +4 -0
  103. package/dist/hook-types.js.map +1 -0
  104. package/dist/install-hooks.d.ts +72 -60
  105. package/dist/install-hooks.js +292 -211
  106. package/dist/install-hooks.js.map +1 -1
  107. package/dist/interactive.d.ts +3 -16
  108. package/dist/interactive.js +19 -95
  109. package/dist/interactive.js.map +1 -1
  110. package/dist/local-path.d.ts +7 -0
  111. package/dist/local-path.js +27 -0
  112. package/dist/local-path.js.map +1 -0
  113. package/dist/node-floor.js +3 -10
  114. package/dist/node-floor.js.map +1 -1
  115. package/dist/npm-invocation.d.ts +34 -0
  116. package/dist/npm-invocation.js +53 -0
  117. package/dist/npm-invocation.js.map +1 -0
  118. package/dist/openclaw-plugin.d.ts +12 -3
  119. package/dist/openclaw-plugin.js +42 -16
  120. package/dist/openclaw-plugin.js.map +1 -1
  121. package/dist/opencode-plugin.d.ts +2 -2
  122. package/dist/opencode-plugin.js +4 -6
  123. package/dist/opencode-plugin.js.map +1 -1
  124. package/dist/program.js +11 -13
  125. package/dist/program.js.map +1 -1
  126. package/dist/project-enablement.d.ts +6 -0
  127. package/dist/project-enablement.js +11 -27
  128. package/dist/project-enablement.js.map +1 -1
  129. package/dist/question-settlement-process.d.ts +1 -1
  130. package/dist/readiness.d.ts +3 -3
  131. package/dist/readiness.js +14 -6
  132. package/dist/readiness.js.map +1 -1
  133. package/dist/send.d.ts +8 -4
  134. package/dist/send.js +145 -26
  135. package/dist/send.js.map +1 -1
  136. package/dist/session-activation.d.ts +3 -1
  137. package/dist/session-activation.js +16 -0
  138. package/dist/session-activation.js.map +1 -1
  139. package/dist/skill-source/manifest.json +4 -4
  140. package/dist/skill-source/notifai/SKILL.md +67 -63
  141. package/dist/skill-source/notifai/references/harness-setup.md +62 -28
  142. package/dist/ui/config-view.d.ts +0 -2
  143. package/dist/ui/config-view.js +1 -5
  144. package/dist/ui/config-view.js.map +1 -1
  145. package/dist/ui/theme.d.ts +0 -3
  146. package/dist/ui/theme.js +0 -1
  147. package/dist/ui/theme.js.map +1 -1
  148. package/dist/version.d.ts +22 -0
  149. package/dist/version.js +51 -0
  150. package/dist/version.js.map +1 -0
  151. package/dist/wake-support.d.ts +8 -0
  152. package/dist/wake-support.js +38 -0
  153. package/dist/wake-support.js.map +1 -0
  154. package/package.json +2 -2
  155. package/dist/cli-update-contract.d.ts +0 -7
  156. package/dist/cli-update-contract.js +0 -10
  157. package/dist/cli-update-contract.js.map +0 -1
  158. package/dist/commands-hooks.d.ts +0 -160
  159. package/dist/commands-hooks.js +0 -1798
  160. package/dist/commands-hooks.js.map +0 -1
  161. package/dist/hooks.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
9
9
  and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
10
10
 
11
+ ## [11.0.1](https://github.com/Raidiant-io/notifai/compare/v11.0.0...v11.0.1) (2026-09-03)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **cli:** document safe update behavior ([#143](https://github.com/Raidiant-io/notifai/issues/143)) ([b1e31f9](https://github.com/Raidiant-io/notifai/commit/b1e31f9c5b19424c34d3cee853df0e7519db4edf))
17
+
18
+
19
+ ### Dependencies
20
+
21
+ * The following workspace dependencies were updated
22
+ * dependencies
23
+ * @raidiant/notifai-protocol bumped from 6.1.0 to 6.1.1
24
+
25
+ ## [11.0.0](https://github.com/Raidiant-io/notifai/compare/v10.1.7...v11.0.0) (2026-09-03)
26
+
27
+
28
+ ### ⚠ BREAKING CHANGES
29
+
30
+ * **cli:** `notifai init --setup-scope` and the `--global` flag on `notifai hooks install` and `notifai hooks uninstall` are removed. Lifecycle wiring is installed for the machine; `notifai project enable` and `notifai project disable` are the per-project switch.
31
+
32
+ ### Features
33
+
34
+ * add authored notification summaries ([#138](https://github.com/Raidiant-io/notifai/issues/138)) ([b9a27a1](https://github.com/Raidiant-io/notifai/commit/b9a27a1e3787b645a62dd20ceef7c9997963ca63))
35
+ * **cli:** install lifecycle wiring for the machine only ([#136](https://github.com/Raidiant-io/notifai/issues/136)) ([e92f5f2](https://github.com/Raidiant-io/notifai/commit/e92f5f2d2aa9865a8e5173cca0b3952db42ef566))
36
+
37
+
38
+ ### Bug Fixes
39
+
40
+ * align the protocol wire, close usage, and distribution docs ([#132](https://github.com/Raidiant-io/notifai/issues/132)) ([58d9feb](https://github.com/Raidiant-io/notifai/commit/58d9feb6295bc9cdf04efd6226df59b76abed529))
41
+ * **cli:** deliver pending answers and harden file locks ([#141](https://github.com/Raidiant-io/notifai/issues/141)) ([75e57eb](https://github.com/Raidiant-io/notifai/commit/75e57ebfadbfaf127d2322f4c8e9d57aa2b327b0))
42
+ * **cli:** pass Codex SessionStart guidance without hook-output spill ([#135](https://github.com/Raidiant-io/notifai/issues/135)) ([5a8ef4d](https://github.com/Raidiant-io/notifai/commit/5a8ef4d949d2414ae0cc14641a767a9f900e4bef))
43
+ * **cli:** reject unrenderable media references ([#133](https://github.com/Raidiant-io/notifai/issues/133)) ([3db3b0a](https://github.com/Raidiant-io/notifai/commit/3db3b0a344663ede842b34eacdb2e6ec889cb2c4))
44
+ * keep project config stable across worktrees ([#139](https://github.com/Raidiant-io/notifai/issues/139)) ([ad2a8b7](https://github.com/Raidiant-io/notifai/commit/ad2a8b7d8005dd86552944f4f6afb5fc4ec26d61))
45
+
46
+
47
+ ### Dependencies
48
+
49
+ * The following workspace dependencies were updated
50
+ * dependencies
51
+ * @raidiant/notifai-protocol bumped from 6.0.8 to 6.1.0
52
+
53
+ ## [10.1.7](https://github.com/Raidiant-io/notifai/compare/v10.1.6...v10.1.7) (2026-08-31)
54
+
55
+
56
+ ### Bug Fixes
57
+
58
+ * **cli:** make question routing fail closed ([bd16ba9](https://github.com/Raidiant-io/notifai/commit/bd16ba98ddb45dfc6038f44ce5e915034260e5e6))
59
+
60
+
61
+ ### Dependencies
62
+
63
+ * The following workspace dependencies were updated
64
+ * dependencies
65
+ * @raidiant/notifai-protocol bumped from 6.0.7 to 6.0.8
66
+
11
67
  ## [10.1.6](https://github.com/Raidiant-io/notifai/compare/v10.1.5...v10.1.6) (2026-08-31)
12
68
 
13
69
 
package/README.md CHANGED
@@ -19,7 +19,9 @@ bin, `npx --yes @raidiant/notifai@<version>` is supported. Pin the version.
19
19
  adapter. This is slower than a real install and is not the default path.
20
20
 
21
21
  Use `notifai update` for later global updates. It repairs the installation the
22
- shell actually selects and keeps the stable hook adapter on that same CLI.
22
+ shell actually selects and keeps the stable hook adapter on that same CLI. It
23
+ fails instead of moving the command to a different PATH slot when it cannot
24
+ verify the selected installation or retarget an existing adapter safely.
23
25
 
24
26
  `init` walks the setup one step at a time and tells you the single next
25
27
  thing to do. Run it again after each step; it works out what remains.
@@ -36,28 +38,38 @@ the user config directory and never require a `.gitignore` edit.
36
38
  ## Telling you something happened
37
39
 
38
40
  ```sh
39
- notifai send --title "Deploy finished" --body "staging, 2m14s" --kind done
41
+ notifai send --kind done \
42
+ --title "Deploy finished" \
43
+ --summary "The staging deployment is live." \
44
+ --body "The staging deployment is live and ready for review."
40
45
  ```
41
46
 
42
47
  Write a brief title whose substance is immediately understandable; type lives
43
48
  in `--kind`, and Project identity is inferred from the invocation directory.
44
- The one body is always Markdown. Native banners show a bounded readable
45
- plain-text excerpt from it, while Companion Apps render the complete body. Use
46
- `--body-file <path|->` for long content. Repeat `--image` for an ordered image
47
- collection (up to eight), pair each with `--image-alt` for alt text, and use
48
- `media:1`, `media:2`, and so on for inline references.
49
+ Every Notification Request has a purpose-written, one-line plain-text Summary
50
+ for native banners and list views. It is required and limited to 240 Unicode
51
+ characters. Body is optional standalone Markdown for focused detail; when it is
52
+ absent, the focused view shows Summary. Use `--body-file <path|->` for long
53
+ content. Repeat `--image` for an ordered image
54
+ collection (up to eight) and pair each with `--image-alt`. Every attached
55
+ image appears in the gallery; to place one where the words refer to it, write
56
+ Markdown image syntax with its 1-based position, `![what it shows](media:1)`.
57
+ A bare `media:1` or a link to it is refused before sending.
49
58
 
50
59
  ## Asking you a question
51
60
 
52
61
  ```sh
53
- notifai ask "Deploy the migration to production?" --choice Yes --choice No
62
+ notifai ask "Deploy the migration to production?" \
63
+ --choice Yes --choice No
54
64
  ```
55
65
 
56
66
  The agent registers the question, ends its work, and your answer comes back on
57
67
  its next turn. Question Routing keeps that exact session available for the
58
- complete answer window: Claude Code waits out of band and wakes it, while Codex
59
- holds the asking turn. On iPhone, press and hold the collapsed banner to answer;
60
- the choices appear on the expanded card, not on the lock screen.
68
+ complete answer window: Claude Code waits out of band and wakes it on
69
+ macOS/Linux; on Windows its Stop stays held and returns the answer as the same
70
+ Agent Session's continuation, like Codex. On iPhone, press and hold the
71
+ collapsed banner to answer; the choices appear on the expanded card, not on
72
+ the lock screen.
61
73
 
62
74
  By default a question reaches your devices when the agent turn ends, whether or
63
75
  not you are at the keyboard (`ask_grace_seconds = 0`). Set a positive grace
@@ -76,11 +88,11 @@ send a duplicate.
76
88
 
77
89
  ## Agent harnesses
78
90
 
79
- The CLI and managed hook adapters support macOS, Linux, and Windows. The first
80
- public Companion App release is iPhone-only. An Android Companion App is active
81
- for invited external testing through Firebase App Distribution; it is not a
82
- public release or a Google Play promise. Native desktop Companion Apps are not
83
- shipped.
91
+ The CLI and managed hook adapters support macOS, Linux, and Windows. iPhone
92
+ and Android Companion Apps are both active: Android is distributed as a
93
+ directly downloadable signed APK (no Google Play listing yet), with a separate
94
+ invitation-only Firebase App Distribution test lane. Native desktop Companion
95
+ Apps are not shipped.
84
96
 
85
97
  ```sh
86
98
  notifai hooks install
@@ -1,11 +1,10 @@
1
- import type { EscalationDeliveryRoute } from './hooks.js';
1
+ import type { EscalationDeliveryRoute } from './hook-types.js';
2
2
  /** Claude Code's currently observed inbox protocol. Unknown versions fail closed. */
3
3
  export declare const CLAUDE_PEER_PROTOCOL = 1;
4
4
  /** The first Claude Code release that publishes a session inbox socket. */
5
5
  export declare const CLAUDE_MIN_INBOX_VERSION = "2.1.224";
6
6
  /** macOS verifies own-child ancestry only while the posting process is alive. */
7
7
  export declare const CLAUDE_POST_SEND_LIVENESS_MS = 8000;
8
- export type ClaudeLiveStatus = 'idle' | 'busy';
9
8
  export interface ClaudeSessionDescriptor {
10
9
  pid: number;
11
10
  sessionId: string;
@@ -1,8 +1,9 @@
1
- import { spawn } from 'node:child_process';
2
1
  import { existsSync, readFileSync } from 'node:fs';
3
2
  import os from 'node:os';
4
3
  import path from 'node:path';
5
4
  import { createConnection } from 'node:net';
5
+ import { compareVersions } from './version.js';
6
+ import { cancelledDelivery, holdForNextTurn, runWakeCommand } from './wake-support.js';
6
7
  /** Claude Code's currently observed inbox protocol. Unknown versions fail closed. */
7
8
  export const CLAUDE_PEER_PROTOCOL = 1;
8
9
  /** The first Claude Code release that publishes a session inbox socket. */
@@ -135,19 +136,6 @@ export async function observeClaudeSession(sessionId, adapters) {
135
136
  descriptor,
136
137
  };
137
138
  }
138
- /** Ordered comparison of dotted release numbers, ignoring any suffix. */
139
- function versionAtLeast(version, minimum) {
140
- const parse = (value) => value.split('.').map((part) => Number.parseInt(part, 10) || 0);
141
- const left = parse(version);
142
- const right = parse(minimum);
143
- for (let index = 0; index < Math.max(left.length, right.length); index += 1) {
144
- const a = left[index] ?? 0;
145
- const b = right[index] ?? 0;
146
- if (a !== b)
147
- return a > b;
148
- }
149
- return true;
150
- }
151
139
  /**
152
140
  * Whether an answer could reach this exact Claude session over its inbox
153
141
  * socket, decided from evidence already on disk.
@@ -193,7 +181,14 @@ export function inspectClaudeInbox(options) {
193
181
  reason: `this session speaks inbox protocol ${descriptor.peerProtocol}, and only ${CLAUDE_PEER_PROTOCOL} is known; refusing to guess at an undocumented wire format`,
194
182
  };
195
183
  }
196
- if (!versionAtLeast(descriptor.version, CLAUDE_MIN_INBOX_VERSION)) {
184
+ const versionComparison = compareVersions(descriptor.version, CLAUDE_MIN_INBOX_VERSION);
185
+ if (versionComparison === 'unparseable') {
186
+ return {
187
+ state: 'unavailable',
188
+ reason: `the Claude Code version ${descriptor.version} is not a recognised release number`,
189
+ };
190
+ }
191
+ if (versionComparison === 'before') {
197
192
  return {
198
193
  state: 'unavailable',
199
194
  reason: `Claude Code ${descriptor.version} is older than ${CLAUDE_MIN_INBOX_VERSION}, which is where the inbox socket starts`,
@@ -251,19 +246,11 @@ export function claudeWakeRoute(options) {
251
246
  async deliver(event) {
252
247
  const observation = await observeClaudeSession(options.sessionId, adapters);
253
248
  if (observation.state === 'unknown') {
254
- return {
255
- notes: [`holding the accepted answer for the next turn: ${observation.reason}`],
256
- log: { route: 'hold-for-next-turn', stage: 'queued', reason: observation.reason },
257
- acknowledgement: 'held',
258
- };
249
+ return holdForNextTurn(observation.reason);
259
250
  }
260
251
  if (sourceDescriptor === null) {
261
252
  const reason = 'the Stop-hook process cannot prove exact Claude session ownership';
262
- return {
263
- notes: [`holding the accepted answer for the next turn: ${reason}`],
264
- log: { route: 'hold-for-next-turn', stage: 'queued', reason },
265
- acknowledgement: 'held',
266
- };
253
+ return holdForNextTurn(reason);
267
254
  }
268
255
  if (observation.state === 'stopped') {
269
256
  // Probe immediately before spawn. A prior descriptor or dead socket is
@@ -273,11 +260,7 @@ export function claudeWakeRoute(options) {
273
260
  const reason = confirmed.state === 'unknown'
274
261
  ? confirmed.reason
275
262
  : 'the Claude session became live before cold resume';
276
- return {
277
- notes: [`holding the accepted answer for the next turn: ${reason}`],
278
- log: { route: 'hold-for-next-turn', stage: 'queued', reason },
279
- acknowledgement: 'held',
280
- };
263
+ return holdForNextTurn(reason);
281
264
  }
282
265
  if (!event.commitDelivery())
283
266
  return cancelledDelivery();
@@ -291,11 +274,7 @@ export function claudeWakeRoute(options) {
291
274
  if (observation.descriptor.pid !== options.sourcePid ||
292
275
  sourceDescriptor.startedAt !== observation.descriptor.startedAt) {
293
276
  const reason = 'the Stop-hook process is not the observed exact Claude session child';
294
- return {
295
- notes: [`holding the accepted answer for the next turn: ${reason}`],
296
- log: { route: 'hold-for-next-turn', stage: 'queued', reason },
297
- acknowledgement: 'held',
298
- };
277
+ return holdForNextTurn(reason);
299
278
  }
300
279
  if (!event.commitDelivery())
301
280
  return cancelledDelivery();
@@ -319,33 +298,8 @@ export function claudeWakeRoute(options) {
319
298
  },
320
299
  };
321
300
  }
322
- function cancelledDelivery() {
323
- return {
324
- notes: ['the Agent Session ended before answer delivery; stopping this observer'],
325
- log: { route: 'hold-for-next-turn', stage: 'queued', reason: 'session-ended' },
326
- acknowledgement: 'held',
327
- };
328
- }
329
301
  function runClaude(args, options = {}) {
330
- return new Promise((resolve, reject) => {
331
- const child = spawn('claude', args, {
332
- ...(options.cwd === undefined ? {} : { cwd: options.cwd }),
333
- ...(options.env === undefined ? {} : { env: options.env }),
334
- stdio: ['ignore', 'pipe', 'pipe'],
335
- });
336
- const stdout = [];
337
- const stderr = [];
338
- child.stdout?.on('data', (chunk) => stdout.push(Buffer.from(chunk)));
339
- child.stderr?.on('data', (chunk) => stderr.push(Buffer.from(chunk)));
340
- child.once('error', reject);
341
- child.once('exit', (code, signal) => {
342
- if (code === 0) {
343
- resolve(Buffer.concat(stdout).toString());
344
- return;
345
- }
346
- reject(new Error(`claude ${args[0] ?? ''} exited ${code === null ? `on ${String(signal)}` : String(code)}: ${Buffer.concat(stderr).toString().trim()}`));
347
- });
348
- });
302
+ return runWakeCommand('claude', args, options);
349
303
  }
350
304
  function coldResumeEnvironment(env) {
351
305
  const next = { ...env };
@@ -1 +1 @@
1
- {"version":3,"file":"claude-wake.js","sourceRoot":"","sources":["../src/claude-wake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-wake.js","sourceRoot":"","sources":["../src/claude-wake.ts"],"names":[],"mappings":"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"}
package/dist/cli-bin.js CHANGED
@@ -1,17 +1,14 @@
1
1
  import { accessSync, constants, existsSync, lstatSync, readFileSync, realpathSync, } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { packageVersion } from './release.js';
4
- import { cliUpdateRecoveryCommand } from './cli-update-contract.js';
4
+ import { cliUpdateRecoveryCommand } from './cli-contract.js';
5
+ import { canonicalPath, pathDirectories } from './local-path.js';
5
6
  const POSIX_NAMES = ['notifai'];
6
7
  const WINDOWS_NAMES = ['notifai.cmd', 'notifai.exe', 'notifai'];
7
8
  export function pathNotifaiEntries(env, platform = process.platform) {
8
- const raw = platform === 'win32' ? (env['Path'] ?? env['PATH'] ?? '') : (env['PATH'] ?? '');
9
- const delimiter = platform === 'win32' ? ';' : ':';
10
9
  const names = platform === 'win32' ? WINDOWS_NAMES : POSIX_NAMES;
11
10
  const found = [];
12
- for (const directory of raw.split(delimiter)) {
13
- if (directory === '')
14
- continue;
11
+ for (const directory of pathDirectories(env, platform)) {
15
12
  for (const name of names) {
16
13
  const candidate = path.join(directory, name);
17
14
  if (!existsSync(candidate))
@@ -36,14 +33,6 @@ export function isExecutablePath(file, platform = process.platform) {
36
33
  return false;
37
34
  }
38
35
  }
39
- function canonicalPath(file) {
40
- try {
41
- return realpathSync(file);
42
- }
43
- catch {
44
- return path.resolve(file);
45
- }
46
- }
47
36
  function windowsShimArtifact(file) {
48
37
  if (path.extname(file).toLowerCase() !== '.cmd')
49
38
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-bin.js","sourceRoot":"","sources":["../src/cli-bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-bin.js","sourceRoot":"","sources":["../src/cli-bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const CLI_PACKAGE_NAME = "@raidiant/notifai";
2
+ export declare const CLI_UPDATE_AVAILABLE = "A newer Notifai is available.";
3
+ export declare const SERVICE_UPDATE_IN_PROGRESS = "The service is being updated; try again later.";
4
+ export declare function cliPackageSpec(version: string): string;
5
+ export declare function cliDistTagsUrl(): string;
6
+ /**
7
+ * Resolve the current published CLI independently of every installed
8
+ * `notifai` command. The fetched build owns the locally derived prefix repair,
9
+ * so this action neither invokes the stale PATH winner nor exposes local
10
+ * installation paths.
11
+ */
12
+ export declare function cliUpdateRecoveryCommand(): string;
@@ -0,0 +1,19 @@
1
+ export const CLI_PACKAGE_NAME = '@raidiant/notifai';
2
+ export const CLI_UPDATE_AVAILABLE = 'A newer Notifai is available.';
3
+ export const SERVICE_UPDATE_IN_PROGRESS = 'The service is being updated; try again later.';
4
+ export function cliPackageSpec(version) {
5
+ return `${CLI_PACKAGE_NAME}@${version}`;
6
+ }
7
+ export function cliDistTagsUrl() {
8
+ return `https://registry.npmjs.org/-/package/${CLI_PACKAGE_NAME}/dist-tags`;
9
+ }
10
+ /**
11
+ * Resolve the current published CLI independently of every installed
12
+ * `notifai` command. The fetched build owns the locally derived prefix repair,
13
+ * so this action neither invokes the stale PATH winner nor exposes local
14
+ * installation paths.
15
+ */
16
+ export function cliUpdateRecoveryCommand() {
17
+ return `npx --yes ${cliPackageSpec('latest')} update`;
18
+ }
19
+ //# sourceMappingURL=cli-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-contract.js","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,+BAA+B,CAAA;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,gDAAgD,CAAA;AAE1F,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,GAAG,gBAAgB,IAAI,OAAO,EAAE,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,wCAAwC,gBAAgB,YAAY,CAAA;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,aAAa,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAA;AACvD,CAAC"}
@@ -1,4 +1,3 @@
1
- export declare function compareCliSemVer(left: string, right: string): number | null;
2
1
  export declare function shouldConsultCliRegistry(input: {
3
2
  interactive?: boolean;
4
3
  json?: boolean;
@@ -1,4 +1,6 @@
1
1
  import { packageVersion } from './release.js';
2
+ import { cliDistTagsUrl } from './cli-contract.js';
3
+ import { compareVersions } from './version.js';
2
4
  /**
3
5
  * The newest published CLI, read from the registry that publishes it.
4
6
  *
@@ -7,27 +9,10 @@ import { packageVersion } from './release.js';
7
9
  * non-interactive or CI invocation — those callers already get structured
8
10
  * support state from the server when they are signed in.
9
11
  */
10
- const DIST_TAGS_URL = 'https://registry.npmjs.org/-/package/@raidiant/notifai/dist-tags';
12
+ const DIST_TAGS_URL = cliDistTagsUrl();
11
13
  const REQUEST_TIMEOUT_MS = 2_000;
12
14
  const CACHE_TTL_MS = 60 * 60 * 1000;
13
15
  let cached = null;
14
- export function compareCliSemVer(left, right) {
15
- const parse = (value) => {
16
- const match = /^(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(value);
17
- if (!match)
18
- return null;
19
- return [Number(match[1]), Number(match[2]), Number(match[3])];
20
- };
21
- const a = parse(left);
22
- const b = parse(right);
23
- if (a === null || b === null)
24
- return null;
25
- for (let index = 0; index < 3; index += 1) {
26
- if (a[index] !== b[index])
27
- return a[index] - b[index];
28
- }
29
- return 0;
30
- }
31
16
  export function shouldConsultCliRegistry(input) {
32
17
  if (input.json === true)
33
18
  return false;
@@ -50,7 +35,7 @@ export async function latestPublishedCliVersion(fetchImpl = fetch) {
50
35
  if (typeof body !== 'object' || body === null)
51
36
  return cached?.value ?? null;
52
37
  const latest = body.latest;
53
- if (typeof latest !== 'string' || compareCliSemVer(latest, '0.0.0') === null) {
38
+ if (typeof latest !== 'string' || compareVersions(latest, '0.0.0') === 'unparseable') {
54
39
  return cached?.value ?? null;
55
40
  }
56
41
  cached = { value: latest, at: Date.now() };
@@ -63,8 +48,7 @@ export async function latestPublishedCliVersion(fetchImpl = fetch) {
63
48
  export function newerPublishedCli(local, latest) {
64
49
  if (local === null || latest === null)
65
50
  return null;
66
- const comparison = compareCliSemVer(latest, local);
67
- return comparison !== null && comparison > 0 ? latest : null;
51
+ return compareVersions(latest, local) === 'after' ? latest : null;
68
52
  }
69
53
  export function thisCliVersion() {
70
54
  return packageVersion();
@@ -1 +1 @@
1
- {"version":3,"file":"cli-release.js","sourceRoot":"","sources":["../src/cli-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-release.js","sourceRoot":"","sources":["../src/cli-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,cAAc,EAAE,CAAA;AACtC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAChC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnC,IAAI,MAAM,GAAgD,IAAI,CAAA;AAE9D,MAAM,UAAU,wBAAwB,CAAC,KAIxC;IACC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,MAAM,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,YAA0B,KAAK;IAE/B,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,YAAY;QAAE,OAAO,MAAM,CAAC,KAAK,CAAA;IACjF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE;YAC9C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChD,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,MAAM,EAAE,KAAK,IAAI,IAAI,CAAA;QAC9C,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,EAAE,KAAK,IAAI,IAAI,CAAA;QAC3E,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,aAAa,EAAE,CAAC;YACrF,OAAO,MAAM,EAAE,KAAK,IAAI,IAAI,CAAA;QAC9B,CAAC;QACD,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAC1C,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,EAAE,KAAK,IAAI,IAAI,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAoB,EAAE,MAAqB;IAC3E,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAClD,OAAO,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,cAAc,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,MAAM,GAAG,IAAI,CAAA;AACf,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AccountAccessRequestResponse, AccountAccessResponse, BeginPairingResponse, CapabilityDocument, CreateMediaUploadRequestT, CreateMediaUploadResponse, FinalizeMediaUploadResponse, EvidenceSnapshot, GetAgentAcknowledgementResponse, ListDevicesResponse, ListSoundsResponse, ClientCapability, CompatibilityResponse, RecoveryAction, ListRepliesResponse, Platform, PollPairingResponse, PutAgentAcknowledgementRequestT, PutAgentAcknowledgementResponse, PutAgentSessionLabelRequestT, AgentSessionView, SubmissionReceipt, SubmitNotificationRequestT } from '@raidiant/notifai-protocol';
1
+ import type { AlphaAccessRequestResponse, AccountAccessResponse, BeginPairingResponse, CapabilityDocument, CreateMediaUploadRequestT, CreateMediaUploadResponse, FinalizeMediaUploadResponse, EvidenceSnapshot, GetAgentAcknowledgementResponse, ListDevicesResponse, ListSoundsResponse, ClientCapability, CompatibilityResponse, RecoveryAction, ListRepliesResponse, Platform, PollPairingResponse, PutAgentAcknowledgementRequestT, PutAgentAcknowledgementResponse, PutAgentSessionLabelRequestT, AgentSessionView, SubmissionReceipt, SubmitNotificationRequestT } from '@raidiant/notifai-protocol';
2
2
  import type { Logger } from './logging.js';
3
3
  export declare class ApiCallError extends Error {
4
4
  status: number;
@@ -30,7 +30,7 @@ export interface ApiClient {
30
30
  * Read-only. There is no client-side write: filing this errand is the
31
31
  * User's decision, and the server refuses it from a machine credential.
32
32
  */
33
- accessRequest(): Promise<AccountAccessRequestResponse>;
33
+ accessRequest(): Promise<AlphaAccessRequestResponse>;
34
34
  listDevices(): Promise<ListDevicesResponse>;
35
35
  listSounds(): Promise<ListSoundsResponse>;
36
36
  capabilities(platform?: Platform, appVersion?: string, appBuild?: string): Promise<CapabilityDocument>;
@@ -1,4 +1,4 @@
1
- import { type EscalationDeliveryRoute } from './hooks.js';
1
+ import { type EscalationDeliveryRoute } from './hook-types.js';
2
2
  /** Codex's per-thread writer lock directory, relative to `$CODEX_HOME`. */
3
3
  export declare const CODEX_THREAD_LOCK_DIR = "thread-writer-locks";
4
4
  export type CodexWakeObservation =
@@ -1,8 +1,9 @@
1
- import { spawn } from 'node:child_process';
2
1
  import { closeSync, constants, existsSync, openSync } from 'node:fs';
3
2
  import path from 'node:path';
4
3
  import { configHome } from './install-hooks.js';
5
- import { hookContinuationRoute, } from './hooks.js';
4
+ import { hookContinuationRoute } from './hook-lifecycle.js';
5
+ import {} from './hook-types.js';
6
+ import { cancelledDelivery, holdForNextTurn, runWakeCommand } from './wake-support.js';
6
7
  /** Codex's per-thread writer lock directory, relative to `$CODEX_HOME`. */
7
8
  export const CODEX_THREAD_LOCK_DIR = 'thread-writer-locks';
8
9
  /**
@@ -106,11 +107,11 @@ export function codexWakeRoute(options) {
106
107
  // answer: ownership is a kernel fact that can change between two syscalls,
107
108
  // and resuming a thread someone else owns is the disqualifying failure.
108
109
  const observed = observeCodexThread(options.threadId, env, adapters);
109
- const held = holdForNextTurn(observed);
110
+ const held = holdCodexObservation(observed);
110
111
  if (held !== null)
111
112
  return held;
112
113
  const confirmed = observeCodexThread(options.threadId, env, adapters);
113
- const raced = holdForNextTurn(confirmed);
114
+ const raced = holdCodexObservation(confirmed);
114
115
  if (raced !== null)
115
116
  return raced;
116
117
  if (!event.commitDelivery())
@@ -126,25 +127,14 @@ export function codexWakeRoute(options) {
126
127
  },
127
128
  };
128
129
  }
129
- function cancelledDelivery() {
130
- return {
131
- notes: ['the Agent Session ended before answer delivery; stopping this observer'],
132
- log: { route: 'hold-for-next-turn', stage: 'queued', reason: 'session-ended' },
133
- acknowledgement: 'held',
134
- };
135
- }
136
130
  /** The journal, with the exact reason the thread could not be resumed. */
137
- function holdForNextTurn(observation) {
131
+ function holdCodexObservation(observation) {
138
132
  if (observation.state === 'stopped')
139
133
  return null;
140
134
  const reason = observation.state === 'live'
141
135
  ? 'a live writer owns the Codex thread and this hook can no longer continue it'
142
136
  : observation.reason;
143
- return {
144
- notes: [`holding the accepted answer for the next turn: ${reason}`],
145
- log: { route: 'hold-for-next-turn', stage: 'queued', reason },
146
- acknowledgement: 'held',
147
- };
137
+ return holdForNextTurn(reason);
148
138
  }
149
139
  /**
150
140
  * Take and release the writer lock in one open/close pair.
@@ -187,25 +177,7 @@ function probeThreadWriterLock(lockPath) {
187
177
  return { state: 'stopped' };
188
178
  }
189
179
  function runCodex(args, options) {
190
- return new Promise((resolve, reject) => {
191
- const child = spawn('codex', args, {
192
- cwd: options.cwd,
193
- env: options.env,
194
- stdio: ['ignore', 'pipe', 'pipe'],
195
- });
196
- const stdout = [];
197
- const stderr = [];
198
- child.stdout?.on('data', (chunk) => stdout.push(Buffer.from(chunk)));
199
- child.stderr?.on('data', (chunk) => stderr.push(Buffer.from(chunk)));
200
- child.once('error', reject);
201
- child.once('exit', (code, signal) => {
202
- if (code === 0) {
203
- resolve(Buffer.concat(stdout).toString());
204
- return;
205
- }
206
- reject(new Error(`codex ${args[0] ?? ''} exited ${code === null ? `on ${String(signal)}` : String(code)}: ${Buffer.concat(stderr).toString().trim()}`));
207
- });
208
- });
180
+ return runWakeCommand('codex', args, options);
209
181
  }
210
182
  /**
211
183
  * The resumed process must not inherit the ended session's identity, or it