@playcraft/common 0.0.57 → 0.0.58

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 (252) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/gamepilot.d.ts +17 -0
  3. package/dist/agent/gamepilot.d.ts.map +1 -0
  4. package/dist/agent/gamepilot.js +37 -0
  5. package/dist/agent/gamepilot.js.map +1 -0
  6. package/dist/agent/index.d.ts +1 -0
  7. package/dist/agent/index.d.ts.map +1 -1
  8. package/dist/agent/index.js +1 -0
  9. package/dist/agent/index.js.map +1 -1
  10. package/dist/agent/openai-responses-api.d.ts +12 -0
  11. package/dist/agent/openai-responses-api.d.ts.map +1 -1
  12. package/dist/agent/openai-responses-api.js +30 -0
  13. package/dist/agent/openai-responses-api.js.map +1 -1
  14. package/dist/agent/runtime-failure.d.ts +3 -1
  15. package/dist/agent/runtime-failure.d.ts.map +1 -1
  16. package/dist/agent/runtime-failure.js +6 -1
  17. package/dist/agent/runtime-failure.js.map +1 -1
  18. package/dist/agent/session-title.d.ts +1 -1
  19. package/dist/agent/session-title.js +1 -1
  20. package/dist/agent-messages/db-message-converter.d.ts +12 -0
  21. package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
  22. package/dist/agent-messages/db-message-converter.js +28 -0
  23. package/dist/agent-messages/db-message-converter.js.map +1 -1
  24. package/dist/agent-messages/runtime-user-messages.d.ts +3 -0
  25. package/dist/agent-messages/runtime-user-messages.d.ts.map +1 -1
  26. package/dist/agent-messages/runtime-user-messages.js +36 -2
  27. package/dist/agent-messages/runtime-user-messages.js.map +1 -1
  28. package/dist/agent-tools/index.d.ts +1 -0
  29. package/dist/agent-tools/index.d.ts.map +1 -1
  30. package/dist/agent-tools/index.js +1 -0
  31. package/dist/agent-tools/index.js.map +1 -1
  32. package/dist/agent-tools/operation-protocol.d.ts +10 -0
  33. package/dist/agent-tools/operation-protocol.d.ts.map +1 -0
  34. package/dist/agent-tools/operation-protocol.js +13 -0
  35. package/dist/agent-tools/operation-protocol.js.map +1 -0
  36. package/dist/agent-tools/types.d.ts +1 -1
  37. package/dist/agent-tools/types.d.ts.map +1 -1
  38. package/dist/agent-tools/types.js +8 -1
  39. package/dist/agent-tools/types.js.map +1 -1
  40. package/dist/auth/index.d.ts +2 -0
  41. package/dist/auth/index.d.ts.map +1 -1
  42. package/dist/auth/index.js +2 -0
  43. package/dist/auth/index.js.map +1 -1
  44. package/dist/auth/jwt.d.ts.map +1 -1
  45. package/dist/auth/jwt.js +2 -7
  46. package/dist/auth/jwt.js.map +1 -1
  47. package/dist/auth/project-access-checker.d.ts +42 -0
  48. package/dist/auth/project-access-checker.d.ts.map +1 -0
  49. package/dist/auth/project-access-checker.js +81 -0
  50. package/dist/auth/project-access-checker.js.map +1 -0
  51. package/dist/auth/resolve-secret.d.ts +18 -0
  52. package/dist/auth/resolve-secret.d.ts.map +1 -0
  53. package/dist/auth/resolve-secret.js +33 -0
  54. package/dist/auth/resolve-secret.js.map +1 -0
  55. package/dist/auth/signature.d.ts +6 -1
  56. package/dist/auth/signature.d.ts.map +1 -1
  57. package/dist/auth/signature.js +8 -3
  58. package/dist/auth/signature.js.map +1 -1
  59. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +57 -0
  60. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -0
  61. package/dist/cloud-workspace/runtime/agent-chat-flush.js +55 -0
  62. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -0
  63. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +266 -0
  64. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +1 -0
  65. package/dist/cloud-workspace/runtime/agent-codebuddy.js +189 -0
  66. package/dist/cloud-workspace/runtime/agent-codebuddy.js.map +1 -0
  67. package/dist/cloud-workspace/runtime/agent-command.d.ts +130 -0
  68. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -0
  69. package/dist/cloud-workspace/runtime/agent-command.js +75 -0
  70. package/dist/cloud-workspace/runtime/agent-command.js.map +1 -0
  71. package/dist/cloud-workspace/runtime/agent-connection.d.ts +76 -0
  72. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +1 -0
  73. package/dist/cloud-workspace/runtime/agent-connection.js +59 -0
  74. package/dist/cloud-workspace/runtime/agent-connection.js.map +1 -0
  75. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +85 -0
  76. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -0
  77. package/dist/cloud-workspace/runtime/agent-lifecycle.js +70 -0
  78. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -0
  79. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +197 -0
  80. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +1 -0
  81. package/dist/cloud-workspace/runtime/agent-mutation.js +114 -0
  82. package/dist/cloud-workspace/runtime/agent-mutation.js.map +1 -0
  83. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +156 -0
  84. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -0
  85. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +141 -0
  86. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -0
  87. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +240 -0
  88. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +1 -0
  89. package/dist/cloud-workspace/runtime/agent-opencode.js +176 -0
  90. package/dist/cloud-workspace/runtime/agent-opencode.js.map +1 -0
  91. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +20 -0
  92. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -0
  93. package/dist/cloud-workspace/runtime/agent-promotion.js +19 -0
  94. package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -0
  95. package/dist/cloud-workspace/runtime/agent-read.d.ts +343 -0
  96. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +1 -0
  97. package/dist/cloud-workspace/runtime/agent-read.js +159 -0
  98. package/dist/cloud-workspace/runtime/agent-read.js.map +1 -0
  99. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +18 -0
  100. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +1 -0
  101. package/dist/cloud-workspace/runtime/agent-tool-claim.js +16 -0
  102. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +1 -0
  103. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  104. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  105. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  106. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  107. package/dist/cloud-workspace/runtime/checkpoints.d.ts +60 -0
  108. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  109. package/dist/cloud-workspace/runtime/checkpoints.js +33 -0
  110. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  111. package/dist/cloud-workspace/runtime/config.d.ts +42 -0
  112. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  113. package/dist/cloud-workspace/runtime/config.js +89 -0
  114. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  115. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  116. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  117. package/dist/cloud-workspace/runtime/errors.js +40 -0
  118. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  119. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  120. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/events.js +70 -0
  122. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  123. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  124. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  125. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  126. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  127. package/dist/cloud-workspace/runtime/file-snapshot.d.ts +62 -0
  128. package/dist/cloud-workspace/runtime/file-snapshot.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/file-snapshot.js +147 -0
  130. package/dist/cloud-workspace/runtime/file-snapshot.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/files.d.ts +58 -0
  132. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/files.js +78 -0
  134. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  136. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/generations.js +39 -0
  138. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/git.d.ts +46 -0
  140. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/git.js +44 -0
  142. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  144. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  146. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/http-object-store.d.ts +15 -0
  148. package/dist/cloud-workspace/runtime/http-object-store.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/http-object-store.js +108 -0
  150. package/dist/cloud-workspace/runtime/http-object-store.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/index.d.ts +32 -0
  152. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/index.js +32 -0
  154. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/instance-rebuild.d.ts +59 -0
  156. package/dist/cloud-workspace/runtime/instance-rebuild.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/instance-rebuild.js +51 -0
  158. package/dist/cloud-workspace/runtime/instance-rebuild.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/operations.d.ts +142 -0
  160. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/operations.js +134 -0
  162. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  164. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  166. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  168. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  170. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  172. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  174. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/resource-grant.d.ts +54 -0
  176. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/resource-grant.js +80 -0
  178. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/terminals.d.ts +52 -0
  180. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/terminals.js +62 -0
  182. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  184. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  186. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +84 -0
  188. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/workspace-binding.js +121 -0
  190. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  191. package/dist/database/postgres-adapter.js +1 -1
  192. package/dist/database/postgres-adapter.js.map +1 -1
  193. package/dist/database/schema.d.ts +1 -1
  194. package/dist/database/schema.js +1 -1
  195. package/dist/messenger/server.d.ts +14 -1
  196. package/dist/messenger/server.d.ts.map +1 -1
  197. package/dist/messenger/server.js +5 -1
  198. package/dist/messenger/server.js.map +1 -1
  199. package/dist/playable-ads-filename.d.ts +16 -0
  200. package/dist/playable-ads-filename.d.ts.map +1 -1
  201. package/dist/playable-ads-filename.js +18 -0
  202. package/dist/playable-ads-filename.js.map +1 -1
  203. package/dist/prefab/mime-type-list.d.ts.map +1 -1
  204. package/dist/prefab/mime-type-list.js +8 -0
  205. package/dist/prefab/mime-type-list.js.map +1 -1
  206. package/dist/project-skills/bundle-archive.d.ts +21 -0
  207. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  208. package/dist/project-skills/bundle-archive.js +161 -0
  209. package/dist/project-skills/bundle-archive.js.map +1 -0
  210. package/dist/project-skills/bundle-path.d.ts +3 -0
  211. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  212. package/dist/project-skills/bundle-path.js +17 -0
  213. package/dist/project-skills/bundle-path.js.map +1 -0
  214. package/dist/project-skills/evidence.d.ts +15 -0
  215. package/dist/project-skills/evidence.d.ts.map +1 -0
  216. package/dist/project-skills/evidence.js +33 -0
  217. package/dist/project-skills/evidence.js.map +1 -0
  218. package/dist/project-skills/index.d.ts +7 -0
  219. package/dist/project-skills/index.d.ts.map +1 -0
  220. package/dist/project-skills/index.js +7 -0
  221. package/dist/project-skills/index.js.map +1 -0
  222. package/dist/project-skills/inventory.d.ts +23 -0
  223. package/dist/project-skills/inventory.d.ts.map +1 -0
  224. package/dist/project-skills/inventory.js +150 -0
  225. package/dist/project-skills/inventory.js.map +1 -0
  226. package/dist/project-skills/local-snapshot.d.ts +12 -0
  227. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  228. package/dist/project-skills/local-snapshot.js +66 -0
  229. package/dist/project-skills/local-snapshot.js.map +1 -0
  230. package/dist/project-skills/protocol.d.ts +31 -0
  231. package/dist/project-skills/protocol.d.ts.map +1 -0
  232. package/dist/project-skills/protocol.js +197 -0
  233. package/dist/project-skills/protocol.js.map +1 -0
  234. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  235. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  236. package/dist/project-skills/runtime-plugin.js +102 -0
  237. package/dist/project-skills/runtime-plugin.js.map +1 -0
  238. package/dist/project-skills/types.d.ts +63 -0
  239. package/dist/project-skills/types.d.ts.map +1 -0
  240. package/dist/project-skills/types.js +13 -0
  241. package/dist/project-skills/types.js.map +1 -0
  242. package/dist/recommend/types.d.ts +1 -1
  243. package/dist/recommend/types.js +1 -1
  244. package/dist/sharedb/server.d.ts +12 -0
  245. package/dist/sharedb/server.d.ts.map +1 -1
  246. package/dist/sharedb/server.js +27 -6
  247. package/dist/sharedb/server.js.map +1 -1
  248. package/dist/skill-evaluation.d.ts +152 -0
  249. package/dist/skill-evaluation.d.ts.map +1 -0
  250. package/dist/skill-evaluation.js +14 -0
  251. package/dist/skill-evaluation.js.map +1 -0
  252. package/package.json +21 -1
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ import { workspaceRelativePathSchema } from './files.js';
3
+ export const gitCommitPayloadSchema = z
4
+ .object({
5
+ message: z.string().trim().min(1).max(1024),
6
+ paths: z.array(workspaceRelativePathSchema).max(256).optional(),
7
+ })
8
+ .strict();
9
+ export const gitPushPayloadSchema = z.object({}).strict();
10
+ export const gitStatusEntrySchema = z
11
+ .object({
12
+ path: z.string().min(1).max(512),
13
+ indexStatus: z.string().length(1),
14
+ worktreeStatus: z.string().length(1),
15
+ })
16
+ .strict();
17
+ export const gitStatusSchema = z
18
+ .object({
19
+ initialized: z.boolean(),
20
+ branch: z.string().min(1).max(256),
21
+ ahead: z.number().int().nonnegative(),
22
+ behind: z.number().int().nonnegative(),
23
+ hasUpstream: z.boolean(),
24
+ files: z.array(gitStatusEntrySchema),
25
+ })
26
+ .strict();
27
+ export const gitDiffSchema = z
28
+ .object({
29
+ patch: z.string().max(1024 * 1024),
30
+ })
31
+ .strict();
32
+ export const gitCommitSummarySchema = z
33
+ .object({
34
+ sha: z.string().min(7).max(64),
35
+ subject: z.string().min(1).max(1024),
36
+ committedAt: z.string().min(1),
37
+ })
38
+ .strict();
39
+ export const gitGraphSchema = z
40
+ .object({
41
+ commits: z.array(gitCommitSummarySchema).max(50),
42
+ })
43
+ .strict();
44
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAI1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACrC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACjD,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+ import { localProtocolVersion } from './protocol.js';
3
+ export declare const handshakeOfferSchema: z.ZodObject<{
4
+ protocolMajor: z.ZodNumber;
5
+ protocolMinor: z.ZodNumber;
6
+ cliVersion: z.ZodString;
7
+ codexVersion: z.ZodOptional<z.ZodString>;
8
+ imageDigest: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strict>;
10
+ export type HandshakeOffer = z.infer<typeof handshakeOfferSchema>;
11
+ export declare const handshakeDocumentSchema: z.ZodObject<{
12
+ protocolMajor: z.ZodNumber;
13
+ protocolMinor: z.ZodNumber;
14
+ cliVersion: z.ZodString;
15
+ codexVersion: z.ZodOptional<z.ZodString>;
16
+ imageDigest: z.ZodOptional<z.ZodString>;
17
+ phase: z.ZodEnum<{
18
+ ready: "ready";
19
+ starting: "starting";
20
+ awaiting_native: "awaiting_native";
21
+ restoring: "restoring";
22
+ quiescing: "quiescing";
23
+ unavailable: "unavailable";
24
+ }>;
25
+ generations: z.ZodObject<{
26
+ generation: z.ZodNumber;
27
+ runtimeEpoch: z.ZodNumber;
28
+ leaseFence: z.ZodNumber;
29
+ }, z.core.$strict>;
30
+ capabilities: z.ZodArray<z.ZodObject<{
31
+ name: z.ZodEnum<{
32
+ files: "files";
33
+ conversation: "conversation";
34
+ git: "git";
35
+ parameters: "parameters";
36
+ terminal: "terminal";
37
+ desktop: "desktop";
38
+ "artifacts.singleFile": "artifacts.singleFile";
39
+ }>;
40
+ ready: z.ZodBoolean;
41
+ reason: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strict>>;
43
+ }, z.core.$strict>;
44
+ export type HandshakeDocument = z.infer<typeof handshakeDocumentSchema>;
45
+ export declare function buildHandshakeDocument(input: HandshakeDocument): HandshakeDocument;
46
+ export { localProtocolVersion };
47
+ //# sourceMappingURL=handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAA4C,MAAM,eAAe,CAAC;AAE/F,eAAO,MAAM,oBAAoB;;;;;;kBAMtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAUlF;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ import { capabilityStateSchema, coreRuntimePhaseSchema } from './capabilities.js';
3
+ import { runtimeGenerationsSchema } from './generations.js';
4
+ import { localProtocolVersion, negotiateProtocol, protocolVersionSchema } from './protocol.js';
5
+ export const handshakeOfferSchema = protocolVersionSchema
6
+ .safeExtend({
7
+ cliVersion: z.string().min(1).max(64),
8
+ codexVersion: z.string().min(1).max(64).optional(),
9
+ imageDigest: z.string().min(1).max(128).optional(),
10
+ })
11
+ .strict();
12
+ export const handshakeDocumentSchema = handshakeOfferSchema
13
+ .safeExtend({
14
+ phase: coreRuntimePhaseSchema,
15
+ generations: runtimeGenerationsSchema,
16
+ capabilities: z.array(capabilityStateSchema).min(1),
17
+ })
18
+ .strict();
19
+ export function buildHandshakeDocument(input) {
20
+ const negotiated = negotiateProtocol(input);
21
+ if (!negotiated.ok) {
22
+ throw new Error(negotiated.code);
23
+ }
24
+ return handshakeDocumentSchema.parse({
25
+ ...input,
26
+ protocolMajor: negotiated.protocolMajor,
27
+ protocolMinor: negotiated.protocolMinor,
28
+ });
29
+ }
30
+ export { localProtocolVersion };
31
+ //# sourceMappingURL=handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB;KACtD,UAAU,CAAC;IACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB;KACxD,UAAU,CAAC;IACV,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,UAAU,sBAAsB,CAAC,KAAwB;IAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,CAAC;QACnC,GAAG,KAAK;QACR,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,aAAa,EAAE,UAAU,CAAC,aAAa;KACxC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type ObjectStoreEvent = {
2
+ method: 'PUT' | 'GET';
3
+ key: string;
4
+ client: string;
5
+ tampered: boolean;
6
+ };
7
+ export type HttpObjectStore = {
8
+ url: string;
9
+ port: number;
10
+ events: ObjectStoreEvent[];
11
+ setTamperContentGets: (count: number) => void;
12
+ close: () => Promise<void>;
13
+ };
14
+ export declare function startHttpObjectStore(): Promise<HttpObjectStore>;
15
+ //# sourceMappingURL=http-object-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-object-store.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/http-object-store.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAIF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CA+BrE"}
@@ -0,0 +1,108 @@
1
+ import { createServer } from 'node:http';
2
+ import { once } from 'node:events';
3
+ const BODY_LIMIT = 2 * 1024 * 1024;
4
+ export async function startHttpObjectStore() {
5
+ const objects = new Map();
6
+ const events = [];
7
+ let tamperContentGets = 0;
8
+ const server = createServer(async (request, response) => {
9
+ try {
10
+ await handle(request, response, objects, events, () => {
11
+ if (tamperContentGets <= 0)
12
+ return false;
13
+ tamperContentGets -= 1;
14
+ return true;
15
+ });
16
+ }
17
+ catch {
18
+ if (!response.headersSent)
19
+ response.writeHead(500);
20
+ response.end();
21
+ }
22
+ });
23
+ server.listen(0, '0.0.0.0');
24
+ await once(server, 'listening');
25
+ const port = server.address().port;
26
+ return {
27
+ url: `http://127.0.0.1:${port}`,
28
+ port,
29
+ events,
30
+ setTamperContentGets(count) {
31
+ tamperContentGets = count;
32
+ },
33
+ close: () => new Promise((resolve, reject) => {
34
+ server.close((error) => (error ? reject(error) : resolve()));
35
+ }),
36
+ };
37
+ }
38
+ async function handle(request, response, objects, events, takeTamper) {
39
+ const url = new URL(request.url ?? '/', 'http://object-store.local');
40
+ if (url.pathname === '/rename' || request.method === 'MOVE') {
41
+ response.writeHead(404);
42
+ response.end();
43
+ return;
44
+ }
45
+ if (!url.pathname.startsWith('/objects/')) {
46
+ response.writeHead(404);
47
+ response.end();
48
+ return;
49
+ }
50
+ const key = decodeURIComponent(url.pathname.slice('/objects/'.length));
51
+ if (!key || key.includes('..') || key.startsWith('/')) {
52
+ response.writeHead(400);
53
+ response.end();
54
+ return;
55
+ }
56
+ const client = String(request.headers['x-playcraft-object-client'] ?? '');
57
+ if (request.method === 'PUT') {
58
+ const body = await readBody(request);
59
+ const existing = objects.get(key);
60
+ if (existing && !existing.equals(body)) {
61
+ response.writeHead(409);
62
+ response.end();
63
+ return;
64
+ }
65
+ const created = !existing;
66
+ objects.set(key, body);
67
+ events.push({ method: 'PUT', key, client, tampered: false });
68
+ response.writeHead(created ? 201 : 200);
69
+ response.end();
70
+ return;
71
+ }
72
+ if (request.method === 'GET') {
73
+ const body = objects.get(key);
74
+ if (!body) {
75
+ response.writeHead(404);
76
+ response.end();
77
+ return;
78
+ }
79
+ const tamper = !key.endsWith('/manifest.json') && takeTamper();
80
+ const payload = tamper ? tamperBytes(body) : body;
81
+ events.push({ method: 'GET', key, client, tampered: tamper });
82
+ response.writeHead(200, { 'content-type': 'application/octet-stream' });
83
+ response.end(payload);
84
+ return;
85
+ }
86
+ response.writeHead(405);
87
+ response.end();
88
+ }
89
+ function tamperBytes(body) {
90
+ if (body.length === 0)
91
+ return Buffer.from('x');
92
+ const copy = Buffer.from(body);
93
+ copy[copy.length - 1] = copy[copy.length - 1] ^ 0xff;
94
+ return copy;
95
+ }
96
+ async function readBody(request) {
97
+ const chunks = [];
98
+ let size = 0;
99
+ for await (const chunk of request) {
100
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
101
+ size += buf.length;
102
+ if (size > BODY_LIMIT)
103
+ throw new Error('object_too_large');
104
+ chunks.push(buf);
105
+ }
106
+ return Buffer.concat(chunks);
107
+ }
108
+ //# sourceMappingURL=http-object-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-object-store.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/http-object-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export { CLOUD_WORKSPACE_PROTOCOL_MAJOR, CLOUD_WORKSPACE_PROTOCOL_MINOR, INCOMPATIBLE_EXIT_CODE, localProtocolVersion, negotiateProtocol, protocolVersionSchema, type ProtocolNegotiation, type ProtocolVersion, } from './protocol.js';
2
+ export { CORE_RUNTIME_PHASES, RUNTIME_CAPABILITY_NAMES, capability, capabilityStateSchema, coreRuntimePhaseSchema, listDeclaredCapabilities, runtimeCapabilityNameSchema, unavailableRuntimeCapabilities, type CapabilityState, type CoreRuntimePhase, type RuntimeCapabilityName, } from './capabilities.js';
3
+ export { UNTRUSTED_RUNTIME_FIELDS, assertLeaseFence, assertTrustedGenerations, findUntrustedRuntimeFields, generationSchema, leaseFenceSchema, runtimeEpochSchema, runtimeGenerationsSchema, type RuntimeGenerations, type UntrustedRuntimeField, } from './generations.js';
4
+ export { HTTP_STATUS_BY_ERROR, RUNTIME_ERROR_CODES, runtimeError, runtimeErrorSchema, type RuntimeError, type RuntimeErrorCode, } from './errors.js';
5
+ export { OPERATION_KINDS, OPERATION_STATUSES, TERMINAL_OPERATION_STATUSES, assertOperationTransition, canTransitionOperation, hashOperationPayload, operationAcceptRequestSchema, operationKindSchema, operationRecordSchema, operationScopeKey, operationStatusSchema, resolveIdempotentAccept, stableStringify, transitionOperation, type IdempotentAcceptResult, type OperationAcceptRequest, type OperationKind, type OperationRecord, type OperationStatus, type TerminalOperationStatus, } from './operations.js';
6
+ export { EVENT_STREAM_KINDS, eventStreamKindSchema, nextSourceSequence, pendingSourceEventSchema, publicEventCursorSchema, publicEventSchema, resolveSourceEvent, sourceEventBatchSchema, sourceEventIdSchema, sourceEventKey, sourceEventReceiptSchema, type EventDedupResult, type EventStreamKind, type PendingSourceEvent, type PublicEvent, type PublicEventCursor, type SourceEventBatch, type SourceEventId, type SourceEventReceipt, } from './events.js';
7
+ export { GRANT_CLIENT_FORBIDDEN_FIELDS, WORKSPACE_EXECUTION_AUDIENCE, WORKSPACE_EXECUTION_KIND, findForbiddenGrantFields, mintWorkspaceExecutionGrant, newGrantId, parseWorkspaceExecutionGrantClaims, verifyWorkspaceExecutionGrant, workspaceExecutionGrantClaimsSchema, workspaceExecutionGrantRecordSchema, type WorkspaceExecutionGrantClaims, type WorkspaceExecutionGrantRecord, } from './execution-grant.js';
8
+ export { RESOURCE_GRANT_ACTIONS, RESOURCE_GRANT_KIND, resourceGrantBody, resourceGrantCommandSchema, resourceGrantDigest, resourceGrantReceiptSchema, type ResourceGrantCommand, type ResourceGrantReceipt, } from './resource-grant.js';
9
+ export { FILE_SNAPSHOT_ENTRY_KINDS, FILE_SNAPSHOT_STATUSES, assertHttpObjectStoreUrl, fileSnapshotDigest, fileSnapshotEntrySchema, fileSnapshotManifestKey, fileSnapshotManifestSchema, fileSnapshotObjectKey, fileSnapshotStatusSchema, getObjectBytes, hashSnapshotBytes, putObjectBytes, verifyFileSnapshotManifest, type FileSnapshotEntry, type FileSnapshotEntryKind, type FileSnapshotManifest, type FileSnapshotStatus, type FileSnapshotVerification, } from './file-snapshot.js';
10
+ export { startHttpObjectStore, type HttpObjectStore, type ObjectStoreEvent } from './http-object-store.js';
11
+ export { decideInstanceRebuild, instanceRebuildEntrySchema, instanceRebuildRequestSchema, isDisposableBackupPath, type InstanceRebuildEntry, type InstanceRebuildRefusal, type InstanceRebuildRequest, } from './instance-rebuild.js';
12
+ export { CHECKPOINT_KINDS, SESSION_RECOVERABILITY, checkpointKindSchema, checkpointRecordSchema, checkpointSessionSchema, sessionRecoverabilitySchema, type CheckpointKind, type CheckpointRecord, type CheckpointSession, type SessionRecoverability, } from './checkpoints.js';
13
+ export { WORKSPACE_FILE_CONTENT_MAX, WORKSPACE_RELATIVE_PATH_MAX, MANAGED_WRITE_SOURCES, checkpointFileSchema, fileWritePayloadSchema, managedWriteSourceSchema, hashWorkspaceFileContent, isWorkspaceRelativePath, workspaceFileContentSchema, workspaceFileListSchema, workspaceFileRecordSchema, workspaceRelativePathSchema, type CheckpointFile, type FileWritePayload, type ManagedWriteSource, type WorkspaceFileContent, type WorkspaceFileList, type WorkspaceFileRecord, type WorkspaceRelativePath, } from './files.js';
14
+ export { gitCommitPayloadSchema, gitCommitSummarySchema, gitDiffSchema, gitGraphSchema, gitPushPayloadSchema, gitStatusEntrySchema, gitStatusSchema, type GitCommitPayload, type GitCommitSummary, type GitDiff, type GitGraph, type GitPushPayload, type GitStatus, type GitStatusEntry, } from './git.js';
15
+ export { TERMINAL_STATUSES, UNTRUSTED_DISPLAY_FIELDS, desktopAccessPayloadSchema, desktopLeaseRecordSchema, parseTerminalProcessIdentity, terminalCreatePayloadSchema, terminalIdSchema, terminalProcessIdentity, terminalRecordSchema, type DesktopAccessPayload, type DesktopLeaseRecord, type TerminalCreatePayload, type TerminalRecord, type TerminalStatus, type UntrustedDisplayField, } from './terminals.js';
16
+ export { parseSandboxRuntimeConfig, sandboxListenSchema, sandboxRuntimeConfigSchema, type SandboxRuntimeConfig, } from './config.js';
17
+ export { buildHandshakeDocument, handshakeDocumentSchema, handshakeOfferSchema, type HandshakeDocument, type HandshakeOffer, } from './handshake.js';
18
+ export { agentPromotionRequestSchema, agentPromotionResponseSchema, type AgentPromotionRequest, type AgentPromotionResponse, } from './agent-promotion.js';
19
+ export * from './workspace-binding.js';
20
+ export * from './agent-read.js';
21
+ export { PARAMETER_STATUSES, parameterDocumentSchema, parameterErrorSchema, parameterFieldPathSchema, parameterPatchPayloadSchema, parameterPrimitiveSchema, type ParameterDocument, type ParameterError, type ParameterPatchPayload, type ParameterPrimitive, type ParameterStatus, } from './parameters.js';
22
+ export * from './agent-mutation.js';
23
+ export * from './agent-command.js';
24
+ export * from './agent-lifecycle.js';
25
+ export * from './agent-connection.js';
26
+ export * from './agent-opencode.js';
27
+ export * from './agent-codebuddy.js';
28
+ export * from './agent-opencode-gateway.js';
29
+ export * from './agent-chat-flush.js';
30
+ export * from './variant-workspace.js';
31
+ export * from './project-native-skills.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export { CLOUD_WORKSPACE_PROTOCOL_MAJOR, CLOUD_WORKSPACE_PROTOCOL_MINOR, INCOMPATIBLE_EXIT_CODE, localProtocolVersion, negotiateProtocol, protocolVersionSchema, } from './protocol.js';
2
+ export { CORE_RUNTIME_PHASES, RUNTIME_CAPABILITY_NAMES, capability, capabilityStateSchema, coreRuntimePhaseSchema, listDeclaredCapabilities, runtimeCapabilityNameSchema, unavailableRuntimeCapabilities, } from './capabilities.js';
3
+ export { UNTRUSTED_RUNTIME_FIELDS, assertLeaseFence, assertTrustedGenerations, findUntrustedRuntimeFields, generationSchema, leaseFenceSchema, runtimeEpochSchema, runtimeGenerationsSchema, } from './generations.js';
4
+ export { HTTP_STATUS_BY_ERROR, RUNTIME_ERROR_CODES, runtimeError, runtimeErrorSchema, } from './errors.js';
5
+ export { OPERATION_KINDS, OPERATION_STATUSES, TERMINAL_OPERATION_STATUSES, assertOperationTransition, canTransitionOperation, hashOperationPayload, operationAcceptRequestSchema, operationKindSchema, operationRecordSchema, operationScopeKey, operationStatusSchema, resolveIdempotentAccept, stableStringify, transitionOperation, } from './operations.js';
6
+ export { EVENT_STREAM_KINDS, eventStreamKindSchema, nextSourceSequence, pendingSourceEventSchema, publicEventCursorSchema, publicEventSchema, resolveSourceEvent, sourceEventBatchSchema, sourceEventIdSchema, sourceEventKey, sourceEventReceiptSchema, } from './events.js';
7
+ export { GRANT_CLIENT_FORBIDDEN_FIELDS, WORKSPACE_EXECUTION_AUDIENCE, WORKSPACE_EXECUTION_KIND, findForbiddenGrantFields, mintWorkspaceExecutionGrant, newGrantId, parseWorkspaceExecutionGrantClaims, verifyWorkspaceExecutionGrant, workspaceExecutionGrantClaimsSchema, workspaceExecutionGrantRecordSchema, } from './execution-grant.js';
8
+ export { RESOURCE_GRANT_ACTIONS, RESOURCE_GRANT_KIND, resourceGrantBody, resourceGrantCommandSchema, resourceGrantDigest, resourceGrantReceiptSchema, } from './resource-grant.js';
9
+ export { FILE_SNAPSHOT_ENTRY_KINDS, FILE_SNAPSHOT_STATUSES, assertHttpObjectStoreUrl, fileSnapshotDigest, fileSnapshotEntrySchema, fileSnapshotManifestKey, fileSnapshotManifestSchema, fileSnapshotObjectKey, fileSnapshotStatusSchema, getObjectBytes, hashSnapshotBytes, putObjectBytes, verifyFileSnapshotManifest, } from './file-snapshot.js';
10
+ export { startHttpObjectStore } from './http-object-store.js';
11
+ export { decideInstanceRebuild, instanceRebuildEntrySchema, instanceRebuildRequestSchema, isDisposableBackupPath, } from './instance-rebuild.js';
12
+ export { CHECKPOINT_KINDS, SESSION_RECOVERABILITY, checkpointKindSchema, checkpointRecordSchema, checkpointSessionSchema, sessionRecoverabilitySchema, } from './checkpoints.js';
13
+ export { WORKSPACE_FILE_CONTENT_MAX, WORKSPACE_RELATIVE_PATH_MAX, MANAGED_WRITE_SOURCES, checkpointFileSchema, fileWritePayloadSchema, managedWriteSourceSchema, hashWorkspaceFileContent, isWorkspaceRelativePath, workspaceFileContentSchema, workspaceFileListSchema, workspaceFileRecordSchema, workspaceRelativePathSchema, } from './files.js';
14
+ export { gitCommitPayloadSchema, gitCommitSummarySchema, gitDiffSchema, gitGraphSchema, gitPushPayloadSchema, gitStatusEntrySchema, gitStatusSchema, } from './git.js';
15
+ export { TERMINAL_STATUSES, UNTRUSTED_DISPLAY_FIELDS, desktopAccessPayloadSchema, desktopLeaseRecordSchema, parseTerminalProcessIdentity, terminalCreatePayloadSchema, terminalIdSchema, terminalProcessIdentity, terminalRecordSchema, } from './terminals.js';
16
+ export { parseSandboxRuntimeConfig, sandboxListenSchema, sandboxRuntimeConfigSchema, } from './config.js';
17
+ export { buildHandshakeDocument, handshakeDocumentSchema, handshakeOfferSchema, } from './handshake.js';
18
+ export { agentPromotionRequestSchema, agentPromotionResponseSchema, } from './agent-promotion.js';
19
+ export * from './workspace-binding.js';
20
+ export * from './agent-read.js';
21
+ export { PARAMETER_STATUSES, parameterDocumentSchema, parameterErrorSchema, parameterFieldPathSchema, parameterPatchPayloadSchema, parameterPrimitiveSchema, } from './parameters.js';
22
+ export * from './agent-mutation.js';
23
+ export * from './agent-command.js';
24
+ export * from './agent-lifecycle.js';
25
+ export * from './agent-connection.js';
26
+ export * from './agent-opencode.js';
27
+ export * from './agent-codebuddy.js';
28
+ export * from './agent-opencode-gateway.js';
29
+ export * from './agent-chat-flush.js';
30
+ export * from './variant-workspace.js';
31
+ export * from './project-native-skills.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ /** Auth material, temp tokens, lock files, and stale sockets are not a generic backup. */
3
+ export declare function isDisposableBackupPath(path: string): boolean;
4
+ export declare const instanceRebuildEntrySchema: z.ZodObject<{
5
+ path: z.ZodString;
6
+ kind: z.ZodEnum<{
7
+ file: "file";
8
+ symlink: "symlink";
9
+ deleted: "deleted";
10
+ }>;
11
+ mode: z.ZodOptional<z.ZodNumber>;
12
+ contentBase64: z.ZodOptional<z.ZodString>;
13
+ contentHash: z.ZodOptional<z.ZodString>;
14
+ target: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strict>;
16
+ export type InstanceRebuildEntry = z.infer<typeof instanceRebuildEntrySchema>;
17
+ export declare const instanceRebuildRequestSchema: z.ZodObject<{
18
+ snapshotId: z.ZodString;
19
+ workspaceId: z.ZodString;
20
+ lossFrom: z.ZodString;
21
+ lossTo: z.ZodString;
22
+ entries: z.ZodArray<z.ZodObject<{
23
+ path: z.ZodString;
24
+ kind: z.ZodEnum<{
25
+ file: "file";
26
+ symlink: "symlink";
27
+ deleted: "deleted";
28
+ }>;
29
+ mode: z.ZodOptional<z.ZodNumber>;
30
+ contentBase64: z.ZodOptional<z.ZodString>;
31
+ contentHash: z.ZodOptional<z.ZodString>;
32
+ target: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strict>>;
34
+ }, z.core.$strict>;
35
+ export type InstanceRebuildRequest = z.infer<typeof instanceRebuildRequestSchema>;
36
+ export type InstanceRebuildRefusal = 'workspace_not_restorable' | 'snapshot_not_durable' | 'snapshot_incomplete' | 'snapshot_mismatch' | 'instance_still_alive' | 'instance_unavailable';
37
+ export declare function decideInstanceRebuild(input: {
38
+ workspaceStatus: string;
39
+ pointer?: string;
40
+ requestedSnapshotId?: string;
41
+ requestedVerification?: {
42
+ ok: false;
43
+ reason: 'incomplete' | 'mismatch' | 'unreadable';
44
+ };
45
+ verification?: {
46
+ ok: true;
47
+ } | {
48
+ ok: false;
49
+ reason: 'incomplete' | 'mismatch' | 'unreadable';
50
+ };
51
+ previousInstanceToken?: string;
52
+ currentInstanceToken?: string;
53
+ }): {
54
+ ok: true;
55
+ } | {
56
+ ok: false;
57
+ reason: InstanceRebuildRefusal;
58
+ };
59
+ //# sourceMappingURL=instance-rebuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-rebuild.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/instance-rebuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;kBAS5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;kBAQ9B,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAC9B,0BAA0B,GAC1B,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,CAAC;AAE3B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA;KAAE,CAAC;IACxF,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA;KAAE,CAAC;IAC9F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAoB/D"}
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ import { workspaceRelativePathSchema } from './files.js';
3
+ const DISPOSABLE_BACKUP_PATH = /(?:^|\/)(?:[^/]*\.(?:lock|sock)|id_rsa|id_ed25519|\.env(?:\.[^/]+)?|[^/]*token[^/]*|[^/]*credential[^/]*|[^/]*\.pem)$/i;
4
+ /** Auth material, temp tokens, lock files, and stale sockets are not a generic backup. */
5
+ export function isDisposableBackupPath(path) {
6
+ return DISPOSABLE_BACKUP_PATH.test(path.replaceAll('\\', '/'));
7
+ }
8
+ export const instanceRebuildEntrySchema = z
9
+ .object({
10
+ path: workspaceRelativePathSchema,
11
+ kind: z.enum(['file', 'symlink', 'deleted']),
12
+ mode: z.number().int().min(0).max(0o777).optional(),
13
+ contentBase64: z.string().optional(),
14
+ contentHash: z.string().length(64).optional(),
15
+ target: z.string().min(1).max(512).optional(),
16
+ })
17
+ .strict();
18
+ export const instanceRebuildRequestSchema = z
19
+ .object({
20
+ snapshotId: z.string().min(1).max(128),
21
+ workspaceId: z.string().min(1).max(128),
22
+ lossFrom: z.string().min(1),
23
+ lossTo: z.string().min(1),
24
+ entries: z.array(instanceRebuildEntrySchema).max(5000),
25
+ })
26
+ .strict();
27
+ export function decideInstanceRebuild(input) {
28
+ if (input.workspaceStatus === 'archived' || input.workspaceStatus === 'deleting') {
29
+ return { ok: false, reason: 'workspace_not_restorable' };
30
+ }
31
+ if (!input.previousInstanceToken || !input.currentInstanceToken || input.previousInstanceToken === input.currentInstanceToken) {
32
+ return { ok: false, reason: 'instance_still_alive' };
33
+ }
34
+ if (!input.pointer)
35
+ return { ok: false, reason: 'snapshot_not_durable' };
36
+ if (input.requestedSnapshotId && input.requestedSnapshotId !== input.pointer) {
37
+ if (input.requestedVerification?.reason === 'incomplete') {
38
+ return { ok: false, reason: 'snapshot_incomplete' };
39
+ }
40
+ return { ok: false, reason: 'snapshot_not_durable' };
41
+ }
42
+ if (!input.verification || !input.verification.ok) {
43
+ if (input.verification?.reason === 'incomplete')
44
+ return { ok: false, reason: 'snapshot_incomplete' };
45
+ if (input.verification?.reason === 'unreadable')
46
+ return { ok: false, reason: 'snapshot_mismatch' };
47
+ return { ok: false, reason: 'snapshot_mismatch' };
48
+ }
49
+ return { ok: true };
50
+ }
51
+ //# sourceMappingURL=instance-rebuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-rebuild.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/instance-rebuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { z } from 'zod';
2
+ export declare const OPERATION_KINDS: readonly ["runtime.ensure", "runtime.destroy", "session.create", "session.turn", "session.interrupt", "session.approval.respond", "file.write", "git.commit", "git.push", "terminal.create", "parameter.patch", "preview.publish", "checkpoint.create", "checkpoint.restore"];
3
+ export type OperationKind = (typeof OPERATION_KINDS)[number];
4
+ export declare const operationKindSchema: z.ZodEnum<{
5
+ "runtime.ensure": "runtime.ensure";
6
+ "runtime.destroy": "runtime.destroy";
7
+ "session.create": "session.create";
8
+ "session.turn": "session.turn";
9
+ "session.interrupt": "session.interrupt";
10
+ "session.approval.respond": "session.approval.respond";
11
+ "file.write": "file.write";
12
+ "git.commit": "git.commit";
13
+ "git.push": "git.push";
14
+ "terminal.create": "terminal.create";
15
+ "parameter.patch": "parameter.patch";
16
+ "preview.publish": "preview.publish";
17
+ "checkpoint.create": "checkpoint.create";
18
+ "checkpoint.restore": "checkpoint.restore";
19
+ }>;
20
+ export declare const OPERATION_STATUSES: readonly ["queued", "dispatched", "accepted", "completed", "failed", "interrupted", "uncertain"];
21
+ export type OperationStatus = (typeof OPERATION_STATUSES)[number];
22
+ export declare const operationStatusSchema: z.ZodEnum<{
23
+ failed: "failed";
24
+ queued: "queued";
25
+ completed: "completed";
26
+ uncertain: "uncertain";
27
+ dispatched: "dispatched";
28
+ accepted: "accepted";
29
+ interrupted: "interrupted";
30
+ }>;
31
+ export declare const TERMINAL_OPERATION_STATUSES: readonly ["completed", "failed", "interrupted"];
32
+ export type TerminalOperationStatus = (typeof TERMINAL_OPERATION_STATUSES)[number];
33
+ export declare function canTransitionOperation(from: OperationStatus, to: OperationStatus): boolean;
34
+ export declare function assertOperationTransition(from: OperationStatus, to: OperationStatus): void;
35
+ export declare const operationAcceptRequestSchema: z.ZodObject<{
36
+ clientRequestId: z.ZodString;
37
+ kind: z.ZodEnum<{
38
+ "runtime.ensure": "runtime.ensure";
39
+ "runtime.destroy": "runtime.destroy";
40
+ "session.create": "session.create";
41
+ "session.turn": "session.turn";
42
+ "session.interrupt": "session.interrupt";
43
+ "session.approval.respond": "session.approval.respond";
44
+ "file.write": "file.write";
45
+ "git.commit": "git.commit";
46
+ "git.push": "git.push";
47
+ "terminal.create": "terminal.create";
48
+ "parameter.patch": "parameter.patch";
49
+ "preview.publish": "preview.publish";
50
+ "checkpoint.create": "checkpoint.create";
51
+ "checkpoint.restore": "checkpoint.restore";
52
+ }>;
53
+ workspaceId: z.ZodOptional<z.ZodString>;
54
+ sessionId: z.ZodOptional<z.ZodString>;
55
+ expectedRevision: z.ZodOptional<z.ZodNumber>;
56
+ payload: z.ZodUnknown;
57
+ }, z.core.$strict>;
58
+ export type OperationAcceptRequest = z.infer<typeof operationAcceptRequestSchema>;
59
+ export declare const operationRecordSchema: z.ZodObject<{
60
+ operationId: z.ZodString;
61
+ environment: z.ZodString;
62
+ userId: z.ZodString;
63
+ clientRequestId: z.ZodString;
64
+ kind: z.ZodEnum<{
65
+ "runtime.ensure": "runtime.ensure";
66
+ "runtime.destroy": "runtime.destroy";
67
+ "session.create": "session.create";
68
+ "session.turn": "session.turn";
69
+ "session.interrupt": "session.interrupt";
70
+ "session.approval.respond": "session.approval.respond";
71
+ "file.write": "file.write";
72
+ "git.commit": "git.commit";
73
+ "git.push": "git.push";
74
+ "terminal.create": "terminal.create";
75
+ "parameter.patch": "parameter.patch";
76
+ "preview.publish": "preview.publish";
77
+ "checkpoint.create": "checkpoint.create";
78
+ "checkpoint.restore": "checkpoint.restore";
79
+ }>;
80
+ status: z.ZodEnum<{
81
+ failed: "failed";
82
+ queued: "queued";
83
+ completed: "completed";
84
+ uncertain: "uncertain";
85
+ dispatched: "dispatched";
86
+ accepted: "accepted";
87
+ interrupted: "interrupted";
88
+ }>;
89
+ payloadHash: z.ZodString;
90
+ workspaceId: z.ZodOptional<z.ZodString>;
91
+ sessionId: z.ZodOptional<z.ZodString>;
92
+ expectedRevision: z.ZodOptional<z.ZodNumber>;
93
+ generation: z.ZodOptional<z.ZodNumber>;
94
+ runtimeEpoch: z.ZodOptional<z.ZodNumber>;
95
+ leaseFence: z.ZodOptional<z.ZodNumber>;
96
+ nativeRequestId: z.ZodOptional<z.ZodString>;
97
+ nativeThreadId: z.ZodOptional<z.ZodString>;
98
+ nativeTurnId: z.ZodOptional<z.ZodString>;
99
+ nativeApprovalId: z.ZodOptional<z.ZodString>;
100
+ sandboxOperationId: z.ZodOptional<z.ZodString>;
101
+ checkpointId: z.ZodOptional<z.ZodString>;
102
+ checkpointKind: z.ZodOptional<z.ZodEnum<{
103
+ file: "file";
104
+ coordinated: "coordinated";
105
+ best_effort: "best_effort";
106
+ }>>;
107
+ checkpointConsistent: z.ZodOptional<z.ZodBoolean>;
108
+ snapshotManifestKey: z.ZodOptional<z.ZodString>;
109
+ snapshotChecksum: z.ZodOptional<z.ZodString>;
110
+ snapshotStatus: z.ZodOptional<z.ZodEnum<{
111
+ complete: "complete";
112
+ incomplete: "incomplete";
113
+ }>>;
114
+ terminalId: z.ZodOptional<z.ZodString>;
115
+ cwd: z.ZodOptional<z.ZodString>;
116
+ error: z.ZodOptional<z.ZodString>;
117
+ createdAt: z.ZodString;
118
+ updatedAt: z.ZodString;
119
+ }, z.core.$strict>;
120
+ export type OperationRecord = z.infer<typeof operationRecordSchema>;
121
+ export declare function operationScopeKey(input: {
122
+ environment: string;
123
+ userId: string;
124
+ kind: OperationKind;
125
+ clientRequestId: string;
126
+ workspaceId?: string;
127
+ sessionId?: string;
128
+ }): string;
129
+ export declare function hashOperationPayload(payload: unknown): string;
130
+ export type IdempotentAcceptResult = {
131
+ action: 'create';
132
+ } | {
133
+ action: 'reuse';
134
+ operation: OperationRecord;
135
+ } | {
136
+ action: 'conflict';
137
+ operation: OperationRecord;
138
+ };
139
+ export declare function resolveIdempotentAccept(existing: OperationRecord | undefined, payloadHash: string): IdempotentAcceptResult;
140
+ export declare function transitionOperation(operation: OperationRecord, to: OperationStatus, patch?: Partial<Omit<OperationRecord, 'operationId' | 'status'>>): OperationRecord;
141
+ export declare function stableStringify(value: unknown): string;
142
+ //# sourceMappingURL=operations.d.ts.map