@namzu/cli 29.1.0 → 30.0.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 (110) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/commands/exec.d.ts.map +1 -1
  3. package/dist/commands/exec.js +3 -0
  4. package/dist/commands/exec.js.map +1 -1
  5. package/dist/context/environment.d.ts +26 -3
  6. package/dist/context/environment.d.ts.map +1 -1
  7. package/dist/context/environment.js +68 -9
  8. package/dist/context/environment.js.map +1 -1
  9. package/dist/integrations/notifications/desktop.d.ts +2 -0
  10. package/dist/integrations/notifications/desktop.d.ts.map +1 -1
  11. package/dist/integrations/notifications/desktop.js +6 -5
  12. package/dist/integrations/notifications/desktop.js.map +1 -1
  13. package/dist/integrations/plugins/runtime.d.ts +8 -2
  14. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  15. package/dist/integrations/plugins/runtime.js +14 -8
  16. package/dist/integrations/plugins/runtime.js.map +1 -1
  17. package/dist/integrations/providers/harness-credentials.d.ts +9 -4
  18. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  19. package/dist/integrations/providers/harness-credentials.js +16 -8
  20. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  21. package/dist/integrations/web/open-url.d.ts +24 -0
  22. package/dist/integrations/web/open-url.d.ts.map +1 -0
  23. package/dist/integrations/web/open-url.js +73 -0
  24. package/dist/integrations/web/open-url.js.map +1 -0
  25. package/dist/schedule/build.d.ts +7 -0
  26. package/dist/schedule/build.d.ts.map +1 -1
  27. package/dist/schedule/build.js +21 -0
  28. package/dist/schedule/build.js.map +1 -1
  29. package/dist/schedule/changes.d.ts +6 -0
  30. package/dist/schedule/changes.d.ts.map +1 -1
  31. package/dist/schedule/changes.js +10 -0
  32. package/dist/schedule/changes.js.map +1 -1
  33. package/dist/schedule/commands/add.d.ts.map +1 -1
  34. package/dist/schedule/commands/add.js +2 -14
  35. package/dist/schedule/commands/add.js.map +1 -1
  36. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  37. package/dist/schedule/commands/lifecycle.js +2 -1
  38. package/dist/schedule/commands/lifecycle.js.map +1 -1
  39. package/dist/schedule/commands/list.d.ts.map +1 -1
  40. package/dist/schedule/commands/list.js +6 -2
  41. package/dist/schedule/commands/list.js.map +1 -1
  42. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  43. package/dist/schedule/daemon/daemon.js +5 -0
  44. package/dist/schedule/daemon/daemon.js.map +1 -1
  45. package/dist/schedule/daemon/notify.d.ts +8 -1
  46. package/dist/schedule/daemon/notify.d.ts.map +1 -1
  47. package/dist/schedule/daemon/notify.js +28 -2
  48. package/dist/schedule/daemon/notify.js.map +1 -1
  49. package/dist/schedule/env.d.ts +8 -4
  50. package/dist/schedule/env.d.ts.map +1 -1
  51. package/dist/schedule/env.js +13 -6
  52. package/dist/schedule/env.js.map +1 -1
  53. package/dist/schedule/fire/calls.d.ts +49 -0
  54. package/dist/schedule/fire/calls.d.ts.map +1 -0
  55. package/dist/schedule/fire/calls.js +114 -0
  56. package/dist/schedule/fire/calls.js.map +1 -0
  57. package/dist/schedule/fire/fire.d.ts.map +1 -1
  58. package/dist/schedule/fire/fire.js +9 -1
  59. package/dist/schedule/fire/fire.js.map +1 -1
  60. package/dist/schedule/floor.d.ts +27 -7
  61. package/dist/schedule/floor.d.ts.map +1 -1
  62. package/dist/schedule/floor.js +339 -101
  63. package/dist/schedule/floor.js.map +1 -1
  64. package/dist/schedule/service/index.d.ts +1 -1
  65. package/dist/schedule/service/index.d.ts.map +1 -1
  66. package/dist/schedule/service/index.js +20 -11
  67. package/dist/schedule/service/index.js.map +1 -1
  68. package/dist/schedule/service/windows-task.d.ts +7 -0
  69. package/dist/schedule/service/windows-task.d.ts.map +1 -1
  70. package/dist/schedule/service/windows-task.js +65 -0
  71. package/dist/schedule/service/windows-task.js.map +1 -1
  72. package/dist/schedule/service/wsl.d.ts +13 -1
  73. package/dist/schedule/service/wsl.d.ts.map +1 -1
  74. package/dist/schedule/service/wsl.js +16 -6
  75. package/dist/schedule/service/wsl.js.map +1 -1
  76. package/dist/schedule/types.d.ts +27 -0
  77. package/dist/schedule/types.d.ts.map +1 -1
  78. package/dist/skills/directory.d.ts +38 -0
  79. package/dist/skills/directory.d.ts.map +1 -0
  80. package/dist/skills/directory.js +51 -0
  81. package/dist/skills/directory.js.map +1 -0
  82. package/dist/tui/App.d.ts.map +1 -1
  83. package/dist/tui/App.js +20 -4
  84. package/dist/tui/App.js.map +1 -1
  85. package/dist/tui/PermissionOverlay.d.ts +13 -1
  86. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  87. package/dist/tui/PermissionOverlay.js +26 -4
  88. package/dist/tui/PermissionOverlay.js.map +1 -1
  89. package/dist/tui/agent.d.ts +28 -6
  90. package/dist/tui/agent.d.ts.map +1 -1
  91. package/dist/tui/agent.js +58 -16
  92. package/dist/tui/agent.js.map +1 -1
  93. package/dist/tui/open-browser.d.ts +29 -1
  94. package/dist/tui/open-browser.d.ts.map +1 -1
  95. package/dist/tui/open-browser.js +83 -11
  96. package/dist/tui/open-browser.js.map +1 -1
  97. package/dist/tui/permission-review.d.ts +10 -1
  98. package/dist/tui/permission-review.d.ts.map +1 -1
  99. package/dist/tui/permission-review.js +175 -18
  100. package/dist/tui/permission-review.js.map +1 -1
  101. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  102. package/dist/tui/schedule/host-commands.js +2 -1
  103. package/dist/tui/schedule/host-commands.js.map +1 -1
  104. package/dist/tui/schedule/tool-host.d.ts +15 -1
  105. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  106. package/dist/tui/schedule/tool-host.js +259 -74
  107. package/dist/tui/schedule/tool-host.js.map +1 -1
  108. package/package.json +6 -6
  109. package/skills/README.md +5 -0
  110. package/skills/schedule-task/SKILL.md +8 -2
