tauri-agent-tools 0.9.2 → 0.9.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 (110) hide show
  1. package/.agents/skills/tauri-agent-tools/SKILL.md +25 -11
  2. package/.agents/skills/tauri-bridge-setup/SKILL.md +4 -3
  3. package/.agents/skills/tauri-debug-quickstart/SKILL.md +3 -1
  4. package/AGENTS.md +7 -3
  5. package/README.md +31 -12
  6. package/dist/bridge/client.d.ts +1 -0
  7. package/dist/bridge/client.js +2 -0
  8. package/dist/bridge/client.js.map +1 -1
  9. package/dist/bridge/evaluate.d.ts +11 -0
  10. package/dist/bridge/evaluate.js +33 -0
  11. package/dist/bridge/evaluate.js.map +1 -0
  12. package/dist/bridge/logReader.d.ts +27 -0
  13. package/dist/bridge/logReader.js +26 -0
  14. package/dist/bridge/logReader.js.map +1 -0
  15. package/dist/bridge/observers.d.ts +11 -0
  16. package/dist/bridge/observers.js +195 -0
  17. package/dist/bridge/observers.js.map +1 -0
  18. package/dist/cli.js +28 -8
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/bundle.js +122 -101
  21. package/dist/commands/bundle.js.map +1 -1
  22. package/dist/commands/capture.d.ts +3 -3
  23. package/dist/commands/capture.js +167 -141
  24. package/dist/commands/capture.js.map +1 -1
  25. package/dist/commands/check.js +44 -59
  26. package/dist/commands/check.js.map +1 -1
  27. package/dist/commands/consoleMonitor.js +18 -85
  28. package/dist/commands/consoleMonitor.js.map +1 -1
  29. package/dist/commands/diagnose.js +4 -32
  30. package/dist/commands/diagnose.js.map +1 -1
  31. package/dist/commands/diff.js +28 -38
  32. package/dist/commands/diff.js.map +1 -1
  33. package/dist/commands/dom.js +2 -2
  34. package/dist/commands/dom.js.map +1 -1
  35. package/dist/commands/eval.js +11 -1
  36. package/dist/commands/eval.js.map +1 -1
  37. package/dist/commands/forensics.js +1 -7
  38. package/dist/commands/forensics.js.map +1 -1
  39. package/dist/commands/info.d.ts +2 -2
  40. package/dist/commands/info.js +3 -1
  41. package/dist/commands/info.js.map +1 -1
  42. package/dist/commands/interact/click.js +14 -44
  43. package/dist/commands/interact/click.js.map +1 -1
  44. package/dist/commands/interact/scroll.js +6 -0
  45. package/dist/commands/interact/scroll.js.map +1 -1
  46. package/dist/commands/ipcMonitor.d.ts +3 -3
  47. package/dist/commands/ipcMonitor.js +26 -96
  48. package/dist/commands/ipcMonitor.js.map +1 -1
  49. package/dist/commands/listWindows.d.ts +2 -2
  50. package/dist/commands/listWindows.js.map +1 -1
  51. package/dist/commands/logs.d.ts +4 -27
  52. package/dist/commands/logs.js +12 -41
  53. package/dist/commands/logs.js.map +1 -1
  54. package/dist/commands/mutations.js +20 -101
  55. package/dist/commands/mutations.js.map +1 -1
  56. package/dist/commands/osLogs.js +2 -5
  57. package/dist/commands/osLogs.js.map +1 -1
  58. package/dist/commands/probe.js +18 -16
  59. package/dist/commands/probe.js.map +1 -1
  60. package/dist/commands/rustLogs.js +23 -43
  61. package/dist/commands/rustLogs.js.map +1 -1
  62. package/dist/commands/screenshot.d.ts +2 -2
  63. package/dist/commands/screenshot.js +7 -4
  64. package/dist/commands/screenshot.js.map +1 -1
  65. package/dist/commands/shared.d.ts +4 -1
  66. package/dist/commands/shared.js +34 -4
  67. package/dist/commands/shared.js.map +1 -1
  68. package/dist/commands/sidecarReplay.js +4 -0
  69. package/dist/commands/sidecarReplay.js.map +1 -1
  70. package/dist/commands/snapshot.d.ts +2 -2
  71. package/dist/commands/snapshot.js +4 -4
  72. package/dist/commands/snapshot.js.map +1 -1
  73. package/dist/commands/storeInspect.js +2 -2
  74. package/dist/commands/storeInspect.js.map +1 -1
  75. package/dist/commands/wait.d.ts +2 -2
  76. package/dist/commands/wait.js +42 -57
  77. package/dist/commands/wait.js.map +1 -1
  78. package/dist/errors.d.ts +10 -0
  79. package/dist/errors.js +26 -0
  80. package/dist/errors.js.map +1 -0
  81. package/dist/platform/detect.d.ts +2 -2
  82. package/dist/platform/detect.js +11 -2
  83. package/dist/platform/detect.js.map +1 -1
  84. package/dist/platform/x11.d.ts +1 -0
  85. package/dist/platform/x11.js +16 -5
  86. package/dist/platform/x11.js.map +1 -1
  87. package/dist/schemas/commands.d.ts +6 -0
  88. package/dist/schemas/commands.js +2 -0
  89. package/dist/schemas/commands.js.map +1 -1
  90. package/dist/types.d.ts +2 -0
  91. package/dist/util/exec.d.ts +6 -0
  92. package/dist/util/exec.js +13 -1
  93. package/dist/util/exec.js.map +1 -1
  94. package/dist/util/incidentFiles.d.ts +5 -0
  95. package/dist/util/incidentFiles.js +61 -0
  96. package/dist/util/incidentFiles.js.map +1 -0
  97. package/dist/util/monitor.d.ts +11 -0
  98. package/dist/util/monitor.js +42 -0
  99. package/dist/util/monitor.js.map +1 -0
  100. package/dist/util/poll.d.ts +2 -0
  101. package/dist/util/poll.js +28 -0
  102. package/dist/util/poll.js.map +1 -0
  103. package/dist/util/redactText.d.ts +5 -2
  104. package/dist/util/redactText.js +44 -11
  105. package/dist/util/redactText.js.map +1 -1
  106. package/dist/util/tauriConfig.js +15 -18
  107. package/dist/util/tauriConfig.js.map +1 -1
  108. package/examples/tauri-bridge/Cargo.lock +4742 -0
  109. package/package.json +7 -3
  110. package/rust-bridge/README.md +7 -1
