@intentic/sandbox-contract 1.331.0 → 1.333.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 (416) hide show
  1. package/README.md +23 -1
  2. package/dist/chores/probes.d.ts.map +1 -1
  3. package/dist/chores/probes.js.map +1 -1
  4. package/dist/contracts/accounts.contract.d.ts +11 -0
  5. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  6. package/dist/contracts/agent.contract.d.ts +38 -0
  7. package/dist/contracts/agent.contract.d.ts.map +1 -1
  8. package/dist/contracts/agent.contract.js +14 -3
  9. package/dist/contracts/agent.contract.js.map +1 -1
  10. package/dist/contracts/agents.contract.d.ts +29 -0
  11. package/dist/contracts/agents.contract.d.ts.map +1 -1
  12. package/dist/contracts/automations.contract.d.ts +3 -0
  13. package/dist/contracts/automations.contract.d.ts.map +1 -1
  14. package/dist/contracts/device.contract.d.ts +7 -0
  15. package/dist/contracts/device.contract.d.ts.map +1 -1
  16. package/dist/contracts/git.contract.d.ts +2 -0
  17. package/dist/contracts/git.contract.d.ts.map +1 -1
  18. package/dist/contracts/logs.contract.d.ts +10 -0
  19. package/dist/contracts/logs.contract.d.ts.map +1 -1
  20. package/dist/contracts/needs.contract.d.ts +36 -1
  21. package/dist/contracts/needs.contract.d.ts.map +1 -1
  22. package/dist/contracts/needs.contract.js +2 -2
  23. package/dist/contracts/needs.contract.js.map +1 -1
  24. package/dist/contracts/offload.contract.d.ts +70 -0
  25. package/dist/contracts/offload.contract.d.ts.map +1 -1
  26. package/dist/contracts/offload.contract.js +10 -1
  27. package/dist/contracts/offload.contract.js.map +1 -1
  28. package/dist/contracts/privacy.contract.d.ts +14 -0
  29. package/dist/contracts/privacy.contract.d.ts.map +1 -1
  30. package/dist/contracts/privacy.contract.js +11 -1
  31. package/dist/contracts/privacy.contract.js.map +1 -1
  32. package/dist/contracts/providers.contract.d.ts +3 -0
  33. package/dist/contracts/providers.contract.d.ts.map +1 -1
  34. package/dist/contracts/runner.contract.d.ts +103 -2
  35. package/dist/contracts/runner.contract.d.ts.map +1 -1
  36. package/dist/contracts/runner.contract.js +2 -2
  37. package/dist/contracts/runner.contract.js.map +1 -1
  38. package/dist/contracts/sessions.contract.d.ts +1 -0
  39. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  40. package/dist/contracts/settings.contract.d.ts +106 -94
  41. package/dist/contracts/settings.contract.d.ts.map +1 -1
  42. package/dist/contracts/settings.contract.js +19 -1
  43. package/dist/contracts/settings.contract.js.map +1 -1
  44. package/dist/contracts/system.contract.d.ts +17 -0
  45. package/dist/contracts/system.contract.d.ts.map +1 -1
  46. package/dist/contracts/translator.contract.d.ts +4 -0
  47. package/dist/contracts/translator.contract.d.ts.map +1 -1
  48. package/dist/events/agent-events.d.ts +46 -0
  49. package/dist/events/agent-events.d.ts.map +1 -1
  50. package/dist/events/agent-events.js +6 -0
  51. package/dist/events/agent-events.js.map +1 -1
  52. package/dist/events/agent-words.d.ts.map +1 -1
  53. package/dist/events/agent-words.js +1 -1
  54. package/dist/events/agent-words.js.map +1 -1
  55. package/dist/events/resume.d.ts +3 -0
  56. package/dist/events/resume.d.ts.map +1 -1
  57. package/dist/events/resume.js +17 -2
  58. package/dist/events/resume.js.map +1 -1
  59. package/dist/events/sandbox-notice.d.ts +18 -0
  60. package/dist/events/sandbox-notice.d.ts.map +1 -1
  61. package/dist/events/sandbox-notice.js +27 -1
  62. package/dist/events/sandbox-notice.js.map +1 -1
  63. package/dist/events/system-events.d.ts +2 -0
  64. package/dist/events/system-events.d.ts.map +1 -1
  65. package/dist/events/transcript.d.ts +64 -0
  66. package/dist/events/transcript.d.ts.map +1 -1
  67. package/dist/events/transcript.js +17 -1
  68. package/dist/events/transcript.js.map +1 -1
  69. package/dist/index.d.ts +427 -167
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +12 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/models/agent-catalog.d.ts.map +1 -1
  74. package/dist/models/agent-catalog.js +8 -7
  75. package/dist/models/agent-catalog.js.map +1 -1
  76. package/dist/models/agent-runtimes.d.ts +3 -1
  77. package/dist/models/agent-runtimes.d.ts.map +1 -1
  78. package/dist/models/agent-runtimes.js +10 -0
  79. package/dist/models/agent-runtimes.js.map +1 -1
  80. package/dist/models/model-order.d.ts +1 -0
  81. package/dist/models/model-order.d.ts.map +1 -1
  82. package/dist/models/model-order.js +9 -0
  83. package/dist/models/model-order.js.map +1 -1
  84. package/dist/models/model-pins.d.ts.map +1 -1
  85. package/dist/models/model-pins.js.map +1 -1
  86. package/dist/models/model-roles.d.ts +33 -18
  87. package/dist/models/model-roles.d.ts.map +1 -1
  88. package/dist/models/model-roles.js +31 -27
  89. package/dist/models/model-roles.js.map +1 -1
  90. package/dist/models/model-setups.d.ts +46 -0
  91. package/dist/models/model-setups.d.ts.map +1 -0
  92. package/dist/models/model-setups.js +86 -0
  93. package/dist/models/model-setups.js.map +1 -0
  94. package/dist/models/plan-pools.d.ts +3 -1
  95. package/dist/models/plan-pools.d.ts.map +1 -1
  96. package/dist/models/plan-pools.js +18 -6
  97. package/dist/models/plan-pools.js.map +1 -1
  98. package/dist/models/provider-specs.d.ts +20 -0
  99. package/dist/models/provider-specs.d.ts.map +1 -1
  100. package/dist/models/provider-specs.js +13 -1
  101. package/dist/models/provider-specs.js.map +1 -1
  102. package/dist/policy/command-classes.d.ts.map +1 -1
  103. package/dist/policy/command-classes.js +26 -3
  104. package/dist/policy/command-classes.js.map +1 -1
  105. package/dist/policy/control-scopes.d.ts +47 -0
  106. package/dist/policy/control-scopes.d.ts.map +1 -1
  107. package/dist/policy/control-scopes.js +16 -0
  108. package/dist/policy/control-scopes.js.map +1 -1
  109. package/dist/policy/credential-material.d.ts +6 -0
  110. package/dist/policy/credential-material.d.ts.map +1 -1
  111. package/dist/policy/credential-material.js +37 -15
  112. package/dist/policy/credential-material.js.map +1 -1
  113. package/dist/policy/device-programs.d.ts +28 -0
  114. package/dist/policy/device-programs.d.ts.map +1 -0
  115. package/dist/policy/device-programs.js +79 -0
  116. package/dist/policy/device-programs.js.map +1 -0
  117. package/dist/policy/identity-assertion.d.ts +27 -0
  118. package/dist/policy/identity-assertion.d.ts.map +1 -0
  119. package/dist/policy/identity-assertion.js +77 -0
  120. package/dist/policy/identity-assertion.js.map +1 -0
  121. package/dist/policy/sandbox-power.d.ts +34 -0
  122. package/dist/policy/sandbox-power.d.ts.map +1 -0
  123. package/dist/policy/sandbox-power.js +146 -0
  124. package/dist/policy/sandbox-power.js.map +1 -0
  125. package/dist/policy/search-globs.d.ts +3 -0
  126. package/dist/policy/search-globs.d.ts.map +1 -1
  127. package/dist/policy/search-globs.js +118 -0
  128. package/dist/policy/search-globs.js.map +1 -1
  129. package/dist/policy/secret-hosts.d.ts +1 -0
  130. package/dist/policy/secret-hosts.d.ts.map +1 -1
  131. package/dist/policy/secret-hosts.js +1 -0
  132. package/dist/policy/secret-hosts.js.map +1 -1
  133. package/dist/policy/turned-away.d.ts.map +1 -1
  134. package/dist/policy/turned-away.js +1 -0
  135. package/dist/policy/turned-away.js.map +1 -1
  136. package/dist/protocol/doors/runner-protocol.d.ts +45 -0
  137. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -1
  138. package/dist/protocol/doors/runner-protocol.js +7 -0
  139. package/dist/protocol/doors/runner-protocol.js.map +1 -1
  140. package/dist/protocol/pairing-redeem.d.ts +23 -0
  141. package/dist/protocol/pairing-redeem.d.ts.map +1 -0
  142. package/dist/protocol/pairing-redeem.js +44 -0
  143. package/dist/protocol/pairing-redeem.js.map +1 -0
  144. package/dist/protocol/peer-mcp-server.d.ts.map +1 -1
  145. package/dist/protocol/peer-mcp-server.js +1 -1
  146. package/dist/protocol/peer-mcp-server.js.map +1 -1
  147. package/dist/protocol/raw/raw-json-routes.d.ts +855 -1
  148. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -1
  149. package/dist/protocol/raw/raw-json-routes.js +61 -1
  150. package/dist/protocol/raw/raw-json-routes.js.map +1 -1
  151. package/dist/protocol/raw/raw-routes.d.ts +17 -0
  152. package/dist/protocol/raw/raw-routes.d.ts.map +1 -1
  153. package/dist/protocol/raw/raw-routes.js +5 -0
  154. package/dist/protocol/raw/raw-routes.js.map +1 -1
  155. package/dist/protocol/sse.d.ts +20 -1
  156. package/dist/protocol/sse.d.ts.map +1 -1
  157. package/dist/protocol/sse.js +112 -17
  158. package/dist/protocol/sse.js.map +1 -1
  159. package/dist/schemas/agent.d.ts +35 -0
  160. package/dist/schemas/agent.d.ts.map +1 -1
  161. package/dist/schemas/agent.js +12 -1
  162. package/dist/schemas/agent.js.map +1 -1
  163. package/dist/schemas/automations.d.ts +7 -0
  164. package/dist/schemas/automations.d.ts.map +1 -1
  165. package/dist/schemas/automations.js +11 -3
  166. package/dist/schemas/automations.js.map +1 -1
  167. package/dist/schemas/device-swaps.d.ts +19 -0
  168. package/dist/schemas/device-swaps.d.ts.map +1 -0
  169. package/dist/schemas/device-swaps.js +11 -0
  170. package/dist/schemas/device-swaps.js.map +1 -0
  171. package/dist/schemas/devices.d.ts +17 -0
  172. package/dist/schemas/devices.d.ts.map +1 -1
  173. package/dist/schemas/devices.js +2 -1
  174. package/dist/schemas/devices.js.map +1 -1
  175. package/dist/schemas/engines.d.ts +8 -1
  176. package/dist/schemas/engines.d.ts.map +1 -1
  177. package/dist/schemas/engines.js +1 -1
  178. package/dist/schemas/engines.js.map +1 -1
  179. package/dist/schemas/environment.d.ts +7 -0
  180. package/dist/schemas/environment.d.ts.map +1 -1
  181. package/dist/schemas/environment.js +2 -0
  182. package/dist/schemas/environment.js.map +1 -1
  183. package/dist/schemas/git/git-scope.d.ts +20 -0
  184. package/dist/schemas/git/git-scope.d.ts.map +1 -0
  185. package/dist/schemas/git/git-scope.js +37 -0
  186. package/dist/schemas/git/git-scope.js.map +1 -0
  187. package/dist/schemas/git/git.d.ts +1 -0
  188. package/dist/schemas/git/git.d.ts.map +1 -1
  189. package/dist/schemas/git/git.js +9 -1
  190. package/dist/schemas/git/git.js.map +1 -1
  191. package/dist/schemas/hosts.d.ts +42 -0
  192. package/dist/schemas/hosts.d.ts.map +1 -1
  193. package/dist/schemas/hosts.js +3 -0
  194. package/dist/schemas/hosts.js.map +1 -1
  195. package/dist/schemas/keep-warm.d.ts +1 -0
  196. package/dist/schemas/keep-warm.d.ts.map +1 -1
  197. package/dist/schemas/keep-warm.js +1 -1
  198. package/dist/schemas/keep-warm.js.map +1 -1
  199. package/dist/schemas/logs.d.ts +21 -0
  200. package/dist/schemas/logs.d.ts.map +1 -1
  201. package/dist/schemas/logs.js +19 -0
  202. package/dist/schemas/logs.js.map +1 -1
  203. package/dist/schemas/members.d.ts +4 -0
  204. package/dist/schemas/members.d.ts.map +1 -1
  205. package/dist/schemas/members.js +5 -0
  206. package/dist/schemas/members.js.map +1 -1
  207. package/dist/schemas/metrics.d.ts +12 -0
  208. package/dist/schemas/metrics.d.ts.map +1 -1
  209. package/dist/schemas/metrics.js +26 -8
  210. package/dist/schemas/metrics.js.map +1 -1
  211. package/dist/schemas/needs.d.ts +97 -1
  212. package/dist/schemas/needs.d.ts.map +1 -1
  213. package/dist/schemas/needs.js +53 -4
  214. package/dist/schemas/needs.js.map +1 -1
  215. package/dist/schemas/offload.d.ts +154 -0
  216. package/dist/schemas/offload.d.ts.map +1 -1
  217. package/dist/schemas/offload.js +34 -0
  218. package/dist/schemas/offload.js.map +1 -1
  219. package/dist/schemas/privacy.d.ts +19 -0
  220. package/dist/schemas/privacy.d.ts.map +1 -1
  221. package/dist/schemas/privacy.js +17 -2
  222. package/dist/schemas/privacy.js.map +1 -1
  223. package/dist/schemas/project-bring-back.d.ts +172 -0
  224. package/dist/schemas/project-bring-back.d.ts.map +1 -0
  225. package/dist/schemas/project-bring-back.js +39 -0
  226. package/dist/schemas/project-bring-back.js.map +1 -0
  227. package/dist/schemas/providers/handoff.d.ts +77 -0
  228. package/dist/schemas/providers/handoff.d.ts.map +1 -0
  229. package/dist/schemas/providers/handoff.js +85 -0
  230. package/dist/schemas/providers/handoff.js.map +1 -0
  231. package/dist/schemas/providers/plan-limits.d.ts +27 -0
  232. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  233. package/dist/schemas/providers/plan-limits.js +8 -1
  234. package/dist/schemas/providers/plan-limits.js.map +1 -1
  235. package/dist/schemas/providers/provider-oauth.d.ts +4 -0
  236. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  237. package/dist/schemas/providers/usage.d.ts +3 -1
  238. package/dist/schemas/providers/usage.d.ts.map +1 -1
  239. package/dist/schemas/providers/usage.js +7 -2
  240. package/dist/schemas/providers/usage.js.map +1 -1
  241. package/dist/schemas/restart-intent.d.ts +47 -0
  242. package/dist/schemas/restart-intent.d.ts.map +1 -0
  243. package/dist/schemas/restart-intent.js +19 -0
  244. package/dist/schemas/restart-intent.js.map +1 -0
  245. package/dist/schemas/run-targets.d.ts.map +1 -1
  246. package/dist/schemas/run-targets.js +5 -2
  247. package/dist/schemas/run-targets.js.map +1 -1
  248. package/dist/schemas/settings-history.d.ts +1 -1
  249. package/dist/schemas/settings-history.d.ts.map +1 -1
  250. package/dist/schemas/settings-history.js +21 -0
  251. package/dist/schemas/settings-history.js.map +1 -1
  252. package/dist/schemas/settings.d.ts +101 -100
  253. package/dist/schemas/settings.d.ts.map +1 -1
  254. package/dist/schemas/settings.js +43 -24
  255. package/dist/schemas/settings.js.map +1 -1
  256. package/dist/schemas/short-codes.d.ts +47 -0
  257. package/dist/schemas/short-codes.d.ts.map +1 -0
  258. package/dist/schemas/short-codes.js +30 -0
  259. package/dist/schemas/short-codes.js.map +1 -0
  260. package/dist/schemas/speech.d.ts +4 -0
  261. package/dist/schemas/speech.d.ts.map +1 -1
  262. package/dist/schemas/speech.js +1 -0
  263. package/dist/schemas/speech.js.map +1 -1
  264. package/dist/schemas/system.d.ts +176 -0
  265. package/dist/schemas/system.d.ts.map +1 -1
  266. package/dist/schemas/system.js +55 -2
  267. package/dist/schemas/system.js.map +1 -1
  268. package/dist/schemas/voice.d.ts +171 -0
  269. package/dist/schemas/voice.d.ts.map +1 -0
  270. package/dist/schemas/voice.js +99 -0
  271. package/dist/schemas/voice.js.map +1 -0
  272. package/dist/schemas/workspace/workspace-upload.d.ts +14 -0
  273. package/dist/schemas/workspace/workspace-upload.d.ts.map +1 -0
  274. package/dist/schemas/workspace/workspace-upload.js +6 -0
  275. package/dist/schemas/workspace/workspace-upload.js.map +1 -0
  276. package/dist/state/arrival.d.ts +3 -0
  277. package/dist/state/arrival.d.ts.map +1 -1
  278. package/dist/state/arrival.js +1 -0
  279. package/dist/state/arrival.js.map +1 -1
  280. package/dist/state/definition.d.ts +112 -40
  281. package/dist/state/definition.d.ts.map +1 -1
  282. package/dist/state/history-state.d.ts.map +1 -1
  283. package/dist/state/history-state.js +3 -0
  284. package/dist/state/history-state.js.map +1 -1
  285. package/dist/state/runtime-state.d.ts +5 -2
  286. package/dist/state/runtime-state.d.ts.map +1 -1
  287. package/dist/state/runtime-state.js +3 -2
  288. package/dist/state/runtime-state.js.map +1 -1
  289. package/dist/state/update-probation.d.ts +50 -0
  290. package/dist/state/update-probation.d.ts.map +1 -0
  291. package/dist/state/update-probation.js +81 -0
  292. package/dist/state/update-probation.js.map +1 -0
  293. package/dist/state/versions.d.ts +6 -0
  294. package/dist/state/versions.d.ts.map +1 -1
  295. package/dist/state/versions.js +47 -0
  296. package/dist/state/versions.js.map +1 -1
  297. package/dist/state/workspace-state.d.ts +1 -1
  298. package/dist/state/workspace-state.d.ts.map +1 -1
  299. package/dist/state/workspace-state.js +1 -1
  300. package/dist/state/workspace-state.js.map +1 -1
  301. package/dist/text/embed.d.ts +2 -1
  302. package/dist/text/embed.d.ts.map +1 -1
  303. package/dist/text/embed.js +10 -5
  304. package/dist/text/embed.js.map +1 -1
  305. package/dist/text/title.d.ts.map +1 -1
  306. package/dist/text/title.js +4 -7
  307. package/dist/text/title.js.map +1 -1
  308. package/dist/text/transcript-fold.d.ts +2 -1
  309. package/dist/text/transcript-fold.d.ts.map +1 -1
  310. package/dist/text/transcript-fold.js +21 -6
  311. package/dist/text/transcript-fold.js.map +1 -1
  312. package/package.json +39 -6
  313. package/src/chores/probes.ts +3 -1
  314. package/src/contracts/agent.contract.ts +24 -3
  315. package/src/contracts/needs.contract.ts +2 -2
  316. package/src/contracts/offload.contract.ts +21 -1
  317. package/src/contracts/privacy.contract.ts +13 -0
  318. package/src/contracts/runner.contract.ts +10 -2
  319. package/src/contracts/settings.contract.ts +23 -0
  320. package/src/events/agent-events.ts +13 -0
  321. package/src/events/agent-words.ts +2 -3
  322. package/src/events/resume.test.ts +14 -2
  323. package/src/events/resume.ts +32 -3
  324. package/src/events/sandbox-notice.ts +31 -1
  325. package/src/events/transcript.ts +27 -2
  326. package/src/ids/tunnel-ids.test.ts +30 -0
  327. package/src/index.ts +12 -0
  328. package/src/models/agent-catalog.test.ts +4 -3
  329. package/src/models/agent-catalog.ts +10 -7
  330. package/src/models/agent-runtimes.ts +30 -1
  331. package/src/models/capability-ledger.test.ts +4 -0
  332. package/src/models/model-order.ts +13 -0
  333. package/src/models/model-pins.ts +5 -4
  334. package/src/models/model-roles.test.ts +9 -31
  335. package/src/models/model-roles.ts +45 -50
  336. package/src/models/model-setups.test.ts +100 -0
  337. package/src/models/model-setups.ts +151 -0
  338. package/src/models/plan-pools.test.ts +58 -0
  339. package/src/models/plan-pools.ts +38 -7
  340. package/src/models/provider-specs.ts +20 -2
  341. package/src/policy/command-classes.ts +34 -3
  342. package/src/policy/control-scopes.ts +27 -0
  343. package/src/policy/credential-material.ts +58 -16
  344. package/src/policy/device-programs.ts +137 -0
  345. package/src/policy/identity-assertion.ts +130 -0
  346. package/src/policy/sandbox-power.ts +247 -0
  347. package/src/policy/search-globs.ts +135 -0
  348. package/src/policy/secret-hosts.ts +7 -0
  349. package/src/policy/tests/command-classes.test.ts +35 -0
  350. package/src/policy/tests/credential-material.test.ts +20 -0
  351. package/src/policy/tests/device-programs.test.ts +107 -0
  352. package/src/policy/tests/identity-assertion.test.ts +79 -0
  353. package/src/policy/tests/sandbox-power.test.ts +181 -0
  354. package/src/policy/tests/search-globs.test.ts +46 -1
  355. package/src/policy/tests/secret-hosts.test.ts +17 -1
  356. package/src/policy/turned-away.ts +2 -0
  357. package/src/protocol/doors/runner-protocol.ts +21 -1
  358. package/src/protocol/pairing-redeem.test.ts +86 -0
  359. package/src/protocol/pairing-redeem.ts +79 -0
  360. package/src/protocol/peer-mcp-server.ts +1 -2
  361. package/src/protocol/raw/raw-json-routes.test.ts +87 -0
  362. package/src/protocol/raw/raw-json-routes.ts +127 -5
  363. package/src/protocol/raw/raw-routes.ts +11 -0
  364. package/src/protocol/sse.test.ts +50 -1
  365. package/src/protocol/sse.ts +172 -26
  366. package/src/schemas/agent.ts +23 -2
  367. package/src/schemas/automations.ts +16 -5
  368. package/src/schemas/daemon-health.test.ts +28 -0
  369. package/src/schemas/device-swaps.test.ts +39 -0
  370. package/src/schemas/device-swaps.ts +26 -0
  371. package/src/schemas/devices.ts +11 -2
  372. package/src/schemas/engines.ts +1 -1
  373. package/src/schemas/environment.ts +4 -0
  374. package/src/schemas/git/git-scope.test.ts +91 -0
  375. package/src/schemas/git/git-scope.ts +71 -0
  376. package/src/schemas/git/git.ts +15 -1
  377. package/src/schemas/hosts.ts +7 -0
  378. package/src/schemas/keep-warm.ts +2 -1
  379. package/src/schemas/logs.ts +25 -0
  380. package/src/schemas/members.ts +8 -0
  381. package/src/schemas/metrics.test.ts +80 -0
  382. package/src/schemas/metrics.ts +31 -9
  383. package/src/schemas/needs.ts +80 -4
  384. package/src/schemas/offload.ts +76 -0
  385. package/src/schemas/privacy.ts +27 -3
  386. package/src/schemas/project-bring-back.test.ts +15 -0
  387. package/src/schemas/project-bring-back.ts +78 -0
  388. package/src/schemas/providers/handoff.test.ts +42 -0
  389. package/src/schemas/providers/handoff.ts +128 -0
  390. package/src/schemas/providers/plan-limits.ts +14 -1
  391. package/src/schemas/providers/usage.ts +13 -7
  392. package/src/schemas/restart-intent.test.ts +45 -0
  393. package/src/schemas/restart-intent.ts +47 -0
  394. package/src/schemas/run-targets.ts +5 -2
  395. package/src/schemas/settings-history.ts +28 -0
  396. package/src/schemas/settings.test.ts +74 -21
  397. package/src/schemas/settings.ts +80 -44
  398. package/src/schemas/short-codes.ts +59 -0
  399. package/src/schemas/speech.ts +4 -0
  400. package/src/schemas/system.ts +106 -5
  401. package/src/schemas/voice.ts +161 -0
  402. package/src/schemas/workspace/workspace-upload.ts +11 -0
  403. package/src/state/arrival.ts +3 -0
  404. package/src/state/history-state.ts +9 -0
  405. package/src/state/runtime-state.test.ts +13 -0
  406. package/src/state/runtime-state.ts +11 -5
  407. package/src/state/update-probation.test.ts +45 -0
  408. package/src/state/update-probation.ts +169 -0
  409. package/src/state/versions.test.ts +30 -1
  410. package/src/state/versions.ts +68 -0
  411. package/src/state/workspace-state.ts +4 -1
  412. package/src/text/embed.test.ts +14 -0
  413. package/src/text/embed.ts +19 -10
  414. package/src/text/title.ts +5 -9
  415. package/src/text/transcript-fold.test.ts +61 -0
  416. package/src/text/transcript-fold.ts +31 -6
