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
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,UAA4D;IAE5D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAC5B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,qBAAqB,EAAE,yDAAyD,CAAC;SACxF,MAAM,CAAC,sBAAsB,EAAE,4DAA4D,CAAC;SAC5F,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA2D,EAAE,EAAE;QAC5E,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,UAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAC5B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,uBAAuB,EAAE,+EAA+E,CAAC;SAChH,MAAM,CAAC,sBAAsB,EAAE,4DAA4D,CAAC;SAC5F,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA2D,EAAE,EAAE;QAC5E,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { Command } from 'commander';
2
- import { resolveBridge, parseIntArg } from '../shared.js';
2
+ import { resolveBridge, parseNonNegativeInt } from '../shared.js';
3
3
  import { addInteractOptions, escapeSelector } from './shared.js';
4
+ import { evaluateExpression } from '../../bridge/evaluate.js';
5
+ import { pollUntil } from '../../util/poll.js';
6
+ import { CliError } from '../../errors.js';
4
7
  import { ClickResultSchema } from '../../schemas/interact.js';
5
8
  export function buildClickScript(selector, opts) {
6
9
  const escaped = escapeSelector(selector);
@@ -24,52 +27,13 @@ export function buildClickScript(selector, opts) {
24
27
  return JSON.stringify({ success: true, selector: '${escaped}', tagName: el.tagName.toLowerCase(), text: text });
25
28
  })()`;
26
29
  }
27
- function buildWaitAndClickScript(selector, opts, waitMs) {
28
- const escaped = escapeSelector(selector);
29
- const button = opts.right ? 2 : 0;
30
- const clickEvents = opts.right
31
- ? `el.dispatchEvent(new MouseEvent('contextmenu', eventOpts));`
32
- : opts.double
33
- ? `el.dispatchEvent(new MouseEvent('click', eventOpts));
34
- el.dispatchEvent(new MouseEvent('dblclick', eventOpts));`
35
- : `el.dispatchEvent(new MouseEvent('click', eventOpts));`;
36
- return `(() => {
37
- var deadline = Date.now() + ${waitMs};
38
- function attempt() {
39
- var el = document.querySelector('${escaped}');
40
- if (el) {
41
- var r = el.getBoundingClientRect();
42
- var clientX = r.left + r.width / 2;
43
- var clientY = r.top + r.height / 2;
44
- var eventOpts = { bubbles: true, cancelable: true, clientX: clientX, clientY: clientY, button: ${button} };
45
- el.dispatchEvent(new MouseEvent('mousedown', eventOpts));
46
- el.dispatchEvent(new MouseEvent('mouseup', eventOpts));
47
- ${clickEvents}
48
- var text = (el.textContent || '').trim().slice(0, 100);
49
- return JSON.stringify({ success: true, selector: '${escaped}', tagName: el.tagName.toLowerCase(), text: text });
50
- }
51
- if (Date.now() >= deadline) {
52
- return JSON.stringify({ success: false, selector: '${escaped}', error: 'Element not found' });
53
- }
54
- return null;
55
- }
56
- return new Promise(function(resolve) {
57
- function poll() {
58
- var result = attempt();
59
- if (result !== null) { resolve(result); return; }
60
- setTimeout(poll, 100);
61
- }
62
- poll();
63
- });
64
- })()`;
65
- }
66
30
  export function registerClick(program) {
67
31
  const cmd = new Command('click')
68
32
  .description('Dispatch mouse click events on a DOM element')
69
33
  .argument('<selector>', 'CSS selector of the element to click')
70
34
  .option('--double', 'Dispatch a double-click (dblclick) instead of a single click')
71
35
  .option('--right', 'Dispatch a right-click (contextmenu) instead of a left click')
72
- .option('--wait <ms>', 'Wait up to <ms> milliseconds for element to appear', parseIntArg, 0)
36
+ .option('--wait <ms>', 'Wait up to <ms> milliseconds for element to appear', parseNonNegativeInt, 0)
73
37
  .addHelpText('after', `
