@intentius/chant 0.124.44 → 0.124.46
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/capabilities/aws.paths +148 -0
- package/dist/capabilities/base-mappings.json +122 -0
- package/dist/capabilities/catalog.d.ts +89 -0
- package/dist/capabilities/catalog.d.ts.map +1 -0
- package/dist/capabilities/catalog.js +204 -0
- package/dist/capabilities/language.d.ts +103 -0
- package/dist/capabilities/language.d.ts.map +1 -0
- package/dist/capabilities/language.js +335 -0
- package/dist/capabilities/matcher.d.ts +65 -0
- package/dist/capabilities/matcher.d.ts.map +1 -0
- package/dist/capabilities/matcher.js +299 -0
- package/dist/capabilities/view.d.ts +207 -0
- package/dist/capabilities/view.d.ts.map +1 -0
- package/dist/capabilities/view.js +484 -0
- package/dist/ci-identity.d.ts +183 -12
- package/dist/ci-identity.d.ts.map +1 -1
- package/dist/ci-identity.js +362 -53
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +1 -0
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +17 -1
- package/dist/cli/handlers/declared-graph.d.ts +44 -0
- package/dist/cli/handlers/declared-graph.d.ts.map +1 -0
- package/dist/cli/handlers/declared-graph.js +87 -0
- package/dist/cli/handlers/graph.d.ts +25 -0
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/graph.js +93 -87
- package/dist/cli/handlers/pr-env.d.ts +8 -2
- package/dist/cli/handlers/pr-env.d.ts.map +1 -1
- package/dist/cli/handlers/pr-env.js +127 -225
- package/dist/cli/handlers/pr.d.ts +3 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +1 -0
- package/dist/cli/handlers/search-count.d.ts +89 -0
- package/dist/cli/handlers/search-count.d.ts.map +1 -0
- package/dist/cli/handlers/search-count.js +132 -0
- package/dist/cli/handlers/search.d.ts +358 -6
- package/dist/cli/handlers/search.d.ts.map +1 -1
- package/dist/cli/handlers/search.js +1065 -155
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +23 -3
- package/dist/cli/mcp/server.d.ts.map +1 -1
- package/dist/cli/mcp/server.js +3 -0
- package/dist/cli/mcp/tools/capabilities.d.ts +7 -0
- package/dist/cli/mcp/tools/capabilities.d.ts.map +1 -0
- package/dist/cli/mcp/tools/capabilities.js +27 -0
- package/dist/cli/mcp/workspace-tools.d.ts +3 -1
- package/dist/cli/mcp/workspace-tools.d.ts.map +1 -1
- package/dist/cli/mcp/workspace-tools.js +47 -2
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +64 -17
- package/dist/cli/registry.d.ts +22 -0
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +2 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/cli-support.js +4 -2
- package/dist/components/fan-out-support.d.ts +3 -0
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/fan-out-support.js +1 -1
- package/dist/components/pr-env-ports.d.ts +29 -0
- package/dist/components/pr-env-ports.d.ts.map +1 -0
- package/dist/components/pr-env-ports.js +77 -0
- package/dist/components/pr-env-run.d.ts +254 -0
- package/dist/components/pr-env-run.d.ts.map +1 -0
- package/dist/components/pr-env-run.js +376 -0
- package/dist/components/pr-environment.d.ts +91 -15
- package/dist/components/pr-environment.d.ts.map +1 -1
- package/dist/components/pr-environment.js +95 -9
- package/dist/components/pr-pipeline.d.ts +10 -1
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/config-environments.d.ts +92 -0
- package/dist/config-environments.d.ts.map +1 -0
- package/dist/config-environments.js +102 -0
- package/dist/config.d.ts +24 -84
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -96
- package/dist/graph-detail.d.ts.map +1 -1
- package/dist/graph-detail.js +15 -3
- package/dist/graph-effective.d.ts +33 -2
- package/dist/graph-effective.d.ts.map +1 -1
- package/dist/graph-effective.js +215 -68
- package/dist/graph-ir.d.ts +23 -0
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/graph-ir.js +130 -0
- package/dist/graph-sub-template.d.ts +11 -0
- package/dist/graph-sub-template.d.ts.map +1 -0
- package/dist/graph-sub-template.js +19 -0
- package/dist/lexicon.d.ts +9 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/observe.d.ts +28 -0
- package/dist/lifecycle/observe.d.ts.map +1 -1
- package/dist/lifecycle/observe.js +23 -1
- package/dist/lint/rule.d.ts +6 -0
- package/dist/lint/rule.d.ts.map +1 -1
- package/dist/live-endpoint.d.ts +1 -1
- package/dist/live-endpoint.d.ts.map +1 -1
- package/dist/live-endpoint.js +1 -1
- package/dist/observation.d.ts +48 -1
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +21 -5
- package/dist/op/activities/activity-contracts.d.ts +4 -4
- package/dist/op/op-waves.d.ts +17 -0
- package/dist/op/op-waves.d.ts.map +1 -1
- package/dist/op/op-waves.js +23 -1
- package/dist/pr-forge.d.ts +15 -1
- package/dist/pr-forge.d.ts.map +1 -1
- package/dist/pr-forge.js +28 -16
- package/dist/pr-requires.d.ts +5 -1
- package/dist/pr-requires.d.ts.map +1 -1
- package/dist/wave-runtime.mjs +251 -250
- package/dist/workspace/capabilities-contract.d.ts +66 -0
- package/dist/workspace/capabilities-contract.d.ts.map +1 -0
- package/dist/workspace/capabilities-contract.js +107 -0
- package/dist/workspace/capabilities.schema.json +229 -0
- package/dist/workspace/ci-cloud-identity.d.ts +3 -1
- package/dist/workspace/ci-cloud-identity.d.ts.map +1 -1
- package/dist/workspace/ci-cloud-identity.js +16 -1
- package/dist/workspace/ci-run.d.ts +35 -8
- package/dist/workspace/ci-run.d.ts.map +1 -1
- package/dist/workspace/ci-run.js +95 -21
- package/dist/workspace/ci-secrets.d.ts.map +1 -1
- package/dist/workspace/ci-secrets.js +4 -3
- package/dist/workspace/compose-graph.d.ts +9 -0
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/compose-graph.js +3 -1
- package/dist/workspace/conformance/index.d.ts +1 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/index.js +39 -2
- package/dist/workspace/declaration.d.ts +10 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +17 -1
- package/dist/workspace/declaration.schema.json +36 -1
- package/dist/workspace/graph-cache.d.ts +8 -0
- package/dist/workspace/graph-cache.d.ts.map +1 -1
- package/dist/workspace/graph-cache.js +27 -3
- package/dist/workspace/graph-cli.d.ts +39 -2
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/graph-cli.js +66 -24
- package/dist/workspace/graph.schema.json +148 -0
- package/dist/workspace/kind-readers.d.ts +3 -0
- package/dist/workspace/kind-readers.d.ts.map +1 -1
- package/dist/workspace/kind-readers.js +7 -1
- package/dist/workspace/member-commands.d.ts +10 -1
- package/dist/workspace/member-commands.d.ts.map +1 -1
- package/dist/workspace/member-commands.js +17 -1
- package/dist/workspace/nested-graph.d.ts +2 -0
- package/dist/workspace/nested-graph.d.ts.map +1 -1
- package/dist/workspace/nested-graph.js +32 -1
- package/dist/workspace/reason-codes.d.ts +10 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +12 -0
- package/dist/workspace/search-cli.d.ts +204 -0
- package/dist/workspace/search-cli.d.ts.map +1 -0
- package/dist/workspace/search-cli.js +466 -0
- package/dist/workspace/search-contract.d.ts +56 -0
- package/dist/workspace/search-contract.d.ts.map +1 -0
- package/dist/workspace/search-contract.js +70 -0
- package/dist/workspace/search.schema.json +822 -0
- package/package.json +1 -1
- package/src/__snapshots__/okf.test.ts.snap +10 -0
- package/src/capabilities/aws.paths +148 -0
- package/src/capabilities/base-mappings.json +122 -0
- package/src/capabilities/catalog.ts +230 -0
- package/src/capabilities/language.test.ts +191 -0
- package/src/capabilities/language.ts +373 -0
- package/src/capabilities/matcher.ts +315 -0
- package/src/capabilities/view-compose.test.ts +76 -0
- package/src/capabilities/view.ts +631 -0
- package/src/ci-identity-targets.test.ts +275 -0
- package/src/ci-identity.ts +394 -61
- package/src/cli/commands/lint.ts +1 -0
- package/src/cli/handlers/build.ts +15 -1
- package/src/cli/handlers/declared-graph.ts +99 -0
- package/src/cli/handlers/graph.test.ts +94 -3
- package/src/cli/handlers/graph.ts +123 -96
- package/src/cli/handlers/pr-env.ts +135 -227
- package/src/cli/handlers/pr.ts +4 -0
- package/src/cli/handlers/search-build-roots.test.ts +144 -0
- package/src/cli/handlers/search-count.test.ts +191 -0
- package/src/cli/handlers/search-count.ts +165 -0
- package/src/cli/handlers/search-json.test.ts +333 -0
- package/src/cli/handlers/search-live.test.ts +387 -0
- package/src/cli/handlers/search-paths.test.ts +235 -0
- package/src/cli/handlers/search.ts +1312 -166
- package/src/cli/main.test.ts +28 -3
- package/src/cli/main.ts +23 -3
- package/src/cli/mcp/server.test.ts +3 -3
- package/src/cli/mcp/server.ts +3 -0
- package/src/cli/mcp/tools/capabilities.ts +32 -0
- package/src/cli/mcp/workspace-tools.e2e.test.ts +21 -1
- package/src/cli/mcp/workspace-tools.ts +47 -2
- package/src/cli/parse-args.ts +52 -13
- package/src/cli/registry.ts +22 -0
- package/src/components/cli-support.ts +6 -1
- package/src/components/fan-out-support.ts +4 -1
- package/src/components/pr-env-ports.ts +89 -0
- package/src/components/pr-env-run-bundle.test.ts +54 -0
- package/src/components/pr-env-run.test.ts +290 -0
- package/src/components/pr-env-run.ts +563 -0
- package/src/components/pr-environment.ts +161 -13
- package/src/components/pr-pipeline.ts +10 -1
- package/src/config-environments.ts +133 -0
- package/src/config.ts +37 -124
- package/src/graph-detail.ts +15 -3
- package/src/graph-effective.ts +226 -75
- package/src/graph-ir.test.ts +163 -0
- package/src/graph-ir.ts +147 -0
- package/src/graph-sub-template.ts +22 -0
- package/src/lexicon.ts +10 -0
- package/src/lifecycle/observe.test.ts +27 -1
- package/src/lifecycle/observe.ts +43 -1
- package/src/lint/rule.ts +6 -0
- package/src/live-endpoint.ts +1 -1
- package/src/observation.test.ts +25 -0
- package/src/observation.ts +69 -5
- package/src/op/op-waves.ts +38 -1
- package/src/pr-forge-bundle.test.ts +1 -1
- package/src/pr-forge.ts +44 -17
- package/src/pr-requires.test.ts +43 -6
- package/src/pr-requires.ts +5 -1
- package/src/workspace/capabilities-contract.test.ts +88 -0
- package/src/workspace/capabilities-contract.ts +132 -0
- package/src/workspace/capabilities.schema.json +229 -0
- package/src/workspace/ci-cloud-identity.test.ts +20 -0
- package/src/workspace/ci-cloud-identity.ts +14 -1
- package/src/workspace/ci-run.test.ts +74 -1
- package/src/workspace/ci-run.ts +122 -29
- package/src/workspace/ci-secrets.test.ts +1 -1
- package/src/workspace/ci-secrets.ts +4 -3
- package/src/workspace/compose-graph.ts +10 -1
- package/src/workspace/conformance/conformance.e2e.test.ts +14 -1
- package/src/workspace/conformance/index.ts +31 -2
- package/src/workspace/declaration.schema.json +36 -1
- package/src/workspace/declaration.test.ts +7 -0
- package/src/workspace/declaration.ts +24 -2
- package/src/workspace/graph-cache.ts +27 -3
- package/src/workspace/graph-cli.ts +96 -24
- package/src/workspace/graph.schema.json +148 -0
- package/src/workspace/kind-readers.e2e.test.ts +28 -0
- package/src/workspace/kind-readers.test.ts +1 -1
- package/src/workspace/kind-readers.ts +7 -1
- package/src/workspace/member-commands.ts +22 -1
- package/src/workspace/nested-graph.ts +32 -1
- package/src/workspace/reason-codes.test.ts +7 -0
- package/src/workspace/reason-codes.ts +12 -0
- package/src/workspace/search-cli.e2e.test.ts +305 -0
- package/src/workspace/search-cli.ts +591 -0
- package/src/workspace/search-contract.ts +95 -0
- package/src/workspace/search.schema.json +822 -0
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
* - For `graph` only, members of a pinned package's kind whose kinds file
|
|
13
13
|
* says how to read them (#2874, a `graph` block): each runs `chant graph`
|
|
14
14
|
* in a reader project chant writes for it (`kind-readers.ts`). Other
|
|
15
|
-
* package kinds are `kind-not-run`, as before.
|
|
15
|
+
* package kinds are `kind-not-run`, as before. A kind no built-in or
|
|
16
|
+
* pinned package supplies, such as `terraform` when the pinned lexicon is
|
|
17
|
+
* missing or at another version, is `unknown-kind` and fails the read,
|
|
18
|
+
* with the pin's problem in the message (#4380).
|
|
16
19
|
* - For `build` and `lint` only, every project an example group matches
|
|
17
20
|
* (ws-051): groups are built and linted, and have no ledger, audit or place
|
|
18
21
|
* in the graph. On a large repository this is most of the run, so
|
|
@@ -141,6 +144,16 @@ export function planMembers(verb, root, options = {}) {
|
|
|
141
144
|
});
|
|
142
145
|
continue;
|
|
143
146
|
}
|
|
147
|
+
// A kind no built-in or pinned package supplies is unknown, not a kind
|
|
148
|
+
// the read leaves out (#4380): a terraform member whose pinned lexicon is
|
|
149
|
+
// missing or at another version said kind-not-run before, as if the graph
|
|
150
|
+
// never read its kind. Say why, the pin's problem included.
|
|
151
|
+
if (verb === "graph" && !kinds.get(entry.kind)) {
|
|
152
|
+
const reason = memberReason(entry, tree, kinds) ?? { code: "unknown-kind", message: `no built-in kind or pinned package supplies kind ${entry.kind}` };
|
|
153
|
+
const problems = reason.code === "unknown-kind" ? (options.kindProblems ?? []) : [];
|
|
154
|
+
unreadable.push({ name: entry.name, dir: entry.dir, kind: entry.kind, reason: problems.length ? { ...reason, message: `${reason.message}; ${problems.join("; ")}` } : reason });
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
144
157
|
if (entry.kind !== "chant") {
|
|
145
158
|
const why = entry.kind === "workspace"
|
|
146
159
|
? "a nested workspace runs its own chant workspace commands"
|
|
@@ -245,6 +258,9 @@ export function memberArgv(verb, unit, args) {
|
|
|
245
258
|
// composites with their rolled-up status (#4228).
|
|
246
259
|
if (args.detail !== undefined)
|
|
247
260
|
argv.push("--detail", String(args.detail));
|
|
261
|
+
// Each member's chant maps its own capability view (#4378).
|
|
262
|
+
if (args.capabilityView)
|
|
263
|
+
argv.push("--capability-view");
|
|
248
264
|
}
|
|
249
265
|
return argv;
|
|
250
266
|
}
|
|
@@ -45,6 +45,8 @@ export declare function readNestedDocument(stdout: string, exitCode: number, std
|
|
|
45
45
|
export declare function readNested(abs: string, args: Partial<ParsedArgs>, at: string | null | undefined, schemaId: string, contract: number, toolchain?: Toolchain | undefined): Promise<NestedRead & {
|
|
46
46
|
stderr: string;
|
|
47
47
|
}>;
|
|
48
|
+
/** Whether a chant refused `--capability-view` as a flag it doesn't know (#4378): one from before it. */
|
|
49
|
+
export declare function refusedCapabilityView(stderr: string): boolean;
|
|
48
50
|
/**
|
|
49
51
|
* Fold a nested workspace's graph into the outer one, under the outer member
|
|
50
52
|
* `outer`, and fill that member's entry. The outer graph's other sections are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/nested-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"nested-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/nested-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAA8B,KAAK,cAAc,EAAqB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1H,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpE,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,cAAc,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC9F;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElI,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAc1G;AAeD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAwBnI;AAED,uEAAuE;AACvE,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACzB,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,SAAS,GAAG,SAAqB,GAC3C,OAAO,CAAC,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAS1C;AAED,yGAAyG;AACzG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAYD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0E5H"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* in the user's cache directory, ws-059), and the outer side keeps nothing.
|
|
21
21
|
*/
|
|
22
22
|
import { spawn } from "node:child_process";
|
|
23
|
+
import { isViewDocument, prefixView, VIEW_DOCUMENT_VERSION } from "../capabilities/view.js";
|
|
23
24
|
import { danglingKey, SCOPED_GROUPS } from "./compose-graph.js";
|
|
24
25
|
import { readerToolchain } from "./member-commands.js";
|
|
25
26
|
/** The command line of the nested read: the outer command's own read flags, passed on. */
|
|
@@ -35,6 +36,7 @@ export function nestedArgv(dir, args, at) {
|
|
|
35
36
|
...(args.traffic !== undefined ? ["--traffic", String(args.traffic)] : []),
|
|
36
37
|
...(args.detail !== undefined ? ["--detail", String(args.detail)] : []),
|
|
37
38
|
...(args.noCache ? ["--no-cache"] : []),
|
|
39
|
+
...(args.capabilityView ? ["--capability-view"] : []),
|
|
38
40
|
];
|
|
39
41
|
}
|
|
40
42
|
function spawnRead(command, argv, cwd) {
|
|
@@ -78,9 +80,19 @@ export function readNestedDocument(stdout, exitCode, stderr, schemaId, contract)
|
|
|
78
80
|
}
|
|
79
81
|
/** Run the nested workspace's own `chant workspace graph` in `abs`. */
|
|
80
82
|
export async function readNested(abs, args, at, schemaId, contract, toolchain = undefined) {
|
|
81
|
-
const
|
|
83
|
+
const command = (toolchain ?? readerToolchain()).command;
|
|
84
|
+
let r = await spawnRead(command, nestedArgv(abs, args, at), abs);
|
|
85
|
+
// A nested chant from before #4378 has no --capability-view: read it
|
|
86
|
+
// without, and its members carry no view.
|
|
87
|
+
if (args.capabilityView && r.exitCode !== 0 && refusedCapabilityView(r.stderr)) {
|
|
88
|
+
r = await spawnRead(command, nestedArgv(abs, { ...args, capabilityView: false }, at), abs);
|
|
89
|
+
}
|
|
82
90
|
return { ...readNestedDocument(r.stdout, r.exitCode, r.stderr, schemaId, contract), stderr: r.stderr };
|
|
83
91
|
}
|
|
92
|
+
/** Whether a chant refused `--capability-view` as a flag it doesn't know (#4378): one from before it. */
|
|
93
|
+
export function refusedCapabilityView(stderr) {
|
|
94
|
+
return /Unknown flag:?\s*--capability-view/i.test(stderr);
|
|
95
|
+
}
|
|
84
96
|
const prefixed = (outer, id) => `${outer}/${id}`;
|
|
85
97
|
function prefixRefs(value, outer) {
|
|
86
98
|
if (Array.isArray(value))
|
|
@@ -129,6 +141,25 @@ export function foldNested(graph, member, inner) {
|
|
|
129
141
|
for (const i of inner.imports ?? [])
|
|
130
142
|
graph.imports.push({ ...i, node: prefixed(outer, i.node), member: outer });
|
|
131
143
|
graph.groups.byMember[outer] = ids.sort();
|
|
144
|
+
// The capability view (#4378): each nested member's, under the outer id. A
|
|
145
|
+
// nested member that read without one leaves the outer member without one.
|
|
146
|
+
const composedInner = inner.members.filter((m) => m.status === "composed");
|
|
147
|
+
if (composedInner.some((m) => m.capabilityView !== undefined)) {
|
|
148
|
+
const views = composedInner.map((m) => m.capabilityView);
|
|
149
|
+
if (views.every(isViewDocument)) {
|
|
150
|
+
const ps = views.map((v) => prefixView(v, `${outer}/`));
|
|
151
|
+
member.capabilityView = {
|
|
152
|
+
version: VIEW_DOCUMENT_VERSION,
|
|
153
|
+
lexicons: [...new Set(ps.flatMap((v) => v.lexicons))].sort(),
|
|
154
|
+
nodes: ps.flatMap((v) => v.nodes),
|
|
155
|
+
edges: ps.flatMap((v) => v.edges),
|
|
156
|
+
unresolved: ps.flatMap((v) => v.unresolved),
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
member.capabilityView = null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
132
163
|
const groups = graph.groups;
|
|
133
164
|
const innerGroups = inner.groups;
|
|
134
165
|
for (const key of ["byLexicon", "byComposite"]) {
|
|
@@ -43,6 +43,16 @@ export declare const REASONS: {
|
|
|
43
43
|
readonly "command-failed": "The member's own command exited with a failure, or the lexicon that reads the member through its kind's graph block isn't installed where the workspace resolves its pin.";
|
|
44
44
|
readonly "output-unreadable": "The member's command printed something that isn't the document asked for.";
|
|
45
45
|
readonly "ir-version-unsupported": "The member's IR has a version this chant can't read.";
|
|
46
|
+
readonly "query-invalid": "search was given no query, a term its grammar can't parse, or a --count-by that is not a grouping.";
|
|
47
|
+
readonly "usage-invalid": "search was given a flag that needs another one it lacks, or two that don't go together, such as --check-live without --snapshot.";
|
|
48
|
+
readonly "environment-unknown": "--env names an environment the project's chant config does not declare.";
|
|
49
|
+
readonly "snapshot-unavailable": "--snapshot names a snapshot chant can't replay: none is recorded for the environment, or the ref is one replay does not take.";
|
|
50
|
+
readonly "build-failed": "The project's build, or one of its build roots, failed, so the graph search would answer over is incomplete.";
|
|
51
|
+
readonly "snapshot-at-revision": "workspace search was given --snapshot and --at: a snapshot replays the estate as recorded over the source in the working tree, not at a revision.";
|
|
52
|
+
readonly "member-chant-too-old": "The member's chant predates the document asked for: it has no such command, or prints it without the read contract.";
|
|
53
|
+
readonly "lexicon-has-no-mapping": "The lexicon ships no capability mapping, so no capability rule can read its resources.";
|
|
54
|
+
readonly "capability-not-derivable": "The lexicon's capability mapping labels none of the kinds the capability's rule needs.";
|
|
55
|
+
readonly "lexicon-not-loaded": "The lexicon isn't installed where the chant that wrote the catalog runs, so its mapping wasn't read.";
|
|
46
56
|
readonly "ledger-unreadable": "Reading the ledger failed, so nothing from it is listed.";
|
|
47
57
|
readonly "ledger-malformed": "Some lines of the ledger aren't release records; the rest are listed.";
|
|
48
58
|
readonly "gates-no-ledger": "The checkout has no chant/lifecycle branch, so there is no gate ledger to read.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reason-codes.d.ts","sourceRoot":"","sources":["../../src/workspace/reason-codes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reason-codes.d.ts","sourceRoot":"","sources":["../../src/workspace/reason-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sHAAsH;AACtH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,uHAAuH;AACvH,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,qFAAqF;AACrF,eAAO,MAAM,OAAO;aAElB,qBAAqB,EAAE,2EAA2E;aAClG,uBAAuB,EAAE,4DAA4D;aACrF,yBAAyB,EAAE,mEAAmE;aAC9F,qBAAqB,EAAE,wFAAwF;aAC/G,mBAAmB,EAAE,kDAAkD;aACvE,gBAAgB,EAAE,iEAAiE;aACnF,qBAAqB,EAAE,sHAAsH;aAE7I,sBAAsB,EAAE,mEAAmE;aAC3F,kBAAkB,EAAE,uBAAuB;aAC3C,kBAAkB,EAAE,wFAAwF;aAE5G,qBAAqB,EAAE,yDAAyD;aAEhF,aAAa,EAAE,wCAAwC;aACvD,cAAc,EAAE,gEAAgE;aAChF,mBAAmB,EAAE,oDAAoD;aACzE,YAAY,EAAE,gEAAgE;aAE9E,cAAc,EAAE,4EAA4E;aAC5F,gBAAgB,EAAE,2KAA2K;aAC7L,mBAAmB,EAAE,2EAA2E;aAChG,wBAAwB,EAAE,sDAAsD;aAEhF,eAAe,EAAE,oGAAoG;aACrH,eAAe,EAAE,kIAAkI;aACnJ,qBAAqB,EAAE,yEAAyE;aAChG,sBAAsB,EAAE,+HAA+H;aACvJ,cAAc,EAAE,8GAA8G;aAC9H,sBAAsB,EAAE,mJAAmJ;aAC3K,sBAAsB,EAAE,qHAAqH;aAE7I,wBAAwB,EAAE,wFAAwF;aAClH,0BAA0B,EAAE,wFAAwF;aACpH,oBAAoB,EAAE,sGAAsG;aAE5H,mBAAmB,EAAE,0DAA0D;aAC/E,kBAAkB,EAAE,uEAAuE;aAE3F,iBAAiB,EAAE,iFAAiF;aACpG,sBAAsB,EAAE,gFAAgF;aACxG,yBAAyB,EAAE,gEAAgE;aAE3F,qBAAqB,EAAE,iFAAiF;aACxG,mBAAmB,EAAE,iFAAiF;aACtG,yBAAyB,EAAE,8GAA8G;aAEzI,oBAAoB,EAAE,sJAAsJ;aAC5K,uBAAuB,EAAE,kFAAkF;aAC3G,qBAAqB,EAAE,uDAAuD;aAC9E,2BAA2B,EAAE,8CAA8C;aAC3E,4BAA4B,EAAE,4EAA4E;aAC1G,2BAA2B,EAAE,8CAA8C;aAC3E,8BAA8B,EAAE,6FAA6F;aAC7H,sBAAsB,EAAE,wGAAwG;aAEhI,uBAAuB,EAAE,kJAAkJ;aAC3K,gCAAgC,EAAE,yFAAyF;aAE3H,aAAa,EAAE,4FAA4F;aAC3G,eAAe,EAAE,iEAAiE;aAClF,aAAa,EAAE,sIAAsI;aACrJ,2BAA2B,EAAE,gHAAgH;aAC7I,oBAAoB,EAAE,qHAAqH;aAC3I,mBAAmB,EAAE,+GAA+G;aACpI,yBAAyB,EAAE,2KAA2K;aAEtM,oBAAoB,EAAE,sFAAsF;aAC5G,yBAAyB,EAAE,sEAAsE;aACjG,kBAAkB,EAAE,+EAA+E;aACnG,2BAA2B,EAAE,oFAAoF;aACjH,oBAAoB,EAAE,wFAAwF;aAC9G,0BAA0B,EAAE,2DAA2D;aACvF,oBAAoB,EAAE,mJAAmJ;aACzK,uBAAuB,EAAE,+IAA+I;aACxK,+BAA+B,EAAE,uJAAuJ;aACxL,uBAAuB,EAAE,gFAAgF;aACzG,yBAAyB,EAAE,8EAA8E;aACzG,mBAAmB,EAAE,mFAAmF;aAExG,mBAAmB,EAAE,6EAA6E;aAClG,YAAY,EAAE,uHAAuH;aAErI,0BAA0B,EAAE,uEAAuE;aACnG,sBAAsB,EAAE,8EAA8E;aACtG,sBAAsB,EAAE,qHAAqH;aAE7I,gBAAgB,EAAE,yFAAyF;aAC3G,cAAc,EAAE,gEAAgE;aAChF,kBAAkB,EAAE,oHAAoH;aACxI,qBAAqB,EAAE,oGAAoG;aAC3H,mBAAmB,EAAE,0GAA0G;aAE/H,cAAc,EAAE,8CAA8C;aAC9D,sBAAsB,EAAE,wGAAwG;aAChI,wBAAwB,EAAE,uIAAuI;aACjK,mBAAmB,EAAE,sLAAsL;aAE3M,mBAAmB,EAAE,sKAAsK;aAC3L,8BAA8B,EAAE,6MAA6M;aAE7O,iBAAiB,EAAE,2DAA2D;aAC9E,cAAc,EAAE,oEAAoE;aACpF,mBAAmB,EAAE,kEAAkE;aACvF,oBAAoB,EAAE,6DAA6D;aACnF,gBAAgB,EAAE,4CAA4C;aAC9D,kBAAkB,EAAE,uEAAuE;aAE3F,qBAAqB,EAAE,gFAAgF;aACvG,qBAAqB,EAAE,8FAA8F;aACrH,kBAAkB,EAAE,yCAAyC;aAC7D,iBAAiB,EAAE,4EAA4E;aAC/F,yBAAyB,EAAE,wGAAwG;aACnI,uBAAuB,EAAE,uFAAuF;aAChH,eAAe,EAAE,gGAAgG;aACjH,oBAAoB,EAAE,qEAAqE;aAC3F,yBAAyB,EAAE,+IAA+I;aAC1K,oBAAoB,EAAE,wEAAwE;aAC9F,sBAAsB,EAAE,6DAA6D;aACrF,oBAAoB,EAAE,0IAA0I;aAChK,0BAA0B,EAAE,4IAA4I;aACxK,6BAA6B,EAAE,uIAAuI;aACtK,uBAAuB,EAAE,+IAA+I;aACxK,oBAAoB,EAAE,6KAA6K;aAEnM,iBAAiB,EAAE,mLAAmL;aACtM,oBAAoB,EAAE,iKAAiK;aACvL,qBAAqB,EAAE,kKAAkK;aAEzL,oBAAoB,EAAE,qMAAqM;aAC3N,kBAAkB,EAAE,yIAAyI;aAC7J,uBAAuB,EAAE,qLAAqL;aAC9M,2BAA2B,EAAE,8PAA8P;aAC3R,eAAe,EAAE,kHAAkH;aACnI,wBAAwB,EAAE,0VAA0V;aAEpX,iBAAiB,EAAE,oFAAoF;aACvG,kBAAkB,EAAE,4EAA4E;aAEhG,mBAAmB,EAAE,4GAA4G;aACjI,gBAAgB,EAAE,kIAAkI;aACpJ,eAAe,EAAE,sEAAsE;aACvF,sBAAsB,EAAE,kFAAkF;aAC1G,sBAAsB,EAAE,mGAAmG;aAC3H,sBAAsB,EAAE,8DAA8D;aACtF,gBAAgB,EAAE,oOAAoO;aACtP,wBAAwB,EAAE,wKAAwK;aAClM,uBAAuB,EAAE,oNAAoN;aAC7O,qBAAqB,EAAE,mIAAmI;aAC1J,0BAA0B,EAAE,kOAAkO;aAC9P,0BAA0B,EAAE,6KAA6K;aAEzM,mBAAmB,EAAE,6FAA6F;aAClH,uBAAuB,EAAE,0HAA0H;aACnJ,oBAAoB,EAAE,yFAAyF;aAE/G,uBAAuB,EAAE,wEAAwE;aACjG,uBAAuB,EAAE,iFAAiF;aAC1G,2BAA2B,EAAE,uGAAuG;aACpI,uBAAuB,EAAE,uEAAuE;aAChG,yBAAyB,EAAE,6GAA6G;aAExI,wBAAwB,EAAE,2FAA2F;aACrH,sBAAsB,EAAE,uGAAuG;aAC/H,mBAAmB,EAAE,qMAAqM;aAE1N,yBAAyB,EAAE,kFAAkF;aAC7G,oBAAoB,EAAE,qKAAqK;aAC3L,oBAAoB,EAAE,2DAA2D;aACjF,oBAAoB,EAAE,+DAA+D;aACrF,kBAAkB,EAAE,wKAAwK;aAC5L,0BAA0B,EAAE,4EAA4E;aACxG,iCAAiC,EAAE,uDAAuD;aAC1F,6BAA6B,EAAE,6GAA6G;aAC5I,2BAA2B,EAAE,4GAA4G;aACzI,0BAA0B,EAAE,iEAAiE;aAC7F,wBAAwB,EAAE,iFAAiF;aAC3G,0BAA0B,EAAE,qEAAqE;aACjG,2BAA2B,EAAE,6FAA6F;aAC1H,6BAA6B,EAAE,uDAAuD;aACtF,+BAA+B,EAAE,8HAA8H;aAC/J,qBAAqB,EAAE,uGAAuG;aAC9H,+BAA+B,EAAE,+GAA+G;aAChJ,6BAA6B,EAAE,6KAA6K;aAE5M,wBAAwB,EAAE,wIAAwI;aAClK,mBAAmB,EAAE,oFAAoF;aACzG,wBAAwB,EAAE,mDAAmD;aAC7E,0BAA0B,EAAE,0GAA0G;aAEtI,kBAAkB,EAAE,kHAAkH;aACtI,qBAAqB,EAAE,yJAAyJ;aAEhL,iBAAiB,EAAE,2HAA2H;aAC9I,uBAAuB,EAAE,sPAAsP;aAE/Q,oBAAoB,EAAE,oFAAoF;aAE1G,4BAA4B,EAAE,4FAA4F;aAC1H,0BAA0B,EAAE,iDAAiD;aAC7E,yBAAyB,EAAE,0EAA0E;aAErG,4BAA4B,EAAE,mIAAmI;aACjK,6BAA6B,EAAE,4FAA4F;aAE3H,4BAA4B,EAAE,qHAAqH;aACnJ,gCAAgC,EAAE,oJAAoJ;aACtL,gCAAgC,EAAE,6FAA6F;aAC/H,mCAAmC,EAAE,6JAA6J;aAElM,wBAAwB,EAAE,mEAAmE;aAC7F,wBAAwB,EAAE,mEAAmE;aAC7F,sBAAsB,EAAE,iIAAiI;aAEzJ,0BAA0B,EAAE,4HAA4H;aACxJ,+BAA+B,EAAE,iIAAiI;aAClK,kCAAkC,EAAE,sFAAsF;aAC1H,wBAAwB,EAAE,sFAAsF;aAChH,yBAAyB,EAAE,mIAAmI;aAC9J,gCAAgC,EAAE,wFAAwF;aAC1H,4BAA4B,EAAE,uEAAuE;aACrG,8BAA8B,EAAE,gEAAgE;aAChG,6BAA6B,EAAE,gFAAgF;aAC/G,2BAA2B,EAAE,0DAA0D;aACvF,sBAAsB,EAAE,oEAAoE;aAC5F,8BAA8B,EAAE,yFAAyF;aACzH,0BAA0B,EAAE,6DAA6D;aACzF,wBAAwB,EAAE,2GAA2G;aACrI,8BAA8B,EAAE,8HAA8H;aAC9J,+BAA+B,EAAE,gGAAgG;aACjI,2BAA2B,EAAE,uGAAuG;aAEpI,8BAA8B,EAAE,kHAAkH;aAClJ,0BAA0B,EAAE,gHAAgH;aAC5I,4BAA4B,EAAE,2GAA2G;aACzI,2BAA2B,EAAE,6FAA6F;aAC1H,6BAA6B,EAAE,qHAAqH;aACpJ,yBAAyB,EAAE,wGAAwG;aACnI,8BAA8B,EAAE,wFAAwF;aACxH,8BAA8B,EAAE,qNAAqN;aACrP,6BAA6B,EAAE,iEAAiE;aAEhG,yBAAyB,EAAE,6KAA6K;aACxM,2BAA2B,EAAE,6FAA6F;aAE1H,kCAAkC,EAAE,4NAA4N;aAEhQ,oBAAoB,EAAE,2FAA2F;aACjH,0BAA0B,EAAE,8LAA8L;aAE1N,UAAU,EAAE,2FAA2F;aACvG,aAAa,EAAE,2FAA2F;aAE1G,mBAAmB,EAAE,kHAAkH;aACvI,qBAAqB,EAAE,qFAAqF;aAC5G,mBAAmB,EAAE,0DAA0D;aAC/E,kBAAkB,EAAE,oGAAoG;aAExH,wBAAwB,EAAE,uHAAuH;aAEjJ,YAAY,EAAE,6FAA6F;aAC3G,gBAAgB,EAAE,4FAA4F;aAC9G,sBAAsB,EAAE,mFAAmF;aAC3G,YAAY,EAAE,6EAA6E;aAC3F,qBAAqB,EAAE,8GAA8G;aAErI,YAAY,EAAE,sEAAsE;aACpF,aAAa,EAAE,mDAAmD;aAClE,WAAW,EAAE,qDAAqD;aAClE,gBAAgB,EAAE,iFAAiF;aACnG,uBAAuB,EAAE,0EAA0E;aAEnG,eAAe,EAAE,kHAAkH;aACnI,uBAAuB,EAAE,uIAAuI;aAChK,+BAA+B,EAAE,yEAAyE;aAC1G,wBAAwB,EAAE,0LAA0L;aAEpN,wBAAwB,EAAE,kEAAkE;aAC5F,qBAAqB,EAAE,yFAAyF;aAChH,uBAAuB,EAAE,2KAA2K;aAEpM,eAAe,EAAE,gGAAgG;aACjH,gBAAgB,EAAE,gEAAgE;aAElF,sBAAsB,EAAE,gHAAgH;aACxI,gBAAgB,EAAE,sJAAsJ;aACxK,eAAe,EAAE,8IAA8I;aAC/J,gBAAgB,EAAE,8EAA8E;aAEhG,wBAAwB,EAAE,kEAAkE;aAC5F,qBAAqB,EAAE,yFAAyF;aAEhH,wBAAwB,EAAE,8DAA8D;aACxF,cAAc,EAAE,gGAAgG;aAChH,iBAAiB,EAAE,6FAA6F;aAChH,gBAAgB,EAAE,mIAAmI;aACrJ,wBAAwB,EAAE,yGAAyG;aACnI,oBAAoB,EAAE,6OAA6O;aAEnQ,eAAe,EAAE,6GAA6G;aAC9H,UAAU,EAAE,2FAA2F;aACvG,sBAAsB,EAAE,iFAAiF;aACzG,kBAAkB,EAAE,gFAAgF;aACpG,UAAU,EAAE,yFAAyF;aACrG,iBAAiB,EAAE,4FAA4F;aAC/G,oBAAoB,EAAE,iIAAiI;aAEvJ,qBAAqB,EAAE,qGAAqG;aAC5H,mBAAmB,EAAE,4GAA4G;aAEjI,yBAAyB,EAAE,qHAAqH;aAChJ,uBAAuB,EAAE,8IAA8I;aAEvK,sBAAsB,EAAE,uFAAuF;aAC/G,iBAAiB,EAAE,8HAA8H;aACjJ,sBAAsB,EAAE,wDAAwD;aAChF,kBAAkB,EAAE,yHAAyH;aAC7I,wBAAwB,EAAE,0FAA0F;aACpH,kBAAkB,EAAE,gHAAgH;aACpI,uBAAuB,EAAE,oHAAoH;aAC7I,4BAA4B,EAAE,0GAA0G;aACxI,kCAAkC,EAAE,mHAAmH;aACvJ,4BAA4B,EAAE,0HAA0H;aAExJ,yBAAyB,EAAE,uGAAuG;aAClI,qBAAqB,EAAE,oDAAoD;aAC3E,kBAAkB,EAAE,+GAA+G;aACnI,oBAAoB,EAAE,sFAAsF;aAC5G,uBAAuB,EAAE,kEAAkE;aAC3F,4BAA4B,EAAE,kIAAkI;aAChK,0BAA0B,EAAE,sEAAsE;aAClG,oBAAoB,EAAE,mLAAmL;aACzM,sBAAsB,EAAE,8MAA8M;aACtO,qBAAqB,EAAE,sFAAsF;aAE7G,cAAc,EAAE,iCAAiC;aACjD,kBAAkB,EAAE,sDAAsD;CAClE,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC;AAE9C,mDAAmD;AACnD,eAAO,MAAM,YAAY,EAA2B,UAAU,EAAE,CAAC;AAEjE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,MAAM,IAAI,MAAM,EAAE,CAAC;AAEtD,eAAO,MAAM,WAAW,QAAkD,CAAC;AAE3E,2HAA2H;AAC3H,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAI/E"}
|
|
@@ -48,6 +48,18 @@ export const REASONS = {
|
|
|
48
48
|
"command-failed": "The member's own command exited with a failure, or the lexicon that reads the member through its kind's graph block isn't installed where the workspace resolves its pin.",
|
|
49
49
|
"output-unreadable": "The member's command printed something that isn't the document asked for.",
|
|
50
50
|
"ir-version-unsupported": "The member's IR has a version this chant can't read.",
|
|
51
|
+
// search and workspace search (#4374): why no answer was printed, and why a member has none.
|
|
52
|
+
"query-invalid": "search was given no query, a term its grammar can't parse, or a --count-by that is not a grouping.",
|
|
53
|
+
"usage-invalid": "search was given a flag that needs another one it lacks, or two that don't go together, such as --check-live without --snapshot.",
|
|
54
|
+
"environment-unknown": "--env names an environment the project's chant config does not declare.",
|
|
55
|
+
"snapshot-unavailable": "--snapshot names a snapshot chant can't replay: none is recorded for the environment, or the ref is one replay does not take.",
|
|
56
|
+
"build-failed": "The project's build, or one of its build roots, failed, so the graph search would answer over is incomplete.",
|
|
57
|
+
"snapshot-at-revision": "workspace search was given --snapshot and --at: a snapshot replays the estate as recorded over the source in the working tree, not at a revision.",
|
|
58
|
+
"member-chant-too-old": "The member's chant predates the document asked for: it has no such command, or prints it without the read contract.",
|
|
59
|
+
// the capabilities catalog (#4375): why a lexicon can't supply a capability.
|
|
60
|
+
"lexicon-has-no-mapping": "The lexicon ships no capability mapping, so no capability rule can read its resources.",
|
|
61
|
+
"capability-not-derivable": "The lexicon's capability mapping labels none of the kinds the capability's rule needs.",
|
|
62
|
+
"lexicon-not-loaded": "The lexicon isn't installed where the chant that wrote the catalog runs, so its mapping wasn't read.",
|
|
51
63
|
// A ledger status can't fully read.
|
|
52
64
|
"ledger-unreadable": "Reading the ledger failed, so nothing from it is listed.",
|
|
53
65
|
"ledger-malformed": "Some lines of the ledger aren't release records; the rest are listed.",
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chant workspace search <query> [--member <name>] [--env <name>]
|
|
3
|
+
* [--snapshot <ref> | --live] [--at <rev>] [--explain] [--count-by ...]
|
|
4
|
+
* [--show a,b] [--json]` (#4374): `chant search` over every member of a
|
|
5
|
+
* declared workspace, as one `search` document of the read contract.
|
|
6
|
+
*
|
|
7
|
+
* Members are read the way `chant workspace graph` reads them, through the same
|
|
8
|
+
* fan-out (`readMembers` in `graph-cli.ts`): the same plan, each member under
|
|
9
|
+
* its own chant (ws-021), one process per toolchain, `--at <rev>` from an
|
|
10
|
+
* export of the tree at that commit, and a member of a package's kind in its
|
|
11
|
+
* reader project. Each member runs its own `chant search ... --json`, so the
|
|
12
|
+
* terms evaluate in the member, under the member's chant, over the graph that
|
|
13
|
+
* member's `chant graph` draws. Ids are then `<member>/<id>`, the rule
|
|
14
|
+
* `workspace graph` composes with (`composedId`), so a row names the node the
|
|
15
|
+
* graph names.
|
|
16
|
+
*
|
|
17
|
+
* Each member's answer stands alone: a path that crosses from one member into
|
|
18
|
+
* another is not walked, and every searched member says so with `alone: true`.
|
|
19
|
+
* A member that could not be searched is listed with a reason code and no
|
|
20
|
+
* answer, never as zero matches. Members are stamped by the rule of ws-059.
|
|
21
|
+
*
|
|
22
|
+
* A query with a capability term is the exception: its rules run once over
|
|
23
|
+
* the composed graph, each member mapped by its own chant (#4375, #4378;
|
|
24
|
+
* `composedCapabilitySearch` below).
|
|
25
|
+
*
|
|
26
|
+
* Two times stay apart. `--at <rev>` is the git revision, as for every
|
|
27
|
+
* contract read, and the document's `at` is that commit. `--snapshot <ref>`
|
|
28
|
+
* replays a recorded lifecycle snapshot, and `source.snapshot` names it. The
|
|
29
|
+
* two are not taken together, and `--at` given a snapshot ref such as
|
|
30
|
+
* `latest` is refused with a hint naming `--snapshot`.
|
|
31
|
+
*/
|
|
32
|
+
import type { CommandContext, ParsedArgs } from "../cli/registry.js";
|
|
33
|
+
import type { Toolchain, UnitResult } from "./member-commands.js";
|
|
34
|
+
import { type SearchErrorCode, type SearchHead, type SearchMemberReasonCode, type WorkspaceSearchErrorCode } from "./search-contract.js";
|
|
35
|
+
/** The flags of `chant search` a member gets as they were given. */
|
|
36
|
+
type SearchFlags = Pick<Partial<ParsedArgs>, "env" | "snapshot" | "live" | "ambient" | "explain" | "countBy" | "show" | "checkLive" | "checkSnapshot" | "failOnDrift">;
|
|
37
|
+
export interface WorkspaceSearchQuery {
|
|
38
|
+
/** Where the walk up to the declaration starts. */
|
|
39
|
+
cwd: string;
|
|
40
|
+
query: string;
|
|
41
|
+
/** The git revision to search the source at (`--at`). */
|
|
42
|
+
at?: string;
|
|
43
|
+
/** Only these members. */
|
|
44
|
+
members?: string[];
|
|
45
|
+
flags?: SearchFlags;
|
|
46
|
+
/** The chant for members with none of their own; the running chant by default. */
|
|
47
|
+
reader?: Toolchain;
|
|
48
|
+
/** Called with each member's stderr. */
|
|
49
|
+
onStderr?: (text: string) => void;
|
|
50
|
+
}
|
|
51
|
+
/** A row as a member's `chant search --json` prints it. */
|
|
52
|
+
interface MemberMatch {
|
|
53
|
+
id: string;
|
|
54
|
+
displayId: string;
|
|
55
|
+
kind?: string;
|
|
56
|
+
physicalId?: string;
|
|
57
|
+
unobserved?: string;
|
|
58
|
+
show?: Record<string, unknown>;
|
|
59
|
+
paths: {
|
|
60
|
+
term: string;
|
|
61
|
+
dir: "out" | "in";
|
|
62
|
+
hops: {
|
|
63
|
+
from: string;
|
|
64
|
+
fromAttr?: string;
|
|
65
|
+
to: string;
|
|
66
|
+
toAttr?: string;
|
|
67
|
+
edge?: string;
|
|
68
|
+
}[];
|
|
69
|
+
/** On a `cap:` term (#4375): the sets the match relied on, each with its path. */
|
|
70
|
+
because?: {
|
|
71
|
+
capability: string;
|
|
72
|
+
id: string;
|
|
73
|
+
hops: {
|
|
74
|
+
from: string;
|
|
75
|
+
to: string;
|
|
76
|
+
}[];
|
|
77
|
+
}[];
|
|
78
|
+
}[];
|
|
79
|
+
}
|
|
80
|
+
/** The answer of one member's `chant search --json`, rows or groups. */
|
|
81
|
+
interface MemberAnswer {
|
|
82
|
+
query: string;
|
|
83
|
+
source: Record<string, unknown>;
|
|
84
|
+
matches?: MemberMatch[];
|
|
85
|
+
countBy?: string;
|
|
86
|
+
groups?: {
|
|
87
|
+
group: string;
|
|
88
|
+
count: number;
|
|
89
|
+
ids?: string[];
|
|
90
|
+
}[];
|
|
91
|
+
total?: number;
|
|
92
|
+
provenance?: string;
|
|
93
|
+
liveFailures?: string[];
|
|
94
|
+
explain?: {
|
|
95
|
+
universe: {
|
|
96
|
+
matched: number;
|
|
97
|
+
of: number;
|
|
98
|
+
kinds: string[];
|
|
99
|
+
};
|
|
100
|
+
evidence: {
|
|
101
|
+
id: string;
|
|
102
|
+
attr: string;
|
|
103
|
+
via: string;
|
|
104
|
+
}[];
|
|
105
|
+
nearMisses: {
|
|
106
|
+
id: string;
|
|
107
|
+
fails?: string;
|
|
108
|
+
}[];
|
|
109
|
+
moreExcluded: number;
|
|
110
|
+
};
|
|
111
|
+
drift?: Record<string, unknown>;
|
|
112
|
+
}
|
|
113
|
+
export interface SearchMember {
|
|
114
|
+
name: string;
|
|
115
|
+
dir: string;
|
|
116
|
+
kind: string;
|
|
117
|
+
/** `searched` when the member answered, `skipped` when its kind isn't run, `failed` when it has no answer. */
|
|
118
|
+
status: "searched" | "skipped" | "failed";
|
|
119
|
+
reason: {
|
|
120
|
+
code: SearchMemberReasonCode;
|
|
121
|
+
message: string;
|
|
122
|
+
} | null;
|
|
123
|
+
/** The chant version that read the member, when its toolchain said. */
|
|
124
|
+
chant: string | null;
|
|
125
|
+
/** The member's stamp, by the rule of ws-059, or null. */
|
|
126
|
+
stamp: string | null;
|
|
127
|
+
/** On a searched member: its terms and paths saw only its own graph. */
|
|
128
|
+
alone?: true;
|
|
129
|
+
source?: Record<string, unknown>;
|
|
130
|
+
/** The member's matched ids, `<member>/<id>`. */
|
|
131
|
+
matches?: string[];
|
|
132
|
+
groups?: {
|
|
133
|
+
group: string;
|
|
134
|
+
count: number;
|
|
135
|
+
ids?: string[];
|
|
136
|
+
}[];
|
|
137
|
+
total?: number;
|
|
138
|
+
provenance?: string;
|
|
139
|
+
liveFailures?: string[];
|
|
140
|
+
explain?: MemberAnswer["explain"];
|
|
141
|
+
drift?: Record<string, unknown>;
|
|
142
|
+
}
|
|
143
|
+
interface WorkspaceHead extends SearchHead {
|
|
144
|
+
workspace: {
|
|
145
|
+
name: string;
|
|
146
|
+
root: string;
|
|
147
|
+
};
|
|
148
|
+
/** The commit searched, or null for the working tree. */
|
|
149
|
+
at: string | null;
|
|
150
|
+
query: string;
|
|
151
|
+
/** Which observation answered: `declared`, `live` or `snapshot`, with `env` and the `snapshot` ref asked for. */
|
|
152
|
+
source: {
|
|
153
|
+
kind: "declared" | "live" | "snapshot";
|
|
154
|
+
env?: string;
|
|
155
|
+
snapshot?: string;
|
|
156
|
+
};
|
|
157
|
+
members: SearchMember[];
|
|
158
|
+
}
|
|
159
|
+
export type WorkspaceSearchDocument = (WorkspaceHead & {
|
|
160
|
+
matches: (MemberMatch & {
|
|
161
|
+
member: string;
|
|
162
|
+
})[];
|
|
163
|
+
}) | (WorkspaceHead & {
|
|
164
|
+
countBy: string;
|
|
165
|
+
groups: {
|
|
166
|
+
group: string;
|
|
167
|
+
count: number;
|
|
168
|
+
ids?: string[];
|
|
169
|
+
}[];
|
|
170
|
+
total: number;
|
|
171
|
+
}) | (SearchHead & {
|
|
172
|
+
query: string;
|
|
173
|
+
error: {
|
|
174
|
+
code: WorkspaceSearchErrorCode | SearchErrorCode;
|
|
175
|
+
message: string;
|
|
176
|
+
hint?: string;
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
export interface WorkspaceSearchResult {
|
|
180
|
+
doc: WorkspaceSearchDocument;
|
|
181
|
+
/** The search was refused, or a member failed, had a failed live read, or failed its drift check. */
|
|
182
|
+
failed: boolean;
|
|
183
|
+
}
|
|
184
|
+
/** The command line each member runs: its own `chant search`, the query after `--` so one opening with `-` stays a query. */
|
|
185
|
+
export declare function memberSearchArgv(query: string, flags?: SearchFlags): string[];
|
|
186
|
+
/**
|
|
187
|
+
* Read one member's run: its answer, or why it has none. A chant that prints
|
|
188
|
+
* no `search` document of the contract is `member-chant-too-old` when it
|
|
189
|
+
* predates `workspace member-run`, says it has no such command or flag, or
|
|
190
|
+
* prints `search --json` from before the contract (no `contract` field).
|
|
191
|
+
*/
|
|
192
|
+
export declare function readMemberSearch(r: Pick<UnitResult, "exitCode" | "stdout" | "stderr" | "chant">): {
|
|
193
|
+
answer: MemberAnswer;
|
|
194
|
+
} | {
|
|
195
|
+
reason: {
|
|
196
|
+
code: SearchMemberReasonCode;
|
|
197
|
+
message: string;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
/** Search every member and compose the document. Never throws a {@link WorkspaceReadError}. */
|
|
201
|
+
export declare function workspaceSearch(q: WorkspaceSearchQuery): Promise<WorkspaceSearchResult>;
|
|
202
|
+
export declare function runWorkspaceSearch(ctx: CommandContext): Promise<number>;
|
|
203
|
+
export {};
|
|
204
|
+
//# sourceMappingURL=search-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-cli.d.ts","sourceRoot":"","sources":["../../src/workspace/search-cli.ts"],"names":[],"mappings":"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"}
|