@ironbee-ai/cli 0.8.1 → 0.8.3

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 (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -0
  3. package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
  4. package/dist/clients/claude/hooks/clear-verdict.js +25 -4
  5. package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
  6. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  7. package/dist/clients/claude/hooks/require-verdict.js +21 -3
  8. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  9. package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
  10. package/dist/clients/cursor/hooks/clear-verdict.js +31 -5
  11. package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
  12. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  13. package/dist/clients/cursor/hooks/require-verdict.js +24 -3
  14. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  15. package/dist/commands/backend-toggle.d.ts +20 -9
  16. package/dist/commands/backend-toggle.d.ts.map +1 -1
  17. package/dist/commands/backend-toggle.js +33 -26
  18. package/dist/commands/backend-toggle.js.map +1 -1
  19. package/dist/commands/config.d.ts +40 -5
  20. package/dist/commands/config.d.ts.map +1 -1
  21. package/dist/commands/config.js +67 -17
  22. package/dist/commands/config.js.map +1 -1
  23. package/dist/commands/disable-backend.d.ts.map +1 -1
  24. package/dist/commands/disable-backend.js +6 -2
  25. package/dist/commands/disable-backend.js.map +1 -1
  26. package/dist/commands/disable-verification.d.ts.map +1 -1
  27. package/dist/commands/disable-verification.js +5 -2
  28. package/dist/commands/disable-verification.js.map +1 -1
  29. package/dist/commands/enable-backend.d.ts.map +1 -1
  30. package/dist/commands/enable-backend.js +6 -2
  31. package/dist/commands/enable-backend.js.map +1 -1
  32. package/dist/commands/enable-verification.d.ts.map +1 -1
  33. package/dist/commands/enable-verification.js +5 -2
  34. package/dist/commands/enable-verification.js.map +1 -1
  35. package/dist/commands/update.d.ts +23 -0
  36. package/dist/commands/update.d.ts.map +1 -1
  37. package/dist/commands/update.js +189 -0
  38. package/dist/commands/update.js.map +1 -1
  39. package/dist/commands/verification-toggle.d.ts +18 -1
  40. package/dist/commands/verification-toggle.d.ts.map +1 -1
  41. package/dist/commands/verification-toggle.js +96 -21
  42. package/dist/commands/verification-toggle.js.map +1 -1
  43. package/dist/hooks/core/actions.d.ts +9 -0
  44. package/dist/hooks/core/actions.d.ts.map +1 -1
  45. package/dist/hooks/core/actions.js.map +1 -1
  46. package/dist/hooks/core/file-diff.d.ts +17 -0
  47. package/dist/hooks/core/file-diff.d.ts.map +1 -1
  48. package/dist/hooks/core/file-diff.js +72 -0
  49. package/dist/hooks/core/file-diff.js.map +1 -1
  50. package/dist/hooks/core/tool-use-stash.d.ts +7 -1
  51. package/dist/hooks/core/tool-use-stash.d.ts.map +1 -1
  52. package/dist/hooks/core/tool-use-stash.js.map +1 -1
  53. package/dist/lib/config.d.ts +87 -6
  54. package/dist/lib/config.d.ts.map +1 -1
  55. package/dist/lib/config.js +124 -29
  56. package/dist/lib/config.js.map +1 -1
  57. package/dist/lib/gitignore.d.ts +26 -11
  58. package/dist/lib/gitignore.d.ts.map +1 -1
  59. package/dist/lib/gitignore.js +71 -24
  60. package/dist/lib/gitignore.js.map +1 -1
  61. package/package.json +1 -1
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.diffLineCounts = diffLineCounts;
11
+ exports.createUnifiedDiff = createUnifiedDiff;
11
12
  exports.countLines = countLines;
12
13
  const diff_1 = require("diff");
13
14
  function diffLineCounts(oldText, newText) {
@@ -24,6 +25,77 @@ function diffLineCounts(oldText, newText) {
24
25
  }
25
26
  return { added, removed };
26
27
  }
28
+ const NUL_CHAR_CODE = 0;
29
+ const BINARY_SAMPLE_BYTES = 4096;
30
+ /**
31
+ * Heuristic binary detection: a NUL byte in the first ~4 KB strongly
32
+ * suggests non-text content. Mirrors what git uses for its own
33
+ * `binary`/`text` classification.
34
+ */
35
+ function looksBinary(text) {
36
+ const limit = Math.min(text.length, BINARY_SAMPLE_BYTES);
37
+ for (let i = 0; i < limit; i++) {
38
+ if (text.charCodeAt(i) === NUL_CHAR_CODE) {
39
+ return true;
40
+ }
41
+ }
42
+ return false;
43
+ }
44
+ /**
45
+ * Produce a hunks-only unified-diff string for the change from `oldText`
46
+ * to `newText`. Format mirrors `git diff` body (`@@ -A,B +C,D @@` headers
47
+ * plus space/`-`/`+` content lines) but **omits** the `Index:` / `---` /
48
+ * `+++` filename header — `file_path` already lives on the parent
49
+ * `FileChangeAction`, so duplicating it here is wasted bytes.
50
+ *
51
+ * Returns `null` when:
52
+ * - the inputs are byte-identical (no change to record)
53
+ * - either side looks like binary content
54
+ * - the structured diff produced no hunks (e.g. trailing-newline only)
55
+ *
56
+ * `maxBytes` caps the output: anything past the cap is replaced with a
57
+ * truncation footer so the wire payload stays bounded. The cap is applied
58
+ * to UTF-8 byte length, not character count.
59
+ */
60
+ function createUnifiedDiff(oldText, newText, maxBytes) {
61
+ if (oldText === newText) {
62
+ return null;
63
+ }
64
+ if (looksBinary(oldText) || looksBinary(newText)) {
65
+ return null;
66
+ }
67
+ const sp = (0, diff_1.structuredPatch)("", "", oldText, newText, "", "");
68
+ if (sp.hunks.length === 0) {
69
+ return null;
70
+ }
71
+ const out = [];
72
+ for (const h of sp.hunks) {
73
+ out.push(`@@ -${h.oldStart},${h.oldLines} +${h.newStart},${h.newLines} @@`);
74
+ for (const line of h.lines) {
75
+ out.push(line);
76
+ }
77
+ }
78
+ const body = out.join("\n") + "\n";
79
+ return truncateToBytes(body, maxBytes);
80
+ }
81
+ function truncateToBytes(s, maxBytes) {
82
+ if (maxBytes <= 0) {
83
+ return s;
84
+ }
85
+ const buf = Buffer.from(s, "utf-8");
86
+ if (buf.length <= maxBytes) {
87
+ return s;
88
+ }
89
+ const omitted = buf.length - maxBytes;
90
+ const footer = `\n... (truncated, ${omitted} bytes omitted)\n`;
91
+ const footerLen = Buffer.byteLength(footer, "utf-8");
92
+ const headLen = Math.max(0, maxBytes - footerLen);
93
+ // Slice on byte boundary; toString("utf-8") replaces any partial
94
+ // multi-byte sequence at the boundary with U+FFFD, which is fine
95
+ // for a debug-style payload.
96
+ const head = buf.subarray(0, headLen).toString("utf-8");
97
+ return head + footer;
98
+ }
27
99
  /**
28
100
  * Counts lines in a text blob. Treats a missing trailing newline as a
29
101
  * still-present last line ("a\nb" → 2 lines, "a\nb\n" → 2 lines), which
@@ -1 +1 @@
1
- {"version":3,"file":"file-diff.js","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AASH,wCAYC;AAOD,gCAMC;AAhCD,+BAAyC;AAOzC,SAAgB,cAAc,CAAC,OAAe,EAAE,OAAe;IAC3D,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,MAAM,OAAO,GAAa,IAAA,gBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"file-diff.js","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,16 @@
31
31
  */
32
32
  /**
33
33
  * Known stash shape: whether the target file existed before a `Write`
34
- * tool ran. Read by `clear-verdict` to decide create vs update.
34
+ * tool ran (read by `clear-verdict` to decide create vs update), and
35
+ * optionally the file's prior content (used to produce a unified-diff
36
+ * `changeset` in the post-adapter when `fileChange.captureChangeset`
37
+ * is enabled). `prior_content` is only set when the feature is on
38
+ * AND the file existed at PreToolUse time — keeping the stash empty
39
+ * by default avoids reading every edited file on the hot path.
35
40
  */
36
41
  export interface WriteEditState {
37
42
  file_existed: boolean;
43
+ prior_content?: string;
38
44
  }
39
45
  export declare function stashToolUseData(sessionId: string, toolUseId: string, data: unknown): void;
40
46
  export declare function consumeToolUseData<T>(sessionId: string, toolUseId: string): T | null;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-use-stash.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,OAAO,CAAC;CACzB;AAUD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAU1F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAoBpF"}
1
+ {"version":3,"file":"tool-use-stash.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAU1F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAoBpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-use-stash.js","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAyBH,4CAUC;AAED,gDAoBC;AAvDD,2BAAoF;AACpF,2BAA4B;AAC5B,+BAA4B;AAC5B,6CAA0C;AAE1C,MAAM,aAAa,GAAW,SAAS,CAAC;AAUxC,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAiB;IACnD,OAAO,IAAA,WAAI,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAa;IAChF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,IAAA,cAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,kBAAa,EAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAI,SAAiB,EAAE,SAAiB;IACtE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAW,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,IAAI,GAAM,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;QAC7D,IAAI,CAAC;YACD,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,eAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"tool-use-stash.js","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AA+BH,4CAUC;AAED,gDAoBC;AA7DD,2BAAoF;AACpF,2BAA4B;AAC5B,+BAA4B;AAC5B,6CAA0C;AAE1C,MAAM,aAAa,GAAW,SAAS,CAAC;AAgBxC,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAiB;IACnD,OAAO,IAAA,WAAI,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAa;IAChF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,IAAA,cAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,kBAAa,EAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAI,SAAiB,EAAE,SAAiB;IACtE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAW,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,IAAI,GAAM,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;QAC7D,IAAI,CAAC;YACD,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,eAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -1,17 +1,23 @@
1
1
  /**
2
2
  * IronBee — Configuration Loader
3
3
  *
4
- * Loads config from two sources and merges them:
5
- * 1. Global: ~/.ironbee/config.json
6
- * 2. Project: <projectDir>/.ironbee/config.json
4
+ * Loads config from up to three sources and merges them in order:
5
+ * 1. Global: ~/.ironbee/config.json
6
+ * 2. Project: <projectDir>/.ironbee/config.json (committed)
7
+ * 3. Project-local: <projectDir>/.ironbee/config.local.json (gitignored)
7
8
  *
8
- * Project config overrides global config (deep merge for nested sections,
9
- * shallow for primitives see deepMerge).
9
+ * Each later layer overrides earlier ones (deep merge for nested `browser` /
10
+ * `backend.<runtime>` blocks, shallow for primitives and other top-level
11
+ * keys). The local layer is intended for personal / per-machine overrides
12
+ * (debug toggles, machine-specific paths, alternate collector endpoints) and
13
+ * must not be committed — `ironbee install` adds `.ironbee/config.local.json`
14
+ * to `.gitignore` automatically.
10
15
  *
11
16
  * The pre-split layout (top-level `verifyPatterns` / `additionalVerifyPatterns`)
12
17
  * is no longer supported. Configs carrying those fields throw at load time —
13
18
  * patterns must move under `browser.*` (or the appropriate runtime under
14
- * `backend.<runtime>.*`).
19
+ * `backend.<runtime>.*`). The same legacy-shape rejection applies to the
20
+ * local layer.
15
21
  */
16
22
  /** Backend MCP servers in the runtime registry. Code change to extend. */
17
23
  export declare const BACKEND_SERVERS: readonly string[];
@@ -148,6 +154,27 @@ export interface IronBeeConfig {
148
154
  verification?: {
149
155
  enable?: boolean;
150
156
  };
157
+ /**
158
+ * `file_change` event payload tuning.
159
+ *
160
+ * `captureChangeset` (default `false`) controls whether the wire event
161
+ * carries a hunks-only unified-diff string for the change. When off,
162
+ * only metadata is shipped (operation + line counts). When on, raw
163
+ * before/after file content is read at hook time, diffed, and attached
164
+ * as `@@`-headed hunks with `space`/`-`/`+` content lines (no
165
+ * `Index:` / `---` / `+++` filename header — `file_path` already
166
+ * lives on the event). This is opt-in because the default
167
+ * `tool_input` whitelist deliberately strips file content from the
168
+ * wire — enabling this routes content through `file_change` instead.
169
+ *
170
+ * `maxChangesetBytes` (default 64 KB) is a hard cap. Diffs over the cap
171
+ * get truncated with a `... (truncated, N bytes omitted)` footer so the
172
+ * collector POST stays within typical reverse-proxy body limits.
173
+ */
174
+ fileChange?: {
175
+ captureChangeset?: boolean;
176
+ maxChangesetBytes?: number;
177
+ };
151
178
  /**
152
179
  * Historical-session import tuning. Read by `ironbee import`.
153
180
  *
@@ -169,6 +196,52 @@ export declare const DEFAULT_BROWSER_ALWAYS_REQUIRED: string[];
169
196
  /** Node-cycle required tools — connect always; then probe path or log path. */
170
197
  export declare const DEFAULT_BACKEND_NODE_ALWAYS_REQUIRED: string[];
171
198
  export declare const DEFAULT_BACKEND_NODE_EVIDENCE_PATHS: EvidencePath[];
199
+ /** On-disk paths of the three config layers, exposed for CLI plumbing (`config path`). */
200
+ export interface ConfigLayerPaths {
201
+ /** `~/.ironbee/config.json` — always populated. */
202
+ global: string;
203
+ /** `<projectDir>/.ironbee/config.json` — undefined when no projectDir was passed. */
204
+ project: string | undefined;
205
+ /** `<projectDir>/.ironbee/config.local.json` — undefined when no projectDir was passed. */
206
+ local: string | undefined;
207
+ }
208
+ /** Returns the on-disk paths of all three config layers without reading them. */
209
+ export declare function getConfigLayerPaths(projectDir?: string): ConfigLayerPaths;
210
+ /**
211
+ * Symbolic identifier for one of the three config layers. Used by every
212
+ * write-side CLI command (`config set/unset`, `enable-verification`,
213
+ * `disable-verification`, `enable-backend`, `disable-backend`) so layer
214
+ * resolution stays consistent.
215
+ *
216
+ * Merge precedence (low → high): `global` < `project` < `local`. Higher
217
+ * layers override lower ones at the same key.
218
+ */
219
+ export type ConfigTarget = "global" | "project" | "local";
220
+ /** Layers in merge-precedence order, low → high. Used by override detection. */
221
+ export declare const CONFIG_TARGETS_BY_PRECEDENCE: readonly ConfigTarget[];
222
+ /**
223
+ * Returns the on-disk path for a single config layer. Throws when the
224
+ * caller asks for a project-scoped layer without a `projectDir` (e.g.
225
+ * `--local` outside a project context). Used by all write-side commands
226
+ * to keep the targeted-path resolution in one place.
227
+ */
228
+ export declare function getTargetConfigPath(target: ConfigTarget, projectDir?: string): string;
229
+ /**
230
+ * Resolves a `ConfigTarget` from CLI flag booleans, enforcing mutual
231
+ * exclusion. Used by every write-side command that exposes
232
+ * `-g / --global` and `--local` flags (`config set`, `config unset`,
233
+ * `enable-verification`, `disable-verification`, `enable-backend`,
234
+ * `disable-backend`) so the flag-resolution rules stay identical.
235
+ *
236
+ * Returns `"project"` when neither flag is set (the default for
237
+ * project-scoped commands). Throws on the impossible `--global --local`
238
+ * combination — commander doesn't enforce mutual exclusion across
239
+ * arbitrary option pairs, so we do.
240
+ */
241
+ export declare function resolveConfigTargetFromFlags(opts: {
242
+ global?: boolean;
243
+ local?: boolean;
244
+ }): ConfigTarget;
172
245
  export declare function loadConfig(projectDir?: string): IronBeeConfig;
173
246
  /**
174
247
  * Returns the names of cycles whose pattern set matches `filePath`.
@@ -243,6 +316,14 @@ export declare function isRecordingEnabled(projectDir?: string): boolean;
243
316
  * returns false.
244
317
  */
245
318
  export declare function getVerificationEnabled(config: IronBeeConfig): boolean;
319
+ /**
320
+ * Returns true when `file_change` events should carry a unified-diff
321
+ * `changeset` string. Off by default — the default wire shape stays
322
+ * metadata-only (operation + line counts).
323
+ */
324
+ export declare function getCaptureFileChangeset(config: IronBeeConfig): boolean;
325
+ /** Per-event hard cap in bytes for the `changeset` string. Truncated past this. */
326
+ export declare function getMaxChangesetBytes(config: IronBeeConfig): number;
246
327
  /**
247
328
  * Returns true when analytics collection is enabled for this project.
248
329
  * Same resolution as `isJobQueueEnabled` / `isRecordingEnabled`:
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -2,20 +2,29 @@
2
2
  /**
3
3
  * IronBee — Configuration Loader
4
4
  *
5
- * Loads config from two sources and merges them:
6
- * 1. Global: ~/.ironbee/config.json
7
- * 2. Project: <projectDir>/.ironbee/config.json
5
+ * Loads config from up to three sources and merges them in order:
6
+ * 1. Global: ~/.ironbee/config.json
7
+ * 2. Project: <projectDir>/.ironbee/config.json (committed)
8
+ * 3. Project-local: <projectDir>/.ironbee/config.local.json (gitignored)
8
9
  *
9
- * Project config overrides global config (deep merge for nested sections,
10
- * shallow for primitives see deepMerge).
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.
11
16
  *
12
17
  * The pre-split layout (top-level `verifyPatterns` / `additionalVerifyPatterns`)
13
18
  * is no longer supported. Configs carrying those fields throw at load time —
14
19
  * patterns must move under `browser.*` (or the appropriate runtime under
15
- * `backend.<runtime>.*`).
20
+ * `backend.<runtime>.*`). The same legacy-shape rejection applies to the
21
+ * local layer.
16
22
  */
17
23
  Object.defineProperty(exports, "__esModule", { value: true });
18
- 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;
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;
25
+ exports.getConfigLayerPaths = getConfigLayerPaths;
26
+ exports.getTargetConfigPath = getTargetConfigPath;
27
+ exports.resolveConfigTargetFromFlags = resolveConfigTargetFromFlags;
19
28
  exports.loadConfig = loadConfig;
20
29
  exports.getActiveCycles = getActiveCycles;
21
30
  exports.requiresVerification = requiresVerification;
@@ -27,6 +36,8 @@ exports.isCollectorConfigured = isCollectorConfigured;
27
36
  exports.isJobQueueEnabled = isJobQueueEnabled;
28
37
  exports.isRecordingEnabled = isRecordingEnabled;
29
38
  exports.getVerificationEnabled = getVerificationEnabled;
39
+ exports.getCaptureFileChangeset = getCaptureFileChangeset;
40
+ exports.getMaxChangesetBytes = getMaxChangesetBytes;
30
41
  exports.isAnalyticsEnabled = isAnalyticsEnabled;
31
42
  exports.isAnalyticsEmitOnStopEnabled = isAnalyticsEmitOnStopEnabled;
32
43
  exports.getAnalyticsEmitOnStopMinIntervalSeconds = getAnalyticsEmitOnStopMinIntervalSeconds;
@@ -165,30 +176,89 @@ function mergeBackend(base, override) {
165
176
  }
166
177
  return merged;
167
178
  }
168
- function loadConfig(projectDir) {
169
- const globalPath = (0, path_1.join)((0, os_1.homedir)(), ".ironbee", "config.json");
170
- const globalConfig = loadJsonFile(globalPath);
171
- if ((0, fs_1.existsSync)(globalPath)) {
172
- assertNoLegacyShape(globalConfig, globalPath);
173
- assertVerificationShape(globalConfig, globalPath);
174
- }
175
- let projectConfig = {};
176
- let projectPath = "";
177
- if (projectDir) {
178
- projectPath = (0, path_1.join)(projectDir, ".ironbee", "config.json");
179
- projectConfig = loadJsonFile(projectPath);
180
- if ((0, fs_1.existsSync)(projectPath)) {
181
- assertNoLegacyShape(projectConfig, projectPath);
182
- assertVerificationShape(projectConfig, projectPath);
179
+ /**
180
+ * Merge two `IronBeeConfig` layers — `override` wins. Top-level keys are
181
+ * shallow-merged; the `browser` and `backend` blocks deep-merge per cycle
182
+ * so a project override of `browser.verifyPatterns` doesn't wipe a global
183
+ * `browser.evidencePaths` (and vice-versa for the local layer).
184
+ */
185
+ function mergeConfigLayers(base, override) {
186
+ const merged = { ...base, ...override };
187
+ merged.browser = mergeCycleConfig(base.browser, override.browser);
188
+ merged.backend = mergeBackend(base.backend, override.backend);
189
+ return merged;
190
+ }
191
+ /** Returns the on-disk paths of all three config layers without reading them. */
192
+ function getConfigLayerPaths(projectDir) {
193
+ return {
194
+ global: (0, path_1.join)((0, os_1.homedir)(), ".ironbee", "config.json"),
195
+ project: projectDir ? (0, path_1.join)(projectDir, ".ironbee", "config.json") : undefined,
196
+ local: projectDir ? (0, path_1.join)(projectDir, ".ironbee", "config.local.json") : undefined,
197
+ };
198
+ }
199
+ /** Layers in merge-precedence order, low → high. Used by override detection. */
200
+ exports.CONFIG_TARGETS_BY_PRECEDENCE = ["global", "project", "local"];
201
+ /**
202
+ * Returns the on-disk path for a single config layer. Throws when the
203
+ * caller asks for a project-scoped layer without a `projectDir` (e.g.
204
+ * `--local` outside a project context). Used by all write-side commands
205
+ * to keep the targeted-path resolution in one place.
206
+ */
207
+ function getTargetConfigPath(target, projectDir) {
208
+ const paths = getConfigLayerPaths(projectDir);
209
+ if (target === "global") {
210
+ return paths.global;
211
+ }
212
+ if (target === "project") {
213
+ if (paths.project === undefined) {
214
+ throw new Error("Project layer requested but no projectDir was provided.");
183
215
  }
216
+ return paths.project;
184
217
  }
185
- const merged = {
186
- ...globalConfig,
187
- ...projectConfig,
188
- };
189
- merged.browser = mergeCycleConfig(globalConfig.browser, projectConfig.browser);
190
- merged.backend = mergeBackend(globalConfig.backend, projectConfig.backend);
191
- return merged;
218
+ // local
219
+ if (paths.local === undefined) {
220
+ throw new Error("Local layer requested but no projectDir was provided.");
221
+ }
222
+ return paths.local;
223
+ }
224
+ /**
225
+ * Resolves a `ConfigTarget` from CLI flag booleans, enforcing mutual
226
+ * exclusion. Used by every write-side command that exposes
227
+ * `-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.
230
+ *
231
+ * Returns `"project"` when neither flag is set (the default for
232
+ * project-scoped commands). Throws on the impossible `--global --local`
233
+ * combination — commander doesn't enforce mutual exclusion across
234
+ * arbitrary option pairs, so we do.
235
+ */
236
+ function resolveConfigTargetFromFlags(opts) {
237
+ if (opts.global === true && opts.local === true) {
238
+ throw new Error("Pass at most one of --global / --local.");
239
+ }
240
+ if (opts.global === true) {
241
+ return "global";
242
+ }
243
+ if (opts.local === true) {
244
+ return "local";
245
+ }
246
+ return "project";
247
+ }
248
+ function loadAndValidateLayer(path) {
249
+ const raw = loadJsonFile(path);
250
+ if ((0, fs_1.existsSync)(path)) {
251
+ assertNoLegacyShape(raw, path);
252
+ assertVerificationShape(raw, path);
253
+ }
254
+ return raw;
255
+ }
256
+ function loadConfig(projectDir) {
257
+ const paths = getConfigLayerPaths(projectDir);
258
+ const globalConfig = loadAndValidateLayer(paths.global);
259
+ const projectConfig = paths.project ? loadAndValidateLayer(paths.project) : {};
260
+ const localConfig = paths.local ? loadAndValidateLayer(paths.local) : {};
261
+ return mergeConfigLayers(mergeConfigLayers(globalConfig, projectConfig), localConfig);
192
262
  }
193
263
  // Glob → RegExp. Supports *, **, ** + slash (zero-or-more segments), ?, and
194
264
  // brace expansion {a,b,c} → (a|b|c). The trailing-slash form of ** matches
@@ -533,6 +603,31 @@ function getVerificationEnabled(config) {
533
603
  }
534
604
  return section.enable !== false;
535
605
  }
606
+ const DEFAULT_MAX_CHANGESET_BYTES = 65536;
607
+ /**
608
+ * Returns true when `file_change` events should carry a unified-diff
609
+ * `changeset` string. Off by default — the default wire shape stays
610
+ * metadata-only (operation + line counts).
611
+ */
612
+ function getCaptureFileChangeset(config) {
613
+ const section = config.fileChange;
614
+ if (!section || typeof section !== "object" || Array.isArray(section)) {
615
+ return false;
616
+ }
617
+ return section.captureChangeset === true;
618
+ }
619
+ /** Per-event hard cap in bytes for the `changeset` string. Truncated past this. */
620
+ function getMaxChangesetBytes(config) {
621
+ const section = config.fileChange;
622
+ if (!section || typeof section !== "object" || Array.isArray(section)) {
623
+ return DEFAULT_MAX_CHANGESET_BYTES;
624
+ }
625
+ const raw = section.maxChangesetBytes;
626
+ if (typeof raw !== "number" || !Number.isFinite(raw) || raw <= 0) {
627
+ return DEFAULT_MAX_CHANGESET_BYTES;
628
+ }
629
+ return Math.floor(raw);
630
+ }
536
631
  /**
537
632
  * Returns true when analytics collection is enabled for this project.
538
633
  * Same resolution as `isJobQueueEnabled` / `isRecordingEnabled`:
@@ -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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"}
@@ -1,21 +1,36 @@
1
1
  /**
2
- * Project `.gitignore` helper. Idempotently ensures `.ironbee/sessions/`
3
- * is gitignored so per-session runtime artifacts (marker files, session
4
- * state, action logs, queue files, …) don't accidentally get committed.
2
+ * Project `.gitignore` helper. Idempotently ensures the IronBee per-project
3
+ * artifacts that must NOT be committed land in `.gitignore`:
5
4
  *
6
- * Called from two places:
5
+ * - `.ironbee/sessions/` — per-session runtime artifacts (marker
6
+ * files, session state, action logs,
7
+ * queue files, …).
8
+ * - `.ironbee/config.local.json` — personal / per-machine config override
9
+ * (intentionally local-only, see
10
+ * `lib/config.ts` for the merge order).
11
+ *
12
+ * Called from three places:
7
13
  * - `ironbee install` — once per project, alongside `.ironbee/` mkdir.
8
- * - `ironbee import` — before writing each session marker, so import-only
14
+ * - `ironbee import` — before writing each session marker, so import-only
9
15
  * usage (skipping install) still leaves the gitignore in a clean state.
16
+ * - `ironbee config set/unset` — re-renders artifacts, including this file.
17
+ *
18
+ * Each entry is added independently — if an older `.gitignore` already
19
+ * contains `.ironbee/sessions/` but not the new local-config line, the
20
+ * helper appends only the missing entry rather than re-adding the whole
21
+ * block. This keeps the upgrade path quiet for users who already had
22
+ * `ironbee install` in place before this feature shipped.
10
23
  *
11
- * No-op when the line already exists, or when `projectDir` itself doesn't
12
- * exist on disk (synthetic projectDir from undecoded `--all-projects`
13
- * folder names).
24
+ * No-op when the line is already present, or when `projectDir` itself
25
+ * doesn't exist on disk (synthetic projectDir from undecoded
26
+ * `--all-projects` folder names).
14
27
  */
15
28
  /**
16
- * Append `.ironbee/sessions/` to `<projectDir>/.gitignore`, creating the
17
- * file if needed. No-op when the line is already present or when
18
- * `projectDir` doesn't exist.
29
+ * Append all IronBee gitignore entries to `<projectDir>/.gitignore`,
30
+ * creating the file if needed. Each entry is added independently
31
+ * partial state (sessions/ already there, config.local.json missing) is
32
+ * resolved by appending only the missing entries. No-op for entries that
33
+ * already match line-exact.
19
34
  */
20
35
  export declare function ensureIronBeeGitignored(projectDir: string): void;
21
36
  //# sourceMappingURL=gitignore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAmBhE"}
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA0DH;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA2BhE"}