wingfoil 0.2.1 → 0.2.2

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.
Files changed (66) hide show
  1. package/README.md +12 -6
  2. package/dist/cli/index.d.ts +1 -1
  3. package/dist/cli/index.js +1 -1
  4. package/dist/cli/init-command.d.ts.map +1 -1
  5. package/dist/cli/init-command.js +2 -1
  6. package/dist/cli/init-command.js.map +1 -1
  7. package/dist/cli/program.d.ts.map +1 -1
  8. package/dist/cli/program.js +117 -29
  9. package/dist/cli/program.js.map +1 -1
  10. package/dist/cli/registrar.d.ts +15 -6
  11. package/dist/cli/registrar.d.ts.map +1 -1
  12. package/dist/cli/registrar.js +4 -0
  13. package/dist/cli/registrar.js.map +1 -1
  14. package/dist/core/exit-code.d.ts.map +1 -1
  15. package/dist/core/exit-code.js +7 -6
  16. package/dist/core/exit-code.js.map +1 -1
  17. package/dist/core/index.d.ts +5 -4
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +232 -89
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/init.d.ts +5 -3
  22. package/dist/core/init.d.ts.map +1 -1
  23. package/dist/core/init.js +5 -3
  24. package/dist/core/init.js.map +1 -1
  25. package/dist/core/registry.d.ts +69 -17
  26. package/dist/core/registry.d.ts.map +1 -1
  27. package/dist/core/registry.js.map +1 -1
  28. package/dist/directives/schema.d.ts +3 -3
  29. package/dist/directives/schema.js +3 -3
  30. package/dist/mcp/index.d.ts +1 -1
  31. package/dist/memory/add.d.ts +62 -5
  32. package/dist/memory/add.d.ts.map +1 -1
  33. package/dist/memory/add.js +130 -7
  34. package/dist/memory/add.js.map +1 -1
  35. package/dist/memory/audit.d.ts +26 -6
  36. package/dist/memory/audit.d.ts.map +1 -1
  37. package/dist/memory/audit.js +27 -11
  38. package/dist/memory/audit.js.map +1 -1
  39. package/dist/memory/commit-message.js +1 -1
  40. package/dist/memory/commit-message.js.map +1 -1
  41. package/dist/memory/history.d.ts +1 -1
  42. package/dist/memory/history.js +1 -1
  43. package/dist/memory/index.d.ts +3 -3
  44. package/dist/memory/index.d.ts.map +1 -1
  45. package/dist/memory/index.js +6 -2
  46. package/dist/memory/index.js.map +1 -1
  47. package/dist/memory/state-machine.js +2 -2
  48. package/dist/storage/templates.d.ts.map +1 -1
  49. package/dist/storage/templates.js +12 -1
  50. package/dist/storage/templates.js.map +1 -1
  51. package/dist/validation/id.d.ts +26 -0
  52. package/dist/validation/id.d.ts.map +1 -1
  53. package/dist/validation/id.js +64 -1
  54. package/dist/validation/id.js.map +1 -1
  55. package/dist/validation/index.d.ts +1 -1
  56. package/dist/validation/index.d.ts.map +1 -1
  57. package/dist/validation/index.js +4 -1
  58. package/dist/validation/index.js.map +1 -1
  59. package/dist/validation/secret-scan.d.ts +7 -5
  60. package/dist/validation/secret-scan.d.ts.map +1 -1
  61. package/dist/validation/secret-scan.js +7 -5
  62. package/dist/validation/secret-scan.js.map +1 -1
  63. package/dist/workflow/schema.d.ts.map +1 -1
  64. package/dist/workflow/schema.js +27 -1
  65. package/dist/workflow/schema.js.map +1 -1
  66. package/package.json +23 -9
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <p align="center"><img src="docs/assets/wingfoil-mark.svg" width="140" alt="WingFoil logo"></p>
2
+
1
3
  # WingFoil
2
4
 
3
5
  **A structured harness for deterministic AI-assisted software development.**
@@ -63,7 +65,7 @@ real-time tracking of project state.
63
65
 
64
66
  ## Key Features
65
67
 
66
- ### Five Pillars — status in 0.2.1
68
+ ### Five Pillars — status in 0.2.2
67
69
 
