@vibe-commit/capture 0.6.0 → 0.7.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 (143) hide show
  1. package/README.md +84 -5
  2. package/dist/agent_hooks.d.ts +8 -0
  3. package/dist/agent_hooks.js +31 -1
  4. package/dist/agent_hooks.js.map +1 -1
  5. package/dist/agents/claude_code.d.ts +34 -0
  6. package/dist/agents/claude_code.js +141 -8
  7. package/dist/agents/claude_code.js.map +1 -1
  8. package/dist/agents/codex_cli.d.ts +13 -0
  9. package/dist/agents/codex_cli.js +241 -2
  10. package/dist/agents/codex_cli.js.map +1 -1
  11. package/dist/agents/cursor.d.ts +34 -0
  12. package/dist/agents/cursor.js +115 -1
  13. package/dist/agents/cursor.js.map +1 -1
  14. package/dist/agents/session_listing.d.ts +29 -0
  15. package/dist/agents/session_listing.js +49 -0
  16. package/dist/agents/session_listing.js.map +1 -0
  17. package/dist/agents/types.d.ts +118 -8
  18. package/dist/agents/types.js +17 -3
  19. package/dist/agents/types.js.map +1 -1
  20. package/dist/commands/approval_pending.d.ts +9 -0
  21. package/dist/commands/approval_pending.js +23 -0
  22. package/dist/commands/approval_pending.js.map +1 -0
  23. package/dist/commands/auth.js +31 -11
  24. package/dist/commands/auth.js.map +1 -1
  25. package/dist/commands/backfill.d.ts +160 -0
  26. package/dist/commands/backfill.js +748 -0
  27. package/dist/commands/backfill.js.map +1 -0
  28. package/dist/commands/browser_credential.d.ts +2 -0
  29. package/dist/commands/browser_credential.js +31 -14
  30. package/dist/commands/browser_credential.js.map +1 -1
  31. package/dist/commands/connect.d.ts +137 -0
  32. package/dist/commands/connect.js +203 -109
  33. package/dist/commands/connect.js.map +1 -1
  34. package/dist/commands/connect_picker.d.ts +27 -0
  35. package/dist/commands/connect_picker.js +415 -0
  36. package/dist/commands/connect_picker.js.map +1 -0
  37. package/dist/commands/context.d.ts +16 -0
  38. package/dist/commands/context.js +27 -0
  39. package/dist/commands/context.js.map +1 -1
  40. package/dist/commands/credential_problem.d.ts +15 -4
  41. package/dist/commands/credential_problem.js +29 -22
  42. package/dist/commands/credential_problem.js.map +1 -1
  43. package/dist/commands/device_credential.d.ts +2 -0
  44. package/dist/commands/device_credential.js +16 -14
  45. package/dist/commands/device_credential.js.map +1 -1
  46. package/dist/commands/finalize.d.ts +95 -0
  47. package/dist/commands/finalize.js +249 -74
  48. package/dist/commands/finalize.js.map +1 -1
  49. package/dist/commands/finish_mint.d.ts +2 -6
  50. package/dist/commands/finish_mint.js +10 -2
  51. package/dist/commands/finish_mint.js.map +1 -1
  52. package/dist/commands/report.js +38 -30
  53. package/dist/commands/report.js.map +1 -1
  54. package/dist/commands/scan.d.ts +162 -0
  55. package/dist/commands/scan.js +507 -0
  56. package/dist/commands/scan.js.map +1 -0
  57. package/dist/commands/status.js +119 -22
  58. package/dist/commands/status.js.map +1 -1
  59. package/dist/commands/status_hooks.d.ts +14 -0
  60. package/dist/commands/status_hooks.js +81 -0
  61. package/dist/commands/status_hooks.js.map +1 -0
  62. package/dist/commands/status_machine.d.ts +18 -0
  63. package/dist/commands/status_machine.js +149 -0
  64. package/dist/commands/status_machine.js.map +1 -0
  65. package/dist/commands/why.js +44 -31
  66. package/dist/commands/why.js.map +1 -1
  67. package/dist/consent.d.ts +111 -0
  68. package/dist/consent.js +203 -1
  69. package/dist/consent.js.map +1 -1
  70. package/dist/copy/error_codes.d.ts +222 -0
  71. package/dist/copy/error_codes.js +105 -0
  72. package/dist/copy/error_codes.js.map +1 -0
  73. package/dist/copy/index.d.ts +2 -2
  74. package/dist/copy/index.js +2 -2
  75. package/dist/copy/index.js.map +1 -1
  76. package/dist/copy/strings.d.ts +497 -29
  77. package/dist/copy/strings.js +601 -35
  78. package/dist/copy/strings.js.map +1 -1
  79. package/dist/copy/time.d.ts +11 -0
  80. package/dist/copy/time.js +18 -0
  81. package/dist/copy/time.js.map +1 -1
  82. package/dist/credential.d.ts +5 -1
  83. package/dist/credential.js +2 -2
  84. package/dist/credential.js.map +1 -1
  85. package/dist/git.d.ts +43 -0
  86. package/dist/git.js +95 -0
  87. package/dist/git.js.map +1 -1
  88. package/dist/hooks/entry.d.ts +18 -1
  89. package/dist/hooks/entry.js +110 -13
  90. package/dist/hooks/entry.js.map +1 -1
  91. package/dist/hooks/post_commit.js +3 -3
  92. package/dist/hooks/post_commit.js.map +1 -1
  93. package/dist/hooks/post_rewrite.js +6 -4
  94. package/dist/hooks/post_rewrite.js.map +1 -1
  95. package/dist/hooks/session_start.d.ts +93 -0
  96. package/dist/hooks/session_start.js +199 -0
  97. package/dist/hooks/session_start.js.map +1 -0
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.js +56 -8
  100. package/dist/index.js.map +1 -1
  101. package/dist/install.d.ts +57 -0
  102. package/dist/install.js +54 -20
  103. package/dist/install.js.map +1 -1
  104. package/dist/json.d.ts +32 -9
  105. package/dist/json.js +35 -8
  106. package/dist/json.js.map +1 -1
  107. package/dist/machine_state.d.ts +52 -0
  108. package/dist/machine_state.js +63 -0
  109. package/dist/machine_state.js.map +1 -0
  110. package/dist/oauth/session.d.ts +1 -0
  111. package/dist/org_pending.d.ts +52 -0
  112. package/dist/org_pending.js +109 -0
  113. package/dist/org_pending.js.map +1 -0
  114. package/dist/paths.d.ts +50 -0
  115. package/dist/paths.js +64 -0
  116. package/dist/paths.js.map +1 -1
  117. package/dist/picker.d.ts +180 -0
  118. package/dist/picker.js +477 -0
  119. package/dist/picker.js.map +1 -0
  120. package/dist/picker_checklist.d.ts +125 -0
  121. package/dist/picker_checklist.js +375 -0
  122. package/dist/picker_checklist.js.map +1 -0
  123. package/dist/policy.d.ts +54 -0
  124. package/dist/policy.js +47 -0
  125. package/dist/policy.js.map +1 -1
  126. package/dist/post.d.ts +50 -16
  127. package/dist/post.js +265 -58
  128. package/dist/post.js.map +1 -1
  129. package/dist/state.d.ts +6 -0
  130. package/dist/state.js +38 -1
  131. package/dist/state.js.map +1 -1
  132. package/dist/system_message.d.ts +8 -1
  133. package/dist/system_message.js +19 -1
  134. package/dist/system_message.js.map +1 -1
  135. package/dist/term.d.ts +28 -2
  136. package/dist/term.js +23 -2
  137. package/dist/term.js.map +1 -1
  138. package/dist/verb_help.d.ts +13 -0
  139. package/dist/verb_help.js +40 -0
  140. package/dist/verb_help.js.map +1 -0
  141. package/dist/version.d.ts +1 -1
  142. package/dist/version.js +1 -1
  143. package/package.json +5 -9
