@multiplayer-app/sandbox 0.0.31 → 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 (336) 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/html-generator.agent.d.ts +3 -1
  6. package/dist/agents/html-generator.agent.d.ts.map +1 -1
  7. package/dist/agents/html-generator.agent.js +90 -4
  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 +5 -10
  11. package/dist/agents/markdown-generator.agent.js.map +1 -1
  12. package/dist/agents/notebook.agent.d.ts.map +1 -1
  13. package/dist/agents/notebook.agent.js +2 -1
  14. package/dist/agents/notebook.agent.js.map +1 -1
  15. package/dist/agents/shared/app-vm.tools.d.ts +4 -0
  16. package/dist/agents/shared/app-vm.tools.d.ts.map +1 -0
  17. package/dist/agents/shared/app-vm.tools.js +105 -0
  18. package/dist/agents/shared/app-vm.tools.js.map +1 -0
  19. package/dist/agents/shared/build-plan.tools.d.ts +5 -0
  20. package/dist/agents/shared/build-plan.tools.d.ts.map +1 -0
  21. package/dist/agents/shared/build-plan.tools.js +176 -0
  22. package/dist/agents/shared/build-plan.tools.js.map +1 -0
  23. package/dist/agents/shared/content-generator-system-prompt.d.ts +3 -2
  24. package/dist/agents/shared/content-generator-system-prompt.d.ts.map +1 -1
  25. package/dist/agents/shared/content-generator-system-prompt.js +41 -24
  26. package/dist/agents/shared/content-generator-system-prompt.js.map +1 -1
  27. package/dist/agents/shared/design-skills.d.ts +48 -0
  28. package/dist/agents/shared/design-skills.d.ts.map +1 -0
  29. package/dist/agents/shared/design-skills.js +230 -0
  30. package/dist/agents/shared/design-skills.js.map +1 -0
  31. package/dist/agents/shared/generate-session-images.tool.d.ts +15 -0
  32. package/dist/agents/shared/generate-session-images.tool.d.ts.map +1 -0
  33. package/dist/agents/shared/generate-session-images.tool.js +98 -0
  34. package/dist/agents/shared/generate-session-images.tool.js.map +1 -0
  35. package/dist/agents/shared/publish-session-artifacts.tool.d.ts +5 -0
  36. package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -1
  37. package/dist/agents/shared/publish-session-artifacts.tool.js +154 -15
  38. package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -1
  39. package/dist/agents/shared/session-quality-report.tool.d.ts +7 -0
  40. package/dist/agents/shared/session-quality-report.tool.d.ts.map +1 -0
  41. package/dist/agents/shared/session-quality-report.tool.js +97 -0
  42. package/dist/agents/shared/session-quality-report.tool.js.map +1 -0
  43. package/dist/agents/shared/session-vm-bridge.d.ts +49 -0
  44. package/dist/agents/shared/session-vm-bridge.d.ts.map +1 -0
  45. package/dist/agents/shared/session-vm-bridge.js +9 -0
  46. package/dist/agents/shared/session-vm-bridge.js.map +1 -0
  47. package/dist/agents/shared/update-session-artifacts.tool.d.ts +5 -0
  48. package/dist/agents/shared/update-session-artifacts.tool.d.ts.map +1 -1
  49. package/dist/agents/shared/update-session-artifacts.tool.js +136 -26
  50. package/dist/agents/shared/update-session-artifacts.tool.js.map +1 -1
  51. package/dist/agents/shared/validate-artifact-content.tools.d.ts +4 -0
  52. package/dist/agents/shared/validate-artifact-content.tools.d.ts.map +1 -1
  53. package/dist/agents/shared/validate-artifact-content.tools.js +24 -1
  54. package/dist/agents/shared/validate-artifact-content.tools.js.map +1 -1
  55. package/dist/agents/skills/a11y.skill.d.ts +3 -0
  56. package/dist/agents/skills/a11y.skill.d.ts.map +1 -0
  57. package/dist/agents/skills/a11y.skill.js +23 -0
  58. package/dist/agents/skills/a11y.skill.js.map +1 -0
  59. package/dist/agents/skills/account-skill-loader.d.ts +13 -0
  60. package/dist/agents/skills/account-skill-loader.d.ts.map +1 -0
  61. package/dist/agents/skills/account-skill-loader.js +42 -0
  62. package/dist/agents/skills/account-skill-loader.js.map +1 -0
  63. package/dist/agents/skills/app-scaffold.skill.d.ts +3 -0
  64. package/dist/agents/skills/app-scaffold.skill.d.ts.map +1 -0
  65. package/dist/agents/skills/app-scaffold.skill.js +30 -0
  66. package/dist/agents/skills/app-scaffold.skill.js.map +1 -0
  67. package/dist/agents/skills/copywriting.skill.d.ts +3 -0
  68. package/dist/agents/skills/copywriting.skill.d.ts.map +1 -0
  69. package/dist/agents/skills/copywriting.skill.js +35 -0
  70. package/dist/agents/skills/copywriting.skill.js.map +1 -0
  71. package/dist/agents/skills/custom-skill-repository.d.ts +40 -0
  72. package/dist/agents/skills/custom-skill-repository.d.ts.map +1 -0
  73. package/dist/agents/skills/custom-skill-repository.js +3 -0
  74. package/dist/agents/skills/custom-skill-repository.js.map +1 -0
  75. package/dist/agents/skills/data-viz.skill.d.ts +3 -0
  76. package/dist/agents/skills/data-viz.skill.d.ts.map +1 -0
  77. package/dist/agents/skills/data-viz.skill.js +42 -0
  78. package/dist/agents/skills/data-viz.skill.js.map +1 -0
  79. package/dist/agents/skills/designer.skill.d.ts +3 -0
  80. package/dist/agents/skills/designer.skill.d.ts.map +1 -0
  81. package/dist/agents/skills/designer.skill.js +101 -0
  82. package/dist/agents/skills/designer.skill.js.map +1 -0
  83. package/dist/agents/skills/forms.skill.d.ts +3 -0
  84. package/dist/agents/skills/forms.skill.d.ts.map +1 -0
  85. package/dist/agents/skills/forms.skill.js +37 -0
  86. package/dist/agents/skills/forms.skill.js.map +1 -0
  87. package/dist/agents/skills/index.d.ts +6 -0
  88. package/dist/agents/skills/index.d.ts.map +1 -0
  89. package/dist/agents/skills/index.js +18 -0
  90. package/dist/agents/skills/index.js.map +1 -0
  91. package/dist/agents/skills/interactions.skill.d.ts +3 -0
  92. package/dist/agents/skills/interactions.skill.d.ts.map +1 -0
  93. package/dist/agents/skills/interactions.skill.js +31 -0
  94. package/dist/agents/skills/interactions.skill.js.map +1 -0
  95. package/dist/agents/skills/registry.d.ts +23 -0
  96. package/dist/agents/skills/registry.d.ts.map +1 -0
  97. package/dist/agents/skills/registry.js +75 -0
  98. package/dist/agents/skills/registry.js.map +1 -0
  99. package/dist/agents/skills/skill-injection.d.ts +52 -0
  100. package/dist/agents/skills/skill-injection.d.ts.map +1 -0
  101. package/dist/agents/skills/skill-injection.js +216 -0
  102. package/dist/agents/skills/skill-injection.js.map +1 -0
  103. package/dist/agents/skills/types.d.ts +12 -0
  104. package/dist/agents/skills/types.d.ts.map +1 -0
  105. package/dist/agents/skills/types.js +3 -0
  106. package/dist/agents/skills/types.js.map +1 -0
  107. package/dist/builder-api-config.d.ts +7 -0
  108. package/dist/builder-api-config.d.ts.map +1 -1
  109. package/dist/builder-api-config.js.map +1 -1
  110. package/dist/context.d.ts +11 -0
  111. package/dist/context.d.ts.map +1 -1
  112. package/dist/context.js +19 -0
  113. package/dist/context.js.map +1 -1
  114. package/dist/create-builder-api.d.ts +8 -3
  115. package/dist/create-builder-api.d.ts.map +1 -1
  116. package/dist/create-builder-api.js +20 -0
  117. package/dist/create-builder-api.js.map +1 -1
  118. package/dist/index.d.ts +6 -1
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +7 -1
  121. package/dist/index.js.map +1 -1
  122. package/dist/lib/library/list-library-items.d.ts +2 -2
  123. package/dist/lib/library/list-library-items.d.ts.map +1 -1
  124. package/dist/lib/library/list-library-items.js +49 -7
  125. package/dist/lib/library/list-library-items.js.map +1 -1
  126. package/dist/lib/object-storage/index.d.ts +3 -0
  127. package/dist/lib/object-storage/index.d.ts.map +1 -0
  128. package/dist/lib/object-storage/index.js +19 -0
  129. package/dist/lib/object-storage/index.js.map +1 -0
  130. package/dist/lib/object-storage/keys.d.ts +10 -0
  131. package/dist/lib/object-storage/keys.d.ts.map +1 -0
  132. package/dist/lib/object-storage/keys.js +51 -0
  133. package/dist/lib/object-storage/keys.js.map +1 -0
  134. package/dist/lib/object-storage/s3-object-store.d.ts +14 -0
  135. package/dist/lib/object-storage/s3-object-store.d.ts.map +1 -0
  136. package/dist/lib/object-storage/s3-object-store.js +64 -0
  137. package/dist/lib/object-storage/s3-object-store.js.map +1 -0
  138. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts +1 -1
  139. package/dist/lib/session-artifacts/hashline-diff-guide.d.ts.map +1 -1
  140. package/dist/lib/session-artifacts/hashline-diff-guide.js +9 -5
  141. package/dist/lib/session-artifacts/hashline-diff-guide.js.map +1 -1
  142. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts +13 -0
  143. package/dist/lib/session-artifacts/parse-hashline-diff.d.ts.map +1 -1
  144. package/dist/lib/session-artifacts/parse-hashline-diff.js +72 -0
  145. package/dist/lib/session-artifacts/parse-hashline-diff.js.map +1 -1
  146. package/dist/lib/session-pages/artifact-quality-audit.d.ts +16 -0
  147. package/dist/lib/session-pages/artifact-quality-audit.d.ts.map +1 -0
  148. package/dist/lib/session-pages/artifact-quality-audit.js +298 -0
  149. package/dist/lib/session-pages/artifact-quality-audit.js.map +1 -0
  150. package/dist/lib/session-pages/artifact-storage.d.ts +3 -0
  151. package/dist/lib/session-pages/artifact-storage.d.ts.map +1 -1
  152. package/dist/lib/session-pages/artifact-storage.js +94 -85
  153. package/dist/lib/session-pages/artifact-storage.js.map +1 -1
  154. package/dist/lib/session-pages/audit-session-html.d.ts +23 -0
  155. package/dist/lib/session-pages/audit-session-html.d.ts.map +1 -0
  156. package/dist/lib/session-pages/audit-session-html.js +82 -0
  157. package/dist/lib/session-pages/audit-session-html.js.map +1 -0
  158. package/dist/lib/session-pages/contrast-check.d.ts +25 -0
  159. package/dist/lib/session-pages/contrast-check.d.ts.map +1 -0
  160. package/dist/lib/session-pages/contrast-check.js +290 -0
  161. package/dist/lib/session-pages/contrast-check.js.map +1 -0
  162. package/dist/lib/session-pages/deferred-quality-rules.d.ts +7 -0
  163. package/dist/lib/session-pages/deferred-quality-rules.d.ts.map +1 -0
  164. package/dist/lib/session-pages/deferred-quality-rules.js +25 -0
  165. package/dist/lib/session-pages/deferred-quality-rules.js.map +1 -0
  166. package/dist/lib/session-pages/delete-session-artifact.d.ts.map +1 -1
  167. package/dist/lib/session-pages/delete-session-artifact.js +12 -41
  168. package/dist/lib/session-pages/delete-session-artifact.js.map +1 -1
  169. package/dist/lib/session-pages/delete-session-artifacts.d.ts +0 -6
  170. package/dist/lib/session-pages/delete-session-artifacts.d.ts.map +1 -1
  171. package/dist/lib/session-pages/delete-session-artifacts.js +51 -15
  172. package/dist/lib/session-pages/delete-session-artifacts.js.map +1 -1
  173. package/dist/lib/session-pages/html-artifact-template.d.ts +16 -0
  174. package/dist/lib/session-pages/html-artifact-template.d.ts.map +1 -1
  175. package/dist/lib/session-pages/html-artifact-template.js +166 -10
  176. package/dist/lib/session-pages/html-artifact-template.js.map +1 -1
  177. package/dist/lib/session-pages/index.d.ts +4 -0
  178. package/dist/lib/session-pages/index.d.ts.map +1 -1
  179. package/dist/lib/session-pages/index.js +11 -1
  180. package/dist/lib/session-pages/index.js.map +1 -1
  181. package/dist/lib/session-pages/list-session-artifacts.d.ts.map +1 -1
  182. package/dist/lib/session-pages/list-session-artifacts.js +48 -48
  183. package/dist/lib/session-pages/list-session-artifacts.js.map +1 -1
  184. package/dist/lib/session-pages/read-session-artifacts.d.ts.map +1 -1
  185. package/dist/lib/session-pages/read-session-artifacts.js +4 -26
  186. package/dist/lib/session-pages/read-session-artifacts.js.map +1 -1
  187. package/dist/lib/session-pages/resolve-session-account-id.d.ts +3 -0
  188. package/dist/lib/session-pages/resolve-session-account-id.d.ts.map +1 -0
  189. package/dist/lib/session-pages/resolve-session-account-id.js +31 -0
  190. package/dist/lib/session-pages/resolve-session-account-id.js.map +1 -0
  191. package/dist/lib/session-pages/write-binary-session-artifact.d.ts +12 -0
  192. package/dist/lib/session-pages/write-binary-session-artifact.d.ts.map +1 -0
  193. package/dist/lib/session-pages/write-binary-session-artifact.js +23 -0
  194. package/dist/lib/session-pages/write-binary-session-artifact.js.map +1 -0
  195. package/dist/lib/session-pages/write-session-artifacts.d.ts +1 -2
  196. package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -1
  197. package/dist/lib/session-pages/write-session-artifacts.js +12 -1
  198. package/dist/lib/session-pages/write-session-artifacts.js.map +1 -1
  199. package/dist/lib/session-plans/build-plan.d.ts +74 -0
  200. package/dist/lib/session-plans/build-plan.d.ts.map +1 -0
  201. package/dist/lib/session-plans/build-plan.js +165 -0
  202. package/dist/lib/session-plans/build-plan.js.map +1 -0
  203. package/dist/lib/yjs-pending/flush-lock.d.ts +6 -0
  204. package/dist/lib/yjs-pending/flush-lock.d.ts.map +1 -0
  205. package/dist/lib/yjs-pending/flush-lock.js +43 -0
  206. package/dist/lib/yjs-pending/flush-lock.js.map +1 -0
  207. package/dist/lib/yjs-pending/flush-worker.d.ts +5 -0
  208. package/dist/lib/yjs-pending/flush-worker.d.ts.map +1 -0
  209. package/dist/lib/yjs-pending/flush-worker.js +75 -0
  210. package/dist/lib/yjs-pending/flush-worker.js.map +1 -0
  211. package/dist/lib/yjs-pending/yjs-pending-updates-repository.d.ts +22 -0
  212. package/dist/lib/yjs-pending/yjs-pending-updates-repository.d.ts.map +1 -0
  213. package/dist/lib/yjs-pending/yjs-pending-updates-repository.js +3 -0
  214. package/dist/lib/yjs-pending/yjs-pending-updates-repository.js.map +1 -0
  215. package/dist/lib/yjs-pending/yjs-persistence.d.ts +23 -0
  216. package/dist/lib/yjs-pending/yjs-persistence.d.ts.map +1 -0
  217. package/dist/lib/yjs-pending/yjs-persistence.js +222 -0
  218. package/dist/lib/yjs-pending/yjs-persistence.js.map +1 -0
  219. package/dist/realtime/reset-session-artifact-y-docs.d.ts.map +1 -1
  220. package/dist/realtime/reset-session-artifact-y-docs.js +1 -6
  221. package/dist/realtime/reset-session-artifact-y-docs.js.map +1 -1
  222. package/dist/realtime/session-artifact-y-socket-io.d.ts +0 -5
  223. package/dist/realtime/session-artifact-y-socket-io.d.ts.map +1 -1
  224. package/dist/realtime/session-artifact-y-socket-io.js +5 -69
  225. package/dist/realtime/session-artifact-y-socket-io.js.map +1 -1
  226. package/dist/realtime/session-artifact-yjs-store.d.ts +18 -32
  227. package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
  228. package/dist/realtime/session-artifact-yjs-store.js +135 -233
  229. package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
  230. package/dist/routes/sessions.d.ts.map +1 -1
  231. package/dist/routes/sessions.js +26 -6
  232. package/dist/routes/sessions.js.map +1 -1
  233. package/dist/routes/skills.d.ts +2 -0
  234. package/dist/routes/skills.d.ts.map +1 -0
  235. package/dist/routes/skills.js +140 -0
  236. package/dist/routes/skills.js.map +1 -0
  237. package/dist/server.d.ts.map +1 -1
  238. package/dist/server.js +2 -0
  239. package/dist/server.js.map +1 -1
  240. package/package.json +9 -9
  241. package/dist/agents/blocknote.agent.d.ts +0 -6
  242. package/dist/agents/blocknote.agent.d.ts.map +0 -1
  243. package/dist/agents/blocknote.agent.js +0 -18
  244. package/dist/agents/blocknote.agent.js.map +0 -1
  245. package/dist/agents/filingramp-fetch.agent.d.ts +0 -4
  246. package/dist/agents/filingramp-fetch.agent.d.ts.map +0 -1
  247. package/dist/agents/filingramp-fetch.agent.js +0 -195
  248. package/dist/agents/filingramp-fetch.agent.js.map +0 -1
  249. package/dist/agents/knowledge/filingramp-endpoints.d.ts +0 -23
  250. package/dist/agents/knowledge/filingramp-endpoints.d.ts.map +0 -1
  251. package/dist/agents/knowledge/filingramp-endpoints.js +0 -116
  252. package/dist/agents/knowledge/filingramp-endpoints.js.map +0 -1
  253. package/dist/agents/shared/blocknote-system-prompt.d.ts +0 -2
  254. package/dist/agents/shared/blocknote-system-prompt.d.ts.map +0 -1
  255. package/dist/agents/shared/blocknote-system-prompt.js +0 -40
  256. package/dist/agents/shared/blocknote-system-prompt.js.map +0 -1
  257. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts +0 -7
  258. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts.map +0 -1
  259. package/dist/agents/shared/get-latest-session-artifact.tool.js +0 -43
  260. package/dist/agents/shared/get-latest-session-artifact.tool.js.map +0 -1
  261. package/dist/agents/shared/get-session-artifact-content.tool.d.ts +0 -7
  262. package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +0 -1
  263. package/dist/agents/shared/get-session-artifact-content.tool.js +0 -44
  264. package/dist/agents/shared/get-session-artifact-content.tool.js.map +0 -1
  265. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +0 -5
  266. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +0 -1
  267. package/dist/agents/shared/list-session-artifact-paths.tool.js +0 -37
  268. package/dist/agents/shared/list-session-artifact-paths.tool.js.map +0 -1
  269. package/dist/lib/ai/agent-ai-service.d.ts +0 -3
  270. package/dist/lib/ai/agent-ai-service.d.ts.map +0 -1
  271. package/dist/lib/ai/agent-ai-service.js +0 -15
  272. package/dist/lib/ai/agent-ai-service.js.map +0 -1
  273. package/dist/lib/ai/ai-error-details.d.ts +0 -13
  274. package/dist/lib/ai/ai-error-details.d.ts.map +0 -1
  275. package/dist/lib/ai/ai-error-details.js +0 -84
  276. package/dist/lib/ai/ai-error-details.js.map +0 -1
  277. package/dist/lib/ai/generate-ai-text.d.ts +0 -12
  278. package/dist/lib/ai/generate-ai-text.d.ts.map +0 -1
  279. package/dist/lib/ai/generate-ai-text.js +0 -105
  280. package/dist/lib/ai/generate-ai-text.js.map +0 -1
  281. package/dist/lib/ai/run-explicit-agent.d.ts +0 -15
  282. package/dist/lib/ai/run-explicit-agent.d.ts.map +0 -1
  283. package/dist/lib/ai/run-explicit-agent.js +0 -30
  284. package/dist/lib/ai/run-explicit-agent.js.map +0 -1
  285. package/dist/lib/notebooks/notebook-sql-client.d.ts +0 -5
  286. package/dist/lib/notebooks/notebook-sql-client.d.ts.map +0 -1
  287. package/dist/lib/notebooks/notebook-sql-client.js +0 -37
  288. package/dist/lib/notebooks/notebook-sql-client.js.map +0 -1
  289. package/dist/lib/notebooks/notebook-sql-schema.d.ts +0 -16
  290. package/dist/lib/notebooks/notebook-sql-schema.d.ts.map +0 -1
  291. package/dist/lib/notebooks/notebook-sql-schema.js +0 -117
  292. package/dist/lib/notebooks/notebook-sql-schema.js.map +0 -1
  293. package/dist/lib/notebooks/notebook-sql.d.ts +0 -9
  294. package/dist/lib/notebooks/notebook-sql.d.ts.map +0 -1
  295. package/dist/lib/notebooks/notebook-sql.js +0 -36
  296. package/dist/lib/notebooks/notebook-sql.js.map +0 -1
  297. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +0 -3
  298. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +0 -1
  299. package/dist/lib/session-artifacts/apply-hashline-edits.js +0 -25
  300. package/dist/lib/session-artifacts/apply-hashline-edits.js.map +0 -1
  301. package/dist/lib/session-artifacts/artifact-text-edit.d.ts +0 -8
  302. package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +0 -1
  303. package/dist/lib/session-artifacts/artifact-text-edit.js +0 -23
  304. package/dist/lib/session-artifacts/artifact-text-edit.js.map +0 -1
  305. package/dist/lib/session-artifacts/hashline-tag.d.ts +0 -33
  306. package/dist/lib/session-artifacts/hashline-tag.d.ts.map +0 -1
  307. package/dist/lib/session-artifacts/hashline-tag.js +0 -80
  308. package/dist/lib/session-artifacts/hashline-tag.js.map +0 -1
  309. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +0 -3
  310. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +0 -1
  311. package/dist/lib/session-pages/inject-preview-error-reporter.js +0 -30
  312. package/dist/lib/session-pages/inject-preview-error-reporter.js.map +0 -1
  313. package/dist/lib/session-pages/read-session-artifact.d.ts +0 -7
  314. package/dist/lib/session-pages/read-session-artifact.d.ts.map +0 -1
  315. package/dist/lib/session-pages/read-session-artifact.js +0 -60
  316. package/dist/lib/session-pages/read-session-artifact.js.map +0 -1
  317. package/dist/lib/session-pages/session-pico-css.d.ts +0 -5
  318. package/dist/lib/session-pages/session-pico-css.d.ts.map +0 -1
  319. package/dist/lib/session-pages/session-pico-css.js +0 -11
  320. package/dist/lib/session-pages/session-pico-css.js.map +0 -1
  321. package/dist/realtime/realtime-auth.d.ts +0 -12
  322. package/dist/realtime/realtime-auth.d.ts.map +0 -1
  323. package/dist/realtime/realtime-auth.js +0 -25
  324. package/dist/realtime/realtime-auth.js.map +0 -1
  325. package/dist/realtime/yjs-account-namespace.d.ts +0 -5
  326. package/dist/realtime/yjs-account-namespace.d.ts.map +0 -1
  327. package/dist/realtime/yjs-account-namespace.js +0 -21
  328. package/dist/realtime/yjs-account-namespace.js.map +0 -1
  329. package/dist/routes/notebooks/sql-execute.d.ts +0 -3
  330. package/dist/routes/notebooks/sql-execute.d.ts.map +0 -1
  331. package/dist/routes/notebooks/sql-execute.js +0 -45
  332. package/dist/routes/notebooks/sql-execute.js.map +0 -1
  333. package/dist/routes/sql.d.ts +0 -2
  334. package/dist/routes/sql.d.ts.map +0 -1
  335. package/dist/routes/sql.js +0 -50
  336. package/dist/routes/sql.js.map +0 -1
