@playcraft/common 0.1.24 → 0.1.25

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 (297) 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 -7
  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 +233 -0
  100. package/dist/cloud-workspace/runtime/artifacts.d.ts.map +1 -0
  101. package/dist/cloud-workspace/runtime/artifacts.js +94 -0
  102. package/dist/cloud-workspace/runtime/artifacts.js.map +1 -0
  103. package/dist/cloud-workspace/runtime/attachments.d.ts +28 -0
  104. package/dist/cloud-workspace/runtime/attachments.d.ts.map +1 -0
  105. package/dist/cloud-workspace/runtime/attachments.js +34 -0
  106. package/dist/cloud-workspace/runtime/attachments.js.map +1 -0
  107. package/dist/cloud-workspace/runtime/batch-generation.d.ts +229 -0
  108. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -0
  109. package/dist/cloud-workspace/runtime/batch-generation.js +244 -0
  110. package/dist/cloud-workspace/runtime/batch-generation.js.map +1 -0
  111. package/dist/cloud-workspace/runtime/batch-production.d.ts +474 -0
  112. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -0
  113. package/dist/cloud-workspace/runtime/batch-production.js +61 -0
  114. package/dist/cloud-workspace/runtime/batch-production.js.map +1 -0
  115. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  116. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  117. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  118. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  119. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
  120. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
  122. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
  123. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
  124. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
  125. package/dist/cloud-workspace/runtime/chat-realtime.js +299 -0
  126. package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
  127. package/dist/cloud-workspace/runtime/checkpoints.d.ts +35 -0
  128. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/checkpoints.js +35 -0
  130. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/config.d.ts +47 -0
  132. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/config.js +125 -0
  134. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/connectivity.d.ts +205 -0
  136. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/connectivity.js +46 -0
  138. package/dist/cloud-workspace/runtime/connectivity.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  140. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/errors.js +40 -0
  142. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  144. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/events.js +70 -0
  146. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  148. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  150. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/files.d.ts +74 -0
  152. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/files.js +93 -0
  154. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  156. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/generations.js +39 -0
  158. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  160. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  162. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/git.d.ts +103 -0
  164. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/git.js +91 -0
  166. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  168. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  170. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/index.d.ts +48 -0
  172. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/index.js +48 -0
  174. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  176. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/native-history.js +127 -0
  178. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/operations.d.ts +189 -0
  180. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/operations.js +192 -0
  182. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  184. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  186. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +24 -0
  188. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/platform-endpoints.js +36 -0
  190. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -0
  191. package/dist/cloud-workspace/runtime/previews.d.ts +59 -0
  192. package/dist/cloud-workspace/runtime/previews.d.ts.map +1 -0
  193. package/dist/cloud-workspace/runtime/previews.js +63 -0
  194. package/dist/cloud-workspace/runtime/previews.js.map +1 -0
  195. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  196. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  197. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  198. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  199. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  200. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  201. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  202. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  203. package/dist/cloud-workspace/runtime/resource-grant.d.ts +62 -0
  204. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  205. package/dist/cloud-workspace/runtime/resource-grant.js +87 -0
  206. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  207. package/dist/cloud-workspace/runtime/skills.d.ts +39 -0
  208. package/dist/cloud-workspace/runtime/skills.d.ts.map +1 -0
  209. package/dist/cloud-workspace/runtime/skills.js +33 -0
  210. package/dist/cloud-workspace/runtime/skills.js.map +1 -0
  211. package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
  212. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
  213. package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
  214. package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
  215. package/dist/cloud-workspace/runtime/terminals.d.ts +90 -0
  216. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  217. package/dist/cloud-workspace/runtime/terminals.js +111 -0
  218. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  219. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  220. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  221. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  222. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  223. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +208 -0
  224. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  225. package/dist/cloud-workspace/runtime/workspace-binding.js +176 -0
  226. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  227. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +44 -0
  228. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +1 -0
  229. package/dist/cloud-workspace/runtime/workspace-directories.js +34 -0
  230. package/dist/cloud-workspace/runtime/workspace-directories.js.map +1 -0
  231. package/dist/database/operators.d.ts +2 -0
  232. package/dist/database/operators.d.ts.map +1 -0
  233. package/dist/database/operators.js +2 -0
  234. package/dist/database/operators.js.map +1 -0
  235. package/dist/database/postgres-adapter.js +1 -1
  236. package/dist/database/postgres-adapter.js.map +1 -1
  237. package/dist/database/schema.d.ts +1 -1
  238. package/dist/database/schema.js +1 -1
  239. package/dist/model-proxy/index.d.ts +26 -0
  240. package/dist/model-proxy/index.d.ts.map +1 -0
  241. package/dist/model-proxy/index.js +81 -0
  242. package/dist/model-proxy/index.js.map +1 -0
  243. package/dist/project-skills/bundle-archive.d.ts +21 -0
  244. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  245. package/dist/project-skills/bundle-archive.js +165 -0
  246. package/dist/project-skills/bundle-archive.js.map +1 -0
  247. package/dist/project-skills/bundle-path.d.ts +3 -0
  248. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  249. package/dist/project-skills/bundle-path.js +17 -0
  250. package/dist/project-skills/bundle-path.js.map +1 -0
  251. package/dist/project-skills/evidence.d.ts +15 -0
  252. package/dist/project-skills/evidence.d.ts.map +1 -0
  253. package/dist/project-skills/evidence.js +33 -0
  254. package/dist/project-skills/evidence.js.map +1 -0
  255. package/dist/project-skills/index.d.ts +7 -0
  256. package/dist/project-skills/index.d.ts.map +1 -0
  257. package/dist/project-skills/index.js +7 -0
  258. package/dist/project-skills/index.js.map +1 -0
  259. package/dist/project-skills/inventory.d.ts +23 -0
  260. package/dist/project-skills/inventory.d.ts.map +1 -0
  261. package/dist/project-skills/inventory.js +150 -0
  262. package/dist/project-skills/inventory.js.map +1 -0
  263. package/dist/project-skills/local-snapshot.d.ts +12 -0
  264. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  265. package/dist/project-skills/local-snapshot.js +66 -0
  266. package/dist/project-skills/local-snapshot.js.map +1 -0
  267. package/dist/project-skills/protocol.d.ts +31 -0
  268. package/dist/project-skills/protocol.d.ts.map +1 -0
  269. package/dist/project-skills/protocol.js +197 -0
  270. package/dist/project-skills/protocol.js.map +1 -0
  271. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  272. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  273. package/dist/project-skills/runtime-plugin.js +102 -0
  274. package/dist/project-skills/runtime-plugin.js.map +1 -0
  275. package/dist/project-skills/types.d.ts +63 -0
  276. package/dist/project-skills/types.d.ts.map +1 -0
  277. package/dist/project-skills/types.js +13 -0
  278. package/dist/project-skills/types.js.map +1 -0
  279. package/dist/recommend/types.d.ts +1 -1
  280. package/dist/recommend/types.js +1 -1
  281. package/dist/remix/auto-name.d.ts +24 -0
  282. package/dist/remix/auto-name.d.ts.map +1 -0
  283. package/dist/remix/auto-name.js +40 -0
  284. package/dist/remix/auto-name.js.map +1 -0
  285. package/dist/remix/index.d.ts +2 -0
  286. package/dist/remix/index.d.ts.map +1 -0
  287. package/dist/remix/index.js +2 -0
  288. package/dist/remix/index.js.map +1 -0
  289. package/dist/skill-evaluation.d.ts +152 -0
  290. package/dist/skill-evaluation.d.ts.map +1 -0
  291. package/dist/skill-evaluation.js +14 -0
  292. package/dist/skill-evaluation.js.map +1 -0
  293. package/dist/storage/cos.d.ts +11 -0
  294. package/dist/storage/cos.d.ts.map +1 -1
  295. package/dist/storage/cos.js +29 -0
  296. package/dist/storage/cos.js.map +1 -1
  297. package/package.json +29 -1
