@fenglimg/fabric-shared 1.8.0-rc.3 → 2.0.0-rc.10
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/chunk-G4IKTNY4.js +609 -0
- package/dist/{chunk-FEEWLYO3.js → chunk-YGEE3WMC.js} +122 -21
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +3398 -1031
- package/dist/index.js +385 -82
- package/dist/node.js +172 -3
- package/dist/schemas/api-contracts.d.ts +920 -114
- package/dist/schemas/api-contracts.js +55 -13
- package/dist/types/index.d.ts +37 -6
- package/package.json +3 -7
- package/dist/chunk-GI6L6VTT.js +0 -176
- package/dist/chunk-KV27CZH3.js +0 -223
- package/dist/node/bootstrap-guide.d.ts +0 -12
- package/dist/node/bootstrap-guide.js +0 -52
|
@@ -18,6 +18,7 @@ var enMessages = {
|
|
|
18
18
|
"cli.shared.template-not-found": "Template not found: {path}",
|
|
19
19
|
"cli.shared.invalid-host-empty": "Invalid host: <empty>",
|
|
20
20
|
"cli.shared.invalid-port": "Invalid port: {value}",
|
|
21
|
+
"cli.shared.error": "Error",
|
|
21
22
|
"cli.approve.description": "Approve drifted human-lock entries from the command line.",
|
|
22
23
|
"cli.approve.args.all.description": "Approve all drifted human-lock entries without prompting.",
|
|
23
24
|
"cli.approve.args.interactive.description": "Prompt before approving each drifted human-lock entry.",
|
|
@@ -52,11 +53,15 @@ var enMessages = {
|
|
|
52
53
|
"doctor.section.fixable": "Fixable errors:",
|
|
53
54
|
"doctor.section.manual": "Manual errors:",
|
|
54
55
|
"doctor.section.warnings": "Warnings:",
|
|
56
|
+
"doctor.section.apply-lint-mutations": "Apply-lint mutations:",
|
|
55
57
|
"cli.doctor.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
|
|
56
|
-
"cli.doctor.args.fix.description": "Repair deterministic derived Fabric state, including meta,
|
|
58
|
+
"cli.doctor.args.fix.description": "Repair deterministic derived Fabric state, including meta, knowledge-test index, bootstrap, and events ledger.",
|
|
57
59
|
"cli.doctor.args.json.description": "Print the doctor report as JSON.",
|
|
58
60
|
"cli.doctor.args.strict.description": "Treat warnings as failures.",
|
|
59
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.",
|
|
60
65
|
"cli.hooks.description": "Manage Fabric Git hook templates.",
|
|
61
66
|
"cli.hooks.install.description": "Install the Fabric Husky pre-commit hook template.",
|
|
62
67
|
"cli.hooks.install.args.target.description": "Target project path, default is the current working directory.",
|
|
@@ -165,9 +170,6 @@ var enMessages = {
|
|
|
165
170
|
"cli.init.capabilities.follow-up.install": "install client assets",
|
|
166
171
|
"cli.init.capabilities.follow-up.manual": "manual step required",
|
|
167
172
|
"cli.init.next-step.message": "run fab hooks install to add the Day 4 pre-commit pipeline.",
|
|
168
|
-
"cli.init.reason-message.claude-body": ".fabric/forensic.json is ready; use the fabric-init skill to finish internal Fabric initialization.",
|
|
169
|
-
"cli.init.reason-message.codex-body": ".fabric/forensic.json is ready; continue with the repo skill at .codex/skills/fabric-init/SKILL.md and enable features.codex_hooks = true for Codex hooks.",
|
|
170
|
-
"cli.init.reason-message.multi-body": ".fabric/forensic.json is ready; continue in your installed client flow: Claude can use fabric-init, and Codex can use .codex/skills/fabric-init/SKILL.md with features.codex_hooks = true.",
|
|
171
173
|
"cli.init.reason-message.installable-body": ".fabric/forensic.json is ready; some detected clients support Fabric follow-up but still need client assets installed.",
|
|
172
174
|
"cli.init.reason-message.manual-body": ".fabric/forensic.json is ready; some detected clients still need manual follow-up because no Fabric skill is installed for them yet.",
|
|
173
175
|
"cli.init.codex-hooks.created": "{label} {path} with Codex hooks config (requires features.codex_hooks = true).",
|
|
@@ -182,6 +184,53 @@ var enMessages = {
|
|
|
182
184
|
"cli.init.claude-settings.invalid-hooks": '{label} {path}: "hooks" must be a JSON object.',
|
|
183
185
|
"cli.init.claude-settings.invalid-stop-array": '{label} {path}: "hooks.Stop" must be an array.',
|
|
184
186
|
"cli.init.errors.abort-existing": "ABORT: {path} already exists. fab init is non-destructive.",
|
|
187
|
+
"cli.uninstall.description": "Uninstall Fabric from the target project.",
|
|
188
|
+
"cli.uninstall.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
|
|
189
|
+
"cli.uninstall.args.debug.description": "Print target resolution details to stderr.",
|
|
190
|
+
"cli.uninstall.args.force.description": "Run even if a serve process appears to hold the lock.",
|
|
191
|
+
"cli.uninstall.args.yes.description": "Accept the current uninstall plan and run without the TTY wizard.",
|
|
192
|
+
"cli.uninstall.args.plan.description": "Print the uninstall plan without removing files or running follow-up stages.",
|
|
193
|
+
"cli.uninstall.flags.no-bootstrap": "Skip the bootstrap stage (Skills, hook scripts, hook-config un-merge).",
|
|
194
|
+
"cli.uninstall.flags.no-mcp": "Skip the MCP stage (per-client writer.remove for fabric).",
|
|
195
|
+
"cli.uninstall.flags.no-scaffold": "Skip the scaffold stage (.fabric/ state files and .gitkeep markers).",
|
|
196
|
+
"cli.uninstall.flags.interactive": "Run the interactive TTY wizard when available.",
|
|
197
|
+
"cli.uninstall.flags.purge": "Also remove .fabric/knowledge/ subdir contents and state files. Personal-root ~/.fabric/knowledge/ is never touched.",
|
|
198
|
+
"cli.uninstall.flags.clean-empties": "Cascade-remove empty arrays/objects when un-merging hook configs.",
|
|
199
|
+
"cli.uninstall.plan.title": "Fabric uninstall plan",
|
|
200
|
+
"cli.uninstall.plan.target": "Target: {target}",
|
|
201
|
+
"cli.uninstall.plan.actions": "Plan: scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
|
|
202
|
+
"cli.uninstall.plan.detected": "Detected clients: {clients}",
|
|
203
|
+
"cli.uninstall.plan.preserves": "Preserves:",
|
|
204
|
+
"cli.uninstall.plan.preserves.knowledge": "team knowledge tree (unless --purge)",
|
|
205
|
+
"cli.uninstall.plan.preserves.personal": "personal root, never touched",
|
|
206
|
+
"cli.uninstall.plan.preview-title": "Fabric uninstall dry run",
|
|
207
|
+
"cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
|
|
208
|
+
"cli.uninstall.plan.scaffold-entries.title": "Scaffold entries:",
|
|
209
|
+
"cli.uninstall.stages.scaffold": "Removing scaffold artifacts...",
|
|
210
|
+
"cli.uninstall.stages.bootstrap": "Removing bootstrap (Skills + hooks)...",
|
|
211
|
+
"cli.uninstall.stages.mcp": "Un-registering MCP clients...",
|
|
212
|
+
"cli.uninstall.stages.completed": "completed",
|
|
213
|
+
"cli.uninstall.stages.completed-with-errors": "completed with errors",
|
|
214
|
+
"cli.uninstall.stages.failed": "failed",
|
|
215
|
+
"cli.uninstall.summary.title": "Uninstall summary",
|
|
216
|
+
"cli.uninstall.summary.body": "removed={removed} skipped={skipped} errors={errors}",
|
|
217
|
+
"cli.uninstall.wizard.intro": "Fabric uninstall",
|
|
218
|
+
"cli.uninstall.wizard.overview.title": "Uninstall overview",
|
|
219
|
+
"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.",
|
|
220
|
+
"cli.uninstall.wizard.step.target": "Confirm target",
|
|
221
|
+
"cli.uninstall.wizard.step.plan": "Shape uninstall plan",
|
|
222
|
+
"cli.uninstall.wizard.step.review": "Review final plan",
|
|
223
|
+
"cli.uninstall.wizard.target.confirm": "Continue uninstalling Fabric from {target}? [Y/n]",
|
|
224
|
+
"cli.uninstall.wizard.stage.scaffold": "Remove scaffold artifacts? [{defaultValue}]",
|
|
225
|
+
"cli.uninstall.wizard.stage.bootstrap": "Remove bootstrap (Skills + hooks)? [{defaultValue}]",
|
|
226
|
+
"cli.uninstall.wizard.stage.mcp": "Un-register MCP clients? [{defaultValue}]",
|
|
227
|
+
"cli.uninstall.wizard.purge": "Purge .fabric/knowledge/ subdir contents too? ~/.fabric/knowledge/ stays untouched. [{defaultValue}]",
|
|
228
|
+
"cli.uninstall.wizard.clean-empties": "Cascade-remove empty arrays/objects in hook configs? [{defaultValue}]",
|
|
229
|
+
"cli.uninstall.wizard.execute.confirm": "Execute this uninstall plan now? [Y/n]",
|
|
230
|
+
"cli.uninstall.wizard.outro": "Uninstall plan accepted. Running Fabric uninstall...",
|
|
231
|
+
"cli.uninstall.wizard.cancelled": "Fabric uninstall cancelled before execution.",
|
|
232
|
+
"cli.uninstall.confirm.proceed": "Proceed with uninstalling Fabric from {target}? [y/N]",
|
|
233
|
+
"cli.uninstall.errors.target-not-directory": "Target must be an existing directory: {path}",
|
|
185
234
|
"cli.ledger-append.description": "Append an entry to the Fabric intent ledger.",
|
|
186
235
|
"cli.ledger-append.args.target.description": "Target project path, default is the current working directory.",
|
|
187
236
|
"cli.ledger-append.args.staged.description": "Derive the entry from staged changes (used during pre-commit).",
|
|
@@ -195,6 +244,9 @@ var enMessages = {
|
|
|
195
244
|
"cli.scan.args.target.description": "Target absolute path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
|
|
196
245
|
"cli.scan.args.debug.description": "Print detection evidence in formatted output.",
|
|
197
246
|
"cli.scan.args.json.description": "Print the diagnostic report as JSON.",
|
|
247
|
+
"cli.scan.error.missing-forensic": "forensic.json not found at {path}; run `fabric init` first to produce the deterministic project snapshot.",
|
|
248
|
+
"cli.scan.summary.created": "Wrote {count} knowledge entries to .fabric/knowledge/.",
|
|
249
|
+
"cli.scan.summary.skipped": "No changes detected; {count} entries already up-to-date.",
|
|
198
250
|
"cli.scan.report.title": "Fabric scan report",
|
|
199
251
|
"cli.scan.report.target": "Target",
|
|
200
252
|
"cli.scan.report.framework": "Framework",
|
|
@@ -453,6 +505,7 @@ var zhCNMessages = {
|
|
|
453
505
|
"cli.shared.template-not-found": "\u672A\u627E\u5230\u6A21\u677F\uFF1A{path}",
|
|
454
506
|
"cli.shared.invalid-host-empty": "\u65E0\u6548 host\uFF1A<empty>",
|
|
455
507
|
"cli.shared.invalid-port": "\u65E0\u6548\u7AEF\u53E3\uFF1A{value}",
|
|
508
|
+
"cli.shared.error": "\u9519\u8BEF",
|
|
456
509
|
"cli.approve.description": "\u4ECE\u547D\u4EE4\u884C\u6279\u51C6\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
457
510
|
"cli.approve.args.all.description": "\u4E0D\u63D0\u793A\uFF0C\u6279\u51C6\u6240\u6709\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
458
511
|
"cli.approve.args.interactive.description": "\u9010\u6761\u63D0\u793A\u540E\u6279\u51C6\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
@@ -487,11 +540,15 @@ var zhCNMessages = {
|
|
|
487
540
|
"doctor.section.fixable": "\u53EF\u4FEE\u590D\u9519\u8BEF\uFF1A",
|
|
488
541
|
"doctor.section.manual": "\u9700\u624B\u52A8\u4FEE\u590D\uFF1A",
|
|
489
542
|
"doctor.section.warnings": "\u8B66\u544A\uFF1A",
|
|
543
|
+
"doctor.section.apply-lint-mutations": "Apply-lint \u53D8\u66F4\uFF1A",
|
|
490
544
|
"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",
|
|
491
|
-
"cli.doctor.args.fix.description": "\u4FEE\u590D\u786E\u5B9A\u6027\u6D3E\u751F\u7684 Fabric \u72B6\u6001\uFF0C\u5305\u62EC meta\
|
|
545
|
+
"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",
|
|
492
546
|
"cli.doctor.args.json.description": "\u4EE5 JSON \u8F93\u51FA doctor \u62A5\u544A\u3002",
|
|
493
547
|
"cli.doctor.args.strict.description": "\u5C06 warning \u4E5F\u89C6\u4E3A\u5931\u8D25\u3002",
|
|
494
548
|
"cli.doctor.args.force.description": "\u5373\u4F7F serve \u8FDB\u7A0B\u6301\u6709\u9501\uFF0C\u4E5F\u5F3A\u5236\u8FD0\u884C\u3002",
|
|
549
|
+
"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",
|
|
550
|
+
"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",
|
|
551
|
+
"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",
|
|
495
552
|
"cli.hooks.description": "\u7BA1\u7406 Fabric Git \u94A9\u5B50\u6A21\u677F\u3002",
|
|
496
553
|
"cli.hooks.install.description": "\u5B89\u88C5 Fabric Husky pre-commit \u94A9\u5B50\u6A21\u677F\u3002",
|
|
497
554
|
"cli.hooks.install.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u3002",
|
|
@@ -600,9 +657,6 @@ var zhCNMessages = {
|
|
|
600
657
|
"cli.init.capabilities.follow-up.install": "\u5B89\u88C5\u5BA2\u6237\u7AEF\u8D44\u4EA7",
|
|
601
658
|
"cli.init.capabilities.follow-up.manual": "\u9700\u8981\u624B\u52A8\u540E\u7EED\u5904\u7406",
|
|
602
659
|
"cli.init.next-step.message": "\u8FD0\u884C fab hooks install \u4EE5\u6DFB\u52A0\u7B2C 4 \u5929\u7684 pre-commit \u6D41\u6C34\u7EBF\u3002",
|
|
603
|
-
"cli.init.reason-message.claude-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u4F7F\u7528 fabric-init skill \u5B8C\u6210 Fabric \u5185\u90E8\u521D\u59CB\u5316\u3002",
|
|
604
|
-
"cli.init.reason-message.codex-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u7EE7\u7EED\u4F7F\u7528\u4ED3\u5E93\u5185\u7684 .codex/skills/fabric-init/SKILL.md\uFF0C\u5E76\u4E3A Codex hooks \u542F\u7528 features.codex_hooks = true\u3002",
|
|
605
|
-
"cli.init.reason-message.multi-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u6309\u5DF2\u5B89\u88C5\u5BA2\u6237\u7AEF\u7EE7\u7EED\u540E\u7EED\u6D41\u7A0B\uFF1AClaude \u4F7F\u7528 fabric-init\uFF0CCodex \u4F7F\u7528 .codex/skills/fabric-init/SKILL.md\uFF0C\u5E76\u542F\u7528 features.codex_hooks = true\u3002",
|
|
606
660
|
"cli.init.reason-message.installable-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u90E8\u5206\u5DF2\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\u5DF2\u652F\u6301 Fabric \u540E\u7EED\u63A5\u529B\uFF0C\u4F46\u4ECD\u9700\u5B89\u88C5\u5BA2\u6237\u7AEF\u8D44\u4EA7\u3002",
|
|
607
661
|
"cli.init.reason-message.manual-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u90E8\u5206\u5DF2\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\u5C1A\u672A\u5B89\u88C5 Fabric skill\uFF0C\u9700\u8981\u624B\u52A8\u5B8C\u6210\u540E\u7EED\u521D\u59CB\u5316\u3002",
|
|
608
662
|
"cli.init.codex-hooks.created": "{label} {path}\uFF0C\u5E76\u5199\u5165 Codex hooks \u914D\u7F6E\uFF08\u9700\u542F\u7528 features.codex_hooks = true\uFF09\u3002",
|
|
@@ -617,6 +671,53 @@ var zhCNMessages = {
|
|
|
617
671
|
"cli.init.claude-settings.invalid-hooks": '{label} {path}\uFF1A"hooks" \u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002',
|
|
618
672
|
"cli.init.claude-settings.invalid-stop-array": '{label} {path}\uFF1A"hooks.Stop" \u5FC5\u987B\u662F\u6570\u7EC4\u3002',
|
|
619
673
|
"cli.init.errors.abort-existing": "\u4E2D\u6B62\uFF1A{path} \u5DF2\u5B58\u5728\u3002fab init \u662F\u975E\u7834\u574F\u6027\u7684\u3002",
|
|
674
|
+
"cli.uninstall.description": "\u4ECE\u76EE\u6807\u9879\u76EE\u4E2D\u5378\u8F7D Fabric\u3002",
|
|
675
|
+
"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",
|
|
676
|
+
"cli.uninstall.args.debug.description": "\u5C06\u76EE\u6807\u89E3\u6790\u7EC6\u8282\u8F93\u51FA\u5230 stderr\u3002",
|
|
677
|
+
"cli.uninstall.args.force.description": "\u5373\u4F7F serve \u8FDB\u7A0B\u6301\u6709\u9501\uFF0C\u4E5F\u5F3A\u5236\u8FD0\u884C\u3002",
|
|
678
|
+
"cli.uninstall.args.yes.description": "\u63A5\u53D7\u5F53\u524D\u5378\u8F7D\u8BA1\u5212\u5E76\u8DF3\u8FC7 TTY \u5411\u5BFC\u76F4\u63A5\u6267\u884C\u3002",
|
|
679
|
+
"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",
|
|
680
|
+
"cli.uninstall.flags.no-bootstrap": "\u8DF3\u8FC7 bootstrap \u9636\u6BB5\uFF08Skills\u3001hook \u811A\u672C\u3001hook \u914D\u7F6E\u53CD\u5408\u5E76\uFF09\u3002",
|
|
681
|
+
"cli.uninstall.flags.no-mcp": "\u8DF3\u8FC7 MCP \u9636\u6BB5\uFF08\u6309\u5BA2\u6237\u7AEF\u6267\u884C writer.remove('fabric')\uFF09\u3002",
|
|
682
|
+
"cli.uninstall.flags.no-scaffold": "\u8DF3\u8FC7 scaffold \u9636\u6BB5\uFF08.fabric/ \u72B6\u6001\u6587\u4EF6\u4E0E .gitkeep \u6807\u8BB0\uFF09\u3002",
|
|
683
|
+
"cli.uninstall.flags.interactive": "\u5728 TTY \u53EF\u7528\u65F6\u8FD0\u884C\u4EA4\u4E92\u5F0F\u5411\u5BFC\u3002",
|
|
684
|
+
"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",
|
|
685
|
+
"cli.uninstall.flags.clean-empties": "\u53CD\u5408\u5E76\u94A9\u5B50\u914D\u7F6E\u65F6\u7EA7\u8054\u6E05\u7406\u7A7A\u6570\u7EC4/\u5BF9\u8C61\u3002",
|
|
686
|
+
"cli.uninstall.plan.title": "Fabric \u5378\u8F7D\u8BA1\u5212",
|
|
687
|
+
"cli.uninstall.plan.target": "\u76EE\u6807\uFF1A{target}",
|
|
688
|
+
"cli.uninstall.plan.actions": "\u8BA1\u5212\uFF1Ascaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
|
|
689
|
+
"cli.uninstall.plan.detected": "\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\uFF1A{clients}",
|
|
690
|
+
"cli.uninstall.plan.preserves": "\u4FDD\u7559\u9879\uFF1A",
|
|
691
|
+
"cli.uninstall.plan.preserves.knowledge": "\u56E2\u961F\u77E5\u8BC6\u6811\uFF08\u9664\u975E\u4F20\u5165 --purge\uFF09",
|
|
692
|
+
"cli.uninstall.plan.preserves.personal": "\u4E2A\u4EBA\u6839\u76EE\u5F55\uFF0C\u6C38\u4E0D\u89E6\u78B0",
|
|
693
|
+
"cli.uninstall.plan.preview-title": "Fabric \u5378\u8F7D dry run",
|
|
694
|
+
"cli.uninstall.plan.preview-result": "scaffold={scaffold} bootstrap={bootstrap} mcp={mcp} purge={purge} clean-empties={cleanEmpties}",
|
|
695
|
+
"cli.uninstall.plan.scaffold-entries.title": "Scaffold \u5F85\u6E05\u7406\u9879\uFF1A",
|
|
696
|
+
"cli.uninstall.stages.scaffold": "\u6B63\u5728\u6E05\u7406 scaffold \u4EA7\u7269...",
|
|
697
|
+
"cli.uninstall.stages.bootstrap": "\u6B63\u5728\u79FB\u9664 bootstrap\uFF08Skills + hooks\uFF09...",
|
|
698
|
+
"cli.uninstall.stages.mcp": "\u6B63\u5728\u53CD\u6CE8\u518C MCP \u5BA2\u6237\u7AEF...",
|
|
699
|
+
"cli.uninstall.stages.completed": "\u5DF2\u5B8C\u6210",
|
|
700
|
+
"cli.uninstall.stages.completed-with-errors": "\u5B8C\u6210\u4F46\u6709\u9519\u8BEF",
|
|
701
|
+
"cli.uninstall.stages.failed": "\u5931\u8D25",
|
|
702
|
+
"cli.uninstall.summary.title": "\u5378\u8F7D\u6458\u8981",
|
|
703
|
+
"cli.uninstall.summary.body": "removed={removed} skipped={skipped} errors={errors}",
|
|
704
|
+
"cli.uninstall.wizard.intro": "\u5378\u8F7D Fabric",
|
|
705
|
+
"cli.uninstall.wizard.overview.title": "\u5378\u8F7D\u6982\u89C8",
|
|
706
|
+
"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",
|
|
707
|
+
"cli.uninstall.wizard.step.target": "\u786E\u8BA4\u76EE\u6807",
|
|
708
|
+
"cli.uninstall.wizard.step.plan": "\u914D\u7F6E\u5378\u8F7D\u8BA1\u5212",
|
|
709
|
+
"cli.uninstall.wizard.step.review": "\u590D\u6838\u6700\u7EC8\u8BA1\u5212",
|
|
710
|
+
"cli.uninstall.wizard.target.confirm": "\u786E\u8BA4\u4ECE {target} \u5378\u8F7D Fabric\uFF1F[Y/n]",
|
|
711
|
+
"cli.uninstall.wizard.stage.scaffold": "\u662F\u5426\u6E05\u7406 scaffold \u4EA7\u7269\uFF1F[{defaultValue}]",
|
|
712
|
+
"cli.uninstall.wizard.stage.bootstrap": "\u662F\u5426\u79FB\u9664 bootstrap\uFF08Skills + hooks\uFF09\uFF1F[{defaultValue}]",
|
|
713
|
+
"cli.uninstall.wizard.stage.mcp": "\u662F\u5426\u53CD\u6CE8\u518C MCP \u5BA2\u6237\u7AEF\uFF1F[{defaultValue}]",
|
|
714
|
+
"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}]",
|
|
715
|
+
"cli.uninstall.wizard.clean-empties": "\u53CD\u5408\u5E76\u94A9\u5B50\u914D\u7F6E\u65F6\u7EA7\u8054\u6E05\u7406\u7A7A\u6570\u7EC4/\u5BF9\u8C61\uFF1F[{defaultValue}]",
|
|
716
|
+
"cli.uninstall.wizard.execute.confirm": "\u73B0\u5728\u6267\u884C\u8BE5\u5378\u8F7D\u8BA1\u5212\uFF1F[Y/n]",
|
|
717
|
+
"cli.uninstall.wizard.outro": "\u5378\u8F7D\u8BA1\u5212\u5DF2\u786E\u8BA4\uFF0C\u5F00\u59CB\u6267\u884C Fabric uninstall...",
|
|
718
|
+
"cli.uninstall.wizard.cancelled": "Fabric \u5378\u8F7D\u5DF2\u5728\u6267\u884C\u524D\u53D6\u6D88\u3002",
|
|
719
|
+
"cli.uninstall.confirm.proceed": "\u786E\u8BA4\u4ECE {target} \u5378\u8F7D Fabric\uFF1F[y/N]",
|
|
720
|
+
"cli.uninstall.errors.target-not-directory": "\u76EE\u6807\u5FC5\u987B\u662F\u5DF2\u5B58\u5728\u7684\u76EE\u5F55\uFF1A{path}",
|
|
620
721
|
"cli.ledger-append.description": "\u5411 Fabric \u610F\u56FE\u65E5\u5FD7\u8FFD\u52A0\u4E00\u6761\u8BB0\u5F55\u3002",
|
|
621
722
|
"cli.ledger-append.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u3002",
|
|
622
723
|
"cli.ledger-append.args.staged.description": "\u4ECE\u6682\u5B58\u53D8\u66F4\u63A8\u5BFC\u8BB0\u5F55\uFF08\u7528\u4E8E pre-commit \u9636\u6BB5\uFF09\u3002",
|
|
@@ -630,6 +731,9 @@ var zhCNMessages = {
|
|
|
630
731
|
"cli.scan.args.target.description": "\u76EE\u6807\u7EDD\u5BF9\u8DEF\u5F84\u3002\u9ED8\u8BA4\u4F9D\u6B21\u4F7F\u7528 CLI \u53C2\u6570\u3001EXTERNAL_FIXTURE_PATH\u3001fabric.config.json\u3001\u5F53\u524D\u76EE\u5F55\u3002",
|
|
631
732
|
"cli.scan.args.debug.description": "\u4EE5\u683C\u5F0F\u5316\u8F93\u51FA\u6253\u5370\u68C0\u6D4B\u8BC1\u636E\u3002",
|
|
632
733
|
"cli.scan.args.json.description": "\u4EE5 JSON \u683C\u5F0F\u8F93\u51FA\u8BCA\u65AD\u62A5\u544A\u3002",
|
|
734
|
+
"cli.scan.error.missing-forensic": "\u672A\u627E\u5230 forensic.json\uFF08\u8DEF\u5F84 {path}\uFF09\uFF1B\u8BF7\u5148\u8FD0\u884C `fabric init` \u751F\u6210\u9879\u76EE\u5FEB\u7167\u3002",
|
|
735
|
+
"cli.scan.summary.created": "\u5DF2\u5199\u5165 {count} \u6761\u77E5\u8BC6\u6761\u76EE\u81F3 .fabric/knowledge/\u3002",
|
|
736
|
+
"cli.scan.summary.skipped": "\u65E0\u5DEE\u5F02\uFF1B{count} \u6761\u5DF2\u5B58\u5728\u7684\u6761\u76EE\u4FDD\u6301\u4E0D\u53D8\u3002",
|
|
633
737
|
"cli.scan.report.title": "Fabric \u626B\u63CF\u62A5\u544A",
|
|
634
738
|
"cli.scan.report.target": "\u76EE\u6807",
|
|
635
739
|
"cli.scan.report.framework": "\u6846\u67B6",
|
|
@@ -917,27 +1021,24 @@ function detectNodeLocale() {
|
|
|
917
1021
|
|
|
918
1022
|
// src/i18n/protected-tokens.ts
|
|
919
1023
|
var PROTECTED_TOKENS = [
|
|
1024
|
+
// v2.0 MCP tool names
|
|
920
1025
|
"fab_plan_context",
|
|
921
|
-
"
|
|
922
|
-
"
|
|
923
|
-
"
|
|
924
|
-
|
|
925
|
-
"agent_meta",
|
|
1026
|
+
"fab_get_knowledge_sections",
|
|
1027
|
+
"fab_extract_knowledge",
|
|
1028
|
+
"fab_review",
|
|
1029
|
+
// Project convergence point + knowledge tree paths
|
|
926
1030
|
"AGENTS.md",
|
|
927
|
-
"FABRIC.md",
|
|
928
1031
|
".fabric/agents/",
|
|
929
1032
|
".fabric/agents/_cross/",
|
|
930
1033
|
".fabric/agents.meta.json",
|
|
931
1034
|
".fabric/human-lock.json",
|
|
932
|
-
".fabric/init-context.json",
|
|
933
|
-
".fabric/forensic.json",
|
|
934
|
-
".fabric/.intent-ledger.jsonl",
|
|
935
1035
|
".fabric/events.jsonl",
|
|
1036
|
+
".fabric/knowledge/",
|
|
1037
|
+
// Event types templates reference verbatim
|
|
1038
|
+
"knowledge_proposed",
|
|
1039
|
+
// Human-lock marker
|
|
936
1040
|
"@HUMAN",
|
|
937
|
-
|
|
938
|
-
"Shadow Mirroring",
|
|
939
|
-
"CORE RULES",
|
|
940
|
-
"DO NOT TRANSLATE",
|
|
1041
|
+
// Hard-rule keywords AI clients rely on for compliance
|
|
941
1042
|
"MUST",
|
|
942
1043
|
"NEVER"
|
|
943
1044
|
];
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ declare function detectNodeLocale(): Locale;
|
|
|
12
12
|
|
|
13
13
|
declare function normalizeLocale(raw: string | null | undefined): Locale;
|
|
14
14
|
|
|
15
|
-
declare const PROTECTED_TOKENS: readonly ["fab_plan_context", "
|
|
15
|
+
declare const PROTECTED_TOKENS: readonly ["fab_plan_context", "fab_get_knowledge_sections", "fab_extract_knowledge", "fab_review", "AGENTS.md", ".fabric/agents/", ".fabric/agents/_cross/", ".fabric/agents.meta.json", ".fabric/human-lock.json", ".fabric/events.jsonl", ".fabric/knowledge/", "knowledge_proposed", "@HUMAN", "MUST", "NEVER"];
|
|
16
16
|
type ProtectedToken = (typeof PROTECTED_TOKENS)[number];
|
|
17
17
|
|
|
18
18
|
declare const enMessages: Messages;
|