@@ -0,0 +1,195 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ // Keep observation bounded and serializable without changing app values.
4
+ const SERIALIZE = `
5
+ function snapshot(value) {
6
+ var seen = new WeakSet();
7
+ var count = 0;
8
+ var remaining = 32000;
9
+ function visit(item, depth) {
10
+ if (++count > 2000 || depth > 10 || remaining <= 0) return '[Truncated]';
11
+ if (typeof item === 'bigint' || typeof item === 'symbol' || typeof item === 'function') return visit(String(item), depth);
12
+ if (typeof item === 'string') {
13
+ var text = item.slice(0, Math.min(16000, remaining));
14
+ remaining -= text.length;
15
+ return text;
16
+ }
17
+ if (!item || typeof item !== 'object') return item === undefined ? null : item;
18
+ if (seen.has(item)) return '[Circular]';
19
+ seen.add(item);
20
+ if (item instanceof Error) return visit({ name: item.name, message: item.message, stack: item.stack }, depth + 1);
21
+ var result = Array.isArray(item) ? [] : Object.create(null);
22
+ var keys = Object.keys(item);
23
+ for (var i = 0; i < keys.length; i++) {
24
+ if (i >= 200 || count >= 2000 || remaining <= 0) {
25
+ if (Array.isArray(result)) result.push('[Truncated]');
26
+ else result['[Truncated]'] = true;
27
+ break;
28
+ }
29
+ var key = keys[i];
30
+ remaining -= key.length;
31
+ var descriptor = Object.getOwnPropertyDescriptor(item, key);
32
+ // Observing a value must not invoke its getters or custom toJSON.
33
+ result[key.slice(0, 1000)] = descriptor && 'value' in descriptor ? visit(descriptor.value, depth + 1) : '[Getter]';
34
+ }
35
+ return result;
36
+ }
37
+ try { return visit(value, 0); }
38
+ catch (_) { return '[Unserializable]'; }
39
+ }
40
+ function push(session, entry) {
41
+ if (session.entries.length >= 1000) { session.entries.shift(); session.dropped++; }
42
+ session.entries.push(entry);
43
+ }
44
+ `;
45
+ function sharedScripts(key, id, install) {
46
+ const registryKey = JSON.stringify(key);
47
+ const sessionId = JSON.stringify(id);
48
+ return {
49
+ patch: `(() => {
50
+ ${SERIALIZE}
51
+ var registry = window[${registryKey}];
52
+ if (!registry) {
53
+ registry = { sessions: new Map(), restore: function() {} };
54
+ ${install}
55
+ window[${registryKey}] = registry;
56
+ }
57
+ if (registry.sessions.has(${sessionId})) return 'already_patched';
58
+ registry.sessions.set(${sessionId}, { entries: [], dropped: 0 });
59
+ return 'patched';
60
+ })()`,
61
+ drain: `(() => {
62
+ var registry = window[${registryKey}];
63
+ var session = registry && registry.sessions.get(${sessionId});
64
+ if (!session) throw new Error('Observer session ended or the page navigated');
65
+ var batch = { entries: session.entries.splice(0), dropped: session.dropped };
66
+ session.dropped = 0;
67
+ return JSON.stringify(batch);
68
+ })()`,
69
+ cleanup: `(() => {
70
+ var registry = window[${registryKey}];
71
+ if (registry) {
72
+ registry.sessions.delete(${sessionId});
73
+ if (!registry.sessions.size) {
74
+ registry.restore();
75
+ if (window[${registryKey}] === registry) delete window[${registryKey}];
76
+ }
77
+ }
78
+ return 'cleaned';
79
+ })()`,
80
+ };
81
+ }
82
+ export function consoleObserver(id = randomUUID()) {
83
+ return sharedScripts('__tauriAgentConsole', id, `
84
+ var originals = {}, wrappers = {};
85
+ ['log', 'warn', 'error', 'info', 'debug'].forEach(function(level) {
86
+ var original = console[level];
87
+ originals[level] = original;
88
+ var wrapper = function() {
89
+ var result = original.apply(this, arguments);
90
+ try {
91
+ var message = Array.from(arguments).map(function(arg) {
92
+ return typeof arg === 'object' ? JSON.stringify(snapshot(arg)) : String(arg);
93
+ }).join(' ').slice(0, 16000);
94
+ var entry = { level: level, message: message, timestamp: Date.now() };
95
+ registry.sessions.forEach(function(session) { push(session, entry); });
96
+ } catch (_) { /* Instrumentation must never throw into the app. */ }
97
+ return result;
98
+ };
99
+ wrappers[level] = wrapper;
100
+ console[level] = wrapper;
101
+ });
102
+ registry.restore = function() {
103
+ Object.keys(originals).forEach(function(level) {
104
+ if (console[level] === wrappers[level]) console[level] = originals[level];
105
+ });
106
+ };
107
+ `);
108
+ }
109
+ export function ipcObserver(id = randomUUID()) {
110
+ return sharedScripts('__tauriAgentIpc', id, `
111
+ var owner = window.__TAURI_INTERNALS__;
112
+ if (!owner || typeof owner.invoke !== 'function') owner = window.__TAURI__ && window.__TAURI__.core;
113
+ if (!owner || typeof owner.invoke !== 'function') return 'no_tauri';
114
+ var original = owner.invoke;
115
+ var wrapper = function(cmd, args, options) {
116
+ // This also keeps the callback captured before cleanup usable afterward.
117
+ if (cmd === '__dev_bridge_result') return original.call(this, cmd, args, options);
118
+ var start = performance.now();
119
+ var recipients = Array.from(registry.sessions.values());
120
+ var entry = { command: cmd, args: snapshot(args || {}), timestamp: Date.now() };
121
+ function record(result, failed) {
122
+ try {
123
+ entry.duration = Math.round(performance.now() - start);
124
+ if (failed) entry.error = result && result.message ? String(result.message) : String(result);
125
+ else entry.result = snapshot(result);
126
+ recipients.forEach(function(session) {
127
+ // A settled call cannot resurrect a collector that already closed.
128
+ if (Array.from(registry.sessions.values()).includes(session)) push(session, entry);
129
+ });
130
+ } catch (_) { /* Keep the original command's outcome. */ }
131
+ }
132
+ var promise;
133
+ try { promise = original.call(this, cmd, args, options); }
134
+ catch (error) { record(error, true); throw error; }
135
+ return promise.then(function(result) { record(result, false); return result; },
136
+ function(error) { record(error, true); throw error; });
137
+ };
138
+ owner.invoke = wrapper;
139
+ registry.restore = function() { if (owner.invoke === wrapper) owner.invoke = original; };
140
+ `);
141
+ }
142
+ export function mutationObserver(selector, attributes, id = randomUUID()) {
143
+ // An independent observer per selector/session avoids mixing different roots.
144
+ const key = `__tauriAgentMutations_${id}`;
145
+ return sharedScripts(key, id, `
146
+ var target = document.querySelector(${JSON.stringify(selector)});
147
+ if (!target) return 'not_found';
148
+ function describe(el) {
149
+ if (!el || el.nodeType !== 1) return null;
150
+ var value = { tag: el.tagName.toLowerCase() };
151
+ if (el.id) value.id = el.id;
152
+ if (el.classList.length) value.class = Array.from(el.classList).join(' ');
153
+ return value;
154
+ }
155
+ var observer = new MutationObserver(function(records) {
156
+ try {
157
+ records.forEach(function(record) {
158
+ var target = record.target;
159
+ var entry = { type: record.type, timestamp: Date.now(),
160
+ target: target.id ? '#' + target.id : target.tagName ? target.tagName.toLowerCase() : '?' };
161
+ if (record.type === 'childList') {
162
+ entry.added = Array.from(record.addedNodes).map(describe).filter(Boolean);
163
+ entry.removed = Array.from(record.removedNodes).map(describe).filter(Boolean);
164
+ } else if (record.type === 'attributes') {
165
+ entry.attribute = record.attributeName;
166
+ entry.oldValue = record.oldValue;
167
+ entry.newValue = target.getAttribute(record.attributeName);
168
+ }
169
+ registry.sessions.forEach(function(session) { push(session, snapshot(entry)); });
170
+ });
171
+ } catch (_) { /* Keep application mutation delivery unaffected. */ }
172
+ });
173
+ observer.observe(target, { childList: true, subtree: true, attributes: ${attributes}, attributeOldValue: ${attributes} });
174
+ registry.restore = function() { observer.disconnect(); };
175
+ `);
176
+ }
177
+ const BatchSchema = z.object({ entries: z.array(z.unknown()), dropped: z.number().int().nonnegative() });
178
+ export async function readObserver(bridge, scripts, warn = console.error) {
179
+ const raw = await bridge.eval(scripts.drain);
180
+ const batch = BatchSchema.parse(JSON.parse(String(raw)));
181
+ if (batch.dropped)
182
+ warn(`warning: observer dropped ${batch.dropped} buffered entries`);
183
+ return batch.entries;
184
+ }
185
+ export async function closeObserver(bridge, scripts, warn = console.error) {
186
+ try {
187
+ const result = await bridge.eval(scripts.cleanup);
188
+ if (result !== 'cleaned')
189
+ throw new Error(String(result));
190
+ }
191
+ catch (error) {
192
+ warn(`warning: observer cleanup failed: ${error instanceof Error ? error.message : String(error)}`);
193
+ }
194
+ }
195
+ //# sourceMappingURL=observers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/bridge/observers.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -2,13 +2,14 @@
2
2
  import { readFileSync } from 'fs';
