@playcraft/common 0.1.35-prod → 0.1.37-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 (353) 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 -16
  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/attachment-base64.d.ts +3 -0
  104. package/dist/cloud-workspace/runtime/attachment-base64.d.ts.map +1 -0
  105. package/dist/cloud-workspace/runtime/attachment-base64.js +8 -0
  106. package/dist/cloud-workspace/runtime/attachment-base64.js.map +1 -0
  107. package/dist/cloud-workspace/runtime/attachments.d.ts +33 -0
  108. package/dist/cloud-workspace/runtime/attachments.d.ts.map +1 -0
  109. package/dist/cloud-workspace/runtime/attachments.js +35 -0
  110. package/dist/cloud-workspace/runtime/attachments.js.map +1 -0
  111. package/dist/cloud-workspace/runtime/batch-generation.d.ts +260 -0
  112. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -0
  113. package/dist/cloud-workspace/runtime/batch-generation.js +279 -0
  114. package/dist/cloud-workspace/runtime/batch-generation.js.map +1 -0
  115. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts +6 -0
  116. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts.map +1 -0
  117. package/dist/cloud-workspace/runtime/batch-production-authority.js +31 -0
  118. package/dist/cloud-workspace/runtime/batch-production-authority.js.map +1 -0
  119. package/dist/cloud-workspace/runtime/batch-production.d.ts +510 -0
  120. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/batch-production.js +74 -0
  122. package/dist/cloud-workspace/runtime/batch-production.js.map +1 -0
  123. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  124. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  125. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  126. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  127. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
  128. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
  130. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
  132. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/chat-realtime.js +299 -0
  134. package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/checkpoints.d.ts +35 -0
  136. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/checkpoints.js +35 -0
  138. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/composer-context.d.ts +82 -0
  140. package/dist/cloud-workspace/runtime/composer-context.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/composer-context.js +51 -0
  142. package/dist/cloud-workspace/runtime/composer-context.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/config.d.ts +47 -0
  144. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/config.js +125 -0
  146. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/connectivity.d.ts +211 -0
  148. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/connectivity.js +46 -0
  150. package/dist/cloud-workspace/runtime/connectivity.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/directory-attachments.d.ts +28 -0
  152. package/dist/cloud-workspace/runtime/directory-attachments.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/directory-attachments.js +30 -0
  154. package/dist/cloud-workspace/runtime/directory-attachments.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  156. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/errors.js +40 -0
  158. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  160. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/events.js +70 -0
  162. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  164. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  166. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/files-search.d.ts +17 -0
  168. package/dist/cloud-workspace/runtime/files-search.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/files-search.js +14 -0
  170. package/dist/cloud-workspace/runtime/files-search.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/files.d.ts +74 -0
  172. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/files.js +93 -0
  174. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  176. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/generations.js +39 -0
  178. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  180. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  182. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/git.d.ts +147 -0
  184. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/git.js +128 -0
  186. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  188. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  190. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  191. package/dist/cloud-workspace/runtime/index.d.ts +58 -0
  192. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  193. package/dist/cloud-workspace/runtime/index.js +58 -0
  194. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  195. package/dist/cloud-workspace/runtime/library-attachments.d.ts +120 -0
  196. package/dist/cloud-workspace/runtime/library-attachments.d.ts.map +1 -0
  197. package/dist/cloud-workspace/runtime/library-attachments.js +75 -0
  198. package/dist/cloud-workspace/runtime/library-attachments.js.map +1 -0
  199. package/dist/cloud-workspace/runtime/mcp.d.ts +82 -0
  200. package/dist/cloud-workspace/runtime/mcp.d.ts.map +1 -0
  201. package/dist/cloud-workspace/runtime/mcp.js +48 -0
  202. package/dist/cloud-workspace/runtime/mcp.js.map +1 -0
  203. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  204. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  205. package/dist/cloud-workspace/runtime/native-history.js +132 -0
  206. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  207. package/dist/cloud-workspace/runtime/operations.d.ts +329 -0
  208. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  209. package/dist/cloud-workspace/runtime/operations.js +220 -0
  210. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  211. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  212. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  213. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  214. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  215. package/dist/cloud-workspace/runtime/permissions.d.ts +24 -0
  216. package/dist/cloud-workspace/runtime/permissions.d.ts.map +1 -0
  217. package/dist/cloud-workspace/runtime/permissions.js +19 -0
  218. package/dist/cloud-workspace/runtime/permissions.js.map +1 -0
  219. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +25 -0
  220. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -0
  221. package/dist/cloud-workspace/runtime/platform-endpoints.js +37 -0
  222. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -0
  223. package/dist/cloud-workspace/runtime/previews.d.ts +59 -0
  224. package/dist/cloud-workspace/runtime/previews.d.ts.map +1 -0
  225. package/dist/cloud-workspace/runtime/previews.js +63 -0
  226. package/dist/cloud-workspace/runtime/previews.js.map +1 -0
  227. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  228. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  229. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  230. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  231. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  232. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  233. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  234. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  235. package/dist/cloud-workspace/runtime/remix-references.d.ts +197 -0
  236. package/dist/cloud-workspace/runtime/remix-references.d.ts.map +1 -0
  237. package/dist/cloud-workspace/runtime/remix-references.js +73 -0
  238. package/dist/cloud-workspace/runtime/remix-references.js.map +1 -0
  239. package/dist/cloud-workspace/runtime/resource-grant.d.ts +62 -0
  240. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  241. package/dist/cloud-workspace/runtime/resource-grant.js +87 -0
  242. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  243. package/dist/cloud-workspace/runtime/skills.d.ts +39 -0
  244. package/dist/cloud-workspace/runtime/skills.d.ts.map +1 -0
  245. package/dist/cloud-workspace/runtime/skills.js +33 -0
  246. package/dist/cloud-workspace/runtime/skills.js.map +1 -0
  247. package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
  248. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
  249. package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
  250. package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
  251. package/dist/cloud-workspace/runtime/terminals.d.ts +90 -0
  252. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  253. package/dist/cloud-workspace/runtime/terminals.js +111 -0
  254. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  255. package/dist/cloud-workspace/runtime/turn-control.d.ts +27 -0
  256. package/dist/cloud-workspace/runtime/turn-control.d.ts.map +1 -0
  257. package/dist/cloud-workspace/runtime/turn-control.js +18 -0
  258. package/dist/cloud-workspace/runtime/turn-control.js.map +1 -0
  259. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  260. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  261. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  262. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  263. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +219 -0
  264. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  265. package/dist/cloud-workspace/runtime/workspace-binding.js +178 -0
  266. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  267. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +44 -0
  268. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +1 -0
  269. package/dist/cloud-workspace/runtime/workspace-directories.js +34 -0
  270. package/dist/cloud-workspace/runtime/workspace-directories.js.map +1 -0
  271. package/dist/cloud-workspace/runtime/workspace-ui.d.ts +151 -0
  272. package/dist/cloud-workspace/runtime/workspace-ui.d.ts.map +1 -0
  273. package/dist/cloud-workspace/runtime/workspace-ui.js +80 -0
  274. package/dist/cloud-workspace/runtime/workspace-ui.js.map +1 -0
  275. package/dist/database/operators.d.ts +2 -0
  276. package/dist/database/operators.d.ts.map +1 -0
  277. package/dist/database/operators.js +2 -0
  278. package/dist/database/operators.js.map +1 -0
  279. package/dist/database/postgres-adapter.js +1 -1
  280. package/dist/database/postgres-adapter.js.map +1 -1
  281. package/dist/database/schema.d.ts +1 -1
  282. package/dist/database/schema.js +1 -1
  283. package/dist/model-proxy/index.d.ts +26 -0
  284. package/dist/model-proxy/index.d.ts.map +1 -0
  285. package/dist/model-proxy/index.js +81 -0
  286. package/dist/model-proxy/index.js.map +1 -0
  287. package/dist/prefab/index.d.ts +0 -2
  288. package/dist/prefab/index.d.ts.map +1 -1
  289. package/dist/prefab/index.js +0 -2
  290. package/dist/prefab/index.js.map +1 -1
  291. package/dist/project-skills/bundle-archive.d.ts +21 -0
  292. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  293. package/dist/project-skills/bundle-archive.js +165 -0
  294. package/dist/project-skills/bundle-archive.js.map +1 -0
  295. package/dist/project-skills/bundle-path.d.ts +3 -0
  296. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  297. package/dist/project-skills/bundle-path.js +17 -0
  298. package/dist/project-skills/bundle-path.js.map +1 -0
  299. package/dist/project-skills/evidence.d.ts +15 -0
  300. package/dist/project-skills/evidence.d.ts.map +1 -0
  301. package/dist/project-skills/evidence.js +33 -0
  302. package/dist/project-skills/evidence.js.map +1 -0
  303. package/dist/project-skills/index.d.ts +7 -0
  304. package/dist/project-skills/index.d.ts.map +1 -0
  305. package/dist/project-skills/index.js +7 -0
  306. package/dist/project-skills/index.js.map +1 -0
  307. package/dist/project-skills/inventory.d.ts +23 -0
  308. package/dist/project-skills/inventory.d.ts.map +1 -0
  309. package/dist/project-skills/inventory.js +150 -0
  310. package/dist/project-skills/inventory.js.map +1 -0
  311. package/dist/project-skills/local-snapshot.d.ts +12 -0
  312. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  313. package/dist/project-skills/local-snapshot.js +66 -0
  314. package/dist/project-skills/local-snapshot.js.map +1 -0
  315. package/dist/project-skills/protocol.d.ts +31 -0
  316. package/dist/project-skills/protocol.d.ts.map +1 -0
  317. package/dist/project-skills/protocol.js +197 -0
  318. package/dist/project-skills/protocol.js.map +1 -0
  319. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  320. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  321. package/dist/project-skills/runtime-plugin.js +102 -0
  322. package/dist/project-skills/runtime-plugin.js.map +1 -0
  323. package/dist/project-skills/types.d.ts +63 -0
  324. package/dist/project-skills/types.d.ts.map +1 -0
  325. package/dist/project-skills/types.js +13 -0
  326. package/dist/project-skills/types.js.map +1 -0
  327. package/dist/recommend/types.d.ts +1 -1
  328. package/dist/recommend/types.js +1 -1
  329. package/dist/remix/auto-name.d.ts +24 -0
  330. package/dist/remix/auto-name.d.ts.map +1 -0
  331. package/dist/remix/auto-name.js +40 -0
  332. package/dist/remix/auto-name.js.map +1 -0
  333. package/dist/remix/index.d.ts +2 -0
  334. package/dist/remix/index.d.ts.map +1 -0
  335. package/dist/remix/index.js +2 -0
  336. package/dist/remix/index.js.map +1 -0
  337. package/dist/skill-evaluation.d.ts +152 -0
  338. package/dist/skill-evaluation.d.ts.map +1 -0
  339. package/dist/skill-evaluation.js +14 -0
  340. package/dist/skill-evaluation.js.map +1 -0
  341. package/dist/storage/cos.d.ts +11 -0
  342. package/dist/storage/cos.d.ts.map +1 -1
  343. package/dist/storage/cos.js +29 -0
  344. package/dist/storage/cos.js.map +1 -1
  345. package/package.json +29 -1
  346. package/dist/prefab/image-background.d.ts +0 -10
  347. package/dist/prefab/image-background.d.ts.map +0 -1
  348. package/dist/prefab/image-background.js +0 -19
  349. package/dist/prefab/image-background.js.map +0 -1
  350. package/dist/prefab/image-generation-constraints.d.ts +0 -72
  351. package/dist/prefab/image-generation-constraints.d.ts.map +0 -1
  352. package/dist/prefab/image-generation-constraints.js +0 -112
  353. package/dist/prefab/image-generation-constraints.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ import { z } from 'zod';
