@intentius/chant 0.84.0 → 0.86.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/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/resource-handlers.d.ts +2 -1
- package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
- package/dist/cli/mcp/server.d.ts +1 -0
- package/dist/cli/mcp/server.d.ts.map +1 -1
- package/dist/cli/mcp/tools/composites.d.ts +44 -0
- package/dist/cli/mcp/tools/composites.d.ts.map +1 -0
- package/dist/cli/mcp/tools/search.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +13 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +4 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/composite.d.ts +6 -0
- package/dist/composite.d.ts.map +1 -1
- package/dist/lexicon.d.ts +44 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +13 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/contract-repo.d.ts +7 -0
- package/dist/workspace/__fixtures__/contract-repo.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/sessions.d.ts +23 -0
- package/dist/workspace/__fixtures__/sessions.d.ts.map +1 -0
- package/dist/workspace/checks/records.d.ts +1 -0
- package/dist/workspace/checks/records.d.ts.map +1 -1
- package/dist/workspace/checks.d.ts +4 -0
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/composites.d.ts +152 -0
- package/dist/workspace/composites.d.ts.map +1 -0
- package/dist/workspace/conformance/index.d.ts +211 -0
- package/dist/workspace/conformance/index.d.ts.map +1 -0
- package/dist/workspace/conformance/vitest.d.ts +11 -0
- package/dist/workspace/conformance/vitest.d.ts.map +1 -0
- package/dist/workspace/declaration.d.ts +28 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.schema.json +40 -0
- package/dist/workspace/declared-kinds.d.ts +43 -0
- package/dist/workspace/declared-kinds.d.ts.map +1 -0
- package/dist/workspace/graph-cli.d.ts +24 -2
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/intent-cli.d.ts +6 -1
- package/dist/workspace/intent-cli.d.ts.map +1 -1
- package/dist/workspace/intent-joins.d.ts +74 -9
- package/dist/workspace/intent-joins.d.ts.map +1 -1
- package/dist/workspace/intent.d.ts +90 -6
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/ls.d.ts +31 -1
- package/dist/workspace/ls.d.ts.map +1 -1
- package/dist/workspace/member-commands.d.ts +7 -2
- package/dist/workspace/member-commands.d.ts.map +1 -1
- package/dist/workspace/reason-codes.d.ts +52 -2
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/record-sessions.d.ts +51 -0
- package/dist/workspace/record-sessions.d.ts.map +1 -0
- package/dist/workspace/record-source.d.ts +2 -0
- package/dist/workspace/record-source.d.ts.map +1 -1
- package/dist/workspace/records-cli.d.ts +65 -4
- package/dist/workspace/records-cli.d.ts.map +1 -1
- package/dist/workspace/records-since.d.ts +90 -0
- package/dist/workspace/records-since.d.ts.map +1 -0
- package/dist/workspace/records-write.d.ts +164 -0
- package/dist/workspace/records-write.d.ts.map +1 -0
- package/dist/workspace/records.d.ts +202 -15
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/runtimes.d.ts +60 -0
- package/dist/workspace/runtimes.d.ts.map +1 -0
- package/dist/workspace/status-gates.d.ts +90 -0
- package/dist/workspace/status-gates.d.ts.map +1 -0
- package/dist/workspace/status.d.ts +17 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/work.d.ts +56 -0
- package/dist/workspace/work.d.ts.map +1 -0
- package/package.json +19 -1
- package/src/cli/handlers/graph.ts +4 -0
- package/src/cli/main.test.ts +9 -0
- package/src/cli/main.ts +56 -3
- package/src/cli/mcp/resource-handlers.ts +17 -0
- package/src/cli/mcp/server.test.ts +140 -4
- package/src/cli/mcp/server.ts +5 -1
- package/src/cli/mcp/tools/composites.ts +98 -0
- package/src/cli/mcp/tools/search.ts +47 -5
- package/src/cli/registry.ts +13 -1
- package/src/components/cli-support.test.ts +16 -0
- package/src/components/cli-support.ts +8 -2
- package/src/composite.ts +9 -0
- package/src/lexicon.ts +47 -0
- package/src/lifecycle/gate-ledger.ts +14 -0
- package/src/workspace/__fixtures__/contract-repo.ts +17 -0
- package/src/workspace/__fixtures__/sessions.ts +66 -0
- package/src/workspace/checks/records.ts +19 -0
- package/src/workspace/checks.test.ts +2 -0
- package/src/workspace/checks.ts +7 -1
- package/src/workspace/composites.schema.json +533 -0
- package/src/workspace/composites.test.ts +334 -0
- package/src/workspace/composites.ts +316 -0
- package/src/workspace/conformance/__fixture__/app/package.json +7 -0
- package/src/workspace/conformance/__fixture__/app/src/server.mjs +29 -0
- package/src/workspace/conformance/__fixture__/decisions/decision.kind.mjs +32 -0
- package/src/workspace/conformance/__fixture__/decisions/decision.schema.json +364 -0
- package/src/workspace/conformance/__fixture__/decisions/fix-001-how-the-app-is-deployed.md +40 -0
- package/src/workspace/conformance/__fixture__/delivery/chant.config.ts +7 -0
- package/src/workspace/conformance/__fixture__/delivery/lexicon/index.ts +26 -0
- package/src/workspace/conformance/__fixture__/delivery/package.json +7 -0
- package/src/workspace/conformance/__fixture__/delivery/src/app.component.ts +14 -0
- package/src/workspace/conformance/__fixture__/delivery/src/app.ts +4 -0
- package/src/workspace/conformance/conformance.test.ts +149 -0
- package/src/workspace/conformance/index.mjs +31 -0
- package/src/workspace/conformance/index.ts +453 -0
- package/src/workspace/conformance/vitest.ts +62 -0
- package/src/workspace/declaration.schema.json +40 -0
- package/src/workspace/declaration.ts +62 -0
- package/src/workspace/declared-kinds.test.ts +321 -0
- package/src/workspace/declared-kinds.ts +76 -0
- package/src/workspace/graph-cli.ts +40 -4
- package/src/workspace/intent-cli.ts +54 -7
- package/src/workspace/intent-joins.test.ts +60 -0
- package/src/workspace/intent-joins.ts +117 -20
- package/src/workspace/intent.schema.json +357 -19
- package/src/workspace/intent.test.ts +235 -20
- package/src/workspace/intent.ts +396 -51
- package/src/workspace/ls.schema.json +34 -0
- package/src/workspace/ls.ts +69 -4
- package/src/workspace/member-commands.ts +11 -5
- package/src/workspace/read-contract.test.ts +52 -3
- package/src/workspace/reason-codes.test.ts +48 -4
- package/src/workspace/reason-codes.ts +67 -2
- package/src/workspace/record-assets.test.ts +3 -1
- package/src/workspace/record-sessions.ts +105 -0
- package/src/workspace/record-source.ts +14 -5
- package/src/workspace/records-amend.schema.json +167 -0
- package/src/workspace/records-cli.ts +246 -19
- package/src/workspace/records-contract.test.ts +77 -2
- package/src/workspace/records-formats.test.ts +640 -0
- package/src/workspace/records-new.schema.json +158 -0
- package/src/workspace/records-quorum.test.ts +196 -0
- package/src/workspace/records-review.schema.json +202 -0
- package/src/workspace/records-sessions.test.ts +108 -0
- package/src/workspace/records-since.schema.json +193 -0
- package/src/workspace/records-since.test.ts +174 -0
- package/src/workspace/records-since.ts +259 -0
- package/src/workspace/records-write-contract.test.ts +125 -0
- package/src/workspace/records-write.test.ts +373 -0
- package/src/workspace/records-write.ts +736 -0
- package/src/workspace/records.schema.json +187 -9
- package/src/workspace/records.test.ts +93 -0
- package/src/workspace/records.ts +683 -49
- package/src/workspace/runtimes.ts +107 -0
- package/src/workspace/status-contract.test.ts +163 -0
- package/src/workspace/status-gates.ts +215 -0
- package/src/workspace/status.schema.json +69 -3
- package/src/workspace/status.ts +35 -2
- package/src/workspace/work.test.ts +388 -0
- package/src/workspace/work.ts +163 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-cli.d.ts","sourceRoot":"","sources":["../../src/workspace/graph-cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-cli.d.ts","sourceRoot":"","sources":["../../src/workspace/graph-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAA0D,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAA6E,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvJ,OAAO,EAAgF,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKnK,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAExF,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,4EAA4E,CAAC;AAEhH,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,uNAAwB,CAAC;AAKvD,UAAU,IAAI;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GACrB,CAAC,IAAI,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC,GAC/C,CAAC,IAAI,GAAG;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC;AAEtG,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,kFAAkF;IAClF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3G;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAmCtF;AAkCD,wGAAwG;AACxG,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAIvD;AAED,qGAAqG;AACrG,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CA8C5E;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD5E"}
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
* (#2651): the intent graph over one region (`intent.ts`), printed as JSON
|
|
4
4
|
* with `--json` or as a walk, one line per node, in the order of #2650
|
|
5
5
|
* section B: the region, its decisions, their artifacts, the commits, and the
|
|
6
|
-
* findings.
|
|
6
|
+
* findings. Under each decision come the commits made inside its window, and
|
|
7
|
+
* when any of them is not the decision's own work, the question #2650 B puts
|
|
8
|
+
* to the person about it (#2656). Without `--kind`, the walk reads every
|
|
9
|
+
* record kind the declaration names (#2680).
|
|
7
10
|
*/
|
|
8
11
|
import type { CommandContext } from "../cli/registry.js";
|
|
9
12
|
import { type IntentDocument } from "./intent.js";
|
|
10
13
|
type Result = Exclude<IntentDocument, {
|
|
11
14
|
error: unknown;
|
|
12
15
|
}>;
|
|
16
|
+
/** What the walk asks about a commit made inside a decision's window that is not the decision's own work (#2650 B4, step 5). */
|
|
17
|
+
export declare const IN_WINDOW_QUESTION = "is this drift, a superseding decision nobody wrote down, or the decision being wrong?";
|
|
13
18
|
/** The walk as text, one line each, in the order of #2650 section B. */
|
|
14
19
|
export declare function formatIntent(doc: Result): string;
|
|
15
20
|
export declare function runWorkspaceIntent(ctx: CommandContext, cwd: string): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-cli.d.ts","sourceRoot":"","sources":["../../src/workspace/intent-cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"intent-cli.d.ts","sourceRoot":"","sources":["../../src/workspace/intent-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAsE,KAAK,cAAc,EAAmD,MAAM,UAAU,CAAC;AAIpK,KAAK,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAY1D,gIAAgI;AAChI,eAAO,MAAM,kBAAkB,0FAA0F,CAAC;AAgE1H,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA2BhD;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB1F"}
|
|
@@ -9,15 +9,37 @@
|
|
|
9
9
|
*
|
|
10
10
|
* - A function `commitJoins(commit, context)` that returns the unit, contract
|
|
11
11
|
* and evidence for one commit, or nothing. It is given the commit's sha,
|
|
12
|
-
* subject, body, author, date and trailers, and a `read`
|
|
13
|
-
*
|
|
12
|
+
* subject, body, author, date and trailers, and a context whose `read(path)`
|
|
13
|
+
* returns a file and whose `list(dir)` lists a directory, both in the tree
|
|
14
|
+
* read (#2663). With `list` a plugin can find the record that names a
|
|
15
|
+
* commit, such as a unit record whose `result.commit` is the commit's sha,
|
|
16
|
+
* so the commit needs no trailer at all.
|
|
14
17
|
* - Data, which core interprets with no plugin code: the trailer keys that
|
|
15
18
|
* name a unit, a contract or evidence, the record paths to read for each
|
|
16
|
-
* (`units/{id}.json`), and the trailer keys that claim authorship.
|
|
19
|
+
* (`units/{id}.json`), and the trailer keys that claim authorship. Every
|
|
20
|
+
* value of the evidence trailer is read; a unit or contract trailer gives
|
|
21
|
+
* its first value, since a commit has one unit and one contract.
|
|
17
22
|
*
|
|
18
23
|
* Either way core never parses a plugin's own trailer or record format: it
|
|
19
24
|
* reads the trailers git reports and hands them over, and a key means
|
|
20
25
|
* something only because a kind file said so.
|
|
26
|
+
*
|
|
27
|
+
* Two parts of a join's answer carry meaning core acts on (#2656). A unit or
|
|
28
|
+
* contract may list `decisions`, the ids of the decision records it carries
|
|
29
|
+
* out; a commit whose unit or contract names a decision is that decision's own
|
|
30
|
+
* work. The function form may also return `findings`, each a code in the
|
|
31
|
+
* kind's own namespace (`plugin:<name>:<code>`), a message and the refs it is
|
|
32
|
+
* about, which the graph carries as finding nodes. That is how a plugin says
|
|
33
|
+
* what it knows and core does not, such as a contract whose criteria changed
|
|
34
|
+
* in a commit that names no decision.
|
|
35
|
+
*
|
|
36
|
+
* `<name>` is the kind's name by default: its record kind's name, or the
|
|
37
|
+
* file's name without `.kind.mjs`. A kind file may name its findings itself
|
|
38
|
+
* with a sibling export, `commitJoinsName` (#2663), so joins that live beside
|
|
39
|
+
* a record kind called `decision` can still report `plugin:chud:<code>`. It is
|
|
40
|
+
* a sibling export rather than a property because the data form is a closed
|
|
41
|
+
* object whose keys are all joins, and a function's `name` property is
|
|
42
|
+
* already its own name.
|
|
21
43
|
*/
|
|
22
44
|
import { z } from "zod";
|
|
23
45
|
/** A commit as the hook sees it. */
|
|
@@ -37,14 +59,38 @@ export interface IntentCommit {
|
|
|
37
59
|
export interface CommitJoinContext {
|
|
38
60
|
/** The text of a file from the workspace root, in the tree read; undefined when it is not a file there. */
|
|
39
61
|
read(path: string): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* The entries directly inside directory `dir`, in the same tree as `read`
|
|
64
|
+
* (#2663): paths from the workspace root, sorted, a directory's with a
|
|
65
|
+
* trailing `/`. `""` or `"."` is the workspace root. Undefined when `dir` is
|
|
66
|
+
* not a directory there.
|
|
67
|
+
*
|
|
68
|
+
* The tree is the one the graph reads, the commit `--at` names or the
|
|
69
|
+
* working tree, and not each joined commit's own tree: a record that names
|
|
70
|
+
* a commit's sha was written after that commit, so it is only in a later
|
|
71
|
+
* tree.
|
|
72
|
+
*/
|
|
73
|
+
list(dir: string): string[] | undefined;
|
|
40
74
|
/** The full commit id read with `--at`, or null for the working tree. */
|
|
41
75
|
at: string | null;
|
|
42
76
|
}
|
|
43
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* A plugin's unit, contract or evidence: an id and whatever fields the plugin
|
|
79
|
+
* records. On a unit or contract, `decisions`, a list of record ids, names the
|
|
80
|
+
* decisions it carries out (#2656).
|
|
81
|
+
*/
|
|
44
82
|
export interface JoinedEntity {
|
|
45
83
|
id: string;
|
|
46
84
|
[field: string]: unknown;
|
|
47
85
|
}
|
|
86
|
+
/** A finding a plugin contributes for one commit (#2656). */
|
|
87
|
+
export interface PluginFinding {
|
|
88
|
+
/** `plugin:<name>:<code>`, where `<name>` is the kind file's `commitJoinsName`, or else the kind's name. */
|
|
89
|
+
code: string;
|
|
90
|
+
message: string;
|
|
91
|
+
/** What the finding is about: node ids, commit shas, record ids, unit, contract or evidence ids, or paths. */
|
|
92
|
+
refs?: string[];
|
|
93
|
+
}
|
|
48
94
|
/** What a join says about one commit. Every part is optional. */
|
|
49
95
|
export interface CommitJoin {
|
|
50
96
|
/** The unit of work that produced the commit. */
|
|
@@ -55,6 +101,8 @@ export interface CommitJoin {
|
|
|
55
101
|
evidence?: JoinedEntity | JoinedEntity[];
|
|
56
102
|
/** Trailer keys on this commit that claim who wrote it, which the plugin vouches for. */
|
|
57
103
|
authorship?: string[];
|
|
104
|
+
/** Findings about this commit, in the kind's own code namespace. Function form only. */
|
|
105
|
+
findings?: PluginFinding[];
|
|
58
106
|
}
|
|
59
107
|
export type CommitJoinsFunction = (commit: IntentCommit, context: CommitJoinContext) => CommitJoin | null | undefined | Promise<CommitJoin | null | undefined>;
|
|
60
108
|
/** The data form of `commitJoins`. */
|
|
@@ -72,22 +120,39 @@ export declare const commitJoinsDataSchema: z.ZodObject<{
|
|
|
72
120
|
authorship: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
73
121
|
}, z.core.$strict>;
|
|
74
122
|
export type CommitJoinsData = z.infer<typeof commitJoinsDataSchema>;
|
|
75
|
-
/**
|
|
76
|
-
export
|
|
123
|
+
/**
|
|
124
|
+
* A kind file's `commitJoins` export, checked: a function, or data. `name` is
|
|
125
|
+
* its `commitJoinsName` export, when it has one: the namespace of its findings.
|
|
126
|
+
*/
|
|
127
|
+
export type CommitJoins = ({
|
|
77
128
|
form: "function";
|
|
78
129
|
join: CommitJoinsFunction;
|
|
79
130
|
} | {
|
|
80
131
|
form: "data";
|
|
81
132
|
data: CommitJoinsData;
|
|
133
|
+
}) & {
|
|
134
|
+
name?: string;
|
|
82
135
|
};
|
|
83
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Read a kind module's `commitJoins` export and its `commitJoinsName`.
|
|
138
|
+
* Undefined when it has no `commitJoins`; a string when either is malformed,
|
|
139
|
+
* or when it names findings it has no joins for.
|
|
140
|
+
*/
|
|
84
141
|
export declare function readCommitJoins(mod: Record<string, unknown>): CommitJoins | string | undefined;
|
|
142
|
+
/** Every value of trailer `key`, trimmed, without empty ones or repeats, compared without case as git does. */
|
|
143
|
+
export declare function trailerValues(trailers: Record<string, string[]>, key: string): string[];
|
|
85
144
|
/** The first value of trailer `key`, compared without case as git does. */
|
|
86
145
|
export declare function trailerValue(trailers: Record<string, string[]>, key: string): string | undefined;
|
|
87
146
|
/** Whether the commit carries trailer `key`. */
|
|
88
147
|
export declare function hasTrailer(trailers: Record<string, string[]>, key: string): boolean;
|
|
89
148
|
/** Interpret the data form for one commit. Throws when a named record can't be read as JSON. */
|
|
90
149
|
export declare function joinByData(data: CommitJoinsData, commit: IntentCommit, context: CommitJoinContext): CommitJoin;
|
|
91
|
-
/**
|
|
92
|
-
export declare function
|
|
150
|
+
/** The record ids a unit or contract says it carries out: its `decisions` field, when that is a list of strings. */
|
|
151
|
+
export declare function entityDecisions(entity: JoinedEntity | undefined): string[];
|
|
152
|
+
/**
|
|
153
|
+
* Run a kind's joins for one commit, checking what a function returns.
|
|
154
|
+
* `name` is the namespace its findings' codes must use: the kind file's
|
|
155
|
+
* `commitJoinsName`, or else the kind's name.
|
|
156
|
+
*/
|
|
157
|
+
export declare function runCommitJoins(joins: CommitJoins, commit: IntentCommit, context: CommitJoinContext, name: string): Promise<CommitJoin>;
|
|
93
158
|
//# sourceMappingURL=intent-joins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-joins.d.ts","sourceRoot":"","sources":["../../src/workspace/intent-joins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"intent-joins.d.ts","sourceRoot":"","sources":["../../src/workspace/intent-joins.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,19 +22,27 @@
|
|
|
22
22
|
* the graph pins it.
|
|
23
23
|
*
|
|
24
24
|
* Every gap the walk finds is a `finding` node with a closed code, never
|
|
25
|
-
* prose, so a reader can draw it and a test can assert it.
|
|
25
|
+
* prose, so a reader can draw it and a test can assert it. A commit made
|
|
26
|
+
* inside a decision's window is not taken as that decision's work: unless
|
|
27
|
+
* the decision's own unit made it, it is `decided-by-window`, shown for the
|
|
28
|
+
* person to judge (#2656). A plugin's `commitJoins` may add findings of its
|
|
29
|
+
* own, in its own code namespace. Without `kinds`, the walk reads every
|
|
30
|
+
* record kind the declaration names (#2680), and each one's `commitJoins`
|
|
31
|
+
* runs for every commit in that order. chant emits the
|
|
26
32
|
* graph and hud renders it (#2524 D8, D15). Git is read through a local
|
|
27
33
|
* `git` subprocess only: no fetch, no network.
|
|
28
34
|
*/
|
|
29
35
|
import { type LinkTableRow } from "./links.js";
|
|
30
36
|
import { type RecordView } from "./records-cli.js";
|
|
37
|
+
import { type PluginCode } from "./reason-codes.js";
|
|
31
38
|
import { type ProvenanceLevel } from "./trust/attestor.js";
|
|
39
|
+
import { type WorkLink, type WorkWarningCode } from "./work.js";
|
|
32
40
|
/** The version of the `intent` document this chant writes. */
|
|
33
41
|
export declare const INTENT_CONTRACT_VERSION = 1;
|
|
34
42
|
/** `$id` of the JSON Schema for the document, shipped beside this file. */
|
|
35
43
|
export declare const INTENT_OUTPUT_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/intent/v1/intent.schema.json";
|
|
36
44
|
/** The finding codes. Closed: a reader may switch on them. */
|
|
37
|
-
export declare const INTENT_FINDING_CODES: readonly ["intent-commit-undecided", "intent-commit-bare", "intent-pin-drifted", "intent-pin-missing", "intent-artifact-unpinned", "intent-decision-superseded-live", "intent-decision-provisional", "intent-constraint-coarse", "intent-constraint-lost", "intent-evidence-unpinned", "intent-trailer-unverified", "intent-region-unconstrained"];
|
|
45
|
+
export declare const INTENT_FINDING_CODES: readonly ["intent-commit-undecided", "intent-commit-bare", "intent-pin-drifted", "intent-pin-missing", "intent-artifact-unpinned", "intent-decision-superseded-live", "intent-decision-provisional", "intent-constraint-coarse", "intent-constraint-lost", "intent-evidence-unpinned", "intent-trailer-unverified", "intent-region-unconstrained", "intent-decision-unimplemented", "intent-work-blocked", "intent-work-open-decided-code"];
|
|
38
46
|
export type IntentFindingCode = (typeof INTENT_FINDING_CODES)[number];
|
|
39
47
|
/** Why part of the walk could not be read. The read still succeeds. */
|
|
40
48
|
export declare const INTENT_REASON_CODES: readonly ["intent-history-shallow", "intent-plugin-failed"];
|
|
@@ -99,7 +107,16 @@ export interface CommitNode {
|
|
|
99
107
|
};
|
|
100
108
|
/** The line ranges the commit changed in the region, in the commit's own version of the file; null for a file or directory region. */
|
|
101
109
|
lines: LineRange[] | null;
|
|
110
|
+
/**
|
|
111
|
+
* How the decisions constraining the region by path relate to the commit
|
|
112
|
+
* (#2656): `decided` when it falls inside a decision's window and that
|
|
113
|
+
* decision's own unit made it, `decided-by-window` when it only falls
|
|
114
|
+
* inside a window, `undecided` when it falls outside every window, and
|
|
115
|
+
* null when no record kind was read.
|
|
116
|
+
*/
|
|
117
|
+
state: CommitState | null;
|
|
102
118
|
}
|
|
119
|
+
export type CommitState = "decided" | "decided-by-window" | "undecided";
|
|
103
120
|
export interface JoinedNode {
|
|
104
121
|
id: string;
|
|
105
122
|
kind: "unit" | "contract" | "evidence";
|
|
@@ -180,11 +197,68 @@ export interface LinkNode {
|
|
|
180
197
|
export interface FindingNode {
|
|
181
198
|
id: string;
|
|
182
199
|
kind: "finding";
|
|
183
|
-
code
|
|
200
|
+
/** A closed code, or a plugin's own `plugin:<name>:<code>` (#2656). */
|
|
201
|
+
code: IntentFindingCode | PluginCode;
|
|
184
202
|
message: string;
|
|
185
203
|
concerns: string[];
|
|
204
|
+
/** For a plugin's finding: the kind file that returned it. */
|
|
205
|
+
plugin?: string;
|
|
206
|
+
/** For a plugin's finding: the refs as the plugin gave them. The ones that name a node in the graph are in concerns. */
|
|
207
|
+
refs?: string[];
|
|
208
|
+
/** With a work kind read (#2683): whether a work item addresses the finding. */
|
|
209
|
+
addressed?: boolean;
|
|
210
|
+
/** With a work kind read: the work items addressing the finding, each with its state. */
|
|
211
|
+
addressedBy?: WorkLink[];
|
|
186
212
|
}
|
|
187
|
-
|
|
213
|
+
/** Where a work item says it came from: the gap the intent graph reported (#2683). */
|
|
214
|
+
export interface WorkGapSource {
|
|
215
|
+
finding: string;
|
|
216
|
+
region: string;
|
|
217
|
+
decision?: string;
|
|
218
|
+
artifact?: string;
|
|
219
|
+
}
|
|
220
|
+
export interface WorkNode {
|
|
221
|
+
id: string;
|
|
222
|
+
kind: "work";
|
|
223
|
+
recordKind: string;
|
|
224
|
+
record: string;
|
|
225
|
+
/** The record file, from the repository root. */
|
|
226
|
+
path: string;
|
|
227
|
+
title: string | null;
|
|
228
|
+
state: string | null;
|
|
229
|
+
/** Whether the kind counts the state as closed, such as done or dropped. */
|
|
230
|
+
closed: boolean;
|
|
231
|
+
valid: boolean;
|
|
232
|
+
reasons: RecordView["reasons"];
|
|
233
|
+
provenance: {
|
|
234
|
+
level: ProvenanceLevel;
|
|
235
|
+
commit: string | null;
|
|
236
|
+
reason: string;
|
|
237
|
+
};
|
|
238
|
+
owner: string | null;
|
|
239
|
+
/** As records reports it: open, and every need done. */
|
|
240
|
+
ready: boolean;
|
|
241
|
+
/** Each need that is not done, with its state. */
|
|
242
|
+
blockedBy: WorkLink[];
|
|
243
|
+
/** Each decision the item implements, with its state. */
|
|
244
|
+
implements: WorkLink[];
|
|
245
|
+
/** The ids the item's needs list names. */
|
|
246
|
+
needs: string[];
|
|
247
|
+
/** The gap the item came from, when its source names one. */
|
|
248
|
+
source: WorkGapSource | null;
|
|
249
|
+
supersededBy: string | null;
|
|
250
|
+
/** The constrains entries that cover the region, with their granularity. Empty for an item in the graph only through a link. */
|
|
251
|
+
constrains: {
|
|
252
|
+
entry: string;
|
|
253
|
+
granularity: Granularity;
|
|
254
|
+
}[];
|
|
255
|
+
/** The item's work warnings, as records reports them, and work-done-gap-open. */
|
|
256
|
+
warnings: {
|
|
257
|
+
code: WorkWarningCode;
|
|
258
|
+
message: string;
|
|
259
|
+
}[];
|
|
260
|
+
}
|
|
261
|
+
export type IntentNode = RegionNode | FileNode | MemberNode | CommitNode | JoinedNode | EvidenceEntryNode | DecisionNode | WorkNode | ArtifactNode | LinkNode | FindingNode;
|
|
188
262
|
export type Granularity = "path" | "member" | "contract" | "issue";
|
|
189
263
|
export type IntentEdge = {
|
|
190
264
|
kind: "constrains";
|
|
@@ -204,7 +278,12 @@ export type IntentEdge = {
|
|
|
204
278
|
to: string;
|
|
205
279
|
lines: LineRange[] | null;
|
|
206
280
|
} | {
|
|
207
|
-
kind: "
|
|
281
|
+
kind: "within";
|
|
282
|
+
from: string;
|
|
283
|
+
to: string;
|
|
284
|
+
state: "decided" | "decided-by-window" | "worked";
|
|
285
|
+
} | {
|
|
286
|
+
kind: "produced-by" | "serves" | "cites-evidence" | "supersedes" | "links" | "implements" | "needs" | "addressed-by";
|
|
208
287
|
from: string;
|
|
209
288
|
to: string;
|
|
210
289
|
};
|
|
@@ -231,6 +310,7 @@ export type IntentDocument = (Head & {
|
|
|
231
310
|
};
|
|
232
311
|
kinds: {
|
|
233
312
|
file: string;
|
|
313
|
+
name: string;
|
|
234
314
|
records: string | null;
|
|
235
315
|
joins: "function" | "data" | null;
|
|
236
316
|
}[];
|
|
@@ -255,7 +335,11 @@ export interface IntentQuery {
|
|
|
255
335
|
/** `path`, `path:line` or `path:start-end`, or a graph node id `<member>/<id>`. */
|
|
256
336
|
region: string;
|
|
257
337
|
at?: string;
|
|
258
|
-
/**
|
|
338
|
+
/**
|
|
339
|
+
* Kind files: record kinds, plugins with `commitJoins`, or both. Relative to
|
|
340
|
+
* `cwd`. Left out, every record kind the declaration names, in its order
|
|
341
|
+
* (#2680); an empty list reads none.
|
|
342
|
+
*/
|
|
259
343
|
kinds?: string[];
|
|
260
344
|
/**
|
|
261
345
|
* Resolve a graph node id to its source location, for a region given as a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/workspace/intent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/workspace/intent.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace/ls.d.ts
CHANGED
|
@@ -8,11 +8,17 @@
|
|
|
8
8
|
*
|
|
9
9
|
* The `--json` output is part of the read contract, versioned like
|
|
10
10
|
* `workspace records` and described by `ls.schema.json` beside this file.
|
|
11
|
+
*
|
|
12
|
+
* The record kinds the declaration names are listed too, the workspace's own
|
|
13
|
+
* and each member's, with each kind file's own name when it loads (#2680).
|
|
14
|
+
* Loading one imports it, so {@link listWorkspace} lists them unloaded and
|
|
15
|
+
* {@link listWorkspaceWithKinds}, which the command runs, loads them.
|
|
11
16
|
*/
|
|
12
17
|
import type { CommandContext } from "../cli/registry.js";
|
|
13
18
|
import { type Declaration, type ErrorLocation, type Member, type WorkspaceErrorCode } from "./declaration.js";
|
|
14
19
|
import { type KindRegistry } from "./kinds.js";
|
|
15
20
|
import type { WorkspaceTree } from "./tree.js";
|
|
21
|
+
import type { DeclaredKindReasonCode } from "./declared-kinds.js";
|
|
16
22
|
/** The version of the `ls` output this chant writes. */
|
|
17
23
|
export declare const LS_CONTRACT_VERSION = 1;
|
|
18
24
|
/** `$id` of the JSON Schema for the `--json` output, shipped beside this file. */
|
|
@@ -26,6 +32,20 @@ export type MemberReasonCode = (typeof MEMBER_REASON_CODES)[number];
|
|
|
26
32
|
/** Why a group lists nothing. */
|
|
27
33
|
export declare const GROUP_REASON_CODES: readonly ["no-matches"];
|
|
28
34
|
export type GroupReasonCode = (typeof GROUP_REASON_CODES)[number];
|
|
35
|
+
/** A record kind the declaration names (#2680). */
|
|
36
|
+
export interface LsRecordKind {
|
|
37
|
+
/** The name the declaration gives it, else the kind file's own, else null when the file wasn't loaded. */
|
|
38
|
+
name: string | null;
|
|
39
|
+
/** The kind file from the workspace root. */
|
|
40
|
+
path: string;
|
|
41
|
+
/** The kind file's `recordKind.name`, or null when it wasn't loaded. */
|
|
42
|
+
kind: string | null;
|
|
43
|
+
/** Why the kind file can't be loaded, or null. */
|
|
44
|
+
reason: {
|
|
45
|
+
code: DeclaredKindReasonCode;
|
|
46
|
+
message: string;
|
|
47
|
+
} | null;
|
|
48
|
+
}
|
|
29
49
|
export interface LsMember {
|
|
30
50
|
name: string;
|
|
31
51
|
dir: string;
|
|
@@ -41,6 +61,8 @@ export interface LsMember {
|
|
|
41
61
|
code: MemberReasonCode;
|
|
42
62
|
message: string;
|
|
43
63
|
} | null;
|
|
64
|
+
/** The record kinds the member declares, in file order (#2680). */
|
|
65
|
+
records: LsRecordKind[];
|
|
44
66
|
}
|
|
45
67
|
export interface LsGroup {
|
|
46
68
|
name: string;
|
|
@@ -66,6 +88,8 @@ export type LsDocument = {
|
|
|
66
88
|
schema: number;
|
|
67
89
|
minReader: string | null;
|
|
68
90
|
pins: Declaration["pins"];
|
|
91
|
+
/** The workspace's own record kinds, from the top-level `records` (#2680). */
|
|
92
|
+
records: LsRecordKind[];
|
|
69
93
|
};
|
|
70
94
|
members: LsMember[];
|
|
71
95
|
groups: LsGroup[];
|
|
@@ -93,7 +117,13 @@ export interface LsQuery {
|
|
|
93
117
|
}
|
|
94
118
|
/** A member's reason code, or null when its kind can read it. */
|
|
95
119
|
export declare function memberReason(member: Member, tree: WorkspaceTree, kinds: KindRegistry): LsMember["reason"];
|
|
96
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Find the workspace, read it and build the document `--json` prints, with
|
|
122
|
+
* the declared record kinds unloaded: `kind` null and no reason. Never throws
|
|
123
|
+
* a {@link WorkspaceReadError}.
|
|
124
|
+
*/
|
|
97
125
|
export declare function listWorkspace(query: LsQuery): LsDocument;
|
|
126
|
+
/** {@link listWorkspace}, with each declared record kind loaded for its name, or the reason it can't be (#2680). */
|
|
127
|
+
export declare function listWorkspaceWithKinds(query: LsQuery): Promise<LsDocument>;
|
|
98
128
|
export declare function runWorkspaceLs(ctx: CommandContext): Promise<number>;
|
|
99
129
|
//# sourceMappingURL=ls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../src/workspace/ls.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../src/workspace/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,8 +129,13 @@ export declare function parseMemberRunOutput(stdout: string): {
|
|
|
129
129
|
}>>;
|
|
130
130
|
stray: string;
|
|
131
131
|
} | undefined;
|
|
132
|
-
/**
|
|
133
|
-
export
|
|
132
|
+
/** A command line to run in each member instead of the verb's own, such as `graph --components` (#2662). */
|
|
133
|
+
export type MemberArgv = (unit: RunUnit) => string[];
|
|
134
|
+
/**
|
|
135
|
+
* Run every group of the plan, one process per toolchain at a time each, and
|
|
136
|
+
* return the results in plan order. `argvFor` replaces the verb's command line.
|
|
137
|
+
*/
|
|
138
|
+
export declare function executePlan(plan: MemberPlan, args: ParsedArgs, argvFor?: MemberArgv): Promise<UnitResult[]>;
|
|
134
139
|
export declare function describePlan(plan: MemberPlan): string;
|
|
135
140
|
export declare function planJson(plan: MemberPlan): unknown;
|
|
136
141
|
export declare function emitDocument(doc: unknown, output: string | undefined): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-commands.d.ts","sourceRoot":"","sources":["../../src/workspace/member-commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"member-commands.d.ts","sourceRoot":"","sources":["../../src/workspace/member-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,21 +44,52 @@ export declare const REASONS: {
|
|
|
44
44
|
readonly "ir-version-unsupported": "The member's IR has a version this chant can't read.";
|
|
45
45
|
readonly "ledger-unreadable": "Reading the ledger failed, so nothing from it is listed.";
|
|
46
46
|
readonly "ledger-malformed": "Some lines of the ledger aren't release records; the rest are listed.";
|
|
47
|
-
readonly "
|
|
48
|
-
readonly "
|
|
47
|
+
readonly "gates-no-ledger": "The checkout has no chant/lifecycle branch, so there is no gate ledger to read.";
|
|
48
|
+
readonly "gates-no-gate-ledger": "The branch has no gate ledger for the member: no run of it has reached a gate.";
|
|
49
|
+
readonly "gates-ledger-unreadable": "Reading the member's gate ledger failed, so no gate is listed.";
|
|
50
|
+
readonly "record-unparseable": "No front matter, a YAML error or a value outside the JSON subset of YAML, or for a JSON kind a file that is not one object or repeats a member name.";
|
|
51
|
+
readonly "record-schema-invalid": "The record's front matter, or its JSON object, does not match the kind's schema.";
|
|
49
52
|
readonly "record-id-duplicate": "Another record earlier in path order has the same id.";
|
|
50
53
|
readonly "record-supersedes-unknown": "A supersedes link names an id no record has.";
|
|
51
54
|
readonly "record-supersedes-conflict": "A second closed record supersedes a record another one already superseded.";
|
|
55
|
+
readonly "session-seal-mismatch": "A closed session's seal is not the digest of its text: the session changed after it closed.";
|
|
56
|
+
readonly "session-verdict-unknown-record": "A session's verdict names a record that none of the session kind's subject records has.";
|
|
52
57
|
readonly "asset-drift": "A file the record pins by hash has changed: its bytes no longer hash to the pinned sha256.";
|
|
53
58
|
readonly "asset-missing": "A file the record pins by hash does not exist in the tree read.";
|
|
54
59
|
readonly "asset-stale": "A file the record pins is unchanged at the hash a record it supersedes pinned: the decision changed and the artifact did not follow.";
|
|
55
60
|
readonly "record-supersedes-pending": "A supersedes link from a record whose state is weaker than the record it names, so the link has no effect yet.";
|
|
61
|
+
readonly "record-no-evidence": "The record's evidence list is empty: it cites nothing and pins no file. Information for a reviewer, never an error.";
|
|
62
|
+
readonly "review-undigested": "A verdict names no digest of the text it judged. It still counts, and an amendment does not stop it counting.";
|
|
63
|
+
readonly "work-needs-unknown": "A work record's needs list names a work id no record has, so the item stays blocked.";
|
|
64
|
+
readonly "work-implements-unknown": "A work record's implements list names a decision id no decision has.";
|
|
65
|
+
readonly "work-needs-cycle": "A work record needs itself through its needs links, so it can never be ready.";
|
|
66
|
+
readonly "work-implements-undecided": "A work record implements a decision whose state is not approved, such as proposed.";
|
|
67
|
+
readonly "work-done-unpinned": "A work record is done and its evidence list is empty: nothing shows the work was done.";
|
|
68
|
+
readonly "work-closed-without-date": "A work record is done or dropped and has no closing date.";
|
|
69
|
+
readonly "work-done-gap-open": "A work record is done, and the finding it came from still fires on its region. Only graph --intent raises it.";
|
|
70
|
+
readonly "review-decider": "The verdict is the decider's own, and the quorum counts verdicts besides the decider's.";
|
|
71
|
+
readonly "review-agent": "The reviewer holds the agent role in the trust policy at base.";
|
|
72
|
+
readonly "review-duplicate": "A later verdict by the same principal replaces this one. Names are compared after NFKC, trimming and lower-casing.";
|
|
73
|
+
readonly "review-older-digest": "The verdict names a digest other than the record's text now: the record changed after the verdict.";
|
|
74
|
+
readonly "review-unattested": "An attestation policy is active at base, and the verdict carries no seal.";
|
|
56
75
|
readonly "kind-unreadable": "The record kind file is missing or could not be imported.";
|
|
57
76
|
readonly "kind-invalid": "The record kind file exports no recordKind, or its shape is wrong.";
|
|
58
77
|
readonly "schema-unreadable": "The schema file the record kind names is missing or is not JSON.";
|
|
59
78
|
readonly "schema-id-mismatch": "The schema's $id differs from the id the record kind names.";
|
|
60
79
|
readonly "schema-invalid": "The record schema itself does not compile.";
|
|
61
80
|
readonly "location-missing": "The records directory does not exist, in the tree or at the revision.";
|
|
81
|
+
readonly "write-usage-invalid": "The command line lacks a value the write needs, or gives one it does not take.";
|
|
82
|
+
readonly "write-input-invalid": "The fields given with --from or --set can't be read, are not JSON, or are not a JSON object.";
|
|
83
|
+
readonly "record-not-found": "No record of the kind has the id given.";
|
|
84
|
+
readonly "record-id-taken": "The id given for a new record is already used, by a record or a file name.";
|
|
85
|
+
readonly "record-id-unallocatable": "No id was given and none can be allocated: the records share no single prefix and --prefix names none.";
|
|
86
|
+
readonly "record-path-unmatched": "The file name made from the record's id and title does not match the kind's location.";
|
|
87
|
+
readonly "record-closed": "The record is in a closed state, so nothing in it changes; a new record supersedes it instead.";
|
|
88
|
+
readonly "amend-id-immutable": "An amendment changes the record's id, and ids are never renumbered.";
|
|
89
|
+
readonly "amend-supersede-instead": "The record is approved, and the amendment changes a field the approval rule does not let change in place; a new record supersedes it instead.";
|
|
90
|
+
readonly "review-unsupported": "The kind's schema has no reviews field, so its records take no review.";
|
|
91
|
+
readonly "review-note-required": "A dissent was given with no note: a dissent needs a reason.";
|
|
92
|
+
readonly "since-rev-unknown": "--since names no commit.";
|
|
62
93
|
readonly "intent-region-invalid": "The region's path, or its line range, does not exist in the tree read.";
|
|
63
94
|
readonly "intent-history-shallow": "The repository is a shallow clone, so the region's history stops at the clone's boundary.";
|
|
64
95
|
readonly "intent-plugin-failed": "A kind file's commitJoins, which joins commits to units, contracts and evidence, failed for a commit.";
|
|
@@ -74,6 +105,14 @@ export declare const REASONS: {
|
|
|
74
105
|
readonly "intent-evidence-unpinned": "A decision's evidence has no hash: a URL, or a path with no sha256.";
|
|
75
106
|
readonly "intent-trailer-unverified": "A commit carries a trailer a plugin says claims authorship, and the commit is not attested.";
|
|
76
107
|
readonly "intent-region-unconstrained": "No decision constrains the region at any granularity.";
|
|
108
|
+
readonly "intent-decision-unimplemented": "A decided decision constrains the region, no work item that is not dropped implements it, and no commit falls in its window.";
|
|
109
|
+
readonly "intent-work-blocked": "A work item constraining the region has commits in its window while a work item it needs is not done.";
|
|
110
|
+
readonly "intent-work-open-decided-code": "Commits in the region are a decision's own work while the work item implementing that decision is still open.";
|
|
111
|
+
readonly "composites-no-chant-member": "No member of kind chant was read, so nothing declares a composite instance or a component.";
|
|
112
|
+
readonly "composites-none-declared": "The members read declare no composite instance.";
|
|
113
|
+
readonly "composites-no-component": "The members read declare no component, so no composite instance has one.";
|
|
114
|
+
readonly "runtimes-config-unreadable": "The member's chant.config.ts could not be read, so only the built-in local runtime is listed.";
|
|
115
|
+
readonly "runtimes-lexicon-unreadable": "A lexicon the member's config lists could not be loaded, so it is not listed as a runtime.";
|
|
77
116
|
readonly "lock-invalid": "The lineage lock can't be read.";
|
|
78
117
|
readonly "manual-step-open": "A scope in the lineage lock has an open manual step.";
|
|
79
118
|
};
|
|
@@ -81,4 +120,15 @@ export type ReasonCode = keyof typeof REASONS;
|
|
|
81
120
|
/** Every code, in the order of {@link REASONS}. */
|
|
82
121
|
export declare const REASON_CODES: ReasonCode[];
|
|
83
122
|
export declare function isReasonCode(value: unknown): value is ReasonCode;
|
|
123
|
+
/**
|
|
124
|
+
* A finding code a plugin contributes to the intent graph through its
|
|
125
|
+
* `commitJoins` (#2656): `plugin:<name>:<code>`, where `<name>` is the kind's
|
|
126
|
+
* name, or the kind file's `commitJoinsName` when it has one (#2663), and
|
|
127
|
+
* `<code>` is lower case words joined by dashes. These are outside the
|
|
128
|
+
* closed list: the plugin owns its namespace, and core only carries them.
|
|
129
|
+
*/
|
|
130
|
+
export type PluginCode = `plugin:${string}:${string}`;
|
|
131
|
+
export declare const PLUGIN_CODE: RegExp;
|
|
132
|
+
/** Whether `value` is a plugin code, and, given `name` (a kind's name or its `commitJoinsName`), one in that namespace. */
|
|
133
|
+
export declare function isPluginCode(value: unknown, name?: string): value is PluginCode;
|
|
84
134
|
//# sourceMappingURL=reason-codes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHV,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"}
|