@multiplayer-app/sandbox 0.0.8 → 0.0.10

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/dist/agents/content-generator.agent.d.ts +4 -0
  2. package/dist/agents/content-generator.agent.d.ts.map +1 -0
  3. package/dist/agents/content-generator.agent.js +41 -0
  4. package/dist/agents/content-generator.agent.js.map +1 -0
  5. package/dist/agents/html-generator.agent.d.ts +1 -3
  6. package/dist/agents/html-generator.agent.d.ts.map +1 -1
  7. package/dist/agents/html-generator.agent.js +4 -90
  8. package/dist/agents/html-generator.agent.js.map +1 -1
  9. package/dist/agents/markdown-generator.agent.d.ts.map +1 -1
  10. package/dist/agents/markdown-generator.agent.js +10 -5
  11. package/dist/agents/markdown-generator.agent.js.map +1 -1
  12. package/dist/agents/shared/content-generator-system-prompt.d.ts +3 -0
  13. package/dist/agents/shared/content-generator-system-prompt.d.ts.map +1 -0
  14. package/dist/agents/shared/content-generator-system-prompt.js +32 -0
  15. package/dist/agents/shared/content-generator-system-prompt.js.map +1 -0
  16. package/dist/agents/shared/get-session-artifact-content.tool.d.ts +7 -0
  17. package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +1 -0
  18. package/dist/agents/shared/get-session-artifact-content.tool.js +44 -0
  19. package/dist/agents/shared/get-session-artifact-content.tool.js.map +1 -0
  20. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +5 -0
  21. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +1 -0
  22. package/dist/agents/shared/list-session-artifact-paths.tool.js +37 -0
  23. package/dist/agents/shared/list-session-artifact-paths.tool.js.map +1 -0
  24. package/dist/agents/shared/publish-session-artifacts.tool.d.ts +1 -10
  25. package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -1
  26. package/dist/agents/shared/publish-session-artifacts.tool.js +96 -81
  27. package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -1
  28. package/dist/agents/shared/update-session-artifacts.tool.d.ts +18 -0
  29. package/dist/agents/shared/update-session-artifacts.tool.d.ts.map +1 -0
  30. package/dist/agents/shared/update-session-artifacts.tool.js +146 -0
  31. package/dist/agents/shared/update-session-artifacts.tool.js.map +1 -0
  32. package/dist/agents/shared/validate-artifact-content.tools.d.ts +12 -0
  33. package/dist/agents/shared/validate-artifact-content.tools.d.ts.map +1 -0
  34. package/dist/agents/shared/validate-artifact-content.tools.js +131 -0
  35. package/dist/agents/shared/validate-artifact-content.tools.js.map +1 -0
  36. package/dist/agents.d.ts.map +1 -1
  37. package/dist/agents.js +6 -4
  38. package/dist/agents.js.map +1 -1
  39. package/dist/ai-agent.service.d.ts.map +1 -1
  40. package/dist/ai-agent.service.js +0 -2
  41. package/dist/ai-agent.service.js.map +1 -1
  42. package/dist/create-builder-api.d.ts +4 -0
  43. package/dist/create-builder-api.d.ts.map +1 -1
  44. package/dist/create-builder-api.js.map +1 -1
  45. package/dist/index.d.ts +5 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +15 -5
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/chat-access.d.ts +19 -0
  50. package/dist/lib/chat-access.d.ts.map +1 -0
  51. package/dist/lib/chat-access.js +75 -0
  52. package/dist/lib/chat-access.js.map +1 -0
  53. package/dist/lib/list-user-chats.d.ts +22 -0
  54. package/dist/lib/list-user-chats.d.ts.map +1 -0
  55. package/dist/lib/list-user-chats.js +48 -0
  56. package/dist/lib/list-user-chats.js.map +1 -0
  57. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +3 -0
  58. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +1 -0
  59. package/dist/lib/session-artifacts/apply-hashline-edits.js +25 -0
  60. package/dist/lib/session-artifacts/apply-hashline-edits.js.map +1 -0
  61. package/dist/lib/session-artifacts/artifact-text-edit.d.ts +8 -0
  62. package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +1 -0
  63. package/dist/lib/session-artifacts/artifact-text-edit.js +23 -0
  64. package/dist/lib/session-artifacts/artifact-text-edit.js.map +1 -0
  65. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts +3 -0
  66. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts.map +1 -0
  67. package/dist/lib/session-artifacts/hashline-diff-guide.js +19 -0
  68. package/dist/lib/session-artifacts/hashline-diff-guide.js.map +1 -0
  69. package/dist/lib/session-artifacts/hashline-tag.d.ts +33 -0
  70. package/dist/lib/session-artifacts/hashline-tag.d.ts.map +1 -0
  71. package/dist/lib/session-artifacts/hashline-tag.js +80 -0
  72. package/dist/lib/session-artifacts/hashline-tag.js.map +1 -0
  73. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts +10 -0
  74. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts.map +1 -0
  75. package/dist/lib/session-artifacts/parse-hashline-diff.js +33 -0
  76. package/dist/lib/session-artifacts/parse-hashline-diff.js.map +1 -0
  77. package/dist/lib/session-pages/artifact-storage-paths.d.ts +13 -0
  78. package/dist/lib/session-pages/artifact-storage-paths.d.ts.map +1 -0
  79. package/dist/lib/session-pages/artifact-storage-paths.js +46 -0
  80. package/dist/lib/session-pages/artifact-storage-paths.js.map +1 -0
  81. package/dist/lib/session-pages/artifact-storage.d.ts +8 -0
  82. package/dist/lib/session-pages/artifact-storage.d.ts.map +1 -0
  83. package/dist/lib/session-pages/artifact-storage.js +113 -0
  84. package/dist/lib/session-pages/artifact-storage.js.map +1 -0
  85. package/dist/lib/session-pages/delete-session-artifact.d.ts +5 -0
  86. package/dist/lib/session-pages/delete-session-artifact.d.ts.map +1 -0
  87. package/dist/lib/session-pages/delete-session-artifact.js +56 -0
  88. package/dist/lib/session-pages/delete-session-artifact.js.map +1 -0
  89. package/dist/lib/session-pages/index.d.ts +3 -3
  90. package/dist/lib/session-pages/index.d.ts.map +1 -1
  91. package/dist/lib/session-pages/index.js +6 -6
  92. package/dist/lib/session-pages/index.js.map +1 -1
  93. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +3 -0
  94. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +1 -0
  95. package/dist/lib/session-pages/inject-preview-error-reporter.js +30 -0
  96. package/dist/lib/session-pages/inject-preview-error-reporter.js.map +1 -0
  97. package/dist/lib/session-pages/list-session-artifacts.d.ts.map +1 -1
  98. package/dist/lib/session-pages/list-session-artifacts.js +19 -3
  99. package/dist/lib/session-pages/list-session-artifacts.js.map +1 -1
  100. package/dist/lib/session-pages/paths.d.ts +0 -1
  101. package/dist/lib/session-pages/paths.d.ts.map +1 -1
  102. package/dist/lib/session-pages/paths.js +0 -8
  103. package/dist/lib/session-pages/paths.js.map +1 -1
  104. package/dist/lib/session-pages/read-session-artifacts.d.ts +9 -0
  105. package/dist/lib/session-pages/read-session-artifacts.d.ts.map +1 -0
  106. package/dist/lib/session-pages/read-session-artifacts.js +56 -0
  107. package/dist/lib/session-pages/read-session-artifacts.js.map +1 -0
  108. package/dist/lib/session-pages/session-pico-css.d.ts +5 -0
  109. package/dist/lib/session-pages/session-pico-css.d.ts.map +1 -0
  110. package/dist/lib/session-pages/session-pico-css.js +11 -0
  111. package/dist/lib/session-pages/session-pico-css.js.map +1 -0
  112. package/dist/lib/session-pages/write-session-artifacts.d.ts +0 -10
  113. package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -1
  114. package/dist/lib/session-pages/write-session-artifacts.js +9 -57
  115. package/dist/lib/session-pages/write-session-artifacts.js.map +1 -1
  116. package/dist/lib/socket/artifact-events.d.ts +1 -1
  117. package/dist/lib/socket/artifact-events.d.ts.map +1 -1
  118. package/dist/lib/socket/artifact-events.js.map +1 -1
  119. package/dist/middleware/index.d.ts +2 -0
  120. package/dist/middleware/index.d.ts.map +1 -0
  121. package/dist/middleware/index.js +38 -0
  122. package/dist/middleware/index.js.map +1 -0
  123. package/dist/middleware/validation/activity.validation.d.ts +5 -0
  124. package/dist/middleware/validation/activity.validation.d.ts.map +1 -0
  125. package/dist/middleware/validation/activity.validation.js +19 -0
  126. package/dist/middleware/validation/activity.validation.js.map +1 -0
  127. package/dist/middleware/validation/agent.validation.d.ts +4 -0
  128. package/dist/middleware/validation/agent.validation.d.ts.map +1 -0
  129. package/dist/middleware/validation/agent.validation.js +25 -0
  130. package/dist/middleware/validation/agent.validation.js.map +1 -0
  131. package/dist/middleware/validation/chat.validation.d.ts +12 -0
  132. package/dist/middleware/validation/chat.validation.d.ts.map +1 -0
  133. package/dist/middleware/validation/chat.validation.js +94 -0
  134. package/dist/middleware/validation/chat.validation.js.map +1 -0
  135. package/dist/middleware/validation/index.d.ts +4 -0
  136. package/dist/middleware/validation/index.d.ts.map +1 -0
  137. package/dist/middleware/validation/index.js +40 -0
  138. package/dist/middleware/validation/index.js.map +1 -0
  139. package/dist/middleware/validation/zod-validate.d.ts +5 -0
  140. package/dist/middleware/validation/zod-validate.d.ts.map +1 -0
  141. package/dist/middleware/validation/zod-validate.js +25 -0
  142. package/dist/middleware/validation/zod-validate.js.map +1 -0
  143. package/dist/realtime/reset-session-artifact-y-docs.d.ts.map +1 -1
  144. package/dist/realtime/reset-session-artifact-y-docs.js +6 -1
  145. package/dist/realtime/reset-session-artifact-y-docs.js.map +1 -1
  146. package/dist/realtime/session-artifact-document-id.d.ts.map +1 -1
  147. package/dist/realtime/session-artifact-document-id.js +0 -2
  148. package/dist/realtime/session-artifact-document-id.js.map +1 -1
  149. package/dist/realtime/session-artifact-y-socket-io.d.ts.map +1 -1
  150. package/dist/realtime/session-artifact-y-socket-io.js +0 -11
  151. package/dist/realtime/session-artifact-y-socket-io.js.map +1 -1
  152. package/dist/realtime/session-artifact-yjs-store.d.ts +24 -3
  153. package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
  154. package/dist/realtime/session-artifact-yjs-store.js +123 -41
  155. package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
  156. package/dist/routes/activities/get.d.ts +3 -0
  157. package/dist/routes/activities/get.d.ts.map +1 -0
  158. package/dist/routes/activities/get.js +28 -0
  159. package/dist/routes/activities/get.js.map +1 -0
  160. package/dist/routes/activities/index.d.ts +2 -0
  161. package/dist/routes/activities/index.d.ts.map +1 -0
  162. package/dist/routes/activities/index.js +16 -0
  163. package/dist/routes/activities/index.js.map +1 -0
  164. package/dist/routes/activities/list.d.ts +3 -0
  165. package/dist/routes/activities/list.d.ts.map +1 -0
  166. package/dist/routes/activities/list.js +41 -0
  167. package/dist/routes/activities/list.js.map +1 -0
  168. package/dist/routes/activities/source-types.d.ts +3 -0
  169. package/dist/routes/activities/source-types.d.ts.map +1 -0
  170. package/dist/routes/activities/source-types.js +33 -0
  171. package/dist/routes/activities/source-types.js.map +1 -0
  172. package/dist/routes/activities/summary.d.ts +3 -0
  173. package/dist/routes/activities/summary.d.ts.map +1 -0
  174. package/dist/routes/activities/summary.js +38 -0
  175. package/dist/routes/activities/summary.js.map +1 -0
  176. package/dist/routes/agents/getConfig.d.ts +3 -0
  177. package/dist/routes/agents/getConfig.d.ts.map +1 -0
  178. package/dist/routes/agents/getConfig.js +16 -0
  179. package/dist/routes/agents/getConfig.js.map +1 -0
  180. package/dist/routes/agents/index.d.ts +2 -0
  181. package/dist/routes/agents/index.d.ts.map +1 -0
  182. package/dist/routes/agents/index.js +13 -0
  183. package/dist/routes/agents/index.js.map +1 -0
  184. package/dist/routes/agents/upsertPreferences.d.ts +4 -0
  185. package/dist/routes/agents/upsertPreferences.d.ts.map +1 -0
  186. package/dist/routes/agents/upsertPreferences.js +42 -0
  187. package/dist/routes/agents/upsertPreferences.js.map +1 -0
  188. package/dist/routes/chats/abort.d.ts +2 -2
  189. package/dist/routes/chats/abort.d.ts.map +1 -1
  190. package/dist/routes/chats/abort.js +10 -5
  191. package/dist/routes/chats/abort.js.map +1 -1
  192. package/dist/routes/chats/actions.d.ts +2 -2
  193. package/dist/routes/chats/actions.d.ts.map +1 -1
  194. package/dist/routes/chats/actions.js +12 -12
  195. package/dist/routes/chats/actions.js.map +1 -1
  196. package/dist/routes/chats/artifacts.d.ts +2 -2
  197. package/dist/routes/chats/artifacts.d.ts.map +1 -1
  198. package/dist/routes/chats/artifacts.js +15 -4
  199. package/dist/routes/chats/artifacts.js.map +1 -1
  200. package/dist/routes/chats/chat-route-errors.d.ts +3 -0
  201. package/dist/routes/chats/chat-route-errors.d.ts.map +1 -0
  202. package/dist/routes/chats/chat-route-errors.js +23 -0
  203. package/dist/routes/chats/chat-route-errors.js.map +1 -0
  204. package/dist/routes/chats/delete.d.ts +2 -2
  205. package/dist/routes/chats/delete.d.ts.map +1 -1
  206. package/dist/routes/chats/delete.js +12 -3
  207. package/dist/routes/chats/delete.js.map +1 -1
  208. package/dist/routes/chats/get.d.ts +2 -2
  209. package/dist/routes/chats/get.d.ts.map +1 -1
  210. package/dist/routes/chats/get.js +8 -4
  211. package/dist/routes/chats/get.js.map +1 -1
  212. package/dist/routes/chats/getStream.d.ts +2 -2
  213. package/dist/routes/chats/getStream.d.ts.map +1 -1
  214. package/dist/routes/chats/getStream.js +16 -8
  215. package/dist/routes/chats/getStream.js.map +1 -1
  216. package/dist/routes/chats/index.d.ts.map +1 -1
  217. package/dist/routes/chats/index.js +19 -13
  218. package/dist/routes/chats/index.js.map +1 -1
  219. package/dist/routes/chats/invite-participants.d.ts +3 -0
  220. package/dist/routes/chats/invite-participants.d.ts.map +1 -0
  221. package/dist/routes/chats/invite-participants.js +56 -0
  222. package/dist/routes/chats/invite-participants.js.map +1 -0
  223. package/dist/routes/chats/list.d.ts +2 -2
  224. package/dist/routes/chats/list.d.ts.map +1 -1
  225. package/dist/routes/chats/list.js +22 -25
  226. package/dist/routes/chats/list.js.map +1 -1
  227. package/dist/routes/chats/messages.d.ts +2 -2
  228. package/dist/routes/chats/messages.d.ts.map +1 -1
  229. package/dist/routes/chats/messages.js +13 -6
  230. package/dist/routes/chats/messages.js.map +1 -1
  231. package/dist/routes/chats/multiUserMessages.d.ts +2 -2
  232. package/dist/routes/chats/multiUserMessages.d.ts.map +1 -1
  233. package/dist/routes/chats/multiUserMessages.js +19 -19
  234. package/dist/routes/chats/multiUserMessages.js.map +1 -1
  235. package/dist/routes/chats/remove-participants.d.ts +3 -0
  236. package/dist/routes/chats/remove-participants.d.ts.map +1 -0
  237. package/dist/routes/chats/remove-participants.js +46 -0
  238. package/dist/routes/chats/remove-participants.js.map +1 -0
  239. package/dist/routes/chats/stream.d.ts +2 -2
  240. package/dist/routes/chats/stream.d.ts.map +1 -1
  241. package/dist/routes/chats/stream.js +28 -11
  242. package/dist/routes/chats/stream.js.map +1 -1
  243. package/dist/routes/chats/title.d.ts +2 -2
  244. package/dist/routes/chats/title.d.ts.map +1 -1
  245. package/dist/routes/chats/title.js +14 -8
  246. package/dist/routes/chats/title.js.map +1 -1
  247. package/dist/routes/chats/updateToolCall.d.ts +2 -2
  248. package/dist/routes/chats/updateToolCall.d.ts.map +1 -1
  249. package/dist/routes/chats/updateToolCall.js +16 -20
  250. package/dist/routes/chats/updateToolCall.js.map +1 -1
  251. package/dist/routes/route-errors.d.ts +3 -0
  252. package/dist/routes/route-errors.d.ts.map +1 -0
  253. package/dist/routes/route-errors.js +13 -0
  254. package/dist/routes/route-errors.js.map +1 -0
  255. package/dist/routes/schemas.d.ts +80 -0
  256. package/dist/routes/schemas.d.ts.map +1 -1
  257. package/dist/routes/schemas.js +95 -1
  258. package/dist/routes/schemas.js.map +1 -1
  259. package/dist/routes/sessions.d.ts.map +1 -1
  260. package/dist/routes/sessions.js +77 -9
  261. package/dist/routes/sessions.js.map +1 -1
  262. package/dist/routes/tenants/credentials.d.ts +5 -0
  263. package/dist/routes/tenants/credentials.d.ts.map +1 -0
  264. package/dist/routes/tenants/credentials.js +50 -0
  265. package/dist/routes/tenants/credentials.js.map +1 -0
  266. package/dist/routes/tenants/index.d.ts +2 -0
  267. package/dist/routes/tenants/index.d.ts.map +1 -0
  268. package/dist/routes/tenants/index.js +10 -0
  269. package/dist/routes/tenants/index.js.map +1 -0
  270. package/dist/server.d.ts.map +1 -1
  271. package/dist/server.js +6 -0
  272. package/dist/server.js.map +1 -1
  273. package/package.json +5 -4
