@playcraft/common 0.1.41-prod → 0.1.43-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 (381) 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 +260 -0
  120. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/batch-generation.js +279 -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 +512 -0
  128. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/batch-production.js +74 -0
  130. package/dist/cloud-workspace/runtime/batch-production.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  132. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  134. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
  136. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
  138. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
  140. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/chat-realtime.js +300 -0
  142. package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/checkpoints.d.ts +35 -0
  144. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/checkpoints.js +35 -0
  146. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/composer-context.d.ts +82 -0
  148. package/dist/cloud-workspace/runtime/composer-context.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/composer-context.js +51 -0
  150. package/dist/cloud-workspace/runtime/composer-context.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/config.d.ts +48 -0
  152. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/config.js +126 -0
  154. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/connectivity.d.ts +211 -0
  156. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/connectivity.js +46 -0
  158. package/dist/cloud-workspace/runtime/connectivity.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/directory-attachments.d.ts +28 -0
  160. package/dist/cloud-workspace/runtime/directory-attachments.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/directory-attachments.js +30 -0
  162. package/dist/cloud-workspace/runtime/directory-attachments.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  164. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/errors.js +40 -0
  166. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  168. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/events.js +70 -0
  170. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  172. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  174. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/files-search.d.ts +17 -0
  176. package/dist/cloud-workspace/runtime/files-search.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/files-search.js +14 -0
  178. package/dist/cloud-workspace/runtime/files-search.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/files.d.ts +131 -0
  180. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/files.js +128 -0
  182. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  184. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/generations.js +39 -0
  186. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  188. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  190. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  191. package/dist/cloud-workspace/runtime/git.d.ts +147 -0
  192. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  193. package/dist/cloud-workspace/runtime/git.js +128 -0
  194. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  195. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  196. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  197. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  198. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  199. package/dist/cloud-workspace/runtime/index.d.ts +64 -0
  200. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  201. package/dist/cloud-workspace/runtime/index.js +64 -0
  202. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  203. package/dist/cloud-workspace/runtime/library-attachments.d.ts +120 -0
  204. package/dist/cloud-workspace/runtime/library-attachments.d.ts.map +1 -0
  205. package/dist/cloud-workspace/runtime/library-attachments.js +75 -0
  206. package/dist/cloud-workspace/runtime/library-attachments.js.map +1 -0
  207. package/dist/cloud-workspace/runtime/mcp.d.ts +82 -0
  208. package/dist/cloud-workspace/runtime/mcp.d.ts.map +1 -0
  209. package/dist/cloud-workspace/runtime/mcp.js +48 -0
  210. package/dist/cloud-workspace/runtime/mcp.js.map +1 -0
  211. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  212. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  213. package/dist/cloud-workspace/runtime/native-history.js +132 -0
  214. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  215. package/dist/cloud-workspace/runtime/operations.d.ts +374 -0
  216. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  217. package/dist/cloud-workspace/runtime/operations.js +229 -0
  218. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  219. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  220. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  221. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  222. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  223. package/dist/cloud-workspace/runtime/permissions.d.ts +24 -0
  224. package/dist/cloud-workspace/runtime/permissions.d.ts.map +1 -0
  225. package/dist/cloud-workspace/runtime/permissions.js +19 -0
  226. package/dist/cloud-workspace/runtime/permissions.js.map +1 -0
  227. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +25 -0
  228. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -0
  229. package/dist/cloud-workspace/runtime/platform-endpoints.js +37 -0
  230. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -0
  231. package/dist/cloud-workspace/runtime/previews.d.ts +59 -0
  232. package/dist/cloud-workspace/runtime/previews.d.ts.map +1 -0
  233. package/dist/cloud-workspace/runtime/previews.js +63 -0
  234. package/dist/cloud-workspace/runtime/previews.js.map +1 -0
  235. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  236. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  237. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  238. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  239. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  240. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  241. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  242. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  243. package/dist/cloud-workspace/runtime/remix-references.d.ts +197 -0
  244. package/dist/cloud-workspace/runtime/remix-references.d.ts.map +1 -0
  245. package/dist/cloud-workspace/runtime/remix-references.js +73 -0
  246. package/dist/cloud-workspace/runtime/remix-references.js.map +1 -0
  247. package/dist/cloud-workspace/runtime/resource-grant.d.ts +62 -0
  248. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  249. package/dist/cloud-workspace/runtime/resource-grant.js +87 -0
  250. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  251. package/dist/cloud-workspace/runtime/self-contained-glb.d.ts +3 -0
  252. package/dist/cloud-workspace/runtime/self-contained-glb.d.ts.map +1 -0
  253. package/dist/cloud-workspace/runtime/self-contained-glb.js +67 -0
  254. package/dist/cloud-workspace/runtime/self-contained-glb.js.map +1 -0
  255. package/dist/cloud-workspace/runtime/session-restore.d.ts +31 -0
  256. package/dist/cloud-workspace/runtime/session-restore.d.ts.map +1 -0
  257. package/dist/cloud-workspace/runtime/session-restore.js +24 -0
  258. package/dist/cloud-workspace/runtime/session-restore.js.map +1 -0
  259. package/dist/cloud-workspace/runtime/skills.d.ts +39 -0
  260. package/dist/cloud-workspace/runtime/skills.d.ts.map +1 -0
  261. package/dist/cloud-workspace/runtime/skills.js +33 -0
  262. package/dist/cloud-workspace/runtime/skills.js.map +1 -0
  263. package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
  264. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
  265. package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
  266. package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
  267. package/dist/cloud-workspace/runtime/terminals.d.ts +90 -0
  268. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  269. package/dist/cloud-workspace/runtime/terminals.js +111 -0
  270. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  271. package/dist/cloud-workspace/runtime/turn-control.d.ts +27 -0
  272. package/dist/cloud-workspace/runtime/turn-control.d.ts.map +1 -0
  273. package/dist/cloud-workspace/runtime/turn-control.js +18 -0
  274. package/dist/cloud-workspace/runtime/turn-control.js.map +1 -0
  275. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  276. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  277. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  278. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  279. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +219 -0
  280. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  281. package/dist/cloud-workspace/runtime/workspace-binding.js +178 -0
  282. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  283. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +44 -0
  284. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +1 -0
  285. package/dist/cloud-workspace/runtime/workspace-directories.js +34 -0
  286. package/dist/cloud-workspace/runtime/workspace-directories.js.map +1 -0
  287. package/dist/cloud-workspace/runtime/workspace-models.d.ts +31 -0
  288. package/dist/cloud-workspace/runtime/workspace-models.d.ts.map +1 -0
  289. package/dist/cloud-workspace/runtime/workspace-models.js +63 -0
  290. package/dist/cloud-workspace/runtime/workspace-models.js.map +1 -0
  291. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts +37 -0
  292. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts.map +1 -0
  293. package/dist/cloud-workspace/runtime/workspace-notifications.js +90 -0
  294. package/dist/cloud-workspace/runtime/workspace-notifications.js.map +1 -0
  295. package/dist/cloud-workspace/runtime/workspace-ui.d.ts +151 -0
  296. package/dist/cloud-workspace/runtime/workspace-ui.d.ts.map +1 -0
  297. package/dist/cloud-workspace/runtime/workspace-ui.js +80 -0
  298. package/dist/cloud-workspace/runtime/workspace-ui.js.map +1 -0
  299. package/dist/database/operators.d.ts +2 -0
  300. package/dist/database/operators.d.ts.map +1 -0
  301. package/dist/database/operators.js +2 -0
  302. package/dist/database/operators.js.map +1 -0
  303. package/dist/database/postgres-adapter.js +1 -1
  304. package/dist/database/postgres-adapter.js.map +1 -1
  305. package/dist/database/schema.d.ts +1 -1
  306. package/dist/database/schema.js +1 -1
  307. package/dist/model-proxy/index.d.ts +26 -0
  308. package/dist/model-proxy/index.d.ts.map +1 -0
  309. package/dist/model-proxy/index.js +81 -0
  310. package/dist/model-proxy/index.js.map +1 -0
  311. package/dist/prefab/index.d.ts +0 -2
  312. package/dist/prefab/index.d.ts.map +1 -1
  313. package/dist/prefab/index.js +0 -2
  314. package/dist/prefab/index.js.map +1 -1
  315. package/dist/prefab/mime-type-list.d.ts +0 -1
  316. package/dist/prefab/mime-type-list.d.ts.map +1 -1
  317. package/dist/prefab/mime-type-list.js +1 -5
  318. package/dist/prefab/mime-type-list.js.map +1 -1
  319. package/dist/project-skills/bundle-archive.d.ts +21 -0
  320. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  321. package/dist/project-skills/bundle-archive.js +165 -0
  322. package/dist/project-skills/bundle-archive.js.map +1 -0
  323. package/dist/project-skills/bundle-path.d.ts +3 -0
  324. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  325. package/dist/project-skills/bundle-path.js +17 -0
  326. package/dist/project-skills/bundle-path.js.map +1 -0
  327. package/dist/project-skills/evidence.d.ts +15 -0
  328. package/dist/project-skills/evidence.d.ts.map +1 -0
  329. package/dist/project-skills/evidence.js +33 -0
  330. package/dist/project-skills/evidence.js.map +1 -0
  331. package/dist/project-skills/index.d.ts +7 -0
  332. package/dist/project-skills/index.d.ts.map +1 -0
  333. package/dist/project-skills/index.js +7 -0
  334. package/dist/project-skills/index.js.map +1 -0
  335. package/dist/project-skills/inventory.d.ts +23 -0
  336. package/dist/project-skills/inventory.d.ts.map +1 -0
  337. package/dist/project-skills/inventory.js +150 -0
  338. package/dist/project-skills/inventory.js.map +1 -0
  339. package/dist/project-skills/local-snapshot.d.ts +12 -0
  340. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  341. package/dist/project-skills/local-snapshot.js +66 -0
  342. package/dist/project-skills/local-snapshot.js.map +1 -0
  343. package/dist/project-skills/protocol.d.ts +31 -0
  344. package/dist/project-skills/protocol.d.ts.map +1 -0
  345. package/dist/project-skills/protocol.js +197 -0
  346. package/dist/project-skills/protocol.js.map +1 -0
  347. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  348. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  349. package/dist/project-skills/runtime-plugin.js +102 -0
  350. package/dist/project-skills/runtime-plugin.js.map +1 -0
  351. package/dist/project-skills/types.d.ts +63 -0
  352. package/dist/project-skills/types.d.ts.map +1 -0
  353. package/dist/project-skills/types.js +13 -0
  354. package/dist/project-skills/types.js.map +1 -0
  355. package/dist/recommend/types.d.ts +1 -1
  356. package/dist/recommend/types.js +1 -1
  357. package/dist/remix/auto-name.d.ts +24 -0
  358. package/dist/remix/auto-name.d.ts.map +1 -0
  359. package/dist/remix/auto-name.js +40 -0
  360. package/dist/remix/auto-name.js.map +1 -0
  361. package/dist/remix/index.d.ts +2 -0
  362. package/dist/remix/index.d.ts.map +1 -0
  363. package/dist/remix/index.js +2 -0
  364. package/dist/remix/index.js.map +1 -0
  365. package/dist/skill-evaluation.d.ts +152 -0
  366. package/dist/skill-evaluation.d.ts.map +1 -0
  367. package/dist/skill-evaluation.js +14 -0
  368. package/dist/skill-evaluation.js.map +1 -0
  369. package/dist/storage/cos.d.ts +11 -0
  370. package/dist/storage/cos.d.ts.map +1 -1
  371. package/dist/storage/cos.js +29 -0
  372. package/dist/storage/cos.js.map +1 -1
  373. package/package.json +33 -1
  374. package/dist/prefab/image-background.d.ts +0 -10
  375. package/dist/prefab/image-background.d.ts.map +0 -1
  376. package/dist/prefab/image-background.js +0 -19
  377. package/dist/prefab/image-background.js.map +0 -1
  378. package/dist/prefab/image-generation-constraints.d.ts +0 -72
  379. package/dist/prefab/image-generation-constraints.d.ts.map +0 -1
  380. package/dist/prefab/image-generation-constraints.js +0 -112
  381. package/dist/prefab/image-generation-constraints.js.map +0 -1