74
38
  Examples:
75
39
  $ tauri-agent-tools click "button.submit"
@@ -78,11 +42,17 @@ Examples:
78
42
  $ tauri-agent-tools click ".lazy-item" --wait 3000 --json`);
79
43
  addInteractOptions(cmd);
80
44
  cmd.action(async (selector, opts) => {
45
+ if (opts.double && opts.right)
46
+ throw new CliError('INVALID_ARGUMENT', '--double and --right cannot be combined', 'Choose one click type.');
81
47
  const bridge = await resolveBridge(opts);
82
48
  const clickOpts = { double: !!opts.double, right: !!opts.right };
83
- const script = opts.wait > 0
84
- ? buildWaitAndClickScript(selector, clickOpts, opts.wait)
85
- : buildClickScript(selector, clickOpts);
49
+ if (opts.wait > 0) {
50
+ await pollUntil(async (remaining) => {
51
+ const result = await evaluateExpression(bridge, `document.querySelector(${JSON.stringify(selector)}) !== null`, Math.min(5000, remaining));
52
+ return result.truthy ? true : null;
53
+ }, opts.wait, 100, `Timed out waiting for element: ${selector}`);
54
+ }
55
+ const script = buildClickScript(selector, clickOpts);
86
56
  const raw = await bridge.eval(script);
87
57
  const result = ClickResultSchema.parse(JSON.parse(String(raw)));
88
58
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/commands/interact/click.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/commands/interact/click.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveBridge, parseIntArg } from '../shared.js';
3
3
  import { addInteractOptions, escapeSelector } from './shared.js';
4
4
  import { ScrollResultSchema } from '../../schemas/interact.js';
5
+ import { CliError } from '../../errors.js';
5
6
  export function buildScrollScript(opts) {
6
7
  const { selector, by, to, toTop, toBottom, intoView } = opts;
7
8
  if (selector && intoView) {
@@ -89,6 +90,11 @@ Examples:
89
90
  $ tauri-agent-tools scroll --selector ".panel" --by 100`);
90
91
  addInteractOptions(cmd);
