ctxr-cli 0.1.0 → 0.2.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/dist/adapters/forge/github.d.ts +4 -1
- package/dist/adapters/forge/github.d.ts.map +1 -1
- package/dist/adapters/forge/github.js +41 -1
- package/dist/adapters/forge/github.js.map +1 -1
- package/dist/adapters/forge/types.d.ts +23 -0
- package/dist/adapters/forge/types.d.ts.map +1 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js +2 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/commands/check.d.ts +12 -4
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +28 -1
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/entry-append.d.ts +25 -0
- package/dist/commands/entry-append.d.ts.map +1 -0
- package/dist/commands/entry-append.js +39 -0
- package/dist/commands/entry-append.js.map +1 -0
- package/dist/commands/graph-build.d.ts +5 -0
- package/dist/commands/graph-build.d.ts.map +1 -1
- package/dist/commands/graph-build.js +8 -5
- package/dist/commands/graph-build.js.map +1 -1
- package/dist/commands/graph-query.d.ts +15 -0
- package/dist/commands/graph-query.d.ts.map +1 -1
- package/dist/commands/graph-query.js +12 -2
- package/dist/commands/graph-query.js.map +1 -1
- package/dist/commands/identity.d.ts +24 -0
- package/dist/commands/identity.d.ts.map +1 -0
- package/dist/commands/identity.js +35 -0
- package/dist/commands/identity.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/rollup-stale.d.ts +18 -0
- package/dist/commands/rollup-stale.d.ts.map +1 -0
- package/dist/commands/rollup-stale.js +35 -0
- package/dist/commands/rollup-stale.js.map +1 -0
- package/dist/commands/rollup-write.d.ts +9 -1
- package/dist/commands/rollup-write.d.ts.map +1 -1
- package/dist/commands/rollup-write.js +17 -2
- package/dist/commands/rollup-write.js.map +1 -1
- package/dist/commands/session-capture.d.ts +25 -0
- package/dist/commands/session-capture.d.ts.map +1 -0
- package/dist/commands/session-capture.js +119 -0
- package/dist/commands/session-capture.js.map +1 -0
- package/dist/commands/session-land.d.ts +45 -0
- package/dist/commands/session-land.d.ts.map +1 -0
- package/dist/commands/session-land.js +140 -0
- package/dist/commands/session-land.js.map +1 -0
- package/dist/commands/session-list.d.ts.map +1 -1
- package/dist/commands/session-list.js +3 -2
- package/dist/commands/session-list.js.map +1 -1
- package/dist/commands/session-reap.d.ts.map +1 -1
- package/dist/commands/session-reap.js +3 -2
- package/dist/commands/session-reap.js.map +1 -1
- package/dist/commands/session-submit.d.ts +2 -0
- package/dist/commands/session-submit.d.ts.map +1 -1
- package/dist/commands/session-submit.js +6 -2
- package/dist/commands/session-submit.js.map +1 -1
- package/dist/commands/source-add-alt.d.ts +20 -0
- package/dist/commands/source-add-alt.d.ts.map +1 -0
- package/dist/commands/source-add-alt.js +48 -0
- package/dist/commands/source-add-alt.js.map +1 -0
- package/dist/commands/source-check.js +1 -1
- package/dist/commands/source-check.js.map +1 -1
- package/dist/commands/source-stamp.d.ts +24 -0
- package/dist/commands/source-stamp.d.ts.map +1 -0
- package/dist/commands/source-stamp.js +46 -0
- package/dist/commands/source-stamp.js.map +1 -0
- package/dist/commands/verify.js +2 -2
- package/dist/commands/verify.js.map +1 -1
- package/dist/config/defaults.d.ts +13 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +13 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +31 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +42 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/core/agents-doc.d.ts.map +1 -1
- package/dist/core/agents-doc.js +3 -1
- package/dist/core/agents-doc.js.map +1 -1
- package/dist/core/checks/disclosure-checks.d.ts +4 -0
- package/dist/core/checks/disclosure-checks.d.ts.map +1 -0
- package/dist/core/checks/disclosure-checks.js +24 -0
- package/dist/core/checks/disclosure-checks.js.map +1 -0
- package/dist/core/checks/identity-checks.d.ts +6 -1
- package/dist/core/checks/identity-checks.d.ts.map +1 -1
- package/dist/core/checks/identity-checks.js +23 -19
- package/dist/core/checks/identity-checks.js.map +1 -1
- package/dist/core/checks/integrity-checks.js +2 -2
- package/dist/core/checks/integrity-checks.js.map +1 -1
- package/dist/core/checks/manifest.d.ts.map +1 -1
- package/dist/core/checks/manifest.js +2 -0
- package/dist/core/checks/manifest.js.map +1 -1
- package/dist/core/checks/organize-checks.d.ts +2 -0
- package/dist/core/checks/organize-checks.d.ts.map +1 -1
- package/dist/core/checks/organize-checks.js +24 -1
- package/dist/core/checks/organize-checks.js.map +1 -1
- package/dist/core/checks/write-lifecycle-checks.d.ts +4 -1
- package/dist/core/checks/write-lifecycle-checks.d.ts.map +1 -1
- package/dist/core/checks/write-lifecycle-checks.js +18 -2
- package/dist/core/checks/write-lifecycle-checks.js.map +1 -1
- package/dist/core/disclosure/leak-scan.d.ts +19 -0
- package/dist/core/disclosure/leak-scan.d.ts.map +1 -0
- package/dist/core/disclosure/leak-scan.js +31 -0
- package/dist/core/disclosure/leak-scan.js.map +1 -0
- package/dist/core/errors.d.ts +40 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +128 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/fs/fenced-region.d.ts +9 -0
- package/dist/core/fs/fenced-region.d.ts.map +1 -1
- package/dist/core/fs/fenced-region.js +40 -0
- package/dist/core/fs/fenced-region.js.map +1 -1
- package/dist/core/git/repo.d.ts +2 -0
- package/dist/core/git/repo.d.ts.map +1 -1
- package/dist/core/git/repo.js +4 -0
- package/dist/core/git/repo.js.map +1 -1
- package/dist/core/graph/document.d.ts +26 -0
- package/dist/core/graph/document.d.ts.map +1 -0
- package/dist/core/graph/document.js +67 -0
- package/dist/core/graph/document.js.map +1 -0
- package/dist/core/graph/model.d.ts +44 -2
- package/dist/core/graph/model.d.ts.map +1 -1
- package/dist/core/graph/model.js +65 -6
- package/dist/core/graph/model.js.map +1 -1
- package/dist/core/graph/persist.d.ts +4 -0
- package/dist/core/graph/persist.d.ts.map +1 -1
- package/dist/core/graph/persist.js +10 -0
- package/dist/core/graph/persist.js.map +1 -1
- package/dist/core/graph/query.d.ts +24 -0
- package/dist/core/graph/query.d.ts.map +1 -1
- package/dist/core/graph/query.js +45 -2
- package/dist/core/graph/query.js.map +1 -1
- package/dist/core/identity.d.ts +36 -4
- package/dist/core/identity.d.ts.map +1 -1
- package/dist/core/identity.js +119 -12
- package/dist/core/identity.js.map +1 -1
- package/dist/core/ingest/canonical-url.d.ts +11 -0
- package/dist/core/ingest/canonical-url.d.ts.map +1 -0
- package/dist/core/ingest/canonical-url.js +27 -0
- package/dist/core/ingest/canonical-url.js.map +1 -0
- package/dist/core/ingest/identity.d.ts +2 -0
- package/dist/core/ingest/identity.d.ts.map +1 -1
- package/dist/core/ingest/identity.js +2 -0
- package/dist/core/ingest/identity.js.map +1 -1
- package/dist/core/ingest/model.d.ts +9 -2
- package/dist/core/ingest/model.d.ts.map +1 -1
- package/dist/core/ingest/model.js +32 -3
- package/dist/core/ingest/model.js.map +1 -1
- package/dist/core/procedures.d.ts +32 -12
- package/dist/core/procedures.d.ts.map +1 -1
- package/dist/core/procedures.js +613 -75
- package/dist/core/procedures.js.map +1 -1
- package/dist/core/rollup.d.ts +29 -0
- package/dist/core/rollup.d.ts.map +1 -0
- package/dist/core/rollup.js +60 -0
- package/dist/core/rollup.js.map +1 -0
- package/dist/core/session.d.ts +14 -0
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +19 -0
- package/dist/core/session.js.map +1 -1
- package/dist/core/write-lifecycle/path-gate.d.ts +20 -0
- package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -0
- package/dist/core/write-lifecycle/path-gate.js +90 -0
- package/dist/core/write-lifecycle/path-gate.js.map +1 -0
- package/dist/prompt/inquirer-prompter.d.ts.map +1 -1
- package/dist/prompt/inquirer-prompter.js +4 -1
- package/dist/prompt/inquirer-prompter.js.map +1 -1
- package/dist/prompt/prompter.d.ts +9 -0
- package/dist/prompt/prompter.d.ts.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +149 -4
- package/dist/run.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { ForgeAdapter } from './types.js';
|
|
1
|
+
import type { ForgeAdapter, PullRequestLifecycleState, PullRequestMergeability } from './types.js';
|
|
2
|
+
/** GitHub's own vocabulary, normalized to the adapter interface's small unions — kept pure and exported so tests exercise the mapping without a subprocess. */
|
|
3
|
+
export declare function mapPullRequestState(ghState: string): PullRequestLifecycleState;
|
|
4
|
+
export declare function mapMergeability(ghMergeable: string): PullRequestMergeability;
|
|
2
5
|
/**
|
|
3
6
|
* The reference forge adapter, shelling out to `gh` (same tool, same
|
|
4
7
|
* pattern as `git` itself) rather than a token-based REST client — simpler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/adapters/forge/github.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/adapters/forge/github.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAoB,MAAM,YAAY,CAAC;AAMrH,+JAA+J;AAC/J,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAW9E;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAW5E;AAWD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAkDhC,CAAC"}
|
|
@@ -2,6 +2,31 @@ import { execFile } from 'node:child_process';
|
|
|
2
2
|
import { promisify } from 'node:util';
|
|
3
3
|
const execFileAsync = promisify(execFile);
|
|
4
4
|
const PR_NUMBER_RE = /\/pull\/(\d+)/;
|
|
5
|
+
/** GitHub's own vocabulary, normalized to the adapter interface's small unions — kept pure and exported so tests exercise the mapping without a subprocess. */
|
|
6
|
+
export function mapPullRequestState(ghState) {
|
|
7
|
+
switch (ghState) {
|
|
8
|
+
case 'OPEN':
|
|
9
|
+
return 'open';
|
|
10
|
+
case 'MERGED':
|
|
11
|
+
return 'merged';
|
|
12
|
+
case 'CLOSED':
|
|
13
|
+
return 'closed';
|
|
14
|
+
default:
|
|
15
|
+
throw new Error(`Internal error: unrecognized GitHub pull request state "${ghState}".`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function mapMergeability(ghMergeable) {
|
|
19
|
+
switch (ghMergeable) {
|
|
20
|
+
case 'MERGEABLE':
|
|
21
|
+
return 'mergeable';
|
|
22
|
+
case 'CONFLICTING':
|
|
23
|
+
return 'conflicting';
|
|
24
|
+
case 'UNKNOWN':
|
|
25
|
+
return 'unknown';
|
|
26
|
+
default:
|
|
27
|
+
throw new Error(`Internal error: unrecognized GitHub mergeable status "${ghMergeable}".`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
5
30
|
/**
|
|
6
31
|
* The reference forge adapter, shelling out to `gh` (same tool, same
|
|
7
32
|
* pattern as `git` itself) rather than a token-based REST client — simpler
|
|
@@ -11,7 +36,7 @@ const PR_NUMBER_RE = /\/pull\/(\d+)/;
|
|
|
11
36
|
export const githubForgeAdapter = {
|
|
12
37
|
id: 'github',
|
|
13
38
|
kind: 'forge',
|
|
14
|
-
interfaceVersion:
|
|
39
|
+
interfaceVersion: 2,
|
|
15
40
|
async isAvailable(cwd) {
|
|
16
41
|
try {
|
|
17
42
|
// `gh auth status` alone only proves SOME host has stored credentials —
|
|
@@ -32,5 +57,20 @@ export const githubForgeAdapter = {
|
|
|
32
57
|
const match = PR_NUMBER_RE.exec(url);
|
|
33
58
|
return { url, number: match?.[1] ? Number(match[1]) : null };
|
|
34
59
|
},
|
|
60
|
+
async pullRequest(cwd, ref) {
|
|
61
|
+
const { stdout } = await execFileAsync('gh', ['pr', 'view', ref, '--json', 'number,url,title,state,mergeable,headRefName'], { cwd });
|
|
62
|
+
const data = JSON.parse(stdout);
|
|
63
|
+
return {
|
|
64
|
+
number: data.number,
|
|
65
|
+
url: data.url,
|
|
66
|
+
title: data.title,
|
|
67
|
+
state: mapPullRequestState(data.state),
|
|
68
|
+
mergeable: mapMergeability(data.mergeable),
|
|
69
|
+
headBranch: data.headRefName,
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
async mergePullRequest(cwd, number, method) {
|
|
73
|
+
await execFileAsync('gh', ['pr', 'merge', String(number), `--${method}`], { cwd });
|
|
74
|
+
},
|
|
35
75
|
};
|
|
36
76
|
//# sourceMappingURL=github.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/adapters/forge/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,YAAY,GAAG,eAAe,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,OAAO;IACb,gBAAgB,EAAE,CAAC;IAEnB,KAAK,CAAC,WAAW,CAAC,GAAG;QACnB,IAAI,CAAC;YACH,wEAAwE;YACxE,oEAAoE;YACpE,gEAAgE;YAChE,gEAAgE;YAChE,mDAAmD;YACnD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAK;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,IAAI,EACJ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAClH,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CACnB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/adapters/forge/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,31 @@ export interface OpenPullRequestResult {
|
|
|
16
16
|
url: string;
|
|
17
17
|
number: number | null;
|
|
18
18
|
}
|
|
19
|
+
/** session-submit-and-land spec (D5): the forge's own vocabulary, normalized to one small union per axis. */
|
|
20
|
+
export type PullRequestLifecycleState = 'open' | 'merged' | 'closed';
|
|
21
|
+
export type PullRequestMergeability = 'mergeable' | 'conflicting' | 'unknown';
|
|
22
|
+
export type MergeMethod = 'squash' | 'merge' | 'rebase';
|
|
23
|
+
export interface PullRequestState {
|
|
24
|
+
number: number;
|
|
25
|
+
url: string;
|
|
26
|
+
title: string;
|
|
27
|
+
state: PullRequestLifecycleState;
|
|
28
|
+
mergeable: PullRequestMergeability;
|
|
29
|
+
headBranch: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* session-submit-and-land spec (D5): interface version 2 — `pullRequest`
|
|
33
|
+
* and `mergePullRequest` join availability and pull-request opening, so
|
|
34
|
+
* `ctxr session land` can read a pull request's state and merge it. A v1
|
|
35
|
+
* forge adapter (this interface's prior shape) cannot land; the adapters
|
|
36
|
+
* capability's compatibility check reports that mismatch before any session
|
|
37
|
+
* command relies on it.
|
|
38
|
+
*/
|
|
19
39
|
export interface ForgeAdapter extends Adapter<'forge'> {
|
|
20
40
|
isAvailable(cwd: string): Promise<boolean>;
|
|
21
41
|
openPullRequest(input: OpenPullRequestInput): Promise<OpenPullRequestResult>;
|
|
42
|
+
/** `ref` is a branch name or a pull-request number as a string; either resolves the same pull request. */
|
|
43
|
+
pullRequest(cwd: string, ref: string): Promise<PullRequestState>;
|
|
44
|
+
mergePullRequest(cwd: string, number: number, method: MergeMethod): Promise<void>;
|
|
22
45
|
}
|
|
23
46
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/forge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO,CAAC,OAAO,CAAC;IACpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/forge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,6GAA6G;AAC7G,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,uBAAuB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO,CAAC,OAAO,CAAC;IACpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7E,0GAA0G;IAC1G,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAK3E,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC7E,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE;QACjB,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,MAAM,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpE,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC7E,6FAA6F;IAC7F,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,KAAK,EAAE,OAAO,kBAAkB,EAAE,YAAY,CAAC;CAChD"}
|
package/dist/adapters/types.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
export const SUPPORTED_ADAPTER_INTERFACE_VERSION = {
|
|
8
8
|
'harness-generation': 1,
|
|
9
9
|
'identity-injection': 1,
|
|
10
|
-
|
|
10
|
+
// session-submit-and-land spec (D5): pullRequest/mergePullRequest joined the forge interface at v2.
|
|
11
|
+
forge: 2,
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC;IACvB,KAAK,EAAE,CAAC;CACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC;IACvB,oGAAoG;IACpG,KAAK,EAAE,CAAC;CACT,CAAC"}
|
package/dist/commands/check.d.ts
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
2
|
import type { DisclosureRung, DisclosureVerdict } from '../core/disclosure/model.js';
|
|
3
|
+
import { type LeakFinding } from '../core/disclosure/leak-scan.js';
|
|
3
4
|
import type { RunEnv } from '../core/env.js';
|
|
4
5
|
import type { Store } from '../core/store.js';
|
|
5
6
|
export declare const requires: CommandRequires;
|
|
6
7
|
export interface CheckFlags {
|
|
7
8
|
path: string;
|
|
8
|
-
audience
|
|
9
|
+
audience?: string;
|
|
10
|
+
scan?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export interface CheckData {
|
|
11
13
|
path: string;
|
|
12
|
-
audience
|
|
13
|
-
verdict
|
|
14
|
-
rung
|
|
14
|
+
audience?: string;
|
|
15
|
+
verdict?: DisclosureVerdict;
|
|
16
|
+
rung?: DisclosureRung;
|
|
17
|
+
leaks?: LeakFinding[];
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* disclosure-policy spec: the tri-state ALLOW/DENY/ASK verdict, each with
|
|
18
21
|
* its own documented exit code (cli-contract's reserved 4/5), printing the
|
|
19
22
|
* rung that produced it so a script or a human can see WHY, not just WHAT.
|
|
23
|
+
*
|
|
24
|
+
* store-primitives-from-migration-audit spec (D3): `--scan` is a second,
|
|
25
|
+
* independent mode — the same leak scan `ctxr lint` runs, for one note —
|
|
26
|
+
* and does not require `--audience` (a leak isn't about one requesting
|
|
27
|
+
* audience; it's about every configured marker context at once).
|
|
20
28
|
*/
|
|
21
29
|
export declare function execute(env: RunEnv, store: Store, flags: CheckFlags): Promise<CommandOutcome<CheckData>>;
|
|
22
30
|
//# sourceMappingURL=check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAaD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6C9G"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { evaluateDisclosure } from '../core/disclosure/model.js';
|
|
3
|
-
import {
|
|
3
|
+
import { scanNoteForLeaks } from '../core/disclosure/leak-scan.js';
|
|
4
|
+
import { CheckAudienceRequiredError, NoteNotFoundError } from '../core/errors.js';
|
|
4
5
|
import { ExitCode } from '../core/exit-codes.js';
|
|
5
6
|
import { parseNote } from '../core/notes/parse.js';
|
|
6
7
|
export const requires = { store: 'required' };
|
|
@@ -17,6 +18,11 @@ function toStoreRelativePath(env, store, givenPath) {
|
|
|
17
18
|
* disclosure-policy spec: the tri-state ALLOW/DENY/ASK verdict, each with
|
|
18
19
|
* its own documented exit code (cli-contract's reserved 4/5), printing the
|
|
19
20
|
* rung that produced it so a script or a human can see WHY, not just WHAT.
|
|
21
|
+
*
|
|
22
|
+
* store-primitives-from-migration-audit spec (D3): `--scan` is a second,
|
|
23
|
+
* independent mode — the same leak scan `ctxr lint` runs, for one note —
|
|
24
|
+
* and does not require `--audience` (a leak isn't about one requesting
|
|
25
|
+
* audience; it's about every configured marker context at once).
|
|
20
26
|
*/
|
|
21
27
|
export async function execute(env, store, flags) {
|
|
22
28
|
const relativePath = toStoreRelativePath(env, store, flags.path);
|
|
@@ -30,6 +36,27 @@ export async function execute(env, store, flags) {
|
|
|
30
36
|
throw new NoteNotFoundError(relativePath);
|
|
31
37
|
throw err;
|
|
32
38
|
}
|
|
39
|
+
if (flags.scan) {
|
|
40
|
+
const leaks = scanNoteForLeaks(store.config, note);
|
|
41
|
+
const findings = leaks.map((leak) => ({
|
|
42
|
+
code: 'disclosure.leak',
|
|
43
|
+
severity: 'warning',
|
|
44
|
+
message: `"${leak.path}" matches a marker for context "${leak.context}", which cannot see this note: "${leak.matchedText}".`,
|
|
45
|
+
subject: leak.path,
|
|
46
|
+
details: { context: leak.context, pattern: leak.pattern, matchedText: leak.matchedText },
|
|
47
|
+
}));
|
|
48
|
+
return {
|
|
49
|
+
exitCode: leaks.length > 0 ? ExitCode.CheckFailed : ExitCode.Ok,
|
|
50
|
+
data: { path: relativePath, leaks },
|
|
51
|
+
findings,
|
|
52
|
+
humanSummary: leaks.length > 0 ? `${relativePath}: ${leaks.length} leak(s) found.` : `${relativePath}: no leaks found.`,
|
|
53
|
+
storeRoot: store.root,
|
|
54
|
+
schemaVersion: store.config.schema_version,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (!flags.audience) {
|
|
58
|
+
throw new CheckAudienceRequiredError();
|
|
59
|
+
}
|
|
33
60
|
const { verdict, rung } = evaluateDisclosure(store.config, note, flags.audience);
|
|
34
61
|
return {
|
|
35
62
|
exitCode: VERDICT_EXIT_CODE[verdict],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
|
+
import type { RunEnv } from '../core/env.js';
|
|
3
|
+
import type { Store } from '../core/store.js';
|
|
4
|
+
export declare const requires: CommandRequires;
|
|
5
|
+
export interface EntryAppendFlags {
|
|
6
|
+
path: string;
|
|
7
|
+
region: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}
|
|
10
|
+
export interface EntryAppendData {
|
|
11
|
+
path: string;
|
|
12
|
+
region: string;
|
|
13
|
+
lines: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* context-store spec (D1): the one structured-write primitive many audited
|
|
17
|
+
* procedures reduce to — "append a line into a known block and keep
|
|
18
|
+
* everything else intact." Uses the same `contexture:<region>` marker-fence
|
|
19
|
+
* primitive every other generated region uses, so a mismatched marker pair
|
|
20
|
+
* aborts with zero bytes written, exactly like everywhere else, and
|
|
21
|
+
* `ctxr-derived-artifacts`'s "never hand-edit inside a fence" rule applies
|
|
22
|
+
* to this region too.
|
|
23
|
+
*/
|
|
24
|
+
export declare function execute(env: RunEnv, store: Store, flags: EntryAppendFlags): Promise<CommandOutcome<EntryAppendData>>;
|
|
25
|
+
//# sourceMappingURL=entry-append.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-append.d.ts","sourceRoot":"","sources":["../../src/commands/entry-append.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAmB1C"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { NoteNotFoundError } from '../core/errors.js';
|
|
4
|
+
import { ExitCode } from '../core/exit-codes.js';
|
|
5
|
+
import { readFencedRegionFromFile, upsertFencedRegionInFile } from '../core/fs/fenced-region.js';
|
|
6
|
+
import { htmlCommentFence } from '../core/markers.js';
|
|
7
|
+
export const requires = { store: 'required' };
|
|
8
|
+
function toStoreRelativePath(env, store, givenPath) {
|
|
9
|
+
const absolute = path.isAbsolute(givenPath) ? givenPath : path.resolve(env.cwd, givenPath);
|
|
10
|
+
return path.relative(store.root, absolute).split(path.sep).join('/');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* context-store spec (D1): the one structured-write primitive many audited
|
|
14
|
+
* procedures reduce to — "append a line into a known block and keep
|
|
15
|
+
* everything else intact." Uses the same `contexture:<region>` marker-fence
|
|
16
|
+
* primitive every other generated region uses, so a mismatched marker pair
|
|
17
|
+
* aborts with zero bytes written, exactly like everywhere else, and
|
|
18
|
+
* `ctxr-derived-artifacts`'s "never hand-edit inside a fence" rule applies
|
|
19
|
+
* to this region too.
|
|
20
|
+
*/
|
|
21
|
+
export async function execute(env, store, flags) {
|
|
22
|
+
const relativePath = toStoreRelativePath(env, store, flags.path);
|
|
23
|
+
const absolutePath = path.join(store.root, relativePath);
|
|
24
|
+
if (!existsSync(absolutePath))
|
|
25
|
+
throw new NoteNotFoundError(relativePath);
|
|
26
|
+
const fence = htmlCommentFence(flags.region);
|
|
27
|
+
const existingLines = await readFencedRegionFromFile(absolutePath, fence);
|
|
28
|
+
const newLines = [...existingLines, flags.text];
|
|
29
|
+
await upsertFencedRegionInFile(absolutePath, fence, newLines);
|
|
30
|
+
return {
|
|
31
|
+
exitCode: ExitCode.Ok,
|
|
32
|
+
data: { path: relativePath, region: flags.region, lines: newLines.length },
|
|
33
|
+
findings: [],
|
|
34
|
+
humanSummary: `Appended to region "${flags.region}" in "${relativePath}" (${newLines.length} line(s)).`,
|
|
35
|
+
storeRoot: store.root,
|
|
36
|
+
schemaVersion: store.config.schema_version,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=entry-append.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-append.js","sourceRoot":"","sources":["../../src/commands/entry-append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAc/D,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAY,EAAE,SAAiB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,KAAY,EACZ,KAAuB;IAEvB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,wBAAwB,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE9D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC1E,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,uBAAuB,KAAK,CAAC,MAAM,SAAS,YAAY,MAAM,QAAQ,CAAC,MAAM,YAAY;QACvG,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
2
|
import { type GraphBuildResult } from '../core/graph/model.js';
|
|
3
|
+
import { type GraphDocumentSummary } from '../core/graph/document.js';
|
|
3
4
|
import { type PerNoteRecord } from '../core/records.js';
|
|
4
5
|
import type { Store } from '../core/store.js';
|
|
5
6
|
export declare const requires: CommandRequires;
|
|
@@ -10,6 +11,10 @@ export interface GraphBuildData {
|
|
|
10
11
|
nodeCount: number;
|
|
11
12
|
edgeCount: number;
|
|
12
13
|
dangling: GraphBuildResult['dangling'];
|
|
14
|
+
/** graph-context-document spec: where the human-readable render went, and what each section holds. */
|
|
15
|
+
document: {
|
|
16
|
+
path: string;
|
|
17
|
+
} & GraphDocumentSummary;
|
|
13
18
|
records?: PerNoteRecord[];
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-build.d.ts","sourceRoot":"","sources":["../../src/commands/graph-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-build.d.ts","sourceRoot":"","sources":["../../src/commands/graph-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAG3F,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,sGAAsG;IACtG,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC;IAClD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAyBhH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ExitCode } from '../core/exit-codes.js';
|
|
2
|
-
import { buildGraphFromNotes } from '../core/graph/model.js';
|
|
3
|
-
import {
|
|
2
|
+
import { buildGraphFromNotes, graphBuildOptions } from '../core/graph/model.js';
|
|
3
|
+
import { renderGraphDocument } from '../core/graph/document.js';
|
|
4
|
+
import { GRAPH_DOCUMENT_RELATIVE_PATH, writeGraph, writeGraphDocument } from '../core/graph/persist.js';
|
|
4
5
|
import { listNotes } from '../core/notes/list.js';
|
|
5
6
|
import { buildPerNoteRecords } from '../core/records.js';
|
|
6
7
|
export const requires = { store: 'required' };
|
|
@@ -14,8 +15,10 @@ export const requires = { store: 'required' };
|
|
|
14
15
|
*/
|
|
15
16
|
export async function execute(store, flags = {}) {
|
|
16
17
|
const notes = await listNotes(store.root, store.config);
|
|
17
|
-
const graph = buildGraphFromNotes(notes);
|
|
18
|
+
const graph = buildGraphFromNotes(notes, graphBuildOptions(store.config));
|
|
18
19
|
await writeGraph(store, graph);
|
|
20
|
+
const { text, summary } = renderGraphDocument(graph, store.config.retrieval.graph);
|
|
21
|
+
await writeGraphDocument(store, text);
|
|
19
22
|
const records = flags.emitRecords ? await buildPerNoteRecords(store) : undefined;
|
|
20
23
|
const findings = graph.dangling.map((d) => ({
|
|
21
24
|
code: 'graph.dangling_link',
|
|
@@ -26,9 +29,9 @@ export async function execute(store, flags = {}) {
|
|
|
26
29
|
}));
|
|
27
30
|
return {
|
|
28
31
|
exitCode: ExitCode.Ok,
|
|
29
|
-
data: { nodeCount: graph.nodes.length, edgeCount: graph.edges.length, dangling: graph.dangling, records },
|
|
32
|
+
data: { nodeCount: graph.nodes.length, edgeCount: graph.edges.length, dangling: graph.dangling, document: { path: GRAPH_DOCUMENT_RELATIVE_PATH, ...summary }, records },
|
|
30
33
|
findings,
|
|
31
|
-
humanSummary: `Graph built: ${graph.nodes.length} node(s), ${graph.edges.length} edge(s), ${graph.dangling.length} dangling link(s).`,
|
|
34
|
+
humanSummary: `Graph built: ${graph.nodes.length} node(s), ${graph.edges.length} edge(s) (${summary.typedLinks} typed), ${graph.dangling.length} dangling link(s); ${summary.clusters} cluster(s), ${summary.bridges} bridge(s), ${summary.orphans} orphan(s) → ${GRAPH_DOCUMENT_RELATIVE_PATH}.`,
|
|
32
35
|
storeRoot: store.root,
|
|
33
36
|
schemaVersion: store.config.schema_version,
|
|
34
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-build.js","sourceRoot":"","sources":["../../src/commands/graph-build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-build.js","sourceRoot":"","sources":["../../src/commands/graph-build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAA6B,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAsB,MAAM,oBAAoB,CAAC;AAG7E,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAe/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAY,EAAE,KAAK,GAAoB,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnF,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,QAAQ,GAAc,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,SAAkB;QAC5B,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,WAAW,GAAG;QACjJ,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KAChD,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE;QACvK,QAAQ;QACR,YAAY,EAAE,gBAAgB,KAAK,CAAC,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,KAAK,CAAC,MAAM,aAAa,OAAO,CAAC,UAAU,YAAY,KAAK,CAAC,QAAQ,CAAC,MAAM,sBAAsB,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,OAAO,eAAe,OAAO,CAAC,OAAO,gBAAgB,4BAA4B,GAAG;QACjS,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
2
|
import type { Direction, HubEntry } from '../core/graph/query.js';
|
|
3
|
+
import { type BridgeEntry, type ClusterEntry } from '../core/graph/query.js';
|
|
3
4
|
import type { GraphBuildResult } from '../core/graph/model.js';
|
|
4
5
|
import type { Store } from '../core/store.js';
|
|
5
6
|
export declare const requires: CommandRequires;
|
|
@@ -7,6 +8,7 @@ export interface NeighborsFlags {
|
|
|
7
8
|
node: string;
|
|
8
9
|
depth?: number;
|
|
9
10
|
direction?: Direction;
|
|
11
|
+
type?: string;
|
|
10
12
|
as?: string;
|
|
11
13
|
}
|
|
12
14
|
export declare function executeNeighbors(store: Store, flags: NeighborsFlags): Promise<CommandOutcome<{
|
|
@@ -38,4 +40,17 @@ export interface OrphansFlags {
|
|
|
38
40
|
export declare function executeOrphans(store: Store, flags?: OrphansFlags): Promise<CommandOutcome<{
|
|
39
41
|
orphans: string[];
|
|
40
42
|
}>>;
|
|
43
|
+
export interface ClustersFlags {
|
|
44
|
+
as?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function executeClusters(store: Store, flags?: ClustersFlags): Promise<CommandOutcome<{
|
|
47
|
+
clusters: ClusterEntry[];
|
|
48
|
+
}>>;
|
|
49
|
+
export interface BridgesFlags {
|
|
50
|
+
top?: number;
|
|
51
|
+
as?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function executeBridges(store: Store, flags?: BridgesFlags): Promise<CommandOutcome<{
|
|
54
|
+
bridges: BridgeEntry[];
|
|
55
|
+
}>>;
|
|
41
56
|
//# sourceMappingURL=graph-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-query.d.ts","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AA6B/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,cAAc,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAKlD;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,cAAc,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAUpD;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAKnH;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC,CAAC,CAIpH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAI3H;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,EACZ,KAAK,GAAE,aAAkB,GACxB,OAAO,CAAC,cAAc,CAAC;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAAC,CAIvD;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,cAAc,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAAC,CAIrD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphNodeNotFoundError, GraphNotBuiltError } from '../core/errors.js';
|
|
2
2
|
import { ExitCode } from '../core/exit-codes.js';
|
|
3
|
-
import { hubs, neighbors, orphans, shortestPath, subgraph } from '../core/graph/query.js';
|
|
3
|
+
import { bridges, clusters, hubs, neighbors, orphans, shortestPath, subgraph, } from '../core/graph/query.js';
|
|
4
4
|
import { readGraph } from '../core/graph/persist.js';
|
|
5
5
|
import { filterGraphByAudience } from '../core/graph/visibility-filter.js';
|
|
6
6
|
export const requires = { store: 'required' };
|
|
@@ -33,7 +33,7 @@ function outcome(store, data, humanSummary) {
|
|
|
33
33
|
export async function executeNeighbors(store, flags) {
|
|
34
34
|
const graph = await loadGraph(store, flags.as);
|
|
35
35
|
assertNode(graph, flags.node);
|
|
36
|
-
const result = neighbors(graph, flags.node, { depth: flags.depth, direction: flags.direction });
|
|
36
|
+
const result = neighbors(graph, flags.node, { depth: flags.depth, direction: flags.direction, type: flags.type });
|
|
37
37
|
return outcome(store, { neighbors: result }, `${result.length} neighbor(s) of "${flags.node}".`);
|
|
38
38
|
}
|
|
39
39
|
export async function executePath(store, flags) {
|
|
@@ -60,4 +60,14 @@ export async function executeOrphans(store, flags = {}) {
|
|
|
60
60
|
const result = orphans(graph);
|
|
61
61
|
return outcome(store, { orphans: result }, `${result.length} orphan node(s) (no links in or out).`);
|
|
62
62
|
}
|
|
63
|
+
export async function executeClusters(store, flags = {}) {
|
|
64
|
+
const graph = await loadGraph(store, flags.as);
|
|
65
|
+
const result = clusters(graph);
|
|
66
|
+
return outcome(store, { clusters: result }, `${result.length} cluster(s).`);
|
|
67
|
+
}
|
|
68
|
+
export async function executeBridges(store, flags = {}) {
|
|
69
|
+
const graph = await loadGraph(store, flags.as);
|
|
70
|
+
const result = bridges(graph, flags.top ?? store.config.retrieval.graph.bridge_top);
|
|
71
|
+
return outcome(store, { bridges: result }, `Top ${result.length} bridge(s) by distinct clusters linked into.`);
|
|
72
|
+
}
|
|
63
73
|
//# sourceMappingURL=graph-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-query.js","sourceRoot":"","sources":["../../src/commands/graph-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CommandOutcome, CommandRequires } from '../core/command.js';
|
|
2
|
+
import type { Store } from '../core/store.js';
|
|
3
|
+
export declare const requires: CommandRequires;
|
|
4
|
+
export interface IdentityEditData {
|
|
5
|
+
path: string;
|
|
6
|
+
entries: number;
|
|
7
|
+
}
|
|
8
|
+
export interface IdentityAddFlags {
|
|
9
|
+
file: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function executeAdd(store: Store, flags: IdentityAddFlags): Promise<CommandOutcome<IdentityEditData>>;
|
|
13
|
+
export interface IdentityReplaceFlags {
|
|
14
|
+
file: string;
|
|
15
|
+
match: string;
|
|
16
|
+
text: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function executeReplace(store: Store, flags: IdentityReplaceFlags): Promise<CommandOutcome<IdentityEditData>>;
|
|
19
|
+
export interface IdentityRemoveFlags {
|
|
20
|
+
file: string;
|
|
21
|
+
match: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function executeRemove(store: Store, flags: IdentityRemoveFlags): Promise<CommandOutcome<IdentityEditData>>;
|
|
24
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAU1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAmBD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAIjH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAIzH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAIvH"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ExitCode } from '../core/exit-codes.js';
|
|
2
|
+
import { UnknownIdentityRoleError } from '../core/errors.js';
|
|
3
|
+
import { addIdentityEntry, IDENTITY_ROLES, removeIdentityEntry, replaceIdentityEntry, } from '../core/identity.js';
|
|
4
|
+
export const requires = { store: 'required' };
|
|
5
|
+
function checkRole(role) {
|
|
6
|
+
if (!IDENTITY_ROLES.includes(role)) {
|
|
7
|
+
throw new UnknownIdentityRoleError(role, IDENTITY_ROLES);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function outcome(store, result, humanSummary) {
|
|
11
|
+
return {
|
|
12
|
+
exitCode: ExitCode.Ok,
|
|
13
|
+
data: result,
|
|
14
|
+
findings: [],
|
|
15
|
+
humanSummary,
|
|
16
|
+
storeRoot: store.root,
|
|
17
|
+
schemaVersion: store.config.schema_version,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export async function executeAdd(store, flags) {
|
|
21
|
+
checkRole(flags.file);
|
|
22
|
+
const result = await addIdentityEntry(store.root, store.config, flags.file, flags.text);
|
|
23
|
+
return outcome(store, result, `Added an entry to "${result.path}" (${result.entries} total).`);
|
|
24
|
+
}
|
|
25
|
+
export async function executeReplace(store, flags) {
|
|
26
|
+
checkRole(flags.file);
|
|
27
|
+
const result = await replaceIdentityEntry(store.root, store.config, flags.file, flags.match, flags.text);
|
|
28
|
+
return outcome(store, result, `Replaced the entry matching "${flags.match}" in "${result.path}" (${result.entries} total).`);
|
|
29
|
+
}
|
|
30
|
+
export async function executeRemove(store, flags) {
|
|
31
|
+
checkRole(flags.file);
|
|
32
|
+
const result = await removeIdentityEntry(store.root, store.config, flags.file, flags.match);
|
|
33
|
+
return outcome(store, result, `Removed the entry matching "${flags.match}" from "${result.path}" (${result.entries} total).`);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAO/D,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,wBAAwB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAY,EAAE,MAAyC,EAAE,YAAoB;IAC5F,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE;QACZ,YAAY;QACZ,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAY,EAAE,KAAuB;IACpE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AACjG,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAY,EAAE,KAA2B;IAC5E,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACzG,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,gCAAgC,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAC/H,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAY,EAAE,KAA0B;IAC1E,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5F,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,+BAA+B,KAAK,CAAC,KAAK,WAAW,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAChI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA0B1E,OAAO,EAAmE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAchI,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAgB5D,eAAO,MAAM,QAAQ,EAAE,eAAqC,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3F,wFAAwF;IACxF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAwMD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAY9F"}
|