@raidiant/notifai 11.2.2 → 11.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +6 -3
- package/dist/commands-ask.js +2 -2
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-auth.d.ts +40 -0
- package/dist/commands-auth.js +219 -56
- package/dist/commands-auth.js.map +1 -1
- package/dist/commands-doctor.js +45 -19
- package/dist/commands-doctor.js.map +1 -1
- package/dist/commands-hook-run.js +38 -22
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-init.js +31 -31
- package/dist/commands-init.js.map +1 -1
- package/dist/commands-send.js +4 -4
- package/dist/commands-send.js.map +1 -1
- package/dist/commands-setup-proof.d.ts +16 -10
- package/dist/commands-setup-proof.js +23 -19
- package/dist/commands-setup-proof.js.map +1 -1
- package/dist/commands-update-check.js +2 -1
- package/dist/commands-update-check.js.map +1 -1
- package/dist/config-schema.js +3 -3
- package/dist/config-schema.js.map +1 -1
- package/dist/guidance-content.js +6 -0
- package/dist/guidance-content.js.map +1 -1
- package/dist/hook-acknowledgements.d.ts +3 -0
- package/dist/hook-acknowledgements.js +85 -6
- package/dist/hook-acknowledgements.js.map +1 -1
- package/dist/hook-lifecycle.js +71 -12
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-question-retirement.d.ts +2 -2
- package/dist/hook-question-state.js +1 -1
- package/dist/hook-question-state.js.map +1 -1
- package/dist/hook-session-state.js +2 -1
- package/dist/hook-session-state.js.map +1 -1
- package/dist/hook-types.d.ts +6 -0
- package/dist/install-hooks.js +1 -4
- package/dist/install-hooks.js.map +1 -1
- package/dist/pending-pairing.d.ts +37 -0
- package/dist/pending-pairing.js +68 -0
- package/dist/pending-pairing.js.map +1 -0
- package/dist/skill-source/manifest.json +4 -4
- package/dist/skill-source/notifai/SKILL.md +20 -23
- package/dist/skill-source/notifai/references/harness-setup.md +33 -9
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,39 @@ 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.1](https://github.com/Raidiant-io/notifai/compare/v11.3.0...v11.3.1) (2026-09-23)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **cli:** prove delivery once per machine and announce the machine ([#186](https://github.com/Raidiant-io/notifai/issues/186)) ([ea4166d](https://github.com/Raidiant-io/notifai/commit/ea4166d33ee0a4967914722400c44d043dfd57f7))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Dependencies
|
|
20
|
+
|
|
21
|
+
* The following workspace dependencies were updated
|
|
22
|
+
* dependencies
|
|
23
|
+
* @raidiant/notifai-protocol bumped from 8.0.1 to 8.0.2
|
|
24
|
+
|
|
25
|
+
## [11.3.0](https://github.com/Raidiant-io/notifai/compare/v11.2.2...v11.3.0) (2026-09-22)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **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))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* **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))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Dependencies
|
|
39
|
+
|
|
40
|
+
* The following workspace dependencies were updated
|
|
41
|
+
* dependencies
|
|
42
|
+
* @raidiant/notifai-protocol bumped from 8.0.0 to 8.0.1
|
|
43
|
+
|
|
11
44
|
## [11.2.2](https://github.com/Raidiant-io/notifai/compare/v11.2.1...v11.2.2) (2026-09-20)
|
|
12
45
|
|
|
13
46
|
|
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
|
|
73
|
-
|
|
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
|
|
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
|
|
package/dist/commands-ask.js
CHANGED
|
@@ -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(`
|
|
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}, ` : '';
|
package/dist/commands-ask.js.map
CHANGED
|
@@ -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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"}
|
package/dist/commands-auth.d.ts
CHANGED
|
@@ -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;
|
package/dist/commands-auth.js
CHANGED
|
@@ -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
|
|
27
|
-
const
|
|
28
|
-
const
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
42
|
-
}
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
62
|
-
deps.io.out(`Approve this machine at: ${approveUrl}`);
|
|
63
|
-
deps.io.out('Waiting for approval…');
|
|
182
|
+
active = pairing;
|
|
64
183
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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 ${
|
|
192
|
+
return `Waiting for approval… code ${active.code} · ${remaining} left`;
|
|
77
193
|
};
|
|
78
194
|
const spinner = interactive ? await deps.io.spinner?.(approvalWaitMessage()) : null;
|
|
79
|
-
|
|
80
|
-
|
|
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(
|
|
215
|
+
poll = await client.pollPairing(active.pairing_id, active.poll_verifier);
|
|
84
216
|
}
|
|
85
217
|
catch (err) {
|
|
86
218
|
if (err instanceof NetworkError) {
|
|
87
|
-
|
|
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 "${
|
|
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 "${
|
|
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
|
|
115
|
-
|
|
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
|
|
121
|
-
//
|
|
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":"AAAA,OAAO,EAA8B,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAsB,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,WAAW,GAEZ,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,kBAA0B;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,GAAG,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAiB,EACjB,KAA0D,EAC1D,SAA4B;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAmB,EAAE,CAAC,CAAA;IAC5H,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAA;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC1D,MAAM,kBAAkB,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAE9C,IAAI,KAAK,CAAA;IACT,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YAChC,YAAY,EAAE,WAAW;YACzB,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC;YAClC,kBAAkB,EAAE,SAAS,CAAC,YAAY,CAAC;YAC3C,iBAAiB,EAAE,SAAS,CAAC,kBAAkB,CAAC;SACjD,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;IAE5E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC5F,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,6EAA6E;YAC3E,8EAA8E,CACjF,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,KAAK,IAAI,CAAA;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAA;IACpF,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;QAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAErD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IACzH,MAAM,mBAAmB,GAAG,GAAW,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAA;QACjC,MAAM,SAAS,GACb,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAA;QACrF,OAAO,8BAA8B,KAAK,CAAC,IAAI,MAAM,SAAS,OAAO,CAAA;IACvE,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACnF,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,UAAU,CAAC,CAAA;QACvB,IAAI,IAAI,CAAA;QACR,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,oCAAoC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;gBAClE,SAAQ;YACV,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;YAChC,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;YAC7E,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY,WAAW,YAAY,CAAC,CAAA;gBAClD,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,WAAW,oCAAoC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAClG,CAAC;YACD,OAAO,IAAI,CAAC,EAAE,CAAA;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;YAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;YACrD,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACrC,wEAAwE;YACxE,0EAA0E;YAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,cAAc,CAAC,OAAO,CAAC,gCAAgC,CAAA;YAChG,mEAAmE;YACnE,sEAAsE;YACtE,mDAAmD;YACnD,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACjC,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;gBACzE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;gBAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,aAAa,WAAW,CAAC,CAAA;YACzE,CAAC;YACD,SAAS,EAAE,CAAC;gBACV,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,kDAAkD;gBAC1D,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;aAChD,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAK;QACpC,OAAO,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iDAAiD,aAAa,WAAW,CAAC,CAAA;IACtF,OAAO,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAiB;IAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAA;IACtG,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAiB,EAAE,KAAyB;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACpC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,UAAU;YACR,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,UAAU,CAAC,SAAS;gBAChC,YAAY,EAAE,UAAU,CAAC,WAAW;gBACpC,QAAQ,EAAE,UAAU,CAAC,OAAO;gBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;aAC7B;YACH,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EACxB,IAAI,EACJ,CAAC,CACF,CACF,CAAA;QACD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACzC,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,aAAa,wDAAwD,CAAC,CAAA;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,UAAU,CAAC,WAAW,MAAM,UAAU,CAAC,SAAS,GAAG,CAAC,CAAA;IACzF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzD,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAiB,EACjB,KAAyB;IAEzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAA0B,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;QACxE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAChE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;YACzF,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands-auth.js","sourceRoot":"","sources":["../src/commands-auth.ts"],"names":[],"mappings":"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"}
|