@petukhovart/agent-view 0.3.0 → 0.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.
Files changed (77) hide show
  1. package/.claude-plugin/marketplace.json +14 -0
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/README.md +164 -113
  4. package/dist/cdp/ax-cache.d.ts +7 -0
  5. package/dist/cdp/ax-cache.d.ts.map +1 -1
  6. package/dist/cdp/ax-cache.js +7 -0
  7. package/dist/cdp/ax-cache.js.map +1 -1
  8. package/dist/cdp/transport.d.ts.map +1 -1
  9. package/dist/cdp/transport.js +98 -27
  10. package/dist/cdp/transport.js.map +1 -1
  11. package/dist/cdp/types.d.ts +45 -2
  12. package/dist/cdp/types.d.ts.map +1 -1
  13. package/dist/cdp/types.js +6 -0
  14. package/dist/cdp/types.js.map +1 -1
  15. package/dist/cli/commands/console.d.ts +1 -0
  16. package/dist/cli/commands/console.d.ts.map +1 -1
  17. package/dist/cli/commands/console.js +1 -0
  18. package/dist/cli/commands/console.js.map +1 -1
  19. package/dist/cli/commands/dom.d.ts +4 -0
  20. package/dist/cli/commands/dom.d.ts.map +1 -1
  21. package/dist/cli/commands/dom.js +4 -0
  22. package/dist/cli/commands/dom.js.map +1 -1
  23. package/dist/cli/commands/drag.d.ts +13 -0
  24. package/dist/cli/commands/drag.d.ts.map +1 -0
  25. package/dist/cli/commands/drag.js +72 -0
  26. package/dist/cli/commands/drag.js.map +1 -0
  27. package/dist/cli/commands/scene.d.ts +1 -0
  28. package/dist/cli/commands/scene.d.ts.map +1 -1
  29. package/dist/cli/commands/scene.js +2 -0
  30. package/dist/cli/commands/scene.js.map +1 -1
  31. package/dist/cli/commands/screenshot.d.ts +1 -0
  32. package/dist/cli/commands/screenshot.d.ts.map +1 -1
  33. package/dist/cli/commands/screenshot.js +4 -0
  34. package/dist/cli/commands/screenshot.js.map +1 -1
  35. package/dist/cli/commands/snap.d.ts +1 -0
  36. package/dist/cli/commands/snap.d.ts.map +1 -1
  37. package/dist/cli/commands/snap.js +2 -0
  38. package/dist/cli/commands/snap.js.map +1 -1
  39. package/dist/cli/commands/watch.d.ts +12 -0
  40. package/dist/cli/commands/watch.d.ts.map +1 -0
  41. package/dist/cli/commands/watch.js +233 -0
  42. package/dist/cli/commands/watch.js.map +1 -0
  43. package/dist/cli/index.js +48 -1
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/config/manager.js +1 -1
  46. package/dist/config/types.d.ts +0 -3
  47. package/dist/config/types.d.ts.map +1 -1
  48. package/dist/inspectors/dom/index.d.ts +13 -0
  49. package/dist/inspectors/dom/index.d.ts.map +1 -1
  50. package/dist/inspectors/dom/index.js +255 -103
  51. package/dist/inspectors/dom/index.js.map +1 -1
  52. package/dist/inspectors/scene/formatter.d.ts.map +1 -1
  53. package/dist/inspectors/scene/formatter.js +56 -8
  54. package/dist/inspectors/scene/formatter.js.map +1 -1
  55. package/dist/inspectors/scene/types.d.ts +1 -0
  56. package/dist/inspectors/scene/types.d.ts.map +1 -1
  57. package/dist/inspectors/watch/index.d.ts +18 -0
  58. package/dist/inspectors/watch/index.d.ts.map +1 -0
  59. package/dist/inspectors/watch/index.js +39 -0
  60. package/dist/inspectors/watch/index.js.map +1 -0
  61. package/dist/inspectors/watch/types.d.ts +70 -0
  62. package/dist/inspectors/watch/types.d.ts.map +1 -0
  63. package/dist/inspectors/watch/types.js +21 -0
  64. package/dist/inspectors/watch/types.js.map +1 -0
  65. package/dist/server/server.d.ts +9 -1
  66. package/dist/server/server.d.ts.map +1 -1
  67. package/dist/server/server.js +279 -48
  68. package/dist/server/server.js.map +1 -1
  69. package/dist/server/watch-session.d.ts +32 -0
  70. package/dist/server/watch-session.d.ts.map +1 -0
  71. package/dist/server/watch-session.js +165 -0
  72. package/dist/server/watch-session.js.map +1 -0
  73. package/dist/types.d.ts +2 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +61 -60
  76. package/skills/verify/SKILL.md +64 -13
  77. package/skills/verify-recipe/SKILL.md +185 -0
