@playcraft/common 0.1.27 → 0.1.29

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 (309) 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 +0 -10
  5. package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
  6. package/dist/agent-messages/db-message-converter.js +0 -13
  7. package/dist/agent-messages/db-message-converter.js.map +1 -1
  8. package/dist/agent-tools/index.d.ts +0 -5
  9. package/dist/agent-tools/index.d.ts.map +1 -1
  10. package/dist/agent-tools/index.js +0 -5
  11. package/dist/agent-tools/index.js.map +1 -1
  12. package/dist/agent-tools/types.d.ts +16 -9
  13. package/dist/agent-tools/types.d.ts.map +1 -1
  14. package/dist/agent-tools/types.js.map +1 -1
  15. package/dist/database/postgres-adapter.js +1 -1
  16. package/dist/database/postgres-adapter.js.map +1 -1
  17. package/dist/database/schema.d.ts +1 -1
  18. package/dist/database/schema.js +1 -1
  19. package/dist/prefab/image-background.d.ts +10 -0
  20. package/dist/prefab/image-background.d.ts.map +1 -0
  21. package/dist/prefab/image-background.js +19 -0
  22. package/dist/prefab/image-background.js.map +1 -0
  23. package/dist/prefab/image-generation-constraints.d.ts +72 -0
  24. package/dist/prefab/image-generation-constraints.d.ts.map +1 -0
  25. package/dist/prefab/image-generation-constraints.js +112 -0
  26. package/dist/prefab/image-generation-constraints.js.map +1 -0
  27. package/dist/prefab/index.d.ts +2 -0
  28. package/dist/prefab/index.d.ts.map +1 -1
  29. package/dist/prefab/index.js +2 -0
  30. package/dist/prefab/index.js.map +1 -1
  31. package/dist/recommend/types.d.ts +1 -1
  32. package/dist/recommend/types.js +1 -1
  33. package/dist/storage/cos.d.ts +0 -11
  34. package/dist/storage/cos.d.ts.map +1 -1
  35. package/dist/storage/cos.js +0 -29
  36. package/dist/storage/cos.js.map +1 -1
  37. package/package.json +1 -29
  38. package/dist/agent-tools/operation-protocol.d.ts +0 -10
  39. package/dist/agent-tools/operation-protocol.d.ts.map +0 -1
  40. package/dist/agent-tools/operation-protocol.js +0 -13
  41. package/dist/agent-tools/operation-protocol.js.map +0 -1
  42. package/dist/agent-tools/replica-recording.d.ts +0 -283
  43. package/dist/agent-tools/replica-recording.d.ts.map +0 -1
  44. package/dist/agent-tools/replica-recording.js +0 -109
  45. package/dist/agent-tools/replica-recording.js.map +0 -1
  46. package/dist/agent-tools/replica-validation.d.ts +0 -972
  47. package/dist/agent-tools/replica-validation.d.ts.map +0 -1
  48. package/dist/agent-tools/replica-validation.js +0 -254
  49. package/dist/agent-tools/replica-validation.js.map +0 -1
  50. package/dist/agent-tools/video-model-proxy.d.ts +0 -113
  51. package/dist/agent-tools/video-model-proxy.d.ts.map +0 -1
  52. package/dist/agent-tools/video-model-proxy.js +0 -49
  53. package/dist/agent-tools/video-model-proxy.js.map +0 -1
  54. package/dist/agent-tools/video-replication.d.ts +0 -421
  55. package/dist/agent-tools/video-replication.d.ts.map +0 -1
  56. package/dist/agent-tools/video-replication.js +0 -95
  57. package/dist/agent-tools/video-replication.js.map +0 -1
  58. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +0 -68
  59. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +0 -1
  60. package/dist/cloud-workspace/runtime/agent-background-processes.js +0 -60
  61. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +0 -1
  62. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +0 -55
  63. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +0 -1
  64. package/dist/cloud-workspace/runtime/agent-chat-flush.js +0 -51
  65. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +0 -1
  66. package/dist/cloud-workspace/runtime/agent-command.d.ts +0 -152
  67. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +0 -1
  68. package/dist/cloud-workspace/runtime/agent-command.js +0 -90
  69. package/dist/cloud-workspace/runtime/agent-command.js.map +0 -1
  70. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +0 -143
  71. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +0 -1
  72. package/dist/cloud-workspace/runtime/agent-competitor-report.js +0 -115
  73. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +0 -1
  74. package/dist/cloud-workspace/runtime/agent-connection.d.ts +0 -76
  75. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +0 -1
  76. package/dist/cloud-workspace/runtime/agent-connection.js +0 -59
  77. package/dist/cloud-workspace/runtime/agent-connection.js.map +0 -1
  78. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +0 -90
  79. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +0 -1
  80. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +0 -60
  81. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +0 -1
  82. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +0 -87
  83. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +0 -1
  84. package/dist/cloud-workspace/runtime/agent-lifecycle.js +0 -75
  85. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +0 -1
  86. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +0 -197
  87. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +0 -1
  88. package/dist/cloud-workspace/runtime/agent-mutation.js +0 -114
  89. package/dist/cloud-workspace/runtime/agent-mutation.js.map +0 -1
  90. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +0 -210
  91. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +0 -1
  92. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +0 -180
  93. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +0 -1
  94. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +0 -406
  95. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +0 -1
  96. package/dist/cloud-workspace/runtime/agent-opencode.js +0 -237
  97. package/dist/cloud-workspace/runtime/agent-opencode.js.map +0 -1
  98. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +0 -21
  99. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +0 -1
  100. package/dist/cloud-workspace/runtime/agent-promotion.js +0 -23
  101. package/dist/cloud-workspace/runtime/agent-promotion.js.map +0 -1
  102. package/dist/cloud-workspace/runtime/agent-read.d.ts +0 -343
  103. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +0 -1
  104. package/dist/cloud-workspace/runtime/agent-read.js +0 -159
  105. package/dist/cloud-workspace/runtime/agent-read.js.map +0 -1
  106. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +0 -126
  107. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +0 -1
  108. package/dist/cloud-workspace/runtime/agent-source-project.js +0 -95
  109. package/dist/cloud-workspace/runtime/agent-source-project.js.map +0 -1
  110. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +0 -18
  111. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +0 -1
  112. package/dist/cloud-workspace/runtime/agent-tool-claim.js +0 -16
  113. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +0 -1
  114. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +0 -9
  115. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +0 -1
  116. package/dist/cloud-workspace/runtime/agent-variant-chat.js +0 -23
  117. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +0 -1
  118. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +0 -75
  119. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +0 -1
  120. package/dist/cloud-workspace/runtime/agent-variant-git.js +0 -62
  121. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +0 -1
  122. package/dist/cloud-workspace/runtime/artifacts.d.ts +0 -233
  123. package/dist/cloud-workspace/runtime/artifacts.d.ts.map +0 -1
  124. package/dist/cloud-workspace/runtime/artifacts.js +0 -94
  125. package/dist/cloud-workspace/runtime/artifacts.js.map +0 -1
  126. package/dist/cloud-workspace/runtime/attachments.d.ts +0 -28
  127. package/dist/cloud-workspace/runtime/attachments.d.ts.map +0 -1
  128. package/dist/cloud-workspace/runtime/attachments.js +0 -34
  129. package/dist/cloud-workspace/runtime/attachments.js.map +0 -1
  130. package/dist/cloud-workspace/runtime/batch-generation.d.ts +0 -229
  131. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +0 -1
  132. package/dist/cloud-workspace/runtime/batch-generation.js +0 -244
  133. package/dist/cloud-workspace/runtime/batch-generation.js.map +0 -1
  134. package/dist/cloud-workspace/runtime/batch-production.d.ts +0 -474
  135. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +0 -1
  136. package/dist/cloud-workspace/runtime/batch-production.js +0 -61
  137. package/dist/cloud-workspace/runtime/batch-production.js.map +0 -1
  138. package/dist/cloud-workspace/runtime/capabilities.d.ts +0 -40
  139. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +0 -1
  140. package/dist/cloud-workspace/runtime/capabilities.js +0 -53
  141. package/dist/cloud-workspace/runtime/capabilities.js.map +0 -1
  142. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +0 -53
  143. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +0 -1
  144. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +0 -95
  145. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +0 -1
  146. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +0 -197
  147. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +0 -1
  148. package/dist/cloud-workspace/runtime/chat-realtime.js +0 -299
  149. package/dist/cloud-workspace/runtime/chat-realtime.js.map +0 -1
  150. package/dist/cloud-workspace/runtime/checkpoints.d.ts +0 -35
  151. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +0 -1
  152. package/dist/cloud-workspace/runtime/checkpoints.js +0 -35
  153. package/dist/cloud-workspace/runtime/checkpoints.js.map +0 -1
  154. package/dist/cloud-workspace/runtime/config.d.ts +0 -47
  155. package/dist/cloud-workspace/runtime/config.d.ts.map +0 -1
  156. package/dist/cloud-workspace/runtime/config.js +0 -125
  157. package/dist/cloud-workspace/runtime/config.js.map +0 -1
  158. package/dist/cloud-workspace/runtime/connectivity.d.ts +0 -205
  159. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +0 -1
  160. package/dist/cloud-workspace/runtime/connectivity.js +0 -46
  161. package/dist/cloud-workspace/runtime/connectivity.js.map +0 -1
  162. package/dist/cloud-workspace/runtime/errors.d.ts +0 -26
  163. package/dist/cloud-workspace/runtime/errors.d.ts.map +0 -1
  164. package/dist/cloud-workspace/runtime/errors.js +0 -40
  165. package/dist/cloud-workspace/runtime/errors.js.map +0 -1
  166. package/dist/cloud-workspace/runtime/events.d.ts +0 -107
  167. package/dist/cloud-workspace/runtime/events.d.ts.map +0 -1
  168. package/dist/cloud-workspace/runtime/events.js +0 -70
  169. package/dist/cloud-workspace/runtime/events.js.map +0 -1
  170. package/dist/cloud-workspace/runtime/execution-grant.d.ts +0 -36
  171. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +0 -1
  172. package/dist/cloud-workspace/runtime/execution-grant.js +0 -102
  173. package/dist/cloud-workspace/runtime/execution-grant.js.map +0 -1
  174. package/dist/cloud-workspace/runtime/files.d.ts +0 -74
  175. package/dist/cloud-workspace/runtime/files.d.ts.map +0 -1
  176. package/dist/cloud-workspace/runtime/files.js +0 -93
  177. package/dist/cloud-workspace/runtime/files.js.map +0 -1
  178. package/dist/cloud-workspace/runtime/generations.d.ts +0 -18
  179. package/dist/cloud-workspace/runtime/generations.d.ts.map +0 -1
  180. package/dist/cloud-workspace/runtime/generations.js +0 -39
  181. package/dist/cloud-workspace/runtime/generations.js.map +0 -1
  182. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +0 -35
  183. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +0 -1
  184. package/dist/cloud-workspace/runtime/git-auth-mode.js +0 -73
  185. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +0 -1
  186. package/dist/cloud-workspace/runtime/git.d.ts +0 -103
  187. package/dist/cloud-workspace/runtime/git.d.ts.map +0 -1
  188. package/dist/cloud-workspace/runtime/git.js +0 -91
  189. package/dist/cloud-workspace/runtime/git.js.map +0 -1
  190. package/dist/cloud-workspace/runtime/handshake.d.ts +0 -47
  191. package/dist/cloud-workspace/runtime/handshake.d.ts.map +0 -1
  192. package/dist/cloud-workspace/runtime/handshake.js +0 -31
  193. package/dist/cloud-workspace/runtime/handshake.js.map +0 -1
  194. package/dist/cloud-workspace/runtime/index.d.ts +0 -48
  195. package/dist/cloud-workspace/runtime/index.d.ts.map +0 -1
  196. package/dist/cloud-workspace/runtime/index.js +0 -48
  197. package/dist/cloud-workspace/runtime/index.js.map +0 -1
  198. package/dist/cloud-workspace/runtime/native-history.d.ts +0 -66
  199. package/dist/cloud-workspace/runtime/native-history.d.ts.map +0 -1
  200. package/dist/cloud-workspace/runtime/native-history.js +0 -127
  201. package/dist/cloud-workspace/runtime/native-history.js.map +0 -1
  202. package/dist/cloud-workspace/runtime/operations.d.ts +0 -208
  203. package/dist/cloud-workspace/runtime/operations.d.ts.map +0 -1
  204. package/dist/cloud-workspace/runtime/operations.js +0 -198
  205. package/dist/cloud-workspace/runtime/operations.js.map +0 -1
  206. package/dist/cloud-workspace/runtime/parameters.d.ts +0 -38
  207. package/dist/cloud-workspace/runtime/parameters.d.ts.map +0 -1
  208. package/dist/cloud-workspace/runtime/parameters.js +0 -75
  209. package/dist/cloud-workspace/runtime/parameters.js.map +0 -1
  210. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +0 -24
  211. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +0 -1
  212. package/dist/cloud-workspace/runtime/platform-endpoints.js +0 -36
  213. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +0 -1
  214. package/dist/cloud-workspace/runtime/previews.d.ts +0 -59
  215. package/dist/cloud-workspace/runtime/previews.d.ts.map +0 -1
  216. package/dist/cloud-workspace/runtime/previews.js +0 -63
  217. package/dist/cloud-workspace/runtime/previews.js.map +0 -1
  218. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +0 -40
  219. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +0 -1
  220. package/dist/cloud-workspace/runtime/project-native-skills.js +0 -45
  221. package/dist/cloud-workspace/runtime/project-native-skills.js.map +0 -1
  222. package/dist/cloud-workspace/runtime/protocol.d.ts +0 -23
  223. package/dist/cloud-workspace/runtime/protocol.d.ts.map +0 -1
  224. package/dist/cloud-workspace/runtime/protocol.js +0 -30
  225. package/dist/cloud-workspace/runtime/protocol.js.map +0 -1
  226. package/dist/cloud-workspace/runtime/resource-grant.d.ts +0 -62
  227. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +0 -1
  228. package/dist/cloud-workspace/runtime/resource-grant.js +0 -87
  229. package/dist/cloud-workspace/runtime/resource-grant.js.map +0 -1
  230. package/dist/cloud-workspace/runtime/skills.d.ts +0 -39
  231. package/dist/cloud-workspace/runtime/skills.d.ts.map +0 -1
  232. package/dist/cloud-workspace/runtime/skills.js +0 -33
  233. package/dist/cloud-workspace/runtime/skills.js.map +0 -1
  234. package/dist/cloud-workspace/runtime/terminal-session.d.ts +0 -78
  235. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +0 -1
  236. package/dist/cloud-workspace/runtime/terminal-session.js +0 -178
  237. package/dist/cloud-workspace/runtime/terminal-session.js.map +0 -1
  238. package/dist/cloud-workspace/runtime/terminals.d.ts +0 -90
  239. package/dist/cloud-workspace/runtime/terminals.d.ts.map +0 -1
  240. package/dist/cloud-workspace/runtime/terminals.js +0 -111
  241. package/dist/cloud-workspace/runtime/terminals.js.map +0 -1
  242. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +0 -221
  243. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +0 -1
  244. package/dist/cloud-workspace/runtime/variant-workspace.js +0 -75
  245. package/dist/cloud-workspace/runtime/variant-workspace.js.map +0 -1
  246. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +0 -208
  247. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +0 -1
  248. package/dist/cloud-workspace/runtime/workspace-binding.js +0 -176
  249. package/dist/cloud-workspace/runtime/workspace-binding.js.map +0 -1
  250. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +0 -44
  251. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +0 -1
  252. package/dist/cloud-workspace/runtime/workspace-directories.js +0 -34
  253. package/dist/cloud-workspace/runtime/workspace-directories.js.map +0 -1
  254. package/dist/database/operators.d.ts +0 -2
  255. package/dist/database/operators.d.ts.map +0 -1
  256. package/dist/database/operators.js +0 -2
  257. package/dist/database/operators.js.map +0 -1
  258. package/dist/model-proxy/index.d.ts +0 -26
  259. package/dist/model-proxy/index.d.ts.map +0 -1
  260. package/dist/model-proxy/index.js +0 -81
  261. package/dist/model-proxy/index.js.map +0 -1
  262. package/dist/project-skills/bundle-archive.d.ts +0 -21
  263. package/dist/project-skills/bundle-archive.d.ts.map +0 -1
  264. package/dist/project-skills/bundle-archive.js +0 -165
  265. package/dist/project-skills/bundle-archive.js.map +0 -1
  266. package/dist/project-skills/bundle-path.d.ts +0 -3
  267. package/dist/project-skills/bundle-path.d.ts.map +0 -1
  268. package/dist/project-skills/bundle-path.js +0 -17
  269. package/dist/project-skills/bundle-path.js.map +0 -1
  270. package/dist/project-skills/evidence.d.ts +0 -15
  271. package/dist/project-skills/evidence.d.ts.map +0 -1
  272. package/dist/project-skills/evidence.js +0 -33
  273. package/dist/project-skills/evidence.js.map +0 -1
  274. package/dist/project-skills/index.d.ts +0 -7
  275. package/dist/project-skills/index.d.ts.map +0 -1
  276. package/dist/project-skills/index.js +0 -7
  277. package/dist/project-skills/index.js.map +0 -1
  278. package/dist/project-skills/inventory.d.ts +0 -23
  279. package/dist/project-skills/inventory.d.ts.map +0 -1
  280. package/dist/project-skills/inventory.js +0 -150
  281. package/dist/project-skills/inventory.js.map +0 -1
  282. package/dist/project-skills/local-snapshot.d.ts +0 -12
  283. package/dist/project-skills/local-snapshot.d.ts.map +0 -1
  284. package/dist/project-skills/local-snapshot.js +0 -66
  285. package/dist/project-skills/local-snapshot.js.map +0 -1
  286. package/dist/project-skills/protocol.d.ts +0 -31
  287. package/dist/project-skills/protocol.d.ts.map +0 -1
  288. package/dist/project-skills/protocol.js +0 -197
  289. package/dist/project-skills/protocol.js.map +0 -1
  290. package/dist/project-skills/runtime-plugin.d.ts +0 -66
  291. package/dist/project-skills/runtime-plugin.d.ts.map +0 -1
  292. package/dist/project-skills/runtime-plugin.js +0 -102
  293. package/dist/project-skills/runtime-plugin.js.map +0 -1
  294. package/dist/project-skills/types.d.ts +0 -63
  295. package/dist/project-skills/types.d.ts.map +0 -1
  296. package/dist/project-skills/types.js +0 -13
  297. package/dist/project-skills/types.js.map +0 -1
  298. package/dist/remix/auto-name.d.ts +0 -24
  299. package/dist/remix/auto-name.d.ts.map +0 -1
  300. package/dist/remix/auto-name.js +0 -40
  301. package/dist/remix/auto-name.js.map +0 -1
  302. package/dist/remix/index.d.ts +0 -2
  303. package/dist/remix/index.d.ts.map +0 -1
  304. package/dist/remix/index.js +0 -2
  305. package/dist/remix/index.js.map +0 -1
  306. package/dist/skill-evaluation.d.ts +0 -152
  307. package/dist/skill-evaluation.d.ts.map +0 -1
  308. package/dist/skill-evaluation.js +0 -14
  309. package/dist/skill-evaluation.js.map +0 -1
