@intentic/sandbox-contract 1.311.0 → 1.313.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 (444) hide show
  1. package/README.md +32 -4
  2. package/dist/chores/chores.js +6 -6
  3. package/dist/chores/chores.js.map +1 -1
  4. package/dist/chores/index.d.ts +0 -1
  5. package/dist/chores/index.d.ts.map +1 -1
  6. package/dist/chores/index.js +0 -1
  7. package/dist/chores/index.js.map +1 -1
  8. package/dist/chores/prompt.d.ts.map +1 -1
  9. package/dist/chores/prompt.js +3 -2
  10. package/dist/chores/prompt.js.map +1 -1
  11. package/dist/contracts/accounts.contract.d.ts +69 -0
  12. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  13. package/dist/contracts/agent.contract.d.ts +436 -0
  14. package/dist/contracts/agent.contract.d.ts.map +1 -1
  15. package/dist/contracts/agent.contract.js +11 -1
  16. package/dist/contracts/agent.contract.js.map +1 -1
  17. package/dist/contracts/agents.contract.d.ts +718 -90
  18. package/dist/contracts/agents.contract.d.ts.map +1 -1
  19. package/dist/contracts/agents.contract.js +30 -2
  20. package/dist/contracts/agents.contract.js.map +1 -1
  21. package/dist/contracts/capabilities.contract.js +1 -1
  22. package/dist/contracts/capabilities.contract.js.map +1 -1
  23. package/dist/contracts/device.contract.d.ts +20 -4
  24. package/dist/contracts/device.contract.d.ts.map +1 -1
  25. package/dist/contracts/device.contract.js +1 -1
  26. package/dist/contracts/device.contract.js.map +1 -1
  27. package/dist/contracts/extensions.contract.d.ts +13 -0
  28. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  29. package/dist/contracts/git.contract.d.ts +2 -0
  30. package/dist/contracts/git.contract.d.ts.map +1 -1
  31. package/dist/contracts/offload.contract.d.ts +107 -0
  32. package/dist/contracts/offload.contract.d.ts.map +1 -0
  33. package/dist/contracts/offload.contract.js +53 -0
  34. package/dist/contracts/offload.contract.js.map +1 -0
  35. package/dist/contracts/personas.contract.d.ts +2 -0
  36. package/dist/contracts/personas.contract.d.ts.map +1 -1
  37. package/dist/contracts/ports.contract.d.ts +5 -0
  38. package/dist/contracts/ports.contract.d.ts.map +1 -1
  39. package/dist/contracts/runner.contract.d.ts +204 -0
  40. package/dist/contracts/runner.contract.d.ts.map +1 -1
  41. package/dist/contracts/runner.contract.js +3 -1
  42. package/dist/contracts/runner.contract.js.map +1 -1
  43. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  44. package/dist/contracts/secrets.contract.js +1 -0
  45. package/dist/contracts/secrets.contract.js.map +1 -1
  46. package/dist/contracts/sessions.contract.d.ts +59 -0
  47. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  48. package/dist/contracts/settings.contract.d.ts +20 -8
  49. package/dist/contracts/settings.contract.d.ts.map +1 -1
  50. package/dist/contracts/settings.contract.js +2 -2
  51. package/dist/contracts/settings.contract.js.map +1 -1
  52. package/dist/contracts/system.contract.d.ts +230 -15
  53. package/dist/contracts/system.contract.d.ts.map +1 -1
  54. package/dist/contracts/translator.contract.d.ts +88 -0
  55. package/dist/contracts/translator.contract.d.ts.map +1 -1
  56. package/dist/contracts/workspace.contract.d.ts +217 -0
  57. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  58. package/dist/contracts/workspace.contract.js +40 -3
  59. package/dist/contracts/workspace.contract.js.map +1 -1
  60. package/dist/documents/conversions.d.ts +81 -0
  61. package/dist/documents/conversions.d.ts.map +1 -0
  62. package/dist/documents/conversions.js +213 -0
  63. package/dist/documents/conversions.js.map +1 -0
  64. package/dist/documents/index.d.ts +4 -0
  65. package/dist/documents/index.d.ts.map +1 -0
  66. package/dist/documents/index.js +4 -0
  67. package/dist/documents/index.js.map +1 -0
  68. package/dist/documents/passthrough.d.ts +13 -0
  69. package/dist/documents/passthrough.d.ts.map +1 -0
  70. package/dist/documents/passthrough.js +101 -0
  71. package/dist/documents/passthrough.js.map +1 -0
  72. package/dist/documents/read.d.ts +24 -0
  73. package/dist/documents/read.d.ts.map +1 -0
  74. package/dist/documents/read.js +81 -0
  75. package/dist/documents/read.js.map +1 -0
  76. package/dist/events/agent-events.d.ts +235 -0
  77. package/dist/events/agent-events.d.ts.map +1 -1
  78. package/dist/events/agent-events.js +3 -0
  79. package/dist/events/agent-events.js.map +1 -1
  80. package/dist/events/child-run.d.ts +9 -0
  81. package/dist/events/child-run.d.ts.map +1 -0
  82. package/dist/events/child-run.js +41 -0
  83. package/dist/events/child-run.js.map +1 -0
  84. package/dist/events/errands.d.ts +5 -0
  85. package/dist/events/errands.d.ts.map +1 -0
  86. package/dist/events/errands.js +19 -0
  87. package/dist/events/errands.js.map +1 -0
  88. package/dist/events/land-breakage.d.ts +3 -0
  89. package/dist/events/land-breakage.d.ts.map +1 -1
  90. package/dist/events/land-breakage.js +3 -0
  91. package/dist/events/land-breakage.js.map +1 -1
  92. package/dist/events/land-conflict.d.ts +3 -0
  93. package/dist/events/land-conflict.d.ts.map +1 -0
  94. package/dist/events/land-conflict.js +4 -0
  95. package/dist/events/land-conflict.js.map +1 -0
  96. package/dist/events/requests.d.ts +152 -0
  97. package/dist/events/requests.d.ts.map +1 -1
  98. package/dist/events/requests.js +26 -1
  99. package/dist/events/requests.js.map +1 -1
  100. package/dist/events/system-events.d.ts +74 -12
  101. package/dist/events/system-events.d.ts.map +1 -1
  102. package/dist/events/system-events.js +3 -1
  103. package/dist/events/system-events.js.map +1 -1
  104. package/dist/events/transcript.d.ts +387 -0
  105. package/dist/events/transcript.d.ts.map +1 -1
  106. package/dist/events/transcript.js +3 -0
  107. package/dist/events/transcript.js.map +1 -1
  108. package/dist/events/verify-nudge.d.ts.map +1 -1
  109. package/dist/events/verify-nudge.js.map +1 -1
  110. package/dist/front/browser-wire.d.ts +6 -0
  111. package/dist/front/browser-wire.d.ts.map +1 -0
  112. package/dist/front/browser-wire.js +4 -0
  113. package/dist/front/browser-wire.js.map +1 -0
  114. package/dist/front/front-wire.d.ts +6 -0
  115. package/dist/front/front-wire.d.ts.map +1 -0
  116. package/dist/front/front-wire.js +5 -0
  117. package/dist/front/front-wire.js.map +1 -0
  118. package/dist/front/generated/browser-wire.d.ts +19 -0
  119. package/dist/front/generated/browser-wire.d.ts.map +1 -0
  120. package/dist/front/generated/browser-wire.js +2 -0
  121. package/dist/front/generated/browser-wire.js.map +1 -0
  122. package/dist/front/generated/wire.d.ts +70 -1
  123. package/dist/front/generated/wire.d.ts.map +1 -1
  124. package/dist/ids/conversation-ids.d.ts +3 -0
  125. package/dist/ids/conversation-ids.d.ts.map +1 -1
  126. package/dist/ids/conversation-ids.js +4 -2
  127. package/dist/ids/conversation-ids.js.map +1 -1
  128. package/dist/ids/session-names.d.ts +3 -0
  129. package/dist/ids/session-names.d.ts.map +1 -1
  130. package/dist/ids/session-names.js +3 -0
  131. package/dist/ids/session-names.js.map +1 -1
  132. package/dist/index.d.ts +2052 -190
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +15 -1
  135. package/dist/index.js.map +1 -1
  136. package/dist/models/agent-catalog.d.ts.map +1 -1
  137. package/dist/models/agent-catalog.js +4 -6
  138. package/dist/models/agent-catalog.js.map +1 -1
  139. package/dist/models/agent-runtimes.d.ts +2 -1
  140. package/dist/models/agent-runtimes.d.ts.map +1 -1
  141. package/dist/models/agent-runtimes.js +7 -1
  142. package/dist/models/agent-runtimes.js.map +1 -1
  143. package/dist/models/plan-pools.d.ts +22 -1
  144. package/dist/models/plan-pools.d.ts.map +1 -1
  145. package/dist/models/plan-pools.js +86 -0
  146. package/dist/models/plan-pools.js.map +1 -1
  147. package/dist/policy/request-status.d.ts +1 -1
  148. package/dist/policy/request-status.d.ts.map +1 -1
  149. package/dist/policy/request-status.js +4 -11
  150. package/dist/policy/request-status.js.map +1 -1
  151. package/dist/policy/reserved-servers.d.ts.map +1 -1
  152. package/dist/policy/reserved-servers.js +2 -1
  153. package/dist/policy/reserved-servers.js.map +1 -1
  154. package/dist/policy/turned-away.d.ts.map +1 -1
  155. package/dist/policy/turned-away.js +1 -0
  156. package/dist/policy/turned-away.js.map +1 -1
  157. package/dist/protocol/container-requirements.d.ts +0 -1
  158. package/dist/protocol/container-requirements.d.ts.map +1 -1
  159. package/dist/protocol/container-requirements.js +1 -2
  160. package/dist/protocol/container-requirements.js.map +1 -1
  161. package/dist/protocol/edge-verdict.d.ts +2 -1
  162. package/dist/protocol/edge-verdict.d.ts.map +1 -1
  163. package/dist/protocol/edge-verdict.js +1 -1
  164. package/dist/protocol/edge-verdict.js.map +1 -1
  165. package/dist/protocol/ingress-contract.d.ts +1 -12
  166. package/dist/protocol/ingress-contract.d.ts.map +1 -1
  167. package/dist/protocol/ingress-contract.js +1 -1
  168. package/dist/protocol/ingress-contract.js.map +1 -1
  169. package/dist/protocol/raw-routes.d.ts +36 -26
  170. package/dist/protocol/raw-routes.d.ts.map +1 -1
  171. package/dist/protocol/raw-routes.js +17 -23
  172. package/dist/protocol/raw-routes.js.map +1 -1
  173. package/dist/protocol/route-meta.d.ts +22 -0
  174. package/dist/protocol/route-meta.d.ts.map +1 -1
  175. package/dist/protocol/route-meta.js +16 -0
  176. package/dist/protocol/route-meta.js.map +1 -1
  177. package/dist/protocol/runner-protocol.d.ts +34 -0
  178. package/dist/protocol/runner-protocol.d.ts.map +1 -1
  179. package/dist/protocol/runner-protocol.js +33 -0
  180. package/dist/protocol/runner-protocol.js.map +1 -1
  181. package/dist/protocol/tunnel-bulk.d.ts +2 -0
  182. package/dist/protocol/tunnel-bulk.d.ts.map +1 -0
  183. package/dist/protocol/tunnel-bulk.js +3 -0
  184. package/dist/protocol/tunnel-bulk.js.map +1 -0
  185. package/dist/protocol/x402.d.ts +17 -0
  186. package/dist/protocol/x402.d.ts.map +1 -0
  187. package/dist/protocol/x402.js +37 -0
  188. package/dist/protocol/x402.js.map +1 -0
  189. package/dist/schemas/activity.d.ts.map +1 -1
  190. package/dist/schemas/activity.js.map +1 -1
  191. package/dist/schemas/agent.d.ts +25 -0
  192. package/dist/schemas/agent.d.ts.map +1 -1
  193. package/dist/schemas/agent.js +14 -2
  194. package/dist/schemas/agent.js.map +1 -1
  195. package/dist/schemas/agents.d.ts +90 -18
  196. package/dist/schemas/agents.d.ts.map +1 -1
  197. package/dist/schemas/agents.js +49 -5
  198. package/dist/schemas/agents.js.map +1 -1
  199. package/dist/schemas/automations.d.ts +23 -6
  200. package/dist/schemas/automations.d.ts.map +1 -1
  201. package/dist/schemas/automations.js.map +1 -1
  202. package/dist/schemas/devices.d.ts +134 -7
  203. package/dist/schemas/devices.d.ts.map +1 -1
  204. package/dist/schemas/devices.js +43 -18
  205. package/dist/schemas/devices.js.map +1 -1
  206. package/dist/schemas/extension-updates.d.ts +26 -0
  207. package/dist/schemas/extension-updates.d.ts.map +1 -1
  208. package/dist/schemas/extension-updates.js +4 -0
  209. package/dist/schemas/extension-updates.js.map +1 -1
  210. package/dist/schemas/git/git.d.ts +19 -0
  211. package/dist/schemas/git/git.d.ts.map +1 -1
  212. package/dist/schemas/git/git.js +1 -0
  213. package/dist/schemas/git/git.js.map +1 -1
  214. package/dist/schemas/hosts.d.ts +35 -3
  215. package/dist/schemas/hosts.d.ts.map +1 -1
  216. package/dist/schemas/hosts.js +22 -6
  217. package/dist/schemas/hosts.js.map +1 -1
  218. package/dist/schemas/keep-warm.d.ts +2 -12
  219. package/dist/schemas/keep-warm.d.ts.map +1 -1
  220. package/dist/schemas/keep-warm.js +8 -10
  221. package/dist/schemas/keep-warm.js.map +1 -1
  222. package/dist/schemas/metrics.d.ts +29 -0
  223. package/dist/schemas/metrics.d.ts.map +1 -1
  224. package/dist/schemas/metrics.js +19 -3
  225. package/dist/schemas/metrics.js.map +1 -1
  226. package/dist/schemas/offload.d.ts +62 -0
  227. package/dist/schemas/offload.d.ts.map +1 -0
  228. package/dist/schemas/offload.js +23 -0
  229. package/dist/schemas/offload.js.map +1 -0
  230. package/dist/schemas/personas.d.ts +3 -0
  231. package/dist/schemas/personas.d.ts.map +1 -1
  232. package/dist/schemas/personas.js +12 -3
  233. package/dist/schemas/personas.js.map +1 -1
  234. package/dist/schemas/ports.d.ts +10 -0
  235. package/dist/schemas/ports.d.ts.map +1 -1
  236. package/dist/schemas/ports.js +8 -0
  237. package/dist/schemas/ports.js.map +1 -1
  238. package/dist/schemas/providers/plan-limits.d.ts +169 -0
  239. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  240. package/dist/schemas/providers/plan-limits.js +54 -1
  241. package/dist/schemas/providers/plan-limits.js.map +1 -1
  242. package/dist/schemas/providers/provider-oauth.d.ts +69 -0
  243. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  244. package/dist/schemas/providers/provider-oauth.js +6 -1
  245. package/dist/schemas/providers/provider-oauth.js.map +1 -1
  246. package/dist/schemas/settings-history.d.ts +55 -0
  247. package/dist/schemas/settings-history.d.ts.map +1 -0
  248. package/dist/schemas/settings-history.js +73 -0
  249. package/dist/schemas/settings-history.js.map +1 -0
  250. package/dist/schemas/settings.d.ts +188 -4
  251. package/dist/schemas/settings.d.ts.map +1 -1
  252. package/dist/schemas/settings.js +41 -26
  253. package/dist/schemas/settings.js.map +1 -1
  254. package/dist/schemas/speaker.d.ts +36 -0
  255. package/dist/schemas/speaker.d.ts.map +1 -0
  256. package/dist/schemas/speaker.js +62 -0
  257. package/dist/schemas/speaker.js.map +1 -0
  258. package/dist/schemas/state-plan.d.ts +46 -0
  259. package/dist/schemas/state-plan.d.ts.map +1 -0
  260. package/dist/schemas/state-plan.js +31 -0
  261. package/dist/schemas/state-plan.js.map +1 -0
  262. package/dist/schemas/system.d.ts +64 -0
  263. package/dist/schemas/system.d.ts.map +1 -1
  264. package/dist/schemas/system.js +12 -1
  265. package/dist/schemas/system.js.map +1 -1
  266. package/dist/schemas/workspace/mainline.d.ts +513 -0
  267. package/dist/schemas/workspace/mainline.d.ts.map +1 -0
  268. package/dist/schemas/workspace/mainline.js +182 -0
  269. package/dist/schemas/workspace/mainline.js.map +1 -0
  270. package/dist/schemas/workspace/workspace-tree.d.ts +23 -0
  271. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -1
  272. package/dist/schemas/workspace/workspace-tree.js +34 -0
  273. package/dist/schemas/workspace/workspace-tree.js.map +1 -1
  274. package/dist/state/contract-lock.d.ts +1 -0
  275. package/dist/state/contract-lock.d.ts.map +1 -1
  276. package/dist/state/contract-lock.js +47 -1
  277. package/dist/state/contract-lock.js.map +1 -1
  278. package/dist/state/definition.d.ts +44 -20
  279. package/dist/state/definition.d.ts.map +1 -1
  280. package/dist/state/definition.js.map +1 -1
  281. package/dist/state/fix-stance.d.ts +1 -1
  282. package/dist/state/fix-stance.d.ts.map +1 -1
  283. package/dist/state/fix-stance.js +2 -1
  284. package/dist/state/fix-stance.js.map +1 -1
  285. package/dist/state/history-state.d.ts.map +1 -1
  286. package/dist/state/history-state.js +7 -0
  287. package/dist/state/history-state.js.map +1 -1
  288. package/dist/state/landed-commit.d.ts +1 -0
  289. package/dist/state/landed-commit.d.ts.map +1 -1
  290. package/dist/state/landed-commit.js +2 -0
  291. package/dist/state/landed-commit.js.map +1 -1
  292. package/dist/state/red-streak.d.ts +7 -0
  293. package/dist/state/red-streak.d.ts.map +1 -0
  294. package/dist/state/red-streak.js +11 -0
  295. package/dist/state/red-streak.js.map +1 -0
  296. package/dist/state/runtime-state.d.ts +3 -0
  297. package/dist/state/runtime-state.d.ts.map +1 -1
  298. package/dist/state/runtime-state.js +1 -0
  299. package/dist/state/runtime-state.js.map +1 -1
  300. package/dist/state/workspace-state.d.ts +23 -1
  301. package/dist/state/workspace-state.d.ts.map +1 -1
  302. package/dist/state/workspace-state.js +33 -3
  303. package/dist/state/workspace-state.js.map +1 -1
  304. package/dist/text/shell-regions.d.ts +1 -0
  305. package/dist/text/shell-regions.d.ts.map +1 -1
  306. package/dist/text/shell-regions.js +1 -1
  307. package/dist/text/shell-regions.js.map +1 -1
  308. package/dist/text/transcript-fold.d.ts +1 -0
  309. package/dist/text/transcript-fold.d.ts.map +1 -1
  310. package/dist/text/transcript-fold.js +24 -8
  311. package/dist/text/transcript-fold.js.map +1 -1
  312. package/package.json +42 -42
  313. package/src/chores/chores.ts +6 -6
  314. package/src/chores/index.ts +0 -1
  315. package/src/chores/prompt.ts +3 -2
  316. package/src/contracts/agent.contract.ts +14 -0
  317. package/src/contracts/agents.contract.ts +36 -1
  318. package/src/contracts/capabilities.contract.ts +2 -2
  319. package/src/contracts/device.contract.ts +5 -3
  320. package/src/contracts/offload.contract.ts +60 -0
  321. package/src/contracts/runner.contract.ts +7 -1
  322. package/src/contracts/secrets.contract.ts +2 -0
  323. package/src/contracts/settings.contract.ts +2 -1
  324. package/src/contracts/workspace.contract.ts +54 -2
  325. package/src/documents/conversions.ts +402 -0
  326. package/src/documents/index.ts +7 -0
  327. package/src/documents/passthrough.ts +139 -0
  328. package/src/documents/read.ts +114 -0
  329. package/src/events/agent-events.ts +5 -0
  330. package/src/events/child-run.test.ts +81 -0
  331. package/src/events/child-run.ts +73 -0
  332. package/src/events/errands.test.ts +22 -0
  333. package/src/events/errands.ts +27 -0
  334. package/src/events/land-breakage.ts +12 -0
  335. package/src/events/land-conflict.ts +12 -0
  336. package/src/events/requests.ts +40 -1
  337. package/src/events/system-events.ts +9 -3
  338. package/src/events/transcript.ts +8 -0
  339. package/src/events/verify-nudge.ts +4 -3
  340. package/src/front/browser-wire.ts +20 -0
  341. package/src/front/front-wire.ts +15 -0
  342. package/src/front/generated/browser-wire.json +138 -0
  343. package/src/front/generated/browser-wire.ts +16 -0
  344. package/src/front/generated/front-wire.json +793 -0
  345. package/src/front/generated/tunnel.json +38 -0
  346. package/src/front/generated/wire.ts +37 -9
  347. package/src/front/wire-manifests.test.ts +61 -0
  348. package/src/ids/conversation-ids.ts +13 -5
  349. package/src/ids/session-names.ts +7 -0
  350. package/src/index.ts +15 -2
  351. package/src/models/agent-catalog.test.ts +6 -4
  352. package/src/models/agent-catalog.ts +4 -6
  353. package/src/models/agent-runtimes.ts +22 -7
  354. package/src/models/capability-ledger.test.ts +2 -0
  355. package/src/models/plan-pools.test.ts +121 -2
  356. package/src/models/plan-pools.ts +152 -2
  357. package/src/policy/request-status.ts +4 -12
  358. package/src/policy/reserved-servers.test.ts +6 -0
  359. package/src/policy/reserved-servers.ts +13 -10
  360. package/src/policy/turned-away.ts +3 -0
  361. package/src/protocol/container-requirements.test.ts +2 -3
  362. package/src/protocol/container-requirements.ts +1 -7
  363. package/src/protocol/edge-verdict.ts +13 -11
  364. package/src/protocol/ingress-contract.fixture.json +90 -0
  365. package/src/protocol/ingress-contract.test.ts +18 -26
  366. package/src/protocol/ingress-contract.ts +10 -25
  367. package/src/protocol/raw-routes.ts +22 -26
  368. package/src/protocol/route-meta.ts +39 -0
  369. package/src/protocol/runner-protocol.ts +53 -0
  370. package/src/protocol/tunnel-bulk.test.ts +37 -0
  371. package/src/protocol/tunnel-bulk.ts +7 -0
  372. package/src/protocol/x402.test.ts +29 -0
  373. package/src/protocol/x402.ts +61 -0
  374. package/src/schemas/activity.ts +3 -1
  375. package/src/schemas/agent.ts +28 -3
  376. package/src/schemas/agents.ts +83 -8
  377. package/src/schemas/automations.ts +4 -2
  378. package/src/schemas/devices.ts +106 -39
  379. package/src/schemas/extension-updates.ts +6 -0
  380. package/src/schemas/git/git.ts +5 -0
  381. package/src/schemas/hosts.ts +64 -13
  382. package/src/schemas/ic-shape-args.test.ts +64 -0
  383. package/src/schemas/keep-warm.test.ts +6 -13
  384. package/src/schemas/keep-warm.ts +15 -20
  385. package/src/schemas/metrics.ts +28 -3
  386. package/src/schemas/offload.ts +44 -0
  387. package/src/schemas/personas.ts +18 -3
  388. package/src/schemas/ports.ts +10 -0
  389. package/src/schemas/providers/plan-limits.ts +84 -1
  390. package/src/schemas/providers/provider-oauth.ts +10 -1
  391. package/src/schemas/settings-history.ts +108 -0
  392. package/src/schemas/settings.test.ts +54 -1
  393. package/src/schemas/settings.ts +88 -49
  394. package/src/schemas/speaker.ts +89 -0
  395. package/src/schemas/state-plan.test.ts +69 -0
  396. package/src/schemas/state-plan.ts +47 -0
  397. package/src/schemas/system.ts +24 -3
  398. package/src/schemas/workspace/mainline.test.ts +28 -0
  399. package/src/schemas/workspace/mainline.ts +268 -0
  400. package/src/schemas/workspace/workspace-tree.ts +47 -0
  401. package/src/state/contract-lock.test.ts +65 -4
  402. package/src/state/contract-lock.ts +70 -2
  403. package/src/state/definition.ts +3 -2
  404. package/src/state/fix-stance.test.ts +8 -0
  405. package/src/state/fix-stance.ts +3 -3
  406. package/src/state/history-state.ts +19 -0
  407. package/src/state/landed-commit.test.ts +12 -1
  408. package/src/state/landed-commit.ts +5 -0
  409. package/src/state/red-streak.test.ts +28 -0
  410. package/src/state/red-streak.ts +28 -0
  411. package/src/state/runtime-state.ts +4 -0
  412. package/src/state/workspace-state.test.ts +7 -1
  413. package/src/state/workspace-state.ts +45 -3
  414. package/src/text/shell-regions.test.ts +38 -0
  415. package/src/text/shell-regions.ts +3 -3
  416. package/src/text/transcript-fold.test.ts +46 -0
  417. package/src/text/transcript-fold.ts +31 -9
  418. package/dist/chores/fix-deps.d.ts +0 -10
  419. package/dist/chores/fix-deps.d.ts.map +0 -1
  420. package/dist/chores/fix-deps.js +0 -18
  421. package/dist/chores/fix-deps.js.map +0 -1
  422. package/dist/protocol/ingress-protocol.d.ts +0 -30
  423. package/dist/protocol/ingress-protocol.d.ts.map +0 -1
  424. package/dist/protocol/ingress-protocol.js +0 -300
  425. package/dist/protocol/ingress-protocol.js.map +0 -1
  426. package/dist/protocol/terminal-protocol.d.ts +0 -18
  427. package/dist/protocol/terminal-protocol.d.ts.map +0 -1
  428. package/dist/protocol/terminal-protocol.js +0 -2
  429. package/dist/protocol/terminal-protocol.js.map +0 -1
  430. package/dist/protocol/tunnel-heartbeat.d.ts +0 -19
  431. package/dist/protocol/tunnel-heartbeat.d.ts.map +0 -1
  432. package/dist/protocol/tunnel-heartbeat.js +0 -41
  433. package/dist/protocol/tunnel-heartbeat.js.map +0 -1
  434. package/dist/protocol/upgrade-relay.d.ts +0 -4
  435. package/dist/protocol/upgrade-relay.d.ts.map +0 -1
  436. package/dist/protocol/upgrade-relay.js +0 -25
  437. package/dist/protocol/upgrade-relay.js.map +0 -1
  438. package/src/chores/fix-deps.ts +0 -22
  439. package/src/protocol/ingress-protocol.test.ts +0 -579
  440. package/src/protocol/ingress-protocol.ts +0 -469
  441. package/src/protocol/terminal-protocol.ts +0 -13
  442. package/src/protocol/tunnel-heartbeat.test.ts +0 -75
  443. package/src/protocol/tunnel-heartbeat.ts +0 -67
  444. package/src/protocol/upgrade-relay.ts +0 -28
