@fenglimg/fabric-shared 2.0.0-rc.13 → 2.0.0-rc.15

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.
@@ -39,6 +39,8 @@ var enMessages = {
39
39
  "cli.bootstrap.install.prepended": "Prepended {path}",
40
40
  "cli.bootstrap.errors.unknown-client": 'Unknown client "{client}". Use a comma-separated list such as claude,cursor,codex.',
41
41
  "cli.config.description": "Manage Fabric MCP client configuration.",
42
+ "cli.config.placeholder": "Config panel coming in rc.16 \u2014 edit fabric-config.json directly for now.",
43
+ "cli.config.args.target.description": "Target project directory (defaults to cwd).",
42
44
  "cli.config.clients.claude": "Claude Code CLI",
43
45
  "cli.config.install.description": "Install Fabric MCP server entries into detected client configs.",
44
46
  "cli.config.install.args.clients.description": "Optional comma-separated client filter, for example cursor,codex.",
@@ -53,15 +55,15 @@ var enMessages = {
53
55
  "doctor.section.fixable": "Fixable errors:",
54
56
  "doctor.section.manual": "Manual errors:",
55
57
  "doctor.section.warnings": "Warnings:",
56
- "doctor.section.apply-lint-mutations": "Apply-lint mutations:",
58
+ "doctor.section.fix-knowledge-mutations": "Fix-knowledge mutations:",
57
59
  "cli.doctor.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
58
60
  "cli.doctor.args.fix.description": "Repair deterministic derived Fabric state, including meta, knowledge-test index, bootstrap, and events ledger.",
59
61
  "cli.doctor.args.json.description": "Print the doctor report as JSON.",
60
62
  "cli.doctor.args.strict.description": "Treat warnings as failures.",
61
- "cli.doctor.args.force.description": "Run even if a serve process appears to hold the lock.",
62
- "cli.doctor.args.apply-lint.description": "Apply lint mutations: demote orphaned canonical entries, archive stale drafts, and bump drifted index counters. Emits knowledge_demoted / knowledge_archived events. Default doctor invocation remains report-only.",
63
- "cli.doctor.args.yes.description": "Skip the --apply-lint safety confirm. Required for non-tty invocations unless FABRIC_NONINTERACTIVE=1 is set in the environment.",
64
- "cli.doctor.errors.apply-lint-fix-mutually-exclusive": "--apply-lint and --fix cannot be combined. --apply-lint mutates user knowledge state (demote/archive); --fix repairs derived state (meta/index). Run them separately.",
63
+ "cli.doctor.args.fix-knowledge.description": "Apply lint mutations: demote orphaned canonical entries, archive stale drafts, and bump drifted index counters. Emits knowledge_demoted / knowledge_archived events. Default doctor invocation remains report-only.",
64
+ "cli.doctor.args.rescan.description": "Re-run the init scan to rebuild .fabric/agents.meta.json forensic state before doctor checks.",
65
+ "cli.doctor.args.yes.description": "Skip the --fix-knowledge safety confirm. Required for non-tty invocations unless FABRIC_NONINTERACTIVE=1 is set in the environment.",
66
+ "cli.doctor.errors.fix-knowledge-fix-mutually-exclusive": "--fix-knowledge and --fix cannot be combined. --fix-knowledge mutates user knowledge state (demote/archive); --fix repairs derived state (meta/index). Run them separately.",
65
67
  "cli.hooks.description": "Manage Fabric Git hook templates.",
66
68
  "cli.hooks.install.description": "Install the Fabric Husky pre-commit hook template.",
67
69
  "cli.hooks.install.args.target.description": "Target project path, default is the current working directory.",
@@ -80,29 +82,18 @@ var enMessages = {
80
82
  "cli.install.description": "Install Fabric in the target project.",
81
83
  "cli.install.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
82
84
  "cli.install.args.debug.description": "Print target resolution details to stderr.",
83
- "cli.install.args.force.description": "Overwrite existing files (bypass non-destructive guard)",
84
85
  "cli.install.args.yes.description": "Accept the current install plan and run without the TTY wizard",
85
- "cli.install.args.plan.description": "Print the install plan without writing files or running follow-up stages",
86
- "cli.install.args.reapply.description": "Reapply Fabric-managed files and stage installers over an existing setup",
87
- "cli.install.args.no-bootstrap.description": "Compatibility flag: remove bootstrap from the install plan",
88
- "cli.install.args.no-mcp.description": "Compatibility flag: remove MCP configuration from the install plan",
89
- "cli.install.args.no-hooks.description": "Compatibility flag: remove git hooks from the install plan",
90
- "cli.install.args.interactive.description": "Compatibility flag: disable the TTY wizard and use direct execution",
86
+ "cli.install.args.dry-run.description": "Print the install plan without writing files or running follow-up stages",
91
87
  "cli.install.mcp.install.global": "Using globally-installed @fenglimg/fabric-server",
92
88
  "cli.install.mcp.install.local": "Installing @fenglimg/fabric-server to project devDependencies",
93
- "cli.install.mcp.install.prompt": "MCP server install scope (global|local)",
94
- "cli.install.mcp.install.invalid": 'Invalid --mcp-install value "{value}" \u2014 falling back to global',
95
89
  "cli.install.mcp.local.installing": "Running {manager} add -D @fenglimg/fabric-server...",
96
90
  "cli.install.mcp.local.installed": "Installed to devDependencies",
97
- "cli.install.mcp.scope.description": "Claude MCP config scope: project (writes .mcp.json) or user (writes ~/.claude.json)",
98
- "cli.install.mcp.scope.invalid": 'Invalid --scope value "{value}" \u2014 falling back to project',
99
91
  "cli.install.mcp.scope.project": "Writes .mcp.json in project root (per Claude Code spec)",
100
92
  "cli.install.mcp.scope.user": "Writes ~/.claude.json (user-scoped, applies to all projects)",
101
93
  "cli.install.wizard.mcp-scope": "Claude MCP config scope (project/.mcp.json or user/~/.claude.json) [{defaultValue}]",
102
94
  "cli.install.created-path": "{label} {path}",
103
95
  "cli.install.skipped-existing-path": "{label} {path}: already exists.",
104
- "cli.install.force.overwritten": "Overwritten",
105
- "cli.install.force.warning": "--force will overwrite existing Fabric artifacts in {path}",
96
+ "cli.install.label.overwritten": "Overwritten",
106
97
  "cli.install.stages.bootstrap": "Installing bootstrap templates...",
107
98
  "cli.install.stages.mcp": "Configuring MCP clients...",
108
99
  "cli.install.stages.hooks": "Installing git hooks...",
@@ -118,8 +109,6 @@ var enMessages = {
118
109
  "cli.install.plan.title": "Fabric install plan",
119
110
  "cli.install.plan.mode-banner.default": "[mode: apply] Standard install execution",
120
111
  "cli.install.plan.mode-banner.plan": "[mode: plan] Dry run only, no files will be written",
121
- "cli.install.plan.mode-banner.reapply": "[mode: reapply] Force reapplying Fabric-managed assets",
122
- "cli.install.plan.mode-banner.plan-reapply": "[mode: plan+reapply] Previewing a forced reapply without writing files",
123
112
  "cli.install.plan.target": "Target: {target}",
124
113
  "cli.install.plan.actions": "Plan: bootstrap={bootstrap} mcp={mcp} hooks={hooks} mcp-install={mcpInstall}",
125
114
  "cli.install.plan.detected": "Detected clients: {clients}",
@@ -127,14 +116,8 @@ var enMessages = {
127
116
  "cli.install.plan.preview-title": "Fabric install dry run",
128
117
  "cli.install.plan.preview-result": "Mode={mode} bootstrap={bootstrap} mcp={mcp} hooks={hooks}",
129
118
  "cli.install.mode.default": "default",
130
- "cli.install.mode.reapply": "reapply",
131
119
  "cli.install.mode.badge.default": "APPLY",
132
120
  "cli.install.mode.badge.plan": "PLAN",
133
- "cli.install.mode.badge.reapply": "REAPPLY",
134
- "cli.install.mode.badge.plan-reapply": "PLAN + REAPPLY",
135
- "cli.install.compat.plan": "Using standard --plan mode: no files will be written.",
136
- "cli.install.compat.interactive": "Compatibility: --interactive=false disables the TTY wizard.",
137
- "cli.install.compat.legacy-stage-flags": "Compatibility: legacy --no-* flags are being mapped into the install plan.",
138
121
  "cli.install.wizard.title": "Fabric install wizard",
139
122
  "cli.install.wizard.intro": "Fabric install",
140
123
  "cli.install.wizard.overview.title": "Install overview",
@@ -185,27 +168,27 @@ var enMessages = {
185
168
  "cli.install.claude-settings.invalid-hooks": '{label} {path}: "hooks" must be a JSON object.',
186
169
  "cli.install.claude-settings.invalid-stop-array": '{label} {path}: "hooks.Stop" must be an array.',
187
170
  "cli.install.errors.abort-existing": "ABORT: {path} already exists. fab install is non-destructive.",
171
+ "cli.install.diff.canonical": "Workspace already canonical ({count} files verified).",
172
+ "cli.install.diff.applying-missing": "Applying {count} missing pieces: {files}",
173
+ "cli.install.diff.drift-abort": "Drift detected in {path}. Run `fab doctor` to inspect, or `fab uninstall && fab install` to reset.",
174
+ "cli.install.diff.state.missing": "missing",
175
+ "cli.install.diff.state.present-canonical": "canonical",
176
+ "cli.install.diff.state.drifted": "drifted",
177
+ "cli.install.diff.state.user-modified": "user-modified",
188
178
  "cli.uninstall.description": "Uninstall Fabric from the target project.",
189
179
  "cli.uninstall.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
190
180
  "cli.uninstall.args.debug.description": "Print target resolution details to stderr.",
191
- "cli.uninstall.args.force.description": "Run even if a serve process appears to hold the lock.",
192
181
  "cli.uninstall.args.yes.description": "Accept the current uninstall plan and run without the TTY wizard.",
193
- "cli.uninstall.args.plan.description": "Print the uninstall plan without removing files or running follow-up stages.",
194
- "cli.uninstall.flags.no-bootstrap": "Skip the bootstrap stage (Skills, hook scripts, hook-config un-merge).",
195
- "cli.uninstall.flags.no-mcp": "Skip the MCP stage (per-client writer.remove for fabric).",
196
- "cli.uninstall.flags.no-scaffold": "Skip the scaffold stage (.fabric/ state files and .gitkeep markers).",
197
- "cli.uninstall.flags.interactive": "Run the interactive TTY wizard when available.",
198
- "cli.uninstall.flags.purge": "Also remove .fabric/knowledge/ subdir contents and state files. Personal-root ~/.fabric/knowledge/ is never touched.",
199
- "cli.uninstall.flags.clean-empties": "Cascade-remove empty arrays/objects when un-merging hook configs.",
182
+ "cli.uninstall.args.dry-run.description": "Print the uninstall plan without removing files or running follow-up stages.",
200
183
  "cli.uninstall.plan.title": "Fabric uninstall plan",
201
184
  "cli.uninstall.plan.target": "Target: {target}",
202
- "cli.uninstall.plan.actions": "Plan: scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
185
+ "cli.uninstall.plan.actions": "Plan: scaffold={scaffold} bootstrap={bootstrap} mcp={mcp}",
203
186
  "cli.uninstall.plan.detected": "Detected clients: {clients}",
204
187
  "cli.uninstall.plan.preserves": "Preserves:",
205
- "cli.uninstall.plan.preserves.knowledge": "team knowledge tree (unless --purge)",
188
+ "cli.uninstall.plan.preserves.knowledge": "team knowledge tree (always preserved)",
206
189
  "cli.uninstall.plan.preserves.personal": "personal root, never touched",
207
190
  "cli.uninstall.plan.preview-title": "Fabric uninstall dry run",
208
- "cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
191
+ "cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp}",
209
192
  "cli.uninstall.plan.scaffold-entries.title": "Scaffold entries:",
210
193
  "cli.uninstall.stages.scaffold": "Removing scaffold artifacts...",
211
194
  "cli.uninstall.stages.bootstrap": "Removing bootstrap (Skills + hooks)...",
@@ -217,7 +200,7 @@ var enMessages = {
217
200
  "cli.uninstall.summary.body": "removed={removed} skipped={skipped} errors={errors}",
218
201
  "cli.uninstall.wizard.intro": "Fabric uninstall",
219
202
  "cli.uninstall.wizard.overview.title": "Uninstall overview",
220
- "cli.uninstall.wizard.overview.body": "Target: {target}\nThis wizard only reshapes the uninstall plan; execution still runs through the existing Fabric uninstall stages.\n.fabric/knowledge/ is preserved unless --purge. ~/.fabric/knowledge/ is never touched.",
203
+ "cli.uninstall.wizard.overview.body": "Target: {target}\nThis wizard only reshapes the uninstall plan; execution still runs through the existing Fabric uninstall stages.\n.fabric/knowledge/ is always preserved. ~/.fabric/knowledge/ is never touched.",
221
204
  "cli.uninstall.wizard.step.target": "Confirm target",
222
205
  "cli.uninstall.wizard.step.plan": "Shape uninstall plan",
223
206
  "cli.uninstall.wizard.step.review": "Review final plan",
@@ -225,8 +208,6 @@ var enMessages = {
225
208
  "cli.uninstall.wizard.stage.scaffold": "Remove scaffold artifacts? [{defaultValue}]",
226
209
  "cli.uninstall.wizard.stage.bootstrap": "Remove bootstrap (Skills + hooks)? [{defaultValue}]",
227
210
  "cli.uninstall.wizard.stage.mcp": "Un-register MCP clients? [{defaultValue}]",
228
- "cli.uninstall.wizard.purge": "Purge .fabric/knowledge/ subdir contents too? ~/.fabric/knowledge/ stays untouched. [{defaultValue}]",
229
- "cli.uninstall.wizard.clean-empties": "Cascade-remove empty arrays/objects in hook configs? [{defaultValue}]",
230
211
  "cli.uninstall.wizard.execute.confirm": "Execute this uninstall plan now? [Y/n]",
231
212
  "cli.uninstall.wizard.outro": "Uninstall plan accepted. Running Fabric uninstall...",
232
213
  "cli.uninstall.wizard.cancelled": "Fabric uninstall cancelled before execution.",
@@ -270,8 +251,8 @@ var enMessages = {
270
251
  "cli.serve.args.host.description": "Listen host, default 127.0.0.1. Set FABRIC_AUTH_TOKEN to enable Bearer auth for non-localhost binding.",
271
252
  "cli.serve.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
272
253
  "cli.serve.args.debug.description": "Print target resolution details to stderr.",
273
- "cli.serve.args.force.description": "Force-acquire the serve lock even if another serve process appears to be running.",
274
254
  "cli.serve.ready.title": "Fabric Dashboard",
255
+ "cli.serve.lock-held.action-hint": "A `fab serve` instance (PID {pid}) is holding the workspace lock. Stop it (Ctrl-C in that terminal or `kill {pid}`) before running this command.",
275
256
  "cli.serve.warning.host-fallback": "--host {host} requires FABRIC_AUTH_TOKEN; falling back to 127.0.0.1 for safety",
276
257
  "cli.serve.error.port-in-use": "Port {port} in use - try --port {nextPort}",
277
258
  "cli.update.description": "Refresh MCP host configuration and git hooks without re-creating Fabric files.",
@@ -527,6 +508,8 @@ var zhCNMessages = {
527
508
  "cli.bootstrap.install.prepended": "\u5DF2\u524D\u7F6E\u5199\u5165 {path}",
528
509
  "cli.bootstrap.errors.unknown-client": "\u672A\u77E5\u5BA2\u6237\u7AEF\u201C{client}\u201D\u3002\u8BF7\u4F7F\u7528\u9017\u53F7\u5206\u9694\u5217\u8868\uFF0C\u4F8B\u5982 claude,cursor,codex\u3002",
529
510
  "cli.config.description": "\u7BA1\u7406 Fabric MCP \u5BA2\u6237\u7AEF\u914D\u7F6E\u3002",
511
+ "cli.config.placeholder": "\u914D\u7F6E\u9762\u677F\u5C06\u5728 rc.16 \u4E0A\u7EBF \u2014 \u6682\u8BF7\u76F4\u63A5\u7F16\u8F91 fabric-config.json\u3002",
512
+ "cli.config.args.target.description": "\u76EE\u6807\u9879\u76EE\u76EE\u5F55\uFF08\u9ED8\u8BA4\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF09\u3002",
530
513
  "cli.config.clients.claude": "Claude Code CLI",
531
514
  "cli.config.install.description": "\u5C06 Fabric MCP \u670D\u52A1\u7AEF\u6761\u76EE\u5B89\u88C5\u5230\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E2D\u3002",
532
515
  "cli.config.install.args.clients.description": "\u53EF\u9009\u7684\u9017\u53F7\u5206\u9694\u5BA2\u6237\u7AEF\u8FC7\u6EE4\u5668\uFF0C\u4F8B\u5982 cursor,codex\u3002",
@@ -541,15 +524,15 @@ var zhCNMessages = {
541
524
  "doctor.section.fixable": "\u53EF\u4FEE\u590D\u9519\u8BEF\uFF1A",
542
525
  "doctor.section.manual": "\u9700\u624B\u52A8\u4FEE\u590D\uFF1A",
543
526
  "doctor.section.warnings": "\u8B66\u544A\uFF1A",
544
- "doctor.section.apply-lint-mutations": "Apply-lint \u53D8\u66F4\uFF1A",
527
+ "doctor.section.fix-knowledge-mutations": "Fix-knowledge \u53D8\u66F4\uFF1A",
545
528
  "cli.doctor.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\u3002\u9ED8\u8BA4\u4F9D\u6B21\u4F7F\u7528 CLI \u53C2\u6570\u3001EXTERNAL_FIXTURE_PATH\u3001fabric.config.json\u3001\u5F53\u524D\u76EE\u5F55\u3002",
546
529
  "cli.doctor.args.fix.description": "\u4FEE\u590D\u786E\u5B9A\u6027\u6D3E\u751F\u7684 Fabric \u72B6\u6001\uFF0C\u5305\u62EC meta\u3001knowledge-test \u7D22\u5F15\u3001bootstrap \u548C events ledger\u3002",
547
530
  "cli.doctor.args.json.description": "\u4EE5 JSON \u8F93\u51FA doctor \u62A5\u544A\u3002",
548
531
  "cli.doctor.args.strict.description": "\u5C06 warning \u4E5F\u89C6\u4E3A\u5931\u8D25\u3002",
549
- "cli.doctor.args.force.description": "\u5373\u4F7F serve \u8FDB\u7A0B\u6301\u6709\u9501\uFF0C\u4E5F\u5F3A\u5236\u8FD0\u884C\u3002",
550
- "cli.doctor.args.apply-lint.description": "\u5E94\u7528 lint \u53D8\u66F4\uFF1A\u964D\u7EA7\u5B64\u7ACB\u7684\u89C4\u8303\u6761\u76EE\u3001\u5F52\u6863\u9648\u65E7 draft\u3001\u4FEE\u6B63\u6F02\u79FB\u7684\u7D22\u5F15\u8BA1\u6570\u5668\uFF1B\u5199\u5165 knowledge_demoted / knowledge_archived \u4E8B\u4EF6\u3002\u9ED8\u8BA4\u8FD0\u884C\u4ECD\u7136\u53EA\u8BFB\u3002",
551
- "cli.doctor.args.yes.description": "\u8DF3\u8FC7 --apply-lint \u7684\u5B89\u5168\u786E\u8BA4\uFF1B\u975E tty \u8C03\u7528\u5FC5\u987B\u663E\u5F0F\u8BBE\u7F6E\u8BE5\u6807\u8BB0\uFF0C\u6216\u5728\u73AF\u5883\u53D8\u91CF\u4E2D\u8BBE\u7F6E FABRIC_NONINTERACTIVE=1\u3002",
552
- "cli.doctor.errors.apply-lint-fix-mutually-exclusive": "--apply-lint \u4E0E --fix \u4E0D\u53EF\u540C\u65F6\u4F7F\u7528\u3002--apply-lint \u4FEE\u6539\u7528\u6237\u77E5\u8BC6\u72B6\u6001\uFF08\u964D\u7EA7/\u5F52\u6863\uFF09\uFF1B--fix \u4FEE\u590D\u6D3E\u751F\u72B6\u6001\uFF08meta/\u7D22\u5F15\uFF09\u3002\u8BF7\u5206\u522B\u8FD0\u884C\u3002",
532
+ "cli.doctor.args.fix-knowledge.description": "\u5E94\u7528 lint \u53D8\u66F4\uFF1A\u964D\u7EA7\u5B64\u7ACB\u7684\u89C4\u8303\u6761\u76EE\u3001\u5F52\u6863\u9648\u65E7 draft\u3001\u4FEE\u6B63\u6F02\u79FB\u7684\u7D22\u5F15\u8BA1\u6570\u5668\uFF1B\u5199\u5165 knowledge_demoted / knowledge_archived \u4E8B\u4EF6\u3002\u9ED8\u8BA4\u8FD0\u884C\u4ECD\u7136\u53EA\u8BFB\u3002",
533
+ "cli.doctor.args.rescan.description": "\u5728 doctor \u68C0\u67E5\u4E4B\u524D\u91CD\u65B0\u8FD0\u884C init scan\uFF0C\u4EE5\u91CD\u5EFA .fabric/agents.meta.json \u7684\u53D6\u8BC1\u72B6\u6001\u3002",
534
+ "cli.doctor.args.yes.description": "\u8DF3\u8FC7 --fix-knowledge \u7684\u5B89\u5168\u786E\u8BA4\uFF1B\u975E tty \u8C03\u7528\u5FC5\u987B\u663E\u5F0F\u8BBE\u7F6E\u8BE5\u6807\u8BB0\uFF0C\u6216\u5728\u73AF\u5883\u53D8\u91CF\u4E2D\u8BBE\u7F6E FABRIC_NONINTERACTIVE=1\u3002",
535
+ "cli.doctor.errors.fix-knowledge-fix-mutually-exclusive": "--fix-knowledge \u4E0E --fix \u4E0D\u53EF\u540C\u65F6\u4F7F\u7528\u3002--fix-knowledge \u4FEE\u6539\u7528\u6237\u77E5\u8BC6\u72B6\u6001\uFF08\u964D\u7EA7/\u5F52\u6863\uFF09\uFF1B--fix \u4FEE\u590D\u6D3E\u751F\u72B6\u6001\uFF08meta/\u7D22\u5F15\uFF09\u3002\u8BF7\u5206\u522B\u8FD0\u884C\u3002",
553
536
  "cli.hooks.description": "\u7BA1\u7406 Fabric Git \u94A9\u5B50\u6A21\u677F\u3002",
554
537
  "cli.hooks.install.description": "\u5B89\u88C5 Fabric Husky pre-commit \u94A9\u5B50\u6A21\u677F\u3002",
555
538
  "cli.hooks.install.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u3002",
@@ -568,29 +551,18 @@ var zhCNMessages = {
568
551
  "cli.install.description": "\u5728\u76EE\u6807\u9879\u76EE\u4E2D\u5B89\u88C5 Fabric\u3002",
569
552
  "cli.install.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\u3002\u9ED8\u8BA4\u4F9D\u6B21\u4F7F\u7528 CLI \u53C2\u6570\u3001EXTERNAL_FIXTURE_PATH\u3001fabric.config.json\u3001\u5F53\u524D\u76EE\u5F55\u3002",
570
553
  "cli.install.args.debug.description": "\u5C06\u76EE\u6807\u89E3\u6790\u7EC6\u8282\u8F93\u51FA\u5230 stderr\u3002",
571
- "cli.install.args.force.description": "\u8986\u76D6\u73B0\u6709\u6587\u4EF6\uFF08\u7ED5\u8FC7\u975E\u7834\u574F\u6027\u4FDD\u62A4\uFF09",
572
554
  "cli.install.args.yes.description": "\u63A5\u53D7\u5F53\u524D\u5B89\u88C5\u8BA1\u5212\u5E76\u8DF3\u8FC7 TTY \u5411\u5BFC\u76F4\u63A5\u6267\u884C",
573
- "cli.install.args.plan.description": "\u4EC5\u8F93\u51FA\u5B89\u88C5\u8BA1\u5212\uFF0C\u4E0D\u5199\u6587\u4EF6\u4E5F\u4E0D\u6267\u884C\u540E\u7EED\u9636\u6BB5",
574
- "cli.install.args.reapply.description": "\u5728\u5DF2\u6709 setup \u4E0A\u91CD\u65B0\u5E94\u7528 Fabric \u7BA1\u7406\u7684\u6587\u4EF6\u548C\u9636\u6BB5\u5B89\u88C5\u5668",
575
- "cli.install.args.no-bootstrap.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u5B89\u88C5\u8BA1\u5212\u4E2D\u79FB\u9664 bootstrap",
576
- "cli.install.args.no-mcp.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u5B89\u88C5\u8BA1\u5212\u4E2D\u79FB\u9664 MCP \u914D\u7F6E",
577
- "cli.install.args.no-hooks.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u5B89\u88C5\u8BA1\u5212\u4E2D\u79FB\u9664 git hooks",
578
- "cli.install.args.interactive.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u7981\u7528 TTY \u5411\u5BFC\u5E76\u76F4\u63A5\u6267\u884C",
555
+ "cli.install.args.dry-run.description": "\u4EC5\u8F93\u51FA\u5B89\u88C5\u8BA1\u5212\uFF0C\u4E0D\u5199\u6587\u4EF6\u4E5F\u4E0D\u6267\u884C\u540E\u7EED\u9636\u6BB5",
579
556
  "cli.install.mcp.install.global": "\u4F7F\u7528\u5168\u5C40\u5B89\u88C5\u7684 @fenglimg/fabric-server",
580
557
  "cli.install.mcp.install.local": "\u5C06 @fenglimg/fabric-server \u5B89\u88C5\u5230\u9879\u76EE devDependencies",
581
- "cli.install.mcp.install.prompt": "MCP \u670D\u52A1\u7AEF\u5B89\u88C5\u8303\u56F4\uFF08global|local\uFF09",
582
- "cli.install.mcp.install.invalid": "\u65E0\u6548\u7684 --mcp-install \u503C\u201C{value}\u201D\uFF0C\u5C06\u56DE\u9000\u5230 global",
583
558
  "cli.install.mcp.local.installing": "\u6B63\u5728\u8FD0\u884C {manager} add -D @fenglimg/fabric-server...",
584
559
  "cli.install.mcp.local.installed": "\u5DF2\u5B89\u88C5\u5230 devDependencies",
585
- "cli.install.mcp.scope.description": "Claude MCP \u914D\u7F6E\u8303\u56F4\uFF1Aproject\uFF08\u5199\u5165 .mcp.json\uFF09\u6216 user\uFF08\u5199\u5165 ~/.claude.json\uFF09",
586
- "cli.install.mcp.scope.invalid": "\u65E0\u6548\u7684 --scope \u503C\u201C{value}\u201D\uFF0C\u5C06\u56DE\u9000\u5230 project",
587
560
  "cli.install.mcp.scope.project": "\u5199\u5165\u9879\u76EE\u6839\u76EE\u5F55\u7684 .mcp.json\uFF08\u7B26\u5408 Claude Code \u89C4\u8303\uFF09",
588
561
  "cli.install.mcp.scope.user": "\u5199\u5165 ~/.claude.json\uFF08\u7528\u6237\u8303\u56F4\uFF0C\u9002\u7528\u4E8E\u6240\u6709\u9879\u76EE\uFF09",
589
562
  "cli.install.wizard.mcp-scope": "Claude MCP \u914D\u7F6E\u8303\u56F4\uFF08project/.mcp.json \u6216 user/~/.claude.json\uFF09[{defaultValue}]",
590
563
  "cli.install.created-path": "{label} {path}",
591
564
  "cli.install.skipped-existing-path": "{label} {path}\uFF1A\u5DF2\u5B58\u5728\u3002",
592
- "cli.install.force.overwritten": "\u5DF2\u8986\u76D6",
593
- "cli.install.force.warning": "--force \u5C06\u8986\u76D6 {path} \u4E2D\u73B0\u6709\u7684 Fabric \u4EA7\u7269",
565
+ "cli.install.label.overwritten": "\u5DF2\u8986\u76D6",
594
566
  "cli.install.stages.bootstrap": "\u6B63\u5728\u5B89\u88C5 bootstrap \u6A21\u677F...",
595
567
  "cli.install.stages.mcp": "\u6B63\u5728\u914D\u7F6E MCP \u5BA2\u6237\u7AEF...",
596
568
  "cli.install.stages.hooks": "\u6B63\u5728\u5B89\u88C5 git hooks...",
@@ -606,8 +578,6 @@ var zhCNMessages = {
606
578
  "cli.install.plan.title": "Fabric \u5B89\u88C5\u8BA1\u5212",
607
579
  "cli.install.plan.mode-banner.default": "[mode: apply] \u6807\u51C6\u5B89\u88C5\u6267\u884C",
608
580
  "cli.install.plan.mode-banner.plan": "[mode: plan] \u4EC5\u9884\u89C8\uFF0C\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6",
609
- "cli.install.plan.mode-banner.reapply": "[mode: reapply] \u5C06\u5F3A\u5236\u91CD\u65B0\u5E94\u7528 Fabric \u7BA1\u7406\u8D44\u4EA7",
610
- "cli.install.plan.mode-banner.plan-reapply": "[mode: plan+reapply] \u6B63\u5728\u9884\u89C8\u4E00\u6B21\u5F3A\u5236 reapply\uFF0C\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6",
611
581
  "cli.install.plan.target": "\u76EE\u6807\uFF1A{target}",
612
582
  "cli.install.plan.actions": "\u8BA1\u5212\uFF1Abootstrap={bootstrap} mcp={mcp} hooks={hooks} mcp-install={mcpInstall}",
613
583
  "cli.install.plan.detected": "\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\uFF1A{clients}",
@@ -615,14 +585,8 @@ var zhCNMessages = {
615
585
  "cli.install.plan.preview-title": "Fabric \u5B89\u88C5 dry run",
616
586
  "cli.install.plan.preview-result": "\u6A21\u5F0F={mode} bootstrap={bootstrap} mcp={mcp} hooks={hooks}",
617
587
  "cli.install.mode.default": "default",
618
- "cli.install.mode.reapply": "reapply",
619
588
  "cli.install.mode.badge.default": "APPLY",
620
589
  "cli.install.mode.badge.plan": "PLAN",
621
- "cli.install.mode.badge.reapply": "REAPPLY",
622
- "cli.install.mode.badge.plan-reapply": "PLAN + REAPPLY",
623
- "cli.install.compat.plan": "\u5DF2\u542F\u7528\u6807\u51C6 --plan \u6A21\u5F0F\uFF1A\u4E0D\u4F1A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\u3002",
624
- "cli.install.compat.interactive": "\u517C\u5BB9\u63D0\u793A\uFF1A--interactive=false \u4F1A\u7981\u7528 TTY \u5411\u5BFC\u3002",
625
- "cli.install.compat.legacy-stage-flags": "\u517C\u5BB9\u63D0\u793A\uFF1A\u65E7\u7684 --no-* \u6807\u5FD7\u6B63\u5728\u6620\u5C04\u5230\u5B89\u88C5\u8BA1\u5212\u4E2D\u3002",
626
590
  "cli.install.wizard.title": "Fabric \u5B89\u88C5\u5411\u5BFC",
627
591
  "cli.install.wizard.intro": "Fabric install",
628
592
  "cli.install.wizard.overview.title": "\u5B89\u88C5\u6982\u89C8",
@@ -673,27 +637,27 @@ var zhCNMessages = {
673
637
  "cli.install.claude-settings.invalid-hooks": '{label} {path}\uFF1A"hooks" \u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002',
674
638
  "cli.install.claude-settings.invalid-stop-array": '{label} {path}\uFF1A"hooks.Stop" \u5FC5\u987B\u662F\u6570\u7EC4\u3002',
675
639
  "cli.install.errors.abort-existing": "\u4E2D\u6B62\uFF1A{path} \u5DF2\u5B58\u5728\u3002fab install \u662F\u975E\u7834\u574F\u6027\u7684\u3002",
640
+ "cli.install.diff.canonical": "\u5DE5\u4F5C\u533A\u5DF2\u662F\u89C4\u8303\u72B6\u6001\uFF08\u5DF2\u6821\u9A8C {count} \u4E2A\u6587\u4EF6\uFF09\u3002",
641
+ "cli.install.diff.applying-missing": "\u6B63\u5728\u8865\u9F50 {count} \u4E2A\u7F3A\u5931\u9879\uFF1A{files}",
642
+ "cli.install.diff.drift-abort": "\u68C0\u6D4B\u5230 {path} \u5DF2\u88AB\u4FEE\u6539\u3002\u8FD0\u884C `fab doctor` \u8FDB\u884C\u68C0\u67E5\uFF0C\u6216 `fab uninstall && fab install` \u8FDB\u884C\u91CD\u7F6E\u3002",
643
+ "cli.install.diff.state.missing": "\u7F3A\u5931",
644
+ "cli.install.diff.state.present-canonical": "\u89C4\u8303",
645
+ "cli.install.diff.state.drifted": "\u6F02\u79FB",
646
+ "cli.install.diff.state.user-modified": "\u7528\u6237\u4FEE\u6539",
676
647
  "cli.uninstall.description": "\u4ECE\u76EE\u6807\u9879\u76EE\u4E2D\u5378\u8F7D Fabric\u3002",
677
648
  "cli.uninstall.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\u3002\u9ED8\u8BA4\u4F9D\u6B21\u4F7F\u7528 CLI \u53C2\u6570\u3001EXTERNAL_FIXTURE_PATH\u3001fabric.config.json\u3001\u5F53\u524D\u76EE\u5F55\u3002",
678
649
  "cli.uninstall.args.debug.description": "\u5C06\u76EE\u6807\u89E3\u6790\u7EC6\u8282\u8F93\u51FA\u5230 stderr\u3002",
679
- "cli.uninstall.args.force.description": "\u5373\u4F7F serve \u8FDB\u7A0B\u6301\u6709\u9501\uFF0C\u4E5F\u5F3A\u5236\u8FD0\u884C\u3002",
680
650
  "cli.uninstall.args.yes.description": "\u63A5\u53D7\u5F53\u524D\u5378\u8F7D\u8BA1\u5212\u5E76\u8DF3\u8FC7 TTY \u5411\u5BFC\u76F4\u63A5\u6267\u884C\u3002",
681
- "cli.uninstall.args.plan.description": "\u4EC5\u8F93\u51FA\u5378\u8F7D\u8BA1\u5212\uFF0C\u4E0D\u5220\u9664\u6587\u4EF6\u4E5F\u4E0D\u6267\u884C\u540E\u7EED\u9636\u6BB5\u3002",
682
- "cli.uninstall.flags.no-bootstrap": "\u8DF3\u8FC7 bootstrap \u9636\u6BB5\uFF08Skills\u3001hook \u811A\u672C\u3001hook \u914D\u7F6E\u53CD\u5408\u5E76\uFF09\u3002",
683
- "cli.uninstall.flags.no-mcp": "\u8DF3\u8FC7 MCP \u9636\u6BB5\uFF08\u6309\u5BA2\u6237\u7AEF\u6267\u884C writer.remove('fabric')\uFF09\u3002",
684
- "cli.uninstall.flags.no-scaffold": "\u8DF3\u8FC7 scaffold \u9636\u6BB5\uFF08.fabric/ \u72B6\u6001\u6587\u4EF6\u4E0E .gitkeep \u6807\u8BB0\uFF09\u3002",
685
- "cli.uninstall.flags.interactive": "\u5728 TTY \u53EF\u7528\u65F6\u8FD0\u884C\u4EA4\u4E92\u5F0F\u5411\u5BFC\u3002",
686
- "cli.uninstall.flags.purge": "\u540C\u65F6\u5220\u9664 .fabric/knowledge/ \u5B50\u76EE\u5F55\u5185\u5BB9\u53CA\u72B6\u6001\u6587\u4EF6\uFF1B~/.fabric/knowledge/ \u4E2A\u4EBA\u6839\u6C38\u4E0D\u53D7\u5F71\u54CD\u3002",
687
- "cli.uninstall.flags.clean-empties": "\u53CD\u5408\u5E76\u94A9\u5B50\u914D\u7F6E\u65F6\u7EA7\u8054\u6E05\u7406\u7A7A\u6570\u7EC4/\u5BF9\u8C61\u3002",
651
+ "cli.uninstall.args.dry-run.description": "\u4EC5\u8F93\u51FA\u5378\u8F7D\u8BA1\u5212\uFF0C\u4E0D\u5220\u9664\u6587\u4EF6\u4E5F\u4E0D\u6267\u884C\u540E\u7EED\u9636\u6BB5\u3002",
688
652
  "cli.uninstall.plan.title": "Fabric \u5378\u8F7D\u8BA1\u5212",
689
653
  "cli.uninstall.plan.target": "\u76EE\u6807\uFF1A{target}",
690
- "cli.uninstall.plan.actions": "\u8BA1\u5212\uFF1Ascaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
654
+ "cli.uninstall.plan.actions": "\u8BA1\u5212\uFF1Ascaffold={scaffold} bootstrap={bootstrap} mcp={mcp}",
691
655
  "cli.uninstall.plan.detected": "\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\uFF1A{clients}",
692
656
  "cli.uninstall.plan.preserves": "\u4FDD\u7559\u9879\uFF1A",
693
- "cli.uninstall.plan.preserves.knowledge": "\u56E2\u961F\u77E5\u8BC6\u6811\uFF08\u9664\u975E\u4F20\u5165 --purge\uFF09",
657
+ "cli.uninstall.plan.preserves.knowledge": "\u56E2\u961F\u77E5\u8BC6\u6811\uFF08\u59CB\u7EC8\u4FDD\u7559\uFF09",
694
658
  "cli.uninstall.plan.preserves.personal": "\u4E2A\u4EBA\u6839\u76EE\u5F55\uFF0C\u6C38\u4E0D\u89E6\u78B0",
695
659
  "cli.uninstall.plan.preview-title": "Fabric \u5378\u8F7D dry run",
696
- "cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
660
+ "cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp}",
697
661
  "cli.uninstall.plan.scaffold-entries.title": "Scaffold \u5F85\u6E05\u7406\u9879\uFF1A",
698
662
  "cli.uninstall.stages.scaffold": "\u6B63\u5728\u6E05\u7406 scaffold \u4EA7\u7269...",
699
663
  "cli.uninstall.stages.bootstrap": "\u6B63\u5728\u79FB\u9664 bootstrap\uFF08Skills + hooks\uFF09...",
@@ -705,7 +669,7 @@ var zhCNMessages = {
705
669
  "cli.uninstall.summary.body": "removed={removed} skipped={skipped} errors={errors}",
706
670
  "cli.uninstall.wizard.intro": "\u5378\u8F7D Fabric",
707
671
  "cli.uninstall.wizard.overview.title": "\u5378\u8F7D\u6982\u89C8",
708
- "cli.uninstall.wizard.overview.body": "\u76EE\u6807\uFF1A{target}\n\u8FD9\u4E2A\u5411\u5BFC\u53EA\u8D1F\u8D23\u8C03\u6574\u5378\u8F7D\u8BA1\u5212\uFF1B\u771F\u6B63\u6267\u884C\u4ECD\u7136\u8D70\u73B0\u6709\u7684 Fabric uninstall \u9636\u6BB5\u3002\n\u9664\u975E\u4F20\u5165 --purge\uFF0C\u5426\u5219 .fabric/knowledge/ \u4F1A\u88AB\u4FDD\u7559\uFF1B~/.fabric/knowledge/ \u6C38\u4E0D\u53D7\u5F71\u54CD\u3002",
672
+ "cli.uninstall.wizard.overview.body": "\u76EE\u6807\uFF1A{target}\n\u8FD9\u4E2A\u5411\u5BFC\u53EA\u8D1F\u8D23\u8C03\u6574\u5378\u8F7D\u8BA1\u5212\uFF1B\u771F\u6B63\u6267\u884C\u4ECD\u7136\u8D70\u73B0\u6709\u7684 Fabric uninstall \u9636\u6BB5\u3002\n.fabric/knowledge/ \u59CB\u7EC8\u4FDD\u7559\uFF1B~/.fabric/knowledge/ \u6C38\u4E0D\u53D7\u5F71\u54CD\u3002",
709
673
  "cli.uninstall.wizard.step.target": "\u786E\u8BA4\u76EE\u6807",
710
674
  "cli.uninstall.wizard.step.plan": "\u914D\u7F6E\u5378\u8F7D\u8BA1\u5212",
711
675
  "cli.uninstall.wizard.step.review": "\u590D\u6838\u6700\u7EC8\u8BA1\u5212",
@@ -713,8 +677,6 @@ var zhCNMessages = {
713
677
  "cli.uninstall.wizard.stage.scaffold": "\u662F\u5426\u6E05\u7406 scaffold \u4EA7\u7269\uFF1F[{defaultValue}]",
714
678
  "cli.uninstall.wizard.stage.bootstrap": "\u662F\u5426\u79FB\u9664 bootstrap\uFF08Skills + hooks\uFF09\uFF1F[{defaultValue}]",
715
679
  "cli.uninstall.wizard.stage.mcp": "\u662F\u5426\u53CD\u6CE8\u518C MCP \u5BA2\u6237\u7AEF\uFF1F[{defaultValue}]",
716
- "cli.uninstall.wizard.purge": "\u662F\u5426\u4E00\u5E76\u6E05\u7406 .fabric/knowledge/ \u5B50\u76EE\u5F55\u5185\u5BB9\uFF1F~/.fabric/knowledge/ \u4E0D\u53D7\u5F71\u54CD\u3002[{defaultValue}]",
717
- "cli.uninstall.wizard.clean-empties": "\u53CD\u5408\u5E76\u94A9\u5B50\u914D\u7F6E\u65F6\u7EA7\u8054\u6E05\u7406\u7A7A\u6570\u7EC4/\u5BF9\u8C61\uFF1F[{defaultValue}]",
718
680
  "cli.uninstall.wizard.execute.confirm": "\u73B0\u5728\u6267\u884C\u8BE5\u5378\u8F7D\u8BA1\u5212\uFF1F[Y/n]",
719
681
  "cli.uninstall.wizard.outro": "\u5378\u8F7D\u8BA1\u5212\u5DF2\u786E\u8BA4\uFF0C\u5F00\u59CB\u6267\u884C Fabric uninstall...",
720
682
  "cli.uninstall.wizard.cancelled": "Fabric \u5378\u8F7D\u5DF2\u5728\u6267\u884C\u524D\u53D6\u6D88\u3002",
@@ -758,8 +720,8 @@ var zhCNMessages = {
758
720
  "cli.serve.args.host.description": "\u76D1\u542C\u4E3B\u673A\uFF0C\u9ED8\u8BA4 127.0.0.1\u3002\u82E5\u9700\u7ED1\u5B9A\u5230\u975E localhost\uFF0C\u8BF7\u8BBE\u7F6E FABRIC_AUTH_TOKEN \u4EE5\u542F\u7528 Bearer \u9274\u6743\u3002",
759
721
  "cli.serve.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\u3002\u9ED8\u8BA4\u4F9D\u6B21\u4F7F\u7528 CLI \u53C2\u6570\u3001EXTERNAL_FIXTURE_PATH\u3001fabric.config.json\u3001\u5F53\u524D\u76EE\u5F55\u3002",
760
722
  "cli.serve.args.debug.description": "\u5C06\u76EE\u6807\u89E3\u6790\u7EC6\u8282\u8F93\u51FA\u5230 stderr\u3002",
761
- "cli.serve.args.force.description": "\u5373\u4F7F\u53E6\u4E00\u4E2A serve \u8FDB\u7A0B\u6B63\u5728\u8FD0\u884C\uFF0C\u4E5F\u5F3A\u5236\u83B7\u53D6 serve \u9501\u3002",
762
723
  "cli.serve.ready.title": "Fabric \u4EEA\u8868\u76D8",
724
+ "cli.serve.lock-held.action-hint": "\u53E6\u4E00\u4E2A `fab serve` \u8FDB\u7A0B (PID {pid}) \u6B63\u5360\u7528\u5DE5\u4F5C\u533A\u9501\u3002\u8BF7\u5148\u505C\u6B62\u5B83 (\u5728\u8BE5\u7EC8\u7AEF\u6309 Ctrl-C \u6216\u8FD0\u884C `kill {pid}`) \u518D\u6267\u884C\u6B64\u547D\u4EE4\u3002",
763
725
  "cli.serve.warning.host-fallback": "--host {host} \u9700\u8981 FABRIC_AUTH_TOKEN\uFF1B\u4E3A\u5B89\u5168\u8D77\u89C1\u5DF2\u56DE\u9000\u5230 127.0.0.1",
764
726
  "cli.serve.error.port-in-use": "\u7AEF\u53E3 {port} \u5DF2\u88AB\u5360\u7528\uFF0C\u53EF\u5C1D\u8BD5 --port {nextPort}",
765
727
  "cli.update.description": "\u5237\u65B0 MCP \u4E3B\u673A\u914D\u7F6E\u548C git hooks\uFF0C\u4E0D\u91CD\u65B0\u521B\u5EFA Fabric \u6587\u4EF6\u3002",
@@ -6,7 +6,7 @@ import {
6
6
  enMessages,
7
7
  normalizeLocale,
8
8
  zhCNMessages
9
- } from "../chunk-WIH5HBKU.js";
9
+ } from "../chunk-BKTCBFXZ.js";
10
10
  export {
11
11
  PROTECTED_TOKENS,
12
12
  createTranslator,
package/dist/index.d.ts CHANGED
@@ -1356,7 +1356,6 @@ declare const fabricConfigSchema: z.ZodObject<{
1356
1356
  }>>;
1357
1357
  externalFixturePath: z.ZodOptional<z.ZodString>;
1358
1358
  scanIgnores: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1359
- auditMode: z.ZodOptional<z.ZodEnum<["strict", "warn", "off"]>>;
1360
1359
  audit_mode: z.ZodOptional<z.ZodEnum<["strict", "warn", "off"]>>;
1361
1360
  mcpPayloadLimits: z.ZodOptional<z.ZodObject<{
1362
1361
  warnBytes: z.ZodOptional<z.ZodNumber>;
@@ -1417,7 +1416,6 @@ declare const fabricConfigSchema: z.ZodObject<{
1417
1416
  } | undefined;
1418
1417
  externalFixturePath?: string | undefined;
1419
1418
  scanIgnores?: string[] | undefined;
1420
- auditMode?: "strict" | "warn" | "off" | undefined;
1421
1419
  audit_mode?: "strict" | "warn" | "off" | undefined;
1422
1420
  mcpPayloadLimits?: {
1423
1421
  warnBytes?: number | undefined;
@@ -1432,7 +1430,6 @@ declare const fabricConfigSchema: z.ZodObject<{
1432
1430
  } | undefined;
1433
1431
  externalFixturePath?: string | undefined;
1434
1432
  scanIgnores?: string[] | undefined;
1435
- auditMode?: "strict" | "warn" | "off" | undefined;
1436
1433
  audit_mode?: "strict" | "warn" | "off" | undefined;
1437
1434
  mcpPayloadLimits?: {
1438
1435
  warnBytes?: number | undefined;
@@ -2994,26 +2991,26 @@ declare const lockDriftEventSchema: z.ZodObject<{
2994
2991
  end_line: number;
2995
2992
  }>, "many">;
2996
2993
  }, "strip", z.ZodTypeAny, {
2997
- locked: {
2994
+ drifted: {
2998
2995
  file: string;
2999
2996
  hash: string;
3000
2997
  start_line: number;
3001
2998
  end_line: number;
3002
2999
  }[];
3003
- drifted: {
3000
+ locked: {
3004
3001
  file: string;
3005
3002
  hash: string;
3006
3003
  start_line: number;
3007
3004
  end_line: number;
3008
3005
  }[];
3009
3006
  }, {
3010
- locked: {
3007
+ drifted: {
3011
3008
  file: string;
3012
3009
  hash: string;
3013
3010
  start_line: number;
3014
3011
  end_line: number;
3015
3012
  }[];
3016
- drifted: {
3013
+ locked: {
3017
3014
  file: string;
3018
3015
  hash: string;
3019
3016
  start_line: number;
@@ -3023,13 +3020,13 @@ declare const lockDriftEventSchema: z.ZodObject<{
3023
3020
  }, "strip", z.ZodTypeAny, {
3024
3021
  type: "lock:drift";
3025
3022
  payload: {
3026
- locked: {
3023
+ drifted: {
3027
3024
  file: string;
3028
3025
  hash: string;
3029
3026
  start_line: number;
3030
3027
  end_line: number;
3031
3028
  }[];
3032
- drifted: {
3029
+ locked: {
3033
3030
  file: string;
3034
3031
  hash: string;
3035
3032
  start_line: number;
@@ -3039,13 +3036,13 @@ declare const lockDriftEventSchema: z.ZodObject<{
3039
3036
  }, {
3040
3037
  type: "lock:drift";
3041
3038
  payload: {
3042
- locked: {
3039
+ drifted: {
3043
3040
  file: string;
3044
3041
  hash: string;
3045
3042
  start_line: number;
3046
3043
  end_line: number;
3047
3044
  }[];
3048
- drifted: {
3045
+ locked: {
3049
3046
  file: string;
3050
3047
  hash: string;
3051
3048
  start_line: number;
@@ -4271,26 +4268,26 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4271
4268
  end_line: number;
4272
4269
  }>, "many">;
4273
4270
  }, "strip", z.ZodTypeAny, {
4274
- locked: {
4271
+ drifted: {
4275
4272
  file: string;
4276
4273
  hash: string;
4277
4274
  start_line: number;
4278
4275
  end_line: number;
4279
4276
  }[];
4280
- drifted: {
4277
+ locked: {
4281
4278
  file: string;
4282
4279
  hash: string;
4283
4280
  start_line: number;
4284
4281
  end_line: number;
4285
4282
  }[];
4286
4283
  }, {
4287
- locked: {
4284
+ drifted: {
4288
4285
  file: string;
4289
4286
  hash: string;
4290
4287
  start_line: number;
4291
4288
  end_line: number;
4292
4289
  }[];
4293
- drifted: {
4290
+ locked: {
4294
4291
  file: string;
4295
4292
  hash: string;
4296
4293
  start_line: number;
@@ -4300,13 +4297,13 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4300
4297
  }, "strip", z.ZodTypeAny, {
4301
4298
  type: "lock:drift";
4302
4299
  payload: {
4303
- locked: {
4300
+ drifted: {
4304
4301
  file: string;
4305
4302
  hash: string;
4306
4303
  start_line: number;
4307
4304
  end_line: number;
4308
4305
  }[];
4309
- drifted: {
4306
+ locked: {
4310
4307
  file: string;
4311
4308
  hash: string;
4312
4309
  start_line: number;
@@ -4316,13 +4313,13 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4316
4313
  }, {
4317
4314
  type: "lock:drift";
4318
4315
  payload: {
4319
- locked: {
4316
+ drifted: {
4320
4317
  file: string;
4321
4318
  hash: string;
4322
4319
  start_line: number;
4323
4320
  end_line: number;
4324
4321
  }[];
4325
- drifted: {
4322
+ locked: {
4326
4323
  file: string;
4327
4324
  hash: string;
4328
4325
  start_line: number;
@@ -5524,7 +5521,7 @@ declare const initScanCompletedEventSchema: z.ZodObject<{
5524
5521
  event_type: z.ZodLiteral<"init_scan_completed">;
5525
5522
  written_stable_ids: z.ZodArray<z.ZodString, "many">;
5526
5523
  duration_ms: z.ZodNumber;
5527
- source: z.ZodOptional<z.ZodEnum<["init", "scan", "doctor_fix"]>>;
5524
+ source: z.ZodOptional<z.ZodEnum<["init", "scan", "doctor_fix", "doctor-rescan"]>>;
5528
5525
  kind: z.ZodLiteral<"fabric-event">;
5529
5526
  id: z.ZodString;
5530
5527
  ts: z.ZodNumber;
@@ -5541,7 +5538,7 @@ declare const initScanCompletedEventSchema: z.ZodObject<{
5541
5538
  written_stable_ids: string[];
5542
5539
  correlation_id?: string | undefined;
5543
5540
  session_id?: string | undefined;
5544
- source?: "doctor_fix" | "init" | "scan" | undefined;
5541
+ source?: "doctor_fix" | "init" | "scan" | "doctor-rescan" | undefined;
5545
5542
  }, {
5546
5543
  id: string;
5547
5544
  ts: number;
@@ -5552,7 +5549,7 @@ declare const initScanCompletedEventSchema: z.ZodObject<{
5552
5549
  written_stable_ids: string[];
5553
5550
  correlation_id?: string | undefined;
5554
5551
  session_id?: string | undefined;
5555
- source?: "doctor_fix" | "init" | "scan" | undefined;
5552
+ source?: "doctor_fix" | "init" | "scan" | "doctor-rescan" | undefined;
5556
5553
  }>;
5557
5554
  declare const knowledgeProposedEventSchema: z.ZodObject<{
5558
5555
  event_type: z.ZodLiteral<"knowledge_proposed">;
@@ -6019,7 +6016,7 @@ declare const knowledgeScopeDegradedEventSchema: z.ZodObject<{
6019
6016
  }>;
6020
6017
  declare const doctorRunEventSchema: z.ZodObject<{
6021
6018
  event_type: z.ZodLiteral<"doctor_run">;
6022
- mode: z.ZodEnum<["lint", "apply-lint"]>;
6019
+ mode: z.ZodEnum<["lint", "fix-knowledge"]>;
6023
6020
  issues: z.ZodNumber;
6024
6021
  mutations: z.ZodOptional<z.ZodNumber>;
6025
6022
  timestamp: z.ZodString;
@@ -6037,7 +6034,7 @@ declare const doctorRunEventSchema: z.ZodObject<{
6037
6034
  kind: "fabric-event";
6038
6035
  event_type: "doctor_run";
6039
6036
  timestamp: string;
6040
- mode: "lint" | "apply-lint";
6037
+ mode: "lint" | "fix-knowledge";
6041
6038
  correlation_id?: string | undefined;
6042
6039
  session_id?: string | undefined;
6043
6040
  mutations?: number | undefined;
@@ -6049,7 +6046,7 @@ declare const doctorRunEventSchema: z.ZodObject<{
6049
6046
  kind: "fabric-event";
6050
6047
  event_type: "doctor_run";
6051
6048
  timestamp: string;
6052
- mode: "lint" | "apply-lint";
6049
+ mode: "lint" | "fix-knowledge";
6053
6050
  correlation_id?: string | undefined;
6054
6051
  session_id?: string | undefined;
6055
6052
  mutations?: number | undefined;
@@ -6713,7 +6710,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6713
6710
  event_type: z.ZodLiteral<"init_scan_completed">;
6714
6711
  written_stable_ids: z.ZodArray<z.ZodString, "many">;
6715
6712
  duration_ms: z.ZodNumber;
6716
- source: z.ZodOptional<z.ZodEnum<["init", "scan", "doctor_fix"]>>;
6713
+ source: z.ZodOptional<z.ZodEnum<["init", "scan", "doctor_fix", "doctor-rescan"]>>;
6717
6714
  kind: z.ZodLiteral<"fabric-event">;
6718
6715
  id: z.ZodString;
6719
6716
  ts: z.ZodNumber;
@@ -6730,7 +6727,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6730
6727
  written_stable_ids: string[];
6731
6728
  correlation_id?: string | undefined;
6732
6729
  session_id?: string | undefined;
6733
- source?: "doctor_fix" | "init" | "scan" | undefined;
6730
+ source?: "doctor_fix" | "init" | "scan" | "doctor-rescan" | undefined;
6734
6731
  }, {
6735
6732
  id: string;
6736
6733
  ts: number;
@@ -6741,7 +6738,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6741
6738
  written_stable_ids: string[];
6742
6739
  correlation_id?: string | undefined;
6743
6740
  session_id?: string | undefined;
6744
- source?: "doctor_fix" | "init" | "scan" | undefined;
6741
+ source?: "doctor_fix" | "init" | "scan" | "doctor-rescan" | undefined;
6745
6742
  }>, z.ZodObject<{
6746
6743
  event_type: z.ZodLiteral<"knowledge_proposed">;
6747
6744
  stable_id: z.ZodOptional<z.ZodString>;
@@ -7257,7 +7254,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
7257
7254
  session_id?: string | undefined;
7258
7255
  }>, z.ZodObject<{
7259
7256
  event_type: z.ZodLiteral<"doctor_run">;
7260
- mode: z.ZodEnum<["lint", "apply-lint"]>;
7257
+ mode: z.ZodEnum<["lint", "fix-knowledge"]>;
7261
7258
  issues: z.ZodNumber;
7262
7259
  mutations: z.ZodOptional<z.ZodNumber>;
7263
7260
  timestamp: z.ZodString;
@@ -7275,7 +7272,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
7275
7272
  kind: "fabric-event";
7276
7273
  event_type: "doctor_run";
7277
7274
  timestamp: string;
7278
- mode: "lint" | "apply-lint";
7275
+ mode: "lint" | "fix-knowledge";
7279
7276
  correlation_id?: string | undefined;
7280
7277
  session_id?: string | undefined;
7281
7278
  mutations?: number | undefined;
@@ -7287,7 +7284,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
7287
7284
  kind: "fabric-event";
7288
7285
  event_type: "doctor_run";
7289
7286
  timestamp: string;
7290
- mode: "lint" | "apply-lint";
7287
+ mode: "lint" | "fix-knowledge";
7291
7288
  correlation_id?: string | undefined;
7292
7289
  session_id?: string | undefined;
7293
7290
  mutations?: number | undefined;
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  enMessages,
7
7
  normalizeLocale,
8
8
  zhCNMessages
9
- } from "./chunk-WIH5HBKU.js";
9
+ } from "./chunk-BKTCBFXZ.js";
10
10
  import {
11
11
  FabExtractKnowledgeInputSchema,
12
12
  FabExtractKnowledgeInputShape,
@@ -317,7 +317,6 @@ var fabricConfigSchema = z5.object({
317
317
  clientPaths: clientPathsSchema.optional(),
318
318
  externalFixturePath: z5.string().optional(),
319
319
  scanIgnores: z5.array(z5.string()).optional(),
320
- auditMode: auditModeSchema.optional(),
321
320
  audit_mode: auditModeSchema.optional(),
322
321
  mcpPayloadLimits: mcpPayloadLimitsSchema,
323
322
  // Backward-compat: both fields are optional with defaults so existing
@@ -740,7 +739,7 @@ var initScanCompletedEventSchema = z9.object({
740
739
  event_type: z9.literal("init_scan_completed"),
741
740
  written_stable_ids: z9.array(z9.string()),
742
741
  duration_ms: z9.number().int().nonnegative(),
743
- source: z9.enum(["init", "scan", "doctor_fix"]).optional()
742
+ source: z9.enum(["init", "scan", "doctor_fix", "doctor-rescan"]).optional()
744
743
  });
745
744
  var knowledgeProposedEventSchema = z9.object({
746
745
  ...eventLedgerEnvelopeSchema,
@@ -843,7 +842,7 @@ var knowledgeScopeDegradedEventSchema = z9.object({
843
842
  var doctorRunEventSchema = z9.object({
844
843
  ...eventLedgerEnvelopeSchema,
845
844
  event_type: z9.literal("doctor_run"),
846
- mode: z9.enum(["lint", "apply-lint"]),
845
+ mode: z9.enum(["lint", "fix-knowledge"]),
847
846
  issues: z9.number().int().nonnegative(),
848
847
  mutations: z9.number().int().nonnegative().optional(),
849
848
  timestamp: z9.string().datetime()
@@ -113,7 +113,6 @@ interface FabricConfig {
113
113
  clientPaths?: ClientPaths;
114
114
  externalFixturePath?: string;
115
115
  scanIgnores?: string[];
116
- auditMode?: AuditMode;
117
116
  audit_mode?: AuditMode;
118
117
  mcpPayloadLimits?: McpPayloadLimits;
119
118
  fabric_language?: FabricLanguage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenglimg/fabric-shared",
3
- "version": "2.0.0-rc.13",
3
+ "version": "2.0.0-rc.15",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",