@@ -1,131 +1,283 @@
1
- export function formatAccessibilityTree(nodes, options = {}) {
2
- const { filter, depth: maxDepth } = options;
3
- const refs = [];
4
- let nextRef = options.startRef ?? 1;
5
- const lines = [];
6
- const nodeMap = new Map();
7
- for (const node of nodes) {
8
- nodeMap.set(node.nodeId, node);
1
+ const REF_PATTERN = /\[ref=\d+\]/g;
2
+ function normalizeRef(line) {
3
+ return line.replace(REF_PATTERN, '[ref=*]');
4
+ }
5
+ /**
6
+ * Compute a line-level diff between two formatted DOM texts. Refs are
7
+ * normalised before comparison (sessions reuse ids monotonically; without
8
+ * normalisation every line would look "changed"). Emitted lines retain the
9
+ * real `[ref=N]` from the *current* snapshot so the user can still click them.
10
+ */
11
+ export function diffDomText(prev, curr) {
12
+ if (normalizeRef(prev) === normalizeRef(curr))
13
+ return 'No changes';
14
+ const prevLines = prev.split('\n');
15
+ const currLines = curr.split('\n');
16
+ const prevCounts = new Map();
17
+ for (const line of prevLines) {
18
+ const key = normalizeRef(line);
19
+ prevCounts.set(key, (prevCounts.get(key) ?? 0) + 1);
9
20
  }
10
- const rootNodeId = nodes[0]?.nodeId;
11
- if (!rootNodeId)
12
- return { text: '(empty)', refs: [], nextRef };
13
- const ALWAYS_SKIP_ROLES = new Set(['InlineTextBox']);
14
- const SKIP_WHEN_EMPTY_ROLES = new Set(['none', 'generic', 'StaticText']);
15
- // WAI-ARIA-like fallback: when a node has no accessible name,
16
- // walk its children to find the first non-empty name, description, or title.
17
- // This handles cases like v-list-item with title on a child v-icon.
18
- function resolveNameFromChildren(node, depthLimit = 5) {
19
- if (depthLimit <= 0 || !node.childIds)
20
- return '';
21
- for (const childId of node.childIds) {
21
+ const currCounts = new Map();
22
+ const currByKey = new Map();
23
+ for (const line of currLines) {
24
+ const key = normalizeRef(line);
25
+ currCounts.set(key, (currCounts.get(key) ?? 0) + 1);
26
+ const bucket = currByKey.get(key);
27
+ if (bucket)
28
+ bucket.push(line);
29
+ else
30
+ currByKey.set(key, [line]);
31
+ }
32
+ const prevByKey = new Map();
33
+ for (const line of prevLines) {
34
+ const key = normalizeRef(line);
35
+ const bucket = prevByKey.get(key);
36
+ if (bucket)
37
+ bucket.push(line);
38
+ else
39
+ prevByKey.set(key, [line]);
40
+ }
41
+ const changes = [];
42
+ for (const [key, count] of currCounts) {
43
+ const prevCount = prevCounts.get(key) ?? 0;
44
+ const added = count - prevCount;
45
+ if (added <= 0)
46
+ continue;
47
+ const bucket = currByKey.get(key) ?? [];
48
+ for (let i = bucket.length - added; i < bucket.length; i++) {
49
+ changes.push(`+ ${bucket[i]}`);
50
+ }
51
+ }
52
+ for (const [key, count] of prevCounts) {
53
+ const currCount = currCounts.get(key) ?? 0;
54
+ const removed = count - currCount;
55
+ if (removed <= 0)
56
+ continue;
57
+ const bucket = prevByKey.get(key) ?? [];
58
+ for (let i = bucket.length - removed; i < bucket.length; i++) {
59
+ changes.push(`- ${bucket[i]}`);
60
+ }
61
+ }
62
+ return changes.length > 0 ? changes.join('\n') : 'No changes';
63
+ }
64
+ const ALWAYS_SKIP_ROLES = new Set(['InlineTextBox']);
65
+ const SKIP_WHEN_EMPTY_ROLES = new Set(['none', 'generic', 'StaticText']);
66
+ const HARD_MAX_DEPTH = 100;
67
+ function resolveNameFromChildren(node, nodeMap, depthLimit = 5) {
68
+ if (depthLimit <= 0 || !node.childIds)
69
+ return '';
70
+ for (const childId of node.childIds) {
71
+ const child = nodeMap.get(childId);
72
+ if (!child)
73
+ continue;
74
+ if (child.name?.value)
75
+ return child.name.value;
76
+ const desc = child.properties?.find(p => p.name === 'description');
77
+ if (desc?.value?.value && typeof desc.value.value === 'string')
78
+ return desc.value.value;
79
+ const deeper = resolveNameFromChildren(child, nodeMap, depthLimit - 1);
80
+ if (deeper)
81
+ return deeper;
82
+ }
83
+ return '';
84
+ }
85
+ function getDescendantText(node, nodeMap, depthLimit = 10) {
86
+ const parts = [];
87
+ function collect(n, depth) {
88
+ if (depth > depthLimit || !n.childIds)
89
+ return;
90
+ for (const childId of n.childIds) {
22
91
  const child = nodeMap.get(childId);
23
92
  if (!child)
24
93
  continue;
25
- // Check child's own name
26
94
  if (child.name?.value)
27
- return child.name.value;
28
- // Check description/title in AX properties
95
+ parts.push(child.name.value);
29
96
  const desc = child.properties?.find(p => p.name === 'description');
30
97
  if (desc?.value?.value && typeof desc.value.value === 'string')
31
- return desc.value.value;
32
- // Recurse into grandchildren
33
- const deeper = resolveNameFromChildren(child, depthLimit - 1);
34
- if (deeper)
35
- return deeper;
98
+ parts.push(desc.value.value);
99
+ collect(child, depth + 1);
36
100
  }
37
- return '';
38
101
  }
39
- // Collect all descendant text for heuristic filter matching.
40
- // Searches name and description of all descendants, not just current node.
41
- function getDescendantText(node, depthLimit = 10) {
42
- const parts = [];
43
- function collect(n, depth) {
44
- if (depth > depthLimit || !n.childIds)
45
- return;
46
- for (const childId of n.childIds) {
47
- const child = nodeMap.get(childId);
48
- if (!child)
49
- continue;
50
- if (child.name?.value)
51
- parts.push(child.name.value);
52
- const desc = child.properties?.find(p => p.name === 'description');
53
- if (desc?.value?.value && typeof desc.value.value === 'string')
54
- parts.push(desc.value.value);
55
- collect(child, depth + 1);
56
- }
102
+ collect(node, 0);
103
+ return parts.join(' ').toLowerCase();
104
+ }
105
+ function hasMatchingDescendant(node, nodeMap, lowerFilter) {
106
+ if (!node.childIds)
107
+ return false;
108
+ for (const childId of node.childIds) {
109
+ const child = nodeMap.get(childId);
110
+ if (!child)
111
+ continue;
112
+ const childRole = child.role?.value ?? '';
113
+ if (ALWAYS_SKIP_ROLES.has(childRole))
114
+ continue;
115
+ const childName = child.name?.value?.toLowerCase() ?? '';
116
+ if (childName.includes(lowerFilter) || childRole.toLowerCase().includes(lowerFilter))
117
+ return true;
118
+ if (hasMatchingDescendant(child, nodeMap, lowerFilter))
119
+ return true;
120
+ }
121
+ return false;
122
+ }
123
+ function nodePassesFilter(node, name, role, ctx) {
124
+ if (!ctx.lowerFilter)
125
+ return true;
126
+ const lf = ctx.lowerFilter;
127
+ const matchesName = name.toLowerCase().includes(lf);
128
+ const matchesRole = role.toLowerCase().includes(lf);
129
+ const matchesDescendants = !matchesName && !matchesRole
130
+ ? getDescendantText(node, ctx.nodeMap, 10).includes(lf)
131
+ : false;
132
+ return matchesName || matchesRole || matchesDescendants || hasMatchingDescendant(node, ctx.nodeMap, lf);
133
+ }
134
+ function walkVisibleNodes(nodeId, indent, ctx, onVisit) {
135
+ if (indent > HARD_MAX_DEPTH)
136
+ return;
137
+ if (ctx.maxDepth !== undefined && indent > ctx.maxDepth)
138
+ return;
139
+ const node = ctx.nodeMap.get(nodeId);
140
+ if (!node)
141
+ return;
142
+ const role = node.role?.value ?? '';
143
+ const ownName = node.name?.value ?? '';
144
+ const fallbackName = !ownName ? resolveNameFromChildren(node, ctx.nodeMap) : '';
145
+ const name = ownName || fallbackName;
146
+ if (ALWAYS_SKIP_ROLES.has(role))
147
+ return;
148
+ const skip = SKIP_WHEN_EMPTY_ROLES.has(role) && !name;
149
+ if (!skip) {
150
+ if (nodePassesFilter(node, name, role, ctx)) {
151
+ onVisit(node, name, !ownName && !!fallbackName, indent);
152
+ }
153
+ else {
154
+ return;
57
155
  }
58
- collect(node, 0);
59
- return parts.join(' ').toLowerCase();
60
156
  }
61
- function hasMatchingDescendant(node, lowerFilter) {
62
- if (!node.childIds)
63
- return false;
157
+ if (node.childIds) {
64
158
  for (const childId of node.childIds) {
65
- const child = nodeMap.get(childId);
66
- if (!child)
67
- continue;
68
- const childRole = child.role?.value ?? '';
69
- if (ALWAYS_SKIP_ROLES.has(childRole))
70
- continue;
71
- const childName = child.name?.value?.toLowerCase() ?? '';
72
- if (childName.includes(lowerFilter) || childRole.toLowerCase().includes(lowerFilter))
73
- return true;
74
- if (hasMatchingDescendant(child, lowerFilter))
75
- return true;
159
+ walkVisibleNodes(childId, skip ? indent : indent + 1, ctx, onVisit);
76
160
  }
77
- return false;
78
161
  }
79
- const HARD_MAX_DEPTH = 100;
80
- function walk(nodeId, depth, indent) {
81
- if (indent > HARD_MAX_DEPTH)
82
- return;
83
- if (maxDepth !== undefined && indent > maxDepth)
84
- return;
85
- const node = nodeMap.get(nodeId);
86
- if (!node)
87
- return;
88
- const role = node.role?.value ?? '';
89
- const ownName = node.name?.value ?? '';
90
- // Fallback: resolve name from children when node has no accessible name
91
- const fallbackName = !ownName ? resolveNameFromChildren(node) : '';
92
- const name = ownName || fallbackName;
93
- if (ALWAYS_SKIP_ROLES.has(role))
94
- return;
95
- const skip = SKIP_WHEN_EMPTY_ROLES.has(role) && !name;
96
- if (!skip) {
97
- if (filter) {
98
- const lowerFilter = filter.toLowerCase();
99
- const matchesName = name.toLowerCase().includes(lowerFilter);
100
- const matchesRole = role.toLowerCase().includes(lowerFilter);
101
- // Heuristic: also search descendant names/descriptions
102
- const matchesDescendants = !matchesName && !matchesRole
103
- ? getDescendantText(node, 10).includes(lowerFilter)
104
- : false;
105
- if (!matchesName && !matchesRole && !matchesDescendants && !hasMatchingDescendant(node, lowerFilter)) {
106
- return;
107
- }
108
- }
162
+ }
163
+ function effectiveChildren(node, nodeMap) {
164
+ if (!node.childIds)
165
+ return [];
166
+ return node.childIds.filter(childId => {
167
+ const child = nodeMap.get(childId);
168
+ if (!child)
169
+ return false;
170
+ const childRole = child.role?.value ?? '';
171
+ if (ALWAYS_SKIP_ROLES.has(childRole))
172
+ return false;
173
+ const childName = child.name?.value ?? '';
174
+ const fallback = !childName ? resolveNameFromChildren(child, nodeMap) : '';
175
+ const resolvedName = childName || fallback;
176
+ if (SKIP_WHEN_EMPTY_ROLES.has(childRole) && !resolvedName)
177
+ return false;
178
+ return true;
179
+ });
180
+ }
181
+ export function formatAccessibilityTree(nodes, options = {}) {
182
+ const { filter, depth: maxDepth, compact = false, maxLines } = options;
183
+ const refs = [];
184
+ let nextRef = options.startRef ?? 1;
185
+ const lines = [];
186
+ const nodeMap = new Map();
187
+ for (const node of nodes) {
188
+ nodeMap.set(node.nodeId, node);
189
+ }
190
+ const rootNodeId = nodes[0]?.nodeId;
191
+ if (!rootNodeId)
192
+ return { text: '(empty)', refs: [], nextRef };
193
+ const ctx = { nodeMap, lowerFilter: filter?.toLowerCase(), maxDepth };
194
+ if (!compact) {
195
+ walkVisibleNodes(rootNodeId, 0, ctx, (node, name, isFallback, indent) => {
109
196
  const ref = nextRef++;
110
197
  if (node.backendDOMNodeId) {
111
198
  refs.push({ ref, backendDOMNodeId: node.backendDOMNodeId });
112
199
  }
113
200
  const padding = ' '.repeat(indent);
114
- const isFallback = !ownName && fallbackName;
201
+ const role = node.role?.value ?? '';
115
202
  const nameStr = name ? ` "${name}"${isFallback ? ' [fallback]' : ''}` : '';
116
203
  lines.push(`${padding}${role}${nameStr} [ref=${ref}]`);
117
- }
118
- if (node.childIds) {
119
- for (const childId of node.childIds) {
120
- walk(childId, depth + 1, skip ? indent : indent + 1);
121
- }
122
- }
204
+ });
205
+ }
206
+ else {
207
+ walkCompact(rootNodeId, 0, [], 0, ctx, {
208
+ allocRef: (backendDOMNodeId) => {
209
+ const ref = nextRef++;
210
+ if (backendDOMNodeId !== undefined) {
211
+ refs.push({ ref, backendDOMNodeId });
212
+ }
213
+ return ref;
214
+ },
215
+ pushLine: (line) => lines.push(line),
216
+ });
123
217
  }
124
- walk(rootNodeId, 0, 0);
218
+ const displayLines = maxLines !== undefined && lines.length > maxLines
219
+ ? [...lines.slice(0, maxLines - 1), `… ${lines.length - (maxLines - 1)} more nodes`]
220
+ : lines;
125
221
  return {
126
- text: lines.join('\n') || '(no matching elements)',
222
+ text: displayLines.join('\n') || '(no matching elements)',
127
223
  refs,
128
224
  nextRef,
129
225
  };
130
226
  }
227
+ function walkCompact(nodeId, indent, chain, chainIndent, ctx, sink) {
228
+ if (indent > HARD_MAX_DEPTH)
229
+ return;
230
+ if (ctx.maxDepth !== undefined && indent > ctx.maxDepth)
231
+ return;
232
+ const node = ctx.nodeMap.get(nodeId);
233
+ if (!node)
234
+ return;
235
+ const role = node.role?.value ?? '';
236
+ const ownName = node.name?.value ?? '';
237
+ const fallbackName = !ownName ? resolveNameFromChildren(node, ctx.nodeMap) : '';
238
+ const name = ownName || fallbackName;
239
+ if (ALWAYS_SKIP_ROLES.has(role))
240
+ return;
241
+ const skip = SKIP_WHEN_EMPTY_ROLES.has(role) && !name;
242
+ if (skip) {
243
+ if (node.childIds) {
244
+ for (const childId of node.childIds) {
245
+ walkCompact(childId, indent, chain, chainIndent, ctx, sink);
246
+ }
247
+ }
248
+ return;
249
+ }
250
+ if (!nodePassesFilter(node, name, role, ctx))
251
+ return;
252
+ const ref = sink.allocRef(node.backendDOMNodeId);
253
+ const effChildren = effectiveChildren(node, ctx.nodeMap);
254
+ const isSingleChild = effChildren.length === 1;
255
+ if (isSingleChild && !ownName) {
256
+ walkCompact(effChildren[0], indent + 1, [...chain, role], chainIndent, ctx, sink);
257
+ return;
258
+ }
259
+ const isFallback = !ownName && !!fallbackName;
260
+ const nameStr = name ? ` "${name}"${isFallback ? ' [fallback]' : ''}` : '';
261
+ const padding = ' '.repeat(chainIndent);
262
+ const chainPrefix = chain.length > 0 ? `${chain.join(' > ')} > ` : '';
263
+ sink.pushLine(`${padding}${chainPrefix}${role}${nameStr} [ref=${ref}]`);
264
+ if (node.childIds) {
265
+ for (const childId of node.childIds) {
266
+ walkCompact(childId, indent + 1, [], chainIndent + 1, ctx, sink);
267
+ }
268
+ }
269
+ }
270
+ export function countAccessibilityNodes(nodes, options = {}) {
271
+ const nodeMap = new Map();
272
+ for (const node of nodes) {
273
+ nodeMap.set(node.nodeId, node);
274
+ }
275
+ const rootNodeId = nodes[0]?.nodeId;
276
+ if (!rootNodeId)
277
+ return { count: 0 };
278
+ const ctx = { nodeMap, lowerFilter: options.filter?.toLowerCase(), maxDepth: options.depth };
279
+ let count = 0;
280
+ walkVisibleNodes(rootNodeId, 0, ctx, () => { count++; });
281
+ return { count };
282
+ }
131
283
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inspectors/dom/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inspectors/dom/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAYvG;AA+BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAInE"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAevG;AA6ED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAInE"}
@@ -7,27 +7,75 @@ export function formatNode(node, depth, lines, options) {
7
7
  const lowerFilter = options.filter?.toLowerCase();
8
8
  if (lowerFilter && !subtreeMatches(node, lowerFilter))
9
9
  return;
10
- lines.push(formatLine(node, depth, options));
11
- for (const child of node.children ?? []) {
12
- formatNode(child, depth + 1, lines, options);
10
+ if (options.compact) {
11
+ formatNodeCompact(node, depth, lines, options);
12
+ }
13
+ else {
14
+ lines.push(formatLine(node, depth, options));
15
+ for (const child of node.children ?? []) {
16
+ formatNode(child, depth + 1, lines, options);
17
+ }
13
18
  }
14
19
  }
15
- function formatLine(node, depth, options) {
20
+ /**
21
+ * Compact mode: merge single-child chains onto one line separated by " > ".
22
+ * Multi-child nodes render normally (each child on its own line).
23
+ */
24
+ function formatNodeCompact(node, depth, lines, options) {
25
+ const chain = collectSingleChildChain(node, options);
26
+ const tail = chain[chain.length - 1];
27
+ const tailChildren = tail.children ?? [];
28
+ const chainParts = chain.map(n => nodeLabel(n, options));
16
29
  const indent = ' '.repeat(depth);
30
+ lines.push(`${indent}${chainParts.join(' > ')}`);
31
+ for (const child of tailChildren) {
32
+ formatNodeCompact(child, depth + 1, lines, options);
33
+ }
34
+ }
35
+ /**
36
+ * Walk down while the current node has exactly one child (and that child
37
+ * passes the depth limit). Returns every node in the single-child chain,
38
+ * including the node that breaks the pattern (0 or 2+ children).
39
+ */
40
+ function collectSingleChildChain(node, options) {
41
+ const chain = [node];
42
+ let current = node;
43
+ while (true) {
44
+ const children = current.children ?? [];
45
+ if (children.length !== 1)
46
+ break;
47
+ const next = children[0];
48
+ if (options.depth !== undefined) {
49
+ // depth limit: stop chaining if we'd exceed it
50
+ const nextDepth = chain.length; // relative depth from start of chain
51
+ if (nextDepth > options.depth)
52
+ break;
53
+ }
54
+ chain.push(next);
55
+ current = next;
56
+ }
57
+ return chain;
58
+ }
59
+ /** Single-node label without indent — used inside compact chains. */
60
+ function nodeLabel(node, options) {
17
61
  const vis = node.visible ? '' : ' [hidden]';
18
62
  const nameStr = node.name ? ` "${node.name}"` : '';
19
- let line = `${indent}${node.type}${nameStr} (${node.x},${node.y})${vis}`;
63
+ let label = `${node.type}${nameStr} (${node.x},${node.y})${vis}`;
20
64
  if (node.extras) {
21
65
  for (const [key, value] of Object.entries(node.extras)) {
22
- line += ` ${key}=${value}`;
66
+ label += ` ${key}=${value}`;
23
67
  }
24
68
  }
25
69
  if (options.verbose && node.verboseExtras) {
26
70
  for (const [key, value] of Object.entries(node.verboseExtras)) {
27
- line += ` ${key}=${value}`;
71
+ label += ` ${key}=${value}`;
28
72
  }
29
73
  }
30
- return line;
74
+ return label;
75
+ }
76
+ function formatLine(node, depth, options) {
77
+ const indent = ' '.repeat(depth);
78
+ return `${indent}${nodeLabel(node, options)}`;
31
79
  }
32
80
  function subtreeMatches(node, lowerFilter) {
33
81
  if (node.name.toLowerCase().includes(lowerFilter) ||
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/inspectors/scene/formatter.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B,MAAM,UAAU,UAAU,CAAC,IAAe,EAAE,KAAa,EAAE,KAAe,EAAE,OAAqB;IAC/F,IAAI,KAAK,GAAG,cAAc;QAAE,OAAM;IAClC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK;QAAE,OAAM;IAEhE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IACjD,IAAI,WAAW,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAM;IAE7D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAe,EAAE,KAAa,EAAE,OAAqB;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,IAAI,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAExE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,cAAc,CAAC,IAAe,EAAE,WAAmB;IAC1D,IACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAe,EAAE,IAAe;IACzD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IAChC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,IAAe,EAAE,KAAa,EAAE,OAAiB;IAClF,IAAI,KAAK,GAAG,cAAc;QAAE,OAAM;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IAChE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAE7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,IAAe,EAAE,IAAe,EAAE,KAAe;IACnE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAe;IAClC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAA;AAClE,CAAC;AAED,SAAS,YAAY,CACnB,IAAe,EACf,IAAe,EACf,KAAa,EACb,OAAiB,EACjB,MAAc;IAEd,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3G,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3G,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,KAAa;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAA;AAC1E,CAAC"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/inspectors/scene/formatter.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export type SceneOptions = {
13
13
  filter?: string;
14
14
  depth?: number;
15
15
  verbose?: boolean;
16
+ compact?: boolean;
16
17
  };
17
18
  export type SceneDiffResult = {
18
19
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAC1C,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inspectors/scene/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAC1C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { type JsonPatchOp } from './types.js';
2
+ export { StopReason, WATCH_SIZE_CAP_BYTES, WATCH_MAX_CONSECUTIVE_ERRORS, WATCH_MIN_INTERVAL_MS, WatchSizeCapError } from './types.js';
3
+ export type { WatchFrame, WatchInitFrame, WatchDiffFrame, WatchErrorFrame, WatchStopFrame, WatchOptions, JsonPatchOp } from './types.js';
4
+ /**
5
+ * Browser-side wrapper. Deep-clones via JSON to surface non-cloneable values as a stable error shape.
6
+ */
7
+ export declare function buildCaptureWrapper(userExpression: string): string;
8
+ export type CapturedValue = {
9
+ kind: 'value';
10
+ value: unknown;
11
+ } | {
12
+ kind: 'error';
13
+ message: string;
14
+ };
15
+ export declare function readCapture(raw: unknown): CapturedValue;
16
+ export declare function checkSizeCap(value: unknown): number;
17
+ export declare function diff(prev: unknown, next: unknown): JsonPatchOp[];
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inspectors/watch/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAEtF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACrI,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExI;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAMvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKnD;AAMD,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,CAUhE"}
@@ -0,0 +1,39 @@
1
+ import jsonpatch from 'fast-json-patch';
2
+ import { WATCH_SIZE_CAP_BYTES, WatchSizeCapError } from './types.js';
3
+ export { StopReason, WATCH_SIZE_CAP_BYTES, WATCH_MAX_CONSECUTIVE_ERRORS, WATCH_MIN_INTERVAL_MS, WatchSizeCapError } from './types.js';
4
+ /**
5
+ * Browser-side wrapper. Deep-clones via JSON to surface non-cloneable values as a stable error shape.
6
+ */
7
+ export function buildCaptureWrapper(userExpression) {
8
+ return `(function(){try{return JSON.parse(JSON.stringify((${userExpression})))}catch(e){return {__watchError: e && e.message ? String(e.message) : String(e)}}})()`;
9
+ }
10
+ export function readCapture(raw) {
11
+ if (raw && typeof raw === 'object' && '__watchError' in raw) {
12
+ const msg = raw.__watchError;
13
+ return { kind: 'error', message: typeof msg === 'string' ? msg : String(msg) };
14
+ }
15
+ return { kind: 'value', value: raw };
16
+ }
17
+ export function checkSizeCap(value) {
18
+ const json = JSON.stringify(value) ?? 'undefined';
19
+ const bytes = Buffer.byteLength(json, 'utf8');
20
+ if (bytes > WATCH_SIZE_CAP_BYTES)
21
+ throw new WatchSizeCapError(bytes);
22
+ return bytes;
23
+ }
24
+ function isObjectOrArray(v) {
25
+ return v !== null && typeof v === 'object';
26
+ }
27
+ export function diff(prev, next) {
28
+ // fast-json-patch.compare only supports Object|Array roots. Handle primitives + type changes ourselves.
29
+ if (!isObjectOrArray(prev) || !isObjectOrArray(next)) {
30
+ if (prev === next)
31
+ return [];
32
+ return [{ op: 'replace', path: '', value: next }];
33
+ }
34
+ if (Array.isArray(prev) !== Array.isArray(next)) {
35
+ return [{ op: 'replace', path: '', value: next }];
36
+ }
37
+ return jsonpatch.compare(prev, next);
38
+ }
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inspectors/watch/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAA;AAEtF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGrI;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAsB;IACxD,OAAO,qDAAqD,cAAc,yFAAyF,CAAA;AACrK,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAI,GAAiC,CAAC,YAAY,CAAA;QAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IAChF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAA;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7C,IAAI,KAAK,GAAG,oBAAoB;QAAE,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACpE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CAAC,CAAU;IACjC,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,IAAa;IAC/C,wGAAwG;IACxG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC5B,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAkB,CAAA;AACvD,CAAC"}