@@ -34,19 +34,22 @@
34
34
  import { existsSync, readdirSync, statSync } from "node:fs";
35
35
  import { join } from "node:path";
36
36
  import { DEFAULT_AGENT_ID, admitsTranscript, transcriptRoots } from "../agents/registry.js";
37
- import { ERRORS, FINALIZE, HELP } from "../copy/index.js";
38
- import { isProjectAllowed } from "../consent.js";
37
+ import { BACKFILL, COMMANDS, ERRORS, FINALIZE } from "../copy/index.js";
38
+ import { renderVerbHelp } from "../verb_help.js";
39
+ import { isCaptureAllowed } from "../consent.js";
40
+ import { authCommandFor, channelCommand, connectCommandFor } from "../install.js";
39
41
  import { loadCredential } from "../credential.js";
40
42
  import { EXIT } from "../exit.js";
41
- import { headRef, resolveRepoSlug } from "../git.js";
42
- import { confinementRoots, deliverSubagents, fileSize, readSpan, sendTimeoutMs, wait } from "../hooks/entry.js";
43
+ import { headRef, onceRepoSlug } from "../git.js";
44
+ import { confinementRoots, deliverSubagents, fileSize, readSpan, recordCutter, sendTimeoutMs, wait } from "../hooks/entry.js";
43
45
  import { repoSessionsDir, sessionStatePath } from "../paths.js";
44
46
  import { deliver, ingestUrl } from "../post.js";
45
47
  import { resolveProjectKeys } from "../project.js";
46
48
  import { capInferred, capSpool, capSuccessors, deleteInferredSpool, inferredFullyResolved, readInferred, readRewrites, readSpool } from "../spool.js";
47
49
  import { fileState, loadSessionState, saveSessionState } from "../state.js";
48
50
  import { renderErrorBlock, wrap } from "../term.js";
49
- import { writeLines } from "./context.js";
51
+ import { notAGitRepoBlock, writeFailure, writeLines } from "./context.js";
52
+ import { credentialProblem } from "./credential_problem.js";
50
53
  /** A transcript modified this recently is a session still being written. */
51
54
  const STILL_WRITING_MS = 5_000;
52
55
  /** `--latest` considers sessions that delivered inside this window. */