@@ -1,72 +1,24 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.writeSessionArtifacts = writeSessionArtifacts;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const context_1 = require("../../context");
10
- const reset_session_artifact_y_docs_1 = require("../../realtime/reset-session-artifact-y-docs");
11
- const default_session_styles_1 = require("./default-session-styles");
12
- const list_session_artifacts_1 = require("./list-session-artifacts");
4
+ const session_artifact_yjs_store_1 = require("../../realtime/session-artifact-yjs-store");
13
5
  const paths_1 = require("./paths");
14
- const STYLES_CSS = 'styles.css';
15
- function mergeBaseStyles(content, includeBaseStyles) {
16
- if (!includeBaseStyles)
17
- return content;
18
- const trimmed = content.trim();
19
- if (!trimmed)
20
- return default_session_styles_1.DEFAULT_SESSION_STYLES;
21
- if (trimmed.includes('Session page base'))
22
- return trimmed;
23
- return `${default_session_styles_1.DEFAULT_SESSION_STYLES}\n\n/* --- Page-specific --- */\n${trimmed}`;
24
- }
25
6
  async function writeSessionArtifacts(input) {
26
- var _a, _b, _c, _d;
27
7
  if (input.files.length === 0) {
28
- throw new Error('At least one file is required');
8
+ return { artifacts: [] };
29
9
  }
30
- const directory = (0, paths_1.getSessionDir)(input.sessionId);
31
- await promises_1.default.mkdir(directory, { recursive: true });
32
- const includeBaseStyles = input.includeBaseStyles !== false;
33
- const seen = new Set();
34
- const updatedArtifacts = [];
10
+ const store = (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)();
11
+ const artifacts = [];
35
12
  for (const file of input.files) {
36
13
  const relativePath = (0, paths_1.normalizeArtifactPath)(file.path);
37
- if (seen.has(relativePath)) {
38
- throw new Error(`Duplicate artifact path: ${relativePath}`);
39
- }
40
- seen.add(relativePath);
41
- let content = file.content;
42
- if (relativePath === STYLES_CSS && includeBaseStyles) {
43
- content = mergeBaseStyles(content, true);
44
- }
45
- const absolutePath = node_path_1.default.join(directory, relativePath);
46
- await promises_1.default.mkdir(node_path_1.default.dirname(absolutePath), { recursive: true });
47
- await promises_1.default.writeFile(absolutePath, content, 'utf8');
48
- updatedArtifacts.push({
49
- path: relativePath,
50
- bytes: Buffer.byteLength(content, 'utf8'),
14
+ const published = await store.initializeFromContent(input.sessionId, relativePath, file.content);
15
+ artifacts.push({
16
+ path: published.path,
17
+ bytes: published.bytes,
51
18
  });
52
19
  }
53
- const allArtifacts = await (0, list_session_artifacts_1.listSessionArtifacts)(input.sessionId);
54
- await (0, reset_session_artifact_y_docs_1.resetSessionArtifactYDocs)(input.sessionId, updatedArtifacts.map((artifact) => artifact.path)).catch(() => {
55
- // Realtime may be disabled when Redis is unavailable.
56
- });
57
- const requestedPreview = (0, paths_1.normalizeArtifactPath)((_a = input.previewPath) !== null && _a !== void 0 ? _a : 'index.html');
58
- const previewPath = allArtifacts.some((f) => f.path === requestedPreview)
59
- ? requestedPreview
60
- : ((_c = (_b = allArtifacts.find((f) => f.path === 'index.html')) === null || _b === void 0 ? void 0 : _b.path) !== null && _c !== void 0 ? _c : (_d = allArtifacts[0]) === null || _d === void 0 ? void 0 : _d.path);
61
- if (!previewPath) {
62
- throw new Error('No artifacts available for preview after publish');
63
- }
64
20
  return {
65
- sessionId: input.sessionId,
66
- directory,
67
- artifacts: allArtifacts,
68
- updatedArtifacts,
69
- previewUrl: `${(0, context_1.getBuilderApiContext)().config.apiPrefix}/sessions/${input.sessionId}/${previewPath}`,
21
+ artifacts,
70
22
  };
71
23
  }
72
24
  //# sourceMappingURL=write-session-artifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/write-session-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/write-session-artifacts.ts"],"names":[],"mappings":";;AAsBA,sDAqBC;AA3CD,0FAAsF;AACtF,mCAA+C;AAqBxC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAC1C,MAAM,SAAS,GAA+B,EAAE,CAAA;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChG,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,SAAS;KACV,CAAA;AACH,CAAC"}
@@ -3,11 +3,11 @@ export interface ArtifactUpdatePayload {
3
3
  sessionId: string;
4
4
  files: Array<{
5
5
  path: string;
6
- bytes: number;
7
6
  }>;
8
7
  previewUrl: string;
9
8
  previewPath?: string;
10
9
  publishedAt: string;
10
+ deletedPaths?: string[];
11
11
  }
12
12
  export declare function emitArtifactUpdate(userId: string, payload: ArtifactUpdatePayload): void;
13
13
  export declare function emitArtifactUpdateToUsers(userIds: string[], payload: ArtifactUpdatePayload): void;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-events.d.ts","sourceRoot":"","sources":["../../../src/lib/socket/artifact-events.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,EAAG,iBAA0B,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAiBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAMvF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAKjG"}
1
+ {"version":3,"file":"artifact-events.d.ts","sourceRoot":"","sources":["../../../src/lib/socket/artifact-events.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,EAAG,iBAA0B,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;KAAE,CAAC,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAiBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAMvF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAKjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-events.js","sourceRoot":"","sources":["../../../src/lib/socket/artifact-events.ts"],"names":[],"mappings":";;;AA6BA,gDAMC;AAED,8DAKC;AAzCD,oEAAgE;AAChE,2CAA+C;AAElC,QAAA,qBAAqB,GAAG,iBAA0B,CAAA;AAgB/D,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,yBAAe,GAAE,CAAA;QACjC,OAAQ,OAA6C,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IAC7E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc,EAAE,OAA8B;IAC/E,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;QAAE,OAAM;IAE1B,MAAM,QAAQ,GAAG,GAAG,+BAAc,CAAC,cAAc,GAAG,MAAM,EAAE,CAAA;IAC5D,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,6BAAqB,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAiB,EAAE,OAA8B;IACzF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACpD,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"artifact-events.js","sourceRoot":"","sources":["../../../src/lib/socket/artifact-events.ts"],"names":[],"mappings":";;;AA8BA,gDAMC;AAED,8DAKC;AA1CD,oEAAgE;AAChE,2CAA+C;AAElC,QAAA,qBAAqB,GAAG,iBAA0B,CAAA;AAiB/D,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,yBAAe,GAAE,CAAA;QACjC,OAAQ,OAA6C,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IAC7E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc,EAAE,OAA8B;IAC/E,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;QAAE,OAAM;IAE1B,MAAM,QAAQ,GAAG,GAAG,+BAAc,CAAC,cAAc,GAAG,MAAM,EAAE,CAAA;IAC5D,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,6BAAqB,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAiB,EAAE,OAA8B;IACzF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACpD,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * as ValidationMiddleware from './validation';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ValidationMiddleware = void 0;
37
+ exports.ValidationMiddleware = __importStar(require("./validation"));
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAoD"}
@@ -0,0 +1,5 @@
1
+ export declare const validateListActivities: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
2
+ export declare const validateGetActivitySummary: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
3
+ export declare const validateListActivitySourceTypes: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
4
+ export declare const validateActivityRouteParams: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
5
+ //# sourceMappingURL=activity.validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.validation.d.ts","sourceRoot":"","sources":["../../../src/middleware/validation/activity.validation.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,iHAMlC,CAAA;AAED,eAAO,MAAM,0BAA0B,iHAMtC,CAAA;AAED,eAAO,MAAM,+BAA+B,iHAM3C,CAAA;AAED,eAAO,MAAM,2BAA2B,iHAMvC,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateActivityRouteParams = exports.validateListActivitySourceTypes = exports.validateGetActivitySummary = exports.validateListActivities = void 0;
4
+ const schemas_1 = require("../../routes/schemas");
5
+ const zod_1 = require("zod");
6
+ const zod_validate_1 = require("./zod-validate");
7
+ exports.validateListActivities = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ query: schemas_1.listActivitiesQuerySchema }), (req) => ({ query: req.query }), (req, value) => {
8
+ req.validated = value;
9
+ });
10
+ exports.validateGetActivitySummary = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ query: schemas_1.getActivitySummaryQuerySchema }), (req) => ({ query: req.query }), (req, value) => {
11
+ req.validated = value;
12
+ });
13
+ exports.validateListActivitySourceTypes = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ query: schemas_1.listActivitySourceTypesQuerySchema }), (req) => ({ query: req.query }), (req, value) => {
14
+ req.validated = value;
15
+ });
16
+ exports.validateActivityRouteParams = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ params: schemas_1.activityRouteParamsSchema }), (req) => ({ params: req.params }), (req, value) => {
17
+ req.validated = value;
18
+ });
19
+ //# sourceMappingURL=activity.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.validation.js","sourceRoot":"","sources":["../../../src/middleware/validation/activity.validation.ts"],"names":[],"mappings":";;;AAAA,kDAK6B;AAC7B,6BAAuB;AACvB,iDAAsD;AAEzC,QAAA,sBAAsB,GAAG,IAAA,oCAAqB,EACzD,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mCAAyB,EAAE,CAAC,EAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA;AAEY,QAAA,0BAA0B,GAAG,IAAA,oCAAqB,EAC7D,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,uCAA6B,EAAE,CAAC,EAClD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA;AAEY,QAAA,+BAA+B,GAAG,IAAA,oCAAqB,EAClE,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,4CAAkC,EAAE,CAAC,EACvD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA;AAEY,QAAA,2BAA2B,GAAG,IAAA,oCAAqB,EAC9D,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,mCAAyB,EAAE,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EACjC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const validateGetAgentConfig: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
2
+ export declare const validateUpsertAgentPreferences: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
3
+ export declare const validateUpsertAgentPreferencesBatch: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
4
+ //# sourceMappingURL=agent.validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.validation.d.ts","sourceRoot":"","sources":["../../../src/middleware/validation/agent.validation.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,iHAMlC,CAAA;AAED,eAAO,MAAM,8BAA8B,iHAY1C,CAAA;AAED,eAAO,MAAM,mCAAmC,iHAM/C,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateUpsertAgentPreferencesBatch = exports.validateUpsertAgentPreferences = exports.validateGetAgentConfig = void 0;
4
+ const schemas_1 = require("../../routes/schemas");
5
+ const zod_1 = require("zod");
6
+ const zod_validate_1 = require("./zod-validate");
7
+ exports.validateGetAgentConfig = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ query: schemas_1.getAgentConfigQuerySchema }), (req) => ({ query: req.query }), (req, value) => {
8
+ req.validated = value;
9
+ });
10
+ exports.validateUpsertAgentPreferences = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
11
+ params: schemas_1.agentRouteParamsSchema,
12
+ body: schemas_1.upsertAgentPreferencesSchema,
13
+ }), (req) => {
14
+ var _a;
15
+ return ({
16
+ params: req.params,
17
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
18
+ });
19
+ }, (req, value) => {
20
+ req.validated = value;
21
+ });
22
+ exports.validateUpsertAgentPreferencesBatch = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ body: schemas_1.upsertAgentPreferencesBatchSchema }), (req) => { var _a; return ({ body: (_a = req.body) !== null && _a !== void 0 ? _a : {} }); }, (req, value) => {
23
+ req.validated = value;
24
+ });
25
+ //# sourceMappingURL=agent.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.validation.js","sourceRoot":"","sources":["../../../src/middleware/validation/agent.validation.ts"],"names":[],"mappings":";;;AAAA,kDAK6B;AAC7B,6BAAuB;AACvB,iDAAsD;AAEzC,QAAA,sBAAsB,GAAG,IAAA,oCAAqB,EACzD,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mCAAyB,EAAE,CAAC,EAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA;AAEY,QAAA,8BAA8B,GAAG,IAAA,oCAAqB,EACjE,OAAC,CAAC,MAAM,CAAC;IACP,MAAM,EAAE,gCAAsB;IAC9B,IAAI,EAAE,sCAA4B;CACnC,CAAC,EACF,CAAC,GAAG,EAAE,EAAE;;IAAC,OAAA,CAAC;QACR,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;KACrB,CAAC,CAAA;CAAA,EACF,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA;AAEY,QAAA,mCAAmC,GAAG,IAAA,oCAAqB,EACtE,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,2CAAiC,EAAE,CAAC,EACrD,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,CAAC,EAAE,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,EAAE,CAAC,CAAA,EAAA,EACnC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;AACvB,CAAC,CACF,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare const validateListChats: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
2
+ export declare const validateChatRouteParams: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
3
+ export declare const validateGetMessages: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
4
+ export declare const validateGetStream: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
5
+ export declare const validateSendMessage: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
6
+ export declare const validateMultiUserMessage: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
7
+ export declare const validateGenerateTitle: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
8
+ export declare const validateInviteParticipants: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
9
+ export declare const validateRemoveParticipants: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
10
+ export declare const validatePatchToolCall: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
11
+ export declare const validatePostChatAction: (req: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => void;
12
+ //# sourceMappingURL=chat.validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.validation.d.ts","sourceRoot":"","sources":["../../../src/middleware/validation/chat.validation.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,iBAAiB,iHAM7B,CAAA;AAED,eAAO,MAAM,uBAAuB,iHAMnC,CAAA;AAED,eAAO,MAAM,mBAAmB,iHAY/B,CAAA;AAED,eAAO,MAAM,iBAAiB,iHAM7B,CAAA;AAED,eAAO,MAAM,mBAAmB,iHAM/B,CAAA;AAED,eAAO,MAAM,wBAAwB,iHAcpC,CAAA;AAED,eAAO,MAAM,qBAAqB,iHAMjC,CAAA;AAED,eAAO,MAAM,0BAA0B,iHAYtC,CAAA;AAED,eAAO,MAAM,0BAA0B,iHAYtC,CAAA;AAED,eAAO,MAAM,qBAAqB,iHAYjC,CAAA;AAED,eAAO,MAAM,sBAAsB,iHAYlC,CAAA"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePostChatAction = exports.validatePatchToolCall = exports.validateRemoveParticipants = exports.validateInviteParticipants = exports.validateGenerateTitle = exports.validateMultiUserMessage = exports.validateSendMessage = exports.validateGetStream = exports.validateGetMessages = exports.validateChatRouteParams = exports.validateListChats = void 0;
4
+ const schemas_1 = require("../../routes/schemas");
5
+ const zod_1 = require("zod");
6
+ const zod_validate_1 = require("./zod-validate");
7
+ exports.validateListChats = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ query: schemas_1.listChatsQuerySchema }), (req) => ({ query: req.query }), (req, value) => {
8
+ req.validated = value;
9
+ });
10
+ exports.validateChatRouteParams = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ params: schemas_1.chatRouteParamsSchema }), (req) => ({ params: req.params }), (req, value) => {
11
+ req.validated = value;
12
+ });
13
+ exports.validateGetMessages = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
14
+ params: schemas_1.chatRouteParamsSchema,
15
+ query: schemas_1.getMessagesSchema,
16
+ }), (req) => {
17
+ var _a;
18
+ return ({
19
+ params: req.params,
20
+ query: (_a = req.query) !== null && _a !== void 0 ? _a : {},
21
+ });
22
+ }, (req, value) => {
23
+ req.validated = value;
24
+ });
25
+ exports.validateGetStream = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ params: schemas_1.getStreamSchema }), (req) => ({ params: req.params }), (req, value) => {
26
+ req.validated = value;
27
+ });
28
+ exports.validateSendMessage = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ body: schemas_1.sendMessageSchema }), (req) => { var _a; return ({ body: (_a = req.body) !== null && _a !== void 0 ? _a : {} }); }, (req, value) => {
29
+ req.validated = value;
30
+ });
31
+ exports.validateMultiUserMessage = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ body: schemas_1.multiUserMessageSchema }), (req) => {
32
+ var _a;
33
+ const params = req.params;
34
+ return {
35
+ body: {
36
+ ...((_a = req.body) !== null && _a !== void 0 ? _a : {}),
37
+ ...(params.chatId ? { chatId: params.chatId } : {}),
38
+ },
39
+ };
40
+ }, (req, value) => {
41
+ req.validated = value;
42
+ });
43
+ exports.validateGenerateTitle = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({ body: schemas_1.generateTitleSchema }), (req) => { var _a; return ({ body: (_a = req.body) !== null && _a !== void 0 ? _a : {} }); }, (req, value) => {
44
+ req.validated = value;
45
+ });
46
+ exports.validateInviteParticipants = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
47
+ params: schemas_1.chatRouteParamsSchema,
48
+ body: schemas_1.inviteParticipantsSchema,
49
+ }), (req) => {
50
+ var _a;
51
+ return ({
52
+ params: req.params,
53
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
54
+ });
55
+ }, (req, value) => {
56
+ req.validated = value;
57
+ });
58
+ exports.validateRemoveParticipants = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
59
+ params: schemas_1.chatRouteParamsSchema,
60
+ body: schemas_1.inviteParticipantsSchema,
61
+ }), (req) => {
62
+ var _a;
63
+ return ({
64
+ params: req.params,
65
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
66
+ });
67
+ }, (req, value) => {
68
+ req.validated = value;
69
+ });
70
+ exports.validatePatchToolCall = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
71
+ params: schemas_1.toolCallRouteParamsSchema,
72
+ body: schemas_1.patchToolCallInputSchema,
73
+ }), (req) => {
74
+ var _a;
75
+ return ({
76
+ params: req.params,
77
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
78
+ });
79
+ }, (req, value) => {
80
+ req.validated = value;
81
+ });
82
+ exports.validatePostChatAction = (0, zod_validate_1.zodValidateMiddleware)(zod_1.z.object({
83
+ params: schemas_1.chatRouteParamsSchema,
84
+ body: schemas_1.toolCallActionSchema,
85
+ }), (req) => {
86
+ var _a;
87
+ return ({
88
+ params: req.params,
89
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
90
+ });
91
+ }, (req, value) => {
92
+ req.validated = value;
93
+ });
94
+ //# sourceMappingURL=chat.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.validation.js","sourceRoot":"","sources":["../../../src/middleware/validation/chat.validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * as ActivityValidationMiddleware from './activity.validation';
2
+ export * as AgentValidationMiddleware from './agent.validation';
3
+ export * as ChatValidationMiddleware from './chat.validation';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,uBAAuB,CAAA;AACrE,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,wBAAwB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ChatValidationMiddleware = exports.AgentValidationMiddleware = exports.ActivityValidationMiddleware = void 0;
37
+ exports.ActivityValidationMiddleware = __importStar(require("./activity.validation"));
38
+ exports.AgentValidationMiddleware = __importStar(require("./agent.validation"));
39
+ exports.ChatValidationMiddleware = __importStar(require("./chat.validation"));
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sFAAqE;AACrE,gFAA+D;AAC/D,8EAA6D"}
@@ -0,0 +1,5 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ import { z } from 'zod';
3
+ export declare function formatZodValidationMessage(error: z.ZodError): string;
4
+ export declare function zodValidateMiddleware<T extends z.ZodType>(schema: T, getArgs: (req: Request) => unknown, onValid: (req: Request, value: z.infer<T>) => void): (req: Request, res: Response, next: NextFunction) => void;
5
+ //# sourceMappingURL=zod-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-validate.d.ts","sourceRoot":"","sources":["../../../src/middleware/validation/zod-validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EACvD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,EAClC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAE1C,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UAaxD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatZodValidationMessage = formatZodValidationMessage;
4
+ exports.zodValidateMiddleware = zodValidateMiddleware;
5
+ const zod_1 = require("zod");
6
+ function formatZodValidationMessage(error) {
7
+ return error.issues.map((issue) => issue.message).join(', ');
8
+ }
9
+ function zodValidateMiddleware(schema, getArgs, onValid) {
10
+ return (req, res, next) => {
11
+ try {
12
+ const value = schema.parse(getArgs(req));
13
+ onValid(req, value);
14
+ next();
15
+ }
16
+ catch (err) {
17
+ if (err instanceof zod_1.z.ZodError) {
18
+ res.status(400).json({ message: formatZodValidationMessage(err) });
19
+ return;
20
+ }
21
+ next(err);
22
+ }
23
+ };
24
+ }
25
+ //# sourceMappingURL=zod-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-validate.js","sourceRoot":"","sources":["../../../src/middleware/validation/zod-validate.ts"],"names":[],"mappings":";;AAGA,gEAEC;AAED,sDAkBC;AAxBD,6BAAuB;AAEvB,SAAgB,0BAA0B,CAAC,KAAiB;IAC1D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9D,CAAC;AAED,SAAgB,qBAAqB,CACnC,MAAS,EACT,OAAkC,EAClC,OAAkD;IAElD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACxC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACnB,IAAI,EAAE,CAAA;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAClE,OAAM;YACR,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reset-session-artifact-y-docs.d.ts","sourceRoot":"","sources":["../../src/realtime/reset-session-artifact-y-docs.ts"],"names":[],"mappings":"AAEA,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"reset-session-artifact-y-docs.d.ts","sourceRoot":"","sources":["../../src/realtime/reset-session-artifact-y-docs.ts"],"names":[],"mappings":"AAGA,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resetSessionArtifactYDocs = resetSessionArtifactYDocs;
4
+ const artifact_storage_1 = require("../lib/session-pages/artifact-storage");
4
5
  const session_artifact_yjs_store_1 = require("./session-artifact-yjs-store");