@@ -1,176 +0,0 @@
1
- import { z } from 'zod';
2
- import { isLocalWorkspaceGitAuthMode, workspaceGitAuthModeSchema, workspaceGitDirectAccessSchema } from './git-auth-mode.js';
3
- import { workspaceDirectoryRegistrationSchema } from './workspace-directories.js';
4
- /** Trusted control-plane registration; never merge this with a browser operation payload. */
5
- const boundWorkspaceRegistrationSchema = z
6
- .object({
7
- workspaceId: z.string().uuid(),
8
- projectId: z.string().uuid(),
9
- targetKind: z.enum(['main', 'remix']),
10
- remixId: z.string().uuid().nullable(),
11
- repositoryUrl: z.string().min(1).max(2048),
12
- branchName: z.string().min(1).max(512),
13
- directories: z.array(workspaceDirectoryRegistrationSchema).optional(),
14
- /** A batch may bind repository metadata while retaining the original local basic checkout. */
15
- preserveLocalBasic: z.boolean().optional(),
16
- /** Present only while the remix draft has not been pushed. Checkout creates the branch from this commit. */
17
- pendingFork: z.object({
18
- sourceBranchName: z.string().min(1).max(512),
19
- sourceCommit: z.string().regex(/^[a-f0-9]{40,64}$/),
20
- }).strict().optional(),
21
- })
22
- .strict()
23
- .refine((value) => (value.targetKind === 'main') === (value.remixId === null));
24
- export const workspaceRegistrationSchema = z.union([
25
- boundWorkspaceRegistrationSchema,
26
- z.object({
27
- workspaceId: z.string().uuid(),
28
- projectId: z.null(),
29
- targetKind: z.literal('standalone'),
30
- remixId: z.null(),
31
- repositoryUrl: z.null(),
32
- branchName: z.null(),
33
- directories: z.array(workspaceDirectoryRegistrationSchema).optional(),
34
- }).strict(),
35
- ]);
36
- /**
37
- * Checkout instructions for an unpushed remix draft. Present only until that draft is pushed,
38
- * so two registrations of the same workspace can differ here without being different bindings.
39
- */
40
- export function remixPendingFork(input) {
41
- if (input.targetKind !== 'remix' || input.pushedAt != null)
42
- return undefined;
43
- if (typeof input.sourceBranchName !== 'string' || !input.sourceBranchName)
44
- return undefined;
45
- if (typeof input.sourceCommit !== 'string' || !input.sourceCommit)
46
- return undefined;
47
- return { sourceBranchName: input.sourceBranchName, sourceCommit: input.sourceCommit };
48
- }
49
- /** Identity of a workspace binding. `pendingFork` is excluded because it appears and disappears. */
50
- export function sameWorkspaceRegistration(left, right) {
51
- return (left.workspaceId === right.workspaceId &&
52
- left.projectId === right.projectId &&
53
- left.targetKind === right.targetKind &&
54
- left.remixId === right.remixId &&
55
- left.repositoryUrl === right.repositoryUrl &&
56
- left.branchName === right.branchName &&
57
- ('preserveLocalBasic' in left ? left.preserveLocalBasic : undefined) === ('preserveLocalBasic' in right ? right.preserveLocalBasic : undefined));
58
- }
59
- /** Ephemeral clone access, never part of a persisted Workspace binding or operation. */
60
- export const workspaceGitAccessSchema = z
61
- .object({
62
- username: z
63
- .string()
64
- .min(1)
65
- .max(256)
66
- .regex(/^[^:\r\n\0]+$/),
67
- password: z
68
- .string()
69
- .min(1)
70
- .max(8192)
71
- .regex(/^[^\r\n\0]+$/),
72
- issuedAt: z.string().datetime(),
73
- expiresAt: z.string().datetime(),
74
- })
75
- .strict()
76
- .refine((value) => {
77
- const lifetime = Date.parse(value.expiresAt) - Date.parse(value.issuedAt);
78
- return lifetime > 0 && lifetime <= 15 * 60_000;
79
- });
80
- /** Controlled read entry. The canonical repository URL stays on the remote. */
81
- export const workspaceGitTransportSchema = z
82
- .object({
83
- kind: z.enum(['git-read-gateway-v1', 'git-gateway-v2']),
84
- cloneUrl: z.string().min(1).max(2048),
85
- })
86
- .strict();
87
- const cloneWorkspacePreparationSchema = z
88
- .object({
89
- mode: z.literal('clone'),
90
- authMode: workspaceGitAuthModeSchema.optional(),
91
- directAccess: workspaceGitDirectAccessSchema.nullable().optional(),
92
- gitAccess: workspaceGitAccessSchema.optional(),
93
- transport: workspaceGitTransportSchema.optional(),
94
- })
95
- .strict()
96
- .refine((value) => value.transport === undefined || value.gitAccess !== undefined)
97
- .refine(value => isLocalWorkspaceGitAuthMode(value.authMode)
98
- ? value.directAccess !== undefined && !value.gitAccess && !value.transport
99
- : value.directAccess === undefined);
100
- export const workspacePreparationSchema = z.union([
101
- cloneWorkspacePreparationSchema,
102
- z.object({ mode: z.literal('empty') }).strict(),
103
- ]);
104
- const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '[::1]']);
105
- export function parseWorkspaceGitGatewayOrigin(value) {
106
- const url = new URL(value);
107
- if (url.username ||
108
- url.password ||
109
- url.search ||
110
- url.hash ||
111
- (url.pathname !== '/' && url.pathname !== '') ||
112
- (url.protocol !== 'https:' &&
113
- !(url.protocol === 'http:' && LOOPBACK_HOSTS.has(url.hostname)))) {
114
- throw new Error('invalid_git_gateway_origin');
115
- }
116
- return url.origin;
117
- }
118
- export function parseWorkspaceGitGatewayOrigins(value) {
119
- if (!value?.trim())
120
- return [];
121
- return [
122
- ...new Set(value
123
- .split(',')
124
- .map((item) => item.trim())
125
- .filter(Boolean)
126
- .map((item) => parseWorkspaceGitGatewayOrigin(item))),
127
- ];
128
- }
129
- /** Proxy mode is rejected when no allowlisted origin is configured. */
130
- export function matchWorkspaceGitGatewayCloneUrl(cloneUrl, allowedOrigins, repositoryUrl) {
131
- if (allowedOrigins.length === 0)
132
- return { ok: false, reason: 'capability_missing' };
133
- let gateway;
134
- let repository;
135
- try {
136
- gateway = new URL(cloneUrl);
137
- repository = new URL(repositoryUrl);
138
- }
139
- catch {
140
- return { ok: false, reason: 'rejected' };
141
- }
142
- const allowed = new Set();
143
- for (const origin of allowedOrigins) {
144
- try {
145
- allowed.add(parseWorkspaceGitGatewayOrigin(origin));
146
- }
147
- catch {
148
- return { ok: false, reason: 'rejected' };
149
- }
150
- }
151
- const request = /^\/workspace-git\/([a-f0-9]{64}|v2\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$/.exec(gateway.pathname);
152
- if (!request ||
153
- gateway.username ||
154
- gateway.password ||
155
- gateway.search ||
156
- gateway.hash ||
157
- gateway.href !== `${gateway.origin}${gateway.pathname}` ||
158
- gateway.origin === repository.origin ||
159
- !allowed.has(gateway.origin) ||
160
- (gateway.protocol !== 'https:' &&
161
- !(gateway.protocol === 'http:' && LOOPBACK_HOSTS.has(gateway.hostname)))) {
162
- return { ok: false, reason: 'rejected' };
163
- }
164
- return { ok: true, origin: gateway.origin, requestId: request[1] };
165
- }
166
- export const workspaceRegistrationRequestSchema = z
167
- .object({
168
- binding: workspaceRegistrationSchema,
169
- generation: z.number().int().nonnegative(),
170
- runtimeEpoch: z.number().int().nonnegative(),
171
- leaseFence: z.number().int().nonnegative(),
172
- preparation: workspacePreparationSchema.optional(),
173
- cliCredentials: z.boolean().optional(),
174
- })
175
- .strict();
176
- //# sourceMappingURL=workspace-binding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { z } from 'zod';
2
- /** Stable directory identities never contain a branch name or a relative path. */
3
- export declare const workspaceDirectoryNameSchema: z.ZodString;
4
- export type WorkspaceDirectoryName = z.infer<typeof workspaceDirectoryNameSchema>;
5
- /** The workspace root is an orchestration session, never an engineering checkout. */
6
- export declare const workspaceSessionScopeSchema: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>;
7
- export type WorkspaceSessionScope = z.infer<typeof workspaceSessionScopeSchema>;
8
- export declare const workspaceDirectoryRegistrationSchema: z.ZodObject<{
9
- workspaceId: z.ZodString;
10
- directoryName: z.ZodString;
11
- remixId: z.ZodNullable<z.ZodString>;
12
- branchName: z.ZodString;
13
- sourceCommit: z.ZodOptional<z.ZodString>;
14
- status: z.ZodOptional<z.ZodEnum<{
15
- pending: "pending";
16
- failed: "failed";
17
- ready: "ready";
18
- reclaimed: "reclaimed";
19
- }>>;
20
- }, z.core.$strict>;
21
- export type WorkspaceDirectoryRegistration = z.infer<typeof workspaceDirectoryRegistrationSchema>;
22
- export declare const workspaceDiskAdmissionSchema: z.ZodObject<{
23
- usagePercent: z.ZodNumber;
24
- collectedAt: z.ZodString;
25
- }, z.core.$strict>;
26
- export declare function workspaceDiskAdmission(usagePercent: number): 'allowed' | 'warning' | 'paused';
27
- /** Collected on demand; reclaimed checkouts retain identity without consuming local bytes. */
28
- export declare const workspaceDirectoryStatsSchema: z.ZodObject<{
29
- workspaceId: z.ZodString;
30
- sizeBytes: z.ZodNumber;
31
- lastUsedAt: z.ZodNullable<z.ZodString>;
32
- directories: z.ZodArray<z.ZodObject<{
33
- directoryName: z.ZodString;
34
- sizeBytes: z.ZodNumber;
35
- lastUsedAt: z.ZodNullable<z.ZodString>;
36
- status: z.ZodEnum<{
37
- present: "present";
38
- reclaimed: "reclaimed";
39
- missing: "missing";
40
- }>;
41
- }, z.core.$strict>>;
42
- }, z.core.$strict>;
43
- export type WorkspaceDirectoryStats = z.infer<typeof workspaceDirectoryStatsSchema>;
44
- //# sourceMappingURL=workspace-directories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-directories.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-directories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,aAAwE,CAAC;AAClH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,0DAA6D,CAAC;AACtG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;kBAOtC,CAAC;AACZ,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,eAAO,MAAM,4BAA4B;;;kBAG9B,CAAC;AAEZ,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAG7F;AAED,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;kBAU/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -1,34 +0,0 @@
1
- import { z } from 'zod';
2
- /** Stable directory identities never contain a branch name or a relative path. */
3
- export const workspaceDirectoryNameSchema = z.string().max(80).regex(/^(?:basic|remix-[a-z0-9][a-z0-9-]{3,63})$/);
4
- /** The workspace root is an orchestration session, never an engineering checkout. */
5
- export const workspaceSessionScopeSchema = z.union([workspaceDirectoryNameSchema, z.literal('root')]);
6
- export const workspaceDirectoryRegistrationSchema = z.object({
7
- workspaceId: z.string().uuid(),
8
- directoryName: workspaceDirectoryNameSchema,
9
- remixId: z.string().uuid().nullable(),
10
- branchName: z.string().trim().min(1).max(512),
11
- sourceCommit: z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/).optional(),
12
- status: z.enum(['pending', 'ready', 'reclaimed', 'failed']).optional(),
13
- }).strict();
14
- export const workspaceDiskAdmissionSchema = z.object({
15
- usagePercent: z.number().finite().min(0).max(100),
16
- collectedAt: z.string().datetime(),
17
- }).strict();
18
- export function workspaceDiskAdmission(usagePercent) {
19
- const percent = workspaceDiskAdmissionSchema.shape.usagePercent.parse(usagePercent);
20
- return percent >= 90 ? 'paused' : percent >= 70 ? 'warning' : 'allowed';
21
- }
22
- /** Collected on demand; reclaimed checkouts retain identity without consuming local bytes. */
23
- export const workspaceDirectoryStatsSchema = z.object({
24
- workspaceId: z.string().uuid(),
25
- sizeBytes: z.number().int().nonnegative().safe(),
26
- lastUsedAt: z.string().datetime().nullable(),
27
- directories: z.array(z.object({
28
- directoryName: workspaceDirectoryNameSchema,
29
- sizeBytes: z.number().int().nonnegative().safe(),
30
- lastUsedAt: z.string().datetime().nullable(),
31
- status: z.enum(['present', 'reclaimed', 'missing']),
32
- }).strict()),
33
- }).strict();
34
- //# sourceMappingURL=workspace-directories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-directories.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-directories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAGlH,qFAAqF;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAGtG,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,4BAA4B;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IAC5E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvE,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpF,OAAO,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5B,aAAa,EAAE,4BAA4B;QAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;QAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;KACpD,CAAC,CAAC,MAAM,EAAE,CAAC;CACb,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export { eq, inArray } from 'drizzle-orm';
2
- //# sourceMappingURL=operators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/database/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { eq, inArray } from 'drizzle-orm';
2
- //# sourceMappingURL=operators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/database/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,26 +0,0 @@
1
- /** Values accepted by the internal model transport; executable code never crosses it. */
2
- export type ModelWireValue = null | boolean | number | string | ModelWireValue[] | {
3
- [key: string]: ModelWireValue;
4
- };
5
- type WireHooks = {
6
- callback?: (fn: (...args: unknown[]) => unknown) => string;
7
- onCallback?: (id: string, args: unknown[]) => unknown;
8
- signal?: AbortSignal;
9
- onSignal?: (signal: AbortSignal) => void;
10
- };
11
- export declare function encodeModelValue(value: unknown, hooks?: WireHooks): ModelWireValue;
12
- export declare function decodeModelValue(value: ModelWireValue, hooks?: WireHooks): unknown;
13
- export type ModelOperationEvent = {
14
- type: 'callback';
15
- id: string;
16
- args: ModelWireValue;
17
- } | {
18
- type: 'result';
19
- value: ModelWireValue;
20
- } | {
21
- type: 'error';
22
- status: number;
23
- code: string;
24
- };
25
- export {};
26
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-proxy/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AACrH,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,KAAK,MAAM,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACtD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C,CAAC;AAGF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,cAAc,CA6BtF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CA6BtF;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1,81 +0,0 @@
1
- const marker = '__playcraft_model_wire_v1__';
2
- export function encodeModelValue(value, hooks = {}) {
3
- if (value === undefined)
4
- return { [marker]: 'undefined' };
5
- if (value === null || typeof value === 'string' || typeof value === 'boolean')
6
- return value;
7
- if (typeof value === 'number') {
8
- if (!Number.isFinite(value))
9
- throw new Error('invalid_model_transport_number');
10
- return value;
11
- }
12
- if (typeof value === 'function') {
13
- if (!hooks.callback)
14
- throw new Error('model_transport_callback_not_allowed');
15
- return { [marker]: 'callback', id: hooks.callback(value) };
16
- }
17
- if (value instanceof AbortSignal) {
18
- hooks.onSignal?.(value);
19
- return { [marker]: 'signal' };
20
- }
21
- if (value instanceof Date)
22
- return { [marker]: 'date', value: value.toISOString() };
23
- if (value instanceof URL)
24
- return { [marker]: 'url', value: value.toString() };
25
- if (value instanceof Error)
26
- return { [marker]: 'error', name: value.name, message: value.message.slice(0, 2000) };
27
- if (Buffer.isBuffer(value))
28
- return { [marker]: 'buffer', value: value.toString('base64') };
29
- if (value instanceof Uint8Array)
30
- return { [marker]: 'bytes', value: Buffer.from(value).toString('base64') };
31
- if (Array.isArray(value))
32
- return value.map((item) => encodeModelValue(item, hooks));
33
- if (typeof value !== 'object')
34
- throw new Error('invalid_model_transport_value');
35
- const result = {};
36
- for (const [key, item] of Object.entries(value)) {
37
- if (key === marker || key === '__proto__' || key === 'constructor' || key === 'prototype')
38
- throw new Error('invalid_model_transport_key');
39
- result[key] = encodeModelValue(item, hooks);
40
- }
41
- return result;
42
- }
43
- export function decodeModelValue(value, hooks = {}) {
44
- if (value === null || typeof value !== 'object')
45
- return value;
46
- if (Array.isArray(value))
47
- return value.map((item) => decodeModelValue(item, hooks));
48
- if (marker in value) {
49
- const kind = value[marker];
50
- if (kind === 'undefined')
51
- return undefined;
52
- if (kind === 'signal')
53
- return hooks.signal;
54
- if (kind === 'callback' && typeof value.id === 'string' && hooks.onCallback)
55
- return (...args) => hooks.onCallback(value.id, args);
56
- if (kind === 'error' && typeof value.name === 'string' && typeof value.message === 'string') {
57
- const error = new Error(value.message);
58
- error.name = value.name;
59
- return error;
60
- }
61
- if (typeof value.value === 'string') {
62
- if (kind === 'buffer')
63
- return Buffer.from(value.value, 'base64');
64
- if (kind === 'bytes')
65
- return Uint8Array.from(Buffer.from(value.value, 'base64'));
66
- if (kind === 'date')
67
- return new Date(value.value);
68
- if (kind === 'url')
69
- return new URL(value.value);
70
- }
71
- throw new Error('invalid_model_transport_tag');
72
- }
73
- const result = {};
74
- for (const [key, item] of Object.entries(value)) {
75
- if (key === '__proto__' || key === 'constructor' || key === 'prototype')
76
- throw new Error('invalid_model_transport_key');
77
- result[key] = decodeModelValue(item, hooks);
78
- }
79
- return result;
80
- }
81
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model-proxy/index.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- type SkillRegistryValidationIssue = {
2
- severity: 'error' | 'warning';
3
- code: 'bundle_too_large' | 'invalid_manifest' | 'unsafe_archive_entry' | 'unsupported_file' | 'duplicate_path';
4
- message: string;
5
- path?: string;
6
- };
7
- export type SkillBundleFile = {
8
- path: string;
9
- data: Buffer;
10
- };
11
- export declare function createCanonicalBundleArchive(files: readonly SkillBundleFile[]): Buffer;
12
- export type BundleArchiveExtractionOptions = {
13
- maxArchiveBytes?: number;
14
- maxExpandedBytes?: number;
15
- };
16
- export declare function extractBundleArchive(archive: Buffer, options?: BundleArchiveExtractionOptions): {
17
- files: SkillBundleFile[];
18
- issues: SkillRegistryValidationIssue[];
19
- };
20
- export {};
21
- //# sourceMappingURL=bundle-archive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-archive.d.ts","sourceRoot":"","sources":["../../src/project-skills/bundle-archive.ts"],"names":[],"mappings":"AAEA,KAAK,4BAA4B,GAAG;IAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAMtN,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAetF;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC,GAAG;IACnG,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,EAAE,4BAA4B,EAAE,CAAC;CACxC,CAyEA"}
@@ -1,165 +0,0 @@
1
- import { gunzipSync, gzipSync } from 'node:zlib';
2
- import { normalizeBundlePath } from './bundle-path.js';
3
- const TAR_BLOCK_SIZE = 512;
4
- const DEFAULT_MAX_ARCHIVE_BYTES = 64 * 1024 * 1024;
5
- const DEFAULT_MAX_EXPANDED_BYTES = 72 * 1024 * 1024;
6
- export function createCanonicalBundleArchive(files) {
7
- const sorted = [...files].sort((left, right) => left.path.localeCompare(right.path));
8
- const entries = sorted.map((file) => {
9
- const path = normalizeBundlePath(file.path);
10
- if (!path)
11
- throw new Error(`Cannot archive an unsafe bundle path: ${file.path}`);
12
- const { name, prefix } = splitTarPath(path);
13
- const header = createTarHeader(name, prefix, file.data.length);
14
- const padding = Buffer.alloc(paddedLength(file.data.length) - file.data.length);
15
- return Buffer.concat([header, file.data, padding]);
16
- });
17
- const archive = gzipSync(Buffer.concat([...entries, Buffer.alloc(TAR_BLOCK_SIZE * 2)]));
18
- // zlib writes the host operating system into the gzip header (macOS=19, Linux=3).
19
- // Preserve the established Linux artifact format on every build host.
20
- archive[9] = 3;
21
- return archive;
22
- }
23
- export function extractBundleArchive(archive, options = {}) {
24
- const issues = [];
25
- const maxArchiveBytes = options.maxArchiveBytes ?? DEFAULT_MAX_ARCHIVE_BYTES;
26
- const maxExpandedBytes = options.maxExpandedBytes ?? DEFAULT_MAX_EXPANDED_BYTES;
27
- if (archive.length > maxArchiveBytes) {
28
- return {
29
- files: [],
30
- issues: [{ severity: 'error', code: 'bundle_too_large', message: `The compressed bundle exceeds ${maxArchiveBytes} bytes.` }],
31
- };
32
- }
33
- let contents;
34
- try {
35
- contents = gunzipSync(archive, { maxOutputLength: maxExpandedBytes });
36
- }
37
- catch {
38
- return {
39
- files: [],
40
- issues: [{ severity: 'error', code: 'invalid_manifest', message: 'The bundle is not a valid gzip archive.' }],
41
- };
42
- }
43
- const files = [];
44
- const seen = new Set();
45
- let offset = 0;
46
- while (offset + TAR_BLOCK_SIZE <= contents.length) {
47
- const header = contents.subarray(offset, offset + TAR_BLOCK_SIZE);
48
- if (header.every((byte) => byte === 0))
49
- break;
50
- const parsed = parseTarHeader(header);
51
- if (!parsed) {
52
- issues.push({ severity: 'error', code: 'unsafe_archive_entry', message: 'The bundle contains an invalid tar entry.' });
53
- break;
54
- }
55
- const path = normalizeBundlePath(parsed.path);
56
- if (!path) {
57
- issues.push({ severity: 'error', code: 'unsafe_archive_entry', message: `The bundle contains an unsafe tar path: ${parsed.path}` });
58
- break;
59
- }
60
- if (parsed.type !== '0' && parsed.type !== '') {
61
- issues.push({
62
- severity: 'error',
63
- code: 'unsafe_archive_entry',
64
- message: `The bundle contains a non-regular tar entry: ${path}`,
65
- path,
66
- });
67
- break;
68
- }
69
- if ((parsed.mode & 0o111) !== 0) {
70
- issues.push({
71
- severity: 'error',
72
- code: 'unsupported_file',
73
- message: `The bundle contains an executable tar entry: ${path}`,
74
- path,
75
- });
76
- break;
77
- }
78
- const contentStart = offset + TAR_BLOCK_SIZE;
79
- const contentEnd = contentStart + parsed.size;
80
- if (parsed.size < 0 || contentEnd > contents.length) {
81
- issues.push({ severity: 'error', code: 'unsafe_archive_entry', message: `The bundle entry is truncated: ${path}`, path });
82
- break;
83
- }
84
- if (seen.has(path)) {
85
- issues.push({ severity: 'error', code: 'duplicate_path', message: `The bundle contains a duplicate path: ${path}`, path });
86
- break;
87
- }
88
- seen.add(path);
89
- files.push({ path, data: Buffer.from(contents.subarray(contentStart, contentEnd)) });
90
- offset = contentStart + paddedLength(parsed.size);
91
- }
92
- if (!issues.length && offset < contents.length && !contents.subarray(offset).every((byte) => byte === 0)) {
93
- issues.push({ severity: 'error', code: 'unsafe_archive_entry', message: 'The bundle has trailing non-tar data.' });
94
- }
95
- return { files, issues };
96
- }
97
- function createTarHeader(name, prefix, size) {
98
- const header = Buffer.alloc(TAR_BLOCK_SIZE);
99
- writeString(header, 0, 100, name);
100
- writeOctal(header, 100, 8, 0o644);
101
- writeOctal(header, 108, 8, 0);
102
- writeOctal(header, 116, 8, 0);
103
- writeOctal(header, 124, 12, size);
104
- writeOctal(header, 136, 12, 0);
105
- header.fill(0x20, 148, 156);
106
- writeString(header, 156, 1, '0');
107
- writeString(header, 257, 6, 'ustar\0');
108
- writeString(header, 263, 2, '00');
109
- writeString(header, 345, 155, prefix);
110
- const checksum = header.reduce((total, value) => total + value, 0);
111
- const checksumValue = `${checksum.toString(8).padStart(6, '0')}\0 `;
112
- writeString(header, 148, 8, checksumValue);
113
- return header;
114
- }
115
- function parseTarHeader(header) {
116
- const expectedChecksum = readOctal(header, 148, 8);
117
- const checksumHeader = Buffer.from(header);
118
- checksumHeader.fill(0x20, 148, 156);
119
- const actualChecksum = checksumHeader.reduce((total, value) => total + value, 0);
120
- const name = readString(header, 0, 100);
121
- const prefix = readString(header, 345, 155);
122
- const path = prefix ? `${prefix}/${name}` : name;
123
- const size = readOctal(header, 124, 12);
124
- const mode = readOctal(header, 100, 8);
125
- const type = readString(header, 156, 1);
126
- if (expectedChecksum === null || expectedChecksum !== actualChecksum || size === null || mode === null || !path)
127
- return null;
128
- return { path, size, mode, type };
129
- }
130
- function splitTarPath(path) {
131
- if (Buffer.byteLength(path) <= 100)
132
- return { name: path, prefix: '' };
133
- const slash = path.lastIndexOf('/');
134
- if (slash <= 0)
135
- throw new Error(`Bundle path is too long for a tar archive: ${path}`);
136
- const prefix = path.slice(0, slash);
137
- const name = path.slice(slash + 1);
138
- if (Buffer.byteLength(prefix) > 155 || Buffer.byteLength(name) > 100) {
139
- throw new Error(`Bundle path is too long for a tar archive: ${path}`);
140
- }
141
- return { name, prefix };
142
- }
143
- function writeString(buffer, offset, length, value) {
144
- const encoded = Buffer.from(value);
145
- if (encoded.length > length)
146
- throw new Error(`Tar header value exceeds ${length} bytes.`);
147
- encoded.copy(buffer, offset);
148
- }
149
- function writeOctal(buffer, offset, length, value) {
150
- const encoded = `${value.toString(8).padStart(length - 1, '0')}\0`;
151
- writeString(buffer, offset, length, encoded);
152
- }
153
- function readString(buffer, offset, length) {
154
- return buffer.subarray(offset, offset + length).toString('utf8').replace(/\0.*$/, '').trim();
155
- }
156
- function readOctal(buffer, offset, length) {
157
- const value = readString(buffer, offset, length);
158
- if (!value)
159
- return 0;
160
- return /^[0-7]+$/.test(value) ? Number.parseInt(value, 8) : null;
161
- }
162
- function paddedLength(length) {
163
- return Math.ceil(length / TAR_BLOCK_SIZE) * TAR_BLOCK_SIZE;
164
- }
165
- //# sourceMappingURL=bundle-archive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-archive.js","sourceRoot":"","sources":["../../src/project-skills/bundle-archive.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function normalizeBundlePath(value: string): string | null;
2
- export declare function isBundlePathWithin(prefix: string, path: string): boolean;
3
- //# sourceMappingURL=bundle-path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-path.d.ts","sourceRoot":"","sources":["../../src/project-skills/bundle-path.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOhE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxE"}