@@ -12,6 +12,20 @@
12
12
  * path under the system directory so a same-named executable earlier on `PATH`
13
13
  * cannot answer instead.
14
14
  *
15
+ * ## WSL: the Windows browser
16
+ *
17
+ * Under WSL the desktop the user looks at is Windows', and `xdg-open` reaches
18
+ * a Linux browser at best (usually nothing). With interop on, the address goes
19
+ * to Windows' own protocol handler through `powershell.exe`, named by absolute
20
+ * path, running a CONSTANT script (`Start-Process -FilePath
21
+ * $env:NAMZU_OPEN_URL`) sent as `-EncodedCommand`: the address reaches it only
22
+ * as an environment variable named in `WSLENV`, so nothing parses it as code
23
+ * — the same shape as the WSL toast in `notifications/desktop/windows-toast.ts`.
24
+ * This is what the `open` package does on WSL too, minus its six dependencies
25
+ * and its quoting of the address into the script text. `cmd.exe /c start` is
26
+ * not used, for the reason above; `explorer.exe` is not used because it exits
27
+ * 1 even when it opened the page.
28
+ *
15
29
  * ## Best effort, reported honestly
16
30
  *
17
31
  * Returns whether a launcher was even STARTED, not whether a browser appeared
@@ -20,5 +34,19 @@
20
34
  * stop reading". On a machine with no graphical session there is nothing to
21
35
  * start and this says so, which is the case the paste path exists for.
22
36
  */