@@ -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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-grant.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/execution-grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB,EAAG,qBAA8B,CAAC;AACvE,eAAO,MAAM,4BAA4B,EAAG,mBAA4B,CAAC;AAIzE,eAAO,MAAM,mCAAmC;;;;;;;;;;;kBAarC,CAAC;AAEZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,6EAA6E;AAC7E,eAAO,MAAM,mCAAmC;;;;;;;;;;kBAYrC,CAAC;AAEZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,6BAA6B,mTAuBhC,CAAC;AAEX,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGjE;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CAEhG;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAM,GAAG,MAAa,GAChC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,6BAA6B,CAAC,CAkBxC"}
@@ -0,0 +1,102 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { SignJWT, jwtVerify } from 'jose';
3
+ import { z } from 'zod';
4
+ import { generationSchema, runtimeEpochSchema } from './generations.js';
5
+ export const WORKSPACE_EXECUTION_KIND = 'workspace-execution';
6
+ export const WORKSPACE_EXECUTION_AUDIENCE = 'playcraft-runtime';
7
+ const encoder = new TextEncoder();
8
+ export const workspaceExecutionGrantClaimsSchema = z
9
+ .object({
10
+ kind: z.literal(WORKSPACE_EXECUTION_KIND),
11
+ credentialType: z.literal(WORKSPACE_EXECUTION_KIND),
12
+ environment: z.string().trim().min(1).max(64),
13
+ userId: z.string().trim().min(1).max(128),
14
+ workspaceId: z.string().trim().min(1).max(128),
15
+ runtimeId: z.string().trim().min(1).max(128),
16
+ generation: generationSchema,
17
+ runtimeEpoch: runtimeEpochSchema,
18
+ grantId: z.string().trim().min(1).max(128),
19
+ aud: z.literal(WORKSPACE_EXECUTION_AUDIENCE),
20
+ })
21
+ .strict();
22
+ /** Persisted grant metadata. The JWT itself is never part of this record. */
23
+ export const workspaceExecutionGrantRecordSchema = z
24
+ .object({
25
+ grantId: z.string().trim().min(1).max(128),
26
+ environment: z.string().trim().min(1).max(64),
27
+ userId: z.string().trim().min(1).max(128),
28
+ workspaceId: z.string().trim().min(1).max(128),
29
+ runtimeId: z.string().trim().min(1).max(128),
30
+ generation: generationSchema,
31
+ runtimeEpoch: runtimeEpochSchema,
32
+ expiresAt: z.string().min(1),
33
+ revokedAt: z.string().min(1).optional(),
34
+ })
35
+ .strict();
36
+ export const GRANT_CLIENT_FORBIDDEN_FIELDS = [
37
+ 'token',
38
+ 'grantId',
39
+ 'kind',
40
+ 'credentialType',
41
+ 'aud',
42
+ 'expiresAt',
43
+ 'revokedAt',
44
+ 'runtimeId',
45
+ 'generation',
46
+ 'runtimeEpoch',
47
+ 'leaseFence',
48
+ 'rootPath',
49
+ 'workspaceRoot',
50
+ 'binding',
51
+ 'repositoryUrl',
52
+ 'branchName',
53
+ 'preparation',
54
+ 'gitAccess',
55
+ 'parentGrantId',
56
+ 'authzRevision',
57
+ 'scope',
58
+ 'modelConfigIds',
59
+ ];
60
+ export function findForbiddenGrantFields(input) {
61
+ if (!input || typeof input !== 'object' || Array.isArray(input))
62
+ return [];
63
+ return GRANT_CLIENT_FORBIDDEN_FIELDS.filter((field) => field in input);
64
+ }
65
+ export function parseWorkspaceExecutionGrantClaims(input) {
66
+ return workspaceExecutionGrantClaimsSchema.parse(input);
67
+ }
68
+ export function newGrantId() {
69
+ return `grant_${randomUUID()}`;
70
+ }
71
+ export async function mintWorkspaceExecutionGrant(claims, secret, expiresIn = '1h') {
72
+ parseWorkspaceExecutionGrantClaims(claims);
73
+ if (secret.length < 16)
74
+ throw new Error('grant_secret_required');
75
+ return new SignJWT(claims)
76
+ .setProtectedHeader({ alg: 'HS256' })
77
+ .setIssuedAt()
78
+ .setExpirationTime(expiresIn)
79
+ .setJti(claims.grantId)
80
+ .sign(encoder.encode(secret));
81
+ }
82
+ export async function verifyWorkspaceExecutionGrant(token, secret) {
83
+ if (secret.length < 16)
84
+ throw new Error('grant_secret_required');
85
+ const { payload } = await jwtVerify(token, encoder.encode(secret), {
86
+ algorithms: ['HS256'],
87
+ audience: WORKSPACE_EXECUTION_AUDIENCE,
88
+ });
89
+ return parseWorkspaceExecutionGrantClaims({
90
+ kind: payload.kind,
91
+ credentialType: payload.credentialType,
92
+ environment: payload.environment,
93
+ userId: payload.userId,
94
+ workspaceId: payload.workspaceId,
95
+ runtimeId: payload.runtimeId,
96
+ generation: payload.generation,
97
+ runtimeEpoch: payload.runtimeEpoch,
98
+ grantId: payload.grantId,
99
+ aud: payload.aud ?? WORKSPACE_EXECUTION_AUDIENCE,
100
+ });
101
+ }
102
+ //# sourceMappingURL=execution-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-grant.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/execution-grant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const WORKSPACE_FILE_SEARCH_LIMIT = 100;
3
+ export declare const workspaceFileSearchQuerySchema: z.ZodObject<{
4
+ query: z.ZodDefault<z.ZodString>;
5
+ limit: z.ZodDefault<z.ZodNumber>;
6
+ cursor: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strict>;
8
+ export type WorkspaceFileSearchQuery = z.input<typeof workspaceFileSearchQuerySchema>;
9
+ export declare const workspaceFileSearchResultSchema: z.ZodObject<{
10
+ files: z.ZodArray<z.ZodObject<{
11
+ path: z.ZodString;
12
+ }, z.core.$strict>>;
13
+ truncated: z.ZodBoolean;
14
+ nextCursor: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strict>;
16
+ export type WorkspaceFileSearchResult = z.infer<typeof workspaceFileSearchResultSchema>;
17
+ //# sourceMappingURL=files-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-search.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/files-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,8BAA8B;;;;kBAIhC,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,eAAO,MAAM,+BAA+B;;;;;;kBAIjC,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { workspaceRelativePathSchema } from './files.js';
3
+ export const WORKSPACE_FILE_SEARCH_LIMIT = 100;
4
+ export const workspaceFileSearchQuerySchema = z.object({
5
+ query: z.string().trim().max(256).default(''),
6
+ limit: z.number().int().min(1).max(WORKSPACE_FILE_SEARCH_LIMIT).default(WORKSPACE_FILE_SEARCH_LIMIT),
7
+ cursor: z.string().min(1).max(1024).optional(),
8
+ }).strict();
9
+ export const workspaceFileSearchResultSchema = z.object({
10
+ files: z.array(z.object({ path: workspaceRelativePathSchema }).strict()).max(WORKSPACE_FILE_SEARCH_LIMIT),
11
+ truncated: z.boolean(),
12
+ nextCursor: z.string().min(1).max(1024).optional(),
13
+ }).strict();
14
+ //# sourceMappingURL=files-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-search.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/files-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACzG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1,131 @@
1
+ import { z } from 'zod';
2
+ export declare const WORKSPACE_RELATIVE_PATH_MAX = 512;
3
+ export declare const WORKSPACE_FILE_CONTENT_MAX: number;
4
+ export declare const BINARY_WORKSPACE_FILE_MAX_BYTES: number;
5
+ export declare const BINARY_WORKSPACE_FILE_BODY_MAX_BYTES: number;
6
+ export declare const workspaceRelativePathSchema: z.ZodString;
7
+ export type WorkspaceRelativePath = z.infer<typeof workspaceRelativePathSchema>;
8
+ export declare const MANAGED_WRITE_SOURCES: readonly ["manual", "agent", "background"];
9
+ export type ManagedWriteSource = (typeof MANAGED_WRITE_SOURCES)[number];
10
+ export declare const managedWriteSourceSchema: z.ZodEnum<{
11
+ background: "background";
12
+ manual: "manual";
13
+ agent: "agent";
14
+ }>;
15
+ export declare const fileWritePayloadSchema: z.ZodObject<{
16
+ path: z.ZodString;
17
+ content: z.ZodString;
18
+ expectedRevision: z.ZodOptional<z.ZodNumber>;
19
+ writer: z.ZodOptional<z.ZodEnum<{
20
+ background: "background";
21
+ manual: "manual";
22
+ agent: "agent";
23
+ }>>;
24
+ writeId: z.ZodOptional<z.ZodString>;
25
+ hold: z.ZodOptional<z.ZodBoolean>;
26
+ release: z.ZodOptional<z.ZodBoolean>;
27
+ }, z.core.$strict>;
28
+ export type FileWritePayload = z.infer<typeof fileWritePayloadSchema>;
29
+ export declare const directoryCreatePayloadSchema: z.ZodObject<{
30
+ path: z.ZodString;
31
+ }, z.core.$strict>;
32
+ export type DirectoryCreatePayload = z.infer<typeof directoryCreatePayloadSchema>;
33
+ export declare const WORKSPACE_ASSET_PROCESSING_TOOLS: readonly ["image.compress", "image.crop", "image.layers", "audio.edit", "model.pack", "model.screenshot", "texture.export", "batch.image", "batch.audio"];
34
+ export type WorkspaceAssetProcessingTool = (typeof WORKSPACE_ASSET_PROCESSING_TOOLS)[number];
35
+ export declare const workspaceAssetProcessingSchema: z.ZodObject<{
36
+ tool: z.ZodEnum<{
37
+ "image.compress": "image.compress";
38
+ "image.crop": "image.crop";
39
+ "image.layers": "image.layers";
40
+ "audio.edit": "audio.edit";
41
+ "model.pack": "model.pack";
42
+ "model.screenshot": "model.screenshot";
43
+ "texture.export": "texture.export";
44
+ "batch.image": "batch.image";
45
+ "batch.audio": "batch.audio";
46
+ }>;
47
+ sourcePath: z.ZodString;
48
+ sourceHash: z.ZodOptional<z.ZodString>;
49
+ batchId: z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strict>;
51
+ export type WorkspaceAssetProcessing = z.infer<typeof workspaceAssetProcessingSchema>;
52
+ /** Explicit create/replace preconditions; the payload always describes raw file bytes. */
53
+ export declare const fileBinaryWritePayloadSchema: z.ZodObject<{
54
+ path: z.ZodString;
55
+ contentBase64: z.ZodString;
56
+ expectedContentHash: z.ZodNullable<z.ZodString>;
57
+ expectedRevision: z.ZodOptional<z.ZodNumber>;
58
+ source: z.ZodOptional<z.ZodObject<{
59
+ path: z.ZodString;
60
+ contentHash: z.ZodString;
61
+ }, z.core.$strict>>;
62
+ processing: z.ZodOptional<z.ZodObject<{
63
+ tool: z.ZodEnum<{
64
+ "image.compress": "image.compress";
65
+ "image.crop": "image.crop";
66
+ "image.layers": "image.layers";
67
+ "audio.edit": "audio.edit";
68
+ "model.pack": "model.pack";
69
+ "model.screenshot": "model.screenshot";
70
+ "texture.export": "texture.export";
71
+ "batch.image": "batch.image";
72
+ "batch.audio": "batch.audio";
73
+ }>;
74
+ sourcePath: z.ZodString;
75
+ sourceHash: z.ZodOptional<z.ZodString>;
76
+ batchId: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strict>>;
78
+ }, z.core.$strict>;
79
+ export type FileBinaryWritePayload = z.infer<typeof fileBinaryWritePayloadSchema>;
80
+ export declare const workspaceFileRecordSchema: z.ZodObject<{
81
+ path: z.ZodString;
82
+ revision: z.ZodNumber;
83
+ contentHash: z.ZodString;
84
+ size: z.ZodNumber;
85
+ modifiedAt: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strict>;
87
+ export type WorkspaceFileRecord = z.infer<typeof workspaceFileRecordSchema>;
88
+ export declare const workspaceFileListSchema: z.ZodObject<{
89
+ files: z.ZodArray<z.ZodObject<{
90
+ path: z.ZodString;
91
+ revision: z.ZodNumber;
92
+ contentHash: z.ZodString;
93
+ size: z.ZodNumber;
94
+ modifiedAt: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strict>>;
96
+ directories: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ unreadablePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ }, z.core.$strict>;
99
+ export type WorkspaceFileList = z.infer<typeof workspaceFileListSchema>;
100
+ export declare const workspaceFileContentSchema: z.ZodObject<{
101
+ path: z.ZodString;
102
+ revision: z.ZodNumber;
103
+ contentHash: z.ZodString;
104
+ content: z.ZodString;
105
+ }, z.core.$strict>;
106
+ export type WorkspaceFileContent = z.infer<typeof workspaceFileContentSchema>;
107
+ export declare function hashWorkspaceFileContent(content: string): string;
108
+ export declare function isWorkspaceRelativePath(value: string): boolean;
109
+ /**
110
+ * The project's packages, installed with pnpm in the background after the checkout is registered.
111
+ * `pending` means the workspace has not been checked yet; `none` means it has no package.json.
112
+ */
113
+ export declare const WORKSPACE_DEPENDENCY_STATUSES: readonly ["pending", "none", "installing", "ready", "failed"];
114
+ export type WorkspaceDependencyStatus = (typeof WORKSPACE_DEPENDENCY_STATUSES)[number];
115
+ export declare const workspaceDependenciesSchema: z.ZodObject<{
116
+ workspaceId: z.ZodString;
117
+ status: z.ZodEnum<{
118
+ none: "none";
119
+ pending: "pending";
120
+ failed: "failed";
121
+ ready: "ready";
122
+ installing: "installing";
123
+ }>;
124
+ lockHash: z.ZodOptional<z.ZodString>;
125
+ startedAt: z.ZodOptional<z.ZodString>;
126
+ finishedAt: z.ZodOptional<z.ZodString>;
127
+ error: z.ZodOptional<z.ZodString>;
128
+ logTail: z.ZodOptional<z.ZodString>;
129
+ }, z.core.$strict>;
130
+ export type WorkspaceDependencies = z.infer<typeof workspaceDependenciesSchema>;
131
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,0BAA0B,QAAc,CAAC;AACtD,eAAO,MAAM,+BAA+B,QAAmB,CAAC;AAChE,eAAO,MAAM,oCAAoC,QAA4D,CAAC;AAE9G,eAAO,MAAM,2BAA2B,aAcpC,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,4CAA6C,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,eAAO,MAAM,wBAAwB;;;;EAAgC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;kBAqB/B,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;kBAE9B,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,gCAAgC,2JAGnC,CAAC;AACX,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;kBAKhC,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,0FAA0F;AAC1F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;kBAcvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;;;;kBAQ3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,uBAAuB;;;;;;;;;;kBAMzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;kBAO5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,+DAMhC,CAAC;AACX,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;kBAU7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { isAttachmentBase64 } from './attachment-base64.js';
4
+ export const WORKSPACE_RELATIVE_PATH_MAX = 512;
5
+ export const WORKSPACE_FILE_CONTENT_MAX = 1024 * 1024;
6
+ export const BINARY_WORKSPACE_FILE_MAX_BYTES = 32 * 1024 * 1024;
7
+ export const BINARY_WORKSPACE_FILE_BODY_MAX_BYTES = 4 * Math.ceil(BINARY_WORKSPACE_FILE_MAX_BYTES / 3) + 8192;
8
+ export const workspaceRelativePathSchema = z
9
+ .string()
10
+ .trim()
11
+ .min(1)
12
+ .max(WORKSPACE_RELATIVE_PATH_MAX)
13
+ .superRefine((value, context) => {
14
+ if (value.includes('\0') || value.includes('\\') || value.startsWith('/') || value.includes(':')) {
15
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'invalid_workspace_path' });
16
+ return;
17
+ }
18
+ const segments = value.split('/');
19
+ if (segments.some((segment) => segment === '' || segment === '.' || segment === '..')) {
20
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'invalid_workspace_path' });
21
+ }
22
+ });
23
+ export const MANAGED_WRITE_SOURCES = ['manual', 'agent', 'background'];
24
+ export const managedWriteSourceSchema = z.enum(MANAGED_WRITE_SOURCES);
25
+ export const fileWritePayloadSchema = z
26
+ .object({
27
+ path: workspaceRelativePathSchema,
28
+ content: z.string().max(WORKSPACE_FILE_CONTENT_MAX),
29
+ expectedRevision: z.number().int().nonnegative().optional(),
30
+ writer: managedWriteSourceSchema.optional(),
31
+ writeId: z.string().trim().min(1).max(128).optional(),
32
+ hold: z.boolean().optional(),
33
+ release: z.boolean().optional(),
34
+ })
35
+ .strict()
36
+ .superRefine((value, context) => {
37
+ if ((value.hold || value.release) && !value.writeId) {
38
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'write_id_required' });
39
+ }
40
+ if (value.hold && value.release) {
41
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'write_hold_conflict' });
42
+ }
43
+ if (value.writer === 'background' && value.hold !== true && value.release !== true) {
44
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'background_write_unmanaged' });
45
+ }
46
+ });
47
+ export const directoryCreatePayloadSchema = z.object({
48
+ path: workspaceRelativePathSchema,
49
+ }).strict();
50
+ export const WORKSPACE_ASSET_PROCESSING_TOOLS = [
51
+ 'image.compress', 'image.crop', 'image.layers', 'audio.edit', 'model.pack',
52
+ 'model.screenshot', 'texture.export', 'batch.image', 'batch.audio',
53
+ ];
54
+ export const workspaceAssetProcessingSchema = z.object({
55
+ tool: z.enum(WORKSPACE_ASSET_PROCESSING_TOOLS),
56
+ sourcePath: workspaceRelativePathSchema,
57
+ sourceHash: z.string().regex(/^[a-f0-9]{64}$/).optional(),
58
+ batchId: z.string().regex(/^[a-zA-Z0-9_-]{1,128}$/).optional(),
59
+ }).strict();
60
+ /** Explicit create/replace preconditions; the payload always describes raw file bytes. */
61
+ export const fileBinaryWritePayloadSchema = z.object({
62
+ path: workspaceRelativePathSchema,
63
+ contentBase64: z.string().max(4 * Math.ceil(BINARY_WORKSPACE_FILE_MAX_BYTES / 3))
64
+ .refine(isAttachmentBase64, 'invalid_binary_content')
65
+ .refine(value => Buffer.byteLength(value, 'base64') <= BINARY_WORKSPACE_FILE_MAX_BYTES, 'binary_file_too_large'),
66
+ expectedContentHash: z.string().regex(/^[a-f0-9]{64}$/).nullable(),
67
+ expectedRevision: z.number().int().nonnegative().optional(),
68
+ source: z.object({ path: workspaceRelativePathSchema, contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict().optional(),
69
+ processing: workspaceAssetProcessingSchema.optional(),
70
+ }).strict().superRefine((value, context) => {
71
+ if (value.processing && value.source && (value.processing.sourcePath !== value.source.path
72
+ || (value.processing.sourceHash !== undefined && value.processing.sourceHash !== value.source.contentHash))) {
73
+ context.addIssue({ code: z.ZodIssueCode.custom, message: 'processing_source_mismatch' });
74
+ }
75
+ });
76
+ export const workspaceFileRecordSchema = z
77
+ .object({
78
+ path: workspaceRelativePathSchema,
79
+ revision: z.number().int().nonnegative(),
80
+ contentHash: z.string().length(64),
81
+ size: z.number().int().nonnegative(),
82
+ modifiedAt: z.string().datetime().optional(),
83
+ })
84
+ .strict();
85
+ export const workspaceFileListSchema = z
86
+ .object({
87
+ files: z.array(workspaceFileRecordSchema),
88
+ directories: z.array(workspaceRelativePathSchema).optional(),
89
+ unreadablePaths: z.array(workspaceRelativePathSchema).optional(),
90
+ })
91
+ .strict();
92
+ export const workspaceFileContentSchema = z
93
+ .object({
94
+ path: workspaceRelativePathSchema,
95
+ revision: z.number().int().nonnegative(),
96
+ contentHash: z.string().length(64),
97
+ content: z.string().max(WORKSPACE_FILE_CONTENT_MAX),
98
+ })
99
+ .strict();
100
+ export function hashWorkspaceFileContent(content) {
101
+ return createHash('sha256').update(content, 'utf8').digest('hex');
102
+ }
103
+ export function isWorkspaceRelativePath(value) {
104
+ return workspaceRelativePathSchema.safeParse(value).success;
105
+ }
106
+ /**
107
+ * The project's packages, installed with pnpm in the background after the checkout is registered.
108
+ * `pending` means the workspace has not been checked yet; `none` means it has no package.json.
109
+ */
110
+ export const WORKSPACE_DEPENDENCY_STATUSES = [
111
+ 'pending',
112
+ 'none',
113
+ 'installing',
114
+ 'ready',
115
+ 'failed',
116
+ ];
117
+ export const workspaceDependenciesSchema = z
118
+ .object({
119
+ workspaceId: z.string().min(1).max(128),
120
+ status: z.enum(WORKSPACE_DEPENDENCY_STATUSES),
121
+ lockHash: z.string().length(64).optional(),
122
+ startedAt: z.string().optional(),
123
+ finishedAt: z.string().optional(),
124
+ error: z.string().max(128).optional(),
125
+ logTail: z.string().max(8_000).optional(),
126
+ })
127
+ .strict();
128
+ //# sourceMappingURL=files.js.map