@phnx-labs/agents-cli 1.22.112 → 1.22.114

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 (706) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +10 -11
  3. package/dist/cli/command-registry.d.ts +0 -60
  4. package/dist/cli/command-registry.js +59 -61
  5. package/dist/commands/apply.d.ts +0 -4
  6. package/dist/commands/apply.js +3 -3
  7. package/dist/commands/browser-picker.d.ts +3 -6
  8. package/dist/commands/browser-picker.js +2 -2
  9. package/dist/commands/browser-sessions-picker.d.ts +2 -1
  10. package/dist/commands/computer-sessions-picker.d.ts +2 -1
  11. package/dist/commands/computer.d.ts +14 -19
  12. package/dist/commands/computer.js +65 -10
  13. package/dist/commands/config.js +46 -2
  14. package/dist/commands/daemon.d.ts +0 -23
  15. package/dist/commands/daemon.js +1 -1
  16. package/dist/commands/detach-core.d.ts +2 -1
  17. package/dist/commands/detach.d.ts +0 -3
  18. package/dist/commands/detach.js +3 -3
  19. package/dist/commands/feed.d.ts +3 -3
  20. package/dist/commands/feed.js +1 -1
  21. package/dist/commands/focus.d.ts +4 -4
  22. package/dist/commands/harness-hooks.d.ts +0 -7
  23. package/dist/commands/harness-hooks.js +1 -1
  24. package/dist/commands/harness-wizard.d.ts +2 -2
  25. package/dist/commands/harness.d.ts +3 -8
  26. package/dist/commands/harness.js +1 -1
  27. package/dist/commands/inspect.d.ts +2 -3
  28. package/dist/commands/inspect.js +1 -1
  29. package/dist/commands/message.d.ts +1 -1
  30. package/dist/commands/message.js +3 -3
  31. package/dist/commands/projects.d.ts +2 -18
  32. package/dist/commands/projects.js +89 -3
  33. package/dist/commands/resource-view.d.ts +3 -2
  34. package/dist/commands/resume.d.ts +0 -1
  35. package/dist/commands/resume.js +1 -1
  36. package/dist/commands/routines.d.ts +1 -3
  37. package/dist/commands/routines.js +1 -1
  38. package/dist/commands/run-account-picker.d.ts +2 -1
  39. package/dist/commands/run-broadcast.d.ts +2 -1
  40. package/dist/commands/run-device-picker.d.ts +2 -1
  41. package/dist/commands/secrets-passthrough.d.ts +14 -0
  42. package/dist/commands/secrets-passthrough.js +21 -2
  43. package/dist/commands/sessions-backfill.d.ts +2 -35
  44. package/dist/commands/sessions-backfill.js +1 -1
  45. package/dist/commands/sessions-bookmark.d.ts +0 -10
  46. package/dist/commands/sessions-bookmark.js +1 -1
  47. package/dist/commands/sessions-inject.d.ts +2 -3
  48. package/dist/commands/sessions-inject.js +8 -17
  49. package/dist/commands/sessions-picker-factory.d.ts +4 -14
  50. package/dist/commands/sessions-picker-factory.js +2 -2
  51. package/dist/commands/sessions-picker.d.ts +3 -9
  52. package/dist/commands/sessions-picker.js +2 -2
  53. package/dist/commands/sessions-resume.d.ts +2 -4
  54. package/dist/commands/sessions-resume.js +0 -5
  55. package/dist/commands/sessions-stats.d.ts +2 -1
  56. package/dist/commands/sessions-stop.d.ts +0 -3
  57. package/dist/commands/sessions-stop.js +1 -1
  58. package/dist/commands/sessions-tail.d.ts +2 -1
  59. package/dist/commands/sessions-trace.d.ts +4 -6
  60. package/dist/commands/sessions-trace.js +1 -1
  61. package/dist/commands/sessions.d.ts +14 -104
  62. package/dist/commands/sessions.js +22 -10
  63. package/dist/commands/setup-mine.d.ts +0 -6
  64. package/dist/commands/setup-mine.js +1 -1
  65. package/dist/commands/setup.d.ts +3 -4
  66. package/dist/commands/setup.js +1 -1
  67. package/dist/commands/share.d.ts +8 -8
  68. package/dist/commands/teams-picker.d.ts +2 -5
  69. package/dist/commands/teams-picker.js +2 -2
  70. package/dist/commands/teams.d.ts +1 -7
  71. package/dist/commands/teams.js +1 -1
  72. package/dist/commands/tmux.d.ts +1 -1
  73. package/dist/commands/tmux.js +1 -1
  74. package/dist/commands/upgrade.d.ts +2 -1
  75. package/dist/commands/utils.d.ts +1 -1
  76. package/dist/commands/utils.js +1 -1
  77. package/dist/lib/account-capabilities.d.ts +2 -1
  78. package/dist/lib/account-catalog.d.ts +4 -13
  79. package/dist/lib/account-catalog.js +1 -1
  80. package/dist/lib/account-registry.d.ts +3 -4
  81. package/dist/lib/account-registry.js +1 -1
  82. package/dist/lib/accounting/account-launch.d.ts +4 -3
  83. package/dist/lib/accounting/account-pool.d.ts +2 -1
  84. package/dist/lib/accounting/rotate.d.ts +3 -9
  85. package/dist/lib/accounting/rotate.js +2 -14
  86. package/dist/lib/accounting/usage-sync.d.ts +5 -4
  87. package/dist/lib/accounting/usage.d.ts +7 -31
  88. package/dist/lib/accounting/usage.js +4 -4
  89. package/dist/lib/accounts/migrate.d.ts +8 -8
  90. package/dist/lib/accounts/migrate.js +1 -1
  91. package/dist/lib/acp/client.d.ts +3 -2
  92. package/dist/lib/acp/harnesses.d.ts +2 -2
  93. package/dist/lib/acp/harnesses.js +1 -1
  94. package/dist/lib/acp/run.d.ts +2 -1
  95. package/dist/lib/actor.d.ts +3 -2
  96. package/dist/lib/add-dir.d.ts +2 -17
  97. package/dist/lib/add-dir.js +2 -6
  98. package/dist/lib/address.d.ts +56 -0
  99. package/dist/lib/address.js +143 -0
  100. package/dist/lib/agent-spec/agents.d.ts +12 -28
  101. package/dist/lib/agent-spec/agents.js +2 -6
  102. package/dist/lib/agent-spec/primitives.d.ts +0 -7
  103. package/dist/lib/agent-spec/primitives.js +0 -6
  104. package/dist/lib/agent-spec/types.d.ts +2 -1
  105. package/dist/lib/analytics/dashboard.d.ts +1 -5
  106. package/dist/lib/analytics/dashboard.js +0 -2
  107. package/dist/lib/analytics/mix-commands.d.ts +0 -7
  108. package/dist/lib/analytics/mix-commands.js +3 -3
  109. package/dist/lib/analytics/recipes.d.ts +0 -12
  110. package/dist/lib/analytics/recipes.js +7 -31
  111. package/dist/lib/analytics/usage-db.d.ts +5 -32
  112. package/dist/lib/analytics/usage-db.js +1 -70
  113. package/dist/lib/answer-router.d.ts +7 -6
  114. package/dist/lib/answer-router.js +5 -11
  115. package/dist/lib/artifact-actions.d.ts +0 -4
  116. package/dist/lib/ask-classifier.d.ts +3 -4
  117. package/dist/lib/ask-classifier.js +0 -7
  118. package/dist/lib/auth-health.d.ts +3 -46
  119. package/dist/lib/auth-health.js +3 -3
  120. package/dist/lib/auth-mint.d.ts +6 -6
  121. package/dist/lib/auth-mint.js +5 -5
  122. package/dist/lib/bench/runner.d.ts +2 -2
  123. package/dist/lib/bench/runner.js +1 -1
  124. package/dist/lib/bench/storage.d.ts +0 -1
  125. package/dist/lib/bench/storage.js +1 -1
  126. package/dist/lib/boot-profile.d.ts +0 -2
  127. package/dist/lib/boot-profile.js +0 -4
  128. package/dist/lib/brand.d.ts +0 -6
  129. package/dist/lib/brand.js +1 -1
  130. package/dist/lib/browser/arc-discovery.d.ts +4 -12
  131. package/dist/lib/browser/arc-discovery.js +1 -1
  132. package/dist/lib/browser/cdp.d.ts +1 -1
  133. package/dist/lib/browser/chrome.d.ts +2 -2
  134. package/dist/lib/browser/chrome.js +0 -4
  135. package/dist/lib/browser/chromium-discovery.d.ts +3 -2
  136. package/dist/lib/browser/drivers/arc.d.ts +3 -20
  137. package/dist/lib/browser/drivers/arc.js +2 -7
  138. package/dist/lib/browser/drivers/firefox.d.ts +2 -6
  139. package/dist/lib/browser/drivers/firefox.js +1 -1
  140. package/dist/lib/browser/drivers/local.d.ts +2 -1
  141. package/dist/lib/browser/drivers/ssh.d.ts +2 -3
  142. package/dist/lib/browser/drivers/ssh.js +0 -7
  143. package/dist/lib/browser/firefox-discovery.d.ts +4 -3
  144. package/dist/lib/browser/har.d.ts +8 -7
  145. package/dist/lib/browser/hygiene.d.ts +2 -3
  146. package/dist/lib/browser/hygiene.js +1 -1
  147. package/dist/lib/browser/ipc.d.ts +4 -3
  148. package/dist/lib/browser/ipc.js +1 -1
  149. package/dist/lib/browser/login-detection.d.ts +1 -8
  150. package/dist/lib/browser/registry.d.ts +2 -1
  151. package/dist/lib/browser/remote-control.d.ts +0 -7
  152. package/dist/lib/browser/remote-control.js +2 -2
  153. package/dist/lib/browser/resolve-target.d.ts +2 -6
  154. package/dist/lib/browser/resolve-target.js +3 -3
  155. package/dist/lib/browser/runtime-state.d.ts +4 -4
  156. package/dist/lib/browser/service.d.ts +4 -4
  157. package/dist/lib/browser/sessions-list.d.ts +0 -10
  158. package/dist/lib/browser/sessions-list.js +3 -3
  159. package/dist/lib/browser/stream.d.ts +2 -1
  160. package/dist/lib/browser/task-index.d.ts +4 -4
  161. package/dist/lib/browser/task-index.js +1 -1
  162. package/dist/lib/browser/types.d.ts +0 -20
  163. package/dist/lib/browser/types.js +1 -34
  164. package/dist/lib/browser/upload.d.ts +0 -27
  165. package/dist/lib/budget/ledger.d.ts +0 -2
  166. package/dist/lib/budget/ledger.js +1 -1
  167. package/dist/lib/budget/live-cloud.d.ts +2 -1
  168. package/dist/lib/budget/preflight.d.ts +3 -5
  169. package/dist/lib/budget/preflight.js +1 -1
  170. package/dist/lib/catchup.d.ts +2 -1
  171. package/dist/lib/channels/owner-forward.d.ts +5 -4
  172. package/dist/lib/channels/owner-sink.js +2 -2
  173. package/dist/lib/channels/providers/desktop.js +1 -1
  174. package/dist/lib/channels/providers/rush.d.ts +2 -1
  175. package/dist/lib/channels/registry.d.ts +1 -1
  176. package/dist/lib/channels/registry.js +1 -1
  177. package/dist/lib/channels/resolve.d.ts +3 -2
  178. package/dist/lib/channels/send.d.ts +5 -4
  179. package/dist/lib/cli-resources.d.ts +3 -9
  180. package/dist/lib/cli-resources.js +1 -1
  181. package/dist/lib/cloud/cursor.d.ts +1 -2
  182. package/dist/lib/cloud/cursor.js +1 -1
  183. package/dist/lib/cloud/dispatch.d.ts +2 -1
  184. package/dist/lib/cloud/factory.d.ts +0 -2
  185. package/dist/lib/cloud/factory.js +1 -1
  186. package/dist/lib/cloud/rush.d.ts +3 -11
  187. package/dist/lib/cloud/rush.js +1 -1
  188. package/dist/lib/cloud/session-index.d.ts +2 -1
  189. package/dist/lib/cloud/types.d.ts +2 -1
  190. package/dist/lib/codex-policy.d.ts +2 -1
  191. package/dist/lib/commands.d.ts +7 -7
  192. package/dist/lib/commands.js +1 -1
  193. package/dist/lib/comms-render.d.ts +1 -1
  194. package/dist/lib/computer/context.d.ts +11 -3
  195. package/dist/lib/computer/context.js +2 -2
  196. package/dist/lib/computer/policy.d.ts +0 -12
  197. package/dist/lib/computer/policy.js +1 -1
  198. package/dist/lib/computer-client.d.ts +3 -3
  199. package/dist/lib/computer-client.js +0 -1
  200. package/dist/lib/concurrency.d.ts +2 -1
  201. package/dist/lib/config-keys.d.ts +16 -3
  202. package/dist/lib/config-keys.js +47 -2
  203. package/dist/lib/convert.d.ts +0 -12
  204. package/dist/lib/convert.js +1 -12
  205. package/dist/lib/crabbox/cli.d.ts +6 -24
  206. package/dist/lib/crabbox/cli.js +2 -28
  207. package/dist/lib/crabbox/lease.d.ts +5 -6
  208. package/dist/lib/crabbox/lease.js +1 -1
  209. package/dist/lib/crabbox/progress.d.ts +2 -1
  210. package/dist/lib/crabbox/setup-copy.d.ts +2 -3
  211. package/dist/lib/crabbox/setup-copy.js +1 -1
  212. package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
  213. package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
  214. package/dist/lib/daemon/catchup-service.d.ts +2 -1
  215. package/dist/lib/daemon/daemon.d.ts +4 -12
  216. package/dist/lib/daemon/daemon.js +42 -23
  217. package/dist/lib/daemon/harness-update-service.d.ts +2 -19
  218. package/dist/lib/daemon/harness-update-service.js +3 -3
  219. package/dist/lib/daemon/runner.d.ts +3 -3
  220. package/dist/lib/daemon/self-update-service.d.ts +1 -16
  221. package/dist/lib/daemon/self-update-service.js +6 -6
  222. package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
  223. package/dist/lib/daemon/supervisor.d.ts +3 -2
  224. package/dist/lib/daemon/testdata/process-view-daemon.d.ts +1 -0
  225. package/dist/lib/daemon/testdata/process-view-daemon.js +14 -0
  226. package/dist/lib/daemon/testdata/process-view-start.d.ts +1 -0
  227. package/dist/lib/daemon/testdata/process-view-start.js +43 -0
  228. package/dist/lib/daemon-services.d.ts +2 -1
  229. package/dist/lib/daemon-webhooks.d.ts +1 -1
  230. package/dist/lib/deeplink/register.d.ts +3 -13
  231. package/dist/lib/deeplink/register.js +3 -3
  232. package/dist/lib/deeplink/url.d.ts +3 -2
  233. package/dist/lib/device-config.d.ts +4 -15
  234. package/dist/lib/device-config.js +164 -8
  235. package/dist/lib/devices/connect.d.ts +2 -1
  236. package/dist/lib/devices/discovery-policy.d.ts +3 -2
  237. package/dist/lib/devices/doctor-findings.js +1 -1
  238. package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
  239. package/dist/lib/devices/fleet-divergence.d.ts +2 -1
  240. package/dist/lib/devices/fleet.d.ts +3 -4
  241. package/dist/lib/devices/fleet.js +1 -1
  242. package/dist/lib/devices/harness-inventory.d.ts +3 -2
  243. package/dist/lib/devices/health-report.d.ts +3 -2
  244. package/dist/lib/devices/health.d.ts +1 -8
  245. package/dist/lib/devices/health.js +1 -1
  246. package/dist/lib/devices/interactive-host.d.ts +0 -2
  247. package/dist/lib/devices/interactive-host.js +1 -1
  248. package/dist/lib/devices/known-hosts.d.ts +2 -20
  249. package/dist/lib/devices/known-hosts.js +2 -2
  250. package/dist/lib/devices/pool.d.ts +2 -1
  251. package/dist/lib/devices/resolve-target.d.ts +2 -2
  252. package/dist/lib/devices/rollout-verify.d.ts +3 -2
  253. package/dist/lib/devices/stats-cache.d.ts +3 -2
  254. package/dist/lib/devices/sync.d.ts +6 -5
  255. package/dist/lib/devices/worker-pick.d.ts +3 -12
  256. package/dist/lib/devices/worker-pick.js +1 -1
  257. package/dist/lib/diff-text.d.ts +2 -1
  258. package/dist/lib/doctor-diff.d.ts +2 -1
  259. package/dist/lib/drift-sync.d.ts +3 -2
  260. package/dist/lib/drift.d.ts +3 -3
  261. package/dist/lib/drift.js +1 -1
  262. package/dist/lib/event-families.d.ts +0 -6
  263. package/dist/lib/event-families.js +3 -3
  264. package/dist/lib/event-provenance.d.ts +4 -1
  265. package/dist/lib/event-provenance.js +4 -0
  266. package/dist/lib/events-ingest.d.ts +4 -3
  267. package/dist/lib/exec-account-home.d.ts +2 -4
  268. package/dist/lib/exec-account-home.js +1 -1
  269. package/dist/lib/exec-bounded.d.ts +3 -4
  270. package/dist/lib/exec-bounded.js +1 -1
  271. package/dist/lib/exec.d.ts +6 -18
  272. package/dist/lib/exec.js +28 -8
  273. package/dist/lib/factory/snapshot.d.ts +2 -2
  274. package/dist/lib/factory/snapshot.js +1 -1
  275. package/dist/lib/feed/activity-stream.d.ts +2 -5
  276. package/dist/lib/feed/activity-stream.js +11 -2
  277. package/dist/lib/feed/activity.d.ts +16 -33
  278. package/dist/lib/feed/activity.js +69 -26
  279. package/dist/lib/feed/answer.d.ts +3 -2
  280. package/dist/lib/feed/attention.js +5 -1
  281. package/dist/lib/feed/events.d.ts +2 -47
  282. package/dist/lib/feed/events.js +1 -141
  283. package/dist/lib/feed/feed.d.ts +9 -42
  284. package/dist/lib/feed/feed.js +1 -60
  285. package/dist/lib/feed/pr-status.d.ts +0 -2
  286. package/dist/lib/feed/pr-status.js +1 -5
  287. package/dist/lib/feed/watch.d.ts +10 -2
  288. package/dist/lib/feed/watch.js +91 -4
  289. package/dist/lib/feed-broadcast.d.ts +5 -47
  290. package/dist/lib/feed-broadcast.js +9 -9
  291. package/dist/lib/feed-outcome.d.ts +3 -6
  292. package/dist/lib/feed-outcome.js +2 -2
  293. package/dist/lib/feed-policy.d.ts +5 -6
  294. package/dist/lib/feed-policy.js +2 -2
  295. package/dist/lib/feed-post.d.ts +3 -4
  296. package/dist/lib/feed-post.js +2 -2
  297. package/dist/lib/feed-ranking.d.ts +2 -2
  298. package/dist/lib/feed-ranking.js +1 -1
  299. package/dist/lib/fleet/apply.d.ts +5 -6
  300. package/dist/lib/fleet/apply.js +4 -4
  301. package/dist/lib/fleet/manifest.d.ts +2 -1
  302. package/dist/lib/fleet/remote-login.d.ts +18 -36
  303. package/dist/lib/fleet/remote-login.js +20 -19
  304. package/dist/lib/fleet/types.d.ts +0 -8
  305. package/dist/lib/fleet-cache.d.ts +1 -18
  306. package/dist/lib/fleet-cache.js +0 -5
  307. package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
  308. package/dist/lib/fleet-shared-repo-sync.js +1 -1
  309. package/dist/lib/fleet-shared-state.d.ts +3 -2
  310. package/dist/lib/format.d.ts +2 -1
  311. package/dist/lib/friction-heuristics.d.ts +2 -1
  312. package/dist/lib/fs-walk.d.ts +2 -1
  313. package/dist/lib/fuzzy.d.ts +2 -1
  314. package/dist/lib/gemini-settings.d.ts +0 -1
  315. package/dist/lib/gemini-settings.js +1 -1
  316. package/dist/lib/git.d.ts +7 -65
  317. package/dist/lib/git.js +3 -142
  318. package/dist/lib/github/gh-overload.d.ts +0 -4
  319. package/dist/lib/github/gh-overload.js +2 -2
  320. package/dist/lib/github/project-prs.d.ts +118 -0
  321. package/dist/lib/github/project-prs.js +173 -0
  322. package/dist/lib/github/rest.d.ts +2 -1
  323. package/dist/lib/harness/exec-config-version.d.ts +2 -1
  324. package/dist/lib/harness-auth-capabilities.d.ts +5 -4
  325. package/dist/lib/harness-connection-test.d.ts +2 -1
  326. package/dist/lib/heal.d.ts +3 -20
  327. package/dist/lib/heal.js +2 -39
  328. package/dist/lib/help.d.ts +3 -2
  329. package/dist/lib/helper-download.d.ts +0 -12
  330. package/dist/lib/helper-download.js +2 -2
  331. package/dist/lib/helper-versions.d.ts +2 -1
  332. package/dist/lib/helper-versions.js +1 -1
  333. package/dist/lib/hooks/install.d.ts +8 -49
  334. package/dist/lib/hooks/install.js +2 -96
  335. package/dist/lib/hooks/match.d.ts +2 -1
  336. package/dist/lib/hosts/credential-transport.d.ts +0 -2
  337. package/dist/lib/hosts/credential-transport.js +1 -1
  338. package/dist/lib/hosts/dispatch.d.ts +2 -34
  339. package/dist/lib/hosts/dispatch.js +4 -21
  340. package/dist/lib/hosts/logs.d.ts +2 -1
  341. package/dist/lib/hosts/passthrough.d.ts +1 -1
  342. package/dist/lib/hosts/passthrough.js +0 -1
  343. package/dist/lib/hosts/progress.d.ts +0 -5
  344. package/dist/lib/hosts/progress.js +1 -1
  345. package/dist/lib/hosts/ready.d.ts +3 -4
  346. package/dist/lib/hosts/ready.js +0 -8
  347. package/dist/lib/hosts/reconcile.d.ts +2 -8
  348. package/dist/lib/hosts/reconcile.js +1 -1
  349. package/dist/lib/hosts/reconnect.d.ts +4 -11
  350. package/dist/lib/hosts/reconnect.js +2 -2
  351. package/dist/lib/hosts/registry.d.ts +1 -1
  352. package/dist/lib/hosts/remote-cmd.d.ts +4 -3
  353. package/dist/lib/hosts/remote-session-id.d.ts +5 -27
  354. package/dist/lib/hosts/remote-session-id.js +18 -61
  355. package/dist/lib/hosts/session-index.d.ts +3 -2
  356. package/dist/lib/hosts/ssh-config.d.ts +2 -3
  357. package/dist/lib/hosts/ssh-config.js +0 -10
  358. package/dist/lib/humans.d.ts +0 -2
  359. package/dist/lib/humans.js +2 -2
  360. package/dist/lib/import.d.ts +4 -3
  361. package/dist/lib/installations/installation-lock.d.ts +0 -2
  362. package/dist/lib/installations/installation-lock.js +2 -2
  363. package/dist/lib/installations/launch-gate.d.ts +0 -9
  364. package/dist/lib/installations/launch-gate.js +1 -1
  365. package/dist/lib/installations/migrate.d.ts +0 -11
  366. package/dist/lib/installations/migrate.js +1 -1
  367. package/dist/lib/installations/shims.d.ts +1 -1
  368. package/dist/lib/installations/shims.js +2 -2
  369. package/dist/lib/installations/update-runtime.js +1 -1
  370. package/dist/lib/launch-identity.d.ts +10 -0
  371. package/dist/lib/launch-identity.js +31 -0
  372. package/dist/lib/linear-cache.d.ts +2 -1
  373. package/dist/lib/linux-userns.d.ts +2 -3
  374. package/dist/lib/linux-userns.js +0 -4
  375. package/dist/lib/loop.d.ts +2 -1
  376. package/dist/lib/mailbox-gc.d.ts +2 -1
  377. package/dist/lib/mailbox-target.d.ts +2 -1
  378. package/dist/lib/mailbox.d.ts +0 -6
  379. package/dist/lib/mailbox.js +1 -1
  380. package/dist/lib/manifest.d.ts +0 -14
  381. package/dist/lib/manifest.js +2 -2
  382. package/dist/lib/mcp-registry.d.ts +2 -1
  383. package/dist/lib/memory.d.ts +2 -13
  384. package/dist/lib/memory.js +4 -4
  385. package/dist/lib/menubar/download-menubar.d.ts +0 -2
  386. package/dist/lib/menubar/download-menubar.js +1 -5
  387. package/dist/lib/menubar/install-menubar.d.ts +3 -14
  388. package/dist/lib/menubar/install-menubar.js +3 -3
  389. package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
  390. package/dist/lib/menubar/migrate-prefs.js +168 -0
  391. package/dist/lib/menubar/resolve-version.d.ts +1 -9
  392. package/dist/lib/menubar/resolve-version.js +4 -4
  393. package/dist/lib/menubar/snapshot.d.ts +24 -2
  394. package/dist/lib/menubar/snapshot.js +26 -0
  395. package/dist/lib/model-tier-overrides.d.ts +3 -2
  396. package/dist/lib/monitors/config.d.ts +0 -2
  397. package/dist/lib/monitors/config.js +0 -4
  398. package/dist/lib/monitors/engine.d.ts +1 -1
  399. package/dist/lib/monitors/remote.d.ts +3 -2
  400. package/dist/lib/monitors/sources/webhook.d.ts +2 -15
  401. package/dist/lib/monitors/sources/webhook.js +1 -38
  402. package/dist/lib/monitors/state.d.ts +4 -7
  403. package/dist/lib/monitors/state.js +2 -2
  404. package/dist/lib/notify.d.ts +1 -1
  405. package/dist/lib/notify.js +1 -1
  406. package/dist/lib/onepassword.d.ts +5 -14
  407. package/dist/lib/onepassword.js +0 -64
  408. package/dist/lib/open-url.d.ts +3 -2
  409. package/dist/lib/openclaw-keychain.d.ts +4 -17
  410. package/dist/lib/openclaw-keychain.js +3 -33
  411. package/dist/lib/operator.d.ts +2 -2
  412. package/dist/lib/operator.js +1 -1
  413. package/dist/lib/output/git-output.d.ts +4 -14
  414. package/dist/lib/output/git-output.js +1 -1
  415. package/dist/lib/owner-message.d.ts +3 -29
  416. package/dist/lib/owner-message.js +3 -3
  417. package/dist/lib/packages/output-home.d.ts +2 -4
  418. package/dist/lib/packages/output-home.js +2 -2
  419. package/dist/lib/perf/db.d.ts +0 -2
  420. package/dist/lib/perf/db.js +2 -7
  421. package/dist/lib/permissions-registry.d.ts +2 -3
  422. package/dist/lib/permissions-registry.js +0 -4
  423. package/dist/lib/permissions.d.ts +6 -16
  424. package/dist/lib/permissions.js +2 -15
  425. package/dist/lib/picker.d.ts +6 -5
  426. package/dist/lib/placement.d.ts +3 -6
  427. package/dist/lib/placement.js +0 -17
  428. package/dist/lib/platform/posixpath.d.ts +2 -1
  429. package/dist/lib/platform/winpath.d.ts +2 -1
  430. package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
  431. package/dist/lib/plugins/plugin-marketplace.js +1 -1
  432. package/dist/lib/pr-land-detach.d.ts +2 -1
  433. package/dist/lib/profiles-presets.d.ts +2 -1
  434. package/dist/lib/profiles.d.ts +3 -9
  435. package/dist/lib/profiles.js +1 -9
  436. package/dist/lib/project-doctor.d.ts +2 -1
  437. package/dist/lib/project-launch.d.ts +2 -2
  438. package/dist/lib/project-probe.d.ts +4 -3
  439. package/dist/lib/project-pull.d.ts +2 -1
  440. package/dist/lib/project-resources.d.ts +2 -2
  441. package/dist/lib/project-resources.js +1 -1
  442. package/dist/lib/project-root.d.ts +2 -6
  443. package/dist/lib/project-root.js +1 -1
  444. package/dist/lib/project-schedule.d.ts +2 -1
  445. package/dist/lib/project-status.d.ts +2 -16
  446. package/dist/lib/project-status.js +3 -3
  447. package/dist/lib/reconcile-and-repair.d.ts +5 -4
  448. package/dist/lib/redact.d.ts +7 -1
  449. package/dist/lib/redact.js +94 -3
  450. package/dist/lib/refresh-coordinator.d.ts +2 -1
  451. package/dist/lib/refresh.d.ts +3 -2
  452. package/dist/lib/remote-agents-json.d.ts +3 -2
  453. package/dist/lib/reserved-stores.d.ts +0 -2
  454. package/dist/lib/reserved-stores.js +3 -5
  455. package/dist/lib/resource-content-diff.d.ts +0 -2
  456. package/dist/lib/resource-content-diff.js +1 -1
  457. package/dist/lib/resource-patterns.d.ts +2 -1
  458. package/dist/lib/resource-profiles.d.ts +2 -8
  459. package/dist/lib/resource-profiles.js +3 -27
  460. package/dist/lib/resources/workflows.d.ts +1 -1
  461. package/dist/lib/resources.d.ts +4 -9
  462. package/dist/lib/resources.js +1 -1
  463. package/dist/lib/routine-context.d.ts +2 -5
  464. package/dist/lib/routine-context.js +2 -2
  465. package/dist/lib/routine-notify-owner.d.ts +8 -7
  466. package/dist/lib/routine-notify-owner.js +5 -5
  467. package/dist/lib/routine-process-cleanup.d.ts +2 -1
  468. package/dist/lib/routine-readiness.d.ts +0 -2
  469. package/dist/lib/routine-readiness.js +0 -7
  470. package/dist/lib/routines-project.d.ts +3 -4
  471. package/dist/lib/routines-project.js +1 -1
  472. package/dist/lib/rules/compile.d.ts +3 -25
  473. package/dist/lib/rules/compile.js +1 -1
  474. package/dist/lib/rules/compose.d.ts +3 -9
  475. package/dist/lib/rules/rules.d.ts +4 -15
  476. package/dist/lib/rules/rules.js +1 -64
  477. package/dist/lib/run-defaults.d.ts +1 -1
  478. package/dist/lib/run-notify.d.ts +2 -1
  479. package/dist/lib/run-trace-sync.d.ts +1 -1
  480. package/dist/lib/run-trace-sync.js +1 -1
  481. package/dist/lib/scheduler.d.ts +2 -1
  482. package/dist/lib/scheduling/routines.d.ts +9 -21
  483. package/dist/lib/scheduling/routines.js +3 -46
  484. package/dist/lib/secrets-client.d.ts +0 -17
  485. package/dist/lib/secrets-client.js +4 -26
  486. package/dist/lib/secrets-policy.d.ts +12 -17
  487. package/dist/lib/secrets-policy.js +5 -5
  488. package/dist/lib/secrets-types.d.ts +3 -2
  489. package/dist/lib/secrets-types.js +2 -1
  490. package/dist/lib/self-heal/checks/install-staging.js +1 -1
  491. package/dist/lib/self-heal/registry.d.ts +3 -2
  492. package/dist/lib/self-heal/types.d.ts +1 -1
  493. package/dist/lib/self-heal/types.js +1 -1
  494. package/dist/lib/self-update.d.ts +5 -5
  495. package/dist/lib/self-update.js +4 -4
  496. package/dist/lib/session/active.js +9 -3
  497. package/dist/lib/session/actor-sidecar.d.ts +3 -2
  498. package/dist/lib/session/artifacts.d.ts +0 -2
  499. package/dist/lib/session/artifacts.js +1 -1
  500. package/dist/lib/session/bash-command.d.ts +2 -7
  501. package/dist/lib/session/bundle.d.ts +4 -6
  502. package/dist/lib/session/bundle.js +1 -5
  503. package/dist/lib/session/cloud.d.ts +0 -4
  504. package/dist/lib/session/cloud.js +2 -15
  505. package/dist/lib/session/db.d.ts +2 -1
  506. package/dist/lib/session/db.js +39 -4
  507. package/dist/lib/session/detached.d.ts +2 -1
  508. package/dist/lib/session/detached.js +2 -2
  509. package/dist/lib/session/digest.d.ts +2 -2
  510. package/dist/lib/session/digest.js +1 -1
  511. package/dist/lib/session/discover.js +7 -2
  512. package/dist/lib/session/fork.d.ts +3 -2
  513. package/dist/lib/session/highlights.d.ts +6 -5
  514. package/dist/lib/session/hook-sessions.d.ts +12 -1
  515. package/dist/lib/session/hook-sessions.js +139 -6
  516. package/dist/lib/session/host-link.d.ts +2 -1
  517. package/dist/lib/session/inject.d.ts +1 -1
  518. package/dist/lib/session/inject.js +1 -1
  519. package/dist/lib/session/insights.d.ts +3 -15
  520. package/dist/lib/session/insights.js +2 -2
  521. package/dist/lib/session/local-tmux-attach.d.ts +2 -18
  522. package/dist/lib/session/local-tmux-attach.js +1 -1
  523. package/dist/lib/session/migrations.d.ts +0 -1
  524. package/dist/lib/session/migrations.js +1 -1
  525. package/dist/lib/session/mirror.d.ts +5 -8
  526. package/dist/lib/session/mirror.js +2 -2
  527. package/dist/lib/session/parse.d.ts +1 -32
  528. package/dist/lib/session/parse.js +4 -4
  529. package/dist/lib/session/pid-registry.d.ts +18 -5
  530. package/dist/lib/session/pid-registry.js +164 -17
  531. package/dist/lib/session/presence.d.ts +2 -1
  532. package/dist/lib/session/process-view.d.ts +25 -0
  533. package/dist/lib/session/process-view.js +176 -0
  534. package/dist/lib/session/projection.d.ts +13 -0
  535. package/dist/lib/session/projection.js +101 -0
  536. package/dist/lib/session/prompt.d.ts +3 -2
  537. package/dist/lib/session/prompt.js +38 -1
  538. package/dist/lib/session/recovery.d.ts +3 -2
  539. package/dist/lib/session/remote/peer-stream.d.ts +2 -5
  540. package/dist/lib/session/remote/peer-stream.js +2 -2
  541. package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
  542. package/dist/lib/session/remote/remote-list.d.ts +5 -5
  543. package/dist/lib/session/remote/remote.d.ts +4 -3
  544. package/dist/lib/session/remote/watch.d.ts +10 -7
  545. package/dist/lib/session/remote/watch.js +10 -6
  546. package/dist/lib/session/remote-active.d.ts +2 -1
  547. package/dist/lib/session/render.d.ts +2 -2
  548. package/dist/lib/session/render.js +1 -1
  549. package/dist/lib/session/resume-owner.d.ts +1 -1
  550. package/dist/lib/session/resume-owner.js +1 -1
  551. package/dist/lib/session/run-names.d.ts +2 -1
  552. package/dist/lib/session/session-cache.d.ts +7 -26
  553. package/dist/lib/session/session-cache.js +17 -8
  554. package/dist/lib/session/share-html.d.ts +1 -21
  555. package/dist/lib/session/share-html.js +1 -1
  556. package/dist/lib/session/shell-programs.d.ts +2 -1
  557. package/dist/lib/session/state.d.ts +41 -8
  558. package/dist/lib/session/state.js +112 -11
  559. package/dist/lib/session/stream-render.d.ts +2 -1
  560. package/dist/lib/session/sync/agents.d.ts +0 -4
  561. package/dist/lib/session/sync/agents.js +0 -0
  562. package/dist/lib/session/sync/backend.d.ts +5 -5
  563. package/dist/lib/session/sync/managed-config.d.ts +0 -8
  564. package/dist/lib/session/sync/managed-key.d.ts +0 -2
  565. package/dist/lib/session/sync/managed-key.js +1 -1
  566. package/dist/lib/session/sync/r2.d.ts +4 -1
  567. package/dist/lib/session/sync/r2.js +4 -7
  568. package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
  569. package/dist/lib/session/tail.d.ts +2 -1
  570. package/dist/lib/session/team-filter.d.ts +1 -1
  571. package/dist/lib/session/testdata/pid-registry-namespace.d.ts +1 -0
  572. package/dist/lib/session/testdata/pid-registry-namespace.js +27 -0
  573. package/dist/lib/session/testdata/process-view-namespace.d.ts +1 -0
  574. package/dist/lib/session/testdata/process-view-namespace.js +56 -0
  575. package/dist/lib/session/testdata/process-view-private.d.ts +1 -0
  576. package/dist/lib/session/testdata/process-view-private.js +12 -0
  577. package/dist/lib/session/throughput.d.ts +2 -3
  578. package/dist/lib/session/throughput.js +1 -1
  579. package/dist/lib/session/timeline-pass.d.ts +3 -42
  580. package/dist/lib/session/timeline-pass.js +4 -4
  581. package/dist/lib/session/timeline.d.ts +3 -13
  582. package/dist/lib/session/timeline.js +3 -3
  583. package/dist/lib/session/tool-calls.d.ts +2 -2
  584. package/dist/lib/session/tool-calls.js +1 -1
  585. package/dist/lib/session/tool-index.d.ts +0 -8
  586. package/dist/lib/session/tool-index.js +2 -2
  587. package/dist/lib/session/tool-store.d.ts +2 -1
  588. package/dist/lib/session/trajectory-compare.d.ts +2 -1
  589. package/dist/lib/session/trajectory-lineage.d.ts +2 -1
  590. package/dist/lib/session/trajectory-text.d.ts +3 -2
  591. package/dist/lib/session/trajectory.d.ts +2 -1
  592. package/dist/lib/session/viewing-in.d.ts +2 -1
  593. package/dist/lib/settings-manifest.d.ts +2 -1
  594. package/dist/lib/share/delete.d.ts +5 -4
  595. package/dist/lib/share/html.d.ts +0 -2
  596. package/dist/lib/share/html.js +9 -9
  597. package/dist/lib/share/http-error.d.ts +3 -2
  598. package/dist/lib/share/og.d.ts +2 -1
  599. package/dist/lib/share/provision.d.ts +2 -2
  600. package/dist/lib/share/publish.d.ts +4 -13
  601. package/dist/lib/share/publish.js +2 -2
  602. package/dist/lib/shim-heal.d.ts +1 -5
  603. package/dist/lib/shim-heal.js +0 -6
  604. package/dist/lib/smart-launch.d.ts +4 -5
  605. package/dist/lib/smart-launch.js +1 -1
  606. package/dist/lib/snapshot.d.ts +3 -2
  607. package/dist/lib/ssh-exec.d.ts +5 -4
  608. package/dist/lib/ssh-tunnel.d.ts +3 -2
  609. package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
  610. package/dist/lib/staleness/checkers/permissions.js +1 -1
  611. package/dist/lib/staleness/fingerprint.d.ts +0 -7
  612. package/dist/lib/staleness/fingerprint.js +1 -1
  613. package/dist/lib/staleness/prune.d.ts +3 -2
  614. package/dist/lib/staleness/registry.d.ts +1 -1
  615. package/dist/lib/staleness/writers/sources.d.ts +0 -8
  616. package/dist/lib/staleness/writers/sources.js +1 -1
  617. package/dist/lib/startup/command-registry.js +1 -1
  618. package/dist/lib/state.d.ts +1 -3
  619. package/dist/lib/state.js +1 -4
  620. package/dist/lib/subagents-registry.d.ts +4 -3
  621. package/dist/lib/subagents.d.ts +2 -1
  622. package/dist/lib/subagents.js +3 -2
  623. package/dist/lib/summarizer/pass.d.ts +3 -6
  624. package/dist/lib/summarizer/pass.js +2 -2
  625. package/dist/lib/summarizer/summarize.d.ts +4 -3
  626. package/dist/lib/sync-passphrase.d.ts +3 -2
  627. package/dist/lib/sync-status.d.ts +3 -16
  628. package/dist/lib/sync-status.js +2 -2
  629. package/dist/lib/sync-umbrella.d.ts +4 -3
  630. package/dist/lib/system-run-sync.d.ts +2 -1
  631. package/dist/lib/teams/agents.d.ts +2 -4
  632. package/dist/lib/teams/agents.js +1 -1
  633. package/dist/lib/teams/forEach.d.ts +3 -2
  634. package/dist/lib/teams/pr-watch.d.ts +4 -11
  635. package/dist/lib/teams/pr-watch.js +4 -4
  636. package/dist/lib/teams/registry.d.ts +2 -3
  637. package/dist/lib/teams/registry.js +1 -1
  638. package/dist/lib/teams/remoteWorktree.d.ts +0 -16
  639. package/dist/lib/teams/remoteWorktree.js +3 -3
  640. package/dist/lib/teams/scheduler.d.ts +6 -5
  641. package/dist/lib/teams/scheduler.js +1 -1
  642. package/dist/lib/teams/supervisor.d.ts +4 -3
  643. package/dist/lib/teams/worktree.d.ts +0 -9
  644. package/dist/lib/teams/worktree.js +0 -32
  645. package/dist/lib/term-client.d.ts +44 -0
  646. package/dist/lib/term-client.js +117 -0
  647. package/dist/lib/terminal/inject.d.ts +3 -16
  648. package/dist/lib/terminal/inject.js +1 -29
  649. package/dist/lib/terminal/resolve.d.ts +3 -9
  650. package/dist/lib/terminal/resolve.js +3 -7
  651. package/dist/lib/tmux/binary.d.ts +2 -1
  652. package/dist/lib/tmux/orphan-reap.d.ts +6 -7
  653. package/dist/lib/tmux/orphan-reap.js +1 -1
  654. package/dist/lib/tmux/session.d.ts +4 -3
  655. package/dist/lib/traces/classify.d.ts +3 -2
  656. package/dist/lib/traces/config.d.ts +0 -8
  657. package/dist/lib/traces/insights.d.ts +2 -1
  658. package/dist/lib/traces/phenotype.d.ts +3 -3
  659. package/dist/lib/traces/provision.d.ts +1 -3
  660. package/dist/lib/traces/provision.js +1 -1
  661. package/dist/lib/traces/schema2-build.d.ts +1 -1
  662. package/dist/lib/traces/schema2-danger.d.ts +2 -1
  663. package/dist/lib/traces/schema2.d.ts +5 -4
  664. package/dist/lib/traces/segments.d.ts +4 -20
  665. package/dist/lib/traces/segments.js +3 -3
  666. package/dist/lib/traces/sync.d.ts +2 -3
  667. package/dist/lib/traces/sync.js +1 -1
  668. package/dist/lib/triggers/handlers.d.ts +4 -13
  669. package/dist/lib/triggers/handlers.js +1 -1
  670. package/dist/lib/triggers/webhook.d.ts +5 -27
  671. package/dist/lib/triggers/webhook.js +4 -4
  672. package/dist/lib/types.d.ts +3 -3
  673. package/dist/lib/usage-refresh.d.ts +4 -10
  674. package/dist/lib/usage-refresh.js +3 -8
  675. package/dist/lib/verbs.d.ts +2 -1
  676. package/dist/lib/version-duplicates.d.ts +2 -3
  677. package/dist/lib/version-duplicates.js +3 -33
  678. package/dist/lib/version.d.ts +2 -1
  679. package/dist/lib/warn-unpushed.d.ts +2 -1
  680. package/dist/lib/watchdog/history.d.ts +3 -2
  681. package/dist/lib/watchdog/log.d.ts +0 -6
  682. package/dist/lib/watchdog/log.js +1 -1
  683. package/dist/lib/watchdog/rotate.d.ts +2 -26
  684. package/dist/lib/watchdog/rotate.js +4 -12
  685. package/dist/lib/watchdog/runner.d.ts +0 -7
  686. package/dist/lib/watchdog/runner.js +4 -4
  687. package/dist/lib/watchdog/service.d.ts +2 -2
  688. package/dist/lib/watchdog/service.js +1 -1
  689. package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
  690. package/dist/lib/watchdog/watchdog.d.ts +2 -1
  691. package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
  692. package/dist/lib/workflows-registry.d.ts +3 -2
  693. package/dist/lib/workflows.d.ts +4 -7
  694. package/dist/lib/workflows.js +1 -1
  695. package/dist/lib/worktree/held.d.ts +4 -28
  696. package/dist/lib/worktree/held.js +3 -3
  697. package/package.json +2 -3
  698. package/scripts/postinstall.js +5 -4
  699. package/dist/commands/pty.d.ts +0 -20
  700. package/dist/commands/pty.js +0 -404
  701. package/dist/lib/config-machine-keys.d.ts +0 -14
  702. package/dist/lib/config-machine-keys.js +0 -21
  703. package/dist/lib/pty-client.d.ts +0 -49
  704. package/dist/lib/pty-client.js +0 -315
  705. package/dist/lib/pty-server.d.ts +0 -59
  706. package/dist/lib/pty-server.js +0 -653