@@ -99,32 +102,61 @@ export async function finalize(ctx, argv) {
99
102
  // seal call, the drain loop, every exit code and receipt string) is byte-identical to 0.4.4 for any
100
103
  // `argv` that does not literally contain `--help`/`-h` (pinned by T10's differential).
101
104
  if (argv.includes("--help") || argv.includes("-h")) {
102
- writeLines(ctx.stdout, [HELP.commands.finalize]);
105
+ const helpVerb = "finalize"; // an identifier, not a literal, at the writer: `copy-inline-literals` follows argument positions
106
+ writeLines(ctx.stdout, renderVerbHelp(helpVerb));
103
107
  return EXIT.ok;
104
108
  }
105
109
  const args = parseArgs(argv);
106
110
  if (args === null) {
107
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.needTarget, why: [] }, ctx.colour));
111
+ writeLines(ctx.stderr, renderErrorBlock({
112
+ kind: "bad",
113
+ code: "FINALIZE_NEEDS_TARGET",
114
+ what: FINALIZE.needTarget,
115
+ why: [],
116
+ fixLabel: FINALIZE.needTargetFix,
117
+ fixes: [FINALIZE.commandSessionAny, COMMANDS.finalize].map((fix) => channelCommand(ctx.env, ctx.selfPath, fix)),
118
+ }, ctx.colour));
108
119
  return EXIT.usage;
109
120
  }
110
121
  const keys = resolveProjectKeys(ctx.cwd);
111
122
  if (keys === null) {
112
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: ERRORS.notAGitRepo, why: [] }, ctx.colour));
123
+ writeFailure(ctx, notAGitRepoBlock(ctx));
113
124
  return EXIT.failure;
114
125
  }
115
126
  const projectKey = keys.worktree;
116
- if (!isProjectAllowed(ctx.home, keys.consent)) {
117
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: ERRORS.notConnected, why: [] }, ctx.colour));
127
+ const slugOf = onceRepoSlug(projectKey);
128
+ if (!isCaptureAllowed(ctx.home, keys, slugOf)) {
129
+ // "This repository is not allowed to be captured": the repo's own consent, not the machine's credential.
130
+ writeLines(ctx.stderr, renderErrorBlock({
131
+ kind: "bad",
132
+ code: "NOT_CONNECTED",
133
+ what: ERRORS.notConnected,
134
+ why: [],
135
+ fixLabel: ERRORS.notConnectedFix,
136
+ fixes: [connectCommandFor(ctx.env, ctx.selfPath)],
137
+ }, ctx.colour));
118
138
  return EXIT.notConnected;
119
139
  }
120
140
  const load = loadCredential({ env: ctx.env, home: ctx.home });
121
141
  if (load.kind !== "ok") {
122
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: ERRORS.notConnected, why: [] }, ctx.colour));
142
+ // PR 7 (Q1): a credential that is PRESENT but unusable gets the precise block `status`, `connect` and `backfill` print
143
+ // (the exit stays 3); no credential at all is `NO_CREDENTIAL`. A credential the SERVER rejects loads `ok` and reaches the
144
+ // send, so it is not here — and no local "known rejected" check is added (that would turn exit 1 into exit 3).
145
+ writeLines(ctx.stderr, load.kind === "absent"
146
+ ? renderErrorBlock({
147
+ kind: "bad",
148
+ code: "NO_CREDENTIAL",
149
+ what: BACKFILL.notConnectedWhat,
150
+ why: [],
151
+ fixLabel: BACKFILL.notConnectedFixLabel,
152
+ fixes: [connectCommandFor(ctx.env, ctx.selfPath)],
153
+ }, ctx.colour)
154
+ : credentialProblem(load, ctx.colour, authCommandFor(ctx.env, ctx.selfPath)));
123
155
  return EXIT.notConnected;
124
156
  }
125
157
  const url = ingestUrl(ctx.env);
126
158
  if (url === null) {
127
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.notDelivered, why: [] }, ctx.colour));
159
+ writeLines(ctx.stderr, ingestUrlUnavailableBlock(ctx));
128
160
  return EXIT.failure;
129
161
  }
130
162
  // ── Which session. ──
@@ -132,7 +164,7 @@ export async function finalize(ctx, argv) {
132
164
  let sessionId;
133
165
  if (args.session !== null) {
134
166
  if (!SESSION_ID.test(args.session)) {
135
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.badSessionId, why: [] }, ctx.colour));
167
+ writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", code: "FINALIZE_BAD_SESSION_ID", what: FINALIZE.badSessionId, why: [] }, ctx.colour));
136
168
  return EXIT.usage;
137
169
  }
138
170
  sessionId = args.session;
@@ -140,11 +172,25 @@ export async function finalize(ctx, argv) {
140
172
  else {
141
173
  const recent = recentSessions(ctx.home, projectKey, nowMs);
142
174
  if (recent.length === 0) {
143
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.noRecentSession, why: [] }, ctx.colour));
175
+ writeLines(ctx.stderr, renderErrorBlock({
176
+ kind: "bad",
177
+ code: "FINALIZE_NO_RECENT_SESSION",
178
+ what: FINALIZE.noRecentSession,
179
+ why: [],
180
+ fixLabel: FINALIZE.noRecentSessionFix,
181
+ fixes: [channelCommand(ctx.env, ctx.selfPath, FINALIZE.commandSessionAny)],
182
+ }, ctx.colour));
144
183
  return EXIT.usage;