3
3
  import { fileURLToPath } from 'url';
4
4
  import { dirname, resolve } from 'path';
5
- import { Command } from 'commander';
5
+ import { Command, CommanderError } from 'commander';
6
6
  import { detectDisplayServer, ensureTools } from './platform/detect.js';
7
7
  import { PackageJsonSchema } from './schemas/commands.js';
8
8
  import { X11Adapter } from './platform/x11.js';
9
9
  import { WaylandAdapter } from './platform/wayland.js';
10
10
  import { HyprlandAdapter } from './platform/hyprland.js';
11
11
  import { MacOSAdapter } from './platform/macos.js';
12
+ import { errorDetail } from './errors.js';
12
13
  import { registerScreenshot } from './commands/screenshot.js';
13
14
  import { registerInfo } from './commands/info.js';
14
15
  import { registerDom } from './commands/dom.js';
@@ -53,15 +54,16 @@ const program = new Command()
53
54
  .name('tauri-agent-tools')
54
55
  .description('Agent-driven inspection toolkit for Tauri desktop apps')
55
56
  .version(pkg.version);
56
- let checkedTools = null;
57
- async function getAdapter() {
57
+ const checkedTools = new Set();
58
+ async function getAdapter(operation = 'inspect') {
58
59
  const ds = detectDisplayServer();
59
60
  if (ds === 'unknown') {
60
- throw new Error('Could not detect display server. Set DISPLAY (X11) or WAYLAND_DISPLAY (Wayland).');
61
+ throw new Error(process.platform === 'win32' ? 'Native window inspection is supported on macOS and Linux. Bridge and bridge-free diagnostic commands remain available.' : 'Could not detect display server. Set DISPLAY (X11) or WAYLAND_DISPLAY (Wayland).');
61
62
  }
62
- if (checkedTools !== ds) {
63
- await ensureTools(ds);
64
- checkedTools = ds;
63
+ const key = `${ds}:${operation}`;
64
+ if (!checkedTools.has(key)) {
65
+ await ensureTools(ds, operation);
66
+ checkedTools.add(key);
65
67
  }
66
68
  if (ds === 'darwin')
67
69
  return new MacOSAdapter();
@@ -112,8 +114,26 @@ registerHealth(program);
112
114
  // ── Tier 3: super-commands (compose Tier 1 + Tier 2) ─────────────────────────
113
115
  registerDiagnose(program);
114
116
  registerBundle(program);
117
+ const args = process.argv.slice(2);
118
+ const endOfOptions = args.indexOf('--');
119
+ const jsonRequested = (endOfOptions === -1 ? args : args.slice(0, endOfOptions)).includes('--json');
120
+ function configureErrors(command) {
121
+ command.exitOverride();
122
+ command.configureOutput({ writeErr: message => { if (!jsonRequested)
123
+ process.stderr.write(message); } });
124
+ command.commands.forEach(configureErrors);
125
+ }
126
+ configureErrors(program);
115
127
  program.parseAsync().catch((err) => {
116
- console.error(err instanceof Error ? err.message : String(err));
128
+ if (err instanceof CommanderError && err.exitCode === 0)
129
+ return;
130
+ const detail = err instanceof CommanderError
131
+ ? { code: 'INVALID_ARGUMENT', message: err.message, hint: 'Use this command with --help for supported options.' }
132
+ : errorDetail(err);
133
+ if (jsonRequested)
134
+ console.error(JSON.stringify({ error: detail }));
135
+ else if (!(err instanceof CommanderError))
136
+ console.error(`${detail.message}\nHint: ${detail.hint}`);
117
137
  process.exitCode = 1;
118
138
  });
119
139
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { Command } from 'commander';
2
2
  import { spawn } from 'node:child_process';
3
- import { mkdir, writeFile } from 'node:fs/promises';
4
- import { join } from 'node:path';
3
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { basename, dirname, join, relative, resolve } from 'node:path';
5
6
  import { addBridgeOptions } from './shared.js';
6
7
  import { exec } from '../util/exec.js';
7
- import { redactDir } from '../util/redactText.js';
8
+ import { redactDir, redactJson, redactText, scanResidualSecrets } from '../util/redactText.js';
9
+ import { artifactFiles, publishArtifacts, publishFile } from '../util/incidentFiles.js';
10
+ import { CliError } from '../errors.js';
8
11
  export function registerBundle(program) {
9
12
  const cmd = new Command('bundle')
10
13
  .description('Collect a shareable incident bundle: merged logs, deep process tree, app paths, forensics ' +
@@ -19,92 +22,99 @@ export function registerBundle(program) {
19
22
  addBridgeOptions(cmd);
20
23
  cmd.action(async (opts) => {
21
24
  const outDir = opts.out ?? `./bundle-${timestampSlug()}`;
22
- await mkdir(outDir, { recursive: true });
23
- const outcomes = [];
24
- // ── Merged logs (bridge-optional + on-disk files) ───────────────────────
25
- {
26
- const args = ['logs', '--json'];
27
- if (opts.config)
28
- args.push('--config', opts.config);
29
- if (opts.identifier)
30
- args.push('--identifier', opts.identifier);
31
- forwardBridge(args, opts);
32
- outcomes.push(await runCapturingStdout(args, join(outDir, 'logs.ndjson')));
33
- }
34
- // ── Deep OS process tree ────────────────────────────────────────────────
35
- {
36
- const args = ['process-tree', '--deep', '--json'];
37
- forwardBridge(args, opts);
38
- outcomes.push(await runCapturingStdout(args, join(outDir, 'process-tree.json')));
39
- }
40
- // ── App paths ───────────────────────────────────────────────────────────
41
- {
42
- const args = ['app-paths', '--platform', 'all', '--exists', '--json'];
43
- if (opts.config)
44
- args.push('--config', opts.config);
45
- if (opts.identifier)
46
- args.push('--identifier', opts.identifier);
47
- outcomes.push(await runCapturingStdout(args, join(outDir, 'app-paths.json')));
48
- }
49
- // ── Forensics bundle (bridge-free; works on a dead app) ─────────────────
50
- {
51
- const args = ['forensics', '-o', join(outDir, 'forensics')];
52
- if (opts.config)
53
- args.push('--config', opts.config);
54
- if (opts.identifier)
55
- args.push('--identifier', opts.identifier);
25
+ const output = resolve(outDir);
26
+ if (dirname(output) === output)
27
+ throw new Error('Choose an output directory below the filesystem root.');
28
+ const stage = await mkdtemp(join(tmpdir(), 'tauri-bundle-'));
29
+ const collected = join(stage, basename(output));
30
+ try {
31
+ await mkdir(collected);
32
+ const outcomes = [];
33
+ const targeting = (args) => { forwardBridge(args, opts); return args; };
34
+ const project = (args) => {
35
+ if (opts.config)
36
+ args.push('--config', opts.config);
37
+ if (opts.identifier)
38
+ args.push('--identifier', opts.identifier);
39
+ return args;
40
+ };
41
+ outcomes.push(await runCapturingStdout(targeting(project(['logs', '--json'])), join(collected, 'logs.ndjson')));
42
+ outcomes.push(await runCapturingStdout(targeting(['process-tree', '--deep', '--json']), join(collected, 'process-tree.json')));
43
+ outcomes.push(await runCapturingStdout(project(['app-paths', '--platform', 'all', '--exists', '--json']), join(collected, 'app-paths.json')));
44
+ const forensicArgs = project(['forensics', '-o', join(collected, 'forensics')]);
56
45
  if (opts.since)
57
- args.push('--since', opts.since);
58
- outcomes.push(await runToDir('forensics', args));
59
- }
60
- // ── Optional UI capture (needs a live bridge + screenshot tools) ────────
61
- if (opts.withCapture) {
62
- const args = ['capture', '-o', join(outDir, 'capture'), '--json'];
63
- forwardBridge(args, opts);
64
- outcomes.push(await runToDir('capture', args));
65
- }
66
- // ── Redact obvious secrets across all collected text files ──────────────
67
- const redacted = await redactDir(outDir);
68
- outcomes.push({
69
- phase: 'redact',
70
- ok: redacted.failures.length === 0,
71
- detail: `redacted ${redacted.redactions} value(s), ${redacted.warnings.length} warning(s), ${redacted.failures.length} failure(s)`,
72
- });
73
- // ── Summary ─────────────────────────────────────────────────────────────
74
- const summary = {
75
- outDir,
76
- createdPhases: outcomes,
77
- ok: outcomes.filter((o) => o.ok).length,
78
- total: outcomes.length,
79
- };
80
- await writeFile(join(outDir, 'summary.json'), JSON.stringify(summary, null, 2));
81
- await writeFile(join(outDir, 'summary.md'), renderSummary(outDir, outcomes));
82
- // ── Archive ─────────────────────────────────────────────────────────────
83
- let archivePath = null;
84
- if (opts.archive !== false) {
85
- archivePath = `${outDir.replace(/\/+$/, '')}.tar.gz`;
86
- try {
87
- await exec('tar', ['-czf', archivePath, '-C', dirnameOf(outDir), basenameOf(outDir)]);
46
+ forensicArgs.push('--since', opts.since);
47
+ outcomes.push(await runToDir('forensics', forensicArgs));
48
+ if (opts.withCapture) {
49
+ outcomes.push(await runToDir('capture', targeting(['capture', '-o', join(collected, 'capture'), '--json'])));
50
+ }
51
+ const redacted = await redactDir(collected, { verify: true, relativeTo: collected });
52
+ const warnings = redacted.warnings.map(issue => ({ ...issue, path: relative(collected, issue.path) }));
53
+ if (redacted.failures.length) {
54
+ const details = redacted.failures.map(issue => `${relative(collected, issue.path)} (${issue.reason})`).join(', ');
55
+ throw new CliError('REDACTION_FAILED', `Bundle was not published: ${details}`, 'Resolve the listed redaction failures before generating a shareable bundle.');
56
+ }
57
+ outcomes.push({ phase: 'redact', ok: true,
58
+ detail: `redacted ${redacted.redactions} value(s), ${warnings.length} warning(s), 0 failure(s)` });
59
+ const artifacts = [...await artifactFiles(collected), 'summary.json', 'summary.md'].sort();
60
+ let archivePath = opts.archive === false ? null : `${output}.tar.gz`;
61
+ if (archivePath)
88
62
  outcomes.push({ phase: 'archive', ok: true, detail: `→ ${archivePath}` });
63
+ const writeSummary = async () => {
64
+ const normalized = outcomes.map(o => ({ ...o, detail: o.detail.split(collected).join('.') }));
65
+ const summary = redactJson({ outDir, createdPhases: normalized,
66
+ ok: normalized.filter(o => o.ok).length, total: normalized.length,
67
+ partial: normalized.some(o => !o.ok), warnings, artifacts, archive: archivePath });
68
+ const json = JSON.stringify(summary, null, 2);
69
+ const markdown = redactText(renderSummary(outDir, normalized) +
70
+ (warnings.length ? '\n## Warnings\n\n' + warnings.map(w => `- ${w.path}: ${w.reason}`).join('\n') + '\n' : ''));
71
+ if (scanResidualSecrets(json, 'summary.json').length || scanResidualSecrets(markdown, 'summary.md').length) {
72
+ throw new CliError('REDACTION_FAILED', 'Bundle summary contains a possible credential', 'Remove credentials from output paths and retry.');
73
+ }
74
+ await writeFile(join(collected, 'summary.json'), json);
75
+ await writeFile(join(collected, 'summary.md'), markdown);
76
+ return summary;
77
+ };
78
+ let summary = await writeSummary();
79
+ const stagedArchive = join(stage, 'archive.tar.gz');
80
+ if (archivePath) {
81
+ try {
82
+ const metadataFlags = process.platform === 'darwin' ? ['--no-mac-metadata'] : [];
83
+ await exec('tar', [...metadataFlags, '-czf', stagedArchive, '-C', stage, '--', basename(collected)]);
84
+ }
85
+ catch (error) {
86
+ archivePath = null;
87
+ outcomes[outcomes.length - 1] = { phase: 'archive', ok: false, detail: error instanceof Error ? error.message : String(error) };
88
+ summary = await writeSummary();
89
+ }
90
+ }
91
+ await publishArtifacts(collected, output);
92
+ if (archivePath) {
93
+ try {
94
+ await publishFile(stagedArchive, archivePath);
95
+ }
96
+ catch (error) {
97
+ archivePath = null;
98
+ outcomes[outcomes.length - 1] = { phase: 'archive', ok: false, detail: error instanceof Error ? error.message : String(error) };
99
+ summary = await writeSummary();
100
+ await publishFile(join(collected, 'summary.json'), join(output, 'summary.json'));
101
+ await publishFile(join(collected, 'summary.md'), join(output, 'summary.md'));
102
+ }
89
103
  }
90
- catch (e) {
91
- archivePath = null;
92
- outcomes.push({
93
- phase: 'archive',
94
- ok: false,
95
- detail: e instanceof Error ? e.message : String(e),
96
- });
104
+ if (opts.json)
105
+ console.log(JSON.stringify(summary, null, 2));
106
+ else {
107
+ console.log(`Incident bundle written to ${outDir}`);
108
+ console.log(` ${outcomes.filter(o => o.ok).length}/${outcomes.length} phases succeeded`);
109
+ if (archivePath)
110
+ console.log(` Archive: ${archivePath}`);
111
+ for (const warning of warnings)
112
+ console.log(` Warning: ${warning.path} (${warning.reason})`);
113
+ console.log(` Open ${join(outDir, 'summary.md')} first.`);
97
114
  }
98
115
  }
99
- if (opts.json) {
100
- console.log(JSON.stringify({ ...summary, archive: archivePath }, null, 2));
101
- }
102
- else {
103
- console.log(`✓ Incident bundle written to ${outDir}`);
104
- console.log(` ${summary.ok}/${summary.total} phases succeeded`);
105
- if (archivePath)
106
- console.log(` Archive: ${archivePath}`);
107
- console.log(` Open ${join(outDir, 'summary.md')} first.`);
116
+ finally {
117
+ await rm(stage, { recursive: true, force: true });
108
118
  }
109
119
  });
110
120
  program.addCommand(cmd);
@@ -122,16 +132,6 @@ function forwardBridge(args, opts) {
122
132
  function timestampSlug() {
123
133
  return new Date().toISOString().replace(/[:.]/g, '-');
124
134
  }
125
- function dirnameOf(p) {
126
- const norm = p.replace(/\/+$/, '');
127
- const idx = norm.lastIndexOf('/');
128
- return idx <= 0 ? '.' : norm.slice(0, idx);
129
- }
130
- function basenameOf(p) {
131
- const norm = p.replace(/\/+$/, '');
132
- const idx = norm.lastIndexOf('/');
133
- return idx < 0 ? norm : norm.slice(idx + 1);
134
- }
135
135
  /** Spawn this same CLI binary, capturing stdout into `outFile`. */
136
136
  function runCapturingStdout(args, outFile) {
137
137
  return new Promise((resolve) => {
@@ -152,8 +152,9 @@ function runCapturingStdout(args, outFile) {
152
152
  try {
153
153
  await writeFile(outFile, stdout);
154
154
  }
155
- catch {
156
- /* ignore write failure */
155
+ catch (error) {
156
+ resolve({ phase: args[0] ?? 'phase', ok: false, detail: `Could not write artifact: ${String(error)}` });
157
+ return;
157
158
  }
158
159
  resolve({
159
160
  phase: args[0] ?? 'phase',
@@ -176,11 +177,31 @@ function runToDir(phase, args) {
176
177
  child.stderr.setEncoding('utf-8');
177
178
  child.stderr.on('data', (c) => (stderr += c));
178
179
  child.on('error', (err) => resolve({ phase, ok: false, detail: err.message }));
179
- child.on('close', (code) => resolve({
180
- phase,
181
- ok: code === 0,
182
- detail: code === 0 ? 'ok' : `exit ${code}${stderr ? ': ' + stderr.trim().slice(0, 200) : ''}`,
183
- }));
180
+ child.on('close', async (code) => {
181
+ let detail = code === 0 ? 'ok' : `exit ${code}${stderr ? ': ' + stderr.trim().slice(0, 200) : ''}`;
182
+ let ok = code === 0;
183
+ if (ok) {
184
+ try {
185
+ const dir = args[args.indexOf('-o') + 1];
186
+ const file = phase === 'capture' ? 'manifest.json' : 'summary.json';
187
+ const manifest = JSON.parse(await readFile(join(dir, file), 'utf8'));
188
+ const failed = manifest.errorCount ?? manifest.phases?.filter(p => !p.ok).length ?? 0;
189
+ if (failed) {
190
+ ok = false;
191
+ detail = `${failed} artifact/collection phase(s) failed; see ${phase}/${file}`;
192
+ }
193
+ else if (manifest.partial) {
194
+ ok = false;
195
+ detail = `Partial capture; see ${phase}/${file} for warnings`;
196
+ }
197
+ }
198
+ catch (error) {
199
+ ok = false;
200
+ detail = `Could not read ${phase} manifest: ${String(error)}`;
201
+ }
202
+ }
203
+ resolve({ phase, ok, detail });
204
+ });
184
205
  });
185
206
  }
186
207
  function renderSummary(outDir, outcomes) {
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- import type { PlatformAdapter } from '../types.js';
2
+ import type { PlatformAdapter, AdapterFactory } from '../types.js';
3
3
  import type { CaptureManifest } from '../schemas/commands.js';
4
4
  import type { BridgeClient } from '../bridge/client.js';
5
5
  export interface CaptureToDirOptions {
@@ -11,5 +11,5 @@ export interface CaptureToDirOptions {
11
11
  eval?: string;
12
12
  logsDuration: number;
13
13
  }
14
- export declare function captureToDir(bridge: BridgeClient, adapter: PlatformAdapter, opts: CaptureToDirOptions): Promise<CaptureManifest>;
15
- export declare function registerCapture(program: Command, getAdapter: () => PlatformAdapter | Promise<PlatformAdapter>): void;
14
+ export declare function captureToDir(bridge: BridgeClient, adapter: PlatformAdapter | AdapterFactory, opts: CaptureToDirOptions): Promise<CaptureManifest>;
15
+ export declare function registerCapture(program: Command, getAdapter: AdapterFactory): void;