@fenglimg/fabric-shared 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-JCRCASHD.js → chunk-3W2DKFJZ.js} +222 -10
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +109 -1
- package/dist/index.js +6 -2
- package/dist/node.d.ts +6 -1
- package/dist/node.js +61 -6
- package/dist/types/index.d.ts +7 -1
- package/package.json +1 -1
|
@@ -18,6 +18,17 @@ 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.approve.description": "Approve drifted human-lock entries from the command line.",
|
|
22
|
+
"cli.approve.args.all.description": "Approve all drifted human-lock entries without prompting.",
|
|
23
|
+
"cli.approve.args.interactive.description": "Prompt before approving each drifted human-lock entry.",
|
|
24
|
+
"cli.approve.args.target.description": "Target project path, default is the current working directory.",
|
|
25
|
+
"cli.approve.no-drift": "No drift entries found.",
|
|
26
|
+
"cli.approve.prompt": "Approve this entry? [y/N] ",
|
|
27
|
+
"cli.approve.approved-one": "Approved {location}",
|
|
28
|
+
"cli.approve.skipped-one": "Skipped {location}",
|
|
29
|
+
"cli.approve.summary": "Approved {approved}/{total} drift entries. Skipped {skipped}.",
|
|
30
|
+
"cli.approve.table.expected": "Expected",
|
|
31
|
+
"cli.approve.table.current": "Current",
|
|
21
32
|
"cli.bootstrap.description": "Install Fabric bootstrap prompts for supported AI clients.",
|
|
22
33
|
"cli.bootstrap.install.description": "Copy Fabric bootstrap templates into native client locations.",
|
|
23
34
|
"cli.bootstrap.install.args.clients.description": "Optional comma-separated client filter, for example claude,cursor,codex.",
|
|
@@ -69,10 +80,13 @@ var enMessages = {
|
|
|
69
80
|
"cli.init.args.target.description": "Target project path. Defaults to CLI arg, EXTERNAL_FIXTURE_PATH, fabric.config.json, then cwd.",
|
|
70
81
|
"cli.init.args.debug.description": "Print target resolution details to stderr.",
|
|
71
82
|
"cli.init.args.force.description": "Overwrite existing files (bypass non-destructive guard)",
|
|
72
|
-
"cli.init.args.
|
|
73
|
-
"cli.init.args.
|
|
74
|
-
"cli.init.args.
|
|
75
|
-
"cli.init.args.
|
|
83
|
+
"cli.init.args.yes.description": "Accept the current init plan and run without the TTY wizard",
|
|
84
|
+
"cli.init.args.plan.description": "Print the init plan without writing files or running follow-up stages",
|
|
85
|
+
"cli.init.args.reapply.description": "Reapply Fabric-managed files and stage installers over an existing setup",
|
|
86
|
+
"cli.init.args.no-bootstrap.description": "Compatibility flag: remove bootstrap from the init plan",
|
|
87
|
+
"cli.init.args.no-mcp.description": "Compatibility flag: remove MCP configuration from the init plan",
|
|
88
|
+
"cli.init.args.no-hooks.description": "Compatibility flag: remove git hooks from the init plan",
|
|
89
|
+
"cli.init.args.interactive.description": "Compatibility flag: disable the TTY wizard and use direct execution",
|
|
76
90
|
"cli.init.mcp.install.global": "Using globally-installed @fenglimg/fabric-server",
|
|
77
91
|
"cli.init.mcp.install.local": "Installing @fenglimg/fabric-server to project devDependencies",
|
|
78
92
|
"cli.init.mcp.install.prompt": "MCP server install scope (global|local)",
|
|
@@ -95,10 +109,42 @@ var enMessages = {
|
|
|
95
109
|
"cli.init.next-step": "{label} {message}",
|
|
96
110
|
"cli.init.reason-message": "{label} {message}",
|
|
97
111
|
"cli.init.plan.title": "Fabric init plan",
|
|
112
|
+
"cli.init.plan.mode-banner.default": "[mode: apply] Standard init execution",
|
|
113
|
+
"cli.init.plan.mode-banner.plan": "[mode: plan] Dry run only, no files will be written",
|
|
114
|
+
"cli.init.plan.mode-banner.reapply": "[mode: reapply] Force reapplying Fabric-managed assets",
|
|
115
|
+
"cli.init.plan.mode-banner.plan-reapply": "[mode: plan+reapply] Previewing a forced reapply without writing files",
|
|
98
116
|
"cli.init.plan.target": "Target: {target}",
|
|
99
117
|
"cli.init.plan.actions": "Plan: bootstrap={bootstrap} mcp={mcp} hooks={hooks} mcp-install={mcpInstall}",
|
|
100
118
|
"cli.init.plan.detected": "Detected clients: {clients}",
|
|
101
119
|
"cli.init.plan.writes": "Core writes:",
|
|
120
|
+
"cli.init.plan.preview-title": "Fabric init dry run",
|
|
121
|
+
"cli.init.plan.preview-result": "Mode={mode} bootstrap={bootstrap} mcp={mcp} hooks={hooks}",
|
|
122
|
+
"cli.init.mode.default": "default",
|
|
123
|
+
"cli.init.mode.reapply": "reapply",
|
|
124
|
+
"cli.init.mode.badge.default": "APPLY",
|
|
125
|
+
"cli.init.mode.badge.plan": "PLAN",
|
|
126
|
+
"cli.init.mode.badge.reapply": "REAPPLY",
|
|
127
|
+
"cli.init.mode.badge.plan-reapply": "PLAN + REAPPLY",
|
|
128
|
+
"cli.init.compat.plan": "Using canonical --plan mode: no files will be written.",
|
|
129
|
+
"cli.init.compat.interactive": "Compatibility: --interactive=false disables the TTY wizard.",
|
|
130
|
+
"cli.init.compat.legacy-stage-flags": "Compatibility: legacy --no-* flags are being mapped into the init plan.",
|
|
131
|
+
"cli.init.wizard.title": "Fabric init wizard",
|
|
132
|
+
"cli.init.wizard.intro": "Fabric init",
|
|
133
|
+
"cli.init.wizard.overview.title": "Install overview",
|
|
134
|
+
"cli.init.wizard.overview.body": "Target: {target}\nMode: {mode}\nThis wizard only reshapes the init plan; execution still runs through the existing Fabric init stages.",
|
|
135
|
+
"cli.init.wizard.step.target": "Confirm target",
|
|
136
|
+
"cli.init.wizard.step.plan": "Shape init plan",
|
|
137
|
+
"cli.init.wizard.step.review": "Review final plan",
|
|
138
|
+
"cli.init.wizard.target.confirm": "Continue initializing Fabric in {target}? [Y/n]",
|
|
139
|
+
"cli.init.wizard.stage.bootstrap": "Install bootstrap templates? [{defaultValue}]",
|
|
140
|
+
"cli.init.wizard.stage.mcp": "Configure MCP clients? [{defaultValue}]",
|
|
141
|
+
"cli.init.wizard.stage.hooks": "Install git hooks? [{defaultValue}]",
|
|
142
|
+
"cli.init.wizard.mcp-install": "MCP server install scope (global/local) [{defaultValue}]",
|
|
143
|
+
"cli.init.wizard.execute.confirm": "Execute this init plan now? [Y/n]",
|
|
144
|
+
"cli.init.wizard.outro": "Init plan accepted. Running Fabric init...",
|
|
145
|
+
"cli.init.wizard.invalid-yes-no": "Please answer yes or no.",
|
|
146
|
+
"cli.init.wizard.invalid-select": "Invalid value. Use one of: {options}.",
|
|
147
|
+
"cli.init.wizard.cancelled": "Fabric init cancelled before execution.",
|
|
102
148
|
"cli.init.capabilities.title": "Client capability summary",
|
|
103
149
|
"cli.init.capabilities.none": "No supported client was detected for bootstrap or MCP follow-up.",
|
|
104
150
|
"cli.init.capabilities.header.client": "Client",
|
|
@@ -109,15 +155,23 @@ var enMessages = {
|
|
|
109
155
|
"cli.init.capabilities.header.follow-up": "Follow-up",
|
|
110
156
|
"cli.init.capabilities.status.ready": "ready",
|
|
111
157
|
"cli.init.capabilities.status.installed": "installed",
|
|
158
|
+
"cli.init.capabilities.status.supported": "supported",
|
|
112
159
|
"cli.init.capabilities.status.manual": "manual",
|
|
113
160
|
"cli.init.capabilities.status.skipped": "skipped",
|
|
114
161
|
"cli.init.capabilities.status.failed": "failed",
|
|
115
162
|
"cli.init.capabilities.status.na": "n/a",
|
|
116
163
|
"cli.init.capabilities.follow-up.ready": "continue in client",
|
|
164
|
+
"cli.init.capabilities.follow-up.install": "install client assets",
|
|
117
165
|
"cli.init.capabilities.follow-up.manual": "manual step required",
|
|
118
166
|
"cli.init.next-step.message": "run fab hooks install to add the Day 4 pre-commit pipeline.",
|
|
119
|
-
"cli.init.reason-message.body": ".fabric/forensic.json is ready; use the agents-md-init skill to finish internal Fabric initialization.",
|
|
167
|
+
"cli.init.reason-message.claude-body": ".fabric/forensic.json is ready; use the agents-md-init skill to finish internal Fabric initialization.",
|
|
168
|
+
"cli.init.reason-message.codex-body": ".fabric/forensic.json is ready; continue with the repo skill at .agents/skills/fabric-init/SKILL.md and enable features.codex_hooks = true for Codex hooks.",
|
|
169
|
+
"cli.init.reason-message.multi-body": ".fabric/forensic.json is ready; continue in your installed client flow: Claude can use agents-md-init, and Codex can use .agents/skills/fabric-init/SKILL.md with features.codex_hooks = true.",
|
|
170
|
+
"cli.init.reason-message.installable-body": ".fabric/forensic.json is ready; some detected clients support Fabric follow-up but still need client assets installed.",
|
|
120
171
|
"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.",
|
|
172
|
+
"cli.init.codex-hooks.created": "{label} {path} with Codex hooks config (requires features.codex_hooks = true).",
|
|
173
|
+
"cli.init.codex-hooks.updated": "{label} {path} with Codex hooks config (requires features.codex_hooks = true).",
|
|
174
|
+
"cli.init.codex-hooks.skipped": "{label} {path}: Codex hooks config already present.",
|
|
121
175
|
"cli.init.claude-settings.created": "{label} {path} with Claude Stop hook.",
|
|
122
176
|
"cli.init.claude-settings.updated": "{label} {path} with Claude Stop hook.",
|
|
123
177
|
"cli.init.claude-settings.skipped": "{label} {path}: Claude Stop hook already present.",
|
|
@@ -175,6 +229,18 @@ var enMessages = {
|
|
|
175
229
|
"cli.sync-meta.drift-detected": "Fabric metadata drift detected. Run fab sync-meta to update.",
|
|
176
230
|
"cli.sync-meta.updated": "{label} {path}",
|
|
177
231
|
"dashboard.app.nav.aria-label": "Dashboard views",
|
|
232
|
+
"dashboard.app.nav.module-a.label": "Rule Topology",
|
|
233
|
+
"dashboard.app.nav.module-a.label-bilingual": "\u6A21\u5757 A Rule Topology",
|
|
234
|
+
"dashboard.app.nav.module-a.subtitle": "coverage + hit reasons",
|
|
235
|
+
"dashboard.app.nav.module-b.label": "Cognitive Forensic",
|
|
236
|
+
"dashboard.app.nav.module-b.label-bilingual": "\u6A21\u5757 B Cognitive Forensic",
|
|
237
|
+
"dashboard.app.nav.module-b.subtitle": "placeholder",
|
|
238
|
+
"dashboard.app.nav.module-c.label": "Semantic Timeline",
|
|
239
|
+
"dashboard.app.nav.module-c.label-bilingual": "\u6A21\u5757 C Semantic Timeline",
|
|
240
|
+
"dashboard.app.nav.module-c.subtitle": "placeholder",
|
|
241
|
+
"dashboard.app.nav.module-d.label": "Historical Ledger",
|
|
242
|
+
"dashboard.app.nav.module-d.label-bilingual": "\u6A21\u5757 D Historical Ledger",
|
|
243
|
+
"dashboard.app.nav.module-d.subtitle": "placeholder",
|
|
178
244
|
"dashboard.app.nav.rules.label": "Rules Tree",
|
|
179
245
|
"dashboard.app.nav.rules.label-bilingual": "\u89C4\u5219\u6811 Rules Tree",
|
|
180
246
|
"dashboard.app.nav.rules.subtitle": "meta graph",
|
|
@@ -190,16 +256,56 @@ var enMessages = {
|
|
|
190
256
|
"dashboard.app.nav.doctor.label": "Doctor",
|
|
191
257
|
"dashboard.app.nav.doctor.label-bilingual": "\u8BCA\u65AD\u53F0 Doctor",
|
|
192
258
|
"dashboard.app.nav.doctor.subtitle": "fab diagnostics",
|
|
259
|
+
"dashboard.app.nav.section.modules-status": "Module Status",
|
|
193
260
|
"dashboard.app.nav.section.diagnostics": "Diagnostics",
|
|
194
261
|
"dashboard.app.nav.drift-check": "Drift Check",
|
|
262
|
+
"dashboard.app.nav.modules.read-only": "read-only dashboard",
|
|
195
263
|
"dashboard.app.header.connected": "CONNECTED",
|
|
196
264
|
"dashboard.app.header.connecting": "CONNECTING",
|
|
197
265
|
"dashboard.app.live-region.received": "Received {type}",
|
|
266
|
+
"dashboard.app.breadcrumb.topology": "rule-topology",
|
|
267
|
+
"dashboard.app.breadcrumb.forensic": "cognitive-forensic",
|
|
268
|
+
"dashboard.app.breadcrumb.semantic": "semantic-timeline",
|
|
269
|
+
"dashboard.app.breadcrumb.ledger": "historical-ledger",
|
|
198
270
|
"dashboard.app.breadcrumb.rules": "rules-tree",
|
|
199
271
|
"dashboard.app.breadcrumb.locks": "human-lock",
|
|
200
272
|
"dashboard.app.breadcrumb.timeline": "intent-timeline",
|
|
201
273
|
"dashboard.app.breadcrumb.history": "history-replay",
|
|
202
274
|
"dashboard.app.breadcrumb.doctor": "doctor",
|
|
275
|
+
"dashboard.rule-topology.title": "Rule Topology",
|
|
276
|
+
"dashboard.rule-topology.subtitle": "Module A \xB7 scope heatmap + activation evidence \xB7 read-only",
|
|
277
|
+
"dashboard.rule-topology.path.placeholder": "Sample path for rules context",
|
|
278
|
+
"dashboard.rule-topology.path.aria-label": "Rules context sample path",
|
|
279
|
+
"dashboard.rule-topology.status.sample": "sample {path}",
|
|
280
|
+
"dashboard.rule-topology.status.hits": "{count} hits",
|
|
281
|
+
"dashboard.rule-topology.status.revision": "rev {revision}",
|
|
282
|
+
"dashboard.rule-topology.heatmap.title": "Coverage Heatmap",
|
|
283
|
+
"dashboard.rule-topology.heatmap.subtitle": "Heuristic directory coverage derived from scope_glob patterns",
|
|
284
|
+
"dashboard.rule-topology.heatmap.aria-label": "Directory coverage heatmap",
|
|
285
|
+
"dashboard.rule-topology.heatmap.count": "{count} directories",
|
|
286
|
+
"dashboard.rule-topology.heatmap.rules": "{count} rules",
|
|
287
|
+
"dashboard.rule-topology.heatmap.uncovered": "no matching scope",
|
|
288
|
+
"dashboard.rule-topology.heatmap.empty": "No rule directories available.",
|
|
289
|
+
"dashboard.rule-topology.heatmap.density.full": "covered",
|
|
290
|
+
"dashboard.rule-topology.heatmap.density.partial": "partial",
|
|
291
|
+
"dashboard.rule-topology.heatmap.density.none": "uncovered",
|
|
292
|
+
"dashboard.rule-topology.hit-reason.title": "Hit Reason Panel",
|
|
293
|
+
"dashboard.rule-topology.hit-reason.subtitle": "Why each rule was loaded for the current sample path",
|
|
294
|
+
"dashboard.rule-topology.hit-reason.aria-label": "Rule hit reasons",
|
|
295
|
+
"dashboard.rule-topology.hit-reason.count": "{count} reasons",
|
|
296
|
+
"dashboard.rule-topology.hit-reason.empty": "No rules loaded for this sample path.",
|
|
297
|
+
"dashboard.rule-topology.hit-reason.global": "Global",
|
|
298
|
+
"dashboard.rule-topology.hit-reason.tier.always": "Always-on",
|
|
299
|
+
"dashboard.rule-topology.hit-reason.tier.path": "Glob",
|
|
300
|
+
"dashboard.rule-topology.hit-reason.tier.description": "Description",
|
|
301
|
+
"dashboard.module-placeholder.coming-soon": "Module placeholder",
|
|
302
|
+
"dashboard.module-placeholder.read-only": "Reserved for future read-only dashboard batches.",
|
|
303
|
+
"dashboard.module-placeholder.forensic.title": "Cognitive Forensic",
|
|
304
|
+
"dashboard.module-placeholder.forensic.subtitle": "Module B placeholder",
|
|
305
|
+
"dashboard.module-placeholder.semantic.title": "Semantic Timeline",
|
|
306
|
+
"dashboard.module-placeholder.semantic.subtitle": "Module C placeholder",
|
|
307
|
+
"dashboard.module-placeholder.ledger.title": "Historical Ledger",
|
|
308
|
+
"dashboard.module-placeholder.ledger.subtitle": "Module D placeholder",
|
|
203
309
|
"dashboard.rules-tree.title": "Rules Tree Browser",
|
|
204
310
|
"dashboard.rules-tree.subtitle": ".fabric/agents.meta.json \xB7 L0/L1/L2 hierarchy \xB7 hash drift aware",
|
|
205
311
|
"dashboard.rules-tree.filter.placeholder": "Filter by file, glob, priority, hash...",
|
|
@@ -343,6 +449,17 @@ var zhCNMessages = {
|
|
|
343
449
|
"cli.shared.template-not-found": "\u672A\u627E\u5230\u6A21\u677F\uFF1A{path}",
|
|
344
450
|
"cli.shared.invalid-host-empty": "\u65E0\u6548 host\uFF1A<empty>",
|
|
345
451
|
"cli.shared.invalid-port": "\u65E0\u6548\u7AEF\u53E3\uFF1A{value}",
|
|
452
|
+
"cli.approve.description": "\u4ECE\u547D\u4EE4\u884C\u6279\u51C6\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
453
|
+
"cli.approve.args.all.description": "\u4E0D\u63D0\u793A\uFF0C\u6279\u51C6\u6240\u6709\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
454
|
+
"cli.approve.args.interactive.description": "\u9010\u6761\u63D0\u793A\u540E\u6279\u51C6\u5DF2\u6F02\u79FB\u7684 human-lock \u8BB0\u5F55\u3002",
|
|
455
|
+
"cli.approve.args.target.description": "\u76EE\u6807\u9879\u76EE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u3002",
|
|
456
|
+
"cli.approve.no-drift": "\u672A\u53D1\u73B0\u6F02\u79FB\u8BB0\u5F55\u3002",
|
|
457
|
+
"cli.approve.prompt": "\u6279\u51C6\u6B64\u8BB0\u5F55\uFF1F[y/N] ",
|
|
458
|
+
"cli.approve.approved-one": "\u5DF2\u6279\u51C6 {location}",
|
|
459
|
+
"cli.approve.skipped-one": "\u5DF2\u8DF3\u8FC7 {location}",
|
|
460
|
+
"cli.approve.summary": "\u5DF2\u6279\u51C6 {approved}/{total} \u6761\u6F02\u79FB\u8BB0\u5F55\u3002\u5DF2\u8DF3\u8FC7 {skipped} \u6761\u3002",
|
|
461
|
+
"cli.approve.table.expected": "\u9884\u671F",
|
|
462
|
+
"cli.approve.table.current": "\u5F53\u524D",
|
|
346
463
|
"cli.bootstrap.description": "\u4E3A\u652F\u6301\u7684 AI \u5BA2\u6237\u7AEF\u5B89\u88C5 Fabric \u5F15\u5BFC\u63D0\u793A\u6A21\u677F\u3002",
|
|
347
464
|
"cli.bootstrap.install.description": "\u5C06 Fabric \u5F15\u5BFC\u6A21\u677F\u590D\u5236\u5230\u5404\u5BA2\u6237\u7AEF\u7684\u539F\u751F\u4F4D\u7F6E\u3002",
|
|
348
465
|
"cli.bootstrap.install.args.clients.description": "\u53EF\u9009\u7684\u9017\u53F7\u5206\u9694\u5BA2\u6237\u7AEF\u8FC7\u6EE4\u5668\uFF0C\u4F8B\u5982 claude,cursor,codex\u3002",
|
|
@@ -394,10 +511,13 @@ var zhCNMessages = {
|
|
|
394
511
|
"cli.init.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",
|
|
395
512
|
"cli.init.args.debug.description": "\u5C06\u76EE\u6807\u89E3\u6790\u7EC6\u8282\u8F93\u51FA\u5230 stderr\u3002",
|
|
396
513
|
"cli.init.args.force.description": "\u8986\u76D6\u73B0\u6709\u6587\u4EF6\uFF08\u7ED5\u8FC7\u975E\u7834\u574F\u6027\u4FDD\u62A4\uFF09",
|
|
397
|
-
"cli.init.args.
|
|
398
|
-
"cli.init.args.
|
|
399
|
-
"cli.init.args.
|
|
400
|
-
"cli.init.args.
|
|
514
|
+
"cli.init.args.yes.description": "\u63A5\u53D7\u5F53\u524D\u521D\u59CB\u5316\u8BA1\u5212\u5E76\u8DF3\u8FC7 TTY \u5411\u5BFC\u76F4\u63A5\u6267\u884C",
|
|
515
|
+
"cli.init.args.plan.description": "\u4EC5\u8F93\u51FA\u521D\u59CB\u5316\u8BA1\u5212\uFF0C\u4E0D\u5199\u6587\u4EF6\u4E5F\u4E0D\u6267\u884C\u540E\u7EED\u9636\u6BB5",
|
|
516
|
+
"cli.init.args.reapply.description": "\u5728\u5DF2\u6709 setup \u4E0A\u91CD\u65B0\u5E94\u7528 Fabric \u7BA1\u7406\u7684\u6587\u4EF6\u548C\u9636\u6BB5\u5B89\u88C5\u5668",
|
|
517
|
+
"cli.init.args.no-bootstrap.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u521D\u59CB\u5316\u8BA1\u5212\u4E2D\u79FB\u9664 bootstrap",
|
|
518
|
+
"cli.init.args.no-mcp.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u521D\u59CB\u5316\u8BA1\u5212\u4E2D\u79FB\u9664 MCP \u914D\u7F6E",
|
|
519
|
+
"cli.init.args.no-hooks.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u4ECE\u521D\u59CB\u5316\u8BA1\u5212\u4E2D\u79FB\u9664 git hooks",
|
|
520
|
+
"cli.init.args.interactive.description": "\u517C\u5BB9\u6807\u5FD7\uFF1A\u7981\u7528 TTY \u5411\u5BFC\u5E76\u76F4\u63A5\u6267\u884C",
|
|
401
521
|
"cli.init.mcp.install.global": "\u4F7F\u7528\u5168\u5C40\u5B89\u88C5\u7684 @fenglimg/fabric-server",
|
|
402
522
|
"cli.init.mcp.install.local": "\u5C06 @fenglimg/fabric-server \u5B89\u88C5\u5230\u9879\u76EE devDependencies",
|
|
403
523
|
"cli.init.mcp.install.prompt": "MCP \u670D\u52A1\u7AEF\u5B89\u88C5\u8303\u56F4\uFF08global|local\uFF09",
|
|
@@ -420,10 +540,42 @@ var zhCNMessages = {
|
|
|
420
540
|
"cli.init.next-step": "{label} {message}",
|
|
421
541
|
"cli.init.reason-message": "{label} {message}",
|
|
422
542
|
"cli.init.plan.title": "Fabric \u521D\u59CB\u5316\u8BA1\u5212",
|
|
543
|
+
"cli.init.plan.mode-banner.default": "[mode: apply] \u6807\u51C6\u521D\u59CB\u5316\u6267\u884C",
|
|
544
|
+
"cli.init.plan.mode-banner.plan": "[mode: plan] \u4EC5\u9884\u89C8\uFF0C\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6",
|
|
545
|
+
"cli.init.plan.mode-banner.reapply": "[mode: reapply] \u5C06\u5F3A\u5236\u91CD\u65B0\u5E94\u7528 Fabric \u7BA1\u7406\u8D44\u4EA7",
|
|
546
|
+
"cli.init.plan.mode-banner.plan-reapply": "[mode: plan+reapply] \u6B63\u5728\u9884\u89C8\u4E00\u6B21\u5F3A\u5236 reapply\uFF0C\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6",
|
|
423
547
|
"cli.init.plan.target": "\u76EE\u6807\uFF1A{target}",
|
|
424
548
|
"cli.init.plan.actions": "\u8BA1\u5212\uFF1Abootstrap={bootstrap} mcp={mcp} hooks={hooks} mcp-install={mcpInstall}",
|
|
425
549
|
"cli.init.plan.detected": "\u68C0\u6D4B\u5230\u7684\u5BA2\u6237\u7AEF\uFF1A{clients}",
|
|
426
550
|
"cli.init.plan.writes": "\u6838\u5FC3\u5199\u5165\uFF1A",
|
|
551
|
+
"cli.init.plan.preview-title": "Fabric \u521D\u59CB\u5316 dry run",
|
|
552
|
+
"cli.init.plan.preview-result": "\u6A21\u5F0F={mode} bootstrap={bootstrap} mcp={mcp} hooks={hooks}",
|
|
553
|
+
"cli.init.mode.default": "default",
|
|
554
|
+
"cli.init.mode.reapply": "reapply",
|
|
555
|
+
"cli.init.mode.badge.default": "APPLY",
|
|
556
|
+
"cli.init.mode.badge.plan": "PLAN",
|
|
557
|
+
"cli.init.mode.badge.reapply": "REAPPLY",
|
|
558
|
+
"cli.init.mode.badge.plan-reapply": "PLAN + REAPPLY",
|
|
559
|
+
"cli.init.compat.plan": "\u5DF2\u542F\u7528 canonical --plan \u6A21\u5F0F\uFF1A\u4E0D\u4F1A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\u3002",
|
|
560
|
+
"cli.init.compat.interactive": "\u517C\u5BB9\u63D0\u793A\uFF1A--interactive=false \u4F1A\u7981\u7528 TTY \u5411\u5BFC\u3002",
|
|
561
|
+
"cli.init.compat.legacy-stage-flags": "\u517C\u5BB9\u63D0\u793A\uFF1A\u65E7\u7684 --no-* \u6807\u5FD7\u6B63\u5728\u6620\u5C04\u5230\u521D\u59CB\u5316\u8BA1\u5212\u4E2D\u3002",
|
|
562
|
+
"cli.init.wizard.title": "Fabric \u521D\u59CB\u5316\u5411\u5BFC",
|
|
563
|
+
"cli.init.wizard.intro": "Fabric init",
|
|
564
|
+
"cli.init.wizard.overview.title": "\u5B89\u88C5\u6982\u89C8",
|
|
565
|
+
"cli.init.wizard.overview.body": "\u76EE\u6807\uFF1A{target}\n\u6A21\u5F0F\uFF1A{mode}\n\u8FD9\u4E2A\u5411\u5BFC\u53EA\u8D1F\u8D23\u91CD\u5851\u521D\u59CB\u5316\u8BA1\u5212\uFF1B\u771F\u6B63\u6267\u884C\u4ECD\u7136\u8D70\u73B0\u6709\u7684 Fabric init \u9636\u6BB5\u3002",
|
|
566
|
+
"cli.init.wizard.step.target": "\u786E\u8BA4\u76EE\u6807",
|
|
567
|
+
"cli.init.wizard.step.plan": "\u914D\u7F6E\u521D\u59CB\u5316\u8BA1\u5212",
|
|
568
|
+
"cli.init.wizard.step.review": "\u590D\u6838\u6700\u7EC8\u8BA1\u5212",
|
|
569
|
+
"cli.init.wizard.target.confirm": "\u786E\u8BA4\u5728 {target} \u4E2D\u7EE7\u7EED\u521D\u59CB\u5316 Fabric\uFF1F[Y/n]",
|
|
570
|
+
"cli.init.wizard.stage.bootstrap": "\u662F\u5426\u5B89\u88C5 bootstrap \u6A21\u677F\uFF1F[{defaultValue}]",
|
|
571
|
+
"cli.init.wizard.stage.mcp": "\u662F\u5426\u914D\u7F6E MCP \u5BA2\u6237\u7AEF\uFF1F[{defaultValue}]",
|
|
572
|
+
"cli.init.wizard.stage.hooks": "\u662F\u5426\u5B89\u88C5 git hooks\uFF1F[{defaultValue}]",
|
|
573
|
+
"cli.init.wizard.mcp-install": "MCP \u670D\u52A1\u7AEF\u5B89\u88C5\u8303\u56F4\uFF08global/local\uFF09[{defaultValue}]",
|
|
574
|
+
"cli.init.wizard.execute.confirm": "\u73B0\u5728\u6267\u884C\u8BE5\u521D\u59CB\u5316\u8BA1\u5212\uFF1F[Y/n]",
|
|
575
|
+
"cli.init.wizard.outro": "\u521D\u59CB\u5316\u8BA1\u5212\u5DF2\u786E\u8BA4\uFF0C\u5F00\u59CB\u6267\u884C Fabric init...",
|
|
576
|
+
"cli.init.wizard.invalid-yes-no": "\u8BF7\u8F93\u5165 yes \u6216 no\u3002",
|
|
577
|
+
"cli.init.wizard.invalid-select": "\u65E0\u6548\u8F93\u5165\u3002\u53EF\u9009\u503C\uFF1A{options}\u3002",
|
|
578
|
+
"cli.init.wizard.cancelled": "Fabric \u521D\u59CB\u5316\u5DF2\u5728\u6267\u884C\u524D\u53D6\u6D88\u3002",
|
|
427
579
|
"cli.init.capabilities.title": "\u5BA2\u6237\u7AEF\u80FD\u529B\u6458\u8981",
|
|
428
580
|
"cli.init.capabilities.none": "\u6CA1\u6709\u68C0\u6D4B\u5230\u53EF\u7528\u4E8E bootstrap \u6216 MCP \u540E\u7EED\u63A5\u529B\u7684\u53D7\u652F\u6301\u5BA2\u6237\u7AEF\u3002",
|
|
429
581
|
"cli.init.capabilities.header.client": "\u5BA2\u6237\u7AEF",
|
|
@@ -434,15 +586,23 @@ var zhCNMessages = {
|
|
|
434
586
|
"cli.init.capabilities.header.follow-up": "\u540E\u7EED\u52A8\u4F5C",
|
|
435
587
|
"cli.init.capabilities.status.ready": "\u5DF2\u5C31\u7EEA",
|
|
436
588
|
"cli.init.capabilities.status.installed": "\u5DF2\u5B89\u88C5",
|
|
589
|
+
"cli.init.capabilities.status.supported": "\u5DF2\u652F\u6301",
|
|
437
590
|
"cli.init.capabilities.status.manual": "\u624B\u52A8\u5904\u7406",
|
|
438
591
|
"cli.init.capabilities.status.skipped": "\u5DF2\u8DF3\u8FC7",
|
|
439
592
|
"cli.init.capabilities.status.failed": "\u5931\u8D25",
|
|
440
593
|
"cli.init.capabilities.status.na": "\u4E0D\u9002\u7528",
|
|
441
594
|
"cli.init.capabilities.follow-up.ready": "\u53EF\u5728\u5BA2\u6237\u7AEF\u7EE7\u7EED",
|
|
595
|
+
"cli.init.capabilities.follow-up.install": "\u5B89\u88C5\u5BA2\u6237\u7AEF\u8D44\u4EA7",
|
|
442
596
|
"cli.init.capabilities.follow-up.manual": "\u9700\u8981\u624B\u52A8\u540E\u7EED\u5904\u7406",
|
|
443
597
|
"cli.init.next-step.message": "\u8FD0\u884C fab hooks install \u4EE5\u6DFB\u52A0\u7B2C 4 \u5929\u7684 pre-commit \u6D41\u6C34\u7EBF\u3002",
|
|
444
|
-
"cli.init.reason-message.body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u4F7F\u7528 agents-md-init skill \u5B8C\u6210 Fabric \u5185\u90E8\u521D\u59CB\u5316\u3002",
|
|
598
|
+
"cli.init.reason-message.claude-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u4F7F\u7528 agents-md-init skill \u5B8C\u6210 Fabric \u5185\u90E8\u521D\u59CB\u5316\u3002",
|
|
599
|
+
"cli.init.reason-message.codex-body": ".fabric/forensic.json \u5DF2\u5C31\u7EEA\uFF1B\u8BF7\u7EE7\u7EED\u4F7F\u7528\u4ED3\u5E93\u5185\u7684 .agents/skills/fabric-init/SKILL.md\uFF0C\u5E76\u4E3A Codex hooks \u542F\u7528 features.codex_hooks = true\u3002",
|
|
600
|
+
"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 agents-md-init\uFF0CCodex \u4F7F\u7528 .agents/skills/fabric-init/SKILL.md\uFF0C\u5E76\u542F\u7528 features.codex_hooks = true\u3002",
|
|
601
|
+
"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",
|
|
445
602
|
"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",
|
|
603
|
+
"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",
|
|
604
|
+
"cli.init.codex-hooks.updated": "{label} {path}\uFF0C\u5E76\u5199\u5165 Codex hooks \u914D\u7F6E\uFF08\u9700\u542F\u7528 features.codex_hooks = true\uFF09\u3002",
|
|
605
|
+
"cli.init.codex-hooks.skipped": "{label} {path}\uFF1ACodex hooks \u914D\u7F6E\u5DF2\u5B58\u5728\u3002",
|
|
446
606
|
"cli.init.claude-settings.created": "{label} {path}\uFF0C\u5E76\u5199\u5165 Claude Stop hook\u3002",
|
|
447
607
|
"cli.init.claude-settings.updated": "{label} {path}\uFF0C\u5E76\u5199\u5165 Claude Stop hook\u3002",
|
|
448
608
|
"cli.init.claude-settings.skipped": "{label} {path}\uFF1AClaude Stop hook \u5DF2\u5B58\u5728\u3002",
|
|
@@ -500,6 +660,18 @@ var zhCNMessages = {
|
|
|
500
660
|
"cli.sync-meta.drift-detected": "\u68C0\u6D4B\u5230 Fabric \u5143\u6570\u636E\u6F02\u79FB\u3002\u8BF7\u8FD0\u884C fab sync-meta \u8FDB\u884C\u66F4\u65B0\u3002",
|
|
501
661
|
"cli.sync-meta.updated": "{label} {path}",
|
|
502
662
|
"dashboard.app.nav.aria-label": "\u4EEA\u8868\u76D8\u89C6\u56FE\u5BFC\u822A",
|
|
663
|
+
"dashboard.app.nav.module-a.label": "\u89C4\u5219\u62D3\u6251",
|
|
664
|
+
"dashboard.app.nav.module-a.label-bilingual": "\u6A21\u5757 A Rule Topology",
|
|
665
|
+
"dashboard.app.nav.module-a.subtitle": "\u8986\u76D6\u70ED\u529B\u56FE + \u547D\u4E2D\u539F\u56E0",
|
|
666
|
+
"dashboard.app.nav.module-b.label": "\u8BA4\u77E5\u53D6\u8BC1",
|
|
667
|
+
"dashboard.app.nav.module-b.label-bilingual": "\u6A21\u5757 B Cognitive Forensic",
|
|
668
|
+
"dashboard.app.nav.module-b.subtitle": "\u5360\u4F4D",
|
|
669
|
+
"dashboard.app.nav.module-c.label": "\u8BED\u4E49\u65F6\u95F4\u7EBF",
|
|
670
|
+
"dashboard.app.nav.module-c.label-bilingual": "\u6A21\u5757 C Semantic Timeline",
|
|
671
|
+
"dashboard.app.nav.module-c.subtitle": "\u5360\u4F4D",
|
|
672
|
+
"dashboard.app.nav.module-d.label": "\u5386\u53F2\u8D26\u672C",
|
|
673
|
+
"dashboard.app.nav.module-d.label-bilingual": "\u6A21\u5757 D Historical Ledger",
|
|
674
|
+
"dashboard.app.nav.module-d.subtitle": "\u5360\u4F4D",
|
|
503
675
|
"dashboard.app.nav.rules.label": "\u89C4\u5219\u6811",
|
|
504
676
|
"dashboard.app.nav.rules.label-bilingual": "\u89C4\u5219\u6811 Rules Tree",
|
|
505
677
|
"dashboard.app.nav.rules.subtitle": "\u5143\u56FE",
|
|
@@ -515,16 +687,56 @@ var zhCNMessages = {
|
|
|
515
687
|
"dashboard.app.nav.doctor.label": "\u8BCA\u65AD\u53F0",
|
|
516
688
|
"dashboard.app.nav.doctor.label-bilingual": "\u8BCA\u65AD\u53F0 Doctor",
|
|
517
689
|
"dashboard.app.nav.doctor.subtitle": "fab \u8BCA\u65AD",
|
|
690
|
+
"dashboard.app.nav.section.modules-status": "\u6A21\u5757\u72B6\u6001",
|
|
518
691
|
"dashboard.app.nav.section.diagnostics": "\u8BCA\u65AD",
|
|
519
692
|
"dashboard.app.nav.drift-check": "\u6F02\u79FB\u68C0\u67E5",
|
|
693
|
+
"dashboard.app.nav.modules.read-only": "\u53EA\u8BFB\u4EEA\u8868\u76D8",
|
|
520
694
|
"dashboard.app.header.connected": "\u5DF2\u8FDE\u63A5",
|
|
521
695
|
"dashboard.app.header.connecting": "\u8FDE\u63A5\u4E2D",
|
|
522
696
|
"dashboard.app.live-region.received": "\u5DF2\u6536\u5230 {type}",
|
|
697
|
+
"dashboard.app.breadcrumb.topology": "rule-topology",
|
|
698
|
+
"dashboard.app.breadcrumb.forensic": "cognitive-forensic",
|
|
699
|
+
"dashboard.app.breadcrumb.semantic": "semantic-timeline",
|
|
700
|
+
"dashboard.app.breadcrumb.ledger": "historical-ledger",
|
|
523
701
|
"dashboard.app.breadcrumb.rules": "rules-tree",
|
|
524
702
|
"dashboard.app.breadcrumb.locks": "human-lock",
|
|
525
703
|
"dashboard.app.breadcrumb.timeline": "intent-timeline",
|
|
526
704
|
"dashboard.app.breadcrumb.history": "history-replay",
|
|
527
705
|
"dashboard.app.breadcrumb.doctor": "doctor",
|
|
706
|
+
"dashboard.rule-topology.title": "\u89C4\u5219\u62D3\u6251",
|
|
707
|
+
"dashboard.rule-topology.subtitle": "\u6A21\u5757 A \xB7 \u4F5C\u7528\u57DF\u70ED\u529B\u56FE + \u6FC0\u6D3B\u8BC1\u636E \xB7 \u53EA\u8BFB",
|
|
708
|
+
"dashboard.rule-topology.path.placeholder": "\u7528\u4E8E\u89C4\u5219\u4E0A\u4E0B\u6587\u7684\u6837\u672C\u8DEF\u5F84",
|
|
709
|
+
"dashboard.rule-topology.path.aria-label": "\u89C4\u5219\u4E0A\u4E0B\u6587\u6837\u672C\u8DEF\u5F84",
|
|
710
|
+
"dashboard.rule-topology.status.sample": "\u6837\u672C {path}",
|
|
711
|
+
"dashboard.rule-topology.status.hits": "{count} \u6761\u547D\u4E2D",
|
|
712
|
+
"dashboard.rule-topology.status.revision": "rev {revision}",
|
|
713
|
+
"dashboard.rule-topology.heatmap.title": "\u8986\u76D6\u70ED\u529B\u56FE",
|
|
714
|
+
"dashboard.rule-topology.heatmap.subtitle": "\u57FA\u4E8E scope_glob \u6A21\u5F0F\u63A8\u5BFC\u7684\u76EE\u5F55\u8986\u76D6\u60C5\u51B5",
|
|
715
|
+
"dashboard.rule-topology.heatmap.aria-label": "\u76EE\u5F55\u8986\u76D6\u70ED\u529B\u56FE",
|
|
716
|
+
"dashboard.rule-topology.heatmap.count": "{count} \u4E2A\u76EE\u5F55",
|
|
717
|
+
"dashboard.rule-topology.heatmap.rules": "{count} \u6761\u89C4\u5219",
|
|
718
|
+
"dashboard.rule-topology.heatmap.uncovered": "\u6CA1\u6709\u5339\u914D\u4F5C\u7528\u57DF",
|
|
719
|
+
"dashboard.rule-topology.heatmap.empty": "\u5F53\u524D\u6CA1\u6709\u53EF\u663E\u793A\u7684\u89C4\u5219\u76EE\u5F55\u3002",
|
|
720
|
+
"dashboard.rule-topology.heatmap.density.full": "\u5DF2\u8986\u76D6",
|
|
721
|
+
"dashboard.rule-topology.heatmap.density.partial": "\u90E8\u5206\u8986\u76D6",
|
|
722
|
+
"dashboard.rule-topology.heatmap.density.none": "\u672A\u8986\u76D6",
|
|
723
|
+
"dashboard.rule-topology.hit-reason.title": "\u547D\u4E2D\u539F\u56E0\u9762\u677F",
|
|
724
|
+
"dashboard.rule-topology.hit-reason.subtitle": "\u663E\u793A\u5F53\u524D\u6837\u672C\u8DEF\u5F84\u4E3A\u4F55\u547D\u4E2D\u8FD9\u4E9B\u89C4\u5219",
|
|
725
|
+
"dashboard.rule-topology.hit-reason.aria-label": "\u89C4\u5219\u547D\u4E2D\u539F\u56E0",
|
|
726
|
+
"dashboard.rule-topology.hit-reason.count": "{count} \u6761\u539F\u56E0",
|
|
727
|
+
"dashboard.rule-topology.hit-reason.empty": "\u5F53\u524D\u6837\u672C\u8DEF\u5F84\u6CA1\u6709\u52A0\u8F7D\u5230\u89C4\u5219\u3002",
|
|
728
|
+
"dashboard.rule-topology.hit-reason.global": "\u5168\u5C40",
|
|
729
|
+
"dashboard.rule-topology.hit-reason.tier.always": "\u5E38\u9A7B",
|
|
730
|
+
"dashboard.rule-topology.hit-reason.tier.path": "Glob",
|
|
731
|
+
"dashboard.rule-topology.hit-reason.tier.description": "\u63CF\u8FF0",
|
|
732
|
+
"dashboard.module-placeholder.coming-soon": "\u6A21\u5757\u5360\u4F4D",
|
|
733
|
+
"dashboard.module-placeholder.read-only": "\u4E3A\u540E\u7EED\u53EA\u8BFB\u4EEA\u8868\u76D8\u6279\u6B21\u9884\u7559\u3002",
|
|
734
|
+
"dashboard.module-placeholder.forensic.title": "\u8BA4\u77E5\u53D6\u8BC1",
|
|
735
|
+
"dashboard.module-placeholder.forensic.subtitle": "\u6A21\u5757 B \u5360\u4F4D",
|
|
736
|
+
"dashboard.module-placeholder.semantic.title": "\u8BED\u4E49\u65F6\u95F4\u7EBF",
|
|
737
|
+
"dashboard.module-placeholder.semantic.subtitle": "\u6A21\u5757 C \u5360\u4F4D",
|
|
738
|
+
"dashboard.module-placeholder.ledger.title": "\u5386\u53F2\u8D26\u672C",
|
|
739
|
+
"dashboard.module-placeholder.ledger.subtitle": "\u6A21\u5757 D \u5360\u4F4D",
|
|
528
740
|
"dashboard.rules-tree.title": "\u89C4\u5219\u6811\u6D4F\u89C8\u5668",
|
|
529
741
|
"dashboard.rules-tree.subtitle": ".fabric/agents.meta.json \xB7 L0/L1/L2 \u5C42\u7EA7 \xB7 \u611F\u77E5\u54C8\u5E0C\u6F02\u79FB",
|
|
530
742
|
"dashboard.rules-tree.filter.placeholder": "\u6309\u6587\u4EF6\u3001glob\u3001\u4F18\u5148\u7EA7\u3001\u54C8\u5E0C\u8FC7\u6EE4...",
|
package/dist/i18n/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AgentsLayer, AgentsTopologyType, AgentsMetaNode, HumanLockEntry, AgentsMeta, LedgerEntry } from './types/index.js';
|
|
2
|
-
export { AiLedgerEntry, AuditMode, ClientPaths, FabricConfig, HumanLedgerEntry } from './types/index.js';
|
|
2
|
+
export { AgentsActivationTier, AgentsMetaNodeActivation, AiLedgerEntry, AuditMode, ClientPaths, FabricConfig, HumanLedgerEntry } from './types/index.js';
|
|
3
3
|
export { Locale, Messages, PROTECTED_TOKENS, ProtectedToken, TranslationKey, Translator, createTranslator, defaultMessages, detectNodeLocale, enMessages, normalizeLocale, zhCNMessages } from './i18n/index.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
|
|
@@ -16,6 +16,16 @@ declare const agentsMetaNodeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
16
16
|
layer: z.ZodEnum<["L0", "L1", "L2"]>;
|
|
17
17
|
topology_type: z.ZodEnum<["mirror", "cross-cutting"]>;
|
|
18
18
|
hash: z.ZodString;
|
|
19
|
+
activation: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
tier: z.ZodEnum<["always", "path", "description"]>;
|
|
21
|
+
description: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
tier: "always" | "path" | "description";
|
|
24
|
+
description?: string | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
tier: "always" | "path" | "description";
|
|
27
|
+
description?: string | undefined;
|
|
28
|
+
}>>;
|
|
19
29
|
}, "strip", z.ZodTypeAny, {
|
|
20
30
|
file: string;
|
|
21
31
|
priority: "high" | "medium" | "low";
|
|
@@ -24,6 +34,10 @@ declare const agentsMetaNodeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
24
34
|
topology_type: "mirror" | "cross-cutting";
|
|
25
35
|
scope_glob: string;
|
|
26
36
|
deps: string[];
|
|
37
|
+
activation?: {
|
|
38
|
+
tier: "always" | "path" | "description";
|
|
39
|
+
description?: string | undefined;
|
|
40
|
+
} | undefined;
|
|
27
41
|
}, {
|
|
28
42
|
file: string;
|
|
29
43
|
priority: "high" | "medium" | "low";
|
|
@@ -32,6 +46,10 @@ declare const agentsMetaNodeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
32
46
|
topology_type: "mirror" | "cross-cutting";
|
|
33
47
|
scope_glob: string;
|
|
34
48
|
deps: string[];
|
|
49
|
+
activation?: {
|
|
50
|
+
tier: "always" | "path" | "description";
|
|
51
|
+
description?: string | undefined;
|
|
52
|
+
} | undefined;
|
|
35
53
|
}>, {
|
|
36
54
|
file: string;
|
|
37
55
|
priority: "high" | "medium" | "low";
|
|
@@ -40,6 +58,10 @@ declare const agentsMetaNodeSchema: z.ZodEffects<z.ZodObject<{
|
|
|
40
58
|
topology_type: "mirror" | "cross-cutting";
|
|
41
59
|
scope_glob: string;
|
|
42
60
|
deps: string[];
|
|
61
|
+
activation?: {
|
|
62
|
+
tier: "always" | "path" | "description";
|
|
63
|
+
description?: string | undefined;
|
|
64
|
+
} | undefined;
|
|
43
65
|
}, unknown>;
|
|
44
66
|
declare const agentsMetaSchema: z.ZodObject<{
|
|
45
67
|
revision: z.ZodString;
|
|
@@ -51,6 +73,16 @@ declare const agentsMetaSchema: z.ZodObject<{
|
|
|
51
73
|
layer: z.ZodEnum<["L0", "L1", "L2"]>;
|
|
52
74
|
topology_type: z.ZodEnum<["mirror", "cross-cutting"]>;
|
|
53
75
|
hash: z.ZodString;
|
|
76
|
+
activation: z.ZodOptional<z.ZodObject<{
|
|
77
|
+
tier: z.ZodEnum<["always", "path", "description"]>;
|
|
78
|
+
description: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
tier: "always" | "path" | "description";
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
tier: "always" | "path" | "description";
|
|
84
|
+
description?: string | undefined;
|
|
85
|
+
}>>;
|
|
54
86
|
}, "strip", z.ZodTypeAny, {
|
|
55
87
|
file: string;
|
|
56
88
|
priority: "high" | "medium" | "low";
|
|
@@ -59,6 +91,10 @@ declare const agentsMetaSchema: z.ZodObject<{
|
|
|
59
91
|
topology_type: "mirror" | "cross-cutting";
|
|
60
92
|
scope_glob: string;
|
|
61
93
|
deps: string[];
|
|
94
|
+
activation?: {
|
|
95
|
+
tier: "always" | "path" | "description";
|
|
96
|
+
description?: string | undefined;
|
|
97
|
+
} | undefined;
|
|
62
98
|
}, {
|
|
63
99
|
file: string;
|
|
64
100
|
priority: "high" | "medium" | "low";
|
|
@@ -67,6 +103,10 @@ declare const agentsMetaSchema: z.ZodObject<{
|
|
|
67
103
|
topology_type: "mirror" | "cross-cutting";
|
|
68
104
|
scope_glob: string;
|
|
69
105
|
deps: string[];
|
|
106
|
+
activation?: {
|
|
107
|
+
tier: "always" | "path" | "description";
|
|
108
|
+
description?: string | undefined;
|
|
109
|
+
} | undefined;
|
|
70
110
|
}>, {
|
|
71
111
|
file: string;
|
|
72
112
|
priority: "high" | "medium" | "low";
|
|
@@ -75,6 +115,10 @@ declare const agentsMetaSchema: z.ZodObject<{
|
|
|
75
115
|
topology_type: "mirror" | "cross-cutting";
|
|
76
116
|
scope_glob: string;
|
|
77
117
|
deps: string[];
|
|
118
|
+
activation?: {
|
|
119
|
+
tier: "always" | "path" | "description";
|
|
120
|
+
description?: string | undefined;
|
|
121
|
+
} | undefined;
|
|
78
122
|
}, unknown>>;
|
|
79
123
|
}, "strip", z.ZodTypeAny, {
|
|
80
124
|
revision: string;
|
|
@@ -86,6 +130,10 @@ declare const agentsMetaSchema: z.ZodObject<{
|
|
|
86
130
|
topology_type: "mirror" | "cross-cutting";
|
|
87
131
|
scope_glob: string;
|
|
88
132
|
deps: string[];
|
|
133
|
+
activation?: {
|
|
134
|
+
tier: "always" | "path" | "description";
|
|
135
|
+
description?: string | undefined;
|
|
136
|
+
} | undefined;
|
|
89
137
|
}>;
|
|
90
138
|
}, {
|
|
91
139
|
revision: string;
|
|
@@ -1366,6 +1414,16 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1366
1414
|
layer: z.ZodEnum<["L0", "L1", "L2"]>;
|
|
1367
1415
|
topology_type: z.ZodEnum<["mirror", "cross-cutting"]>;
|
|
1368
1416
|
hash: z.ZodString;
|
|
1417
|
+
activation: z.ZodOptional<z.ZodObject<{
|
|
1418
|
+
tier: z.ZodEnum<["always", "path", "description"]>;
|
|
1419
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1420
|
+
}, "strip", z.ZodTypeAny, {
|
|
1421
|
+
tier: "always" | "path" | "description";
|
|
1422
|
+
description?: string | undefined;
|
|
1423
|
+
}, {
|
|
1424
|
+
tier: "always" | "path" | "description";
|
|
1425
|
+
description?: string | undefined;
|
|
1426
|
+
}>>;
|
|
1369
1427
|
}, "strip", z.ZodTypeAny, {
|
|
1370
1428
|
file: string;
|
|
1371
1429
|
priority: "high" | "medium" | "low";
|
|
@@ -1374,6 +1432,10 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1374
1432
|
topology_type: "mirror" | "cross-cutting";
|
|
1375
1433
|
scope_glob: string;
|
|
1376
1434
|
deps: string[];
|
|
1435
|
+
activation?: {
|
|
1436
|
+
tier: "always" | "path" | "description";
|
|
1437
|
+
description?: string | undefined;
|
|
1438
|
+
} | undefined;
|
|
1377
1439
|
}, {
|
|
1378
1440
|
file: string;
|
|
1379
1441
|
priority: "high" | "medium" | "low";
|
|
@@ -1382,6 +1444,10 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1382
1444
|
topology_type: "mirror" | "cross-cutting";
|
|
1383
1445
|
scope_glob: string;
|
|
1384
1446
|
deps: string[];
|
|
1447
|
+
activation?: {
|
|
1448
|
+
tier: "always" | "path" | "description";
|
|
1449
|
+
description?: string | undefined;
|
|
1450
|
+
} | undefined;
|
|
1385
1451
|
}>, {
|
|
1386
1452
|
file: string;
|
|
1387
1453
|
priority: "high" | "medium" | "low";
|
|
@@ -1390,6 +1456,10 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1390
1456
|
topology_type: "mirror" | "cross-cutting";
|
|
1391
1457
|
scope_glob: string;
|
|
1392
1458
|
deps: string[];
|
|
1459
|
+
activation?: {
|
|
1460
|
+
tier: "always" | "path" | "description";
|
|
1461
|
+
description?: string | undefined;
|
|
1462
|
+
} | undefined;
|
|
1393
1463
|
}, unknown>>;
|
|
1394
1464
|
}, "strip", z.ZodTypeAny, {
|
|
1395
1465
|
revision: string;
|
|
@@ -1401,6 +1471,10 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1401
1471
|
topology_type: "mirror" | "cross-cutting";
|
|
1402
1472
|
scope_glob: string;
|
|
1403
1473
|
deps: string[];
|
|
1474
|
+
activation?: {
|
|
1475
|
+
tier: "always" | "path" | "description";
|
|
1476
|
+
description?: string | undefined;
|
|
1477
|
+
} | undefined;
|
|
1404
1478
|
}>;
|
|
1405
1479
|
}, {
|
|
1406
1480
|
revision: string;
|
|
@@ -1418,6 +1492,10 @@ declare const metaUpdatedEventSchema: z.ZodObject<{
|
|
|
1418
1492
|
topology_type: "mirror" | "cross-cutting";
|
|
1419
1493
|
scope_glob: string;
|
|
1420
1494
|
deps: string[];
|
|
1495
|
+
activation?: {
|
|
1496
|
+
tier: "always" | "path" | "description";
|
|
1497
|
+
description?: string | undefined;
|
|
1498
|
+
} | undefined;
|
|
1421
1499
|
}>;
|
|
1422
1500
|
};
|
|
1423
1501
|
}, {
|
|
@@ -2156,6 +2234,16 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2156
2234
|
layer: z.ZodEnum<["L0", "L1", "L2"]>;
|
|
2157
2235
|
topology_type: z.ZodEnum<["mirror", "cross-cutting"]>;
|
|
2158
2236
|
hash: z.ZodString;
|
|
2237
|
+
activation: z.ZodOptional<z.ZodObject<{
|
|
2238
|
+
tier: z.ZodEnum<["always", "path", "description"]>;
|
|
2239
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2240
|
+
}, "strip", z.ZodTypeAny, {
|
|
2241
|
+
tier: "always" | "path" | "description";
|
|
2242
|
+
description?: string | undefined;
|
|
2243
|
+
}, {
|
|
2244
|
+
tier: "always" | "path" | "description";
|
|
2245
|
+
description?: string | undefined;
|
|
2246
|
+
}>>;
|
|
2159
2247
|
}, "strip", z.ZodTypeAny, {
|
|
2160
2248
|
file: string;
|
|
2161
2249
|
priority: "high" | "medium" | "low";
|
|
@@ -2164,6 +2252,10 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2164
2252
|
topology_type: "mirror" | "cross-cutting";
|
|
2165
2253
|
scope_glob: string;
|
|
2166
2254
|
deps: string[];
|
|
2255
|
+
activation?: {
|
|
2256
|
+
tier: "always" | "path" | "description";
|
|
2257
|
+
description?: string | undefined;
|
|
2258
|
+
} | undefined;
|
|
2167
2259
|
}, {
|
|
2168
2260
|
file: string;
|
|
2169
2261
|
priority: "high" | "medium" | "low";
|
|
@@ -2172,6 +2264,10 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2172
2264
|
topology_type: "mirror" | "cross-cutting";
|
|
2173
2265
|
scope_glob: string;
|
|
2174
2266
|
deps: string[];
|
|
2267
|
+
activation?: {
|
|
2268
|
+
tier: "always" | "path" | "description";
|
|
2269
|
+
description?: string | undefined;
|
|
2270
|
+
} | undefined;
|
|
2175
2271
|
}>, {
|
|
2176
2272
|
file: string;
|
|
2177
2273
|
priority: "high" | "medium" | "low";
|
|
@@ -2180,6 +2276,10 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2180
2276
|
topology_type: "mirror" | "cross-cutting";
|
|
2181
2277
|
scope_glob: string;
|
|
2182
2278
|
deps: string[];
|
|
2279
|
+
activation?: {
|
|
2280
|
+
tier: "always" | "path" | "description";
|
|
2281
|
+
description?: string | undefined;
|
|
2282
|
+
} | undefined;
|
|
2183
2283
|
}, unknown>>;
|
|
2184
2284
|
}, "strip", z.ZodTypeAny, {
|
|
2185
2285
|
revision: string;
|
|
@@ -2191,6 +2291,10 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2191
2291
|
topology_type: "mirror" | "cross-cutting";
|
|
2192
2292
|
scope_glob: string;
|
|
2193
2293
|
deps: string[];
|
|
2294
|
+
activation?: {
|
|
2295
|
+
tier: "always" | "path" | "description";
|
|
2296
|
+
description?: string | undefined;
|
|
2297
|
+
} | undefined;
|
|
2194
2298
|
}>;
|
|
2195
2299
|
}, {
|
|
2196
2300
|
revision: string;
|
|
@@ -2208,6 +2312,10 @@ declare const fabricEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
2208
2312
|
topology_type: "mirror" | "cross-cutting";
|
|
2209
2313
|
scope_glob: string;
|
|
2210
2314
|
deps: string[];
|
|
2315
|
+
activation?: {
|
|
2316
|
+
tier: "always" | "path" | "description";
|
|
2317
|
+
description?: string | undefined;
|
|
2318
|
+
} | undefined;
|
|
2211
2319
|
}>;
|
|
2212
2320
|
};
|
|
2213
2321
|
}, {
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
enMessages,
|
|
7
7
|
normalizeLocale,
|
|
8
8
|
zhCNMessages
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3W2DKFJZ.js";
|
|
10
10
|
import "./chunk-LXNCAKJZ.js";
|
|
11
11
|
|
|
12
12
|
// src/schemas/agents-meta.ts
|
|
@@ -23,7 +23,11 @@ var agentsMetaNodeBaseSchema = z.object({
|
|
|
23
23
|
priority: z.enum(["high", "medium", "low"]),
|
|
24
24
|
layer: agentsLayerSchema,
|
|
25
25
|
topology_type: agentsTopologyTypeSchema,
|
|
26
|
-
hash: z.string()
|
|
26
|
+
hash: z.string(),
|
|
27
|
+
activation: z.object({
|
|
28
|
+
tier: z.enum(["always", "path", "description"]),
|
|
29
|
+
description: z.string().optional()
|
|
30
|
+
}).optional()
|
|
27
31
|
});
|
|
28
32
|
var agentsMetaNodeSchema = z.preprocess((value) => {
|
|
29
33
|
if (!isRecord(value) || typeof value.file !== "string") {
|
package/dist/node.d.ts
CHANGED
|
@@ -3,7 +3,12 @@ type FrameworkInfo = {
|
|
|
3
3
|
version: string;
|
|
4
4
|
subkind: string;
|
|
5
5
|
evidence: string[];
|
|
6
|
+
framework: string;
|
|
7
|
+
confidence: "HIGH" | "MEDIUM" | "LOW";
|
|
8
|
+
ast_evidence: string[];
|
|
9
|
+
co_packages: string[];
|
|
6
10
|
};
|
|
11
|
+
type TechProfile = FrameworkInfo;
|
|
7
12
|
declare function detectFramework(root: string): FrameworkInfo;
|
|
8
13
|
|
|
9
|
-
export { type FrameworkInfo, detectFramework };
|
|
14
|
+
export { type FrameworkInfo, type TechProfile, detectFramework };
|
package/dist/node.js
CHANGED
|
@@ -10,7 +10,11 @@ function detectFramework(root) {
|
|
|
10
10
|
kind: "cocos-creator",
|
|
11
11
|
version,
|
|
12
12
|
subkind: inferCocosSubkind(root, version),
|
|
13
|
-
evidence: version === "unknown" ? ["project.config.json"] : [`project.config.json: creator.version=${version}`]
|
|
13
|
+
evidence: version === "unknown" ? ["project.config.json"] : [`project.config.json: creator.version=${version}`],
|
|
14
|
+
framework: "cocos-creator",
|
|
15
|
+
confidence: "HIGH",
|
|
16
|
+
ast_evidence: [],
|
|
17
|
+
co_packages: collectProjectFileEvidence(root, ["package.json", "tsconfig.json"])
|
|
14
18
|
};
|
|
15
19
|
}
|
|
16
20
|
const packageJsonPath = join(root, "package.json");
|
|
@@ -18,11 +22,16 @@ function detectFramework(root) {
|
|
|
18
22
|
const packageJson = readPackageJson(packageJsonPath);
|
|
19
23
|
const creatorVersion = packageJson.creator?.version;
|
|
20
24
|
if (typeof creatorVersion === "string" && creatorVersion.trim().length > 0) {
|
|
25
|
+
const deps2 = collectDependencyVersions(packageJson);
|
|
21
26
|
return {
|
|
22
27
|
kind: "cocos-creator",
|
|
23
28
|
version: creatorVersion,
|
|
24
29
|
subkind: inferCocosSubkind(root, creatorVersion),
|
|
25
|
-
evidence: [`package.json: creator.version=${creatorVersion}`]
|
|
30
|
+
evidence: [`package.json: creator.version=${creatorVersion}`],
|
|
31
|
+
framework: "cocos-creator",
|
|
32
|
+
confidence: "HIGH",
|
|
33
|
+
ast_evidence: [],
|
|
34
|
+
co_packages: collectCoPackages(deps2, "cocos-creator", root)
|
|
26
35
|
};
|
|
27
36
|
}
|
|
28
37
|
const deps = collectDependencyVersions(packageJson);
|
|
@@ -39,7 +48,11 @@ function detectFramework(root) {
|
|
|
39
48
|
kind,
|
|
40
49
|
version,
|
|
41
50
|
subkind: inferPackageSubkind(kind),
|
|
42
|
-
evidence
|
|
51
|
+
evidence,
|
|
52
|
+
framework: kind,
|
|
53
|
+
confidence: determinePackageConfidence(kind, deps, root),
|
|
54
|
+
ast_evidence: [],
|
|
55
|
+
co_packages: collectCoPackages(deps, kind, root)
|
|
43
56
|
};
|
|
44
57
|
}
|
|
45
58
|
}
|
|
@@ -50,7 +63,11 @@ function detectFramework(root) {
|
|
|
50
63
|
kind: "rust",
|
|
51
64
|
version: "unknown",
|
|
52
65
|
subkind: "cargo-project",
|
|
53
|
-
evidence: ["Cargo.toml"]
|
|
66
|
+
evidence: ["Cargo.toml"],
|
|
67
|
+
framework: "rust",
|
|
68
|
+
confidence: "HIGH",
|
|
69
|
+
ast_evidence: [],
|
|
70
|
+
co_packages: collectProjectFileEvidence(root, ["Cargo.lock"])
|
|
54
71
|
};
|
|
55
72
|
}
|
|
56
73
|
if (existsSync(join(root, "pyproject.toml"))) {
|
|
@@ -58,14 +75,22 @@ function detectFramework(root) {
|
|
|
58
75
|
kind: "python",
|
|
59
76
|
version: "unknown",
|
|
60
77
|
subkind: "pyproject",
|
|
61
|
-
evidence: ["pyproject.toml"]
|
|
78
|
+
evidence: ["pyproject.toml"],
|
|
79
|
+
framework: "python",
|
|
80
|
+
confidence: "HIGH",
|
|
81
|
+
ast_evidence: [],
|
|
82
|
+
co_packages: collectProjectFileEvidence(root, ["uv.lock", "poetry.lock", "requirements.txt"])
|
|
62
83
|
};
|
|
63
84
|
}
|
|
64
85
|
return {
|
|
65
86
|
kind: "unknown",
|
|
66
87
|
version: "unknown",
|
|
67
88
|
subkind: "unknown",
|
|
68
|
-
evidence
|
|
89
|
+
evidence,
|
|
90
|
+
framework: "unknown",
|
|
91
|
+
confidence: "LOW",
|
|
92
|
+
ast_evidence: [],
|
|
93
|
+
co_packages: []
|
|
69
94
|
};
|
|
70
95
|
}
|
|
71
96
|
function readPackageJson(packageJsonPath) {
|
|
@@ -115,6 +140,36 @@ function inferPackageSubkind(kind) {
|
|
|
115
140
|
return "unknown";
|
|
116
141
|
}
|
|
117
142
|
}
|
|
143
|
+
function determinePackageConfidence(kind, deps, root) {
|
|
144
|
+
const coPackages = collectCoPackages(deps, kind, root);
|
|
145
|
+
return coPackages.length > 0 ? "HIGH" : "MEDIUM";
|
|
146
|
+
}
|
|
147
|
+
function collectCoPackages(deps, kind, root) {
|
|
148
|
+
const expectedPackagesByFramework = {
|
|
149
|
+
next: ["react", "react-dom", "typescript"],
|
|
150
|
+
vite: ["@vitejs/plugin-react", "@vitejs/plugin-vue", "typescript", "react", "vue"],
|
|
151
|
+
react: ["react-dom", "@types/react", "@types/react-dom"],
|
|
152
|
+
vue: ["@vitejs/plugin-vue", "typescript"],
|
|
153
|
+
"cocos-creator": ["typescript"]
|
|
154
|
+
};
|
|
155
|
+
const expectedProjectFilesByFramework = {
|
|
156
|
+
next: ["next.config.js", "next.config.mjs", "next.config.ts", "tsconfig.json"],
|
|
157
|
+
vite: ["vite.config.js", "vite.config.mjs", "vite.config.ts", "tsconfig.json"],
|
|
158
|
+
react: ["tsconfig.json"],
|
|
159
|
+
vue: ["vue.config.js", "vite.config.ts", "tsconfig.json"],
|
|
160
|
+
"cocos-creator": ["project.config.json", "tsconfig.json"]
|
|
161
|
+
};
|
|
162
|
+
return [
|
|
163
|
+
...compactStrings((expectedPackagesByFramework[kind] ?? []).map((packageName) => deps.has(packageName) ? packageName : null)),
|
|
164
|
+
...collectProjectFileEvidence(root, expectedProjectFilesByFramework[kind] ?? [])
|
|
165
|
+
];
|
|
166
|
+
}
|
|
167
|
+
function collectProjectFileEvidence(root, relativePaths) {
|
|
168
|
+
return relativePaths.filter((relativePath) => existsSync(join(root, relativePath)));
|
|
169
|
+
}
|
|
170
|
+
function compactStrings(values) {
|
|
171
|
+
return [...new Set(values.filter((value) => value !== null && value !== void 0 && value.length > 0))];
|
|
172
|
+
}
|
|
118
173
|
export {
|
|
119
174
|
detectFramework
|
|
120
175
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
type AgentsLayer = "L0" | "L1" | "L2";
|
|
2
2
|
type AgentsTopologyType = "mirror" | "cross-cutting";
|
|
3
|
+
type AgentsActivationTier = "always" | "path" | "description";
|
|
4
|
+
interface AgentsMetaNodeActivation {
|
|
5
|
+
tier: AgentsActivationTier;
|
|
6
|
+
description?: string;
|
|
7
|
+
}
|
|
3
8
|
interface AgentsMetaNode {
|
|
4
9
|
file: string;
|
|
5
10
|
scope_glob: string;
|
|
@@ -8,6 +13,7 @@ interface AgentsMetaNode {
|
|
|
8
13
|
layer: AgentsLayer;
|
|
9
14
|
topology_type: AgentsTopologyType;
|
|
10
15
|
hash: string;
|
|
16
|
+
activation?: AgentsMetaNodeActivation;
|
|
11
17
|
}
|
|
12
18
|
interface AgentsMeta {
|
|
13
19
|
revision: string;
|
|
@@ -59,4 +65,4 @@ interface FabricConfig {
|
|
|
59
65
|
audit_mode?: AuditMode;
|
|
60
66
|
}
|
|
61
67
|
|
|
62
|
-
export type { AgentsLayer, AgentsMeta, AgentsMetaNode, AgentsTopologyType, AiLedgerEntry, AuditMode, ClientPaths, FabricConfig, HumanLedgerEntry, HumanLockEntry, LedgerEntry };
|
|
68
|
+
export type { AgentsActivationTier, AgentsLayer, AgentsMeta, AgentsMetaNode, AgentsMetaNodeActivation, AgentsTopologyType, AiLedgerEntry, AuditMode, ClientPaths, FabricConfig, HumanLedgerEntry, HumanLockEntry, LedgerEntry };
|