@cleanslop/cli 0.1.0-beta.2 → 0.1.0-beta.20

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 (66) hide show
  1. package/README.md +5 -4
  2. package/assets/skill-core.md +25 -7
  3. package/dist/action.d.ts +4 -1
  4. package/dist/action.js +24 -0
  5. package/dist/action.js.map +1 -1
  6. package/dist/args.d.ts +1 -1
  7. package/dist/args.js +31 -9
  8. package/dist/args.js.map +1 -1
  9. package/dist/commands/credits.d.ts +30 -1
  10. package/dist/commands/credits.js +302 -43
  11. package/dist/commands/credits.js.map +1 -1
  12. package/dist/commands/email.js +22 -0
  13. package/dist/commands/email.js.map +1 -1
  14. package/dist/commands/link-login.js +4 -4
  15. package/dist/commands/link-login.js.map +1 -1
  16. package/dist/commands/login.d.ts +1 -0
  17. package/dist/commands/login.js +22 -8
  18. package/dist/commands/login.js.map +1 -1
  19. package/dist/commands/logout.d.ts +2 -1
  20. package/dist/commands/logout.js +48 -23
  21. package/dist/commands/logout.js.map +1 -1
  22. package/dist/commands/redeem.d.ts +7 -0
  23. package/dist/commands/redeem.js +33 -0
  24. package/dist/commands/redeem.js.map +1 -0
  25. package/dist/commands/scan-upload.js +48 -27
  26. package/dist/commands/scan-upload.js.map +1 -1
  27. package/dist/commands/scan.js +45 -4
  28. package/dist/commands/scan.js.map +1 -1
  29. package/dist/config.d.ts +3 -3
  30. package/dist/config.js +2 -2
  31. package/dist/config.js.map +1 -1
  32. package/dist/connect.d.ts +15 -0
  33. package/dist/connect.js +100 -0
  34. package/dist/connect.js.map +1 -0
  35. package/dist/credentials.d.ts +14 -0
  36. package/dist/credentials.js +25 -7
  37. package/dist/credentials.js.map +1 -1
  38. package/dist/done-question.d.ts +20 -0
  39. package/dist/done-question.js +25 -0
  40. package/dist/done-question.js.map +1 -0
  41. package/dist/exit.d.ts +29 -0
  42. package/dist/exit.js +12 -0
  43. package/dist/exit.js.map +1 -1
  44. package/dist/git.d.ts +8 -1
  45. package/dist/git.js +35 -1
  46. package/dist/git.js.map +1 -1
  47. package/dist/http.js +74 -4
  48. package/dist/http.js.map +1 -1
  49. package/dist/link.d.ts +45 -11
  50. package/dist/link.js +154 -43
  51. package/dist/link.js.map +1 -1
  52. package/dist/main.js +8 -3
  53. package/dist/main.js.map +1 -1
  54. package/dist/output.js +6 -1
  55. package/dist/output.js.map +1 -1
  56. package/dist/pack.d.ts +19 -3
  57. package/dist/pack.js +30 -2
  58. package/dist/pack.js.map +1 -1
  59. package/dist/skill.d.ts +1 -1
  60. package/dist/skill.js +2 -1
  61. package/dist/skill.js.map +1 -1
  62. package/dist/top-up.d.ts +8 -0
  63. package/dist/top-up.js +35 -0
  64. package/dist/top-up.js.map +1 -0
  65. package/dist/types.d.ts +18 -1
  66. package/package.json +1 -1
package/dist/link.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { writeAction } from "./action.js";
2
2
  import { CLIENT_ID, LINK_CLI_NPX_TIMEOUT_MS, LINK_CLI_PACKAGE, LINK_CLI_TIMEOUT_MS, } from "./config.js";
3
+ import { doneQuestion, RERUN_SAME_COMMAND, RESUME_SAME_COMMAND } from "./done-question.js";
3
4
  import { actionError, CliError, EXIT_ACTION, EXIT_UNEXPECTED, usageError, } from "./exit.js";
4
5
  import { detectAgentHint } from "./git.js";
5
6
  import { asRecord } from "./http.js";
@@ -9,7 +10,8 @@ const EMPTY_POOL_HINT = "Link did not issue agent attestations. Run `cleanslop l
9
10
  const LINK_AUTH_CLIENT_NAME = "CleanSlop";