@@ -412,8 +412,6 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
412
412
  hashlineEdits: boolean;
413
413
  systemPromptMode: "claude" | "custom" | "intentic";
414
414
  systemPrompt: string;
415
- toolResultClearing: boolean;
416
- toolResultClearingHoldout: number;
417
415
  iqSearch: boolean;
418
416
  iqSearchHoldout: number;
419
417
  workspaceMap: boolean;
@@ -423,14 +421,19 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
423
421
  fieldNotesHoldout: number;
424
422
  outputCleaners: string;
425
423
  outputHoldout: number;
426
- modelRoles: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title", {
427
- provider: string;
428
- model: string;
429
- effort?: string | undefined;
430
- thinking?: boolean | undefined;
431
- fast?: boolean | undefined;
432
- harness?: "claude-code" | "native" | undefined;
433
- }[]>>;
424
+ modelSetups: {
425
+ id: string;
426
+ name?: string | undefined;
427
+ pins?: {
428
+ provider: string;
429
+ model: string;
430
+ effort?: string | undefined;
431
+ thinking?: boolean | undefined;
432
+ fast?: boolean | undefined;
433
+ harness?: "claude-code" | "native" | undefined;
434
+ }[] | undefined;
435
+ }[];
436
+ roleSetups: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "handoff-summary" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title" | "spoken-reply", string>>;
434
437
  autoModelGuidance: string;
