@ironbee-ai/cli 0.8.3 → 0.9.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.
Files changed (112) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +42 -17
  3. package/dist/clients/claude/commands/ironbee-verify.md +19 -106
  4. package/dist/clients/claude/hooks/require-verdict.d.ts +3 -3
  5. package/dist/clients/claude/hooks/require-verdict.js +5 -5
  6. package/dist/clients/claude/hooks/require-verification.d.ts +6 -5
  7. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  8. package/dist/clients/claude/hooks/require-verification.js +20 -17
  9. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  10. package/dist/clients/claude/hooks/track-action-monitor.d.ts.map +1 -1
  11. package/dist/clients/claude/hooks/track-action-monitor.js +4 -1
  12. package/dist/clients/claude/hooks/track-action-monitor.js.map +1 -1
  13. package/dist/clients/claude/hooks/track-action.d.ts +11 -8
  14. package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
  15. package/dist/clients/claude/hooks/track-action.js +14 -9
  16. package/dist/clients/claude/hooks/track-action.js.map +1 -1
  17. package/dist/clients/claude/index.d.ts.map +1 -1
  18. package/dist/clients/claude/index.js +79 -18
  19. package/dist/clients/claude/index.js.map +1 -1
  20. package/dist/clients/claude/platforms/command-verify.backend.md +74 -0
  21. package/dist/clients/claude/platforms/command-verify.browser.md +108 -0
  22. package/dist/clients/claude/platforms/command-verify.node.md +67 -0
  23. package/dist/clients/claude/platforms/rule.backend.md +23 -0
  24. package/dist/clients/claude/platforms/rule.browser.md +17 -0
  25. package/dist/clients/claude/{fragments → platforms}/rule.node.md +3 -3
  26. package/dist/clients/claude/platforms/skill.backend.md +65 -0
  27. package/dist/clients/claude/platforms/skill.browser.md +31 -0
  28. package/dist/clients/claude/{fragments → platforms}/skill.node.md +2 -2
  29. package/dist/clients/claude/rules/ironbee-verification.md +14 -13
  30. package/dist/clients/claude/skills/ironbee-verification.md +19 -49
  31. package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +21 -108
  32. package/dist/clients/cursor/hooks/require-verdict.d.ts +1 -1
  33. package/dist/clients/cursor/hooks/require-verdict.js +3 -3
  34. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  35. package/dist/clients/cursor/hooks/require-verification.js +9 -5
  36. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  37. package/dist/clients/cursor/hooks/track-action-monitor.d.ts.map +1 -1
  38. package/dist/clients/cursor/hooks/track-action-monitor.js +4 -1
  39. package/dist/clients/cursor/hooks/track-action-monitor.js.map +1 -1
  40. package/dist/clients/cursor/hooks/track-action.d.ts +14 -12
  41. package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
  42. package/dist/clients/cursor/hooks/track-action.js +25 -16
  43. package/dist/clients/cursor/hooks/track-action.js.map +1 -1
  44. package/dist/clients/cursor/index.d.ts.map +1 -1
  45. package/dist/clients/cursor/index.js +45 -11
  46. package/dist/clients/cursor/index.js.map +1 -1
  47. package/dist/clients/cursor/platforms/command-verify.backend.md +74 -0
  48. package/dist/clients/cursor/platforms/command-verify.browser.md +108 -0
  49. package/dist/clients/cursor/platforms/command-verify.node.md +67 -0
  50. package/dist/clients/cursor/platforms/rule.backend.md +23 -0
  51. package/dist/clients/cursor/platforms/rule.browser.md +17 -0
  52. package/dist/clients/cursor/{fragments → platforms}/rule.node.md +3 -3
  53. package/dist/clients/cursor/platforms/skill.backend.md +65 -0
  54. package/dist/clients/cursor/platforms/skill.browser.md +31 -0
  55. package/dist/clients/cursor/{fragments → platforms}/skill.node.md +2 -2
  56. package/dist/clients/cursor/rules/ironbee-verification.mdc +14 -13
  57. package/dist/clients/cursor/skills/ironbee-verification.md +19 -49
  58. package/dist/commands/backend.d.ts +17 -0
  59. package/dist/commands/backend.d.ts.map +1 -0
  60. package/dist/commands/backend.js +58 -0
  61. package/dist/commands/backend.js.map +1 -0
  62. package/dist/commands/browser.d.ts +19 -0
  63. package/dist/commands/browser.d.ts.map +1 -0
  64. package/dist/commands/browser.js +60 -0
  65. package/dist/commands/browser.js.map +1 -0
  66. package/dist/commands/config.d.ts +5 -5
  67. package/dist/commands/config.d.ts.map +1 -1
  68. package/dist/commands/config.js +13 -11
  69. package/dist/commands/config.js.map +1 -1
  70. package/dist/commands/cycle-toggle.d.ts +89 -0
  71. package/dist/commands/cycle-toggle.d.ts.map +1 -0
  72. package/dist/commands/cycle-toggle.js +264 -0
  73. package/dist/commands/cycle-toggle.js.map +1 -0
  74. package/dist/commands/node.d.ts +16 -0
  75. package/dist/commands/node.d.ts.map +1 -0
  76. package/dist/commands/node.js +57 -0
  77. package/dist/commands/node.js.map +1 -0
  78. package/dist/hooks/core/actions.d.ts +11 -2
  79. package/dist/hooks/core/actions.d.ts.map +1 -1
  80. package/dist/hooks/core/actions.js.map +1 -1
  81. package/dist/hooks/core/verify-gate.d.ts.map +1 -1
  82. package/dist/hooks/core/verify-gate.js +44 -14
  83. package/dist/hooks/core/verify-gate.js.map +1 -1
  84. package/dist/index.js +9 -6
  85. package/dist/index.js.map +1 -1
  86. package/dist/lib/config.d.ts +142 -41
  87. package/dist/lib/config.d.ts.map +1 -1
  88. package/dist/lib/config.js +251 -82
  89. package/dist/lib/config.js.map +1 -1
  90. package/dist/lib/platform-section.d.ts +126 -0
  91. package/dist/lib/platform-section.d.ts.map +1 -0
  92. package/dist/lib/platform-section.js +279 -0
  93. package/dist/lib/platform-section.js.map +1 -0
  94. package/package.json +1 -1
  95. package/dist/clients/claude/fragments/command-verify.node.md +0 -33
  96. package/dist/clients/cursor/fragments/command-verify.node.md +0 -33
  97. package/dist/commands/backend-toggle.d.ts +0 -56
  98. package/dist/commands/backend-toggle.d.ts.map +0 -1
  99. package/dist/commands/backend-toggle.js +0 -199
  100. package/dist/commands/backend-toggle.js.map +0 -1
  101. package/dist/commands/disable-backend.d.ts +0 -14
  102. package/dist/commands/disable-backend.d.ts.map +0 -1
  103. package/dist/commands/disable-backend.js +0 -38
  104. package/dist/commands/disable-backend.js.map +0 -1
  105. package/dist/commands/enable-backend.d.ts +0 -15
  106. package/dist/commands/enable-backend.d.ts.map +0 -1
  107. package/dist/commands/enable-backend.js +0 -39
  108. package/dist/commands/enable-backend.js.map +0 -1
  109. package/dist/lib/runtime-section.d.ts +0 -118
  110. package/dist/lib/runtime-section.d.ts.map +0 -1
  111. package/dist/lib/runtime-section.js +0 -256
  112. package/dist/lib/runtime-section.js.map +0 -1