5
6
  async function resetSessionArtifactYDocs(sessionId, artifactPaths) {
6
7
  const store = (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)();
7
- await Promise.all(artifactPaths.map((path) => store.resetFromFileContent(sessionId, path)));
8
+ await Promise.all(artifactPaths.map(async (artifactPath) => {
9
+ var _a;
10
+ const content = (_a = (await (0, artifact_storage_1.readArtifactContentSnapshot)(sessionId, artifactPath))) !== null && _a !== void 0 ? _a : '';
11
+ await store.initializeFromContent(sessionId, artifactPath, content);
12
+ }));
8
13
  }
9
14
  //# sourceMappingURL=reset-session-artifact-y-docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reset-session-artifact-y-docs.js","sourceRoot":"","sources":["../../src/realtime/reset-session-artifact-y-docs.ts"],"names":[],"mappings":";;AAEA,8DAMC;AARD,6EAAyE;AAElE,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,aAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7F,CAAC"}
1
+ {"version":3,"file":"reset-session-artifact-y-docs.js","sourceRoot":"","sources":["../../src/realtime/reset-session-artifact-y-docs.ts"],"names":[],"mappings":";;AAGA,8DAWC;AAdD,4EAAmF;AACnF,6EAAyE;AAElE,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,aAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAC1C,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;;QACvC,MAAM,OAAO,GAAG,MAAA,CAAC,MAAM,IAAA,8CAA2B,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC,mCAAI,EAAE,CAAA;QAClF,MAAM,KAAK,CAAC,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-artifact-document-id.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-document-id.ts"],"names":[],"mappings":"AAIA,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAI9F;AAED,wBAAgB,8BAA8B,CAC5C,kBAAkB,EAAE,MAAM,GACzB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuBpD"}
1
+ {"version":3,"file":"session-artifact-document-id.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-document-id.ts"],"names":[],"mappings":"AAIA,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAG9F;AAED,wBAAgB,8BAA8B,CAC5C,kBAAkB,EAAE,MAAM,GACzB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBpD"}
@@ -5,7 +5,6 @@ exports.parseSessionArtifactDocumentId = parseSessionArtifactDocumentId;
5
5
  const paths_1 = require("../lib/session-pages/paths");