91
92
  cmd.action(async (opts) => {
93
+ const modes = [opts.by !== undefined, opts.to !== undefined, opts.toTop, opts.toBottom, opts.intoView].filter(Boolean);
94
+ if (modes.length > 1)
95
+ throw new CliError('INVALID_ARGUMENT', 'Choose only one scroll action', 'Use --by, --to, --to-top, --to-bottom, or --into-view.');
96
+ if (opts.intoView && !opts.selector)
97
+ throw new CliError('INVALID_ARGUMENT', '--into-view requires --selector', 'Select the element to scroll into view.');
92
98
  const bridge = await resolveBridge(opts);
93
99
  const script = buildScrollScript({
94
100
  selector: opts.selector,
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/commands/interact/scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/commands/interact/scroll.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- export declare const PATCH_SCRIPT = "(() => {\n if (window.__tauriDevToolsPatched) return 'already_patched';\n function getInvokeTarget() {\n if (window.__TAURI_INTERNALS__ && typeof window.__TAURI_INTERNALS__.invoke === 'function') {\n return { owner: window.__TAURI_INTERNALS__, invoke: window.__TAURI_INTERNALS__.invoke };\n }\n if (window.__TAURI__ && window.__TAURI__.core && typeof window.__TAURI__.core.invoke === 'function') {\n return { owner: window.__TAURI__.core, invoke: window.__TAURI__.core.invoke };\n }\n return null;\n }\n var target = getInvokeTarget();\n if (!target) {\n return 'no_tauri';\n }\n window.__tauriDevToolsOriginalInvoke = target.invoke;\n window.__tauriDevToolsInvokeOwner = target.owner;\n window.__tauriDevToolsIpcLog = [];\n target.owner.invoke = function(cmd, args, options) {\n var entry = { command: cmd, args: args || {}, timestamp: Date.now() };\n var start = performance.now();\n return window.__tauriDevToolsOriginalInvoke.call(this, cmd, args, options).then(function(result) {\n entry.duration = Math.round(performance.now() - start);\n entry.result = result;\n window.__tauriDevToolsIpcLog.push(entry);\n return result;\n }).catch(function(err) {\n entry.duration = Math.round(performance.now() - start);\n entry.error = err && err.message ? err.message : String(err);\n window.__tauriDevToolsIpcLog.push(entry);\n throw err;\n });\n };\n window.__tauriDevToolsPatched = true;\n return 'patched';\n})()";
3
- export declare const DRAIN_SCRIPT = "(() => {\n var log = window.__tauriDevToolsIpcLog || [];\n window.__tauriDevToolsIpcLog = [];\n return JSON.stringify(log);\n})()";
4
- export declare const CLEANUP_SCRIPT = "(() => {\n if (window.__tauriDevToolsOriginalInvoke && window.__tauriDevToolsInvokeOwner) {\n window.__tauriDevToolsInvokeOwner.invoke = window.__tauriDevToolsOriginalInvoke;\n delete window.__tauriDevToolsOriginalInvoke;\n delete window.__tauriDevToolsInvokeOwner;\n delete window.__tauriDevToolsIpcLog;\n delete window.__tauriDevToolsPatched;\n }\n return 'cleaned';\n})()";
2
+ export declare const PATCH_SCRIPT: string;
3
+ export declare const DRAIN_SCRIPT: string;
4
+ export declare const CLEANUP_SCRIPT: string;
5
5
  export declare function registerIpcMonitor(program: Command): void;
@@ -1,58 +1,13 @@
1
1
  import { Command } from 'commander';
2
+ import { ipcObserver, readObserver, closeObserver } from '../bridge/observers.js';
3
+ import { monitorFor, createSignalScope } from '../util/monitor.js';
2
4
  import { z } from 'zod';
3
- import { addBridgeOptions, resolveBridge, parseIntArg } from './shared.js';
5
+ import { addBridgeOptions, resolveBridge, parsePositiveInt } from './shared.js';
4
6
  import { IpcEntrySchema } from '../schemas/commands.js';
5
- export const PATCH_SCRIPT = `(() => {
6
- if (window.__tauriDevToolsPatched) return 'already_patched';
7
- function getInvokeTarget() {
8
- if (window.__TAURI_INTERNALS__ && typeof window.__TAURI_INTERNALS__.invoke === 'function') {
9
- return { owner: window.__TAURI_INTERNALS__, invoke: window.__TAURI_INTERNALS__.invoke };
10
- }
11
- if (window.__TAURI__ && window.__TAURI__.core && typeof window.__TAURI__.core.invoke === 'function') {
12
- return { owner: window.__TAURI__.core, invoke: window.__TAURI__.core.invoke };
13
- }
14
- return null;
15
- }
16
- var target = getInvokeTarget();
17
- if (!target) {
18
- return 'no_tauri';
19
- }
20
- window.__tauriDevToolsOriginalInvoke = target.invoke;
21
- window.__tauriDevToolsInvokeOwner = target.owner;
22
- window.__tauriDevToolsIpcLog = [];
23
- target.owner.invoke = function(cmd, args, options) {
24
- var entry = { command: cmd, args: args || {}, timestamp: Date.now() };
25
- var start = performance.now();
26
- return window.__tauriDevToolsOriginalInvoke.call(this, cmd, args, options).then(function(result) {
27
- entry.duration = Math.round(performance.now() - start);
28
- entry.result = result;
29
- window.__tauriDevToolsIpcLog.push(entry);
30
- return result;
31
- }).catch(function(err) {
32
- entry.duration = Math.round(performance.now() - start);
33
- entry.error = err && err.message ? err.message : String(err);
34
- window.__tauriDevToolsIpcLog.push(entry);
35
- throw err;
36
- });
37
- };
38
- window.__tauriDevToolsPatched = true;
39
- return 'patched';
40
- })()`;
41
- export const DRAIN_SCRIPT = `(() => {
42
- var log = window.__tauriDevToolsIpcLog || [];
43
- window.__tauriDevToolsIpcLog = [];
44
- return JSON.stringify(log);
45
- })()`;
46
- export const CLEANUP_SCRIPT = `(() => {
47
- if (window.__tauriDevToolsOriginalInvoke && window.__tauriDevToolsInvokeOwner) {
48
- window.__tauriDevToolsInvokeOwner.invoke = window.__tauriDevToolsOriginalInvoke;
49
- delete window.__tauriDevToolsOriginalInvoke;
50
- delete window.__tauriDevToolsInvokeOwner;
51
- delete window.__tauriDevToolsIpcLog;
52
- delete window.__tauriDevToolsPatched;
53
- }
54
- return 'cleaned';
55
- })()`;
7
+ const legacyScripts = ipcObserver('legacy');
8
+ export const PATCH_SCRIPT = legacyScripts.patch;
9
+ export const DRAIN_SCRIPT = legacyScripts.drain;
10
+ export const CLEANUP_SCRIPT = legacyScripts.cleanup;
56
11
  function escapeRegExp(s) {
57
12
  return s.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
58
13
  }
@@ -82,21 +37,13 @@ function renderStats(stats) {
82
37
  console.error(`# ${command.padEnd(28)} n=${s.count} max=${s.maxMs}ms avg=${avg}ms${errPart}`);
83
38
  }
84
39
  }
85
- async function cleanup(bridge) {
86
- try {
87
- await bridge.eval(CLEANUP_SCRIPT);
88
- }
89
- catch {
90
- // Best-effort cleanup
91
- }
92
- }
93
40
  export function registerIpcMonitor(program) {
94
41
  const cmd = new Command('ipc-monitor')
95
- .description('Monitor Tauri IPC calls in real-time (read-only)')
42
+ .description('Monitor Tauri IPC calls using temporary instrumentation')
96
43
  .option('--filter <command>', 'Only show specific IPC commands (supports * wildcards)')
97
- .option('--interval <ms>', 'Poll interval in milliseconds', parseIntArg, 500)
98
- .option('--duration <ms>', 'Auto-stop after N milliseconds', parseIntArg)
99
- .option('--slow <ms>', 'Flag IPC calls that completed but took ≥ N ms', parseIntArg)
44
+ .option('--interval <ms>', 'Poll interval in milliseconds', parsePositiveInt, 500)
45
+ .option('--duration <ms>', 'Auto-stop after N milliseconds', parsePositiveInt)
46
+ .option('--slow <ms>', 'Flag IPC calls that completed but took ≥ N ms', parsePositiveInt)
100
47
  .option('--stats', 'Print a per-command latency summary on exit')
101
48
  .option('--json', 'Output one JSON object per line');
102
49
  addBridgeOptions(cmd);
@@ -104,33 +51,19 @@ export function registerIpcMonitor(program) {
104
51
  const filterRegex = opts.filter ? compileWildcardFilter(opts.filter) : null;
105
52
  const stats = new Map();
106
53
  const bridge = await resolveBridge(opts);
107
- // Inject the monkey-patch
108
- const patchResult = await bridge.eval(PATCH_SCRIPT);
109
- if (patchResult === 'no_tauri') {
110
- throw new Error('Tauri invoke API not found. Expected window.__TAURI_INTERNALS__.invoke or window.__TAURI__.core.invoke.');
111
- }
112
- let stopped = false;
113
- const onSignal = () => {
114
- stopped = true;
115
- };
116
- process.on('SIGINT', onSignal);
117
- process.on('SIGTERM', onSignal);
118
- let timer;
119
- if (opts.duration) {
120
- timer = setTimeout(() => {
121
- stopped = true;
122
- }, opts.duration);
123
- }
124
- if (!opts.json) {
125
- console.error('Monitoring IPC calls... (Ctrl+C to stop)');
126
- }
54
+ const scripts = ipcObserver();
55
+ const signals = createSignalScope();
127
56
  try {
128
- while (!stopped) {
129
- await new Promise((resolve) => setTimeout(resolve, opts.interval));
130
- if (stopped)
131
- break;
132
- const raw = await bridge.eval(DRAIN_SCRIPT);
133
- const entries = z.array(IpcEntrySchema).parse(JSON.parse(String(raw)));
57
+ const patchResult = await bridge.eval(scripts.patch);
58
+ if (patchResult === 'no_tauri')
59
+ throw new Error('Tauri invoke API not found. Expected window.__TAURI_INTERNALS__.invoke or window.__TAURI__.core.invoke.');
60
+ if (patchResult !== 'patched' && patchResult !== 'already_patched')
61
+ throw new Error(`Observer setup failed: ${String(patchResult)}`);
62
+ if (!opts.json) {
63
+ console.error('Monitoring IPC calls... (Ctrl+C to stop)');
64
+ }
65
+ await monitorFor({ ...opts, signal: signals.signal }, async () => {
66
+ const entries = z.array(IpcEntrySchema).parse(await readObserver(bridge, scripts));
134
67
  for (const entry of entries) {
135
68
  if (opts.filter) {
136
69
  if (filterRegex) {
@@ -163,14 +96,11 @@ export function registerIpcMonitor(program) {
163
96
  console.log(formatEntry(entry, isSlow));
164
97
  }
165
98
  }
166
- }
99
+ });
167
100
  }
168
101
  finally {
169
- if (timer)
170
- clearTimeout(timer);
171
- process.off('SIGINT', onSignal);
172
- process.off('SIGTERM', onSignal);
173
- await cleanup(bridge);
102
+ await closeObserver(bridge, scripts);
103
+ signals.dispose();
174
104
  if (opts.stats)
175
105
  renderStats(stats);
176
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ipcMonitor.js","sourceRoot":"","sources":["../../src/commands/ipcMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipcMonitor.js","sourceRoot":"","sources":["../../src/commands/ipcMonitor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Command } from 'commander';
2
- import type { PlatformAdapter } from '../types.js';
3
- export declare function registerListWindows(program: Command, getAdapter: () => Promise<PlatformAdapter>): void;
2
+ import type { AdapterFactory } from '../types.js';
3
+ export declare function registerListWindows(program: Command, getAdapter: AdapterFactory): void;
@@ -1 +1 @@
1
- {"version":3,"file":"listWindows.js","sourceRoot":"","sources":["../../src/commands/listWindows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listWindows.js","sourceRoot":"","sources":["../../src/commands/listWindows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;SACpC,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;SAChD,WAAW,CAAC,OAAO,EAAE;;;kDAGwB,CAAC,CAAC;IAElD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAyC,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChD,OAAO,CAAC,WAAW,EAAE;YACrB,oBAAoB,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,OAAO,GAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,OAAO;gBACL,GAAG,CAAC;gBACJ,KAAK,EAAE,CAAC,CAAC,MAAM;gBACf,MAAM,EAAE,MAAM,IAAI,SAAS;aAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,eAAe;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACxB,MAAM;YACN,OAAO;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG;gBACX,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9C,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;gBAChC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE;gBACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI;aAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,30 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  import { type MergedLogEntry } from '../util/logMerge.js';
3
- import type { RustLogEntry } from '../schemas/bridge.js';
4
- export declare const LOG_CURSOR_UNAVAILABLE_NOTE = "bridge <0.8 has no log cursor; using drain polling (entries may be lost between polls)";
5
- export interface LogsFollowState {
6
- cursor: number;
7
- drainFallback: boolean;
8
- warnedDrainFallback: boolean;
9
- }
10
- interface FollowBridgeClient {
11
- fetchLogs(arg?: number | {
12
- cursor?: number;
13
- waitMs?: number;
14
- limit?: number;
15
- timeoutMs?: number;
16
- }): Promise<RustLogEntry[] | {
17
- entries: RustLogEntry[];
18
- cursor?: number;
19
- dropped?: number;
20
- }>;
21
- }
22
- interface ReadFollowBridgeBatchOptions {
23
- waitMs?: number;
24
- limit?: number;
25
- intervalMs?: number;
26
- warn?: (message: string) => void;
27
- }
3
+ import { readRustLogs, type LogCursor } from '../bridge/logReader.js';
4
+ export { LOG_CURSOR_UNAVAILABLE_NOTE } from '../bridge/logReader.js';
5
+ export type LogsFollowState = LogCursor;
28
6
  export declare function registerLogs(program: Command): void;
29
- export declare function readFollowBridgeBatch(client: FollowBridgeClient, state: LogsFollowState, options?: ReadFollowBridgeBatchOptions): Promise<MergedLogEntry[]>;
30
- export {};
7
+ export declare function readFollowBridgeBatch(client: Parameters<typeof readRustLogs>[0], state: LogsFollowState, options?: NonNullable<Parameters<typeof readRustLogs>[2]>): Promise<MergedLogEntry[]>;
@@ -1,12 +1,14 @@
1
1
  import { Command } from 'commander';
2
2
  import { readFile, readdir } from 'node:fs/promises';
3
3
  import { basename, join, resolve } from 'node:path';
4
- import { addBridgeOptions, tryResolveBridgeConfig, parseIntArg } from './shared.js';
4
+ import { addBridgeOptions, tryResolveBridgeConfig, parsePositiveInt } from './shared.js';
5
5
  import { BridgeClient } from '../bridge/client.js';
6
6
  import { resolveTauriProject, resolveTauriPaths, currentPlatform } from '../util/tauriConfig.js';
7
7
  import { mergeByTimestamp } from '../util/mergeByTimestamp.js';
8
8
  import { parseLogLine, normalizeRustLog, inferCorrelation, LEVEL_RANK, } from '../util/logMerge.js';
9
- export const LOG_CURSOR_UNAVAILABLE_NOTE = 'bridge <0.8 has no log cursor; using drain polling (entries may be lost between polls)';
9
+ import { readRustLogs, newLogCursor } from '../bridge/logReader.js';
10
+ export { LOG_CURSOR_UNAVAILABLE_NOTE } from '../bridge/logReader.js';
11
+ import { CliError } from '../errors.js';
10
12
  function collect(value, prev) {
11
13
  return [...prev, value];
12
14
  }
@@ -24,7 +26,7 @@ export function registerLogs(program) {
24
26
  .option('--filter <regex>', 'Filter messages by regex')
25
27
  .option('--correlate', 'Infer correlation ids (run_id, requestId, …) into a correlation field')
26
28
  .option('--follow', 'Follow live bridge logs until interrupted')
27
- .option('--interval <ms>', 'Drain fallback polling interval for --follow', parseIntArg, 2000)
29
+ .option('--interval <ms>', 'Drain fallback polling interval for --follow', parsePositiveInt, 2000)
28
30
  .option('--raw', 'Include the raw source payload/line in NDJSON output')
29
31
  .option('--json', 'Emit NDJSON, one object per line (this is the default; accepted for consistency)')
30
32
  .option('--pretty', 'Human-readable output (overrides --json)');
@@ -34,6 +36,8 @@ export function registerLogs(program) {
34
36
  const sourceRe = opts.source ? compileRegex(opts.source, 'source') : null;
35
37
  const filterRe = opts.filter ? compileRegex(opts.filter, 'filter') : null;
36
38
  if (opts.follow) {
39
+ if (opts.bridge === false)
40
+ throw new CliError('INVALID_ARGUMENT', '--follow requires the bridge; --no-bridge cannot be combined with it', 'Use logs --no-bridge for an on-disk snapshot.');
37
41
  await followBridgeLogs(opts, minLevel, sourceRe, filterRe);
38
42
  return;
39
43
  }
@@ -56,7 +60,7 @@ export function registerLogs(program) {
56
60
  else {
57
61
  try {
58
62
  const client = new BridgeClient(cfg, opts.windowLabel);
59
- const logs = await client.fetchLogs();
63
+ const logs = await readRustLogs(client);
60
64
  bridgeEntries = logs.map(normalizeRustLog);
61
65
  notes.push(`bridge: ${bridgeEntries.length} entry(ies) from /logs`);
62
66
  }
@@ -80,32 +84,7 @@ export function registerLogs(program) {
80
84
  program.addCommand(cmd);
81
85
  }
82
86
  export async function readFollowBridgeBatch(client, state, options = {}) {
83
- const warn = options.warn ?? console.error;
84
- if (state.drainFallback) {
85
- // The poll cadence may be sub-second; don't let it shrink the HTTP timeout.
86
- const entries = await client.fetchLogs(Math.max(options.intervalMs ?? 2000, 2000));
87
- return asEntries(entries).map(normalizeRustLog);
88
- }
89
- const response = await client.fetchLogs({
90
- cursor: state.cursor,
91
- waitMs: options.waitMs ?? 10_000,
92
- limit: options.limit ?? 1000,
93
- timeoutMs: (options.waitMs ?? 10_000) + 1000,
94
- });
95
- const envelope = asEnvelope(response);
96
- if (envelope.cursor === undefined) {
97
- state.drainFallback = true;
98
- if (!state.warnedDrainFallback) {
99
- state.warnedDrainFallback = true;
100
- warn(`note: ${LOG_CURSOR_UNAVAILABLE_NOTE}`);
101
- }
102
- return envelope.entries.map(normalizeRustLog);
103
- }
104
- state.cursor = envelope.cursor;
105
- if ((envelope.dropped ?? 0) > 0) {
106
- warn(`warning: bridge log cursor dropped ${envelope.dropped} evicted entrie(s)`);
107
- }
108
- return envelope.entries.map(normalizeRustLog);
87
+ return (await readRustLogs(client, state, { waitMs: 10_000, ...options })).map(normalizeRustLog);
109
88
  }
110
89
  async function followBridgeLogs(opts, minLevel, sourceRe, filterRe) {
111
90
  const cfg = await tryResolveBridgeConfig(opts);
@@ -113,16 +92,13 @@ async function followBridgeLogs(opts, minLevel, sourceRe, filterRe) {
113
92
  throw new Error('logs --follow needs a live bridge. Pass --port/--token or start the app with the dev bridge.');
114
93
  }
115
94
  const client = new BridgeClient(cfg, opts.windowLabel);
116
- const state = {
117
- cursor: 0,
118
- drainFallback: false,
119
- warnedDrainFallback: false,
120
- };
95
+ const state = newLogCursor();
121
96
  let stopped = false;
122
97
  const stop = () => {
123
98
  stopped = true;
124
99
  };
125
100
  process.once('SIGINT', stop);
101
+ process.once('SIGTERM', stop);
126
102
  try {
127
103
  while (!stopped) {
128
104
  const batch = await readFollowBridgeBatch(client, state, {
@@ -136,6 +112,7 @@ async function followBridgeLogs(opts, minLevel, sourceRe, filterRe) {
136
112
  }
137
113
  finally {
138
114
  process.off('SIGINT', stop);
115
+ process.off('SIGTERM', stop);
139
116
  }
140
117
  }
141
118
  function prepareEntries(entries, options) {
@@ -173,12 +150,6 @@ function emitRows(entries, opts) {
173
150
  }
174
151
  }
175
152
  }
176
- function asEnvelope(response) {
177
- return Array.isArray(response) ? { entries: response } : response;
178
- }
179
- function asEntries(response) {
180
- return Array.isArray(response) ? response : response.entries;
181
- }
182
153
  function normalizeInterval(value) {
183
154
  if (!Number.isFinite(value))
184
155
  return 2000;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}