145
184
  }
146
185
  if (recent.length > 1) {
147
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.severalRecent, why: recent.map((r) => FINALIZE.recentRow(r.id, Math.round((nowMs - r.at) / 60000))) }, ctx.colour));
186
+ writeLines(ctx.stderr, renderErrorBlock({
187
+ kind: "bad",
188
+ code: "FINALIZE_SEVERAL_RECENT",
189
+ what: FINALIZE.severalRecent,
190
+ why: recent.map((r) => FINALIZE.recentRow(r.id, Math.round((nowMs - r.at) / 60000))),
191
+ fixLabel: FINALIZE.severalRecentFix,
192
+ fixes: [channelCommand(ctx.env, ctx.selfPath, FINALIZE.commandSessionAny)],
193
+ }, ctx.colour));
148
194
  return EXIT.usage;
149
195
  }
150
196
  sessionId = recent[0].id;
@@ -152,17 +198,24 @@ export async function finalize(ctx, argv) {
152
198
  // ── The session must be one THIS repo captured (it has a state file here) and its transcript must be findable inside the agent's own root. ──
153
199
  const state = sessionStatePath(ctx.home, { repoKey: projectKey, sessionId });
154
200
  if (state === null || !existsSync(state)) {
155
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.unknownSession(sessionId), why: [] }, ctx.colour));
201
+ writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", code: "FINALIZE_UNKNOWN_SESSION", what: FINALIZE.unknownSession(sessionId), why: [] }, ctx.colour));
156
202
  return EXIT.usage;
157
203
  }
158
204
  const transcriptPath = findTranscript(ctx.home, ctx.env, sessionId);
159
205
  if (transcriptPath === null) {
160
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.transcriptMissing(sessionId), why: [] }, ctx.colour));
206
+ writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", code: "FINALIZE_TRANSCRIPT_MISSING", what: FINALIZE.transcriptMissing(sessionId), why: [] }, ctx.colour));
161
207
  return EXIT.failure;
162
208
  }
163
209
  try {
164
210
  if (!args.force && nowMs - statSync(transcriptPath).mtimeMs < STILL_WRITING_MS) {
165
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.stillWriting, why: [] }, ctx.colour));
211
+ writeLines(ctx.stderr, renderErrorBlock({
212
+ kind: "bad",
213
+ code: "FINALIZE_STILL_WRITING",
214
+ what: FINALIZE.stillWriting,
215
+ why: [],
216
+ fixLabel: FINALIZE.stillWritingFix,
217
+ fixes: [channelCommand(ctx.env, ctx.selfPath, FINALIZE.commandSessionForce(sessionId))],
218
+ }, ctx.colour));
166
219
  return EXIT.usage;
167
220
  }
168
221
  }
