@playcraft/common 0.1.42 → 0.1.44-beta

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 (389) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/session-title.d.ts +1 -1
  3. package/dist/agent/session-title.js +1 -1
  4. package/dist/agent-messages/db-message-converter.d.ts +10 -0
  5. package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
  6. package/dist/agent-messages/db-message-converter.js +13 -0
  7. package/dist/agent-messages/db-message-converter.js.map +1 -1
  8. package/dist/agent-tools/index.d.ts +5 -0
  9. package/dist/agent-tools/index.d.ts.map +1 -1
  10. package/dist/agent-tools/index.js +5 -0
  11. package/dist/agent-tools/index.js.map +1 -1
  12. package/dist/agent-tools/operation-protocol.d.ts +10 -0
  13. package/dist/agent-tools/operation-protocol.d.ts.map +1 -0
  14. package/dist/agent-tools/operation-protocol.js +13 -0
  15. package/dist/agent-tools/operation-protocol.js.map +1 -0
  16. package/dist/agent-tools/replica-recording.d.ts +283 -0
  17. package/dist/agent-tools/replica-recording.d.ts.map +1 -0
  18. package/dist/agent-tools/replica-recording.js +109 -0
  19. package/dist/agent-tools/replica-recording.js.map +1 -0
  20. package/dist/agent-tools/replica-validation.d.ts +972 -0
  21. package/dist/agent-tools/replica-validation.d.ts.map +1 -0
  22. package/dist/agent-tools/replica-validation.js +254 -0
  23. package/dist/agent-tools/replica-validation.js.map +1 -0
  24. package/dist/agent-tools/types.d.ts +9 -24
  25. package/dist/agent-tools/types.d.ts.map +1 -1
  26. package/dist/agent-tools/types.js.map +1 -1
  27. package/dist/agent-tools/video-model-proxy.d.ts +113 -0
  28. package/dist/agent-tools/video-model-proxy.d.ts.map +1 -0
  29. package/dist/agent-tools/video-model-proxy.js +49 -0
  30. package/dist/agent-tools/video-model-proxy.js.map +1 -0
  31. package/dist/agent-tools/video-replication.d.ts +421 -0
  32. package/dist/agent-tools/video-replication.d.ts.map +1 -0
  33. package/dist/agent-tools/video-replication.js +95 -0
  34. package/dist/agent-tools/video-replication.js.map +1 -0
  35. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +68 -0
  36. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +1 -0
  37. package/dist/cloud-workspace/runtime/agent-background-processes.js +60 -0
  38. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +1 -0
  39. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +55 -0
  40. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -0
  41. package/dist/cloud-workspace/runtime/agent-chat-flush.js +51 -0
  42. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -0
  43. package/dist/cloud-workspace/runtime/agent-command.d.ts +152 -0
  44. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -0
  45. package/dist/cloud-workspace/runtime/agent-command.js +90 -0
  46. package/dist/cloud-workspace/runtime/agent-command.js.map +1 -0
  47. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +143 -0
  48. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +1 -0
  49. package/dist/cloud-workspace/runtime/agent-competitor-report.js +115 -0
  50. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +1 -0
  51. package/dist/cloud-workspace/runtime/agent-connection.d.ts +76 -0
  52. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +1 -0
  53. package/dist/cloud-workspace/runtime/agent-connection.js +59 -0
  54. package/dist/cloud-workspace/runtime/agent-connection.js.map +1 -0
  55. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +90 -0
  56. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +1 -0
  57. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +60 -0
  58. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +1 -0
  59. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +87 -0
  60. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -0
  61. package/dist/cloud-workspace/runtime/agent-lifecycle.js +75 -0
  62. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -0
  63. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +197 -0
  64. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +1 -0
  65. package/dist/cloud-workspace/runtime/agent-mutation.js +114 -0
  66. package/dist/cloud-workspace/runtime/agent-mutation.js.map +1 -0
  67. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +210 -0
  68. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -0
  69. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +180 -0
  70. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -0
  71. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +406 -0
  72. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +1 -0
  73. package/dist/cloud-workspace/runtime/agent-opencode.js +237 -0
  74. package/dist/cloud-workspace/runtime/agent-opencode.js.map +1 -0
  75. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +21 -0
  76. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -0
  77. package/dist/cloud-workspace/runtime/agent-promotion.js +23 -0
  78. package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -0
  79. package/dist/cloud-workspace/runtime/agent-read.d.ts +343 -0
  80. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +1 -0
  81. package/dist/cloud-workspace/runtime/agent-read.js +159 -0
  82. package/dist/cloud-workspace/runtime/agent-read.js.map +1 -0
  83. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +126 -0
  84. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +1 -0
  85. package/dist/cloud-workspace/runtime/agent-source-project.js +95 -0
  86. package/dist/cloud-workspace/runtime/agent-source-project.js.map +1 -0
  87. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +18 -0
  88. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +1 -0
  89. package/dist/cloud-workspace/runtime/agent-tool-claim.js +16 -0
  90. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +1 -0
  91. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +9 -0
  92. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +1 -0
  93. package/dist/cloud-workspace/runtime/agent-variant-chat.js +23 -0
  94. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +1 -0
  95. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +75 -0
  96. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +1 -0
  97. package/dist/cloud-workspace/runtime/agent-variant-git.js +62 -0
  98. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +1 -0
  99. package/dist/cloud-workspace/runtime/artifacts.d.ts +239 -0
  100. package/dist/cloud-workspace/runtime/artifacts.d.ts.map +1 -0
  101. package/dist/cloud-workspace/runtime/artifacts.js +105 -0
  102. package/dist/cloud-workspace/runtime/artifacts.js.map +1 -0
  103. package/dist/cloud-workspace/runtime/asset-generation.d.ts +493 -0
  104. package/dist/cloud-workspace/runtime/asset-generation.d.ts.map +1 -0
  105. package/dist/cloud-workspace/runtime/asset-generation.js +118 -0
  106. package/dist/cloud-workspace/runtime/asset-generation.js.map +1 -0
  107. package/dist/cloud-workspace/runtime/asset-library-import.d.ts +50 -0
  108. package/dist/cloud-workspace/runtime/asset-library-import.d.ts.map +1 -0
  109. package/dist/cloud-workspace/runtime/asset-library-import.js +28 -0
  110. package/dist/cloud-workspace/runtime/asset-library-import.js.map +1 -0
  111. package/dist/cloud-workspace/runtime/attachment-base64.d.ts +3 -0
  112. package/dist/cloud-workspace/runtime/attachment-base64.d.ts.map +1 -0
  113. package/dist/cloud-workspace/runtime/attachment-base64.js +8 -0
  114. package/dist/cloud-workspace/runtime/attachment-base64.js.map +1 -0
  115. package/dist/cloud-workspace/runtime/attachments.d.ts +33 -0
  116. package/dist/cloud-workspace/runtime/attachments.d.ts.map +1 -0
  117. package/dist/cloud-workspace/runtime/attachments.js +35 -0
  118. package/dist/cloud-workspace/runtime/attachments.js.map +1 -0
  119. package/dist/cloud-workspace/runtime/batch-generation.d.ts +281 -0
  120. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/batch-generation.js +288 -0
  122. package/dist/cloud-workspace/runtime/batch-generation.js.map +1 -0
  123. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts +6 -0
  124. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts.map +1 -0
  125. package/dist/cloud-workspace/runtime/batch-production-authority.js +31 -0
  126. package/dist/cloud-workspace/runtime/batch-production-authority.js.map +1 -0
  127. package/dist/cloud-workspace/runtime/batch-production.d.ts +535 -0
  128. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/batch-production.js +76 -0
  130. package/dist/cloud-workspace/runtime/batch-production.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/batch-runs.d.ts +622 -0
  132. package/dist/cloud-workspace/runtime/batch-runs.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/batch-runs.js +232 -0
  134. package/dist/cloud-workspace/runtime/batch-runs.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  136. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  138. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
  140. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
  142. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
  144. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/chat-realtime.js +300 -0
  146. package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/checkpoints.d.ts +35 -0
  148. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/checkpoints.js +35 -0
  150. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/composer-context.d.ts +82 -0
  152. package/dist/cloud-workspace/runtime/composer-context.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/composer-context.js +51 -0
  154. package/dist/cloud-workspace/runtime/composer-context.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/config.d.ts +48 -0
  156. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/config.js +126 -0
  158. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/connectivity.d.ts +211 -0
  160. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/connectivity.js +46 -0
  162. package/dist/cloud-workspace/runtime/connectivity.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/directory-attachments.d.ts +28 -0
  164. package/dist/cloud-workspace/runtime/directory-attachments.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/directory-attachments.js +30 -0
  166. package/dist/cloud-workspace/runtime/directory-attachments.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  168. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/errors.js +40 -0
  170. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  172. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/events.js +70 -0
  174. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/execution-admission.d.ts +179 -0
  176. package/dist/cloud-workspace/runtime/execution-admission.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/execution-admission.js +109 -0
  178. package/dist/cloud-workspace/runtime/execution-admission.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  180. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  182. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/files-search.d.ts +17 -0
  184. package/dist/cloud-workspace/runtime/files-search.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/files-search.js +14 -0
  186. package/dist/cloud-workspace/runtime/files-search.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/files.d.ts +131 -0
  188. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/files.js +128 -0
  190. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  191. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  192. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  193. package/dist/cloud-workspace/runtime/generations.js +39 -0
  194. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  195. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  196. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  197. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  198. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  199. package/dist/cloud-workspace/runtime/git.d.ts +147 -0
  200. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  201. package/dist/cloud-workspace/runtime/git.js +128 -0
  202. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  203. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  204. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  205. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  206. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  207. package/dist/cloud-workspace/runtime/index.d.ts +66 -0
  208. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  209. package/dist/cloud-workspace/runtime/index.js +66 -0
  210. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  211. package/dist/cloud-workspace/runtime/library-attachments.d.ts +120 -0
  212. package/dist/cloud-workspace/runtime/library-attachments.d.ts.map +1 -0
  213. package/dist/cloud-workspace/runtime/library-attachments.js +75 -0
  214. package/dist/cloud-workspace/runtime/library-attachments.js.map +1 -0
  215. package/dist/cloud-workspace/runtime/mcp.d.ts +82 -0
  216. package/dist/cloud-workspace/runtime/mcp.d.ts.map +1 -0
  217. package/dist/cloud-workspace/runtime/mcp.js +48 -0
  218. package/dist/cloud-workspace/runtime/mcp.js.map +1 -0
  219. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  220. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  221. package/dist/cloud-workspace/runtime/native-history.js +132 -0
  222. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  223. package/dist/cloud-workspace/runtime/operations.d.ts +374 -0
  224. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  225. package/dist/cloud-workspace/runtime/operations.js +229 -0
  226. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  227. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  228. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  229. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  230. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  231. package/dist/cloud-workspace/runtime/permissions.d.ts +24 -0
  232. package/dist/cloud-workspace/runtime/permissions.d.ts.map +1 -0
  233. package/dist/cloud-workspace/runtime/permissions.js +19 -0
  234. package/dist/cloud-workspace/runtime/permissions.js.map +1 -0
  235. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +25 -0
  236. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -0
  237. package/dist/cloud-workspace/runtime/platform-endpoints.js +37 -0
  238. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -0
  239. package/dist/cloud-workspace/runtime/previews.d.ts +59 -0
  240. package/dist/cloud-workspace/runtime/previews.d.ts.map +1 -0
  241. package/dist/cloud-workspace/runtime/previews.js +63 -0
  242. package/dist/cloud-workspace/runtime/previews.js.map +1 -0
  243. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  244. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  245. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  246. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  247. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  248. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  249. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  250. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  251. package/dist/cloud-workspace/runtime/remix-references.d.ts +197 -0
  252. package/dist/cloud-workspace/runtime/remix-references.d.ts.map +1 -0
  253. package/dist/cloud-workspace/runtime/remix-references.js +73 -0
  254. package/dist/cloud-workspace/runtime/remix-references.js.map +1 -0
  255. package/dist/cloud-workspace/runtime/resource-grant.d.ts +62 -0
  256. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  257. package/dist/cloud-workspace/runtime/resource-grant.js +87 -0
  258. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  259. package/dist/cloud-workspace/runtime/self-contained-glb.d.ts +3 -0
  260. package/dist/cloud-workspace/runtime/self-contained-glb.d.ts.map +1 -0
  261. package/dist/cloud-workspace/runtime/self-contained-glb.js +67 -0
  262. package/dist/cloud-workspace/runtime/self-contained-glb.js.map +1 -0
  263. package/dist/cloud-workspace/runtime/session-restore.d.ts +31 -0
  264. package/dist/cloud-workspace/runtime/session-restore.d.ts.map +1 -0
  265. package/dist/cloud-workspace/runtime/session-restore.js +24 -0
  266. package/dist/cloud-workspace/runtime/session-restore.js.map +1 -0
  267. package/dist/cloud-workspace/runtime/skills.d.ts +39 -0
  268. package/dist/cloud-workspace/runtime/skills.d.ts.map +1 -0
  269. package/dist/cloud-workspace/runtime/skills.js +33 -0
  270. package/dist/cloud-workspace/runtime/skills.js.map +1 -0
  271. package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
  272. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
  273. package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
  274. package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
  275. package/dist/cloud-workspace/runtime/terminals.d.ts +90 -0
  276. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  277. package/dist/cloud-workspace/runtime/terminals.js +111 -0
  278. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  279. package/dist/cloud-workspace/runtime/turn-control.d.ts +27 -0
  280. package/dist/cloud-workspace/runtime/turn-control.d.ts.map +1 -0
  281. package/dist/cloud-workspace/runtime/turn-control.js +18 -0
  282. package/dist/cloud-workspace/runtime/turn-control.js.map +1 -0
  283. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  284. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  285. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  286. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  287. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +219 -0
  288. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  289. package/dist/cloud-workspace/runtime/workspace-binding.js +178 -0
  290. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  291. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +44 -0
  292. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +1 -0
  293. package/dist/cloud-workspace/runtime/workspace-directories.js +34 -0
  294. package/dist/cloud-workspace/runtime/workspace-directories.js.map +1 -0
  295. package/dist/cloud-workspace/runtime/workspace-models.d.ts +31 -0
  296. package/dist/cloud-workspace/runtime/workspace-models.d.ts.map +1 -0
  297. package/dist/cloud-workspace/runtime/workspace-models.js +63 -0
  298. package/dist/cloud-workspace/runtime/workspace-models.js.map +1 -0
  299. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts +37 -0
  300. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts.map +1 -0
  301. package/dist/cloud-workspace/runtime/workspace-notifications.js +90 -0
  302. package/dist/cloud-workspace/runtime/workspace-notifications.js.map +1 -0
  303. package/dist/cloud-workspace/runtime/workspace-ui.d.ts +151 -0
  304. package/dist/cloud-workspace/runtime/workspace-ui.d.ts.map +1 -0
  305. package/dist/cloud-workspace/runtime/workspace-ui.js +80 -0
  306. package/dist/cloud-workspace/runtime/workspace-ui.js.map +1 -0
  307. package/dist/database/operators.d.ts +2 -0
  308. package/dist/database/operators.d.ts.map +1 -0
  309. package/dist/database/operators.js +2 -0
  310. package/dist/database/operators.js.map +1 -0
  311. package/dist/database/postgres-adapter.js +1 -1
  312. package/dist/database/postgres-adapter.js.map +1 -1
  313. package/dist/database/schema.d.ts +1 -1
  314. package/dist/database/schema.js +1 -1
  315. package/dist/model-proxy/index.d.ts +26 -0
  316. package/dist/model-proxy/index.d.ts.map +1 -0
  317. package/dist/model-proxy/index.js +81 -0
  318. package/dist/model-proxy/index.js.map +1 -0
  319. package/dist/prefab/index.d.ts +0 -2
  320. package/dist/prefab/index.d.ts.map +1 -1
  321. package/dist/prefab/index.js +0 -2
  322. package/dist/prefab/index.js.map +1 -1
  323. package/dist/prefab/mime-type-list.d.ts +0 -1
  324. package/dist/prefab/mime-type-list.d.ts.map +1 -1
  325. package/dist/prefab/mime-type-list.js +1 -5
  326. package/dist/prefab/mime-type-list.js.map +1 -1
  327. package/dist/project-skills/bundle-archive.d.ts +21 -0
  328. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  329. package/dist/project-skills/bundle-archive.js +165 -0
  330. package/dist/project-skills/bundle-archive.js.map +1 -0
  331. package/dist/project-skills/bundle-path.d.ts +3 -0
  332. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  333. package/dist/project-skills/bundle-path.js +17 -0
  334. package/dist/project-skills/bundle-path.js.map +1 -0
  335. package/dist/project-skills/evidence.d.ts +15 -0
  336. package/dist/project-skills/evidence.d.ts.map +1 -0
  337. package/dist/project-skills/evidence.js +33 -0
  338. package/dist/project-skills/evidence.js.map +1 -0
  339. package/dist/project-skills/index.d.ts +7 -0
  340. package/dist/project-skills/index.d.ts.map +1 -0
  341. package/dist/project-skills/index.js +7 -0
  342. package/dist/project-skills/index.js.map +1 -0
  343. package/dist/project-skills/inventory.d.ts +23 -0
  344. package/dist/project-skills/inventory.d.ts.map +1 -0
  345. package/dist/project-skills/inventory.js +150 -0
  346. package/dist/project-skills/inventory.js.map +1 -0
  347. package/dist/project-skills/local-snapshot.d.ts +12 -0
  348. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  349. package/dist/project-skills/local-snapshot.js +66 -0
  350. package/dist/project-skills/local-snapshot.js.map +1 -0
  351. package/dist/project-skills/protocol.d.ts +31 -0
  352. package/dist/project-skills/protocol.d.ts.map +1 -0
  353. package/dist/project-skills/protocol.js +197 -0
  354. package/dist/project-skills/protocol.js.map +1 -0
  355. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  356. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  357. package/dist/project-skills/runtime-plugin.js +102 -0
  358. package/dist/project-skills/runtime-plugin.js.map +1 -0
  359. package/dist/project-skills/types.d.ts +63 -0
  360. package/dist/project-skills/types.d.ts.map +1 -0
  361. package/dist/project-skills/types.js +13 -0
  362. package/dist/project-skills/types.js.map +1 -0
  363. package/dist/recommend/types.d.ts +1 -1
  364. package/dist/recommend/types.js +1 -1
  365. package/dist/remix/auto-name.d.ts +24 -0
  366. package/dist/remix/auto-name.d.ts.map +1 -0
  367. package/dist/remix/auto-name.js +40 -0
  368. package/dist/remix/auto-name.js.map +1 -0
  369. package/dist/remix/index.d.ts +2 -0
  370. package/dist/remix/index.d.ts.map +1 -0
  371. package/dist/remix/index.js +2 -0
  372. package/dist/remix/index.js.map +1 -0
  373. package/dist/skill-evaluation.d.ts +152 -0
  374. package/dist/skill-evaluation.d.ts.map +1 -0
  375. package/dist/skill-evaluation.js +14 -0
  376. package/dist/skill-evaluation.js.map +1 -0
  377. package/dist/storage/cos.d.ts +11 -0
  378. package/dist/storage/cos.d.ts.map +1 -1
  379. package/dist/storage/cos.js +29 -0
  380. package/dist/storage/cos.js.map +1 -1
  381. package/package.json +33 -1
  382. package/dist/prefab/image-background.d.ts +0 -10
  383. package/dist/prefab/image-background.d.ts.map +0 -1
  384. package/dist/prefab/image-background.js +0 -19
  385. package/dist/prefab/image-background.js.map +0 -1
  386. package/dist/prefab/image-generation-constraints.d.ts +0 -72
  387. package/dist/prefab/image-generation-constraints.d.ts.map +0 -1
  388. package/dist/prefab/image-generation-constraints.js +0 -112
  389. package/dist/prefab/image-generation-constraints.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { attachmentUploadSchema, WORKSPACE_ATTACHMENT_MAX_BYTES, WORKSPACE_VIDEO_ATTACHMENT_MAX_BYTES, WORKSPACE_VIDEO_ATTACHMENT_MIME_TYPES } from './attachments.js';