68
70
  - ✓ **Project Memory** — Git-backed documents (tasks, ADRs, decision-logs, bugs, specs…) with per-type
69
71
  state machines, approval gates and an audit trail (**shipped**: create, search, submit, approve,
@@ -71,7 +73,7 @@ real-time tracking of project state.
71
73
  - ✓ **Project DNA** — Structured config: modules, tech stack, team & roles, resource paths
72
74
  (**shipped**: show, set, add, update, remove)
73
75
  - ✓ **Project Directives** — Role-scoped rules: six built-in templates installed by `init`, your own
74
- custom directives, role assignments (**shipped in 0.2.1**)
76
+ custom directives, role assignments (**shipped in 0.2**)
75
77
  - ✓ **Interaction Layer** — CLI for humans and agents; MCP server for agents with read-only Resources
76
78
  and one Prompt per role (**shipped**)
77
79
  - **Workflow State Management** — workflows are declared and listable today; the engine that starts
@@ -83,7 +85,7 @@ real-time tracking of project state.
83
85
  |---|---|
84
86
  | Setup | `wingfoil init [--template Scrum\|Kanban]` · `wingfoil mcp` |
85
87
  | DNA | `wingfoil dna show [section]` · `dna set <path> --value <v>` · `dna add` · `dna update` · `dna remove` · `wingfoil paths [category]` |
86
- | Memory | `wingfoil memory add --type <t> --title <t>` · `submit <id>` · `approve <id> --reason <r>` · `reject <id> --reason <r>` · `deprecate <id>` · `history <id>` · `search [keyword]` |
88
+ | Memory | `wingfoil memory add --type <t> --title <t> [--set <name>=<value>]` · `submit <id>` · `approve <id> --reason <r>` · `reject <id> --reason <r>` · `deprecate <id>` · `history <id>` · `search [keyword]` |
87
89
  | Directives | `wingfoil directive create --name <n>` · `directive assign --directive <n> --role <r>` · `directive remove <n>` · `wingfoil directives list [--role <r>]` |
88
90
  | Workflow | `wingfoil workflow list` |
89
91
 
@@ -232,13 +234,17 @@ WingFoil is built one pillar per release until all five are integrated in 1.0.
232
234
  |---|---|---|
233
235
  | Lean Inception · Requirements | Product vision, USM · BDD · SARD · backlog | ✓ Complete |
234
236
  | **0.1** | Project Memory + DNA | ✓ Released (not published to npm) |
235
- | **0.2** | + Project Directives, Memory approvals, DNA editing, MCP role Prompts | 🔄 Being released |
237
+ | **0.2** | + Project Directives, Memory approvals, DNA editing, MCP role Prompts | ✓ Released (`wingfoil@0.2.1` on npm) |
238
+ | **0.2.2** | Patch: configuration at the repository root, staged npm publishing, first-use fixes | 🔄 Being released |
236
239
  | **0.3** | + Project Workflow | Planned |
237
240
  | **0.4** | + Interaction Layer polish | Planned |
238
241
  | **1.0** | MVP complete | Planned |
239
242
 
240
- **Dogfooding:** WingFoil's own development is managed with WingFoil — its configuration lives under
241
- `docs/self/`.
243
+ **Dogfooding:** WingFoil's own development is managed with WingFoil — its configuration lives in
244
+ `.wingfoil/` and its Memory in `docs/04_memory/`, at the repository root. From there the Memory verbs
245
+ (`add`, `submit`, `approve`, `reject`, `deprecate`, `history`, `search`) run on WingFoil's own Memory,
246
+ through a published, pinned build of WingFoil (`npm run -s wingfoil -- <command>`), whose MCP server
247
+ is registered in `.mcp.json`. See [COLLABORATION.md](COLLABORATION.md).
242
248
 
243
249
  ---
244
250
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `cli` module — human interface (Commander.js + chalk); the `wingfoil` command surface.
2
+ * `cli` module — human interface (Commander.js); the `wingfoil` command surface.
3
3
  *
4
4
  * task-006-dual-interface-shared-core adds the thin adapter (spec-006 §2): `buildCliCommands`
5
5
  * (`./registrar.ts`) derives one `wingfoil <noun> <verb>` command descriptor per operation from a
package/dist/cli/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runMcp = exports.createReadlinePrompt = exports.runInit = exports.emitError = exports.renderSuccess = exports.isValidFormat = exports.exitWith = exports.buildProgram = exports.listRegisteredCliCommands = exports.buildCliCommands = exports.MODULE_NAME = void 0;
4
4
  /**
5
- * `cli` module — human interface (Commander.js + chalk); the `wingfoil` command surface.
5
+ * `cli` module — human interface (Commander.js); the `wingfoil` command surface.
6
6
  *
7
7
  * task-006-dual-interface-shared-core adds the thin adapter (spec-006 §2): `buildCliCommands`
8
8
  * (`./registrar.ts`) derives one `wingfoil <noun> <verb>` command descriptor per operation from a
@@ -1 +1 @@
1
- {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAeA,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAWhD,0GAA0G;AAC1G,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yGAAyG;IACzG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,iGAAiG;AACjG,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAClF;AA2CD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBvF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAS5E"}
1
+ {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAeA,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAWhD,0GAA0G;AAC1G,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yGAAyG;IACzG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,iGAAiG;AACjG,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAClF;AA4CD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBvF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAS5E"}
@@ -43,7 +43,8 @@ async function selectTemplate(options, deps, format) {
43
43
  }
44
44
  // 2. --template absent + (non-interactive OR not a TTY): fail immediately (spec-008 §4).
45
45
  if (!options.interactive || !deps.isTTY) {
46
- (0, error_1.emitError)('missing required argument: --template', { format });
46
+ // bug-140: name the legal values, read from the registry so a new template needs no edit here.
47
+ (0, error_1.emitError)(`missing required argument: --template (one of: ${storage_1.TEMPLATE_NAMES.join(', ')})`, { format });
47
48
  (0, exit_1.exitWith)(2);
48
49
  return null;
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAoB,KAAK,oBAAoB,EAAmB,MAAM,aAAa,CAAC;AAkB3F;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwHlH"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAMnE,OAAO,EAAoB,KAAK,oBAAoB,EAAmB,MAAM,aAAa,CAAC;AAkB3F;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgKlH"}
@@ -31,14 +31,17 @@ exports.buildProgram = buildProgram;
31
31
  * `tsconfig.test.json` and transforms `commander`'s ESM on the way in, see `jest.config.js` — and
32
32
  * black-box by `test/cli/program.integration.test.ts`, which spawns the compiled `dist/` and so
33
33
  * exercises the real ESM `import()` this file actually ships with.
34
- * `buildCliCommands`/`listRegisteredCliCommands` (`./registrar.ts`) still carry 100% of the
35
- * AC-relevant behavior; this file adds no logic of its own beyond Commander's own API calls.
34
+ * `buildCliCommands`/`listRegisteredCliCommands` (`./registrar.ts`) still carry the dispatch
35
+ * behaviour. What this file adds of its own is presentation: how `--help` renders the declaration each
36
+ * command carries (task-120 — the positional's name and required-ness, `(required)` on an option, the
37
+ * example and exit-code footer), covered by `test/cli/help-describes-every-command.test.ts`.
36
38
  */
37
39
  const node_fs_1 = require("node:fs");
38
40
  const node_path_1 = require("node:path");
39
41
  // Direct module import, not the `../core` barrel — the same path `./registrar.ts` already uses for the
40
42
  // other two exit-code mappings (task-101; keeps this file out of the barrel's merge surface).
41
43
  const exit_code_1 = require("../core/exit-code");
44
+ const storage_1 = require("../storage");
42
45
  const registrar_1 = require("./registrar");
43
46
  const init_command_1 = require("./init-command");
44
47
  const mcp_command_1 = require("./mcp-command");
@@ -96,6 +99,14 @@ async function buildProgram(modules, options) {
96
99
  (0, error_1.emitError)(incompleteInvocationReason(program.args), { format: 'console' });
97
100
  (0, exit_1.exitWith)(termination.exitCode);
98
101
  });
