@ai21/gateway 1.3.0 → 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 (93) hide show
  1. package/README.md +26 -21
  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/revert.d.ts +11 -0
  6. package/dist/{revert.js → agents/claude-code/revert.js} +2 -1
  7. package/dist/agents/claude-code/revert.js.map +1 -0
  8. package/dist/agents/claude-code/settings.d.ts +33 -0
  9. package/dist/{config.js → agents/claude-code/settings.js} +6 -57
  10. package/dist/agents/claude-code/settings.js.map +1 -0
  11. package/dist/{snippets.d.ts → agents/claude-code/snippets.d.ts} +1 -18
  12. package/dist/{snippets.js → agents/claude-code/snippets.js} +0 -19
  13. package/dist/agents/claude-code/snippets.js.map +1 -0
  14. package/dist/agents/claude-code/status.d.ts +12 -0
  15. package/dist/agents/claude-code/status.js +42 -0
  16. package/dist/agents/claude-code/status.js.map +1 -0
  17. package/dist/agents/claude-code/verify.d.ts +39 -0
  18. package/dist/{verify.js → agents/claude-code/verify.js} +4 -135
  19. package/dist/agents/claude-code/verify.js.map +1 -0
  20. package/dist/agents/codex/config.d.ts +20 -0
  21. package/dist/agents/codex/config.js +344 -0
  22. package/dist/agents/codex/config.js.map +1 -0
  23. package/dist/agents/codex/index.d.ts +2 -0
  24. package/dist/agents/codex/index.js +79 -0
  25. package/dist/agents/codex/index.js.map +1 -0
  26. package/dist/agents/codex/snippets.d.ts +23 -0
  27. package/dist/agents/codex/snippets.js +39 -0
  28. package/dist/agents/codex/snippets.js.map +1 -0
  29. package/dist/agents/codex/status.d.ts +8 -0
  30. package/dist/agents/codex/status.js +36 -0
  31. package/dist/agents/codex/status.js.map +1 -0
  32. package/dist/agents/codex/toml.d.ts +57 -0
  33. package/dist/agents/codex/toml.js +196 -0
  34. package/dist/agents/codex/toml.js.map +1 -0
  35. package/dist/agents/codex/verify.d.ts +2 -0
  36. package/dist/agents/codex/verify.js +43 -0
  37. package/dist/agents/codex/verify.js.map +1 -0
  38. package/dist/agents/deps.d.ts +3 -0
  39. package/dist/agents/deps.js +10 -0
  40. package/dist/agents/deps.js.map +1 -0
  41. package/dist/agents/registry.d.ts +10 -0
  42. package/dist/agents/registry.js +14 -0
  43. package/dist/agents/registry.js.map +1 -0
  44. package/dist/agents/types.d.ts +276 -0
  45. package/dist/agents/types.js +3 -0
  46. package/dist/agents/types.js.map +1 -0
  47. package/dist/args.d.ts +2 -3
  48. package/dist/args.js +7 -9
  49. package/dist/args.js.map +1 -1
  50. package/dist/cli.d.ts +1 -1
  51. package/dist/cli.js +21 -14
  52. package/dist/cli.js.map +1 -1
  53. package/dist/fs/safeFile.d.ts +20 -0
  54. package/dist/fs/safeFile.js +50 -0
  55. package/dist/fs/safeFile.js.map +1 -0
  56. package/dist/{snapshot.d.ts → fs/snapshot.d.ts} +2 -2
  57. package/dist/{snapshot.js → fs/snapshot.js} +2 -2
  58. package/dist/fs/snapshot.js.map +1 -0
  59. package/dist/login/keychain/linux.d.ts +1 -1
  60. package/dist/login/keychain/linux.js +1 -1
  61. package/dist/login/keychain/linux.js.map +1 -1
  62. package/dist/precheck.d.ts +4 -1
  63. package/dist/precheck.js +12 -9
  64. package/dist/precheck.js.map +1 -1
  65. package/dist/process.d.ts +26 -0
  66. package/dist/process.js +94 -0
  67. package/dist/process.js.map +1 -0
  68. package/dist/report.d.ts +17 -25
  69. package/dist/report.js +36 -62
  70. package/dist/report.js.map +1 -1
  71. package/dist/result.d.ts +5 -5
  72. package/dist/result.js +5 -5
  73. package/dist/result.js.map +1 -1
  74. package/dist/router.d.ts +6 -4
  75. package/dist/router.js +132 -120
  76. package/dist/router.js.map +1 -1
  77. package/dist/telemetry/amplitudeHttp.js +1 -0
  78. package/dist/telemetry/amplitudeHttp.js.map +1 -1
  79. package/dist/telemetry/events.d.ts +10 -5
  80. package/dist/telemetry/events.js +0 -6
  81. package/dist/telemetry/events.js.map +1 -1
  82. package/dist/telemetry/telemetry.d.ts +6 -2
  83. package/dist/telemetry/telemetry.js +19 -8
  84. package/dist/telemetry/telemetry.js.map +1 -1
  85. package/package.json +3 -3
  86. package/dist/config.d.ts +0 -83
  87. package/dist/config.js.map +0 -1
  88. package/dist/revert.d.ts +0 -60
  89. package/dist/revert.js.map +0 -1
  90. package/dist/snapshot.js.map +0 -1
  91. package/dist/snippets.js.map +0 -1
  92. package/dist/verify.d.ts +0 -119
  93. package/dist/verify.js.map +0 -1