2
+ /** Retained PTY bytes. Older bytes are dropped; a reconnect must not invent them as new output. */
3
+ export const TERMINAL_OUTPUT_RETAINED_BYTES = 256 * 1024;
4
+ const encoder = new TextEncoder();
5
+ const decoder = new TextDecoder();
6
+ export function encodeTerminalBytes(bytes) {
7
+ let binary = '';
8
+ for (const byte of bytes)
9
+ binary += String.fromCharCode(byte);
10
+ return btoa(binary);
11
+ }
12
+ export function decodeTerminalBytes(value) {
13
+ const binary = atob(value);
14
+ const bytes = new Uint8Array(binary.length);
15
+ for (let index = 0; index < binary.length; index += 1)
16
+ bytes[index] = binary.charCodeAt(index) & 0xff;
17
+ return bytes;
18
+ }
19
+ export const terminalClientFrameSchema = z.discriminatedUnion('type', [
20
+ z
21
+ .object({
22
+ type: z.literal('resume'),
23
+ streamId: z.string().trim().min(1).max(64).optional(),
24
+ offset: z.number().int().nonnegative(),
25
+ })
26
+ .strict(),
27
+ z
28
+ .object({
29
+ type: z.literal('input'),
30
+ data: z.string().min(1).max(16_384),
31
+ })
32
+ .strict(),
33
+ z
34
+ .object({
35
+ type: z.literal('resize'),
36
+ cols: z.number().int().min(1).max(500),
37
+ rows: z.number().int().min(1).max(200),
38
+ })
39
+ .strict(),
40
+ ]);
41
+ export const TERMINAL_REVOKE_REASONS = [
42
+ 'terminal_destroyed',
43
+ 'runtime_destroyed',
44
+ 'grant_revoked',
45
+ 'pty_unavailable',
46
+ ];
47
+ export const terminalServerFrameSchema = z.discriminatedUnion('type', [
48
+ z
49
+ .object({
50
+ type: z.literal('output'),
51
+ streamId: z.string().min(1).max(64),
52
+ offset: z.number().int().nonnegative(),
53
+ data: z.string().min(1),
54
+ })
55
+ .strict(),
56
+ z
57
+ .object({
58
+ type: z.literal('gap'),
59
+ streamId: z.string().min(1).max(64),
60
+ offset: z.number().int().nonnegative(),
61
+ })
62
+ .strict(),
63
+ z
64
+ .object({
65
+ type: z.literal('reset'),
66
+ streamId: z.string().min(1).max(64),
67
+ offset: z.number().int().nonnegative(),
68
+ })
69
+ .strict(),
70
+ z
71
+ .object({
72
+ type: z.literal('exit'),
73
+ streamId: z.string().min(1).max(64),
74
+ code: z.number().int().nullable(),
75
+ signal: z.string().min(1).max(32).optional(),
76
+ })
77
+ .strict(),
78
+ z
79
+ .object({
80
+ type: z.literal('revoked'),
81
+ reason: z.enum(TERMINAL_REVOKE_REASONS),
82
+ })
83
+ .strict(),
84
+ ]);
85
+ export function createTerminalOutputLog() {
86
+ return { start: 0, end: 0, chunks: [] };
87
+ }
88
+ export function appendTerminalOutput(log, text, retain = TERMINAL_OUTPUT_RETAINED_BYTES) {
89
+ const bytes = encoder.encode(text);
90
+ if (bytes.length === 0)
91
+ return log;
92
+ return trimTerminalOutput({
93
+ start: log.start,
94
+ end: log.end + bytes.length,
95
+ chunks: [...log.chunks, { offset: log.end, data: encodeTerminalBytes(bytes) }],
96
+ }, retain);
97
+ }
98
+ export function terminalOutputSince(log, offset) {
99
+ if (offset < log.start) {
100
+ return { gap: true, offset: log.start, frames: [...log.chunks] };
101
+ }
102
+ if (offset >= log.end)
103
+ return { gap: false, offset: log.end, frames: [] };
104
+ const frames = [];
105
+ for (const chunk of log.chunks) {
106
+ const bytes = decodeTerminalBytes(chunk.data);
107
+ const end = chunk.offset + bytes.length;
108
+ if (end <= offset)
109
+ continue;
110
+ if (chunk.offset >= offset)
111
+ frames.push(chunk);
112
+ else {
113
+ frames.push({
114
+ offset,
115
+ data: encodeTerminalBytes(bytes.slice(offset - chunk.offset)),
116
+ });
117
+ }
118
+ }
119
+ return { gap: false, offset, frames };
120
+ }
121
+ function trimTerminalOutput(log, retain) {
122
+ let { start, end, chunks } = log;
123
+ while (end - start > retain && chunks.length > 1) {
124
+ const first = chunks[0];
125
+ const size = decodeTerminalBytes(first.data).length;
126
+ chunks = chunks.slice(1);
127
+ start = first.offset + size;
128
+ }
129
+ if (end - start > retain && chunks.length === 1) {
130
+ const only = chunks[0];
131
+ const bytes = decodeTerminalBytes(only.data);
132
+ const keep = bytes.slice(bytes.length - retain);
133
+ start = end - keep.length;
134
+ chunks = [{ offset: start, data: encodeTerminalBytes(keep) }];
135
+ }
136
+ return { start, end, chunks };
137
+ }
138
+ export function createTerminalView() {
139
+ return { text: '', offset: 0, gap: false };
140
+ }
141
+ /** Apply one server frame. Bytes at an offset already applied are ignored, not appended again. */
142
+ export function reduceTerminalFrame(view, frame) {
143
+ if (frame.type === 'reset') {
144
+ return { text: '', offset: frame.offset, gap: false, streamId: frame.streamId };
145
+ }
146
+ if (frame.type === 'revoked')
147
+ return { ...view, revoked: frame.reason };
148
+ if (view.streamId && 'streamId' in frame && frame.streamId !== view.streamId)
149
+ return view;
150
+ if (frame.type === 'gap') {
151
+ if (frame.offset < view.offset)
152
+ return view;
153
+ return { ...view, streamId: frame.streamId, gap: true, offset: frame.offset };
154
+ }
155
+ if (frame.type === 'exit') {
156
+ return {
157
+ ...view,
158
+ streamId: frame.streamId,
159
+ exitCode: frame.code,
160
+ ...(frame.signal ? { exitSignal: frame.signal } : {}),
161
+ };
162
+ }
163
+ const bytes = decodeTerminalBytes(frame.data);
164
+ const end = frame.offset + bytes.length;
165
+ if (end <= view.offset)
166
+ return { ...view, streamId: view.streamId ?? frame.streamId };
167
+ if (frame.offset > view.offset) {
168
+ return { ...view, streamId: frame.streamId, gap: true };
169
+ }
170
+ const slice = frame.offset < view.offset ? bytes.slice(view.offset - frame.offset) : bytes;
171
+ return {
172
+ ...view,
173
+ streamId: frame.streamId,
174
+ offset: end,
175
+ text: view.text + decoder.decode(slice),
176
+ };
177
+ }
178
+ //# sourceMappingURL=terminal-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminal-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod';
2
+ export declare const TERMINAL_STATUSES: readonly ["active", "destroyed"];
3
+ export type TerminalStatus = (typeof TERMINAL_STATUSES)[number];
4
+ export declare const terminalIdSchema: z.ZodString;
5
+ export declare const terminalCreatePayloadSchema: z.ZodObject<{
6
+ terminalId: z.ZodOptional<z.ZodString>;
7
+ directoryName: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>>;
8
+ cwd: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strict>;
10
+ export type TerminalCreatePayload = z.infer<typeof terminalCreatePayloadSchema>;
11
+ export declare const terminalRecordSchema: z.ZodObject<{
12
+ terminalId: z.ZodString;
13
+ workspaceId: z.ZodString;
14
+ directoryName: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>>;
15
+ environment: z.ZodString;
16
+ userId: z.ZodString;
17
+ runtimeId: z.ZodOptional<z.ZodString>;
18
+ generation: z.ZodOptional<z.ZodNumber>;
19
+ runtimeEpoch: z.ZodOptional<z.ZodNumber>;
20
+ processIdentity: z.ZodString;
21
+ cwd: z.ZodString;
22
+ status: z.ZodEnum<{
23
+ active: "active";
24
+ destroyed: "destroyed";
25
+ }>;
26
+ createdAt: z.ZodString;
27
+ destroyedAt: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strict>;
29
+ export type TerminalRecord = z.infer<typeof terminalRecordSchema>;
30
+ export declare function terminalProcessIdentity(workspaceId: string, terminalId: string, cwd?: string): string;
31
+ export declare function parseTerminalProcessIdentity(value: string): {
32
+ workspaceId?: string;
33
+ terminalId?: string;
34
+ cwd: string;
35
+ };
36
+ /** Client-chosen connection endpoints. Identity drafts persist leases without a display. */
37
+ export declare const UNTRUSTED_DISPLAY_FIELDS: readonly ["displayUrl", "vncUrl", "websocketUrl", "host", "url", "novnc"];
38
+ export type UntrustedDisplayField = (typeof UNTRUSTED_DISPLAY_FIELDS)[number];
39
+ export declare const desktopAccessPayloadSchema: z.ZodObject<{}, z.core.$strict>;
40
+ export type DesktopAccessPayload = z.infer<typeof desktopAccessPayloadSchema>;
41
+ export declare const DESKTOP_DISPLAYS: readonly ["not_started", "ready"];
42
+ export type DesktopDisplay = (typeof DESKTOP_DISPLAYS)[number];
43
+ export declare const DESKTOP_HOLDERS: readonly ["none", "human"];
44
+ export type DesktopHolder = (typeof DESKTOP_HOLDERS)[number];
45
+ export declare const desktopLeaseRecordSchema: z.ZodObject<{
46
+ leaseId: z.ZodString;
47
+ environment: z.ZodString;
48
+ userId: z.ZodString;
49
+ takeoverRevision: z.ZodNumber;
50
+ status: z.ZodEnum<{
51
+ active: "active";
52
+ released: "released";
53
+ }>;
54
+ display: z.ZodEnum<{
55
+ ready: "ready";
56
+ not_started: "not_started";
57
+ }>;
58
+ expiresAt: z.ZodOptional<z.ZodString>;
59
+ streamGeneration: z.ZodOptional<z.ZodNumber>;
60
+ holder: z.ZodOptional<z.ZodEnum<{
61
+ none: "none";
62
+ human: "human";
63
+ }>>;
64
+ resourcePath: z.ZodOptional<z.ZodString>;
65
+ connectPath: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strict>;
67
+ export type DesktopLeaseRecord = z.infer<typeof desktopLeaseRecordSchema>;
68
+ export declare const desktopHealthSchema: z.ZodObject<{
69
+ status: z.ZodEnum<{
70
+ ready: "ready";
71
+ display_not_started: "display_not_started";
72
+ display_unavailable: "display_unavailable";
73
+ }>;
74
+ streamGeneration: z.ZodNumber;
75
+ holder: z.ZodEnum<{
76
+ none: "none";
77
+ human: "human";
78
+ }>;
79
+ agentInput: z.ZodEnum<{
80
+ open: "open";
81
+ revoked: "revoked";
82
+ }>;
83
+ holdExpiresAt: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strict>;
85
+ export type DesktopHealth = z.infer<typeof desktopHealthSchema>;
86
+ /** Identity that can be stored. Live paths and the current picture generation are omitted. */
87
+ export declare function restingDesktopLease(value: unknown): DesktopLeaseRecord;
88
+ /** Relative noVNC asset name. Rejects traversal and absolute URLs. */
89
+ export declare function desktopResourceName(value: string): string | undefined;
90
+ //# sourceMappingURL=terminals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminals.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,kCAAmC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,aAAoC,CAAC;AAElE,eAAO,MAAM,2BAA2B;;;;kBAM7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;kBAgBtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,CAEjG;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAUA;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,2EAO3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,iCAAwB,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB,mCAAoC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,eAAe,4BAA6B,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAU7D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;kBAc1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAQrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAWtE;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMrE"}
@@ -0,0 +1,111 @@
1
+ import { z } from 'zod';
2
+ import { workspaceRelativePathSchema } from './files.js';
3
+ import { workspaceSessionScopeSchema } from './workspace-directories.js';
4
+ export const TERMINAL_STATUSES = ['active', 'destroyed'];
5
+ export const terminalIdSchema = z.string().trim().min(1).max(128);
6
+ export const terminalCreatePayloadSchema = z
7
+ .object({
8
+ terminalId: terminalIdSchema.optional(),
9
+ directoryName: workspaceSessionScopeSchema.optional(),
10
+ cwd: workspaceRelativePathSchema.optional(),
11
+ })
12
+ .strict();
13
+ export const terminalRecordSchema = z
14
+ .object({
15
+ terminalId: terminalIdSchema,
16
+ workspaceId: z.string().min(1).max(128),
17
+ directoryName: workspaceSessionScopeSchema.optional(),
18
+ environment: z.string().min(1).max(64),
19
+ userId: z.string().min(1).max(128),
20
+ runtimeId: z.string().min(1).max(128).optional(),
21
+ generation: z.number().int().nonnegative().optional(),
22
+ runtimeEpoch: z.number().int().nonnegative().optional(),
23
+ processIdentity: z.string().min(1).max(512),
24
+ cwd: z.string().max(512),
25
+ status: z.enum(TERMINAL_STATUSES),
26
+ createdAt: z.string().min(1),
27
+ destroyedAt: z.string().min(1).optional(),
28
+ })
29
+ .strict();
30
+ export function terminalProcessIdentity(workspaceId, terminalId, cwd = '') {
31
+ return cwd ? `term:${workspaceId}:${terminalId}|${cwd}` : `term:${workspaceId}:${terminalId}`;
32
+ }
33
+ export function parseTerminalProcessIdentity(value) {
34
+ const separator = value.indexOf('|');
35
+ const head = separator === -1 ? value : value.slice(0, separator);
36
+ const cwd = separator === -1 ? '' : value.slice(separator + 1);
37
+ const match = /^term:([^:]+):(.+)$/.exec(head);
38
+ return {
39
+ workspaceId: match?.[1],
40
+ terminalId: match?.[2],
41
+ cwd,
42
+ };
43
+ }
44
+ /** Client-chosen connection endpoints. Identity drafts persist leases without a display. */
45
+ export const UNTRUSTED_DISPLAY_FIELDS = [
46
+ 'displayUrl',
47
+ 'vncUrl',
48
+ 'websocketUrl',
49
+ 'host',
50
+ 'url',
51
+ 'novnc',
52
+ ];
53
+ export const desktopAccessPayloadSchema = z.object({}).strict();
54
+ export const DESKTOP_DISPLAYS = ['not_started', 'ready'];
55
+ export const DESKTOP_HOLDERS = ['none', 'human'];
56
+ /** Server-assigned relative path. A client cannot choose a host or scheme. */
57
+ const desktopRelativePathSchema = z
58
+ .string()
59
+ .min(1)
60
+ .max(240)
61
+ .regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/)
62
+ .refine((value) => !value.includes('://') && !value.split('/').includes('..'));
63
+ export const desktopLeaseRecordSchema = z
64
+ .object({
65
+ leaseId: z.string().min(1).max(128),
66
+ environment: z.string().min(1).max(64),
67
+ userId: z.string().min(1).max(128),
68
+ takeoverRevision: z.number().int().nonnegative(),
69
+ status: z.enum(['active', 'released']),
70
+ display: z.enum(DESKTOP_DISPLAYS),
71
+ expiresAt: z.string().min(1).optional(),
72
+ streamGeneration: z.number().int().nonnegative().optional(),
73
+ holder: z.enum(DESKTOP_HOLDERS).optional(),
74
+ resourcePath: desktopRelativePathSchema.optional(),
75
+ connectPath: desktopRelativePathSchema.optional(),
76
+ })
77
+ .strict();
78
+ export const desktopHealthSchema = z
79
+ .object({
80
+ status: z.enum(['ready', 'display_not_started', 'display_unavailable']),
81
+ streamGeneration: z.number().int().nonnegative(),
82
+ holder: z.enum(DESKTOP_HOLDERS),
83
+ agentInput: z.enum(['open', 'revoked']),
84
+ holdExpiresAt: z.string().datetime().optional(),
85
+ })
86
+ .strict();
87
+ /** Identity that can be stored. Live paths and the current picture generation are omitted. */
88
+ export function restingDesktopLease(value) {
89
+ const parsed = desktopLeaseRecordSchema.parse(value);
90
+ return desktopLeaseRecordSchema.parse({
91
+ leaseId: parsed.leaseId,
92
+ environment: parsed.environment,
93
+ userId: parsed.userId,
94
+ takeoverRevision: parsed.takeoverRevision,
95
+ status: parsed.status,
96
+ display: 'not_started',
97
+ ...(parsed.expiresAt ? { expiresAt: parsed.expiresAt } : {}),
98
+ });
99
+ }
100
+ /** Relative noVNC asset name. Rejects traversal and absolute URLs. */
101
+ export function desktopResourceName(value) {
102
+ const name = value.replace(/^\/+/, '');
103
+ if (!name || name.length > 240)
104
+ return undefined;
105
+ if (!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(name))
106
+ return undefined;
107
+ if (name.split('/').some((part) => part === '' || part === '.' || part === '..'))
108
+ return undefined;
109
+ return name;
110
+ }
111
+ //# sourceMappingURL=terminals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ export declare const workspaceReviewTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ type: z.ZodLiteral<"uncommittedChanges">;
4
+ }, z.core.$strict>, z.ZodObject<{
5
+ type: z.ZodLiteral<"baseBranch">;
6
+ branch: z.ZodString;
7
+ }, z.core.$strict>], "type">;
8
+ export type WorkspaceReviewTarget = z.infer<typeof workspaceReviewTargetSchema>;
9
+ export declare const workspaceReviewPayloadSchema: z.ZodObject<{
10
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
+ type: z.ZodLiteral<"uncommittedChanges">;
12
+ }, z.core.$strict>, z.ZodObject<{
13
+ type: z.ZodLiteral<"baseBranch">;
14
+ branch: z.ZodString;
15
+ }, z.core.$strict>], "type">;
16
+ }, z.core.$strict>;
17
+ export type WorkspaceReviewPayload = z.infer<typeof workspaceReviewPayloadSchema>;
18
+ /** Steering appends text to one active turn; it cannot change that turn's execution settings. */
19
+ export declare const workspaceSteerPayloadSchema: z.ZodObject<{
20
+ text: z.ZodString;
21
+ expectedTurnId: z.ZodString;
22
+ }, z.core.$strict>;
23
+ export type WorkspaceSteerPayload = z.infer<typeof workspaceSteerPayloadSchema>;
24
+ /** Compaction operates on the bound conversation without accepting execution or thread overrides. */
25
+ export declare const workspaceCompactPayloadSchema: z.ZodObject<{}, z.core.$strict>;
26
+ export type WorkspaceCompactPayload = z.infer<typeof workspaceCompactPayloadSchema>;
27
+ //# sourceMappingURL=turn-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-control.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/turn-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,2BAA2B;;;;;4BAGtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,4BAA4B;;;;;;;kBAA6D,CAAC;AACvG,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,iGAAiG;AACjG,eAAO,MAAM,2BAA2B;;;kBAG7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,qGAAqG;AACrG,eAAO,MAAM,6BAA6B,iCAAwB,CAAC;AACnE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ const branchSchema = z.string().trim().min(1).max(256).refine(branch => !branch.startsWith('-') && !branch.startsWith('/') && !branch.endsWith('/') && !branch.endsWith('.')
3
+ && !branch.includes('..') && !branch.includes('@{') && !branch.includes('//')
4
+ && !/[\s\u0000-\u001f\u007f~^:?*\[\\]/.test(branch)
5
+ && branch.split('/').every(part => part !== '.' && !part.startsWith('.') && !part.endsWith('.lock')), 'invalid_review_branch');
6
+ export const workspaceReviewTargetSchema = z.discriminatedUnion('type', [
7
+ z.object({ type: z.literal('uncommittedChanges') }).strict(),
8
+ z.object({ type: z.literal('baseBranch'), branch: branchSchema }).strict(),
9
+ ]);
10
+ export const workspaceReviewPayloadSchema = z.object({ target: workspaceReviewTargetSchema }).strict();
11
+ /** Steering appends text to one active turn; it cannot change that turn's execution settings. */
12
+ export const workspaceSteerPayloadSchema = z.object({
13
+ text: z.string().min(1).max(64_000).refine(text => text.trim().length > 0, 'empty_steer_text'),
14
+ expectedTurnId: z.string().min(1).max(128),
15
+ }).strict();
16
+ /** Compaction operates on the bound conversation without accepting execution or thread overrides. */
17
+ export const workspaceCompactPayloadSchema = z.object({}).strict();
18
+ //# sourceMappingURL=turn-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-control.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/turn-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACrE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;OACjG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;OAC1E,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;OAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACpG,uBAAuB,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACtE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CAC3E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAGvG,iGAAiG;AACjG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAC9F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CAC3C,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,qGAAqG;AACrG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC"}