@intentic/sandbox-contract 1.326.0 → 1.327.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 (537) hide show
  1. package/README.md +24 -12
  2. package/dist/chores/chores.d.ts.map +1 -1
  3. package/dist/chores/chores.js +29 -20
  4. package/dist/chores/chores.js.map +1 -1
  5. package/dist/chores/probes.d.ts +1 -0
  6. package/dist/chores/probes.d.ts.map +1 -1
  7. package/dist/chores/probes.js +81 -12
  8. package/dist/chores/probes.js.map +1 -1
  9. package/dist/contracts/agent.contract.d.ts +1467 -6
  10. package/dist/contracts/agent.contract.d.ts.map +1 -1
  11. package/dist/contracts/agent.contract.js +2 -2
  12. package/dist/contracts/agent.contract.js.map +1 -1
  13. package/dist/contracts/agents.contract.d.ts +1391 -0
  14. package/dist/contracts/agents.contract.d.ts.map +1 -1
  15. package/dist/contracts/agents.contract.js +1 -1
  16. package/dist/contracts/automations.contract.d.ts +123 -4
  17. package/dist/contracts/automations.contract.d.ts.map +1 -1
  18. package/dist/contracts/automations.contract.js +13 -2
  19. package/dist/contracts/automations.contract.js.map +1 -1
  20. package/dist/contracts/capabilities.contract.d.ts +79 -8
  21. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  22. package/dist/contracts/chores.contract.d.ts +2 -0
  23. package/dist/contracts/chores.contract.d.ts.map +1 -1
  24. package/dist/contracts/ci.contract.d.ts +2 -0
  25. package/dist/contracts/ci.contract.d.ts.map +1 -1
  26. package/dist/contracts/device.contract.d.ts +52 -0
  27. package/dist/contracts/device.contract.d.ts.map +1 -1
  28. package/dist/contracts/device.contract.js +2 -0
  29. package/dist/contracts/device.contract.js.map +1 -1
  30. package/dist/contracts/endpoints.contract.d.ts +42 -33
  31. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  32. package/dist/contracts/endpoints.contract.js +17 -7
  33. package/dist/contracts/endpoints.contract.js.map +1 -1
  34. package/dist/contracts/extensions.contract.d.ts +192 -0
  35. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  36. package/dist/contracts/extensions.contract.js +37 -1
  37. package/dist/contracts/extensions.contract.js.map +1 -1
  38. package/dist/contracts/needs.contract.d.ts +1009 -0
  39. package/dist/contracts/needs.contract.d.ts.map +1 -1
  40. package/dist/contracts/pages.contract.d.ts +34 -0
  41. package/dist/contracts/pages.contract.d.ts.map +1 -0
  42. package/dist/contracts/pages.contract.js +49 -0
  43. package/dist/contracts/pages.contract.js.map +1 -0
  44. package/dist/contracts/phone.contract.d.ts +78 -0
  45. package/dist/contracts/phone.contract.d.ts.map +1 -0
  46. package/dist/contracts/phone.contract.js +11 -0
  47. package/dist/contracts/phone.contract.js.map +1 -0
  48. package/dist/contracts/privacy.contract.d.ts +20 -0
  49. package/dist/contracts/privacy.contract.d.ts.map +1 -1
  50. package/dist/contracts/privacy.contract.js +12 -2
  51. package/dist/contracts/privacy.contract.js.map +1 -1
  52. package/dist/contracts/runner.contract.d.ts +648 -127
  53. package/dist/contracts/runner.contract.d.ts.map +1 -1
  54. package/dist/contracts/runner.contract.js +1 -1
  55. package/dist/contracts/runner.contract.js.map +1 -1
  56. package/dist/contracts/secrets.contract.d.ts +88 -0
  57. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  58. package/dist/contracts/secrets.contract.js +20 -1
  59. package/dist/contracts/secrets.contract.js.map +1 -1
  60. package/dist/contracts/sessions.contract.d.ts +184 -0
  61. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  62. package/dist/contracts/settings.contract.d.ts +16 -58
  63. package/dist/contracts/settings.contract.d.ts.map +1 -1
  64. package/dist/contracts/settings.contract.js +10 -1
  65. package/dist/contracts/settings.contract.js.map +1 -1
  66. package/dist/contracts/system.contract.d.ts +227 -32
  67. package/dist/contracts/system.contract.d.ts.map +1 -1
  68. package/dist/contracts/system.contract.js +18 -1
  69. package/dist/contracts/system.contract.js.map +1 -1
  70. package/dist/documents/conversions.d.ts.map +1 -1
  71. package/dist/documents/conversions.js +2 -1
  72. package/dist/documents/conversions.js.map +1 -1
  73. package/dist/documents/read.d.ts.map +1 -1
  74. package/dist/documents/read.js +4 -4
  75. package/dist/documents/read.js.map +1 -1
  76. package/dist/events/agent-events.d.ts +747 -1
  77. package/dist/events/agent-events.d.ts.map +1 -1
  78. package/dist/events/agent-events.js +14 -1
  79. package/dist/events/agent-events.js.map +1 -1
  80. package/dist/events/requests.d.ts +40 -0
  81. package/dist/events/requests.d.ts.map +1 -1
  82. package/dist/events/requests.js +39 -0
  83. package/dist/events/requests.js.map +1 -1
  84. package/dist/events/system-events.d.ts +120 -0
  85. package/dist/events/system-events.d.ts.map +1 -1
  86. package/dist/events/transcript.d.ts +1131 -1
  87. package/dist/events/transcript.d.ts.map +1 -1
  88. package/dist/events/transcript.js +9 -1
  89. package/dist/events/transcript.js.map +1 -1
  90. package/dist/ids/hostnames.d.ts +2 -0
  91. package/dist/ids/hostnames.d.ts.map +1 -1
  92. package/dist/ids/hostnames.js +18 -15
  93. package/dist/ids/hostnames.js.map +1 -1
  94. package/dist/ids/sandbox-id.d.ts +2 -0
  95. package/dist/ids/sandbox-id.d.ts.map +1 -0
  96. package/dist/ids/sandbox-id.js +2 -0
  97. package/dist/ids/sandbox-id.js.map +1 -0
  98. package/dist/ids/tunnel-ids.d.ts +1 -1
  99. package/dist/ids/tunnel-ids.d.ts.map +1 -1
  100. package/dist/ids/tunnel-ids.js +1 -1
  101. package/dist/ids/tunnel-ids.js.map +1 -1
  102. package/dist/index.d.ts +4902 -177
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +25 -9
  105. package/dist/index.js.map +1 -1
  106. package/dist/models/agent-catalog.d.ts +0 -1
  107. package/dist/models/agent-catalog.d.ts.map +1 -1
  108. package/dist/models/agent-catalog.js +0 -1
  109. package/dist/models/agent-catalog.js.map +1 -1
  110. package/dist/models/agent-runtimes.d.ts +1 -1
  111. package/dist/models/agent-runtimes.d.ts.map +1 -1
  112. package/dist/models/agent-runtimes.js +1 -1
  113. package/dist/models/agent-runtimes.js.map +1 -1
  114. package/dist/models/provider-specs.d.ts +1 -0
  115. package/dist/models/provider-specs.d.ts.map +1 -1
  116. package/dist/models/provider-specs.js +11 -0
  117. package/dist/models/provider-specs.js.map +1 -1
  118. package/dist/netd/browser-wire.d.ts.map +1 -0
  119. package/dist/netd/browser-wire.js.map +1 -0
  120. package/dist/{front → netd}/generated/browser-wire.d.ts +8 -0
  121. package/dist/netd/generated/browser-wire.d.ts.map +1 -0
  122. package/dist/netd/generated/browser-wire.js.map +1 -0
  123. package/dist/{front → netd}/generated/wire.d.ts +20 -11
  124. package/dist/netd/generated/wire.d.ts.map +1 -0
  125. package/dist/{front → netd}/generated/wire.js.map +1 -1
  126. package/dist/netd/netd-wire.d.ts +9 -0
  127. package/dist/netd/netd-wire.d.ts.map +1 -0
  128. package/dist/netd/netd-wire.js +8 -0
  129. package/dist/netd/netd-wire.js.map +1 -0
  130. package/dist/policy/credential-material.d.ts +2 -0
  131. package/dist/policy/credential-material.d.ts.map +1 -1
  132. package/dist/policy/credential-material.js +14 -8
  133. package/dist/policy/credential-material.js.map +1 -1
  134. package/dist/policy/message-limits.d.ts +14 -0
  135. package/dist/policy/message-limits.d.ts.map +1 -0
  136. package/dist/policy/message-limits.js +15 -0
  137. package/dist/policy/message-limits.js.map +1 -0
  138. package/dist/policy/request-status.d.ts.map +1 -1
  139. package/dist/policy/request-status.js +9 -1
  140. package/dist/policy/request-status.js.map +1 -1
  141. package/dist/policy/reserved-servers.d.ts.map +1 -1
  142. package/dist/policy/reserved-servers.js +1 -0
  143. package/dist/policy/reserved-servers.js.map +1 -1
  144. package/dist/policy/turned-away.d.ts.map +1 -1
  145. package/dist/policy/turned-away.js +2 -0
  146. package/dist/policy/turned-away.js.map +1 -1
  147. package/dist/protocol/container-requirements.d.ts.map +1 -1
  148. package/dist/protocol/container-requirements.js +3 -4
  149. package/dist/protocol/container-requirements.js.map +1 -1
  150. package/dist/protocol/doors/host-protocol.d.ts.map +1 -0
  151. package/dist/protocol/doors/host-protocol.js.map +1 -0
  152. package/dist/protocol/{listener-protocol.d.ts → doors/listener-protocol.d.ts} +22 -0
  153. package/dist/protocol/doors/listener-protocol.d.ts.map +1 -0
  154. package/dist/protocol/doors/listener-protocol.js +38 -0
  155. package/dist/protocol/doors/listener-protocol.js.map +1 -0
  156. package/dist/protocol/doors/phone-links.d.ts +16 -0
  157. package/dist/protocol/doors/phone-links.d.ts.map +1 -0
  158. package/dist/protocol/doors/phone-links.js +28 -0
  159. package/dist/protocol/doors/phone-links.js.map +1 -0
  160. package/dist/protocol/doors/phone-protocol.d.ts +47 -0
  161. package/dist/protocol/doors/phone-protocol.d.ts.map +1 -0
  162. package/dist/protocol/doors/phone-protocol.js +33 -0
  163. package/dist/protocol/doors/phone-protocol.js.map +1 -0
  164. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -0
  165. package/dist/protocol/{runner-protocol.js → doors/runner-protocol.js} +1 -1
  166. package/dist/protocol/doors/runner-protocol.js.map +1 -0
  167. package/dist/protocol/{webext-links.d.ts → doors/webext-links.d.ts} +1 -0
  168. package/dist/protocol/doors/webext-links.d.ts.map +1 -0
  169. package/dist/protocol/{webext-links.js → doors/webext-links.js} +1 -0
  170. package/dist/protocol/doors/webext-links.js.map +1 -0
  171. package/dist/protocol/doors/webext-protocol.d.ts.map +1 -0
  172. package/dist/protocol/doors/webext-protocol.js.map +1 -0
  173. package/dist/protocol/edge-verdict.d.ts +1 -1
  174. package/dist/protocol/edge-verdict.d.ts.map +1 -1
  175. package/dist/protocol/headers.d.ts +4 -0
  176. package/dist/protocol/headers.d.ts.map +1 -0
  177. package/dist/protocol/headers.js +4 -0
  178. package/dist/protocol/headers.js.map +1 -0
  179. package/dist/protocol/ingress-contract.d.ts +1 -1
  180. package/dist/protocol/ingress-contract.d.ts.map +1 -1
  181. package/dist/protocol/ingress-contract.js +1 -5
  182. package/dist/protocol/ingress-contract.js.map +1 -1
  183. package/dist/protocol/peer-dial.d.ts.map +1 -1
  184. package/dist/protocol/peer-dial.js +18 -36
  185. package/dist/protocol/peer-dial.js.map +1 -1
  186. package/dist/protocol/raw/extension-protocol.d.ts +47 -0
  187. package/dist/protocol/raw/extension-protocol.d.ts.map +1 -0
  188. package/dist/protocol/raw/extension-protocol.js +32 -0
  189. package/dist/protocol/raw/extension-protocol.js.map +1 -0
  190. package/dist/protocol/raw/raw-json-routes.d.ts +855 -0
  191. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -0
  192. package/dist/protocol/raw/raw-json-routes.js +28 -0
  193. package/dist/protocol/raw/raw-json-routes.js.map +1 -0
  194. package/dist/protocol/{raw-routes.d.ts → raw/raw-routes.d.ts} +50 -3
  195. package/dist/protocol/raw/raw-routes.d.ts.map +1 -0
  196. package/dist/protocol/{raw-routes.js → raw/raw-routes.js} +17 -3
  197. package/dist/protocol/raw/raw-routes.js.map +1 -0
  198. package/dist/protocol/raw/route-path.d.ts +3 -0
  199. package/dist/protocol/raw/route-path.d.ts.map +1 -0
  200. package/dist/protocol/raw/route-path.js +8 -0
  201. package/dist/protocol/raw/route-path.js.map +1 -0
  202. package/dist/protocol/route-meta.d.ts +1 -1
  203. package/dist/protocol/route-meta.d.ts.map +1 -1
  204. package/dist/protocol/routes.d.ts +1 -0
  205. package/dist/protocol/routes.d.ts.map +1 -1
  206. package/dist/protocol/routes.js +8 -0
  207. package/dist/protocol/routes.js.map +1 -1
  208. package/dist/protocol/sse.d.ts +2 -1
  209. package/dist/protocol/sse.d.ts.map +1 -1
  210. package/dist/protocol/sse.js +23 -12
  211. package/dist/protocol/sse.js.map +1 -1
  212. package/dist/protocol/tunnel-bulk.js +1 -1
  213. package/dist/protocol/tunnel-bulk.js.map +1 -1
  214. package/dist/protocol/vitals.d.ts +2 -1
  215. package/dist/protocol/vitals.d.ts.map +1 -1
  216. package/dist/protocol/vitals.js +1 -0
  217. package/dist/protocol/vitals.js.map +1 -1
  218. package/dist/schemas/activity.d.ts +1 -0
  219. package/dist/schemas/activity.d.ts.map +1 -1
  220. package/dist/schemas/activity.js.map +1 -1
  221. package/dist/schemas/agent.d.ts +6 -0
  222. package/dist/schemas/agent.d.ts.map +1 -1
  223. package/dist/schemas/agent.js +9 -4
  224. package/dist/schemas/agent.js.map +1 -1
  225. package/dist/schemas/agents-list.d.ts +404 -0
  226. package/dist/schemas/agents-list.d.ts.map +1 -0
  227. package/dist/schemas/agents-list.js +14 -0
  228. package/dist/schemas/agents-list.js.map +1 -0
  229. package/dist/schemas/agents.d.ts +203 -0
  230. package/dist/schemas/agents.d.ts.map +1 -1
  231. package/dist/schemas/agents.js +44 -0
  232. package/dist/schemas/agents.js.map +1 -1
  233. package/dist/schemas/automations.d.ts +235 -347
  234. package/dist/schemas/automations.d.ts.map +1 -1
  235. package/dist/schemas/automations.js +82 -13
  236. package/dist/schemas/automations.js.map +1 -1
  237. package/dist/schemas/capabilities.d.ts +43 -8
  238. package/dist/schemas/capabilities.d.ts.map +1 -1
  239. package/dist/schemas/capabilities.js +6 -2
  240. package/dist/schemas/capabilities.js.map +1 -1
  241. package/dist/schemas/ci.d.ts +4 -0
  242. package/dist/schemas/ci.d.ts.map +1 -1
  243. package/dist/schemas/ci.js +8 -0
  244. package/dist/schemas/ci.js.map +1 -1
  245. package/dist/schemas/devices.d.ts +67 -0
  246. package/dist/schemas/devices.d.ts.map +1 -1
  247. package/dist/schemas/devices.js +8 -0
  248. package/dist/schemas/devices.js.map +1 -1
  249. package/dist/schemas/engines.d.ts +57 -0
  250. package/dist/schemas/engines.d.ts.map +1 -1
  251. package/dist/schemas/engines.js +4 -0
  252. package/dist/schemas/engines.js.map +1 -1
  253. package/dist/schemas/extension-updates.d.ts +329 -0
  254. package/dist/schemas/extension-updates.d.ts.map +1 -1
  255. package/dist/schemas/extension-updates.js +68 -3
  256. package/dist/schemas/extension-updates.js.map +1 -1
  257. package/dist/schemas/git/git.d.ts +11 -0
  258. package/dist/schemas/git/git.d.ts.map +1 -1
  259. package/dist/schemas/git/git.js +4 -4
  260. package/dist/schemas/git/git.js.map +1 -1
  261. package/dist/schemas/history.d.ts +2 -0
  262. package/dist/schemas/history.d.ts.map +1 -1
  263. package/dist/schemas/history.js.map +1 -1
  264. package/dist/schemas/hosts.d.ts +74 -0
  265. package/dist/schemas/hosts.d.ts.map +1 -1
  266. package/dist/schemas/hosts.js +10 -1
  267. package/dist/schemas/hosts.js.map +1 -1
  268. package/dist/schemas/loopback-catch.d.ts +1 -0
  269. package/dist/schemas/loopback-catch.d.ts.map +1 -1
  270. package/dist/schemas/loopback-catch.js +1 -0
  271. package/dist/schemas/loopback-catch.js.map +1 -1
  272. package/dist/schemas/maintenance.d.ts +8 -0
  273. package/dist/schemas/maintenance.d.ts.map +1 -1
  274. package/dist/schemas/maintenance.js +6 -0
  275. package/dist/schemas/maintenance.js.map +1 -1
  276. package/dist/schemas/members.d.ts +58 -0
  277. package/dist/schemas/members.d.ts.map +1 -0
  278. package/dist/schemas/members.js +16 -0
  279. package/dist/schemas/members.js.map +1 -0
  280. package/dist/schemas/metrics.d.ts +10 -0
  281. package/dist/schemas/metrics.d.ts.map +1 -1
  282. package/dist/schemas/metrics.js +19 -3
  283. package/dist/schemas/metrics.js.map +1 -1
  284. package/dist/schemas/needs.d.ts +1159 -1
  285. package/dist/schemas/needs.d.ts.map +1 -1
  286. package/dist/schemas/needs.js +25 -3
  287. package/dist/schemas/needs.js.map +1 -1
  288. package/dist/schemas/offload.js +1 -1
  289. package/dist/schemas/offload.js.map +1 -1
  290. package/dist/schemas/peer-enrollment.d.ts +7 -0
  291. package/dist/schemas/peer-enrollment.d.ts.map +1 -0
  292. package/dist/schemas/peer-enrollment.js +6 -0
  293. package/dist/schemas/peer-enrollment.js.map +1 -0
  294. package/dist/schemas/phone.d.ts +231 -0
  295. package/dist/schemas/phone.d.ts.map +1 -0
  296. package/dist/schemas/phone.js +57 -0
  297. package/dist/schemas/phone.js.map +1 -0
  298. package/dist/schemas/privacy.d.ts +41 -0
  299. package/dist/schemas/privacy.d.ts.map +1 -1
  300. package/dist/schemas/privacy.js +20 -3
  301. package/dist/schemas/privacy.js.map +1 -1
  302. package/dist/schemas/project-delivery.d.ts +94 -0
  303. package/dist/schemas/project-delivery.d.ts.map +1 -0
  304. package/dist/schemas/project-delivery.js +35 -0
  305. package/dist/schemas/project-delivery.js.map +1 -0
  306. package/dist/schemas/providers/plan-limits.d.ts +7 -0
  307. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  308. package/dist/schemas/providers/plan-limits.js +22 -1
  309. package/dist/schemas/providers/plan-limits.js.map +1 -1
  310. package/dist/schemas/providers/usage.d.ts +1 -2
  311. package/dist/schemas/providers/usage.d.ts.map +1 -1
  312. package/dist/schemas/providers/usage.js +1 -2
  313. package/dist/schemas/providers/usage.js.map +1 -1
  314. package/dist/schemas/push.d.ts +1 -0
  315. package/dist/schemas/push.d.ts.map +1 -1
  316. package/dist/schemas/push.js.map +1 -1
  317. package/dist/schemas/secrets.d.ts +99 -0
  318. package/dist/schemas/secrets.d.ts.map +1 -1
  319. package/dist/schemas/secrets.js +34 -3
  320. package/dist/schemas/secrets.js.map +1 -1
  321. package/dist/schemas/settings-history.d.ts +1 -1
  322. package/dist/schemas/settings-history.d.ts.map +1 -1
  323. package/dist/schemas/settings-history.js +1 -0
  324. package/dist/schemas/settings-history.js.map +1 -1
  325. package/dist/schemas/settings.d.ts +13 -58
  326. package/dist/schemas/settings.d.ts.map +1 -1
  327. package/dist/schemas/settings.js +8 -13
  328. package/dist/schemas/settings.js.map +1 -1
  329. package/dist/schemas/terminal.d.ts +32 -0
  330. package/dist/schemas/terminal.d.ts.map +1 -1
  331. package/dist/schemas/terminal.js +37 -0
  332. package/dist/schemas/terminal.js.map +1 -1
  333. package/dist/schemas/updates.d.ts +1 -0
  334. package/dist/schemas/updates.d.ts.map +1 -1
  335. package/dist/schemas/updates.js +4 -0
  336. package/dist/schemas/updates.js.map +1 -1
  337. package/dist/schemas/workspace/workspace-search.d.ts +1 -0
  338. package/dist/schemas/workspace/workspace-search.d.ts.map +1 -1
  339. package/dist/schemas/workspace/workspace-search.js.map +1 -1
  340. package/dist/schemas/workspace/workspace-tree.d.ts +3 -0
  341. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -1
  342. package/dist/schemas/workspace/workspace-tree.js +22 -5
  343. package/dist/schemas/workspace/workspace-tree.js.map +1 -1
  344. package/dist/state/arrival.d.ts +59 -0
  345. package/dist/state/arrival.d.ts.map +1 -1
  346. package/dist/state/arrival.js +17 -0
  347. package/dist/state/arrival.js.map +1 -1
  348. package/dist/state/contract-lock.js +2 -2
  349. package/dist/state/contract-lock.js.map +1 -1
  350. package/dist/state/definition.d.ts +82 -16
  351. package/dist/state/definition.d.ts.map +1 -1
  352. package/dist/state/history-state.d.ts.map +1 -1
  353. package/dist/state/history-state.js +38 -0
  354. package/dist/state/history-state.js.map +1 -1
  355. package/dist/state/runtime-state.d.ts +6 -0
  356. package/dist/state/runtime-state.d.ts.map +1 -1
  357. package/dist/state/runtime-state.js +2 -0
  358. package/dist/state/runtime-state.js.map +1 -1
  359. package/dist/state/workspace-state.d.ts +24 -6
  360. package/dist/state/workspace-state.d.ts.map +1 -1
  361. package/dist/state/workspace-state.js +29 -7
  362. package/dist/state/workspace-state.js.map +1 -1
  363. package/dist/text/embed.d.ts +10 -0
  364. package/dist/text/embed.d.ts.map +1 -1
  365. package/dist/text/embed.js +25 -0
  366. package/dist/text/embed.js.map +1 -1
  367. package/dist/text/pages.d.ts +53 -0
  368. package/dist/text/pages.d.ts.map +1 -0
  369. package/dist/text/pages.js +230 -0
  370. package/dist/text/pages.js.map +1 -0
  371. package/dist/text/transcript-fold.d.ts +1 -0
  372. package/dist/text/transcript-fold.d.ts.map +1 -1
  373. package/dist/text/transcript-fold.js +30 -2
  374. package/dist/text/transcript-fold.js.map +1 -1
  375. package/dist/webext/index.d.ts +3 -2
  376. package/dist/webext/index.d.ts.map +1 -1
  377. package/dist/webext/index.js +3 -2
  378. package/dist/webext/index.js.map +1 -1
  379. package/package.json +77 -22
  380. package/src/chores/chores.ts +41 -21
  381. package/src/chores/{probes.test.ts → probes.integration.test.ts} +134 -1
  382. package/src/chores/probes.ts +128 -14
  383. package/src/chores/verdict.test.ts +29 -0
  384. package/src/contracts/agent.contract.ts +2 -2
  385. package/src/contracts/agents.contract.ts +1 -1
  386. package/src/contracts/automations.contract.ts +19 -1
  387. package/src/contracts/device.contract.ts +5 -0
  388. package/src/contracts/endpoints.contract.ts +32 -26
  389. package/src/contracts/extensions.contract.ts +49 -0
  390. package/src/contracts/pages.contract.ts +61 -0
  391. package/src/contracts/phone.contract.ts +21 -0
  392. package/src/contracts/privacy.contract.ts +13 -1
  393. package/src/contracts/runner.contract.ts +1 -1
  394. package/src/contracts/secrets.contract.ts +25 -0
  395. package/src/contracts/settings.contract.ts +10 -0
  396. package/src/contracts/system.contract.ts +26 -0
  397. package/src/documents/conversions.ts +3 -1
  398. package/src/documents/read.ts +4 -5
  399. package/src/events/agent-events.ts +27 -3
  400. package/src/events/requests.ts +47 -0
  401. package/src/events/transcript.ts +14 -0
  402. package/src/ids/hostnames.fixture.json +14 -10
  403. package/src/ids/hostnames.test.ts +21 -2
  404. package/src/ids/hostnames.ts +34 -15
  405. package/src/ids/sandbox-id.ts +3 -0
  406. package/src/ids/tunnel-ids.ts +1 -2
  407. package/src/index.ts +29 -12
  408. package/src/models/agent-catalog.ts +1 -2
  409. package/src/models/agent-runtimes.ts +12 -6
  410. package/src/models/provider-specs.test.ts +12 -0
  411. package/src/models/provider-specs.ts +16 -0
  412. package/src/{front → netd}/browser-wire.ts +1 -1
  413. package/src/{front → netd}/generated/browser-wire.json +80 -7
  414. package/src/{front → netd}/generated/browser-wire.ts +34 -7
  415. package/src/{front/generated/front-wire.json → netd/generated/netd-wire.json} +103 -41
  416. package/src/{front → netd}/generated/tunnel.json +15 -1
  417. package/src/{front → netd}/generated/wire.ts +26 -21
  418. package/src/netd/netd-wire.ts +24 -0
  419. package/src/{front → netd}/wire-manifests.test.ts +31 -11
  420. package/src/policy/credential-material.ts +39 -11
  421. package/src/policy/message-limits.ts +25 -0
  422. package/src/policy/request-status.ts +10 -1
  423. package/src/policy/reserved-servers.ts +3 -2
  424. package/src/policy/tests/credential-material.test.ts +49 -1
  425. package/src/policy/tests/message-limits.test.ts +27 -0
  426. package/src/policy/tests/reserved-servers.test.ts +3 -3
  427. package/src/policy/turned-away.ts +5 -1
  428. package/src/protocol/container-requirements.ts +4 -5
  429. package/src/protocol/{listener-protocol.ts → doors/listener-protocol.ts} +37 -15
  430. package/src/protocol/doors/phone-links.ts +50 -0
  431. package/src/protocol/doors/phone-protocol.test.ts +136 -0
  432. package/src/protocol/doors/phone-protocol.ts +71 -0
  433. package/src/protocol/{runner-protocol.ts → doors/runner-protocol.ts} +1 -1
  434. package/src/protocol/{webext-links.ts → doors/webext-links.ts} +4 -0
  435. package/src/protocol/edge-verdict.ts +1 -1
  436. package/src/protocol/headers.ts +14 -0
  437. package/src/protocol/ingress-contract.ts +6 -10
  438. package/src/protocol/peer-dial.test.ts +83 -4
  439. package/src/protocol/peer-dial.ts +33 -40
  440. package/src/protocol/raw/extension-protocol.ts +59 -0
  441. package/src/protocol/raw/raw-json-routes.ts +61 -0
  442. package/src/protocol/{raw-routes.ts → raw/raw-routes.ts} +40 -7
  443. package/src/protocol/raw/route-path.ts +13 -0
  444. package/src/protocol/route-meta.ts +4 -4
  445. package/src/protocol/routes.ts +12 -0
  446. package/src/protocol/sse.test.ts +49 -0
  447. package/src/protocol/sse.ts +29 -14
  448. package/src/protocol/tunnel-bulk.test.ts +1 -1
  449. package/src/protocol/tunnel-bulk.ts +2 -2
  450. package/src/protocol/vitals.test.ts +7 -7
  451. package/src/protocol/vitals.ts +12 -7
  452. package/src/schemas/activity.ts +1 -0
  453. package/src/schemas/agent.ts +11 -4
  454. package/src/schemas/agents-list.ts +24 -0
  455. package/src/schemas/agents.ts +71 -2
  456. package/src/schemas/automations.ts +126 -24
  457. package/src/schemas/capabilities.ts +13 -3
  458. package/src/schemas/ci.ts +10 -0
  459. package/src/schemas/devices.ts +24 -0
  460. package/src/schemas/engines.ts +7 -0
  461. package/src/schemas/extension-updates.ts +93 -3
  462. package/src/schemas/git/git.ts +15 -4
  463. package/src/schemas/history.ts +2 -0
  464. package/src/schemas/hosts.ts +23 -1
  465. package/src/schemas/loopback-catch.ts +6 -1
  466. package/src/schemas/maintenance.ts +9 -0
  467. package/src/schemas/members.ts +33 -0
  468. package/src/schemas/metrics.ts +21 -3
  469. package/src/schemas/needs.ts +36 -3
  470. package/src/schemas/offload.ts +1 -1
  471. package/src/schemas/peer-enrollment.ts +14 -0
  472. package/src/schemas/phone.ts +121 -0
  473. package/src/schemas/privacy.ts +36 -7
  474. package/src/schemas/project-delivery.ts +78 -0
  475. package/src/schemas/providers/plan-limits.ts +27 -3
  476. package/src/schemas/providers/usage.ts +3 -3
  477. package/src/schemas/push.ts +1 -0
  478. package/src/schemas/secrets.ts +54 -3
  479. package/src/schemas/settings-history.ts +2 -0
  480. package/src/schemas/settings.ts +20 -22
  481. package/src/schemas/terminal.ts +50 -0
  482. package/src/schemas/updates.test.ts +47 -0
  483. package/src/schemas/updates.ts +4 -0
  484. package/src/schemas/workspace/workspace-search.ts +2 -0
  485. package/src/schemas/workspace/workspace-tree.ts +40 -12
  486. package/src/state/arrival.ts +40 -0
  487. package/src/state/contract-lock.test.ts +1 -1
  488. package/src/state/contract-lock.ts +5 -5
  489. package/src/state/history-state.ts +72 -1
  490. package/src/state/runtime-state.ts +4 -0
  491. package/src/state/workspace-state.ts +65 -20
  492. package/src/text/embed.test.ts +21 -1
  493. package/src/text/embed.ts +50 -3
  494. package/src/text/pages.test.ts +161 -0
  495. package/src/text/pages.ts +344 -0
  496. package/src/text/transcript-fold.test.ts +22 -0
  497. package/src/text/transcript-fold.ts +41 -2
  498. package/src/webext/index.ts +3 -2
  499. package/dist/front/browser-wire.d.ts.map +0 -1
  500. package/dist/front/browser-wire.js.map +0 -1
  501. package/dist/front/front-wire.d.ts +0 -6
  502. package/dist/front/front-wire.d.ts.map +0 -1
  503. package/dist/front/front-wire.js +0 -5
  504. package/dist/front/front-wire.js.map +0 -1
  505. package/dist/front/generated/browser-wire.d.ts.map +0 -1
  506. package/dist/front/generated/browser-wire.js.map +0 -1
  507. package/dist/front/generated/wire.d.ts.map +0 -1
  508. package/dist/protocol/host-protocol.d.ts.map +0 -1
  509. package/dist/protocol/host-protocol.js.map +0 -1
  510. package/dist/protocol/listener-protocol.d.ts.map +0 -1
  511. package/dist/protocol/listener-protocol.js +0 -33
  512. package/dist/protocol/listener-protocol.js.map +0 -1
  513. package/dist/protocol/raw-routes.d.ts.map +0 -1
  514. package/dist/protocol/raw-routes.js.map +0 -1
  515. package/dist/protocol/request-id.d.ts +0 -2
  516. package/dist/protocol/request-id.d.ts.map +0 -1
  517. package/dist/protocol/request-id.js +0 -2
  518. package/dist/protocol/request-id.js.map +0 -1
  519. package/dist/protocol/runner-protocol.d.ts.map +0 -1
  520. package/dist/protocol/runner-protocol.js.map +0 -1
  521. package/dist/protocol/webext-links.d.ts.map +0 -1
  522. package/dist/protocol/webext-links.js.map +0 -1
  523. package/dist/protocol/webext-protocol.d.ts.map +0 -1
  524. package/dist/protocol/webext-protocol.js.map +0 -1
  525. package/src/front/front-wire.ts +0 -15
  526. package/src/protocol/request-id.ts +0 -2
  527. /package/dist/{front → netd}/browser-wire.d.ts +0 -0
  528. /package/dist/{front → netd}/browser-wire.js +0 -0
  529. /package/dist/{front → netd}/generated/browser-wire.js +0 -0
  530. /package/dist/{front → netd}/generated/wire.js +0 -0
  531. /package/dist/protocol/{host-protocol.d.ts → doors/host-protocol.d.ts} +0 -0
  532. /package/dist/protocol/{host-protocol.js → doors/host-protocol.js} +0 -0
  533. /package/dist/protocol/{runner-protocol.d.ts → doors/runner-protocol.d.ts} +0 -0
  534. /package/dist/protocol/{webext-protocol.d.ts → doors/webext-protocol.d.ts} +0 -0
  535. /package/dist/protocol/{webext-protocol.js → doors/webext-protocol.js} +0 -0
  536. /package/src/protocol/{host-protocol.ts → doors/host-protocol.ts} +0 -0
  537. /package/src/protocol/{webext-protocol.ts → doors/webext-protocol.ts} +0 -0