@@ -15,11 +15,33 @@ export declare const translatorContract: {
15
15
  }, z.core.$strip>]>;
16
16
  }, z.core.$strip>>;
17
17
  measuredAt: z.ZodNumber;
18
+ unread: z.ZodOptional<z.ZodObject<{
19
+ since: z.ZodNumber;
20
+ reason: z.ZodString;
21
+ }, z.core.$strip>>;
18
22
  }, z.core.$strip>>;
19
23
  cooling: z.ZodOptional<z.ZodObject<{
20
24
  until: z.ZodOptional<z.ZodNumber>;
21
25
  reason: z.ZodOptional<z.ZodString>;
22
26
  }, z.core.$strip>>;
27
+ state: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
28
+ kind: z.ZodLiteral<"ready">;
29
+ room: z.ZodNumber;
30
+ }, z.core.$strip>, z.ZodObject<{
31
+ kind: z.ZodLiteral<"spent">;
32
+ reopensAt: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ kind: z.ZodLiteral<"blocked">;
35
+ fix: z.ZodEnum<{
36
+ admin: "admin";
37
+ reconnect: "reconnect";
38
+ wait: "wait";
39
+ }>;
40
+ reason: z.ZodString;
41
+ until: z.ZodOptional<z.ZodNumber>;
42
+ }, z.core.$strip>, z.ZodObject<{
43
+ kind: z.ZodLiteral<"unknown">;
44
+ }, z.core.$strip>], "kind">>;
23
45
  }, z.core.$strip>>;