10
11
  /**
11
12
  * Spend-request / SPT grant. Login never requests this. `credits buy` adds it
12
- * with `auth upgrade` (or `auth login` when there is no session yet).
13
+ * with `auth upgrade` (or `auth login` when there is no session yet), always
14
+ * alongside `LINK_LOGIN_SCOPE` so the session can still issue attestations.
13
15
  */
14
16
  export const LINK_PAYMENT_SCOPE = "payment_methods.agentic";
15
17
  /**
@@ -19,11 +21,17 @@ export const LINK_PAYMENT_SCOPE = "payment_methods.agentic";
19
21
  * `user-info retrieve`.
20
22
  */
21
23
  export const LINK_LOGIN_SCOPE = "userinfo:read";
24
+ /**
25
+ * Attestations need `LINK_LOGIN_SCOPE`. link-cli's `auth upgrade` drops the
26
+ * session's old scopes when its refresh fails, so payment grants ask again.
27
+ */
28
+ const LINK_PAYMENT_GRANT_SCOPE = `${LINK_LOGIN_SCOPE} ${LINK_PAYMENT_SCOPE}`;
22
29
  export const LINK_IDENTITY_CLAIMS = ["email", "email_verified"];
23
30
  const LINK_AUTH_POLL_MS = 5_000;
24
31
  const LINK_AUTH_WAIT_MS = 5 * 60_000;
25
32
  const LINK_ATTESTATION_BATCH = "10";
26
33
  const EMPTY_POOL_PATTERN = /pool is empty|ATTESTATION_POOL_EMPTY|no attestation/i;
34
+ const MISSING_SCOPE_PATTERN = /missing required scopes/i;
27
35
  const MISSING_CREDENTIAL_PATTERN = /no saved identity credential|no credential|not found|empty/i;