23
- export declare function openInBrowser(url: string): boolean;
37
+ /** Where Windows keeps PowerShell, under a WSL mount root (`/mnt/` by default). */
38
+ export declare function wslPowershell(mountRoot?: string): string;
39
+ /** PowerShell under the default mount root. */
40
+ export declare const WSL_POWERSHELL: string;
41
+ /** The whole WSL script. The address is data in the environment, never text here. */
42
+ export declare const WSL_OPEN_SCRIPT: string;
43
+ /** The machine, injectable so a test can describe one it is not running on. */
44
+ export interface BrowserHost {
45
+ readonly platform?: NodeJS.Platform;
46
+ readonly env?: NodeJS.ProcessEnv;
47
+ readonly exists?: (path: string) => boolean;
48
+ /** Reads `/etc/wsl.conf`, for where the Windows drives are mounted. */
49
+ readonly readFile?: (path: string) => string | undefined;
50
+ }
51
+ export declare function openInBrowser(url: string, host?: BrowserHost): boolean;
24
52
  //# sourceMappingURL=open-browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA6BlD"}
1
+ {"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AA+BH,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAA+B,GAAG,MAAM,CAEhF;AAED,+CAA+C;AAC/C,eAAO,MAAM,cAAc,QAAkB,CAAA;AAE7C,qFAAqF;AACrF,eAAO,MAAM,eAAe,QAGhB,CAAA;AAEZ,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CACxD;AAwDD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CA0B1E"}
@@ -12,6 +12,20 @@
12
12
  * path under the system directory so a same-named executable earlier on `PATH`
13
13
  * cannot answer instead.
14
14
  *
15
+ * ## WSL: the Windows browser
16
+ *
17
+ * Under WSL the desktop the user looks at is Windows', and `xdg-open` reaches
18
+ * a Linux browser at best (usually nothing). With interop on, the address goes
19
+ * to Windows' own protocol handler through `powershell.exe`, named by absolute
20
+ * path, running a CONSTANT script (`Start-Process -FilePath
21
+ * $env:NAMZU_OPEN_URL`) sent as `-EncodedCommand`: the address reaches it only
22
+ * as an environment variable named in `WSLENV`, so nothing parses it as code
23
+ * — the same shape as the WSL toast in `notifications/desktop/windows-toast.ts`.
24
+ * This is what the `open` package does on WSL too, minus its six dependencies
25
+ * and its quoting of the address into the script text. `cmd.exe /c start` is
26
+ * not used, for the reason above; `explorer.exe` is not used because it exits
27
+ * 1 even when it opened the page.
28
+ *
15
29
  * ## Best effort, reported honestly
16
30
  *
17
31
  * Returns whether a launcher was even STARTED, not whether a browser appeared
@@ -21,12 +35,13 @@
21
35
  * start and this says so, which is the case the paste path exists for.
22
36
  */
23
37
  import { spawn } from 'node:child_process';
24
- import { constants, accessSync } from 'node:fs';
38
+ import { constants, accessSync, existsSync } from 'node:fs';
25
39
  import { platform } from 'node:os';
26
40
  import { delimiter, isAbsolute, join } from 'node:path';
41
+ import { DEFAULT_WSL_MOUNT_ROOT, detectWsl, readWslMountRoot, wslSystem32, } from '../context/environment.js';
27
42
  /** Resolve a launcher before claiming that one started. */