24
46
  gemini: z.ZodArray<z.ZodObject<{
25
47
  name: z.ZodString;
@@ -35,11 +57,33 @@ export declare const translatorContract: {
35
57
  }, z.core.$strip>]>;
36
58
  }, z.core.$strip>>;
37
59
  measuredAt: z.ZodNumber;
60
+ unread: z.ZodOptional<z.ZodObject<{
61
+ since: z.ZodNumber;
62
+ reason: z.ZodString;
63
+ }, z.core.$strip>>;
38
64
  }, z.core.$strip>>;
39
65
  cooling: z.ZodOptional<z.ZodObject<{
40
66
  until: z.ZodOptional<z.ZodNumber>;
41
67
  reason: z.ZodOptional<z.ZodString>;
42
68
  }, z.core.$strip>>;
69
+ state: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
70
+ kind: z.ZodLiteral<"ready">;
71
+ room: z.ZodNumber;
72
+ }, z.core.$strip>, z.ZodObject<{
73
+ kind: z.ZodLiteral<"spent">;
74
+ reopensAt: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strip>, z.ZodObject<{
76
+ kind: z.ZodLiteral<"blocked">;
77
+ fix: z.ZodEnum<{
78
+ admin: "admin";
79
+ reconnect: "reconnect";
80
+ wait: "wait";
81
+ }>;
82
+ reason: z.ZodString;
83
+ until: z.ZodOptional<z.ZodNumber>;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ kind: z.ZodLiteral<"unknown">;
86
+ }, z.core.$strip>], "kind">>;
43
87
  }, z.core.$strip>>;
