@ai21/gateway 1.2.0 → 1.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.
- package/dist/cli.js +20 -1
- package/dist/cli.js.map +1 -1
- package/dist/login/session.d.ts +12 -0
- package/dist/login/session.js +23 -5
- package/dist/login/session.js.map +1 -1
- package/dist/prompt.d.ts +5 -7
- package/dist/prompt.js +23 -1
- package/dist/prompt.js.map +1 -1
- package/dist/report.d.ts +2 -0
- package/dist/report.js +46 -17
- package/dist/report.js.map +1 -1
- package/dist/router.d.ts +3 -0
- package/dist/router.js +47 -9
- package/dist/router.js.map +1 -1
- package/dist/status.d.ts +31 -0
- package/dist/status.js +107 -0
- package/dist/status.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -12,8 +12,12 @@ import { nodeBrowserDeps, openBrowser } from "./login/browser.js";
|
|
|
12
12
|
import { selectSecretStore } from "./login/keychain/select.js";
|
|
13
13
|
import { runCredentialCommand } from "./login/keychain/runner.js";
|
|
14
14
|
import { startLoopback } from "./login/loopback.js";
|
|
15
|
+
import { createStatusLine, isInteractive } from "./status.js";
|
|
16
|
+
import { waitForEnter } from "./prompt.js";
|
|
15
17
|
import { FLUSH_CAP_MS, nodeTelemetry } from "./telemetry/telemetry.js";
|
|
16
18
|
export { EXIT } from "./result.js";
|
|
19
|
+
/** 128 + SIGINT: what a shell reports for Ctrl-C, so scripts see the usual code. */
|
|
20
|
+
const EXIT_INTERRUPTED = 130;
|
|
17
21
|
export const USAGE = `ai21-gateway — point a local coding agent at the AI21 Intelligent Gateway
|
|
18
22
|
|
|
19
23
|
Usage:
|
|
@@ -126,12 +130,21 @@ export async function run(argv) {
|
|
|
126
130
|
case "error":
|
|
127
131
|
return { code: EXIT.USAGE, out: "", err: `${outcome.message}\n\n${USAGE}\n` };
|
|
128
132
|
case "args": {
|
|
133
|
+
// `--json` keeps stderr to plain lines too: a consumer may be capturing both streams.
|
|
134
|
+
const status = createStatusLine(process.stderr, !outcome.args.json && isInteractive(process.stderr, process.env));
|
|
129
135
|
// One stream for login's progress and credential-file warnings, so neither is missed.
|
|
130
|
-
|
|
136
|
+
// Routed through the status line so a message never lands in the middle of the spinner.
|
|
137
|
+
const notify = (message) => status.log(message);
|
|
131
138
|
// Everything the CLI needs from the outside world is gathered here, at the
|
|
132
139
|
// edge, so every layer below stays pure and testable against a temp
|
|
133
140
|
// directory and a pair of fake streams.
|
|
134
141
|
const telemetry = nodeTelemetry(outcome.args.urls.gateway, versionForTelemetry(), fetch);
|
|
142
|
+
// Ctrl-C would otherwise leave a half-drawn spinner on the prompt line.
|
|
143
|
+
const interrupt = () => {
|
|
144
|
+
status.stop();
|
|
145
|
+
process.exit(EXIT_INTERRUPTED);
|
|
146
|
+
};
|
|
147
|
+
process.once("SIGINT", interrupt);
|
|
135
148
|
const result = await dispatch(outcome.args, {
|
|
136
149
|
paths: { cwd: process.cwd(), home: homedir() },
|
|
137
150
|
prompt: { input: process.stdin, output: process.stderr },
|
|
@@ -141,6 +154,7 @@ export async function run(argv) {
|
|
|
141
154
|
login: {
|
|
142
155
|
startListener: startLoopback,
|
|
143
156
|
openBrowser: (url) => openBrowser(url, nodeBrowserDeps()),
|
|
157
|
+
waitForEnter: () => waitForEnter(process.stdin),
|
|
144
158
|
fetchImpl: fetch,
|
|
145
159
|
secrets: selectSecretStore({
|
|
146
160
|
paths: { home: homedir(), warn: notify },
|
|
@@ -153,7 +167,12 @@ export async function run(argv) {
|
|
|
153
167
|
// stderr, so `--json` on stdout stays a single parseable object even while
|
|
154
168
|
// login narrates its progress.
|
|
155
169
|
notify,
|
|
170
|
+
status,
|
|
156
171
|
telemetry,
|
|
172
|
+
}).finally(() => {
|
|
173
|
+
// Cleared before the caller writes the result, and on a throw, so no frame survives.
|
|
174
|
+
status.stop();
|
|
175
|
+
process.off("SIGINT", interrupt);
|
|
157
176
|
});
|
|
158
177
|
// The caller exits right after this returns, which would cut off a send in flight.
|
|
159
178
|
await telemetry.flush(FLUSH_CAP_MS);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/login/session.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ import type { SecretStore } from "./secretStore.js";
|
|
|
6
6
|
export interface LoginDeps {
|
|
7
7
|
readonly startListener: (options: LoopbackOptions) => Promise<Listener>;
|
|
8
8
|
readonly openBrowser: (url: string) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Holds the flow until the user presses Enter; false if input ended instead. Absent,
|
|
11
|
+
* the browser opens straight away, which is what tests and non-interactive callers get.
|
|
12
|
+
*/
|
|
13
|
+
readonly waitForEnter?: () => Promise<boolean>;
|
|
9
14
|
/** For the token exchange and workspace listing; injected so tests make no calls. */
|
|
10
15
|
readonly fetchImpl: FetchLike;
|
|
11
16
|
/** Where the refresh token and the minted key are kept; injected so tests use neither. */
|
|
@@ -26,7 +31,14 @@ export type LoginOutcome = {
|
|
|
26
31
|
export interface LoginProgress {
|
|
27
32
|
/** The caller decides which stream this lands on. */
|
|
28
33
|
readonly notify: (message: string) => void;
|
|
34
|
+
/** Called once the browser has been sent to the sign-in page and the wait begins. */
|
|
35
|
+
readonly waiting?: () => void;
|
|
29
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* The code framed so the eye lands on it: it is the whole defence against another
|
|
39
|
+
* process asking to sign in, and in running prose it was easy to skim past.
|
|
40
|
+
*/
|
|
41
|
+
export declare function codeBox(code: string): string;
|
|
30
42
|
/**
|
|
31
43
|
* The consent screen's URL.
|
|
32
44
|
*
|
package/dist/login/session.js
CHANGED
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
import { randomInt } from "node:crypto";
|
|
7
7
|
import { CLIENT_ID, CLIENT_PARAM, CLI_LOGIN_PATH, CODE_PARAM, EXPIRES_PARAM, REDIRECT_PARAM, STATE_PARAM, verificationCode, } from "./contract.js";
|
|
8
8
|
import { LOGIN_TIMEOUT_MS } from "./loopback.js";
|
|
9
|
+
/**
|
|
10
|
+
* The code framed so the eye lands on it: it is the whole defence against another
|
|
11
|
+
* process asking to sign in, and in running prose it was easy to skim past.
|
|
12
|
+
*/
|
|
13
|
+
export function codeBox(code) {
|
|
14
|
+
const inner = ` verification code: ${code} `;
|
|
15
|
+
const rule = "─".repeat([...inner].length);
|
|
16
|
+
return ` ╭${rule}╮\n │${inner}│\n ╰${rule}╯`;
|
|
17
|
+
}
|
|
9
18
|
/**
|
|
10
19
|
* The consent screen's URL.
|
|
11
20
|
*
|
|
@@ -25,7 +34,18 @@ export function loginUrl(urls, callbackUrl, state, code, expiresAtSeconds) {
|
|
|
25
34
|
}
|
|
26
35
|
export async function runLogin(urls, deps, io) {
|
|
27
36
|
const code = verificationCode((max) => randomInt(max));
|
|
28
|
-
|
|
37
|
+
/* The code comes first and the browser only on Enter, so it is read before the browser
|
|
38
|
+
* takes focus. The listener starts after that too: its clock must not run while the
|
|
39
|
+
* user is still reading. */
|
|
40
|
+
io.notify(`Sign in to AI21 to continue.\n\n${codeBox(code)}\n\n` +
|
|
41
|
+
`The sign-in page will show this code. If it shows anything else, choose Deny —\n` +
|
|
42
|
+
`something other than this terminal is asking to sign in.`);
|
|
43
|
+
if (deps.waitForEnter !== undefined) {
|
|
44
|
+
io.notify(`\nPress Enter to open ${new URL(urls.app).host} in your browser…`);
|
|
45
|
+
if (!(await deps.waitForEnter()))
|
|
46
|
+
return { kind: "declined", reason: "it was cancelled in the terminal" };
|
|
47
|
+
}
|
|
48
|
+
// Stamped here, so the page gives up a moment before the listener, not after.
|
|
29
49
|
const expiresAtSeconds = Math.floor((Date.now() + LOGIN_TIMEOUT_MS) / 1000);
|
|
30
50
|
let listener;
|
|
31
51
|
try {
|
|
@@ -40,10 +60,8 @@ export async function runLogin(urls, deps, io) {
|
|
|
40
60
|
/* Printed as well as opened: `openBrowser` cannot tell us a browser appeared, and over
|
|
41
61
|
* SSH the URL is the only way in. */
|
|
42
62
|
deps.openBrowser(listener.signInUrl);
|
|
43
|
-
io.notify(
|
|
44
|
-
|
|
45
|
-
`The page will show this code. If it shows anything else, choose Deny — something\n` +
|
|
46
|
-
`other than this terminal is asking to sign in.\n\nWaiting…`);
|
|
63
|
+
io.notify(`\nIf the browser did not open, visit:\n\n ${listener.signInUrl}`);
|
|
64
|
+
io.waiting?.();
|
|
47
65
|
return settle(await listener.result);
|
|
48
66
|
}
|
|
49
67
|
function settle(outcome) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/login/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EAEd,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAA6D,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/login/session.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt.d.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The terminal the CLI was run from.
|
|
3
|
-
*
|
|
4
|
-
* All that is left of the key prompt: pasting a key is error-prone, so the only ways in
|
|
5
|
-
* are `--key` and signing in through the browser. What survives is the tty check, which
|
|
6
|
-
* decides whether a sign-in can be offered at all.
|
|
7
|
-
*/
|
|
8
1
|
import type { Readable, Writable } from "node:stream";
|
|
9
2
|
export interface PromptIo {
|
|
10
3
|
readonly input: Readable & {
|
|
@@ -15,3 +8,8 @@ export interface PromptIo {
|
|
|
15
8
|
/** Overrides the stream's own flag; tests drive a pipe as though it were a tty. */
|
|
16
9
|
readonly isTTY?: boolean;
|
|
17
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Resolves true on the next Enter, false if the input ends first (Ctrl-D, a closed pipe).
|
|
13
|
+
* The interface is closed either way, so stdin does not keep the process alive.
|
|
14
|
+
*/
|
|
15
|
+
export declare function waitForEnter(input: Readable): Promise<boolean>;
|
package/dist/prompt.js
CHANGED
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The terminal the CLI was run from.
|
|
3
|
+
*
|
|
4
|
+
* All that is left of the key prompt: pasting a key is error-prone, so the only ways in
|
|
5
|
+
* are `--key` and signing in through the browser. What survives is the tty check, which
|
|
6
|
+
* decides whether a sign-in can be offered at all, and the Enter that opens the browser.
|
|
7
|
+
*/
|
|
8
|
+
import { createInterface } from "node:readline";
|
|
9
|
+
/**
|
|
10
|
+
* Resolves true on the next Enter, false if the input ends first (Ctrl-D, a closed pipe).
|
|
11
|
+
* The interface is closed either way, so stdin does not keep the process alive.
|
|
12
|
+
*/
|
|
13
|
+
export function waitForEnter(input) {
|
|
14
|
+
return new Promise((resolve) => {
|
|
15
|
+
const rl = createInterface({ input });
|
|
16
|
+
let answered = false;
|
|
17
|
+
rl.once("line", () => {
|
|
18
|
+
answered = true;
|
|
19
|
+
rl.close();
|
|
20
|
+
});
|
|
21
|
+
rl.once("close", () => resolve(answered));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
2
24
|
//# sourceMappingURL=prompt.js.map
|
package/dist/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUhD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAe;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,QAAQ,GAAG,IAAI,CAAC;YAChB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/report.d.ts
CHANGED
|
@@ -80,5 +80,7 @@ export interface NoCredentialInput {
|
|
|
80
80
|
* gateway can never answer, so a config left in place only breaks Claude Code.
|
|
81
81
|
*/
|
|
82
82
|
export declare function reportNoClaudeCredential(input: NoCredentialInput): RunResult;
|
|
83
|
+
/** `login`'s success: who is signed in, and the workspace any key was minted in. */
|
|
84
|
+
export declare function reportSignedIn(email: string, workspace: string, streams?: ColorTargets): RunResult;
|
|
83
85
|
/** Refused before anything else runs: without `claude` there is nothing to configure. */
|
|
84
86
|
export declare function reportNoClaudeCli(json: boolean, streams?: ColorTargets): RunResult;
|
package/dist/report.js
CHANGED
|
@@ -57,6 +57,17 @@ function painterFor(target) {
|
|
|
57
57
|
return PLAIN;
|
|
58
58
|
return (format, text) => styleText(format, text, { validateStream: false });
|
|
59
59
|
}
|
|
60
|
+
const MARK = { green: "✔", red: "✖", yellow: "⚠" };
|
|
61
|
+
/**
|
|
62
|
+
* A result line in its tone, led by a symbol so pass and fail read apart at a glance.
|
|
63
|
+
* The symbol rides with colour: plain output stays byte-identical, which is the
|
|
64
|
+
* contract every existing output assertion and log scraper relies on.
|
|
65
|
+
*/
|
|
66
|
+
function headline(paint, tone, text) {
|
|
67
|
+
if (paint === PLAIN)
|
|
68
|
+
return text;
|
|
69
|
+
return `${paint(tone, MARK[tone])} ${paint(tone, text)}`;
|
|
70
|
+
}
|
|
60
71
|
/**
|
|
61
72
|
* The sentence a refusal exists to deliver: it answers the only question a refusal
|
|
62
73
|
* raises — what happened to my file? — so it is painted like a `warning:` label
|
|
@@ -70,19 +81,20 @@ const NOTHING_WRITTEN = "Nothing was written.";
|
|
|
70
81
|
export function nothingWasWritten(streams = PROCESS_STREAMS) {
|
|
71
82
|
return painterFor(streams.err)("yellow", NOTHING_WRITTEN);
|
|
72
83
|
}
|
|
73
|
-
function revertLine(outcome) {
|
|
84
|
+
function revertLine(outcome, paint) {
|
|
85
|
+
const path = paint("bold", outcome.path);
|
|
74
86
|
switch (outcome.kind) {
|
|
75
87
|
case "reverted": {
|
|
76
88
|
const parts = [
|
|
77
89
|
outcome.restored.length > 0 ? `restored ${outcome.restored.join(", ")} to previous values` : undefined,
|
|
78
90
|
outcome.removed.length > 0 ? `removed ${outcome.removed.join(", ")}` : undefined,
|
|
79
91
|
].filter((part) => part !== undefined);
|
|
80
|
-
return `Reverted ${
|
|
92
|
+
return `Reverted ${path} — ${parts.join("; ")}`;
|
|
81
93
|
}
|
|
82
94
|
case "restored":
|
|
83
|
-
return `Restored ${
|
|
95
|
+
return `Restored ${path} from ${outcome.backup}`;
|
|
84
96
|
case "not-configured":
|
|
85
|
-
return `Nothing to revert — ${
|
|
97
|
+
return `Nothing to revert — ${path} does not carry this tool's settings.`;
|
|
86
98
|
case "agent-mismatch":
|
|
87
99
|
return `${outcome.path} is configured for agent '${outcome.actual}', not '${outcome.expected}'.`;
|
|
88
100
|
case "drifted":
|
|
@@ -129,9 +141,9 @@ export function reportRevert(outcome, json, streams = PROCESS_STREAMS) {
|
|
|
129
141
|
const ok = code === EXIT.OK;
|
|
130
142
|
// Colour tracks the exit code, with one exception: `not-configured` is a state,
|
|
131
143
|
// not a refusal, and painting "nothing to revert" red reads like a crash.
|
|
132
|
-
const
|
|
144
|
+
const tone = outcome.kind === "not-configured" ? "yellow" : ok ? "green" : "red";
|
|
133
145
|
const paint = painterFor(ok ? streams.out : streams.err);
|
|
134
|
-
const body = `${paint
|
|
146
|
+
const body = `${headline(paint, tone, revertLine(outcome, paint))}\n${revertDetail(outcome, paint)}`;
|
|
135
147
|
return ok ? { code, out: body, err: "" } : { code, out: "", err: body };
|
|
136
148
|
}
|
|
137
149
|
/**
|
|
@@ -176,14 +188,15 @@ export function collectWarnings(ctx) {
|
|
|
176
188
|
return warnings;
|
|
177
189
|
}
|
|
178
190
|
/** Human-readable line for a config outcome. Never includes the key. */
|
|
179
|
-
function humanLine(outcome) {
|
|
191
|
+
function humanLine(outcome, paint) {
|
|
192
|
+
const path = paint("bold", outcome.path);
|
|
180
193
|
switch (outcome.kind) {
|
|
181
194
|
case "created":
|
|
182
|
-
return `Wrote ${
|
|
195
|
+
return `Wrote ${path}`;
|
|
183
196
|
case "updated":
|
|
184
|
-
return `Updated ${
|
|
197
|
+
return `Updated ${path} (${outcome.changed.join(", ")})`;
|
|
185
198
|
case "unchanged":
|
|
186
|
-
return `Already configured — ${
|
|
199
|
+
return `Already configured — ${path} is up to date.`;
|
|
187
200
|
case "conflict":
|
|
188
201
|
return `${outcome.path} already sets values this command would change.`;
|
|
189
202
|
case "malformed":
|
|
@@ -228,10 +241,16 @@ function precheckWarning(outcome) {
|
|
|
228
241
|
};
|
|
229
242
|
}
|
|
230
243
|
/** The stdout line for a successful verification; nothing for any other outcome. */
|
|
231
|
-
function verificationLine(outcome) {
|
|
244
|
+
function verificationLine(outcome, paint) {
|
|
232
245
|
if (outcome?.kind !== "passed")
|
|
233
246
|
return "";
|
|
234
|
-
return `Verified through the gateway with ${VERIFIED_VIA[outcome.via]}
|
|
247
|
+
return `${headline(paint, "green", `Verified through the gateway with ${VERIFIED_VIA[outcome.via]}.`)}\n`;
|
|
248
|
+
}
|
|
249
|
+
/** An aside under the headline, dimmed so the headline stays the thing read first. */
|
|
250
|
+
function backupLine(outcome, paint) {
|
|
251
|
+
if (outcome.kind !== "updated")
|
|
252
|
+
return "";
|
|
253
|
+
return `${paint("dim", `Backed up the previous file to ${outcome.backup}`)}\n`;
|
|
235
254
|
}
|
|
236
255
|
/**
|
|
237
256
|
* One JSON object with what happened, where, why it exited that way, and any
|
|
@@ -290,9 +309,10 @@ export function report(input) {
|
|
|
290
309
|
const paintWarning = painterFor(streams.err);
|
|
291
310
|
// Only the label is coloured: the message is prose, and a paragraph of yellow is
|
|
292
311
|
// harder to read than the plain one it replaced.
|
|
293
|
-
const warningText = warnings.map((w) => `${paintWarning
|
|
294
|
-
const line = paintBody
|
|
295
|
-
const body = `${line}\n${
|
|
312
|
+
const warningText = warnings.map((w) => `${headline(paintWarning, "yellow", "warning:")} ${w.message}\n`).join("");
|
|
313
|
+
const line = headline(paintBody, ok ? "green" : "red", humanLine(input.outcome, paintBody));
|
|
314
|
+
const body = `${line}\n${backupLine(input.outcome, paintBody)}` +
|
|
315
|
+
`${verificationLine(input.verification, paintBody)}${input.detail ?? ""}`;
|
|
296
316
|
return ok ? { code, out: body, err: warningText } : { code, out: "", err: `${body}${warningText}` };
|
|
297
317
|
}
|
|
298
318
|
/** Stable `--json` reasons, spelled for a funnel rather than for a person. */
|
|
@@ -340,11 +360,20 @@ export function reportNoClaudeCredential(input) {
|
|
|
340
360
|
return { code, out: `${JSON.stringify(payload, null, 2)}\n`, err: "" };
|
|
341
361
|
}
|
|
342
362
|
const streams = input.streams ?? PROCESS_STREAMS;
|
|
343
|
-
const
|
|
363
|
+
const title = headline(painterFor(streams.err), "red", NO_CREDENTIAL_HEADLINE[input.reason]);
|
|
344
364
|
return {
|
|
345
365
|
code,
|
|
346
366
|
out: "",
|
|
347
|
-
err: `${
|
|
367
|
+
err: `${title} ${NO_CREDENTIAL_NEXT_STEP[input.reason]}\n${noCredentialStateLine(input, streams)}\n`,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
/** `login`'s success: who is signed in, and the workspace any key was minted in. */
|
|
371
|
+
export function reportSignedIn(email, workspace, streams = PROCESS_STREAMS) {
|
|
372
|
+
const paint = painterFor(streams.out);
|
|
373
|
+
return {
|
|
374
|
+
code: EXIT.OK,
|
|
375
|
+
out: `${headline(paint, "green", `Signed in as ${paint("bold", email)}.`)}\n workspace: ${paint("bold", workspace)}\n`,
|
|
376
|
+
err: "",
|
|
348
377
|
};
|
|
349
378
|
}
|
|
350
379
|
/** Stable `--json` reason; kept apart from `no_claude_subscription` so a funnel can split them. */
|
package/dist/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
package/dist/router.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { type LoginDeps } from "./login/session.js";
|
|
|
10
10
|
import { type RunResult } from "./result.js";
|
|
11
11
|
import { type Telemetry } from "./telemetry/telemetry.js";
|
|
12
12
|
import { type VerifyDeps } from "./verify.js";
|
|
13
|
+
import { type StatusLine } from "./status.js";
|
|
13
14
|
/** Everything the dispatcher needs from the outside world, injected at the edge. */
|
|
14
15
|
export interface RunContext {
|
|
15
16
|
readonly paths: PathContext;
|
|
@@ -20,6 +21,8 @@ export interface RunContext {
|
|
|
20
21
|
readonly login: LoginDeps;
|
|
21
22
|
/** Progress output while `login` waits. Streams, so it cannot go in RunResult. */
|
|
22
23
|
readonly notify: (message: string) => void;
|
|
24
|
+
/** The redrawn "what is happening now" line. Absent means nothing is drawn. */
|
|
25
|
+
readonly status?: StatusLine | undefined;
|
|
23
26
|
/** Onboarding events. Never blocks or fails a command. */
|
|
24
27
|
readonly telemetry: Telemetry;
|
|
25
28
|
}
|
package/dist/router.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { DEFAULT_URLS, containsControlCharacters } from "./args.js";
|
|
6
6
|
import { resolvePaths, shadowingLocalConfig, writeConfig, } from "./config.js";
|
|
7
7
|
import { precheckKey } from "./precheck.js";
|
|
8
|
-
import { EXIT_FOR, collectWarnings, nothingWasWritten, report, reportNoClaudeCli, reportNoClaudeCredential, reportRevert, } from "./report.js";
|
|
8
|
+
import { EXIT_FOR, collectWarnings, nothingWasWritten, report, reportNoClaudeCli, reportNoClaudeCredential, reportRevert, reportSignedIn, } from "./report.js";
|
|
9
9
|
import { revertConfig } from "./revert.js";
|
|
10
10
|
import { keyName, mintApiKey } from "./login/apiKeys.js";
|
|
11
11
|
import { load as loadCredential, save as saveCredential } from "./login/credentials.js";
|
|
@@ -17,6 +17,7 @@ import { AI21_KEY_PLACEHOLDER, ccSettings, ccSettingsEnv } from "./snippets.js";
|
|
|
17
17
|
import { readVersion } from "./cli.js";
|
|
18
18
|
import { restoreConfig, snapshotConfig } from "./snapshot.js";
|
|
19
19
|
import { CLAUDE_COMMAND, checkClaudeLogin, findOnPath, resolveAnthropicKey, verify, } from "./verify.js";
|
|
20
|
+
import { NO_STATUS } from "./status.js";
|
|
20
21
|
/* Identifies traffic this tool configured, so the gateway can tell a CLI-configured
|
|
21
22
|
* agent from a hand-pasted one without the CLI reporting anything.
|
|
22
23
|
*
|
|
@@ -113,6 +114,22 @@ function detailFor(outcome) {
|
|
|
113
114
|
function verifyCwd(args, ctx) {
|
|
114
115
|
return args.target === "user" ? ctx.paths.home : ctx.paths.cwd;
|
|
115
116
|
}
|
|
117
|
+
/** Says what is happening now. The line is overwritten by the next step and cleared before the result. */
|
|
118
|
+
function step(ctx, text) {
|
|
119
|
+
(ctx.status ?? NO_STATUS).update(text);
|
|
120
|
+
}
|
|
121
|
+
/** Keeps a step that definitely succeeded in the scrollback as a dim ✔ line. */
|
|
122
|
+
function finished(ctx, text) {
|
|
123
|
+
(ctx.status ?? NO_STATUS).done(text);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The browser handed the credential back. Said at once, with the bell, since the user's
|
|
127
|
+
* attention is in the browser and a terminal in the background shows the bell as a badge.
|
|
128
|
+
*/
|
|
129
|
+
function approvedInBrowser(ctx) {
|
|
130
|
+
finished(ctx, "Approved in the browser");
|
|
131
|
+
(ctx.status ?? NO_STATUS).bell();
|
|
132
|
+
}
|
|
116
133
|
/**
|
|
117
134
|
* Verification runs only once the config is actually on disk — there is nothing to
|
|
118
135
|
* verify after a refusal, and a request fired anyway would report on whatever
|
|
@@ -123,6 +140,7 @@ async function verifyWrite(args, ctx, outcome, inputs) {
|
|
|
123
140
|
return undefined;
|
|
124
141
|
if (args.noVerify)
|
|
125
142
|
return { kind: "disabled" };
|
|
143
|
+
step(ctx, "Verifying through the gateway…");
|
|
126
144
|
return verify({
|
|
127
145
|
urls: args.urls,
|
|
128
146
|
agentId: inputs.agentId,
|
|
@@ -148,7 +166,12 @@ async function verifyWrite(args, ctx, outcome, inputs) {
|
|
|
148
166
|
*/
|
|
149
167
|
async function writeAndReport(args, ctx, inputs, precheck) {
|
|
150
168
|
const paths = resolvePaths(args.target, ctx.paths, args.client);
|
|
151
|
-
if (!args.noVerify
|
|
169
|
+
if (!args.noVerify)
|
|
170
|
+
step(ctx, "Checking your Claude login…");
|
|
171
|
+
const claudeLogin = args.noVerify ? undefined : await checkClaudeLogin(verifyCwd(args, ctx), ctx.verify);
|
|
172
|
+
if (claudeLogin === "logged-in")
|
|
173
|
+
finished(ctx, "Claude login found");
|
|
174
|
+
if (claudeLogin === "logged-out") {
|
|
152
175
|
const result = reportNoClaudeCredential({
|
|
153
176
|
path: paths.settings,
|
|
154
177
|
reason: "logged-out",
|
|
@@ -284,7 +307,7 @@ async function resolveKeyForInstall(args, ctx) {
|
|
|
284
307
|
err: "--key is required when stdin is not a terminal. Pass --key <key>.\n",
|
|
285
308
|
});
|
|
286
309
|
}
|
|
287
|
-
const outcome = await runLogin(args.urls, ctx.login,
|
|
310
|
+
const outcome = await runLogin(args.urls, ctx.login, loginProgress(ctx));
|
|
288
311
|
switch (outcome.kind) {
|
|
289
312
|
case "timeout":
|
|
290
313
|
return refuse("login", "sign-in timed out", {
|
|
@@ -305,6 +328,7 @@ async function resolveKeyForInstall(args, ctx) {
|
|
|
305
328
|
err: `Sign-in could not start: ${outcome.reason}.\n`,
|
|
306
329
|
});
|
|
307
330
|
case "credential": {
|
|
331
|
+
approvedInBrowser(ctx);
|
|
308
332
|
const session = await storeSession(args, ctx, outcome.credential);
|
|
309
333
|
// Its own message already says what failed and that nothing was written.
|
|
310
334
|
if (session.code !== EXIT.OK)
|
|
@@ -383,14 +407,17 @@ async function installSteps(args, ctx) {
|
|
|
383
407
|
});
|
|
384
408
|
}
|
|
385
409
|
let key = resolved.key;
|
|
410
|
+
step(ctx, "Checking the AI21 key and agent…");
|
|
386
411
|
let outcome = await precheckKey({ agentsUrl: args.urls.agents, agentId: args.agentId ?? "", ai21Key: key }, ctx.precheck);
|
|
387
412
|
// A stored key sees only its own workspace's agents; mint one where this agent lives.
|
|
388
413
|
if (outcome.kind === "unknown-agent" && args.key === undefined) {
|
|
414
|
+
step(ctx, "Finding the workspace this agent belongs to…");
|
|
389
415
|
const moved = await rehomeStoredSession(args, ctx);
|
|
390
416
|
if (moved !== undefined) {
|
|
391
417
|
if (!("key" in moved))
|
|
392
418
|
return refuse("keyCheck", "stored session could not be moved to the agent's workspace", moved);
|
|
393
419
|
key = moved.key;
|
|
420
|
+
step(ctx, "Checking the AI21 key and agent…");
|
|
394
421
|
outcome = await precheckKey({ agentsUrl: args.urls.agents, agentId: args.agentId ?? "", ai21Key: key }, ctx.precheck);
|
|
395
422
|
}
|
|
396
423
|
}
|
|
@@ -404,6 +431,8 @@ async function installSteps(args, ctx) {
|
|
|
404
431
|
if (outcome.kind === "rejected") {
|
|
405
432
|
return refuse("keyCheck", "key rejected", { code: EXIT.USAGE, out: "", err: rejectedKeyMessage(args) }, outcome.status);
|
|
406
433
|
}
|
|
434
|
+
if (outcome.kind === "accepted")
|
|
435
|
+
finished(ctx, `AI21 key accepted for agent ${args.agentId ?? ""}`);
|
|
407
436
|
const { result, failure } = await writeAndReport(args, ctx, { ...snippetInputs(args), ai21Key: key }, outcome);
|
|
408
437
|
return failure === undefined ? result : { ...result, failure };
|
|
409
438
|
}
|
|
@@ -445,7 +474,7 @@ async function login(args, ctx) {
|
|
|
445
474
|
err: "`login` needs an interactive terminal. In CI, pass --key with an AI21 API key instead.\n",
|
|
446
475
|
};
|
|
447
476
|
}
|
|
448
|
-
const outcome = await runLogin(args.urls, ctx.login,
|
|
477
|
+
const outcome = await runLogin(args.urls, ctx.login, loginProgress(ctx));
|
|
449
478
|
switch (outcome.kind) {
|
|
450
479
|
case "timeout":
|
|
451
480
|
return {
|
|
@@ -462,6 +491,7 @@ async function login(args, ctx) {
|
|
|
462
491
|
case "failed":
|
|
463
492
|
return { code: EXIT.INTERNAL, out: "", err: `Login could not start: ${outcome.reason}.\n` };
|
|
464
493
|
case "credential":
|
|
494
|
+
approvedInBrowser(ctx);
|
|
465
495
|
return storeSession(args, ctx, outcome.credential);
|
|
466
496
|
}
|
|
467
497
|
}
|
|
@@ -472,6 +502,7 @@ async function login(args, ctx) {
|
|
|
472
502
|
* exchange ended with.
|
|
473
503
|
*/
|
|
474
504
|
async function storeSession(args, ctx, credential) {
|
|
505
|
+
step(ctx, "Finishing sign-in…");
|
|
475
506
|
let exchanged;
|
|
476
507
|
try {
|
|
477
508
|
exchanged = await exchangeRefreshToken(credential.refreshToken, credential.firebaseApiKey, ctx.login.fetchImpl);
|
|
@@ -489,6 +520,7 @@ async function storeSession(args, ctx, credential) {
|
|
|
489
520
|
: String(err)}\nNothing was stored. Try signing in again.\n`,
|
|
490
521
|
};
|
|
491
522
|
}
|
|
523
|
+
step(ctx, "Loading your workspaces…");
|
|
492
524
|
const available = await fetchWorkspaces(args.urls.gateway, exchanged.idToken, ctx.login.fetchImpl);
|
|
493
525
|
// `install --agent-id` needs the key where that agent lives; `--workspace` still wins.
|
|
494
526
|
const agentHome = args.workspaceId === undefined && args.agentId !== undefined
|
|
@@ -509,6 +541,7 @@ async function storeSession(args, ctx, credential) {
|
|
|
509
541
|
const existing = await storedKeyFor(args, ctx, credential.userId, chosen.id);
|
|
510
542
|
let ai21Key = existing;
|
|
511
543
|
if (ai21Key === undefined) {
|
|
544
|
+
step(ctx, `Creating an AI21 API key in ${chosen.name}…`);
|
|
512
545
|
const minted = await mintApiKey(args.urls.gateway, exchanged.idToken, chosen.id, keyName(), ctx.login.fetchImpl);
|
|
513
546
|
if (minted.kind === "failed") {
|
|
514
547
|
const stored = await persist(args, ctx, credential, exchanged.refreshToken, chosen.id, undefined);
|
|
@@ -521,15 +554,13 @@ async function storeSession(args, ctx, credential) {
|
|
|
521
554
|
};
|
|
522
555
|
}
|
|
523
556
|
ai21Key = minted.value;
|
|
557
|
+
finished(ctx, `Created an AI21 API key in ${chosen.name}`);
|
|
524
558
|
}
|
|
559
|
+
step(ctx, "Saving your session…");
|
|
525
560
|
const stored = await persist(args, ctx, credential, exchanged.refreshToken, chosen.id, ai21Key);
|
|
526
561
|
if (stored !== undefined)
|
|
527
562
|
return stored;
|
|
528
|
-
return
|
|
529
|
-
code: EXIT.OK,
|
|
530
|
-
out: `Signed in as ${credential.userEmail}.\n workspace: ${chosen.name}\n`,
|
|
531
|
-
err: "",
|
|
532
|
-
};
|
|
563
|
+
return reportSignedIn(credential.userEmail, chosen.name);
|
|
533
564
|
}
|
|
534
565
|
/**
|
|
535
566
|
* The stored key for this gateway, but only if the same user minted it in the same
|
|
@@ -587,6 +618,13 @@ function noWorkspaceMessage(args, available) {
|
|
|
587
618
|
`Yours: ${available.map((workspace) => workspace.id).join(", ")}\n` +
|
|
588
619
|
"No API key was created.\n");
|
|
589
620
|
}
|
|
621
|
+
/** The sign-in instructions stay in scrollback; the wait after them is a status step. */
|
|
622
|
+
function loginProgress(ctx) {
|
|
623
|
+
return {
|
|
624
|
+
notify: ctx.notify,
|
|
625
|
+
waiting: () => step(ctx, "Waiting for you to approve the sign-in in the browser…"),
|
|
626
|
+
};
|
|
627
|
+
}
|
|
590
628
|
function credentialPaths(ctx) {
|
|
591
629
|
return { home: ctx.paths.home, warn: ctx.notify };
|
|
592
630
|
}
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Writable } from "node:stream";
|
|
2
|
+
export interface StatusLine {
|
|
3
|
+
/** Replaces the text on the line; the spinner keeps turning until `stop`. */
|
|
4
|
+
update(text: string): void;
|
|
5
|
+
/** Prints a message that stays in scrollback, then redraws the line under it. */
|
|
6
|
+
log(message: string): void;
|
|
7
|
+
/**
|
|
8
|
+
* Replaces the current step with a dim `✔ text (1.2s)` line that stays, and pauses
|
|
9
|
+
* the spinner until the next `update`. Only for a definite success: an inconclusive
|
|
10
|
+
* step leaves no line, since a warning about it follows.
|
|
11
|
+
*/
|
|
12
|
+
done(text: string): void;
|
|
13
|
+
/** Rings the terminal bell, which a terminal in the background turns into a badge or bounce. */
|
|
14
|
+
bell(): void;
|
|
15
|
+
/** Erases the line. Safe to call repeatedly and when nothing was ever drawn. */
|
|
16
|
+
stop(): void;
|
|
17
|
+
}
|
|
18
|
+
/** The stream as far as this module needs it: a pipe has no `isTTY` or `hasColors`. */
|
|
19
|
+
export type StatusStream = Writable & {
|
|
20
|
+
readonly isTTY?: boolean;
|
|
21
|
+
readonly columns?: number;
|
|
22
|
+
readonly hasColors?: () => boolean;
|
|
23
|
+
};
|
|
24
|
+
/** For code paths that must never draw: `--json`, and tests that do not care. */
|
|
25
|
+
export declare const NO_STATUS: StatusLine;
|
|
26
|
+
/** Fast enough to read as motion, slow enough not to burn a core redrawing. */
|
|
27
|
+
export declare const FRAME_MS = 80;
|
|
28
|
+
/** A redrawn line needs a cursor that moves; `TERM=dumb` promises it does not. */
|
|
29
|
+
export declare function isInteractive(stream: StatusStream, env: Record<string, string | undefined>): boolean;
|
|
30
|
+
/** `enabled: false` gives the plain behaviour: `log` writes through, everything else is a no-op. */
|
|
31
|
+
export declare function createStatusLine(stream: StatusStream, enabled: boolean, now?: () => number): StatusLine;
|
package/dist/status.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One line on stderr saying what the CLI is doing right now, redrawn in place so a
|
|
3
|
+
* slow step does not look like a hang. A step that definitely succeeded is kept as a
|
|
4
|
+
* dim ✔ line, so the run leaves a short record of what it did.
|
|
5
|
+
*
|
|
6
|
+
* Terminal-only by construction: on a pipe, a file or `TERM=dumb` every method but
|
|
7
|
+
* `log` is a no-op and `log` writes exactly what it was given, so redirected output and
|
|
8
|
+
* CI logs stay byte-for-byte what they were before this existed.
|
|
9
|
+
*/
|
|
10
|
+
import { clearLine, cursorTo } from "node:readline";
|
|
11
|
+
import { styleText } from "node:util";
|
|
12
|
+
/**
|
|
13
|
+
* Cut to one row, since erasing clears only the row the cursor is on: a line that
|
|
14
|
+
* wrapped would leave its first half behind on every redraw.
|
|
15
|
+
*/
|
|
16
|
+
function fitToWidth(text, columns) {
|
|
17
|
+
// A pty with no size set reports 0; that means unknown, not zero-wide.
|
|
18
|
+
if (columns === undefined || columns <= 0)
|
|
19
|
+
return text;
|
|
20
|
+
// Two columns for the spinner and its space, one so the cursor never wraps.
|
|
21
|
+
const room = columns - 3;
|
|
22
|
+
const chars = [...text];
|
|
23
|
+
return chars.length <= room ? text : `${chars.slice(0, Math.max(room - 1, 0)).join("")}…`;
|
|
24
|
+
}
|
|
25
|
+
/** For code paths that must never draw: `--json`, and tests that do not care. */
|
|
26
|
+
export const NO_STATUS = {
|
|
27
|
+
update: () => undefined,
|
|
28
|
+
log: () => undefined,
|
|
29
|
+
done: () => undefined,
|
|
30
|
+
bell: () => undefined,
|
|
31
|
+
stop: () => undefined,
|
|
32
|
+
};
|
|
33
|
+
/** Under 0.1s the time is noise, and "(0.0s)" reads like a bug. */
|
|
34
|
+
function elapsed(ms) {
|
|
35
|
+
return ms < 100 ? "" : ` (${(ms / 1000).toFixed(1)}s)`;
|
|
36
|
+
}
|
|
37
|
+
const FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
38
|
+
/** Fast enough to read as motion, slow enough not to burn a core redrawing. */
|
|
39
|
+
export const FRAME_MS = 80;
|
|
40
|
+
/** A redrawn line needs a cursor that moves; `TERM=dumb` promises it does not. */
|
|
41
|
+
export function isInteractive(stream, env) {
|
|
42
|
+
return stream.isTTY === true && env.TERM !== "dumb";
|
|
43
|
+
}
|
|
44
|
+
/** `enabled: false` gives the plain behaviour: `log` writes through, everything else is a no-op. */
|
|
45
|
+
export function createStatusLine(stream, enabled, now = Date.now) {
|
|
46
|
+
if (!enabled)
|
|
47
|
+
return { ...NO_STATUS, log: (message) => void stream.write(`${message}\n`) };
|
|
48
|
+
const colour = stream.hasColors?.() === true;
|
|
49
|
+
let text;
|
|
50
|
+
let frame = 0;
|
|
51
|
+
let drawn = false;
|
|
52
|
+
let timer;
|
|
53
|
+
let startedAt = now();
|
|
54
|
+
const paint = (format, value) => colour ? styleText(format, value, { validateStream: false }) : value;
|
|
55
|
+
const pause = () => {
|
|
56
|
+
if (timer !== undefined)
|
|
57
|
+
clearInterval(timer);
|
|
58
|
+
timer = undefined;
|
|
59
|
+
text = undefined;
|
|
60
|
+
};
|
|
61
|
+
const erase = () => {
|
|
62
|
+
if (!drawn)
|
|
63
|
+
return;
|
|
64
|
+
clearLine(stream, 0);
|
|
65
|
+
cursorTo(stream, 0);
|
|
66
|
+
drawn = false;
|
|
67
|
+
};
|
|
68
|
+
const draw = () => {
|
|
69
|
+
if (text === undefined)
|
|
70
|
+
return;
|
|
71
|
+
const spinner = FRAMES[frame % FRAMES.length] ?? "";
|
|
72
|
+
frame += 1;
|
|
73
|
+
erase();
|
|
74
|
+
const line = fitToWidth(text, stream.columns);
|
|
75
|
+
stream.write(`${colour ? styleText("cyan", spinner, { validateStream: false }) : spinner} ${line}`);
|
|
76
|
+
drawn = true;
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
update(next) {
|
|
80
|
+
if (next !== text)
|
|
81
|
+
startedAt = now();
|
|
82
|
+
text = next;
|
|
83
|
+
draw();
|
|
84
|
+
// unref: a spinner must never be the thing keeping the process alive.
|
|
85
|
+
timer ??= setInterval(draw, FRAME_MS).unref();
|
|
86
|
+
},
|
|
87
|
+
log(message) {
|
|
88
|
+
erase();
|
|
89
|
+
stream.write(`${message}\n`);
|
|
90
|
+
draw();
|
|
91
|
+
},
|
|
92
|
+
done(finished) {
|
|
93
|
+
const took = elapsed(now() - startedAt);
|
|
94
|
+
pause();
|
|
95
|
+
erase();
|
|
96
|
+
stream.write(`${paint("green", "✔")} ${paint("dim", `${fitToWidth(finished, stream.columns)}${took}`)}\n`);
|
|
97
|
+
},
|
|
98
|
+
bell() {
|
|
99
|
+
stream.write("\u0007");
|
|
100
|
+
},
|
|
101
|
+
stop() {
|
|
102
|
+
pause();
|
|
103
|
+
erase();
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai21/gateway",
|
|
3
3
|
"//version": "Placeholder. The source of truth is the Artifact Registry — CI sets this from NODE_PACKAGE_VERSION at publish time (see the Semantic Release user guide).",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"description": "One command to point a local coding agent at the AI21 Intelligent Gateway",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|