package/README.md CHANGED
@@ -7,7 +7,7 @@ flowchart LR
7
7
  web["Editor<br/>typed oRPC client"] --> contract(["sandboxContract"])
8
8
  ext["Extensions<br/>api.sandbox.rpc"] --> contract
9
9
  contract --> daemon["Sandbox daemon<br/>route factories"]
10
- daemon -- "device · webext<br/>runner contracts" --> peers["Machines · browser extension<br/>runners"]
10
+ daemon -- "device · webext · phone<br/>runner contracts" --> peers["Machines · browser extension<br/>phones · runners"]
11
11
  contract -. "contract.lock.json" .-> shrink["contract-shrink<br/>CI check"]
12
12
  contract -. "generated from" .-> openapi["sandbox-openapi"]
13
13
  ```
@@ -17,13 +17,24 @@ flowchart LR
17
17
  through one typed client.
18
18
  - Policy sits beside each route: `procedure()` declares how a request authenticates, which member tier it needs and how
19
19
  far a control token reaches. Routes outside oRPC (streams, WebSocket upgrades, `/health`) are listed in
20
- `RAW_ROUTES`.
21
- - Three contracts run the other way. `deviceContract`, `webextContract` and `runnerContract` are served by a user's
22
- machine, the browser extension and a runner over the socket each one opens, with the daemon as the client.
20
+ `RAW_ROUTES`. One that answers plain JSON (`/members`, `/environment`, `/engines`, `/definition`) has its input and
21
+ answer schemas in `RAW_JSON_ROUTES` under the same key, which the editor's `sandboxRaw` fetches by and parses with;
22
+ any other caller builds the path with `rawRouteUrl` (or `procedurePath` for a procedure it calls without oRPC's
23
+ client), so no route is spelled a second time.
24
+ - Four contracts run the other way. `deviceContract`, `webextContract`, `phoneContract` and `runnerContract` are served
25
+ by a user's machine, the browser extension, the phone app and a runner over the socket each one opens, with the
26
+ daemon as the client. The phone's is carried as plain JSON-RPC (`src/protocol/doors/phone-protocol.ts`), since its far end is
27
+ a Kotlin app; `golden/phone-wire.json` holds example frames that both ends test against.
23
28
  - The daemon names the routes it implements on the `/events` hello frame, and the browser diffs that list against its
24
29
  own build, so a route an older daemon lacks shows as a missing feature instead of a 404. The desktop app's folder
25
30
  sidecar sends the same frame with `surface: "folder"` and only the few routes it serves, which the browser offers
26
31
  and never reads as out of date.
32
+ - `settings.agentDomain` reads the execution-domain policy; `settings.setAgentDomain` requires the owner's bearer,
33
+ never a panel, agent or control token. This policy is stored in the daemon's auth root, not in the agent-writable
34
+ settings manifest. Its rollout default remains `root`; a daemon build whose execution boundary is incomplete
35
+ refuses activation of `unprivileged` even for the owner, rather than promising protection it cannot enforce.
36
+ A turn refused for an unsupported or unreadable protected policy carries `agent-domain-refused`, an admission
37
+ refusal: its queued words remain owed, not consumed as an executed failure.
27
38
  - Some rules live here as code, not only shapes, because both ends must reach the same answer. The main one is
28
39
  whether an account can serve a turn: `serviceState` in `src/models/plan-pools.ts` turns a revoked sign-in, a lost
29
40
  seat, a translator bench, a standing refusal and the plan limits into one `AccountState` (`ready` · `spent` ·
@@ -48,17 +59,18 @@ flowchart LR
48
59
  feed it today. (2026-10-04: a widget kind of its own was rejected: a widget's lines are a status entry's text, and
49
60
  nothing yet draws a placement beside a composer.)
50
61
  - `StatePlanSchema` and `StateStatusSchema` are what `ic` reads by field name: the update pre-flight's line (embedded
51
- verbatim in the staged-update marker) and `/health`'s `state`. `golden/` holds their examples, which the contract's
52
- test keeps current and ic's Rust tests parse.
53
- - The wire no oRPC route carries is defined by the Rust crates that speak it (`_sandbox/front/crates`): `tunnel` (the
62
+ verbatim in the staged-update marker) and `/health`'s `state`. So are `UpdateOutcomeSchema` and
63
+ `PreparingUpdateSchema`, the files `ic` writes beside an update for the daemon to read. `golden/` holds an example of
64
+ each, which the contract's tests keep current and ic's Rust tests parse or produce field for field.
65
+ - The wire no oRPC route carries is defined by the Rust crates that speak it (`_sandbox/netd/crates`): `tunnel` (the
54
66
  `/tunnel/v2` door, its headers and lanes, the stream multiplexer, close codes, liveness, ALPN and the transports an
55
67
  edge declares; what the daemon announces as its transfers is `protocol/tunnel-bulk.ts`, held to the edge's reading by
56
- the shared `ingress-contract.fixture.json`), `browser-wire` (what a browser sees: the terminal socket and its messages, the front's vitals,
57
- the WebTransport path, the edge's verdict) and `front-wire` (the front's control socket with Node, its env vars and its patience). The
68
+ the shared `ingress-contract.fixture.json`), `browser-wire` (what a browser sees: the terminal socket and its messages, netd's vitals,
69
+ the WebTransport path, the edge's verdict) and `netd-wire` (netd's control socket with Node, its env vars and its patience). The
58
70
  vitals are read at the package root: `protocol/vitals.ts` gives `VITALS_PATH` and `parseVitals`, which reads any
59
71
  other body (an older sandbox's 404 from Node) as undefined. Their tests
60
- write TypeScript and a JSON manifest each into `src/front/generated/`; `src/front/browser-wire.ts` and
61
- `src/front/front-wire.ts` are the entries to them, and `wire-manifests.test.ts` holds every value TypeScript restates
72
+ write TypeScript and a JSON manifest each into `src/netd/generated/`; `src/netd/browser-wire.ts` and
73
+ `src/netd/netd-wire.ts` are the entries to them, and `wire-manifests.test.ts` holds every value TypeScript restates
62
74
  to those manifests.
63
75
  - `contract.lock.json` is every exported schema as canonical JSON Schema, plus those three manifests under `wire:`
64
76
  names, so a changed tunnel header or a gone control message is a shrink like any other, plus who reaches each route
@@ -75,7 +87,7 @@ flowchart LR
75
87
 
76
88
  - [src/index.ts](src/index.ts) — `sandboxContract`, the route tables derived from it, and every public export.
77
89
  - [src/protocol/route-meta.ts](src/protocol/route-meta.ts) — the per-route policy fields and their defaults.
78
- - [src/protocol/raw-routes.ts](src/protocol/raw-routes.ts) — every route the daemon serves outside oRPC.
90
+ - [src/protocol/raw/raw-routes.ts](src/protocol/raw/raw-routes.ts) — every route the daemon serves outside oRPC, and `rawRouteUrl`.
79
91
  - [src/protocol/routes.ts](src/protocol/routes.ts) — route naming, `streamOf` for streamed routes, and the route list a daemon advertises.
80
92
  - [contract.lock.json](contract.lock.json) — the committed fingerprint of the wire surface.
81
93
  - [src/webext/index.ts](src/webext/index.ts) — a narrow entry point, one of several that keep small bundles off the barrel.
@@ -1 +1 @@
1
- {"version":3,"file":"chores.d.ts","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chores.d.ts","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { plural } from "@intentic/base/format";
1
+ import { plural, sizeLabel } from "@intentic/base/format";
2
2
  import { bucketOf, digestOf } from "./digest.js";
3
+ import { AUDIT_COMMAND } from "./probes.js";
3
4
  import { CHORE_INVARIANTS, composeAsk, REPORT_INVARIANTS, TRIAGE_NOTE } from "./prompt.js";
4
5
  import { componentStem, frameworksOf, idiomRule, normalizePath, UI_FRAMEWORKS, usesTailwind } from "./stack.js";
5
6
  import { WORKSPACE_ROOT_JSCPD_EXCLUDE_ARG } from "./workspace-scope.js";
@@ -10,7 +11,9 @@ const JSCPD_DIR = `/tmp/intentic-chore-jscpd`;
10
11
  const JSCPD_REPORT = `${JSCPD_DIR}/jscpd-report.json`;
11
12
  export const repoLabel = (repo) => (repo === `root` || repo === `` ? `the workspace root repository` : repo);
12
13
  export const repoName = (repo) => (repo === `root` || repo === `` ? `workspace root` : repo);
13
- const outdatedLine = (entry) => `${entry.kind} · ${entry.name} ${entry.current} → ${entry.latest}`;
14
+ const whereOf = (finding) => finding.standalone === undefined ? `` : ` in ${finding.standalone}`;
15
+ const identityOf = (finding, identity) => finding.standalone === undefined ? identity : `${finding.standalone}:${identity}`;
16
+ const outdatedLine = (entry) => `${entry.kind} · ${entry.name}${whereOf(entry)} ${entry.current} → ${entry.latest}`;
14
17
  const factsOf = (context, id) => {
15
18
  const probe = context.probes.get(id);
16
19
  if (probe?.state !== `ok` || probe.facts === undefined || probe.facts.id !== id) {
@@ -25,18 +28,20 @@ const security = {
25
28
  icon: `shield`,
26
29
  description: `Published advisories against this dependency tree, and the ones whose fix is a version bump.`,
27
30
  kind: `carrying`,
28
- criterion: `pnpm audit reports an advisory of high or critical severity against the resolved tree.`,
31
+ criterion: `pnpm audit reports an advisory of high or critical severity against the resolved tree, or against a package the workspace leaves out.`,
29
32
  applies: (signals) => (signals.shape.lockfile ? undefined : `no lockfile`),
30
33
  stance: `act`,
31
34
  needs: [`audit`],
32
35
  cadenceMs: 0,
33
36
  automation: {
34
37
  cron: `0 4 * * *`,
35
- guard: `pnpm audit --json > ${AUDIT_REPORT} 2>/dev/null; ` +
36
- `[ "$(jq '(.metadata.vulnerabilities.high // 0) + (.metadata.vulnerabilities.critical // 0)' ${AUDIT_REPORT} 2>/dev/null || echo 0)" -gt 0 ]`,
38
+ guard: `{ ${AUDIT_COMMAND}; } > ${AUDIT_REPORT}; ` +
39
+ `[ "$(jq -s '[.[] | .metadata.vulnerabilities? // empty | (.high // 0) + (.critical // 0)] | add // 0' ${AUDIT_REPORT} 2>/dev/null || echo 0)" -gt 0 ]`,
37
40
  note: `nightly · high + critical only`,
38
41
  report: AUDIT_REPORT,
39
- woke: `pnpm audit's report for this workspace is in ${AUDIT_REPORT} (JSON), and it woke you because it carries a high or critical advisory.`,
42
+ woke: `pnpm audit's report for this workspace is in ${AUDIT_REPORT}, a stream of JSON documents (read it with \`jq -s\`): pnpm's own ` +
43
+ `report first, then for each package the workspace leaves out a \`{"standalone": dir}\` line and that package's report. ` +
44
+ `It woke you because it carries a high or critical advisory.`,
40
45
  },