@@ -7,30 +7,26 @@
7
7
  * 2. Project: <projectDir>/.ironbee/config.json (committed)
8
8
  * 3. Project-local: <projectDir>/.ironbee/config.local.json (gitignored)
9
9
  *
10
- * Each later layer overrides earlier ones (deep merge for nested `browser` /
11
- * `backend.<runtime>` blocks, shallow for primitives and other top-level
12
- * keys). The local layer is intended for personal / per-machine overrides
13
- * (debug toggles, machine-specific paths, alternate collector endpoints) and
14
- * must not be committed — `ironbee install` adds `.ironbee/config.local.json`
15
- * to `.gitignore` automatically.
16
- *
17
- * The pre-split layout (top-level `verifyPatterns` / `additionalVerifyPatterns`)
18
- * is no longer supported. Configs carrying those fields throw at load time —
19
- * patterns must move under `browser.*` (or the appropriate runtime under
20
- * `backend.<runtime>.*`). The same legacy-shape rejection applies to the
21
- * local layer.
10
+ * Each later layer overrides earlier ones (deep merge for nested cycle
11
+ * blocks: `browser`, `node`, `backend`; shallow for primitives and other
12
+ * top-level keys). The local layer is intended for personal / per-machine
13
+ * overrides (debug toggles, machine-specific paths, alternate collector
14
+ * endpoints) and must not be committed — `ironbee install` adds
15
+ * `.ironbee/config.local.json` to `.gitignore` automatically.
22
16
  */
