@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.
- package/CHANGELOG.md +22 -0
- package/dist/agent-update-notice.js +3 -3
- package/dist/agent-update-notice.js.map +1 -1
- package/dist/claude-wake.d.ts +11 -3
- package/dist/claude-wake.js +74 -67
- package/dist/claude-wake.js.map +1 -1
- package/dist/cli-bin.js +2 -2
- package/dist/cli-bin.js.map +1 -1
- package/dist/cli-contract.d.ts +6 -2
- package/dist/cli-contract.js +11 -3
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli-release.d.ts +31 -4
- package/dist/cli-release.js +45 -15
- package/dist/cli-release.js.map +1 -1
- package/dist/client.d.ts +23 -2
- package/dist/client.js +11 -5
- package/dist/client.js.map +1 -1
- package/dist/codex-wake.d.ts +12 -2
- package/dist/codex-wake.js +50 -13
- package/dist/codex-wake.js.map +1 -1
- package/dist/commands-acknowledge.d.ts +4 -2
- package/dist/commands-acknowledge.js +35 -4
- package/dist/commands-acknowledge.js.map +1 -1
- package/dist/commands-ask.js +2 -2
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-close.js +16 -4
- package/dist/commands-close.js.map +1 -1
- package/dist/commands-core.d.ts +10 -1
- package/dist/commands-core.js +4 -3
- package/dist/commands-core.js.map +1 -1
- package/dist/commands-doctor.js +49 -4
- package/dist/commands-doctor.js.map +1 -1
- package/dist/commands-hook-attend.d.ts +61 -0
- package/dist/commands-hook-attend.js +475 -0
- package/dist/commands-hook-attend.js.map +1 -0
- package/dist/commands-hook-diagnostics.js +2 -2
- package/dist/commands-hook-diagnostics.js.map +1 -1
- package/dist/commands-hook-install.js +1 -1
- package/dist/commands-hook-install.js.map +1 -1
- package/dist/commands-hook-run.js +59 -2
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-send.js +6 -1
- package/dist/commands-send.js.map +1 -1
- package/dist/commands-update-check.js +9 -6
- package/dist/commands-update-check.js.map +1 -1
- package/dist/commands-update.d.ts +2 -1
- package/dist/commands-update.js +74 -11
- package/dist/commands-update.js.map +1 -1
- package/dist/guidance-content.js +11 -37
- package/dist/guidance-content.js.map +1 -1
- package/dist/hook-acknowledgements.d.ts +25 -5
- package/dist/hook-acknowledgements.js +102 -45
- package/dist/hook-acknowledgements.js.map +1 -1
- package/dist/hook-events.d.ts +26 -1
- package/dist/hook-events.js +38 -2
- package/dist/hook-events.js.map +1 -1
- package/dist/hook-lifecycle.d.ts +6 -0
- package/dist/hook-lifecycle.js +309 -31
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-question-lock.d.ts +18 -0
- package/dist/hook-question-lock.js +80 -57
- package/dist/hook-question-lock.js.map +1 -1
- package/dist/hook-question-retirement.d.ts +10 -2
- package/dist/hook-question-retirement.js +21 -4
- package/dist/hook-question-retirement.js.map +1 -1
- package/dist/hook-session-state.d.ts +90 -1
- package/dist/hook-session-state.js +201 -9
- package/dist/hook-session-state.js.map +1 -1
- package/dist/hook-types.d.ts +50 -2
- package/dist/injection-render.d.ts +36 -0
- package/dist/injection-render.js +61 -0
- package/dist/injection-render.js.map +1 -0
- package/dist/install-hooks.d.ts +14 -0
- package/dist/install-hooks.js +47 -2
- package/dist/install-hooks.js.map +1 -1
- package/dist/logging.d.ts +1 -1
- package/dist/logging.js +12 -0
- package/dist/logging.js.map +1 -1
- package/dist/process-identity.d.ts +26 -0
- package/dist/process-identity.js +82 -0
- package/dist/process-identity.js.map +1 -0
- package/dist/program.js +17 -6
- package/dist/program.js.map +1 -1
- package/dist/session-attendant-probe.d.ts +74 -0
- package/dist/session-attendant-probe.js +131 -0
- package/dist/session-attendant-probe.js.map +1 -0
- package/dist/session-attendant-state.d.ts +53 -0
- package/dist/session-attendant-state.js +175 -0
- package/dist/session-attendant-state.js.map +1 -0
- package/dist/session-attendant.d.ts +135 -0
- package/dist/session-attendant.js +493 -0
- package/dist/session-attendant.js.map +1 -0
- package/dist/session-delivery.d.ts +214 -0
- package/dist/session-delivery.js +560 -0
- package/dist/session-delivery.js.map +1 -0
- package/dist/session-handoff.d.ts +98 -0
- package/dist/session-handoff.js +118 -0
- package/dist/session-handoff.js.map +1 -0
- package/dist/session-message-handoff.d.ts +35 -0
- package/dist/session-message-handoff.js +99 -0
- package/dist/session-message-handoff.js.map +1 -0
- package/dist/skill-source/manifest.json +20 -4
- package/dist/skill-source/notifai/SKILL.md +28 -67
- package/dist/skill-source/notifai/references/diagnostics.md +31 -0
- package/dist/skill-source/notifai/references/harness-setup.md +3 -0
- package/dist/skill-source/notifai/references/notes-and-edits.md +38 -0
- package/dist/skill-source/notifai/references/send-details.md +14 -0
- package/dist/skill-source/notifai/references/writing-examples.md +56 -0
- package/dist/update-handoff.js +3 -3
- package/dist/update-handoff.js.map +1 -1
- package/dist/version.d.ts +18 -0
- package/dist/version.js +82 -1
- package/dist/version.js.map +1 -1
- package/dist/wake-support.d.ts +33 -1
- package/dist/wake-support.js +65 -8
- package/dist/wake-support.js.map +1 -1
- 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 {
|
|
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
|
|
56
|
-
if (newerPublishedCli(thisCliVersion(),
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-update-notice.js","sourceRoot":"","sources":["../src/agent-update-notice.ts"],"names":[],"mappings":"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"}
|
package/dist/claude-wake.d.ts
CHANGED
|
@@ -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
|
-
|
|
29
|
-
|
|
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;
|
package/dist/claude-wake.js
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
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
|
-
|
|
275
|
-
|
|
276
|
-
|
|
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
|
-
|
|
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
|
-
|
|
282
|
-
await adapters.
|
|
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
|
-
|
|
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));
|
package/dist/claude-wake.js.map
CHANGED
|
@@ -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',
|
package/dist/cli-bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli-bin.js","sourceRoot":"","sources":["../src/cli-bin.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-contract.d.ts
CHANGED
|
@@ -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;
|
package/dist/cli-contract.js
CHANGED
|
@@ -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
|
|
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
|
package/dist/cli-contract.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/cli-release.d.ts
CHANGED
|
@@ -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
|
-
|
|
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<
|
|
7
|
-
|
|
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
|
|
36
|
+
export declare function resetPublishedCliDistTagsForTest(): void;
|
package/dist/cli-release.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { packageVersion } from './release.js';
|
|
2
|
-
import { cliDistTagsUrl } from './cli-contract.js';
|
|
3
|
-
import {
|
|
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
|
-
|
|
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
|
|
30
|
-
if (
|
|
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:
|
|
38
|
-
return
|
|
50
|
+
cached = { value: tags, at: Date.now() };
|
|
51
|
+
return tags;
|
|
39
52
|
}
|
|
40
53
|
catch {
|
|
41
54
|
return null;
|
|
42
55
|
}
|
|
43
56
|
}
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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
|
|
82
|
+
export function resetPublishedCliDistTagsForTest() {
|
|
53
83
|
cached = null;
|
|
54
84
|
}
|
|
55
85
|
//# sourceMappingURL=cli-release.js.map
|