@@ -177,64 +230,193 @@ export async function finalize(ctx, argv) {
177
230
  // the session necessarily has a state file (required above), so a first-turn commit was promoted by the first
178
231
  // `Stop` that wrote one. Promoting from this verb would add a second call site to a function whose only call site
179
232
  // is a pinned property (`post-commit-spool.test.ts`, D208): a dead session must never reach it.
180
- const spoolKey = { repoKey: projectKey, sessionId };
181
- const spooled = capSpool(readSpool(ctx.home, spoolKey));
182
- const rewritten = capSuccessors(readRewrites(ctx.home, spoolKey));
183
- const inferred = capInferred(readInferred(ctx.home, spoolKey)); // `TODOS[177]`
184
- const redactionRoots = confinementRoots(keys);
185
- const repoSlug = resolveRepoSlug(projectKey);
186
- const hookEnv = {
187
- env: ctx.env,
233
+ const closed = await closeSession({
188
234
  home: ctx.home,
235
+ env: ctx.env,
189
236
  nodeVersion: ctx.nodeVersion,
190
237
  agentId: ctx.agentId ?? DEFAULT_AGENT_ID,
191
- readStdin: async () => "",
192
- };
193
- const input = { sessionId, transcriptPath, cwd: ctx.cwd, eventName: "Stop" };
194
- const startedAt = Date.now();
195
- await deliverSubagents({
196
- ctx: hookEnv,
197
- input,
238
+ cwd: ctx.cwd,
198
239
  url,
199
240
  credential: load.credential,
200
241
  projectKey,
201
- redactionRoots,
202
- repoSlug,
203
- startedAt,
204
- sendBudget: SEND_BUDGET_MS,
205
- byHook: false,
242
+ redactionRoots: confinementRoots(keys),
243
+ repoSlug: slugOf(),
244
+ sessionId,
245
+ transcriptPath,
246
+ eof,
247
+ seal: true,
248
+ allowNeverCaptured: false,
249
+ completeSubagents: false,
206
250
  });
251
+ // ── What the server said. ──
252
+ if (closed.kind === "stopped") {
253
+ writeLines(ctx.stderr, renderErrorBlock({
254
+ kind: "bad",
255
+ code: "CREDENTIAL_REJECTED",
256
+ what: FINALIZE.credentialStopped,
257
+ why: [],
258
+ fixLabel: FINALIZE.credentialStoppedFix,
259
+ fixes: [authCommandFor(ctx.env, ctx.selfPath)],
260
+ }, ctx.colour));
261
+ return EXIT.failure;
262
+ }
263
+ if (closed.kind === "sealed" || closed.kind === "already") {
264
+ writeLines(ctx.stdout, wrap(closed.kind === "sealed" ? FINALIZE.closed(sessionId) : FINALIZE.alreadyClosed(sessionId), 2));
265
+ if (closed.setAsidePairs > 0)
266
+ writeLines(ctx.stderr, wrap(FINALIZE.inferredSetAside(closed.setAsidePairs), 2));
267
+ return EXIT.ok;
268
+ }
269
+ if (closed.kind === "refused") {
270
+ writeLines(ctx.stderr, renderErrorBlock({
271
+ kind: "bad",
272
+ code: "FINALIZE_REFUSED",
273
+ what: FINALIZE.refused,
274
+ why: [],
275
+ fixLabel: FINALIZE.retryFix,
276
+ fixes: [channelCommand(ctx.env, ctx.selfPath, FINALIZE.commandSession(sessionId))],
277
+ }, ctx.colour));
278
+ return EXIT.failure;
279
+ }
280
+ if (closed.kind === "unacknowledged") {
281
+ // 2xx and no acknowledgement: an older server. Delivered, NOT closed — and the exit code says so.
282
+ writeLines(ctx.stderr, renderErrorBlock({ kind: "warn", what: FINALIZE.notAcknowledged, why: [] }, ctx.colour));
283
+ return EXIT.unacknowledged;
284
+ }
285
+ // Anything else did not deliver (`not-delivered`; `finalize` never asks for the outcomes only a backfill can get).
286
+ writeLines(ctx.stderr, renderErrorBlock({
287
+ kind: "bad",
288
+ code: "DELIVERY_FAILED",
289
+ what: FINALIZE.notDelivered,
290
+ why: [],
291
+ fixLabel: FINALIZE.retryFix,
292
+ fixes: [channelCommand(ctx.env, ctx.selfPath, FINALIZE.commandSession(sessionId))],
293
+ }, ctx.colour));
294
+ return EXIT.failure;
295
+ }
296
+ /**
297
+ * PR 7 (Q2): the ingest address in the environment is one this client refuses to send to. Shared with `backfill`, which
298
+ * stops on the same condition. The fix names the variable to correct or unset — retrying cannot help.
299
+ */
300
+ export function ingestUrlUnavailableBlock(ctx) {
301
+ return renderErrorBlock({
302
+ kind: "bad",
303
+ code: "INGEST_URL_UNAVAILABLE",
304
+ what: FINALIZE.ingestUrlWhat,
305
+ why: [FINALIZE.ingestUrlWhy],
306
+ fixLabel: FINALIZE.ingestUrlFix,
307
+ fixes: [FINALIZE.ingestUrlCommand],
308
+ }, ctx.colour);
309
+ }
310
+ /** Rounds of `deliverSubagents` a complete close will make: eight files each, so 512 streams. A bound, not a goal. */
311
+ const SUBAGENT_ROUNDS_MAX = 64;
312
+ /** A delivery the failure policy KEPT the bytes of — the only kind that blocks the main stream (a `never` advanced past its span). */
313
+ function blocksMain(delivery) {
314
+ if (delivery.kind === "stopped")
315
+ return true;
316
+ return delivery.kind === "attempted" && (delivery.disposition === "later" || delivery.disposition === "fatal");
317
+ }
318
+ /**
319
+ * Close ONE session: sub-agent streams first, then the main stream, then (when `seal`) the assertion and the bounded drain.
320
+ *
321
+ * Extracted from `finalize` (design review D5 · A) so that `vibecommit backfill` closes an old session exactly the way the
322
+ * verb that asserts a session is over does. A second copy of this order would be a second place for "sub-agents first" to be
323
+ * forgotten, and the seal it ends in cannot be reopened.
324
+ *
325
+ * It PRINTS nothing and reads no flag: `finalize` and `backfill` each turn the outcome into their own words and exit codes.
326
+ */
327
+ export async function closeSession(input) {
328
+ const { home, env, url, credential, projectKey, redactionRoots, repoSlug, sessionId, transcriptPath, eof } = input;
329
+ const spoolKey = { repoKey: projectKey, sessionId };
330
+ if (!input.allowNeverCaptured) {
331
+ const state = sessionStatePath(home, spoolKey);
332
+ if (state === null || !existsSync(state))
333
+ return { kind: "never-captured" };
334
+ }
335
+ const spooled = capSpool(readSpool(home, spoolKey));
336
+ const rewritten = capSuccessors(readRewrites(home, spoolKey));
337
+ const inferred = capInferred(readInferred(home, spoolKey)); // `TODOS[177]`
338
+ const hookEnv = {
339
+ env,
340
+ home,
341
+ nodeVersion: input.nodeVersion,
342
+ agentId: input.agentId,
343
+ readStdin: async () => "",
344
+ };
345
+ const hookInput = { sessionId, transcriptPath, cwd: input.cwd, eventName: "Stop" };
346
+ const budget = input.sendBudgetMs ?? SEND_BUDGET_MS;
347
+ let startedAt = Date.now();
348
+ if (!input.completeSubagents) {
349
+ await deliverSubagents({
350
+ ctx: hookEnv,
351
+ input: hookInput,
352
+ url,
353
+ credential,
354
+ projectKey,
355
+ redactionRoots,
356
+ repoSlug,
357
+ startedAt,
358
+ sendBudget: budget,
359
+ byHook: false,
360
+ });
361
+ }
362
+ else {
363
+ for (let round = 0; round < SUBAGENT_ROUNDS_MAX; round += 1) {
364
+ const sent = await deliverSubagents({
365
+ ctx: hookEnv,
366
+ input: hookInput,
367
+ url,
368
+ credential,
369
+ projectKey,
370
+ redactionRoots,
371
+ repoSlug,
372
+ // A fresh budget each round: one round stops at the hook-sized budget with files left, and that is not a failure here.
373
+ startedAt: Date.now(),
374
+ sendBudget: budget,
375
+ byHook: false,
376
+ });
377
+ const blocked = sent.deliveries.find(blocksMain);
378
+ if (blocked !== undefined)
379
+ return { kind: "subagents-held", delivery: blocked };
380
+ // No delivery in a round with a fresh budget means no stream had bytes pending.
381
+ if (sent.deliveries.length === 0)
382
+ break;
383
+ }
384
+ // The main stream's clock starts HERE. Rounds of sub-agent sends can take longer than one budget, and a clock that began before
385
+ // them would hand the main deltas the minimum timeout and end them `later` (PR 5 review). `finalize`'s single pass keeps
386
+ // the clock it always had.
387
+ startedAt = Date.now();
388
+ }
207
389
  const delivery = await deliver({
208
- home: ctx.home,
209
- env: ctx.env,
390
+ home,
391
+ env,
210
392
  url,
211
- credential: load.credential,
393
+ credential,
212
394
  repoKey: projectKey,
213
395
  repoSlug,
214
396
  sessionId,
215
397
  fileKey: "main",
216
398
  transcriptPath,
217
- timeoutMs: sendTimeoutMs(SEND_BUDGET_MS, Date.now() - startedAt),
399
+ timeoutMs: sendTimeoutMs(budget, Date.now() - startedAt),
218
400
  nowMs: Date.now(),
219
401
  head: headRef(projectKey),
220
402
  commits: spooled,
221
403
  rewrites: rewritten.pairs,
222
404
  inferredRewrites: inferred.pairs,
223
405
  inferredGroups: inferred.groups,
224
- final: true,
406
+ ...(input.seal ? { final: true } : {}),
225
407
  byHook: false,
226
- }, eof, (from, to) => readSpan(transcriptPath, from, to, redactionRoots, ctx.home, ctx.env));
227
- // ── What the server said. ──
228
- if (delivery.kind === "stopped") {
229
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.credentialStopped, why: [] }, ctx.colour));
230
- return EXIT.failure;
231
- }
232
- if (delivery.kind !== "attempted" || delivery.disposition !== "ok") {
233
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.notDelivered, why: [] }, ctx.colour));
234
- return EXIT.failure;
408
+ }, eof, (from, to) => readSpan(transcriptPath, from, to, redactionRoots, home, env), recordCutter(transcriptPath));
409
+ if (delivery.kind === "stopped")
410
+ return { kind: "stopped" };
411
+ if (!input.seal) {
412
+ return delivery.kind === "nothing-to-send" || (delivery.kind === "attempted" && delivery.disposition === "ok")
413
+ ? { kind: "delivered", delivery }
414
+ : { kind: "not-delivered", delivery };
235
415
  }