41
46
  assess: (context) => {
42
47
  const facts = factsOf(context, `audit`);
@@ -53,20 +58,23 @@ const security = {
53
58
  headline: `${plural(blocking.length, `advisory`, `advisories`)}, ${patchable.length} with a published fix`,
54
59
  detail: blocking
55
60
  .toSorted((left, right) => left.name.localeCompare(right.name))
56
- .map((advisory) => `${advisory.severity} · ${advisory.name}, ${advisory.title}${advisory.patched === undefined ? ` (no patch yet)` : ``}`),
57
- digest: digestOf(...blocking.map((advisory) => `${advisory.name}@${advisory.severity}`).toSorted()),
61
+ .map((advisory) => `${advisory.severity} · ${advisory.name}${whereOf(advisory)}, ${advisory.title}${advisory.patched === undefined ? ` (no patch yet)` : ``}`),
62
+ digest: digestOf(...blocking.map((advisory) => identityOf(advisory, `${advisory.name}@${advisory.severity}`)).toSorted()),
58
63
  severity: production.length > 0 ? `warning` : `info`,
59
64
  why: `pnpm audit reports ${plural(blocking.length, `high or critical advisory`, `high or critical advisories`)} against ` +
60
65
  `${repoLabel(context.repo)}, ${production.length} reaching a production dependency path, ${patchable.length} with a published patched range: ` +
61
- `${blocking.map((advisory) => `${advisory.name} (${advisory.severity}${advisory.dev ? `, dev-only` : ``}${advisory.patched === undefined ? `, no patch` : `, fixed in ${advisory.patched}`})`).join(`; `)}.`,
66
+ `${blocking.map((advisory) => `${advisory.name}${whereOf(advisory)} (${advisory.severity}${advisory.dev ? `, dev-only` : ``}${advisory.patched === undefined ? `, no patch` : `, fixed in ${advisory.patched}`})`).join(`; `)}.`,
62
67
  };
63
68
  },