28
36
  function linkEnv(deps) {
29
37
  return {
@@ -77,6 +85,12 @@ function throwLinkCliFailure(result, fallback) {
77
85
  throw actionError(LINK_INSTALL_HINT, {
78
86
  kind: "ask_human",
79
87
  humanPrompt: LINK_INSTALL_HINT,
88
+ question: doneQuestion({
89
+ id: "install_link_cli",
90
+ header: "Install",
91
+ question: "CleanSlop needs Stripe's link-cli. Install Node.js (with npm), or set CLEANSLOP_LINK_CLI to link-cli's path. Done?",
92
+ then: { next: RERUN_SAME_COMMAND },
93
+ }),
80
94
  });
81
95
  }
82
96
  if (EMPTY_POOL_PATTERN.test(`${result.stderr} ${result.stdout}`)) {
@@ -116,9 +130,14 @@ async function readLinkSession(deps) {
116
130
  throwLinkCliFailure(result, "Could not check the Link session.");
117
131
  const json = parseLinkJson(result.stdout);
118
132
  const authenticated = json?.authenticated === true;
133
+ // link-cli only reports `scope` when Link's token response carries it, so
134
+ // an unreported scope is not treated as missing.
135
+ const scopes = authenticated ? linkScopeTokens(json?.scope) : [];
119
136
  return {
120
137
  authenticated,
121
- hasPaymentScope: authenticated && linkScopeTokens(json?.scope).includes(LINK_PAYMENT_SCOPE),
138
+ hasPaymentScope: scopes.includes(LINK_PAYMENT_SCOPE),
139
+ missingLoginScope: scopes.length > 0 && !scopes.includes(LINK_LOGIN_SCOPE),
140
+ missingPaymentScope: scopes.length > 0 && !scopes.includes(LINK_PAYMENT_SCOPE),
122
141
  };
123
142
  }
124
143
  export function linkAuthMode(args) {
@@ -129,17 +148,35 @@ export function linkAuthMode(args) {
129
148
  return "no-wait";
130
149
  return args.resume ? "resume" : "wait";
131
150
  }
132
- function linkAuthAsk(kind) {
133
- switch (kind) {
134
- case "login":
135
- return "Ask the human to open this link and approve CleanSlop in the Link app (Link may also send a notification).";
136
- case "upgrade":
137
- return "Ask the human to open this link and allow CleanSlop to request Link payments (Link may also send a notification).";
138
- default: {
139
- const _exhaustive = kind;
140
- return _exhaustive;
141
- }
142
- }
151
+ /** Whether this approval lets CleanSlop request payments (a cold `credits buy` login does too). */
152
+ function grantsPayments(scope) {
153
+ return linkScopeTokens(scope).includes(LINK_PAYMENT_SCOPE);
154
+ }
155
+ /**
156
+ * The payment permission is not a payment, and agents read "approve" next to
157
+ * a pack price as "approve the purchase": say so in both prompt and question.
158
+ */
159
+ const NOT_THE_PAYMENT = "This only grants permission: nothing is charged now, and Link asks for the purchase separately next.";
160
+ function linkAuthWhat(kind, payments) {
161
+ if (!payments)
162
+ return "approve CleanSlop in Link";
163
+ return kind === "login"
164
+ ? "sign in and allow CleanSlop to request Link payments"
165
+ : "allow CleanSlop to request Link payments";
166
+ }
167
+ function linkAuthAsk(kind, payments) {
168
+ const ask = `Ask the human to open this link and ${linkAuthWhat(kind, payments)}.`;
169
+ return payments ? `${ask} ${NOT_THE_PAYMENT}` : ask;
170
+ }
171
+ function linkAuthQuestion(kind, payments, url, phrase) {
172
+ const check = phrase ? `, check the phrase "${phrase}",` : "";
173
+ const note = payments ? ` ${NOT_THE_PAYMENT}` : "";
174
+ return doneQuestion({
175
+ id: "link_approval",
176
+ header: payments ? "Permission" : "Sign in",
177
+ question: `Open ${url}${check} and ${linkAuthWhat(kind, payments)}.${note} Done?`,
178
+ then: { next: RESUME_SAME_COMMAND },
179
+ });
143
180
  }
144
181
  /**
145
182
  * Starts a Link device approval (`auth login` or `auth upgrade`) and prints the
@@ -149,6 +186,7 @@ function linkAuthAsk(kind) {
149
186
  */
150
187
  async function completeLinkDeviceAuth(deps, opts) {
151
188
  const { kind, scope, mode, command } = opts;
189
+ const payments = grantsPayments(scope);
152
190
  let approval = {};
153
191
  if (mode !== "resume") {
154
192
  const started = await runLinkCli(deps, [
@@ -162,7 +200,7 @@ async function completeLinkDeviceAuth(deps, opts) {
162
200
  "json",
163
201
  ]);
164
202
  if (!started.ok) {
165
- throwLinkCliFailure(started, kind === "upgrade"
203
+ throwLinkCliFailure(started, payments
166
204
  ? "Could not start a Link payment grant."
167
205
  : "Could not start Link sign-in.");
168
206
  }
@@ -173,12 +211,13 @@ async function completeLinkDeviceAuth(deps, opts) {
173
211
  throw new CliError("link-cli did not return a Link approval link.", EXIT_UNEXPECTED);
174
212
  }
175
213
  approval = { url, ...(phrase ? { code: phrase } : {}) };
176
- const ask = linkAuthAsk(kind);
214
+ const ask = linkAuthAsk(kind, payments);
177
215
  if (mode === "no-wait") {
178
- throw actionError("Link approval pending.", {
216
+ throw actionError(payments ? "Link payment permission pending." : "Link approval pending.", {
179
217
  kind: "approve",
180
218
  humanPrompt: `${ask} After they approve, run the same command with --resume instead of --no-wait.`,
181
219
  ...approval,
220
+ question: linkAuthQuestion(kind, payments, url, phrase),
182
221
  });
183
222
  }
184
223
  writeAction(deps, {
@@ -202,15 +241,32 @@ async function completeLinkDeviceAuth(deps, opts) {
202
241
  humanPrompt: `The Link approval was not completed in time. Run \`${command}${mode === "resume" ? " --no-wait" : ""}\` again for a new link.`,
203
242
  });
204
243
  }
244
+ /**
245
+ * `--resume` only polls an approval link-cli already has pending. A signed-in
246
+ * session that still needs an upgrade has none pending, so start one and exit.
247
+ */
248
+ function upgradeMode(mode) {
249
+ return mode === "resume" ? "no-wait" : mode;
250
+ }
205
251
  /**
206
252
  * Starts Link's device sign-in when link-cli has no session (a fresh machine or
207
- * cloud sandbox). Does not request `payment_methods.agentic`.
253
+ * cloud sandbox), or upgrades a session without `LINK_LOGIN_SCOPE` (one a cold
254
+ * payment login made with an older CLI). Does not request
255
+ * `payment_methods.agentic`.
208
256
  */
209
257
  export async function ensureLinkAuth(deps, opts = {}) {
210
- if ((await readLinkSession(deps)).authenticated)
258
+ const session = await readLinkSession(deps);
259
+ if (session.authenticated && !session.missingLoginScope)
260
+ return;
261
+ if (!session.authenticated) {
262
+ await addLinkLoginScope(deps, "login", opts);
211
263
  return;
212
- await completeLinkDeviceAuth(deps, {
213
- kind: "login",
264
+ }
265
+ await addLinkLoginScope(deps, "upgrade", { ...opts, mode: upgradeMode(opts.mode) });
266
+ }
267
+ function addLinkLoginScope(deps, kind, opts) {
268
+ return completeLinkDeviceAuth(deps, {
269
+ kind,
214
270
  scope: LINK_LOGIN_SCOPE,
215
271
  mode: opts.mode ?? "wait",
216
272
  command: opts.command ?? "cleanslop login --link",
@@ -229,7 +285,7 @@ export async function ensureLinkPaymentScope(deps, opts = {}) {
229
285
  if (!session.authenticated) {
230
286
  await completeLinkDeviceAuth(deps, {
231
287
  kind: "login",
232
- scope: LINK_PAYMENT_SCOPE,
288
+ scope: LINK_PAYMENT_GRANT_SCOPE,
233
289
  mode,
234
290
  command,
235
291
  });
@@ -237,11 +293,19 @@ export async function ensureLinkPaymentScope(deps, opts = {}) {
237
293
  }
238
294
  if (session.hasPaymentScope)
239
295
  return;
240
- await completeLinkDeviceAuth(deps, {
296
+ // Under --resume, an unreported scope is most likely the grant the human
297
+ // just approved; a refusal from Link still upgrades (`grantLinkPayments`).
298
+ if (mode === "resume" && !session.missingPaymentScope)
299
+ return;
300
+ await grantLinkPayments(deps, { mode, command });
301
+ }
302
+ /** Upgrades the session to `LINK_PAYMENT_GRANT_SCOPE`, starting a new approval under --resume. */
303
+ export function grantLinkPayments(deps, opts = {}) {
304
+ return completeLinkDeviceAuth(deps, {
241
305
  kind: "upgrade",
242
- scope: LINK_PAYMENT_SCOPE,
243
- mode,
244
- command,
306
+ scope: LINK_PAYMENT_GRANT_SCOPE,
307
+ mode: upgradeMode(opts.mode) ?? "wait",
308
+ command: opts.command ?? "cleanslop credits buy --link",
245
309
  });
246
310
  }
247
311
  async function tryPopAttestation(deps) {
@@ -261,12 +325,8 @@ async function tryPopAttestation(deps) {
261
325
  const authorization = typeof json?.authorization === "string" ? json.authorization.trim() : "";
262
326
  return authorization ? { authorization } : null;
263
327
  }
264
- /** Refills an empty pool. Link issues attestations without a per-request approval. */
265
- export async function popAttestation(deps) {
266
- const pooled = await tryPopAttestation(deps);
267
- if (pooled)
268
- return pooled;
269
- const requested = await runLinkCli(deps, [
328
+ function requestAttestations(deps) {
329
+ return runLinkCli(deps, [
270
330
  "identity",
271
331
  "attestations",
272
332
  "request",
@@ -275,6 +335,23 @@ export async function popAttestation(deps) {
275
335
  "--format",
276
336
  "json",
277
337
  ]);
338
+ }
339
+ /**
340
+ * Signs in to Link when needed, then pops an attestation, refilling an empty
341
+ * pool (Link issues attestations without a per-request approval). When Link
342
+ * refuses the refill for a missing scope that `auth status` did not report,
343
+ * upgrades the session once and retries.
344
+ */
345
+ export async function linkAttestation(deps, opts = {}) {
346
+ await ensureLinkAuth(deps, opts);
347
+ const pooled = await tryPopAttestation(deps);
348
+ if (pooled)
349
+ return pooled;
350
+ let requested = await requestAttestations(deps);
351
+ if (!requested.ok && MISSING_SCOPE_PATTERN.test(`${requested.stderr} ${requested.stdout}`)) {
352
+ await addLinkLoginScope(deps, "upgrade", { ...opts, mode: upgradeMode(opts.mode) });
353
+ requested = await requestAttestations(deps);
354
+ }
278
355
  if (!requested.ok) {
279
356
  throwLinkCliFailure(requested, "Could not request Link attestations.");
280
357
  }
@@ -286,6 +363,10 @@ export async function popAttestation(deps) {
286
363
  humanPrompt: EMPTY_POOL_HINT,
287
364
  });
288
365
  }
366
+ /**
367
+ * One API call with the signed-in session: nothing for the human to approve,
368
+ * so a failure is a Link or session error (`login --link` then offers GitHub).
369
+ */
289
370
  export async function requestLinkCredentials(deps) {
290
371
  // link-cli 0.27 has no claim filter on request; Link still mints a local
291
372
  // pack that can include name and phone. We only present email claims.
@@ -293,10 +374,7 @@ export async function requestLinkCredentials(deps) {
293
374
  timeout: 120_000,
294
375
  });
295
376
  if (!result.ok) {
296
- throw actionError("Link did not issue an identity credential.", {
297
- kind: "ask_human",
298
- humanPrompt: "Ask the human to check the Link app for a pending CleanSlop request, then run the same cleanslop command again.",
299
- });
377
+ throwLinkCliFailure(result, "Link did not issue an identity credential.");
300
378
  }
301
379
  }
302
380
  export async function presentLinkIdentity(deps, input) {
@@ -371,6 +449,26 @@ export function linkSignupQuestion(origin, termsUrl) {
371
449
  export function linkBridgeEmailQuestion(origin) {
372
450
  return `Connect your Link-verified email to this CleanSlop account (${origin})?`;
373
451
  }
452
+ /**
453
+ * Yes/No on the quoted consent question. Like the prose block, it never names
454
+ * the consent flag: the agent continues per its CleanSlop instructions only
455
+ * after the human's yes.
456
+ */
457
+ function consentQuestion(id, header, question) {
458
+ return {
459
+ id,
460
+ header,
461
+ question,
462
+ options: [
463
+ {
464
+ value: "yes",
465
+ label: "Yes",
466
+ next: "continue as your CleanSlop instructions say for a yes",
467
+ },
468
+ { value: "no", label: "No", description: "Stop here" },
469
+ ],
470
+ };
471
+ }
374
472
  export async function requireLinkSignupConsent(deps, args, origin) {
375
473
  const termsUrl = linkTermsUrl(origin);
376
474
  deps.io.stderr(`CleanSlop terms: ${termsUrl}\n`);
@@ -383,6 +481,7 @@ export async function requireLinkSignupConsent(deps, args, origin) {
383
481
  kind: "ask_human",
384
482
  humanPrompt: question,
385
483
  url: termsUrl,
484
+ question: consentQuestion("link_signup_consent", "Sign up", question),
386
485
  });
387
486
  }
388
487
  if (!(await deps.confirm(question))) {
@@ -402,6 +501,7 @@ export async function requireLinkBridgeConsent(deps, args, origin) {
402
501
  throw actionError("Human consent is required.", {
403
502
  kind: "ask_human",
404
503
  humanPrompt: question,
504
+ question: consentQuestion("link_email_consent", "Link email", question),
405
505
  });
406
506
  }
407
507
  const agreed = await deps.confirm(question);
@@ -501,9 +601,14 @@ export function parseSpendRequestJson(stdout) {
501
601
  }
502
602
  return null;
503
603
  }
504
- /** Hidden test override. Exact `"1"` appends `--test` on spend-request create. */
505
- export function linkSpendRequestTestArgs(deps) {
506
- return deps.env.get("CLEANSLOP_LINK_TEST")?.trim() === "1" ? ["--test"] : [];
604
+ /**
605
+ * Link only issues a token when the spend request's mode matches the network
606
+ * profile's, so a `profile_test_` id from a `sk_test_` server means test mode.
607
+ * `CLEANSLOP_LINK_TEST=1` (exact) stays as a hidden override.
608
+ */
609
+ export function linkSpendRequestTestMode(deps, networkId) {
610
+ return (deps.env.get("CLEANSLOP_LINK_TEST")?.trim() === "1" ||
611
+ networkId.startsWith("profile_test_"));
507
612
  }
508
613
  export function isLinkSpendRequestNotFound(result) {
509
614
  const text = `${result.stderr} ${result.stdout}`;
@@ -570,7 +675,7 @@ export async function createLinkSpendRequest(deps, input) {
570
675
  "--idempotency-key",
571
676
  input.idempotencyKey,
572
677
  "--request-approval",
573
- ...linkSpendRequestTestArgs(deps),
678
+ ...(input.testMode ? ["--test"] : []),
574
679
  "--format",
575
680
  "json",
576
681
  ]);
@@ -588,7 +693,13 @@ export async function retrieveLinkSpendRequest(deps, spendRequestId, opts = {})
588
693
  if (opts.includeSpt) {
589
694
  args.push("--include", "shared_payment_token");
590
695
  }
591
- const result = await runLinkCli(deps, args);
696
+ let result = await runLinkCli(deps, args);
697
+ if (!result.ok &&
698
+ opts.onMissingScope &&
699
+ MISSING_SCOPE_PATTERN.test(`${result.stderr} ${result.stdout}`) &&
700
+ (await opts.onMissingScope())) {
701
+ result = await runLinkCli(deps, args);
702
+ }
592
703
  if (result.ok) {
593
704
  const parsed = parseSpendRequestJson(result.stdout);
594
705
  if (!parsed) {
@@ -598,8 +709,7 @@ export async function retrieveLinkSpendRequest(deps, spendRequestId, opts = {})
598
709
  }
599
710
  // link-cli 0.27 create --test writes a test-mode id; retrieve has no --test
600
711
  // and 404s in live. List still sees the request.
601
- const testMode = linkSpendRequestTestArgs(deps).length > 0;
602
- if (testMode && isLinkSpendRequestNotFound(result)) {
712
+ if (opts.testMode && isLinkSpendRequestNotFound(result)) {
603
713
  const fromList = await retrieveLinkSpendRequestFromList(deps, spendRequestId);
604
714
  // `list` takes no --include, so it may never carry the token. Fail here
605
715
  // rather than retrying a token that cannot arrive.
@@ -614,12 +724,13 @@ export async function retrieveLinkSpendRequest(deps, spendRequestId, opts = {})
614
724
  }
615
725
  throwLinkCliFailure(result, "Could not retrieve the Link spend request.");
616
726
  }
617
- export async function retrieveSharedPaymentToken(deps, spendRequestId) {
727
+ export async function retrieveSharedPaymentToken(deps, spendRequestId, opts = {}) {
618
728
  for (const delayMs of SPT_RETRIEVAL_DELAYS_MS) {
619
729
  if (delayMs > 0)
620
730
  await deps.clock.sleep(delayMs);
621
731
  const snap = await retrieveLinkSpendRequest(deps, spendRequestId, {
622
732
  includeSpt: true,
733
+ ...opts,
623
734
  });
624
735
  if (snap.sharedPaymentToken)
625
736
  return snap.sharedPaymentToken;
package/dist/link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -5,6 +5,7 @@ import { runLinkIdentity } from "./commands/link-identity.js";
5
5
  import { runLogin } from "./commands/login.js";
6
6
  import { runLogout } from "./commands/logout.js";
7
7
  import { runEmail } from "./commands/email.js";
8
+ import { runRedeem } from "./commands/redeem.js";
8
9
  import { runReport } from "./commands/report.js";
9
10
  import { runScan } from "./commands/scan.js";
10
11
  import { runSetup } from "./commands/setup.js";
@@ -12,7 +13,8 @@ import { runStatus } from "./commands/status.js";
12
13
  import { runWhoami } from "./commands/whoami.js";
13
14
  import { PACKAGE_NAME, PACKAGE_VERSION } from "./config.js";
14
15
  import { mergeDeps } from "./deps.js";
15
- import { CliError, EXIT_OK, EXIT_UNEXPECTED } from "./exit.js";
16
+ import { withConnectChoice } from "./connect.js";
17
+ import { CliError, EXIT_OK, EXIT_UNEXPECTED, NotConnectedError } from "./exit.js";
16
18
  export function printHelp(deps) {
17
19
  deps.io.stdout(HELP_TEXT);
18
20
  return EXIT_OK;
@@ -30,7 +32,7 @@ export async function dispatch(deps, args) {
30
32
  case "login":
31
33
  return runLogin(deps, args);
32
34
  case "logout":
33
- return runLogout(deps);
35
+ return runLogout(deps, args);
34
36
  case "whoami":
35
37
  return runWhoami(deps, args);
36
38
  case "scan":
@@ -47,6 +49,8 @@ export async function dispatch(deps, args) {
47
49
  return runLinkIdentity(deps, args);
48
50
  case "credits":
49
51
  return runCredits(deps, args);
52
+ case "redeem":
53
+ return runRedeem(deps, args);
50
54
  default: {
51
55
  const _exhaustive = args.command;
52
56
  return _exhaustive;
@@ -59,7 +63,8 @@ export async function runCli(argv, overrides = {}) {
59
63
  const args = parseArgs(argv, deps.defaultWaitMs);
60
64
  return await dispatch(deps, args);
61
65
  }
62
- catch (err) {
66
+ catch (caught) {
67
+ const err = caught instanceof NotConnectedError ? await withConnectChoice(deps, caught) : caught;
63
68
  if (err instanceof CliError) {
64
69
  if (err.action)
65
70
  writeAction(deps, err.action);
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/dist/output.js CHANGED
@@ -11,8 +11,13 @@ export function scanLine(scan) {
11
11
  `status=${scan.status}`,
12
12
  `final=${scan.final ? "true" : "false"}`,
13
13
  ];
14
- if (scan.commitSha)
14
+ if (scan.commitSha) {
15
15
  bits.push(`commit=${scan.commitSha.slice(0, 7)}`);
16
+ }
17
+ else if (scan.upload?.gitCommit) {
18
+ // Uploaded with uncommitted changes: name the base, not a commit it isn't.
19
+ bits.push(`commit=${scan.upload.gitCommit.slice(0, 7)}+changes`);
20
+ }
16
21
  if (typeof scan.findingCount === "number") {
17
22
  bits.push(`findings=${scan.findingCount}`);
18
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
package/dist/pack.d.ts CHANGED
@@ -23,8 +23,24 @@ export declare function isSecretDeniedPath(relativePath: string): string | null;
23
23
  export declare function planPack(deps: CliDeps, cwd?: string): Promise<PackPlan>;
24
24
  export declare function formatPackSummary(plan: PackPlan, dryRun: boolean): string;
25
25
  export declare function assertPackedArchiveFitsUpload(bytes: number): void;
26
- export declare function writePackArchive(plan: PackPlan): Promise<{
26
+ export type PackArchive = {
27
27
  bytes: Buffer;
28
+ /** SHA-256 of the gzip body as sent. */
28
29
  sha256: string;
29
- }>;
30
- export declare function packManifest(plan: PackPlan, contentSha256: string): Record<string, unknown>;
30
+ /** SHA-256 of the uncompressed tar: the same files hash the same whatever gzip does. */
31
+ treeSha256: string;
32
+ };
33
+ export declare function writePackArchive(plan: PackPlan): Promise<PackArchive>;
34
+ /**
35
+ * What the scan never saw, for the report. Secrets list first. Deleted
36
+ * tracked files (`missing`) are gone, not skipped, so they are left out.
37
+ */
38
+ export declare function excludedSummary(excluded: readonly PackExclusion[]): {
39
+ total: number;
40
+ byReason: Record<string, number>;
41
+ files: Array<{
42
+ path: string;
43
+ reason: string;
44
+ }>;
45
+ };
46
+ export declare function packManifest(plan: PackPlan, archive: Pick<PackArchive, "sha256" | "treeSha256">): Record<string, unknown>;