44
88
  grok: z.ZodArray<z.ZodObject<{
45
89
  name: z.ZodString;
@@ -55,11 +99,33 @@ export declare const translatorContract: {
55
99
  }, z.core.$strip>]>;
56
100
  }, z.core.$strip>>;
57
101
  measuredAt: z.ZodNumber;
102
+ unread: z.ZodOptional<z.ZodObject<{
103
+ since: z.ZodNumber;
104
+ reason: z.ZodString;
105
+ }, z.core.$strip>>;
58
106
  }, z.core.$strip>>;
59
107
  cooling: z.ZodOptional<z.ZodObject<{
60
108
  until: z.ZodOptional<z.ZodNumber>;
61
109
  reason: z.ZodOptional<z.ZodString>;
62
110
  }, z.core.$strip>>;
111
+ state: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
112
+ kind: z.ZodLiteral<"ready">;
113
+ room: z.ZodNumber;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ kind: z.ZodLiteral<"spent">;
116
+ reopensAt: z.ZodOptional<z.ZodNumber>;
117
+ }, z.core.$strip>, z.ZodObject<{
118
+ kind: z.ZodLiteral<"blocked">;
119
+ fix: z.ZodEnum<{
120
+ admin: "admin";
121
+ reconnect: "reconnect";
122
+ wait: "wait";
123
+ }>;
124
+ reason: z.ZodString;
125
+ until: z.ZodOptional<z.ZodNumber>;
126
+ }, z.core.$strip>, z.ZodObject<{
127
+ kind: z.ZodLiteral<"unknown">;
128
+ }, z.core.$strip>], "kind">>;
63
129
  }, z.core.$strip>>;