102
+ // How a command is listed under its parent (task-120, `bug-128`). Commander's own `subcommandTerm`
103
+ // renders each registered argument from the flag Commander ENFORCES, which is why every derived verb
104
+ // used to read `[positionals...]`; this renders the positional the operation declares instead,
105
+ // `<id>` when core refuses its absence and `[section]` when it does not. Installed before the first
106
+ // `.command()` for the same reason as the callback above: `copyInheritedSettings` copies the help
107
+ // configuration at registration time.
108
+ const declaredPositionals = new Map();
109
+ program.configureHelp({ subcommandTerm: (command) => subcommandTerm(command, declaredPositionals.get(command)) });
99
110
  // Register `-V, --version` so `wingfoil --version` prints the version and exits 0
100
111
  // (spec-008-cli-grammar §1, bug-001-cli-version-flag) — Commander handles it before any command.
101
112
  program.version(readPackageVersion());
@@ -107,12 +118,15 @@ async function buildProgram(modules, options) {
107
118
  // `wingfoil init` is a SPECIAL bootstrap command (task-029, P5.1.1): it runs BEFORE config exists,
108
119
  // so it is NOT a `CORE_MODULES` noun-verb op — it is wired directly here and drives `runInit`
109
120
  // (./init-command.ts). The wizard/`--template`/prompt-matrix logic is fully unit-tested in
110
- // ./init-command.ts; this registration is the same thin, un-unit-tested `commander` seam as the
111
- // rest of this file (see the module doc).
121
+ // ./init-command.ts; this registration is a thin `commander` seam, and `test/cli/program.test.ts`
122
+ // pins it (the command is registered and drives `runInit` with the resolved options).
112
123
  program
113
124
  .command('init')
114
- .description('initialize WingFoil in the current git repository')
115
- .option('--template <name>', 'methodology template to initialize with (non-interactive)')
125
+ .description('scaffold .wingfoil/ in the current git repository and commit it')
126
+ // bug-140: the legal values come from the template registry, the same list `--template` resolves
127
+ // against and the missing-argument error names (./init-command.ts).
128
+ .option('--template <name>', `methodology template, one of: ${storage_1.TEMPLATE_NAMES.join(', ')} (required without a terminal or with --no-interactive)`)
129
+ .addHelpText('after', leafHelpFooter(`wingfoil init --template ${storage_1.TEMPLATE_NAMES[0] ?? '<name>'}`))
116
130
  .action(async (localOpts) => {
117
131
  const globalOpts = program.opts();
118
132
  let root;
@@ -130,11 +144,12 @@ async function buildProgram(modules, options) {
130
144
  // starts the long-running production MCP server over stdio rather than wrapping a `CORE_MODULES`
131
145
  // noun-verb op, so — like `init` above — it is wired directly here and drives `runMcp`
132
146
  // (./mcp-command.ts). The pre-flight (resolve-root / error / exit 1) is unit-tested in
133
- // ./mcp-command.ts with an injected server-start; this registration is the same thin, un-unit-tested
134
- // `commander` seam as the rest of this file (see the module doc).
147
+ // ./mcp-command.ts with an injected server-start; this registration is a thin `commander` seam, and
148
+ // `test/cli/program.test.ts` pins it (the command is registered and drives `runMcp`).
135
149
  program
136
150
  .command('mcp')
137
151
  .description('start the WingFoil MCP server (read-only Resources and role Prompts) over stdio')
152
+ .addHelpText('after', leafHelpFooter('wingfoil mcp'))
138
153
  .action(async () => {
139
154
  const globalOpts = program.opts();
140
155
  const format = (0, output_1.isValidFormat)(globalOpts.format) ? globalOpts.format : 'console';
@@ -143,39 +158,109 @@ async function buildProgram(modules, options) {
143
158
  const nounCommands = new Map();
144
159
  for (const command of (0, registrar_1.buildCliCommands)(modules, options)) {
145
160
  const target = resolveCommandTarget(program, nounCommands, command);
146
- // A variadic optional bare positional list (task-025-implement-dna-set's `positionals` seam,
147
- // generalizing task-026's single `[positional]`) — registered on every command regardless of how
148
- // many positionals its operation reads (harmless if ignored), so `dna show [section]`,
149
- // `paths [category]`, `memory approve [id]` and `dna set|add|remove|update <path>` share ONE
150
- // positional mechanism. Every one of them now reads at most ONE positional: `dl-082-cli-parameter-shape`
151
- // states the rule the nine older commands already followed — a positional carries the identity of
152
- // the command's target, an option a named attribute — and task-093 moved `dna set`'s second
153
- // positional into `--value` to match. The list stays variadic so an operation can refuse an extra
154
- // positional with its own message rather than have Commander refuse it with an arity error.
161
+ // A flat command IS its noun (`paths`), so only a nested verb's noun takes the module's own line.
162
+ if (command.verb && command.nounDescription !== undefined)
163
+ nounCommands.get(command.noun)?.description(command.nounDescription);
164
+ if (command.description !== undefined)
165
+ target.description(command.description);
166
+ // The operand (task-025's `positionals` seam, named by task-120). PARSING is the same for every
167
+ // derived command whatever it declares: Commander accepts any number of operands and core decides
168
+ // what to refuse, with its own message — `dl-082-cli-parameter-shape` gives each command at most
169
+ // ONE positional, the identity of its target, and an operation refuses an extra one itself
170
+ // (`dna set`'s migration message) rather than leave it to a Commander arity error. A declared
171
+ // positional is registered as an OPTIONAL variadic argument under its declared name: marking it
172
+ // required to Commander would replace core's `missing required argument: memory submit <id>` with
173
+ // Commander's own refusal, so required-ness is RENDERED (the usage line below, `subcommandTerm`)
174
+ // and never enforced here. A command that declares none registers no argument — so `--help` shows
175
+ // none — and allows excess arguments, which accepts exactly what the variadic list accepted.
176
+ if (command.positional) {
177
+ target.argument(`[${command.positional.name}...]`, command.positional.description);
178
+ declaredPositionals.set(target, command.positional);
179
+ }
180
+ else {
181
+ target.allowExcessArguments(true);
182
+ }
155
183
  // Plus this command's own `--{flag}` options (task-028-implement-paths-category's
156
184
  // `CoreOperation.flags`, e.g. `paths`'s `--list`): Commander rejects an unknown option, so each
157
185
  // declared flag must be registered explicitly.
158
- target.argument('[positionals...]', 'optional positional arguments (the command target — e.g. a section/category name, a document id, or a `dna` field path)');
159
- for (const name of command.flags ?? []) {
160
- target.option(`--${name}`, `${name} flag`);
186
+ for (const flag of command.flags ?? []) {
187
+ target.option(`--${flag.name}`, flag.description ?? '');
161
188
  }
162
189
  // Value-bearing `--{name} <value>` options (task-020-implement-memory-add's `memory add
163
190
  // --type/--title/--tags`): Commander rejects an unknown option, so each declared option must be
164
191
  // registered explicitly with a `<value>` operand (distinguishing it from a boolean `--flag`).
192
+ // `required` is rendered in the description, not enforced by Commander (`requiredOption` would
193
+ // replace core's refusal, exactly as for the positional above).
165
194
  for (const option of command.options ?? []) {
166
- target.option(`--${option.name} <value>`, option.description ?? `${option.name} value`);
195
+ const flags = `--${option.name} <${option.valueName ?? 'value'}>`;
196
+ const description = [option.description, option.required === true ? '(required)' : undefined].filter(Boolean).join(' ');
197
+ // A repeatable option (task-110, `memory add --set`) collects every occurrence in order;
198
+ // Commander's default for a value option is last-one-wins, which would drop all but one.
199
+ if (option.repeatable === true) {
200
+ target.option(flags, description, (value, previous) => [...(previous ?? []), value]);
201
+ }
202
+ else {
203
+ target.option(flags, description);
204
+ }
167
205
  }
168
- // Commander's action callback for a `[positionals...]` variadic + options command is
169
- // `(positionalsArray, optionsObject, commandObject)`. Forward the whole array (task-025),
170
- // collapse this command's declared flags into a `{ name: boolean }` record (task-028) and its
171
- // declared value options into a `{ name: value }` record (task-020) for `run`.
172
- target.action(async (positionals = [], options = {}) => {
206
+ target.usage(['[options]', ...positionalTerm(command.positional)].join(' '));
207
+ if (command.example !== undefined)
208
+ target.addHelpText('after', leafHelpFooter(command.example));
209
+ // The action reads the operands and options off the invoked command itself: Commander passes the
210
+ // declared argument's values first only when one is registered, so the command object — always the
211
+ // LAST callback argument — is the one shape both kinds of command share. Forward the operands
212
+ // (task-025), collapse this command's declared flags into a `{ name: boolean }` record (task-028)
213
+ // and its declared value options into a `{ name: value }` record (task-020) for `run`.
214
+ target.action(async (...actionArgs) => {
215
+ const invoked = actionArgs[actionArgs.length - 1];
173
216
  const globalOpts = program.opts();
174
- await command.run(globalOpts.format, positionals, buildFlagValues(command, options), buildOptionValues(command, options));
217
+ const options = invoked.opts();
218
+ await command.run(globalOpts.format, invoked.args, buildFlagValues(command, options), buildOptionValues(command, options));
175
219
  });
176
220
  }
177
221
  return program;
178
222
  }
223
+ /**
224
+ * How `--help` shows a declared positional: `<name>` when the operation refuses its absence, `[name]`
225
+ * when it does not — one element or none, so callers can spread it into a list of terms.
226
+ */
227
+ function positionalTerm(positional) {
228
+ if (!positional)
229
+ return [];
230
+ return [positional.required === true ? `<${positional.name}>` : `[${positional.name}]`];
231
+ }
232
+ /**
233
+ * A command's line in its parent's command list — Commander's own term (`name`, then `[options]` when
234
+ * it has options of its own, then its arguments), with the DECLARED positional in place of the
235
+ * registered variadic argument (task-120). A command with no declared positional — Commander's own
236
+ * `help [command]` included — keeps Commander's rendering of whatever it registered.
237
+ */
238
+ function subcommandTerm(command, positional) {
239
+ const argumentTerms = positional
240
+ ? positionalTerm(positional)
241
+ : command.registeredArguments.map((argument) => {
242
+ const name = `${argument.name()}${argument.variadic ? '...' : ''}`;
243
+ return argument.required ? `<${name}>` : `[${name}]`;
244
+ });
245
+ return [command.name(), ...(command.options.length > 0 ? ['[options]'] : []), ...argumentTerms].join(' ');
246
+ }
247
+ /**
248
+ * The text after a command's own help (`spec-008-cli-grammar` §8, `P5.1.4-cli-ux.feature`): one example
249
+ * invocation, and the three exit codes of `spec-005` §1, the same for every command. Leaf commands
250
+ * only — a noun's help lists its verbs, and each verb carries its own.
251
+ */
252
+ function leafHelpFooter(example) {
253
+ return [
254
+ '',
255
+ 'Example:',
256
+ ` $ ${example}`,
257
+ '',
258
+ 'Exit codes:',
259
+ ' 0 success',
260
+ ' 1 the command line was valid, but the operation failed',
261
+ ' 2 the command line is wrong: unknown command or option, missing or invalid argument',
262
+ ].join('\n');
263
+ }
179
264
  /**
180
265
  * The `error: <reason>` text (spec-005 §3.1) for an invocation Commander found incomplete —
181
266
  * task-103-a-missing-verb-exits-2-with-an-error-line (`bug-103`). Commander supplies no message on
@@ -232,7 +317,7 @@ function resolveCommandTarget(program, nounCommands, command) {
232
317
  * `CliCommand.run`'s already-optional `flags` parameter.
233
318
  */
234
319
  function buildFlagValues(command, options) {
235
- const flagNames = command.flags ?? [];
320
+ const flagNames = (command.flags ?? []).map((flag) => flag.name);
236
321
  if (flagNames.length === 0)
237
322
  return undefined;
238
323
  const flagValues = {};
@@ -246,7 +331,8 @@ function buildFlagValues(command, options) {
246
331
  * into a `{ name: value }` record read from Commander's parsed options object (task-020), so
247
332
  * `command.run` never has to know Commander's option-object shape. An option the invocation omitted is
248
333
  * simply absent from the record (not present-as-`undefined`), so a core op can distinguish "not given"
249
- * from an empty string. Returns `undefined` when the command declares no value options (every command
334
+ * from an empty string; a repeatable option (task-110) is the array of its occurrences. Returns
335
+ * `undefined` when the command declares no value options (every command
250
336
  * before task-020-implement-memory-add), matching `CliCommand.run`'s already-optional `options` param.
251
337
  */
252
338
  function buildOptionValues(command, options) {
@@ -258,6 +344,8 @@ function buildOptionValues(command, options) {
258
344
  const value = options[commanderKey(name)];
259
345
  if (typeof value === 'string')
260
346
  optionValues[name] = value;
347
+ else if (Array.isArray(value))
348
+ optionValues[name] = value.filter((item) => typeof item === 'string');
261
349
  }
262
350
  return optionValues;
263
351
  }
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * unit-testable; wiring this command model onto a real `commander` `Command` tree is a separate,
16
16
  * thin, mechanical concern.
17
17
  */
18
- import type { CoreModule, CoreOption, ParamsBuilder } from '../core/registry';
18
+ import type { CoreFlag, CoreModule, CoreOption, CorePositional, ParamsBuilder } from '../core/registry';
19
19
  /** Ambient dependencies {@link buildCliCommands} needs: how to resolve the project root and how to shape each operation's params. */
20
20
  export interface BuildCommandsOptions {
21
21
  /** Resolves the project root a core call needs — an ambient/environment concern, not a CLI flag. */
@@ -32,10 +32,18 @@ export interface CliCommand {
32
32
  readonly noun: string;
33
33
  readonly verb: string;
34
34
  readonly mutates: boolean;
35
- /** Copied from `CoreOperation.flags` (`../core/registry.ts`) — the boolean flag names `program.ts`
35
+ /** Copied from `CoreModule.description` — the noun's one-line summary (task-120). */
36
+ readonly nounDescription?: string;
37
+ /** Copied from `CoreOperation.description` — the command's one-line summary (task-120). */
38
+ readonly description?: string;
39
+ /** Copied from `CoreOperation.positional` — the operand `--help` names; absent when it reads none (task-120). */
40
+ readonly positional?: CorePositional;
41
+ /** Copied from `CoreOperation.example` — the invocation `--help` shows under `Example:` (task-120). */
42
+ readonly example?: string;
43
+ /** Copied from `CoreOperation.flags` (`../core/registry.ts`) — the boolean flags `program.ts`
36
44
  * registers as Commander `--{name}` options for this command (empty/absent for every command
37
- * before task-028-implement-paths-category; `['list']` for `paths`). */
38
- readonly flags?: readonly string[];
45
+ * before task-028-implement-paths-category; `--list` for `paths`). */
46
+ readonly flags?: readonly CoreFlag[];
39
47
  /** Copied from `CoreOperation.options` (`../core/registry.ts`) — the value-bearing `--{name} <value>`
40
48
  * options `program.ts` registers for this command (task-020-implement-memory-add; empty/absent for
41
49
  * every command before it). */
@@ -47,12 +55,13 @@ export interface CliCommand {
47
55
  * `wingfoil dna set project.license --value MIT` -> `['project.license']`, one positional per
48
56
  * command since `dl-082-cli-parameter-shape`), this command's own parsed `--{flag}`
49
57
  * values (task-028, e.g. `{ list: true }`), and its parsed value-bearing `--{name} <value>` OPTIONS
50
- * (task-020, e.g. `{ type: 'decision', title: 'Use PostgreSQL' }`). All are additive/optional — a
58
+ * (task-020, e.g. `{ type: 'decision', title: 'Use PostgreSQL' }`; a repeatable option's value is
59
+ * the array of its occurrences, task-110). All are additive/optional — a
51
60
  * command that reads no positional and declares no flags/options is still called exactly as before:
52
61
  * `run(format)`. The single-positional read ops (`dna show`, `paths`) read `positionals[0]` via
53
62
  * `ParamsContext.positional`.
54
63
  */
55
- readonly run: (formatValue: string, positionals?: readonly string[], flags?: Readonly<Record<string, boolean>>, options?: Readonly<Record<string, string>>) => Promise<void>;
64
+ readonly run: (formatValue: string, positionals?: readonly string[], flags?: Readonly<Record<string, boolean>>, options?: Readonly<Record<string, string | readonly string[]>>) => Promise<void>;
56
65
  }
57
66
  /**
58
67
  * Derive one `CliCommand` per operation in `modules`, in `enumerateOperations`'s deterministic
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAS9E,qIAAqI;AACrI,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;4EAEwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;mCAE+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,GAAG,EAAE,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,EAC/B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,UAAU,EAAE,CA+D5G;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAEnF"}
1
+ {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASxG,qIAAqI;AACrI,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;0EAEsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;mCAE+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,GAAG,EAAE,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,EAC/B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,KAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,UAAU,EAAE,CAmE5G;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAEnF"}
@@ -18,6 +18,10 @@ function buildCliCommands(modules, options) {
18
18
  noun: module.name,
19
19
  verb,
20
20
  mutates: operation.mutates,
21
+ nounDescription: module.description,
22
+ description: operation.description,
23
+ positional: operation.positional,
24
+ example: operation.example,
21
25
  flags: operation.flags,
22
26
  options: operation.options,
23
27
  run: async (formatValue, positionals, flags, optionValues) => {
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit-code.d.ts","sourceRoot":"","sources":["../../src/core/exit-code.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,wGAAwG;AACxG,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAgBjC,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE3D;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ,CAEvE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAoDD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,QAAQ,CAEvE;AAED,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAS9D"}
1
+ {"version":3,"file":"exit-code.d.ts","sourceRoot":"","sources":["../../src/core/exit-code.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,wGAAwG;AACxG,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAgBjC,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE3D;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ,CAEvE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAqDD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,QAAQ,CAEvE;AAED,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAS9D"}
@@ -64,12 +64,13 @@ function exitCodeForResult(result) {
64
64
  * version surface: a Commander upgrade that renames or adds one must revisit this set, which is why
65
65
  * the codes are listed explicitly here rather than inferred from the suggested exit code.
66
66
  *
67
- * One of them, `commander.excessArguments`, is mapped but **unreachable in production today**: every
68
- * derived command registers a variadic `[positionals...]` (`src/cli/program.ts`), so Commander never
69
- * has an excess argument to refuse — `wingfoil dna show project extra` is accepted and an extra
70
- * positional on a write verb is refused by WingFoil's own check instead, already at exit `2`. It is
71
- * listed because the mapping must stay correct for the code rather than for today's registration
72
- * shape; a reader finding it never fires is not looking at a mistake.
67
+ * One of them, `commander.excessArguments`, is reached in production only by the two hand-wired
68
+ * bootstrap commands (`wingfoil init extra` → `error: too many arguments for 'init'…`, exit `2`,
69
+ * pinned by `test/cli/commander-parse-exit-codes.integration.test.ts`). A command derived from
70
+ * `CORE_MODULES` never raises it: `src/cli/program.ts` registers a declared positional as an optional
71
+ * variadic list and lets a command without one accept excess operands (task-120), so
72
+ * `wingfoil dna show project extra` is accepted and an extra positional on a write verb is refused by
73
+ * WingFoil's own check instead, already at exit `2`.
73
74
  */
74
75
  const USAGE_ERROR_PARSE_CODES = new Set([
75
76
  'commander.unknownCommand',
@@ -1 +1 @@
1
- {"version":3,"file":"exit-code.js","sourceRoot":"","sources":["../../src/core/exit-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exit-code.js","sourceRoot":"","sources":["../../src/core/exit-code.ts"],"names":[],"mappings":"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"}
@@ -96,13 +96,14 @@ export { DNA_ENTRY_OPTION_PREFIX, dnaEntryOptionName, dnaEntryFieldOfOption } fr
96
96
  /**
97
97
  * `wingfoil memory add` params (P1.3, task-020-implement-memory-add) — the FIRST Memory-document
98
98
  * mutation. `options` is the value-bearing-option seam this task establishes
99
- * (`ParamsContext.options`, `core/registry.ts`), read as `--type`/`--title`/`--tags`. The MCP surface
100
- * never populates it (task-030 wires the Tool input schema); a call with no options simply has all
101
- * three absent, which the required checks below reject as usage errors.
99
+ * (`ParamsContext.options`, `core/registry.ts`), read as `--type`/`--title`/`--tags` and the repeatable
100
+ * `--set <name>=<value>` (task-110, `spec-008-cli-grammar` §10), which arrives as a string array. The
101
+ * MCP surface never populates it (task-030 wires the Tool input schema); a call with no options simply
102
+ * has all of them absent, which the required checks below reject as usage errors.
102
103
  */
103
104
  export interface MemoryAddParams {
104
105
  readonly root: string;
105
- readonly options?: Readonly<Record<string, string>>;
106
+ readonly options?: Readonly<Record<string, string | readonly string[]>>;
106
107
  }
107
108
  /**
108
109
  * `wingfoil memory search [keyword]` params (P1.5, task-021-implement-memory-search) — reuses
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}