@multiplayer-app/sandbox 0.0.32 → 0.0.33-beta.1

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 (188) hide show
  1. package/dist/agents/content-generator.agent.d.ts +8 -0
  2. package/dist/agents/content-generator.agent.d.ts.map +1 -1
  3. package/dist/agents/content-generator.agent.js +53 -6
  4. package/dist/agents/content-generator.agent.js.map +1 -1
  5. package/dist/agents/notebook.agent.d.ts.map +1 -1
  6. package/dist/agents/notebook.agent.js +2 -1
  7. package/dist/agents/notebook.agent.js.map +1 -1
  8. package/dist/agents/shared/build-plan.tools.d.ts.map +1 -1
  9. package/dist/agents/shared/build-plan.tools.js +4 -4
  10. package/dist/agents/shared/build-plan.tools.js.map +1 -1
  11. package/dist/agents/shared/content-generator-system-prompt.d.ts +3 -2
  12. package/dist/agents/shared/content-generator-system-prompt.d.ts.map +1 -1
  13. package/dist/agents/shared/content-generator-system-prompt.js +41 -24
  14. package/dist/agents/shared/content-generator-system-prompt.js.map +1 -1
  15. package/dist/agents/shared/design-skills.d.ts +48 -0
  16. package/dist/agents/shared/design-skills.d.ts.map +1 -0
  17. package/dist/agents/shared/design-skills.js +230 -0
  18. package/dist/agents/shared/design-skills.js.map +1 -0
  19. package/dist/agents/shared/generate-session-images.tool.d.ts +15 -0
  20. package/dist/agents/shared/generate-session-images.tool.d.ts.map +1 -0
  21. package/dist/agents/shared/generate-session-images.tool.js +98 -0
  22. package/dist/agents/shared/generate-session-images.tool.js.map +1 -0
  23. package/dist/agents/shared/publish-session-artifacts.tool.d.ts +5 -0
  24. package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -1
  25. package/dist/agents/shared/publish-session-artifacts.tool.js +154 -15
  26. package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -1
  27. package/dist/agents/shared/session-quality-report.tool.js +1 -1
  28. package/dist/agents/shared/session-quality-report.tool.js.map +1 -1
  29. package/dist/agents/shared/update-session-artifacts.tool.d.ts +5 -0
  30. package/dist/agents/shared/update-session-artifacts.tool.d.ts.map +1 -1
  31. package/dist/agents/shared/update-session-artifacts.tool.js +136 -26
  32. package/dist/agents/shared/update-session-artifacts.tool.js.map +1 -1
  33. package/dist/agents/shared/validate-artifact-content.tools.d.ts +4 -0
  34. package/dist/agents/shared/validate-artifact-content.tools.d.ts.map +1 -1
  35. package/dist/agents/shared/validate-artifact-content.tools.js +24 -1
  36. package/dist/agents/shared/validate-artifact-content.tools.js.map +1 -1
  37. package/dist/agents/skills/designer.skill.d.ts.map +1 -1
  38. package/dist/agents/skills/designer.skill.js +75 -113
  39. package/dist/agents/skills/designer.skill.js.map +1 -1
  40. package/dist/agents/skills/skill-injection.d.ts.map +1 -1
  41. package/dist/agents/skills/skill-injection.js +9 -3
  42. package/dist/agents/skills/skill-injection.js.map +1 -1
  43. package/dist/context.d.ts +4 -0
  44. package/dist/context.d.ts.map +1 -1
  45. package/dist/context.js.map +1 -1
  46. package/dist/create-builder-api.d.ts +6 -0
  47. package/dist/create-builder-api.d.ts.map +1 -1
  48. package/dist/create-builder-api.js +2 -0
  49. package/dist/create-builder-api.js.map +1 -1
  50. package/dist/index.d.ts +4 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +6 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts +1 -1
  55. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts.map +1 -1
  56. package/dist/lib/session-artifacts/hashline-diff-guide.js +9 -5
  57. package/dist/lib/session-artifacts/hashline-diff-guide.js.map +1 -1
  58. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts +13 -0
  59. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts.map +1 -1
  60. package/dist/lib/session-artifacts/parse-hashline-diff.js +72 -0
  61. package/dist/lib/session-artifacts/parse-hashline-diff.js.map +1 -1
  62. package/dist/lib/session-pages/artifact-quality-audit.d.ts.map +1 -1
  63. package/dist/lib/session-pages/artifact-quality-audit.js +19 -14
  64. package/dist/lib/session-pages/artifact-quality-audit.js.map +1 -1
  65. package/dist/lib/session-pages/html-artifact-template.d.ts +16 -0
  66. package/dist/lib/session-pages/html-artifact-template.d.ts.map +1 -1
  67. package/dist/lib/session-pages/html-artifact-template.js +166 -10
  68. package/dist/lib/session-pages/html-artifact-template.js.map +1 -1
  69. package/dist/lib/session-pages/index.d.ts +4 -0
  70. package/dist/lib/session-pages/index.d.ts.map +1 -1
  71. package/dist/lib/session-pages/index.js +11 -1
  72. package/dist/lib/session-pages/index.js.map +1 -1
  73. package/dist/lib/session-pages/write-binary-session-artifact.d.ts +12 -0
  74. package/dist/lib/session-pages/write-binary-session-artifact.d.ts.map +1 -0
  75. package/dist/lib/session-pages/write-binary-session-artifact.js +23 -0
  76. package/dist/lib/session-pages/write-binary-session-artifact.js.map +1 -0
  77. package/dist/lib/session-pages/write-session-artifacts.d.ts +1 -0
  78. package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -1
  79. package/dist/lib/session-pages/write-session-artifacts.js +4 -1
  80. package/dist/lib/session-pages/write-session-artifacts.js.map +1 -1
  81. package/dist/lib/session-plans/build-plan.d.ts +13 -3
  82. package/dist/lib/session-plans/build-plan.d.ts.map +1 -1
  83. package/dist/lib/session-plans/build-plan.js +37 -6
  84. package/dist/lib/session-plans/build-plan.js.map +1 -1
  85. package/dist/realtime/session-artifact-yjs-store.d.ts +18 -0
  86. package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
  87. package/dist/realtime/session-artifact-yjs-store.js +62 -0
  88. package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
  89. package/dist/server.d.ts.map +1 -1
  90. package/dist/server.js +2 -0
  91. package/dist/server.js.map +1 -1
  92. package/package.json +9 -9
  93. package/dist/agents/blocknote.agent.d.ts +0 -6
  94. package/dist/agents/blocknote.agent.d.ts.map +0 -1
  95. package/dist/agents/blocknote.agent.js +0 -18
  96. package/dist/agents/blocknote.agent.js.map +0 -1
  97. package/dist/agents/filingramp-fetch.agent.d.ts +0 -4
  98. package/dist/agents/filingramp-fetch.agent.d.ts.map +0 -1
  99. package/dist/agents/filingramp-fetch.agent.js +0 -195
  100. package/dist/agents/filingramp-fetch.agent.js.map +0 -1
  101. package/dist/agents/knowledge/filingramp-endpoints.d.ts +0 -23
  102. package/dist/agents/knowledge/filingramp-endpoints.d.ts.map +0 -1
  103. package/dist/agents/knowledge/filingramp-endpoints.js +0 -116
  104. package/dist/agents/knowledge/filingramp-endpoints.js.map +0 -1
  105. package/dist/agents/shared/blocknote-system-prompt.d.ts +0 -2
  106. package/dist/agents/shared/blocknote-system-prompt.d.ts.map +0 -1
  107. package/dist/agents/shared/blocknote-system-prompt.js +0 -40
  108. package/dist/agents/shared/blocknote-system-prompt.js.map +0 -1
  109. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts +0 -7
  110. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts.map +0 -1
  111. package/dist/agents/shared/get-latest-session-artifact.tool.js +0 -43
  112. package/dist/agents/shared/get-latest-session-artifact.tool.js.map +0 -1
  113. package/dist/agents/shared/get-session-artifact-content.tool.d.ts +0 -7
  114. package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +0 -1
  115. package/dist/agents/shared/get-session-artifact-content.tool.js +0 -44
  116. package/dist/agents/shared/get-session-artifact-content.tool.js.map +0 -1
  117. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +0 -5
  118. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +0 -1
  119. package/dist/agents/shared/list-session-artifact-paths.tool.js +0 -37
  120. package/dist/agents/shared/list-session-artifact-paths.tool.js.map +0 -1
  121. package/dist/lib/ai/agent-ai-service.d.ts +0 -3
  122. package/dist/lib/ai/agent-ai-service.d.ts.map +0 -1
  123. package/dist/lib/ai/agent-ai-service.js +0 -15
  124. package/dist/lib/ai/agent-ai-service.js.map +0 -1
  125. package/dist/lib/ai/ai-error-details.d.ts +0 -13
  126. package/dist/lib/ai/ai-error-details.d.ts.map +0 -1
  127. package/dist/lib/ai/ai-error-details.js +0 -84
  128. package/dist/lib/ai/ai-error-details.js.map +0 -1
  129. package/dist/lib/ai/generate-ai-text.d.ts +0 -12
  130. package/dist/lib/ai/generate-ai-text.d.ts.map +0 -1
  131. package/dist/lib/ai/generate-ai-text.js +0 -105
  132. package/dist/lib/ai/generate-ai-text.js.map +0 -1
  133. package/dist/lib/ai/run-explicit-agent.d.ts +0 -15
  134. package/dist/lib/ai/run-explicit-agent.d.ts.map +0 -1
  135. package/dist/lib/ai/run-explicit-agent.js +0 -30
  136. package/dist/lib/ai/run-explicit-agent.js.map +0 -1
  137. package/dist/lib/notebooks/notebook-sql-client.d.ts +0 -5
  138. package/dist/lib/notebooks/notebook-sql-client.d.ts.map +0 -1
  139. package/dist/lib/notebooks/notebook-sql-client.js +0 -37
  140. package/dist/lib/notebooks/notebook-sql-client.js.map +0 -1
  141. package/dist/lib/notebooks/notebook-sql-schema.d.ts +0 -16
  142. package/dist/lib/notebooks/notebook-sql-schema.d.ts.map +0 -1
  143. package/dist/lib/notebooks/notebook-sql-schema.js +0 -117
  144. package/dist/lib/notebooks/notebook-sql-schema.js.map +0 -1
  145. package/dist/lib/notebooks/notebook-sql.d.ts +0 -9
  146. package/dist/lib/notebooks/notebook-sql.d.ts.map +0 -1
  147. package/dist/lib/notebooks/notebook-sql.js +0 -36
  148. package/dist/lib/notebooks/notebook-sql.js.map +0 -1
  149. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +0 -3
  150. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +0 -1
  151. package/dist/lib/session-artifacts/apply-hashline-edits.js +0 -25
  152. package/dist/lib/session-artifacts/apply-hashline-edits.js.map +0 -1
  153. package/dist/lib/session-artifacts/artifact-text-edit.d.ts +0 -8
  154. package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +0 -1
  155. package/dist/lib/session-artifacts/artifact-text-edit.js +0 -23
  156. package/dist/lib/session-artifacts/artifact-text-edit.js.map +0 -1
  157. package/dist/lib/session-artifacts/hashline-tag.d.ts +0 -33
  158. package/dist/lib/session-artifacts/hashline-tag.d.ts.map +0 -1
  159. package/dist/lib/session-artifacts/hashline-tag.js +0 -80
  160. package/dist/lib/session-artifacts/hashline-tag.js.map +0 -1
  161. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +0 -3
  162. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +0 -1
  163. package/dist/lib/session-pages/inject-preview-error-reporter.js +0 -30
  164. package/dist/lib/session-pages/inject-preview-error-reporter.js.map +0 -1
  165. package/dist/lib/session-pages/read-session-artifact.d.ts +0 -7
  166. package/dist/lib/session-pages/read-session-artifact.d.ts.map +0 -1
  167. package/dist/lib/session-pages/read-session-artifact.js +0 -60
  168. package/dist/lib/session-pages/read-session-artifact.js.map +0 -1
  169. package/dist/lib/session-pages/session-pico-css.d.ts +0 -5
  170. package/dist/lib/session-pages/session-pico-css.d.ts.map +0 -1
  171. package/dist/lib/session-pages/session-pico-css.js +0 -11
  172. package/dist/lib/session-pages/session-pico-css.js.map +0 -1
  173. package/dist/realtime/realtime-auth.d.ts +0 -12
  174. package/dist/realtime/realtime-auth.d.ts.map +0 -1
  175. package/dist/realtime/realtime-auth.js +0 -25
  176. package/dist/realtime/realtime-auth.js.map +0 -1
  177. package/dist/realtime/yjs-account-namespace.d.ts +0 -5
  178. package/dist/realtime/yjs-account-namespace.d.ts.map +0 -1
  179. package/dist/realtime/yjs-account-namespace.js +0 -21
  180. package/dist/realtime/yjs-account-namespace.js.map +0 -1
  181. package/dist/routes/notebooks/sql-execute.d.ts +0 -3
  182. package/dist/routes/notebooks/sql-execute.d.ts.map +0 -1
  183. package/dist/routes/notebooks/sql-execute.js +0 -45
  184. package/dist/routes/notebooks/sql-execute.js.map +0 -1
  185. package/dist/routes/sql.d.ts +0 -2
  186. package/dist/routes/sql.d.ts.map +0 -1
  187. package/dist/routes/sql.js +0 -50
  188. package/dist/routes/sql.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"notebook-sql-schema.js","sourceRoot":"","sources":["../../../src/lib/notebooks/notebook-sql-schema.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export interface SqlQueryResult {
2
- columns: string[];
3
- rows: Record<string, unknown>[];
4
- rowCount: number;
5
- durationMs: number;
6
- }
7
- export declare function executeNotebookSqlQuery(query: string): Promise<SqlQueryResult>;
8
- export { closeNotebookSqlPool } from './notebook-sql-client';
9
- //# sourceMappingURL=notebook-sql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notebook-sql.d.ts","sourceRoot":"","sources":["../../../src/lib/notebooks/notebook-sql.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAYD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAsBpF;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.closeNotebookSqlPool = void 0;
4
- exports.executeNotebookSqlQuery = executeNotebookSqlQuery;
5
- const notebook_sql_client_1 = require("./notebook-sql-client");
6
- function rowsToResult(rows, rowCount, durationMs) {
7
- const columns = rows.length > 0 ? Object.keys(rows[0]) : [];
8
- return {
9
- columns,
10
- rows,
11
- rowCount,
12
- durationMs,
13
- };
14
- }
15
- async function executeNotebookSqlQuery(query) {
16
- const trimmed = query.trim();
17
- if (!trimmed) {
18
- throw new Error('Query is empty');
19
- }
20
- const start = performance.now();
21
- try {
22
- return await (0, notebook_sql_client_1.withNotebookSqlClient)(async (client) => {
23
- var _a;
24
- const result = await client.query(trimmed);
25
- const durationMs = Math.round(performance.now() - start);
26
- return rowsToResult(result.rows, (_a = result.rowCount) !== null && _a !== void 0 ? _a : result.rows.length, durationMs);
27
- });
28
- }
29
- catch (error) {
30
- const message = error instanceof Error ? error.message : String(error);
31
- throw new Error(message);
32
- }
33
- }
34
- var notebook_sql_client_2 = require("./notebook-sql-client");
35
- Object.defineProperty(exports, "closeNotebookSqlPool", { enumerable: true, get: function () { return notebook_sql_client_2.closeNotebookSqlPool; } });
36
- //# sourceMappingURL=notebook-sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notebook-sql.js","sourceRoot":"","sources":["../../../src/lib/notebooks/notebook-sql.ts"],"names":[],"mappings":";;;AAmBA,0DAsBC;AAzCD,+DAA6D;AAS7D,SAAS,YAAY,CAAC,IAA+B,EAAE,QAAgB,EAAE,UAAkB;IACzF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,QAAQ;QACR,UAAU;KACX,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAAa;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAE/B,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,2CAAqB,EAAC,KAAK,EAAC,MAAM,EAAC,EAAE;;YAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;YACxD,OAAO,YAAY,CACjB,MAAM,CAAC,IAAiC,EACxC,MAAA,MAAM,CAAC,QAAQ,mCAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EACrC,UAAU,CACX,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,6DAA4D;AAAnD,2HAAA,oBAAoB,OAAA"}
@@ -1,3 +0,0 @@
1
- import type { HashlineReplaceEdit } from './parse-hashline-diff';
2
- export declare function applyHashlineEditsToContent(content: string, edits: HashlineReplaceEdit[]): string;
3
- //# sourceMappingURL=apply-hashline-edits.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-hashline-edits.d.ts","sourceRoot":"","sources":["../../../src/lib/session-artifacts/apply-hashline-edits.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAwBjG"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyHashlineEditsToContent = applyHashlineEditsToContent;
4
- const hashline_tag_1 = require("./hashline-tag");
5
- function applyHashlineEditsToContent(content, edits) {
6
- if (edits.length === 0) {
7
- throw new Error('At least one hashline edit is required');
8
- }
9
- const baseDocument = (0, hashline_tag_1.buildHashlineDocument)(content);
10
- const { trailingNewline } = baseDocument;
11
- let lineTexts = baseDocument.lines.map((line) => line.text);
12
- const resolveStartIndex = (edit) => {
13
- const snapshot = (0, hashline_tag_1.buildHashlineDocument)((0, hashline_tag_1.joinContentLines)(lineTexts, trailingNewline));
14
- return (0, hashline_tag_1.resolveHashlineRange)(snapshot, edit.startTag, edit.endTag).startIndex;
15
- };
16
- const sortedEdits = [...edits].sort((a, b) => resolveStartIndex(b) - resolveStartIndex(a));
17
- for (const edit of sortedEdits) {
18
- const snapshot = (0, hashline_tag_1.buildHashlineDocument)((0, hashline_tag_1.joinContentLines)(lineTexts, trailingNewline));
19
- const { startIndex, endIndex } = (0, hashline_tag_1.resolveHashlineRange)(snapshot, edit.startTag, edit.endTag);
20
- const replacementLines = (0, hashline_tag_1.splitContentLines)(edit.content).lines;
21
- lineTexts.splice(startIndex, endIndex - startIndex + 1, ...replacementLines);
22
- }
23
- return (0, hashline_tag_1.joinContentLines)(lineTexts, trailingNewline);
24
- }
25
- //# sourceMappingURL=apply-hashline-edits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-hashline-edits.js","sourceRoot":"","sources":["../../../src/lib/session-artifacts/apply-hashline-edits.ts"],"names":[],"mappings":";;AAQA,kEAwBC;AAhCD,iDAKuB;AAGvB,SAAgB,2BAA2B,CAAC,OAAe,EAAE,KAA4B;IACvF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,oCAAqB,EAAC,OAAO,CAAC,CAAA;IACnD,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,CAAA;IACxC,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE3D,MAAM,iBAAiB,GAAG,CAAC,IAAyB,EAAU,EAAE;QAC9D,MAAM,QAAQ,GAAG,IAAA,oCAAqB,EAAC,IAAA,+BAAgB,EAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;QACpF,OAAO,IAAA,mCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAA;IAC9E,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAA,oCAAqB,EAAC,IAAA,+BAAgB,EAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;QACpF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAA,mCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3F,MAAM,gBAAgB,GAAG,IAAA,gCAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAA;QAC9D,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,IAAA,+BAAgB,EAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACrD,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface ArtifactTextEdit {
2
- /** Exact substring in the current document (must occur exactly once). */
3
- search: string;
4
- /** Replacement text (empty string deletes the match). */
5
- replace: string;
6
- }
7
- export declare function applyArtifactTextEditsToContent(content: string, edits: ArtifactTextEdit[]): string;
8
- //# sourceMappingURL=artifact-text-edit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact-text-edit.d.ts","sourceRoot":"","sources":["../../../src/lib/session-artifacts/artifact-text-edit.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,EAAE,GACxB,MAAM,CAuBR"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyArtifactTextEditsToContent = applyArtifactTextEditsToContent;
4
- function applyArtifactTextEditsToContent(content, edits) {
5
- let current = content;
6
- for (let index = 0; index < edits.length; index++) {
7
- const edit = edits[index];
8
- if (!edit.search.length) {
9
- throw new Error(`Edit ${index + 1}: search must not be empty`);
10
- }
11
- const first = current.indexOf(edit.search);
12
- if (first === -1) {
13
- throw new Error(`Edit ${index + 1}: search text not found in document`);
14
- }
15
- const second = current.indexOf(edit.search, first + edit.search.length);
16
- if (second !== -1) {
17
- throw new Error(`Edit ${index + 1}: search text is ambiguous (multiple matches)`);
18
- }
19
- current = current.slice(0, first) + edit.replace + current.slice(first + edit.search.length);
20
- }
21
- return current;
22
- }
23
- //# sourceMappingURL=artifact-text-edit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact-text-edit.js","sourceRoot":"","sources":["../../../src/lib/session-artifacts/artifact-text-edit.ts"],"names":[],"mappings":";;AAOA,0EA0BC;AA1BD,SAAgB,+BAA+B,CAC7C,OAAe,EACf,KAAyB;IAEzB,IAAI,OAAO,GAAG,OAAO,CAAA;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,4BAA4B,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,qCAAqC,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,+CAA+C,CAAC,CAAA;QACnF,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9F,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,33 +0,0 @@
1
- export interface HashlineLine {
2
- /** 1-based line number in the current document snapshot */
3
- lineNumber: number;
4
- text: string;
5
- /** e.g. 45:d4 — line number + content fingerprint */
6
- tag: string;
7
- }
8
- export declare function hashlineFingerprint(text: string): string;
9
- export declare function buildLineTag(lineNumber: number, text: string): string;
10
- export declare function parseLineTag(tag: string): {
11
- lineNumber: number;
12
- hash: string;
13
- };
14
- export declare function parseTagRange(range: string): {
15
- startTag: string;
16
- endTag: string;
17
- };
18
- export declare function splitContentLines(content: string): {
19
- lines: string[];
20
- trailingNewline: boolean;
21
- };
22
- export declare function joinContentLines(lines: string[], trailingNewline: boolean): string;
23
- export declare function buildHashlineDocument(content: string): {
24
- lines: HashlineLine[];
25
- trailingNewline: boolean;
26
- };
27
- export declare function resolveHashlineRange(document: {
28
- lines: HashlineLine[];
29
- }, startTag: string, endTag: string): {
30
- startIndex: number;
31
- endIndex: number;
32
- };
33
- //# sourceMappingURL=hashline-tag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashline-tag.d.ts","sourceRoot":"","sources":["../../../src/lib/session-artifacts/hashline-tag.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAM9E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAcjF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAYhG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,CAKlF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;CACzB,CAOA;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,EACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAiB1C"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hashlineFingerprint = hashlineFingerprint;
4
- exports.buildLineTag = buildLineTag;
5
- exports.parseLineTag = parseLineTag;
6
- exports.parseTagRange = parseTagRange;
7
- exports.splitContentLines = splitContentLines;
8
- exports.joinContentLines = joinContentLines;
9
- exports.buildHashlineDocument = buildHashlineDocument;
10
- exports.resolveHashlineRange = resolveHashlineRange;
11
- const node_crypto_1 = require("node:crypto");
12
- function hashlineFingerprint(text) {
13
- return (0, node_crypto_1.createHash)('sha256').update(text, 'utf8').digest('hex').slice(0, 2);
14
- }
15
- function buildLineTag(lineNumber, text) {
16
- return `${lineNumber}:${hashlineFingerprint(text)}`;
17
- }
18
- function parseLineTag(tag) {
19
- const match = /^(\d+):([0-9a-f]+)$/i.exec(tag.trim());
20
- if (!match) {
21
- throw new Error(`Invalid line tag: ${tag}`);
22
- }
23
- return { lineNumber: Number(match[1]), hash: match[2].toLowerCase() };
24
- }
25
- function parseTagRange(range) {
26
- const trimmed = range.trim();
27
- const separator = trimmed.indexOf('..');
28
- if (separator === -1) {
29
- const tag = trimmed;
30
- return { startTag: tag, endTag: tag };
31
- }
32
- const startTag = trimmed.slice(0, separator).trim();
33
- const endTag = trimmed.slice(separator + 2).trim();
34
- if (!startTag || !endTag) {
35
- throw new Error(`Invalid tag range: ${range}`);
36
- }
37
- return { startTag, endTag };
38
- }
39
- function splitContentLines(content) {
40
- if (content.length === 0) {
41
- return { lines: [], trailingNewline: false };
42
- }
43
- const trailingNewline = content.endsWith('\n');
44
- const body = trailingNewline ? content.slice(0, -1) : content;
45
- if (body.length === 0) {
46
- return { lines: [], trailingNewline };
47
- }
48
- return { lines: body.split('\n'), trailingNewline };
49
- }
50
- function joinContentLines(lines, trailingNewline) {
51
- if (lines.length === 0) {
52
- return trailingNewline ? '\n' : '';
53
- }
54
- return lines.join('\n') + (trailingNewline ? '\n' : '');
55
- }
56
- function buildHashlineDocument(content) {
57
- const { lines: rawLines, trailingNewline } = splitContentLines(content);
58
- const lines = rawLines.map((text, index) => {
59
- const lineNumber = index + 1;
60
- return { lineNumber, text, tag: buildLineTag(lineNumber, text) };
61
- });
62
- return { lines, trailingNewline };
63
- }
64
- function resolveHashlineRange(document, startTag, endTag) {
65
- const normalizedStart = startTag.trim();
66
- const normalizedEnd = endTag.trim();
67
- const startIndex = document.lines.findIndex((line) => line.tag === normalizedStart);
68
- const endIndex = document.lines.findIndex((line) => line.tag === normalizedEnd);
69
- if (startIndex === -1) {
70
- throw new Error(`Start tag not found: ${normalizedStart}`);
71
- }
72
- if (endIndex === -1) {
73
- throw new Error(`End tag not found: ${normalizedEnd}`);
74
- }
75
- if (startIndex > endIndex) {
76
- throw new Error(`Invalid tag range: ${normalizedStart}..${normalizedEnd}`);
77
- }
78
- return { startIndex, endIndex };
79
- }
80
- //# sourceMappingURL=hashline-tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hashline-tag.js","sourceRoot":"","sources":["../../../src/lib/session-artifacts/hashline-tag.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function buildPreviewErrorReporterScript(sessionId: string, previewPath: string): string;
2
- export declare function injectPreviewErrorReporter(html: string, sessionId: string, previewPath: string): string;
3
- //# sourceMappingURL=inject-preview-error-reporter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-preview-error-reporter.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/inject-preview-error-reporter.ts"],"names":[],"mappings":"AAMA,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG9F;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM,CAoBR"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildPreviewErrorReporterScript = buildPreviewErrorReporterScript;
4
- exports.injectPreviewErrorReporter = injectPreviewErrorReporter;
5
- const REPORTER_MARKER = 'id="multiplayer-artifact-preview-error-reporter"';
6
- function escapeJsString(value) {
7
- return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
8
- }
9
- function buildPreviewErrorReporterScript(sessionId, previewPath) {
10
- const meta = `{sessionId:"${escapeJsString(sessionId)}",path:"${escapeJsString(previewPath)}"}`;
11
- return `<script ${REPORTER_MARKER}>(function(){var meta=${meta};function report(d){try{parent.postMessage(Object.assign({type:"artifact-preview-error"},meta,d),"*")}catch(e){}}window.addEventListener("error",function(e){report({kind:"error",message:e.message||String(e.error||"Unknown error"),filename:e.filename||"",lineno:e.lineno||0,colno:e.colno||0,at:new Date().toISOString()})});window.addEventListener("unhandledrejection",function(e){report({kind:"unhandledrejection",message:String(e.reason),filename:"",lineno:0,colno:0,at:new Date().toISOString()})})})();</script>`;
12
- }
13
- function injectPreviewErrorReporter(html, sessionId, previewPath) {
14
- if (html.includes(REPORTER_MARKER)) {
15
- return html;
16
- }
17
- const script = buildPreviewErrorReporterScript(sessionId, previewPath);
18
- const headMatch = html.match(/<head(\s[^>]*)?>/i);
19
- if (headMatch && headMatch.index !== undefined) {
20
- const insertAt = headMatch.index + headMatch[0].length;
21
- return `${html.slice(0, insertAt)}${script}${html.slice(insertAt)}`;
22
- }
23
- const htmlMatch = html.match(/<html(\s[^>]*)?>/i);
24
- if (htmlMatch && htmlMatch.index !== undefined) {
25
- const insertAt = htmlMatch.index + htmlMatch[0].length;
26
- return `${html.slice(0, insertAt)}${script}${html.slice(insertAt)}`;
27
- }
28
- return `${script}${html}`;
29
- }
30
- //# sourceMappingURL=inject-preview-error-reporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-preview-error-reporter.js","sourceRoot":"","sources":["../../../src/lib/session-pages/inject-preview-error-reporter.ts"],"names":[],"mappings":";;AAMA,0EAGC;AAED,gEAwBC;AAnCD,MAAM,eAAe,GAAG,kDAAkD,CAAA;AAE1E,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,SAAgB,+BAA+B,CAAC,SAAiB,EAAE,WAAmB;IACpF,MAAM,IAAI,GAAG,eAAe,cAAc,CAAC,SAAS,CAAC,WAAW,cAAc,CAAC,WAAW,CAAC,IAAI,CAAA;IAC/F,OAAO,WAAW,eAAe,yBAAyB,IAAI,kgBAAkgB,CAAA;AAClkB,CAAC;AAED,SAAgB,0BAA0B,CACxC,IAAY,EACZ,SAAiB,EACjB,WAAmB;IAEnB,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAEtE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACjD,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACjD,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;IACrE,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,7 +0,0 @@
1
- export interface ReadLatestSessionArtifactResult {
2
- path: string;
3
- content: string;
4
- bytes: number;
5
- }
6
- export declare function readLatestSessionArtifactText(sessionId: string, artifactPath: string): Promise<ReadLatestSessionArtifactResult>;
7
- //# sourceMappingURL=read-session-artifact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-session-artifact.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifact.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,+BAA+B,CAAC,CAoB1C"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readLatestSessionArtifactText = readLatestSessionArtifactText;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const session_artifact_yjs_store_1 = require("../../realtime/session-artifact-yjs-store");
9
- const paths_1 = require("./paths");
10
- const BINARY_EXTENSIONS = new Set([
11
- 'png',
12
- 'jpg',
13
- 'jpeg',
14
- 'gif',
15
- 'svg',
16
- 'webp',
17
- 'ico',
18
- 'bmp',
19
- 'avif',
20
- 'woff',
21
- 'woff2',
22
- 'ttf',
23
- 'otf',
24
- 'eot',
25
- 'pdf',
26
- 'zip',
27
- 'tar',
28
- 'gz',
29
- 'br',
30
- 'mp3',
31
- 'mp4',
32
- 'wav',
33
- 'ogg',
34
- 'webm',
35
- ]);
36
- function isLikelyBinaryArtifactPath(artifactPath) {
37
- var _a, _b;
38
- const ext = (_b = (_a = artifactPath.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
39
- return BINARY_EXTENSIONS.has(ext);
40
- }
41
- async function readLatestSessionArtifactText(sessionId, artifactPath) {
42
- const path = (0, paths_1.normalizeArtifactPath)(artifactPath);
43
- if (isLikelyBinaryArtifactPath(path)) {
44
- throw new Error(`Cannot read binary artifact as text: ${path}`);
45
- }
46
- const absolutePath = (0, paths_1.resolveArtifactPath)(sessionId, path);
47
- try {
48
- await promises_1.default.access(absolutePath);
49
- }
50
- catch (_a) {
51
- throw new Error(`Artifact not found: ${path}`);
52
- }
53
- const content = await (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)().getLatestArtifactText(sessionId, path);
54
- return {
55
- path,
56
- content,
57
- bytes: Buffer.byteLength(content, 'utf8'),
58
- };
59
- }
60
- //# sourceMappingURL=read-session-artifact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-session-artifact.js","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifact.ts"],"names":[],"mappings":";;;;;AA0CA,sEAuBC;AAjED,gEAAiC;AACjC,0FAAsF;AACtF,mCAAoE;AAEpE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;CACP,CAAC,CAAA;AAEF,SAAS,0BAA0B,CAAC,YAAoB;;IACtD,MAAM,GAAG,GAAG,MAAA,MAAA,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAA;IAC9D,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC;AAQM,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,YAAoB;IAEpB,MAAM,IAAI,GAAG,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAA;IAEhD,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,uDAA0B,GAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACzF,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1C,CAAA;AACH,CAAC"}
@@ -1,5 +0,0 @@
1
- /** Pico CSS v2 from jsDelivr — injected into each published .html file. */
2
- export declare const PICO_CSS_HREF = "https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css";
3
- export declare const SESSION_PICO_CSS_LINK = "<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css\">";
4
- export declare function htmlIncludesPicoCss(html: string): boolean;
5
- //# sourceMappingURL=session-pico-css.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-pico-css.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/session-pico-css.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,eAAO,MAAM,aAAa,kEAAkE,CAAA;AAE5F,eAAO,MAAM,qBAAqB,qGAAoD,CAAA;AAEtF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SESSION_PICO_CSS_LINK = exports.PICO_CSS_HREF = void 0;
4
- exports.htmlIncludesPicoCss = htmlIncludesPicoCss;
5
- /** Pico CSS v2 from jsDelivr — injected into each published .html file. */
6
- exports.PICO_CSS_HREF = 'https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css';
7
- exports.SESSION_PICO_CSS_LINK = `<link rel="stylesheet" href="${exports.PICO_CSS_HREF}">`;
8
- function htmlIncludesPicoCss(html) {
9
- return html.includes('pico.min.css') || html.includes('@picocss/pico');
10
- }
11
- //# sourceMappingURL=session-pico-css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-pico-css.js","sourceRoot":"","sources":["../../../src/lib/session-pages/session-pico-css.ts"],"names":[],"mappings":";;;AAKA,kDAEC;AAPD,2EAA2E;AAC9D,QAAA,aAAa,GAAG,+DAA+D,CAAA;AAE/E,QAAA,qBAAqB,GAAG,gCAAgC,qBAAa,IAAI,CAAA;AAEtF,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;AACxE,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { AuthenticatedPresentUser } from '@multiplayer-app/realtime-types';
2
- import type { Middleware } from '@multiplayer-app/realtime-server';
3
- export type RealtimeDocumentAuthHandler = (request: unknown) => Promise<{
4
- name: string;
5
- id: string;
6
- color: string;
7
- }>;
8
- export declare function toRealtimeAuthMiddleware(handler: RealtimeDocumentAuthHandler): Middleware;
9
- export declare function getSocketPresentUser(socket: {
10
- request: unknown;
11
- }): AuthenticatedPresentUser | null;
12
- //# sourceMappingURL=realtime-auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"realtime-auth.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAQzD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,2BAA2B,GAAG,UAAU,CAazF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,wBAAwB,GAAG,IAAI,CAGlG"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toRealtimeAuthMiddleware = toRealtimeAuthMiddleware;
4
- exports.getSocketPresentUser = getSocketPresentUser;
5
- function toRealtimeAuthMiddleware(handler) {
6
- return async (request, _response, next) => {
7
- try {
8
- const presentUser = await handler(request);
9
- const req = request;
10
- req.presentUser = presentUser;
11
- req.userId = presentUser.id;
12
- next();
13
- }
14
- catch (error) {
15
- const err = error instanceof Error ? error : new Error(String(error));
16
- next(err);
17
- }
18
- };
19
- }
20
- function getSocketPresentUser(socket) {
21
- var _a;
22
- const req = socket.request;
23
- return (_a = req.presentUser) !== null && _a !== void 0 ? _a : null;
24
- }
25
- //# sourceMappingURL=realtime-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"realtime-auth.js","sourceRoot":"","sources":["../../src/realtime/realtime-auth.ts"],"names":[],"mappings":";;AAaA,4DAaC;AAED,oDAGC;AAlBD,SAAgB,wBAAwB,CAAC,OAAoC;IAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1C,MAAM,GAAG,GAAG,OAAsB,CAAA;YAClC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAA;YAC7B,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;YAC3B,IAAI,EAAE,CAAA;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACrE,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAA4B;;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAsB,CAAA;IACzC,OAAO,MAAA,GAAG,CAAC,WAAW,mCAAI,IAAI,CAAA;AAChC,CAAC"}
@@ -1,5 +0,0 @@
1
- /** Dynamic Socket.IO namespace for per-account Yjs collaboration. */
2
- export declare const YJS_ACCOUNT_NAMESPACE: RegExp;
3
- export declare function buildYjsAccountNamespace(accountId: string): string;
4
- export declare function parseYjsAccountIdFromNamespace(namespaceName: string): string | null;
5
- //# sourceMappingURL=yjs-account-namespace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yjs-account-namespace.d.ts","sourceRoot":"","sources":["../../src/realtime/yjs-account-namespace.ts"],"names":[],"mappings":"AAEA,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,QAAwC,CAAA;AAE1E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnF"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.YJS_ACCOUNT_NAMESPACE = void 0;
4
- exports.buildYjsAccountNamespace = buildYjsAccountNamespace;
5
- exports.parseYjsAccountIdFromNamespace = parseYjsAccountIdFromNamespace;
6
- const MONGO_OBJECT_ID_PATTERN = /^[A-Fa-f0-9]{24}$/;
7
- /** Dynamic Socket.IO namespace for per-account Yjs collaboration. */
8
- exports.YJS_ACCOUNT_NAMESPACE = /^\/yjs\/account\/([A-Fa-f0-9]{24})$/;
9
- function buildYjsAccountNamespace(accountId) {
10
- const normalized = accountId.trim();
11
- if (!MONGO_OBJECT_ID_PATTERN.test(normalized)) {
12
- throw new Error(`Invalid account id: ${accountId}`);
13
- }
14
- return `/yjs/account/${normalized}`;
15
- }
16
- function parseYjsAccountIdFromNamespace(namespaceName) {
17
- var _a;
18
- const match = namespaceName.match(exports.YJS_ACCOUNT_NAMESPACE);
19
- return (_a = match === null || match === void 0 ? void 0 : match[1]) !== null && _a !== void 0 ? _a : null;
20
- }
21
- //# sourceMappingURL=yjs-account-namespace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yjs-account-namespace.js","sourceRoot":"","sources":["../../src/realtime/yjs-account-namespace.ts"],"names":[],"mappings":";;;AAKA,4DAMC;AAED,wEAGC;AAhBD,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEnD,qEAAqE;AACxD,QAAA,qBAAqB,GAAG,qCAAqC,CAAA;AAE1E,SAAgB,wBAAwB,CAAC,SAAiB;IACxD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,gBAAgB,UAAU,EAAE,CAAA;AACrC,CAAC;AAED,SAAgB,8BAA8B,CAAC,aAAqB;;IAClE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,6BAAqB,CAAC,CAAA;IACxD,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,mCAAI,IAAI,CAAA;AAC3B,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Request, Response } from 'express';
2
- export declare const executeNotebookSqlHandler: (req: Request, res: Response) => Promise<void>;
3
- //# sourceMappingURL=sql-execute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-execute.d.ts","sourceRoot":"","sources":["../../../src/routes/notebooks/sql-execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAehD,eAAO,MAAM,yBAAyB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA6B1E,CAAA"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeNotebookSqlHandler = void 0;
4
- const zod_1 = require("zod");
5
- const context_1 = require("../../context");
6
- const notebook_sql_1 = require("../../lib/notebooks/notebook-sql");
7
- const errors_1 = require("./errors");
8
- const validatedSchema = zod_1.z.object({
9
- params: zod_1.z.object({
10
- notebookId: zod_1.z.string().min(1),
11
- }),
12
- body: zod_1.z.object({
13
- query: zod_1.z.string().min(1, 'query is required'),
14
- }),
15
- });
16
- const executeNotebookSqlHandler = async (req, res) => {
17
- var _a;
18
- try {
19
- const { params, body } = validatedSchema.parse({
20
- params: req.params,
21
- body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
22
- });
23
- if (!req.accountId) {
24
- res.status(401).json({ message: 'Unauthorized: accountId is required' });
25
- return;
26
- }
27
- const repository = (0, context_1.getBuilderApiContext)().notebookRepository;
28
- if (!repository) {
29
- res.status(503).json({ message: 'Notebook repository is not configured' });
30
- return;
31
- }
32
- const notebook = await repository.getById(req.accountId, params.notebookId);
33
- if (!notebook) {
34
- res.status(404).json({ message: 'Notebook not found' });
35
- return;
36
- }
37
- const result = await (0, notebook_sql_1.executeNotebookSqlQuery)(body.query);
38
- res.json(result);
39
- }
40
- catch (error) {
41
- (0, errors_1.respondNotebookError)(res, error);
42
- }
43
- };
44
- exports.executeNotebookSqlHandler = executeNotebookSqlHandler;
45
- //# sourceMappingURL=sql-execute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-execute.js","sourceRoot":"","sources":["../../../src/routes/notebooks/sql-execute.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,2CAAoD;AACpD,mEAA0E;AAC1E,qCAA+C;AAE/C,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;KAC9C,CAAC;CACH,CAAC,CAAA;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;;IAC7E,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,8BAAoB,GAAE,CAAC,kBAAkB,CAAA;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,6BAAoB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA;AA7BY,QAAA,yBAAyB,6BA6BrC"}
@@ -1,2 +0,0 @@
1
- export declare const sqlRoutes: import("express-serve-static-core").Router;
2
- //# sourceMappingURL=sql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/routes/sql.ts"],"names":[],"mappings":"AA8CA,eAAO,MAAM,SAAS,4CAAmB,CAAA"}