@ai21/gateway 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +21 -17
  2. package/dist/agents/claude-code/index.d.ts +7 -0
  3. package/dist/agents/claude-code/index.js +112 -0
  4. package/dist/agents/claude-code/index.js.map +1 -0
  5. package/dist/agents/claude-code/verify.d.ts +6 -46
  6. package/dist/agents/claude-code/verify.js +2 -2
  7. package/dist/agents/claude-code/verify.js.map +1 -1
  8. package/dist/agents/codex/config.d.ts +20 -0
  9. package/dist/agents/codex/config.js +344 -0
  10. package/dist/agents/codex/config.js.map +1 -0
  11. package/dist/agents/codex/index.d.ts +2 -0
  12. package/dist/agents/codex/index.js +79 -0
  13. package/dist/agents/codex/index.js.map +1 -0
  14. package/dist/agents/codex/snippets.d.ts +23 -0
  15. package/dist/agents/codex/snippets.js +39 -0
  16. package/dist/agents/codex/snippets.js.map +1 -0
  17. package/dist/agents/codex/status.d.ts +8 -0
  18. package/dist/agents/codex/status.js +36 -0
  19. package/dist/agents/codex/status.js.map +1 -0
  20. package/dist/agents/codex/toml.d.ts +57 -0
  21. package/dist/agents/codex/toml.js +196 -0
  22. package/dist/agents/codex/toml.js.map +1 -0
  23. package/dist/agents/codex/verify.d.ts +2 -0
  24. package/dist/agents/codex/verify.js +43 -0
  25. package/dist/agents/codex/verify.js.map +1 -0
  26. package/dist/agents/registry.d.ts +10 -0
  27. package/dist/agents/registry.js +14 -0
  28. package/dist/agents/registry.js.map +1 -0
  29. package/dist/agents/types.d.ts +10 -0
  30. package/dist/args.d.ts +2 -3
  31. package/dist/args.js +7 -9
  32. package/dist/args.js.map +1 -1
  33. package/dist/cli.d.ts +1 -1
  34. package/dist/cli.js +18 -12
  35. package/dist/cli.js.map +1 -1
  36. package/dist/fs/safeFile.d.ts +1 -0
  37. package/dist/fs/safeFile.js.map +1 -1
  38. package/dist/fs/snapshot.d.ts +1 -1
  39. package/dist/fs/snapshot.js +1 -1
  40. package/dist/precheck.d.ts +4 -1
  41. package/dist/precheck.js +12 -9
  42. package/dist/precheck.js.map +1 -1
  43. package/dist/report.d.ts +16 -19
  44. package/dist/report.js +36 -62
  45. package/dist/report.js.map +1 -1
  46. package/dist/result.d.ts +5 -5
  47. package/dist/result.js +5 -5
  48. package/dist/result.js.map +1 -1
  49. package/dist/router.d.ts +5 -2
  50. package/dist/router.js +115 -113
  51. package/dist/router.js.map +1 -1
  52. package/dist/telemetry/events.d.ts +3 -2
  53. package/dist/telemetry/events.js +0 -6
  54. package/dist/telemetry/events.js.map +1 -1
  55. package/package.json +1 -1
package/dist/precheck.js CHANGED
@@ -20,7 +20,7 @@ function isInsecure(url) {
20
20
  }
21
21
  }
22
22
  /** `undefined` for an unreadable body, distinct from `[]` — a key with no agents. */