package/dist/router.d.ts CHANGED
@@ -2,21 +2,21 @@
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 PathContext } from "./config.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";
10
10
  import { type RunResult } from "./result.js";
11
11
  import { type Telemetry } from "./telemetry/telemetry.js";
12
- import { type VerifyDeps } from "./verify.js";
13
12
  import { type StatusLine } from "./status.js";
14
13
  /** Everything the dispatcher needs from the outside world, injected at the edge. */
15
14
  export interface RunContext {
16
15
  readonly paths: PathContext;
17
16
  readonly prompt: PromptIo;
18
17
  readonly processEnv: Record<string, string | undefined>;
19
- readonly verify: VerifyDeps;
18
+ /** What the agents touch while checking a login or verifying: PATH lookup, spawn, fetch. */
19
+ readonly verify: AgentDeps;
20
20
  readonly precheck: PrecheckDeps;
21
21
  readonly login: LoginDeps;
22
22
  /** Progress output while `login` waits. Streams, so it cannot go in RunResult. */
@@ -25,5 +25,7 @@ export interface RunContext {
25
25
  readonly status?: StatusLine | undefined;
26
26
  /** Onboarding events. Never blocks or fails a command. */
27
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;
28
30
  }
29
31
  export declare function dispatch(args: ParsedArgs, ctx: RunContext): Promise<RunResult>;
package/dist/router.js CHANGED
@@ -3,20 +3,18 @@
3
3
  * exiting, so a command can be asserted end to end without spawning a process.
4
4
  */
5
5
  import { DEFAULT_URLS, containsControlCharacters } from "./args.js";
6
- import { resolvePaths, shadowingLocalConfig, writeConfig, } from "./config.js";
6
+ import { agentFor, agentOfKind } from "./agents/registry.js";
7
+ import { AI21_KEY_PLACEHOLDER, } from "./agents/types.js";
7
8
  import { precheckKey } from "./precheck.js";
8
- import { EXIT_FOR, collectWarnings, nothingWasWritten, report, reportNoClaudeCli, reportNoClaudeCredential, reportRevert, reportSignedIn, } from "./report.js";
9
- import { revertConfig } from "./revert.js";
9
+ import { EXIT_FOR, collectWarnings, nothingWasWritten, report, reportAgentNotInstalled, reportNoSubscription, reportRevert, reportSignedIn, } from "./report.js";
10
10
  import { keyName, mintApiKey } from "./login/apiKeys.js";
11
- import { load as loadCredential, save as saveCredential } from "./login/credentials.js";
11
+ import { load as loadCredential, save as saveCredential, } from "./login/credentials.js";
12
12
  import { runLogin } from "./login/session.js";
13
13
  import { DeadCredentialError, exchangeRefreshToken } from "./login/tokens.js";
14
14
  import { chooseWorkspace, fetchWorkspaces, workspaceOwningAgent } from "./login/workspaces.js";
15
15
  import { EXIT } from "./result.js";
16
- import { AI21_KEY_PLACEHOLDER, ccSettings, ccSettingsEnv } from "./snippets.js";
17
16
  import { readVersion } from "./cli.js";
18
- import { restoreConfig, snapshotConfig } from "./snapshot.js";
19
- import { CLAUDE_COMMAND, checkClaudeLogin, findOnPath, resolveAnthropicKey, verify, } from "./verify.js";
17
+ import { restoreConfig, snapshotConfig } from "./fs/snapshot.js";
20
18
  import { NO_STATUS } from "./status.js";
21
19
  /* Identifies traffic this tool configured, so the gateway can tell a CLI-configured
22
20
  * agent from a hand-pasted one without the CLI reporting anything.
@@ -56,25 +54,13 @@ function previewInputs(args) {
56
54
  return { ...inputs, ai21Key: REDACTED_KEY };
57
55
  }
58
56
  /** `--print`: render what *would* be written, without touching the filesystem. */
59
- function printConfig(args) {
60
- const inputs = previewInputs(args);
57
+ function printConfig(args, agent) {
58
+ const preview = agent.preview(previewInputs(args));
61
59
  if (args.json) {
62
- const payload = {
63
- target: args.target,
64
- urls: args.urls,
65
- settings: { env: ccSettingsEnv(inputs) },
66
- };
60
+ const payload = { target: args.target, urls: args.urls, ...preview.json };
67
61
  return { code: EXIT.OK, out: `${JSON.stringify(payload, null, 2)}\n`, err: "" };
68
62
  }
69
- return { code: EXIT.OK, out: `${ccSettings(inputs)}\n`, err: "" };
70
- }
71
- /**
72
- * Blanks the AI21 key wherever it appears in a header value. Conflict output
73
- * quotes both the existing and the new value, and both carry a live credential —
74
- * which would otherwise land in a terminal scrollback or a CI log.
75
- */
76
- function redactKey(value) {
77
- return value.replace(/(x-ai21-key:\s*)\S+/gi, "$1****");
63
+ return { code: EXIT.OK, out: `${preview.text}\n`, err: "" };
78
64
  }
79
65
  /**
80
66
  * Header values are `\n`-joined, so a raw one breaks out of the indented block
@@ -84,12 +70,16 @@ function redactKey(value) {
84
70
  function indentContinuations(value, pad) {
85
71
  return value.split("\n").join(`\n${pad}`);
86
72
  }
87
- /** Renders the per-key breakdown under the refusal headline. */
88
- function describeConflicts(conflicts) {
73
+ /**
74
+ * Renders the per-key breakdown under the refusal headline. Both sides go through the
75
+ * agent's redaction: each carries a live AI21 key, which would otherwise land in a
76
+ * terminal scrollback or a CI log.
77
+ */
78
+ function describeConflicts(conflicts, redact) {
89
79
  const pad = " ".repeat(" current: ".length);
90
80
  const lines = conflicts.map((c) => ` ${c.key}\n` +
91
- ` current: ${indentContinuations(redactKey(c.current), pad)}\n` +
92
- ` new: ${indentContinuations(redactKey(c.desired), pad)}`);
81
+ ` current: ${indentContinuations(redact(c.current), pad)}\n` +
82
+ ` new: ${indentContinuations(redact(c.desired), pad)}`);
93
83
  return [
94
84
  ...lines,
95
85
  "",
@@ -98,10 +88,10 @@ function describeConflicts(conflicts) {
98
88
  ].join("\n");
99
89
  }
100
90
  /** Human-only detail appended under the one-line outcome. */
101
- function detailFor(outcome) {
91
+ function detailFor(outcome, agent) {
102
92
  switch (outcome.kind) {
103
93
  case "conflict":
104
- return describeConflicts(outcome.conflicts);
94
+ return describeConflicts(outcome.conflicts, agent.redact);
105
95
  case "malformed":
106
96
  return `${nothingWasWritten()} Fix or move the file, then re-run.\n`;
107
97
  case "failed":
@@ -110,10 +100,6 @@ function detailFor(outcome) {
110
100
  return undefined;
111
101
  }
112
102
  }
113
- /** The directory `claude` must run in for the file we write to be the one it reads. */
114
- function verifyCwd(args, ctx) {
115
- return args.target === "user" ? ctx.paths.home : ctx.paths.cwd;
116
- }
117
103
  /** Says what is happening now. The line is overwritten by the next step and cleared before the result. */
118
104
  function step(ctx, text) {
119
105
  (ctx.status ?? NO_STATUS).update(text);
@@ -135,51 +121,51 @@ function approvedInBrowser(ctx) {
135
121
  * verify after a refusal, and a request fired anyway would report on whatever
136
122
  * config was already there.
137
123
  */
138
- async function verifyWrite(args, ctx, outcome, inputs) {
124
+ async function verifyWrite(args, ctx, agent, paths, outcome, inputs) {
139
125
  if (EXIT_FOR[outcome.kind] !== EXIT.OK)
140
126
  return undefined;
141
127
  if (args.noVerify)
142
128
  return { kind: "disabled" };
143
129
  step(ctx, "Verifying through the gateway…");
144
- return verify({
130
+ return agent.verify({
145
131
  urls: args.urls,
146
132
  agentId: inputs.agentId,
147
133
  ai21Key: inputs.ai21Key,
148
134
  userId: args.userId,
149
- anthropicKey: args.anthropicKey,
135
+ upstreamKey: args.anthropicKey,
150
136
  processEnv: ctx.processEnv,
151
- // Verify from wherever the file we just wrote is the authoritative one — see
152
- // VerifyContext.cwd. A --user config verified from the project directory
153
- // would be shadowed by any repo-local settings.json.
154
- cwd: verifyCwd(args, ctx),
137
+ // Verify from wherever the file we just wrote is the authoritative one; a --user
138
+ // config verified from the project directory could be shadowed by a repo-local one.
139
+ cwd: paths.verifyCwd,
155
140
  }, ctx.verify);
156
141
  }
157
142
  /**
158
- * Write, verify, report. The one writer every credential path goes through, so
159
- * however they were obtained they meet the same conflict, backup and idempotency
160
- * rules.
143
+ * Snapshot, write, verify, report — and undo the write when verification proves the
144
+ * agent's own login cannot carry requests.
161
145
  *
162
- * Without a Claude login the gateway can never answer, so a config left in place would
163
- * route Claude Code at a gateway that rejects everything. That is caught before the
164
- * write when `claude auth status` can tell, and undone after it when verification
165
- * proves it. `--no-verify` skips both, for installs with no Claude login yet by design.
146
+ * Without that login the gateway can never answer, so a config left in place would
147
+ * route the agent at a gateway that rejects everything. That is caught before the
148
+ * write when the agent's local status check can tell, and undone after it when
149
+ * verification proves it. `--no-verify` skips both, for installs with no login yet by design.
166
150
  */
167
- async function writeAndReport(args, ctx, inputs, precheck) {
168
- const paths = resolvePaths(args.target, ctx.paths, args.client);
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") {
175
- const result = reportNoClaudeCredential({
176
- path: paths.settings,
177
- reason: "logged-out",
178
- state: "not-written",
179
- json: args.json,
180
- urls: args.urls,
181
- });
182
- return { result, failure: { stage: "claudeLogin", errorMessage: NO_CLAUDE_CREDENTIAL_REASON["logged-out"] } };
151
+ async function writeAndReport(args, ctx, agent, inputs, precheck) {
152
+ const paths = agent.resolvePaths(args.target, agentEnv(ctx));
153
+ if (!args.noVerify) {
154
+ step(ctx, agent.text.checkingLogin);
155
+ const subscription = await agent.checkSubscription(paths, ctx.verify);
156
+ if (subscription.kind === "present")
157
+ finished(ctx, agent.text.loginFound);
158
+ if (subscription.kind === "missing") {
159
+ const result = reportNoSubscription({
160
+ path: paths.settings,
161
+ reason: subscription.reason,
162
+ text: agent.text,
163
+ state: "not-written",
164
+ json: args.json,
165
+ urls: args.urls,
166
+ });
167
+ return { result, failure: noSubscriptionFailure(agent.text, subscription.reason) };
168
+ }
183
169
  }
184
170
  let snapshot;
185
171
  try {
@@ -189,14 +175,15 @@ async function writeAndReport(args, ctx, inputs, precheck) {
189
175
  // The writer reports an unreadable file itself; the write just goes unguarded.
190
176
  snapshot = undefined;
191
177
  }
192
- const outcome = writeConfig(paths, ccSettingsEnv(inputs), { force: args.yes });
193
- const verification = await verifyWrite(args, ctx, outcome, inputs);
194
- if (verification?.kind === "no-claude-credential") {
178
+ const outcome = agent.write(paths, inputs, { force: args.yes });
179
+ const verification = await verifyWrite(args, ctx, agent, paths, outcome, inputs);
180
+ if (verification?.kind === "no-subscription") {
195
181
  const wrote = outcome.kind !== "unchanged";
196
182
  const restore = wrote && snapshot !== undefined ? restoreConfig(snapshot) : undefined;
197
- const result = reportNoClaudeCredential({
183
+ const result = reportNoSubscription({
198
184
  path: paths.settings,
199
185
  reason: verification.reason,
186
+ text: agent.text,
200
187
  state: !wrote
201
188
  ? "unchanged"
202
189
  : restore?.kind === "restored"
@@ -205,31 +192,24 @@ async function writeAndReport(args, ctx, inputs, precheck) {
205
192
  json: args.json,
206
193
  urls: args.urls,
207
194
  });
208
- return {
209
- result,
210
- failure: { stage: "claudeLogin", errorMessage: NO_CLAUDE_CREDENTIAL_REASON[verification.reason] },
211
- };
195
+ return { result, failure: noSubscriptionFailure(agent.text, verification.reason) };
212
196
  }
213
197
  const result = report({
214
198
  outcome,
215
- warnings: collectWarnings({
216
- urls: args.urls,
217
- processEnv: ctx.processEnv,
218
- localOverride: shadowingLocalConfig(paths),
219
- }),
199
+ text: agent.text,
200
+ warnings: [...agent.warnings(paths, ctx.processEnv), ...collectWarnings({ urls: args.urls })],
220
201
  json: args.json,
221
- detail: detailFor(outcome),
202
+ detail: detailFor(outcome, agent),
222
203
  urls: args.urls,
223
204
  verification,
224
205
  precheck,
225
206
  });
226
- return { result, failure: writeFailure(outcome) ?? verifyFailure(verification) };
207
+ return { result, failure: writeFailure(outcome) ?? verifyFailure(verification, agent.text) };
208
+ }
209
+ /** The agent's own fixed reason, never the text the user saw; unknown reasons send the reason key. */
210
+ function noSubscriptionFailure(text, reason) {
211
+ return { stage: "agentLogin", errorMessage: text.noSubscription[reason]?.telemetryReason ?? reason };
227
212
  }
228
- /** Fixed reasons for the telemetry, so a path or a message never leaves the machine. */
229
- const NO_CLAUDE_CREDENTIAL_REASON = {
230
- "logged-out": "no Claude login",
231
- "key-rejected": "Claude credential rejected",
232
- };
233
213
  function writeFailure(outcome) {
234
214
  switch (outcome.kind) {
235
215
  case "conflict":
@@ -243,7 +223,7 @@ function writeFailure(outcome) {
243
223
  }
244
224
  }
245
225
  /** Only a passed verification completes the setup: a config nobody has seen route is not a success. */
246
- function verifyFailure(verification) {
226
+ function verifyFailure(verification, text) {
247
227
  switch (verification?.kind) {
248
228
  case "passed":
249
229
  case undefined:
@@ -251,11 +231,11 @@ function verifyFailure(verification) {
251
231
  case "disabled":
252
232
  return { stage: "verify", errorMessage: "verification disabled with --no-verify" };
253
233
  case "skipped":
254
- return { stage: "verify", errorMessage: "verification skipped: no claude and no Anthropic credential" };
234
+ return { stage: "verify", errorMessage: "verification skipped: nothing to verify with" };
255
235
  case "failed":
256
236
  return { stage: "verify", errorMessage: "verification request failed" };
257
- case "no-claude-credential":
258
- return { stage: "claudeLogin", errorMessage: NO_CLAUDE_CREDENTIAL_REASON[verification.reason] };
237
+ case "no-subscription":
238
+ return noSubscriptionFailure(text, verification.reason);
259
239
  }
260
240
  }
261
241
  const MAX_AGENTS_LISTED = 5;
@@ -349,49 +329,47 @@ function refuse(stage, errorMessage, result, errorCode) {
349
329
  return { ...result, failure: { stage, errorMessage, ...(errorCode === undefined ? {} : { errorCode }) } };
350
330
  }
351
331
  /** The tracking plan's name for each client this CLI configures. */
352
- const AGENT_KIND = { "claude-code": "claude_code" };
353
332
  /**
354
333
  * `install`, reported as one setup: CliSetupStarted first, then exactly one of
355
334
  * CliSetupCompleted or CliSetupFailed. Only a passed verification counts as completed.
356
335
  */
357
- async function install(args, ctx) {
358
- const setup = ctx.telemetry.startSetup("installAgent");
359
- const { failure, ...result } = await installSteps(args, ctx);
360
- // Read after the flow, because sign-in and re-homing can both change the workspace.
361
- const context = { agentKind: AGENT_KIND[args.client], workspaceId: storedWorkspace(args, ctx) };
336
+ async function install(args, ctx, agent) {
337
+ const setup = ctx.telemetry.startSetup("installAgent", storedSession(args, ctx)?.userId);
338
+ const { failure, ...result } = await installSteps(args, ctx, agent);
339
+ // Read again after the flow, because sign-in and re-homing can change the user and workspace.
340
+ // With no signed-in user there is no one to attribute the setup to, so it is not reported.
341
+ const session = storedSession(args, ctx);
342
+ if (session === undefined)
343
+ return result;
344
+ const context = {
345
+ userId: session.userId,
346
+ agentKind: agent.kind,
347
+ // A --key may belong to another workspace than the stored session's, so it names none.
348
+ workspaceId: args.key === undefined ? session.workspaceId : undefined,
349
+ };
362
350
  if (failure === undefined)
363
351
  setup.completed(context);
364
352
  else
365
353
  setup.failed(failure, context);
366
354
  return result;
367
355
  }
368
- /** The workspace of this gateway's stored session, when there is one. `--key` alone names none. */
369
- function storedWorkspace(args, ctx) {
370
- if (args.key !== undefined)
371
- return undefined;
356
+ /** This gateway's stored session, when there is one. Its user is the person running the CLI, even under --key. */
357
+ function storedSession(args, ctx) {
372
358
  const stored = loadCredential(args.urls.gateway, credentialPaths(ctx));
373
- return stored.kind === "credential" ? stored.credential.workspaceId : undefined;
374
- }
375
- /**
376
- * Claude Code is the only client, so with neither its CLI nor an Anthropic key to reach
377
- * the gateway through, a sign-in, a minted key and a written config would all be for
378
- * nothing. Checked first, and even under --no-verify, which governs only the post-write
379
- * check. An Anthropic key alone is enough: it serves any other client, and the direct
380
- * ping verifies with it.
381
- */
382
- function canReachAnthropic(args, ctx) {
383
- if (findOnPath(CLAUDE_COMMAND, ctx.verify.lookup) !== undefined)
384
- return true;
385
- return resolveAnthropicKey({ anthropicKey: args.anthropicKey, processEnv: ctx.processEnv }) !== undefined;
359
+ return stored.kind === "credential" ? stored.credential : undefined;
386
360
  }
387
361
  /**
388
362
  * The key is checked before `writeConfig`, and only a definite rejection stops it. Both
389
363
  * ways in are gated: a `--key` the caller passed, and the key the sign-in minted — which
390
364
  * should be good by construction, but can still fail on entitlement or workspace.
391
365
  */
392
- async function installSteps(args, ctx) {
393
- if (!canReachAnthropic(args, ctx)) {
394
- return refuse("detect", "claude code cli not installed", reportNoClaudeCli(args.json));
366
+ async function installSteps(args, ctx, agent) {
367
+ /* With the agent unreachable, a sign-in, a minted key and a written config would all
368
+ * be for nothing. Checked first, and even under --no-verify, which governs only the
369
+ * post-write check. */
370
+ const installed = agent.checkInstalled({ upstreamKey: args.anthropicKey, processEnv: ctx.processEnv }, ctx.verify);
371
+ if (installed.kind === "missing") {
372
+ return refuse("detect", agent.text.notInstalled.telemetryReason, reportAgentNotInstalled(agent.text, args.json));
395
373
  }
396
374
  const resolved = await resolveKeyForInstall(args, ctx);
397
375
  if (!("key" in resolved))
@@ -428,12 +406,24 @@ async function installSteps(args, ctx) {
428
406
  err: `${unknownAgentMessage(args.agentId, outcome.known)}\n`,
429
407
  });
430
408
  }
409
+ /* The dashboard creates each agent for one client, and attributes its traffic that way.
410
+ * Only a kind another client here owns is a definite mismatch; "other" or a kind the
411
+ * CLI has never heard of is left to the user. */
412
+ const owner = outcome.kind === "accepted" && outcome.agentKind !== undefined ? agentOfKind(outcome.agentKind) : undefined;
413
+ if (owner !== undefined && owner.kind !== agent.kind) {
414
+ return refuse("keyCheck", "agent kind mismatch", {
415
+ code: EXIT.USAGE,
416
+ out: "",
417
+ err: `'${args.agentId ?? ""}' is a ${owner.displayName} agent, but this command configures ${agent.displayName}. ` +
418
+ `${nothingWasWritten()} Re-run with --client ${owner.id}, or create a ${agent.displayName} agent in the dashboard.\n`,
419
+ });
420
+ }
431
421
  if (outcome.kind === "rejected") {
432
422
  return refuse("keyCheck", "key rejected", { code: EXIT.USAGE, out: "", err: rejectedKeyMessage(args) }, outcome.status);
433
423
  }
434
424
  if (outcome.kind === "accepted")
435
425
  finished(ctx, `AI21 key accepted for agent ${args.agentId ?? ""}`);
436
- const { result, failure } = await writeAndReport(args, ctx, { ...snippetInputs(args), ai21Key: key }, outcome);
426
+ const { result, failure } = await writeAndReport(args, ctx, agent, { ...snippetInputs(args), ai21Key: key }, outcome);
437
427
  return failure === undefined ? result : { ...result, failure };
438
428
  }
439
429
  /**
@@ -628,24 +618,46 @@ function loginProgress(ctx) {
628
618
  function credentialPaths(ctx) {
629
619
  return { home: ctx.paths.home, warn: ctx.notify };
630
620
  }
631
- /** `uninstall`: hand the resolved paths to the reverter and report what it did. */
632
- function uninstall(args, ctx) {
633
- const outcome = revertConfig(resolvePaths(args.target, ctx.paths, args.client), {
621
+ function agentEnv(ctx) {
622
+ return { ...ctx.paths, processEnv: ctx.processEnv };
623
+ }
624
+ /** `uninstall`: hand the resolved paths to the agent's reverter and report what it did. */
625
+ function uninstall(args, ctx, agent) {
626
+ const outcome = agent.revert(agent.resolvePaths(args.target, agentEnv(ctx)), {
634
627
  fromBackup: args.fromBackup,
635
628
  force: args.yes,
636
629
  agentIdGuard: args.agentIdGuard,
637
630
  });
638
631
  return reportRevert(outcome, args.json);
639
632
  }
633
+ /**
634
+ * A flag combination the chosen agent cannot honour, refused before anything runs.
635
+ * Checked here rather than in args, which knows flags but not agents.
636
+ */
637
+ function unsupportedByAgent(args, agent) {
638
+ const refuse = (message) => ({ code: EXIT.USAGE, out: "", err: `${message}\n` });
639
+ if (!agent.targets.includes(args.target)) {
640
+ return refuse(`--${args.target} is not supported for ${agent.displayName}, which is configured with ` +
641
+ `${agent.targets.map((target) => `--${target}`).join(" or ")} only.`);
642
+ }
643
+ if (args.anthropicKey !== undefined && !agent.verifyFlags.includes("anthropic-key")) {
644
+ return refuse(`--anthropic-key is not used by ${agent.displayName}.`);
645
+ }
646
+ return undefined;
647
+ }
640
648
  export async function dispatch(args, ctx) {
649
+ const agent = (ctx.agents ?? agentFor)(args.client);
650
+ const unsupported = unsupportedByAgent(args, agent);
651
+ if (unsupported !== undefined)
652
+ return unsupported;
641
653
  if (args.verb === "uninstall")
642
- return uninstall(args, ctx);
654
+ return uninstall(args, ctx, agent);
643
655
  // --print is a preview of the resolved config, which needs no credentials and so
644
656
  // has nothing to sign in for.
645
657
  if (args.print)
646
- return printConfig(args);
658
+ return printConfig(args, agent);
647
659
  if (args.verb === "login")
648
660
  return login(args, ctx);
649
- return install(args, ctx);
661
+ return install(args, ctx, agent);
650
662
  }
651
663
  //# sourceMappingURL=router.js.map
@@ -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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"}
@@ -27,6 +27,7 @@ export function toAmplitudeEvent(event) {
27
27
  return {
28
28
  event_type: event.name,
29
29
  device_id: event.deviceId,
30
+ user_id: event.userId,
30
31
  time: event.time,
31
32
  insert_id: event.insertId,
32
33
  app_version: event.appVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"amplitudeHttp.js","sourceRoot":"","sources":["../../src/telemetry/amplitudeHttp.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,cAAc,EAAE,kCAAkC;IAClD,kBAAkB,EAAE,kCAAkC;CACvD,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,OAAyC,YAAY;IAErD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAQD,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;IAEnH,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,gBAAgB,EAAE,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,IAAc,EACd,YAAoB,eAAe;IAEnC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC/E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"amplitudeHttp.js","sourceRoot":"","sources":["../../src/telemetry/amplitudeHttp.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,cAAc,EAAE,kCAAkC;IAClD,kBAAkB,EAAE,kCAAkC;CACvD,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,OAAyC,YAAY;IAErD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAQD,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;IAEnH,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,gBAAgB,EAAE,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,IAAc,EACd,YAAoB,eAAe;IAEnC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC/E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -4,14 +4,15 @@
4
4
  * Nothing here may carry a key, an email, a path, argv or prompt content, which is why
5
5
  * `errorMessage` is a fixed reason chosen at the call site, never the text the user saw.
6
6
  */
7
+ import type { AgentKind } from "../agents/types.js";
7
8
  export declare const CLI_SETUP_STARTED = "CliSetupStarted";
8
9
  export declare const CLI_SETUP_COMPLETED = "CliSetupCompleted";
9
10
  export declare const CLI_SETUP_FAILED = "CliSetupFailed";
10
11
  export type CliEventName = typeof CLI_SETUP_STARTED | typeof CLI_SETUP_COMPLETED | typeof CLI_SETUP_FAILED;
11
12
  export type SetupKind = "installAgent";
12
13
  /** The plan's `login`, `detect`, `configWrite` and `verify`, plus two steps its examples do not name. */
13
- export type FailureStage = "detect" | "login" | "keyCheck" | "claudeLogin" | "configWrite" | "verify";
14
- export type AgentKind = "claude_code";
14
+ export type FailureStage = "detect" | "login" | "keyCheck" | "agentLogin" | "configWrite" | "verify";
15
+ export type { AgentKind } from "../agents/types.js";
15
16
  /** On all three events. `setupId` pairs a Started with its Completed or Failed. */
16
17
  export interface SetupProps {
17
18
  readonly app: "tokenwise";
@@ -19,8 +20,10 @@ export interface SetupProps {
19
20
  readonly setupKind: SetupKind;
20
21
  readonly setupId: string;
21
22
  }
22
- /** Known once the flow reaches them; omitted rather than guessed before that. */
23
+ /** How a flow ended. The optional fields are omitted rather than guessed when the flow never reached them. */
23
24
  export interface SetupContext {
25
+ /** The signed-in user. Sent as the event's user, not as a property. */
26
+ readonly userId: string;
24
27
  readonly workspaceId?: string | undefined;
25
28
  readonly agentKind?: AgentKind | undefined;
26
29
  }
@@ -30,7 +33,7 @@ export interface SetupFailure {
30
33
  /** The HTTP status, when the failure was an API call that returned one. */
31
34
  readonly errorCode?: number | undefined;
32
35
  }
33
- /** What is constant for one CLI run. `deviceId` is random per run until identity lands. */
36
+ /** What is constant for one CLI run. `deviceId` is random per run; the event's `userId` names the person. */
34
37
  export interface RunInfo {
35
38
  readonly deviceId: string;
36
39
  readonly appVersion: string;
@@ -42,5 +45,7 @@ export interface CliEvent extends RunInfo {
42
45
  readonly time: number;
43
46
  /** Lets the receiver drop a duplicate if a transport ever retries. */
44
47
  readonly insertId: string;
45
- readonly properties: SetupProps & SetupContext & Partial<SetupFailure>;
48
+ /** The webapp identifies users by the same id, so CLI and web events land on one user. */
49
+ readonly userId: string;
50
+ readonly properties: SetupProps & Omit<SetupContext, "userId"> & Partial<SetupFailure>;
46
51
  }
@@ -1,9 +1,3 @@
1
- /**
2
- * The CLI setup events from the tokenwise tracking plan, in a transport-neutral shape.
3
- *
4
- * Nothing here may carry a key, an email, a path, argv or prompt content, which is why
5
- * `errorMessage` is a fixed reason chosen at the call site, never the text the user saw.
6
- */
7
1
  export const CLI_SETUP_STARTED = "CliSetupStarted";
8
2
  export const CLI_SETUP_COMPLETED = "CliSetupCompleted";
9
3
  export const CLI_SETUP_FAILED = "CliSetupFailed";