64
69
  diagnosis: `An advisory with a published fix is a version bump someone has to actually make; one without is a risk to decide about.`,
65
70
  goal: `For each advisory, establish whether this workspace reaches the vulnerable code path at all: a transitive dependency of a ` +
66
71
  `build-time tool is a different problem from one in a running service. Where the fix is a version bump the lockfile can absorb, ` +
67
72
  `make it. Where it needs a real upgrade or has no patch published, leave it and say what it would take. Never rewrite ` +
68
- `application code to route around a CVE.`,
69
- done: `Done when \`pnpm audit\` reports fewer high/critical advisories than it did, and the type-check and tests of what it changed pass.`,
73
+ `application code to route around a CVE. An advisory named "in <folder>" is in a package the pnpm workspace leaves out ` +
74
+ `and installs on its own: bump it in that folder's package.json, and check it by auditing a scratch copy of the folder ` +
75
+ `(\`pnpm install --lockfile-only --ignore-workspace\`, then \`pnpm audit --ignore-workspace\`), never by leaving a lockfile in it.`,
76
+ done: `Done when \`pnpm audit\`, and the scratch-copy audit of any folder you touched, reports fewer high/critical advisories than ` +
77
+ `it did, and the type-check and tests of what it changed pass.`,
70
78
  };