435
438
  changelogRepos: string[];
436
439
  agentRetentionDays: number;
@@ -438,7 +441,9 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
438
441
  outagePolicy: "retry" | "wait";
439
442
  stopPolicy: "retry" | "wait";
440
443
  memoryPolicy: "resend" | "wait";
444
+ limitHandoff: "carry" | "suggested" | "summary" | "trim";
441
445
  limitMoveCarryUnder: number;
446
+ handoffSummaryOver: number;
442
447
  keepWarm: {
443
448
  auto: boolean;
444
449
  hours: number;
@@ -449,6 +454,7 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
449
454
  followOrigin: boolean;
450
455
  offload: {
451
456
  commands: Record<string, string>;
457
+ sessions: "auto" | "off" | "suggest";
452
458
  };
453
459
  continueWhenNeedMet: boolean;
454
460
  autoResumeOnRestart: boolean;
@@ -477,6 +483,18 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
477
483
  enabled: boolean;
478
484
  }[];
479
485
  automationFailureLimit: number;
486
+ voice: {
487
+ replies: boolean;
488
+ interrupt: boolean;
489
+ speed: number;
490
+ voices: Record<string, string>;
491
+ cloud?: {
492
+ provider: "cartesia" | "deepgram" | "elevenlabs";
493
+ secret: string;
494
+ model: string;
495
+ voice: string;
496
+ } | undefined;
497
+ };
480
498
  admission: {
481
499
  schedule: "allow" | "deny" | "hold";
482
500
  event: "allow" | "deny" | "hold";
@@ -503,8 +521,6 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
503
521
  hashlineEdits: boolean;
504
522
  systemPromptMode: "claude" | "custom" | "intentic";
505
523
  systemPrompt: string;
506
- toolResultClearing: boolean;
507
- toolResultClearingHoldout: number;
508
524
  iqSearch: boolean;
509
525
  iqSearchHoldout: number;
510
526
  workspaceMap: boolean;
@@ -514,14 +530,19 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
514
530
  fieldNotesHoldout: number;
515
531
  outputCleaners: string;
516
532
  outputHoldout: number;
517
- modelRoles: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title", {
518
- provider: string;
519
- model: string;
520
- effort?: string | undefined;
521
- thinking?: boolean | undefined;
522
- fast?: boolean | undefined;
523
- harness?: "claude-code" | "native" | undefined;
524
- }[]>>;
533
+ modelSetups: {
534
+ id: string;
535
+ name?: string | undefined;
536
+ pins?: {
537
+ provider: string;
538
+ model: string;
539
+ effort?: string | undefined;
540
+ thinking?: boolean | undefined;
541
+ fast?: boolean | undefined;
542
+ harness?: "claude-code" | "native" | undefined;
543
+ }[] | undefined;
544
+ }[];
545
+ roleSetups: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "handoff-summary" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title" | "spoken-reply", string>>;
525
546
  autoModelGuidance: string;
