adr-kit 0.11.0 → 0.12.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.d.ts.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +1 -55
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/instructions.d.ts.map +1 -1
- package/dist/commands/instructions.js +8 -1
- package/dist/commands/instructions.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +7 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/supersede.d.ts.map +1 -1
- package/dist/commands/supersede.js +11 -6
- package/dist/commands/supersede.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/core/cli-options.d.ts +23 -0
- package/dist/core/cli-options.d.ts.map +1 -0
- package/dist/core/cli-options.js +69 -0
- package/dist/core/cli-options.js.map +1 -0
- package/dist/core/config.d.ts +29 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +69 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/deliberation-html.d.ts.map +1 -1
- package/dist/core/deliberation-html.js +4 -11
- package/dist/core/deliberation-html.js.map +1 -1
- package/dist/core/deliberation.d.ts +7 -5
- package/dist/core/deliberation.d.ts.map +1 -1
- package/dist/core/deliberation.js +26 -16
- package/dist/core/deliberation.js.map +1 -1
- package/dist/core/templates.d.ts +2 -1
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +2 -1
- package/dist/core/templates.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAyEA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAiMzC"}
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@ import { parseArgs } from 'node:util';
|
|
|
2
2
|
import { pathToFileURL } from 'node:url';
|
|
3
3
|
import { VERSION } from './version.js';
|
|
4
4
|
import { isDecidedBy, isRaisedBy } from './core/adr.js';
|
|
5
|
+
import { unsupportedOptions } from './core/cli-options.js';
|
|
5
6
|
import { acceptCommand } from './commands/accept.js';
|
|
6
7
|
import { completionCommand } from './commands/completion.js';
|
|
7
8
|
import { configCommand } from './commands/config.js';
|
|
@@ -68,9 +69,10 @@ location, so a map written outside the repository still opens its records.
|
|
|
68
69
|
Run from anywhere inside the project; commands discover the nearest adr/ directory.
|
|
69
70
|
`;
|
|
70
71
|
export function main(argv) {
|
|
71
|
-
const { values, positionals } = parseArgs({
|
|
72
|
+
const { values, positionals, tokens } = parseArgs({
|
|
72
73
|
args: argv,
|
|
73
74
|
allowPositionals: true,
|
|
75
|
+
tokens: true,
|
|
74
76
|
options: {
|
|
75
77
|
all: { type: 'boolean', default: false },
|
|
76
78
|
by: { type: 'string' },
|
|
@@ -109,6 +111,16 @@ export function main(argv) {
|
|
|
109
111
|
throw new Error(`adrkit ${command.length > 0 ? command : '(no command)'} does not take --${flag}`);
|
|
110
112
|
}
|
|
111
113
|
}
|
|
114
|
+
// Every other option is command-specific too: reject one a command does not
|
|
115
|
+
// list instead of silently ignoring it. `--out` on `tree` was the sharp
|
|
116
|
+
// case, where the caller got stdout and no file.
|
|
117
|
+
const supplied = tokens
|
|
118
|
+
.filter((token) => token.kind === 'option' && token.name !== undefined)
|
|
119
|
+
.map((token) => `--${String(token.name)}`);
|
|
120
|
+
const unsupported = unsupportedOptions(command, supplied);
|
|
121
|
+
if (unsupported.length > 0) {
|
|
122
|
+
throw new Error(`adrkit ${command} does not take ${unsupported.join(', ')}`);
|
|
123
|
+
}
|
|
112
124
|
switch (command) {
|
|
113
125
|
case '': {
|
|
114
126
|
console.error(HELP);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,IAAI,GAAG,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD7B,CAAC;AAEF,MAAM,UAAU,IAAI,CAAC,IAAc;IACjC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AA8BA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiGvD"}
|
|
@@ -1,56 +1,5 @@
|
|
|
1
1
|
import { DECIDED_BY_VALUES } from '../core/adr.js';
|
|
2
|
-
|
|
3
|
-
'init',
|
|
4
|
-
'propose',
|
|
5
|
-
'decide',
|
|
6
|
-
'accept',
|
|
7
|
-
'reject',
|
|
8
|
-
'supersede',
|
|
9
|
-
'list',
|
|
10
|
-
'show',
|
|
11
|
-
'status',
|
|
12
|
-
'instructions',
|
|
13
|
-
'validate',
|
|
14
|
-
'update',
|
|
15
|
-
'config',
|
|
16
|
-
'graph',
|
|
17
|
-
'tree',
|
|
18
|
-
'completion',
|
|
19
|
-
'version',
|
|
20
|
-
'help',
|
|
21
|
-
];
|
|
22
|
-
/**
|
|
23
|
-
* Options each command takes, used for completion. `--decided-by` is listed
|
|
24
|
-
* because it is required on the two commands that record a decision and its
|
|
25
|
-
* two values are the whole point of the flag: completing the command name and
|
|
26
|
-
* stopping there leaves the caller to guess a required argument.
|
|
27
|
-
*/
|
|
28
|
-
const COMMAND_OPTIONS = {
|
|
29
|
-
init: ['--tools', '--workflows', '--help'],
|
|
30
|
-
propose: ['--help'],
|
|
31
|
-
decide: ['--raised-by', '--decided-by', '--help'],
|
|
32
|
-
accept: ['--raised-by', '--decided-by', '--help'],
|
|
33
|
-
reject: ['--reason', '--help'],
|
|
34
|
-
supersede: ['--by', '--help'],
|
|
35
|
-
list: ['--help'],
|
|
36
|
-
show: ['--help'],
|
|
37
|
-
status: ['--help'],
|
|
38
|
-
instructions: ['--help'],
|
|
39
|
-
validate: ['--all', '--help'],
|
|
40
|
-
update: ['--tools', '--workflows', '--help'],
|
|
41
|
-
config: ['--help'],
|
|
42
|
-
graph: ['--mermaid', '--dot', '--text', '--html', '--formal-only', '--tag', '--out', '--help'],
|
|
43
|
-
tree: ['--mermaid', '--text', '--html', '--help'],
|
|
44
|
-
completion: ['--help'],
|
|
45
|
-
version: ['--help'],
|
|
46
|
-
help: ['--help'],
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Options that consume the following word as their value. Declaring them as
|
|
50
|
-
* valueless would make every shell treat them as flags, so completion would
|
|
51
|
-
* repeat the option list in a position where the CLI expects free text.
|
|
52
|
-
*/
|
|
53
|
-
const VALUE_OPTIONS = ['--by', '--reason', '--tag', '--tools', '--workflows', '--out'];
|
|
2
|
+
import { COMMANDS, COMMAND_OPTIONS, takesValue, VALUE_OPTIONS } from '../core/cli-options.js';
|
|
54
3
|
/** Short descriptions for the shells that show one next to an option. */
|
|
55
4
|
const OPTION_DESCRIPTIONS = {
|
|
56
5
|
'--by': 'the decision that replaces this one',
|
|
@@ -62,9 +11,6 @@ const OPTION_DESCRIPTIONS = {
|
|
|
62
11
|
'--tools': 'AI tools to install integrations for',
|
|
63
12
|
'--workflows': 'workflows to install',
|
|
64
13
|
};
|
|
65
|
-
function takesValue(option) {
|
|
66
|
-
return VALUE_OPTIONS.includes(option);
|
|
67
|
-
}
|
|
68
14
|
/**
|
|
69
15
|
* A `_arguments` spec: a boolean stands alone, while a value option has to
|
|
70
16
|
* carry its `=` and an argument slot, or zsh offers it as a flag and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBjD"}
|
package/dist/commands/config.js
CHANGED
|
@@ -15,6 +15,9 @@ export function configCommand(cwd) {
|
|
|
15
15
|
}
|
|
16
16
|
lines.push(`workflows: ${workflows.join(', ')}`, '');
|
|
17
17
|
lines.push(`rules: ${JSON.stringify(config.rules ?? {})}`);
|
|
18
|
+
if (config.installedWith !== undefined) {
|
|
19
|
+
lines.push(`installed-with: ${config.installedWith}`);
|
|
20
|
+
}
|
|
18
21
|
return lines.join('\n');
|
|
19
22
|
}
|
|
20
23
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBnG"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { initRepository } from '../core/repository.js';
|
|
2
|
+
import { writeInstalledWithConfig } from '../core/config.js';
|
|
2
3
|
import { integrationSummary, parseTools, parseWorkflows, writeToolIntegrations, } from '../core/tool-integrations.js';
|
|
4
|
+
import { VERSION } from '../version.js';
|
|
3
5
|
export function initCommand(targetDir, toolsValue, workflowsValue) {
|
|
4
6
|
const tools = parseTools(toolsValue);
|
|
5
7
|
const workflows = parseWorkflows(workflowsValue);
|
|
@@ -8,6 +10,7 @@ export function initCommand(targetDir, toolsValue, workflowsValue) {
|
|
|
8
10
|
const { root, created } = initRepository(targetDir, tools, workflowsValue === undefined ? undefined : workflows);
|
|
9
11
|
const lines = created.map((path) => ` created ${path}`);
|
|
10
12
|
const integrations = writeToolIntegrations(root, tools, workflows);
|
|
13
|
+
writeInstalledWithConfig(root, VERSION);
|
|
11
14
|
return [
|
|
12
15
|
`ADR Kit initialized at ${root}`,
|
|
13
16
|
...lines,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,UAAmB,EAAE,cAAuB;IACzF,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACjD,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CACtC,SAAS,EACT,KAAK,EACL,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO;QACL,0BAA0B,IAAI,EAAE;QAChC,GAAG,KAAK;QACR,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC;QACzC,EAAE;QACF,OAAO;QACP,oGAAoG;QACpG,6EAA6E;KAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { findRoot } from '../core/config.js';
|
|
1
|
+
import { findRoot, installedWithNotice, readConfigSafe, withNotice } from '../core/config.js';
|
|
2
2
|
import { listDrafts, listRecords } from '../core/repository.js';
|
|
3
3
|
import { formatIssues, validateDraft, validateRepository } from '../core/validate.js';
|
|
4
|
+
import { VERSION } from '../version.js';
|
|
4
5
|
export function instructionsCommand(cwd) {
|
|
6
|
+
const root = findRoot(cwd);
|
|
7
|
+
const config = root === undefined ? undefined : readConfigSafe(root);
|
|
8
|
+
const notice = config === undefined ? undefined : installedWithNotice(config, VERSION);
|
|
9
|
+
return withNotice(instructionsOutput(cwd), notice);
|
|
10
|
+
}
|
|
11
|
+
function instructionsOutput(cwd) {
|
|
5
12
|
const root = findRoot(cwd);
|
|
6
13
|
if (root === undefined) {
|
|
7
14
|
const output = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiC/C"}
|
package/dist/commands/list.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { requireRoot } from '../core/config.js';
|
|
1
|
+
import { installedWithNotice, readConfigSafe, requireRoot, withNotice } from '../core/config.js';
|
|
2
2
|
import { displayName, listDrafts, listRecords, relativePath } from '../core/repository.js';
|
|
3
|
+
import { VERSION } from '../version.js';
|
|
3
4
|
export function listCommand(cwd) {
|
|
4
5
|
const root = requireRoot(cwd);
|
|
6
|
+
const config = readConfigSafe(root);
|
|
7
|
+
const notice = config === undefined ? undefined : installedWithNotice(config, VERSION);
|
|
5
8
|
const records = listRecords(root);
|
|
6
9
|
const drafts = listDrafts(root);
|
|
7
10
|
if (records.length === 0 && drafts.length === 0) {
|
|
8
|
-
return 'no ADRs yet: start one with "adrkit decide <title> --raised-by human --decided-by human" or "adrkit propose <title>"';
|
|
11
|
+
return withNotice('no ADRs yet: start one with "adrkit decide <title> --raised-by human --decided-by human" or "adrkit propose <title>"', notice);
|
|
9
12
|
}
|
|
10
13
|
const lines = [];
|
|
11
14
|
if (records.length > 0) {
|
|
12
|
-
lines.push('
|
|
15
|
+
lines.push('Decisions', '');
|
|
13
16
|
for (const record of records) {
|
|
14
17
|
const supersededNote = record.status === 'superseded' && record.supersededBy !== undefined
|
|
15
18
|
? ` [superseded by ${record.supersededBy}]`
|
|
@@ -25,6 +28,6 @@ export function listCommand(cwd) {
|
|
|
25
28
|
}
|
|
26
29
|
lines.push('');
|
|
27
30
|
}
|
|
28
|
-
return lines.join('\n').trimEnd();
|
|
31
|
+
return withNotice(lines.join('\n').trimEnd(), notice);
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CACf,sHAAsH,EACtH,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;gBACxF,CAAC,CAAC,oBAAoB,MAAM,CAAC,YAAY,GAAG;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA+CpF"}
|
|
@@ -6,29 +6,34 @@ import { stampLifecycleMove } from '../core/templates.js';
|
|
|
6
6
|
export function supersedeCommand(query, byQuery, cwd) {
|
|
7
7
|
const root = requireRoot(cwd);
|
|
8
8
|
const record = resolveRecord(root, query);
|
|
9
|
-
if (record.folder !== 'decisions') {
|
|
10
|
-
throw new Error(`"${query}" is not an accepted decision (it is in ${record.folder})`);
|
|
11
|
-
}
|
|
12
9
|
if (record.status === 'superseded') {
|
|
13
10
|
const current = record.supersededBy ?? 0;
|
|
14
11
|
throw new Error(`"${query}" is already superseded by ${current}; supersede that decision instead if it is now outdated`);
|
|
15
12
|
}
|
|
16
13
|
const replacement = resolveRecord(root, byQuery);
|
|
17
|
-
if (replacement.folder !== 'decisions') {
|
|
18
|
-
throw new Error(`"--by ${byQuery}" is not an accepted decision (it is in ${replacement.folder})`);
|
|
19
|
-
}
|
|
20
14
|
if (replacement.path === record.path) {
|
|
21
15
|
throw new Error('a decision cannot supersede itself');
|
|
22
16
|
}
|
|
23
17
|
if (replacement.status === 'superseded') {
|
|
24
18
|
throw new Error(`"--by ${byQuery}" is itself superseded; choose its currently accepted successor`);
|
|
25
19
|
}
|
|
20
|
+
if (replacement.status !== 'accepted') {
|
|
21
|
+
throw new Error(`"--by ${byQuery}" is not an accepted decision (status "${replacement.status}")`);
|
|
22
|
+
}
|
|
26
23
|
if (replacement.number === undefined) {
|
|
27
24
|
throw new Error(`"--by ${byQuery}" has no decision number`);
|
|
28
25
|
}
|
|
29
26
|
if (record.status !== 'accepted') {
|
|
30
27
|
throw new Error(`unexpected status "${record.status}" in ${record.fileName}`);
|
|
31
28
|
}
|
|
29
|
+
// A lifecycle rewrite emits only the canonical fields, so a key outside the
|
|
30
|
+
// set would disappear silently. Refuse and point at the command that reports
|
|
31
|
+
// it instead of dropping written content.
|
|
32
|
+
const extras = record.frontMatterExtras ?? [];
|
|
33
|
+
if (extras.length > 0) {
|
|
34
|
+
throw new Error(`"${query}" has unknown front matter field(s): ${extras.join(', ')}; ` +
|
|
35
|
+
`fix them with "adrkit validate ${record.number ?? query}" before superseding`);
|
|
36
|
+
}
|
|
32
37
|
const original = readRecord(record);
|
|
33
38
|
const patch = {
|
|
34
39
|
status: 'superseded',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,GAAW;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/commands/supersede.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,GAAW;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,8BAA8B,OAAO,yDAAyD,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iEAAiE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,0CAA0C,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,0BAA0B,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,4EAA4E;IAC5E,6EAA6E;IAC7E,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACpE,kCAAkC,MAAM,CAAC,MAAM,IAAI,KAAK,sBAAsB,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAoC;QAC7C,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,UAAU,EAAE;QAClB,eAAe,EAAE,WAAW,CAAC,MAAM;KACpC,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,4BAA4B,MAAM,CAAC,QAAQ,qBAAqB,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAkBA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAwB/F"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readConfig, requireRoot, writeToolsConfig, writeWorkflowsConfig, } from '../core/config.js';
|
|
1
|
+
import { readConfig, requireRoot, writeInstalledWithConfig, writeToolsConfig, writeWorkflowsConfig, } from '../core/config.js';
|
|
2
2
|
import { integrationSummary, parseTools, parseWorkflows, removeToolIntegrations, removeWorkflowIntegrations, staleIntegrationKeys, writeToolIntegrations, } from '../core/tool-integrations.js';
|
|
3
|
+
import { VERSION } from '../version.js';
|
|
3
4
|
export function updateCommand(cwd, toolsValue, workflowsValue) {
|
|
4
5
|
const root = requireRoot(cwd);
|
|
5
6
|
const config = readConfig(root);
|
|
@@ -15,6 +16,7 @@ export function updateCommand(cwd, toolsValue, workflowsValue) {
|
|
|
15
16
|
if (workflowsArg !== undefined)
|
|
16
17
|
writeWorkflowsConfig(root, workflows);
|
|
17
18
|
const integrations = writeToolIntegrations(root, tools, workflows);
|
|
19
|
+
writeInstalledWithConfig(root, VERSION);
|
|
18
20
|
const lines = [`updated AI tool integrations at ${root}`];
|
|
19
21
|
if (removed.length > 0) {
|
|
20
22
|
lines.push(` removed integrations for: ${removed.join(', ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,UAAmB,EAAE,cAAuB;IACrF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,UAAU,CACtB,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChF,CAAC;IACF,MAAM,YAAY,GAChB,cAAc,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,IAAI,YAAY,KAAK,SAAS;QAAE,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command surface: which commands exist and which options each one takes.
|
|
3
|
+
* `src/cli.ts` uses it to reject an option a command does not take, and
|
|
4
|
+
* `src/commands/completion.ts` uses it to offer the same options, so the two
|
|
5
|
+
* cannot drift apart. Update this table whenever the CLI surface changes.
|
|
6
|
+
*/
|
|
7
|
+
export declare const COMMANDS: readonly ['init', 'propose', 'decide', 'accept', 'reject', 'supersede', 'list', 'show', 'status', 'instructions', 'validate', 'update', 'config', 'graph', 'tree', 'completion', 'version', 'help'];
|
|
8
|
+
/**
|
|
9
|
+
* Options each command accepts, spelled with their leading dashes. `--help` is
|
|
10
|
+
* valid everywhere; the global `--version` never reaches a command because the
|
|
11
|
+
* CLI handles it before dispatch.
|
|
12
|
+
*/
|
|
13
|
+
export declare const COMMAND_OPTIONS: Record<string, string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Options that consume the following word as their value. Declaring them as
|
|
16
|
+
* valueless would make every shell treat them as flags, so completion would
|
|
17
|
+
* repeat the option list where the CLI expects free text.
|
|
18
|
+
*/
|
|
19
|
+
export declare const VALUE_OPTIONS: readonly ['--by', '--reason', '--tag', '--tools', '--workflows', '--out'];
|
|
20
|
+
export declare function takesValue(option: string): boolean;
|
|
21
|
+
/** Options supplied for a `command` that its synopsis does not list. */
|
|
22
|
+
export declare function unsupportedOptions(command: string, supplied: readonly string[]): string[];
|
|
23
|
+
//# sourceMappingURL=cli-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../src/core/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,MAAM,CACE,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAmBpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAI,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;AAEvG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAKzF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command surface: which commands exist and which options each one takes.
|
|
3
|
+
* `src/cli.ts` uses it to reject an option a command does not take, and
|
|
4
|
+
* `src/commands/completion.ts` uses it to offer the same options, so the two
|
|
5
|
+
* cannot drift apart. Update this table whenever the CLI surface changes.
|
|
6
|
+
*/
|
|
7
|
+
export const COMMANDS = [
|
|
8
|
+
'init',
|
|
9
|
+
'propose',
|
|
10
|
+
'decide',
|
|
11
|
+
'accept',
|
|
12
|
+
'reject',
|
|
13
|
+
'supersede',
|
|
14
|
+
'list',
|
|
15
|
+
'show',
|
|
16
|
+
'status',
|
|
17
|
+
'instructions',
|
|
18
|
+
'validate',
|
|
19
|
+
'update',
|
|
20
|
+
'config',
|
|
21
|
+
'graph',
|
|
22
|
+
'tree',
|
|
23
|
+
'completion',
|
|
24
|
+
'version',
|
|
25
|
+
'help',
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* Options each command accepts, spelled with their leading dashes. `--help` is
|
|
29
|
+
* valid everywhere; the global `--version` never reaches a command because the
|
|
30
|
+
* CLI handles it before dispatch.
|
|
31
|
+
*/
|
|
32
|
+
export const COMMAND_OPTIONS = {
|
|
33
|
+
init: ['--tools', '--workflows', '--help'],
|
|
34
|
+
propose: ['--help'],
|
|
35
|
+
decide: ['--raised-by', '--decided-by', '--help'],
|
|
36
|
+
accept: ['--raised-by', '--decided-by', '--help'],
|
|
37
|
+
reject: ['--reason', '--help'],
|
|
38
|
+
supersede: ['--by', '--help'],
|
|
39
|
+
list: ['--help'],
|
|
40
|
+
show: ['--help'],
|
|
41
|
+
status: ['--help'],
|
|
42
|
+
instructions: ['--help'],
|
|
43
|
+
validate: ['--all', '--help'],
|
|
44
|
+
update: ['--tools', '--workflows', '--help'],
|
|
45
|
+
config: ['--help'],
|
|
46
|
+
graph: ['--mermaid', '--dot', '--text', '--html', '--formal-only', '--tag', '--out', '--help'],
|
|
47
|
+
tree: ['--mermaid', '--text', '--html', '--help'],
|
|
48
|
+
completion: ['--help'],
|
|
49
|
+
version: ['--help'],
|
|
50
|
+
help: ['--help'],
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Options that consume the following word as their value. Declaring them as
|
|
54
|
+
* valueless would make every shell treat them as flags, so completion would
|
|
55
|
+
* repeat the option list where the CLI expects free text.
|
|
56
|
+
*/
|
|
57
|
+
export const VALUE_OPTIONS = ['--by', '--reason', '--tag', '--tools', '--workflows', '--out'];
|
|
58
|
+
export function takesValue(option) {
|
|
59
|
+
return VALUE_OPTIONS.includes(option);
|
|
60
|
+
}
|
|
61
|
+
/** Options supplied for a `command` that its synopsis does not list. */
|
|
62
|
+
export function unsupportedOptions(command, supplied) {
|
|
63
|
+
const allowed = COMMAND_OPTIONS[command];
|
|
64
|
+
if (allowed === undefined)
|
|
65
|
+
return [];
|
|
66
|
+
const set = new Set(allowed);
|
|
67
|
+
return supplied.filter((option) => !set.has(option));
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=cli-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../src/core/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,MAAM;IACN,MAAM;IACN,QAAQ;IACR,cAAc;IACd,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,YAAY;IACZ,SAAS;IACT,MAAM;CACE,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC1C,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7B,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC7B,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9F,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACjD,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;AAEvG,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,QAA2B;IAC7E,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface AdrKitConfig {
|
|
|
9
9
|
tools?: string[];
|
|
10
10
|
/** Workflow subset for integrations, e.g. `["init", "decide", "validate"]`. */
|
|
11
11
|
workflows?: string[];
|
|
12
|
+
/** Version of the CLI that last wrote the integrations; absent before this stamp existed. */
|
|
13
|
+
installedWith?: string;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Walk from `startDir` upward to find the nearest directory that contains
|
|
@@ -19,8 +21,35 @@ export declare function findRoot(startDir: string): string | undefined;
|
|
|
19
21
|
export declare function requireRoot(startDir: string): string;
|
|
20
22
|
export declare function configPath(root: string): string;
|
|
21
23
|
export declare function readConfig(root: string): AdrKitConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Read the configuration without throwing. The drift notice must never turn a
|
|
26
|
+
* command into a failure: a repository with a malformed `adr/config.yaml`
|
|
27
|
+
* simply has nothing honest to say about its stamp, and `validate` remains the
|
|
28
|
+
* command that reports the broken file.
|
|
29
|
+
*/
|
|
30
|
+
export declare function readConfigSafe(root: string): AdrKitConfig | undefined;
|
|
22
31
|
/** Update the `tools:` key; see {@link writeListConfig} for the semantics. */
|
|
23
32
|
export declare function writeToolsConfig(root: string, tools: string[]): void;
|
|
24
33
|
/** Update the `workflows:` key; see {@link writeListConfig} for the semantics. */
|
|
25
34
|
export declare function writeWorkflowsConfig(root: string, workflows: string[]): void;
|
|
35
|
+
/**
|
|
36
|
+
* Stamp the `installed-with:` scalar with the version that is writing the
|
|
37
|
+
* integrations. The stamp is what lets later commands notice that the
|
|
38
|
+
* installed skills predate (or postdate) the running CLI; see
|
|
39
|
+
* {@link installedWithNotice}.
|
|
40
|
+
*/
|
|
41
|
+
export declare function writeInstalledWithConfig(root: string, version: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* The one-line drift notice for a repository whose integrations were written
|
|
44
|
+
* by a different adr-kit than the one now running. The newer side suggests
|
|
45
|
+
* `adrkit update`; the older side directs to upgrading the package instead,
|
|
46
|
+
* because running `adrkit update` there would rewrite the newer installed
|
|
47
|
+
* skills with this CLI's older templates. Quiet — `undefined` — when
|
|
48
|
+
* there is nothing honest to say: no stamp (repositories configured before it
|
|
49
|
+
* existed), an explicit integrations opt-out, equal versions, or a version
|
|
50
|
+
* either side cannot parse.
|
|
51
|
+
*/
|
|
52
|
+
export declare function installedWithNotice(config: AdrKitConfig, currentVersion: string): string | undefined;
|
|
53
|
+
/** Append the drift notice to a command's output as its own paragraph. */
|
|
54
|
+
export declare function withNotice(output: string, notice: string | undefined): string;
|
|
26
55
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU7D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAmBD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAgCrD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMrE;AA4BD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAEpE;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK5E;AASD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAcpB;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7E"}
|
package/dist/core/config.js
CHANGED
|
@@ -58,6 +58,9 @@ export function readConfig(root) {
|
|
|
58
58
|
raw.workflows.every((entry) => typeof entry === 'string')) {
|
|
59
59
|
config.workflows = raw.workflows;
|
|
60
60
|
}
|
|
61
|
+
if (typeof raw['installed-with'] === 'string') {
|
|
62
|
+
config.installedWith = raw['installed-with'];
|
|
63
|
+
}
|
|
61
64
|
if (raw.rules !== null && typeof raw.rules === 'object' && !Array.isArray(raw.rules)) {
|
|
62
65
|
const rules = {};
|
|
63
66
|
for (const [key, value] of Object.entries(raw.rules)) {
|
|
@@ -69,11 +72,26 @@ export function readConfig(root) {
|
|
|
69
72
|
}
|
|
70
73
|
return config;
|
|
71
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Read the configuration without throwing. The drift notice must never turn a
|
|
77
|
+
* command into a failure: a repository with a malformed `adr/config.yaml`
|
|
78
|
+
* simply has nothing honest to say about its stamp, and `validate` remains the
|
|
79
|
+
* command that reports the broken file.
|
|
80
|
+
*/
|
|
81
|
+
export function readConfigSafe(root) {
|
|
82
|
+
try {
|
|
83
|
+
return readConfig(root);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
72
89
|
/**
|
|
73
90
|
* Rewrite a list-valued key of `adr/config.yaml` in place. Preserves other
|
|
74
91
|
* keys (`context`, `rules`, unknown keys) and comments attached to the
|
|
75
92
|
* surrounding YAML nodes. When the existing value is a sequence, reuse that
|
|
76
|
-
* node
|
|
93
|
+
* node to keep its flow/block style; the items are re-created, so a comment
|
|
94
|
+
* attached to an individual item does not survive.
|
|
77
95
|
*/
|
|
78
96
|
function writeListConfig(root, key, values) {
|
|
79
97
|
const file = configPath(root);
|
|
@@ -102,4 +120,54 @@ export function writeToolsConfig(root, tools) {
|
|
|
102
120
|
export function writeWorkflowsConfig(root, workflows) {
|
|
103
121
|
writeListConfig(root, 'workflows', workflows);
|
|
104
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Stamp the `installed-with:` scalar with the version that is writing the
|
|
125
|
+
* integrations. The stamp is what lets later commands notice that the
|
|
126
|
+
* installed skills predate (or postdate) the running CLI; see
|
|
127
|
+
* {@link installedWithNotice}.
|
|
128
|
+
*/
|
|
129
|
+
export function writeInstalledWithConfig(root, version) {
|
|
130
|
+
const file = configPath(root);
|
|
131
|
+
const parsed = parseConfigDocument(readFileSync(file, 'utf8'));
|
|
132
|
+
parsed.map.set('installed-with', version);
|
|
133
|
+
writeFileSync(file, parsed.document.toString());
|
|
134
|
+
}
|
|
135
|
+
const SEMVER = /^(\d+)\.(\d+)\.(\d+)$/;
|
|
136
|
+
function semver(value) {
|
|
137
|
+
const match = SEMVER.exec(value.trim());
|
|
138
|
+
return match === null ? undefined : [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The one-line drift notice for a repository whose integrations were written
|
|
142
|
+
* by a different adr-kit than the one now running. The newer side suggests
|
|
143
|
+
* `adrkit update`; the older side directs to upgrading the package instead,
|
|
144
|
+
* because running `adrkit update` there would rewrite the newer installed
|
|
145
|
+
* skills with this CLI's older templates. Quiet — `undefined` — when
|
|
146
|
+
* there is nothing honest to say: no stamp (repositories configured before it
|
|
147
|
+
* existed), an explicit integrations opt-out, equal versions, or a version
|
|
148
|
+
* either side cannot parse.
|
|
149
|
+
*/
|
|
150
|
+
export function installedWithNotice(config, currentVersion) {
|
|
151
|
+
const installed = config.installedWith;
|
|
152
|
+
if (installed === undefined)
|
|
153
|
+
return undefined;
|
|
154
|
+
if (config.tools !== undefined && config.tools.length === 0)
|
|
155
|
+
return undefined;
|
|
156
|
+
const written = semver(installed);
|
|
157
|
+
const running = semver(currentVersion);
|
|
158
|
+
if (written === undefined || running === undefined)
|
|
159
|
+
return undefined;
|
|
160
|
+
const order = written[0] - running[0] || written[1] - running[1] || written[2] - running[2];
|
|
161
|
+
if (order === 0)
|
|
162
|
+
return undefined;
|
|
163
|
+
return order < 0
|
|
164
|
+
? `note: the installed integrations were written by adr-kit ${installed}; this is ` +
|
|
165
|
+
`${currentVersion} - run "adrkit update" to refresh them`
|
|
166
|
+
: `note: this repository was configured by adr-kit ${installed}; you are running ` +
|
|
167
|
+
`${currentVersion}, which is older - upgrade adr-kit to at least ${installed}`;
|
|
168
|
+
}
|
|
169
|
+
/** Append the drift notice to a command's output as its own paragraph. */
|
|
170
|
+
export function withNotice(output, notice) {
|
|
171
|
+
return notice === undefined ? output : `${output}\n\n${notice}`;
|
|
172
|
+
}
|
|
105
173
|
//# sourceMappingURL=config.js.map
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAA+B,MAAM,MAAM,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation-html.d.ts","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"deliberation-html.d.ts","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsC1D,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyH/E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RELATION_STYLE, RELATION_SCRIPT } from './relation-focus.js';
|
|
2
|
-
import { isUnlockedQuestion } from './deliberation.js';
|
|
2
|
+
import { isOverride, isUnlockedQuestion } from './deliberation.js';
|
|
3
3
|
import { CANVAS_STYLE, CANVAS_SCRIPT, canvasHeaderHTML, canvasDockHTML } from './canvas-view.js';
|
|
4
4
|
import { TREE_STYLE, TREE_SCRIPT } from './deliberation-view.js';
|
|
5
5
|
import { SHARE_SCRIPT, SHARE_STYLE } from './share.js';
|
|
@@ -7,13 +7,6 @@ import { escapeHtml } from './view-text.js';
|
|
|
7
7
|
function kindOf(node) {
|
|
8
8
|
return node.type ?? (node.children.length > 0 ? 'question' : 'option');
|
|
9
9
|
}
|
|
10
|
-
/** Only option children can be answers; a settled follow-up is not an answer. */
|
|
11
|
-
function overridden(card) {
|
|
12
|
-
const chosen = card.options.filter(({ node }) => node.status === 'settled');
|
|
13
|
-
return card.kind === 'question' && chosen.length > 0
|
|
14
|
-
&& card.options.some(({ node }) => node.recommended)
|
|
15
|
-
&& !chosen.some(({ node }) => node.recommended);
|
|
16
|
-
}
|
|
17
10
|
function reason(node) {
|
|
18
11
|
return node.reason === undefined ? '' : `<p class="reason">${escapeHtml(node.reason)}</p>`;
|
|
19
12
|
}
|
|
@@ -84,7 +77,7 @@ export function renderCardTree(nodes, title) {
|
|
|
84
77
|
const chipped = new Set();
|
|
85
78
|
const markup = cards.map((card) => {
|
|
86
79
|
const { node, id, kind } = card;
|
|
87
|
-
const override =
|
|
80
|
+
const override = isOverride(card.node);
|
|
88
81
|
const chosen = card.options.filter((option) => option.node.status === 'settled');
|
|
89
82
|
const other = card.options.filter((option) => option.node.status !== 'settled');
|
|
90
83
|
const status = node.status ?? 'unrecorded';
|
|
@@ -118,7 +111,7 @@ export function renderCardTree(nodes, title) {
|
|
|
118
111
|
${card.children.length === 0 ? '' : `<button class="branch" aria-expanded="true" aria-controls="${card.children.join(' ')}" aria-label="${toggleLabel}">−</button>`}
|
|
119
112
|
</article>`;
|
|
120
113
|
}).join('\n');
|
|
121
|
-
const overrides = cards.filter(
|
|
114
|
+
const overrides = cards.filter((card) => isOverride(card.node)).length;
|
|
122
115
|
const stats = [
|
|
123
116
|
['questions', questionNumber],
|
|
124
117
|
['options', cards.reduce((sum, card) => sum + card.options.length, 0)],
|
|
@@ -131,7 +124,7 @@ export function renderCardTree(nodes, title) {
|
|
|
131
124
|
const legend = [
|
|
132
125
|
cards.some((card) => card.options.some(({ node }) => node.status === 'settled'))
|
|
133
126
|
? '<span data-share-selector=".card:not([hidden]) .answer">✓ Selected answer</span>' : '',
|
|
134
|
-
cards.some((card) => card.parent !== '') ? '<span data-share-selector="#edges path[data-unlocked=false]"><i class="edge-key"></i>Raised by</span>' : '',
|
|
127
|
+
cards.some((card) => card.parent !== '' && !card.unlocked) ? '<span data-share-selector="#edges path[data-unlocked=false]"><i class="edge-key"></i>Raised by</span>' : '',
|
|
135
128
|
cards.some((card) => card.unlocked) ? '<span data-share-selector="#edges path[data-unlocked=true]"><i class="edge-key unlocked"></i>Unlocked question</span>' : '',
|
|
136
129
|
overrides === 0 ? '' : '<span class="override-key" data-share-selector=".card:not([hidden]) .override">● Human override</span>',
|
|
137
130
|
...STATE_LEGEND
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation-html.js","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"deliberation-html.js","sourceRoot":"","sources":["../../src/core/deliberation-html.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,11 +33,6 @@ export declare function parseDeliberation(body: string | undefined): Deliberatio
|
|
|
33
33
|
* renders by, so a marker can never promise a tree the command refuses.
|
|
34
34
|
*/
|
|
35
35
|
export declare function hasDeliberationTree(body: string | undefined): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* A question whose answer (its settled child) is not the option the agent
|
|
38
|
-
* recommended. Unknown unless both a settled child and a recommended child
|
|
39
|
-
* exist.
|
|
40
|
-
*/
|
|
41
36
|
/**
|
|
42
37
|
* Whether the node that raised a follow-up question unlocked it. In the outline
|
|
43
38
|
* a question nests under the node it depends on, so that parent is the node
|
|
@@ -46,6 +41,13 @@ export declare function hasDeliberationTree(body: string | undefined): boolean;
|
|
|
46
41
|
* this one question rather than each deciding for itself.
|
|
47
42
|
*/
|
|
48
43
|
export declare function isUnlockedQuestion(child: DeliberationNode, parent: DeliberationNode, parentIsRoot: boolean): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether a question took other than the option the agent recommended. Only
|
|
46
|
+
* option children can be an answer: a settled follow-up question is not one, so
|
|
47
|
+
* it never makes a question overridden. The text, Mermaid, and card renderers
|
|
48
|
+
* all read this one predicate so they cannot disagree.
|
|
49
|
+
*/
|
|
50
|
+
export declare function isOverride(node: DeliberationNode): boolean;
|
|
49
51
|
export declare function renderDeliberationText(nodes: DeliberationNode[]): string;
|
|
50
52
|
export declare function renderDeliberationMermaid(nodes: DeliberationNode[]): string;
|
|
51
53
|
/** An offline HTML view; the annotated outline remains the source. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation.d.ts","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"deliberation.d.ts","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAoED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,EAAE,CAsB9E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAQD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAM1D;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAYxE;AAkBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,CA8D3E;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { renderCardTree } from './deliberation-html.js';
|
|
2
2
|
import { wrapText } from './view-text.js';
|
|
3
3
|
const BULLET = /^(\s*)-\s+(.*?)\s*$/;
|
|
4
|
-
const STATUS = /\[(settled|rejected|open)\]
|
|
4
|
+
const STATUS = /\[(settled|rejected|open)\]\s*(?:\([^)]*\)\s*)*$/i;
|
|
5
5
|
const RECOMMENDED = /\(recommended\)\s*$/i;
|
|
6
6
|
const TYPE = /^([QA]):\s+/i;
|
|
7
7
|
const EM_DASH = ' \u2014 ';
|
|
8
8
|
/**
|
|
9
|
-
* Split
|
|
10
|
-
* the only separator the grammar reserves, which leaves a hyphen free for
|
|
11
|
-
* prose
|
|
12
|
-
* into the
|
|
9
|
+
* Split the node text from its ` — reason`. The em dash with surrounding spaces
|
|
10
|
+
* is the only separator the grammar reserves, which leaves a hyphen free for
|
|
11
|
+
* prose. The first separator starts the reason, so a reason that itself contains
|
|
12
|
+
* ` — ` stays whole instead of swallowing text into the split.
|
|
13
13
|
*/
|
|
14
14
|
function splitReason(raw) {
|
|
15
|
-
const emDash = raw.
|
|
15
|
+
const emDash = raw.indexOf(EM_DASH);
|
|
16
16
|
if (emDash === -1)
|
|
17
17
|
return { content: raw };
|
|
18
18
|
return { content: raw.slice(0, emDash).trimEnd(), reason: raw.slice(emDash + EM_DASH.length).trim() };
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Parse one bullet in grammar order: the reason on the first separator, then a
|
|
22
|
+
* trailing `(recommended)`, then a trailing `[status]`. Only the trailing
|
|
23
|
+
* position is a marker, so a bracketed state word inside prose stays text.
|
|
24
|
+
*/
|
|
21
25
|
function parseNodeText(raw) {
|
|
22
26
|
const split = splitReason(raw);
|
|
23
27
|
let content = split.content;
|
|
@@ -31,7 +35,11 @@ function parseNodeText(raw) {
|
|
|
31
35
|
const statusMatch = content.match(STATUS);
|
|
32
36
|
if (statusMatch !== null && statusMatch.index !== undefined) {
|
|
33
37
|
status = statusMatch[1].toLowerCase();
|
|
34
|
-
|
|
38
|
+
// Remove only the token: a trailing unknown parenthetical such as a legacy
|
|
39
|
+
// (round N) stays in the text, and the spacing around the removed marker is
|
|
40
|
+
// not otherwise disturbed.
|
|
41
|
+
const token = statusMatch[0].slice(0, statusMatch[0].indexOf(']') + 1);
|
|
42
|
+
content = content.slice(0, statusMatch.index) + content.slice(statusMatch.index + token.length);
|
|
35
43
|
}
|
|
36
44
|
let type;
|
|
37
45
|
const typeMatch = content.match(TYPE);
|
|
@@ -99,11 +107,6 @@ function typeOf(node) {
|
|
|
99
107
|
return node.type;
|
|
100
108
|
return node.children.length > 0 ? 'question' : 'option';
|
|
101
109
|
}
|
|
102
|
-
/**
|
|
103
|
-
* A question whose answer (its settled child) is not the option the agent
|
|
104
|
-
* recommended. Unknown unless both a settled child and a recommended child
|
|
105
|
-
* exist.
|
|
106
|
-
*/
|
|
107
110
|
/**
|
|
108
111
|
* Whether the node that raised a follow-up question unlocked it. In the outline
|
|
109
112
|
* a question nests under the node it depends on, so that parent is the node
|
|
@@ -114,9 +117,16 @@ function typeOf(node) {
|
|
|
114
117
|
export function isUnlockedQuestion(child, parent, parentIsRoot) {
|
|
115
118
|
return typeOf(child) === 'question' && !parentIsRoot && parent.status === 'settled';
|
|
116
119
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Whether a question took other than the option the agent recommended. Only
|
|
122
|
+
* option children can be an answer: a settled follow-up question is not one, so
|
|
123
|
+
* it never makes a question overridden. The text, Mermaid, and card renderers
|
|
124
|
+
* all read this one predicate so they cannot disagree.
|
|
125
|
+
*/
|
|
126
|
+
export function isOverride(node) {
|
|
127
|
+
const options = node.children.filter((child) => typeOf(child) === 'option');
|
|
128
|
+
const settled = options.filter((child) => child.status === 'settled');
|
|
129
|
+
const recommended = options.filter((child) => child.recommended === true);
|
|
120
130
|
if (settled.length === 0 || recommended.length === 0)
|
|
121
131
|
return false;
|
|
122
132
|
return !settled.some((child) => child.recommended === true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA0C1C,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACrC,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/core/deliberation.ts"],"names":[],"mappings":"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"}
|
package/dist/core/templates.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ import { type AdrRecord, type DecidedBy, type RaisedBy } from './adr.js';
|
|
|
3
3
|
type FrontMatterValue = string | number | string[];
|
|
4
4
|
/**
|
|
5
5
|
* Render a YAML front matter block. Fields are written in the canonical
|
|
6
|
-
* order (status, date,
|
|
6
|
+
* order (status, date, raised-by, decided-by, created, commit, superseded-by,
|
|
7
|
+
* reason, tags); only the fields
|
|
7
8
|
* present in `fields` are emitted.
|
|
8
9
|
*/
|
|
9
10
|
export declare function frontMatter(fields: Record<string, FrontMatterValue>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAoClB,0DAA0D;AAC1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAoClB,0DAA0D;AAC1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAO5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBxE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA6BR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAgER;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,CAI7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAoBnG"}
|
package/dist/core/templates.js
CHANGED
|
@@ -32,7 +32,8 @@ ${text}
|
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Render a YAML front matter block. Fields are written in the canonical
|
|
35
|
-
* order (status, date,
|
|
35
|
+
* order (status, date, raised-by, decided-by, created, commit, superseded-by,
|
|
36
|
+
* reason, tags); only the fields
|
|
36
37
|
* present in `fields` are emitted.
|
|
37
38
|
*/
|
|
38
39
|
export function frontMatter(fields) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,EACP,UAAU,GAIX,MAAM,UAAU,CAAC;AAElB,oEAAoE;AACpE,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,UAAU;IACV,yBAAyB;IACzB,qBAAqB;IACrB,OAAO;CACR,CAAC;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,MAAM,CAC3D,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnD,CAAC;AAEF;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAuB;IAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,oCAAoC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5D,OAAO;EACP,IAAI;;CAEL,CAAC;AACF,CAAC;AAKD
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"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"}
|