23
17
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.CONFIG_TARGETS_BY_PRECEDENCE = exports.DEFAULT_BACKEND_NODE_EVIDENCE_PATHS = exports.DEFAULT_BACKEND_NODE_ALWAYS_REQUIRED = exports.DEFAULT_BROWSER_ALWAYS_REQUIRED = exports.DEFAULT_BROWSER_VERIFY_PATTERNS = exports.RUNTIME_TO_SERVER = exports.BACKEND_SERVERS = void 0;
18
+ exports.CONFIG_TARGETS_BY_PRECEDENCE = exports.DEFAULT_BACKEND_EVIDENCE_PATHS = exports.DEFAULT_BACKEND_ALWAYS_REQUIRED = exports.DEFAULT_NODE_EVIDENCE_PATHS = exports.DEFAULT_NODE_ALWAYS_REQUIRED = exports.DEFAULT_BROWSER_ALWAYS_REQUIRED = exports.CYCLE_DEFAULT_VERIFY_PATTERNS = exports.DEFAULT_BACKEND_VERIFY_PATTERNS = exports.DEFAULT_NODE_VERIFY_PATTERNS = exports.DEFAULT_BROWSER_VERIFY_PATTERNS = exports.CYCLE_TO_SERVER = exports.CYCLES_ENABLED_BY_DEFAULT = exports.ALL_CYCLES = exports.OPTIONAL_CYCLES = void 0;
25
19
  exports.getConfigLayerPaths = getConfigLayerPaths;
26
20
  exports.getTargetConfigPath = getTargetConfigPath;
27
21
  exports.resolveConfigTargetFromFlags = resolveConfigTargetFromFlags;
28
22
  exports.loadConfig = loadConfig;
29
23
  exports.getActiveCycles = getActiveCycles;
30
24
  exports.requiresVerification = requiresVerification;
25
+ exports.isCycleEnabled = isCycleEnabled;
31
26
  exports.getRequiredToolsConfig = getRequiredToolsConfig;
32
27
  exports.getMcpServerEntry = getMcpServerEntry;
33
28
  exports.getNodeDevToolsMcpEntry = getNodeDevToolsMcpEntry;
29
+ exports.getBackendDevToolsMcpEntry = getBackendDevToolsMcpEntry;
34
30
  exports.getMaxRetries = getMaxRetries;
35
31
  exports.isCollectorConfigured = isCollectorConfigured;
36
32
  exports.isJobQueueEnabled = isJobQueueEnabled;
@@ -48,13 +44,44 @@ const fs_1 = require("fs");
48
44
  const path_1 = require("path");
49
45
  const os_1 = require("os");
50
46
  const logger_1 = require("./logger");
