@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.
- package/README.md +84 -5
- package/dist/agent_hooks.d.ts +8 -0
- package/dist/agent_hooks.js +31 -1
- package/dist/agent_hooks.js.map +1 -1
- package/dist/agents/claude_code.d.ts +34 -0
- package/dist/agents/claude_code.js +141 -8
- package/dist/agents/claude_code.js.map +1 -1
- package/dist/agents/codex_cli.d.ts +13 -0
- package/dist/agents/codex_cli.js +241 -2
- package/dist/agents/codex_cli.js.map +1 -1
- package/dist/agents/cursor.d.ts +34 -0
- package/dist/agents/cursor.js +115 -1
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/session_listing.d.ts +29 -0
- package/dist/agents/session_listing.js +49 -0
- package/dist/agents/session_listing.js.map +1 -0
- package/dist/agents/types.d.ts +118 -8
- package/dist/agents/types.js +17 -3
- package/dist/agents/types.js.map +1 -1
- package/dist/commands/approval_pending.d.ts +9 -0
- package/dist/commands/approval_pending.js +23 -0
- package/dist/commands/approval_pending.js.map +1 -0
- package/dist/commands/auth.js +31 -11
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/backfill.d.ts +160 -0
- package/dist/commands/backfill.js +748 -0
- package/dist/commands/backfill.js.map +1 -0
- package/dist/commands/browser_credential.d.ts +2 -0
- package/dist/commands/browser_credential.js +31 -14
- package/dist/commands/browser_credential.js.map +1 -1
- package/dist/commands/connect.d.ts +137 -0
- package/dist/commands/connect.js +203 -109
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connect_picker.d.ts +27 -0
- package/dist/commands/connect_picker.js +415 -0
- package/dist/commands/connect_picker.js.map +1 -0
- package/dist/commands/context.d.ts +16 -0
- package/dist/commands/context.js +27 -0
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/credential_problem.d.ts +15 -4
- package/dist/commands/credential_problem.js +29 -22
- package/dist/commands/credential_problem.js.map +1 -1
- package/dist/commands/device_credential.d.ts +2 -0
- package/dist/commands/device_credential.js +16 -14
- package/dist/commands/device_credential.js.map +1 -1
- package/dist/commands/finalize.d.ts +95 -0
- package/dist/commands/finalize.js +249 -74
- package/dist/commands/finalize.js.map +1 -1
- package/dist/commands/finish_mint.d.ts +2 -6
- package/dist/commands/finish_mint.js +10 -2
- package/dist/commands/finish_mint.js.map +1 -1
- package/dist/commands/report.js +38 -30
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/scan.d.ts +162 -0
- package/dist/commands/scan.js +507 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/status.js +119 -22
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/status_hooks.d.ts +14 -0
- package/dist/commands/status_hooks.js +81 -0
- package/dist/commands/status_hooks.js.map +1 -0
- package/dist/commands/status_machine.d.ts +18 -0
- package/dist/commands/status_machine.js +149 -0
- package/dist/commands/status_machine.js.map +1 -0
- package/dist/commands/why.js +44 -31
- package/dist/commands/why.js.map +1 -1
- package/dist/consent.d.ts +111 -0
- package/dist/consent.js +203 -1
- package/dist/consent.js.map +1 -1
- package/dist/copy/error_codes.d.ts +222 -0
- package/dist/copy/error_codes.js +105 -0
- package/dist/copy/error_codes.js.map +1 -0
- package/dist/copy/index.d.ts +2 -2
- package/dist/copy/index.js +2 -2
- package/dist/copy/index.js.map +1 -1
- package/dist/copy/strings.d.ts +497 -29
- package/dist/copy/strings.js +601 -35
- package/dist/copy/strings.js.map +1 -1
- package/dist/copy/time.d.ts +11 -0
- package/dist/copy/time.js +18 -0
- package/dist/copy/time.js.map +1 -1
- package/dist/credential.d.ts +5 -1
- package/dist/credential.js +2 -2
- package/dist/credential.js.map +1 -1
- package/dist/git.d.ts +43 -0
- package/dist/git.js +95 -0
- package/dist/git.js.map +1 -1
- package/dist/hooks/entry.d.ts +18 -1
- package/dist/hooks/entry.js +110 -13
- package/dist/hooks/entry.js.map +1 -1
- package/dist/hooks/post_commit.js +3 -3
- package/dist/hooks/post_commit.js.map +1 -1
- package/dist/hooks/post_rewrite.js +6 -4
- package/dist/hooks/post_rewrite.js.map +1 -1
- package/dist/hooks/session_start.d.ts +93 -0
- package/dist/hooks/session_start.js +199 -0
- package/dist/hooks/session_start.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +56 -8
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +57 -0
- package/dist/install.js +54 -20
- package/dist/install.js.map +1 -1
- package/dist/json.d.ts +32 -9
- package/dist/json.js +35 -8
- package/dist/json.js.map +1 -1
- package/dist/machine_state.d.ts +52 -0
- package/dist/machine_state.js +63 -0
- package/dist/machine_state.js.map +1 -0
- package/dist/oauth/session.d.ts +1 -0
- package/dist/org_pending.d.ts +52 -0
- package/dist/org_pending.js +109 -0
- package/dist/org_pending.js.map +1 -0
- package/dist/paths.d.ts +50 -0
- package/dist/paths.js +64 -0
- package/dist/paths.js.map +1 -1
- package/dist/picker.d.ts +180 -0
- package/dist/picker.js +477 -0
- package/dist/picker.js.map +1 -0
- package/dist/picker_checklist.d.ts +125 -0
- package/dist/picker_checklist.js +375 -0
- package/dist/picker_checklist.js.map +1 -0
- package/dist/policy.d.ts +54 -0
- package/dist/policy.js +47 -0
- package/dist/policy.js.map +1 -1
- package/dist/post.d.ts +50 -16
- package/dist/post.js +265 -58
- package/dist/post.js.map +1 -1
- package/dist/state.d.ts +6 -0
- package/dist/state.js +38 -1
- package/dist/state.js.map +1 -1
- package/dist/system_message.d.ts +8 -1
- package/dist/system_message.js +19 -1
- package/dist/system_message.js.map +1 -1
- package/dist/term.d.ts +28 -2
- package/dist/term.js +23 -2
- package/dist/term.js.map +1 -1
- package/dist/verb_help.d.ts +13 -0
- package/dist/verb_help.js +40 -0
- package/dist/verb_help.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -9
package/dist/commands/connect.js
CHANGED
|
@@ -26,20 +26,23 @@
|
|
|
26
26
|
*
|
|
27
27
|
* @provenance vibecommit-mcp src/transport/server.ts — POST /oauth/ingest-credential now mints one, verified
|
|
28
28
|
*/
|
|
29
|
-
import { AUTH, CONNECT, COMMANDS, AGENT_HOOKS, COMMIT_HOOK,
|
|
29
|
+
import { AUTH, CONNECT, PICKER, COMMANDS, AGENT_HOOKS, COMMIT_HOOK, HELP, PATH_CLASH, REJECTED, DEVICE, RUNTIME, URLS, } from "../copy/index.js";
|
|
30
30
|
import { dialectFor } from "../agents/registry.js";
|
|
31
|
-
import { grantProject, isAffirmative,
|
|
31
|
+
import { clearExclusion, grantProject, grantsUnreadable, isAffirmative, isCaptureAllowed, isLocalSlug, } from "../consent.js";
|
|
32
32
|
import { loadCredential } from "../credential.js";
|
|
33
33
|
import { EXIT } from "../exit.js";
|
|
34
|
-
import { resolveRepoSlug } from "../git.js";
|
|
35
|
-
import { confinementRoots, readSpan, DEFAULT_HOOK_BUDGET_MS } from "../hooks/entry.js";
|
|
34
|
+
import { onceRepoSlug, resolveRepoSlug } from "../git.js";
|
|
35
|
+
import { confinementRoots, hookBudgetMs, readSpan, recordCutter, DEFAULT_HOOK_BUDGET_MS } from "../hooks/entry.js";
|
|
36
36
|
import { installAgentHooks } from "../agent_install.js";
|
|
37
|
-
import { authCommandFor, classifyInstall, installPostCommitHook } from "../install.js";
|
|
37
|
+
import { authCommandFor, channelCommand, classifyInstall, connectCommandFor, installPostCommitHook } from "../install.js";
|
|
38
|
+
import { realpathSync } from "node:fs";
|
|
38
39
|
import { CAPTURE_NOT_APPROVED, deliver, credentialFingerprint, ingestUrl, } from "../post.js";
|
|
39
40
|
import { resolveProjectKeys } from "../project.js";
|
|
40
41
|
import { meetsNodeFloor, NODE_FLOOR_TEXT } from "../runtime.js";
|
|
41
42
|
import { credentialsPath } from "../paths.js";
|
|
42
43
|
import { paint, renderErrorBlock, tildePath, truncatePath, wrap } from "../term.js";
|
|
44
|
+
import { renderVerbHelp } from "../verb_help.js";
|
|
45
|
+
import { approvalPendingBlock } from "./approval_pending.js";
|
|
43
46
|
import { credentialProblem, rejectedCredentialBlock } from "./credential_problem.js";
|
|
44
47
|
import { probeCredential } from "./probe.js";
|
|
45
48
|
import { writeLines } from "./context.js";
|
|
@@ -49,13 +52,15 @@ export async function connect(ctx, options = {}, deps = {}) {
|
|
|
49
52
|
// `connect` carries the "already exposed" urgency `auth`'s own positional refusal does, so first is
|
|
50
53
|
// safe here, unlike there. Reads and writes nothing.
|
|
51
54
|
if (options.help === true) {
|
|
52
|
-
|
|
55
|
+
const helpVerb = "connect"; // an identifier, not a literal, at the writer: `copy-inline-literals` follows argument positions
|
|
56
|
+
writeLines(ctx.stdout, renderVerbHelp(helpVerb));
|
|
53
57
|
return EXIT.ok;
|
|
54
58
|
}
|
|
55
59
|
// `CR-234d`: sign-in by code waits on a person and ends in a question — a terminal or nothing.
|
|
56
60
|
if (options.device === true && !ctx.stdinIsTty) {
|
|
57
61
|
writeLines(ctx.stderr, renderErrorBlock({
|
|
58
62
|
kind: "bad",
|
|
63
|
+
code: "SIGNIN_CODE_NEEDS_TTY",
|
|
59
64
|
what: DEVICE.needsTerminalWhat,
|
|
60
65
|
why: [DEVICE.needsTerminalWhy],
|
|
61
66
|
fixLabel: DEVICE.needsTerminalFix,
|
|
@@ -68,60 +73,129 @@ export async function connect(ctx, options = {}, deps = {}) {
|
|
|
68
73
|
if (!meetsNodeFloor(ctx.nodeVersion)) {
|
|
69
74
|
writeLines(ctx.stderr, renderErrorBlock({
|
|
70
75
|
kind: "bad",
|
|
76
|
+
code: "NODE_TOO_OLD",
|
|
71
77
|
what: RUNTIME.floorWhat,
|
|
72
78
|
why: [
|
|
73
79
|
`${RUNTIME.floorWhyPrefix} ${NODE_FLOOR_TEXT} ${RUNTIME.floorWhyMiddle} ${ctx.nodeVersion}.`,
|
|
74
80
|
],
|
|
75
81
|
fixLabel: RUNTIME.floorFix,
|
|
76
|
-
fixes: [
|
|
82
|
+
fixes: [connectCommandFor(ctx.env, ctx.selfPath)],
|
|
77
83
|
}, ctx.colour));
|
|
78
84
|
return EXIT.failure;
|
|
79
85
|
}
|
|
80
|
-
// (2)
|
|
81
|
-
//
|
|
82
|
-
//
|
|
86
|
+
// (2) WHERE ARE WE? (0.7.0, D34.) `connect` no longer needs a work tree: outside one, and from `$HOME` even inside one, it
|
|
87
|
+
// shows the picker. Inside a work tree with a remote it shows the picker with this repo pre-ticked. A repo that is
|
|
88
|
+
// ALREADY covered skips it, and a repo with no remote (`local:`) keeps the 0.6.0 flow: there is no slug to grant.
|
|
83
89
|
//
|
|
84
|
-
// ⛔ THE GRANT
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
// itself. Granting the toplevel here while `entry.ts` and `post_commit.ts`
|
|
88
|
-
// check the common dir is a TOTAL, SILENT capture outage in every repository
|
|
89
|
-
// (`D184 §9`), and no cell that grants and checks through one helper can see
|
|
90
|
-
// it.
|
|
90
|
+
// ⛔ THE PER-CLONE GRANT IS STILL THE ONLY WRITER OF `projects.json`, and it writes `keys.consent` — the git common
|
|
91
|
+
// dir (`D184 §1`, `§9`): granting the toplevel while the gates check the common dir is a TOTAL, SILENT capture outage
|
|
92
|
+
// in every repository, and no cell that grants and checks through one helper can see it.
|
|
91
93
|
const keys = resolveProjectKeys(ctx.cwd);
|
|
92
|
-
if (keys === null) {
|
|
93
|
-
|
|
94
|
+
if (keys === null || atHome(ctx)) {
|
|
95
|
+
// Outside a work tree: nothing to pre-tick. At `$HOME` a dotfiles repo is FLAGGED in the list, never pre-ticked.
|
|
96
|
+
let here = null;
|
|
97
|
+
if (keys !== null) {
|
|
98
|
+
const slug = resolveRepoSlug(keys.worktree);
|
|
99
|
+
if (!isLocalSlug(slug))
|
|
100
|
+
here = { slug, toplevel: keys.worktree, kind: "folder" };
|
|
101
|
+
}
|
|
102
|
+
return await (await import("./connect_picker.js")).connectPicker(ctx, options, deps, here);
|
|
103
|
+
}
|
|
104
|
+
// 0.7.0: the same decision the hooks make. A repo that is excluded (`vibecommit off`) is NOT already connected here
|
|
105
|
+
// even when its common-dir consent survives, so it falls through to the disclosure, and only a yes below clears it.
|
|
106
|
+
const slugOf = onceRepoSlug(keys.worktree);
|
|
107
|
+
if (grantsUnreadable(ctx.home) && !isLocalSlug(slugOf())) {
|
|
108
|
+
writeLines(ctx.stderr, grantsUnreadableBlock(ctx));
|
|
94
109
|
return EXIT.failure;
|
|
95
110
|
}
|
|
96
|
-
if (
|
|
111
|
+
if (isCaptureAllowed(ctx.home, keys, slugOf)) {
|
|
97
112
|
writeLines(ctx.stdout, wrap(CONNECT.alreadyConnected, 2));
|
|
98
113
|
return await afterConsent(ctx, keys, options, deps);
|
|
99
114
|
}
|
|
100
|
-
|
|
101
|
-
|
|
115
|
+
if (!isLocalSlug(slugOf())) {
|
|
116
|
+
return await (await import("./connect_picker.js")).connectPicker(ctx, options, deps, { slug: slugOf(), toplevel: keys.worktree, kind: "repo" }, keys);
|
|
117
|
+
}
|
|
118
|
+
// (3) The disclosure, then the gate. A repo with no remote: the 0.6.0 screen, under its own heading (D35).
|
|
119
|
+
writeLines(ctx.stdout, disclosure(ctx, false));
|
|
102
120
|
// (4) Non-TTY REFUSES. A consent prompt that proceeds when nobody can answer
|
|
103
121
|
// it is not a consent prompt (D65 §DR7). Exit 2 — DESIGN.md §13.7 names this
|
|
104
122
|
// case explicitly, so it is a usage error and not a failure.
|
|
105
123
|
if (!ctx.stdinIsTty) {
|
|
106
124
|
writeLines(ctx.stderr, renderErrorBlock({
|
|
107
125
|
kind: "bad",
|
|
126
|
+
code: "CONSENT_NEEDS_TTY",
|
|
108
127
|
what: CONNECT.nonInteractiveWhat,
|
|
109
128
|
why: [CONNECT.nonInteractiveWhy],
|
|
110
|
-
|
|
111
|
-
|
|
129
|
+
// PR 6 item 6: names the folder the user is to run it in, cut from the LEFT to fit the line (§13.4).
|
|
130
|
+
fixLabel: CONNECT.nonInteractiveFix(truncatePath(tildePath(keys.worktree, ctx.home), 46)),
|
|
131
|
+
fixes: [connectCommandFor(ctx.env, ctx.selfPath)],
|
|
112
132
|
}, ctx.colour));
|
|
113
133
|
return EXIT.usage;
|
|
114
134
|
}
|
|
115
|
-
// (5) The default is N. Anything that is not an explicit yes is a no.
|
|
116
|
-
|
|
135
|
+
// (5) The default is N. Anything that is not an explicit yes is a no. ⛔ A REJECTED QUESTION IS A CANCEL: Ctrl+C at a
|
|
136
|
+
// `readline/promises` question does not raise SIGINT, the promise REJECTS (TODOS[191]), and left to escape it printed
|
|
137
|
+
// the "unexpected error" block for what is ordinary CLI behaviour.
|
|
138
|
+
const answer = await askOrCancel(ctx, ` ${CONNECT.consentPrompt} ${paint(ctx.colour, "muted", CONNECT.consentAnswers)} `);
|
|
139
|
+
if (answer === null)
|
|
140
|
+
return cancelled(ctx);
|
|
117
141
|
if (!isAffirmative(answer)) {
|
|
118
142
|
writeLines(ctx.stdout, ["", ...wrap(CONNECT.declined, 2)]);
|
|
119
143
|
// Declining is a successful consent flow, not a failure. Exit 0 (§13.7).
|
|
120
144
|
return EXIT.ok;
|
|
121
145
|
}
|
|
146
|
+
// A yes is the ONLY thing that lifts an exclusion: `off` recorded the slug, and the disclosure above was shown again.
|
|
147
|
+
// ⛔ `grants.json` FIRST, THE COMMON-DIR CONSENT SECOND (VR #28, on merged #73). `clearExclusion` refuses to touch a file it
|
|
148
|
+
// cannot read BEFORE it writes anything, so a race with an edit of `grants.json` since the check above stops here with
|
|
149
|
+
// nothing written — which keeps "Nothing was changed." true. The other order had already written `projects.json`.
|
|
150
|
+
// A repo with no remote has no slug to exclude and is exempt from an unreadable file (`isCaptureAllowed`), so it skips this.
|
|
151
|
+
if (!isLocalSlug(slugOf()) && clearExclusion(ctx.home, slugOf()) === "unreadable") {
|
|
152
|
+
writeLines(ctx.stderr, grantsUnreadableBlock(ctx));
|
|
153
|
+
return EXIT.failure;
|
|
154
|
+
}
|
|
122
155
|
grantProject(ctx.home, keys.consent, ctx.now());
|
|
123
156
|
return await afterConsent(ctx, keys, options, deps);
|
|
124
157
|
}
|
|
158
|
+
/** Is the working folder the home directory? Realpaths, so a symlinked home still matches; any failure is "no". */
|
|
159
|
+
function atHome(ctx) {
|
|
160
|
+
if (ctx.home === "")
|
|
161
|
+
return false;
|
|
162
|
+
try {
|
|
163
|
+
return realpathSync(ctx.cwd) === realpathSync(ctx.home);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Ask a question; `null` when the prompt was aborted. Ctrl+C at a `readline/promises` question closes the interface and
|
|
171
|
+
* REJECTS with an `AbortError` instead of raising SIGINT (TODOS[191]), so every ask site that wants Ctrl+C to be a No
|
|
172
|
+
* goes through here. A rejection means nobody said yes.
|
|
173
|
+
*/
|
|
174
|
+
export async function askOrCancel(ctx, question) {
|
|
175
|
+
try {
|
|
176
|
+
return await ctx.ask(question);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/** §10.11: Ctrl+C at the picker or the grant y/N is a No. Exit 1, and nothing was changed. */
|
|
183
|
+
export function cancelled(ctx) {
|
|
184
|
+
// The terminal left the cursor at the end of the prompt line, so one empty line ends it and a second leaves the blank
|
|
185
|
+
// line the drawn screen has.
|
|
186
|
+
writeLines(ctx.stdout, ["", "", ...wrap(PICKER.cancelled, 2)]);
|
|
187
|
+
return EXIT.failure;
|
|
188
|
+
}
|
|
189
|
+
export function grantsUnreadableBlock(ctx) {
|
|
190
|
+
return renderErrorBlock({
|
|
191
|
+
kind: "bad",
|
|
192
|
+
code: "GRANTS_UNREADABLE",
|
|
193
|
+
what: CONNECT.grantsUnreadableWhat,
|
|
194
|
+
why: [CONNECT.grantsUnreadableWhy],
|
|
195
|
+
fixLabel: CONNECT.grantsUnreadableFixLabel,
|
|
196
|
+
fixes: [connectCommandFor(ctx.env, ctx.selfPath)],
|
|
197
|
+
}, ctx.colour);
|
|
198
|
+
}
|
|
125
199
|
/**
|
|
126
200
|
* Consent is settled. Sign in if asked, then do the credential beat.
|
|
127
201
|
*
|
|
@@ -158,13 +232,16 @@ async function afterConsent(ctx, keys, options, deps) {
|
|
|
158
232
|
* because the approved copy itself says "private-repo paths", so a substring
|
|
159
233
|
* gate would fire on approved copy on day one. That one is a HUMAN review item.
|
|
160
234
|
*/
|
|
161
|
-
function disclosure(ctx) {
|
|
235
|
+
export function disclosure(ctx, picker) {
|
|
162
236
|
// §10.2 aligns the two link URLs in one column. The width is DERIVED from the
|
|
163
237
|
// labels rather than hardcoded, so editing a label cannot silently break the
|
|
164
238
|
// alignment — and the four trailing spaces are the gutter the guide draws.
|
|
165
239
|
const gutter = Math.max(CONNECT.consentDocsLabel.length, CONNECT.consentBundleLabel.length) + 4;
|
|
166
240
|
return [
|
|
167
|
-
|
|
241
|
+
// D23 · D35: the picker path and the no-remote path each have their own heading (a new constant, passing the same
|
|
242
|
+
// content gates). The four paragraphs under either are byte-identical, and the picker path adds ONE sentence.
|
|
243
|
+
...wrap(picker ? CONNECT.consentHeadingPicker : CONNECT.consentHeading, 2),
|
|
244
|
+
...(picker ? wrap(CONNECT.consentScope, 2) : []),
|
|
168
245
|
"",
|
|
169
246
|
...wrap(CONNECT.consentDetail, 2),
|
|
170
247
|
"",
|
|
@@ -200,6 +277,16 @@ function disclosure(ctx) {
|
|
|
200
277
|
* exactly the population that installs commit tooling.
|
|
201
278
|
*/
|
|
202
279
|
async function credentialBeat(ctx, keys, deps, options = {}) {
|
|
280
|
+
const got = await obtainCredential(ctx, deps, options);
|
|
281
|
+
if (got.kind === "exit")
|
|
282
|
+
return got.code;
|
|
283
|
+
return await captureBeat(ctx, keys, got.credential, got.unconfirmed);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Get a credential this machine can send with — the beat both endings share (the 0.6.0 one and the picker's).
|
|
287
|
+
* `scope: "repos"` is the picker path: the workspace question names the repos chosen, not the machine (D7 · 3A).
|
|
288
|
+
*/
|
|
289
|
+
export async function obtainCredential(ctx, deps, options = {}, scope) {
|
|
203
290
|
const load = loadCredential({ env: ctx.env, home: ctx.home });
|
|
204
291
|
if (load.kind === "ok") {
|
|
205
292
|
// ⛔ ASK THE SERVER BEFORE SENDING — `R12` (D13 = A), G1. `connect` used to send whatever loaded
|
|
@@ -216,12 +303,12 @@ async function credentialBeat(ctx, keys, deps, options = {}) {
|
|
|
216
303
|
colour: ctx.colour,
|
|
217
304
|
standing: false,
|
|
218
305
|
}));
|
|
219
|
-
return EXIT.notConnected;
|
|
306
|
+
return { kind: "exit", code: EXIT.notConnected };
|
|
220
307
|
}
|
|
221
308
|
// Only a 401 proves the credential dead. A 5xx, a 404 from a server that predates the route, a
|
|
222
309
|
// timeout or a network error says nothing about it — and "a blip is not a failed install" is the
|
|
223
310
|
// rule `captureBeat` already keeps for the send. So: today's ending, plus one muted line.
|
|
224
|
-
return
|
|
311
|
+
return { kind: "credential", credential: load.credential, unconfirmed: probe.kind === "unavailable" };
|
|
225
312
|
}
|
|
226
313
|
// ⛔ ONLY FOR `absent`, AND ONLY WITH A HUMAN AT THE TERMINAL (`CR-226`).
|
|
227
314
|
// - `absent`: a credential that is present but wrong-class, unreadable or
|
|
@@ -231,7 +318,10 @@ async function credentialBeat(ctx, keys, deps, options = {}) {
|
|
|
231
318
|
// opened there waits five minutes for nobody. The old warning is the
|
|
232
319
|
// right answer for them, and it is what they still get.
|
|
233
320
|
if (load.kind === "absent" && ctx.stdinIsTty && deps.browser !== undefined) {
|
|
234
|
-
const minted = await deps.browser(ctx, "connect", {
|
|
321
|
+
const minted = await deps.browser(ctx, "connect", {
|
|
322
|
+
device: options.device === true,
|
|
323
|
+
...(scope === undefined ? {} : { scope }),
|
|
324
|
+
});
|
|
235
325
|
if (minted.kind === "saved") {
|
|
236
326
|
writeLines(ctx.stdout, [
|
|
237
327
|
"",
|
|
@@ -242,27 +332,89 @@ async function credentialBeat(ctx, keys, deps, options = {}) {
|
|
|
242
332
|
}, ctx.colour),
|
|
243
333
|
]);
|
|
244
334
|
// Already probed by the mint (`finishMint`), so no second probe here.
|
|
245
|
-
return
|
|
335
|
+
return { kind: "credential", credential: minted.credential, unconfirmed: false };
|
|
246
336
|
}
|
|
247
337
|
// Declined at the replace confirmation: the reason is already on screen, and the user said NO.
|
|
248
338
|
if (minted.kind === "declined")
|
|
249
|
-
return EXIT.failure;
|
|
339
|
+
return { kind: "exit", code: EXIT.failure };
|
|
250
340
|
// Failed: the reason is already on stderr. Fall through to the paste path.
|
|
251
341
|
}
|
|
252
342
|
// ⛔ R15: a FAULTY file is named as the fault it is, not as "no credential". The fix for a fault is
|
|
253
343
|
// `auth` (or a `chmod`), and `connect` still never mints over one (D206 §5).
|
|
254
344
|
if (load.kind !== "absent") {
|
|
255
345
|
writeLines(ctx.stderr, credentialProblem(load, ctx.colour, authCommandFor(ctx.env, ctx.selfPath)));
|
|
256
|
-
return EXIT.notConnected;
|
|
346
|
+
return { kind: "exit", code: EXIT.notConnected };
|
|
257
347
|
}
|
|
258
348
|
writeLines(ctx.stderr, renderErrorBlock({
|
|
259
349
|
kind: "warn",
|
|
260
350
|
what: CONNECT.credentialNeededWhat,
|
|
261
351
|
why: [CONNECT.credentialNeededWhy],
|
|
262
352
|
fixLabel: CONNECT.credentialNeededFix,
|
|
263
|
-
fixes: [CONNECT.credentialNeededCommand, COMMANDS.connect],
|
|
353
|
+
fixes: [CONNECT.credentialNeededCommand, COMMANDS.connect].map((fix) => channelCommand(ctx.env, ctx.selfPath, fix)),
|
|
264
354
|
}, ctx.colour));
|
|
265
|
-
return EXIT.notConnected;
|
|
355
|
+
return { kind: "exit", code: EXIT.notConnected };
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* The test capture: send the current session's transcript through `deliver()` so the ending can name evidence (D57 §DX5's
|
|
359
|
+
* Sentry-wizard pattern). Shared by the 0.6.0 ending (`captureBeat`) and the in-repo picker path (0.7.0, VQ item 7), so the
|
|
360
|
+
* two cannot drift: one budget (`hookBudgetMs`, PR 4a), one redaction root set, one place that reads a 2xx body.
|
|
361
|
+
*
|
|
362
|
+
* `found` is the located transcript, or `null` when there is none (no locator, or the agent has not run here). Returns the
|
|
363
|
+
* delivery, or `null` when nothing was sent.
|
|
364
|
+
*/
|
|
365
|
+
export async function sendTestCapture(ctx, keys, credential, found) {
|
|
366
|
+
const projectKey = keys.worktree;
|
|
367
|
+
const url = ingestUrl(ctx.env);
|
|
368
|
+
let delivery = null;
|
|
369
|
+
if (found !== null && url !== null) {
|
|
370
|
+
// Through `deliver()`, so the offset ledger, the failure policy and
|
|
371
|
+
// `CR-024d`'s redaction all apply exactly as they do for a hook. A second
|
|
372
|
+
// upload path here would bypass all three.
|
|
373
|
+
delivery = await deliver({
|
|
374
|
+
home: ctx.home,
|
|
375
|
+
env: ctx.env,
|
|
376
|
+
url,
|
|
377
|
+
credential,
|
|
378
|
+
repoKey: projectKey,
|
|
379
|
+
repoSlug: resolveRepoSlug(projectKey),
|
|
380
|
+
sessionId: found.sessionId,
|
|
381
|
+
fileKey: "main",
|
|
382
|
+
// ⛔ The LOCATED path (`CR-204`), so this test capture names its producer
|
|
383
|
+
// on the wire exactly as a hook's would — and names it the same way,
|
|
384
|
+
// from the root that contains the file rather than from `ctx.agentId`.
|
|
385
|
+
// ⚠ The LOCATOR above is still the flag's: `connect` is looking FOR a
|
|
386
|
+
// transcript, so there is no path yet to ask a root about.
|
|
387
|
+
transcriptPath: found.path,
|
|
388
|
+
timeoutMs: DEFAULT_HOOK_BUDGET_MS,
|
|
389
|
+
// PR 4a — ONE HOOK BUDGET (Alexander's ruling, design doc Next Steps 4a). A large session is sent in deltas, and this
|
|
390
|
+
// test capture sends what fits in a single hook's budget, then prints its ending: `connect` must not sit through a
|
|
391
|
+
// multi-minute upload that the session's own hooks, `finalize` and the backfill offer will do anyway. What is left
|
|
392
|
+
// is NOT written off: the offset stays where the last acknowledged delta put it. The ending below is unchanged for a
|
|
393
|
+
// partial delivery, and so is the conversation-id link (the id comes from the first delta that carries it).
|
|
394
|
+
deadlineAtMs: Date.now() + hookBudgetMs(ctx.env, ctx.agentId ?? ""),
|
|
395
|
+
nowMs: ctx.now().getTime(),
|
|
396
|
+
// ⛔ NOT A HOOK. `connect` backfills the located transcript, which is not evidence that the session is alive: it
|
|
397
|
+
// would otherwise rewrite an old session's state file and (under the mtime clock) make it "live" — the D2 shape.
|
|
398
|
+
byHook: false,
|
|
399
|
+
// ⛔ THE ONLY CALLER THAT READS A 2xx BODY (`eng-2 D2 = A`): for the session link. Hooks and
|
|
400
|
+
// `finalize` leave this unset, so the hook's hot path never reads, awaits or parses one.
|
|
401
|
+
readConversationId: true,
|
|
402
|
+
}, found.size,
|
|
403
|
+
// ⛔ THE ROOT SET, and it is `confinementRoots` — THE SAME FUNCTION THE
|
|
404
|
+
// HOOK PATH CALLS (`entry.ts`), not a set built here. `D184 §3`: the
|
|
405
|
+
// confinement root is `[worktree, mainToplevel]` and the consent key is
|
|
406
|
+
// NEVER a member, so this does not follow the flip above.
|
|
407
|
+
//
|
|
408
|
+
// ⚠ WHY IT CANNOT STAY THE SINGLETON IT WAS: `connect` runs in whatever
|
|
409
|
+
// cwd a human typed it in, which is reachable from inside a worktree. With
|
|
410
|
+
// one root, this preview would redact main-clone content that the hook
|
|
411
|
+
// path transmits — the two would disagree SILENTLY, and the preview is the
|
|
412
|
+
// artefact the user reads to decide whether redaction works. `isInside`
|
|
413
|
+
// fail-closes an unresolvable path to REDACT, so the disagreement shows up
|
|
414
|
+
// as a plausible, well-formed, emptier payload rather than an error.
|
|
415
|
+
(from, to) => readSpan(found.path, from, to, confinementRoots(keys), ctx.home, ctx.env), recordCutter(found.path));
|
|
416
|
+
}
|
|
417
|
+
return { delivery };
|
|
266
418
|
}
|
|
267
419
|
/**
|
|
268
420
|
* The ending — D57 §DX5's Sentry-wizard test-event pattern.
|
|
@@ -343,55 +495,12 @@ unconfirmed) {
|
|
|
343
495
|
what: CONNECT.noTranscriptWhat,
|
|
344
496
|
why: [CONNECT.noTranscriptWhy],
|
|
345
497
|
fixLabel: CONNECT.noTranscriptFix,
|
|
346
|
-
fixes: [COMMANDS.status],
|
|
498
|
+
fixes: [channelCommand(ctx.env, ctx.selfPath, COMMANDS.status)],
|
|
347
499
|
}, ctx.colour),
|
|
348
500
|
]);
|
|
349
501
|
return tail(ctx, unconfirmed);
|
|
350
502
|
}
|
|
351
|
-
const
|
|
352
|
-
let delivery = null;
|
|
353
|
-
if (found !== null && url !== null) {
|
|
354
|
-
// Through `deliver()`, so the offset ledger, the failure policy and
|
|
355
|
-
// `CR-024d`'s redaction all apply exactly as they do for a hook. A second
|
|
356
|
-
// upload path here would bypass all three.
|
|
357
|
-
delivery = await deliver({
|
|
358
|
-
home: ctx.home,
|
|
359
|
-
env: ctx.env,
|
|
360
|
-
url,
|
|
361
|
-
credential,
|
|
362
|
-
repoKey: projectKey,
|
|
363
|
-
repoSlug: resolveRepoSlug(projectKey),
|
|
364
|
-
sessionId: found.sessionId,
|
|
365
|
-
fileKey: "main",
|
|
366
|
-
// ⛔ The LOCATED path (`CR-204`), so this test capture names its producer
|
|
367
|
-
// on the wire exactly as a hook's would — and names it the same way,
|
|
368
|
-
// from the root that contains the file rather than from `ctx.agentId`.
|
|
369
|
-
// ⚠ The LOCATOR above is still the flag's: `connect` is looking FOR a
|
|
370
|
-
// transcript, so there is no path yet to ask a root about.
|
|
371
|
-
transcriptPath: found.path,
|
|
372
|
-
timeoutMs: DEFAULT_HOOK_BUDGET_MS,
|
|
373
|
-
nowMs: ctx.now().getTime(),
|
|
374
|
-
// ⛔ NOT A HOOK. `connect` backfills the located transcript, which is not evidence that the session is alive: it
|
|
375
|
-
// would otherwise rewrite an old session's state file and (under the mtime clock) make it "live" — the D2 shape.
|
|
376
|
-
byHook: false,
|
|
377
|
-
// ⛔ THE ONLY CALLER THAT READS A 2xx BODY (`eng-2 D2 = A`): for the session link. Hooks and
|
|
378
|
-
// `finalize` leave this unset, so the hook's hot path never reads, awaits or parses one.
|
|
379
|
-
readConversationId: true,
|
|
380
|
-
}, found.size,
|
|
381
|
-
// ⛔ THE ROOT SET, and it is `confinementRoots` — THE SAME FUNCTION THE
|
|
382
|
-
// HOOK PATH CALLS (`entry.ts`), not a set built here. `D184 §3`: the
|
|
383
|
-
// confinement root is `[worktree, mainToplevel]` and the consent key is
|
|
384
|
-
// NEVER a member, so this does not follow the flip above.
|
|
385
|
-
//
|
|
386
|
-
// ⚠ WHY IT CANNOT STAY THE SINGLETON IT WAS: `connect` runs in whatever
|
|
387
|
-
// cwd a human typed it in, which is reachable from inside a worktree. With
|
|
388
|
-
// one root, this preview would redact main-clone content that the hook
|
|
389
|
-
// path transmits — the two would disagree SILENTLY, and the preview is the
|
|
390
|
-
// artefact the user reads to decide whether redaction works. `isInside`
|
|
391
|
-
// fail-closes an unresolvable path to REDACT, so the disagreement shows up
|
|
392
|
-
// as a plausible, well-formed, emptier payload rather than an error.
|
|
393
|
-
(from, to) => readSpan(found.path, from, to, confinementRoots(keys), ctx.home, ctx.env));
|
|
394
|
-
}
|
|
503
|
+
const { delivery } = await sendTestCapture(ctx, keys, credential, found);
|
|
395
504
|
// THE FIFTH BEAT — `CR-110`, D65 §DR6, D81.
|
|
396
505
|
//
|
|
397
506
|
// ⚠ ONE outcome is branched on, identified by its ERROR CODE. The general rule
|
|
@@ -417,7 +526,7 @@ unconfirmed) {
|
|
|
417
526
|
` ${paint(ctx.colour, "accent", conversationId === undefined ? URLS.commits : URLS.conversation(conversationId))}`,
|
|
418
527
|
"",
|
|
419
528
|
...wrap(CONNECT.doneForRepo(truncatePath(projectKey, 52)), 2),
|
|
420
|
-
...wrap(`${CONNECT.stopLabel}: ${COMMANDS.off}`, 2),
|
|
529
|
+
...wrap(`${CONNECT.stopLabel}: ${channelCommand(ctx.env, ctx.selfPath, COMMANDS.off)}`, 2),
|
|
421
530
|
]);
|
|
422
531
|
return tail(ctx, unconfirmed);
|
|
423
532
|
}
|
|
@@ -426,13 +535,13 @@ unconfirmed) {
|
|
|
426
535
|
* the PATH-clash check. The one place `pathClash` is called — a branch that called it too would print
|
|
427
536
|
* the clash block twice.
|
|
428
537
|
*/
|
|
429
|
-
function tail(ctx, unconfirmed) {
|
|
538
|
+
export function tail(ctx, unconfirmed) {
|
|
430
539
|
if (unconfirmed) {
|
|
431
540
|
writeLines(ctx.stdout, [
|
|
432
541
|
"",
|
|
433
542
|
// Two short lines, never one wrapped: the backticked command must not be split (see `REJECTED`).
|
|
434
543
|
` ${paint(ctx.colour, "muted", REJECTED.unconfirmedWhat)}`,
|
|
435
|
-
` ${paint(ctx.colour, "muted", REJECTED.unconfirmedFix)}`,
|
|
544
|
+
` ${paint(ctx.colour, "muted", REJECTED.unconfirmedFix(channelCommand(ctx.env, ctx.selfPath, COMMANDS.status)))}`,
|
|
436
545
|
]);
|
|
437
546
|
}
|
|
438
547
|
return pathClash(ctx);
|
|
@@ -449,7 +558,7 @@ function tail(ctx, unconfirmed) {
|
|
|
449
558
|
* into a file shared by every project — the one new responsibility `CR-195`
|
|
450
559
|
* names — so "we configured your editor" is the shape this must not take.
|
|
451
560
|
*/
|
|
452
|
-
function agentHookBeat(ctx) {
|
|
561
|
+
export function agentHookBeat(ctx) {
|
|
453
562
|
const outcomes = installAgentHooks(ctx.home, ctx.env, ctx.selfPath);
|
|
454
563
|
for (const outcome of outcomes) {
|
|
455
564
|
// Absent agents say nothing at all. A line per tool the user does not have
|
|
@@ -482,7 +591,7 @@ function agentHookBeat(ctx) {
|
|
|
482
591
|
...(refused
|
|
483
592
|
? {
|
|
484
593
|
fixLabel: AGENT_HOOKS.refusedFixLabel,
|
|
485
|
-
fixes: [AGENT_HOOKS.refusedFix(path)],
|
|
594
|
+
fixes: [AGENT_HOOKS.refusedFix(path, connectCommandFor(ctx.env, ctx.selfPath))],
|
|
486
595
|
}
|
|
487
596
|
: {}),
|
|
488
597
|
}, ctx.colour),
|
|
@@ -534,7 +643,7 @@ function commitHookBeat(ctx, projectKey) {
|
|
|
534
643
|
: COMMIT_HOOK.failedWhy(outcome.why),
|
|
535
644
|
],
|
|
536
645
|
fixLabel: COMMIT_HOOK.hooksPathFixLabel,
|
|
537
|
-
fixes: [COMMIT_HOOK.hooksPathFixUnset, COMMIT_HOOK.hooksPathFixManual],
|
|
646
|
+
fixes: [COMMIT_HOOK.hooksPathFixUnset, COMMIT_HOOK.hooksPathFixManual(channelCommand(ctx.env, ctx.selfPath, COMMANDS.postCommit))],
|
|
538
647
|
}, ctx.colour),
|
|
539
648
|
]);
|
|
540
649
|
return;
|
|
@@ -544,7 +653,7 @@ function commitHookBeat(ctx, projectKey) {
|
|
|
544
653
|
: outcome.kind === "chained"
|
|
545
654
|
? COMMIT_HOOK.chained(repo)
|
|
546
655
|
: COMMIT_HOOK.already;
|
|
547
|
-
writeLines(ctx.stdout, ["", ...wrap(line, 2), ...wrap(COMMIT_HOOK.perClone, 2)]);
|
|
656
|
+
writeLines(ctx.stdout, ["", ...wrap(line, 2), ...wrap(COMMIT_HOOK.perClone(connectCommandFor(ctx.env, ctx.selfPath)), 2)]);
|
|
548
657
|
}
|
|
549
658
|
/**
|
|
550
659
|
* Is this delivery the org-approval-pending outcome, and nothing else?
|
|
@@ -561,7 +670,7 @@ function commitHookBeat(ctx, projectKey) {
|
|
|
561
670
|
* is normalised to `null`, because both mean *not determinable* to the copy and
|
|
562
671
|
* neither may assert delivery.
|
|
563
672
|
*/
|
|
564
|
-
function approvalPending(delivery) {
|
|
673
|
+
export function approvalPending(delivery) {
|
|
565
674
|
if (delivery === null || delivery.kind !== "attempted")
|
|
566
675
|
return null;
|
|
567
676
|
if (delivery.detail?.code !== CAPTURE_NOT_APPROVED)
|
|
@@ -578,19 +687,9 @@ function approvalPending(delivery) {
|
|
|
578
687
|
* offset holds and the backlog uploads in order once an owner approves. A red
|
|
579
688
|
* exit here tells a correctly-installed user they broke something.
|
|
580
689
|
*/
|
|
581
|
-
function approvalPendingBeat(ctx, projectKey, ownersNotified) {
|
|
582
|
-
//
|
|
583
|
-
// replace
|
|
584
|
-
// the branches cannot drift apart: there is exactly one place the
|
|
585
|
-
// recorded-request sentence exists.
|
|
586
|
-
//
|
|
587
|
-
// ⚠ AND `null` NEVER REACHES THE NOTIFICATION CLAUSE. `null` = not
|
|
588
|
-
// determinable, `0` = determinable and nobody was told; both render the
|
|
589
|
-
// recorded-go-ask branch alone. The owner genuinely is not emailed until
|
|
590
|
-
// `CR-036`, which is provisioning-blocked — disclosed, not concealed.
|
|
591
|
-
const why = ownersNotified !== null && ownersNotified > 0
|
|
592
|
-
? `${CONNECT.pendingRecorded} ${CONNECT.pendingNotified(ownersNotified)}`
|
|
593
|
-
: CONNECT.pendingRecorded;
|
|
690
|
+
export function approvalPendingBeat(ctx, projectKey, ownersNotified) {
|
|
691
|
+
// The block itself is `approval_pending.ts`'s, shared with `status`: the shared clause first, the notification second
|
|
692
|
+
// (it ADDS, it does not replace, D81), and `null` never reaches the notification clause.
|
|
594
693
|
// ⚠ STDOUT, not stderr, and the rule is consistent in this file: stderr
|
|
595
694
|
// accompanies a NON-ZERO exit here (`credentialBeat` → 3, `noTranscript` → 1,
|
|
596
695
|
// `pathClash` → 1, the sign-in failures → 1). This beat exits 0, so it is the
|
|
@@ -599,13 +698,7 @@ function approvalPendingBeat(ctx, projectKey, ownersNotified) {
|
|
|
599
698
|
// armed" with the reason stripped off it.
|
|
600
699
|
writeLines(ctx.stdout, [
|
|
601
700
|
"",
|
|
602
|
-
...
|
|
603
|
-
kind: "warn",
|
|
604
|
-
what: CONNECT.pendingWhat,
|
|
605
|
-
why: [CONNECT.pendingWhy(resolveRepoSlug(projectKey)), why, CONNECT.pendingBuffered],
|
|
606
|
-
fixLabel: CONNECT.pendingTrackLabel,
|
|
607
|
-
fixes: [URLS.captureAccess],
|
|
608
|
-
}, ctx.colour),
|
|
701
|
+
...approvalPendingBlock(ctx.colour, resolveRepoSlug(projectKey), ownersNotified),
|
|
609
702
|
"",
|
|
610
703
|
...wrap(CONNECT.pendingArmed(truncatePath(projectKey, 52)), 2),
|
|
611
704
|
]);
|
|
@@ -630,6 +723,7 @@ function pathClash(ctx) {
|
|
|
630
723
|
return EXIT.ok;
|
|
631
724
|
writeLines(ctx.stderr, renderErrorBlock({
|
|
632
725
|
kind: "bad",
|
|
726
|
+
code: verdict.kind === "foreign" ? "PATH_COMMAND_FOREIGN" : "PATH_COMMAND_ABSENT",
|
|
633
727
|
what: verdict.kind === "foreign" ? PATH_CLASH.foreignWhat : PATH_CLASH.absentWhat,
|
|
634
728
|
why: [
|
|
635
729
|
verdict.kind === "foreign"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `connect` picker flow — style guide §10.12 (0.7.0, PR 3): scan → picker → disclosure → grant y/N → sign in → hooks →
|
|
3
|
+
* (in a repo) the test capture → "Capture is on" or the held beat → backfill offer → URL.
|
|
4
|
+
*
|
|
5
|
+
* ⛔ LOADED LAZILY, AND THAT IS THE POINT OF THIS FILE BEING SEPARATE. `connect.ts` imports it with `await import(...)` at
|
|
6
|
+
* the two call sites that reach the picker. `src/index.ts` statically imports every verb, so everything `connect.ts`
|
|
7
|
+
* imports is loaded by EVERY process, a hook's included; the picker, its checklist and the scan engine are a person-at-a-
|
|
8
|
+
* terminal feature and must not ride along on the hook's load path. (Measured: no timing difference at all in 120
|
|
9
|
+
* interleaved starts, so this is for the principle and for the SIGTERM cell's sake, not for a number.)
|
|
10
|
+
* The helpers it shares with the 0.6.0 flow are exported from `connect.ts`; the import is circular only at call time.
|
|
11
|
+
*/
|
|
12
|
+
import { type HereRepo } from "../picker.js";
|
|
13
|
+
import type { ProjectKeys } from "../project.js";
|
|
14
|
+
import { type ConnectDeps, type ConnectOptions } from "./connect.js";
|
|
15
|
+
import { type CommandContext } from "./context.js";
|
|
16
|
+
/**
|
|
17
|
+
* `connect` from any folder: scan → picker → disclosure → grant y/N → sign in → hooks → "Capture is on" → backfill offer
|
|
18
|
+
* → URL (§10.12). At most three questions in a run (D7 · 3A): the grant, the workspace (inside the mint, only where
|
|
19
|
+
* 0.6.0 already asks it) and the backfill (PR 5's seam).
|
|
20
|
+
*
|
|
21
|
+
* ⛔ **CONSENT STAYS AHEAD OF THE CREDENTIAL, and nothing before the grant opens a transcript.** The scan, the picker and
|
|
22
|
+
* the offer read directory entries and four Codex index columns only. The grant is written BEFORE the sign-in, as the
|
|
23
|
+
* per-clone consent always was.
|
|
24
|
+
*/
|
|
25
|
+
export declare function connectPicker(ctx: CommandContext, options: ConnectOptions, deps: ConnectDeps, here: HereRepo | null,
|
|
26
|
+
/** The working folder's keys, when it is a work tree: the in-repo path probes its session (VQ item 7). */
|
|
27
|
+
keys?: ProjectKeys | null): Promise<number>;
|