3
+ import { workspaceLibraryFilePathSchema } from './library-attachments.js';
4
+ export const WORKSPACE_DIRECTORY_ATTACHMENT_MAX_FILES = 512;
5
+ export const WORKSPACE_DIRECTORY_ATTACHMENT_MAX_BYTES = 100 * 1024 * 1024;
6
+ export const workspaceDirectoryAttachmentFilePathSchema = workspaceLibraryFilePathSchema.refine(path => path.split('/').every(part => attachmentUploadSchema.shape.name.safeParse(part).success && new TextEncoder().encode(part).length <= 255), 'invalid_directory_file_path');
7
+ const videoType = (file) => ({ mp4: 'video/mp4', webm: 'video/webm', mov: 'video/quicktime' }[/\.([^.\/]+)$/.exec(file.path)?.[1]?.toLowerCase() ?? ''] ?? file.mimeType);
8
+ export const workspaceDirectoryAttachmentUploadSchema = z.object({
9
+ name: attachmentUploadSchema.shape.name.refine(name => workspaceDirectoryAttachmentFilePathSchema.safeParse(name).success),
10
+ files: z.array(z.object({
11
+ path: workspaceDirectoryAttachmentFilePathSchema,
12
+ size: z.number().int().nonnegative().max(WORKSPACE_VIDEO_ATTACHMENT_MAX_BYTES),
13
+ mimeType: z.string().min(1).max(255),
14
+ }).strict()).min(1).max(WORKSPACE_DIRECTORY_ATTACHMENT_MAX_FILES),
15
+ }).strict().superRefine((directory, context) => {
16
+ const paths = directory.files.map(file => file.path);
17
+ if (new Set(paths).size !== paths.length || paths.some(path => paths.some(other => other.startsWith(`${path}/`))))
18
+ context.addIssue({ code: 'custom', message: 'duplicate_directory_file', path: ['files'] });
19
+ if (directory.files.reduce((total, file) => total + file.size, 0) > WORKSPACE_DIRECTORY_ATTACHMENT_MAX_BYTES)
20
+ context.addIssue({ code: 'custom', message: 'directory_attachment_too_large', path: ['files'] });
21
+ for (const [index, file] of directory.files.entries()) {
22
+ const mimeType = videoType(file);
23
+ const video = WORKSPACE_VIDEO_ATTACHMENT_MIME_TYPES.includes(mimeType);
24
+ if (file.size > (video ? WORKSPACE_VIDEO_ATTACHMENT_MAX_BYTES : WORKSPACE_ATTACHMENT_MAX_BYTES))
25
+ context.addIssue({ code: 'custom', message: 'directory_file_too_large', path: ['files', index, 'size'] });
26
+ if (mimeType.startsWith('video/') && !video)
27
+ context.addIssue({ code: 'custom', message: 'invalid_video_attachment', path: ['files', index, 'mimeType'] });
28
+ }
29
+ }).transform(directory => ({ ...directory, files: directory.files.map(file => ({ ...file, mimeType: videoType(file) })) }));
30
+ //# sourceMappingURL=directory-attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory-attachments.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/directory-attachments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const RUNTIME_ERROR_CODES: readonly ["protocol_incompatible", "unauthenticated", "untrusted_runtime_field", "idempotency_conflict", "uncertain_operation", "generation_mismatch", "stale_lease", "capability_unavailable", "identity_unavailable", "duplicate_instance", "invalid_config"];
3
+ export type RuntimeErrorCode = (typeof RUNTIME_ERROR_CODES)[number];
4
+ export declare const runtimeErrorSchema: z.ZodObject<{
5
+ code: z.ZodEnum<{
6
+ protocol_incompatible: "protocol_incompatible";
7
+ generation_mismatch: "generation_mismatch";
8
+ stale_lease: "stale_lease";
9
+ unauthenticated: "unauthenticated";
10
+ untrusted_runtime_field: "untrusted_runtime_field";
11
+ idempotency_conflict: "idempotency_conflict";
12
+ uncertain_operation: "uncertain_operation";
13
+ capability_unavailable: "capability_unavailable";
14
+ identity_unavailable: "identity_unavailable";
15
+ duplicate_instance: "duplicate_instance";
16
+ invalid_config: "invalid_config";
17
+ }>;
18
+ reason: z.ZodString;
19
+ operationId: z.ZodOptional<z.ZodString>;
20
+ currentRevision: z.ZodOptional<z.ZodNumber>;
21
+ retryAfterMs: z.ZodOptional<z.ZodNumber>;
22
+ }, z.core.$strict>;
23
+ export type RuntimeError = z.infer<typeof runtimeErrorSchema>;
24
+ export declare function runtimeError(code: RuntimeErrorCode, reason: string, extra?: Omit<RuntimeError, 'code' | 'reason'>): RuntimeError;
25
+ export declare const HTTP_STATUS_BY_ERROR: Record<RuntimeErrorCode, number>;
26
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,iQAYtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAQpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAM,GAChD,YAAY,CAEd;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAYjE,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ export const RUNTIME_ERROR_CODES = [
3
+ 'protocol_incompatible',
4
+ 'unauthenticated',
5
+ 'untrusted_runtime_field',
6
+ 'idempotency_conflict',
7
+ 'uncertain_operation',
8
+ 'generation_mismatch',
9
+ 'stale_lease',
10
+ 'capability_unavailable',
11
+ 'identity_unavailable',
12
+ 'duplicate_instance',
13
+ 'invalid_config',
14
+ ];
15
+ export const runtimeErrorSchema = z
16
+ .object({
17
+ code: z.enum(RUNTIME_ERROR_CODES),
18
+ reason: z.string().min(1).max(256),
19
+ operationId: z.string().min(1).max(128).optional(),
20
+ currentRevision: z.number().int().nonnegative().optional(),
21
+ retryAfterMs: z.number().int().nonnegative().optional(),
22
+ })
23
+ .strict();
24
+ export function runtimeError(code, reason, extra = {}) {
25
+ return runtimeErrorSchema.parse({ code, reason, ...extra });
26
+ }
27
+ export const HTTP_STATUS_BY_ERROR = {
28
+ protocol_incompatible: 409,
29
+ unauthenticated: 401,
30
+ untrusted_runtime_field: 400,
31
+ idempotency_conflict: 409,
32
+ uncertain_operation: 409,
33
+ generation_mismatch: 409,
34
+ stale_lease: 409,
35
+ capability_unavailable: 409,
36
+ identity_unavailable: 503,
37
+ duplicate_instance: 409,
38
+ invalid_config: 500,
39
+ };
40
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,uBAAuB;IACvB,iBAAiB;IACjB,yBAAyB;IACzB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;CACR,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,UAAU,YAAY,CAC1B,IAAsB,EACtB,MAAc,EACd,QAA+C,EAAE;IAEjD,OAAO,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,qBAAqB,EAAE,GAAG;IAC1B,eAAe,EAAE,GAAG;IACpB,uBAAuB,EAAE,GAAG;IAC5B,oBAAoB,EAAE,GAAG;IACzB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,WAAW,EAAE,GAAG;IAChB,sBAAsB,EAAE,GAAG;IAC3B,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;CACpB,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { z } from 'zod';
2
+ export declare const EVENT_STREAM_KINDS: readonly ["session", "workspace", "runtime"];
3
+ export type EventStreamKind = (typeof EVENT_STREAM_KINDS)[number];
4
+ export declare const eventStreamKindSchema: z.ZodEnum<{
5
+ session: "session";
6
+ runtime: "runtime";
7
+ workspace: "workspace";
8
+ }>;
9
+ export declare const sourceEventIdSchema: z.ZodObject<{
10
+ runtimeId: z.ZodString;
11
+ generation: z.ZodNumber;
12
+ runtimeEpoch: z.ZodNumber;
13
+ sourceSequence: z.ZodNumber;
14
+ }, z.core.$strict>;
15
+ export type SourceEventId = z.infer<typeof sourceEventIdSchema>;
16
+ export declare const publicEventCursorSchema: z.ZodObject<{
17
+ streamKind: z.ZodEnum<{
18
+ session: "session";
19
+ runtime: "runtime";
20
+ workspace: "workspace";
21
+ }>;
22
+ streamId: z.ZodString;
23
+ sequence: z.ZodNumber;
24
+ }, z.core.$strict>;
25
+ export type PublicEventCursor = z.infer<typeof publicEventCursorSchema>;
26
+ export declare const pendingSourceEventSchema: z.ZodObject<{
27
+ source: z.ZodObject<{
28
+ runtimeId: z.ZodString;
29
+ generation: z.ZodNumber;
30
+ runtimeEpoch: z.ZodNumber;
31
+ sourceSequence: z.ZodNumber;
32
+ }, z.core.$strict>;
33
+ payloadHash: z.ZodString;
34
+ type: z.ZodString;
35
+ payload: z.ZodUnknown;
36
+ occurredAt: z.ZodString;
37
+ }, z.core.$strict>;
38
+ export type PendingSourceEvent = z.infer<typeof pendingSourceEventSchema>;
39
+ export declare const sourceEventReceiptSchema: z.ZodObject<{
40
+ source: z.ZodObject<{
41
+ runtimeId: z.ZodString;
42
+ generation: z.ZodNumber;
43
+ runtimeEpoch: z.ZodNumber;
44
+ sourceSequence: z.ZodNumber;
45
+ }, z.core.$strict>;
46
+ payloadHash: z.ZodString;
47
+ publicCursor: z.ZodObject<{
48
+ streamKind: z.ZodEnum<{
49
+ session: "session";
50
+ runtime: "runtime";
51
+ workspace: "workspace";
52
+ }>;
53
+ streamId: z.ZodString;
54
+ sequence: z.ZodNumber;
55
+ }, z.core.$strict>;
56
+ }, z.core.$strict>;
57
+ export type SourceEventReceipt = z.infer<typeof sourceEventReceiptSchema>;
58
+ export declare function sourceEventKey(id: SourceEventId): string;
59
+ export type EventDedupResult = {
60
+ action: 'accept';
61
+ } | {
62
+ action: 'reuse';
63
+ receipt: SourceEventReceipt;
64
+ } | {
65
+ action: 'reject';
66
+ code: 'source_payload_mismatch';
67
+ };
68
+ export declare function resolveSourceEvent(existing: SourceEventReceipt | undefined, payloadHash: string): EventDedupResult;
69
+ export declare function nextSourceSequence(last: number): number;
70
+ export declare const sourceEventBatchSchema: z.ZodObject<{
71
+ runtimeId: z.ZodString;
72
+ generation: z.ZodNumber;
73
+ runtimeEpoch: z.ZodNumber;
74
+ events: z.ZodArray<z.ZodObject<{
75
+ source: z.ZodObject<{
76
+ runtimeId: z.ZodString;
77
+ generation: z.ZodNumber;
78
+ runtimeEpoch: z.ZodNumber;
79
+ sourceSequence: z.ZodNumber;
80
+ }, z.core.$strict>;
81
+ payloadHash: z.ZodString;
82
+ type: z.ZodString;
83
+ payload: z.ZodUnknown;
84
+ occurredAt: z.ZodString;
85
+ }, z.core.$strict>>;
86
+ }, z.core.$strict>;
87
+ export type SourceEventBatch = z.infer<typeof sourceEventBatchSchema>;
88
+ export declare const publicEventSchema: z.ZodObject<{
89
+ streamKind: z.ZodEnum<{
90
+ session: "session";
91
+ runtime: "runtime";
92
+ workspace: "workspace";
93
+ }>;
94
+ streamId: z.ZodString;
95
+ sequence: z.ZodNumber;
96
+ type: z.ZodString;
97
+ payload: z.ZodUnknown;
98
+ occurredAt: z.ZodString;
99
+ source: z.ZodOptional<z.ZodObject<{
100
+ runtimeId: z.ZodString;
101
+ generation: z.ZodNumber;
102
+ runtimeEpoch: z.ZodNumber;
103
+ sourceSequence: z.ZodNumber;
104
+ }, z.core.$strict>>;
105
+ }, z.core.$strict>;
106
+ export type PublicEvent = z.infer<typeof publicEventSchema>;
107
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,8CAA+C,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,eAAO,MAAM,qBAAqB;;;;EAA6B,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;kBAOrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB;;;;;;;;kBAMzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;kBAQ1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;kBAM1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAE1D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,WAAW,EAAE,MAAM,GAClB,gBAAgB,CAIlB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;kBAOxB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;kBAUnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { z } from 'zod';
2
+ export const EVENT_STREAM_KINDS = ['session', 'workspace', 'runtime'];
3
+ export const eventStreamKindSchema = z.enum(EVENT_STREAM_KINDS);
4
+ export const sourceEventIdSchema = z
5
+ .object({
6
+ runtimeId: z.string().min(1).max(128),
7
+ generation: z.number().int().nonnegative(),
8
+ runtimeEpoch: z.number().int().nonnegative(),
9
+ sourceSequence: z.number().int().positive(),
10
+ })
11
+ .strict();
12
+ export const publicEventCursorSchema = z
13
+ .object({
14
+ streamKind: eventStreamKindSchema,
15
+ streamId: z.string().min(1).max(128),
16
+ sequence: z.number().int().nonnegative(),
17
+ })
18
+ .strict();
19
+ export const pendingSourceEventSchema = z
20
+ .object({
21
+ source: sourceEventIdSchema,
22
+ payloadHash: z.string().length(64),
23
+ type: z.string().min(1).max(128),
24
+ payload: z.unknown(),
25
+ occurredAt: z.string().min(1),
26
+ })
27
+ .strict();
28
+ export const sourceEventReceiptSchema = z
29
+ .object({
30
+ source: sourceEventIdSchema,
31
+ payloadHash: z.string().length(64),
32
+ publicCursor: publicEventCursorSchema,
33
+ })
34
+ .strict();
35
+ export function sourceEventKey(id) {
36
+ return `${id.runtimeId}:${id.generation}:${id.runtimeEpoch}:${id.sourceSequence}`;
37
+ }
38
+ export function resolveSourceEvent(existing, payloadHash) {
39
+ if (!existing)
40
+ return { action: 'accept' };
41
+ if (existing.payloadHash === payloadHash)
42
+ return { action: 'reuse', receipt: existing };
43
+ return { action: 'reject', code: 'source_payload_mismatch' };
44
+ }
45
+ export function nextSourceSequence(last) {
46
+ if (!Number.isInteger(last) || last < 0) {
47
+ throw new Error('invalid_source_sequence');
48
+ }
49
+ return last + 1;
50
+ }
51
+ export const sourceEventBatchSchema = z
52
+ .object({
53
+ runtimeId: z.string().min(1).max(128),
54
+ generation: z.number().int().nonnegative(),
55
+ runtimeEpoch: z.number().int().nonnegative(),
56
+ events: z.array(pendingSourceEventSchema).min(1).max(100),
57
+ })
58
+ .strict();
59
+ export const publicEventSchema = z
60
+ .object({
61
+ streamKind: eventStreamKindSchema,
62
+ streamId: z.string().min(1).max(128),
63
+ sequence: z.number().int().positive(),
64
+ type: z.string().min(1).max(128),
65
+ payload: z.unknown(),
66
+ occurredAt: z.string().min(1),
67
+ source: sourceEventIdSchema.optional(),
68
+ })
69
+ .strict();
70
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Execution admission shared by Runtime, Business and the sandbox runtime.
4
+ * See docs/architecture/backend/cloud-workspace/batch-variant-generation-design.md §5–§6.
5
+ */
6
+ export declare const EXECUTION_CONCURRENCY_SETTING_KEY = "cloud_workspace.execution_concurrency";
7
+ export declare const EXECUTION_CONCURRENCY_SAFETY_BOUND = 10;
8
+ export declare const DEFAULT_EXECUTION_CONCURRENCY: Readonly<{
9
+ workspaceMax: 3;
10
+ sandboxMax: 3;
11
+ }>;
12
+ export declare const EXECUTION_WORKSPACE_MAX_ENV = "CLOUD_EXECUTION_WORKSPACE_MAX_CONCURRENCY";
13
+ export declare const EXECUTION_SANDBOX_MAX_ENV = "CLOUD_EXECUTION_SANDBOX_MAX_CONCURRENCY";
14
+ export declare const executionConcurrencySchema: z.ZodObject<{
15
+ workspaceMax: z.ZodNumber;
16
+ sandboxMax: z.ZodNumber;
17
+ }, z.core.$strict>;
18
+ export type ExecutionConcurrency = z.infer<typeof executionConcurrencySchema>;
19
+ /** What holds the occupancy: an interactive turn, a standalone preview build, or a batch member Run. */
20
+ export declare const executionOccupancySourceSchema: z.ZodEnum<{
21
+ session_turn: "session_turn";
22
+ preview_build: "preview_build";
23
+ batch_run: "batch_run";
24
+ }>;
25
+ export type ExecutionOccupancySource = z.infer<typeof executionOccupancySourceSchema>;
26
+ /**
27
+ * `waiting_user` keeps the directory but not a slot; `released` is terminal.
28
+ * Slots are counted only for `active` and `reconciling`.
29
+ */
30
+ export declare const executionOccupancyStatusSchema: z.ZodEnum<{
31
+ queued: "queued";
32
+ active: "active";
33
+ waiting_user: "waiting_user";
34
+ reconciling: "reconciling";
35
+ released: "released";
36
+ }>;
37
+ export type ExecutionOccupancyStatus = z.infer<typeof executionOccupancyStatusSchema>;
38
+ export declare const SLOT_COUNTED_OCCUPANCY_STATUSES: readonly ExecutionOccupancyStatus[];
39
+ export declare const DIRECTORY_HOLDING_OCCUPANCY_STATUSES: readonly ExecutionOccupancyStatus[];
40
+ export declare const executionReleaseReasonSchema: z.ZodEnum<{
41
+ completed: "completed";
42
+ failed: "failed";
43
+ cancelled: "cancelled";
44
+ interrupted: "interrupted";
45
+ reconciled: "reconciled";
46
+ instance_terminated: "instance_terminated";
47
+ admission_rejected: "admission_rejected";
48
+ }>;
49
+ export type ExecutionReleaseReason = z.infer<typeof executionReleaseReasonSchema>;
50
+ export declare const executionOccupancySchema: z.ZodObject<{
51
+ occupancyId: z.ZodString;
52
+ runtimeId: z.ZodString;
53
+ generation: z.ZodOptional<z.ZodNumber>;
54
+ workspaceId: z.ZodString;
55
+ directoryName: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>;
56
+ source: z.ZodEnum<{
57
+ session_turn: "session_turn";
58
+ preview_build: "preview_build";
59
+ batch_run: "batch_run";
60
+ }>;
61
+ operationId: z.ZodOptional<z.ZodString>;
62
+ runId: z.ZodOptional<z.ZodString>;
63
+ status: z.ZodEnum<{
64
+ queued: "queued";
65
+ active: "active";
66
+ waiting_user: "waiting_user";
67
+ reconciling: "reconciling";
68
+ released: "released";
69
+ }>;
70
+ queueSequence: z.ZodString;
71
+ queuePosition: z.ZodOptional<z.ZodNumber>;
72
+ createdAt: z.ZodString;
73
+ admittedAt: z.ZodOptional<z.ZodString>;
74
+ releasedAt: z.ZodOptional<z.ZodString>;
75
+ releaseReason: z.ZodOptional<z.ZodEnum<{
76
+ completed: "completed";
77
+ failed: "failed";
78
+ cancelled: "cancelled";
79
+ interrupted: "interrupted";
80
+ reconciled: "reconciled";
81
+ instance_terminated: "instance_terminated";
82
+ admission_rejected: "admission_rejected";
83
+ }>>;
84
+ }, z.core.$strict>;
85
+ export type ExecutionOccupancy = z.infer<typeof executionOccupancySchema>;
86
+ /**
87
+ * Returned (HTTP 202) when an execution is accepted but waits for a slot. These fields are added
88
+ * to the normal accepted operation payload, so parsing must not reject the other keys.
89
+ */
90
+ export declare const EXECUTION_QUEUED_CODE = "execution_queued";
91
+ export declare const executionQueuedSchema: z.ZodObject<{
92
+ code: z.ZodLiteral<"execution_queued">;
93
+ occupancyId: z.ZodString;
94
+ queuePosition: z.ZodNumber;
95
+ }, z.core.$strip>;
96
+ export type ExecutionQueued = z.infer<typeof executionQueuedSchema>;
97
+ /** Batch member Run — only batch members have one; it owns exactly one occupancy. */
98
+ export declare const batchRunStatusSchema: z.ZodEnum<{
99
+ running: "running";
100
+ failed: "failed";
101
+ cancelled: "cancelled";
102
+ queued: "queued";
103
+ reconciling: "reconciling";
104
+ stopping: "stopping";
105
+ succeeded: "succeeded";
106
+ }>;
107
+ export type BatchRunStatus = z.infer<typeof batchRunStatusSchema>;
108
+ export declare const BATCH_RUN_TERMINAL_STATUSES: readonly BatchRunStatus[];
109
+ export declare const batchRunPhaseSchema: z.ZodEnum<{
110
+ prepare: "prepare";
111
+ generate: "generate";
112
+ deliver: "deliver";
113
+ }>;
114
+ export type BatchRunPhase = z.infer<typeof batchRunPhaseSchema>;
115
+ /** Durable frozen source of one batch; members derive only from this. */
116
+ export declare const batchSourceSnapshotRefSchema: z.ZodObject<{
117
+ batchId: z.ZodString;
118
+ commitHash: z.ZodString;
119
+ digest: z.ZodString;
120
+ sourceWorkspaceId: z.ZodString;
121
+ sourceDirectoryName: z.ZodString;
122
+ remoteRef: z.ZodOptional<z.ZodString>;
123
+ artifactKey: z.ZodOptional<z.ZodString>;
124
+ frozenAt: z.ZodString;
125
+ }, z.core.$strict>;
126
+ export type BatchSourceSnapshotRef = z.infer<typeof batchSourceSnapshotRefSchema>;
127
+ export declare function batchSourceRemoteRef(batchId: string): string;
128
+ export declare const DEFAULT_BATCH_AUTO_RECOVERY_LIMIT = 2;
129
+ export declare const batchRunDeliveryEvidenceSchema: z.ZodObject<{
130
+ savedCommit: z.ZodString;
131
+ pushedCommit: z.ZodOptional<z.ZodString>;
132
+ buildDigest: z.ZodOptional<z.ZodString>;
133
+ verified: z.ZodOptional<z.ZodBoolean>;
134
+ previewRef: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strict>;
136
+ export type BatchRunDeliveryEvidence = z.infer<typeof batchRunDeliveryEvidenceSchema>;
137
+ export declare const batchRunSchema: z.ZodObject<{
138
+ runId: z.ZodString;
139
+ batchId: z.ZodString;
140
+ resultVersionId: z.ZodString;
141
+ runtimeId: z.ZodString;
142
+ workspaceId: z.ZodString;
143
+ directoryName: z.ZodString;
144
+ occupancyId: z.ZodOptional<z.ZodString>;
145
+ sessionId: z.ZodOptional<z.ZodString>;
146
+ operationId: z.ZodOptional<z.ZodString>;
147
+ status: z.ZodEnum<{
148
+ running: "running";
149
+ failed: "failed";
150
+ cancelled: "cancelled";
151
+ queued: "queued";
152
+ reconciling: "reconciling";
153
+ stopping: "stopping";
154
+ succeeded: "succeeded";
155
+ }>;
156
+ phase: z.ZodEnum<{
157
+ prepare: "prepare";
158
+ generate: "generate";
159
+ deliver: "deliver";
160
+ }>;
161
+ resumeFromCommit: z.ZodOptional<z.ZodString>;
162
+ evidence: z.ZodOptional<z.ZodObject<{
163
+ savedCommit: z.ZodString;
164
+ pushedCommit: z.ZodOptional<z.ZodString>;
165
+ buildDigest: z.ZodOptional<z.ZodString>;
166
+ verified: z.ZodOptional<z.ZodBoolean>;
167
+ previewRef: z.ZodOptional<z.ZodString>;
168
+ }, z.core.$strict>>;
169
+ previousRunId: z.ZodOptional<z.ZodString>;
170
+ autoRecoveryCount: z.ZodNumber;
171
+ cancelRequested: z.ZodBoolean;
172
+ ownerFence: z.ZodNumber;
173
+ revision: z.ZodNumber;
174
+ error: z.ZodOptional<z.ZodString>;
175
+ createdAt: z.ZodString;
176
+ updatedAt: z.ZodString;
177
+ }, z.core.$strict>;
178
+ export type BatchRun = z.infer<typeof batchRunSchema>;
179
+ //# sourceMappingURL=execution-admission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-admission.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/execution-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAEH,eAAO,MAAM,iCAAiC,0CAA0C,CAAC;AACzF,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,6BAA6B;;;EAAoD,CAAC;AAC/F,eAAO,MAAM,2BAA2B,8CAA8C,CAAC;AACvF,eAAO,MAAM,yBAAyB,4CAA4C,CAAC;AAGnF,eAAO,MAAM,0BAA0B;;;kBAG5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,wGAAwG;AACxG,eAAO,MAAM,8BAA8B;;;;EAAyD,CAAC;AACrG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;EAA0E,CAAC;AACtH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,eAAO,MAAM,+BAA+B,EAAE,SAAS,wBAAwB,EAA8B,CAAC;AAC9G,eAAO,MAAM,oCAAoC,EAAE,SAAS,wBAAwB,EAA8C,CAAC;AAEnI,eAAO,MAAM,4BAA4B;;;;;;;;EAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgB1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,qFAAqF;AACrF,eAAO,MAAM,oBAAoB;;;;;;;;EAA+F,CAAC;AACjI,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,eAAO,MAAM,2BAA2B,EAAE,SAAS,cAAc,EAAyC,CAAC;AAC3G,eAAO,MAAM,mBAAmB;;;;EAA6C,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,yEAAyE;AACzE,eAAO,MAAM,4BAA4B;;;;;;;;;kBAWsE,CAAC;AAChH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,8BAA8B;;;;;;kBAMhC,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBhB,CAAC;AACZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,109 @@
1
+ import { z } from 'zod';
2
+ import { workspaceDirectoryNameSchema, workspaceSessionScopeSchema } from './workspace-directories.js';
3
+ /**
4
+ * Execution admission shared by Runtime, Business and the sandbox runtime.
5
+ * See docs/architecture/backend/cloud-workspace/batch-variant-generation-design.md §5–§6.
6
+ */
7
+ export const EXECUTION_CONCURRENCY_SETTING_KEY = 'cloud_workspace.execution_concurrency';
8
+ export const EXECUTION_CONCURRENCY_SAFETY_BOUND = 10;
9
+ export const DEFAULT_EXECUTION_CONCURRENCY = Object.freeze({ workspaceMax: 3, sandboxMax: 3 });
10
+ export const EXECUTION_WORKSPACE_MAX_ENV = 'CLOUD_EXECUTION_WORKSPACE_MAX_CONCURRENCY';
11
+ export const EXECUTION_SANDBOX_MAX_ENV = 'CLOUD_EXECUTION_SANDBOX_MAX_CONCURRENCY';
12
+ const concurrencyLimit = z.number().int().min(1).max(EXECUTION_CONCURRENCY_SAFETY_BOUND);
13
+ export const executionConcurrencySchema = z.object({
14
+ workspaceMax: concurrencyLimit,
15
+ sandboxMax: concurrencyLimit,
16
+ }).strict();
17
+ /** What holds the occupancy: an interactive turn, a standalone preview build, or a batch member Run. */
18
+ export const executionOccupancySourceSchema = z.enum(['session_turn', 'preview_build', 'batch_run']);
19
+ /**
20
+ * `waiting_user` keeps the directory but not a slot; `released` is terminal.
21
+ * Slots are counted only for `active` and `reconciling`.
22
+ */
23
+ export const executionOccupancyStatusSchema = z.enum(['queued', 'active', 'waiting_user', 'reconciling', 'released']);
24
+ export const SLOT_COUNTED_OCCUPANCY_STATUSES = ['active', 'reconciling'];
25
+ export const DIRECTORY_HOLDING_OCCUPANCY_STATUSES = ['active', 'waiting_user', 'reconciling'];
26
+ export const executionReleaseReasonSchema = z.enum([
27
+ 'completed', 'failed', 'interrupted', 'cancelled', 'reconciled', 'instance_terminated', 'admission_rejected',
28
+ ]);
29
+ export const executionOccupancySchema = z.object({
30
+ occupancyId: z.string().uuid(),
31
+ runtimeId: z.string().min(1).max(128),
32
+ generation: z.number().int().min(0).optional(),
33
+ workspaceId: z.string().uuid(),
34
+ directoryName: workspaceSessionScopeSchema,
35
+ source: executionOccupancySourceSchema,
36
+ operationId: z.string().min(1).max(128).optional(),
37
+ runId: z.string().uuid().optional(),
38
+ status: executionOccupancyStatusSchema,
39
+ queueSequence: z.string().regex(/^\d+$/),
40
+ queuePosition: z.number().int().min(0).optional(),
41
+ createdAt: z.string().datetime(),
42
+ admittedAt: z.string().datetime().optional(),
43
+ releasedAt: z.string().datetime().optional(),
44
+ releaseReason: executionReleaseReasonSchema.optional(),
45
+ }).strict();
46
+ /**
47
+ * Returned (HTTP 202) when an execution is accepted but waits for a slot. These fields are added
48
+ * to the normal accepted operation payload, so parsing must not reject the other keys.
49
+ */
50
+ export const EXECUTION_QUEUED_CODE = 'execution_queued';
51
+ export const executionQueuedSchema = z.object({
52
+ code: z.literal(EXECUTION_QUEUED_CODE),
53
+ occupancyId: z.string().uuid(),
54
+ queuePosition: z.number().int().min(0),
55
+ });
56
+ /** Batch member Run — only batch members have one; it owns exactly one occupancy. */
57
+ export const batchRunStatusSchema = z.enum(['queued', 'running', 'reconciling', 'stopping', 'succeeded', 'failed', 'cancelled']);
58
+ export const BATCH_RUN_TERMINAL_STATUSES = ['succeeded', 'failed', 'cancelled'];
59
+ export const batchRunPhaseSchema = z.enum(['prepare', 'generate', 'deliver']);
60
+ const commitHash = z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);
61
+ /** Durable frozen source of one batch; members derive only from this. */
62
+ export const batchSourceSnapshotRefSchema = z.object({
63
+ batchId: z.string().uuid(),
64
+ commitHash,
65
+ digest: z.string().regex(/^[a-f0-9]{64}$/),
66
+ sourceWorkspaceId: z.string().uuid(),
67
+ sourceDirectoryName: workspaceDirectoryNameSchema,
68
+ /** Set when pushed to the project remote. */
69
+ remoteRef: z.string().startsWith('refs/playcraft/batch/').optional(),
70
+ /** Set when stored in private artifact storage (standalone workspaces). */
71
+ artifactKey: z.string().min(1).max(512).optional(),
72
+ frozenAt: z.string().datetime(),
73
+ }).strict().refine(value => Boolean(value.remoteRef || value.artifactKey), { message: 'snapshot_not_durable' });
74
+ export function batchSourceRemoteRef(batchId) {
75
+ return `refs/playcraft/batch/${z.string().uuid().parse(batchId)}/source`;
76
+ }
77
+ export const DEFAULT_BATCH_AUTO_RECOVERY_LIMIT = 2;
78
+ export const batchRunDeliveryEvidenceSchema = z.object({
79
+ savedCommit: commitHash,
80
+ pushedCommit: commitHash.optional(),
81
+ buildDigest: z.string().regex(/^[a-f0-9]{64}$/).optional(),
82
+ verified: z.boolean().optional(),
83
+ previewRef: z.string().min(1).max(512).optional(),
84
+ }).strict();
85
+ export const batchRunSchema = z.object({
86
+ runId: z.string().uuid(),
87
+ batchId: z.string().uuid(),
88
+ resultVersionId: z.string().uuid(),
89
+ runtimeId: z.string().min(1).max(128),
90
+ workspaceId: z.string().uuid(),
91
+ directoryName: workspaceDirectoryNameSchema,
92
+ occupancyId: z.string().uuid().optional(),
93
+ sessionId: z.string().min(1).max(128).optional(),
94
+ operationId: z.string().min(1).max(128).optional(),
95
+ status: batchRunStatusSchema,
96
+ phase: batchRunPhaseSchema,
97
+ /** Present on retries and recovery: resume delivery from this exact commit. */
98
+ resumeFromCommit: commitHash.optional(),
99
+ evidence: batchRunDeliveryEvidenceSchema.optional(),
100
+ previousRunId: z.string().uuid().optional(),
101
+ autoRecoveryCount: z.number().int().min(0),
102
+ cancelRequested: z.boolean(),
103
+ ownerFence: z.number().int().min(0),
104
+ revision: z.number().int().min(0),
105
+ error: z.string().max(128).optional(),
106
+ createdAt: z.string().datetime(),
107
+ updatedAt: z.string().datetime(),
108
+ }).strict();
109
+ //# sourceMappingURL=execution-admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-admission.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/execution-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEvG;;;GAGG;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,uCAAuC,CAAC;AACzF,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AACrD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,2BAA2B,GAAG,2CAA2C,CAAC;AACvF,MAAM,CAAC,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,wGAAwG;AACxG,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;AAGrG;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAEtH,MAAM,CAAC,MAAM,+BAA+B,GAAwC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,oCAAoC,GAAwC,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAEnI,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB;CAC7G,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,2BAA2B;IAC1C,MAAM,EAAE,8BAA8B;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,8BAA8B;IACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACxC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,4BAA4B,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC;AAGH,qFAAqF;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEjI,MAAM,CAAC,MAAM,2BAA2B,GAA8B,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAG9E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAEvE,yEAAyE;AACzE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC1B,UAAU;IACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC1C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACpC,mBAAmB,EAAE,4BAA4B;IACjD,6CAA6C;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACpE,2EAA2E;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAGhH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IAC1D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC1B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,4BAA4B;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,+EAA+E;IAC/E,gBAAgB,EAAE,UAAU,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE;IACnD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare const WORKSPACE_EXECUTION_KIND: "workspace-execution";
3
+ export declare const WORKSPACE_EXECUTION_AUDIENCE: "playcraft-runtime";
4
+ export declare const workspaceExecutionGrantClaimsSchema: z.ZodObject<{
5
+ kind: z.ZodLiteral<"workspace-execution">;
6
+ credentialType: z.ZodLiteral<"workspace-execution">;
7
+ environment: z.ZodString;
8
+ userId: z.ZodString;
9
+ workspaceId: z.ZodString;
10
+ runtimeId: z.ZodString;
11
+ generation: z.ZodNumber;
12
+ runtimeEpoch: z.ZodNumber;
13
+ grantId: z.ZodString;
14
+ aud: z.ZodLiteral<"playcraft-runtime">;
15
+ }, z.core.$strict>;
16
+ export type WorkspaceExecutionGrantClaims = z.infer<typeof workspaceExecutionGrantClaimsSchema>;
17
+ /** Persisted grant metadata. The JWT itself is never part of this record. */
18
+ export declare const workspaceExecutionGrantRecordSchema: z.ZodObject<{
19
+ grantId: z.ZodString;
20
+ environment: z.ZodString;
21
+ userId: z.ZodString;
22
+ workspaceId: z.ZodString;
23
+ runtimeId: z.ZodString;
24
+ generation: z.ZodNumber;
25
+ runtimeEpoch: z.ZodNumber;
26
+ expiresAt: z.ZodString;
27
+ revokedAt: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strict>;
29
+ export type WorkspaceExecutionGrantRecord = z.infer<typeof workspaceExecutionGrantRecordSchema>;
30
+ export declare const GRANT_CLIENT_FORBIDDEN_FIELDS: readonly ["token", "grantId", "kind", "credentialType", "aud", "expiresAt", "revokedAt", "runtimeId", "generation", "runtimeEpoch", "leaseFence", "rootPath", "workspaceRoot", "binding", "repositoryUrl", "branchName", "preparation", "gitAccess", "parentGrantId", "authzRevision", "scope", "modelConfigIds"];
31
+ export declare function findForbiddenGrantFields(input: unknown): string[];
32
+ export declare function parseWorkspaceExecutionGrantClaims(input: unknown): WorkspaceExecutionGrantClaims;
33
+ export declare function newGrantId(): string;
34
+ export declare function mintWorkspaceExecutionGrant(claims: WorkspaceExecutionGrantClaims, secret: string, expiresIn?: string | number): Promise<string>;
35
+ export declare function verifyWorkspaceExecutionGrant(token: string, secret: string): Promise<WorkspaceExecutionGrantClaims>;
36
+ //# sourceMappingURL=execution-grant.d.ts.map