tapimo 0.18.1 → 0.18.2

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.
@@ -308,16 +308,6 @@ export declare function data(options?: data.Options): import("hono/hono-base").H
308
308
  outputFormat: "body";
309
309
  status: 402;
310
310
  input: {};
311
- } | {
312
- output: "event: result\ndata: {\"ok\":true,\"columns\":[],\"rows\":[],\"row_count\":0}\n\n";
313
- outputFormat: "text";
314
- status: 200;
315
- input: {};
316
- } | {
317
- output: never;
318
- outputFormat: never;
319
- status: never;
320
- input: {};
321
311
  } | {
322
312
  output: {
323
313
  error: {
@@ -450,6 +440,16 @@ export declare function data(options?: data.Options): import("hono/hono-base").H
450
440
  outputFormat: "json";
451
441
  status: 504;
452
442
  input: {};
443
+ } | {
444
+ output: "event: result\ndata: {\"ok\":true,\"columns\":[],\"rows\":[],\"row_count\":0}\n\n";
445
+ outputFormat: "text";
446
+ status: 200;
447
+ input: {};
448
+ } | {
449
+ output: never;
450
+ outputFormat: never;
451
+ status: never;
452
+ input: {};
453
453
  };
454
454
  };
455
455
  }, "/"> | import("hono/types").MergeSchemaPath<{
@@ -115,6 +115,11 @@ export declare namespace resolve {
115
115
  sourceKeyId?: string | undefined;
116
116
  };
117
117
  }
118
+ /**
119
+ * Returns the one stored inferred key matching the options, without contacting the API, or
120
+ * `undefined` when none or several match.
121
+ */
122
+ export declare function cached(session: Credentials.Session, options: resolve.Options): string | undefined;
118
123
  /** Revokes inferred keys before forgetting or replacing a CLI session. */
119
124
  export declare function revoke(context: Auth.Context, session: Credentials.Session): Promise<boolean>;
120
125
  //# sourceMappingURL=ApiKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.d.ts","sourceRoot":"","sources":["../../src/cli/ApiKeys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAIpD,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAetE;AAwHD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,mEAAmE;IACnE,KAAK,OAAO,GAAG;QACb,mDAAmD;QACnD,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;QAClD,2DAA2D;QAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,wCAAwC;QACxC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;QACzB,+EAA+E;QAC/E,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACjC,CAAA;CACF;AAED,0EAA0E;AAC1E,wBAAsB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,oBAmB/E"}
1
+ {"version":3,"file":"ApiKeys.d.ts","sourceRoot":"","sources":["../../src/cli/ApiKeys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAIpD,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAetE;AAwHD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,mEAAmE;IACnE,KAAK,OAAO,GAAG;QACb,mDAAmD;QACnD,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;QAClD,2DAA2D;QAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,wCAAwC;QACxC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;QACzB,+EAA+E;QAC/E,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACjC,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,sBAW5E;AAED,0EAA0E;AAC1E,wBAAsB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,oBAmB/E"}
@@ -113,6 +113,19 @@ async function resolveKey(context, options) {
113
113
  });
114
114
  return key.token;
115
115
  }
116
+ /**
117
+ * Returns the one stored inferred key matching the options, without contacting the API, or
118
+ * `undefined` when none or several match.
119
+ */
120
+ export function cached(session, options) {
121
+ const environment = options.environment ?? 'production';
122
+ const matches = (session.apiKeys ?? []).filter((key) => key.environment === environment &&
123
+ (!options.orgId || key.orgId === options.orgId) &&
124
+ (!options.projectId || key.projectId === options.projectId) &&
125
+ (!key.expiresAt || Date.parse(key.expiresAt) > Date.now()) &&
126
+ options.scopes.every((scope) => key.scopes.includes(scope)));
127
+ return matches.length === 1 ? matches[0].token : undefined;
128
+ }
116
129
  /** Revokes inferred keys before forgetting or replacing a CLI session. */
