@raidiant/notifai 11.3.2 → 11.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/agent-update-notice.js +3 -3
  3. package/dist/agent-update-notice.js.map +1 -1
  4. package/dist/claude-wake.d.ts +11 -3
  5. package/dist/claude-wake.js +74 -67
  6. package/dist/claude-wake.js.map +1 -1
  7. package/dist/cli-bin.js +2 -2
  8. package/dist/cli-bin.js.map +1 -1
  9. package/dist/cli-contract.d.ts +6 -2
  10. package/dist/cli-contract.js +11 -3
  11. package/dist/cli-contract.js.map +1 -1
  12. package/dist/cli-release.d.ts +31 -4
  13. package/dist/cli-release.js +45 -15
  14. package/dist/cli-release.js.map +1 -1
  15. package/dist/client.d.ts +23 -2
  16. package/dist/client.js +11 -5
  17. package/dist/client.js.map +1 -1
  18. package/dist/codex-wake.d.ts +12 -2
  19. package/dist/codex-wake.js +50 -13
  20. package/dist/codex-wake.js.map +1 -1
  21. package/dist/commands-acknowledge.d.ts +4 -2
  22. package/dist/commands-acknowledge.js +35 -4
  23. package/dist/commands-acknowledge.js.map +1 -1
  24. package/dist/commands-ask.js +2 -2
  25. package/dist/commands-ask.js.map +1 -1
  26. package/dist/commands-close.js +16 -4
  27. package/dist/commands-close.js.map +1 -1
  28. package/dist/commands-core.d.ts +10 -1
  29. package/dist/commands-core.js +4 -3
  30. package/dist/commands-core.js.map +1 -1
  31. package/dist/commands-doctor.js +49 -4
  32. package/dist/commands-doctor.js.map +1 -1
  33. package/dist/commands-hook-attend.d.ts +61 -0
  34. package/dist/commands-hook-attend.js +475 -0
  35. package/dist/commands-hook-attend.js.map +1 -0
  36. package/dist/commands-hook-diagnostics.js +2 -2
  37. package/dist/commands-hook-diagnostics.js.map +1 -1
  38. package/dist/commands-hook-install.js +1 -1
  39. package/dist/commands-hook-install.js.map +1 -1
  40. package/dist/commands-hook-run.js +59 -2
  41. package/dist/commands-hook-run.js.map +1 -1
  42. package/dist/commands-send.js +6 -1
  43. package/dist/commands-send.js.map +1 -1
  44. package/dist/commands-update-check.js +9 -6
  45. package/dist/commands-update-check.js.map +1 -1
  46. package/dist/commands-update.d.ts +2 -1
  47. package/dist/commands-update.js +74 -11
  48. package/dist/commands-update.js.map +1 -1
  49. package/dist/guidance-content.js +11 -37
  50. package/dist/guidance-content.js.map +1 -1
  51. package/dist/hook-acknowledgements.d.ts +25 -5
  52. package/dist/hook-acknowledgements.js +102 -45
  53. package/dist/hook-acknowledgements.js.map +1 -1
  54. package/dist/hook-events.d.ts +26 -1
  55. package/dist/hook-events.js +38 -2
  56. package/dist/hook-events.js.map +1 -1
  57. package/dist/hook-lifecycle.d.ts +6 -0
  58. package/dist/hook-lifecycle.js +309 -31
  59. package/dist/hook-lifecycle.js.map +1 -1
  60. package/dist/hook-question-lock.d.ts +18 -0
  61. package/dist/hook-question-lock.js +80 -57
  62. package/dist/hook-question-lock.js.map +1 -1
  63. package/dist/hook-question-retirement.d.ts +10 -2
  64. package/dist/hook-question-retirement.js +21 -4
  65. package/dist/hook-question-retirement.js.map +1 -1
  66. package/dist/hook-session-state.d.ts +90 -1
  67. package/dist/hook-session-state.js +201 -9
  68. package/dist/hook-session-state.js.map +1 -1
  69. package/dist/hook-types.d.ts +50 -2
  70. package/dist/injection-render.d.ts +36 -0
  71. package/dist/injection-render.js +61 -0
  72. package/dist/injection-render.js.map +1 -0
  73. package/dist/install-hooks.d.ts +14 -0
  74. package/dist/install-hooks.js +47 -2
  75. package/dist/install-hooks.js.map +1 -1
  76. package/dist/logging.d.ts +1 -1
  77. package/dist/logging.js +12 -0
  78. package/dist/logging.js.map +1 -1
  79. package/dist/process-identity.d.ts +26 -0
  80. package/dist/process-identity.js +82 -0
  81. package/dist/process-identity.js.map +1 -0
  82. package/dist/program.js +17 -6
  83. package/dist/program.js.map +1 -1
  84. package/dist/session-attendant-probe.d.ts +74 -0
  85. package/dist/session-attendant-probe.js +131 -0
  86. package/dist/session-attendant-probe.js.map +1 -0
  87. package/dist/session-attendant-state.d.ts +53 -0
  88. package/dist/session-attendant-state.js +175 -0
  89. package/dist/session-attendant-state.js.map +1 -0
  90. package/dist/session-attendant.d.ts +135 -0
  91. package/dist/session-attendant.js +493 -0
  92. package/dist/session-attendant.js.map +1 -0
  93. package/dist/session-delivery.d.ts +214 -0
  94. package/dist/session-delivery.js +560 -0
  95. package/dist/session-delivery.js.map +1 -0
  96. package/dist/session-handoff.d.ts +98 -0
  97. package/dist/session-handoff.js +118 -0
  98. package/dist/session-handoff.js.map +1 -0
  99. package/dist/session-message-handoff.d.ts +35 -0
  100. package/dist/session-message-handoff.js +99 -0
  101. package/dist/session-message-handoff.js.map +1 -0
  102. package/dist/skill-source/manifest.json +20 -4
  103. package/dist/skill-source/notifai/SKILL.md +28 -67
  104. package/dist/skill-source/notifai/references/diagnostics.md +31 -0
  105. package/dist/skill-source/notifai/references/harness-setup.md +3 -0
  106. package/dist/skill-source/notifai/references/notes-and-edits.md +38 -0
  107. package/dist/skill-source/notifai/references/send-details.md +14 -0
  108. package/dist/skill-source/notifai/references/writing-examples.md +56 -0
  109. package/dist/update-handoff.js +3 -3
  110. package/dist/update-handoff.js.map +1 -1
  111. package/dist/version.d.ts +18 -0
  112. package/dist/version.js +82 -1
  113. package/dist/version.js.map +1 -1
  114. package/dist/wake-support.d.ts +33 -1
  115. package/dist/wake-support.js +65 -8
  116. package/dist/wake-support.js.map +1 -1
  117. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -8,6 +8,28 @@ 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.4.0](https://github.com/Raidiant-io/notifai/compare/v11.3.2...v11.4.0) (2026-09-25)
12
+
13
+
14
+ ### Features
15
+
16
+ * **cli:** add guarded beta release lane ([#193](https://github.com/Raidiant-io/notifai/issues/193)) ([54ae1ef](https://github.com/Raidiant-io/notifai/commit/54ae1ef105244423c9e940fb6116c6cdef57cd5c))
17
+ * **cli:** deliver session notes and answer edits ([#199](https://github.com/Raidiant-io/notifai/issues/199)) ([21aa89e](https://github.com/Raidiant-io/notifai/commit/21aa89e0ff2a3f4c91bbcdfda1930d90e83f94bc))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **cli:** avoid duplicate question forms for routed decisions ([#194](https://github.com/Raidiant-io/notifai/issues/194)) ([fa66090](https://github.com/Raidiant-io/notifai/commit/fa66090830fc5cf1ea5ef911b4dd28b3e23e1c82))
23
+ * **cli:** keep Codex question owner alive after Stop ([#195](https://github.com/Raidiant-io/notifai/issues/195)) ([a696e04](https://github.com/Raidiant-io/notifai/commit/a696e0499c27c7e0e2809426545097b944994dfa))
24
+ * **cli:** order release versions by full SemVer precedence ([#196](https://github.com/Raidiant-io/notifai/issues/196)) ([28d2229](https://github.com/Raidiant-io/notifai/commit/28d2229ec9d450daad5d1bd333f276f38df25315))
25
+
26
+
27
+ ### Dependencies
28
+
29
+ * The following workspace dependencies were updated
30
+ * dependencies
31
+ * @raidiant/notifai-protocol bumped from 8.0.3 to 8.1.0
32
+
11
33
  ## [11.3.2](https://github.com/Raidiant-io/notifai/compare/v11.3.1...v11.3.2) (2026-09-23)
12
34
 
13
35
 
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import { atomicWriteFileSync } from './atomic-file.js';
4
4
  import { stateDir } from './config.js';
5
5
  import { withFileLock } from './file-lock.js';
6
- import { latestPublishedCliVersion, newerPublishedCli, shouldConsultCliRegistry, thisCliVersion } from './cli-release.js';
6
+ import { newerPublishedCli, publishedCliDistTags, shouldConsultCliRegistry, thisCliVersion } from './cli-release.js';
7
7
  import { CLI_UPDATE_AVAILABLE } from './cli-contract.js';
8
8
  const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
9
9
  const NOTICE_INTERVAL_MS = 7 * CHECK_INTERVAL_MS;
@@ -52,8 +52,8 @@ export async function agentUpdateNotice(options) {
52
52
  }, { waitMs: 50 });
53
53
  if (!claimed)
54
54
  return undefined;
55
- const latest = await latestPublishedCliVersion(options.fetchImpl, { useCache: false });
56
- if (newerPublishedCli(thisCliVersion(), latest) === null)
55
+ const tags = await publishedCliDistTags(options.fetchImpl, { useCache: false });
56
+ if (newerPublishedCli(thisCliVersion(), tags) === null)
57
57
  return undefined;
58
58
  const notify = withFileLock(`${file}.lock`, () => {
59
59
  const state = readState(file);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-update-notice.js","sourceRoot":"","sources":["../src/agent-update-notice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-update-notice.js","sourceRoot":"","sources":["../src/agent-update-notice.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { EscalationDeliveryRoute } from './hook-types.js';
2
+ import { type WriteGuard } from './wake-support.js';
2
3
  /** Claude Code's currently observed inbox protocol. Unknown versions fail closed. */
3
4
  export declare const CLAUDE_PEER_PROTOCOL = 1;
4
5
  /** The first Claude Code release that publishes a session inbox socket. */
@@ -25,8 +26,10 @@ export interface ClaudeAgentObservation {
25
26
  export interface ClaudeWakeAdapters {
26
27
  listAgents(): Promise<unknown>;
27
28
  readDescriptor(pid: number): unknown;
28
- sendSocket(socketPath: string, line: string): Promise<void>;
29
- resume(sessionId: string, cwd: string, context: string): Promise<void>;
29
+ /** With `guard`, a connection that is late or no longer writable writes nothing. */
30
+ sendSocket(socketPath: string, line: string, guard?: WriteGuard): Promise<void>;
31
+ /** `onSpawn` receives the resumed harness's own process group as soon as it exists. */
32
+ resume(sessionId: string, cwd: string, context: string, onSpawn?: (pgid: number) => void): Promise<void>;
30
33
  sleep(milliseconds: number): Promise<void>;
31
34
  }
32
35
  export type ClaudeWakeObservation = {
@@ -38,6 +41,8 @@ export type ClaudeWakeObservation = {
38
41
  state: 'unknown';
39
42
  reason: string;
40
43
  };
44
+ /** A Claude Code session descriptor, or null when it has an unknown shape. */
45
+ export declare function parseDescriptor(value: unknown): ClaudeSessionDescriptor | null;
41
46
  /**
42
47
  * Observe one exact Claude Code session without guessing.
43
48
  *
@@ -89,7 +94,10 @@ export declare function inspectClaudeInbox(options: {
89
94
  *
90
95
  * Every path that hands nothing over reports `held`, so the accepted journal
91
96
  * replays it. Unknown state deliberately returns without throwing, so the
92
- * journal becomes `hold-for-next-turn` instead of failing the hook.
97
+ * journal becomes `hold-for-next-turn` instead of failing the hook. The
98
+ * in-place write is the hand-off shared with Session Messages
99
+ * (`session-handoff.ts`); only the cold resume of a stopped session belongs to
100
+ * this answer route.
93
101
  */
94
102
  export declare function claudeWakeRoute(options: {
95
103
  sessionId: string;
@@ -3,7 +3,8 @@ import os from 'node:os';
3
3
  import path from 'node:path';
4
4
  import { createConnection } from 'node:net';
5
5
  import { compareVersions } from './version.js';
6
- import { cancelledDelivery, holdForNextTurn, runWakeCommand } from './wake-support.js';
6
+ import { claudeSourceDescriptor, deliverIntoClaudeSession } from './session-handoff.js';
7
+ import { WriteAbortedError, abortedDelivery, cancelledDelivery, holdForNextTurn, runWakeCommand, } from './wake-support.js';
7
8
  /** Claude Code's currently observed inbox protocol. Unknown versions fail closed. */
8
9
  export const CLAUDE_PEER_PROTOCOL = 1;
9
10
  /** The first Claude Code release that publishes a session inbox socket. */
@@ -36,7 +37,8 @@ function parseAgent(value) {
36
37
  status: value['status'],
37
38
  };
38
39
  }
39
- function parseDescriptor(value) {
40
+ /** A Claude Code session descriptor, or null when it has an unknown shape. */
41
+ export function parseDescriptor(value) {
40
42
  if (!isRecord(value))
41
43
  return null;
42
44
  if (typeof value['pid'] !== 'number' ||
@@ -206,12 +208,6 @@ export function inspectClaudeInbox(options) {
206
208
  version: descriptor.version,
207
209
  };
208
210
  }
209
- function socketLine(context) {
210
- return `${JSON.stringify({
211
- type: 'user',
212
- message: { role: 'user', content: context },
213
- })}\n`;
214
- }
215
211
  /**
216
212
  * Claude's own-child delivery route.
217
213
  *
@@ -225,74 +221,75 @@ function socketLine(context) {
225
221
  *
226
222
  * Every path that hands nothing over reports `held`, so the accepted journal
227
223
  * replays it. Unknown state deliberately returns without throwing, so the
228
- * journal becomes `hold-for-next-turn` instead of failing the hook.
224
+ * journal becomes `hold-for-next-turn` instead of failing the hook. The
225
+ * in-place write is the hand-off shared with Session Messages
226
+ * (`session-handoff.ts`); only the cold resume of a stopped session belongs to
227
+ * this answer route.
229
228
  */
230
229
  export function claudeWakeRoute(options) {
231
230
  const adapters = options.adapters ?? systemClaudeWakeAdapters();
232
- let sourceDescriptor = null;
233
- try {
234
- const parsed = parseDescriptor(adapters.readDescriptor(options.sourcePid));
235
- if (parsed !== null &&
236
- parsed.sessionId === options.sessionId &&
237
- parsed.pid === options.sourcePid) {
238
- sourceDescriptor = parsed;
239
- }
240
- }
241
- catch {
242
- // Delivery fails closed below; route construction must never break the hook.
243
- }
231
+ const sourceDescriptor = claudeSourceDescriptor(options.sessionId, options.sourcePid, adapters);
244
232
  return {
245
233
  kind: 'inbox-socket',
246
234
  async deliver(event) {
247
- const observation = await observeClaudeSession(options.sessionId, adapters);
248
- if (observation.state === 'unknown') {
249
- return holdForNextTurn(observation.reason);
250
- }
251
- if (sourceDescriptor === null) {
252
- const reason = 'the Stop-hook process cannot prove exact Claude session ownership';
253
- return holdForNextTurn(reason);
254
- }
255
- if (observation.state === 'stopped') {
256
- // Probe immediately before spawn. A prior descriptor or dead socket is
257
- // never sufficient: resuming a live session creates a divergent ghost.
258
- const confirmed = await observeClaudeSession(options.sessionId, adapters);
259
- if (confirmed.state !== 'stopped') {
260
- const reason = confirmed.state === 'unknown'
261
- ? confirmed.reason
262
- : 'the Claude session became live before cold resume';
263
- return holdForNextTurn(reason);
264
- }
265
- if (!event.commitDelivery())
235
+ const written = await deliverIntoClaudeSession({
236
+ sessionId: options.sessionId,
237
+ sourcePid: options.sourcePid,
238
+ sourceDescriptor,
239
+ adapters,
240
+ text: event.context,
241
+ begin: () => event.commitDelivery(),
242
+ ...(event.writeGuard === undefined ? {} : { guard: event.writeGuard }),
243
+ writer: 'Stop-hook process',
244
+ });
245
+ switch (written.status) {
246
+ case 'unavailable':
247
+ return holdForNextTurn(written.reason);
248
+ case 'cancelled':
266
249
  return cancelledDelivery();
267
- await adapters.resume(options.sessionId, sourceDescriptor.cwd, event.context);
268
- return {
269
- notes: ['cold-resumed the stopped Claude session with its accepted answer'],
270
- log: { route: 'cold-resume', stage: 'delivered' },
271
- acknowledgement: 'delivered',
272
- };
250
+ case 'aborted':
251
+ return abortedDelivery();
252
+ case 'failed':
253
+ // The write started; the waiter records the failure as it always has.
254
+ throw written.error;
255
+ case 'written':
256
+ return {
257
+ notes: [
258
+ written.sessionState === 'live-idle'
259
+ ? 'posted the accepted answer to the live Claude session'
260
+ : 'queued the accepted answer for the busy Claude session',
261
+ ],
262
+ log: {
263
+ route: 'inbox-socket',
264
+ stage: 'delivered',
265
+ session_state: written.sessionState,
266
+ },
267
+ // The write completed: Claude Code holds the message. Nothing later
268
+ // reports on it, so this is where the journal settles.
269
+ acknowledgement: 'delivered',
270
+ };
271
+ case 'stopped':
272
+ break;
273
273
  }
274
- if (observation.descriptor.pid !== options.sourcePid ||
275
- sourceDescriptor.startedAt !== observation.descriptor.startedAt) {
276
- const reason = 'the Stop-hook process is not the observed exact Claude session child';
274
+ // Probe immediately before spawn. A prior descriptor or dead socket is
275
+ // never sufficient: resuming a live session creates a divergent ghost.
276
+ const confirmed = await observeClaudeSession(options.sessionId, adapters);
277
+ if (confirmed.state !== 'stopped') {
278
+ const reason = confirmed.state === 'unknown'
279
+ ? confirmed.reason
280
+ : 'the Claude session became live before cold resume';
277
281
  return holdForNextTurn(reason);
278
282
  }
279
- if (!event.commitDelivery())
283
+ // The resumed harness is a subprocess writer: its process group is
284
+ // journaled as soon as it exists, so its survival is never mistaken
285
+ // for a finished write.
286
+ if (!event.commitDelivery('subprocess'))
280
287
  return cancelledDelivery();
281
- await adapters.sendSocket(observation.descriptor.messagingSocketPath, socketLine(event.context));
282
- await adapters.sleep(CLAUDE_POST_SEND_LIVENESS_MS);
288
+ // `stopped` is reported only with a proven source descriptor.
289
+ await adapters.resume(options.sessionId, sourceDescriptor.cwd, event.context, (pgid) => event.writerGroup?.(pgid));
283
290
  return {
284
- notes: [
285
- observation.state === 'live-idle'
286
- ? 'posted the accepted answer to the live Claude session'
287
- : 'queued the accepted answer for the busy Claude session',
288
- ],
289
- log: {
290
- route: 'inbox-socket',
291
- stage: 'delivered',
292
- session_state: observation.state,
293
- },
294
- // The write completed: Claude Code holds the message. Nothing later
295
- // reports on it, so this is where the journal settles.
291
+ notes: ['cold-resumed the stopped Claude session with its accepted answer'],
292
+ log: { route: 'cold-resume', stage: 'delivered' },
296
293
  acknowledgement: 'delivered',
297
294
  };
298
295
  },
@@ -320,7 +317,7 @@ export function systemClaudeWakeAdapters(env = process.env) {
320
317
  const file = path.join(os.homedir(), '.claude', 'sessions', `${pid}.json`);
321
318
  return JSON.parse(readFileSync(file, 'utf8'));
322
319
  },
323
- sendSocket(socketPath, line) {
320
+ sendSocket(socketPath, line, guard) {
324
321
  return new Promise((resolve, reject) => {
325
322
  const socket = createConnection(socketPath);
326
323
  let settled = false;
@@ -328,11 +325,21 @@ export function systemClaudeWakeAdapters(env = process.env) {
328
325
  if (settled)
329
326
  return;
330
327
  settled = true;
328
+ clearTimeout(late);
331
329
  socket.destroy();
332
330
  reject(err);
333
331
  };
332
+ // A connection still pending at the write boundary is abandoned.
333
+ const late = guard === undefined
334
+ ? undefined
335
+ : setTimeout(() => fail(new WriteAbortedError('the inbox connection outlasted the claim')), Math.min(guard.remainingMs(), 2_147_483_647));
334
336
  socket.once('error', fail);
335
337
  socket.once('connect', () => {
338
+ if (guard !== undefined && !guard.writable()) {
339
+ fail(new WriteAbortedError('the claim lapsed before the first byte'));
340
+ return;
341
+ }
342
+ clearTimeout(late);
336
343
  socket.end(line, () => {
337
344
  if (settled)
338
345
  return;
@@ -342,7 +349,7 @@ export function systemClaudeWakeAdapters(env = process.env) {
342
349
  });
343
350
  });
344
351
  },
345
- async resume(sessionId, cwd, context) {
352
+ async resume(sessionId, cwd, context, onSpawn) {
346
353
  if (!existsSync(cwd))
347
354
  throw new Error(`Claude session cwd no longer exists: ${cwd}`);
348
355
  await runClaude([
@@ -352,7 +359,7 @@ export function systemClaudeWakeAdapters(env = process.env) {
352
359
  '--output-format',
353
360
  'json',
354
361
  context,
355
- ], { cwd, env: coldResumeEnvironment(env) });
362
+ ], { cwd, env: coldResumeEnvironment(env), ...(onSpawn === undefined ? {} : { onSpawn }) });
356
363
  },
357
364
  sleep(milliseconds) {
358
365
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
@@ -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,7 +1,7 @@
1
1
  import { accessSync, constants, existsSync, lstatSync, readFileSync, readlinkSync, realpathSync, } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { packageVersion } from './release.js';
4
- import { cliUpdateRecoveryCommand } from './cli-contract.js';
4
+ import { cliUpdateChannel, cliUpdateRecoveryCommand } from './cli-contract.js';
5
5
  import { canonicalPath, pathDirectories, sameLocalPath } from './local-path.js';
6
6
  const POSIX_NAMES = ['notifai'];
7
7
  const WINDOWS_NAMES = ['notifai.cmd', 'notifai.exe', 'notifai'];
@@ -146,7 +146,7 @@ export function inspectCliInstallations(env, platform = process.platform, option
146
146
  export function cliBinReadiness(env, platform = process.platform, options = {}) {
147
147
  const inspection = inspectCliInstallations(env, platform, options);
148
148
  const { current, effective, entries } = inspection;
149
- const updateCommand = cliUpdateRecoveryCommand();
149
+ const updateCommand = cliUpdateRecoveryCommand(cliUpdateChannel(current.version));
150
150
  if (effective === null && entries.length > 0) {
151
151
  return {
152
152
  id: 'cli-bin',
@@ -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":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,SAAS,CAAA;AAChB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/E,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,CAAA;AAC/B,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAqB/D,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CACpC,GAAsB,EACtB,QAAyB,EACzB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM;QAClD,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC;QACjG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,cAAc;QAAE,OAAO,GAAG,CAAA;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAC/E,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC/F,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7D,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1G,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACvD,KAAK,MAAM,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC3C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAsB,EACtB,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAA;IAChE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAC5C,iEAAiE;YACjE,uEAAuE;YACvE,IAAI,CAAC;gBACH,SAAS,CAAC,SAAS,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,WAA4B,OAAO,CAAC,QAAQ;IACzF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,0FAA0F,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrH,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;aACtB,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;aACxD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,QAAyB;IACjE,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAuB;IAC9C,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC9E,CAAA;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC9D,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAA;QACzD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAuB,EAAE,OAAe,EAAE,QAAyB;IACxF,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAClC,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CACjC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACxC,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAC1D,CAAA;IACD,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpE,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAsB,EACtB,WAA4B,OAAO,CAAC,QAAQ,EAC5C,UAAkC,EAAE;IAEpC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAgB,EAAE;QACjI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACtD,OAAO;YACL,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/C,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;YAClC,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC3D,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO;QACL,OAAO,EAAE;YACP,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc;SAC1F;QACD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI;QAC5D,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAsB,EACtB,WAA4B,OAAO,CAAC,QAAQ,EAC5C,UAAkC,EAAE;IAEpC,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAClE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAClD,MAAM,aAAa,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACjF,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,+CAA+C;YACvD,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE;gBACN,EAAE,EAAE,WAAW;gBACf,OAAO,EAAE,iDAAiD;gBAC1D,OAAO,EAAE,aAAa;aACvB;SACF,CAAA;IACH,CAAC;IACD,wEAAwE;IACxE,6EAA6E;IAC7E,wEAAwE;IACxE,sEAAsE;IACtE,EAAE;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EACJ,6FAA6F;YAC/F,MAAM,EAAE;gBACN,EAAE,EAAE,WAAW;gBACf,OAAO,EAAE,yDAAyD;gBAClE,OAAO,EAAE,aAAa;aACvB;SACF,CAAA;IACH,CAAC;IAED,MAAM,kBAAkB,GACtB,SAAS,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa;QACjD,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACnG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,gFAAgF;YACxF,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE;gBACN,EAAE,EAAE,WAAW;gBACf,OAAO,EAAE,2CAA2C;gBACpD,OAAO,EAAE,aAAa;aACvB;SACF,CAAA;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CACxC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,SAAS;QACnB,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa,CAAC,CACzE,CAAA;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,wEAAwE;YAChF,SAAS,EAAE,UAAU;SACtB,CAAA;IACH,CAAC;IACD,OAAO;QACL,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,UAAU;KACtB,CAAA;AACH,CAAC"}
@@ -3,10 +3,14 @@ export declare const CLI_UPDATE_AVAILABLE = "A newer Notifai is available.";
3
3
  export declare const SERVICE_UPDATE_IN_PROGRESS = "The service is being updated; try again later.";
4
4
  export declare function cliPackageSpec(version: string): string;
5
5
  export declare function cliDistTagsUrl(): string;
6
+ export type CliUpdateChannel = 'stable' | 'beta';
7
+ /** A prerelease installation belongs to the beta channel; everything else is stable. */
8
+ export declare function cliUpdateChannel(version: string | null): CliUpdateChannel;
6
9
  /**
7
10
  * Resolve the current published CLI independently of every installed
8
11
  * `notifai` command. The fetched build owns the locally derived prefix repair,
9
12
  * so this action neither invokes the stale PATH winner nor exposes local
10
- * installation paths.
13
+ * installation paths. A beta tester stays on the beta channel, which also
14
+ * delivers a stable release once it is the newer one.
11
15
  */
12
- export declare function cliUpdateRecoveryCommand(): string;
16
+ export declare function cliUpdateRecoveryCommand(channel?: CliUpdateChannel): string;
@@ -1,3 +1,4 @@
1
+ import { isPrerelease } from './version.js';
1
2
  export const CLI_PACKAGE_NAME = '@raidiant/notifai';
2
3
  export const CLI_UPDATE_AVAILABLE = 'A newer Notifai is available.';
3
4
  export const SERVICE_UPDATE_IN_PROGRESS = 'The service is being updated; try again later.';
@@ -7,13 +8,20 @@ export function cliPackageSpec(version) {
7
8
  export function cliDistTagsUrl() {
8
9
  return `https://registry.npmjs.org/-/package/${CLI_PACKAGE_NAME}/dist-tags`;
9
10
  }
11
+ /** A prerelease installation belongs to the beta channel; everything else is stable. */
12
+ export function cliUpdateChannel(version) {
13
+ return version !== null && isPrerelease(version) ? 'beta' : 'stable';
14
+ }
10
15
  /**
11
16
  * Resolve the current published CLI independently of every installed
12
17
  * `notifai` command. The fetched build owns the locally derived prefix repair,
13
18
  * so this action neither invokes the stale PATH winner nor exposes local
14
- * installation paths.
19
+ * installation paths. A beta tester stays on the beta channel, which also
20
+ * delivers a stable release once it is the newer one.
15
21
  */
16
- export function cliUpdateRecoveryCommand() {
17
- return `npx --yes ${cliPackageSpec('latest')} update`;
22
+ export function cliUpdateRecoveryCommand(channel = 'stable') {
23
+ return channel === 'beta'
24
+ ? `npx --yes ${cliPackageSpec('beta')} update --channel beta`
25
+ : `npx --yes ${cliPackageSpec('latest')} update`;
18
26
  }
19
27
  //# sourceMappingURL=cli-contract.js.map
@@ -1 +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
+ {"version":3,"file":"cli-contract.js","sourceRoot":"","sources":["../src/cli-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,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;AAID,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,OAAO,OAAO,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA4B,QAAQ;IAC3E,OAAO,OAAO,KAAK,MAAM;QACvB,CAAC,CAAC,aAAa,cAAc,CAAC,MAAM,CAAC,wBAAwB;QAC7D,CAAC,CAAC,aAAa,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAA;AACpD,CAAC"}
@@ -1,9 +1,36 @@
1
+ import { type CliUpdateChannel } from './cli-contract.js';
2
+ /** The npm dist-tags a CLI installation can update to. */
3
+ export interface CliDistTags {
4
+ latest: string;
5
+ beta: string | null;
6
+ }
7
+ export interface CliReleaseTarget {
8
+ version: string;
9
+ dist_tag: 'latest' | 'beta';
10
+ }
1
11
  export declare function shouldConsultCliRegistry(input: {
2
12
  env?: NodeJS.ProcessEnv;
3
13
  }): boolean;
4
- export declare function latestPublishedCliVersion(fetchImpl?: typeof fetch, options?: {
14
+ /**
15
+ * Accept a registry dist-tags document only when every tag an update can
16
+ * follow is well formed: `latest` is a stable release and `beta`, when
17
+ * present, is a prerelease. Anything else is unreadable, never a guess.
18
+ */
19
+ export declare function parseCliDistTags(body: unknown): CliDistTags | null;
20
+ export declare function publishedCliDistTags(fetchImpl?: typeof fetch, options?: {
5
21
  useCache?: boolean;
6
- }): Promise<string | null>;
7
- export declare function newerPublishedCli(local: string | null, latest: string | null): string | null;
22
+ }): Promise<CliDistTags | null>;
23
+ /**
24
+ * The release a channel updates to. Stable follows `latest`. Beta follows
25
+ * whichever of `beta` and `latest` has the higher SemVer precedence, so a
26
+ * tester moves on to the stable release once it ships.
27
+ */
28
+ export declare function cliReleaseTarget(tags: CliDistTags, channel: CliUpdateChannel): CliReleaseTarget;
29
+ /**
30
+ * The published release newer than `local` on the channel `local` belongs to,
31
+ * or null. A prerelease installation is offered both newer betas and the
32
+ * stable release that supersedes it.
33
+ */
34
+ export declare function newerPublishedCli(local: string | null, tags: CliDistTags | null): string | null;
8
35
  export declare function thisCliVersion(): string | null;
9
- export declare function resetLatestPublishedCliVersionForTest(): void;
36
+ export declare function resetPublishedCliDistTagsForTest(): void;
@@ -1,6 +1,6 @@
1
1
  import { packageVersion } from './release.js';
2
- import { cliDistTagsUrl } from './cli-contract.js';
3
- import { compareVersions, isSemVer } from './version.js';
2
+ import { cliDistTagsUrl, cliUpdateChannel } from './cli-contract.js';
3
+ import { compareReleasePrecedence, isPrerelease, isSemVer } from './version.js';
4
4
  /**
5
5
  * The newest published CLI, read from the registry that publishes it.
6
6
  *
@@ -16,7 +16,24 @@ export function shouldConsultCliRegistry(input) {
16
16
  const ci = input.env?.['CI'];
17
17
  return ci !== '1' && ci !== 'true';
18
18
  }
19
- export async function latestPublishedCliVersion(fetchImpl = fetch, options = {}) {
19
+ /**
20
+ * Accept a registry dist-tags document only when every tag an update can
21
+ * follow is well formed: `latest` is a stable release and `beta`, when
22
+ * present, is a prerelease. Anything else is unreadable, never a guess.
23
+ */
24
+ export function parseCliDistTags(body) {
25
+ if (typeof body !== 'object' || body === null)
26
+ return null;
27
+ const { latest, beta } = body;
28
+ if (typeof latest !== 'string' || !isSemVer(latest) || isPrerelease(latest))
29
+ return null;
30
+ if (beta === undefined)
31
+ return { latest, beta: null };
32
+ if (typeof beta !== 'string' || !isPrerelease(beta))
33
+ return null;
34
+ return { latest, beta };
35
+ }
36
+ export async function publishedCliDistTags(fetchImpl = fetch, options = {}) {
20
37
  if (options.useCache !== false && cached !== null && Date.now() - cached.at < CACHE_TTL_MS)
21
38
  return cached.value;
22
39
  try {
@@ -26,30 +43,43 @@ export async function latestPublishedCliVersion(fetchImpl = fetch, options = {})
26
43
  });
27
44
  if (!response.ok)
28
45
  return null;
29
- const body = await response.json();
30
- if (typeof body !== 'object' || body === null)
31
- return null;
32
- const latest = body.latest;
33
- if (typeof latest !== 'string' || !isSemVer(latest)) {
46
+ const tags = parseCliDistTags(await response.json());
47
+ if (tags === null)
34
48
  return null;
35
- }
36
49
  if (options.useCache !== false)
37
- cached = { value: latest, at: Date.now() };
38
- return latest;
50
+ cached = { value: tags, at: Date.now() };
51
+ return tags;
39
52
  }
40
53
  catch {
41
54
  return null;
42
55
  }
43
56
  }
44
- export function newerPublishedCli(local, latest) {
45
- if (local === null || latest === null)
57
+ /**
58
+ * The release a channel updates to. Stable follows `latest`. Beta follows
59
+ * whichever of `beta` and `latest` has the higher SemVer precedence, so a
60
+ * tester moves on to the stable release once it ships.
61
+ */
62
+ export function cliReleaseTarget(tags, channel) {
63
+ if (channel === 'beta' && tags.beta !== null && compareReleasePrecedence(tags.beta, tags.latest) === 'after') {
64
+ return { version: tags.beta, dist_tag: 'beta' };
65
+ }
66
+ return { version: tags.latest, dist_tag: 'latest' };
67
+ }
68
+ /**
69
+ * The published release newer than `local` on the channel `local` belongs to,
70
+ * or null. A prerelease installation is offered both newer betas and the
71
+ * stable release that supersedes it.
72
+ */
73
+ export function newerPublishedCli(local, tags) {
74
+ if (local === null || tags === null)
46
75
  return null;
47
- return compareVersions(latest, local) === 'after' ? latest : null;
76
+ const target = cliReleaseTarget(tags, cliUpdateChannel(local));
77
+ return compareReleasePrecedence(target.version, local) === 'after' ? target.version : null;
48
78
  }
49
79
  export function thisCliVersion() {
50
80
  return packageVersion();
51
81
  }
52
- export function resetLatestPublishedCliVersionForTest() {
82
+ export function resetPublishedCliDistTagsForTest() {
53
83
  cached = null;
54
84
  }
55
85
  //# sourceMappingURL=cli-release.js.map