64
130
  kimi: z.ZodArray<z.ZodObject<{
65
131
  name: z.ZodString;
@@ -75,11 +141,33 @@ export declare const translatorContract: {
75
141
  }, z.core.$strip>]>;
76
142
  }, z.core.$strip>>;
77
143
  measuredAt: z.ZodNumber;
144
+ unread: z.ZodOptional<z.ZodObject<{
145
+ since: z.ZodNumber;
146
+ reason: z.ZodString;
147
+ }, z.core.$strip>>;
78
148
  }, z.core.$strip>>;
79
149
  cooling: z.ZodOptional<z.ZodObject<{
80
150
  until: z.ZodOptional<z.ZodNumber>;
81
151
  reason: z.ZodOptional<z.ZodString>;
82
152
  }, z.core.$strip>>;
153
+ state: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
154
+ kind: z.ZodLiteral<"ready">;
155
+ room: z.ZodNumber;
156
+ }, z.core.$strip>, z.ZodObject<{
157
+ kind: z.ZodLiteral<"spent">;
158
+ reopensAt: z.ZodOptional<z.ZodNumber>;
159
+ }, z.core.$strip>, z.ZodObject<{
160
+ kind: z.ZodLiteral<"blocked">;
161
+ fix: z.ZodEnum<{
162
+ admin: "admin";
163
+ reconnect: "reconnect";
164
+ wait: "wait";
165
+ }>;
166
+ reason: z.ZodString;
167
+ until: z.ZodOptional<z.ZodNumber>;
168
+ }, z.core.$strip>, z.ZodObject<{
169
+ kind: z.ZodLiteral<"unknown">;
170
+ }, z.core.$strip>], "kind">>;
83
171
  }, z.core.$strip>>;
84
172
  }, z.core.$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
85
173
  connect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"translator.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/translator.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,kBAAkB;IAC3B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,OAAO;;;;;;;;;;;;;;;;IAUP,MAAM;;;;;;;;;;;;;;;;IAUN,QAAQ;;;;;;;;;;;;IAUR,UAAU;;;;;;;;;;;CASb,CAAC"}