117
130
  export async function revoke(context, session) {
118
131
  const keys = session.apiKeys ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sourceRoot":"","sources":["../../src/cli/ApiKeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sourceRoot":"","sources":["../../src/cli/ApiKeys.ts"],"names":[],"mappings":"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"}
package/dist/cli/Cli.js CHANGED
@@ -163,6 +163,20 @@ function source(parameters) {
163
163
  if (inferred)
164
164
  headers.set('tempo-api-key', inferred);
165
165
  }
166
+ // Signed-in reads of public data use the session's key for project rate limits and attribution.
167
+ else if (lanes?.apiKey) {
168
+ const inferred = await (async () => {
169
+ const session = await credentials.get(apiUrl);
170
+ if (!session)
171
+ return undefined;
172
+ const options = { environment, orgId, projectId, scopes: lanes.scopes, sourceKeyId };
173
+ // A stored key skips the account lookups, so every data command stays fast.
174
+ return ApiKeys.cached(session, options) ?? (await ApiKeys.resolve(context, options));
175
+ })().catch(() => undefined);
176
+ // Any failure to infer one keeps today's anonymous access rather than failing the read.
177
+ if (typeof inferred === 'string')
178
+ headers.set('tempo-api-key', inferred);
179
+ }
166
180
  // Sending nothing (or an API key) would earn an unhelpful 401 or 403.
167
181
  else if (lanes?.session && !lanes.apiKey && !lanes.public) {
168
182
  const message = `Not signed in, or the session expired. Run \`${name} login\`.`;
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"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"}
package/dist/cli/bin.js CHANGED
@@ -4,5 +4,6 @@ import * as Admin from './commands/admin.js';
4
4
  // Admin commands only need the database, so they never wait on the hosted API document.
5
5
  const admin = process.argv[2] === 'admin';
6
6
  const cli = await Cli.fromEnv(process.env, admin ? { openapi: { paths: {} } } : {});
7
- await cli.command(Admin.admin).serve();
7
+ // Bare `tapimo` shows help; incur would otherwise send `GET /` through its request gateway.
8
+ await cli.command(Admin.admin).serve(process.argv.length > 2 ? undefined : ['--help']);
8
9
  //# sourceMappingURL=bin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,wFAAwF;AACxF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;AACzC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACnF,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,wFAAwF;AACxF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;AACzC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACnF,4FAA4F;AAC5F,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Cli as incur_Cli } from 'incur';
2
2
  import * as Auth from './auth.js';
3
3
  /** API-key commands that act through the stored CLI session. */
4
- export declare function keys(context: Auth.Context): incur_Cli.Cli<{
4
+ export declare function keys(context: keys.Options): incur_Cli.Cli<{
5
5
  create: {
6
6
  args: {};
7
7
  options: {
@@ -14,4 +14,27 @@ export declare function keys(context: Auth.Context): incur_Cli.Cli<{
14
14
  };
15
15
  };
16
16
  }, undefined, undefined, undefined, "keys">;
17
+ export declare namespace keys {
18
+ /** Options for {@link keys}. */
19
+ type Options = Auth.Context & {
20
+ /** Picks one of several organizations or projects, or returns `undefined` to list them in the error. @default a numbered prompt in an interactive terminal */
21
+ select?: ((options: select.Options) => Promise<string | undefined>) | undefined;
22
+ };
23
+ namespace select {
24
+ /** What {@link keys.Options.select} chooses between. */
25
+ type Options = {
26
+ /** Whether the output is for an agent or script rather than a person. */
27
+ agent: boolean;
28
+ /** Candidates, in API order. */
29
+ choices: readonly Choice[];
30
+ /** Singular noun for the prompt (`project`). */
31
+ label: string;
32
+ };
33
+ }
34
+ }
35
+ type Choice = {
36
+ id: string;
37
+ name: string;
38
+ };
39
+ export {};
17
40
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAK,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO;;;;;;;;;;;;4CAmHzC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAK,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO;;;;;;;;;;;;4CA0HzC;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,gCAAgC;IAChC,KAAK,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG;QAC5B,8JAA8J;QAC9J,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;KAChF,CAAA;IAED,UAAU,MAAM,CAAC;QACf,wDAAwD;QACxD,KAAK,OAAO,GAAG;YACb,yEAAyE;YACzE,KAAK,EAAE,OAAO,CAAA;YACd,gCAAgC;YAChC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;YAC1B,gDAAgD;YAChD,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF;CACF;AAED,KAAK,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -1,8 +1,9 @@
1
+ import * as readline from 'node:readline/promises';
1
2
  import { Cli as incur_Cli, z } from 'incur';
2
3
  import * as Auth from './auth.js';
3
4
  /** API-key commands that act through the stored CLI session. */
4
5
  export function keys(context) {
5
- const { api, apiUrl, credentials } = context;
6
+ const { api, apiUrl, credentials, select = selectInTerminal } = context;
6
7
  // Maps an API failure to a CLI error; an expired session also forgets the stored token.
7
8
  async function failure(response) {
8
9
  if (response.status === 401) {
@@ -56,7 +57,10 @@ export function keys(context) {
56
57
  if (orgs && orgs.status !== 200)
57
58
  return c.error(await failure(orgs));
58
59
  const orgChoices = orgs ? (await orgs.json()).data : [];
59
- const orgId = c.options.org ?? (orgChoices.length === 1 ? orgChoices[0].id : undefined);
60
+ const orgId = c.options.org ??
61
+ (orgChoices.length > 1
62
+ ? await select({ agent: c.agent, choices: orgChoices, label: 'organization' })
63
+ : orgChoices[0]?.id);
60
64
  if (!orgId)
61
65
  return c.error(orgChoices.length === 0
62
66
  ? { code: 'no_organizations', message: 'Create an organization in the Tempo console first.' } // prettier-ignore
@@ -68,7 +72,10 @@ export function keys(context) {
68
72
  if (projects && projects.status !== 200)
69
73
  return c.error(await failure(projects));
70
74
  const projectChoices = projects ? (await projects.json()).data : [];
71
- const projectId = c.options.project ?? (projectChoices.length === 1 ? projectChoices[0].id : undefined);
75
+ const projectId = c.options.project ??
76
+ (projectChoices.length > 1
77
+ ? await select({ agent: c.agent, choices: projectChoices, label: 'project' })
78
+ : projectChoices[0]?.id);
72
79
  if (!projectId)
73
80
  return c.error(projectChoices.length === 0
74
81
  ? { code: 'no_projects', message: 'Create a project in the Tempo console first.' }
@@ -96,8 +103,8 @@ export function keys(context) {
96
103
  token: key.token,
97
104
  }, {
98
105
  cta: {
99
- commands: [{ command: 'v1 tokens get', description: 'Call the API with TEMPO_API_KEY set' }], // prettier-ignore
100
- description: 'Store the token now; it is not shown again.',
106
+ commands: [{ command: 'v1 --help', description: 'Call the API; the CLI uses your sign-in' }], // prettier-ignore
107
+ description: 'Store the token for your app now; it is not shown again.',
101
108
  },
102
109
  });
103
110
  },
@@ -106,4 +113,24 @@ export function keys(context) {
106
113
  function describe(choices) {
107
114
  return choices.map(({ id, name }) => `${id} (${name})`).join(', ');
108
115
  }
116
+ async function selectInTerminal(options) {
117
+ const { agent, choices, label } = options;
118
+ // Agents and scripts get the choices in the error rather than a prompt that would wait forever.
119
+ if (agent || !process.stdin.isTTY || !process.stderr.isTTY)
120
+ return undefined;
121
+ // The prompt writes to stderr so stdout keeps only the command's result.
122
+ const prompt = readline.createInterface({ input: process.stdin, output: process.stderr });
123
+ try {
124
+ process.stderr.write(`Select a ${label}:\n${choices.map(({ id, name }, index) => ` ${index + 1}) ${name} ${id}`).join('\n')}\n`);
125
+ for (;;) {
126
+ const answer = (await prompt.question(`${label} [1-${choices.length}]: `)).trim();
127
+ const choice = choices[Number(answer) - 1] ?? choices.find(({ id }) => id === answer);
128
+ if (choice)
129
+ return choice.id;
130
+ }
131
+ }
132
+ finally {
133
+ prompt.close();
134
+ }
135
+ }
109
136
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/cli/commands/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/cli/commands/keys.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tapimo",
3
3
  "type": "module",
4
- "version": "0.18.1",
4
+ "version": "0.18.2",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -156,6 +156,23 @@ export declare namespace resolve {
156
156
  }
157
157
  }
158
158
 
159
+ /**
160
+ * Returns the one stored inferred key matching the options, without contacting the API, or
161
+ * `undefined` when none or several match.
162
+ */
163
+ export function cached(session: Credentials.Session, options: resolve.Options) {
164
+ const environment = options.environment ?? 'production'
165
+ const matches = (session.apiKeys ?? []).filter(
166
+ (key) =>
167
+ key.environment === environment &&
168
+ (!options.orgId || key.orgId === options.orgId) &&
169
+ (!options.projectId || key.projectId === options.projectId) &&
170
+ (!key.expiresAt || Date.parse(key.expiresAt) > Date.now()) &&
171
+ options.scopes.every((scope) => key.scopes.includes(scope)),
172
+ )
173
+ return matches.length === 1 ? matches[0]!.token : undefined
174
+ }
175
+
159
176
  /** Revokes inferred keys before forgetting or replacing a CLI session. */
160
177
  export async function revoke(context: Auth.Context, session: Credentials.Session) {
161
178
  const keys = session.apiKeys ?? []
@@ -205,6 +205,45 @@ describe('from', () => {
205
205
  }
206
206
  })
207
207
 
208
+ test('signs public data reads with the session key, falling back to anonymous access', async () => {
209
+ const context = await TestCli.create()
210
+ const sent = () =>
211
+ context.requests.findLast((request) => new URL(request.url).pathname === '/v1/tokens')!
212
+ const tokens = () => TestCli.serve(context.cli, ['v1', 'tokens', 'get', '--format', 'json'])
213
+
214
+ // Signed out: anonymous, as before.
215
+ await tokens()
216
+ expect(sent().headers.has('tempo-api-key')).toBe(false)
217
+
218
+ // Signed in without a project: inference fails, so the read stays anonymous.
219
+ const { cookie } = await TestCli.login(context, { scopes: ['data:read'] })
220
+ await tokens()
221
+ expect(sent().headers.has('tempo-api-key')).toBe(false)
222
+
223
+ const headers = { 'content-type': 'application/json', cookie }
224
+ const org = (await (
225
+ await context.app.request('/v1/orgs', { body: '{"name":"Acme"}', headers, method: 'POST' })
226
+ ).json()) as { id: string }
227
+ await context.app.request(`/v1/orgs/${org.id}/projects`, {
228
+ body: '{"name":"Checkout"}',
229
+ headers,
230
+ method: 'POST',
231
+ })
232
+
233
+ // Signed in with one project: the CLI infers a scoped key and sends it.
234
+ await tokens()
235
+ const key = sent().headers.get('tempo-api-key')
236
+ expect(key).toMatch(/^tempo:sk:/)
237
+
238
+ // The stored key is reused without account lookups.
239
+ const before = context.requests.length
240
+ await tokens()
241
+ expect(sent().headers.get('tempo-api-key')).toBe(key)
242
+ expect(context.requests.slice(before).map((request) => new URL(request.url).pathname)).toEqual([
243
+ '/v1/tokens',
244
+ ])
245
+ })
246
+
208
247
  test('sends the API key only to operations that accept one', async () => {
209
248
  const context = await TestCli.create({ apiKey: TestApp.key.token })
210
249
  const sent = (pathname: string) =>
package/src/cli/Cli.ts CHANGED
@@ -261,6 +261,18 @@ function source(parameters: source.Parameters): Fetch.RequestSource {
261
261
  if (inferred && typeof inferred !== 'string') return inferred as Response
262
262
  if (inferred) headers.set('tempo-api-key', inferred)
263
263
  }
264
+ // Signed-in reads of public data use the session's key for project rate limits and attribution.
265
+ else if (lanes?.apiKey) {
266
+ const inferred = await (async () => {
267
+ const session = await credentials.get(apiUrl)
268
+ if (!session) return undefined
269
+ const options = { environment, orgId, projectId, scopes: lanes.scopes, sourceKeyId }
270
+ // A stored key skips the account lookups, so every data command stays fast.
271
+ return ApiKeys.cached(session, options) ?? (await ApiKeys.resolve(context, options))
272
+ })().catch(() => undefined)
273
+ // Any failure to infer one keeps today's anonymous access rather than failing the read.
274
+ if (typeof inferred === 'string') headers.set('tempo-api-key', inferred)
275
+ }
264
276
  // Sending nothing (or an API key) would earn an unhelpful 401 or 403.
265
277
  else if (lanes?.session && !lanes.apiKey && !lanes.public) {
266
278
  const message = `Not signed in, or the session expired. Run \`${name} login\`.`
@@ -19,6 +19,11 @@ describe('tapimo', () => {
19
19
 
20
20
  await tapimo(['--help'], api.url)
21
21
  expect(api.requests).toEqual(['/openapi.json'])
22
+
23
+ // A bare run shows help instead of requesting the API root.
24
+ const { stdout } = await tapimo([], api.url)
25
+ expect(stdout).toContain('Usage: tapimo <command>')
26
+ expect(api.requests).toEqual(['/openapi.json', '/openapi.json'])
22
27
  } finally {
23
28
  api.server.close()
24
29
  }
package/src/cli/bin.ts CHANGED
@@ -5,4 +5,5 @@ import * as Admin from './commands/admin.js'
5
5
  // Admin commands only need the database, so they never wait on the hosted API document.
6
6
  const admin = process.argv[2] === 'admin'
7
7
  const cli = await Cli.fromEnv(process.env, admin ? { openapi: { paths: {} } } : {})
8
- await cli.command(Admin.admin).serve()
8
+ // Bare `tapimo` shows help; incur would otherwise send `GET /` through its request gateway.
9
+ await cli.command(Admin.admin).serve(process.argv.length > 2 ? undefined : ['--help'])
@@ -1,4 +1,8 @@
1
+ import { Cli as incur_Cli } from 'incur'
2
+
1
3
  import * as TestCli from '../../../test/cli.js'
4
+ import * as Client from '../../Client.js'
5
+ import * as Keys from './keys.js'
2
6
 
3
7
  type Context = Awaited<ReturnType<typeof TestCli.create>>
4
8
 
@@ -34,7 +38,7 @@ describe('keys create', () => {
34
38
  ])
35
39
  expect(code).toBe(0)
36
40
  const { cta, id, token, ...key } = JSON.parse(lines.join('\n'))
37
- expect(cta.description).toBe('Store the token now; it is not shown again.')
41
+ expect(cta.description).toBe('Store the token for your app now; it is not shown again.')
38
42
  expect(id).toMatch(/^key_/)
39
43
  expect(token).toMatch(/^tempo:sk:[a-f0-9]{48}$/)
40
44
  expect(key).toEqual({
@@ -59,6 +63,45 @@ describe('keys create', () => {
59
63
  expect(error.message).toMatch(/^Pass --org with one of: org_\S+ \((Acme|Globex)\), org_\S+/)
60
64
  })
61
65
 
66
+ test('lets a person pick the organization and project', async () => {
67
+ const context = await TestCli.create()
68
+ const { cookie } = await TestCli.login(context)
69
+ await organization(context, cookie, 'Acme')
70
+ const globex = await organization(context, cookie, 'Globex')
71
+ const offered: { choices: string[]; label: string }[] = []
72
+ const cli = incur_Cli.create('tempo-api').command(
73
+ Keys.keys({
74
+ api: Client.create({
75
+ fetch: async (input: Request | string | URL, init?: RequestInit) =>
76
+ context.app.fetch(new Request(input, init)),
77
+ url: TestCli.origin,
78
+ }),
79
+ apiUrl: new URL(TestCli.origin),
80
+ credentials: context.credentials,
81
+ fetch: async (request) => context.app.fetch(request),
82
+ name: 'tempo api 0.0.0',
83
+ select: async ({ choices, label }) => {
84
+ offered.push({ choices: choices.map(({ name }) => name), label })
85
+ return choices.find(({ name }) => name === 'Globex')?.id ?? choices[0]?.id
86
+ },
87
+ }),
88
+ )
89
+
90
+ const { code, lines } = await TestCli.serve(cli as never, [
91
+ 'keys',
92
+ 'create',
93
+ '--format',
94
+ 'json',
95
+ ])
96
+ expect(code).toBe(0)
97
+ const { orgId, projectId } = JSON.parse(lines.join('\n'))
98
+ expect({ orgId, projectId }).toEqual(globex)
99
+ // A single project skips the picker.
100
+ expect(offered).toEqual([
101
+ { choices: expect.arrayContaining(['Acme', 'Globex']), label: 'organization' },
102
+ ])
103
+ })
104
+
62
105
  test('asks to sign in when no session is stored', async () => {
63
106
  const { cli } = await TestCli.create()
64
107
  const { code, lines } = await TestCli.serve(cli, ['keys', 'create', '--format', 'json'])
@@ -1,10 +1,11 @@
1
+ import * as readline from 'node:readline/promises'
1
2
  import { Cli as incur_Cli, z } from 'incur'
2
3
 
3
4
  import * as Auth from './auth.js'
4
5
 
5
6
  /** API-key commands that act through the stored CLI session. */
6
- export function keys(context: Auth.Context) {
7
- const { api, apiUrl, credentials } = context
7
+ export function keys(context: keys.Options) {
8
+ const { api, apiUrl, credentials, select = selectInTerminal } = context
8
9
 
9
10
  // Maps an API failure to a CLI error; an expired session also forgets the stored token.
10
11
  async function failure(response: Auth.ErrorResponse) {
@@ -61,7 +62,11 @@ export function keys(context: Auth.Context) {
61
62
  const orgs = c.options.org ? undefined : await api.v1.orgs.$get(undefined, request)
62
63
  if (orgs && orgs.status !== 200) return c.error(await failure(orgs))
63
64
  const orgChoices = orgs ? (await orgs.json()).data : []
64
- const orgId = c.options.org ?? (orgChoices.length === 1 ? orgChoices[0]!.id : undefined)
65
+ const orgId =
66
+ c.options.org ??
67
+ (orgChoices.length > 1
68
+ ? await select({ agent: c.agent, choices: orgChoices, label: 'organization' })
69
+ : orgChoices[0]?.id)
65
70
  if (!orgId)
66
71
  return c.error(
67
72
  orgChoices.length === 0
@@ -76,7 +81,10 @@ export function keys(context: Auth.Context) {
76
81
  if (projects && projects.status !== 200) return c.error(await failure(projects))
77
82
  const projectChoices = projects ? (await projects.json()).data : []
78
83
  const projectId =
79
- c.options.project ?? (projectChoices.length === 1 ? projectChoices[0]!.id : undefined)
84
+ c.options.project ??
85
+ (projectChoices.length > 1
86
+ ? await select({ agent: c.agent, choices: projectChoices, label: 'project' })
87
+ : projectChoices[0]?.id)
80
88
  if (!projectId)
81
89
  return c.error(
82
90
  projectChoices.length === 0
@@ -111,8 +119,8 @@ export function keys(context: Auth.Context) {
111
119
  },
112
120
  {
113
121
  cta: {
114
- commands: [{ command: 'v1 tokens get', description: 'Call the API with TEMPO_API_KEY set' }], // prettier-ignore
115
- description: 'Store the token now; it is not shown again.',
122
+ commands: [{ command: 'v1 --help', description: 'Call the API; the CLI uses your sign-in' }], // prettier-ignore
123
+ description: 'Store the token for your app now; it is not shown again.',
116
124
  },
117
125
  },
118
126
  )
@@ -120,6 +128,48 @@ export function keys(context: Auth.Context) {
120
128
  })
121
129
  }
122
130
 
123
- function describe(choices: readonly { id: string; name: string }[]) {
131
+ export declare namespace keys {
132
+ /** Options for {@link keys}. */
133
+ type Options = Auth.Context & {
134
+ /** Picks one of several organizations or projects, or returns `undefined` to list them in the error. @default a numbered prompt in an interactive terminal */
135
+ select?: ((options: select.Options) => Promise<string | undefined>) | undefined
136
+ }
137
+
138
+ namespace select {
139
+ /** What {@link keys.Options.select} chooses between. */
140
+ type Options = {
141
+ /** Whether the output is for an agent or script rather than a person. */
142
+ agent: boolean
143
+ /** Candidates, in API order. */
144
+ choices: readonly Choice[]
145
+ /** Singular noun for the prompt (`project`). */
146
+ label: string
147
+ }
148
+ }
149
+ }
150
+
151
+ type Choice = { id: string; name: string }
152
+
153
+ function describe(choices: readonly Choice[]) {
124
154
  return choices.map(({ id, name }) => `${id} (${name})`).join(', ')
125
155
  }
156
+
157
+ async function selectInTerminal(options: keys.select.Options) {
158
+ const { agent, choices, label } = options
159
+ // Agents and scripts get the choices in the error rather than a prompt that would wait forever.
160
+ if (agent || !process.stdin.isTTY || !process.stderr.isTTY) return undefined
161
+ // The prompt writes to stderr so stdout keeps only the command's result.
162
+ const prompt = readline.createInterface({ input: process.stdin, output: process.stderr })
163
+ try {
164
+ process.stderr.write(
165
+ `Select a ${label}:\n${choices.map(({ id, name }, index) => ` ${index + 1}) ${name} ${id}`).join('\n')}\n`,
166
+ )
167
+ for (;;) {
168
+ const answer = (await prompt.question(`${label} [1-${choices.length}]: `)).trim()
169
+ const choice = choices[Number(answer) - 1] ?? choices.find(({ id }) => id === answer)
170
+ if (choice) return choice.id
171
+ }
172
+ } finally {
173
+ prompt.close()
174
+ }
175
+ }