526
547
  changelogRepos: string[];
527
548
  agentRetentionDays: number;
@@ -529,7 +550,9 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
529
550
  outagePolicy: "retry" | "wait";
530
551
  stopPolicy: "retry" | "wait";
531
552
  memoryPolicy: "resend" | "wait";
553
+ limitHandoff: "carry" | "suggested" | "summary" | "trim";
532
554
  limitMoveCarryUnder: number;
555
+ handoffSummaryOver: number;
533
556
  keepWarm: {
534
557
  auto: boolean;
535
558
  hours: number;
@@ -540,6 +563,7 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
540
563
  followOrigin: boolean;
541
564
  offload: {
542
565
  commands: Record<string, string>;
566
+ sessions: "auto" | "off" | "suggest";
543
567
  };
544
568
  continueWhenNeedMet: boolean;
545
569
  autoResumeOnRestart: boolean;
@@ -568,6 +592,18 @@ export declare const SandboxDefinitionSchema: z.ZodObject<{
568
592
  enabled: boolean;
569
593
  }[];
570
594
  automationFailureLimit: number;
595
+ voice: {
596
+ replies: boolean;
597
+ interrupt: boolean;
598
+ speed: number;
599
+ voices: Record<string, string>;
600
+ cloud?: {
601
+ provider: "cartesia" | "deepgram" | "elevenlabs";
602
+ secret: string;
603
+ model: string;
604
+ voice: string;
605
+ } | undefined;
606
+ };
571
607
  admission: {
572
608
  schedule: "allow" | "deny" | "hold";
573
609
  event: "allow" | "deny" | "hold";
@@ -1029,8 +1065,6 @@ export declare const BundleManifestSchema: z.ZodObject<{
1029
1065
  hashlineEdits: boolean;
1030
1066
  systemPromptMode: "claude" | "custom" | "intentic";
1031
1067
  systemPrompt: string;
1032
- toolResultClearing: boolean;
1033
- toolResultClearingHoldout: number;
1034
1068
  iqSearch: boolean;
1035
1069
  iqSearchHoldout: number;
1036
1070
  workspaceMap: boolean;
@@ -1040,14 +1074,19 @@ export declare const BundleManifestSchema: z.ZodObject<{
1040
1074
  fieldNotesHoldout: number;
1041
1075
  outputCleaners: string;
1042
1076
  outputHoldout: number;
1043
- modelRoles: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title", {
1044
- provider: string;
1045
- model: string;
1046
- effort?: string | undefined;
1047
- thinking?: boolean | undefined;
1048
- fast?: boolean | undefined;
1049
- harness?: "claude-code" | "native" | undefined;
1050
- }[]>>;
1077
+ modelSetups: {
1078
+ id: string;
1079
+ name?: string | undefined;
1080
+ pins?: {
1081
+ provider: string;
1082
+ model: string;
1083
+ effort?: string | undefined;
1084
+ thinking?: boolean | undefined;
1085
+ fast?: boolean | undefined;
1086
+ harness?: "claude-code" | "native" | undefined;
1087
+ }[] | undefined;
1088
+ }[];
1089
+ roleSetups: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "handoff-summary" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title" | "spoken-reply", string>>;
1051
1090
  autoModelGuidance: string;
1052
1091
  changelogRepos: string[];
1053
1092
  agentRetentionDays: number;
@@ -1055,7 +1094,9 @@ export declare const BundleManifestSchema: z.ZodObject<{
1055
1094
  outagePolicy: "retry" | "wait";
1056
1095
  stopPolicy: "retry" | "wait";
1057
1096
  memoryPolicy: "resend" | "wait";
1097
+ limitHandoff: "carry" | "suggested" | "summary" | "trim";
1058
1098
  limitMoveCarryUnder: number;
1099
+ handoffSummaryOver: number;
1059
1100
  keepWarm: {
1060
1101
  auto: boolean;
1061
1102
  hours: number;
@@ -1066,6 +1107,7 @@ export declare const BundleManifestSchema: z.ZodObject<{
1066
1107
  followOrigin: boolean;
1067
1108
  offload: {
1068
1109
  commands: Record<string, string>;
1110
+ sessions: "auto" | "off" | "suggest";
1069
1111
  };
1070
1112
  continueWhenNeedMet: boolean;
1071
1113
  autoResumeOnRestart: boolean;
@@ -1094,6 +1136,18 @@ export declare const BundleManifestSchema: z.ZodObject<{
1094
1136
  enabled: boolean;
1095
1137
  }[];
1096
1138
  automationFailureLimit: number;
1139
+ voice: {
1140
+ replies: boolean;
1141
+ interrupt: boolean;
1142
+ speed: number;
1143
+ voices: Record<string, string>;
1144
+ cloud?: {
1145
+ provider: "cartesia" | "deepgram" | "elevenlabs";
1146
+ secret: string;
1147
+ model: string;
1148
+ voice: string;
1149
+ } | undefined;
1150
+ };
1097
1151
  admission: {
1098
1152
  schedule: "allow" | "deny" | "hold";
1099
1153
  event: "allow" | "deny" | "hold";
@@ -1120,8 +1174,6 @@ export declare const BundleManifestSchema: z.ZodObject<{
1120
1174
  hashlineEdits: boolean;
1121
1175
  systemPromptMode: "claude" | "custom" | "intentic";
1122
1176
  systemPrompt: string;
1123
- toolResultClearing: boolean;
1124
- toolResultClearingHoldout: number;
1125
1177
  iqSearch: boolean;
1126
1178
  iqSearchHoldout: number;
1127
1179
  workspaceMap: boolean;
@@ -1131,14 +1183,19 @@ export declare const BundleManifestSchema: z.ZodObject<{
1131
1183
  fieldNotesHoldout: number;
1132
1184
  outputCleaners: string;
1133
1185
  outputHoldout: number;
1134
- modelRoles: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title", {
1135
- provider: string;
1136
- model: string;
1137
- effort?: string | undefined;
1138
- thinking?: boolean | undefined;
1139
- fast?: boolean | undefined;
1140
- harness?: "claude-code" | "native" | undefined;
1141
- }[]>>;
1186
+ modelSetups: {
1187
+ id: string;
1188
+ name?: string | undefined;
1189
+ pins?: {
1190
+ provider: string;
1191
+ model: string;
1192
+ effort?: string | undefined;
1193
+ thinking?: boolean | undefined;
1194
+ fast?: boolean | undefined;
1195
+ harness?: "claude-code" | "native" | undefined;
1196
+ }[] | undefined;
1197
+ }[];
1198
+ roleSetups: Partial<Record<"acceptance-run" | "approval-queue" | "commit-message" | "deployment-fix" | "documentation-run" | "extension-review" | "handoff-summary" | "loop-iteration" | "loop-verdict" | "maintenance-chore" | "model-router" | "pipeline-fix" | "refactor-run" | "safety-judge" | "session-title" | "spoken-reply", string>>;
1142
1199
  autoModelGuidance: string;
1143
1200
  changelogRepos: string[];
1144
1201
  agentRetentionDays: number;
@@ -1146,7 +1203,9 @@ export declare const BundleManifestSchema: z.ZodObject<{
1146
1203
  outagePolicy: "retry" | "wait";
1147
1204
  stopPolicy: "retry" | "wait";
1148
1205
  memoryPolicy: "resend" | "wait";
1206
+ limitHandoff: "carry" | "suggested" | "summary" | "trim";
1149
1207
  limitMoveCarryUnder: number;
1208
+ handoffSummaryOver: number;
1150
1209
  keepWarm: {
1151
1210
  auto: boolean;
1152
1211
  hours: number;
@@ -1157,6 +1216,7 @@ export declare const BundleManifestSchema: z.ZodObject<{
1157
1216
  followOrigin: boolean;
1158
1217
  offload: {
1159
1218
  commands: Record<string, string>;
1219
+ sessions: "auto" | "off" | "suggest";
1160
1220
  };
1161
1221
  continueWhenNeedMet: boolean;
1162
1222
  autoResumeOnRestart: boolean;
@@ -1185,6 +1245,18 @@ export declare const BundleManifestSchema: z.ZodObject<{
1185
1245
  enabled: boolean;
1186
1246
  }[];
1187
1247
  automationFailureLimit: number;
1248
+ voice: {
1249
+ replies: boolean;
1250
+ interrupt: boolean;
1251
+ speed: number;
1252
+ voices: Record<string, string>;
1253
+ cloud?: {
1254
+ provider: "cartesia" | "deepgram" | "elevenlabs";
1255
+ secret: string;
1256
+ model: string;
1257
+ voice: string;
1258
+ } | undefined;
1259
+ };
1188
1260
  admission: {
1189
1261
  schedule: "allow" | "deny" | "hold";
1190
1262
  event: "allow" | "deny" | "hold";
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/state/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/state/definition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-state.d.ts","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQxD,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAoOnD,CAAC"}
1
+ {"version":3,"file":"history-state.d.ts","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQxD,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EA6OnD,CAAC"}
@@ -6,6 +6,7 @@ export const HISTORY_STATE_FILES = [
6
6
  { path: "blobs/", portability: "carry" },
7
7
  { path: "shares.json", portability: "carry" },
8
8
  { path: "member-audience.json", portability: "carry" },
9
+ { path: "member-getting-started.json", portability: "carry" },
9
10
  { path: "activity.jsonl", portability: "carry" },
10
11
  { path: "usage.jsonl", portability: "carry" },
11
12
  { path: "account-usage.json", portability: "carry" },
@@ -116,6 +117,8 @@ export const HISTORY_STATE_FILES = [
116
117
  portability: "identity",
117
118
  note: "Approve again from Approvals anything that was approved and had not run yet.",
118
119
  },
120
+ { path: "automation-holds/", portability: "carry" },
121
+ { path: "automation-holds.key", portability: "identity", note: "A held wake that was counting down arrives waiting for your yes instead." },
119
122
  { path: "local-cert/", portability: "identity" },
120
123
  { path: "converting/", portability: "secret", note: "An update's undo record stays with the sandbox it happened on." },
121
124
  { path: "state-journal.json", portability: "derived" },
@@ -1 +1 @@
1
- {"version":3,"file":"history-state.js","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-state.js","sourceRoot":"","sources":["../../src/state/history-state.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,10 @@ declare const RUNTIME_DOMAINS: readonly [{
26
26
  readonly invalidates: readonly [readonly ["subagents"]];
27
27
  }, {
28
28
  readonly domain: "hosts";
29
- readonly invalidates: readonly [readonly ["capabilities"], readonly ["devices"]];
29
+ readonly invalidates: readonly [readonly ["capabilities"], readonly ["devices"], readonly ["hosts"], readonly ["sync-health"]];
30
30
  }, {
31
31
  readonly domain: "webext";
32
- readonly invalidates: readonly [readonly ["capabilities"]];
32
+ readonly invalidates: readonly [readonly ["capabilities"], readonly ["webext"]];
33
33
  }, {
34
34
  readonly domain: "phones";
35
35
  readonly invalidates: readonly [readonly ["capabilities"], readonly ["phones"]];
@@ -54,6 +54,9 @@ declare const RUNTIME_DOMAINS: readonly [{
54
54
  }, {
55
55
  readonly domain: "update";
56
56
  readonly invalidates: readonly [readonly ["update"]];
57
+ }, {
58
+ readonly domain: "grants";
59
+ readonly invalidates: readonly [readonly ["grants"]];
57
60
  }];
58
61
  export declare const RUNTIME_DOMAIN_BINDINGS: readonly RuntimeDomainBinding[];
59
62
  export type RuntimeDomain = (typeof RUNTIME_DOMAINS)[number]["domain"];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../../src/state/runtime-state.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD;AAGD,QAAA,MAAM,eAAe;qBAEP,WAAW;;;qBAGX,QAAQ;;;qBAGR,OAAO;;;qBAGP,UAAU;;;qBAGV,SAAS;;;qBAIT,cAAc;;;qBAGd,WAAW;;;qBAKX,OAAO;;;qBACP,QAAQ;;;qBACR,QAAQ;;;qBACR,SAAS;;;qBAGT,WAAW;;;qBAGX,UAAU;;;qBAMV,IAAI;;;qBAGJ,SAAS;;;qBAGT,UAAU;;;qBAIV,QAAQ;;EAC8B,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAAoB,CAAC;AAGxF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAQvE,eAAO,MAAM,qBAAqB,YAAa,SAAS,MAAM,EAAE,KAAG,SAAS,YAAY,EAC2C,CAAC"}
1
+ {"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../../src/state/runtime-state.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD;AAGD,QAAA,MAAM,eAAe;qBAEP,WAAW;;;qBAGX,QAAQ;;;qBAGR,OAAO;;;qBAGP,UAAU;;;qBAGV,SAAS;;;qBAIT,cAAc;;;qBAGd,WAAW;;;qBAOX,OAAO;;;qBACP,QAAQ;;;qBACR,QAAQ;;;qBACR,SAAS;;;qBAGT,WAAW;;;qBAGX,UAAU;;;qBAMV,IAAI;;;qBAGJ,SAAS;;;qBAGT,UAAU;;;qBAIV,QAAQ;;;qBAIR,QAAQ;;EAC8B,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAAoB,CAAC;AAGxF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAQvE,eAAO,MAAM,qBAAqB,YAAa,SAAS,MAAM,EAAE,KAAG,SAAS,YAAY,EAC2C,CAAC"}
@@ -6,8 +6,8 @@ const RUNTIME_DOMAINS = [
6
6
  { domain: "desktop", invalidates: [["desktop"]] },
7
7
  { domain: "capabilities", invalidates: [["capabilities"]] },
8
8
  { domain: "subagents", invalidates: [["subagents"]] },
9
- { domain: "hosts", invalidates: [["capabilities"], ["devices"]] },
10
- { domain: "webext", invalidates: [["capabilities"]] },
9
+ { domain: "hosts", invalidates: [["capabilities"], ["devices"], ["hosts"], ["sync-health"]] },
10
+ { domain: "webext", invalidates: [["capabilities"], ["webext"]] },
11
11
  { domain: "phones", invalidates: [["capabilities"], ["phones"]] },
12
12
  { domain: "runners", invalidates: [["runners"]] },
13
13
  { domain: "approvals", invalidates: [["approvals"]] },
@@ -16,6 +16,7 @@ const RUNTIME_DOMAINS = [
16
16
  { domain: "engines", invalidates: [["engines"]] },
17
17
  { domain: "activity", invalidates: [["activity"], ["activity-status"]] },
18
18
  { domain: "update", invalidates: [["update"]] },
19
+ { domain: "grants", invalidates: [["grants"]] },
19
20
  ];
20
21
  export const RUNTIME_DOMAIN_BINDINGS = RUNTIME_DOMAINS;
21
22
  const dedupe = (keys) => [...new Map(keys.map((key) => [key.join(`/`), key])).values()];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/state/runtime-state.ts"],"names":[],"mappings":"AAgBA,MAAM,eAAe,GAAG;IAEpB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAGrD,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE;IAGzD,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;IAG7C,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE;IAGnD,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAIjD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE;IAG3D,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAKrD,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;IACjE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE;IACrD,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;IACjE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAGjD,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAGrD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE;IAMzD,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAG5C,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAGjD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE;IAIxE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;CACC,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAoC,eAAe,CAAC;AAOxF,MAAM,MAAM,GAAG,CAAC,IAA6B,EAA2B,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAI1I,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAA0B,EAA2B,EAAE,CACzF,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/state/runtime-state.ts"],"names":[],"mappings":"AAgBA,MAAM,eAAe,GAAG;IAEpB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAGrD,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE;IAGzD,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;IAG7C,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE;IAGnD,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAIjD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE;IAG3D,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAOrD,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE;IAC7F,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;IACjE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;IACjE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAGjD,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAGrD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE;IAMzD,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAG5C,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IAGjD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE;IAIxE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;IAI/C,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;CACC,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAoC,eAAe,CAAC;AAOxF,MAAM,MAAM,GAAG,CAAC,IAA6B,EAA2B,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAI1I,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAA0B,EAA2B,EAAE,CACzF,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ export declare const CRASH_LOOP_RESTARTS = 3;
2
+ export declare const UPDATE_PROBATION: {
3
+ readonly watchMs: number;
4
+ readonly graceMs: number;
5
+ readonly journalMs: number;
6
+ readonly strikes: 3;
7
+ readonly keptBuilds: 2;
8
+ readonly crashLoopRestarts: 3;
9
+ };
10
+ export interface ProbationLook {
11
+ readonly running: boolean;
12
+ readonly restarting: boolean;
13
+ readonly restarts: number;
14
+ readonly answered: boolean;
15
+ readonly ready: boolean | null;
16
+ readonly journal: string | null;
17
+ readonly reach: string | null;
18
+ readonly bootFailure: string | null;
19
+ readonly daemonRestarts: number;
20
+ readonly crashLoop: string | null;
21
+ readonly held: boolean;
22
+ }
23
+ export interface ProbationSwap {
24
+ readonly at: number;
25
+ readonly reach: string | null;
26
+ }
27
+ export type ProbationVerdict = {
28
+ readonly kind: "healthy";
29
+ } | {
30
+ readonly kind: "pending";
31
+ } | {
32
+ readonly kind: "strike";
33
+ readonly reason: string;
34
+ } | {
35
+ readonly kind: "fail";
36
+ readonly reason: string;
37
+ };
38
+ export declare const judgeProbation: (look: ProbationLook, swap: ProbationSwap, now: number, graceMs?: number) => ProbationVerdict;
39
+ export type ProbationStep = {
40
+ readonly action: "roll-back";
41
+ readonly reason: string;
42
+ } | {
43
+ readonly action: "watch";
44
+ readonly strikes: number;
45
+ readonly reason?: string;
46
+ } | {
47
+ readonly action: "keep";
48
+ };
49
+ export declare const probationStep: (verdict: ProbationVerdict, strikes: number, over: boolean) => ProbationStep;
50
+ //# sourceMappingURL=update-probation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-probation.d.ts","sourceRoot":"","sources":["../../src/state/update-probation.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,eAAO,MAAM,gBAAgB;aAGzB,OAAO;aAGP,OAAO;aAEP,SAAS;aAET,OAAO,EAAE,CAAC;aAGV,UAAU,EAAE,CAAC;aAEb,iBAAiB;CACX,CAAC;AAOX,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAEtB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAE5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAE5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAEpD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAuCzD,eAAO,MAAM,cAAc,SAAU,aAAa,QAAQ,aAAa,OAAO,MAAM,YAAW,MAAM,KAA8B,gBA0BlI,CAAC;AAIF,MAAM,MAAM,aAAa,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAGlC,eAAO,MAAM,aAAa,YAAa,gBAAgB,WAAW,MAAM,QAAQ,OAAO,KAAG,aAazF,CAAC"}
@@ -0,0 +1,81 @@
1
+ export const CRASH_LOOP_RESTARTS = 3;
2
+ export const UPDATE_PROBATION = {
3
+ watchMs: 24 * 60 * 60_000,
4
+ graceMs: 10 * 60_000,
5
+ journalMs: 15 * 60_000,
6
+ strikes: 3,
7
+ keptBuilds: 2,
8
+ crashLoopRestarts: CRASH_LOOP_RESTARTS,
9
+ };
10
+ const TUNNEL_EXTRA_MS = 5 * 60_000;
11
+ const strike = (reason) => ({ kind: "strike", reason });
12
+ const fail = (reason) => ({ kind: "fail", reason });
13
+ const PENDING = { kind: "pending" };
14
+ const failure = (look) => {
15
+ if (look.bootFailure !== null) {
16
+ return fail(`the new version could not start: ${look.bootFailure}`);
17
+ }
18
+ if (look.journal === "failed") {
19
+ return fail("the new version could not convert this sandbox's stored files; it put them back as they were");
20
+ }
21
+ if (look.daemonRestarts >= UPDATE_PROBATION.crashLoopRestarts) {
22
+ return fail(`the new version's daemon kept crashing (${look.daemonRestarts} restarts)`);
23
+ }
24
+ if (look.crashLoop !== null) {
25
+ return fail(`the new version's daemon kept crashing: ${look.crashLoop}`);
26
+ }
27
+ return undefined;
28
+ };
29
+ const tunnel = (look, swap, since, graceMs) => {
30
+ if (swap.reach !== "reachable") {
31
+ return undefined;
32
+ }
33
+ if (look.reach === "unreachable" && since >= graceMs) {
34
+ return strike("the new version cannot be reached through its tunnel");
35
+ }
36
+ if (look.reach === "checking" && since >= graceMs + TUNNEL_EXTRA_MS) {
37
+ return strike("the new version's tunnel never came up");
38
+ }
39
+ return look.reach === "unreachable" || look.reach === "checking" ? PENDING : undefined;
40
+ };
41
+ export const judgeProbation = (look, swap, now, graceMs = UPDATE_PROBATION.graceMs) => {
42
+ const since = Math.max(0, now - swap.at);
43
+ const late = since >= graceMs;
44
+ if (look.held && !look.running && !look.restarting) {
45
+ return PENDING;
46
+ }
47
+ const failed = failure(look);
48
+ if (failed !== undefined) {
49
+ return failed;
50
+ }
51
+ if (!look.running || look.restarting) {
52
+ return look.restarts >= UPDATE_PROBATION.crashLoopRestarts
53
+ ? fail(`the new version kept crashing (${look.restarts} restarts)`)
54
+ : strike("the new version's container is not running");
55
+ }
56
+ if (!look.answered) {
57
+ return late ? strike("the new version's daemon is not answering") : PENDING;
58
+ }
59
+ if (look.journal === "open") {
60
+ return since >= UPDATE_PROBATION.journalMs ? strike("the new version is still converting stored files after 15 minutes") : PENDING;
61
+ }
62
+ if (look.ready === false) {
63
+ return late ? strike("the new version never finished starting up") : PENDING;
64
+ }
65
+ return tunnel(look, swap, since, graceMs) ?? { kind: "healthy" };
66
+ };
67
+ export const probationStep = (verdict, strikes, over) => {
68
+ switch (verdict.kind) {
69
+ case "fail":
70
+ return { action: "roll-back", reason: verdict.reason };
71
+ case "strike":
72
+ return strikes + 1 >= UPDATE_PROBATION.strikes
73
+ ? { action: "roll-back", reason: verdict.reason }
74
+ : { action: "watch", strikes: strikes + 1, reason: verdict.reason };
75
+ case "healthy":
76
+ return over ? { action: "keep" } : { action: "watch", strikes: 0 };
77
+ case "pending":
78
+ return over ? { action: "keep" } : { action: "watch", strikes };
79
+ }
80
+ };
81
+ //# sourceMappingURL=update-probation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-probation.js","sourceRoot":"","sources":["../../src/state/update-probation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  export declare const isNewer: (a: string, b: string) => boolean;
2
2
  export declare const DEV_VERSION = "0.0.0";
3
3
  export declare const isBehind: (installed: string | undefined, latest: string | undefined) => boolean;
4
+ export interface ParsedVersion {
5
+ readonly parts: readonly number[];
6
+ readonly prerelease: readonly string[];
7
+ }
8
+ export declare const parseVersion: (version: string) => ParsedVersion | undefined;
9
+ export declare const compareVersions: (a: string, b: string) => number;
4
10
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/state/versions.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,MAAO,MAAM,KAAK,MAAM,KAAG,OAW9C,CAAC;AAGF,eAAO,MAAM,WAAW,UAAU,CAAC;AAInC,eAAO,MAAM,QAAQ,cAAe,MAAM,GAAG,SAAS,UAAU,MAAM,GAAG,SAAS,KAAG,OACyB,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/state/versions.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,MAAO,MAAM,KAAK,MAAM,KAAG,OAW9C,CAAC;AAGF,eAAO,MAAM,WAAW,UAAU,CAAC;AAInC,eAAO,MAAM,QAAQ,cAAe,MAAM,GAAG,SAAS,UAAU,MAAM,GAAG,SAAS,KAAG,OACyB,CAAC;AAI/G,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAKD,eAAO,MAAM,YAAY,YAAa,MAAM,KAAG,aAAa,GAAG,SAM9D,CAAC;AAqCF,eAAO,MAAM,eAAe,MAAO,MAAM,KAAK,MAAM,KAAG,MAYtD,CAAC"}
@@ -12,4 +12,51 @@ export const isNewer = (a, b) => {
12
12
  };
13
13
  export const DEV_VERSION = `0.0.0`;
14
14
  export const isBehind = (installed, latest) => installed !== undefined && latest !== undefined && installed !== DEV_VERSION && isNewer(latest, installed);
15
+ const VERSION = /^v?(\d+(?:\.\d+)*)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/i;
16
+ export const parseVersion = (version) => {
17
+ const match = VERSION.exec(version.trim());
18
+ if (match === null) {
19
+ return undefined;
20
+ }
21
+ return { parts: match[1].split(`.`).map(Number), prerelease: match[2] === undefined ? [] : match[2].split(`.`) };
22
+ };
23
+ const compareIdentifier = (left, right) => {
24
+ const [leftNumeric, rightNumeric] = [/^\d+$/.test(left), /^\d+$/.test(right)];
25
+ if (leftNumeric && rightNumeric) {
26
+ return Number(left) - Number(right);
27
+ }
28
+ if (leftNumeric !== rightNumeric) {
29
+ return leftNumeric ? -1 : 1;
30
+ }
31
+ return left < right ? -1 : left > right ? 1 : 0;
32
+ };
33
+ const comparePrerelease = (left, right) => {
34
+ if (left.length === 0 || right.length === 0) {
35
+ return right.length - left.length;
36
+ }
37
+ for (let index = 0; index < Math.max(left.length, right.length); index += 1) {
38
+ const [l, r] = [left[index], right[index]];
39
+ if (l === undefined || r === undefined) {
40
+ return l === undefined ? -1 : 1;
41
+ }
42
+ const difference = compareIdentifier(l, r);
43
+ if (difference !== 0) {
44
+ return difference;
45
+ }
46
+ }
47
+ return 0;
48
+ };
49
+ export const compareVersions = (a, b) => {
50
+ const [left, right] = [parseVersion(a), parseVersion(b)];
51
+ if (left === undefined || right === undefined) {
52
+ return (left === undefined ? 0 : 1) - (right === undefined ? 0 : 1);
53
+ }
54
+ for (let index = 0; index < Math.max(left.parts.length, right.parts.length); index += 1) {
55
+ const difference = (left.parts[index] ?? 0) - (right.parts[index] ?? 0);
56
+ if (difference !== 0) {
57
+ return Math.sign(difference);
58
+ }
59
+ }
60
+ return Math.sign(comparePrerelease(left.prerelease, right.prerelease));
61
+ };
15
62
  //# sourceMappingURL=versions.js.map