1
+ {"version":3,"file":"translator.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/translator.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,kBAAkB;IAC3B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,OAAO;;;;;;;;;;;;;;;;IAUP,MAAM;;;;;;;;;;;;;;;;IAUN,QAAQ;;;;;;;;;;;;IAUR,UAAU;;;;;;;;;;;CASb,CAAC"}
@@ -6,6 +6,7 @@ export declare const workspaceContract: {
6
6
  tree: import("zod").ZodArray<import("zod").ZodType<import("../schemas/workspace/workspace-tree.js").WorkspaceTreeEntry, unknown, import("zod/v4/core").$ZodTypeInternals<import("../schemas/workspace/workspace-tree.js").WorkspaceTreeEntry, unknown>>>;
7
7
  hidden: import("zod").ZodNumber;
8
8
  barren: import("zod").ZodArray<import("zod").ZodString>;
9
+ generation: import("zod").ZodOptional<import("zod").ZodNumber>;
9
10
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
10
11
  children: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
11
12
  agent: import("zod").ZodOptional<import("zod").ZodString>;
@@ -292,6 +293,12 @@ export declare const workspaceContract: {
292
293
  path: import("zod").ZodString;
293
294
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
294
295
  ok: import("zod").ZodLiteral<true>;
296
+ trashed: import("zod").ZodOptional<import("zod").ZodString>;
297
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
298
+ restore: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
299
+ trashed: import("zod").ZodString;
300
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
301
+ path: import("zod").ZodString;
295
302
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
296
303
  move: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
297
304
  from: import("zod").ZodString;
@@ -335,6 +342,216 @@ export declare const workspaceContract: {
335
342
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
336
343
  queued: import("zod").ZodArray<import("zod").ZodString>;
337
344
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
345
+ mainline: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
346
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
347
+ project: import("zod").ZodString;
348
+ running: import("zod").ZodOptional<import("zod").ZodObject<{
349
+ command: import("zod").ZodString;
350
+ startedAt: import("zod").ZodNumber;
351
+ lands: import("zod").ZodArray<import("zod").ZodObject<{
352
+ conversationId: import("zod").ZodString;
353
+ title: import("zod").ZodOptional<import("zod").ZodString>;
354
+ at: import("zod").ZodNumber;
355
+ }, import("zod/v4/core").$strip>>;
356
+ on: import("zod").ZodOptional<import("zod").ZodString>;
357
+ }, import("zod/v4/core").$strip>>;
358
+ session: import("zod").ZodOptional<import("zod").ZodString>;
359
+ queued: import("zod").ZodArray<import("zod").ZodObject<{
360
+ conversationId: import("zod").ZodString;
361
+ title: import("zod").ZodOptional<import("zod").ZodString>;
362
+ at: import("zod").ZodNumber;
363
+ }, import("zod/v4/core").$strip>>;
364
+ last: import("zod").ZodOptional<import("zod").ZodObject<{
365
+ project: import("zod").ZodString;
366
+ command: import("zod").ZodString;
367
+ status: import("zod").ZodEnum<{
368
+ green: "green";
369
+ red: "red";
370
+ }>;
371
+ startedAt: import("zod").ZodNumber;
372
+ at: import("zod").ZodNumber;
373
+ lands: import("zod").ZodArray<import("zod").ZodObject<{
374
+ conversationId: import("zod").ZodString;
375
+ title: import("zod").ZodOptional<import("zod").ZodString>;
376
+ at: import("zod").ZodNumber;
377
+ }, import("zod/v4/core").$strip>>;
378
+ failures: import("zod").ZodArray<import("zod").ZodString>;
379
+ failureCount: import("zod").ZodNumber;
380
+ attempt: import("zod").ZodNumber;
381
+ suspects: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
382
+ named: import("zod").ZodOptional<import("zod").ZodBoolean>;
383
+ units: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
384
+ name: import("zod").ZodString;
385
+ path: import("zod").ZodOptional<import("zod").ZodString>;
386
+ }, import("zod/v4/core").$strip>>>;
387
+ routing: import("zod").ZodOptional<import("zod").ZodObject<{
388
+ kind: import("zod").ZodEnum<{
389
+ dismissed: "dismissed";
390
+ "fix-up": "fix-up";
391
+ held: "held";
392
+ original: "original";
393
+ reported: "reported";
394
+ resolved: "resolved";
395
+ spent: "spent";
396
+ waiting: "waiting";
397
+ }>;
398
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
399
+ at: import("zod").ZodNumber;
400
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
401
+ findings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
402
+ }, import("zod/v4/core").$strip>>;
403
+ }, import("zod/v4/core").$strip>>;
404
+ redSince: import("zod").ZodOptional<import("zod").ZodNumber>;
405
+ red: import("zod").ZodOptional<import("zod").ZodObject<{
406
+ since: import("zod").ZodNumber;
407
+ cause: import("zod").ZodArray<import("zod").ZodObject<{
408
+ conversationId: import("zod").ZodString;
409
+ title: import("zod").ZodOptional<import("zod").ZodString>;
410
+ }, import("zod/v4/core").$strip>>;
411
+ named: import("zod").ZodBoolean;
412
+ fixer: import("zod").ZodOptional<import("zod").ZodObject<{
413
+ kind: import("zod").ZodEnum<{
414
+ dismissed: "dismissed";
415
+ "fix-up": "fix-up";
416
+ held: "held";
417
+ original: "original";
418
+ reported: "reported";
419
+ resolved: "resolved";
420
+ spent: "spent";
421
+ waiting: "waiting";
422
+ }>;
423
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
424
+ at: import("zod").ZodNumber;
425
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
426
+ findings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
427
+ }, import("zod/v4/core").$strip>>;
428
+ }, import("zod/v4/core").$strip>>;
429
+ }, import("zod/v4/core").$strip>>;
430
+ recent: import("zod").ZodArray<import("zod").ZodObject<{
431
+ project: import("zod").ZodString;
432
+ command: import("zod").ZodString;
433
+ status: import("zod").ZodEnum<{
434
+ green: "green";
435
+ red: "red";
436
+ }>;
437
+ startedAt: import("zod").ZodNumber;
438
+ at: import("zod").ZodNumber;
439
+ lands: import("zod").ZodArray<import("zod").ZodObject<{
440
+ conversationId: import("zod").ZodString;
441
+ title: import("zod").ZodOptional<import("zod").ZodString>;
442
+ at: import("zod").ZodNumber;
443
+ }, import("zod/v4/core").$strip>>;
444
+ failures: import("zod").ZodArray<import("zod").ZodString>;
445
+ failureCount: import("zod").ZodNumber;
446
+ attempt: import("zod").ZodNumber;
447
+ suspects: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
448
+ named: import("zod").ZodOptional<import("zod").ZodBoolean>;
449
+ units: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
450
+ name: import("zod").ZodString;
451
+ path: import("zod").ZodOptional<import("zod").ZodString>;
452
+ }, import("zod/v4/core").$strip>>>;
453
+ routing: import("zod").ZodOptional<import("zod").ZodObject<{
454
+ kind: import("zod").ZodEnum<{
455
+ dismissed: "dismissed";
456
+ "fix-up": "fix-up";
457
+ held: "held";
458
+ original: "original";
459
+ reported: "reported";
460
+ resolved: "resolved";
461
+ spent: "spent";
462
+ waiting: "waiting";
463
+ }>;
464
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
465
+ at: import("zod").ZodNumber;
466
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
467
+ findings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
468
+ }, import("zod/v4/core").$strip>>;
469
+ }, import("zod/v4/core").$strip>>;
470
+ pushed: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
471
+ project: import("zod").ZodString;
472
+ id: import("zod").ZodString;
473
+ at: import("zod").ZodNumber;
474
+ remote: import("zod").ZodOptional<import("zod").ZodString>;
475
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
476
+ base: import("zod").ZodOptional<import("zod").ZodString>;
477
+ head: import("zod").ZodString;
478
+ commits: import("zod").ZodNumber;
479
+ findings: import("zod").ZodArray<import("zod").ZodObject<{
480
+ id: import("zod").ZodString;
481
+ source: import("zod").ZodString;
482
+ text: import("zod").ZodString;
483
+ path: import("zod").ZodOptional<import("zod").ZodString>;
484
+ command: import("zod").ZodOptional<import("zod").ZodString>;
485
+ recheckable: import("zod").ZodBoolean;
486
+ gate: import("zod").ZodOptional<import("zod").ZodEnum<{
487
+ code: "code";
488
+ tidy: "tidy";
489
+ }>>;
490
+ commit: import("zod").ZodOptional<import("zod").ZodObject<{
491
+ sha: import("zod").ZodString;
492
+ subject: import("zod").ZodString;
493
+ }, import("zod/v4/core").$strip>>;
494
+ }, import("zod/v4/core").$strip>>;
495
+ refused: import("zod").ZodOptional<import("zod").ZodBoolean>;
496
+ }, import("zod/v4/core").$strip>>>;
497
+ reds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
498
+ source: import("zod").ZodEnum<{
499
+ ci: "ci";
500
+ land: "land";
501
+ push: "push";
502
+ }>;
503
+ scope: import("zod").ZodString;
504
+ since: import("zod").ZodNumber;
505
+ findings: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
506
+ id: import("zod").ZodString;
507
+ source: import("zod").ZodString;
508
+ text: import("zod").ZodString;
509
+ path: import("zod").ZodOptional<import("zod").ZodString>;
510
+ command: import("zod").ZodOptional<import("zod").ZodString>;
511
+ recheckable: import("zod").ZodBoolean;
512
+ gate: import("zod").ZodOptional<import("zod").ZodEnum<{
513
+ code: "code";
514
+ tidy: "tidy";
515
+ }>>;
516
+ commit: import("zod").ZodOptional<import("zod").ZodObject<{
517
+ sha: import("zod").ZodString;
518
+ subject: import("zod").ZodString;
519
+ }, import("zod/v4/core").$strip>>;
520
+ }, import("zod/v4/core").$strip>>>;
521
+ suspects: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
522
+ named: import("zod").ZodDefault<import("zod").ZodBoolean>;
523
+ decisions: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
524
+ kind: import("zod").ZodEnum<{
525
+ dismissed: "dismissed";
526
+ "fix-up": "fix-up";
527
+ held: "held";
528
+ original: "original";
529
+ reported: "reported";
530
+ resolved: "resolved";
531
+ spent: "spent";
532
+ waiting: "waiting";
533
+ }>;
534
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
535
+ at: import("zod").ZodNumber;
536
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
537
+ findings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
538
+ }, import("zod/v4/core").$strip>>>;
539
+ }, import("zod/v4/core").$strip>>>;
540
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
541
+ mainlinePushDismiss: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
542
+ project: import("zod").ZodString;
543
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
544
+ restore: import("zod").ZodOptional<import("zod").ZodBoolean>;
545
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
546
+ changed: import("zod").ZodNumber;
547
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
548
+ mainlinePushRecheck: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
549
+ project: import("zod").ZodString;
550
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
551
+ measured: import("zod").ZodBoolean;
552
+ resolved: import("zod").ZodNumber;
553
+ open: import("zod").ZodNumber;
554
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
338
555
  repos: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