51
- /** Backend MCP servers in the runtime registry. Code change to extend. */
52
- exports.BACKEND_SERVERS = ["node-devtools"];
53
- /** Map runtime key (`node`) backend server name (`node-devtools`). */
54
- exports.RUNTIME_TO_SERVER = {
47
+ /**
48
+ * Optional cycles — those that default to **disabled** (empty `verifyPatterns`)
49
+ * until the operator explicitly opts in via `ironbee <cycle> enable`. The
50
+ * always-on browser cycle is the only default-enabled cycle and is excluded
51
+ * from this list. Order is the canonical sort order used by verify-gate when
52
+ * building per-cycle messages.
53
+ */
54
+ exports.OPTIONAL_CYCLES = ["node", "backend"];
55
+ /**
56
+ * Every cycle the runtime knows about — browser plus all optional cycles.
57
+ * Used by the platform-section sync (skill / rule / command-verify md files
58
+ * carry one marker block per cycle) and by toggle commands when validating
59
+ * the cycle name. Order matches verify-gate's canonical block ordering
60
+ * (browser first, then OPTIONAL_CYCLES).
61
+ */
62
+ exports.ALL_CYCLES = ["browser", ...exports.OPTIONAL_CYCLES];
63
+ /**
64
+ * Cycles whose default state is "enabled" (the cycle activates without the
65
+ * operator having to write `verifyPatterns` in config). Currently only the
66
+ * browser cycle ships with built-in default patterns; node and backend cycles
67
+ * default to inert (`[]`) and require `ironbee <cycle> enable`.
68
+ *
69
+ * Used by `getCyclePatterns` runtime fallback (block-absent + default-on
70
+ * → code defaults activate) and by toggle commands. `<cycle> disable` records
71
+ * its intent via the top-level `disabled` list — that takes precedence over
72
+ * the default-on fallback, so a disabled browser stays off even though
73
+ * `CYCLES_ENABLED_BY_DEFAULT` contains it.
74
+ */
75
+ exports.CYCLES_ENABLED_BY_DEFAULT = new Set(["browser"]);
76
+ /** Map cycle key → MCP server name. Browser is always `browser-devtools`. */
77
+ exports.CYCLE_TO_SERVER = {
78
+ browser: "browser-devtools",
55
79
  node: "node-devtools",
80
+ backend: "backend-devtools",
56
81
  };
57
- /** Browser default verify patterns — preserves the pre-split list as-is. */
82
+ /** Browser default verify patterns — kicks in whenever the browser block is
83
+ * present without an explicit `verifyPatterns`, OR (since browser is
84
+ * default-on) whenever no browser block is present at any layer. */
58
85
  exports.DEFAULT_BROWSER_VERIFY_PATTERNS = [
59
86
  "*.ts", "*.tsx",
60
87
  "*.js", "*.jsx", "*.mjs", "*.cjs",
@@ -82,6 +109,65 @@ exports.DEFAULT_BROWSER_VERIFY_PATTERNS = [
82
109
  "*.hbs", "*.ejs", "*.pug", "*.jade",
83
110
  "*.astro",
84
111
  ];
112
+ /**
113
+ * Node-cycle default verify patterns — kicks in when the `node` block is
114
+ * present without an explicit `verifyPatterns`. The node cycle is opt-in so
115
+ * the block must be present (a fully-absent block keeps the cycle disabled).
116
+ *
117
+ * Heuristic-tuned for typical Node.js backends — server entry points, API
118
+ * route handlers (Next.js / Remix / SvelteKit conventions), and the routes/
119
+ * folder.
120
+ */
121
+ exports.DEFAULT_NODE_VERIFY_PATTERNS = [
122
+ "server/**/*.{ts,js,mjs,cjs}",
123
+ "src/server/**/*.{ts,js,mjs,cjs}",
124
+ "backend/**/*.{ts,js,mjs,cjs}",
125
+ "api/**/*.{ts,js,mjs,cjs}",
126
+ "src/api/**/*.{ts,js,mjs,cjs}",
127
+ "pages/api/**/*.{ts,js,mjs,cjs}",
128
+ "app/api/**/*.{ts,js,mjs,cjs}",
129
+ "routes/**/*.{ts,js,mjs,cjs}",
130
+ "**/server.{ts,js,mjs,cjs}",
131
+ ];
132
+ /**
133
+ * Backend-cycle default verify patterns — kicks in when the `backend` block
134
+ * is present without an explicit `verifyPatterns`. Multi-language coverage —
135
+ * the cycle drives wire protocols, not language-specific tooling, so the
136
+ * heuristic spans every common server-side language.
137
+ */
138
+ exports.DEFAULT_BACKEND_VERIFY_PATTERNS = [
139
+ "server/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
140
+ "src/server/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
141
+ "backend/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
142
+ "api/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
143
+ "src/api/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
144
+ "pages/api/**/*.{ts,js,mjs,cjs}",
145
+ "app/api/**/*.{ts,js,mjs,cjs}",
146
+ "routes/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
147
+ "controllers/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
148
+ "handlers/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
149
+ "services/**/*.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
150
+ "**/server.{ts,js,mjs,cjs,py,go,java,rb,cs,rs,kt,scala,ex,exs,php,clj}",
151
+ "**/main.{go,py,java,rb,kt,scala}",
152
+ ];
153
+ /**
154
+ * Per-cycle default `verifyPatterns` lookup. Single source of truth used by:
155
+ *
156
+ * - `getCyclePatterns` runtime fallback when the cycle block is present
157
+ * without an explicit `verifyPatterns`.
158
+ * - For browser only: also kicks in when the cycle block is fully absent
159
+ * (browser is the default-on cycle — `CYCLES_ENABLED_BY_DEFAULT`).
160
+ *
161
+ * `<cycle> enable` does NOT materialize these into config.json; the cycle
162
+ * block is written empty (`{}`) and these defaults flow in at runtime.
163
+ * Keeps `config.json` minimal and lets defaults track the CLI version
164
+ * automatically.
165
+ */
166
+ exports.CYCLE_DEFAULT_VERIFY_PATTERNS = {
167
+ browser: exports.DEFAULT_BROWSER_VERIFY_PATTERNS,
168
+ node: exports.DEFAULT_NODE_VERIFY_PATTERNS,
169
+ backend: exports.DEFAULT_BACKEND_VERIFY_PATTERNS,
170
+ };
85
171
  /** Browser-cycle required tools — strict all-of, no alternative paths. */
86
172
  exports.DEFAULT_BROWSER_ALWAYS_REQUIRED = [
87
173
  "bdt_navigation_go-to",
@@ -90,10 +176,10 @@ exports.DEFAULT_BROWSER_ALWAYS_REQUIRED = [
90
176
  "bdt_o11y_get-console-messages",
91
177
  ];
92
178
  /** Node-cycle required tools — connect always; then probe path or log path. */
93
- exports.DEFAULT_BACKEND_NODE_ALWAYS_REQUIRED = [
179
+ exports.DEFAULT_NODE_ALWAYS_REQUIRED = [
94
180
  "ndt_debug_connect",
95
181
  ];
96
- exports.DEFAULT_BACKEND_NODE_EVIDENCE_PATHS = [
182
+ exports.DEFAULT_NODE_EVIDENCE_PATHS = [
97
183
  {
98
184
  name: "probe",
99
185
  allOf: [
@@ -112,6 +198,29 @@ exports.DEFAULT_BACKEND_NODE_EVIDENCE_PATHS = [
112
198
  allOf: ["ndt_debug_get-logs"],
113
199
  },
114
200
  ];
201
+ /**
202
+ * Backend-cycle required tools — no single tool is mandatory (different
203
+ * tasks need different protocols), so `alwaysRequired` is empty and the
204
+ * gate is satisfied by any one protocol-call evidence path. The replay
205
+ * tool counts because it issues a real protocol call against the target.
206
+ */
207
+ exports.DEFAULT_BACKEND_ALWAYS_REQUIRED = [];
208
+ exports.DEFAULT_BACKEND_EVIDENCE_PATHS = [
209
+ {
210
+ name: "protocol-call",
211
+ allOf: [
212
+ {
213
+ anyOf: [
214
+ "bedt_request_http",
215
+ "bedt_request_grpc",
216
+ "bedt_request_graphql",
217
+ "bedt_request_websocket-open",
218
+ "bedt_request_replay",
219
+ ],
220
+ },
221
+ ],
222
+ },
223
+ ];
115
224
  const DEFAULT_MAX_RETRIES = 3;
116
225
  function loadJsonFile(filePath) {
117
226
  if (!(0, fs_1.existsSync)(filePath)) {
@@ -125,21 +234,6 @@ function loadJsonFile(filePath) {
125
234
  return {};
126
235
  }
127
236
  }
128
- /** Detect pre-split flat config. Loud failure per design D6. */
129
- function assertNoLegacyShape(config, sourcePath) {
130
- const legacy = [];
131
- if (Object.prototype.hasOwnProperty.call(config, "verifyPatterns")) {
132
- legacy.push("'verifyPatterns'");
133
- }
134
- if (Object.prototype.hasOwnProperty.call(config, "additionalVerifyPatterns")) {
135
- legacy.push("'additionalVerifyPatterns'");
136
- }
137
- if (legacy.length === 0) {
138
- return;
139
- }
140
- throw new Error(`Legacy IronBee config detected in ${sourcePath}: ${legacy.join(", ")} at the top level is no longer supported. ` +
141
- `Move them under 'browser.*' (or the appropriate runtime under 'backend.<runtime>.*').`);
142
- }
143
237
  function assertVerificationShape(config, sourcePath) {
144
238
  if (!Object.prototype.hasOwnProperty.call(config, "verification")) {
145
239
  return;
@@ -155,37 +249,24 @@ function assertVerificationShape(config, sourcePath) {
155
249
  `Got ${typeof block.enable}.`);
156
250
  }
157
251
  }
158
- /** Deep merge for the nested `browser` / `backend.<runtime>` blocks. */
252
+ /** Deep merge for a single cycle block (browser / node / backend). */
159
253
  function mergeCycleConfig(base, override) {
160
254
  if (base === undefined && override === undefined) {
161
255
  return undefined;
162
256
  }
163
257
  return { ...(base ?? {}), ...(override ?? {}) };
164
258
  }
165
- function mergeBackend(base, override) {
166
- if (base === undefined && override === undefined) {
167
- return undefined;
168
- }
169
- const merged = {};
170
- const keys = new Set([
171
- ...Object.keys(base ?? {}),
172
- ...Object.keys(override ?? {}),
173
- ]);
174
- for (const key of keys) {
175
- merged[key] = mergeCycleConfig(base?.[key], override?.[key]);
176
- }
177
- return merged;
178
- }
179
259
  /**
180
260
  * Merge two `IronBeeConfig` layers — `override` wins. Top-level keys are
181
- * shallow-merged; the `browser` and `backend` blocks deep-merge per cycle
261
+ * shallow-merged; the cycle blocks (`browser`, `node`, `backend`) deep-merge
182
262
  * so a project override of `browser.verifyPatterns` doesn't wipe a global
183
263
  * `browser.evidencePaths` (and vice-versa for the local layer).
184
264
  */
185
265
  function mergeConfigLayers(base, override) {
186
266
  const merged = { ...base, ...override };
187
267
  merged.browser = mergeCycleConfig(base.browser, override.browser);
188
- merged.backend = mergeBackend(base.backend, override.backend);
268
+ merged.node = mergeCycleConfig(base.node, override.node);
269
+ merged.backend = mergeCycleConfig(base.backend, override.backend);
189
270
  return merged;
190
271
  }
191
272
  /** Returns the on-disk paths of all three config layers without reading them. */
@@ -225,8 +306,8 @@ function getTargetConfigPath(target, projectDir) {
225
306
  * Resolves a `ConfigTarget` from CLI flag booleans, enforcing mutual
226
307
  * exclusion. Used by every write-side command that exposes
227
308
  * `-g / --global` and `--local` flags (`config set`, `config unset`,
228
- * `enable-verification`, `disable-verification`, `enable-backend`,
229
- * `disable-backend`) so the flag-resolution rules stay identical.
309
+ * `enable-verification`, `disable-verification`, `backend enable`,
310
+ * `backend disable`) so the flag-resolution rules stay identical.
230
311
  *
231
312
  * Returns `"project"` when neither flag is set (the default for
232
313
  * project-scoped commands). Throws on the impossible `--global --local`
@@ -248,7 +329,6 @@ function resolveConfigTargetFromFlags(opts) {
248
329
  function loadAndValidateLayer(path) {
249
330
  const raw = loadJsonFile(path);
250
331
  if ((0, fs_1.existsSync)(path)) {
251
- assertNoLegacyShape(raw, path);
252
332
  assertVerificationShape(raw, path);
253
333
  }
254
334
  return raw;
@@ -296,26 +376,76 @@ function matchesAny(filePath, patterns) {
296
376
  }
297
377
  return false;
298
378
  }
299
- /** Returns the effective pattern set for the browser cycle. */
300
- function getBrowserPatterns(config) {
301
- const block = config.browser;
302
- const base = block?.verifyPatterns ?? exports.DEFAULT_BROWSER_VERIFY_PATTERNS;
303
- const additional = block?.additionalVerifyPatterns ?? [];
304
- return [...base, ...additional];
379
+ /** Returns the per-cycle config block. Always-on browser, opt-in node / backend. */
380
+ function getCycleBlock(config, cycle) {
381
+ if (cycle === "browser") {
382
+ return config.browser;
383
+ }
384
+ if (cycle === "node") {
385
+ return config.node;
386
+ }
387
+ if (cycle === "backend") {
388
+ return config.backend;
389
+ }
390
+ return undefined;
305
391
  }
306
- /** Returns the effective pattern set for `backend.<runtime>`. Empty by default. */
307
- function getBackendRuntimePatterns(config, runtime) {
308
- const block = config.backend?.[runtime];
309
- const base = block?.verifyPatterns ?? [];
310
- const additional = block?.additionalVerifyPatterns ?? [];
392
+ /**
393
+ * Returns the effective pattern set for a cycle. Resolution order:
394
+ *
395
+ * 1. **`block.enable === false`** → cycle-specific disable signal written
396
+ * by `<cycle> disable`. Mirrors `recording.enable` / `jobQueue.enable`
397
+ * / `verification.enable`.
398
+ * 2. **Block absent** → for default-on cycles (browser), the code defaults
399
+ * kick in. For default-off cycles (node, backend), no patterns.
400
+ * 3. **`verifyPatterns: []`** → hard kill (legacy disable marker — still
401
+ * respected for older configs; new disables write `enable: false`).
402
+ * 4. **Block present, `verifyPatterns` undefined** → enabled with code
403
+ * defaults (`CYCLE_DEFAULT_VERIFY_PATTERNS[cycle]`). Post-`<cycle> enable`
404
+ * shape — minimal config, defaults track CLI version.
405
+ * 5. **`verifyPatterns: [...non-empty]`** → enabled with custom patterns.
406
+ *
407
+ * `additionalVerifyPatterns` is appended to whatever base resolves at step
408
+ * 4/5 — EXCEPT when the cycle is disabled via step 1 or 3.
409
+ *
410
+ * **Note:** does NOT check the master `verification.enable` switch. That
411
+ * happens at the verification-level (install-time gating + the higher-level
412
+ * {@link isCycleEnabled} helper). This function returns the cycle's pattern
413
+ * shape independent of master state — useful for code paths that want
414
+ * pattern info even when enforcement is off.
415
+ */
416
+ function getCyclePatterns(config, cycle) {
417
+ const block = getCycleBlock(config, cycle);
418
+ // Explicit per-cycle disable signal.
419
+ if (block !== undefined && block.enable === false) {
420
+ return [];
421
+ }
422
+ const cycleDefaults = exports.CYCLE_DEFAULT_VERIFY_PATTERNS[cycle] ?? [];
423
+ if (block === undefined) {
424
+ // Block absent: only default-on cycles activate via code defaults.
425
+ if (exports.CYCLES_ENABLED_BY_DEFAULT.has(cycle)) {
426
+ return [...cycleDefaults];
427
+ }
428
+ return [];
429
+ }
430
+ // Legacy hard kill: `verifyPatterns: []` still fully disables. Newer
431
+ // configs use `enable: false` (above) but pre-existing configs may
432
+ // carry this older marker — keep honoring it.
433
+ if (Array.isArray(block.verifyPatterns) && block.verifyPatterns.length === 0) {
434
+ return [];
435
+ }
436
+ // Block present, enabled: `verifyPatterns` wins when set; otherwise
437
+ // fall back to code defaults (post-`<cycle> enable` shape).
438
+ const base = block.verifyPatterns ?? cycleDefaults;
439
+ const additional = block.additionalVerifyPatterns ?? [];
311
440
  return [...base, ...additional];
312
441
  }
313
442
  /**
314
443
  * Returns the names of cycles whose pattern set matches `filePath`.
315
444
  * Used by verify-gate to determine which cycles are active for a Stop hook.
316
445
  *
317
- * Order: browser first, then each registered backend runtime. `ignoredVerifyPatterns`
318
- * applies globally — a file matched there activates no cycles.
446
+ * Order: browser first, then each optional cycle in {@link OPTIONAL_CYCLES}
447
+ * order. `ignoredVerifyPatterns` applies globally — a file matched there
448
+ * activates no cycles.
319
449
  */
320
450
  function getActiveCycles(filePath, config) {
321
451
  const ignored = config.ignoredVerifyPatterns ?? [];
@@ -323,17 +453,13 @@ function getActiveCycles(filePath, config) {
323
453
  return [];
324
454
  }
325
455
  const active = [];
326
- if (matchesAny(filePath, getBrowserPatterns(config))) {
456
+ if (matchesAny(filePath, getCyclePatterns(config, "browser"))) {
327
457
  active.push("browser");
328
458
  }
329
- for (const server of exports.BACKEND_SERVERS) {
330
- const runtime = Object.keys(exports.RUNTIME_TO_SERVER).find((k) => exports.RUNTIME_TO_SERVER[k] === server);
331
- if (runtime === undefined) {
332
- continue;
333
- }
334
- const patterns = getBackendRuntimePatterns(config, runtime);
459
+ for (const cycle of exports.OPTIONAL_CYCLES) {
460
+ const patterns = getCyclePatterns(config, cycle);
335
461
  if (patterns.length > 0 && matchesAny(filePath, patterns)) {
336
- active.push(runtime);
462
+ active.push(cycle);
337
463
  }
338
464
  }
339
465
  return active;
@@ -346,6 +472,34 @@ function getActiveCycles(filePath, config) {
346
472
  function requiresVerification(filePath, config) {
347
473
  return getActiveCycles(filePath, config).length > 0;
348
474
  }
475
+ /**
476
+ * Returns true if `cycle` is currently enabled for verification in `config`
477
+ * (effective merged shape).
478
+ *
479
+ * Two conditions must BOTH hold:
480
+ * 1. The master switch `verification.enable` is on (or absent — defaults
481
+ * to true). When `verification.enable: false`, every cycle is off
482
+ * regardless of its own block — per-cycle settings never override the
483
+ * master switch.
484
+ * 2. The cycle's own resolution per {@link getCyclePatterns} yields
485
+ * non-empty patterns:
486
+ * - `block.enable === false` → disabled (canonical signal).
487
+ * - Block absent + default-on (browser) → enabled (code defaults).
488
+ * - Block absent + default-off (node, backend) → disabled.
489
+ * - `verifyPatterns: []` (legacy) → disabled.
490
+ * - Block present with `verifyPatterns` undefined → enabled (defaults).
491
+ * - Block present with non-empty `verifyPatterns` → enabled (custom).
492
+ *
493
+ * Used by `platform-section.syncPlatformSectionsToConfig` to decide whether to
494
+ * splice the cycle's fragment or the placeholder into installed md files,
495
+ * and by client `install` paths to gate MCP server entries + permissions.
496
+ */
497
+ function isCycleEnabled(config, cycle) {
498
+ if (!getVerificationEnabled(config)) {
499
+ return false;
500
+ }
501
+ return getCyclePatterns(config, cycle).length > 0;
502
+ }
349
503
  /**
350
504
  * Per-cycle resolved required-tools spec. Falls back to defaults at this layer
351
505
  * so consumers always get a complete `{ alwaysRequired, evidencePaths }` shape.
@@ -361,13 +515,16 @@ function getRequiredToolsConfig(config, cycle) {
361
515
  evidencePaths = config.browser?.evidencePaths ?? [];
362
516
  }
363
517
  else if (cycle === "node") {
364
- alwaysRequired = config.backend?.node?.alwaysRequired ?? exports.DEFAULT_BACKEND_NODE_ALWAYS_REQUIRED;
365
- evidencePaths = config.backend?.node?.evidencePaths ?? exports.DEFAULT_BACKEND_NODE_EVIDENCE_PATHS;
518
+ alwaysRequired = config.node?.alwaysRequired ?? exports.DEFAULT_NODE_ALWAYS_REQUIRED;
519
+ evidencePaths = config.node?.evidencePaths ?? exports.DEFAULT_NODE_EVIDENCE_PATHS;
520
+ }
521
+ else if (cycle === "backend") {
522
+ alwaysRequired = config.backend?.alwaysRequired ?? exports.DEFAULT_BACKEND_ALWAYS_REQUIRED;
523
+ evidencePaths = config.backend?.evidencePaths ?? exports.DEFAULT_BACKEND_EVIDENCE_PATHS;
366
524
  }
367
525
  else {
368
- const block = config.backend?.[cycle];
369
- alwaysRequired = block?.alwaysRequired ?? [];
370
- evidencePaths = block?.evidencePaths ?? [];
526
+ alwaysRequired = [];
527
+ evidencePaths = [];
371
528
  }
372
529
  if (alwaysRequired.length === 0 && evidencePaths.length === 0) {
373
530
  throw new Error(`Invalid required-tools config for cycle '${cycle}': both 'alwaysRequired' and 'evidencePaths' are empty. ` +
@@ -386,10 +543,16 @@ const NODE_IRONBEE_ENV = {
386
543
  TOOL_NAME_PREFIX: "ndt_",
387
544
  TOOL_INPUT_METADATA_ENABLE: "true",
388
545
  };
546
+ const BACKEND_IRONBEE_ENV = {
547
+ PLATFORM: "backend",
548
+ TOOL_NAME_PREFIX: "bedt_",
549
+ TOOL_INPUT_METADATA_ENABLE: "true",
550
+ };
389
551
  const BROWSER_DEFAULT_MCP_ENV = {
390
552
  BROWSER_DEVTOOLS_INSTALL_CHROMIUM: "true",
391
553
  };
392
554
  const NODE_DEFAULT_MCP_ENV = {};
555
+ const BACKEND_DEFAULT_MCP_ENV = {};
393
556
  /**
394
557
  * Auto-derive OTEL exporter env for the devtools MCP server when the
395
558
  * IronBee Collector is configured + enabled. Returns `{}` when the
@@ -404,7 +567,8 @@ const NODE_DEFAULT_MCP_ENV = {};
404
567
  * by setting `OTEL_ENABLE: "false"` in their override.
405
568
  *
406
569
  * `runtime` toggles browser-only vars (USER_INTERACTION_EVENTS,
407
- * BROWSER_HEADLESS_ENABLE) — node-devtools doesn't honor those.
570
+ * BROWSER_HEADLESS_ENABLE) — node-devtools and backend-devtools don't
571
+ * honor those.
408
572
  */
409
573
  function buildOtelEnv(config, runtime) {
410
574
  if (!isCollectorConfigured(config)) {
@@ -493,6 +657,11 @@ function getNodeDevToolsMcpEntry(projectDir) {
493
657
  const config = loadConfig(projectDir);
494
658
  return buildMcpEntry(config, "nodeDevTools", NODE_IRONBEE_ENV, NODE_DEFAULT_MCP_ENV, "node");
495
659
  }
660
+ /** Returns the MCP server entry for `backend-devtools` (PLATFORM=backend, bedt_). */
661
+ function getBackendDevToolsMcpEntry(projectDir) {
662
+ const config = loadConfig(projectDir);
663
+ return buildMcpEntry(config, "backendDevTools", BACKEND_IRONBEE_ENV, BACKEND_DEFAULT_MCP_ENV, "backend");
664
+ }
496
665
  function getMaxRetries(config) {
497
666
  return (typeof config.maxRetries === "number" && config.maxRetries > 0)
498
667
  ? config.maxRetries
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}