416
+ if (delivery.kind !== "attempted" || delivery.disposition !== "ok")
417
+ return { kind: "not-delivered", delivery };
236
418
  if (delivery.finalAck === "sealed" || delivery.finalAck === "already") {
237
- clearDeliveredHold(ctx.home, spoolKey);
419
+ clearDeliveredHold(home, spoolKey);
238
420
  // ⭐ `TODOS[177]` follow-up (VL, 2026-10-08) — DRAIN what the first delivery's caps left spooled. A session
239
421
  // over 16 exact pairs or 64 inferred pairs (one squash of 64 is already the server's own cap; several
240
422
  // squashes in one session is what overflows this) would otherwise leave the rest spooled FOREVER: nobody
@@ -255,10 +437,10 @@ export async function finalize(ctx, argv) {
255
437
  // to `FINALIZE_DRAIN_MAX_ITERATIONS` pointless empty-list requests, with the backoff delays above making
256
438
  // each one slower rather than faster to give up on (the ack is an explicit `0`, never `null`, so the
257
439
  // existing "absent ack, stop asking" guard below never fires either).
258
- const lean = fileState(loadSessionState(ctx.home, spoolKey), "main").lean;
440
+ const lean = fileState(loadSessionState(home, spoolKey), "main").lean;
259
441
  for (let i = 0; !lean && i < FINALIZE_DRAIN_MAX_ITERATIONS; i += 1) {
260
- const moreRewritten = capSuccessors(readRewrites(ctx.home, spoolKey));
261
- const moreInferred = capInferred(readInferred(ctx.home, spoolKey));
442
+ const moreRewritten = capSuccessors(readRewrites(home, spoolKey));
443
+ const moreInferred = capInferred(readInferred(home, spoolKey));
262
444
  if (moreRewritten.pairs.length === 0 && moreInferred.pairs.length === 0)
263
445
  break;
264
446
  const groupId = moreInferred.groups.length > 0 ? `${moreInferred.groups[0].successor}:${moreInferred.groups[0].patchId}` : null;
@@ -266,16 +448,16 @@ export async function finalize(ctx, argv) {
266
448
  await wait(FINALIZE_DRAIN_BACKOFF_MS[backoffStreak - 1]);
267
449
  }
268
450
  const drain = await deliver({
269
- home: ctx.home,
270
- env: ctx.env,
451
+ home: home,
452
+ env: env,
271
453
  url,
272
- credential: load.credential,
454
+ credential: credential,
273
455
  repoKey: projectKey,
274
456
  repoSlug,
275
457
  sessionId,
276
458
  fileKey: "main",
277
459
  transcriptPath,
278
- timeoutMs: sendTimeoutMs(SEND_BUDGET_MS, Date.now() - startedAt),
460
+ timeoutMs: sendTimeoutMs(budget, Date.now() - startedAt),
279
461
  nowMs: Date.now(),
280
462
  head: headRef(projectKey),
281
463
  rewrites: moreRewritten.pairs,
@@ -283,7 +465,7 @@ export async function finalize(ctx, argv) {
283
465
  inferredGroups: moreInferred.groups,
284
466
  final: true,
285
467
  byHook: false,
286
- }, eof, (from, to) => readSpan(transcriptPath, from, to, redactionRoots, ctx.home, ctx.env));
468
+ }, eof, (from, to) => readSpan(transcriptPath, from, to, redactionRoots, home, env), recordCutter(transcriptPath));
287
469
  if (drain.kind !== "attempted" || drain.disposition !== "ok")
288
470
  break;
289
471
  setAsidePairs += drain.inferredSetAsidePairs;
@@ -316,20 +498,13 @@ export async function finalize(ctx, argv) {
316
498
  // ⛔⛔ Fine to delete AFTER `setAsidePairs` is computed above, NEVER before (VL, 2026-10-08, VG's silent-loss
317
499
  // finding B1): `setAsidePairs` is read from `deliver()`'s own return values — which were captured before this
318
500
  // point — not re-derived from the spool afterward, which is the file this line is about to delete.
319
- if (inferredFullyResolved(ctx.home, spoolKey))
320
- deleteInferredSpool(ctx.home, spoolKey);
321
- writeLines(ctx.stdout, wrap(delivery.finalAck === "sealed" ? FINALIZE.closed(sessionId) : FINALIZE.alreadyClosed(sessionId), 2));
322
- if (setAsidePairs > 0)
323
- writeLines(ctx.stderr, wrap(FINALIZE.inferredSetAside(setAsidePairs), 2));
324
- return EXIT.ok;
325
- }
326
- if (delivery.finalAck === "refused") {
327
- writeLines(ctx.stderr, renderErrorBlock({ kind: "bad", what: FINALIZE.refused, why: [] }, ctx.colour));
328
- return EXIT.failure;
501
+ if (inferredFullyResolved(home, spoolKey))
502
+ deleteInferredSpool(home, spoolKey);
503
+ return { kind: delivery.finalAck, delivery, setAsidePairs };
329
504
  }
330
- // 2xx and no acknowledgement: an older server. Delivered, NOT closed — and the exit code says so.
331
- writeLines(ctx.stderr, renderErrorBlock({ kind: "warn", what: FINALIZE.notAcknowledged, why: [] }, ctx.colour));
332
- return EXIT.unacknowledged;
505
+ if (delivery.finalAck === "refused")
506
+ return { kind: "refused", delivery };
507
+ return { kind: "unacknowledged", delivery };
333
508
  }
334
509
  /** Sessions of this repo whose state file was touched in the last 24 h, newest first. */
335
510
  function recentSessions(home, repoKey, nowMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/commands/finalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/commands/finalize.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,3 @@
1
- /**
2
- * Everything between "the server minted a credential" and "this machine has it" — `finishMint` — and the
3
- * result type both browser beats return. Shared by the loopback flow (`browser_credential.ts`) and the
4
- * device flow (`device_credential.ts`, `CR-234d`), and living in neither so that the two can import it
5
- * without importing each other.
6
- */
7
1
  import { type IngestCredential } from "../credential.js";
8
2
  import type { MintFacts } from "../oauth/mint.js";
9
3
  import type { Whoami } from "../oauth/whoami.js";
@@ -54,6 +48,8 @@ export interface FinishMintInput {
54
48
  };
55
49
  /** The command a fail-closed refusal tells the user to run again. Default: this install's `auth`. */
56
50
  readonly rerun?: string;
51
+ /** `"repos"`: the picker path (0.7.0, D7 · 3A) — the question names the repos chosen, not the machine. */
52
+ readonly scope?: "repos";
57
53
  }
58
54
  /**
59
55
  * Everything between "the server minted a credential" and "this machine has it" — shared by the
@@ -1,3 +1,10 @@
1
+ /** The one question (default No). On the picker path it names the repos chosen, not the machine (0.7.0, D7 · 3A). */
2
+ function workspaceQuestion(scope, orgName) {
3
+ if (scope === "repos") {
4
+ return orgName === null ? REPLACE.questionReposUnconfirmed : REPLACE.questionRepos(truncateMiddle(orgName, 28));
5
+ }
6
+ return orgName === null ? REPLACE.questionUnconfirmed : REPLACE.question(truncateMiddle(orgName, 30));
7
+ }
1
8
  /**
2
9
  * Everything between "the server minted a credential" and "this machine has it" — `finishMint` — and the
3
10
  * result type both browser beats return. Shared by the loopback flow (`browser_credential.ts`) and the
@@ -33,7 +40,7 @@ export async function finishMint(ctx, input) {
33
40
  const { minted, facts, prior } = input;
34
41
  const fresh = await probeCredential(ctx, minted, input.fetch, { record: false });
35
42
  if (fresh.kind === "unauthorized") {
36
- writeLines(ctx.stderr, ["", ...renderErrorBlock({ kind: "bad", what: AUTH.mintFailedWhat, why: [AUTH.mintUnconfirmedWhy] }, ctx.colour)]);
43
+ writeLines(ctx.stderr, ["", ...renderErrorBlock({ kind: "bad", code: "MINT_FAILED", what: AUTH.mintFailedWhat, why: [AUTH.mintUnconfirmedWhy] }, ctx.colour)]);
37
44
  return { kind: "failed" };
38
45
  }
39
46
  const priorOk = prior !== null && prior.who.kind === "ok";
@@ -59,6 +66,7 @@ export async function finishMint(ctx, input) {
59
66
  "",
60
67
  ...renderErrorBlock({
61
68
  kind: "bad",
69
+ code: "WORKSPACE_UNCONFIRMED",
62
70
  what: REPLACE.unconfirmableWhat,
63
71
  why: [revoked.kind === "retired" ? REPLACE.unconfirmableWhyRevoked : REPLACE.unconfirmableWhyOrphan],
64
72
  fixLabel: REPLACE.unconfirmableFix,
@@ -86,7 +94,7 @@ export async function finishMint(ctx, input) {
86
94
  // just created LIVE and unused in the person's Settings. Any rejection means nobody said yes.
87
95
  let answer;
88
96
  try {
89
- answer = await ctx.ask(` ${orgName === null ? REPLACE.questionUnconfirmed : REPLACE.question(truncateMiddle(orgName, 30))} ${paint(ctx.colour, "muted", CONNECT.consentAnswers)} `);
97
+ answer = await ctx.ask(` ${workspaceQuestion(input.scope, orgName)} ${paint(ctx.colour, "muted", CONNECT.consentAnswers)} `);
90
98
  }
91
99
  catch {
92
100
  answer = null;
@@ -1 +1 @@
1
- {"version":3,"file":"finish_mint.js","sourceRoot":"","sources":["../../src/commands/finish_mint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjH,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0C7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAmB,EAAE,KAAsB;IAC1E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEvC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,UAAU,CACR,GAAG,CAAC,MAAM,EACV,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAClH,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAEnF,oGAAoG;IACpG,mGAAmG;IACnG,iDAAiD;IACjD,gGAAgG;IAChG,4DAA4D;IAC5D,qGAAqG;IACrG,kEAAkE;IAClE,kGAAkG;IAClG,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,IAAI,WAAW,CAAC;IAC5E,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,KAAK,IAAI;QACjB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;QACpD,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE;YACpF,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAElD,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,IAAI,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3F,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;YACrB,EAAE;YACF,GAAG,gBAAgB,CACjB;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO,CAAC,iBAAiB;gBAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBACpG,QAAQ,EAAE,OAAO,CAAC,gBAAgB;gBAClC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC9D,EACD,GAAG,CAAC,MAAM,CACX;SACF,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzD,8FAA8F;QAC9F,yEAAyE;QACzE,MAAM,IAAI,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;QACvC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;YACrB,EAAE;YACF,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAClI,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,IAAI,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YAClG,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI;gBACtC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtG,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,sGAAsG;QACtG,qGAAqG;QACrG,mGAAmG;QACnG,8FAA8F;QAC9F,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CACpB,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAC7J,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,6EAA6E;YAC7E,iGAAiG;YACjG,6FAA6F;YAC7F,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3F,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;gBACrB,EAAE;gBACF,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;aAC1F,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,oBAAoB,CAClB,GAAG,CAAC,IAAI,EACR,qBAAqB,CAAC,MAAM,CAAC,EAC7B;QACE,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;QACtF,aAAa,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY;QAC5E,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAChD,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;QAC7E,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KACjC,EACD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CACtC,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,qGAAqG;QACrG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,IAAI,KAAK,SAAS;gBACxB,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;oBAC9B,CAAC,CAAC,MAAM,CAAC,UAAU;oBACnB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;wBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO;wBAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"finish_mint.js","sourceRoot":"","sources":["../../src/commands/finish_mint.ts"],"names":[],"mappings":"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"}