339
556
  repos: import("zod").ZodArray<import("zod").ZodString>;
340
557
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/workspace.contract.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,iBAAiB;IAE1B,IAAI;;;;;;;;IAYJ,QAAQ;;;;;;;;IAYR,IAAI;;;;;;;;;;;;;;;;;IAYJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaN,aAAa;;;;;;;;;IAWb,WAAW;;;;;;;IAaX,OAAO;;;;;;IAYP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWN,QAAQ;;;;;;;;;;;;;IAUR,KAAK;;;;;IAWL,MAAM;;;;;IAWN,IAAI;;;;;;IAUJ,IAAI;;;;;;IAUJ,OAAO;;;;;IAYP,KAAK;;;;;;;;;;;;;;;;;;;;IASL,OAAO;;;;;IAUP,KAAK;;;IASL,OAAO;;;;;;;;IASP,UAAU;;;;;;IAWV,IAAI;;;;;;;;;;;;;;;;;;IAUJ,SAAS;;;;;;;IAST,OAAO;;;;;;;;;IAUP,QAAQ;;;;;;;;;;;;;;;;;;IAUR,YAAY;;;;;;;;;;;;;;;;;;IAUZ,OAAO;;;;;;;;;IASP,QAAQ;;;;;;IASR,OAAO;;;;;;IAUP,QAAQ;;;;;;;CAUX,CAAC"}
1
+ {"version":3,"file":"workspace.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/workspace.contract.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,iBAAiB;IAE1B,IAAI;;;;;;;;;IAYJ,QAAQ;;;;;;;;IAYR,IAAI;;;;;;;;;;;;;;;;;IAYJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaN,aAAa;;;;;;;;;IAWb,WAAW;;;;;;;IAaX,OAAO;;;;;;IAYP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWN,QAAQ;;;;;;;;;;;;;IAUR,KAAK;;;;;IAWL,MAAM;;;;;;IAWN,OAAO;;;;;IAWP,IAAI;;;;;;IAUJ,IAAI;;;;;;IAUJ,OAAO;;;;;IAYP,KAAK;;;;;;;;;;;;;;;;;;;;IASL,OAAO;;;;;IAWP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,mBAAmB;;;;;;;IAUnB,mBAAmB;;;;;;;IAUnB,KAAK;;;IASL,OAAO;;;;;;;;IASP,UAAU;;;;;;IAWV,IAAI;;;;;;;;;;;;;;;;;;IAUJ,SAAS;;;;;;;IAST,OAAO;;;;;;;;;IAUP,QAAQ;;;;;;;;;;;;;;;;;;IAUR,YAAY;;;;;;;;;;;;;;;;;;IAUZ,OAAO;;;;;;;;;IASP,QAAQ;;;;;;IASR,OAAO;;;;;;IAUP,QAAQ;;;;;;;CAUX,CAAC"}
@@ -3,9 +3,10 @@ import { WorkspaceHealthQuerySchema, WorkspaceHealthSchema } from "../schemas/co
3
3
  import { WorkspaceModulesSchema } from "../schemas/git/git.js";
4
4
  import { OkSchema } from "../schemas/shared.js";
5
5
  import { AddAppsSchema, AppParamSchema, AppsListSchema, CloneRepoSchema, CreateRepoSchema, CloneResultSchema, RepoAppsParamSchema, ReposListSchema, RunTestsSchema, TemplatesListSchema, WorkspaceGraphSchema, WorkspaceSyncSchema, } from "../schemas/workspace/workspace-repos.js";
6
+ import { MainlinePushDismissResultSchema, MainlinePushDismissSchema, MainlinePushRecheckResultSchema, MainlinePushRecheckSchema, MainlineStatusSchema, } from "../schemas/workspace/mainline.js";
6
7
  import { WorkspaceSearchQuerySchema, WorkspaceSearchResultSchema } from "../schemas/workspace/workspace-search.js";
7
8
  import { WorkspaceInstallResultSchema, WorkspaceInstallSchema, WorkspaceSetupSchema } from "../schemas/workspace/workspace-setup.js";
