@intentius/chant 0.124.45 → 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/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +1 -0
- 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.map +1 -1
- package/dist/cli/handlers/pr-env.js +2 -1
- 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/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 +5 -21
- package/dist/components/pr-env-run.d.ts.map +1 -1
- package/dist/components/pr-env-run.js +6 -70
- package/dist/components/pr-environment.d.ts +2 -1
- package/dist/components/pr-environment.d.ts.map +1 -1
- package/dist/components/pr-environment.js +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/wave-runtime.mjs +250 -249
- 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/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/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/cli/commands/lint.ts +1 -0
- 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 +1 -2
- 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/pr-env-ports.ts +89 -0
- package/src/components/pr-env-run-bundle.test.ts +54 -0
- package/src/components/pr-env-run.ts +5 -76
- package/src/components/pr-environment.ts +2 -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/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/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/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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `capabilities` document of the read contract (#4375, ws-017): the
|
|
3
|
+
* capability catalog `chant search` answers `cap:` terms with, described by
|
|
4
|
+
* `capabilities.schema.json` beside this file.
|
|
5
|
+
*
|
|
6
|
+
* `chant search --capabilities --json` prints it for one project, with a
|
|
7
|
+
* support statement for each lexicon the project loads. `chant workspace
|
|
8
|
+
* search --capabilities --json` prints it from the workspace root's chant,
|
|
9
|
+
* for every lexicon a member loads (a terraform member's reader lexicon
|
|
10
|
+
* included, #4380): capability rules run once, under
|
|
11
|
+
* the workspace's chant, so the catalog is that chant's. chant's MCP
|
|
12
|
+
* `capabilities` tool returns whichever of the two applies where the server
|
|
13
|
+
* runs, unchanged.
|
|
14
|
+
*/
|
|
15
|
+
import type { CapabilityEntry } from "../capabilities/catalog.js";
|
|
16
|
+
/** The version of the `capabilities` document this chant writes. */
|
|
17
|
+
export declare const CAPABILITIES_CONTRACT_VERSION = 1;
|
|
18
|
+
/** `$id` of the JSON Schema for the document, shipped beside this file. */
|
|
19
|
+
export declare const CAPABILITIES_OUTPUT_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/capabilities/v1/capabilities.schema.json";
|
|
20
|
+
/** Why no catalog was printed. */
|
|
21
|
+
export declare const CAPABILITIES_ERROR_CODES: readonly ["usage-invalid"];
|
|
22
|
+
export type CapabilitiesErrorCode = (typeof CAPABILITIES_ERROR_CODES)[number];
|
|
23
|
+
/** Why a lexicon can't supply a capability. */
|
|
24
|
+
export declare const CAPABILITY_SUPPORT_CODES: readonly ["lexicon-has-no-mapping", "capability-not-derivable", "lexicon-not-loaded"];
|
|
25
|
+
interface CapabilitiesHead {
|
|
26
|
+
$schema: typeof CAPABILITIES_OUTPUT_SCHEMA_ID;
|
|
27
|
+
contract: typeof CAPABILITIES_CONTRACT_VERSION;
|
|
28
|
+
/** The chant that wrote the document. */
|
|
29
|
+
chant: string;
|
|
30
|
+
}
|
|
31
|
+
export interface CapabilitiesResult extends CapabilitiesHead {
|
|
32
|
+
capabilities: CapabilityEntry[];
|
|
33
|
+
helpers: {
|
|
34
|
+
name: string;
|
|
35
|
+
rule: string;
|
|
36
|
+
}[];
|
|
37
|
+
}
|
|
38
|
+
export interface CapabilitiesFailure extends CapabilitiesHead {
|
|
39
|
+
error: {
|
|
40
|
+
code: CapabilitiesErrorCode;
|
|
41
|
+
message: string;
|
|
42
|
+
hint?: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export type CapabilitiesDocument = CapabilitiesResult | CapabilitiesFailure;
|
|
46
|
+
/**
|
|
47
|
+
* The catalog, with a support statement for each lexicon named. Each is
|
|
48
|
+
* loaded on its own, so one that isn't installed is said to be, and the rest
|
|
49
|
+
* still read.
|
|
50
|
+
*/
|
|
51
|
+
export declare function capabilitiesDocument(lexicons: string[], load?: (name: string) => Promise<{
|
|
52
|
+
capabilityPack?: {
|
|
53
|
+
mapping: unknown;
|
|
54
|
+
};
|
|
55
|
+
}>): Promise<CapabilitiesResult>;
|
|
56
|
+
export declare function capabilitiesFailure(error: CapabilitiesFailure["error"]): Promise<CapabilitiesFailure>;
|
|
57
|
+
/**
|
|
58
|
+
* The lexicons the members of the workspace at `cwd` load, for its catalog:
|
|
59
|
+
* each chant member's own, and for a member of a package's kind, such as
|
|
60
|
+
* `terraform`, the lexicon its reader project declares (#4380).
|
|
61
|
+
*/
|
|
62
|
+
export declare function workspaceLexicons(cwd: string): Promise<string[]>;
|
|
63
|
+
/** The catalog as text: one capability per line, its search term and meaning, then its parameters. */
|
|
64
|
+
export declare function formatCapabilities(doc: CapabilitiesResult): string[];
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=capabilities-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities-contract.d.ts","sourceRoot":"","sources":["../../src/workspace/capabilities-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,0FAA0F,CAAC;AAErI,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,4BAA6D,CAAC;AACnG,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,+CAA+C;AAC/C,eAAO,MAAM,wBAAwB,uFAAwH,CAAC;AAE9J,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,QAAQ,EAAE,OAAO,6BAA6B,CAAC;IAC/C,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,KAAK,EAAE;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAO5E;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GAC1E,OAAO,CAAC,kBAAkB,CAAC,CAoB7B;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE3G;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBtE;AAED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAYpE"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `capabilities` document of the read contract (#4375, ws-017): the
|
|
3
|
+
* capability catalog `chant search` answers `cap:` terms with, described by
|
|
4
|
+
* `capabilities.schema.json` beside this file.
|
|
5
|
+
*
|
|
6
|
+
* `chant search --capabilities --json` prints it for one project, with a
|
|
7
|
+
* support statement for each lexicon the project loads. `chant workspace
|
|
8
|
+
* search --capabilities --json` prints it from the workspace root's chant,
|
|
9
|
+
* for every lexicon a member loads (a terraform member's reader lexicon
|
|
10
|
+
* included, #4380): capability rules run once, under
|
|
11
|
+
* the workspace's chant, so the catalog is that chant's. chant's MCP
|
|
12
|
+
* `capabilities` tool returns whichever of the two applies where the server
|
|
13
|
+
* runs, unchanged.
|
|
14
|
+
*/
|
|
15
|
+
import { resolve } from "node:path";
|
|
16
|
+
/** The version of the `capabilities` document this chant writes. */
|
|
17
|
+
export const CAPABILITIES_CONTRACT_VERSION = 1;
|
|
18
|
+
/** `$id` of the JSON Schema for the document, shipped beside this file. */
|
|
19
|
+
export const CAPABILITIES_OUTPUT_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/capabilities/v1/capabilities.schema.json";
|
|
20
|
+
/** Why no catalog was printed. */
|
|
21
|
+
export const CAPABILITIES_ERROR_CODES = ["usage-invalid"];
|
|
22
|
+
/** Why a lexicon can't supply a capability. */
|
|
23
|
+
export const CAPABILITY_SUPPORT_CODES = ["lexicon-has-no-mapping", "capability-not-derivable", "lexicon-not-loaded"];
|
|
24
|
+
async function head() {
|
|
25
|
+
const { readChantPackageVersion } = await import("../package-version.js");
|
|
26
|
+
return { $schema: CAPABILITIES_OUTPUT_SCHEMA_ID, contract: CAPABILITIES_CONTRACT_VERSION, chant: readChantPackageVersion() };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The catalog, with a support statement for each lexicon named. Each is
|
|
30
|
+
* loaded on its own, so one that isn't installed is said to be, and the rest
|
|
31
|
+
* still read.
|
|
32
|
+
*/
|
|
33
|
+
export async function capabilitiesDocument(lexicons, load) {
|
|
34
|
+
const loadPlugin = load ?? (await import("../cli/plugins.js")).loadPlugin;
|
|
35
|
+
const { capabilityCatalog } = await import("../capabilities/catalog.js");
|
|
36
|
+
const mappings = {};
|
|
37
|
+
const notLoaded = [];
|
|
38
|
+
for (const name of [...new Set(lexicons)].sort()) {
|
|
39
|
+
try {
|
|
40
|
+
mappings[name] = (await loadPlugin(name)).capabilityPack?.mapping;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
notLoaded.push(name);
|
|
44
|
+
mappings[name] = undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const catalog = capabilityCatalog(mappings);
|
|
48
|
+
for (const c of catalog.capabilities) {
|
|
49
|
+
for (const name of notLoaded) {
|
|
50
|
+
c.lexicons[name] = { code: "lexicon-not-loaded", message: `the ${name} lexicon isn't installed where this chant runs, so its mapping wasn't read` };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return { ...(await head()), ...catalog };
|
|
54
|
+
}
|
|
55
|
+
export async function capabilitiesFailure(error) {
|
|
56
|
+
return { ...(await head()), error };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The lexicons the members of the workspace at `cwd` load, for its catalog:
|
|
60
|
+
* each chant member's own, and for a member of a package's kind, such as
|
|
61
|
+
* `terraform`, the lexicon its reader project declares (#4380).
|
|
62
|
+
*/
|
|
63
|
+
export async function workspaceLexicons(cwd) {
|
|
64
|
+
const { listWorkspace } = await import("./ls.js");
|
|
65
|
+
const { findWorkspaceRoot } = await import("../project-root.js");
|
|
66
|
+
const { resolveProjectLexicons } = await import("../cli/plugins.js");
|
|
67
|
+
const { loadKindRegistry } = await import("./kinds.js");
|
|
68
|
+
const located = findWorkspaceRoot(cwd);
|
|
69
|
+
const doc = listWorkspace({ cwd });
|
|
70
|
+
if (!located || "error" in doc)
|
|
71
|
+
return [];
|
|
72
|
+
const out = new Set();
|
|
73
|
+
const kinds = doc.members.some((m) => m.kind !== "chant" && m.readable) ? loadKindRegistry(doc.workspace.pins, located.dir).registry : undefined;
|
|
74
|
+
for (const m of doc.members) {
|
|
75
|
+
if (!m.readable)
|
|
76
|
+
continue;
|
|
77
|
+
const reader = m.kind === "chant" ? undefined : kinds?.get(m.kind)?.graph?.lexicon;
|
|
78
|
+
if (reader)
|
|
79
|
+
out.add(reader);
|
|
80
|
+
if (m.kind !== "chant")
|
|
81
|
+
continue;
|
|
82
|
+
try {
|
|
83
|
+
for (const l of await resolveProjectLexicons(resolve(located.dir, m.dir)))
|
|
84
|
+
out.add(l);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// A member whose lexicons can't be resolved adds none; its own search says why.
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return [...out];
|
|
91
|
+
}
|
|
92
|
+
/** The catalog as text: one capability per line, its search term and meaning, then its parameters. */
|
|
93
|
+
export function formatCapabilities(doc) {
|
|
94
|
+
const width = Math.max(...doc.capabilities.map((c) => c.search.length));
|
|
95
|
+
const lines = [];
|
|
96
|
+
for (const c of doc.capabilities) {
|
|
97
|
+
lines.push(`${c.search.padEnd(width)} ${c.shape.padEnd(4)} ${c.meaning}`);
|
|
98
|
+
for (const p of c.params)
|
|
99
|
+
lines.push(`${"".padEnd(width)} ${p.name}${p.optional ? "?" : ""}: ${p.meaning}`);
|
|
100
|
+
const unsupported = Object.entries(c.lexicons).filter(([, s]) => s !== "supported");
|
|
101
|
+
for (const [lex, s] of unsupported)
|
|
102
|
+
lines.push(`${"".padEnd(width)} not in ${lex}: ${s.message}`);
|
|
103
|
+
}
|
|
104
|
+
const lexicons = Object.keys(doc.capabilities[0]?.lexicons ?? {});
|
|
105
|
+
lines.push(`— ${doc.capabilities.length} capabilities${lexicons.length ? ` · lexicons ${lexicons.join(", ")}` : ""} · --json prints each rule`);
|
|
106
|
+
return lines;
|
|
107
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://intentius.io/chant/schemas/workspace/capabilities/v1/capabilities.schema.json",
|
|
4
|
+
"title": "chant capabilities catalog",
|
|
5
|
+
"description": "What `chant search --capabilities --json` prints (#4375): the capability catalog `chant search` answers `cap:` terms and `->[cap=...]` edges with, each capability's rule, and whether each lexicon the project loads can supply it. chant's MCP `capabilities` tool returns the same document. Version 1 of the read contract. Readers ignore fields they do not know; a field is only ever added within a version. The codes are a closed list, each in the one closed list of `reason-codes.ts`. Contract version 1 of this document is written by chant 0.124.46 and newer; the read contract as a whole by chant 0.81.0 and newer.",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "#/$defs/result"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"$ref": "#/$defs/failure"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"$defs": {
|
|
15
|
+
"result": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"description": "Exit code 0.",
|
|
18
|
+
"required": [
|
|
19
|
+
"$schema",
|
|
20
|
+
"contract",
|
|
21
|
+
"chant",
|
|
22
|
+
"capabilities",
|
|
23
|
+
"helpers"
|
|
24
|
+
],
|
|
25
|
+
"properties": {
|
|
26
|
+
"$schema": {
|
|
27
|
+
"const": "https://intentius.io/chant/schemas/workspace/capabilities/v1/capabilities.schema.json"
|
|
28
|
+
},
|
|
29
|
+
"contract": {
|
|
30
|
+
"const": 1
|
|
31
|
+
},
|
|
32
|
+
"chant": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"error": false,
|
|
36
|
+
"capabilities": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"description": "Every capability the catalog lists, in the order the rule file defines them.",
|
|
39
|
+
"items": {
|
|
40
|
+
"$ref": "#/$defs/capability"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"helpers": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"description": "Rules the capabilities use that the catalog does not list as capabilities of their own.",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"required": [
|
|
49
|
+
"name",
|
|
50
|
+
"rule"
|
|
51
|
+
],
|
|
52
|
+
"properties": {
|
|
53
|
+
"name": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
},
|
|
56
|
+
"rule": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"capability": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"required": [
|
|
67
|
+
"name",
|
|
68
|
+
"meaning",
|
|
69
|
+
"shape",
|
|
70
|
+
"params",
|
|
71
|
+
"search",
|
|
72
|
+
"answers",
|
|
73
|
+
"depth",
|
|
74
|
+
"lexicons",
|
|
75
|
+
"notEvaluated",
|
|
76
|
+
"uses",
|
|
77
|
+
"rule"
|
|
78
|
+
],
|
|
79
|
+
"properties": {
|
|
80
|
+
"name": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"pattern": "^[a-z][a-z0-9-]*$"
|
|
83
|
+
},
|
|
84
|
+
"meaning": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "What the capability says, in one line."
|
|
87
|
+
},
|
|
88
|
+
"shape": {
|
|
89
|
+
"enum": [
|
|
90
|
+
"set",
|
|
91
|
+
"edge"
|
|
92
|
+
],
|
|
93
|
+
"description": "set: a set of nodes, tested with cap:<name>. edge: pairs of nodes, walked with ->[cap=<name>] or <-[cap=<name>]."
|
|
94
|
+
},
|
|
95
|
+
"params": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"description": "Arguments, in order: cap:<name>(<a>, <b>). An optional one left out drops the test that reads it.",
|
|
98
|
+
"items": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"required": [
|
|
101
|
+
"name",
|
|
102
|
+
"optional",
|
|
103
|
+
"meaning"
|
|
104
|
+
],
|
|
105
|
+
"properties": {
|
|
106
|
+
"name": {
|
|
107
|
+
"type": "string"
|
|
108
|
+
},
|
|
109
|
+
"optional": {
|
|
110
|
+
"type": "boolean"
|
|
111
|
+
},
|
|
112
|
+
"meaning": {
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"search": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "The search term that asks for it: cap:<name> for a set, ->[cap=<name>] for an edge."
|
|
121
|
+
},
|
|
122
|
+
"answers": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"description": "Questions it serves, in people's words.",
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "string"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"depth": {
|
|
130
|
+
"enum": [
|
|
131
|
+
"declared",
|
|
132
|
+
"live",
|
|
133
|
+
"either"
|
|
134
|
+
],
|
|
135
|
+
"description": "Which observation can supply its facts: declared source, a live read or snapshot, or either."
|
|
136
|
+
},
|
|
137
|
+
"lexicons": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"description": "Each lexicon the project loads: supported, or why it can't supply the capability.",
|
|
140
|
+
"additionalProperties": {
|
|
141
|
+
"oneOf": [
|
|
142
|
+
{
|
|
143
|
+
"const": "supported"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"type": "object",
|
|
147
|
+
"required": [
|
|
148
|
+
"code",
|
|
149
|
+
"message"
|
|
150
|
+
],
|
|
151
|
+
"properties": {
|
|
152
|
+
"code": {
|
|
153
|
+
"enum": [
|
|
154
|
+
"lexicon-has-no-mapping",
|
|
155
|
+
"capability-not-derivable",
|
|
156
|
+
"lexicon-not-loaded"
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"message": {
|
|
160
|
+
"type": "string"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"notEvaluated": {
|
|
168
|
+
"type": "array",
|
|
169
|
+
"description": "What the rule leaves out. chant search prints this under every answer that uses the capability.",
|
|
170
|
+
"items": {
|
|
171
|
+
"type": "string"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"uses": {
|
|
175
|
+
"type": "array",
|
|
176
|
+
"description": "The capabilities and helpers its rule refers to.",
|
|
177
|
+
"items": {
|
|
178
|
+
"type": "string"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"rule": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "The rule as written, one alternative per line."
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"failure": {
|
|
188
|
+
"type": "object",
|
|
189
|
+
"description": "Exit code 1.",
|
|
190
|
+
"required": [
|
|
191
|
+
"$schema",
|
|
192
|
+
"contract",
|
|
193
|
+
"chant",
|
|
194
|
+
"error"
|
|
195
|
+
],
|
|
196
|
+
"properties": {
|
|
197
|
+
"$schema": {
|
|
198
|
+
"const": "https://intentius.io/chant/schemas/workspace/capabilities/v1/capabilities.schema.json"
|
|
199
|
+
},
|
|
200
|
+
"contract": {
|
|
201
|
+
"const": 1
|
|
202
|
+
},
|
|
203
|
+
"chant": {
|
|
204
|
+
"type": "string"
|
|
205
|
+
},
|
|
206
|
+
"error": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"required": [
|
|
209
|
+
"code",
|
|
210
|
+
"message"
|
|
211
|
+
],
|
|
212
|
+
"properties": {
|
|
213
|
+
"code": {
|
|
214
|
+
"enum": [
|
|
215
|
+
"usage-invalid"
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
"message": {
|
|
219
|
+
"type": "string"
|
|
220
|
+
},
|
|
221
|
+
"hint": {
|
|
222
|
+
"type": "string"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
@@ -39,6 +39,7 @@ import { type LinkTableRow } from "./links.js";
|
|
|
39
39
|
import type { KindLinkRead } from "./kind-link-readers.js";
|
|
40
40
|
import type { RecordLinkRow } from "./record-assets.js";
|
|
41
41
|
import { type GraphIR, type IRExport, type IRDanglingRef, type IRGroups, type IRImport, type IREdge, type IRNode } from "../graph-ir.js";
|
|
42
|
+
import type { ViewDocument } from "../capabilities/view.js";
|
|
42
43
|
/** The version of the composed document `chant workspace graph` writes. */
|
|
43
44
|
export declare const WORKSPACE_GRAPH_VERSION = 1;
|
|
44
45
|
/**
|
|
@@ -87,6 +88,12 @@ export interface ComposedMember {
|
|
|
87
88
|
factory: FactoryView | null;
|
|
88
89
|
listing: ListingView | null;
|
|
89
90
|
} | null;
|
|
91
|
+
/**
|
|
92
|
+
* With `--capability-view` (#4378): the lexicon-neutral view the member's
|
|
93
|
+
* own chant mapped through its own lexicons, with `<member>/<id>` ids. null
|
|
94
|
+
* when the member's chant predates the view and printed none.
|
|
95
|
+
*/
|
|
96
|
+
capabilityView?: ViewDocument | null;
|
|
90
97
|
/** Whole-read facts the member's IR carried (`meta`, `pipeline`), kept apart from the composed sections. */
|
|
91
98
|
meta?: Record<string, unknown>;
|
|
92
99
|
pipeline?: unknown;
|
|
@@ -217,6 +224,8 @@ export interface ComposeInput {
|
|
|
217
224
|
/** Present for a member whose IR was read. */
|
|
218
225
|
ir?: GraphIR;
|
|
219
226
|
}
|
|
227
|
+
/** A member's node id as the composed workspace documents give it: `<member>/<id>`. `workspace search` uses the same rule (#4374). */
|
|
228
|
+
export declare const composedId: (member: string, id: string) => string;
|
|
220
229
|
/** The groups whose keys name something inside one member, so are prefixed with it. */
|
|
221
230
|
export declare const SCOPED_GROUPS: readonly ["byStack", "byContainer", "byWave", "byPipeline"];
|
|
222
231
|
/** The order the composed `dangling` list is sorted in. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/compose-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAoB,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"compose-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/compose-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,9 @@ export function readMemberIr(text) {
|
|
|
86
86
|
ir.groups ?? (ir.groups = {});
|
|
87
87
|
return { ir, irVersion: printed === undefined ? null : printed };
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
/** A member's node id as the composed workspace documents give it: `<member>/<id>`. `workspace search` uses the same rule (#4374). */
|
|
90
|
+
export const composedId = (member, id) => `${member}/${id}`;
|
|
91
|
+
const prefix = composedId;
|
|
90
92
|
const strings = (v) => (Array.isArray(v) ? v.filter((x) => typeof x === "string") : []);
|
|
91
93
|
const records = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "object" && x !== null) : [];
|
|
92
94
|
/**
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* checkout does, often nothing uncommitted.
|
|
46
46
|
*/
|
|
47
47
|
/** The read-contract commands, as a reader names them. */
|
|
48
|
-
export declare const READ_CONTRACT_COMMANDS: readonly ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs", "wip"];
|
|
48
|
+
export declare const READ_CONTRACT_COMMANDS: readonly ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs", "wip", "search", "search --capabilities"];
|
|
49
49
|
export type ReadContractCommand = (typeof READ_CONTRACT_COMMANDS)[number];
|
|
50
50
|
/**
|
|
51
51
|
* Each command's output schema, beside this module's parent in `src/workspace/`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAYH,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,YAAI,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/conformance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
54
54
|
import { isDeepStrictEqual } from "node:util";
|
|
55
55
|
import { READ_CONTRACT_VERSION } from "../reason-codes.js";
|
|
56
56
|
/** The read-contract commands, as a reader names them. */
|
|
57
|
-
export const READ_CONTRACT_COMMANDS = ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs", "wip"];
|
|
57
|
+
export const READ_CONTRACT_COMMANDS = ["ls", "graph", "check", "status", "records", "records --uncommitted", "graph --intent", "graph --composites", "runs", "wip", "search", "search --capabilities"];
|
|
58
58
|
/**
|
|
59
59
|
* Each command's output schema, beside this module's parent in `src/workspace/`.
|
|
60
60
|
* The write commands' schemas (`records-new`, `records-amend`,
|
|
@@ -71,6 +71,10 @@ export const READ_CONTRACT_SCHEMAS = {
|
|
|
71
71
|
"graph --composites": "composites.schema.json",
|
|
72
72
|
runs: "runs.schema.json",
|
|
73
73
|
wip: "wip.schema.json",
|
|
74
|
+
// `workspace search` (#4374). Plain `chant search --json` prints the same document for one project.
|
|
75
|
+
search: "search.schema.json",
|
|
76
|
+
// The capability catalog (#4375), from the workspace's chant.
|
|
77
|
+
"search --capabilities": "capabilities.schema.json",
|
|
74
78
|
};
|
|
75
79
|
/** The flags that ask each command for its JSON document. A reader adds one of these and nothing else. */
|
|
76
80
|
export const READ_CONTRACT_JSON_FLAGS = {
|
|
@@ -84,6 +88,8 @@ export const READ_CONTRACT_JSON_FLAGS = {
|
|
|
84
88
|
"graph --composites": [[], ["--json"]],
|
|
85
89
|
runs: [["--json"]],
|
|
86
90
|
wip: [["--json"]],
|
|
91
|
+
search: [["--json"]],
|
|
92
|
+
"search --capabilities": [["--json"]],
|
|
87
93
|
};
|
|
88
94
|
/** The arguments the suite passes each read, on the reference workspace or the generated one. */
|
|
89
95
|
export const REFERENCE_READS = {
|
|
@@ -97,6 +103,9 @@ export const REFERENCE_READS = {
|
|
|
97
103
|
"graph --composites": [],
|
|
98
104
|
runs: [],
|
|
99
105
|
wip: [],
|
|
106
|
+
// A bare word: on either workspace it searches the chant member, delivery, and lists the others.
|
|
107
|
+
search: ["app"],
|
|
108
|
+
"search --capabilities": [],
|
|
100
109
|
};
|
|
101
110
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
102
111
|
/** The package this module ships in: `packages/core` in the repository, `node_modules/@intentius/chant` when installed. */
|
|
@@ -261,6 +270,8 @@ export const MCP_READ_TOOLS = {
|
|
|
261
270
|
"graph --intent": "workspace-graph",
|
|
262
271
|
"graph --composites": "workspace-graph",
|
|
263
272
|
runs: "workspace-runs",
|
|
273
|
+
search: "workspace-search",
|
|
274
|
+
"search --capabilities": "capabilities",
|
|
264
275
|
};
|
|
265
276
|
/**
|
|
266
277
|
* The tool call that answers `chant <argv>`, a read-contract command with its
|
|
@@ -276,9 +287,14 @@ export function mcpToolCall(argv) {
|
|
|
276
287
|
const args = {};
|
|
277
288
|
const positional = [];
|
|
278
289
|
const kinds = [];
|
|
290
|
+
const members = [];
|
|
279
291
|
for (let i = 0; i < rest.length; i++) {
|
|
280
292
|
const a = rest[i];
|
|
281
293
|
const value = () => rest[++i];
|
|
294
|
+
if (a === "--") {
|
|
295
|
+
positional.push(...rest.slice(i + 1));
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
282
298
|
if (a === "--json")
|
|
283
299
|
continue;
|
|
284
300
|
if (a === "--format" && rest[i + 1] === "json") {
|
|
@@ -313,7 +329,21 @@ export function mcpToolCall(argv) {
|
|
|
313
329
|
args.uncommitted = true;
|
|
314
330
|
else if (a === "--composites")
|
|
315
331
|
args.composites = true;
|
|
316
|
-
else if (a
|
|
332
|
+
else if (verb === "search" && a === "--member")
|
|
333
|
+
members.push(value() ?? "");
|
|
334
|
+
else if (verb === "search" && a === "--env")
|
|
335
|
+
args.env = value();
|
|
336
|
+
else if (verb === "search" && a === "--snapshot")
|
|
337
|
+
args.snapshot = value();
|
|
338
|
+
else if (verb === "search" && a === "--count-by")
|
|
339
|
+
args.countBy = value();
|
|
340
|
+
else if (verb === "search" && a === "--show")
|
|
341
|
+
args.show = value();
|
|
342
|
+
else if (verb === "search" && a === "--explain")
|
|
343
|
+
args.explain = true;
|
|
344
|
+
else if (verb === "search" && a === "--capabilities")
|
|
345
|
+
args.capabilities = true;
|
|
346
|
+
else if (/^-[A-Za-z-]/.test(a))
|
|
317
347
|
return undefined;
|
|
318
348
|
else
|
|
319
349
|
positional.push(a);
|
|
@@ -331,6 +361,13 @@ export function mcpToolCall(argv) {
|
|
|
331
361
|
return positional.length === 0 ? { name: "workspace-graph", arguments: { ...args, ...(kinds.length ? { kind: kinds } : {}) } } : undefined;
|
|
332
362
|
case "runs":
|
|
333
363
|
return positional.length === 0 && kinds.length === 0 ? { name: "workspace-runs", arguments: args } : undefined;
|
|
364
|
+
case "search":
|
|
365
|
+
// The catalog (#4375) is its own tool, and takes nothing.
|
|
366
|
+
if (args.capabilities)
|
|
367
|
+
return positional.length === 0 && Object.keys(args).length === 1 && kinds.length === 0 && members.length === 0 ? { name: "capabilities", arguments: {} } : undefined;
|
|
368
|
+
return positional.length <= 1 && kinds.length === 0
|
|
369
|
+
? { name: "workspace-search", arguments: { ...args, query: positional[0] ?? "", ...(members.length ? { member: members } : {}) } }
|
|
370
|
+
: undefined;
|
|
334
371
|
default:
|
|
335
372
|
return undefined;
|
|
336
373
|
}
|
|
@@ -156,6 +156,14 @@ export interface CacheSplit {
|
|
|
156
156
|
* line whose stamp can be taken end up in `hits` or in `pending`.
|
|
157
157
|
*/
|
|
158
158
|
export declare function splitCached(plan: MemberPlan, args: ParsedArgs, cache: GraphCache, at: string | null, argvFor?: (unit: RunUnit) => string[]): CacheSplit;
|
|
159
|
+
/**
|
|
160
|
+
* Every member unit's stamp, by unit id, by the rule {@link splitCached} keys
|
|
161
|
+
* the cache on (ws-059), with no cache read. A read that is never cached, such
|
|
162
|
+
* as `chant workspace search` (#4374), still stamps its members this way, so a
|
|
163
|
+
* reader compares stamps across documents with one meaning. A unit whose stamp
|
|
164
|
+
* can't be taken is left out.
|
|
165
|
+
*/
|
|
166
|
+
export declare function planStamps(plan: MemberPlan, at: string | null): Map<string, string>;
|
|
159
167
|
/** The plan without the units in `ids`; a toolchain left with no units is dropped. */
|
|
160
168
|
export declare function withoutUnits(plan: MemberPlan, ids: ReadonlySet<string>): MemberPlan;
|
|
161
169
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-cache.d.ts","sourceRoot":"","sources":["../../src/workspace/graph-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/G,gFAAgF;AAChF,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,mHAAmH;AACnH,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAoB,CAAC;AAE3C,gFAAgF;AAChF,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qFAAqF;AACrF,eAAO,MAAM,UAAU,YAAI,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAExE,yFAAyF;AACzF,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAiBpD,CAAC;AAgBF,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEhE;AAMD,MAAM,WAAW,KAAK;IACpB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;CAChB;AAgDD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,EAAE,EAAE,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,GAAG,SAAS,CASjI;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAc3D;AAED,oHAAoH;AACpH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQpG;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK7E;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEhD;AAED,uBAAuB;AACvB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CASxF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CA4B7F;AAyBD,8EAA8E;AAC9E,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,mEAAmE;IACnE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oHAAoH;IACpH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,EAAwC,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"graph-cache.d.ts","sourceRoot":"","sources":["../../src/workspace/graph-cache.ts"],"names":[],"mappings":"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"}
|