@@ -8,9 +8,7 @@
8
8
  * straight off `agents sessions --active --json` instead (issue #741).
9
9
  */
10
10
  /** Agents whose transcript formats report per-turn output-token usage. */
11
- export type ThroughputAgent = 'claude' | 'codex' | 'gemini';
12
- /** Rolling window (seconds) the throughput average is computed over. */
13
- export declare const DEFAULT_THROUGHPUT_WINDOW_SEC = 60;
11
+ type ThroughputAgent = 'claude' | 'codex' | 'gemini';
14
12
  /**
15
13
  * Output-token throughput (tokens/sec) over the last `windowSec` seconds.
16
14
  *
@@ -28,3 +26,4 @@ export declare const DEFAULT_THROUGHPUT_WINDOW_SEC = 60;
28
26
  * tokens: {output, thoughts}}]}`. Caller must pass the whole file.
29
27
  */
30
28
  export declare function computeTokPerSec(sessionContent: string, agent: ThroughputAgent, windowSec?: number, now?: number): number;
29
+ export {};
@@ -8,7 +8,7 @@
8
8
  * straight off `agents sessions --active --json` instead (issue #741).
9
9
  */
10
10
  /** Rolling window (seconds) the throughput average is computed over. */
11
- export const DEFAULT_THROUGHPUT_WINDOW_SEC = 60;
11
+ const DEFAULT_THROUGHPUT_WINDOW_SEC = 60;
12
12
  /**
13
13
  * Output-token throughput (tokens/sec) over the last `windowSec` seconds.
14
14
  *
@@ -19,30 +19,15 @@
19
19
  * picks it up whole.
20
20
  */
21
21
  import type { ActiveSession } from './active.js';
22
- import { type SessionTimelineCacheRow, type SessionTimelineEntry } from './db.js';
23
22
  import type { SessionAgentId, SessionEvent } from './types.js';
24
- /** Sessions folded per tick. The tick's own deadline is 30 s; this stays well inside it. */
25
- export declare const TIMELINE_PASS_MAX_PER_TICK = 8;
26
23
  /** Bytes one session may consume in one tick. A bigger backlog catches up over ticks. */
27
24
  export declare const TIMELINE_PASS_MAX_BYTES_PER_SESSION: number;
28
- /**
29
- * Bytes the whole pass may consume in one tick, across every session.
30
- *
31
- * The per-session cap alone is not a bound on the TICK: on a cold cache eight
32
- * live sessions each fold from offset 0, and eight multi-megabyte transcripts
33
- * parsed back to back is what blew the 30 s `session-state` deadline and parked
34
- * the service on this fleet (observed 2026-09-06). A tick budget makes a cold
35
- * start catch up over a few ticks instead of stalling one.
36
- */
37
- export declare const TIMELINE_PASS_MAX_BYTES_PER_TICK: number;
38
25
  /**
39
26
  * Ceiling on a whole-file re-parse for a harness with no resumable reader.
40
27
  * Beyond it the timeline is reported `partial` rather than wedging the tick —
41
28
  * the same honesty rule the tool index applies at its own in-memory limit.
42
29
  */
43
30
  export declare const TIMELINE_PASS_MAX_WHOLE_FILE_BYTES: number;
44
- /** Events folded from one non-resumable whole-file parse before reporting `partial`. */
45
- export declare const TIMELINE_PASS_MAX_EVENTS = 20000;
46
31
  /**
47
32
  * How long a non-resumable harness's timeline may go stale before the pass
48
33
  * re-parses its transcript whole.
@@ -56,7 +41,7 @@ export declare const TIMELINE_PASS_MAX_EVENTS = 20000;
56
41
  * quarter of the cost.
57
42
  */
58
43
  export declare const TIMELINE_PASS_NON_RESUMABLE_MIN_INTERVAL_MS = 60000;
59
- export interface TimelinePassResult {
44
+ interface TimelinePassResult {
60
45
  /** Sessions whose timeline was folded and written this tick. */
61
46
  computed: number;
62
47
  /** Sessions whose cached timeline already matched the transcript bytes. */
@@ -64,7 +49,7 @@ export interface TimelinePassResult {
64
49
  /** Sessions skipped: unreadable transcript, no id/file, or no parseable transcript. */
65
50
  skipped: number;
66
51
  }
67
- export interface TimelinePassOptions {
52
+ interface TimelinePassOptions {
68
53
  /** Live rows to fold. Defaults to the local active-sessions cache. */
69
54
  sessions?: ActiveSession[];
70
55
  budget?: number;
@@ -88,31 +73,6 @@ export interface TimelinePassOptions {
88
73
  * fold two different event streams for the same session.
89
74
  */
90
75
  export declare function parseTimelineEvents(filePath: string, agent: SessionAgentId): SessionEvent[];
91
- /** One session's fold: the entry to cache, and what it actually cost to produce. */
92
- export interface SessionTimelineFold {
93
- entry: SessionTimelineEntry;
94
- /**
95
- * Bytes this fold READ off disk — what the tick's byte budget is debited by.
96
- *
97
- * Not the transcript's growth delta: a non-resumable harness re-parses the
98
- * WHOLE file every time, so eight 3 MiB sessions grown by 10 KB each read
99
- * 24 MiB, not 80 KB. Charging the delta is what let a tick overrun its budget
100
- * by an order of magnitude.
101
- */
102
- bytesRead: number;
103
- }
104
- /**
105
- * Fold one session's new transcript bytes and return the entry to cache.
106
- * Exported for tests: this is where the resume decision and the whole-file
107
- * fallback live, and both are worth pinning without a daemon.
108
- *
109
- * `byteBudget` is the TICK's remaining allowance. Each branch derives its own
110
- * ceiling from it — the resumable chunk read is additionally capped per session,
111
- * while a whole-file re-parse is gated on a budget that can actually reach a
112
- * real transcript. A session that genuinely does not fit gets a `partial` row
113
- * stating why, never silence.
114
- */
115
- export declare function foldSessionTimeline(session: ActiveSession, filePath: string, fileSize: number, prior: SessionTimelineCacheRow | undefined, nowMs?: number, byteBudget?: number): SessionTimelineFold | undefined;
116
76
  /**
117
77
  * Fold the timelines of the live local sessions, bounded, once per tick.
118
78
  * Returns what it did so the daemon tick can log it like every other pass.
@@ -127,3 +87,4 @@ export declare function runTimelinePass(opts?: TimelinePassOptions): Promise<Tim
127
87
  export declare function runTimelinePassSync(opts: TimelinePassOptions & {
128
88
  sessions: ActiveSession[];
129
89
  }): TimelinePassResult;
90
+ export {};
@@ -24,7 +24,7 @@ import { parseClaudeContent, parseCodexItemsContent, parseSession } from './pars
24
24
  import { toolEvidenceSourcePath } from './tool-store.js';
25
25
  import { compactTimelineState, emptyTimelineState, foldTimeline, projectSessionFiles, projectTimeline, unavailableTimeline, TIMELINE_EXTRACTOR_VERSION, } from './timeline.js';
26
26
  /** Sessions folded per tick. The tick's own deadline is 30 s; this stays well inside it. */
27
- export const TIMELINE_PASS_MAX_PER_TICK = 8;
27
+ const TIMELINE_PASS_MAX_PER_TICK = 8;
28
28
  /** Bytes one session may consume in one tick. A bigger backlog catches up over ticks. */
29
29
  export const TIMELINE_PASS_MAX_BYTES_PER_SESSION = 4 * 1024 * 1024;
30
30
  /**
@@ -36,7 +36,7 @@ export const TIMELINE_PASS_MAX_BYTES_PER_SESSION = 4 * 1024 * 1024;
36
36
  * the service on this fleet (observed 2026-09-06). A tick budget makes a cold
37
37
  * start catch up over a few ticks instead of stalling one.
38
38
  */
39
- export const TIMELINE_PASS_MAX_BYTES_PER_TICK = 8 * 1024 * 1024;
39
+ const TIMELINE_PASS_MAX_BYTES_PER_TICK = 8 * 1024 * 1024;
40
40
  /**
41
41
  * Ceiling on a whole-file re-parse for a harness with no resumable reader.
42
42
  * Beyond it the timeline is reported `partial` rather than wedging the tick —
@@ -44,7 +44,7 @@ export const TIMELINE_PASS_MAX_BYTES_PER_TICK = 8 * 1024 * 1024;
44
44
  */
45
45
  export const TIMELINE_PASS_MAX_WHOLE_FILE_BYTES = 16 * 1024 * 1024;
46
46
  /** Events folded from one non-resumable whole-file parse before reporting `partial`. */
47
- export const TIMELINE_PASS_MAX_EVENTS = 20_000;
47
+ const TIMELINE_PASS_MAX_EVENTS = 20_000;
48
48
  /**
49
49
  * How long a non-resumable harness's timeline may go stale before the pass
50
50
  * re-parses its transcript whole.
@@ -139,7 +139,7 @@ function mib(bytes) {
139
139
  * real transcript. A session that genuinely does not fit gets a `partial` row
140
140
  * stating why, never silence.
141
141
  */
142
- export function foldSessionTimeline(session, filePath, fileSize, prior, nowMs = Date.now(), byteBudget = TIMELINE_PASS_MAX_BYTES_PER_TICK) {
142
+ function foldSessionTimeline(session, filePath, fileSize, prior, nowMs = Date.now(), byteBudget = TIMELINE_PASS_MAX_BYTES_PER_TICK) {
143
143
  const agent = (session.kind ?? 'claude');
144
144
  // A settled state stamped at the file's current size, so an unavailable or
145
145
  // over-limit session is recognized as up to date next tick instead of being
@@ -33,16 +33,6 @@ import type { SessionEvent, SessionFileChange, SessionFiles, SessionRequest, Ses
33
33
  export declare const TIMELINE_EXTRACTOR_VERSION = 1;
34
34
  /** Steps carried on the row in full; everything older folds into a counter. */
35
35
  export declare const TIMELINE_KEEP_STEPS = 8;
36
- /** File rows carried on the row in full; `total` still reports the real count. */
37
- export declare const TIMELINE_KEEP_FILES = 8;
38
- /**
39
- * Steps kept in the persisted resume state. A long session narrates for hours,
40
- * and the state is re-read every tick, so the fold rolls everything past this
41
- * into {@link TimelineState.dropped} — exact totals, bounded bytes.
42
- */
43
- export declare const TIMELINE_STATE_MAX_STEPS = 200;
44
- /** Paths kept in the persisted resume state; older ones roll into `filesDropped`. */
45
- export declare const TIMELINE_STATE_MAX_FILES = 200;
46
36
  /** One file the session touched, as accumulated during the fold. */
47
37
  interface TimelineFileEntry {
48
38
  op: SessionFileChange['op'];
@@ -115,7 +105,7 @@ export declare function classifyCommandVerb(command: string | undefined): Sessio
115
105
  /** The verb class for one tool call: the harness's own if it classified it, else derived. */
116
106
  export declare function verbClassForEvent(event: SessionEvent): SessionVerbClass;
117
107
  /** Options the fold needs that are not on the events themselves. */
118
- export interface FoldTimelineOptions {
108
+ interface FoldTimelineOptions {
119
109
  /** Row attachments, so an image the prose never named still rides the request. */
120
110
  attachments?: import('./types.js').SessionAttachment[];
121
111
  /** Stop after this many events and mark the state `truncated` (the projection reads `partial`). */
@@ -135,9 +125,9 @@ export interface FoldTimelineOptions {
135
125
  */
136
126
  export declare function foldTimeline(events: SessionEvent[], prior?: TimelineState, opts?: FoldTimelineOptions): TimelineState;
137
127
  /** The activity values that mean the agent is mid-step, so the newest step is live. */
138
- export type TimelineActivity = string | undefined;
128
+ type TimelineActivity = string | undefined;
139
129
  /** How {@link projectTimeline} scrubs the transcript text it is about to ship. */
140
- export interface ProjectTimelineOptions {
130
+ interface ProjectTimelineOptions {
141
131
  /** Redact secrets from every projected string. Default true — see below. */
142
132
  redact?: boolean;
143
133
  /** Known credential values to mask verbatim; defaults to {@link knownSecretValuesFromEnv}. */
@@ -36,15 +36,15 @@ export const TIMELINE_EXTRACTOR_VERSION = 1;
36
36
  /** Steps carried on the row in full; everything older folds into a counter. */
37
37
  export const TIMELINE_KEEP_STEPS = 8;
38
38
  /** File rows carried on the row in full; `total` still reports the real count. */
39
- export const TIMELINE_KEEP_FILES = 8;
39
+ const TIMELINE_KEEP_FILES = 8;
40
40
  /**
41
41
  * Steps kept in the persisted resume state. A long session narrates for hours,
42
42
  * and the state is re-read every tick, so the fold rolls everything past this
43
43
  * into {@link TimelineState.dropped} — exact totals, bounded bytes.
44
44
  */
45
- export const TIMELINE_STATE_MAX_STEPS = 200;
45
+ const TIMELINE_STATE_MAX_STEPS = 200;
46
46
  /** Paths kept in the persisted resume state; older ones roll into `filesDropped`. */
47
- export const TIMELINE_STATE_MAX_FILES = 200;
47
+ const TIMELINE_STATE_MAX_FILES = 200;
48
48
  /** A narration beat that said nothing and ran nothing merges into the next one within this window. */
49
49
  const NARRATION_MERGE_MS = 2_000;
50
50
  /** A thinking block shorter than this is a fragment, not a beat worth showing. */
@@ -8,7 +8,6 @@ export declare const TOOL_PENDING_MAX_BYTES: number;
8
8
  export declare const TOOL_PENDING_MAX_CALLS = 256;
9
9
  export declare const TOOL_CHANGED_MAX_CALLS = 10000;
10
10
  export declare const TOOL_INDEX_LIMIT_ORDINAL: number;
11
- export declare const TOOL_TEXT_PROCESSING_MAX_BYTES: number;
12
11
  export declare const TOOL_SHELL_PARSE_MAX_BYTES: number;
13
12
  export declare const TOOL_INDEX_VERSION = 9;
14
13
  export type ToolCallOutcome = 'ok' | 'error' | 'unknown';
@@ -97,7 +96,7 @@ export interface EventToolScanResumePoint {
97
96
  /** How many events had been folded when the snapshot was taken. */
98
97
  eventCount: number;
99
98
  }
100
- export interface EventToolScanResult {
99
+ interface EventToolScanResult {
101
100
  /** The CHANGED calls — an append-safe upsert set, not the whole history. */
102
101
  calls: IndexedToolCall[];
103
102
  /** Serialized-ready snapshot to persist for the next incremental scan. */
@@ -130,3 +129,4 @@ export declare function toolCallKey(sessionId: string, ordinal: number): string;
130
129
  export declare function collectClaudeToolCalls(collector: ToolCallCollector, parsed: any): void;
131
130
  /** Fold one raw Codex rollout record into the resumable call collector. */
132
131
  export declare function collectCodexToolCalls(collector: ToolCallCollector, parsed: any): void;
132
+ export {};
@@ -10,7 +10,7 @@ export const TOOL_PENDING_MAX_BYTES = 1024 * 1024;
10
10
  export const TOOL_PENDING_MAX_CALLS = 256;
11
11
  export const TOOL_CHANGED_MAX_CALLS = 10_000;
12
12
  export const TOOL_INDEX_LIMIT_ORDINAL = Number.MAX_SAFE_INTEGER;
13
- export const TOOL_TEXT_PROCESSING_MAX_BYTES = 64 * 1024;
13
+ const TOOL_TEXT_PROCESSING_MAX_BYTES = 64 * 1024;
14
14
  export const TOOL_SHELL_PARSE_MAX_BYTES = 64 * 1024;
15
15
  // Bumped to 9 for Codex tool-outcome classification (PHNX-3761): Codex results
16
16
  // arrive as a string or input_text[] rather than an object, so every one used to
@@ -6,7 +6,6 @@ export declare const TOOL_PROGRAM_COUNT_SCHEMA_VERSION = 1;
6
6
  export declare const TOOL_QUERY_MAX_CLAUSES = 32;
7
7
  export declare const TOOL_QUERY_MAX_CLAUSE_BYTES = 4096;
8
8
  export declare const TOOL_QUERY_MAX_CALL_ROWS = 50000;
9
- export declare const TOOL_QUERY_MAX_RESULT_BYTES: number;
10
9
  export declare const TOOL_QUERY_MAX_RESULT_SESSIONS = 1000;
11
10
  export declare const TOOL_QUERY_MAX_SERIALIZED_BYTES: number;
12
11
  export declare const TOOL_QUERY_MERGE_OVERHEAD_BYTES: number;
@@ -90,16 +89,9 @@ export declare function ensureToolIndex(sessions: SessionMeta[], limits?: {
90
89
  maxBytes?: number;
91
90
  verifySourceStamps?: boolean;
92
91
  }): Promise<ToolIndexCoverage>;
93
- interface QueryTerm {
94
- field?: 'tool' | 'program' | 'input' | 'output' | 'status' | 'exit' | 'error';
95
- value: string;
96
- }
97
- /** Parse one same-call clause. Unprefixed terms search every evidence field. */
98
- export declare function parseToolQueryClause(source: string): QueryTerm[];
99
92
  /** A count has one unambiguous subject: one exact `program:<name>` term. */
100
93
  export declare function parseToolProgramCountClause(source: string): string;
101
94
  /** Count exact, pre-indexed static program sites without reading transcripts. */
102
95
  export declare function countToolProgramOccurrences(sessions: SessionMeta[], program: string, coverage: ToolIndexCoverage, machine: string): ToolProgramCountEnvelope;
103
96
  /** Query cached evidence; every repeated clause must select a distinct call. */
104
97
  export declare function searchToolCalls(sessions: SessionMeta[], clauseSources: string[], coverage: ToolIndexCoverage, resultLimit?: number): ToolSearchEnvelope;
105
- export {};
@@ -14,7 +14,7 @@ export const TOOL_PROGRAM_COUNT_SCHEMA_VERSION = 1;
14
14
  export const TOOL_QUERY_MAX_CLAUSES = 32;
15
15
  export const TOOL_QUERY_MAX_CLAUSE_BYTES = 4096;
16
16
  export const TOOL_QUERY_MAX_CALL_ROWS = 50_000;
17
- export const TOOL_QUERY_MAX_RESULT_BYTES = 8 * 1024 * 1024;
17
+ const TOOL_QUERY_MAX_RESULT_BYTES = 8 * 1024 * 1024;
18
18
  export const TOOL_QUERY_MAX_RESULT_SESSIONS = 1_000;
19
19
  export const TOOL_QUERY_MAX_SERIALIZED_BYTES = 15 * 1024 * 1024;
20
20
  export const TOOL_QUERY_MERGE_OVERHEAD_BYTES = 64 * 1024;
@@ -400,7 +400,7 @@ function tokenizeClause(source) {
400
400
  return tokens;
401
401
  }
402
402
  /** Parse one same-call clause. Unprefixed terms search every evidence field. */
403
- export function parseToolQueryClause(source) {
403
+ function parseToolQueryClause(source) {
404
404
  const fields = new Set(['tool', 'program', 'input', 'output', 'status', 'exit', 'error']);
405
405
  return tokenizeClause(source).map((token) => {
406
406
  const colon = token.indexOf(':');
@@ -22,7 +22,7 @@ export interface ToolScanResumePoint {
22
22
  */
23
23
  parsedOffset: number;
24
24
  }
25
- export interface PersistToolCallsOptions {
25
+ interface PersistToolCallsOptions {
26
26
  /**
27
27
  * `replace` drops the session's stored evidence first — correct for a parse
28
28
  * that started at byte 0. `append` merges the batch into what is already
@@ -68,3 +68,4 @@ export declare function planEventToolResume(db: Database.Database, sessionId: st
68
68
  fileMtimeMs: number;
69
69
  fileSize: number;
70
70
  }, currentEventCount: number): EventToolScanResumePoint | null;
71
+ export {};
@@ -35,7 +35,7 @@ export interface TrajectoryComparison {
35
35
  truncatedA: number;
36
36
  truncatedB: number;
37
37
  }
38
- export interface DiffTrajectoriesOptions {
38
+ interface DiffTrajectoriesOptions {
39
39
  /** Cap on tool steps considered per side (the LCS table is O(n*m)). Default 1000. */
40
40
  maxDiffSteps?: number;
41
41
  }
@@ -45,3 +45,4 @@ export interface DiffTrajectoriesOptions {
45
45
  * did. Never mutates either input.
46
46
  */
47
47
  export declare function diffTrajectories(a: SessionTrajectory, b: SessionTrajectory, options?: DiffTrajectoriesOptions): TrajectoryComparison;
48
+ export {};
@@ -65,7 +65,7 @@ export interface SessionLineage {
65
65
  */
66
66
  unresolvedParentIds: string[];
67
67
  }
68
- export interface BuildLineageOptions {
68
+ interface BuildLineageOptions {
69
69
  /**
70
70
  * Which session the graph is about. The graph is always rooted at that
71
71
  * session's TOPMOST ancestor in the pool, so passing a child still renders its
@@ -90,3 +90,4 @@ export interface BuildLineageOptions {
90
90
  * sessions in the pool supply edges but never become nodes.
91
91
  */
92
92
  export declare function buildLineage(sessions: SessionMeta[], options?: BuildLineageOptions): SessionLineage;
93
+ export {};
@@ -1,7 +1,7 @@
1
1
  import type { SessionTrajectory } from './trajectory.js';
2
2
  import type { TrajectoryComparison } from './trajectory-compare.js';
3
3
  import type { SessionLineage } from './trajectory-lineage.js';
4
- export interface RenderTrajectoryTextOptions {
4
+ interface RenderTrajectoryTextOptions {
5
5
  /** Collapse to error steps and their immediate neighbours. */
6
6
  errorsOnly?: boolean;
7
7
  /** Cap on the step lines emitted; the remainder is collapsed with a count. */
@@ -9,7 +9,7 @@ export interface RenderTrajectoryTextOptions {
9
9
  }
10
10
  /** Render one session's trajectory as compact, ANSI-free text. */
11
11
  export declare function renderTrajectoryText(model: SessionTrajectory, options?: RenderTrajectoryTextOptions): string;
12
- export interface RenderTrajectoryCompareTextOptions {
12
+ interface RenderTrajectoryCompareTextOptions {
13
13
  /** Cap on step lines listed per diff column; the remainder is collapsed with a count. Default 15. */
14
14
  maxDiffLines?: number;
15
15
  }
@@ -35,3 +35,4 @@ export declare function renderTrajectoryCompareText(cmp: TrajectoryComparison, o
35
35
  * the shape of the fan-out; `agents sessions trace <child>` answers one child.
36
36
  */
37
37
  export declare function renderLineageText(lineage: SessionLineage): string;
38
+ export {};
@@ -80,7 +80,7 @@ export interface SessionTrajectory {
80
80
  /** Steps dropped by the `maxSteps` cap, surfaced so truncation is never silent. */
81
81
  truncatedSteps: number;
82
82
  }
83
- export interface BuildTrajectoryOptions {
83
+ interface BuildTrajectoryOptions {
84
84
  /** Redact derived labels/details (default true; `--no-redact` is local-only). */
85
85
  redact?: boolean;
86
86
  /** Known secret values to mask, from `knownSecretValuesFromEnv()`. */
@@ -142,3 +142,4 @@ export declare function pairSteps(events: SessionEvent[], eventMs: number[], fir
142
142
  * event array and therefore an empty trajectory — never a crash or a fabricated one.
143
143
  */
144
144
  export declare function buildTrajectory(events: SessionEvent[], meta: SessionMeta, options?: BuildTrajectoryOptions): SessionTrajectory;
145
+ export {};
@@ -21,7 +21,7 @@ import type { TmuxClient } from '../tmux/session.js';
21
21
  import type { ActiveSession } from './active.js';
22
22
  import { type GhosttySurface } from './ghostty-tabs.js';
23
23
  /** Where a tmux-hosted session is currently displayed. */
24
- export interface ViewingIn {
24
+ interface ViewingIn {
25
25
  /** Host app of the attached client — 'ghostty', 'iterm', 'code', 'codium', … */
26
26
  app: string;
27
27
  /** 1-based tab number within that app, when it can be resolved. */
@@ -83,3 +83,4 @@ export declare function resolveViewingIn(session: ActiveSession, clients: TmuxCl
83
83
  * Ghostty's `index of tab`. Exported for the parser test.
84
84
  */
85
85
  export declare function itermTabFromSessionId(value: string | undefined): number | undefined;
86
+ export {};
@@ -17,7 +17,7 @@
17
17
  * `hasTrustDialogAccepted: false` to `true` — see the note on that entry.)
18
18
  */
19
19
  import type { AgentId } from './types.js';
20
- export interface CarryForwardResult {
20
+ interface CarryForwardResult {
21
21
  /** Manifest rel paths that were created or updated in the target home. */
22
22
  applied: string[];
23
23
  /** Backup directory holding pre-merge copies of modified target files, if any. */
@@ -39,3 +39,4 @@ export declare function fillGaps(target: Record<string, unknown>, source: Record
39
39
  * Only fills gaps — never overwrites target values — so it is idempotent.
40
40
  */
41
41
  export declare function carryForwardSettings(agent: AgentId, fromHome: string, toHome: string): CarryForwardResult;
42
+ export {};
@@ -18,11 +18,11 @@ export type RevisionsFetchFn = (url: string) => Promise<{
18
18
  contentType: string;
19
19
  body: string;
20
20
  }>;
21
- export interface DeleteEndpoint {
21
+ interface DeleteEndpoint {
22
22
  baseUrl: string;
23
23
  token: string;
24
24
  }
25
- export interface ResolvedShareTarget {
25
+ interface ResolvedShareTarget {
26
26
  /** R2 object key for the page, `<user>/<slug>`. */
27
27
  key: string;
28
28
  /** R2 object key for the sibling OG cover, `<user>/<slug>.png`. */
@@ -45,7 +45,7 @@ export interface ResolvedShareTarget {
45
45
  export declare function resolveDeleteTarget(target: string, opts?: {
46
46
  githubUser?: string;
47
47
  }): Promise<ResolvedShareTarget>;
48
- export interface DeleteObjectResult {
48
+ interface DeleteObjectResult {
49
49
  key: string;
50
50
  url: string;
51
51
  /** Whether the object resolved (non-404) before the DELETE was issued. */
@@ -66,7 +66,7 @@ export declare function deleteObject(endpoint: DeleteEndpoint, key: string, opts
66
66
  deleter?: DeleteFn;
67
67
  checker?: CheckFn;
68
68
  }): Promise<DeleteObjectResult>;
69
- export interface DeleteShareOptions {
69
+ interface DeleteShareOptions {
70
70
  /** Skip deleting the sibling `<slug>.png` OG cover (default: delete it too). */
71
71
  keepCover?: boolean;
72
72
  /** Skip deleting the target's retained revisions (`<key>/rev-*`, RUSH-2683
@@ -120,3 +120,4 @@ export interface DeleteShareResult {
120
120
  * are gone. Throws on an unverified takedown — never reports success for an
121
121
  * object that still resolves. */
122
122
  export declare function deleteShare(target: string, opts?: DeleteShareOptions): Promise<DeleteShareResult>;
123
+ export {};
@@ -10,8 +10,6 @@
10
10
  * left alone. This is not a bundler — it only fixes what would otherwise
11
11
  * render as a broken page after a single-file publish.
12
12
  */
13
- /** Skip inlining a sibling that would bloat the page past a reasonable PUT. */
14
- export declare const MAX_INLINE_BYTES: number;
15
13
  /**
16
14
  * `href="file:///tmp/page.html#purpose"` → `href="#purpose"`.
17
15
  * Bare `file:///tmp/page.html` (no hash) becomes `href="#"`.
@@ -14,7 +14,7 @@ import { existsSync, readFileSync } from 'node:fs';
14
14
  import { dirname, extname, resolve } from 'node:path';
15
15
  import { fileURLToPath } from 'node:url';
16
16
  /** Skip inlining a sibling that would bloat the page past a reasonable PUT. */
17
- export const MAX_INLINE_BYTES = 4 * 1024 * 1024;
17
+ const MAX_INLINE_BYTES = 4 * 1024 * 1024;
18
18
  const IMAGE_MIME = {
19
19
  '.png': 'image/png',
20
20
  '.jpg': 'image/jpeg',
@@ -32,15 +32,15 @@ const IMAGE_MIME = {
32
32
  export function rewriteFileAnchors(html) {
33
33
  return html.replace(/\b(href\s*=\s*["'])file:\/\/[^"'#]*(#[^"']*)?(["'])/gi, (_m, attr, hash, quote) => `${attr}${hash ?? '#'}${quote}`);
34
34
  }
35
+ /**
36
+ * Only a bare path or a `file:` URL can name a local asset; every other scheme
37
+ * is left alone. A single-letter "scheme" is a Windows drive (`C:\\x.png`), not a URL.
38
+ */
35
39
  function isRemoteOrSpecial(url) {
36
- return (url.startsWith('data:') ||
37
- url.startsWith('http://') ||
38
- url.startsWith('https://') ||
39
- url.startsWith('//') ||
40
- url.startsWith('#') ||
41
- url.startsWith('mailto:') ||
42
- url.startsWith('javascript:') ||
43
- url.startsWith('agents:'));
40
+ if (url.startsWith('//') || url.startsWith('#'))
41
+ return true;
42
+ const scheme = /^([a-z][a-z0-9+.-]*):/i.exec(url)?.[1];
43
+ return scheme !== undefined && scheme.length > 1 && scheme.toLowerCase() !== 'file';
44
44
  }
45
45
  function localImagePath(url, htmlDir) {
46
46
  if (!url || isRemoteOrSpecial(url))
@@ -16,7 +16,7 @@
16
16
  */
17
17
  /** The raw pieces a caller's fetch wrapper hands in — status plus the (optional)
18
18
  * response body text and `Retry-After` header value. */
19
- export interface ShareHttpResponse {
19
+ interface ShareHttpResponse {
20
20
  status: number;
21
21
  /** The response body text, when the caller read it (only on `!ok` paths). */
22
22
  body?: string;
@@ -25,7 +25,7 @@ export interface ShareHttpResponse {
25
25
  }
26
26
  /** The extracted, bounded error facts. `serverMessage` is present only when the
27
27
  * body parsed as JSON carrying a non-empty string `error`. */
28
- export interface ShareHttpError {
28
+ interface ShareHttpError {
29
29
  status: number;
30
30
  serverMessage?: string;
31
31
  retryAfter?: string;
@@ -50,3 +50,4 @@ export declare function extractShareHttpError(res: ShareHttpResponse): ShareHttp
50
50
  * → `Publish failed (429) for <url> — rate limit exceeded; retry after 37s`
51
51
  */
52
52
  export declare function formatShareHttpErrorDetail(err: ShareHttpError): string;
53
+ export {};
@@ -7,7 +7,7 @@
7
7
  * previously added before re-inserting). Pure string work so it's unit-testable
8
8
  * without a browser or network.
9
9
  */
10
- export interface OgFields {
10
+ interface OgFields {
11
11
  title: string;
12
12
  description: string;
13
13
  imageUrl: string;
@@ -23,3 +23,4 @@ export declare function deriveMeta(html: string, fallbackTitle?: string): {
23
23
  };
24
24
  /** Splice OG + Twitter tags into `<head>` (or prepend if there's no head). Idempotent. */
25
25
  export declare function injectOgMeta(html: string, f: OgFields): string;
26
+ export {};
@@ -55,7 +55,7 @@ export declare function deployWorker(apiToken: string, accountId: string, worker
55
55
  /** sha256 of the rendered Worker script, so a deployed endpoint can be compared
56
56
  * against the current `worker-template.ts` without redeploying to find out. */
57
57
  export declare function hashWorkerScript(script: string): string;
58
- export interface UpdateWorkerResult {
58
+ interface UpdateWorkerResult {
59
59
  /** sha256 of `script` (the hash the endpoint now matches, whether or not this
60
60
  * call actually redeployed). */
61
61
  templateHash: string;
@@ -68,7 +68,7 @@ export declare const WORKER_PHOENIX_ID_BASE_SECRET = "PHOENIX_ID_BASE";
68
68
  export declare const WORKER_COLLAB_BASE_SECRET = "PRIX_ARTIFACT_COLLAB_BASE";
69
69
  /** Cloudflare `secret_text` name the Worker reads as `env.ARTIFACT_COLLAB_SERVICE_TOKEN`. */
70
70
  export declare const WORKER_COLLAB_SERVICE_TOKEN_SECRET = "ARTIFACT_COLLAB_SERVICE_TOKEN";
71
- export type UpdateWorkerOpts = ProvisionOptions & {
71
+ type UpdateWorkerOpts = ProvisionOptions & {
72
72
  force?: boolean;
73
73
  /**
74
74
  * Phoenix ID base URL to bind as `PHOENIX_ID_BASE` after the script upload.
@@ -5,7 +5,7 @@ import { type ShareVisibility } from '../storage/visibility.js';
5
5
  * response so a failed publish can surface WHY (the Worker returns
6
6
  * `{"error":"…"}` + a `Retry-After` on a 429); they are read only on `!ok`
7
7
  * paths, and only ever fed through the bounded {@link extractShareHttpError}. */
8
- export type PutResult = {
8
+ type PutResult = {
9
9
  ok: boolean;
10
10
  status: number;
11
11
  url?: string;
@@ -15,7 +15,7 @@ export type PutResult = {
15
15
  retryAfter?: string;
16
16
  };
17
17
  export type PutFn = (url: string, body: Buffer, headers: Record<string, string>) => Promise<PutResult>;
18
- export interface PublishEndpoint {
18
+ interface PublishEndpoint {
19
19
  baseUrl: string;
20
20
  token: string;
21
21
  }
@@ -163,18 +163,9 @@ export declare function resolveShareVisibility(opts?: {
163
163
  unlisted?: boolean;
164
164
  protected?: boolean;
165
165
  }): ShareVisibility;
166
- /** Mint a fresh random viewer token for a `private` (token-gated) publish. The
167
- * raw token rides ONLY in the returned URL's `?k=`; the Worker stores just its
168
- * SHA-256 hash, so the object metadata never carries the secret. */
169
- export declare function generateViewerToken(): string;
170
166
  /** SHA-256 hex of a viewer token — the form the Worker also computes and stores,
171
167
  * so a CLI-side preview of the stored hash matches. Exported for tests. */
172
168
  export declare function hashViewerToken(token: string): string;
173
- /** A 64-bit random slug tail (16 lowercase hex chars) for a capability-URL
174
- * publish, so the slug can never be derived/guessed from the title (PHNX-3654).
175
- * `unlisted` leans on this for obscurity; `private` uses it as defense-in-depth
176
- * behind the viewer token. */
177
- export declare function randomSlugTail(): string;
178
169
  /**
179
170
  * The loud stderr warning printed on an `unlisted` / `--private` publish
180
171
  * (PHNX-3654): `unlisted` is obscurity, NOT read-authentication — anyone with
@@ -312,8 +303,8 @@ export declare function parseExpire(spec: string | undefined): string | undefine
312
303
  * `never` / `none` / `permanent` → no expiry. Anything else → {@link parseExpire}.
313
304
  */
314
305
  export declare function resolveExpire(spec: string | undefined): string | undefined;
315
- export type SensitiveHitKind = 'email' | 'credential';
316
- export interface SensitiveHit {
306
+ type SensitiveHitKind = 'email' | 'credential';
307
+ interface SensitiveHit {
317
308
  kind: SensitiveHitKind;
318
309
  /** Short redacted sample so the error names *what* was found without dumping it. */
319
310
  sample: string;
@@ -53,7 +53,7 @@ const VIEWER_TOKEN_BYTES = 16;
53
53
  /** Mint a fresh random viewer token for a `private` (token-gated) publish. The
54
54
  * raw token rides ONLY in the returned URL's `?k=`; the Worker stores just its
55
55
  * SHA-256 hash, so the object metadata never carries the secret. */
56
- export function generateViewerToken() {
56
+ function generateViewerToken() {
57
57
  return randomBytes(VIEWER_TOKEN_BYTES).toString('base64url');
58
58
  }
59
59
  /** SHA-256 hex of a viewer token — the form the Worker also computes and stores,
@@ -65,7 +65,7 @@ export function hashViewerToken(token) {
65
65
  * publish, so the slug can never be derived/guessed from the title (PHNX-3654).
66
66
  * `unlisted` leans on this for obscurity; `private` uses it as defense-in-depth
67
67
  * behind the viewer token. */
68
- export function randomSlugTail() {
68
+ function randomSlugTail() {
69
69
  return randomBytes(8).toString('hex');
70
70
  }
71
71
  /**
@@ -1,5 +1,5 @@
1
1
  import type { SelfHealReport } from './self-heal/types.js';
2
- export interface InteractiveShimHealResult {
2
+ interface InteractiveShimHealResult {
3
3
  noticeLines: string[] | null;
4
4
  report: SelfHealReport;
5
5
  }
@@ -9,10 +9,6 @@ export interface InteractiveShimHealResult {
9
9
  * won't move; a PATH entry that was just added / needs a reload).
10
10
  */
11
11
  export declare function runInteractiveShimHeal(): Promise<InteractiveShimHealResult>;
12
- /**
13
- * Back-compat wrapper for callers that only need the persistent one-time notice.
14
- */
15
- export declare function healShimsInteractive(): Promise<string[] | null>;
16
12
  type PathNoticeState = 'ok' | 'added' | 'reload';
17
13
  /**
18
14
  * A stable signature of the conditions worth surfacing: the sorted set of
@@ -54,12 +54,6 @@ export async function runInteractiveShimHeal() {
54
54
  }
55
55
  return { noticeLines: lines.length > 0 ? lines : null, report };
56
56
  }
57
- /**
58
- * Back-compat wrapper for callers that only need the persistent one-time notice.
59
- */
60
- export async function healShimsInteractive() {
61
- return (await runInteractiveShimHeal()).noticeLines;
62
- }
63
57
  function noticeStatePath() {
64
58
  return path.join(getRuntimeStateDir(), 'shim-notice.json');
65
59
  }