8
- import { WorkspaceChildrenQuerySchema, WorkspaceChildrenSchema, WorkspaceClassificationSchema, SidecarStatusSchema, WorkspaceDerivedQuerySchema, WorkspaceDerivedSchema, WorkspaceDirSchema, WorkspaceExtractSchema, WorkspaceFileQuerySchema, WorkspaceFileReadQuerySchema, WorkspaceFileSchema, WorkspaceMediaTicketQuerySchema, WorkspaceMediaTicketSchema, WorkspaceMoveSchema, WorkspaceResolveQuerySchema, WorkspaceResolveSchema, WorkspaceScopeSchema, WorkspaceTreeSchema, } from "../schemas/workspace/workspace-tree.js";
9
+ import { WorkspaceChildrenQuerySchema, WorkspaceChildrenSchema, WorkspaceClassificationSchema, SidecarStatusSchema, WorkspaceDerivedQuerySchema, WorkspaceDerivedSchema, WorkspaceDeletedSchema, WorkspaceDirSchema, WorkspaceExtractSchema, WorkspaceRestoredSchema, WorkspaceRestoreSchema, WorkspaceFileQuerySchema, WorkspaceFileReadQuerySchema, WorkspaceFileSchema, WorkspaceMediaTicketQuerySchema, WorkspaceMediaTicketSchema, WorkspaceMoveSchema, WorkspaceResolveQuerySchema, WorkspaceResolveSchema, WorkspaceScopeSchema, WorkspaceTreeSchema, } from "../schemas/workspace/workspace-tree.js";
9
10
  export const workspaceContract = {
10
11
  tree: procedure
11
12
  .route({
@@ -128,11 +129,21 @@ export const workspaceContract = {
128
129
  method: "DELETE",
129
130
  path: "/workspace/entry",
130
131
  summary: "Delete a file or folder",
131
- description: "Removes one entry and everything under it. The path travels in the body rather than the address, the same as every other write in this group.",
132
+ description: "Removes one entry and everything under it. It goes to the trash rather than being erased, and the answer carries the id that brings it back through the restore call for a day. The path travels in the body rather than the address, the same as every other write in this group.",
132
133
  })
133
134
  .meta({ floor: "writer" })
134
135
  .input(WorkspaceFileQuerySchema)
135
- .output(OkSchema),
136
+ .output(WorkspaceDeletedSchema),
137
+ restore: procedure
138
+ .route({
139
+ method: "POST",
140
+ path: "/workspace/restore",
141
+ summary: "Bring back something deleted",
142
+ description: "Puts an entry a delete sent to the trash back where it was, recreating the folders above it. Nothing is written over: when something new holds the name, it comes back beside it and the answer says where. Trash older than a day is gone.",
143
+ })
144
+ .meta({ floor: "writer" })
145
+ .input(WorkspaceRestoreSchema)
146
+ .output(WorkspaceRestoredSchema),
136
147
  move: procedure
137
148
  .route({
138
149
  method: "POST",
@@ -180,6 +191,32 @@ export const workspaceContract = {
180
191
  })
181
192
  .input(WorkspaceInstallSchema)
182
193
  .output(WorkspaceInstallResultSchema),
194
+ mainline: procedure
195
+ .route({
196
+ method: "GET",
197
+ path: "/workspace/mainline",
198
+ summary: "The checks that run after work lands",
199
+ description: "What the main tree's own check is measuring right now, which landed work waits for the next run, what the last run in each project said, and what became of a red one: sent back to the conversation that landed it, handed to a fresh conversation, or waiting on one still working. Nothing here ever holds a land, a commit or a push.",
200
+ })
201
+ .output(MainlineStatusSchema),
202
+ mainlinePushDismiss: procedure
203
+ .route({
204
+ method: "POST",
205
+ path: "/workspace/mainline/push/dismiss",
206
+ summary: "Set aside what a push left behind",
207
+ description: "Marks findings a push check let through as not to be fixed, so they stop counting against the project, or opens dismissed ones again. Nothing is changed in the code.",
208
+ })
209
+ .input(MainlinePushDismissSchema)
210
+ .output(MainlinePushDismissResultSchema),
211
+ mainlinePushRecheck: procedure
212
+ .route({
213
+ method: "POST",
214
+ path: "/workspace/mainline/push/recheck",
215
+ summary: "Measure what a push left behind again",
216
+ description: "Runs the project's own push measurement over its main tree now and resolves every open finding it no longer prints. A few seconds; nothing is pushed.",
217
+ })
218
+ .input(MainlinePushRecheckSchema)
219
+ .output(MainlinePushRecheckResultSchema),
183
220
  repos: procedure
184
221
  .route({
185
222
  method: "GET",
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.contract.js","sourceRoot":"","sources":["../../src/contracts/workspace.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.contract.js","sourceRoot":"","sources":["../../src/contracts/workspace.contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export type JsonObject = Record<string, unknown>;
2
+ export declare const isJsonObject: (value: unknown) => value is JsonObject;
3
+ export interface ConversionChange {
4
+ readonly conversion: string;
5
+ readonly at: string;
6
+ readonly detail?: string;
7
+ }
8
+ interface ConversionBase<Kind extends string> {
9
+ readonly kind: Kind;
10
+ readonly describe: string;
11
+ }
12
+ export interface RenameConversion<From extends string = string, To extends string = string> extends ConversionBase<"rename"> {
13
+ readonly from: From;
14
+ readonly to: To;
15
+ }
16
+ export interface DropConversion<Key extends string = string> extends ConversionBase<"drop"> {
17
+ readonly key: Key;
18
+ }
19
+ export interface RetypeConversion<Key extends string = string, In = unknown, Out = unknown> extends ConversionBase<"retype"> {
20
+ readonly key: Key;
21
+ readonly guard: (value: unknown) => value is In;
22
+ convert(value: In): Out;
23
+ }
24
+ export interface MapValueConversion<Key extends string = string, Mapping extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> extends ConversionBase<"mapValue"> {
25
+ readonly key: Key;
26
+ readonly mapping: Mapping;
27
+ }
28
+ export interface PinDefaultConversion<Key extends string = string, Value = unknown> extends ConversionBase<"pinDefault"> {
29
+ readonly key: Key;
30
+ readonly value: Value;
31
+ }
32
+ export interface TransformConversion<In extends JsonObject = JsonObject, Out extends JsonObject = JsonObject> extends ConversionBase<"transform"> {
33
+ readonly applies: (value: JsonObject) => value is In;
34
+ convert(value: In): Out;
35
+ }
36
+ export interface FoldConversion<From extends string = string, Into extends string = string, Out = unknown> extends ConversionBase<"fold"> {
37
+ readonly from: readonly From[];
38
+ readonly into: Into;
39
+ readonly applies: (value: JsonObject) => boolean;
40
+ convert(fields: Readonly<Partial<Record<From, unknown>>>, whole: JsonObject): Out;
41
+ }
42
+ export interface RetireEntriesConversion<Retired = unknown> extends ConversionBase<"retireEntries"> {
43
+ readonly isRetired: (entry: unknown) => entry is Retired;
44
+ }
45
+ export interface AtConversion<Path extends string = string, Inner = unknown> extends ConversionBase<"at"> {
46
+ readonly path: Path;
47
+ readonly inner: Inner;
48
+ }
49
+ export type Conversion = RenameConversion | DropConversion | RetypeConversion | MapValueConversion | PinDefaultConversion | TransformConversion | FoldConversion | RetireEntriesConversion | AtConversion<string, Conversion>;
50
+ export type Granularity = "object" | "entries" | "record";
51
+ export declare const rename: <const From extends string, const To extends string>(from: From, to: To) => RenameConversion<From, To>;
52
+ export declare const drop: <const Key extends string>(key: Key) => DropConversion<Key>;
53
+ export declare const retype: <const Key extends string, In, Out>(key: Key, guard: (value: unknown) => value is In, convert: (value: In) => Out, describe?: string) => RetypeConversion<Key, In, Out>;
54
+ export declare const mapValue: <const Key extends string, const Mapping extends Readonly<Record<string, unknown>>>(key: Key, mapping: Mapping) => MapValueConversion<Key, Mapping>;
55
+ export declare const pinDefault: <const Key extends string, const Value>(key: Key, value: Value) => PinDefaultConversion<Key, Value>;
56
+ export declare const transform: <In extends JsonObject, Out extends JsonObject>(describe: string, applies: (value: JsonObject) => value is In, convert: (value: In) => Out) => TransformConversion<In, Out>;
57
+ export declare const fold: <const From extends string, const Into extends string, Out>(describe: string, shape: {
58
+ readonly from: readonly From[];
59
+ readonly into: Into;
60
+ readonly applies: (value: JsonObject) => boolean;
61
+ readonly convert: (fields: Readonly<Partial<Record<From, unknown>>>, whole: JsonObject) => Out;
62
+ }) => FoldConversion<From, Into, Out>;
63
+ export declare const dropAll: <const Keys extends readonly string[]>(keys: Keys) => { readonly [I in keyof Keys]: DropConversion<Keys[I] & string>; };
64
+ type Nested<Path extends string, History extends readonly Conversion[], Entries extends boolean> = {
65
+ readonly [I in keyof History]: History[I] extends RetireEntriesConversion ? AtConversion<Path, History[I]> : AtConversion<Entries extends true ? `${Path}.*` : Path, History[I]>;
66
+ };
67
+ export declare const nested: <const Path extends string, const History extends readonly Conversion[], const Entries extends boolean = false>(path: Path, history: History, entries?: Entries) => Nested<Path, History, Entries>;
68
+ export declare const retireEntries: <Retired>(describe: string, isRetired: (entry: unknown) => entry is Retired) => RetireEntriesConversion<Retired>;
69
+ export declare const at: <const Path extends string, const Inner extends Conversion>(path: Path, inner: Inner) => AtConversion<Path, Inner>;
70
+ export declare class ConversionError extends Error {
71
+ readonly conversion: string;
72
+ constructor(conversion: string, cause: unknown);
73
+ }
74
+ export interface Converted {
75
+ readonly value: unknown;
76
+ readonly changes: readonly ConversionChange[];
77
+ }
78
+ export declare const convertDocument: (conversions: readonly Conversion[], granularity: Granularity, raw: unknown, checkSettles?: boolean) => Converted;
79
+ export declare const describeConversions: (conversions: readonly Conversion[]) => string[];
80
+ export {};
81
+ //# sourceMappingURL=conversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../src/documents/conversions.ts"],"names":[],"mappings":"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"}