@playcraft/common 0.1.23 → 0.1.24

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 (273) 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 -1
  9. package/dist/agent-tools/index.d.ts.map +1 -1
  10. package/dist/agent-tools/index.js +0 -1
  11. package/dist/agent-tools/index.js.map +1 -1
  12. package/dist/agent-tools/types.d.ts +6 -0
  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/recommend/types.d.ts +1 -1
  20. package/dist/recommend/types.js +1 -1
  21. package/dist/storage/cos.d.ts +0 -10
  22. package/dist/storage/cos.d.ts.map +1 -1
  23. package/dist/storage/cos.js +0 -28
  24. package/dist/storage/cos.js.map +1 -1
  25. package/package.json +1 -25
  26. package/dist/agent-tools/operation-protocol.d.ts +0 -10
  27. package/dist/agent-tools/operation-protocol.d.ts.map +0 -1
  28. package/dist/agent-tools/operation-protocol.js +0 -13
  29. package/dist/agent-tools/operation-protocol.js.map +0 -1
  30. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +0 -68
  31. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +0 -1
  32. package/dist/cloud-workspace/runtime/agent-background-processes.js +0 -60
  33. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +0 -1
  34. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +0 -55
  35. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +0 -1
  36. package/dist/cloud-workspace/runtime/agent-chat-flush.js +0 -51
  37. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +0 -1
  38. package/dist/cloud-workspace/runtime/agent-command.d.ts +0 -152
  39. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +0 -1
  40. package/dist/cloud-workspace/runtime/agent-command.js +0 -90
  41. package/dist/cloud-workspace/runtime/agent-command.js.map +0 -1
  42. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +0 -143
  43. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +0 -1
  44. package/dist/cloud-workspace/runtime/agent-competitor-report.js +0 -115
  45. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +0 -1
  46. package/dist/cloud-workspace/runtime/agent-connection.d.ts +0 -76
  47. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +0 -1
  48. package/dist/cloud-workspace/runtime/agent-connection.js +0 -59
  49. package/dist/cloud-workspace/runtime/agent-connection.js.map +0 -1
  50. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +0 -90
  51. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +0 -1
  52. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +0 -60
  53. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +0 -1
  54. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +0 -87
  55. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +0 -1
  56. package/dist/cloud-workspace/runtime/agent-lifecycle.js +0 -75
  57. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +0 -1
  58. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +0 -197
  59. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +0 -1
  60. package/dist/cloud-workspace/runtime/agent-mutation.js +0 -114
  61. package/dist/cloud-workspace/runtime/agent-mutation.js.map +0 -1
  62. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +0 -210
  63. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +0 -1
  64. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +0 -180
  65. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +0 -1
  66. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +0 -406
  67. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +0 -1
  68. package/dist/cloud-workspace/runtime/agent-opencode.js +0 -237
  69. package/dist/cloud-workspace/runtime/agent-opencode.js.map +0 -1
  70. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +0 -21
  71. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +0 -1
  72. package/dist/cloud-workspace/runtime/agent-promotion.js +0 -23
  73. package/dist/cloud-workspace/runtime/agent-promotion.js.map +0 -1
  74. package/dist/cloud-workspace/runtime/agent-read.d.ts +0 -343
  75. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +0 -1
  76. package/dist/cloud-workspace/runtime/agent-read.js +0 -159
  77. package/dist/cloud-workspace/runtime/agent-read.js.map +0 -1
  78. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +0 -126
  79. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +0 -1
  80. package/dist/cloud-workspace/runtime/agent-source-project.js +0 -95
  81. package/dist/cloud-workspace/runtime/agent-source-project.js.map +0 -1
  82. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +0 -18
  83. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +0 -1
  84. package/dist/cloud-workspace/runtime/agent-tool-claim.js +0 -16
  85. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +0 -1
  86. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +0 -9
  87. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +0 -1
  88. package/dist/cloud-workspace/runtime/agent-variant-chat.js +0 -23
  89. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +0 -1
  90. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +0 -75
  91. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +0 -1
  92. package/dist/cloud-workspace/runtime/agent-variant-git.js +0 -62
  93. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +0 -1
  94. package/dist/cloud-workspace/runtime/attachments.d.ts +0 -18
  95. package/dist/cloud-workspace/runtime/attachments.d.ts.map +0 -1
  96. package/dist/cloud-workspace/runtime/attachments.js +0 -28
  97. package/dist/cloud-workspace/runtime/attachments.js.map +0 -1
  98. package/dist/cloud-workspace/runtime/batch-generation.d.ts +0 -227
  99. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +0 -1
  100. package/dist/cloud-workspace/runtime/batch-generation.js +0 -241
  101. package/dist/cloud-workspace/runtime/batch-generation.js.map +0 -1
  102. package/dist/cloud-workspace/runtime/batch-production.d.ts +0 -439
  103. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +0 -1
  104. package/dist/cloud-workspace/runtime/batch-production.js +0 -55
  105. package/dist/cloud-workspace/runtime/batch-production.js.map +0 -1
  106. package/dist/cloud-workspace/runtime/capabilities.d.ts +0 -40
  107. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +0 -1
  108. package/dist/cloud-workspace/runtime/capabilities.js +0 -53
  109. package/dist/cloud-workspace/runtime/capabilities.js.map +0 -1
  110. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +0 -53
  111. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +0 -1
  112. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +0 -95
  113. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +0 -1
  114. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +0 -197
  115. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +0 -1
  116. package/dist/cloud-workspace/runtime/chat-realtime.js +0 -299
  117. package/dist/cloud-workspace/runtime/chat-realtime.js.map +0 -1
  118. package/dist/cloud-workspace/runtime/checkpoints.d.ts +0 -35
  119. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +0 -1
  120. package/dist/cloud-workspace/runtime/checkpoints.js +0 -35
  121. package/dist/cloud-workspace/runtime/checkpoints.js.map +0 -1
  122. package/dist/cloud-workspace/runtime/config.d.ts +0 -47
  123. package/dist/cloud-workspace/runtime/config.d.ts.map +0 -1
  124. package/dist/cloud-workspace/runtime/config.js +0 -125
  125. package/dist/cloud-workspace/runtime/config.js.map +0 -1
  126. package/dist/cloud-workspace/runtime/connectivity.d.ts +0 -205
  127. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +0 -1
  128. package/dist/cloud-workspace/runtime/connectivity.js +0 -46
  129. package/dist/cloud-workspace/runtime/connectivity.js.map +0 -1
  130. package/dist/cloud-workspace/runtime/errors.d.ts +0 -26
  131. package/dist/cloud-workspace/runtime/errors.d.ts.map +0 -1
  132. package/dist/cloud-workspace/runtime/errors.js +0 -40
  133. package/dist/cloud-workspace/runtime/errors.js.map +0 -1
  134. package/dist/cloud-workspace/runtime/events.d.ts +0 -107
  135. package/dist/cloud-workspace/runtime/events.d.ts.map +0 -1
  136. package/dist/cloud-workspace/runtime/events.js +0 -70
  137. package/dist/cloud-workspace/runtime/events.js.map +0 -1
  138. package/dist/cloud-workspace/runtime/execution-grant.d.ts +0 -36
  139. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +0 -1
  140. package/dist/cloud-workspace/runtime/execution-grant.js +0 -102
  141. package/dist/cloud-workspace/runtime/execution-grant.js.map +0 -1
  142. package/dist/cloud-workspace/runtime/files.d.ts +0 -74
  143. package/dist/cloud-workspace/runtime/files.d.ts.map +0 -1
  144. package/dist/cloud-workspace/runtime/files.js +0 -93
  145. package/dist/cloud-workspace/runtime/files.js.map +0 -1
  146. package/dist/cloud-workspace/runtime/generations.d.ts +0 -18
  147. package/dist/cloud-workspace/runtime/generations.d.ts.map +0 -1
  148. package/dist/cloud-workspace/runtime/generations.js +0 -39
  149. package/dist/cloud-workspace/runtime/generations.js.map +0 -1
  150. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +0 -35
  151. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +0 -1
  152. package/dist/cloud-workspace/runtime/git-auth-mode.js +0 -73
  153. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +0 -1
  154. package/dist/cloud-workspace/runtime/git.d.ts +0 -103
  155. package/dist/cloud-workspace/runtime/git.d.ts.map +0 -1
  156. package/dist/cloud-workspace/runtime/git.js +0 -91
  157. package/dist/cloud-workspace/runtime/git.js.map +0 -1
  158. package/dist/cloud-workspace/runtime/handshake.d.ts +0 -47
  159. package/dist/cloud-workspace/runtime/handshake.d.ts.map +0 -1
  160. package/dist/cloud-workspace/runtime/handshake.js +0 -31
  161. package/dist/cloud-workspace/runtime/handshake.js.map +0 -1
  162. package/dist/cloud-workspace/runtime/index.d.ts +0 -47
  163. package/dist/cloud-workspace/runtime/index.d.ts.map +0 -1
  164. package/dist/cloud-workspace/runtime/index.js +0 -47
  165. package/dist/cloud-workspace/runtime/index.js.map +0 -1
  166. package/dist/cloud-workspace/runtime/native-history.d.ts +0 -66
  167. package/dist/cloud-workspace/runtime/native-history.d.ts.map +0 -1
  168. package/dist/cloud-workspace/runtime/native-history.js +0 -127
  169. package/dist/cloud-workspace/runtime/native-history.js.map +0 -1
  170. package/dist/cloud-workspace/runtime/operations.d.ts +0 -189
  171. package/dist/cloud-workspace/runtime/operations.d.ts.map +0 -1
  172. package/dist/cloud-workspace/runtime/operations.js +0 -192
  173. package/dist/cloud-workspace/runtime/operations.js.map +0 -1
  174. package/dist/cloud-workspace/runtime/parameters.d.ts +0 -38
  175. package/dist/cloud-workspace/runtime/parameters.d.ts.map +0 -1
  176. package/dist/cloud-workspace/runtime/parameters.js +0 -75
  177. package/dist/cloud-workspace/runtime/parameters.js.map +0 -1
  178. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +0 -24
  179. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +0 -1
  180. package/dist/cloud-workspace/runtime/platform-endpoints.js +0 -36
  181. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +0 -1
  182. package/dist/cloud-workspace/runtime/previews.d.ts +0 -59
  183. package/dist/cloud-workspace/runtime/previews.d.ts.map +0 -1
  184. package/dist/cloud-workspace/runtime/previews.js +0 -63
  185. package/dist/cloud-workspace/runtime/previews.js.map +0 -1
  186. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +0 -40
  187. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +0 -1
  188. package/dist/cloud-workspace/runtime/project-native-skills.js +0 -45
  189. package/dist/cloud-workspace/runtime/project-native-skills.js.map +0 -1
  190. package/dist/cloud-workspace/runtime/protocol.d.ts +0 -23
  191. package/dist/cloud-workspace/runtime/protocol.d.ts.map +0 -1
  192. package/dist/cloud-workspace/runtime/protocol.js +0 -30
  193. package/dist/cloud-workspace/runtime/protocol.js.map +0 -1
  194. package/dist/cloud-workspace/runtime/resource-grant.d.ts +0 -62
  195. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +0 -1
  196. package/dist/cloud-workspace/runtime/resource-grant.js +0 -87
  197. package/dist/cloud-workspace/runtime/resource-grant.js.map +0 -1
  198. package/dist/cloud-workspace/runtime/skills.d.ts +0 -23
  199. package/dist/cloud-workspace/runtime/skills.d.ts.map +0 -1
  200. package/dist/cloud-workspace/runtime/skills.js +0 -15
  201. package/dist/cloud-workspace/runtime/skills.js.map +0 -1
  202. package/dist/cloud-workspace/runtime/terminal-session.d.ts +0 -78
  203. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +0 -1
  204. package/dist/cloud-workspace/runtime/terminal-session.js +0 -178
  205. package/dist/cloud-workspace/runtime/terminal-session.js.map +0 -1
  206. package/dist/cloud-workspace/runtime/terminals.d.ts +0 -90
  207. package/dist/cloud-workspace/runtime/terminals.d.ts.map +0 -1
  208. package/dist/cloud-workspace/runtime/terminals.js +0 -111
  209. package/dist/cloud-workspace/runtime/terminals.js.map +0 -1
  210. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +0 -221
  211. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +0 -1
  212. package/dist/cloud-workspace/runtime/variant-workspace.js +0 -75
  213. package/dist/cloud-workspace/runtime/variant-workspace.js.map +0 -1
  214. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +0 -206
  215. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +0 -1
  216. package/dist/cloud-workspace/runtime/workspace-binding.js +0 -173
  217. package/dist/cloud-workspace/runtime/workspace-binding.js.map +0 -1
  218. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +0 -44
  219. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +0 -1
  220. package/dist/cloud-workspace/runtime/workspace-directories.js +0 -34
  221. package/dist/cloud-workspace/runtime/workspace-directories.js.map +0 -1
  222. package/dist/database/operators.d.ts +0 -2
  223. package/dist/database/operators.d.ts.map +0 -1
  224. package/dist/database/operators.js +0 -2
  225. package/dist/database/operators.js.map +0 -1
  226. package/dist/project-skills/bundle-archive.d.ts +0 -21
  227. package/dist/project-skills/bundle-archive.d.ts.map +0 -1
  228. package/dist/project-skills/bundle-archive.js +0 -165
  229. package/dist/project-skills/bundle-archive.js.map +0 -1
  230. package/dist/project-skills/bundle-path.d.ts +0 -3
  231. package/dist/project-skills/bundle-path.d.ts.map +0 -1
  232. package/dist/project-skills/bundle-path.js +0 -17
  233. package/dist/project-skills/bundle-path.js.map +0 -1
  234. package/dist/project-skills/evidence.d.ts +0 -15
  235. package/dist/project-skills/evidence.d.ts.map +0 -1
  236. package/dist/project-skills/evidence.js +0 -33
  237. package/dist/project-skills/evidence.js.map +0 -1
  238. package/dist/project-skills/index.d.ts +0 -7
  239. package/dist/project-skills/index.d.ts.map +0 -1
  240. package/dist/project-skills/index.js +0 -7
  241. package/dist/project-skills/index.js.map +0 -1
  242. package/dist/project-skills/inventory.d.ts +0 -23
  243. package/dist/project-skills/inventory.d.ts.map +0 -1
  244. package/dist/project-skills/inventory.js +0 -150
  245. package/dist/project-skills/inventory.js.map +0 -1
  246. package/dist/project-skills/local-snapshot.d.ts +0 -12
  247. package/dist/project-skills/local-snapshot.d.ts.map +0 -1
  248. package/dist/project-skills/local-snapshot.js +0 -66
  249. package/dist/project-skills/local-snapshot.js.map +0 -1
  250. package/dist/project-skills/protocol.d.ts +0 -31
  251. package/dist/project-skills/protocol.d.ts.map +0 -1
  252. package/dist/project-skills/protocol.js +0 -197
  253. package/dist/project-skills/protocol.js.map +0 -1
  254. package/dist/project-skills/runtime-plugin.d.ts +0 -66
  255. package/dist/project-skills/runtime-plugin.d.ts.map +0 -1
  256. package/dist/project-skills/runtime-plugin.js +0 -102
  257. package/dist/project-skills/runtime-plugin.js.map +0 -1
  258. package/dist/project-skills/types.d.ts +0 -63
  259. package/dist/project-skills/types.d.ts.map +0 -1
  260. package/dist/project-skills/types.js +0 -13
  261. package/dist/project-skills/types.js.map +0 -1
  262. package/dist/remix/auto-name.d.ts +0 -24
  263. package/dist/remix/auto-name.d.ts.map +0 -1
  264. package/dist/remix/auto-name.js +0 -40
  265. package/dist/remix/auto-name.js.map +0 -1
  266. package/dist/remix/index.d.ts +0 -2
  267. package/dist/remix/index.d.ts.map +0 -1
  268. package/dist/remix/index.js +0 -2
  269. package/dist/remix/index.js.map +0 -1
  270. package/dist/skill-evaluation.d.ts +0 -152
  271. package/dist/skill-evaluation.d.ts.map +0 -1
  272. package/dist/skill-evaluation.js +0 -14
  273. package/dist/skill-evaluation.js.map +0 -1