6
6
  const DOCUMENT_ID_PREFIX = 'session:';
7
7
  function buildSessionArtifactDocumentId(sessionId, artifactPath) {
8
- (0, paths_1.assertValidSessionId)(sessionId);
9
8
  const normalizedPath = (0, paths_1.normalizeArtifactPath)(artifactPath);
10
9
  return `${DOCUMENT_ID_PREFIX}${sessionId}:${normalizedPath}`;
11
10
  }
@@ -24,7 +23,6 @@ function parseSessionArtifactDocumentId(documentIdentifier) {
24
23
  return null;
25
24
  }
26
25
  try {
27
- (0, paths_1.assertValidSessionId)(sessionId);
28
26
  return { sessionId, artifactPath: (0, paths_1.normalizeArtifactPath)(artifactPath) };
29
27
  }
30
28
  catch (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-artifact-document-id.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-document-id.ts"],"names":[],"mappings":";;AAIA,wEAIC;AAED,wEAyBC;AAnCD,sDAAwF;AAExF,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAErC,SAAgB,8BAA8B,CAAC,SAAiB,EAAE,YAAoB;IACpF,IAAA,4BAAoB,EAAC,SAAS,CAAC,CAAA;IAC/B,MAAM,cAAc,GAAG,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAA;IAC1D,OAAO,GAAG,kBAAkB,GAAG,SAAS,IAAI,cAAc,EAAE,CAAA;AAC9D,CAAC;AAED,SAAgB,8BAA8B,CAC5C,kBAA0B;IAE1B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,IAAA,4BAAoB,EAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAA,6BAAqB,EAAC,YAAY,CAAC,EAAE,CAAA;IACzE,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"session-artifact-document-id.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-document-id.ts"],"names":[],"mappings":";;AAIA,wEAGC;AAED,wEAwBC;AAjCD,sDAAkE;AAElE,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAErC,SAAgB,8BAA8B,CAAC,SAAiB,EAAE,YAAoB;IACpF,MAAM,cAAc,GAAG,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAA;IAC1D,OAAO,GAAG,kBAAkB,GAAG,SAAS,IAAI,cAAc,EAAE,CAAA;AAC9D,CAAC;AAED,SAAgB,8BAA8B,CAC5C,kBAA0B;IAE1B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAA,6BAAqB,EAAC,YAAY,CAAC,EAAE,CAAA;IACzE,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-artifact-y-socket-io.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-y-socket-io.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAA;AAMzC,UAAU,kBAAkB;IAC1B,GAAG,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC7B;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,UAAU,IAAI,IAAI;cAiBO,sBAAsB,CAC7C,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;cA4BnB,WAAW,CAClC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,UAAU,EAClB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;CAmBjB"}