71
79
  const OUTDATED_NOISE_FLOOR = 20;
72
80
  const dependencies = {
@@ -94,18 +102,20 @@ const dependencies = {
94
102
  ? `${plural(facts.packages.length, `package`)} behind`
95
103
  : `${plural(majors.length, `major`)} waiting, ${facts.packages.length} behind in total`,
96
104
  detail: majors.toSorted((left, right) => left.name.localeCompare(right.name)).map(outdatedLine),
97
- digest: digestOf(...majors.map((entry) => `${entry.name}@${entry.latest}`).toSorted(), `total:${bucketOf(facts.packages.length)}`),
105
+ digest: digestOf(...majors.map((entry) => identityOf(entry, `${entry.name}@${entry.latest}`)).toSorted(), `total:${bucketOf(facts.packages.length)}`),
98
106
  severity: `info`,
99
107
  why: `pnpm outdated reports ${plural(facts.packages.length, `dependency`, `dependencies`)} behind the registry in ` +
100
108
  `${repoLabel(context.repo)}, ${majors.length} of them by a major version` +
101
- `${majors.length === 0 ? `` : `: ${majors.map((entry) => `${entry.name} ${entry.current} → ${entry.latest}`).join(`; `)}`}.`,
109
+ `${majors.length === 0 ? `` : `: ${majors.map((entry) => `${entry.name}${whereOf(entry)} ${entry.current} → ${entry.latest}`).join(`; `)}`}.`,
102
110
  };
103
111
  },