@@ -1,26 +1,52 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
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
+ })();
5
35
  Object.defineProperty(exports, "__esModule", { value: true });
6
36
  exports.deleteAllSessionArtifacts = deleteAllSessionArtifacts;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
37
  const session_artifact_yjs_store_1 = require("../../realtime/session-artifact-yjs-store");
38
+ const context_1 = require("../../context");
39
+ const list_library_items_1 = require("../library/list-library-items");
40
+ const s3 = __importStar(require("../object-storage/s3-object-store"));
41
+ const keys_1 = require("../object-storage/keys");
42
+ const resolve_session_account_id_1 = require("./resolve-session-account-id");
10
43
  const list_session_artifacts_1 = require("./list-session-artifacts");
11
44
  const paths_1 = require("./paths");
12
- /**
13
- * Remove every artifact of a session: evicts the Yjs documents from memory and
14
- * deletes the whole session directory (content, latest state, snapshots).
15
- * Used when a session/chat is deleted so test and abandoned sessions leave no
16
- * garbage on disk. Safe to call for sessions without artifacts.
17
- */
18
45
  async function deleteAllSessionArtifacts(sessionId) {
19
46
  const store = (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)();
20
47
  let removed = [];
21
48
  try {
22
- const artifacts = await (0, list_session_artifacts_1.listSessionArtifacts)(sessionId);
23
- removed = artifacts.map((artifact) => (0, paths_1.normalizeArtifactPath)(artifact.path));
49
+ removed = (await (0, list_session_artifacts_1.listSessionArtifacts)(sessionId)).map((artifact) => (0, paths_1.normalizeArtifactPath)(artifact.path));
24
50
  }
25
51
  catch (_a) {
26
52
  removed = [];
@@ -28,8 +54,18 @@ async function deleteAllSessionArtifacts(sessionId) {
28
54
  for (const artifactPath of removed) {
29
55
  store.evictDocument(sessionId, artifactPath);
30
56
  }
31
- const sessionRoot = node_path_1.default.resolve((0, paths_1.getSessionDir)(sessionId));
32
- await promises_1.default.rm(sessionRoot, { recursive: true, force: true });
57
+ try {
58
+ const accountId = await (0, resolve_session_account_id_1.resolveSessionAccountId)(sessionId);
59
+ await (0, context_1.getYjsPendingUpdatesRepository)().deleteByDocumentIdPrefix(`session:${sessionId}:`);
60
+ await s3.deleteByPrefix((0, keys_1.sessionArtifactsPrefix)(accountId, sessionId));
61
+ }
62
+ catch (_b) {
63
+ await (0, context_1.getYjsPendingUpdatesRepository)()
64
+ .deleteByDocumentIdPrefix(`session:${sessionId}:`)
65
+ .catch(() => undefined);
66
+ }
67
+ (0, resolve_session_account_id_1.clearSessionAccountIdCache)(sessionId);
68
+ await (0, list_library_items_1.clearChatHasArtifacts)(sessionId);
33
69
  return { removed };
34
70
  }
35
71
  //# sourceMappingURL=delete-session-artifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/delete-session-artifacts.ts"],"names":[],"mappings":";;;;;AAgBA,8DAmBC;AAnCD,gEAAiC;AACjC,0DAA4B;AAC5B,0FAAsF;AACtF,qEAA+D;AAC/D,mCAA8D;AAM9D;;;;;GAKG;AACI,KAAK,UAAU,yBAAyB,CAAC,SAAiB;IAC/D,MAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAE1C,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,6CAAoB,EAAC,SAAS,CAAC,CAAA;QACvD,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,OAAO,EAAE,CAAC;QACnC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC,CAAA;IAC1D,MAAM,kBAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"delete-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/delete-session-artifacts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,8DA+BC;AA5CD,0FAAsF;AACtF,2CAA8D;AAC9D,sEAAqE;AACrE,sEAAuD;AACvD,iDAA+D;AAC/D,6EAAkG;AAClG,qEAA+D;AAC/D,mCAA+C;AAMxC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAA;IAE1C,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,IAAA,6CAAoB,EAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjE,IAAA,6BAAqB,EAAC,QAAQ,CAAC,IAAI,CAAC,CACrC,CAAA;IACH,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,GAAG,EAAE,CAAA;IACd,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,OAAO,EAAE,CAAC;QACnC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,oDAAuB,EAAC,SAAS,CAAC,CAAA;QAC1D,MAAM,IAAA,wCAA8B,GAAE,CAAC,wBAAwB,CAAC,WAAW,SAAS,GAAG,CAAC,CAAA;QACxF,MAAM,EAAE,CAAC,cAAc,CAAC,IAAA,6BAAsB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IACvE,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAA,wCAA8B,GAAE;aACnC,wBAAwB,CAAC,WAAW,SAAS,GAAG,CAAC;aACjD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,IAAA,uDAA0B,EAAC,SAAS,CAAC,CAAA;IACrC,MAAM,IAAA,0CAAqB,EAAC,SAAS,CAAC,CAAA;IACtC,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
@@ -3,7 +3,23 @@ export interface WrapHtmlFragmentOptions {
3
3
  lang?: string;
4
4
  }
5
5
  export declare function isHtmlFragment(content: string): boolean;
6
+ /**
7
+ * Repair missing webfont loading. Models often set font-family without the
8
+ * matching <link> (or forget both) — rejecting that caused endless revise loops.
9
+ * Prefer families already named in CSS; otherwise a non-Inter default pairing.
10
+ */
11
+ export declare function ensureWebFontHeadExtras(html: string): string[];
6
12
  export declare function wrapHtmlFragment(fragment: string, options?: WrapHtmlFragmentOptions): string;
13
+ /**
14
+ * Strip emoji-as-icons from markup. Models keep inserting 🚀/✨ then looping on
15
+ * the emoji-icons audit — repair beats reject.
16
+ */
17
+ export declare function stripEmojiIcons(html: string): string;
18
+ /**
19
+ * Neutralize the most common "AI template" phrases that otherwise fail the
20
+ * template-copy audit and trigger revise loops.
21
+ */
22
+ export declare function stripTemplateCopyPhrases(html: string): string;
7
23
  export declare function prepareHtmlArtifactContent(content: string, options?: {
8
24
  fragment?: boolean;
9
25
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"html-artifact-template.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/html-artifact-template.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAoBhG;AAUD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,MAAM,CAOR"}
1
+ {"version":3,"file":"html-artifact-template.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/html-artifact-template.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAsCD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAc9D;AAuCD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAwBhG;AAsBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,MAAM,CASR"}
@@ -1,30 +1,151 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isHtmlFragment = isHtmlFragment;
4
+ exports.ensureWebFontHeadExtras = ensureWebFontHeadExtras;
4
5
  exports.wrapHtmlFragment = wrapHtmlFragment;
6
+ exports.stripEmojiIcons = stripEmojiIcons;
7
+ exports.stripTemplateCopyPhrases = stripTemplateCopyPhrases;
5
8
  exports.prepareHtmlArtifactContent = prepareHtmlArtifactContent;
6
- const PICO_CSS_URL = 'https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css';
9
+ const TAILWIND_CDN_URL = 'https://cdn.tailwindcss.com?plugins=forms,typography';
7
10
  const FULL_HTML_DOCUMENT_PATTERN = /<!DOCTYPE\s+html|<html[\s>]/i;
11
+ /** Fallback pairing when the model forgot fonts — never Inter. */
12
+ const DEFAULT_FONT_FAMILIES = ['Manrope', 'Source Sans 3'];
13
+ const GENERIC_FONT_TOKENS = new Set([
14
+ 'serif',
15
+ 'sans-serif',
16
+ 'monospace',
17
+ 'cursive',
18
+ 'fantasy',
19
+ 'system-ui',
20
+ 'ui-sans-serif',
21
+ 'ui-serif',
22
+ 'ui-monospace',
23
+ 'ui-rounded',
24
+ 'emoji',
25
+ 'math',
26
+ 'fangsong',
27
+ 'inherit',
28
+ 'initial',
29
+ 'unset',
30
+ 'revert',
31
+ 'arial',
32
+ 'helvetica',
33
+ 'times',
34
+ 'georgia',
35
+ 'verdana',
36
+ 'tahoma',
37
+ ]);
38
+ const OWN_MAIN_PATTERN = /<main[\s>]/i;
8
39
  function isHtmlFragment(content) {
9
40
  return !FULL_HTML_DOCUMENT_PATTERN.test(content.trim());
10
41
  }
42
+ /** Derive a document title from the fragment's first heading — a missing
43
+ * `title` field is deterministically fixable, never worth a rejection loop. */
44
+ function deriveTitle(fragment) {
45
+ var _a;
46
+ const heading = (_a = fragment.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i)) === null || _a === void 0 ? void 0 : _a[1];
47
+ if (!heading)
48
+ return undefined;
49
+ const text = heading.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim();
50
+ return text ? text.slice(0, 80) : undefined;
51
+ }
52
+ function extractNamedFontFamilies(html) {
53
+ const families = [];
54
+ for (const match of html.matchAll(/font-family\s*:\s*([^;}{]+)/gi)) {
55
+ for (const part of match[1].split(',')) {
56
+ const name = part.replace(/["']/g, '').trim();
57
+ if (!name || GENERIC_FONT_TOKENS.has(name.toLowerCase()))
58
+ continue;
59
+ if (/^inter$/i.test(name))
60
+ continue;
61
+ if (!families.some((family) => family.toLowerCase() === name.toLowerCase())) {
62
+ families.push(name);
63
+ }
64
+ }
65
+ }
66
+ return families;
67
+ }
68
+ function hasWebFontLink(html) {
69
+ return /fonts\.googleapis\.com|fonts\.gstatic\.com|fonts\.bunny\.net/i.test(html);
70
+ }
71
+ function googleFontsStylesheetLink(families) {
72
+ const params = families
73
+ .slice(0, 3)
74
+ .map((family) => `family=${encodeURIComponent(family).replace(/%20/g, '+')}:wght@400;600;700;800`)
75
+ .join('&');
76
+ return `<link href="https://fonts.googleapis.com/css2?${params}&display=swap" rel="stylesheet">`;
77
+ }
78
+ /**
79
+ * Repair missing webfont loading. Models often set font-family without the
80
+ * matching <link> (or forget both) — rejecting that caused endless revise loops.
81
+ * Prefer families already named in CSS; otherwise a non-Inter default pairing.
82
+ */
83
+ function ensureWebFontHeadExtras(html) {
84
+ if (hasWebFontLink(html)) {
85
+ return [];
86
+ }
87
+ const named = extractNamedFontFamilies(html);
88
+ const families = named.length > 0 ? named : [...DEFAULT_FONT_FAMILIES];
89
+ const extras = [googleFontsStylesheetLink(families)];
90
+ if (named.length === 0 && !/font-family\s*:/i.test(html)) {
91
+ extras.push(`<style>body { font-family: '${DEFAULT_FONT_FAMILIES[0]}', '${DEFAULT_FONT_FAMILIES[1]}', sans-serif; }</style>`);
92
+ }
93
+ return extras;
94
+ }
95
+ /**
96
+ * Server-side completion: deterministically repair/complete everything
97
+ * rule-shaped so a first-pass model output plus this step equals a finished
98
+ * file — repair beats reject wherever repair is unambiguous.
99
+ */
100
+ function completeFragment(fragment) {
101
+ var _a, _b, _c, _d;
102
+ let body = fragment.trim();
103
+ const headExtras = [];
104
+ // Auto-close dangling <style>/<script> — unclosed tags swallow the rest of
105
+ // the document and were a repeat model failure.
106
+ const openStyles = ((_a = body.match(/<style[^>]*>/gi)) !== null && _a !== void 0 ? _a : []).length;
107
+ const closeStyles = ((_b = body.match(/<\/style>/gi)) !== null && _b !== void 0 ? _b : []).length;
108
+ if (openStyles > closeStyles)
109
+ body += '\n</style>'.repeat(openStyles - closeStyles);
110
+ const openScripts = ((_c = body.match(/<script[^>]*>/gi)) !== null && _c !== void 0 ? _c : []).length;
111
+ const closeScripts = ((_d = body.match(/<\/script>/gi)) !== null && _d !== void 0 ? _d : []).length;
112
+ if (openScripts > closeScripts)
113
+ body += '\n</script>'.repeat(openScripts - closeScripts);
114
+ headExtras.push(...ensureWebFontHeadExtras(body));
115
+ // Page-level background matching the page's own scheme, so gutters and
116
+ // overscroll never flash the wrong color. Dark when the first colored
117
+ // surface is a dark shade; model overrides win (body{background} in style).
118
+ const stylesBodyBg = /body\s*{[^}]*background/i.test(body);
119
+ if (!stylesBodyBg) {
120
+ const firstBg = body.match(/class="[^"]*\bbg-(?:slate|gray|zinc|neutral|stone)-(\d{3})\b/);
121
+ const dark = firstBg ? Number.parseInt(firstBg[1], 10) >= 800 : false;
122
+ headExtras.push(dark
123
+ ? '<style>body { background: #020617; } :root { color-scheme: dark; }</style>'
124
+ : '<style>body { background: #f8fafc; }</style>');
125
+ }
126
+ return { body, headExtras };
127
+ }
11
128
  function wrapHtmlFragment(fragment, options = {}) {
12
129
  var _a, _b;
13
130
  const lang = (_a = options.lang) !== null && _a !== void 0 ? _a : 'en';
14
- const title = ((_b = options.title) === null || _b === void 0 ? void 0 : _b.trim()) || 'Page';
15
- const body = fragment.trim();
131
+ const { body: completed, headExtras } = completeFragment(fragment);
132
+ const title = ((_b = options.title) === null || _b === void 0 ? void 0 : _b.trim()) || deriveTitle(completed) || 'Page';
133
+ // Bare <main> only — a constrained container here would clip full-bleed
134
+ // section backgrounds to the column and leave body-colored gutters.
135
+ const bodyContent = OWN_MAIN_PATTERN.test(completed) ? completed : ` <main>\n${completed}\n </main>`;
136
+ const extras = headExtras.length > 0 ? `\n ${headExtras.join('\n ')}` : '';
16
137
  return `<!DOCTYPE html>
17
138
  <html lang="${lang}">
18
139
  <head>
19
140
  <meta charset="utf-8">
20
141
  <meta name="viewport" content="width=device-width, initial-scale=1">
21
- <link rel="stylesheet" href="${PICO_CSS_URL}">
142
+ <meta name="color-scheme" content="light">
143
+ <script src="${TAILWIND_CDN_URL}"></script>
144
+ <script>tailwind.config = { darkMode: 'class' }</script>${extras}
22
145
  <title>${escapeHtml(title)}</title>
23
146
  </head>
24
147
  <body>
25
- <main class="container">
26
- ${body}
27
- </main>
148
+ ${bodyContent}
28
149
  </body>
29
150
  </html>
30
151
  `;
@@ -36,11 +157,46 @@ function escapeHtml(value) {
36
157
  .replace(/>/g, '&gt;')
37
158
  .replace(/"/g, '&quot;');
38
159
  }
160
+ /** Inject webfont <link> (+ body font-family if needed) into a full document. */
161
+ function ensureWebFontsInFullDocument(html) {
162
+ const extras = ensureWebFontHeadExtras(html);
163
+ if (extras.length === 0)
164
+ return html;
165
+ if (/<\/head>/i.test(html)) {
166
+ return html.replace(/<\/head>/i, ` ${extras.join('\n ')}\n</head>`);
167
+ }
168
+ return `${extras.join('\n')}\n${html}`;
169
+ }
170
+ const ALLOWED_SYMBOL_CHARS = new Set(['©', '®', '™', '°', '†', '‡', '§', '¶']);
171
+ /**
172
+ * Strip emoji-as-icons from markup. Models keep inserting 🚀/✨ then looping on
173
+ * the emoji-icons audit — repair beats reject.
174
+ */
175
+ function stripEmojiIcons(html) {
176
+ return html
177
+ .replace(/\p{Extended_Pictographic}/gu, (char) => (ALLOWED_SYMBOL_CHARS.has(char) ? char : ''))
178
+ .replace(/[ \t]+\n/g, '\n')
179
+ .replace(/\n{3,}/g, '\n\n');
180
+ }
181
+ /**
182
+ * Neutralize the most common "AI template" phrases that otherwise fail the
183
+ * template-copy audit and trigger revise loops.
184
+ */
185
+ function stripTemplateCopyPhrases(html) {
186
+ return html
187
+ .replace(/\bWelcome\s+to\s+(?:our|the)\s+/gi, '')
188
+ .replace(/\brevolutionary\b/gi, 'practical')
189
+ .replace(/\bseamless(?:ly)?\b/gi, 'straightforward')
190
+ .replace(/\bcutting-edge\b/gi, 'modern')
191
+ .replace(/\bunleash(?:ing|es|ed)?\b/gi, 'open')
192
+ .replace(/\bempower(?:ing|s|ed)?\b/gi, 'support');
193
+ }
39
194
  function prepareHtmlArtifactContent(content, options = {}) {
40
- const useFragment = options.fragment === true || (options.fragment !== false && isHtmlFragment(content));
195
+ const cleaned = stripTemplateCopyPhrases(stripEmojiIcons(content));
196
+ const useFragment = options.fragment === true || (options.fragment !== false && isHtmlFragment(cleaned));
41
197
  if (!useFragment) {
42
- return content;
198
+ return ensureWebFontsInFullDocument(cleaned);
43
199
  }
44
- return wrapHtmlFragment(content, { title: options.title, lang: options.lang });
200
+ return wrapHtmlFragment(cleaned, { title: options.title, lang: options.lang });
45
201
  }
46
202
  //# sourceMappingURL=html-artifact-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-artifact-template.js","sourceRoot":"","sources":["../../../src/lib/session-pages/html-artifact-template.ts"],"names":[],"mappings":";;AASA,wCAEC;AAED,4CAoBC;AAUD,gEAUC;AArDD,MAAM,YAAY,GAAG,+DAA+D,CAAA;AAEpF,MAAM,0BAA0B,GAAG,8BAA8B,CAAA;AAOjE,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,UAAmC,EAAE;;IACtF,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAA;IACjC,MAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,EAAE,KAAI,MAAM,CAAA;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE5B,OAAO;cACK,IAAI;;;;iCAIe,YAAY;WAClC,UAAU,CAAC,KAAK,CAAC;;;;EAI1B,IAAI;;;;CAIL,CAAA;AACD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAED,SAAgB,0BAA0B,CACxC,OAAe,EACf,UAAiE,EAAE;IAEnE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IACxG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;AAChF,CAAC"}
1
+ {"version":3,"file":"html-artifact-template.js","sourceRoot":"","sources":["../../../src/lib/session-pages/html-artifact-template.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export { listSessionArtifacts, type SessionArtifactEntry } from './list-session-
3
3
  export { readSessionArtifacts, sessionArtifactExists, type ReadSessionArtifactResult, } from './read-session-artifacts';
4
4
  export { deleteSessionArtifact, type DeleteSessionArtifactResult, } from './delete-session-artifact';
5
5
  export { resolveArtifactNotifyUserIds } from './resolve-artifact-notify-user-ids';
6
+ export { auditHtmlArtifact, type QualityAuditResult, type QualityFinding, } from './artifact-quality-audit';
7
+ export { auditSessionHtmlArtifacts, sessionQualityToAdvisoryLines, type SessionQualityIssue, type SessionQualityReport, } from './audit-session-html';
8
+ export { DEFERRED_QUALITY_RULES, isDeferredQualityRule } from './deferred-quality-rules';
6
9
  export { deleteAllSessionArtifacts, type DeleteAllSessionArtifactsResult, } from './delete-session-artifacts';
7
10
  export { writeSessionArtifacts, type SessionArtifactFile, type WriteSessionArtifactsInput, type WriteSessionArtifactsResult, } from './write-session-artifacts';
11
+ export { prepareHtmlArtifactContent } from './html-artifact-template';
8
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EACL,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACxF,OAAO,EACL,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeSessionArtifacts = exports.deleteAllSessionArtifacts = exports.resolveArtifactNotifyUserIds = exports.deleteSessionArtifact = exports.sessionArtifactExists = exports.readSessionArtifacts = exports.listSessionArtifacts = exports.resolveArtifactPath = exports.normalizeArtifactPath = exports.getSessionsRoot = exports.getSessionDir = void 0;
3
+ exports.prepareHtmlArtifactContent = exports.writeSessionArtifacts = exports.deleteAllSessionArtifacts = exports.isDeferredQualityRule = exports.DEFERRED_QUALITY_RULES = exports.sessionQualityToAdvisoryLines = exports.auditSessionHtmlArtifacts = exports.auditHtmlArtifact = exports.resolveArtifactNotifyUserIds = exports.deleteSessionArtifact = exports.sessionArtifactExists = exports.readSessionArtifacts = exports.listSessionArtifacts = exports.resolveArtifactPath = exports.normalizeArtifactPath = exports.getSessionsRoot = exports.getSessionDir = void 0;
4
4
  var paths_1 = require("./paths");
5
5
  Object.defineProperty(exports, "getSessionDir", { enumerable: true, get: function () { return paths_1.getSessionDir; } });
6
6
  Object.defineProperty(exports, "getSessionsRoot", { enumerable: true, get: function () { return paths_1.getSessionsRoot; } });
@@ -15,8 +15,18 @@ var delete_session_artifact_1 = require("./delete-session-artifact");
15
15
  Object.defineProperty(exports, "deleteSessionArtifact", { enumerable: true, get: function () { return delete_session_artifact_1.deleteSessionArtifact; } });
16
16
  var resolve_artifact_notify_user_ids_1 = require("./resolve-artifact-notify-user-ids");
17
17
  Object.defineProperty(exports, "resolveArtifactNotifyUserIds", { enumerable: true, get: function () { return resolve_artifact_notify_user_ids_1.resolveArtifactNotifyUserIds; } });
18
+ var artifact_quality_audit_1 = require("./artifact-quality-audit");
19
+ Object.defineProperty(exports, "auditHtmlArtifact", { enumerable: true, get: function () { return artifact_quality_audit_1.auditHtmlArtifact; } });
20
+ var audit_session_html_1 = require("./audit-session-html");
21
+ Object.defineProperty(exports, "auditSessionHtmlArtifacts", { enumerable: true, get: function () { return audit_session_html_1.auditSessionHtmlArtifacts; } });
22
+ Object.defineProperty(exports, "sessionQualityToAdvisoryLines", { enumerable: true, get: function () { return audit_session_html_1.sessionQualityToAdvisoryLines; } });
23
+ var deferred_quality_rules_1 = require("./deferred-quality-rules");
24
+ Object.defineProperty(exports, "DEFERRED_QUALITY_RULES", { enumerable: true, get: function () { return deferred_quality_rules_1.DEFERRED_QUALITY_RULES; } });
25
+ Object.defineProperty(exports, "isDeferredQualityRule", { enumerable: true, get: function () { return deferred_quality_rules_1.isDeferredQualityRule; } });
18
26
  var delete_session_artifacts_1 = require("./delete-session-artifacts");
19
27
  Object.defineProperty(exports, "deleteAllSessionArtifacts", { enumerable: true, get: function () { return delete_session_artifacts_1.deleteAllSessionArtifacts; } });
20
28
  var write_session_artifacts_1 = require("./write-session-artifacts");
21
29
  Object.defineProperty(exports, "writeSessionArtifacts", { enumerable: true, get: function () { return write_session_artifacts_1.writeSessionArtifacts; } });
30
+ var html_artifact_template_1 = require("./html-artifact-template");
31
+ Object.defineProperty(exports, "prepareHtmlArtifactContent", { enumerable: true, get: function () { return html_artifact_template_1.prepareHtmlArtifactContent; } });
22
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/session-pages/index.ts"],"names":[],"mappings":";;;AAAA,iCAKgB;AAJd,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AAErB,mEAA0F;AAAjF,8HAAA,oBAAoB,OAAA;AAC7B,mEAIiC;AAH/B,8HAAA,oBAAoB,OAAA;AACpB,+HAAA,qBAAqB,OAAA;AAGvB,qEAGkC;AAFhC,gIAAA,qBAAqB,OAAA;AAGvB,uFAAiF;AAAxE,gJAAA,4BAA4B,OAAA;AACrC,uEAGmC;AAFjC,qIAAA,yBAAyB,OAAA;AAG3B,qEAKkC;AAJhC,gIAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/session-pages/index.ts"],"names":[],"mappings":";;;AAAA,iCAKgB;AAJd,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AAErB,mEAA0F;AAAjF,8HAAA,oBAAoB,OAAA;AAC7B,mEAIiC;AAH/B,8HAAA,oBAAoB,OAAA;AACpB,+HAAA,qBAAqB,OAAA;AAGvB,qEAGkC;AAFhC,gIAAA,qBAAqB,OAAA;AAGvB,uFAAiF;AAAxE,gJAAA,4BAA4B,OAAA;AACrC,mEAIiC;AAH/B,2HAAA,iBAAiB,OAAA;AAInB,2DAK6B;AAJ3B,+HAAA,yBAAyB,OAAA;AACzB,mIAAA,6BAA6B,OAAA;AAI/B,mEAAwF;AAA/E,gIAAA,sBAAsB,OAAA;AAAE,+HAAA,qBAAqB,OAAA;AACtD,uEAGmC;AAFjC,qIAAA,yBAAyB,OAAA;AAG3B,qEAKkC;AAJhC,gIAAA,qBAAqB,OAAA;AAKvB,mEAAqE;AAA5D,oIAAA,0BAA0B,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-session-artifacts.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/list-session-artifacts.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAqCD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAY7F"}
1
+ {"version":3,"file":"list-session-artifacts.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/list-session-artifacts.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAiB7F"}
@@ -1,56 +1,56 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
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
+ })();
5
35
  Object.defineProperty(exports, "__esModule", { value: true });
6
36
  exports.listSessionArtifacts = listSessionArtifacts;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const artifact_storage_paths_1 = require("./artifact-storage-paths");
10
- const paths_1 = require("./paths");
11
- async function walk(dir, root, out) {
12
- let entries;
13
- try {
14
- entries = await promises_1.default.readdir(dir, { withFileTypes: true });
15
- }
16
- catch (error) {
17
- if (error.code === 'ENOENT')
18
- return;
19
- throw error;
20
- }
21
- for (const entry of entries) {
22
- const absolute = node_path_1.default.join(dir, entry.name);
23
- if (entry.isDirectory()) {
24
- await walk(absolute, root, out);
25
- continue;
26
- }
27
- if (!entry.isFile())
28
- continue;
29
- const relative = node_path_1.default.relative(root, absolute).split(node_path_1.default.sep).join('/');
30
- const stat = await promises_1.default.stat(absolute);
31
- if ((0, artifact_storage_paths_1.isArtifactStorageSidecar)(relative)) {
32
- if ((0, artifact_storage_paths_1.artifactPathFromLatestStatePath)(relative)) {
33
- const base = (0, artifact_storage_paths_1.artifactPathFromLatestStatePath)(relative);
34
- if (!out.has(base)) {
35
- out.set(base, 0);
36
- }
37
- }
38
- continue;
39
- }
40
- const normalized = (0, paths_1.normalizeArtifactPath)(relative);
41
- out.set(normalized, stat.size);
42
- }
43
- }
37
+ const keys_1 = require("../object-storage/keys");
38
+ const s3 = __importStar(require("../object-storage/s3-object-store"));
39
+ const resolve_session_account_id_1 = require("./resolve-session-account-id");
44
40
  async function listSessionArtifacts(sessionId) {
45
- var _a;
46
- const root = (0, paths_1.getSessionDir)(sessionId);
41
+ const accountId = await (0, resolve_session_account_id_1.resolveSessionAccountId)(sessionId);
42
+ const prefix = (0, keys_1.sessionArtifactsPrefix)(accountId, sessionId);
43
+ const objects = await s3.listKeysByPrefix(prefix);
47
44
  const byPath = new Map();
48
- await walk(root, root, byPath);
49
- const files = [];
50
- for (const [artifactPath, bytes] of byPath) {
51
- const contentBytes = (_a = byPath.get(artifactPath)) !== null && _a !== void 0 ? _a : bytes;
52
- files.push({ path: artifactPath, bytes: contentBytes });
45
+ for (const { key, size } of objects) {
46
+ if (!(0, keys_1.isSessionArtifactUserFacingKey)(prefix, key)) {
47
+ continue;
48
+ }
49
+ const relative = (0, keys_1.relativeSessionArtifactPath)(prefix, key);
50
+ byPath.set(relative, size);
53
51
  }
54
- return files.sort((a, b) => a.path.localeCompare(b.path));
52
+ return [...byPath.entries()]
53
+ .map(([artifactPath, bytes]) => ({ path: artifactPath, bytes }))
54
+ .sort((a, b) => a.path.localeCompare(b.path));
55
55
  }
56
56
  //# sourceMappingURL=list-session-artifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/list-session-artifacts.ts"],"names":[],"mappings":";;;;;AAgDA,oDAYC;AA5DD,gEAAiC;AACjC,0DAA4B;AAC5B,qEAGiC;AACjC,mCAA8D;AAO9D,KAAK,UAAU,IAAI,CAAC,GAAW,EAAE,IAAY,EAAE,GAAwB;IACrE,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAM;QAC9D,MAAM,KAAK,CAAA;IACb,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAQ;QAE7B,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpC,IAAI,IAAA,iDAAwB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,IAAA,wDAA+B,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAA,wDAA+B,EAAC,QAAQ,CAAE,CAAA;gBACvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YACD,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,6BAAqB,EAAC,QAAQ,CAAC,CAAA;QAClD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,SAAiB;;IAC1D,MAAM,IAAI,GAAG,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAE9B,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,KAAK,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"list-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/list-session-artifacts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oDAiBC;AA9BD,iDAI+B;AAC/B,sEAAuD;AACvD,6EAAsE;AAO/D,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,SAAS,GAAG,MAAM,IAAA,oDAAuB,EAAC,SAAS,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,IAAA,6BAAsB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IAExC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,IAAA,qCAA8B,EAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACjD,SAAQ;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,kCAA2B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;SAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-session-artifacts.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifacts.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBrG;AAMD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA2BtC"}
1
+ {"version":3,"file":"read-session-artifacts.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifacts.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAErG;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAyBtC"}
@@ -1,33 +1,12 @@
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.sessionArtifactExists = sessionArtifactExists;
7
4
  exports.readSessionArtifacts = readSessionArtifacts;
8
5
  const session_artifact_yjs_store_1 = require("../../realtime/session-artifact-yjs-store");
9
- const artifact_storage_paths_1 = require("./artifact-storage-paths");
6
+ const artifact_storage_1 = require("./artifact-storage");
10
7
  const paths_1 = require("./paths");
11
- const promises_1 = __importDefault(require("node:fs/promises"));
12
8
  async function sessionArtifactExists(sessionId, artifactPath) {
13
- const normalized = (0, paths_1.normalizeArtifactPath)(artifactPath);
14
- const candidates = [
15
- (0, paths_1.resolveArtifactPath)(sessionId, normalized),
16
- (0, paths_1.resolveArtifactPath)(sessionId, (0, artifact_storage_paths_1.artifactLatestStatePath)(normalized)),
17
- ];
18
- const found = await Promise.all(candidates.map(async (absolutePath) => {
19
- try {
20
- await promises_1.default.access(absolutePath);
21
- return true;
22
- }
23
- catch (_a) {
24
- return false;
25
- }
26
- }));
27
- return found.some(Boolean);
28
- }
29
- async function readArtifactText(sessionId, artifactPath) {
30
- return (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)().getLatestText(sessionId, artifactPath);
9
+ return (0, artifact_storage_1.sessionArtifactExistsOnStorage)(sessionId, (0, paths_1.normalizeArtifactPath)(artifactPath));
31
10
  }
32
11
  async function readSessionArtifacts(sessionId, paths) {
33
12
  const results = [];
@@ -42,12 +21,11 @@ async function readSessionArtifacts(sessionId, paths) {
42
21
  });
43
22
  continue;
44
23
  }
45
- const content = await readArtifactText(sessionId, artifactPath);
46
- const bytes = Buffer.byteLength(content, 'utf8');
24
+ const content = await (0, session_artifact_yjs_store_1.getSessionArtifactYjsStore)().getLatestText(sessionId, artifactPath);
47
25
  results.push({
48
26
  path: artifactPath,
49
27
  found: true,
50
- bytes,
28
+ bytes: Buffer.byteLength(content, 'utf8'),
51
29
  content,
52
30
  });
53
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifacts.ts"],"names":[],"mappings":";;;;;AAYA,sDAiBC;AAMD,oDA8BC;AAjED,0FAAsF;AACtF,qEAAkE;AAClE,mCAAoE;AACpE,gEAAiC;AAS1B,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,YAAoB;IACjF,MAAM,UAAU,GAAG,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG;QACjB,IAAA,2BAAmB,EAAC,SAAS,EAAE,UAAU,CAAC;QAC1C,IAAA,2BAAmB,EAAC,SAAS,EAAE,IAAA,gDAAuB,EAAC,UAAU,CAAC,CAAC;KACpE,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,YAAoB;IACrE,OAAO,IAAA,uDAA0B,GAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AAC5E,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,KAAe;IAEf,MAAM,OAAO,GAAgC,EAAE,CAAA;IAE/C,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,EAAE;aACZ,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE/D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI;YACX,KAAK;YACL,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"read-session-artifacts.js","sourceRoot":"","sources":["../../../src/lib/session-pages/read-session-artifacts.ts"],"names":[],"mappings":";;AAWA,sDAEC;AAED,oDA4BC;AA3CD,0FAAsF;AACtF,yDAAmE;AACnE,mCAA+C;AASxC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,YAAoB;IACjF,OAAO,IAAA,iDAA8B,EAAC,SAAS,EAAE,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAC,CAAA;AACvF,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,KAAe;IAEf,MAAM,OAAO,GAAgC,EAAE,CAAA;IAE/C,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,EAAE;aACZ,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,uDAA0B,GAAE,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACzF,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;YACzC,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function clearSessionAccountIdCache(sessionId?: string): void;
2
+ export declare function resolveSessionAccountId(sessionId: string): Promise<string>;
3
+ //# sourceMappingURL=resolve-session-account-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-session-account-id.d.ts","sourceRoot":"","sources":["../../../src/lib/session-pages/resolve-session-account-id.ts"],"names":[],"mappings":"AAIA,wBAAgB,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAMnE;AAED,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBhF"}