23
- function agentIdsIn(body) {
23
+ function agentsIn(body) {
24
24
  let parsed;
25
25
  try {
26
26
  parsed = JSON.parse(body);
@@ -30,17 +30,17 @@ function agentIdsIn(body) {
30
30
  }
31
31
  if (!Array.isArray(parsed))
32
32
  return undefined;
33
- const ids = [];
33
+ const agents = [];
34
34
  for (const entry of parsed) {
35
35
  if (typeof entry !== "object" || entry === null)
36
36
  return undefined;
37
37
  // `agent_id` is what `--agent-id` names; `id` is the row's UUID.
38
- const id = entry["agent_id"];
39
- if (typeof id !== "string")
38
+ const { agent_id: agentId, kind } = entry;
39
+ if (typeof agentId !== "string")
40
40
  return undefined;
41
- ids.push(id);
41
+ agents.push({ agentId, kind: typeof kind === "string" ? kind : undefined });
42
42
  }
43
- return ids;
43
+ return agents;
44
44
  }
45
45
  /** Reasons carry no key and end without a full stop — `report.ts` punctuates. */
46
46
  export async function precheckKey(ctx, deps) {
@@ -70,11 +70,14 @@ export async function precheckKey(ctx, deps) {
70
70
  ? { kind: "rejected", reason: "the gateway rejected it", status: response.status }
71
71
  : { kind: "inconclusive", reason: `the gateway answered ${response.status}` };
72
72
  }
73
- const ids = agentIdsIn((await response.text?.()) ?? "");
74
- if (ids === undefined) {
73
+ const agents = agentsIn((await response.text?.()) ?? "");
74
+ if (agents === undefined) {
75
75
  return { kind: "inconclusive", reason: "the gateway's answer could not be read" };
76
76
  }
77
- return ids.includes(ctx.agentId) ? { kind: "accepted" } : { kind: "unknown-agent", known: ids };
77
+ const match = agents.find((agent) => agent.agentId === ctx.agentId);
78
+ return match === undefined
79
+ ? { kind: "unknown-agent", known: agents.map((agent) => agent.agentId) }
80
+ : { kind: "accepted", agentKind: match.kind };
78
81
  }
79
82
  function isAbort(err) {
80
83
  return err instanceof Error && (err.name === "AbortError" || err.name === "TimeoutError");
@@ -1 +1 @@
1
- {"version":3,"file":"precheck.js","sourceRoot":"","sources":["../src/precheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAU1C,+FAA+F;AAC/F,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEpD,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,CAAC;AAC5G,CAAC;AAED,qEAAqE;AACrE,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5C,OAAO,QAAQ,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAElE,iEAAiE;QACjE,MAAM,EAAE,GAAI,KAAiC,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAoB,EAAE,IAAkB;IACxE,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kEAAkE,EAAE,CAAC;IACzG,CAAC;IAED,IAAI,QAAuE,CAAC;IAC5E,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,uFAAuF;YACvF,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE;YACrC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sEAAsE;QACtE,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;gBAClB,CAAC,CAAC,qCAAqC,mBAAmB,GAAG,IAAI,GAAG;gBACpE,CAAC,CAAC,kCAAkC;SACvC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;YAClF,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wBAAwB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IACpF,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AAC5F,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,SAAS,EAAE,KAA6B,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"precheck.js","sourceRoot":"","sources":["../src/precheck.ts"],"names":[],"mappings":"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"}
package/dist/report.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { ResolvedUrls } from "./args.js";
2
- import type { ConfigOutcome, RevertOutcome, Warning } from "./agents/types.js";
2
+ import type { AgentText, ConfigOutcome, RevertOutcome, VerifyOutcome, Warning } from "./agents/types.js";
3
3
  import type { PrecheckOutcome } from "./precheck.js";
4
- import type { MissingCredential, VerifyOutcome } from "./agents/claude-code/verify.js";
5
4
  import { type RunResult } from "./result.js";
6
5
  /**
7
6
  * Outcome name → exit code. This is the map `--json` consumers branch on, so the
@@ -29,20 +28,16 @@ export declare function reportRevert(outcome: RevertOutcome, json: boolean, stre
29
28
  export type { Warning } from "./agents/types.js";
30
29
  export interface WarningContext {
31
30
  readonly urls: ResolvedUrls;
32
- /** The process environment, injected so tests need not mutate the real one. */
33
- readonly processEnv: Record<string, string | undefined>;
34
- readonly localOverride?: {
35
- readonly path: string;
36
- readonly agentId?: string;
37
- } | undefined;
38
31
  }
39
32
  /**
40
33
  * Not failures, but things that make a correct config look broken later — which is
41
- * when a warning earns its noise.
34
+ * when a warning earns its noise. These hold for every agent; each agent adds its own.
42
35
  */
43
36
  export declare function collectWarnings(ctx: WarningContext): Warning[];
44
37
  export interface ReportInput {
45
38
  readonly outcome: ConfigOutcome;
39
+ /** The configured agent's wording for verification results. */
40
+ readonly text: AgentText;
46
41
  readonly warnings: readonly Warning[];
47
42
  readonly json: boolean;
48
43
  /** Extra human-only detail, such as the per-key conflict breakdown. */
@@ -56,26 +51,28 @@ export interface ReportInput {
56
51
  readonly streams?: ColorTargets | undefined;
57
52
  }
58
53
  export declare function report(input: ReportInput): RunResult;
59
- /** What became of settings.json once a missing Claude credential was detected. */
60
- export type NoCredentialState = "not-written" | "restored"
54
+ /** What became of the config once a missing subscription was detected. */
55
+ export type NoSubscriptionState = "not-written" | "restored"
61
56
  /** The file already held exactly this config, so there was nothing to undo. */
62
57
  | "unchanged" | {
63
58
  readonly failed: string;
64
59
  };
65
- export interface NoCredentialInput {
60
+ export interface NoSubscriptionInput {
66
61
  readonly path: string;
67
- readonly reason: MissingCredential;
68
- readonly state: NoCredentialState;
62
+ /** Keys into `text.noSubscription`. */
63
+ readonly reason: string;
64
+ readonly text: AgentText;
65
+ readonly state: NoSubscriptionState;
69
66
  readonly json: boolean;
70
67
  readonly urls: ResolvedUrls;
71
68
  readonly streams?: ColorTargets | undefined;
72
69
  }
73
70
  /**
74
- * The one verification result that fails the run: without a Claude credential the
75
- * gateway can never answer, so a config left in place only breaks Claude Code.
71
+ * The one verification result that fails the run: without the agent's own login the
72
+ * gateway can never answer, so a config left in place only breaks the agent.
76
73
  */
77
- export declare function reportNoClaudeCredential(input: NoCredentialInput): RunResult;
74
+ export declare function reportNoSubscription(input: NoSubscriptionInput): RunResult;
78
75
  /** `login`'s success: who is signed in, and the workspace any key was minted in. */
79
76
  export declare function reportSignedIn(email: string, workspace: string, streams?: ColorTargets): RunResult;
80
- /** Refused before anything else runs: without `claude` there is nothing to configure. */
81
- export declare function reportNoClaudeCli(json: boolean, streams?: ColorTargets): RunResult;
77
+ /** Refused before anything else runs: without the agent there is nothing to configure. */
78
+ export declare function reportAgentNotInstalled(text: AgentText, json: boolean, streams?: ColorTargets): RunResult;
package/dist/report.js CHANGED
@@ -148,34 +148,15 @@ export function reportRevert(outcome, json, streams = PROCESS_STREAMS) {
148
148
  }
149
149
  /**
150
150
  * Not failures, but things that make a correct config look broken later — which is
151
- * when a warning earns its noise.
151
+ * when a warning earns its noise. These hold for every agent; each agent adds its own.
152
152
  */
153
153
  export function collectWarnings(ctx) {
154
154
  const warnings = [];
155
- if (ctx.processEnv.ANTHROPIC_API_KEY !== undefined && ctx.processEnv.ANTHROPIC_API_KEY !== "") {
156
- warnings.push({
157
- code: "anthropic-api-key-set",
158
- // It shadows the claude.ai login and surfaces as a 401 from the gateway,
159
- // which reads as "the CLI wrote a bad config" rather than "unset this".
160
- message: "ANTHROPIC_API_KEY is set in your environment. It overrides the credential Claude Code manages and can cause 401s through the gateway — unset it if requests start failing.",
161
- });
162
- }
163
- if (ctx.localOverride !== undefined) {
164
- const { path, agentId } = ctx.localOverride;
165
- warnings.push({
166
- code: "shadowed-by-local-config",
167
- message: `${path} also sets Claude Code's env, and it is read after this file — so it wins. ` +
168
- (agentId === undefined
169
- ? "Requests will not use the agent configured here."
170
- : `Requests will report as '${agentId}', not the agent configured here.`) +
171
- " Remove its env block, or move your override into this file.",
172
- });
173
- }
174
155
  if (isInsecureGateway(ctx.urls.gateway)) {
175
156
  warnings.push({
176
157
  code: "insecure-gateway",
177
158
  // Not just our one verifying request: this URL is what the written config
178
- // points every future Claude Code request at, each carrying the AI21 key.
159
+ // points every future agent request at, each carrying the AI21 key.
179
160
  message: `${ctx.urls.gateway} is plain http, so the AI21 key will cross the network unencrypted on every request. Use an https gateway outside local development.`,
180
161
  });
181
162
  }
@@ -205,22 +186,17 @@ function humanLine(outcome, paint) {
205
186
  return `Could not write ${outcome.path}: ${outcome.reason}.`;
206
187
  }
207
188
  }
208
- /** How each tier reads to a human, once it has succeeded. */
209
- const VERIFIED_VIA = {
210
- "claude-cli": "`claude -p`",
211
- "direct-ping": "a direct request",
212
- };
213
189
  /**
214
190
  * Verification is never a failure: the config write is the deliverable, and a
215
191
  * ping that could not be made — or that the gateway refused — does not un-write
216
192
  * it. So a pass narrates and everything else warns.
217
193
  */
218
- function verificationWarning(outcome) {
194
+ function verificationWarning(outcome, text) {
219
195
  switch (outcome.kind) {
220
196
  case "skipped":
221
197
  return {
222
198
  code: "verification-skipped",
223
- message: `Skipped verification — no Anthropic credential was available. ${outcome.hint}`,
199
+ message: `Skipped verification — ${text.skippedBecause}. ${outcome.hint}`,
224
200
  };
225
201
  case "failed":
226
202
  return {
@@ -241,10 +217,11 @@ function precheckWarning(outcome) {
241
217
  };
242
218
  }
243
219
  /** The stdout line for a successful verification; nothing for any other outcome. */
244
- function verificationLine(outcome, paint) {
220
+ function verificationLine(outcome, text, paint) {
245
221
  if (outcome?.kind !== "passed")
246
222
  return "";
247
- return `${headline(paint, "green", `Verified through the gateway with ${VERIFIED_VIA[outcome.via]}.`)}\n`;
223
+ const via = text.verifiedVia[outcome.via] ?? outcome.via;
224
+ return `${headline(paint, "green", `Verified through the gateway with ${via}.`)}\n`;
248
225
  }
249
226
  /** An aside under the headline, dimmed so the headline stays the thing read first. */
250
227
  function backupLine(outcome, paint) {
@@ -292,7 +269,7 @@ function jsonPayload(input, code, warnings) {
292
269
  export function report(input) {
293
270
  const code = EXIT_FOR[input.outcome.kind];
294
271
  const derived = [
295
- input.verification === undefined ? undefined : verificationWarning(input.verification),
272
+ input.verification === undefined ? undefined : verificationWarning(input.verification, input.text),
296
273
  input.precheck === undefined ? undefined : precheckWarning(input.precheck),
297
274
  ].filter((warning) => warning !== undefined);
298
275
  const warnings = [...input.warnings, ...derived];
@@ -312,23 +289,10 @@ export function report(input) {
312
289
  const warningText = warnings.map((w) => `${headline(paintWarning, "yellow", "warning:")} ${w.message}\n`).join("");
313
290
  const line = headline(paintBody, ok ? "green" : "red", humanLine(input.outcome, paintBody));
314
291
  const body = `${line}\n${backupLine(input.outcome, paintBody)}` +
315
- `${verificationLine(input.verification, paintBody)}${input.detail ?? ""}`;
292
+ `${verificationLine(input.verification, input.text, paintBody)}${input.detail ?? ""}`;
316
293
  return ok ? { code, out: body, err: warningText } : { code, out: "", err: `${body}${warningText}` };
317
294
  }
318
- /** Stable `--json` reasons, spelled for a funnel rather than for a person. */
319
- const NO_CREDENTIAL_REASON = {
320
- "logged-out": "no_claude_subscription",
321
- "key-rejected": "anthropic_key_rejected",
322
- };
323
- const NO_CREDENTIAL_HEADLINE = {
324
- "logged-out": "No Claude subscription detected.",
325
- "key-rejected": "Anthropic rejected your API key.",
326
- };
327
- const NO_CREDENTIAL_NEXT_STEP = {
328
- "logged-out": "If you have one, run `/login` inside `claude`, then re-run this command. Otherwise, subscribe to Claude.",
329
- "key-rejected": "Check ANTHROPIC_API_KEY (or --anthropic-key), or unset it and run `/login` inside `claude`, then re-run this command.",
330
- };
331
- function noCredentialStateLine(input, streams) {
295
+ function noSubscriptionStateLine(input, streams) {
332
296
  const { state, path } = input;
333
297
  if (state === "not-written")
334
298
  return nothingWasWritten(streams);
@@ -339,20 +303,26 @@ function noCredentialStateLine(input, streams) {
339
303
  return `The configuration could not be reverted (${state.failed}). Run \`ai21-gateway uninstall\` to remove it.`;
340
304
  }
341
305
  /**
342
- * The one verification result that fails the run: without a Claude credential the
343
- * gateway can never answer, so a config left in place only breaks Claude Code.
306
+ * The one verification result that fails the run: without the agent's own login the
307
+ * gateway can never answer, so a config left in place only breaks the agent.
344
308
  */
345
- export function reportNoClaudeCredential(input) {
346
- const code = EXIT.NO_CLAUDE_CREDENTIAL;
309
+ export function reportNoSubscription(input) {
310
+ const code = EXIT.NO_SUBSCRIPTION;
347
311
  const { state } = input;
312
+ // An agent's reason with no wording is a bug in that agent; say something true rather than crash.
313
+ const wording = input.text.noSubscription[input.reason] ?? {
314
+ headline: "No usable login was detected.",
315
+ nextStep: "Sign in to the agent, then re-run this command.",
316
+ jsonReason: input.reason,
317
+ };
348
318
  if (input.json) {
349
319
  const payload = {
350
320
  ok: false,
351
- outcome: "no-claude-credential",
321
+ outcome: input.text.noSubscriptionOutcome,
352
322
  exitCode: code,
353
323
  path: input.path,
354
324
  gateway: input.urls.gateway,
355
- reason: NO_CREDENTIAL_REASON[input.reason],
325
+ reason: wording.jsonReason,
356
326
  config: typeof state === "string" ? state : "restore-failed",
357
327
  ...(typeof state === "string" ? {} : { restoreError: state.failed }),
358
328
  warnings: [],
@@ -360,11 +330,11 @@ export function reportNoClaudeCredential(input) {
360
330
  return { code, out: `${JSON.stringify(payload, null, 2)}\n`, err: "" };
361
331
  }
362
332
  const streams = input.streams ?? PROCESS_STREAMS;
363
- const title = headline(painterFor(streams.err), "red", NO_CREDENTIAL_HEADLINE[input.reason]);
333
+ const title = headline(painterFor(streams.err), "red", wording.headline);
364
334
  return {
365
335
  code,
366
336
  out: "",
367
- err: `${title} ${NO_CREDENTIAL_NEXT_STEP[input.reason]}\n${noCredentialStateLine(input, streams)}\n`,
337
+ err: `${title} ${wording.nextStep}\n${noSubscriptionStateLine(input, streams)}\n`,
368
338
  };
369
339
  }
370
340
  /** `login`'s success: who is signed in, and the workspace any key was minted in. */
@@ -376,17 +346,21 @@ export function reportSignedIn(email, workspace, streams = PROCESS_STREAMS) {
376
346
  err: "",
377
347
  };
378
348
  }
379
- /** Stable `--json` reason; kept apart from `no_claude_subscription` so a funnel can split them. */
380
- const NO_CLAUDE_CLI_REASON = "claude_code_cli_not_installed";
381
- const NO_CLAUDE_CLI_MESSAGE = "The Claude Code CLI was not found. The AI21 gateway currently supports only the Claude Code CLI; install it to use the gateway, then re-run this command.";
382
- /** Refused before anything else runs: without `claude` there is nothing to configure. */
383
- export function reportNoClaudeCli(json, streams = PROCESS_STREAMS) {
384
- const code = EXIT.NO_CLAUDE_CLI;
349
+ /** Refused before anything else runs: without the agent there is nothing to configure. */
350
+ export function reportAgentNotInstalled(text, json, streams = PROCESS_STREAMS) {
351
+ const code = EXIT.AGENT_NOT_INSTALLED;
352
+ const wording = text.notInstalled;
385
353
  if (json) {
386
- const payload = { ok: false, outcome: "no-claude-cli", exitCode: code, reason: NO_CLAUDE_CLI_REASON, warnings: [] };
354
+ const payload = {
355
+ ok: false,
356
+ outcome: wording.jsonOutcome,
357
+ exitCode: code,
358
+ reason: wording.jsonReason,
359
+ warnings: [],
360
+ };
387
361
  return { code, out: `${JSON.stringify(payload, null, 2)}\n`, err: "" };
388
362
  }
389
- const headline = painterFor(streams.err)("red", NO_CLAUDE_CLI_MESSAGE);
363
+ const headline = painterFor(streams.err)("red", wording.message);
390
364
  return { code, out: "", err: `${headline}\n${nothingWasWritten(streams)}\n` };
391
365
  }
392
366
  //# sourceMappingURL=report.js.map
@@ -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/result.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare const EXIT: {
10
10
  readonly USAGE: 2;
11
11
  /** A managed key already holds a different value and `--yes` was not given. */
12
12
  readonly CONFLICT: 3;
13
- /** The existing settings.json could not be parsed, so it was left untouched. */
13
+ /** The existing config file could not be parsed, so it was left untouched. */
14
14
  readonly MALFORMED: 4;
15
15
  /** `uninstall` found none of the managed keys — there was nothing of ours to revert. */
16
16
  readonly NOT_CONFIGURED: 5;
@@ -20,10 +20,10 @@ export declare const EXIT: {
20
20
  readonly LOGIN_INCOMPLETE: 7;
21
21
  /** `login` found no workspace to mint a key in after filtering. */
22
22
  readonly NO_WORKSPACE: 8;
23
- /** The Claude subscription check found no credential. Nothing was written, or the pre-run state was restored. */
24
- readonly NO_CLAUDE_CREDENTIAL: 9;
25
- /** `install` found neither the Claude Code CLI on PATH nor an Anthropic key. Nothing was written. */
26
- readonly NO_CLAUDE_CLI: 10;
23
+ /** The agent's own login cannot carry requests. Nothing was written, or the pre-run state was restored. */
24
+ readonly NO_SUBSCRIPTION: 9;
25
+ /** `install` found the agent not installed and nothing to stand in for it. Nothing was written. */
26
+ readonly AGENT_NOT_INSTALLED: 10;
27
27
  };
28
28
  export interface RunResult {
29
29
  readonly code: number;
package/dist/result.js CHANGED
@@ -10,7 +10,7 @@ export const EXIT = {
10
10
  USAGE: 2,
11
11
  /** A managed key already holds a different value and `--yes` was not given. */
12
12
  CONFLICT: 3,
13
- /** The existing settings.json could not be parsed, so it was left untouched. */
13
+ /** The existing config file could not be parsed, so it was left untouched. */
14
14
  MALFORMED: 4,
15
15
  /** `uninstall` found none of the managed keys — there was nothing of ours to revert. */
16
16
  NOT_CONFIGURED: 5,
@@ -20,9 +20,9 @@ export const EXIT = {
20
20
  LOGIN_INCOMPLETE: 7,
21
21
  /** `login` found no workspace to mint a key in after filtering. */
22
22
  NO_WORKSPACE: 8,
23
- /** The Claude subscription check found no credential. Nothing was written, or the pre-run state was restored. */
24
- NO_CLAUDE_CREDENTIAL: 9,
25
- /** `install` found neither the Claude Code CLI on PATH nor an Anthropic key. Nothing was written. */
26
- NO_CLAUDE_CLI: 10,
23
+ /** The agent's own login cannot carry requests. Nothing was written, or the pre-run state was restored. */
24
+ NO_SUBSCRIPTION: 9,
25
+ /** `install` found the agent not installed and nothing to stand in for it. Nothing was written. */
26
+ AGENT_NOT_INSTALLED: 10,
27
27
  };
28
28
  //# sourceMappingURL=result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,uEAAuE;IACvE,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;IACR,+EAA+E;IAC/E,QAAQ,EAAE,CAAC;IACX,gFAAgF;IAChF,SAAS,EAAE,CAAC;IACZ,wFAAwF;IACxF,cAAc,EAAE,CAAC;IACjB,mEAAmE;IACnE,SAAS,EAAE,CAAC;IACZ,wEAAwE;IACxE,gBAAgB,EAAE,CAAC;IACnB,mEAAmE;IACnE,YAAY,EAAE,CAAC;IACf,iHAAiH;IACjH,oBAAoB,EAAE,CAAC;IACvB,qGAAqG;IACrG,aAAa,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,uEAAuE;IACvE,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;IACR,+EAA+E;IAC/E,QAAQ,EAAE,CAAC;IACX,8EAA8E;IAC9E,SAAS,EAAE,CAAC;IACZ,wFAAwF;IACxF,cAAc,EAAE,CAAC;IACjB,mEAAmE;IACnE,SAAS,EAAE,CAAC;IACZ,wEAAwE;IACxE,gBAAgB,EAAE,CAAC;IACnB,mEAAmE;IACnE,YAAY,EAAE,CAAC;IACf,2GAA2G;IAC3G,eAAe,EAAE,CAAC;IAClB,mGAAmG;IACnG,mBAAmB,EAAE,EAAE;CACf,CAAC"}
package/dist/router.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * Verb dispatch. Handlers return streams and an exit code rather than writing or
3
3
  * exiting, so a command can be asserted end to end without spawning a process.
4
4
  */
5
- import { type ParsedArgs } from "./args.js";
6
- import { type AgentDeps, type PathContext } from "./agents/types.js";
5
+ import { type Client, type ParsedArgs } from "./args.js";
6
+ import { type AgentDeps, type CodingAgent, type PathContext } from "./agents/types.js";
7
7
  import { type PrecheckDeps } from "./precheck.js";
8
8
  import { type PromptIo } from "./prompt.js";
9
9
  import { type LoginDeps } from "./login/session.js";
@@ -15,6 +15,7 @@ export interface RunContext {
15
15
  readonly paths: PathContext;
16
16
  readonly prompt: PromptIo;
17
17
  readonly processEnv: Record<string, string | undefined>;
18
+ /** What the agents touch while checking a login or verifying: PATH lookup, spawn, fetch. */
18
19
  readonly verify: AgentDeps;
19
20
  readonly precheck: PrecheckDeps;
20
21
  readonly login: LoginDeps;
@@ -24,5 +25,7 @@ export interface RunContext {
24
25
  readonly status?: StatusLine | undefined;
25
26
  /** Onboarding events. Never blocks or fails a command. */
26
27
  readonly telemetry: Telemetry;
28
+ /** The agent for a `--client` value. The registry unless a test substitutes one. */
29
+ readonly agents?: ((client: Client) => CodingAgent) | undefined;
27
30
  }
28
31
  export declare function dispatch(args: ParsedArgs, ctx: RunContext): Promise<RunResult>;