@@ -0,0 +1,233 @@
1
+ import { z } from 'zod';
2
+ export declare const WORKSPACE_ARTIFACT_KINDS: readonly ["playable", "image", "video", "model", "audio", "document", "file"];
3
+ export declare const WORKSPACE_ARTIFACT_CHUNK_BYTES: number;
4
+ export declare const WORKSPACE_ARTIFACT_MAX_BYTES: number;
5
+ export declare const workspaceArtifactSourceSchema: z.ZodObject<{
6
+ kind: z.ZodEnum<{
7
+ generated: "generated";
8
+ discovered: "discovered";
9
+ imported: "imported";
10
+ }>;
11
+ sessionId: z.ZodOptional<z.ZodString>;
12
+ operationId: z.ZodOptional<z.ZodString>;
13
+ tool: z.ZodOptional<z.ZodString>;
14
+ generatedAt: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strict>;
16
+ export declare const workspaceArtifactFileSchema: z.ZodObject<{
17
+ path: z.ZodString;
18
+ mimeType: z.ZodString;
19
+ size: z.ZodNumber;
20
+ sha256: z.ZodString;
21
+ role: z.ZodEnum<{
22
+ primary: "primary";
23
+ resource: "resource";
24
+ thumbnail: "thumbnail";
25
+ }>;
26
+ }, z.core.$strict>;
27
+ export declare const workspaceArtifactVersionSchema: z.ZodObject<{
28
+ id: z.ZodString;
29
+ createdAt: z.ZodString;
30
+ path: z.ZodString;
31
+ mimeType: z.ZodString;
32
+ size: z.ZodNumber;
33
+ sha256: z.ZodString;
34
+ source: z.ZodObject<{
35
+ kind: z.ZodEnum<{
36
+ generated: "generated";
37
+ discovered: "discovered";
38
+ imported: "imported";
39
+ }>;
40
+ sessionId: z.ZodOptional<z.ZodString>;
41
+ operationId: z.ZodOptional<z.ZodString>;
42
+ tool: z.ZodOptional<z.ZodString>;
43
+ generatedAt: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strict>;
45
+ files: z.ZodArray<z.ZodObject<{
46
+ path: z.ZodString;
47
+ mimeType: z.ZodString;
48
+ size: z.ZodNumber;
49
+ sha256: z.ZodString;
50
+ role: z.ZodEnum<{
51
+ primary: "primary";
52
+ resource: "resource";
53
+ thumbnail: "thumbnail";
54
+ }>;
55
+ }, z.core.$strict>>;
56
+ width: z.ZodOptional<z.ZodNumber>;
57
+ height: z.ZodOptional<z.ZodNumber>;
58
+ duration: z.ZodOptional<z.ZodNumber>;
59
+ previewId: z.ZodOptional<z.ZodString>;
60
+ artifactId: z.ZodOptional<z.ZodString>;
61
+ storageStatus: z.ZodOptional<z.ZodEnum<{
62
+ pending: "pending";
63
+ failed: "failed";
64
+ ready: "ready";
65
+ }>>;
66
+ }, z.core.$strict>;
67
+ export declare const workspaceArtifactSchema: z.ZodObject<{
68
+ id: z.ZodString;
69
+ kind: z.ZodEnum<{
70
+ playable: "playable";
71
+ file: "file";
72
+ model: "model";
73
+ video: "video";
74
+ audio: "audio";
75
+ image: "image";
76
+ document: "document";
77
+ }>;
78
+ name: z.ZodString;
79
+ currentVersionId: z.ZodString;
80
+ updatedAt: z.ZodString;
81
+ versions: z.ZodArray<z.ZodObject<{
82
+ id: z.ZodString;
83
+ createdAt: z.ZodString;
84
+ path: z.ZodString;
85
+ mimeType: z.ZodString;
86
+ size: z.ZodNumber;
87
+ sha256: z.ZodString;
88
+ source: z.ZodObject<{
89
+ kind: z.ZodEnum<{
90
+ generated: "generated";
91
+ discovered: "discovered";
92
+ imported: "imported";
93
+ }>;
94
+ sessionId: z.ZodOptional<z.ZodString>;
95
+ operationId: z.ZodOptional<z.ZodString>;
96
+ tool: z.ZodOptional<z.ZodString>;
97
+ generatedAt: z.ZodOptional<z.ZodString>;
98
+ }, z.core.$strict>;
99
+ files: z.ZodArray<z.ZodObject<{
100
+ path: z.ZodString;
101
+ mimeType: z.ZodString;
102
+ size: z.ZodNumber;
103
+ sha256: z.ZodString;
104
+ role: z.ZodEnum<{
105
+ primary: "primary";
106
+ resource: "resource";
107
+ thumbnail: "thumbnail";
108
+ }>;
109
+ }, z.core.$strict>>;
110
+ width: z.ZodOptional<z.ZodNumber>;
111
+ height: z.ZodOptional<z.ZodNumber>;
112
+ duration: z.ZodOptional<z.ZodNumber>;
113
+ previewId: z.ZodOptional<z.ZodString>;
114
+ artifactId: z.ZodOptional<z.ZodString>;
115
+ storageStatus: z.ZodOptional<z.ZodEnum<{
116
+ pending: "pending";
117
+ failed: "failed";
118
+ ready: "ready";
119
+ }>>;
120
+ }, z.core.$strict>>;
121
+ }, z.core.$strict>;
122
+ export declare const workspaceArtifactListSchema: z.ZodObject<{
123
+ artifacts: z.ZodArray<z.ZodObject<{
124
+ id: z.ZodString;
125
+ kind: z.ZodEnum<{
126
+ playable: "playable";
127
+ file: "file";
128
+ model: "model";
129
+ video: "video";
130
+ audio: "audio";
131
+ image: "image";
132
+ document: "document";
133
+ }>;
134
+ name: z.ZodString;
135
+ currentVersionId: z.ZodString;
136
+ updatedAt: z.ZodString;
137
+ versions: z.ZodArray<z.ZodObject<{
138
+ id: z.ZodString;
139
+ createdAt: z.ZodString;
140
+ path: z.ZodString;
141
+ mimeType: z.ZodString;
142
+ size: z.ZodNumber;
143
+ sha256: z.ZodString;
144
+ source: z.ZodObject<{
145
+ kind: z.ZodEnum<{
146
+ generated: "generated";
147
+ discovered: "discovered";
148
+ imported: "imported";
149
+ }>;
150
+ sessionId: z.ZodOptional<z.ZodString>;
151
+ operationId: z.ZodOptional<z.ZodString>;
152
+ tool: z.ZodOptional<z.ZodString>;
153
+ generatedAt: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$strict>;
155
+ files: z.ZodArray<z.ZodObject<{
156
+ path: z.ZodString;
157
+ mimeType: z.ZodString;
158
+ size: z.ZodNumber;
159
+ sha256: z.ZodString;
160
+ role: z.ZodEnum<{
161
+ primary: "primary";
162
+ resource: "resource";
163
+ thumbnail: "thumbnail";
164
+ }>;
165
+ }, z.core.$strict>>;
166
+ width: z.ZodOptional<z.ZodNumber>;
167
+ height: z.ZodOptional<z.ZodNumber>;
168
+ duration: z.ZodOptional<z.ZodNumber>;
169
+ previewId: z.ZodOptional<z.ZodString>;
170
+ artifactId: z.ZodOptional<z.ZodString>;
171
+ storageStatus: z.ZodOptional<z.ZodEnum<{
172
+ pending: "pending";
173
+ failed: "failed";
174
+ ready: "ready";
175
+ }>>;
176
+ }, z.core.$strict>>;
177
+ }, z.core.$strict>>;
178
+ scannedAt: z.ZodString;
179
+ runtimeUnavailable: z.ZodOptional<z.ZodBoolean>;
180
+ }, z.core.$strict>;
181
+ export declare const workspaceArtifactContentQuerySchema: z.ZodObject<{
182
+ artifactId: z.ZodString;
183
+ versionId: z.ZodString;
184
+ path: z.ZodOptional<z.ZodString>;
185
+ offset: z.ZodDefault<z.ZodNumber>;
186
+ length: z.ZodDefault<z.ZodNumber>;
187
+ }, z.core.$strict>;
188
+ export declare const workspaceArtifactContentSchema: z.ZodObject<{
189
+ content: z.ZodString;
190
+ mimeType: z.ZodString;
191
+ totalBytes: z.ZodNumber;
192
+ offset: z.ZodNumber;
193
+ sha256: z.ZodString;
194
+ }, z.core.$strict>;
195
+ export declare const workspaceArtifactReceiptSchema: z.ZodObject<{
196
+ id: z.ZodString;
197
+ workspaceId: z.ZodString;
198
+ path: z.ZodString;
199
+ source: z.ZodObject<{
200
+ kind: z.ZodEnum<{
201
+ generated: "generated";
202
+ discovered: "discovered";
203
+ imported: "imported";
204
+ }>;
205
+ sessionId: z.ZodOptional<z.ZodString>;
206
+ operationId: z.ZodOptional<z.ZodString>;
207
+ tool: z.ZodOptional<z.ZodString>;
208
+ generatedAt: z.ZodOptional<z.ZodString>;
209
+ }, z.core.$strict>;
210
+ files: z.ZodArray<z.ZodObject<{
211
+ path: z.ZodString;
212
+ mimeType: z.ZodString;
213
+ size: z.ZodNumber;
214
+ sha256: z.ZodString;
215
+ role: z.ZodEnum<{
216
+ primary: "primary";
217
+ resource: "resource";
218
+ thumbnail: "thumbnail";
219
+ }>;
220
+ }, z.core.$strict>>;
221
+ width: z.ZodOptional<z.ZodNumber>;
222
+ height: z.ZodOptional<z.ZodNumber>;
223
+ duration: z.ZodOptional<z.ZodNumber>;
224
+ }, z.core.$strict>;
225
+ export type WorkspaceArtifactSource = z.infer<typeof workspaceArtifactSourceSchema>;
226
+ export type WorkspaceArtifactFile = z.infer<typeof workspaceArtifactFileSchema>;
227
+ export type WorkspaceArtifactVersion = z.infer<typeof workspaceArtifactVersionSchema>;
228
+ export type WorkspaceArtifact = z.infer<typeof workspaceArtifactSchema>;
229
+ export type WorkspaceArtifactList = z.infer<typeof workspaceArtifactListSchema>;
230
+ export type WorkspaceArtifactContentQuery = z.input<typeof workspaceArtifactContentQuerySchema>;
231
+ export type WorkspaceArtifactContent = z.infer<typeof workspaceArtifactContentSchema>;
232
+ export type WorkspaceArtifactReceipt = z.infer<typeof workspaceArtifactReceiptSchema>;
233
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB,+EAAgF,CAAC;AACtH,eAAO,MAAM,8BAA8B,QAAc,CAAC;AAC1D,eAAO,MAAM,4BAA4B,QAAoB,CAAC;AAE9D,eAAO,MAAM,6BAA6B;;;;;;;;;;kBAM/B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;kBAM7B,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBzC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAI7B,CAAC;AAEZ,eAAO,MAAM,mCAAmC;;;;;;kBAMrC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;kBAMhC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAazC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -0,0 +1,94 @@
1
+ import { z } from 'zod';
2
+ import { workspaceRelativePathSchema } from './files.js';
3
+ export const WORKSPACE_ARTIFACT_KINDS = ['playable', 'image', 'video', 'model', 'audio', 'document', 'file'];
4
+ export const WORKSPACE_ARTIFACT_CHUNK_BYTES = 1024 * 1024;
5
+ export const WORKSPACE_ARTIFACT_MAX_BYTES = 512 * 1024 * 1024;
6
+ export const workspaceArtifactSourceSchema = z.object({
7
+ kind: z.enum(['generated', 'discovered', 'imported']),
8
+ sessionId: z.string().min(1).max(128).optional(),
9
+ operationId: z.string().min(1).max(128).optional(),
10
+ tool: z.string().min(1).max(128).optional(),
11
+ generatedAt: z.string().datetime().optional(),
12
+ }).strict();
13
+ export const workspaceArtifactFileSchema = z.object({
14
+ path: workspaceRelativePathSchema,
15
+ mimeType: z.string().min(1).max(128),
16
+ size: z.number().int().nonnegative().max(WORKSPACE_ARTIFACT_MAX_BYTES),
17
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
18
+ role: z.enum(['primary', 'resource', 'thumbnail']),
19
+ }).strict();
20
+ export const workspaceArtifactVersionSchema = z.object({
21
+ id: z.string().min(1).max(128),
22
+ createdAt: z.string().datetime(),
23
+ path: workspaceRelativePathSchema,
24
+ mimeType: z.string().min(1).max(128),
25
+ size: z.number().int().nonnegative().max(WORKSPACE_ARTIFACT_MAX_BYTES),
26
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
27
+ source: workspaceArtifactSourceSchema,
28
+ files: z.array(workspaceArtifactFileSchema).min(1).max(256),
29
+ width: z.number().int().positive().optional(),
30
+ height: z.number().int().positive().optional(),
31
+ duration: z.number().nonnegative().optional(),
32
+ previewId: z.string().min(1).max(128).optional(),
33
+ artifactId: z.string().min(1).max(128).optional(),
34
+ storageStatus: z.enum(['pending', 'ready', 'failed']).optional(),
35
+ }).strict().superRefine((version, context) => {
36
+ const paths = version.files.map(file => file.path);
37
+ if (new Set(paths).size !== paths.length)
38
+ context.addIssue({ code: 'custom', message: 'artifact_duplicate_resource_path' });
39
+ const primary = version.files.filter(file => file.role === 'primary');
40
+ if (primary.length !== 1 || primary[0].path !== version.path || primary[0].sha256 !== version.sha256
41
+ || primary[0].size !== version.size || primary[0].mimeType !== version.mimeType) {
42
+ context.addIssue({ code: 'custom', message: 'artifact_primary_mismatch' });
43
+ }
44
+ });
45
+ export const workspaceArtifactSchema = z.object({
46
+ id: z.string().min(1).max(128),
47
+ kind: z.enum(WORKSPACE_ARTIFACT_KINDS),
48
+ name: z.string().min(1).max(512),
49
+ currentVersionId: z.string().min(1).max(128),
50
+ updatedAt: z.string().datetime(),
51
+ versions: z.array(workspaceArtifactVersionSchema).min(1),
52
+ }).strict().superRefine((artifact, context) => {
53
+ const versions = artifact.versions.map(version => version.id);
54
+ if (new Set(versions).size !== versions.length)
55
+ context.addIssue({ code: 'custom', message: 'artifact_duplicate_version' });
56
+ if (!versions.includes(artifact.currentVersionId))
57
+ context.addIssue({ code: 'custom', message: 'artifact_current_version_missing' });
58
+ });
59
+ export const workspaceArtifactListSchema = z.object({
60
+ artifacts: z.array(workspaceArtifactSchema),
61
+ scannedAt: z.string().datetime(),
62
+ runtimeUnavailable: z.boolean().optional(),
63
+ }).strict();
64
+ export const workspaceArtifactContentQuerySchema = z.object({
65
+ artifactId: z.string().min(1).max(128),
66
+ versionId: z.string().min(1).max(128),
67
+ path: workspaceRelativePathSchema.optional(),
68
+ offset: z.number().int().nonnegative().default(0),
69
+ length: z.number().int().positive().max(WORKSPACE_ARTIFACT_CHUNK_BYTES).default(WORKSPACE_ARTIFACT_CHUNK_BYTES),
70
+ }).strict();
71
+ export const workspaceArtifactContentSchema = z.object({
72
+ content: z.string().max(4 * Math.ceil(WORKSPACE_ARTIFACT_CHUNK_BYTES / 3)),
73
+ mimeType: z.string().min(1).max(128),
74
+ totalBytes: z.number().int().nonnegative().max(WORKSPACE_ARTIFACT_MAX_BYTES),
75
+ offset: z.number().int().nonnegative(),
76
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
77
+ }).strict();
78
+ export const workspaceArtifactReceiptSchema = z.object({
79
+ id: z.string().uuid(),
80
+ workspaceId: z.string().min(1).max(128),
81
+ path: workspaceRelativePathSchema,
82
+ source: workspaceArtifactSourceSchema,
83
+ files: z.array(workspaceArtifactFileSchema).min(1).max(256),
84
+ width: z.number().int().positive().optional(),
85
+ height: z.number().int().positive().optional(),
86
+ duration: z.number().nonnegative().optional(),
87
+ }).strict().superRefine((receipt, context) => {
88
+ const primary = receipt.files.filter(file => file.role === 'primary');
89
+ if (primary.length !== 1 || primary[0].path !== receipt.path)
90
+ context.addIssue({ code: 'custom', message: 'artifact_primary_mismatch' });
91
+ if (new Set(receipt.files.map(file => file.path)).size !== receipt.files.length)
92
+ context.addIssue({ code: 'custom', message: 'artifact_duplicate_resource_path' });
93
+ });
94
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export declare const WORKSPACE_ATTACHMENT_MAX_BYTES: number;
3
+ export declare const WORKSPACE_VIDEO_ATTACHMENT_MAX_BYTES: number;
4
+ export declare const WORKSPACE_VIDEO_ATTACHMENT_MAX_DURATION_MS = 180000;
5
+ export declare const WORKSPACE_ATTACHMENT_MAX_COUNT = 8;
6
+ export declare const attachmentIdsSchema: z.ZodArray<z.ZodString>;
7
+ export declare const attachmentUploadSchema: z.ZodObject<{
8
+ name: z.ZodString;
9
+ content: z.ZodString;
10
+ }, z.core.$strip>;
11
+ export declare const workspaceVideoAttachmentQuerySchema: z.ZodObject<{
12
+ name: z.ZodString;
13
+ }, z.core.$strip>;
14
+ export declare const WORKSPACE_VIDEO_ATTACHMENT_MIME_TYPES: readonly ["video/mp4", "video/webm", "video/quicktime"];
15
+ export type WorkspaceAttachment = {
16
+ id: string;
17
+ name: string;
18
+ size: number;
19
+ mimeType: string;
20
+ sha256?: string;
21
+ durationMs?: number;
22
+ width?: number;
23
+ height?: number;
24
+ };
25
+ export declare const WORKSPACE_USER_UPLOADS_DIRECTORY = ".tmp/user_uploads";
26
+ /** Only managed attachment files bypass the usual scratch-file backup exclusions. */
27
+ export declare function isWorkspaceAttachmentPath(path: string): boolean;
28
+ //# sourceMappingURL=attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B,QAAkB,CAAC;AAC9D,eAAO,MAAM,oCAAoC,QAAoB,CAAC;AACtE,eAAO,MAAM,0CAA0C,SAAU,CAAC;AAClE,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,mBAAmB,yBAAiE,CAAC;AAClG,eAAO,MAAM,sBAAsB;;;iBAUjC,CAAC;AACH,eAAO,MAAM,mCAAmC;;iBAE9C,CAAC;AACH,eAAO,MAAM,qCAAqC,yDAA0D,CAAC;AAC7G,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gCAAgC,sBAAsB,CAAC;AAEpE,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY/D"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ export const WORKSPACE_ATTACHMENT_MAX_BYTES = 5 * 1024 * 1024;
3
+ export const WORKSPACE_VIDEO_ATTACHMENT_MAX_BYTES = 100 * 1024 * 1024;
4
+ export const WORKSPACE_VIDEO_ATTACHMENT_MAX_DURATION_MS = 180_000;
5
+ export const WORKSPACE_ATTACHMENT_MAX_COUNT = 8;
6
+ export const attachmentIdsSchema = z.array(z.string().uuid()).max(WORKSPACE_ATTACHMENT_MAX_COUNT);
7
+ export const attachmentUploadSchema = z.object({
8
+ name: z
9
+ .string()
10
+ .min(1)
11
+ .max(255)
12
+ .refine((name) => !/[\\/\x00-\x1f]/.test(name) && name !== '.' && name !== '..'),
13
+ content: z
14
+ .string()
15
+ .max(4 * Math.ceil(WORKSPACE_ATTACHMENT_MAX_BYTES / 3))
16
+ .regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),
17
+ });
18
+ export const workspaceVideoAttachmentQuerySchema = z.object({
19
+ name: attachmentUploadSchema.shape.name,
20
+ });
21
+ export const WORKSPACE_VIDEO_ATTACHMENT_MIME_TYPES = ['video/mp4', 'video/webm', 'video/quicktime'];
22
+ export const WORKSPACE_USER_UPLOADS_DIRECTORY = '.tmp/user_uploads';
23
+ /** Only managed attachment files bypass the usual scratch-file backup exclusions. */
24
+ export function isWorkspaceAttachmentPath(path) {
25
+ const parts = path.split('/');
26
+ if (parts.length !== 4 || parts[0] !== '.tmp' || parts[1] !== 'user_uploads')
27
+ return false;
28
+ if (parts[2] === '.metadata') {
29
+ return (parts[3].endsWith('.json') && z.string().uuid().safeParse(parts[3].slice(0, -5)).success);
30
+ }
31
+ return (z.string().uuid().safeParse(parts[2]).success &&
32
+ attachmentUploadSchema.shape.name.safeParse(parts[3]).success);
33
+ }
34
+ //# sourceMappingURL=attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9D,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACtE,MAAM,CAAC,MAAM,0CAA0C,GAAG,OAAO,CAAC;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;IAClF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC;SACtD,KAAK,CAAC,kEAAkE,CAAC;CAC7E,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI;CACxC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAU,CAAC;AAY7G,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAEpE,qFAAqF;AACrF,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,CACL,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,CACL,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAC7C,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC9D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,229 @@
1
+ import { z } from 'zod';
2
+ export declare const MAX_BATCH_VARIANTS = 10;
3
+ export declare const MAX_BATCH_GENERATION_SLOTS = 3;
4
+ export declare const batchVariantDifferenceSchema: z.ZodReadonly<z.ZodObject<{
5
+ variantId: z.ZodString;
6
+ name: z.ZodString;
7
+ changes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
8
+ preserves: z.ZodReadonly<z.ZodArray<z.ZodString>>;
9
+ }, z.core.$strict>>;
10
+ export type BatchVariantDifference = z.infer<typeof batchVariantDifferenceSchema>;
11
+ export declare const batchVariantManifestSchema: z.ZodReadonly<z.ZodObject<{
12
+ batchId: z.ZodString;
13
+ version: z.ZodNumber;
14
+ commonGoal: z.ZodString;
15
+ sourceDirectoryName: z.ZodOptional<z.ZodString>;
16
+ autoStart: z.ZodOptional<z.ZodBoolean>;
17
+ variants: z.ZodReadonly<z.ZodArray<z.ZodReadonly<z.ZodObject<{
18
+ variantId: z.ZodString;
19
+ name: z.ZodString;
20
+ changes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
21
+ preserves: z.ZodReadonly<z.ZodArray<z.ZodString>>;
22
+ }, z.core.$strict>>>>;
23
+ }, z.core.$strict>>;
24
+ export type BatchVariantManifest = z.infer<typeof batchVariantManifestSchema>;
25
+ /** Uses SHA-256 (Secure Hash Algorithm 256-bit, 256 位安全散列算法) over the normalized manifest. */
26
+ export declare function batchVariantManifestDigest(manifest: BatchVariantManifest): string;
27
+ /**
28
+ * The baseline is a commit on the batch preparation remix that was saved and pushed. `checksum` is the SHA-256 of the
29
+ * commit's full tree listing, so equal engineering content always yields the same checksum.
30
+ */
31
+ export declare const batchBaselineSnapshotSchema: z.ZodReadonly<z.ZodObject<{
32
+ batchId: z.ZodString;
33
+ projectId: z.ZodString;
34
+ snapshotId: z.ZodString;
35
+ sourceWorkspaceId: z.ZodString;
36
+ commitHash: z.ZodString;
37
+ checksum: z.ZodString;
38
+ sourceVersion: z.ZodString;
39
+ engine: z.ZodString;
40
+ skillLockDigest: z.ZodString;
41
+ frozenAt: z.ZodString;
42
+ }, z.core.$strict>>;
43
+ export type BatchBaselineSnapshot = z.infer<typeof batchBaselineSnapshotSchema>;
44
+ export declare function batchCommitSourceVersion(commitHash: string): string;
45
+ /** The baseline digest binds business ownership, the frozen commit and execution configuration together. */
46
+ export declare function batchBaselineSnapshotDigest(baseline: BatchBaselineSnapshot): string;
47
+ export declare function assertBatchBaselineUnchanged(existing: BatchBaselineSnapshot, candidate: BatchBaselineSnapshot): void;
48
+ /** These facts must come from trusted Runtime receipts; a submitted boolean is not execution evidence. */
49
+ export declare const batchBaselineValidationSchema: z.ZodReadonly<z.ZodObject<{
50
+ snapshotId: z.ZodString;
51
+ snapshotChecksum: z.ZodString;
52
+ buildId: z.ZodString;
53
+ previewId: z.ZodString;
54
+ previewUrl: z.ZodString;
55
+ buildSucceeded: z.ZodLiteral<true>;
56
+ previewOpened: z.ZodLiteral<true>;
57
+ writersStopped: z.ZodLiteral<true>;
58
+ validatedAt: z.ZodString;
59
+ }, z.core.$strict>>;
60
+ export type BatchBaselineValidation = z.infer<typeof batchBaselineValidationSchema>;
61
+ export declare const batchApprovalSchema: z.ZodReadonly<z.ZodObject<{
62
+ batchId: z.ZodString;
63
+ projectId: z.ZodString;
64
+ snapshotId: z.ZodString;
65
+ snapshotChecksum: z.ZodString;
66
+ baselineDigest: z.ZodString;
67
+ manifestVersion: z.ZodNumber;
68
+ manifestDigest: z.ZodString;
69
+ approvedBy: z.ZodString;
70
+ approvedAt: z.ZodString;
71
+ }, z.core.$strict>>;
72
+ export type BatchApproval = z.infer<typeof batchApprovalSchema>;
73
+ type BatchApprovalContext = {
74
+ baseline: BatchBaselineSnapshot;
75
+ manifest: BatchVariantManifest;
76
+ validation: BatchBaselineValidation;
77
+ };
78
+ /** Persist creation authorization or the explicit approval and queue admission in one transaction. */
79
+ export declare function createBatchApproval(input: BatchApprovalContext & {
80
+ actorId: string;
81
+ approvedAt: string;
82
+ }): BatchApproval;
83
+ export declare function assertBatchApproval(input: BatchApprovalContext & {
84
+ approval: BatchApproval;
85
+ }): void;
86
+ export declare const BATCH_ATTEMPT_STATUSES: readonly ["queued", "preparing", "generating", "saving", "building", "publishing", "completed", "failed", "cancelling", "cancelled", "unknown"];
87
+ export declare const batchAttemptStatusSchema: z.ZodEnum<{
88
+ unknown: "unknown";
89
+ completed: "completed";
90
+ failed: "failed";
91
+ cancelled: "cancelled";
92
+ queued: "queued";
93
+ generating: "generating";
94
+ preparing: "preparing";
95
+ saving: "saving";
96
+ building: "building";
97
+ publishing: "publishing";
98
+ cancelling: "cancelling";
99
+ }>;
100
+ export type BatchAttemptStatus = z.infer<typeof batchAttemptStatusSchema>;
101
+ export declare const batchResultVersionSchema: z.ZodReadonly<z.ZodObject<{
102
+ createdAt: z.ZodString;
103
+ batchId: z.ZodString;
104
+ variantId: z.ZodString;
105
+ resultVersionId: z.ZodString;
106
+ projectId: z.ZodString;
107
+ remixId: z.ZodString;
108
+ workspaceId: z.ZodString;
109
+ snapshotId: z.ZodString;
110
+ snapshotChecksum: z.ZodString;
111
+ manifestVersion: z.ZodNumber;
112
+ manifestDigest: z.ZodString;
113
+ }, z.core.$strict>>;
114
+ export type BatchResultVersion = z.infer<typeof batchResultVersionSchema>;
115
+ export declare const batchAttemptIdentitySchema: z.ZodReadonly<z.ZodObject<{
116
+ attemptId: z.ZodString;
117
+ batchId: z.ZodString;
118
+ variantId: z.ZodString;
119
+ resultVersionId: z.ZodString;
120
+ projectId: z.ZodString;
121
+ remixId: z.ZodString;
122
+ workspaceId: z.ZodString;
123
+ snapshotId: z.ZodString;
124
+ snapshotChecksum: z.ZodString;
125
+ manifestVersion: z.ZodNumber;
126
+ manifestDigest: z.ZodString;
127
+ }, z.core.$strict>>;
128
+ export type BatchAttemptIdentity = z.infer<typeof batchAttemptIdentitySchema>;
129
+ export declare function assertBatchAttemptApproved(input: BatchApprovalContext & {
130
+ approval: BatchApproval;
131
+ attempt: BatchAttemptIdentity;
132
+ }): void;
133
+ export declare const batchStoppedEvidenceSchema: z.ZodObject<{
134
+ executionStopped: z.ZodBoolean;
135
+ managedWritesStopped: z.ZodBoolean;
136
+ }, z.core.$strict>;
137
+ export type BatchStoppedEvidence = z.infer<typeof batchStoppedEvidenceSchema>;
138
+ export declare function canReleaseBatchAttempt(status: BatchAttemptStatus, stopped: BatchStoppedEvidence): boolean;
139
+ export declare const batchSavedEvidenceSchema: z.ZodObject<{
140
+ pushedCommitHash: z.ZodString;
141
+ attemptId: z.ZodString;
142
+ resultVersionId: z.ZodString;
143
+ workspaceId: z.ZodString;
144
+ sourceDigest: z.ZodString;
145
+ commitHash: z.ZodString;
146
+ }, z.core.$strict>;
147
+ export type BatchSavedEvidence = z.infer<typeof batchSavedEvidenceSchema>;
148
+ export declare const batchBuildEvidenceSchema: z.ZodObject<{
149
+ buildId: z.ZodString;
150
+ succeeded: z.ZodBoolean;
151
+ attemptId: z.ZodString;
152
+ resultVersionId: z.ZodString;
153
+ workspaceId: z.ZodString;
154
+ sourceDigest: z.ZodString;
155
+ commitHash: z.ZodString;
156
+ }, z.core.$strict>;
157
+ export type BatchBuildEvidence = z.infer<typeof batchBuildEvidenceSchema>;
158
+ export declare const batchPreviewEvidenceSchema: z.ZodObject<{
159
+ buildId: z.ZodString;
160
+ previewId: z.ZodString;
161
+ previewUrl: z.ZodString;
162
+ published: z.ZodBoolean;
163
+ opened: z.ZodBoolean;
164
+ attemptId: z.ZodString;
165
+ resultVersionId: z.ZodString;
166
+ workspaceId: z.ZodString;
167
+ sourceDigest: z.ZodString;
168
+ commitHash: z.ZodString;
169
+ }, z.core.$strict>;
170
+ export type BatchPreviewEvidence = z.infer<typeof batchPreviewEvidenceSchema>;
171
+ export declare const batchCompletionEvidenceSchema: z.ZodObject<{
172
+ attempt: z.ZodReadonly<z.ZodObject<{
173
+ attemptId: z.ZodString;
174
+ batchId: z.ZodString;
175
+ variantId: z.ZodString;
176
+ resultVersionId: z.ZodString;
177
+ projectId: z.ZodString;
178
+ remixId: z.ZodString;
179
+ workspaceId: z.ZodString;
180
+ snapshotId: z.ZodString;
181
+ snapshotChecksum: z.ZodString;
182
+ manifestVersion: z.ZodNumber;
183
+ manifestDigest: z.ZodString;
184
+ }, z.core.$strict>>;
185
+ saved: z.ZodObject<{
186
+ pushedCommitHash: z.ZodString;
187
+ attemptId: z.ZodString;
188
+ resultVersionId: z.ZodString;
189
+ workspaceId: z.ZodString;
190
+ sourceDigest: z.ZodString;
191
+ commitHash: z.ZodString;
192
+ }, z.core.$strict>;
193
+ build: z.ZodObject<{
194
+ buildId: z.ZodString;
195
+ succeeded: z.ZodBoolean;
196
+ attemptId: z.ZodString;
197
+ resultVersionId: z.ZodString;
198
+ workspaceId: z.ZodString;
199
+ sourceDigest: z.ZodString;
200
+ commitHash: z.ZodString;
201
+ }, z.core.$strict>;
202
+ preview: z.ZodObject<{
203
+ buildId: z.ZodString;
204
+ previewId: z.ZodString;
205
+ previewUrl: z.ZodString;
206
+ published: z.ZodBoolean;
207
+ opened: z.ZodBoolean;
208
+ attemptId: z.ZodString;
209
+ resultVersionId: z.ZodString;
210
+ workspaceId: z.ZodString;
211
+ sourceDigest: z.ZodString;
212
+ commitHash: z.ZodString;
213
+ }, z.core.$strict>;
214
+ stopped: z.ZodObject<{
215
+ executionStopped: z.ZodBoolean;
216
+ managedWritesStopped: z.ZodBoolean;
217
+ }, z.core.$strict>;
218
+ }, z.core.$strict>;
219
+ export type BatchCompletionEvidence = z.infer<typeof batchCompletionEvidenceSchema>;
220
+ export type BatchCompletionDecision = {
221
+ complete: true;
222
+ } | {
223
+ complete: false;
224
+ reason: 'invalid_evidence' | 'attempt_mismatch' | 'save_unpushed' | 'build_mismatch' | 'build_failed' | 'preview_mismatch' | 'preview_unavailable' | 'execution_not_stopped';
225
+ };
226
+ /** Only evidence from the current attempt and exact saved version can complete a result. */
227
+ export declare function evaluateBatchCompletion(input: BatchCompletionEvidence): BatchCompletionDecision;
228
+ export {};
229
+ //# sourceMappingURL=batch-generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-generation.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/batch-generation.ts"],"names":[],"mappings":"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"}