28
- function executableOnPath(name) {
29
- for (const directory of (process.env.PATH ?? '').split(delimiter)) {
43
+ function executableOnPath(name, env) {
44
+ for (const directory of (env.PATH ?? '').split(delimiter)) {
30
45
  // An empty or relative PATH member delegates executable authority to the
31
46
  // project cwd. Opening an OAuth URL must never run a project-owned helper.
32
47
  if (!directory || !isAbsolute(directory))
@@ -42,23 +57,80 @@ function executableOnPath(name) {
42
57
  }
43
58
  return null;
44
59
  }
45
- export function openInBrowser(url) {
60
+ /** Where Windows keeps PowerShell, under a WSL mount root (`/mnt/` by default). */
61
+ export function wslPowershell(mountRoot = DEFAULT_WSL_MOUNT_ROOT) {
62
+ return `${wslSystem32(mountRoot)}/WindowsPowerShell/v1.0/powershell.exe`;
63
+ }
64
+ /** PowerShell under the default mount root. */
65
+ export const WSL_POWERSHELL = wslPowershell();
66
+ /** The whole WSL script. The address is data in the environment, never text here. */
67
+ export const WSL_OPEN_SCRIPT = [
68
+ "$ErrorActionPreference = 'Stop'",
69
+ 'Start-Process -FilePath $env:NAMZU_OPEN_URL',
70
+ ].join('\n');
71
+ /** Windows' protocol handler through interop, or `null` when this is not a WSL that can reach it. */
72
+ function wslLaunch(url, env, host) {
73
+ const exists = host.exists ?? existsSync;
74
+ // `/etc/wsl.conf` can move the drives (`[automount] root = /win/`), and
75
+ // PowerShell and the directory it starts in move with them.
76
+ const mountRoot = host.readFile ? readWslMountRoot(host.readFile) : readWslMountRoot();
77
+ const wsl = detectWsl(env, { exists, list: () => [], mountRoot });
78
+ if (!wsl?.interop)
79
+ return null;
80
+ const powershell = wslPowershell(mountRoot);
81
+ if (!exists(powershell))
82
+ return null;
83
+ const passed = (env.WSLENV ?? '')
84
+ .split(':')
85
+ .filter((name) => name && !name.startsWith('NAMZU_OPEN_URL'));
86
+ return {
87
+ command: powershell,
88
+ args: [
89
+ '-NoProfile',
90
+ '-NonInteractive',
91
+ '-ExecutionPolicy',
92
+ 'Bypass',
93
+ '-EncodedCommand',
94
+ Buffer.from(WSL_OPEN_SCRIPT, 'utf16le').toString('base64'),
95
+ ],
96
+ env: { ...env, NAMZU_OPEN_URL: url, WSLENV: [...passed, 'NAMZU_OPEN_URL'].join(':') },
97
+ // A Windows program started from a Linux directory warns about UNC
98
+ // paths; the drive PowerShell lives on is a Windows directory.
99
+ cwd: `${mountRoot}c`,
100
+ };
101
+ }
102
+ function launchFor(url, host) {
103
+ const currentPlatform = host.platform ?? platform();
104
+ const env = host.env ?? process.env;
105
+ if (currentPlatform === 'win32') {
106
+ return {
107
+ command: join(env.SystemRoot ?? 'C:\\Windows', 'System32', 'rundll32.exe'),
108
+ args: ['url.dll,FileProtocolHandler', url],
109
+ };
110
+ }
111
+ if (currentPlatform === 'linux') {
112
+ const wsl = wslLaunch(url, env, host);
113
+ if (wsl)
114
+ return wsl;
115
+ }
116
+ const command = executableOnPath(currentPlatform === 'darwin' ? 'open' : 'xdg-open', env);
117
+ return command ? { command, args: [url] } : null;
118
+ }
119
+ export function openInBrowser(url, host = {}) {
46
120
  // Refuse anything that is not a web address. This is handed to the
47
121
  // machine's protocol handler, and `file:` or a custom scheme reaching it
48
122
  // would be this function opening something nobody named.
49
123
  if (!/^https?:\/\//i.test(url))
50
124
  return false;
51
- const currentPlatform = platform();
52
- const command = currentPlatform === 'win32'
53
- ? join(process.env.SystemRoot ?? 'C:\\Windows', 'System32', 'rundll32.exe')
54
- : executableOnPath(currentPlatform === 'darwin' ? 'open' : 'xdg-open');
55
- if (!command)
125
+ const launch = launchFor(url, host);
126
+ if (!launch)
56
127
  return false;
57
- const args = currentPlatform === 'win32' ? ['url.dll,FileProtocolHandler', url] : [url];
58
128
  try {
59
- const child = spawn(command, args, {
129
+ const child = spawn(launch.command, [...launch.args], {
60
130
  stdio: 'ignore',
61
131
  detached: true,
132
+ ...(launch.env ? { env: launch.env } : {}),
133
+ ...(launch.cwd ? { cwd: launch.cwd } : {}),
62
134
  });
63
135
  // A missing launcher — no `xdg-open` in a container — arrives as an
64
136
  // async error event, long after this function returned. Swallowing it
@@ -1 +1 @@
1
- {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEvD,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,IAAY;IACrC,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAQ;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC;YACJ,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,SAAS,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACR,+DAA+D;QAChE,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,mEAAmE;IACnE,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAA;IAClC,MAAM,OAAO,GACZ,eAAe,KAAK,OAAO;QAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC;QAC3E,CAAC,CAAC,gBAAgB,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAC1B,MAAM,IAAI,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEvF,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAClC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACd,CAAC,CAAA;QACF,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/tui/open-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EACN,sBAAsB,EACtB,SAAS,EACT,gBAAgB,EAChB,WAAW,GACX,MAAM,2BAA2B,CAAA;AAElC,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAsB;IAC7D,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAQ;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC;YACJ,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,SAAS,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACR,+DAA+D;QAChE,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,YAAoB,sBAAsB;IACvE,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,wCAAwC,CAAA;AACzE,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,EAAE,CAAA;AAE7C,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,iCAAiC;IACjC,6CAA6C;CAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAkBZ,qGAAqG;AACrG,SAAS,SAAS,CAAC,GAAW,EAAE,GAAsB,EAAE,IAAiB;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;IACxC,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACtF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IACjE,IAAI,CAAC,GAAG,EAAE,OAAO;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAC/B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC9D,OAAO;QACN,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE;YACL,YAAY;YACZ,iBAAiB;YACjB,kBAAkB;YAClB,QAAQ;YACR,iBAAiB;YACjB,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC1D;QACD,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrF,mEAAmE;QACnE,+DAA+D;QAC/D,GAAG,EAAE,GAAG,SAAS,GAAG;KACpB,CAAA;AACF,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,IAAiB;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAA;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACnC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC;YAC1E,IAAI,EAAE,CAAC,6BAA6B,EAAE,GAAG,CAAC;SAC1C,CAAA;IACF,CAAC;IACD,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACrC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IACzF,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAoB,EAAE;IAChE,mEAAmE;IACnE,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;YACrD,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAA;QACF,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC"}
@@ -89,7 +89,16 @@ export declare function buildPermissionReview(calls: readonly PermissionReviewCa
89
89
  * is the one case that opens exact-first: the formatter is stale, and a
90
90
  * reader should see that rather than a projection that happens to be right.
91
91
  */
92
- export declare function buildPermissionSummary(review: string): PermissionReviewSummary;
92
+ /** What the screen can learn, beyond the envelope, to make a call readable. */
93
+ export interface PermissionSummaryContext {
94
+ /**
95
+ * The control a `computer_use` `ui_act` ref names in the latest UI
96
+ * snapshot (`Button "Beş" (e30)`), from the session's tool. Absent, the
97
+ * ref alone is shown.
98
+ */
99
+ readonly describeUiRef?: (ref: string) => string | undefined;
100
+ }
101
+ export declare function buildPermissionSummary(review: string, context?: PermissionSummaryContext): PermissionReviewSummary;
93
102
  /**
94
103
  * Project and wrap exact review text into PHYSICAL terminal rows.
95
104
  *
@@ -1 +1 @@
1
- {"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,SAAS;IACnB,QAAQ,CAAC,UAAU,CAAC,EAAE;QACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;QAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KACzC,CAAA;CACD,EAAE,GACD,OAAO,CAKT;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CA+E9E;AAyZD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,mBAAmB,EAAE,CA6BhC"}
1
+ {"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,SAAS;IACnB,QAAQ,CAAC,UAAU,CAAC,EAAE;QACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;QAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KACzC,CAAA;CACD,EAAE,GACD,OAAO,CAKT;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED;;;;;;;;;;;;;GAaG;AACH,+EAA+E;AAC/E,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CAC5D;AAED,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACpC,uBAAuB,CA+EzB;AA+kBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,mBAAmB,EAAE,CA6BhC"}
@@ -200,21 +200,7 @@ export function buildPermissionReview(calls, maxBytes = MAX_PERMISSION_REVIEW_BY
200
200
  };
201
201
  }
202
202
  }
203
- /**
204
- * Derive a readable review from the immutable exact envelope.
205
- *
206
- * This never reads the original tool objects: `buildPermissionReview` has
207
- * already rejected getters, prototypes and non-JSON values. A summary is
208
- * `complete` when it shows every key of every call, and callers open the
209
- * readable view by default only then — so a friendly label can never hide a
210
- * suffix. Two ways to be complete: a formatter below whose key set and value
211
- * types are exhaustive, or, for a tool no formatter here knows (`read`,
212
- * `grep`, a connected server's tool), every key with its full JSON-escaped
213
- * value. A tool that HAS a formatter but arrives in a shape it does not know
214
- * is the one case that opens exact-first: the formatter is stale, and a
215
- * reader should see that rather than a projection that happens to be right.
216
- */
217
- export function buildPermissionSummary(review) {
203
+ export function buildPermissionSummary(review, context = {}) {
218
204
  let parsed;
219
205
  try {
220
206
  parsed = JSON.parse(review);
@@ -235,7 +221,7 @@ export function buildPermissionSummary(review) {
235
221
  !Object.hasOwn(call, 'input')) {
236
222
  return { text: review, complete: false };
237
223
  }
238
- const readable = summarizeKnownCall(call.name, call.input);
224
+ const readable = summarizeKnownCall(call.name, call.input, context);
239
225
  complete &&= readable.complete;
240
226
  calls.push({
241
227
  name: call.name,
@@ -289,7 +275,7 @@ function commandLines(command) {
289
275
  const [first = '', ...rest] = command.replace(/\r/g, '\\u{000d}').split('\n');
290
276
  return [`$ ${first}`, ...rest.map((line) => ` ${line}`)];
291
277
  }
292
- function summarizeKnownCall(name, input) {
278
+ function summarizeKnownCall(name, input, context = {}) {
293
279
  if (name === 'bash' && isRecord(input)) {
294
280
  const allowed = new Set([
295
281
  'command',
@@ -415,6 +401,11 @@ function summarizeKnownCall(name, input) {
415
401
  if (summary)
416
402
  return summary;
417
403
  }
404
+ if (name === 'computer_use' && isRecord(input)) {
405
+ const summary = summarizeComputerUse(input, context);
406
+ if (summary)
407
+ return summary;
408
+ }
418
409
  if (FORMATTED_TOOLS.has(name)) {
419
410
  // A shape this file formats, in a form it does not know: the formatter
420
411
  // is stale. Exact-first, so nobody reads a projection that merely
@@ -471,9 +462,175 @@ function summarizeBrowserOpen(input) {
471
462
  complete: true,
472
463
  };
473
464
  }
465
+ /**
466
+ * A desktop action, or a batch of them, one numbered line per action in the
467
+ * order they will run: `3 desktop actions, in order` over `1. Click left at
468
+ * (812, 403)`, `2. Type "Bahadır Arda"`, `3. Press ENTER`. Text to be typed is
469
+ * shown whole — it is what lands in whichever window has focus — and the
470
+ * screenshot the coordinates belong to is named, since they are its pixels,
471
+ * not the screen's. An action or field this does not know returns null and
472
+ * the call opens exact-first.
473
+ */
474
+ function summarizeComputerUse(input, context) {
475
+ if (input.screenshot_id !== undefined && typeof input.screenshot_id !== 'string')
476
+ return null;
477
+ const space = typeof input.screenshot_id === 'string'
478
+ ? `Coordinates: pixels of screenshot ${input.screenshot_id}`
479
+ : 'Coordinates: pixels of the latest screenshot';
480
+ if (input.type === 'batch') {
481
+ if (!Object.keys(input).every((key) => ['type', 'actions', 'screenshot_id'].includes(key)))
482
+ return null;
483
+ if (!Array.isArray(input.actions) || input.actions.length === 0)
484
+ return null;
485
+ const lines = [];
486
+ let coordinates = false;
487
+ for (const [index, item] of input.actions.entries()) {
488
+ if (!isRecord(item) || item.type === 'batch' || Object.hasOwn(item, 'screenshot_id'))
489
+ return null;
490
+ const action = computerUseAction(item, [], context);
491
+ if (!action)
492
+ return null;
493
+ coordinates ||= action.coordinates;
494
+ lines.push(`${index + 1}. ${action.line}`);
495
+ }
496
+ const count = input.actions.length;
497
+ return {
498
+ lines: [
499
+ `${count} desktop action${count === 1 ? '' : 's'}, in order; stops at the first that fails`,
500
+ ...lines,
501
+ ...(coordinates ? [space] : []),
502
+ ],
503
+ complete: true,
504
+ };
505
+ }
506
+ if (input.actions !== undefined)
507
+ return null;
508
+ const action = computerUseAction(input, ['screenshot_id'], context);
509
+ if (!action)
510
+ return null;
511
+ return { lines: [action.line, ...(action.coordinates ? [space] : [])], complete: true };
512
+ }
513
+ /** How a person reads each `ui_act` action, before the control it acts on. */
514
+ const UI_ACT_VERBS = {
515
+ invoke: 'Press',
516
+ toggle: 'Toggle',
517
+ select: 'Select',
518
+ expand: 'Expand',
519
+ collapse: 'Collapse',
520
+ focus: 'Focus',
521
+ scroll_into_view: 'Scroll to',
522
+ };
523
+ function computerUseAction(item, extra = [], context = {}) {
524
+ const point = (value) => isRecord(value) &&
525
+ Object.keys(value).every((key) => key === 'x' || key === 'y') &&
526
+ Number.isInteger(value.x) &&
527
+ Number.isInteger(value.y)
528
+ ? `(${value.x}, ${value.y})`
529
+ : null;
530
+ const fields = (...names) => Object.keys(item).every((key) => key === 'type' || names.includes(key) || extra.includes(key));
531
+ const text = (value) => typeof value === 'string';
532
+ switch (item.type) {
533
+ case 'screenshot':
534
+ return fields() ? { line: 'Take a screenshot', coordinates: false } : null;
535
+ case 'cursor_position':
536
+ return fields() ? { line: 'Read the cursor position', coordinates: false } : null;
537
+ case 'list_windows':
538
+ return fields() ? { line: 'List the open windows', coordinates: false } : null;
539
+ case 'wait':
540
+ return fields('ms') && Number.isInteger(item.ms)
541
+ ? { line: `Wait ${item.ms} ms`, coordinates: false }
542
+ : null;
543
+ case 'focus_window':
544
+ return fields('window_id') && text(item.window_id)
545
+ ? {
546
+ line: `Bring window ${JSON.stringify(item.window_id)} to the front`,
547
+ coordinates: false,
548
+ }
549
+ : null;
550
+ case 'type_text':
551
+ return fields('text') && text(item.text)
552
+ ? { line: `Type ${JSON.stringify(item.text)}`, coordinates: false }
553
+ : null;
554
+ case 'key':
555
+ return fields('keys') && text(item.keys)
556
+ ? { line: `Press ${JSON.stringify(item.keys)}`, coordinates: false }
557
+ : null;
558
+ case 'mouse_move': {
559
+ const to = point(item.to);
560
+ return fields('to') && to ? { line: `Move the pointer to ${to}`, coordinates: true } : null;
561
+ }
562
+ case 'mouse_click': {
563
+ const at = point(item.at);
564
+ return fields('at', 'button') && at && text(item.button)
565
+ ? { line: `Click ${item.button} at ${at}`, coordinates: true }
566
+ : null;
567
+ }
568
+ case 'mouse_drag': {
569
+ const from = point(item.from);
570
+ const to = point(item.to);
571
+ return fields('from', 'to', 'button') && from && to && text(item.button)
572
+ ? { line: `Drag ${item.button} from ${from} to ${to}`, coordinates: true }
573
+ : null;
574
+ }
575
+ case 'scroll': {
576
+ const at = point(item.at);
577
+ return fields('at', 'direction', 'amount') &&
578
+ at &&
579
+ text(item.direction) &&
580
+ Number.isInteger(item.amount)
581
+ ? { line: `Scroll ${item.direction} ${item.amount} at ${at}`, coordinates: true }
582
+ : null;
583
+ }
584
+ case 'ui_snapshot':
585
+ return fields('window_id') && (item.window_id === undefined || text(item.window_id))
586
+ ? {
587
+ line: item.window_id === undefined
588
+ ? 'Read the controls of the window in front'
589
+ : `Read the controls of window ${JSON.stringify(item.window_id)}`,
590
+ coordinates: false,
591
+ }
592
+ : null;
593
+ case 'ui_act': {
594
+ if (!fields('ref', 'action', 'value') || !text(item.ref) || !text(item.action))
595
+ return null;
596
+ if (item.value !== undefined && !text(item.value))
597
+ return null;
598
+ // The application's own words for the control, as the session's tool
599
+ // last read them; the ref stays, since that is what runs.
600
+ const target = context.describeUiRef?.(item.ref) ?? `control ${item.ref}`;
601
+ if (item.action === 'set_value')
602
+ return {
603
+ line: `Set ${target} to ${JSON.stringify(item.value ?? '')}`,
604
+ coordinates: false,
605
+ };
606
+ const verb = UI_ACT_VERBS[item.action];
607
+ return verb ? { line: `${verb} ${target}`, coordinates: false } : null;
608
+ }
609
+ case 'zoom': {
610
+ const region = item.region;
611
+ return fields('region') &&
612
+ isRecord(region) &&
613
+ Object.keys(region).every((key) => ['x', 'y', 'width', 'height'].includes(key)) &&
614
+ ['x', 'y', 'width', 'height'].every((key) => Number.isInteger(region[key]))
615
+ ? {
616
+ line: `Zoom into ${region.width}x${region.height} at (${region.x}, ${region.y})`,
617
+ coordinates: true,
618
+ }
619
+ : null;
620
+ }
621
+ default:
622
+ return null;
623
+ }
624
+ }
474
625
  const PLAIN_TOOL_NAME = /^[\w.:-]+$/u;
475
626
  /** The tools with a formatter above; an evolved shape of one opens exact-first. */
476
- const FORMATTED_TOOLS = new Set(['bash', 'edit', 'write', 'Agent']);
627
+ const FORMATTED_TOOLS = new Set([
628
+ 'bash',
629
+ 'edit',
630
+ 'write',
631
+ 'Agent',
632
+ 'computer_use',
633
+ ]);
477
634
  /** Labels group only the calls in this approval; they never invent execution phases. */
478
635
  function compactAgentPlan(calls) {
479
636
  const lines = [];
@@ -1 +1 @@
1
- {"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/schedule/host-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAmB5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAiB,MAAM,gBAAgB,CAAA;AAEzE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CACxB;AAkCD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCnF;AA8CD,4EAA4E;AAC5E,wBAAgB,YAAY,CAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAU5E;AAED,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,sBAAsB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmJf;AAED,wBAAsB,cAAc,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
1
+ {"version":3,"file":"host-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/schedule/host-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAoB5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAiB,MAAM,gBAAgB,CAAA;AAEzE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CACxB;AAkCD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCnF;AA8CD,4EAA4E;AAC5E,wBAAgB,YAAY,CAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAU5E;AAED,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,sBAAsB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmJf;AAED,wBAAsB,cAAc,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
@@ -13,6 +13,7 @@ import { readPermissionLayers } from '../../config/load.js';
13
13
  import { JobRequestError, buildJob, confirmJob, previewLines } from '../../schedule/build.js';
14
14
  import { changesBlock, changesSinceConfirmed } from '../../schedule/changes.js';
15
15
  import { callEndpoint, readEndpoint } from '../../schedule/daemon/endpoint.js';
16
+ import { callsCount } from '../../schedule/fire/calls.js';
16
17
  import { schedulePaths } from '../../schedule/paths.js';
17
18
  import { compileJobPolicy, isPresetName } from '../../schedule/policy.js';
18
19
  import { parkedRunWords, resumeCommand } from '../../schedule/resume-command.js';
@@ -71,7 +72,7 @@ export async function listScheduleJobs(ctx) {
71
72
  : state.activeRun?.status === 'running'
72
73
  ? ' ● running'
73
74
  : '';
74
- lines.push(`⏲ ${job.name} [${job.state}]${mark}\n ${describeSchedule(job.schedule, { tz })} · next ${when(nextFireOf(job, state), tz)}${state.lastRun ? ` · last ${state.lastRun.status} ${when(state.lastRun.endedAt, tz)}` : ''}\n ${job.folder.canonical}`);
75
+ lines.push(`⏲ ${job.name} [${job.state}]${mark}\n ${describeSchedule(job.schedule, { tz })} · next ${when(nextFireOf(job, state), tz)}${state.lastRun ? ` · last ${state.lastRun.status}${callsCount(state.lastRun) ? ` (${callsCount(state.lastRun)})` : ''} ${when(state.lastRun.endedAt, tz)}` : ''}\n ${job.folder.canonical}`);
75
76
  if (state.activeRun?.status === 'awaiting-approval' && state.activeRun.sessionId) {
76
77
  const command = resumeCommand(job, state.activeRun.sessionId);
77
78
  const verb = state.activeRun.handoff ? 'when that is done, continue it' : 'answer it';