104
112
  diagnosis: `Version drift is cheap to fix continuously and expensive to fix in one go, because the majors start depending on each other.`,
105
113
  goal: `Take the patch and minor upgrades in one pass: those are what the lockfile can absorb without argument. Then take the majors ` +
106
114
  `ONE AT A TIME, reading each one's changelog for breaking changes before you touch anything, and stop at the first one that ` +
107
115
  `needs more than a mechanical fix: leave it, and say what it would take. Do not batch majors; a failing test after eight of them ` +
108
- `is a bisect nobody wanted.`,
116
+ `is a bisect nobody wanted. Where a manifest says \`catalog:\`, the version lives in the catalog in pnpm-workspace.yaml: bump ` +
117
+ `it there, once, then \`pnpm install\`. A dependency named "in <folder>" is in a package the workspace leaves out and installs ` +
118
+ `on its own, so it is bumped in that folder's package.json.`,
109
119
  done: `Done when the type-check and tests of what it changed pass, and your summary names every major you took and every one you left, with the reason.`,
110
120
  };
111
121
  const deadCode = {
@@ -406,7 +416,6 @@ const libraries = {
406
416
  const DETAIL_LIMIT = 8;
407
417
  const FRAMEWORK_LABELS = UI_FRAMEWORKS.map((framework) => framework.label).join(`, `);
408
418
  const needsFramework = (signals) => frameworksOf(signals.shape.deps).length > 0 ? undefined : `no ${FRAMEWORK_LABELS}`;
409
- const bytesLabel = (bytes) => (bytes >= 1024 * 1024 ? `${(bytes / (1024 * 1024)).toFixed(1)} MB` : `${Math.round(bytes / 1024)} kB`);
410
419
  const BUNDLE_SHARE_FLOOR = 50;
411
420
  const BUNDLE_MIN_ASSETS = 3;
412
421
  const stableAsset = (path) => path.replace(/[.-](?=[A-Za-z0-9_-]*[0-9])[A-Za-z0-9_-]{8,}(\.[a-z0-9]+)$/, `$1`);
@@ -440,20 +449,20 @@ const bundleWeight = {
440
449
  return undefined;
441
450
  }
442
451
  return {
443
- headline: `${largest.path} is ${Math.round(share)}% of the ${bytesLabel(totalGzip)} this build ships`,
452
+ headline: `${largest.path} is ${Math.round(share)}% of the ${sizeLabel(totalGzip)} this build ships`,
444
453
  detail: ranked
445
454
  .slice(0, DETAIL_LIMIT)
446
- .map((asset) => `${bytesLabel(asset.gzip)} gzipped · ${asset.path} (${bytesLabel(asset.bytes)} on disk)`),
455
+ .map((asset) => `${sizeLabel(asset.gzip)} gzipped · ${asset.path} (${sizeLabel(asset.bytes)} on disk)`),
447
456
  digest: digestOf(`total:${bucketOf(totalGzip)}`, ...ranked
448
457
  .slice(0, 5)
449
458
  .map((asset) => stableAsset(asset.path))
450
459
  .toSorted()),
451
460
  severity: `info`,
452
- why: `The build output in ${dir}/ of ${repoLabel(context.repo)} is ${bytesLabel(totalGzip)} gzipped across ` +
453
- `${plural(assets.length, `asset`)}, and ${largest.path} alone is ${bytesLabel(largest.gzip)} of it: ${Math.round(share)}%. ` +
461
+ why: `The build output in ${dir}/ of ${repoLabel(context.repo)} is ${sizeLabel(totalGzip)} gzipped across ` +
462
+ `${plural(assets.length, `asset`)}, and ${largest.path} alone is ${sizeLabel(largest.gzip)} of it: ${Math.round(share)}%. ` +
454
463
  `The next largest are ${ranked
455
464
  .slice(1, 4)
456
- .map((asset) => `${asset.path} (${bytesLabel(asset.gzip)})`)
465
+ .map((asset) => `${asset.path} (${sizeLabel(asset.gzip)})`)
457
466
  .join(`, `)}. ` +
458
467
  `This is the last build someone ran, read off disk; nothing rebuilt it to measure.`,
459
468
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chores.js","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chores.js","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface ProbeSpec {
11
11
  readonly command: string;
12
12
  readonly parse: (stdout: string) => ProbeFacts | undefined;
13
13
  }
14
+ export declare const AUDIT_COMMAND: string;
14
15
  export declare const PROBES: readonly ProbeSpec[];
15
16
  export declare const probeSpec: (id: ProbeId) => ProbeSpec;
16
17
  //# sourceMappingURL=probes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../../src/chores/probes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2E,UAAU,EAAE,OAAO,EAAU,MAAM,2BAA2B,CAAC;AAuBtJ,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;CAC9D;AAqWD,eAAO,MAAM,MAAM,EAAE,SAAS,SAAS,EAsGtC,CAAC;AAEF,eAAO,MAAM,SAAS,OAAQ,OAAO,KAAG,SAMvC,CAAC"}
1
+ {"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../../src/chores/probes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2E,UAAU,EAAE,OAAO,EAAU,MAAM,2BAA2B,CAAC;AAuBtJ,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;CAC9D;AAwND,eAAO,MAAM,aAAa,QAAsG,CAAC;AA8PjI,eAAO,MAAM,MAAM,EAAE,SAAS,SAAS,EAuGtC,CAAC;AAEF,eAAO,MAAM,SAAS,OAAQ,OAAO,KAAG,SAMvC,CAAC"}
@@ -29,13 +29,59 @@ const semverKind = (current, latest) => {
29
29
  }
30
30
  return latestMinor !== currentMinor ? `minor` : `patch`;
31
31
  };
32
- const parseOutdated = (stdout) => {
33
- const root = asObject(stdout);
32
+ const STANDALONE_DIRS = `sed -n '/^packages:/,/^[^[:space:]#-]/p' pnpm-workspace.yaml 2>/dev/null | tr -d "\\"'" | ` +
33
+ `sed -n -e 's|/\\*\\*[[:space:]]*$||' -e 's|^[[:space:]]*-[[:space:]]*!\\([^[:space:]#]*\\).*$|\\1|p'`;
34
+ const STANDALONE_KEY = `standalone`;
35
+ const STANDALONE_LINE = /^\{"standalone":"([^"]*)"\}$/;
36
+ const standaloneCommand = (measure) => `${STANDALONE_DIRS} | while IFS= read -r dir; do ` +
37
+ `[ -f "$dir/package.json" ] || continue; ` +
38
+ `printf '{"${STANDALONE_KEY}":"%s"}\\n' "$dir"; ` +
39
+ `scratch=$(mktemp -d) || continue; ` +
40
+ `for file in package.json pnpm-lock.yaml package-lock.json .npmrc; do [ -f "$dir/$file" ] && cp "$dir/$file" "$scratch/"; done; ` +
41
+ `( cd "$scratch" && { [ -f pnpm-lock.yaml ] || { [ -f package-lock.json ] && pnpm import >/dev/null 2>&1; } || ` +
42
+ `pnpm install --lockfile-only --ignore-workspace --ignore-scripts >/dev/null 2>&1; } && ${measure} ); ` +
43
+ `rm -rf "$scratch"; ` +
44
+ `done`;
45
+ const withStandalone = (measure, standaloneMeasure) => `${measure}; ${standaloneCommand(standaloneMeasure)}; true`;
46
+ const sectionsOf = (stdout) => {
47
+ const sections = [{ lines: [] }];
48
+ for (const line of stdout.split(`\n`)) {
49
+ const marker = STANDALONE_LINE.exec(line.trim());
50
+ if (marker === null) {
51
+ sections.at(-1)?.lines.push(line);
52
+ }
53
+ else {
54
+ sections.push({ standalone: marker[1] ?? ``, lines: [] });
55
+ }
56
+ }
57
+ return sections.map(({ standalone, lines }) => ({ ...(standalone === undefined ? {} : { standalone }), text: lines.join(`\n`) }));
58
+ };
59
+ const parseSections = (stdout, parse) => {
60
+ const found = [];
61
+ for (const section of sectionsOf(stdout)) {
62
+ const parsed = parse(section);
63
+ if (parsed === undefined) {
64
+ return undefined;
65
+ }
66
+ found.push(...parsed);
67
+ }
68
+ return found;
69
+ };
70
+ const standaloneOf = (section) => (section.standalone === undefined ? {} : { standalone: section.standalone });
71
+ const DISAMBIGUATED_KEY = /^(@?[^@\s]+)@\S+(?:\s+\([^)]*\))?$/;
72
+ const packageNameOf = (key) => DISAMBIGUATED_KEY.exec(key)?.[1] ?? key;
73
+ const SECTION_RANK = [`dependencies`, `optionalDependencies`, `peerDependencies`, `devDependencies`];
74
+ const rankOf = (section) => {
75
+ const rank = SECTION_RANK.indexOf(section);
76
+ return rank === -1 ? SECTION_RANK.length : rank;
77
+ };
78
+ const parseOutdatedSection = (section) => {
79
+ const root = asObject(section.text);
34
80
  if (root === undefined) {
35
81
  return undefined;
36
82
  }
37
- const packages = [];
38
- for (const [name, raw] of Object.entries(root)) {
83
+ const packages = new Map();
84
+ for (const [key, raw] of Object.entries(root)) {
39
85
  if (typeof raw !== `object` || raw === null) {
40
86
  continue;
41
87
  }
@@ -45,19 +91,36 @@ const parseOutdated = (stdout) => {
45
91
  if (current === undefined || latest === undefined || current === latest) {
46
92
  continue;
47
93
  }
48
- packages.push({ name, current, latest, kind: semverKind(current, latest), section: asString(entry[`dependencyType`]) ?? `dependencies` });
94
+ const name = packageNameOf(key);
95
+ const row = {
96
+ name,
97
+ current,
98
+ latest,
99
+ kind: semverKind(current, latest),
100
+ section: asString(entry[`dependencyType`]) ?? `dependencies`,
101
+ ...standaloneOf(section),
102
+ };
103
+ const identity = `${name}@${current}→${latest}`;
104
+ const seen = packages.get(identity);
105
+ if (seen === undefined || rankOf(row.section) < rankOf(seen.section)) {
106
+ packages.set(identity, row);
107
+ }
49
108
  }
50
- return { id: `outdated`, packages };
109
+ return [...packages.values()];
110
+ };
111
+ const parseOutdated = (stdout) => {
112
+ const packages = parseSections(stdout, parseOutdatedSection);
113
+ return packages === undefined ? undefined : { id: `outdated`, packages };
51
114
  };
52
115
  const SEVERITIES = new Set([`critical`, `high`, `moderate`, `low`, `info`]);
53
- const parseAudit = (stdout) => {
54
- const root = asObject(stdout);
116
+ const parseAuditSection = (section) => {
117
+ const root = asObject(section.text);
55
118
  if (root === undefined) {
56
119
  return undefined;
57
120
  }
58
121
  const raw = root[`advisories`];
59
122
  if (raw === undefined) {
60
- return { id: `audit`, advisories: [] };
123
+ return [];
61
124
  }
62
125
  if (typeof raw !== `object` || raw === null) {
63
126
  return undefined;
@@ -81,10 +144,16 @@ const parseAudit = (stdout) => {
81
144
  title: asString(entry[`title`]) ?? name,
82
145
  ...(patched === undefined || patched === `<0.0.0` ? {} : { patched }),
83
146
  dev: findings.length > 0 && findings.every((finding) => finding[`dev`] === true),
147
+ ...standaloneOf(section),
84
148
  });
85
149
  }
86
- return { id: `audit`, advisories };
150
+ return advisories;
151
+ };
152
+ const parseAudit = (stdout) => {
153
+ const advisories = parseSections(stdout, parseAuditSection);
154
+ return advisories === undefined ? undefined : { id: `audit`, advisories };
87
155
  };
156
+ export const AUDIT_COMMAND = withStandalone(`pnpm audit --json 2>/dev/null`, `pnpm audit --json --ignore-workspace 2>/dev/null`);
88
157
  const DEAD_CODE_SAMPLE = 8;
89
158
  const parseKnip = (stdout) => {
90
159
  const raw = asObject(stdout)?.[`issues`];
@@ -288,7 +357,7 @@ export const PROBES = [
288
357
  timeoutMs: 5 * 60_000,
289
358
  available: `test -f package.json`,
290
359
  unavailable: `no package.json`,
291
- command: `pnpm outdated -r --json 2>/dev/null || true`,
360
+ command: withStandalone(`pnpm outdated -r --json 2>/dev/null`, `pnpm outdated --json --ignore-workspace 2>/dev/null`),
292
361
  parse: parseOutdated,
293
362
  },
294
363
  {
@@ -300,7 +369,7 @@ export const PROBES = [
300
369
  timeoutMs: 5 * 60_000,
301
370
  available: `test -f pnpm-lock.yaml || test -f package-lock.json`,
302
371
  unavailable: `no lockfile`,
303
- command: `pnpm audit --json 2>/dev/null || true`,
372
+ command: AUDIT_COMMAND,
304
373
  parse: parseAudit,
305
374
  },
306
375
  {