@heyditto/cli 2.2.0 → 2.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/README.md +37 -0
- package/dist/commands.d.ts +18 -0
- package/dist/commands.js +144 -8
- package/dist/commands.js.map +1 -1
- package/dist/gh-secret.d.ts +31 -0
- package/dist/gh-secret.js +94 -0
- package/dist/gh-secret.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -405,6 +405,9 @@ heyditto endpoints set <endpoint> --model … --system-prompt … --spend-limit
|
|
|
405
405
|
--record on|off --memory-depth <n>
|
|
406
406
|
heyditto endpoints delete <endpoint> [--yes]
|
|
407
407
|
heyditto endpoints keys <endpoint> list keys
|
|
408
|
+
heyditto endpoints keys create <endpoint> --gh-secret <NAME> [--repo owner/repo] [--env <env>] [--org <org>]
|
|
409
|
+
[--name <label>] [--expires <1h…never>] [--budget <tokens>]
|
|
410
|
+
[--spend-period <p>] [--yes]
|
|
408
411
|
heyditto endpoints keys revoke <endpoint> <keyId> [--yes]
|
|
409
412
|
```
|
|
410
413
|
|
|
@@ -412,6 +415,40 @@ Endpoints spend your Ditto credits, so deleting one, revoking a key or raising a
|
|
|
412
415
|
spend limit asks you to type the slug back; pass `--yes` in scripts. `--output
|
|
413
416
|
json` is available everywhere and includes the gateway base URL.
|
|
414
417
|
|
|
418
|
+
#### Put a key in GitHub Actions
|
|
419
|
+
|
|
420
|
+
`keys create --gh-secret` mints a long-lived key on an endpoint and stores it as
|
|
421
|
+
a GitHub Actions secret through the [`gh` CLI](https://cli.github.com) — **the
|
|
422
|
+
key is never shown**. The plaintext goes to `gh secret set` over stdin, so it
|
|
423
|
+
does not appear in argv, `ps`, shell history, logs or the CLI's own output, and
|
|
424
|
+
the CLI does not keep a copy. If `gh` fails to store it, the freshly minted key
|
|
425
|
+
is revoked again.
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
cd my-repo
|
|
429
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY # repo from the current directory (like gh)
|
|
430
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --repo acme/app --budget 5000000
|
|
431
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --repo acme/app --env production --yes
|
|
432
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --org acme --expires 6mo --output json
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
Requirements: `gh` on `PATH` and signed in (`gh auth status`) — both are checked
|
|
436
|
+
before anything is minted. Without a terminal the command needs `--yes`;
|
|
437
|
+
interactively it shows what it will do and asks you to type the secret name.
|
|
438
|
+
Defaults: key name `gh:<owner>/<repo>:<NAME>`, expiry `1y`; `--budget` caps the
|
|
439
|
+
key's spend (`--spend-period` defaults to `monthly`). The output shows the key's
|
|
440
|
+
last four characters, expiry, budget, where the secret was set, and a workflow
|
|
441
|
+
snippet:
|
|
442
|
+
|
|
443
|
+
```yaml
|
|
444
|
+
env:
|
|
445
|
+
ANTHROPIC_AUTH_TOKEN: ${{ secrets.DITTO_KEY }}
|
|
446
|
+
ANTHROPIC_BASE_URL: https://api.heyditto.ai
|
|
447
|
+
# OpenAI-compatible clients: OPENAI_API_KEY: ${{ secrets.DITTO_KEY }} with OPENAI_BASE_URL: https://api.heyditto.ai/v1
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
Revoke it any time with `heyditto endpoints keys revoke my-endpoint <keyId>`.
|
|
451
|
+
|
|
415
452
|
**Agent accounts.** An agent set up with `heyditto init` can create and manage
|
|
416
453
|
endpoints too, but an endpoint created by an unclaimed agent starts **inactive**:
|
|
417
454
|
it serves requests once the person the agent works for claims the agent and
|
package/dist/commands.d.ts
CHANGED
|
@@ -50,6 +50,24 @@ export declare function cmdEndpointKeysRevoke(ref: string, keyId: string, option
|
|
|
50
50
|
yes?: boolean;
|
|
51
51
|
output?: string;
|
|
52
52
|
}): Promise<void>;
|
|
53
|
+
interface KeysCreateOptions {
|
|
54
|
+
output?: string;
|
|
55
|
+
ghSecret?: string;
|
|
56
|
+
repo?: string;
|
|
57
|
+
env?: string;
|
|
58
|
+
org?: string;
|
|
59
|
+
name?: string;
|
|
60
|
+
expires?: string;
|
|
61
|
+
budget?: string;
|
|
62
|
+
spendPeriod?: string;
|
|
63
|
+
yes?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Mints a key on an endpoint and hands the plaintext straight to `gh secret
|
|
67
|
+
* set` over stdin. The key is never printed, logged or stored locally; on a
|
|
68
|
+
* failed `gh` call it is revoked again so nothing usable is left behind.
|
|
69
|
+
*/
|
|
70
|
+
export declare function cmdEndpointKeysCreate(ref: string, options: KeysCreateOptions): Promise<void>;
|
|
53
71
|
/** Registers the `endpoints` group; bare `heyditto endpoints [flags]` still lists. */
|
|
54
72
|
export declare function registerEndpointCommands(program: Command, addExamples: (c: Command, ex: string) => Command, outputOption: () => Option): void;
|
|
55
73
|
interface SessionsOptions {
|
package/dist/commands.js
CHANGED
|
@@ -2,11 +2,12 @@ import { createInterface } from "node:readline/promises";
|
|
|
2
2
|
import { Option } from "commander";
|
|
3
3
|
import { launchHarness, pickEndpoint } from "./agents/launch.js";
|
|
4
4
|
import { listSessions, removeSession } from "./agents/sessions.js";
|
|
5
|
-
import { HARNESSES, KEY_EXPIRIES } from "./agents/types.js";
|
|
6
|
-
import { createEndpoint, deleteEndpoint, findEndpoint, getEndpoint, isEndpointPending, listChatAgents, listEndpoints, listKeys, revokeKey, updateEndpoint, } from "./api.js";
|
|
5
|
+
import { HARNESSES, KEY_EXPIRIES, apiRootOf } from "./agents/types.js";
|
|
6
|
+
import { createEndpoint, createKey, deleteEndpoint, findEndpoint, getEndpoint, isEndpointPending, listChatAgents, listEndpoints, listKeys, revokeKey, updateEndpoint, } from "./api.js";
|
|
7
7
|
import { openInBrowser } from "./browser.js";
|
|
8
8
|
import { endpointURL } from "./config.js";
|
|
9
9
|
import { activationLink, formatActivation } from "./endpoint-format.js";
|
|
10
|
+
import { describeTarget, preflightGh, resolveRepoFromCwd, setGitHubSecret, validateRepo, validateSecretName, } from "./gh-secret.js";
|
|
10
11
|
import { SESSION_ENV, SESSION_ID_HEADER, endSession, readSessionHistory, resolveActiveSession, startSession, useSession, } from "./mcp-session.js";
|
|
11
12
|
import { readStoredAuth, updateStoredAuth } from "./store.js";
|
|
12
13
|
function pad(s, n) {
|
|
@@ -27,16 +28,25 @@ function isJSON(options) {
|
|
|
27
28
|
* terminal and without `--yes` the command refuses.
|
|
28
29
|
*/
|
|
29
30
|
async function confirmElevated(action, slug, yes) {
|
|
30
|
-
|
|
31
|
+
await confirmTyped({ action: `${action} "${slug}"`, expected: slug, label: "the endpoint slug", yes });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generic typed confirmation: the operator must type `expected` back (or pass
|
|
35
|
+
* `--yes`). Refuses without a terminal so scripts cannot stumble into it.
|
|
36
|
+
*/
|
|
37
|
+
async function confirmTyped(input) {
|
|
38
|
+
if (input.yes)
|
|
31
39
|
return;
|
|
32
40
|
if (!process.stdin.isTTY || !process.stderr.isTTY) {
|
|
33
|
-
throw new Error(`refusing to ${action}
|
|
41
|
+
throw new Error(`refusing to ${input.action} without confirmation. Re-run with --yes to confirm.`);
|
|
34
42
|
}
|
|
43
|
+
if (input.preview)
|
|
44
|
+
process.stderr.write(`${input.preview}\n`);
|
|
35
45
|
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
36
46
|
try {
|
|
37
|
-
const typed = (await rl.question(`Type
|
|
38
|
-
if (typed !==
|
|
39
|
-
throw new Error(`aborted: "${typed}" did not match "${
|
|
47
|
+
const typed = (await rl.question(`Type ${input.label} (${input.expected}) to ${input.action}: `)).trim();
|
|
48
|
+
if (typed !== input.expected)
|
|
49
|
+
throw new Error(`aborted: "${typed}" did not match "${input.expected}"`);
|
|
40
50
|
}
|
|
41
51
|
finally {
|
|
42
52
|
rl.close();
|
|
@@ -311,6 +321,112 @@ export async function cmdEndpointKeysRevoke(ref, keyId, options) {
|
|
|
311
321
|
}
|
|
312
322
|
process.stdout.write(`Revoked key ${keyId} on ${endpoint.slug}.\n`);
|
|
313
323
|
}
|
|
324
|
+
function parseKeyBudget(raw) {
|
|
325
|
+
if (raw === undefined)
|
|
326
|
+
return undefined;
|
|
327
|
+
const n = Number(raw.replace(/[_,]/g, ""));
|
|
328
|
+
if (!Number.isInteger(n) || n <= 0)
|
|
329
|
+
throw new Error(`--budget must be a positive integer token count, got "${raw}"`);
|
|
330
|
+
return n;
|
|
331
|
+
}
|
|
332
|
+
function parseKeyExpiry(raw) {
|
|
333
|
+
const value = (raw ?? "1y").trim();
|
|
334
|
+
if (KEY_EXPIRIES.includes(value))
|
|
335
|
+
return value;
|
|
336
|
+
throw new Error(`--expires must be one of: ${KEY_EXPIRIES.join(", ")}`);
|
|
337
|
+
}
|
|
338
|
+
/** Resolves where the secret goes from --repo / --env / --org (repo falls back to the cwd, like gh). */
|
|
339
|
+
function resolveSecretTarget(options) {
|
|
340
|
+
const org = options.org?.trim();
|
|
341
|
+
const env = options.env?.trim();
|
|
342
|
+
if (org) {
|
|
343
|
+
if (options.repo || env)
|
|
344
|
+
throw new Error("--org cannot be combined with --repo or --env (organization secrets are not scoped to one repository)");
|
|
345
|
+
if (!/^[A-Za-z0-9_.-]+$/.test(org))
|
|
346
|
+
throw new Error(`--org must be an organization login, got "${options.org}"`);
|
|
347
|
+
return { kind: "org", org };
|
|
348
|
+
}
|
|
349
|
+
const repo = options.repo ? validateRepo(options.repo) : resolveRepoFromCwd();
|
|
350
|
+
if (env)
|
|
351
|
+
return { kind: "env", repo, env };
|
|
352
|
+
return { kind: "repo", repo };
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Mints a key on an endpoint and hands the plaintext straight to `gh secret
|
|
356
|
+
* set` over stdin. The key is never printed, logged or stored locally; on a
|
|
357
|
+
* failed `gh` call it is revoked again so nothing usable is left behind.
|
|
358
|
+
*/
|
|
359
|
+
export async function cmdEndpointKeysCreate(ref, options) {
|
|
360
|
+
if (!options.ghSecret)
|
|
361
|
+
throw new Error("--gh-secret <NAME> is required: this command only mints keys straight into a GitHub Actions secret");
|
|
362
|
+
const secretName = validateSecretName(options.ghSecret);
|
|
363
|
+
const budget = parseKeyBudget(options.budget);
|
|
364
|
+
const expiresIn = parseKeyExpiry(options.expires);
|
|
365
|
+
if (options.spendPeriod !== undefined && budget === undefined)
|
|
366
|
+
throw new Error("--spend-period only applies together with --budget");
|
|
367
|
+
const spendPeriod = budget !== undefined ? (options.spendPeriod ?? "monthly") : undefined;
|
|
368
|
+
// Everything that can fail cheaply happens before any write: gh present and
|
|
369
|
+
// signed in, target repo known, endpoint exists, operator confirmed.
|
|
370
|
+
preflightGh();
|
|
371
|
+
const target = resolveSecretTarget(options);
|
|
372
|
+
const { endpoint, catalog } = await getEndpoint(ref);
|
|
373
|
+
const keyName = options.name?.trim() || (target.kind === "org" ? `gh-secret:${secretName}` : `gh:${target.repo}:${secretName}`);
|
|
374
|
+
const plan = `Will mint key "${keyName}" on ${endpoint.slug} (expires ${expiresIn}${budget !== undefined ? `, budget ${budget.toLocaleString()} tokens ${spendPeriod}` : ""}) and set secret ${secretName} on ${describeTarget(target)}.`;
|
|
375
|
+
await confirmTyped({ action: `mint a key on ${endpoint.slug} and set secret ${secretName}`, expected: secretName, label: "the secret name", yes: options.yes, preview: plan });
|
|
376
|
+
const minted = await createKey(endpoint.id, {
|
|
377
|
+
name: keyName,
|
|
378
|
+
expiresIn,
|
|
379
|
+
...(budget !== undefined ? { spendLimitTokens: budget, spendPeriod } : {}),
|
|
380
|
+
});
|
|
381
|
+
// Split the plaintext off immediately; only `plaintext` may reach gh's stdin.
|
|
382
|
+
const { key: plaintext, ...key } = minted;
|
|
383
|
+
try {
|
|
384
|
+
setGitHubSecret(secretName, target, plaintext ?? "");
|
|
385
|
+
}
|
|
386
|
+
catch (err) {
|
|
387
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
388
|
+
try {
|
|
389
|
+
await revokeKey(endpoint.id, key.id);
|
|
390
|
+
}
|
|
391
|
+
catch (revokeErr) {
|
|
392
|
+
const detail = revokeErr instanceof Error ? revokeErr.message : String(revokeErr);
|
|
393
|
+
throw new Error(`${reason}\nMinted key ${key.id} (…${key.keyHint}) on ${endpoint.slug} could NOT be revoked (${detail}). Revoke it now: heyditto endpoints keys revoke ${endpoint.slug} ${key.id} --yes, or at ${endpointURL(endpoint.id)}`);
|
|
394
|
+
}
|
|
395
|
+
throw new Error(`${reason}\nThe key minted for it (…${key.keyHint}) was revoked again; nothing was stored.`);
|
|
396
|
+
}
|
|
397
|
+
const anthropicBaseUrl = apiRootOf(catalog.baseUrl);
|
|
398
|
+
const openaiBaseUrl = catalog.baseUrl;
|
|
399
|
+
const snippet = `\${{ secrets.${secretName} }}`;
|
|
400
|
+
if (isJSON(options)) {
|
|
401
|
+
process.stdout.write(`${JSON.stringify({
|
|
402
|
+
endpoint: { id: endpoint.id, slug: endpoint.slug },
|
|
403
|
+
key: {
|
|
404
|
+
id: key.id,
|
|
405
|
+
name: key.name ?? keyName,
|
|
406
|
+
keyHint: key.keyHint,
|
|
407
|
+
expiresIn,
|
|
408
|
+
expiresAt: key.expiresAt ?? null,
|
|
409
|
+
spendLimitTokens: key.spendLimitTokens ?? budget ?? null,
|
|
410
|
+
spendPeriod: key.spendPeriod ?? spendPeriod ?? null,
|
|
411
|
+
},
|
|
412
|
+
secret: { name: secretName, ...target, snippet },
|
|
413
|
+
gateway: { baseUrl: catalog.baseUrl, anthropicBaseUrl, openaiBaseUrl },
|
|
414
|
+
}, null, 2)}\n`);
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
process.stdout.write([
|
|
418
|
+
`Minted key …${key.keyHint} (${key.name ?? keyName}) on ${endpoint.slug}: expires ${expiresIn}${budget !== undefined ? `, budget ${budget.toLocaleString()} tokens ${spendPeriod}` : ", no spend cap"}.`,
|
|
419
|
+
`Stored it as GitHub Actions secret ${secretName} on ${describeTarget(target)}. The key was not printed and is not kept locally.`,
|
|
420
|
+
"",
|
|
421
|
+
"Use it in a workflow step:",
|
|
422
|
+
" env:",
|
|
423
|
+
` ANTHROPIC_AUTH_TOKEN: ${snippet}`,
|
|
424
|
+
` ANTHROPIC_BASE_URL: ${anthropicBaseUrl}`,
|
|
425
|
+
` # OpenAI-compatible clients: OPENAI_API_KEY: ${snippet} with OPENAI_BASE_URL: ${openaiBaseUrl}`,
|
|
426
|
+
"",
|
|
427
|
+
`Revoke later with: heyditto endpoints keys revoke ${endpoint.slug} ${key.id}`,
|
|
428
|
+
].join("\n") + "\n");
|
|
429
|
+
}
|
|
314
430
|
/** Registers the `endpoints` group; bare `heyditto endpoints [flags]` still lists. */
|
|
315
431
|
export function registerEndpointCommands(program, addExamples, outputOption) {
|
|
316
432
|
const endpoints = program
|
|
@@ -320,7 +436,9 @@ export function registerEndpointCommands(program, addExamples, outputOption) {
|
|
|
320
436
|
.showHelpAfterError()
|
|
321
437
|
.addHelpText("after", `
|
|
322
438
|
Endpoint controls spend your Ditto credits, so delete, key revocation and
|
|
323
|
-
spend-limit increases ask you to type the slug back (or pass --yes)
|
|
439
|
+
spend-limit increases ask you to type the slug back (or pass --yes).
|
|
440
|
+
'keys create --gh-secret' mints a key straight into a GitHub Actions secret
|
|
441
|
+
through the gh CLI; the plaintext never reaches your terminal.`);
|
|
324
442
|
addExamples(endpoints
|
|
325
443
|
.command("list", { isDefault: true })
|
|
326
444
|
.description("list your inference endpoints (* = default)")
|
|
@@ -393,6 +511,24 @@ spend-limit increases ask you to type the slug back (or pass --yes).`);
|
|
|
393
511
|
.argument("<endpoint>", "endpoint slug or id")
|
|
394
512
|
.addOption(outputOption())
|
|
395
513
|
.action(cmdEndpointKeys);
|
|
514
|
+
addExamples(keys
|
|
515
|
+
.command("create")
|
|
516
|
+
.description("mint a key and store it straight into a GitHub Actions secret via gh (the key is never printed)")
|
|
517
|
+
.argument("<endpoint>", "endpoint slug or id")
|
|
518
|
+
.requiredOption("--gh-secret <NAME>", "Actions secret name to set with the gh CLI")
|
|
519
|
+
.option("--repo <owner/repo>", "repository for the secret (default: the repo of the current directory, as gh resolves it)")
|
|
520
|
+
.option("--env <environment>", "set a deployment-environment secret on the repo instead of a repository secret")
|
|
521
|
+
.option("--org <org>", "set an organization secret instead (cannot be combined with --repo/--env)")
|
|
522
|
+
.option("--name <label>", "key name shown in the Ditto app (default: gh:<owner>/<repo>:<NAME>)")
|
|
523
|
+
.addOption(new Option("--expires <duration>", "server-side key expiry").choices([...KEY_EXPIRIES]).default("1y"))
|
|
524
|
+
.option("--budget <tokens>", "spend cap for the key, in Ditto tokens")
|
|
525
|
+
.addOption(new Option("--spend-period <period>", "window the key's spend cap resets on (with --budget; default monthly)").choices(["daily", "weekly", "monthly", "yearly", "never"]))
|
|
526
|
+
.option("--yes", "skip the confirmation prompt (required without a terminal)")
|
|
527
|
+
.addOption(outputOption())
|
|
528
|
+
.action(cmdEndpointKeysCreate), ` heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY # repo of the current directory
|
|
529
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --repo acme/app --budget 5000000
|
|
530
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --repo acme/app --env production --yes
|
|
531
|
+
heyditto endpoints keys create my-endpoint --gh-secret DITTO_KEY --org acme --expires 6mo --output json`);
|
|
396
532
|
keys
|
|
397
533
|
.command("revoke")
|
|
398
534
|
.description("revoke one key")
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin wrapper over the GitHub CLI for storing a freshly minted endpoint key
|
|
3
|
+
* as an Actions secret. The plaintext only ever travels over `gh`'s stdin:
|
|
4
|
+
* `gh secret set` reads the value from stdin when `--body` is omitted, so the
|
|
5
|
+
* key never appears in argv, `ps`, shell history or our own output.
|
|
6
|
+
*/
|
|
7
|
+
export declare const GH_INSTALL_HINT = "install the GitHub CLI from https://cli.github.com (brew install gh / winget install GitHub.cli), then run `gh auth login`";
|
|
8
|
+
/** Where the secret lands. Exactly one of repo (with optional env) or org. */
|
|
9
|
+
export type SecretTarget = {
|
|
10
|
+
kind: "repo";
|
|
11
|
+
repo: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "env";
|
|
14
|
+
repo: string;
|
|
15
|
+
env: string;
|
|
16
|
+
} | {
|
|
17
|
+
kind: "org";
|
|
18
|
+
org: string;
|
|
19
|
+
};
|
|
20
|
+
/** GitHub Actions secret names: letters, digits, underscores; not starting with a digit or GITHUB_. */
|
|
21
|
+
export declare function validateSecretName(name: string): string;
|
|
22
|
+
export declare function validateRepo(repo: string): string;
|
|
23
|
+
/** Fails fast when `gh` is missing or not signed in; nothing has been minted at this point. */
|
|
24
|
+
export declare function preflightGh(): void;
|
|
25
|
+
/** Resolves owner/repo for the current directory the same way `gh` does (git remotes + gh config). */
|
|
26
|
+
export declare function resolveRepoFromCwd(): string;
|
|
27
|
+
export declare function describeTarget(target: SecretTarget): string;
|
|
28
|
+
/** Argv for `gh secret set`; the value is deliberately absent (it goes on stdin). */
|
|
29
|
+
export declare function secretSetArgs(name: string, target: SecretTarget): string[];
|
|
30
|
+
/** Stores `value` as a GitHub Actions secret. Throws with gh's last stderr lines on failure. */
|
|
31
|
+
export declare function setGitHubSecret(name: string, target: SecretTarget, value: string): void;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
/**
|
|
3
|
+
* Thin wrapper over the GitHub CLI for storing a freshly minted endpoint key
|
|
4
|
+
* as an Actions secret. The plaintext only ever travels over `gh`'s stdin:
|
|
5
|
+
* `gh secret set` reads the value from stdin when `--body` is omitted, so the
|
|
6
|
+
* key never appears in argv, `ps`, shell history or our own output.
|
|
7
|
+
*/
|
|
8
|
+
export const GH_INSTALL_HINT = "install the GitHub CLI from https://cli.github.com (brew install gh / winget install GitHub.cli), then run `gh auth login`";
|
|
9
|
+
/** GitHub Actions secret names: letters, digits, underscores; not starting with a digit or GITHUB_. */
|
|
10
|
+
export function validateSecretName(name) {
|
|
11
|
+
const trimmed = name.trim();
|
|
12
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(trimmed)) {
|
|
13
|
+
throw new Error(`--gh-secret "${name}" is not a valid secret name (letters, digits and underscores; cannot start with a digit)`);
|
|
14
|
+
}
|
|
15
|
+
if (/^GITHUB_/i.test(trimmed))
|
|
16
|
+
throw new Error(`--gh-secret "${name}" is reserved: secret names cannot start with GITHUB_`);
|
|
17
|
+
return trimmed;
|
|
18
|
+
}
|
|
19
|
+
export function validateRepo(repo) {
|
|
20
|
+
const trimmed = repo.trim();
|
|
21
|
+
if (!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(trimmed)) {
|
|
22
|
+
throw new Error(`--repo must be owner/repo, got "${repo}"`);
|
|
23
|
+
}
|
|
24
|
+
return trimmed;
|
|
25
|
+
}
|
|
26
|
+
function gh(args, input) {
|
|
27
|
+
const res = spawnSync("gh", args, {
|
|
28
|
+
encoding: "utf8",
|
|
29
|
+
input,
|
|
30
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
31
|
+
env: { ...process.env, GH_NO_UPDATE_NOTIFIER: "1", GH_PROMPT_DISABLED: "1" },
|
|
32
|
+
});
|
|
33
|
+
const missing = res.error !== undefined && res.error.code === "ENOENT";
|
|
34
|
+
return { status: res.status, stdout: res.stdout ?? "", stderr: res.stderr ?? "", missing };
|
|
35
|
+
}
|
|
36
|
+
function trimmedStderr(res) {
|
|
37
|
+
return (res.stderr || res.stdout).trim().split("\n").slice(-3).join(" ").slice(0, 300);
|
|
38
|
+
}
|
|
39
|
+
/** Fails fast when `gh` is missing or not signed in; nothing has been minted at this point. */
|
|
40
|
+
export function preflightGh() {
|
|
41
|
+
const version = gh(["--version"]);
|
|
42
|
+
if (version.missing || version.status !== 0) {
|
|
43
|
+
throw new Error(`--gh-secret needs the GitHub CLI (gh) on PATH; ${GH_INSTALL_HINT}`);
|
|
44
|
+
}
|
|
45
|
+
const auth = gh(["auth", "status"]);
|
|
46
|
+
if (auth.status !== 0) {
|
|
47
|
+
throw new Error(`gh is not signed in (\`gh auth status\` failed${trimmedStderr(auth) ? `: ${trimmedStderr(auth)}` : ""}). Run \`gh auth login\` first.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Resolves owner/repo for the current directory the same way `gh` does (git remotes + gh config). */
|
|
51
|
+
export function resolveRepoFromCwd() {
|
|
52
|
+
const res = gh(["repo", "view", "--json", "nameWithOwner", "-q", ".nameWithOwner"]);
|
|
53
|
+
const repo = res.stdout.trim();
|
|
54
|
+
if (res.status !== 0 || !repo) {
|
|
55
|
+
throw new Error(`could not determine the GitHub repository from the current directory${trimmedStderr(res) ? ` (${trimmedStderr(res)})` : ""}. Pass --repo owner/repo, or run from inside a clone with a GitHub remote.`);
|
|
56
|
+
}
|
|
57
|
+
return repo;
|
|
58
|
+
}
|
|
59
|
+
export function describeTarget(target) {
|
|
60
|
+
switch (target.kind) {
|
|
61
|
+
case "repo":
|
|
62
|
+
return `${target.repo} (repository secret)`;
|
|
63
|
+
case "env":
|
|
64
|
+
return `${target.repo}, environment ${target.env}`;
|
|
65
|
+
case "org":
|
|
66
|
+
return `organization ${target.org}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Argv for `gh secret set`; the value is deliberately absent (it goes on stdin). */
|
|
70
|
+
export function secretSetArgs(name, target) {
|
|
71
|
+
const args = ["secret", "set", name];
|
|
72
|
+
switch (target.kind) {
|
|
73
|
+
case "repo":
|
|
74
|
+
args.push("--repo", target.repo);
|
|
75
|
+
break;
|
|
76
|
+
case "env":
|
|
77
|
+
args.push("--repo", target.repo, "--env", target.env);
|
|
78
|
+
break;
|
|
79
|
+
case "org":
|
|
80
|
+
args.push("--org", target.org);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
return args;
|
|
84
|
+
}
|
|
85
|
+
/** Stores `value` as a GitHub Actions secret. Throws with gh's last stderr lines on failure. */
|
|
86
|
+
export function setGitHubSecret(name, target, value) {
|
|
87
|
+
const res = gh(secretSetArgs(name, target), value);
|
|
88
|
+
if (res.missing)
|
|
89
|
+
throw new Error(`gh disappeared from PATH while setting the secret; ${GH_INSTALL_HINT}`);
|
|
90
|
+
if (res.status !== 0) {
|
|
91
|
+
throw new Error(`gh secret set ${name} failed${trimmedStderr(res) ? `: ${trimmedStderr(res)}` : ` (exit ${res.status})`}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=gh-secret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gh-secret.js","sourceRoot":"","sources":["../src/gh-secret.ts"],"names":[],"mappings":"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"}
|