@vibe-commit/capture 0.6.1 → 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 +80 -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 +220 -16
- 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/why.js
CHANGED
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
* @provenance vibecommit-mcp src/read/envelope.ts — the one-text-part wire shape, retyped
|
|
93
93
|
* @provenance vibecommit-schema capture_turns + commit_file_attribution — MEASURED ABSENCE, cited
|
|
94
94
|
*/
|
|
95
|
-
import { ABSENCE, COMMANDS,
|
|
95
|
+
import { ABSENCE, COMMANDS, SIGNIN, WHY, renderCommitHeader, renderCommitIdentity, } from "../copy/index.js";
|
|
96
|
+
import { renderVerbHelp } from "../verb_help.js";
|
|
96
97
|
import { EXIT } from "../exit.js";
|
|
97
98
|
import { gitProbe, isShallowClone, resolveRepoSlug } from "../git.js";
|
|
98
99
|
import { emitJson } from "../json.js";
|
|
@@ -100,7 +101,8 @@ import { mcpUrl } from "../oauth/discovery.js";
|
|
|
100
101
|
import { readWithSession } from "../oauth/signin.js";
|
|
101
102
|
import { resolveProjectKey } from "../project.js";
|
|
102
103
|
import { WRAP_COLUMNS, paint, renderErrorBlock, truncatePath, wrap } from "../term.js";
|
|
103
|
-
import { writeLines } from "./context.js";
|
|
104
|
+
import { notAGitRepoBlock, writeFailure, writeLines } from "./context.js";
|
|
105
|
+
import { channelCommand, installChannel } from "../install.js";
|
|
104
106
|
/** §10.4 indents the body two columns and the turn rows four under it. */
|
|
105
107
|
const BODY_INDENT = 2;
|
|
106
108
|
const TURN_INDENT = 4;
|
|
@@ -425,16 +427,15 @@ export function parseTarget(argv) {
|
|
|
425
427
|
* *"a new writer needs a new entry here"*; `errorCopy: [0, 1, 2, 3]` is that
|
|
426
428
|
* entry, and the mutation that proves it fires is in `test/why.test.ts`.
|
|
427
429
|
*/
|
|
428
|
-
function errorCopy(what, why, fixLabel, fix) {
|
|
429
|
-
return { what, why: [why], fixLabel, fixes: [fix] };
|
|
430
|
+
function errorCopy(code, what, why, fixLabel, fix) {
|
|
431
|
+
return { code, what, why: [why], fixLabel, fixes: [fix] };
|
|
430
432
|
}
|
|
431
433
|
/** §13.6's shape, with the identity line above it when we have one. */
|
|
432
|
-
function fail(ctx, copy, code, commit) {
|
|
434
|
+
function fail(ctx, json, copy, code, commit) {
|
|
435
|
+
// Under `--json` the failure is ONE document on stdout and nothing on stderr (PR 7), so the identity line is not
|
|
436
|
+
// printed: the document carries the code, the sentences and the fix. The fix commands go through the install channel.
|
|
433
437
|
const identity = commit === undefined ? [] : [...wrap(renderCommitIdentity(commit), BODY_INDENT), ""];
|
|
434
|
-
|
|
435
|
-
...identity,
|
|
436
|
-
...renderErrorBlock({ kind: "bad", ...copy }, ctx.colour),
|
|
437
|
-
]);
|
|
438
|
+
writeFailure(ctx, { kind: "bad", ...copy, fixes: copy.fixes.map((fix) => channelCommand(ctx.env, ctx.selfPath, fix)) }, json ? "why" : null, identity);
|
|
438
439
|
return code;
|
|
439
440
|
}
|
|
440
441
|
/**
|
|
@@ -457,7 +458,13 @@ function absence(ctx, state, fixes, commit) {
|
|
|
457
458
|
...wrap(renderCommitIdentity(commit), BODY_INDENT),
|
|
458
459
|
"",
|
|
459
460
|
...renderErrorBlock(fixes.length > 0
|
|
460
|
-
? {
|
|
461
|
+
? {
|
|
462
|
+
kind: "warn",
|
|
463
|
+
what: state.what,
|
|
464
|
+
why: [state.why],
|
|
465
|
+
fixLabel: state.fix,
|
|
466
|
+
fixes: fixes.map((fix) => channelCommand(ctx.env, ctx.selfPath, fix)),
|
|
467
|
+
}
|
|
461
468
|
: { kind: "warn", what: state.what, why: [state.why] }, ctx.colour),
|
|
462
469
|
];
|
|
463
470
|
if (fixes.length === 0)
|
|
@@ -636,29 +643,30 @@ function attributionNote(ctx) {
|
|
|
636
643
|
* §13.7 makes distinct precisely so a wrapper can branch on it without parsing
|
|
637
644
|
* copy. The rest are failures of this attempt and exit 1.
|
|
638
645
|
*/
|
|
639
|
-
function notAuthorized(ctx, authorized, commit) {
|
|
646
|
+
function notAuthorized(ctx, json, authorized, commit) {
|
|
640
647
|
switch (authorized.kind) {
|
|
641
648
|
case "no-session":
|
|
642
|
-
return fail(ctx, errorCopy(WHY.signedOutWhat, WHY.signedOutWhy, WHY.signedOutFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
649
|
+
return fail(ctx, json, errorCopy("NOT_SIGNED_IN", WHY.signedOutWhat, WHY.signedOutWhy, WHY.signedOutFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
643
650
|
case "expired":
|
|
644
|
-
return fail(ctx, errorCopy(SIGNIN.expiredWhat, SIGNIN.expiredWhy, SIGNIN.expiredFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
651
|
+
return fail(ctx, json, errorCopy("SIGNIN_ENDED", SIGNIN.expiredWhat, SIGNIN.expiredWhy, SIGNIN.expiredFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
645
652
|
case "busy":
|
|
646
|
-
return fail(ctx, errorCopy(SIGNIN.busyWhat, SIGNIN.busyWhy, SIGNIN.busyFix, COMMANDS.why), EXIT.failure, commit);
|
|
653
|
+
return fail(ctx, json, errorCopy("SIGNIN_BUSY", SIGNIN.busyWhat, SIGNIN.busyWhy, SIGNIN.busyFix, COMMANDS.why), EXIT.failure, commit);
|
|
647
654
|
case "unreachable":
|
|
648
|
-
return fail(ctx, errorCopy(WHY.unreachableWhat, WHY.unreachableWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
655
|
+
return fail(ctx, json, errorCopy("RECORD_SERVICE_UNREACHABLE", WHY.unreachableWhat, WHY.unreachableWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
649
656
|
case "malformed":
|
|
650
|
-
return fail(ctx, errorCopy(WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
657
|
+
return fail(ctx, json, errorCopy("RECORD_ANSWER_UNREADABLE", WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
651
658
|
case "ok":
|
|
652
659
|
// Unreachable by construction: `readWithSession` only wraps a NON-ok
|
|
653
660
|
// outcome in `not-authorized`. Rendered rather than thrown, because a
|
|
654
661
|
// crash here would be a worse answer than an honest failure.
|
|
655
|
-
return fail(ctx, errorCopy(WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
662
|
+
return fail(ctx, json, errorCopy("RECORD_ANSWER_UNREADABLE", WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
656
663
|
}
|
|
657
664
|
}
|
|
658
665
|
export async function why(ctx, argv, deps = {}) {
|
|
659
666
|
// `TODOS[184]`. Check-first, before `parseTarget`/anything else. Reads and writes nothing.
|
|
660
667
|
if (argv.includes("--help") || argv.includes("-h")) {
|
|
661
|
-
|
|
668
|
+
const helpVerb = "why"; // an identifier, not a literal, at the writer: `copy-inline-literals` follows argument positions
|
|
669
|
+
writeLines(ctx.stdout, renderVerbHelp(helpVerb));
|
|
662
670
|
return EXIT.ok;
|
|
663
671
|
}
|
|
664
672
|
// §13.3 — `--json` emits nothing but the JSON document on stdout, and D122 §2
|
|
@@ -668,25 +676,25 @@ export async function why(ctx, argv, deps = {}) {
|
|
|
668
676
|
const json = argv.includes("--json");
|
|
669
677
|
const target = parseTarget(argv);
|
|
670
678
|
if (target === null) {
|
|
671
|
-
return fail(ctx, errorCopy(WHY.usageWhat, WHY.usageWhy, WHY.usageFix, COMMANDS.why), EXIT.usage);
|
|
679
|
+
return fail(ctx, json, errorCopy("WHY_NEEDS_FILE_AND_LINE", WHY.usageWhat, WHY.usageWhy, WHY.usageFix, COMMANDS.why), EXIT.usage);
|
|
672
680
|
}
|
|
673
681
|
const projectKey = resolveProjectKey(ctx.cwd);
|
|
674
682
|
if (projectKey === null) {
|
|
675
|
-
|
|
683
|
+
writeFailure(ctx, notAGitRepoBlock(ctx), json ? "why" : null);
|
|
676
684
|
return EXIT.failure;
|
|
677
685
|
}
|
|
678
686
|
// ⚠ BEFORE the blame, not after: on a shallow clone the answer would be
|
|
679
687
|
// plausible and wrong, and this is a REFUSAL, not an absence.
|
|
680
688
|
if (isShallowClone(projectKey)) {
|
|
681
|
-
return fail(ctx, errorCopy(WHY.shallowWhat, WHY.shallowWhy, WHY.shallowFix, WHY.shallowFixCommand), EXIT.failure);
|
|
689
|
+
return fail(ctx, json, errorCopy("SHALLOW_CLONE", WHY.shallowWhat, WHY.shallowWhy, WHY.shallowFix, WHY.shallowFixCommand), EXIT.failure);
|
|
682
690
|
}
|
|
683
691
|
const blamed = blameLine(projectKey, target.file, target.line);
|
|
684
692
|
if (blamed === null) {
|
|
685
|
-
return fail(ctx, errorCopy(WHY.blameWhat, WHY.blameWhy, WHY.blameFix, COMMANDS.why), EXIT.failure);
|
|
693
|
+
return fail(ctx, json, errorCopy("BLAME_FAILED", WHY.blameWhat, WHY.blameWhy, WHY.blameFix, COMMANDS.why), EXIT.failure);
|
|
686
694
|
}
|
|
687
695
|
const endpoint = mcpUrl(ctx.env);
|
|
688
696
|
if (endpoint === null) {
|
|
689
|
-
return fail(ctx, errorCopy(SIGNIN.noServerWhat, SIGNIN.noServerRefusedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, blamed.commit);
|
|
697
|
+
return fail(ctx, json, errorCopy("SIGNIN_SERVICE_NOT_FOUND", SIGNIN.noServerWhat, SIGNIN.noServerRefusedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, blamed.commit);
|
|
690
698
|
}
|
|
691
699
|
const read = deps.read ?? readWithSession;
|
|
692
700
|
const outcome = await read(endpoint, "blame_commit", {
|
|
@@ -705,27 +713,27 @@ export async function why(ctx, argv, deps = {}) {
|
|
|
705
713
|
function render(ctx, outcome, commit, file, json) {
|
|
706
714
|
switch (outcome.kind) {
|
|
707
715
|
case "not-authorized":
|
|
708
|
-
return notAuthorized(ctx, outcome.authorized, commit);
|
|
716
|
+
return notAuthorized(ctx, json, outcome.authorized, commit);
|
|
709
717
|
case "unauthorized":
|
|
710
718
|
// A 401 that survived one refresh and one retry. The bearer is dead.
|
|
711
|
-
return fail(ctx, errorCopy(WHY.signedOutWhat, WHY.signedOutWhy, WHY.signedOutFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
719
|
+
return fail(ctx, json, errorCopy("NOT_SIGNED_IN", WHY.signedOutWhat, WHY.signedOutWhy, WHY.signedOutFix, COMMANDS.signIn), EXIT.notConnected, commit);
|
|
712
720
|
case "unreachable":
|
|
713
|
-
return fail(ctx, errorCopy(WHY.unreachableWhat, WHY.unreachableWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
721
|
+
return fail(ctx, json, errorCopy("RECORD_SERVICE_UNREACHABLE", WHY.unreachableWhat, WHY.unreachableWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
714
722
|
case "rpc-error":
|
|
715
723
|
// ⚠ Never a bare HTTP status or a raw JSON-RPC code on screen (§13.6).
|
|
716
|
-
return fail(ctx, errorCopy(WHY.serverErrorWhat, WHY.serverErrorWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
724
|
+
return fail(ctx, json, errorCopy("RECORD_SERVICE_ERROR", WHY.serverErrorWhat, WHY.serverErrorWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
717
725
|
case "malformed":
|
|
718
|
-
return fail(ctx, errorCopy(WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
726
|
+
return fail(ctx, json, errorCopy("RECORD_ANSWER_UNREADABLE", WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
719
727
|
case "ok": {
|
|
720
728
|
// ⚠ `isError` rides the SAME envelope as a success and is a documented
|
|
721
729
|
// field of a contract with an external owner. A caller that only branched
|
|
722
730
|
// on the transport would read a tool failure as a record.
|
|
723
731
|
if (outcome.isError) {
|
|
724
|
-
return fail(ctx, errorCopy(WHY.serverErrorWhat, WHY.serverErrorWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
732
|
+
return fail(ctx, json, errorCopy("RECORD_SERVICE_ERROR", WHY.serverErrorWhat, WHY.serverErrorWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
725
733
|
}
|
|
726
734
|
const payload = parseBlameCommitPayload(outcome.document);
|
|
727
735
|
if (payload === null) {
|
|
728
|
-
return fail(ctx, errorCopy(WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
736
|
+
return fail(ctx, json, errorCopy("RECORD_ANSWER_UNREADABLE", WHY.malformedWhat, WHY.malformedWhy, WHY.readFix, COMMANDS.why), EXIT.failure, commit);
|
|
729
737
|
}
|
|
730
738
|
// ⛔ SKEW IS NOT MALFORMEDNESS. The server answered correctly and this
|
|
731
739
|
// build is too old to render it, so the user is sent to an upgrade rather
|
|
@@ -733,7 +741,12 @@ function render(ctx, outcome, commit, file, json) {
|
|
|
733
741
|
// the command genuinely produced no answer, and a caller scripting `why`
|
|
734
742
|
// must not read a skew screen as success.
|
|
735
743
|
if (isVersionSkew(payload)) {
|
|
736
|
-
return fail(ctx,
|
|
744
|
+
return fail(ctx, json,
|
|
745
|
+
// The remedy follows the channel: the plugin is reinstalled, an npm install is updated. Anything that is not
|
|
746
|
+
// provably the plugin is told the npm command, since only a plugin bundle has a `/plugin install` to run.
|
|
747
|
+
installChannel(ctx.env, ctx.selfPath).kind === "plugin"
|
|
748
|
+
? errorCopy("CLIENT_TOO_OLD", WHY.skewWhat, WHY.skewWhy, WHY.skewFix, COMMANDS.pluginInstall)
|
|
749
|
+
: errorCopy("CLIENT_TOO_OLD", WHY.skewWhat, WHY.skewWhy, WHY.skewFixNpm, COMMANDS.npmUpdate), EXIT.failure, commit);
|
|
737
750
|
}
|
|
738
751
|
return renderPayload(ctx, payload, commit, file, json);
|
|
739
752
|
}
|
package/dist/commands/why.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"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"}
|
package/dist/consent.d.ts
CHANGED
|
@@ -30,11 +30,21 @@
|
|
|
30
30
|
* `.consent`, and the parameter is named for it so a toplevel passed by habit
|
|
31
31
|
* reads wrong at the call site.
|
|
32
32
|
*
|
|
33
|
+
* ## ⛔ A SECOND KEY, AND ONE DOOR: `isCaptureAllowed` (0.7.0, D1 · B)
|
|
34
|
+
*
|
|
35
|
+
* A repo can now also be admitted by its SLUG (`owner/repo`) through
|
|
36
|
+
* `grants.json`, so any clone of it matches, not only the one that ran
|
|
37
|
+
* `connect`. Every gate asks `isCaptureAllowed`; `isProjectAllowed` is the
|
|
38
|
+
* common-dir half of it and nothing outside this file calls it
|
|
39
|
+
* (`test/consent-gates.test.ts` scans for exactly that). Two keys behind two
|
|
40
|
+
* doors is how `post_rewrite.ts` was missed once.
|
|
41
|
+
*
|
|
33
42
|
* ⚠ **No migration for allow lists written under the old key**, and that is a
|
|
34
43
|
* decision rather than an omission: pre-launch there are zero users and zero
|
|
35
44
|
* rows (`project_pre_launch_no_data`), so there is nothing to migrate. See
|
|
36
45
|
* `resolveProjectKeys`.
|
|
37
46
|
*/
|
|
47
|
+
import type { ProjectKeys } from "./project.js";
|
|
38
48
|
/** One consented project. `at` is informational; presence is the grant. */
|
|
39
49
|
export interface ProjectGrant {
|
|
40
50
|
readonly at: string;
|
|
@@ -52,6 +62,107 @@ export declare function isProjectAllowed(home: string, consentKey: string | null
|
|
|
52
62
|
export declare function grantProject(home: string, consentKey: string, now: Date): void;
|
|
53
63
|
/** Revoke consent for one project (`vibecommit off`). */
|
|
54
64
|
export declare function revokeProject(home: string, consentKey: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* `grants.json`. ⛔ **Slugs, not paths**: `owner/repo` for GitHub, `host/owner/repo`
|
|
67
|
+
* for any other host (`git.ts`'s `parseRemoteSlug`), so every clone matches.
|
|
68
|
+
*
|
|
69
|
+
* - `owners` — "all repos under this owner, including ones cloned later". An owner is the
|
|
70
|
+
* slug minus its last segment: `alexvibecommit`, or `gitlab.example.com/team`.
|
|
71
|
+
* - `repos` — single repos granted one by one.
|
|
72
|
+
* - `excluded` — `vibecommit off`. **Wins over every other basis**, a surviving common-dir entry included.
|
|
73
|
+
* - `refused` — slice 2's server refusals, kept apart from `excluded` on purpose. Nothing writes it yet.
|
|
74
|
+
*
|
|
75
|
+
* `disclosed_at` is when the D65 disclosure was last answered yes for a grant; `null` until then.
|
|
76
|
+
*/
|
|
77
|
+
export interface Grants {
|
|
78
|
+
readonly disclosed_at: string | null;
|
|
79
|
+
readonly owners: readonly string[];
|
|
80
|
+
readonly repos: readonly string[];
|
|
81
|
+
readonly excluded: readonly string[];
|
|
82
|
+
readonly refused: readonly string[];
|
|
83
|
+
}
|
|
84
|
+
export declare const EMPTY_GRANTS: Grants;
|
|
85
|
+
/**
|
|
86
|
+
* ⛔ **THE ONE NORMALIZATION.** The whole host-qualified slug, lowercased, for every host — the identity the
|
|
87
|
+
* server already stores (`resolve_repository` sets `v_slug := lower(trim(...))`). Owners, repos, exclusions,
|
|
88
|
+
* every `grants.json` write and slice 2's server comparison all go through this, so two clones whose remotes
|
|
89
|
+
* differ only in case are one repo on both sides.
|
|
90
|
+
*/
|
|
91
|
+
export declare function normalizeSlug(slug: string): string;
|
|
92
|
+
/** An owner as stored: normalized, and without the trailing `/` the picker displays (`alexvibecommit/`). */
|
|
93
|
+
export declare function normalizeOwner(owner: string): string;
|
|
94
|
+
/** `local:` slugs name a path, not a repo: no grant can match one, and their consent stays per clone. */
|
|
95
|
+
export declare function isLocalSlug(slug: string): boolean;
|
|
96
|
+
/** The owner part of a slug: everything before the last `/`. `""` when there is none. */
|
|
97
|
+
export declare function ownerOfSlug(slug: string): string;
|
|
98
|
+
/**
|
|
99
|
+
* What reading `grants.json` found. ⛔ **Three states, because two of them mean opposite things.**
|
|
100
|
+
*
|
|
101
|
+
* - `missing` — no file. Every machine upgrading from 0.6.x is here, and their common-dir consents
|
|
102
|
+
* must keep capturing.
|
|
103
|
+
* - `unreadable` — a file is there and cannot be read or does not parse. It may hold exclusions we cannot
|
|
104
|
+
* see, so it DENIES every clone that has a slug (`isCaptureAllowed`). `status` says so
|
|
105
|
+
* loudly, since a hook cannot.
|
|
106
|
+
* - `ok` — parsed and normalized.
|
|
107
|
+
*/
|
|
108
|
+
export type GrantsRead = {
|
|
109
|
+
readonly kind: "missing";
|
|
110
|
+
} | {
|
|
111
|
+
readonly kind: "unreadable";
|
|
112
|
+
} | {
|
|
113
|
+
readonly kind: "ok";
|
|
114
|
+
readonly grants: Grants;
|
|
115
|
+
};
|
|
116
|
+
export declare function readGrants(home: string): GrantsRead;
|
|
117
|
+
/** True when a `grants.json` is present and unusable — the state `status` reports and a SessionStart notice names. */
|
|
118
|
+
export declare function grantsUnreadable(home: string): boolean;
|
|
119
|
+
/** A slug now, or a way to get it. The thunk is for the hooks: see `isCaptureAllowed`. */
|
|
120
|
+
export type SlugSource = string | (() => string);
|
|
121
|
+
/**
|
|
122
|
+
* ⛔ **THE ONE ADMISSION DECISION.** Every gate calls this; `entry.ts`, `post_commit.ts`, `post_rewrite.ts` (twice),
|
|
123
|
+
* `finalize.ts`, `status.ts` and `connect.ts` are the seven call sites. Absence is a NO and every error path denies.
|
|
124
|
+
*
|
|
125
|
+
* Precedence:
|
|
126
|
+
* 1. A MISSING `grants.json` is empty (0.6.x machines keep capturing on their common-dir consent). A PRESENT file
|
|
127
|
+
* that cannot be read denies every clone that has a slug, whatever `projects.json` says.
|
|
128
|
+
* 2. An excluded slug is denied, whatever the basis.
|
|
129
|
+
* 3. Otherwise: admitted on the common-dir consent, or on a slug matched by `owners` or `repos`.
|
|
130
|
+
*
|
|
131
|
+
* `local:` slugs never match a grant and keep common-dir consent alone. They are also not subject to
|
|
132
|
+
* exclusion or to an unreadable file: there is no repo identity to exclude.
|
|
133
|
+
*
|
|
134
|
+
* ⚠ **`slug` MAY BE A THUNK, and the hooks pass one.** Computing a slug can spawn `git remote get-url` and `ssh -G`,
|
|
135
|
+
* which is real time on a hook's budget; a machine with no `grants.json` (every 0.6.x machine) needs none of it, and
|
|
136
|
+
* neither does a clone with no consent and no grants to match. The slug is asked for only when the answer depends on it.
|
|
137
|
+
* Pass a memoized thunk (`git.ts`'s `onceRepoSlug`) so the caller's own later use shares the one spawn.
|
|
138
|
+
*
|
|
139
|
+
* `keys` is the `resolveProjectKeys` result the caller already holds, so the confinement roots it derives afterwards
|
|
140
|
+
* come from the very resolution this gate used (`D184 §3`).
|
|
141
|
+
*/
|
|
142
|
+
export declare function isCaptureAllowed(home: string, keys: ProjectKeys | null, slug: SlugSource): boolean;
|
|
143
|
+
/** `updateGrants` refuses to rewrite a file it cannot read: overwriting would silently drop exclusions it never saw. */
|
|
144
|
+
export declare class GrantsUnreadableError extends Error {
|
|
145
|
+
constructor();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Read-modify-write `grants.json`. 0700 on the directory, 0600 on the file, atomic (a hook reading while a verb saves
|
|
149
|
+
* sees the old file or the new, never half). Entries are normalized and de-duplicated on the way out.
|
|
150
|
+
*
|
|
151
|
+
* ⛔ **Throws `GrantsUnreadableError` rather than start from empty** when the file is present and unusable: a rewrite
|
|
152
|
+
* would turn "denies everything" into "admits on common-dir consent" without the user having decided anything.
|
|
153
|
+
*
|
|
154
|
+
* ⛔ **Keeps the top-level keys it does not know**, verbatim and uninterpreted, after the five it rebuilds (which always
|
|
155
|
+
* win). A newer version's file read by this one is written back whole: dropping a key it added would silently undo its
|
|
156
|
+
* state. No lock: same read-modify-write as `projects.json`, so two simultaneous verbs can lose one write.
|
|
157
|
+
*/
|
|
158
|
+
export declare function updateGrants(home: string, change: (current: Grants) => Grants): Grants;
|
|
159
|
+
/** `vibecommit off`: the slug joins `excluded`. Returns true when that changed the file. */
|
|
160
|
+
export declare function excludeSlug(home: string, slug: string): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* A yes at the disclosure re-includes a turned-off repo; nothing else does. `"none"` when the slug was not excluded
|
|
163
|
+
* (no file is written then), `"unreadable"` when `grants.json` cannot be read.
|
|
164
|
+
*/
|
|
165
|
+
export declare function clearExclusion(home: string, slug: string): "cleared" | "none" | "unreadable";
|
|
55
166
|
/**
|
|
56
167
|
* Interpret an answer to the consent prompt. **Only an explicit yes is a yes.**
|
|
57
168
|
* Empty (the user pressed return) is NO, which is what makes `[y/N]` honest.
|