1
+ {"version":3,"file":"session-artifact-y-socket-io.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-y-socket-io.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAA;AAKzC,UAAU,kBAAkB;IAC1B,GAAG,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC7B;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,UAAU,IAAI,IAAI;cAiBO,sBAAsB,CAC7C,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;cAoBnB,WAAW,CAClC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,UAAU,EAClB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;CAejB"}
@@ -38,7 +38,6 @@ const realtime_server_1 = require("@multiplayer-app/realtime-server");
38
38
  const realtime_types_1 = require("@multiplayer-app/realtime-types");
39
39
  const Y = __importStar(require("yjs"));
40
40
  const session_artifact_yjs_store_1 = require("./session-artifact-yjs-store");
41
- const session_artifact_document_id_1 = require("./session-artifact-document-id");
42
41
  /**
43
42
  * Yjs relay for session artifact files. Loads initial state from disk and persists edits back.
44
43
  */
@@ -62,9 +61,6 @@ class SessionArtifactYSocketIO extends realtime_server_1.GenericYSocketIO {
62
61
  super.initialize();
63
62
  }
64
63
  async getNonCommittedUpdates(_socketData, documentIdentifier) {
65
- if (!(0, session_artifact_document_id_1.parseSessionArtifactDocumentId)(documentIdentifier)) {
66
- return undefined;
67
- }
68
64
  const doc = await this.store.getOrLoadDoc(documentIdentifier);
69
65
  if (!doc) {
70
66
  return undefined;
@@ -73,10 +69,6 @@ class SessionArtifactYSocketIO extends realtime_server_1.GenericYSocketIO {
73
69
  if (!state.byteLength) {
74
70
  return undefined;
75
71
  }
76
- if (!(0, realtime_server_1.isValidYjsUpdate)(state)) {
77
- console.warn(`Invalid Yjs snapshot for ${documentIdentifier}, client may need a resync`);
78
- return undefined;
79
- }
80
72
  return [
81
73
  {
82
74
  _id: { toString: () => documentIdentifier },
@@ -85,9 +77,6 @@ class SessionArtifactYSocketIO extends realtime_server_1.GenericYSocketIO {
85
77
  ];
86
78
  }
87
79
  async storeUpdate(_data, update, documentIdentifier) {
88
- if (!(0, session_artifact_document_id_1.parseSessionArtifactDocumentId)(documentIdentifier)) {
89
- return;
90
- }
91
80
  const doc = await this.store.getOrLoadDoc(documentIdentifier);
92
81
  if (!doc) {
93
82
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"session-artifact-y-socket-io.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-y-socket-io.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAIyC;AACzC,oEAAoF;AACpF,uCAAwB;AACxB,6EAAyE;AACzE,iFAA+E;AAO/E;;GAEG;AACH,MAAa,wBAAyB,SAAQ,kCAAgB;IAA9D;;QACmB,UAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAyEvD,CAAC;IAvEC,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAA,kCAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAM;YACR,CAAC;YAED,IAAI,CAAC,EAAE;iBACJ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;iBAC5C,IAAI,CAAC,0BAAS,CAAC,WAAW,EAAE;gBAC3B,kBAAkB;gBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,UAAU,EAAE,CAAA;IACpB,CAAC;IAEkB,KAAK,CAAC,sBAAsB,CAC7C,WAAiC,EACjC,kBAA0B;QAE1B,IAAI,CAAC,IAAA,6DAA8B,EAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,IAAA,kCAAgB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,4BAA4B,kBAAkB,4BAA4B,CAAC,CAAA;YACxF,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO;YACL;gBACE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3B;SACF,CAAA;IACH,CAAC;IAEkB,KAAK,CAAC,WAAW,CAClC,KAA2B,EAC3B,MAAkB,EAClB,kBAA0B;QAE1B,IAAI,CAAC,IAAA,6DAA8B,EAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,OAAM;QACR,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,kBAAkB,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7E,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IACrD,CAAC;CACF;AA1ED,4DA0EC"}
1
+ {"version":3,"file":"session-artifact-y-socket-io.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-y-socket-io.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAIyC;AACzC,oEAAoF;AACpF,uCAAwB;AACxB,6EAAyE;AAOzE;;GAEG;AACH,MAAa,wBAAyB,SAAQ,kCAAgB;IAA9D;;QACmB,UAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IA6DvD,CAAC;IA3DC,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAA,kCAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAM;YACR,CAAC;YAED,IAAI,CAAC,EAAE;iBACJ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;iBAC5C,IAAI,CAAC,0BAAS,CAAC,WAAW,EAAE;gBAC3B,kBAAkB;gBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,UAAU,EAAE,CAAA;IACpB,CAAC;IAEkB,KAAK,CAAC,sBAAsB,CAC7C,WAAiC,EACjC,kBAA0B;QAG1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO;YACL;gBACE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3B;SACF,CAAA;IACH,CAAC;IAEkB,KAAK,CAAC,WAAW,CAClC,KAA2B,EAC3B,MAAkB,EAClB,kBAA0B;QAE1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,kBAAkB,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7E,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IACrD,CAAC;CACF;AA9DD,4DA8DC"}