@raidiant/notifai 11.2.2 → 11.3.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 (41) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +6 -3
  3. package/dist/commands-ask.js +2 -2
  4. package/dist/commands-ask.js.map +1 -1
  5. package/dist/commands-auth.d.ts +40 -0
  6. package/dist/commands-auth.js +219 -56
  7. package/dist/commands-auth.js.map +1 -1
  8. package/dist/commands-doctor.js +40 -13
  9. package/dist/commands-doctor.js.map +1 -1
  10. package/dist/commands-hook-run.js +38 -22
  11. package/dist/commands-hook-run.js.map +1 -1
  12. package/dist/commands-init.js +9 -5
  13. package/dist/commands-init.js.map +1 -1
  14. package/dist/commands-send.js +1 -1
  15. package/dist/commands-send.js.map +1 -1
  16. package/dist/commands-update-check.js +2 -1
  17. package/dist/commands-update-check.js.map +1 -1
  18. package/dist/config-schema.js +3 -3
  19. package/dist/config-schema.js.map +1 -1
  20. package/dist/guidance-content.js +6 -0
  21. package/dist/guidance-content.js.map +1 -1
  22. package/dist/hook-acknowledgements.d.ts +3 -0
  23. package/dist/hook-acknowledgements.js +85 -6
  24. package/dist/hook-acknowledgements.js.map +1 -1
  25. package/dist/hook-lifecycle.js +71 -12
  26. package/dist/hook-lifecycle.js.map +1 -1
  27. package/dist/hook-question-retirement.d.ts +2 -2
  28. package/dist/hook-question-state.js +1 -1
  29. package/dist/hook-question-state.js.map +1 -1
  30. package/dist/hook-session-state.js +2 -1
  31. package/dist/hook-session-state.js.map +1 -1
  32. package/dist/hook-types.d.ts +6 -0
  33. package/dist/install-hooks.js +1 -4
  34. package/dist/install-hooks.js.map +1 -1
  35. package/dist/pending-pairing.d.ts +37 -0
  36. package/dist/pending-pairing.js +68 -0
  37. package/dist/pending-pairing.js.map +1 -0
  38. package/dist/skill-source/manifest.json +4 -4
  39. package/dist/skill-source/notifai/SKILL.md +20 -23
  40. package/dist/skill-source/notifai/references/harness-setup.md +33 -9
  41. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -8,6 +8,25 @@ 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.3.0](https://github.com/Raidiant-io/notifai/compare/v11.2.2...v11.3.0) (2026-09-22)
12
+
13
+
14
+ ### Features
15
+
16
+ * **cli:** make machine approval resumable and non-blocking for agents ([#184](https://github.com/Raidiant-io/notifai/issues/184)) ([c8f8c9a](https://github.com/Raidiant-io/notifai/commit/c8f8c9af44b8910952df509774bfd9cac0fa73a5))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **cli:** keep pending replies observed and clarify guidance ([#183](https://github.com/Raidiant-io/notifai/issues/183)) ([f225b1c](https://github.com/Raidiant-io/notifai/commit/f225b1ccd71485091b8d18bcb3c697ffa5d0b5f2))
22
+
23
+
24
+ ### Dependencies
25
+
26
+ * The following workspace dependencies were updated
27
+ * dependencies
28
+ * @raidiant/notifai-protocol bumped from 8.0.0 to 8.0.1
29
+
11
30
  ## [11.2.2](https://github.com/Raidiant-io/notifai/compare/v11.2.1...v11.2.2) (2026-09-20)
12
31
 
13
32
 
package/README.md CHANGED
@@ -69,11 +69,14 @@ notifai ask "Deploy the migration to production?" \
69
69
  --choice Yes --choice No
70
70
  ```
71
71
 
72
- The agent registers the question, ends its work, and your answer comes back on
73
- its next turn. Question Routing keeps that exact session available for the
72
+ The agent registers the question and ends the asking turn to start submission;
73
+ your answer returns to that same Agent Session. Question Routing owns the
74
74
  complete answer window: Claude Code waits out of band and wakes it on
75
75
  macOS/Linux; on Windows its Stop stays held and returns the answer as the same
76
- Agent Session's continuation, like Codex. On iPhone, press and hold the
76
+ Agent Session's continuation. Codex waits out of band and queues the answer
77
+ into that thread's durable inbox: idle sessions consume it, busy sessions
78
+ consume it at their next turn boundary, and stopped sessions retain it until
79
+ reopened. Queue success proves storage, not consumption. On iPhone, press and hold the
77
80
  collapsed banner to answer; the choices appear on the expanded card, not on
78
81
  the lock screen.
79
82
 
@@ -222,7 +222,7 @@ function recordRegisteredQuestion(deps, sessionId, built, draft, json = false) {
222
222
  close: `notifai close ${questionId}`,
223
223
  next: {
224
224
  end_turn: true,
225
- in_this_turn: 'Ask the question in the conversation and say what concrete work each possible answer will make you resume, then end the turn.',
225
+ in_this_turn: 'Ask the question in the conversation and say what concrete work each possible answer will make you resume, then end the turn so Question Routing can start submission. Registration alone does not start submission.',
226
226
  route_neutral: 'Never say where the answer must arrive; it returns by whatever route the harness supports.',
227
227
  on_answer: 'Acknowledge it, then resume the committed work without asking the user to confirm again.',
228
228
  answered_outside_notifai: `If they answer in the conversation instead, run \`notifai close ${questionId}\` before ending the turn so a later Stop will not send this question.`,
@@ -243,7 +243,7 @@ function recordRegisteredQuestion(deps, sessionId, built, draft, json = false) {
243
243
  deps.io.out(built.questions.length > 1
244
244
  ? `${built.questions.length} questions registered locally as one form (${questionId}); they have not been submitted as a Notification Request and have no Provider Acceptance yet. Ask them in the conversation, state the concrete work you will resume for their answers, then end your turn.`
245
245
  : `Question registered locally (${questionId}); it has not been submitted as a Notification Request and has no Provider Acceptance yet. Ask it in the conversation, state the concrete work you will resume when the answer arrives, then end your turn.`);
246
- deps.io.out(`Question settlement runs after registration. Inspect the original identity with \`notifai status ${questionId}\`; never register a replacement to check whether this one was sent.`);
246
+ deps.io.out(`Registration alone does not start submission. The asking turn's Stop normally starts question settlement; a later User prompt can recover an unmatched registration. Inspect the original identity with \`notifai status ${questionId}\`; never register a replacement to check whether this one was sent.`);
247
247
  deps.io.out('Before ending this turn, pre-commit in your own words to the work you will resume:');
248
248
  for (const [index, entry] of built.questions.entries()) {
249
249
  const questionPrefix = built.questions.length > 1 ? `Question ${index + 1}, ` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"commands-ask.js","sourceRoot":"","sources":["../src/commands-ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-ask.js","sourceRoot":"","sources":["../src/commands-ask.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type CommandDeps } from './commands-core.js';
2
+ import { type PendingPairing } from './pending-pairing.js';
2
3
  import type { ReadinessState } from './readiness.js';
3
4
  /**
4
5
  * Keep the one-time confirmation secret out of the HTTP request that opens
@@ -19,6 +20,45 @@ export declare function pairingApprovalUrl(approveUrl: string, confirmationSecre
19
20
  * own has no such caller and states the errand itself.
20
21
  */
21
22
  export type LoginBlockedSink = (blocker: ReadinessState) => void;
23
+ /** Why a machine approval is not (yet) a credential, as an agent reads it. */
24
+ export type PairingOutcome = 'pending' | 'denied' | 'expired' | 'not_started';
25
+ /**
26
+ * The state `init` reports when approval has been started and not finished.
27
+ *
28
+ * It is a `credential` gap whose remedy names the exact page and code, so an
29
+ * agent can relay both without inventing wording, and whose command is the
30
+ * same setup command — the next run resumes this very handshake rather than
31
+ * starting a second one.
32
+ */
33
+ export declare function pendingApprovalBlocker(pairing: PendingPairing): ReadinessState;
34
+ /**
35
+ * The state `init` reports when an approval ended without a credential. Each
36
+ * outcome is named, because "not paired" alone sends an agent straight back
37
+ * into a new approval — and a User who just said no gets asked again.
38
+ */
39
+ export declare function pairingOutcomeBlocker(outcome: Exclude<PairingOutcome, 'pending'>, detail: string): ReadinessState;
40
+ /**
41
+ * Pair this machine with the User's Account.
42
+ *
43
+ * The handshake is one server-side pairing: this machine keeps the credential
44
+ * and the confirmation secret, the User approves the code in their browser,
45
+ * and polling collects the machine id. It is persisted between runs (see
46
+ * `pending-pairing.ts`), which is what lets two very different callers share
47
+ * it honestly:
48
+ *
49
+ * - A human at a terminal watches a spinner until the pairing resolves or
50
+ * expires, as before.
51
+ * - An agent, or any run with nobody at the terminal, never waits on a
52
+ * person. It prints the page and the code, polls once, and returns — its
53
+ * caller relays the errand, and the next run picks the same pairing up
54
+ * where it was left. A shell tool that times out no longer strands an
55
+ * approval the User already gave.
56
+ *
57
+ * A resumed handshake is always asked about before it is replaced: the
58
+ * service answers `approved` for an approved pairing even after its expiry,
59
+ * so an approval given late is collected rather than duplicated. Only the
60
+ * service's `expired`, `denied`, or unknown answer discards one.
61
+ */
22
62
  export declare function loginCommand(deps: CommandDeps, flags: {
23
63
  name?: string;
24
64
  baseUrl?: string;
@@ -2,11 +2,12 @@ import {} from '@raidiant/notifai-protocol';
2
2
  import { sha256Hex } from '@raidiant/notifai-protocol/node';
3
3
  import { randomBytes } from 'node:crypto';
4
4
  import os from 'node:os';
5
- import { NetworkError } from './client.js';
5
+ import { ApiCallError, NetworkError } from './client.js';
6
6
  import {} from './config.js';
7
7
  import { checkApproveUrl } from './url-policy.js';
8
8
  import { EXIT, SETUP_COMMAND, authedClient, loadLoggedConfig, makeClient, reportError, } from './commands-core.js';
9
9
  import { setupAccessUrl } from './setup-destinations.js';
10
+ import { clearPendingPairing, readPendingPairing, writePendingPairing, } from './pending-pairing.js';
10
11
  // ---------------------------------------------------------------------------
11
12
  // login / logout / auth status
12
13
  // ---------------------------------------------------------------------------
@@ -20,106 +21,251 @@ export function pairingApprovalUrl(approveUrl, confirmationSecret) {
20
21
  url.hash = new URLSearchParams({ confirmation_secret: confirmationSecret }).toString();
21
22
  return url.toString();
22
23
  }
24
+ /**
25
+ * The state `init` reports when approval has been started and not finished.
26
+ *
27
+ * It is a `credential` gap whose remedy names the exact page and code, so an
28
+ * agent can relay both without inventing wording, and whose command is the
29
+ * same setup command — the next run resumes this very handshake rather than
30
+ * starting a second one.
31
+ */
32
+ export function pendingApprovalBlocker(pairing) {
33
+ return {
34
+ id: 'credential',
35
+ title: 'This machine',
36
+ status: 'gap',
37
+ detail: `waiting for you to approve this computer in your browser (code ${pairing.code})`,
38
+ technical: {
39
+ pairing_outcome: 'pending',
40
+ pairing: {
41
+ approve_url: pairing.approve_url,
42
+ code: pairing.code,
43
+ expires_at: pairing.expires_at,
44
+ },
45
+ },
46
+ remedy: {
47
+ by: 'user-here',
48
+ summary: `approve this computer at ${pairing.approve_url} (the page shows code ${pairing.code})`,
49
+ command: SETUP_COMMAND,
50
+ // The next run resumes this handshake through the same login path.
51
+ interactive: true,
52
+ },
53
+ };
54
+ }
55
+ /**
56
+ * The state `init` reports when an approval ended without a credential. Each
57
+ * outcome is named, because "not paired" alone sends an agent straight back
58
+ * into a new approval — and a User who just said no gets asked again.
59
+ */
60
+ export function pairingOutcomeBlocker(outcome, detail) {
61
+ return {
62
+ id: 'credential',
63
+ title: 'This machine',
64
+ status: 'gap',
65
+ detail,
66
+ technical: { pairing_outcome: outcome },
67
+ remedy: {
68
+ by: 'user-here',
69
+ summary: outcome === 'denied'
70
+ ? 'approval was denied; start setup again only if you want to connect this computer'
71
+ : 'start machine approval again',
72
+ command: SETUP_COMMAND,
73
+ interactive: true,
74
+ },
75
+ };
76
+ }
77
+ /**
78
+ * Pair this machine with the User's Account.
79
+ *
80
+ * The handshake is one server-side pairing: this machine keeps the credential
81
+ * and the confirmation secret, the User approves the code in their browser,
82
+ * and polling collects the machine id. It is persisted between runs (see
83
+ * `pending-pairing.ts`), which is what lets two very different callers share
84
+ * it honestly:
85
+ *
86
+ * - A human at a terminal watches a spinner until the pairing resolves or
87
+ * expires, as before.
88
+ * - An agent, or any run with nobody at the terminal, never waits on a
89
+ * person. It prints the page and the code, polls once, and returns — its
90
+ * caller relays the errand, and the next run picks the same pairing up
91
+ * where it was left. A shell tool that times out no longer strands an
92
+ * approval the User already gave.
93
+ *
94
+ * A resumed handshake is always asked about before it is replaced: the
95
+ * service answers `approved` for an approved pairing even after its expiry,
96
+ * so an approval given late is collected rather than duplicated. Only the
97
+ * service's `expired`, `denied`, or unknown answer discards one.
98
+ */
23
99
  export async function loginCommand(deps, flags, onBlocked) {
24
100
  const config = loadLoggedConfig(deps, { cwd: deps.cwd, env: deps.env, flags: { base_url: flags.baseUrl } });
25
101
  const baseUrl = config.base_url.value;
26
- const machineName = flags.name ?? os.hostname();
27
- const secret = randomBytes(32).toString('base64url');
28
- const pollVerifier = randomBytes(24).toString('base64url');
29
- const confirmationSecret = randomBytes(32).toString('base64url');
102
+ const interactive = deps.io.interactive === true;
103
+ const now = deps.now ?? Date.now;
104
+ const sleep = deps.sleep ?? ((milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds)));
30
105
  const client = makeClient(deps, baseUrl, null);
31
- let begin;
32
- try {
33
- begin = await client.beginPairing({
106
+ const startPairing = async () => {
107
+ const machineName = flags.name ?? os.hostname();
108
+ const secret = randomBytes(32).toString('base64url');
109
+ const pollVerifier = randomBytes(24).toString('base64url');
110
+ const confirmationSecret = randomBytes(32).toString('base64url');
111
+ let begin;
112
+ try {
113
+ begin = await client.beginPairing({
114
+ machine_name: machineName,
115
+ credential_hash: sha256Hex(secret),
116
+ poll_verifier_hash: sha256Hex(pollVerifier),
117
+ confirmation_hash: sha256Hex(confirmationSecret),
118
+ });
119
+ }
120
+ catch (err) {
121
+ const code = reportError(deps, err);
122
+ onBlocked?.(pairingOutcomeBlocker('not_started', `machine approval could not be started: ${err instanceof Error ? err.message : String(err)}`));
123
+ return code;
124
+ }
125
+ // The approval URL is the server's choice, and this machine is about to put
126
+ // it in front of the user's browser. A compromised or misconfigured service
127
+ // must not be able to aim that anywhere it likes, so the pairing stops here
128
+ // rather than showing a link the user would reasonably trust.
129
+ const approvable = checkApproveUrl(begin.approve_url, baseUrl, config.approve_origins.value);
130
+ if (!approvable.ok) {
131
+ deps.io.err(`Pairing stopped: ${approvable.reason}`);
132
+ deps.io.err('next: If you self-host with the dashboard on its own origin, allow it with ' +
133
+ '`notifai config set approve_origins <origin>` and run `notifai login` again.');
134
+ onBlocked?.(pairingOutcomeBlocker('not_started', `machine approval was refused: ${approvable.reason}`));
135
+ return EXIT.auth;
136
+ }
137
+ const started = {
138
+ pairing_id: begin.pairing_id,
139
+ code: begin.code,
140
+ approve_url: pairingApprovalUrl(begin.approve_url, confirmationSecret),
141
+ base_url: baseUrl,
34
142
  machine_name: machineName,
35
- credential_hash: sha256Hex(secret),
36
- poll_verifier_hash: sha256Hex(pollVerifier),
37
- confirmation_hash: sha256Hex(confirmationSecret),
38
- });
39
- }
40
- catch (err) {
41
- return reportError(deps, err);
42
- }
43
- const approveUrl = pairingApprovalUrl(begin.approve_url, confirmationSecret);
44
- // The approval URL is the server's choice, and this machine is about to put
45
- // it in front of the user's browser. A compromised or misconfigured service
46
- // must not be able to aim that anywhere it likes, so the pairing stops here
47
- // rather than showing a link the user would reasonably trust.
48
- const approvable = checkApproveUrl(begin.approve_url, baseUrl, config.approve_origins.value);
49
- if (!approvable.ok) {
50
- deps.io.err(`Pairing stopped: ${approvable.reason}`);
51
- deps.io.err('next: If you self-host with the dashboard on its own origin, allow it with ' +
52
- '`notifai config set approve_origins <origin>` and run `notifai login` again.');
53
- return EXIT.auth;
143
+ secret,
144
+ poll_verifier: pollVerifier,
145
+ expires_at: begin.expires_at,
146
+ poll_interval_seconds: begin.poll_interval_seconds,
147
+ };
148
+ writePendingPairing(deps.env, started);
149
+ return started;
150
+ };
151
+ const announce = async (pairing, resumed) => {
152
+ if (interactive) {
153
+ await deps.io.intro?.('Notifai sign in');
154
+ await deps.io.note?.(`Code: ${pairing.code}\n${pairing.approve_url}`, 'Approve this machine');
155
+ }
156
+ else {
157
+ deps.io.out(`Pairing code: ${pairing.code}`);
158
+ deps.io.out(`Approve this machine at: ${pairing.approve_url}`);
159
+ }
160
+ // The browser is opened once per handshake. An unattended resume is the
161
+ // run after the User was already sent there; opening it again would stack
162
+ // a second tab on the page they are looking at.
163
+ if (flags.open !== false && (interactive || !resumed))
164
+ deps.io.openUrl(pairing.approve_url);
165
+ };
166
+ // A handshake started against another service, or under another machine
167
+ // name, is not this one; only an identical errand is resumed.
168
+ let pairing = readPendingPairing(deps.env, now());
169
+ if (pairing !== null && (pairing.base_url !== baseUrl || (flags.name !== undefined && flags.name !== pairing.machine_name))) {
170
+ clearPendingPairing(deps.env);
171
+ pairing = null;
54
172
  }
55
- const interactive = deps.io.interactive === true;
56
- if (interactive) {
57
- await deps.io.intro?.('Notifai sign in');
58
- await deps.io.note?.(`Code: ${begin.code}\n${approveUrl}`, 'Approve this machine');
173
+ let resumed = pairing !== null;
174
+ let active;
175
+ if (pairing === null) {
176
+ const started = await startPairing();
177
+ if (typeof started === 'number')
178
+ return started;
179
+ active = started;
59
180
  }
60
181
  else {
61
- deps.io.out(`Pairing code: ${begin.code}`);
62
- deps.io.out(`Approve this machine at: ${approveUrl}`);
63
- deps.io.out('Waiting for approval…');
182
+ active = pairing;
64
183
  }
65
- if (flags.open !== false)
66
- deps.io.openUrl(approveUrl);
67
- const expiresAt = new Date(begin.expires_at).getTime();
68
- const intervalMs = Math.max(begin.poll_interval_seconds, 1) * 1000;
69
- const now = deps.now ?? Date.now;
70
- const sleep = deps.sleep ?? ((milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds)));
184
+ await announce(active, resumed);
185
+ let expiresAt = Date.parse(active.expires_at);
186
+ let intervalMs = Math.max(active.poll_interval_seconds, 1) * 1000;
71
187
  const approvalWaitMessage = () => {
72
188
  const remainingSec = Math.max(0, Math.ceil((expiresAt - now()) / 1000));
73
189
  const minutes = Math.floor(remainingSec / 60);
74
190
  const seconds = remainingSec % 60;
75
191
  const remaining = minutes > 0 ? `${minutes}m ${seconds.toString().padStart(2, '0')}s` : `${seconds}s`;
76
- return `Waiting for approval… code ${begin.code} · ${remaining} left`;
192
+ return `Waiting for approval… code ${active.code} · ${remaining} left`;
77
193
  };
78
194
  const spinner = interactive ? await deps.io.spinner?.(approvalWaitMessage()) : null;
79
- while (now() < expiresAt) {
80
- await sleep(intervalMs);
195
+ // A resumed handshake the service no longer knows is replaced once, in the
196
+ // same run, so the User is handed a fresh code instead of a dead end.
197
+ const replaceStale = async () => {
198
+ clearPendingPairing(deps.env);
199
+ if (!resumed)
200
+ return false;
201
+ const started = await startPairing();
202
+ if (typeof started === 'number')
203
+ return false;
204
+ active = started;
205
+ resumed = false;
206
+ expiresAt = Date.parse(active.expires_at);
207
+ intervalMs = Math.max(active.poll_interval_seconds, 1) * 1000;
208
+ await announce(active, false);
209
+ spinner?.message(approvalWaitMessage());
210
+ return true;
211
+ };
212
+ for (;;) {
81
213
  let poll;
82
214
  try {
83
- poll = await client.pollPairing(begin.pairing_id, pollVerifier);
215
+ poll = await client.pollPairing(active.pairing_id, active.poll_verifier);
84
216
  }
85
217
  catch (err) {
86
218
  if (err instanceof NetworkError) {
87
- spinner?.message(`Connection lost — retrying… code ${begin.code}`);
219
+ if (!interactive) {
220
+ // The handshake is intact; only this check could not be made.
221
+ deps.io.err(err.message);
222
+ deps.io.out(`Waiting for approval. Run \`${SETUP_COMMAND}\` again once it is approved.`);
223
+ onBlocked?.(pendingApprovalBlocker(active));
224
+ return EXIT.network;
225
+ }
226
+ spinner?.message(`Connection lost — retrying… code ${active.code}`);
227
+ await sleep(intervalMs);
88
228
  continue;
89
229
  }
230
+ if (err instanceof ApiCallError && err.code === 'pairing_not_found' && resumed) {
231
+ if (await replaceStale())
232
+ continue;
233
+ return EXIT.auth;
234
+ }
90
235
  spinner?.error('Pairing failed');
91
236
  return reportError(deps, err);
92
237
  }
93
238
  if (poll.status === 'approved' && poll.machine_id) {
94
- deps.store.save({ machineId: poll.machine_id, secret, baseUrl, machineName });
239
+ deps.store.save({ machineId: poll.machine_id, secret: active.secret, baseUrl, machineName: active.machine_name });
240
+ clearPendingPairing(deps.env);
95
241
  if (interactive) {
96
- spinner?.stop(`Machine "${machineName}" approved`);
242
+ spinner?.stop(`Machine "${active.machine_name}" approved`);
97
243
  await deps.io.outro?.(`Credential stored in ${deps.store.describe()}`);
98
244
  }
99
245
  else {
100
- deps.io.out(`Machine "${machineName}" approved. Credential stored in ${deps.store.describe()}.`);
246
+ deps.io.out(`Machine "${active.machine_name}" approved. Credential stored in ${deps.store.describe()}.`);
101
247
  }
102
248
  return EXIT.ok;
103
249
  }
104
250
  if (poll.status === 'denied') {
251
+ clearPendingPairing(deps.env);
105
252
  spinner?.error('Pairing denied');
106
253
  deps.io.err('Pairing was denied from the dashboard.');
254
+ onBlocked?.(pairingOutcomeBlocker('denied', 'you denied this computer in your browser'));
107
255
  return EXIT.auth;
108
256
  }
109
257
  // Proof-gated: the server never returns this from lookup. Stop now rather
110
258
  // than waiting out a TTL no approval can arrive within.
111
259
  if (poll.status === 'no_active_plan') {
260
+ clearPendingPairing(deps.env);
112
261
  // The server owns which access errand is current — requesting it today,
113
262
  // choosing a plan after cutover — so its line wins whenever it sends one.
114
- const next = poll.next_action ?? `Open ${setupAccessUrl(baseUrl)} to set up access, then retry.`;
115
- // Ends the wait, like its three siblings above and below; the wall
116
- // itself belongs to the line under it, which said the same sentence a
117
- // second time when this one tried to say it first.
263
+ const accessUrl = setupAccessUrl(baseUrl);
264
+ const next = poll.next_action ?? `Open ${accessUrl} to set up access, then retry.`;
118
265
  spinner?.error('Pairing stopped');
119
266
  // One wall, said once. When a caller takes the blocker it closes the
120
- // visit on this exact errand, so repeating the destination here — and
121
- // naming `init` as the way past a wall no command of theirs can open —
122
- // would leave the User three phrasings of one step to choose between.
267
+ // visit on this exact errand, so repeating the destination here would
268
+ // leave the User three phrasings of one step to choose between.
123
269
  if (onBlocked === undefined) {
124
270
  deps.io.err('This account has no active plan or temporary Alpha access.');
125
271
  deps.io.err(`next: ${next}`);
@@ -130,20 +276,37 @@ export async function loginCommand(deps, flags, onBlocked) {
130
276
  title: 'Access',
131
277
  status: 'gap',
132
278
  detail: 'this account does not have access to Notifai yet',
279
+ technical: { access_url: accessUrl, next_action: next },
133
280
  remedy: { by: 'user-elsewhere', summary: next },
134
281
  });
135
282
  return EXIT.auth;
136
283
  }
137
- if (poll.status === 'expired')
284
+ if (poll.status === 'expired') {
285
+ if (await replaceStale())
286
+ continue;
287
+ break;
288
+ }
289
+ // Still pending. Nobody at this terminal means nobody to wait for: hand
290
+ // the errand back and let the next run resume the same handshake.
291
+ if (!interactive) {
292
+ deps.io.out(`Waiting for approval. Run \`${SETUP_COMMAND}\` again once it is approved.`);
293
+ onBlocked?.(pendingApprovalBlocker(active));
294
+ return EXIT.auth;
295
+ }
296
+ if (now() >= expiresAt)
138
297
  break;
139
298
  spinner?.message(approvalWaitMessage());
299
+ await sleep(Math.min(intervalMs, Math.max(0, expiresAt - now())));
140
300
  }
301
+ clearPendingPairing(deps.env);
141
302
  spinner?.error('Pairing expired');
142
303
  deps.io.err(`Pairing expired before it was approved. Run \`${SETUP_COMMAND}\` again.`);
304
+ onBlocked?.(pairingOutcomeBlocker('expired', 'the approval expired before it was given'));
143
305
  return EXIT.auth;
144
306
  }
145
307
  export function logoutCommand(deps) {
146
308
  deps.store.clear();
309
+ clearPendingPairing(deps.env);
147
310
  deps.io.out('Machine credential removed. Revoke it in the dashboard too if the machine is untrusted.');
148
311
  return EXIT.ok;
149
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands-auth.js","sourceRoot":"","sources":["../src/commands-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-auth.js","sourceRoot":"","sources":["../src/commands-auth.ts"],"names":[],"mappings":"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"}