@@ -1,127 +0,0 @@
1
- import { z } from 'zod';
2
- import { sessionRecoverabilitySchema } from './checkpoints.js';
3
- const TEXT_MAX = 20_000;
4
- const ITEM_MAX = 500;
5
- const ID_MAX = 128;
6
- export const nativeHistoryItemSchema = z
7
- .object({
8
- id: z.string().min(1).max(ID_MAX),
9
- role: z.enum(['user', 'assistant']),
10
- text: z.string().min(1).max(TEXT_MAX),
11
- })
12
- .strict();
13
- /** Sandbox `thread/read` projection. Recoverability stays on the runtime session map. */
14
- export const nativeHistoryReadSchema = z
15
- .object({
16
- source: z.literal('native'),
17
- sessionId: z.string().min(1).max(128),
18
- workspaceId: z.string().min(1).max(128),
19
- threadId: z.string().min(1).max(128),
20
- threadName: z.string().min(1).max(200).optional(),
21
- truncated: z.boolean(),
22
- items: z.array(nativeHistoryItemSchema).max(ITEM_MAX),
23
- })
24
- .strict();
25
- export const browserSessionHistorySchema = z.discriminatedUnion('source', [
26
- nativeHistoryReadSchema.extend({ recoverability: sessionRecoverabilitySchema }).strict(),
27
- z
28
- .object({
29
- source: z.literal('unmapped'),
30
- sessionId: z.string().min(1).max(128),
31
- workspaceId: z.string().min(1).max(128),
32
- })
33
- .strict(),
34
- ]);
35
- /**
36
- * Projects a `thread/read` result into user and assistant text.
37
- * A different thread id, or a payload that is not an object, is refused.
38
- * Tool, reasoning, and image parts are omitted rather than described.
39
- */
40
- export function projectNativeThread(expectedThreadId, value) {
41
- const thread = record(value);
42
- const threadId = text(thread.id) ?? text(thread.threadId);
43
- if (!threadId || threadId !== expectedThreadId || threadId.length > ID_MAX)
44
- return undefined;
45
- const name = text(thread.name)?.trim();
46
- const threadName = name ? name.slice(0, 200) : undefined;
47
- const collected = [];
48
- const used = new Set();
49
- let truncated = false;
50
- const turns = Array.isArray(thread.turns) ? thread.turns : [];
51
- for (const turn of turns) {
52
- const items = Array.isArray(record(turn).items) ? record(turn).items : [];
53
- for (const item of items) {
54
- if (absorb(item, collected, used))
55
- truncated = true;
56
- }
57
- }
58
- if (collected.length > ITEM_MAX) {
59
- truncated = true;
60
- collected.splice(0, collected.length - ITEM_MAX);
61
- }
62
- return {
63
- threadId,
64
- ...(threadName ? { threadName } : {}),
65
- truncated,
66
- items: collected,
67
- };
68
- }
69
- function absorb(value, collected, used) {
70
- const item = record(value);
71
- const kind = text(item.type);
72
- let role;
73
- let body = '';
74
- if (kind === 'userMessage') {
75
- role = 'user';
76
- body = userText(item.content);
77
- }
78
- else if (kind === 'agentMessage') {
79
- role = 'assistant';
80
- body = text(item.text) ?? '';
81
- }
82
- else {
83
- return false;
84
- }
85
- const trimmed = body.trim();
86
- if (!role || !trimmed)
87
- return false;
88
- let truncated = false;
89
- let next = trimmed;
90
- if (next.length > TEXT_MAX) {
91
- next = next.slice(0, TEXT_MAX);
92
- truncated = true;
93
- }
94
- const id = uniqueId(text(item.id), collected.length + 1, used);
95
- collected.push({ id, role, text: next });
96
- return truncated;
97
- }
98
- function userText(content) {
99
- if (!Array.isArray(content))
100
- return '';
101
- return content
102
- .map((part) => {
103
- const row = record(part);
104
- return text(row.type) === 'text' ? text(row.text) ?? '' : '';
105
- })
106
- .filter(Boolean)
107
- .join('\n');
108
- }
109
- function uniqueId(preferred, index, used) {
110
- const base = preferred && preferred.length <= ID_MAX ? preferred : `item_${index}`;
111
- if (!used.has(base)) {
112
- used.add(base);
113
- return base;
114
- }
115
- const next = `${base}:${index}`.slice(0, ID_MAX);
116
- used.add(next);
117
- return next;
118
- }
119
- function text(value) {
120
- return typeof value === 'string' && value.length > 0 ? value : undefined;
121
- }
122
- function record(value) {
123
- return value !== null && typeof value === 'object' && !Array.isArray(value)
124
- ? value
125
- : {};
126
- }
127
- //# sourceMappingURL=native-history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-history.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/native-history.ts"],"names":[],"mappings":"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"}
@@ -1,189 +0,0 @@
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", "git.stage", "git.unstage", "git.discard", "workspace.save", "terminal.create", "parameter.patch", "skills.update", "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
- "git.stage": "git.stage";
15
- "git.unstage": "git.unstage";
16
- "git.discard": "git.discard";
17
- "workspace.save": "workspace.save";
18
- "terminal.create": "terminal.create";
19
- "parameter.patch": "parameter.patch";
20
- "skills.update": "skills.update";
21
- "preview.publish": "preview.publish";
22
- "checkpoint.create": "checkpoint.create";
23
- "checkpoint.restore": "checkpoint.restore";
24
- }>;
25
- /** Kinds that steer a running turn; they touch neither workspace content nor the runtime itself. */
26
- export declare const TURN_CONTROL_OPERATION_KINDS: readonly ["session.interrupt", "session.approval.respond"];
27
- /** Kinds that steer the runtime or a running turn without changing workspace content. */
28
- export declare const CONTROL_OPERATION_KINDS: readonly ["runtime.ensure", "runtime.destroy", "session.interrupt", "session.approval.respond"];
29
- export declare function isTurnControl(kind: string): boolean;
30
- export declare function isWorkspaceMutation(kind: string): boolean;
31
- export declare const OPERATION_STATUSES: readonly ["queued", "dispatched", "accepted", "completed", "failed", "interrupted", "uncertain"];
32
- export type OperationStatus = (typeof OPERATION_STATUSES)[number];
33
- export declare const operationStatusSchema: z.ZodEnum<{
34
- failed: "failed";
35
- queued: "queued";
36
- completed: "completed";
37
- uncertain: "uncertain";
38
- dispatched: "dispatched";
39
- accepted: "accepted";
40
- interrupted: "interrupted";
41
- }>;
42
- export declare const TERMINAL_OPERATION_STATUSES: readonly ["completed", "failed", "interrupted"];
43
- export type TerminalOperationStatus = (typeof TERMINAL_OPERATION_STATUSES)[number];
44
- export declare function canTransitionOperation(from: OperationStatus, to: OperationStatus): boolean;
45
- export declare function assertOperationTransition(from: OperationStatus, to: OperationStatus): void;
46
- export declare const operationAcceptRequestSchema: z.ZodObject<{
47
- clientRequestId: z.ZodString;
48
- kind: z.ZodEnum<{
49
- "runtime.ensure": "runtime.ensure";
50
- "runtime.destroy": "runtime.destroy";
51
- "session.create": "session.create";
52
- "session.turn": "session.turn";
53
- "session.interrupt": "session.interrupt";
54
- "session.approval.respond": "session.approval.respond";
55
- "file.write": "file.write";
56
- "git.commit": "git.commit";
57
- "git.push": "git.push";
58
- "git.stage": "git.stage";
59
- "git.unstage": "git.unstage";
60
- "git.discard": "git.discard";
61
- "workspace.save": "workspace.save";
62
- "terminal.create": "terminal.create";
63
- "parameter.patch": "parameter.patch";
64
- "skills.update": "skills.update";
65
- "preview.publish": "preview.publish";
66
- "checkpoint.create": "checkpoint.create";
67
- "checkpoint.restore": "checkpoint.restore";
68
- }>;
69
- workspaceId: z.ZodOptional<z.ZodString>;
70
- directoryName: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>>;
71
- sessionId: z.ZodOptional<z.ZodString>;
72
- expectedRevision: z.ZodOptional<z.ZodNumber>;
73
- payload: z.ZodUnknown;
74
- sessionRecovery: z.ZodOptional<z.ZodObject<{
75
- context: z.ZodString;
76
- modelConfigId: z.ZodOptional<z.ZodString>;
77
- }, z.core.$strict>>;
78
- }, z.core.$strict>;
79
- export type OperationAcceptRequest = z.infer<typeof operationAcceptRequestSchema>;
80
- export type SessionRecovery = NonNullable<OperationAcceptRequest['sessionRecovery']>;
81
- /**
82
- * Why a turn failed because its session has no usable Codex thread. Each is decided before the
83
- * message reaches Codex, so the same turn may be sent again with a `sessionRecovery`.
84
- */
85
- export declare const LOST_THREAD_ERRORS: readonly ["native_not_recoverable", "unknown_session", "unknown_thread"];
86
- export declare function isLostThreadError(error: string | undefined): boolean;
87
- export declare const operationRecordSchema: z.ZodObject<{
88
- operationId: z.ZodString;
89
- environment: z.ZodString;
90
- userId: z.ZodString;
91
- clientRequestId: z.ZodString;
92
- kind: z.ZodEnum<{
93
- "runtime.ensure": "runtime.ensure";
94
- "runtime.destroy": "runtime.destroy";
95
- "session.create": "session.create";
96
- "session.turn": "session.turn";
97
- "session.interrupt": "session.interrupt";
98
- "session.approval.respond": "session.approval.respond";
99
- "file.write": "file.write";
100
- "git.commit": "git.commit";
101
- "git.push": "git.push";
102
- "git.stage": "git.stage";
103
- "git.unstage": "git.unstage";
104
- "git.discard": "git.discard";
105
- "workspace.save": "workspace.save";
106
- "terminal.create": "terminal.create";
107
- "parameter.patch": "parameter.patch";
108
- "skills.update": "skills.update";
109
- "preview.publish": "preview.publish";
110
- "checkpoint.create": "checkpoint.create";
111
- "checkpoint.restore": "checkpoint.restore";
112
- }>;
113
- status: z.ZodEnum<{
114
- failed: "failed";
115
- queued: "queued";
116
- completed: "completed";
117
- uncertain: "uncertain";
118
- dispatched: "dispatched";
119
- accepted: "accepted";
120
- interrupted: "interrupted";
121
- }>;
122
- payloadHash: z.ZodString;
123
- workspaceId: z.ZodOptional<z.ZodString>;
124
- directoryName: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">]>>;
125
- sessionId: z.ZodOptional<z.ZodString>;
126
- expectedRevision: z.ZodOptional<z.ZodNumber>;
127
- generation: z.ZodOptional<z.ZodNumber>;
128
- runtimeEpoch: z.ZodOptional<z.ZodNumber>;
129
- leaseFence: z.ZodOptional<z.ZodNumber>;
130
- nativeRequestId: z.ZodOptional<z.ZodString>;
131
- nativeThreadId: z.ZodOptional<z.ZodString>;
132
- nativeTurnId: z.ZodOptional<z.ZodString>;
133
- modelConfigId: z.ZodOptional<z.ZodString>;
134
- nativeApprovalId: z.ZodOptional<z.ZodString>;
135
- sandboxOperationId: z.ZodOptional<z.ZodString>;
136
- checkpointId: z.ZodOptional<z.ZodString>;
137
- checkpointKind: z.ZodOptional<z.ZodEnum<{
138
- file: "file";
139
- coordinated: "coordinated";
140
- best_effort: "best_effort";
141
- }>>;
142
- checkpointConsistent: z.ZodOptional<z.ZodBoolean>;
143
- snapshotManifestKey: z.ZodOptional<z.ZodString>;
144
- snapshotChecksum: z.ZodOptional<z.ZodString>;
145
- snapshotStatus: z.ZodOptional<z.ZodEnum<{
146
- complete: "complete";
147
- incomplete: "incomplete";
148
- }>>;
149
- terminalId: z.ZodOptional<z.ZodString>;
150
- cwd: z.ZodOptional<z.ZodString>;
151
- error: z.ZodOptional<z.ZodString>;
152
- createdAt: z.ZodString;
153
- updatedAt: z.ZodString;
154
- }, z.core.$strict>;
155
- export type OperationRecord = z.infer<typeof operationRecordSchema>;
156
- export declare function operationScopeKey(input: {
157
- environment: string;
158
- userId: string;
159
- kind: OperationKind;
160
- clientRequestId: string;
161
- workspaceId?: string;
162
- directoryName?: string;
163
- sessionId?: string;
164
- }): string;
165
- export declare function hashOperationPayload(payload: unknown): string;
166
- export type IdempotentAcceptResult = {
167
- action: 'create';
168
- } | {
169
- action: 'reuse';
170
- operation: OperationRecord;
171
- } | {
172
- action: 'conflict';
173
- operation: OperationRecord;
174
- };
175
- export declare function resolveIdempotentAccept(existing: OperationRecord | undefined, payloadHash: string): IdempotentAcceptResult;
176
- export declare function transitionOperation(operation: OperationRecord, to: OperationStatus, patch?: Partial<Omit<OperationRecord, 'operationId' | 'status'>>): OperationRecord;
177
- export type NativeRecoveryEvidence = {
178
- kind: 'running';
179
- nativeThreadId: string;
180
- nativeTurnId: string;
181
- } | {
182
- kind: 'terminal';
183
- nativeThreadId: string;
184
- nativeTurnId: string;
185
- status: TerminalOperationStatus;
186
- };
187
- export declare function recoverUncertainOperation(operation: OperationRecord, evidence: NativeRecoveryEvidence): OperationRecord;
188
- export declare function stableStringify(value: unknown): string;
189
- //# sourceMappingURL=operations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/operations.ts"],"names":[],"mappings":"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"}
@@ -1,192 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { z } from 'zod';
3
- import { checkpointKindSchema } from './checkpoints.js';
4
- import { workspaceSessionScopeSchema } from './workspace-directories.js';
5
- export const OPERATION_KINDS = [
6
- 'runtime.ensure',
7
- 'runtime.destroy',
8
- 'session.create',
9
- 'session.turn',
10
- 'session.interrupt',
11
- 'session.approval.respond',
12
- 'file.write',
13
- 'git.commit',
14
- 'git.push',
15
- 'git.stage',
16
- 'git.unstage',
17
- 'git.discard',
18
- 'workspace.save',
19
- 'terminal.create',
20
- 'parameter.patch',
21
- 'skills.update',
22
- 'preview.publish',
23
- 'checkpoint.create',
24
- 'checkpoint.restore',
25
- ];
26
- export const operationKindSchema = z.enum(OPERATION_KINDS);
27
- /** Kinds that steer a running turn; they touch neither workspace content nor the runtime itself. */
28
- export const TURN_CONTROL_OPERATION_KINDS = [
29
- 'session.interrupt',
30
- 'session.approval.respond',
31
- ];
32
- /** Kinds that steer the runtime or a running turn without changing workspace content. */
33
- export const CONTROL_OPERATION_KINDS = [
34
- 'runtime.ensure',
35
- 'runtime.destroy',
36
- ...TURN_CONTROL_OPERATION_KINDS,
37
- ];
38
- export function isTurnControl(kind) {
39
- return TURN_CONTROL_OPERATION_KINDS.includes(kind);
40
- }
41
- export function isWorkspaceMutation(kind) {
42
- return !CONTROL_OPERATION_KINDS.includes(kind);
43
- }
44
- export const OPERATION_STATUSES = [
45
- 'queued',
46
- 'dispatched',
47
- 'accepted',
48
- 'completed',
49
- 'failed',
50
- 'interrupted',
51
- 'uncertain',
52
- ];
53
- export const operationStatusSchema = z.enum(OPERATION_STATUSES);
54
- export const TERMINAL_OPERATION_STATUSES = ['completed', 'failed', 'interrupted'];
55
- const OPERATION_TRANSITIONS = {
56
- queued: ['dispatched', 'failed', 'interrupted', 'uncertain'],
57
- dispatched: ['accepted', 'failed', 'interrupted', 'uncertain'],
58
- accepted: ['completed', 'failed', 'interrupted', 'uncertain'],
59
- completed: [],
60
- failed: [],
61
- interrupted: [],
62
- // accepted is only for unique native evidence via recoverUncertainOperation.
63
- // A probe that merely finds an activity must not complete the operation.
64
- uncertain: ['accepted', 'completed', 'failed', 'interrupted', 'uncertain'],
65
- };
66
- export function canTransitionOperation(from, to) {
67
- return OPERATION_TRANSITIONS[from].includes(to);
68
- }
69
- export function assertOperationTransition(from, to) {
70
- if (!canTransitionOperation(from, to)) {
71
- throw new Error(`illegal_operation_transition:${from}:${to}`);
72
- }
73
- }
74
- export const operationAcceptRequestSchema = z
75
- .object({
76
- clientRequestId: z.string().trim().min(1).max(128),
77
- kind: operationKindSchema,
78
- workspaceId: z.string().trim().min(1).max(128).optional(),
79
- directoryName: workspaceSessionScopeSchema.optional(),
80
- sessionId: z.string().trim().min(1).max(128).optional(),
81
- expectedRevision: z.number().int().nonnegative().optional(),
82
- payload: z.unknown(),
83
- /**
84
- * Sent with a turn on a session whose native thread was lost, letting the sandbox resume or
85
- * replace that thread. Kept outside the payload: the session's history keeps growing, and a
86
- * retry must still hash as the same request.
87
- */
88
- sessionRecovery: z
89
- .object({ context: z.string().max(64_000), modelConfigId: z.string().uuid().optional() })
90
- .strict()
91
- .optional(),
92
- })
93
- .strict();
94
- /**
95
- * Why a turn failed because its session has no usable Codex thread. Each is decided before the
96
- * message reaches Codex, so the same turn may be sent again with a `sessionRecovery`.
97
- */
98
- export const LOST_THREAD_ERRORS = ['native_not_recoverable', 'unknown_session', 'unknown_thread'];
99
- export function isLostThreadError(error) {
100
- return LOST_THREAD_ERRORS.includes(error);
101
- }
102
- export const operationRecordSchema = z
103
- .object({
104
- operationId: z.string().min(1).max(128),
105
- environment: z.string().min(1).max(64),
106
- userId: z.string().min(1).max(128),
107
- clientRequestId: z.string().min(1).max(128),
108
- kind: operationKindSchema,
109
- status: operationStatusSchema,
110
- payloadHash: z.string().length(64),
111
- workspaceId: z.string().min(1).max(128).optional(),
112
- directoryName: workspaceSessionScopeSchema.optional(),
113
- sessionId: z.string().min(1).max(128).optional(),
114
- expectedRevision: z.number().int().nonnegative().optional(),
115
- generation: z.number().int().nonnegative().optional(),
116
- runtimeEpoch: z.number().int().nonnegative().optional(),
117
- leaseFence: z.number().int().nonnegative().optional(),
118
- nativeRequestId: z.string().min(1).max(128).optional(),
119
- nativeThreadId: z.string().min(1).max(128).optional(),
120
- nativeTurnId: z.string().min(1).max(128).optional(),
121
- modelConfigId: z.string().uuid().optional(),
122
- nativeApprovalId: z.string().min(1).max(128).optional(),
123
- sandboxOperationId: z.string().min(1).max(128).optional(),
124
- checkpointId: z.string().min(1).max(128).optional(),
125
- checkpointKind: checkpointKindSchema.optional(),
126
- checkpointConsistent: z.boolean().optional(),
127
- snapshotManifestKey: z.string().min(1).max(512).optional(),
128
- snapshotChecksum: z.string().length(64).optional(),
129
- snapshotStatus: z.enum(['complete', 'incomplete']).optional(),
130
- terminalId: z.string().min(1).max(128).optional(),
131
- cwd: z.string().max(512).optional(),
132
- error: z.string().min(1).max(256).optional(),
133
- createdAt: z.string().min(1),
134
- updatedAt: z.string().min(1),
135
- })
136
- .strict();
137
- export function operationScopeKey(input) {
138
- return [
139
- input.environment,
140
- input.userId,
141
- input.workspaceId ?? '-',
142
- input.directoryName ?? 'basic',
143
- input.sessionId ?? '-',
144
- input.kind,
145
- input.clientRequestId,
146
- ].join(':');
147
- }
148
- export function hashOperationPayload(payload) {
149
- return createHash('sha256').update(stableStringify(payload)).digest('hex');
150
- }
151
- export function resolveIdempotentAccept(existing, payloadHash) {
152
- if (!existing)
153
- return { action: 'create' };
154
- if (existing.payloadHash === payloadHash)
155
- return { action: 'reuse', operation: existing };
156
- return { action: 'conflict', operation: existing };
157
- }
158
- export function transitionOperation(operation, to, patch = {}) {
159
- assertOperationTransition(operation.status, to);
160
- return operationRecordSchema.parse({
161
- ...operation,
162
- ...patch,
163
- status: to,
164
- updatedAt: new Date().toISOString(),
165
- });
166
- }
167
- export function recoverUncertainOperation(operation, evidence) {
168
- if (operation.status !== 'uncertain') {
169
- throw new Error('uncertain_recovery_requires_uncertain');
170
- }
171
- const nativeThreadId = evidence.nativeThreadId.trim();
172
- const nativeTurnId = evidence.nativeTurnId.trim();
173
- if (!nativeThreadId || !nativeTurnId) {
174
- throw new Error('native_evidence_required');
175
- }
176
- const to = evidence.kind === 'running' ? 'accepted' : evidence.status;
177
- return transitionOperation(operation, to, { nativeThreadId, nativeTurnId });
178
- }
179
- export function stableStringify(value) {
180
- return JSON.stringify(sortValue(value));
181
- }
182
- function sortValue(value) {
183
- if (Array.isArray(value))
184
- return value.map(sortValue);
185
- if (value && typeof value === 'object') {
186
- return Object.fromEntries(Object.entries(value)
187
- .sort(([left], [right]) => left.localeCompare(right))
188
- .map(([key, nested]) => [key, sortValue(nested)]));
189
- }
190
- return value;
191
- }
192
- //# sourceMappingURL=operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/operations.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const PARAMETER_STATUSES: readonly ["missing", "invalid", "schema_only", "ready"];
3
- export type ParameterStatus = (typeof PARAMETER_STATUSES)[number];
4
- export declare const parameterErrorSchema: z.ZodObject<{
5
- path: z.ZodString;
6
- reason: z.ZodString;
7
- }, z.core.$strict>;
8
- export type ParameterError = z.infer<typeof parameterErrorSchema>;
9
- export declare const parameterFieldPathSchema: z.ZodArray<z.ZodString>;
10
- export declare const parameterPrimitiveSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
11
- export type ParameterPrimitive = z.infer<typeof parameterPrimitiveSchema>;
12
- export declare const parameterDocumentSchema: z.ZodObject<{
13
- status: z.ZodEnum<{
14
- invalid: "invalid";
15
- ready: "ready";
16
- missing: "missing";
17
- schema_only: "schema_only";
18
- }>;
19
- schemaPath: z.ZodOptional<z.ZodString>;
20
- dataPath: z.ZodOptional<z.ZodString>;
21
- themeId: z.ZodOptional<z.ZodString>;
22
- schema: z.ZodOptional<z.ZodUnknown>;
23
- data: z.ZodOptional<z.ZodUnknown>;
24
- schemaRevision: z.ZodOptional<z.ZodNumber>;
25
- dataRevision: z.ZodOptional<z.ZodNumber>;
26
- errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
27
- path: z.ZodString;
28
- reason: z.ZodString;
29
- }, z.core.$strict>>>;
30
- }, z.core.$strict>;
31
- export type ParameterDocument = z.infer<typeof parameterDocumentSchema>;
32
- export declare const parameterPatchPayloadSchema: z.ZodObject<{
33
- fieldPath: z.ZodArray<z.ZodString>;
34
- value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
35
- expectedRevision: z.ZodNumber;
36
- }, z.core.$strict>;
37
- export type ParameterPatchPayload = z.infer<typeof parameterPatchPayloadSchema>;
38
- //# sourceMappingURL=parameters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB,yDAA0D,CAAC;AAC1F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;kBAKtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB,yBAG3B,CAAC;AAEX,eAAO,MAAM,wBAAwB,0EAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;kBAiDhC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,2BAA2B;;;;kBAM7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -1,75 +0,0 @@
1
- import { z } from 'zod';
2
- import { workspaceRelativePathSchema } from './files.js';
3
- export const PARAMETER_STATUSES = ['missing', 'invalid', 'schema_only', 'ready'];
4
- export const parameterErrorSchema = z
5
- .object({
6
- path: workspaceRelativePathSchema,
7
- reason: z.string().min(1).max(128),
8
- })
9
- .strict();
10
- export const parameterFieldPathSchema = z
11
- .array(z.string().trim().min(1).max(128).regex(/^[A-Za-z_][A-Za-z0-9_]*$/))
12
- .min(1)
13
- .max(16);
14
- export const parameterPrimitiveSchema = z.union([
15
- z.string().max(4096),
16
- z.number().finite(),
17
- z.boolean(),
18
- z.null(),
19
- ]);
20
- export const parameterDocumentSchema = z
21
- .object({
22
- status: z.enum(PARAMETER_STATUSES),
23
- schemaPath: workspaceRelativePathSchema.optional(),
24
- dataPath: workspaceRelativePathSchema.optional(),
25
- themeId: z.string().min(1).max(128).optional(),
26
- schema: z.unknown().optional(),
27
- data: z.unknown().optional(),
28
- schemaRevision: z.number().int().nonnegative().optional(),
29
- dataRevision: z.number().int().nonnegative().optional(),
30
- errors: z.array(parameterErrorSchema).max(16).optional(),
31
- })
32
- .strict()
33
- .superRefine((value, context) => {
34
- if (value.status === 'missing' && (value.schema !== undefined || value.data !== undefined)) {
35
- context.addIssue({
36
- code: z.ZodIssueCode.custom,
37
- message: 'missing parameters cannot include parsed documents',
38
- });
39
- }
40
- if (value.status === 'schema_only' && (value.schema === undefined || value.data !== undefined || !value.schemaPath)) {
41
- context.addIssue({
42
- code: z.ZodIssueCode.custom,
43
- message: 'schema_only requires a parsed schema and no data document',
44
- });
45
- }
46
- if (value.status === 'ready' &&
47
- (value.schema === undefined || value.data === undefined || !value.schemaPath || !value.dataPath)) {
48
- context.addIssue({
49
- code: z.ZodIssueCode.custom,
50
- message: 'ready parameters require schema and data documents',
51
- });
52
- }
53
- if (value.status === 'invalid' && (!value.errors || value.errors.length === 0)) {
54
- context.addIssue({
55
- code: z.ZodIssueCode.custom,
56
- message: 'invalid parameters require machine-readable errors',
57
- path: ['errors'],
58
- });
59
- }
60
- if (value.status === 'ready' && value.errors && value.errors.length > 0) {
61
- context.addIssue({
62
- code: z.ZodIssueCode.custom,
63
- message: 'ready parameters cannot include errors',
64
- path: ['errors'],
65
- });
66
- }
67
- });
68
- export const parameterPatchPayloadSchema = z
69
- .object({
70
- fieldPath: parameterFieldPathSchema,
71
- value: parameterPrimitiveSchema,
72
- expectedRevision: z.number().int().nonnegative(),
73
- })
74
- .strict();
75
- //# sourceMappingURL=parameters.js.map