@adminiumjs/adminium 0.1.0-rc.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 (875) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +94 -0
  3. package/dashboard/assets/DeltaPill-dxlsGh-1.js +2 -0
  4. package/dashboard/assets/DeltaPill-dxlsGh-1.js.map +1 -0
  5. package/dashboard/assets/DistributionCorrelationWidgets-ztVy_W_R.js +2 -0
  6. package/dashboard/assets/DistributionCorrelationWidgets-ztVy_W_R.js.map +1 -0
  7. package/dashboard/assets/PartWholeWidgets-BDn0i0jt.js +2 -0
  8. package/dashboard/assets/PartWholeWidgets-BDn0i0jt.js.map +1 -0
  9. package/dashboard/assets/RemapEditor-z3vRY12e.js +2 -0
  10. package/dashboard/assets/RemapEditor-z3vRY12e.js.map +1 -0
  11. package/dashboard/assets/ReviewScreen-COkLQ3T7.js +2 -0
  12. package/dashboard/assets/ReviewScreen-COkLQ3T7.js.map +1 -0
  13. package/dashboard/assets/Sparkline-Cvwo368J.js +2 -0
  14. package/dashboard/assets/Sparkline-Cvwo368J.js.map +1 -0
  15. package/dashboard/assets/WidgetMissingCard-D0bPJKIs.js +2 -0
  16. package/dashboard/assets/WidgetMissingCard-D0bPJKIs.js.map +1 -0
  17. package/dashboard/assets/arc-CPxb74pf.js +2 -0
  18. package/dashboard/assets/arc-CPxb74pf.js.map +1 -0
  19. package/dashboard/assets/bars-ranking-components-9Asn_0gR.js +2 -0
  20. package/dashboard/assets/bars-ranking-components-9Asn_0gR.js.map +1 -0
  21. package/dashboard/assets/blocks-track-components-BST-NjK2.js +2 -0
  22. package/dashboard/assets/blocks-track-components-BST-NjK2.js.map +1 -0
  23. package/dashboard/assets/calendar-track-components-RgNtGtZR.js +2 -0
  24. package/dashboard/assets/calendar-track-components-RgNtGtZR.js.map +1 -0
  25. package/dashboard/assets/chrome-track-components-ClNsentC.js +2 -0
  26. package/dashboard/assets/chrome-track-components-ClNsentC.js.map +1 -0
  27. package/dashboard/assets/common-BY1j__bD.js +2 -0
  28. package/dashboard/assets/common-BY1j__bD.js.map +1 -0
  29. package/dashboard/assets/common-BdlXKpcB.js +2 -0
  30. package/dashboard/assets/common-BdlXKpcB.js.map +1 -0
  31. package/dashboard/assets/common-BqqhgMgB.js +2 -0
  32. package/dashboard/assets/common-BqqhgMgB.js.map +1 -0
  33. package/dashboard/assets/common-BribWmIo.js +2 -0
  34. package/dashboard/assets/common-BribWmIo.js.map +1 -0
  35. package/dashboard/assets/common-Cmf0_lKV.js +2 -0
  36. package/dashboard/assets/common-Cmf0_lKV.js.map +1 -0
  37. package/dashboard/assets/common-i0r48qY9.js +2 -0
  38. package/dashboard/assets/common-i0r48qY9.js.map +1 -0
  39. package/dashboard/assets/common-x8cfkwpc.js +2 -0
  40. package/dashboard/assets/common-x8cfkwpc.js.map +1 -0
  41. package/dashboard/assets/communication-track-components-CNLZXOH_.js +2 -0
  42. package/dashboard/assets/communication-track-components-CNLZXOH_.js.map +1 -0
  43. package/dashboard/assets/components-Bp5cFm2d.js +2 -0
  44. package/dashboard/assets/components-Bp5cFm2d.js.map +1 -0
  45. package/dashboard/assets/components-C4-O3_gD.js +2 -0
  46. package/dashboard/assets/components-C4-O3_gD.js.map +1 -0
  47. package/dashboard/assets/domain-ops-track-components-BPa41AU7.js +2 -0
  48. package/dashboard/assets/domain-ops-track-components-BPa41AU7.js.map +1 -0
  49. package/dashboard/assets/domain-track-components-CQ1i1X1t.js +2 -0
  50. package/dashboard/assets/domain-track-components-CQ1i1X1t.js.map +1 -0
  51. package/dashboard/assets/errors-BHUWiAQ3.js +2 -0
  52. package/dashboard/assets/errors-BHUWiAQ3.js.map +1 -0
  53. package/dashboard/assets/errors-BbyKweDG.js +2 -0
  54. package/dashboard/assets/errors-BbyKweDG.js.map +1 -0
  55. package/dashboard/assets/errors-CMQ6JC31.js +2 -0
  56. package/dashboard/assets/errors-CMQ6JC31.js.map +1 -0
  57. package/dashboard/assets/errors-D3nVgTmf.js +2 -0
  58. package/dashboard/assets/errors-D3nVgTmf.js.map +1 -0
  59. package/dashboard/assets/errors-IqJSoANC.js +2 -0
  60. package/dashboard/assets/errors-IqJSoANC.js.map +1 -0
  61. package/dashboard/assets/errors-gmIkO9F6.js +2 -0
  62. package/dashboard/assets/errors-gmIkO9F6.js.map +1 -0
  63. package/dashboard/assets/errors-vFk058Vh.js +2 -0
  64. package/dashboard/assets/errors-vFk058Vh.js.map +1 -0
  65. package/dashboard/assets/feeds-track-f-components-Cl_8SkGs.js +2 -0
  66. package/dashboard/assets/feeds-track-f-components-Cl_8SkGs.js.map +1 -0
  67. package/dashboard/assets/format-Lx4cQ8k-.js +2 -0
  68. package/dashboard/assets/format-Lx4cQ8k-.js.map +1 -0
  69. package/dashboard/assets/forms-track-components-Bc2Hoxdh.js +2 -0
  70. package/dashboard/assets/forms-track-components-Bc2Hoxdh.js.map +1 -0
  71. package/dashboard/assets/generated-1EfWhCMA.js +2 -0
  72. package/dashboard/assets/generated-1EfWhCMA.js.map +1 -0
  73. package/dashboard/assets/generated-BB3ZMxvx.js +2 -0
  74. package/dashboard/assets/generated-BB3ZMxvx.js.map +1 -0
  75. package/dashboard/assets/generated-C0JVNBRX.js +2 -0
  76. package/dashboard/assets/generated-C0JVNBRX.js.map +1 -0
  77. package/dashboard/assets/generated-C1W48_-3.js +2 -0
  78. package/dashboard/assets/generated-C1W48_-3.js.map +1 -0
  79. package/dashboard/assets/generated-CluiB_xY.js +2 -0
  80. package/dashboard/assets/generated-CluiB_xY.js.map +1 -0
  81. package/dashboard/assets/generated-DDGtlf-4.js +2 -0
  82. package/dashboard/assets/generated-DDGtlf-4.js.map +1 -0
  83. package/dashboard/assets/generated-DPCHvNto.js +2 -0
  84. package/dashboard/assets/generated-DPCHvNto.js.map +1 -0
  85. package/dashboard/assets/geo-track-components-Ct4-MSRw.js +3 -0
  86. package/dashboard/assets/geo-track-components-Ct4-MSRw.js.map +1 -0
  87. package/dashboard/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2 +0 -0
  88. package/dashboard/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2 +0 -0
  89. package/dashboard/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2 +0 -0
  90. package/dashboard/assets/ibm-plex-sans-arabic-arabic-700-normal-DrtBj6UE.woff2 +0 -0
  91. package/dashboard/assets/index-DPi4cduu.css +1 -0
  92. package/dashboard/assets/index-PB1II0WV.js +137 -0
  93. package/dashboard/assets/index-PB1II0WV.js.map +1 -0
  94. package/dashboard/assets/jetbrains-mono-latin-ext-wght-italic-BrDczivE.woff2 +0 -0
  95. package/dashboard/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  96. package/dashboard/assets/jetbrains-mono-latin-wght-italic-B2M6KQje.woff2 +0 -0
  97. package/dashboard/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  98. package/dashboard/assets/leaflet-CIGW-MKW.css +1 -0
  99. package/dashboard/assets/leaflet-src-D12shr04.js +2 -0
  100. package/dashboard/assets/leaflet-src-D12shr04.js.map +1 -0
  101. package/dashboard/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2 +0 -0
  102. package/dashboard/assets/manrope-latin-wght-normal-DHIcAJRg.woff2 +0 -0
  103. package/dashboard/assets/media-track-components-CpeII-tT.js +2 -0
  104. package/dashboard/assets/media-track-components-CpeII-tT.js.map +1 -0
  105. package/dashboard/assets/scales-e0tkfEy1.js +2 -0
  106. package/dashboard/assets/scales-e0tkfEy1.js.map +1 -0
  107. package/dashboard/assets/sparkline-2JUGDrMW.js +2 -0
  108. package/dashboard/assets/sparkline-2JUGDrMW.js.map +1 -0
  109. package/dashboard/assets/stats-BNgXz5BD.js +2 -0
  110. package/dashboard/assets/stats-BNgXz5BD.js.map +1 -0
  111. package/dashboard/assets/studio-B7hMOwAF.js +2 -0
  112. package/dashboard/assets/studio-B7hMOwAF.js.map +1 -0
  113. package/dashboard/assets/studio-BN_9xHY3.js +2 -0
  114. package/dashboard/assets/studio-BN_9xHY3.js.map +1 -0
  115. package/dashboard/assets/studio-Cn2MObe8.js +2 -0
  116. package/dashboard/assets/studio-Cn2MObe8.js.map +1 -0
  117. package/dashboard/assets/studio-DZEZCCkw.js +2 -0
  118. package/dashboard/assets/studio-DZEZCCkw.js.map +1 -0
  119. package/dashboard/assets/studio-DzatTvLl.js +2 -0
  120. package/dashboard/assets/studio-DzatTvLl.js.map +1 -0
  121. package/dashboard/assets/studio-cBlD8x90.js +2 -0
  122. package/dashboard/assets/studio-cBlD8x90.js.map +1 -0
  123. package/dashboard/assets/studio-cglZPbJK.js +2 -0
  124. package/dashboard/assets/studio-cglZPbJK.js.map +1 -0
  125. package/dashboard/assets/system-track-components-GTYYpnfB.js +2 -0
  126. package/dashboard/assets/system-track-components-GTYYpnfB.js.map +1 -0
  127. package/dashboard/assets/tables-tail-components-DiA5GeHB.js +2 -0
  128. package/dashboard/assets/tables-tail-components-DiA5GeHB.js.map +1 -0
  129. package/dashboard/assets/tables-track-f-components-CVNPd7rq.js +2 -0
  130. package/dashboard/assets/tables-track-f-components-CVNPd7rq.js.map +1 -0
  131. package/dashboard/assets/time-flow-components-nKsaryry.js +2 -0
  132. package/dashboard/assets/time-flow-components-nKsaryry.js.map +1 -0
  133. package/dashboard/assets/ui-B-kZetor.js +2 -0
  134. package/dashboard/assets/ui-B-kZetor.js.map +1 -0
  135. package/dashboard/assets/ui-BEStJ5Pw.js +2 -0
  136. package/dashboard/assets/ui-BEStJ5Pw.js.map +1 -0
  137. package/dashboard/assets/ui-BS5_eDN4.js +2 -0
  138. package/dashboard/assets/ui-BS5_eDN4.js.map +1 -0
  139. package/dashboard/assets/ui-BZ0EyxRH.js +2 -0
  140. package/dashboard/assets/ui-BZ0EyxRH.js.map +1 -0
  141. package/dashboard/assets/ui-BloJDdt6.js +2 -0
  142. package/dashboard/assets/ui-BloJDdt6.js.map +1 -0
  143. package/dashboard/assets/ui-CpdrplJH.js +2 -0
  144. package/dashboard/assets/ui-CpdrplJH.js.map +1 -0
  145. package/dashboard/assets/ui-YJfT644k.js +2 -0
  146. package/dashboard/assets/ui-YJfT644k.js.map +1 -0
  147. package/dashboard/assets/widgets-uDqZWw4A.js +2 -0
  148. package/dashboard/assets/widgets-uDqZWw4A.js.map +1 -0
  149. package/dashboard/index.html +41 -0
  150. package/dist/app.d.ts +48 -0
  151. package/dist/app.d.ts.map +1 -0
  152. package/dist/app.js +250 -0
  153. package/dist/app.js.map +1 -0
  154. package/dist/auth/audit.d.ts +22 -0
  155. package/dist/auth/audit.d.ts.map +1 -0
  156. package/dist/auth/audit.js +17 -0
  157. package/dist/auth/audit.js.map +1 -0
  158. package/dist/auth/desktop-session.d.ts +53 -0
  159. package/dist/auth/desktop-session.d.ts.map +1 -0
  160. package/dist/auth/desktop-session.js +111 -0
  161. package/dist/auth/desktop-session.js.map +1 -0
  162. package/dist/auth/passwords.d.ts +17 -0
  163. package/dist/auth/passwords.d.ts.map +1 -0
  164. package/dist/auth/passwords.js +40 -0
  165. package/dist/auth/passwords.js.map +1 -0
  166. package/dist/auth/sessions.d.ts +77 -0
  167. package/dist/auth/sessions.d.ts.map +1 -0
  168. package/dist/auth/sessions.js +137 -0
  169. package/dist/auth/sessions.js.map +1 -0
  170. package/dist/auth/totp.d.ts +30 -0
  171. package/dist/auth/totp.d.ts.map +1 -0
  172. package/dist/auth/totp.js +97 -0
  173. package/dist/auth/totp.js.map +1 -0
  174. package/dist/backup/backup-service.d.ts +157 -0
  175. package/dist/backup/backup-service.d.ts.map +1 -0
  176. package/dist/backup/backup-service.js +354 -0
  177. package/dist/backup/backup-service.js.map +1 -0
  178. package/dist/backup/format.d.ts +300 -0
  179. package/dist/backup/format.d.ts.map +1 -0
  180. package/dist/backup/format.js +304 -0
  181. package/dist/backup/format.js.map +1 -0
  182. package/dist/backup/notify.d.ts +55 -0
  183. package/dist/backup/notify.d.ts.map +1 -0
  184. package/dist/backup/notify.js +60 -0
  185. package/dist/backup/notify.js.map +1 -0
  186. package/dist/backup/snapshot.d.ts +78 -0
  187. package/dist/backup/snapshot.d.ts.map +1 -0
  188. package/dist/backup/snapshot.js +142 -0
  189. package/dist/backup/snapshot.js.map +1 -0
  190. package/dist/capabilities/catalog.d.ts +33 -0
  191. package/dist/capabilities/catalog.d.ts.map +1 -0
  192. package/dist/capabilities/catalog.js +32 -0
  193. package/dist/capabilities/catalog.js.map +1 -0
  194. package/dist/capabilities/grants.d.ts +44 -0
  195. package/dist/capabilities/grants.d.ts.map +1 -0
  196. package/dist/capabilities/grants.js +65 -0
  197. package/dist/capabilities/grants.js.map +1 -0
  198. package/dist/cli/allowlist.d.ts +46 -0
  199. package/dist/cli/allowlist.d.ts.map +1 -0
  200. package/dist/cli/allowlist.js +99 -0
  201. package/dist/cli/allowlist.js.map +1 -0
  202. package/dist/cli/args.d.ts +63 -0
  203. package/dist/cli/args.d.ts.map +1 -0
  204. package/dist/cli/args.js +92 -0
  205. package/dist/cli/args.js.map +1 -0
  206. package/dist/cli/command.d.ts +32 -0
  207. package/dist/cli/command.d.ts.map +1 -0
  208. package/dist/cli/command.js +64 -0
  209. package/dist/cli/command.js.map +1 -0
  210. package/dist/cli/commands/apply-llm-response.d.ts +32 -0
  211. package/dist/cli/commands/apply-llm-response.d.ts.map +1 -0
  212. package/dist/cli/commands/apply-llm-response.js +209 -0
  213. package/dist/cli/commands/apply-llm-response.js.map +1 -0
  214. package/dist/cli/commands/export-zip.d.ts +17 -0
  215. package/dist/cli/commands/export-zip.d.ts.map +1 -0
  216. package/dist/cli/commands/export-zip.js +111 -0
  217. package/dist/cli/commands/export-zip.js.map +1 -0
  218. package/dist/cli/commands/generate-prompt.d.ts +29 -0
  219. package/dist/cli/commands/generate-prompt.d.ts.map +1 -0
  220. package/dist/cli/commands/generate-prompt.js +154 -0
  221. package/dist/cli/commands/generate-prompt.js.map +1 -0
  222. package/dist/cli/commands/import-zip.d.ts +13 -0
  223. package/dist/cli/commands/import-zip.d.ts.map +1 -0
  224. package/dist/cli/commands/import-zip.js +95 -0
  225. package/dist/cli/commands/import-zip.js.map +1 -0
  226. package/dist/cli/commands/init.d.ts +47 -0
  227. package/dist/cli/commands/init.d.ts.map +1 -0
  228. package/dist/cli/commands/init.js +372 -0
  229. package/dist/cli/commands/init.js.map +1 -0
  230. package/dist/cli/commands/introspect.d.ts +11 -0
  231. package/dist/cli/commands/introspect.d.ts.map +1 -0
  232. package/dist/cli/commands/introspect.js +100 -0
  233. package/dist/cli/commands/introspect.js.map +1 -0
  234. package/dist/cli/commands/migrate.d.ts +11 -0
  235. package/dist/cli/commands/migrate.d.ts.map +1 -0
  236. package/dist/cli/commands/migrate.js +80 -0
  237. package/dist/cli/commands/migrate.js.map +1 -0
  238. package/dist/cli/commands/start.d.ts +22 -0
  239. package/dist/cli/commands/start.d.ts.map +1 -0
  240. package/dist/cli/commands/start.js +101 -0
  241. package/dist/cli/commands/start.js.map +1 -0
  242. package/dist/cli/exit.d.ts +37 -0
  243. package/dist/cli/exit.d.ts.map +1 -0
  244. package/dist/cli/exit.js +39 -0
  245. package/dist/cli/exit.js.map +1 -0
  246. package/dist/cli/index.d.ts +10 -0
  247. package/dist/cli/index.d.ts.map +1 -0
  248. package/dist/cli/index.js +17 -0
  249. package/dist/cli/index.js.map +1 -0
  250. package/dist/cli/io.d.ts +49 -0
  251. package/dist/cli/io.d.ts.map +1 -0
  252. package/dist/cli/io.js +77 -0
  253. package/dist/cli/io.js.map +1 -0
  254. package/dist/cli/run.d.ts +35 -0
  255. package/dist/cli/run.d.ts.map +1 -0
  256. package/dist/cli/run.js +139 -0
  257. package/dist/cli/run.js.map +1 -0
  258. package/dist/cli/runtime.d.ts +116 -0
  259. package/dist/cli/runtime.d.ts.map +1 -0
  260. package/dist/cli/runtime.js +181 -0
  261. package/dist/cli/runtime.js.map +1 -0
  262. package/dist/cli/static-root.d.ts +42 -0
  263. package/dist/cli/static-root.d.ts.map +1 -0
  264. package/dist/cli/static-root.js +58 -0
  265. package/dist/cli/static-root.js.map +1 -0
  266. package/dist/compose.d.ts +135 -0
  267. package/dist/compose.d.ts.map +1 -0
  268. package/dist/compose.js +383 -0
  269. package/dist/compose.js.map +1 -0
  270. package/dist/config/bootstrap.d.ts +33 -0
  271. package/dist/config/bootstrap.d.ts.map +1 -0
  272. package/dist/config/bootstrap.js +81 -0
  273. package/dist/config/bootstrap.js.map +1 -0
  274. package/dist/config/env.d.ts +95 -0
  275. package/dist/config/env.d.ts.map +1 -0
  276. package/dist/config/env.js +236 -0
  277. package/dist/config/env.js.map +1 -0
  278. package/dist/config/secrets.d.ts +24 -0
  279. package/dist/config/secrets.d.ts.map +1 -0
  280. package/dist/config/secrets.js +74 -0
  281. package/dist/config/secrets.js.map +1 -0
  282. package/dist/connections/crypto.d.ts +9 -0
  283. package/dist/connections/crypto.d.ts.map +1 -0
  284. package/dist/connections/crypto.js +16 -0
  285. package/dist/connections/crypto.js.map +1 -0
  286. package/dist/connections/dsn.d.ts +42 -0
  287. package/dist/connections/dsn.d.ts.map +1 -0
  288. package/dist/connections/dsn.js +131 -0
  289. package/dist/connections/dsn.js.map +1 -0
  290. package/dist/connections/effective-schema.d.ts +65 -0
  291. package/dist/connections/effective-schema.d.ts.map +1 -0
  292. package/dist/connections/effective-schema.js +249 -0
  293. package/dist/connections/effective-schema.js.map +1 -0
  294. package/dist/connections/introspect.d.ts +52 -0
  295. package/dist/connections/introspect.d.ts.map +1 -0
  296. package/dist/connections/introspect.js +111 -0
  297. package/dist/connections/introspect.js.map +1 -0
  298. package/dist/connections/manager.d.ts +97 -0
  299. package/dist/connections/manager.d.ts.map +1 -0
  300. package/dist/connections/manager.js +224 -0
  301. package/dist/connections/manager.js.map +1 -0
  302. package/dist/connections/register-adapters.d.ts +42 -0
  303. package/dist/connections/register-adapters.d.ts.map +1 -0
  304. package/dist/connections/register-adapters.js +92 -0
  305. package/dist/connections/register-adapters.js.map +1 -0
  306. package/dist/crud/filters.d.ts +57 -0
  307. package/dist/crud/filters.d.ts.map +1 -0
  308. package/dist/crud/filters.js +177 -0
  309. package/dist/crud/filters.js.map +1 -0
  310. package/dist/crud/identifiers.d.ts +58 -0
  311. package/dist/crud/identifiers.d.ts.map +1 -0
  312. package/dist/crud/identifiers.js +99 -0
  313. package/dist/crud/identifiers.js.map +1 -0
  314. package/dist/crud/list.d.ts +51 -0
  315. package/dist/crud/list.d.ts.map +1 -0
  316. package/dist/crud/list.js +126 -0
  317. package/dist/crud/list.js.map +1 -0
  318. package/dist/crud/mask.d.ts +23 -0
  319. package/dist/crud/mask.d.ts.map +1 -0
  320. package/dist/crud/mask.js +41 -0
  321. package/dist/crud/mask.js.map +1 -0
  322. package/dist/crud/records.d.ts +33 -0
  323. package/dist/crud/records.d.ts.map +1 -0
  324. package/dist/crud/records.js +126 -0
  325. package/dist/crud/records.js.map +1 -0
  326. package/dist/crud/undo.d.ts +55 -0
  327. package/dist/crud/undo.d.ts.map +1 -0
  328. package/dist/crud/undo.js +74 -0
  329. package/dist/crud/undo.js.map +1 -0
  330. package/dist/data-io/coerce.d.ts +28 -0
  331. package/dist/data-io/coerce.d.ts.map +1 -0
  332. package/dist/data-io/coerce.js +123 -0
  333. package/dist/data-io/coerce.js.map +1 -0
  334. package/dist/data-io/csv.d.ts +38 -0
  335. package/dist/data-io/csv.d.ts.map +1 -0
  336. package/dist/data-io/csv.js +138 -0
  337. package/dist/data-io/csv.js.map +1 -0
  338. package/dist/data-io/snapshot-view.d.ts +10 -0
  339. package/dist/data-io/snapshot-view.d.ts.map +1 -0
  340. package/dist/data-io/snapshot-view.js +19 -0
  341. package/dist/data-io/snapshot-view.js.map +1 -0
  342. package/dist/desktop/demo-seed.d.ts +23 -0
  343. package/dist/desktop/demo-seed.d.ts.map +1 -0
  344. package/dist/desktop/demo-seed.js +28 -0
  345. package/dist/desktop/demo-seed.js.map +1 -0
  346. package/dist/desktop/lan-share.d.ts +94 -0
  347. package/dist/desktop/lan-share.d.ts.map +1 -0
  348. package/dist/desktop/lan-share.js +150 -0
  349. package/dist/desktop/lan-share.js.map +1 -0
  350. package/dist/errors.d.ts +72 -0
  351. package/dist/errors.d.ts.map +1 -0
  352. package/dist/errors.js +82 -0
  353. package/dist/errors.js.map +1 -0
  354. package/dist/export/bundle.d.ts +235 -0
  355. package/dist/export/bundle.d.ts.map +1 -0
  356. package/dist/export/bundle.js +172 -0
  357. package/dist/export/bundle.js.map +1 -0
  358. package/dist/export/import-service.d.ts +99 -0
  359. package/dist/export/import-service.d.ts.map +1 -0
  360. package/dist/export/import-service.js +515 -0
  361. package/dist/export/import-service.js.map +1 -0
  362. package/dist/export/readme.d.ts +25 -0
  363. package/dist/export/readme.d.ts.map +1 -0
  364. package/dist/export/readme.js +154 -0
  365. package/dist/export/readme.js.map +1 -0
  366. package/dist/export/redaction.d.ts +118 -0
  367. package/dist/export/redaction.d.ts.map +1 -0
  368. package/dist/export/redaction.js +233 -0
  369. package/dist/export/redaction.js.map +1 -0
  370. package/dist/export/zip-service.d.ts +66 -0
  371. package/dist/export/zip-service.d.ts.map +1 -0
  372. package/dist/export/zip-service.js +306 -0
  373. package/dist/export/zip-service.js.map +1 -0
  374. package/dist/files/storage.d.ts +50 -0
  375. package/dist/files/storage.d.ts.map +1 -0
  376. package/dist/files/storage.js +100 -0
  377. package/dist/files/storage.js.map +1 -0
  378. package/dist/generate/materialize-llm.d.ts +45 -0
  379. package/dist/generate/materialize-llm.d.ts.map +1 -0
  380. package/dist/generate/materialize-llm.js +167 -0
  381. package/dist/generate/materialize-llm.js.map +1 -0
  382. package/dist/generate/run.d.ts +48 -0
  383. package/dist/generate/run.d.ts.map +1 -0
  384. package/dist/generate/run.js +123 -0
  385. package/dist/generate/run.js.map +1 -0
  386. package/dist/index.d.ts +89 -0
  387. package/dist/index.d.ts.map +1 -0
  388. package/dist/index.js +116 -0
  389. package/dist/index.js.map +1 -0
  390. package/dist/jobs/export-run.d.ts +38 -0
  391. package/dist/jobs/export-run.d.ts.map +1 -0
  392. package/dist/jobs/export-run.js +172 -0
  393. package/dist/jobs/export-run.js.map +1 -0
  394. package/dist/jobs/import-run.d.ts +43 -0
  395. package/dist/jobs/import-run.d.ts.map +1 -0
  396. package/dist/jobs/import-run.js +290 -0
  397. package/dist/jobs/import-run.js.map +1 -0
  398. package/dist/jobs/llm-run.d.ts +73 -0
  399. package/dist/jobs/llm-run.d.ts.map +1 -0
  400. package/dist/jobs/llm-run.js +225 -0
  401. package/dist/jobs/llm-run.js.map +1 -0
  402. package/dist/jobs/register.d.ts +90 -0
  403. package/dist/jobs/register.d.ts.map +1 -0
  404. package/dist/jobs/register.js +121 -0
  405. package/dist/jobs/register.js.map +1 -0
  406. package/dist/jobs/registry.d.ts +74 -0
  407. package/dist/jobs/registry.d.ts.map +1 -0
  408. package/dist/jobs/registry.js +78 -0
  409. package/dist/jobs/registry.js.map +1 -0
  410. package/dist/jobs/report-run.d.ts +64 -0
  411. package/dist/jobs/report-run.d.ts.map +1 -0
  412. package/dist/jobs/report-run.js +221 -0
  413. package/dist/jobs/report-run.js.map +1 -0
  414. package/dist/jobs/scheduler.d.ts +72 -0
  415. package/dist/jobs/scheduler.d.ts.map +1 -0
  416. package/dist/jobs/scheduler.js +121 -0
  417. package/dist/jobs/scheduler.js.map +1 -0
  418. package/dist/jobs/worker.d.ts +110 -0
  419. package/dist/jobs/worker.d.ts.map +1 -0
  420. package/dist/jobs/worker.js +282 -0
  421. package/dist/jobs/worker.js.map +1 -0
  422. package/dist/llm/apply-service.d.ts +150 -0
  423. package/dist/llm/apply-service.d.ts.map +1 -0
  424. package/dist/llm/apply-service.js +463 -0
  425. package/dist/llm/apply-service.js.map +1 -0
  426. package/dist/llm/apply-undo-store.d.ts +50 -0
  427. package/dist/llm/apply-undo-store.d.ts.map +1 -0
  428. package/dist/llm/apply-undo-store.js +60 -0
  429. package/dist/llm/apply-undo-store.js.map +1 -0
  430. package/dist/llm/direct-runner.d.ts +146 -0
  431. package/dist/llm/direct-runner.d.ts.map +1 -0
  432. package/dist/llm/direct-runner.js +204 -0
  433. package/dist/llm/direct-runner.js.map +1 -0
  434. package/dist/llm/prompt-service.d.ts +90 -0
  435. package/dist/llm/prompt-service.d.ts.map +1 -0
  436. package/dist/llm/prompt-service.js +93 -0
  437. package/dist/llm/prompt-service.js.map +1 -0
  438. package/dist/llm/provider-resolver.d.ts +25 -0
  439. package/dist/llm/provider-resolver.d.ts.map +1 -0
  440. package/dist/llm/provider-resolver.js +81 -0
  441. package/dist/llm/provider-resolver.js.map +1 -0
  442. package/dist/llm/run-service.d.ts +215 -0
  443. package/dist/llm/run-service.d.ts.map +1 -0
  444. package/dist/llm/run-service.js +343 -0
  445. package/dist/llm/run-service.js.map +1 -0
  446. package/dist/llm/stats-collector.d.ts +40 -0
  447. package/dist/llm/stats-collector.d.ts.map +1 -0
  448. package/dist/llm/stats-collector.js +74 -0
  449. package/dist/llm/stats-collector.js.map +1 -0
  450. package/dist/log-scrub.d.ts +58 -0
  451. package/dist/log-scrub.d.ts.map +1 -0
  452. package/dist/log-scrub.js +103 -0
  453. package/dist/log-scrub.js.map +1 -0
  454. package/dist/meta/store.d.ts +96 -0
  455. package/dist/meta/store.d.ts.map +1 -0
  456. package/dist/meta/store.js +192 -0
  457. package/dist/meta/store.js.map +1 -0
  458. package/dist/notifications/notify.d.ts +43 -0
  459. package/dist/notifications/notify.d.ts.map +1 -0
  460. package/dist/notifications/notify.js +42 -0
  461. package/dist/notifications/notify.js.map +1 -0
  462. package/dist/plugins/auth.d.ts +42 -0
  463. package/dist/plugins/auth.d.ts.map +1 -0
  464. package/dist/plugins/auth.js +84 -0
  465. package/dist/plugins/auth.js.map +1 -0
  466. package/dist/plugins/core.d.ts +48 -0
  467. package/dist/plugins/core.d.ts.map +1 -0
  468. package/dist/plugins/core.js +248 -0
  469. package/dist/plugins/core.js.map +1 -0
  470. package/dist/plugins/rbac.d.ts +54 -0
  471. package/dist/plugins/rbac.d.ts.map +1 -0
  472. package/dist/plugins/rbac.js +103 -0
  473. package/dist/plugins/rbac.js.map +1 -0
  474. package/dist/plugins/static.d.ts +12 -0
  475. package/dist/plugins/static.d.ts.map +1 -0
  476. package/dist/plugins/static.js +36 -0
  477. package/dist/plugins/static.js.map +1 -0
  478. package/dist/rbac/api-keys.d.ts +30 -0
  479. package/dist/rbac/api-keys.d.ts.map +1 -0
  480. package/dist/rbac/api-keys.js +41 -0
  481. package/dist/rbac/api-keys.js.map +1 -0
  482. package/dist/rbac/index.d.ts +6 -0
  483. package/dist/rbac/index.d.ts.map +1 -0
  484. package/dist/rbac/index.js +6 -0
  485. package/dist/rbac/index.js.map +1 -0
  486. package/dist/rbac/permissions.d.ts +107 -0
  487. package/dist/rbac/permissions.d.ts.map +1 -0
  488. package/dist/rbac/permissions.js +250 -0
  489. package/dist/rbac/permissions.js.map +1 -0
  490. package/dist/rbac/principal.d.ts +33 -0
  491. package/dist/rbac/principal.d.ts.map +1 -0
  492. package/dist/rbac/principal.js +31 -0
  493. package/dist/rbac/principal.js.map +1 -0
  494. package/dist/rbac/resolver.d.ts +26 -0
  495. package/dist/rbac/resolver.d.ts.map +1 -0
  496. package/dist/rbac/resolver.js +46 -0
  497. package/dist/rbac/resolver.js.map +1 -0
  498. package/dist/realtime/hub.d.ts +90 -0
  499. package/dist/realtime/hub.d.ts.map +1 -0
  500. package/dist/realtime/hub.js +146 -0
  501. package/dist/realtime/hub.js.map +1 -0
  502. package/dist/realtime/sse.d.ts +35 -0
  503. package/dist/realtime/sse.d.ts.map +1 -0
  504. package/dist/realtime/sse.js +88 -0
  505. package/dist/realtime/sse.js.map +1 -0
  506. package/dist/realtime/ws.d.ts +38 -0
  507. package/dist/realtime/ws.d.ts.map +1 -0
  508. package/dist/realtime/ws.js +124 -0
  509. package/dist/realtime/ws.js.map +1 -0
  510. package/dist/reports/schedule.d.ts +14 -0
  511. package/dist/reports/schedule.d.ts.map +1 -0
  512. package/dist/reports/schedule.js +63 -0
  513. package/dist/reports/schedule.js.map +1 -0
  514. package/dist/routes/about/index.d.ts +39 -0
  515. package/dist/routes/about/index.d.ts.map +1 -0
  516. package/dist/routes/about/index.js +73 -0
  517. package/dist/routes/about/index.js.map +1 -0
  518. package/dist/routes/about/schema.d.ts +50 -0
  519. package/dist/routes/about/schema.d.ts.map +1 -0
  520. package/dist/routes/about/schema.js +53 -0
  521. package/dist/routes/about/schema.js.map +1 -0
  522. package/dist/routes/api-keys/index.d.ts +11 -0
  523. package/dist/routes/api-keys/index.d.ts.map +1 -0
  524. package/dist/routes/api-keys/index.js +79 -0
  525. package/dist/routes/api-keys/index.js.map +1 -0
  526. package/dist/routes/api-keys/schema.d.ts +62 -0
  527. package/dist/routes/api-keys/schema.d.ts.map +1 -0
  528. package/dist/routes/api-keys/schema.js +37 -0
  529. package/dist/routes/api-keys/schema.js.map +1 -0
  530. package/dist/routes/audit/index.d.ts +11 -0
  531. package/dist/routes/audit/index.d.ts.map +1 -0
  532. package/dist/routes/audit/index.js +107 -0
  533. package/dist/routes/audit/index.js.map +1 -0
  534. package/dist/routes/audit/schema.d.ts +129 -0
  535. package/dist/routes/audit/schema.d.ts.map +1 -0
  536. package/dist/routes/audit/schema.js +43 -0
  537. package/dist/routes/audit/schema.js.map +1 -0
  538. package/dist/routes/auth/desktop-session.d.ts +48 -0
  539. package/dist/routes/auth/desktop-session.d.ts.map +1 -0
  540. package/dist/routes/auth/desktop-session.js +132 -0
  541. package/dist/routes/auth/desktop-session.js.map +1 -0
  542. package/dist/routes/auth/handlers.d.ts +21 -0
  543. package/dist/routes/auth/handlers.d.ts.map +1 -0
  544. package/dist/routes/auth/handlers.js +256 -0
  545. package/dist/routes/auth/handlers.js.map +1 -0
  546. package/dist/routes/auth/index.d.ts +27 -0
  547. package/dist/routes/auth/index.d.ts.map +1 -0
  548. package/dist/routes/auth/index.js +67 -0
  549. package/dist/routes/auth/index.js.map +1 -0
  550. package/dist/routes/auth/schema.d.ts +129 -0
  551. package/dist/routes/auth/schema.d.ts.map +1 -0
  552. package/dist/routes/auth/schema.js +84 -0
  553. package/dist/routes/auth/schema.js.map +1 -0
  554. package/dist/routes/bootstrap/handlers.d.ts +34 -0
  555. package/dist/routes/bootstrap/handlers.d.ts.map +1 -0
  556. package/dist/routes/bootstrap/handlers.js +96 -0
  557. package/dist/routes/bootstrap/handlers.js.map +1 -0
  558. package/dist/routes/bootstrap/index.d.ts +9 -0
  559. package/dist/routes/bootstrap/index.d.ts.map +1 -0
  560. package/dist/routes/bootstrap/index.js +16 -0
  561. package/dist/routes/bootstrap/index.js.map +1 -0
  562. package/dist/routes/bootstrap/schema.d.ts +177 -0
  563. package/dist/routes/bootstrap/schema.d.ts.map +1 -0
  564. package/dist/routes/bootstrap/schema.js +55 -0
  565. package/dist/routes/bootstrap/schema.js.map +1 -0
  566. package/dist/routes/connections/index.d.ts +21 -0
  567. package/dist/routes/connections/index.d.ts.map +1 -0
  568. package/dist/routes/connections/index.js +260 -0
  569. package/dist/routes/connections/index.js.map +1 -0
  570. package/dist/routes/connections/schema.d.ts +161 -0
  571. package/dist/routes/connections/schema.d.ts.map +1 -0
  572. package/dist/routes/connections/schema.js +91 -0
  573. package/dist/routes/connections/schema.js.map +1 -0
  574. package/dist/routes/data/index.d.ts +46 -0
  575. package/dist/routes/data/index.d.ts.map +1 -0
  576. package/dist/routes/data/index.js +508 -0
  577. package/dist/routes/data/index.js.map +1 -0
  578. package/dist/routes/data/schema.d.ts +128 -0
  579. package/dist/routes/data/schema.d.ts.map +1 -0
  580. package/dist/routes/data/schema.js +83 -0
  581. package/dist/routes/data/schema.js.map +1 -0
  582. package/dist/routes/desktop/index.d.ts +61 -0
  583. package/dist/routes/desktop/index.d.ts.map +1 -0
  584. package/dist/routes/desktop/index.js +91 -0
  585. package/dist/routes/desktop/index.js.map +1 -0
  586. package/dist/routes/desktop/schema.d.ts +71 -0
  587. package/dist/routes/desktop/schema.d.ts.map +1 -0
  588. package/dist/routes/desktop/schema.js +58 -0
  589. package/dist/routes/desktop/schema.js.map +1 -0
  590. package/dist/routes/desktop-capabilities/index.d.ts +9 -0
  591. package/dist/routes/desktop-capabilities/index.d.ts.map +1 -0
  592. package/dist/routes/desktop-capabilities/index.js +62 -0
  593. package/dist/routes/desktop-capabilities/index.js.map +1 -0
  594. package/dist/routes/desktop-capabilities/schema.d.ts +46 -0
  595. package/dist/routes/desktop-capabilities/schema.d.ts.map +1 -0
  596. package/dist/routes/desktop-capabilities/schema.js +30 -0
  597. package/dist/routes/desktop-capabilities/schema.js.map +1 -0
  598. package/dist/routes/desktop-demo/handlers.d.ts +94 -0
  599. package/dist/routes/desktop-demo/handlers.d.ts.map +1 -0
  600. package/dist/routes/desktop-demo/handlers.js +182 -0
  601. package/dist/routes/desktop-demo/handlers.js.map +1 -0
  602. package/dist/routes/desktop-demo/index.d.ts +39 -0
  603. package/dist/routes/desktop-demo/index.d.ts.map +1 -0
  604. package/dist/routes/desktop-demo/index.js +73 -0
  605. package/dist/routes/desktop-demo/index.js.map +1 -0
  606. package/dist/routes/desktop-demo/schema.d.ts +17 -0
  607. package/dist/routes/desktop-demo/schema.d.ts.map +1 -0
  608. package/dist/routes/desktop-demo/schema.js +30 -0
  609. package/dist/routes/desktop-demo/schema.js.map +1 -0
  610. package/dist/routes/desktop-lan/index.d.ts +54 -0
  611. package/dist/routes/desktop-lan/index.d.ts.map +1 -0
  612. package/dist/routes/desktop-lan/index.js +33 -0
  613. package/dist/routes/desktop-lan/index.js.map +1 -0
  614. package/dist/routes/desktop-lan/schema.d.ts +24 -0
  615. package/dist/routes/desktop-lan/schema.d.ts.map +1 -0
  616. package/dist/routes/desktop-lan/schema.js +40 -0
  617. package/dist/routes/desktop-lan/schema.js.map +1 -0
  618. package/dist/routes/desktop-local-db/handlers.d.ts +92 -0
  619. package/dist/routes/desktop-local-db/handlers.d.ts.map +1 -0
  620. package/dist/routes/desktop-local-db/handlers.js +300 -0
  621. package/dist/routes/desktop-local-db/handlers.js.map +1 -0
  622. package/dist/routes/desktop-local-db/index.d.ts +39 -0
  623. package/dist/routes/desktop-local-db/index.d.ts.map +1 -0
  624. package/dist/routes/desktop-local-db/index.js +83 -0
  625. package/dist/routes/desktop-local-db/index.js.map +1 -0
  626. package/dist/routes/desktop-local-db/placeholder.d.ts +75 -0
  627. package/dist/routes/desktop-local-db/placeholder.d.ts.map +1 -0
  628. package/dist/routes/desktop-local-db/placeholder.js +420 -0
  629. package/dist/routes/desktop-local-db/placeholder.js.map +1 -0
  630. package/dist/routes/desktop-local-db/schema.d.ts +50 -0
  631. package/dist/routes/desktop-local-db/schema.d.ts.map +1 -0
  632. package/dist/routes/desktop-local-db/schema.js +71 -0
  633. package/dist/routes/desktop-local-db/schema.js.map +1 -0
  634. package/dist/routes/desktop-local-db/sqlite-ddl.d.ts +104 -0
  635. package/dist/routes/desktop-local-db/sqlite-ddl.d.ts.map +1 -0
  636. package/dist/routes/desktop-local-db/sqlite-ddl.js +419 -0
  637. package/dist/routes/desktop-local-db/sqlite-ddl.js.map +1 -0
  638. package/dist/routes/email-templates/index.d.ts +7 -0
  639. package/dist/routes/email-templates/index.d.ts.map +1 -0
  640. package/dist/routes/email-templates/index.js +70 -0
  641. package/dist/routes/email-templates/index.js.map +1 -0
  642. package/dist/routes/email-templates/schema.d.ts +54 -0
  643. package/dist/routes/email-templates/schema.d.ts.map +1 -0
  644. package/dist/routes/email-templates/schema.js +35 -0
  645. package/dist/routes/email-templates/schema.js.map +1 -0
  646. package/dist/routes/exports/index.d.ts +19 -0
  647. package/dist/routes/exports/index.d.ts.map +1 -0
  648. package/dist/routes/exports/index.js +145 -0
  649. package/dist/routes/exports/index.js.map +1 -0
  650. package/dist/routes/exports/schema.d.ts +183 -0
  651. package/dist/routes/exports/schema.d.ts.map +1 -0
  652. package/dist/routes/exports/schema.js +37 -0
  653. package/dist/routes/exports/schema.js.map +1 -0
  654. package/dist/routes/generate/index.d.ts +23 -0
  655. package/dist/routes/generate/index.d.ts.map +1 -0
  656. package/dist/routes/generate/index.js +80 -0
  657. package/dist/routes/generate/index.js.map +1 -0
  658. package/dist/routes/generate/schema.d.ts +43 -0
  659. package/dist/routes/generate/schema.d.ts.map +1 -0
  660. package/dist/routes/generate/schema.js +37 -0
  661. package/dist/routes/generate/schema.js.map +1 -0
  662. package/dist/routes/imports/index.d.ts +21 -0
  663. package/dist/routes/imports/index.d.ts.map +1 -0
  664. package/dist/routes/imports/index.js +288 -0
  665. package/dist/routes/imports/index.js.map +1 -0
  666. package/dist/routes/imports/schema.d.ts +292 -0
  667. package/dist/routes/imports/schema.d.ts.map +1 -0
  668. package/dist/routes/imports/schema.js +78 -0
  669. package/dist/routes/imports/schema.js.map +1 -0
  670. package/dist/routes/index.d.ts +11 -0
  671. package/dist/routes/index.d.ts.map +1 -0
  672. package/dist/routes/index.js +8 -0
  673. package/dist/routes/index.js.map +1 -0
  674. package/dist/routes/jobs/index.d.ts +29 -0
  675. package/dist/routes/jobs/index.d.ts.map +1 -0
  676. package/dist/routes/jobs/index.js +175 -0
  677. package/dist/routes/jobs/index.js.map +1 -0
  678. package/dist/routes/jobs/schema.d.ts +170 -0
  679. package/dist/routes/jobs/schema.d.ts.map +1 -0
  680. package/dist/routes/jobs/schema.js +57 -0
  681. package/dist/routes/jobs/schema.js.map +1 -0
  682. package/dist/routes/llm/config-service.d.ts +48 -0
  683. package/dist/routes/llm/config-service.d.ts.map +1 -0
  684. package/dist/routes/llm/config-service.js +102 -0
  685. package/dist/routes/llm/config-service.js.map +1 -0
  686. package/dist/routes/llm/index.d.ts +69 -0
  687. package/dist/routes/llm/index.d.ts.map +1 -0
  688. package/dist/routes/llm/index.js +412 -0
  689. package/dist/routes/llm/index.js.map +1 -0
  690. package/dist/routes/llm/schema.d.ts +605 -0
  691. package/dist/routes/llm/schema.d.ts.map +1 -0
  692. package/dist/routes/llm/schema.js +238 -0
  693. package/dist/routes/llm/schema.js.map +1 -0
  694. package/dist/routes/me/handlers.d.ts +14 -0
  695. package/dist/routes/me/handlers.d.ts.map +1 -0
  696. package/dist/routes/me/handlers.js +88 -0
  697. package/dist/routes/me/handlers.js.map +1 -0
  698. package/dist/routes/me/index.d.ts +8 -0
  699. package/dist/routes/me/index.d.ts.map +1 -0
  700. package/dist/routes/me/index.js +17 -0
  701. package/dist/routes/me/index.js.map +1 -0
  702. package/dist/routes/me/schema.d.ts +270 -0
  703. package/dist/routes/me/schema.d.ts.map +1 -0
  704. package/dist/routes/me/schema.js +59 -0
  705. package/dist/routes/me/schema.js.map +1 -0
  706. package/dist/routes/me-views/index.d.ts +23 -0
  707. package/dist/routes/me-views/index.d.ts.map +1 -0
  708. package/dist/routes/me-views/index.js +76 -0
  709. package/dist/routes/me-views/index.js.map +1 -0
  710. package/dist/routes/me-views/schema.d.ts +44 -0
  711. package/dist/routes/me-views/schema.d.ts.map +1 -0
  712. package/dist/routes/me-views/schema.js +13 -0
  713. package/dist/routes/me-views/schema.js.map +1 -0
  714. package/dist/routes/notifications/index.d.ts +19 -0
  715. package/dist/routes/notifications/index.d.ts.map +1 -0
  716. package/dist/routes/notifications/index.js +123 -0
  717. package/dist/routes/notifications/index.js.map +1 -0
  718. package/dist/routes/notifications/schema.d.ts +122 -0
  719. package/dist/routes/notifications/schema.d.ts.map +1 -0
  720. package/dist/routes/notifications/schema.js +83 -0
  721. package/dist/routes/notifications/schema.js.map +1 -0
  722. package/dist/routes/onboarding/derive.d.ts +41 -0
  723. package/dist/routes/onboarding/derive.d.ts.map +1 -0
  724. package/dist/routes/onboarding/derive.js +30 -0
  725. package/dist/routes/onboarding/derive.js.map +1 -0
  726. package/dist/routes/onboarding/index.d.ts +26 -0
  727. package/dist/routes/onboarding/index.d.ts.map +1 -0
  728. package/dist/routes/onboarding/index.js +95 -0
  729. package/dist/routes/onboarding/index.js.map +1 -0
  730. package/dist/routes/onboarding/schema.d.ts +22 -0
  731. package/dist/routes/onboarding/schema.d.ts.map +1 -0
  732. package/dist/routes/onboarding/schema.js +22 -0
  733. package/dist/routes/onboarding/schema.js.map +1 -0
  734. package/dist/routes/pages/index.d.ts +26 -0
  735. package/dist/routes/pages/index.d.ts.map +1 -0
  736. package/dist/routes/pages/index.js +119 -0
  737. package/dist/routes/pages/index.js.map +1 -0
  738. package/dist/routes/pages/layout-schema.d.ts +19 -0
  739. package/dist/routes/pages/layout-schema.d.ts.map +1 -0
  740. package/dist/routes/pages/layout-schema.js +19 -0
  741. package/dist/routes/pages/layout-schema.js.map +1 -0
  742. package/dist/routes/pages/schema.d.ts +52 -0
  743. package/dist/routes/pages/schema.d.ts.map +1 -0
  744. package/dist/routes/pages/schema.js +35 -0
  745. package/dist/routes/pages/schema.js.map +1 -0
  746. package/dist/routes/roles/index.d.ts +17 -0
  747. package/dist/routes/roles/index.d.ts.map +1 -0
  748. package/dist/routes/roles/index.js +255 -0
  749. package/dist/routes/roles/index.js.map +1 -0
  750. package/dist/routes/roles/schema.d.ts +94 -0
  751. package/dist/routes/roles/schema.d.ts.map +1 -0
  752. package/dist/routes/roles/schema.js +57 -0
  753. package/dist/routes/roles/schema.js.map +1 -0
  754. package/dist/routes/scheduled-reports/index.d.ts +15 -0
  755. package/dist/routes/scheduled-reports/index.d.ts.map +1 -0
  756. package/dist/routes/scheduled-reports/index.js +195 -0
  757. package/dist/routes/scheduled-reports/index.js.map +1 -0
  758. package/dist/routes/scheduled-reports/schema.d.ts +154 -0
  759. package/dist/routes/scheduled-reports/schema.d.ts.map +1 -0
  760. package/dist/routes/scheduled-reports/schema.js +49 -0
  761. package/dist/routes/scheduled-reports/schema.js.map +1 -0
  762. package/dist/routes/schema/index.d.ts +24 -0
  763. package/dist/routes/schema/index.d.ts.map +1 -0
  764. package/dist/routes/schema/index.js +224 -0
  765. package/dist/routes/schema/index.js.map +1 -0
  766. package/dist/routes/schema/schema.d.ts +92 -0
  767. package/dist/routes/schema/schema.d.ts.map +1 -0
  768. package/dist/routes/schema/schema.js +64 -0
  769. package/dist/routes/schema/schema.js.map +1 -0
  770. package/dist/routes/schema-import/fallback-parser.d.ts +35 -0
  771. package/dist/routes/schema-import/fallback-parser.d.ts.map +1 -0
  772. package/dist/routes/schema-import/fallback-parser.js +349 -0
  773. package/dist/routes/schema-import/fallback-parser.js.map +1 -0
  774. package/dist/routes/schema-import/index.d.ts +43 -0
  775. package/dist/routes/schema-import/index.d.ts.map +1 -0
  776. package/dist/routes/schema-import/index.js +167 -0
  777. package/dist/routes/schema-import/index.js.map +1 -0
  778. package/dist/routes/schema-import/schema.d.ts +65 -0
  779. package/dist/routes/schema-import/schema.d.ts.map +1 -0
  780. package/dist/routes/schema-import/schema.js +40 -0
  781. package/dist/routes/schema-import/schema.js.map +1 -0
  782. package/dist/routes/search/index.d.ts +71 -0
  783. package/dist/routes/search/index.d.ts.map +1 -0
  784. package/dist/routes/search/index.js +361 -0
  785. package/dist/routes/search/index.js.map +1 -0
  786. package/dist/routes/search/schema.d.ts +125 -0
  787. package/dist/routes/search/schema.d.ts.map +1 -0
  788. package/dist/routes/search/schema.js +70 -0
  789. package/dist/routes/search/schema.js.map +1 -0
  790. package/dist/routes/settings/index.d.ts +24 -0
  791. package/dist/routes/settings/index.d.ts.map +1 -0
  792. package/dist/routes/settings/index.js +164 -0
  793. package/dist/routes/settings/index.js.map +1 -0
  794. package/dist/routes/settings/schema.d.ts +110 -0
  795. package/dist/routes/settings/schema.d.ts.map +1 -0
  796. package/dist/routes/settings/schema.js +71 -0
  797. package/dist/routes/settings/schema.js.map +1 -0
  798. package/dist/routes/setup/index.d.ts +29 -0
  799. package/dist/routes/setup/index.d.ts.map +1 -0
  800. package/dist/routes/setup/index.js +68 -0
  801. package/dist/routes/setup/index.js.map +1 -0
  802. package/dist/routes/setup/schema.d.ts +61 -0
  803. package/dist/routes/setup/schema.d.ts.map +1 -0
  804. package/dist/routes/setup/schema.js +47 -0
  805. package/dist/routes/setup/schema.js.map +1 -0
  806. package/dist/routes/system/handlers.d.ts +63 -0
  807. package/dist/routes/system/handlers.d.ts.map +1 -0
  808. package/dist/routes/system/handlers.js +121 -0
  809. package/dist/routes/system/handlers.js.map +1 -0
  810. package/dist/routes/system/index.d.ts +34 -0
  811. package/dist/routes/system/index.d.ts.map +1 -0
  812. package/dist/routes/system/index.js +18 -0
  813. package/dist/routes/system/index.js.map +1 -0
  814. package/dist/routes/system/schema.d.ts +93 -0
  815. package/dist/routes/system/schema.d.ts.map +1 -0
  816. package/dist/routes/system/schema.js +109 -0
  817. package/dist/routes/system/schema.js.map +1 -0
  818. package/dist/routes/views/index.d.ts +21 -0
  819. package/dist/routes/views/index.d.ts.map +1 -0
  820. package/dist/routes/views/index.js +155 -0
  821. package/dist/routes/views/index.js.map +1 -0
  822. package/dist/routes/views/schema.d.ts +127 -0
  823. package/dist/routes/views/schema.d.ts.map +1 -0
  824. package/dist/routes/views/schema.js +56 -0
  825. package/dist/routes/views/schema.js.map +1 -0
  826. package/dist/routes/widget-data/index.d.ts +29 -0
  827. package/dist/routes/widget-data/index.d.ts.map +1 -0
  828. package/dist/routes/widget-data/index.js +152 -0
  829. package/dist/routes/widget-data/index.js.map +1 -0
  830. package/dist/routes/widget-data/schema.d.ts +252 -0
  831. package/dist/routes/widget-data/schema.d.ts.map +1 -0
  832. package/dist/routes/widget-data/schema.js +44 -0
  833. package/dist/routes/widget-data/schema.js.map +1 -0
  834. package/dist/setup/service.d.ts +63 -0
  835. package/dist/setup/service.d.ts.map +1 -0
  836. package/dist/setup/service.js +103 -0
  837. package/dist/setup/service.js.map +1 -0
  838. package/dist/start.d.ts +12 -0
  839. package/dist/start.d.ts.map +1 -0
  840. package/dist/start.js +28 -0
  841. package/dist/start.js.map +1 -0
  842. package/dist/telemetry/payload.d.ts +66 -0
  843. package/dist/telemetry/payload.d.ts.map +1 -0
  844. package/dist/telemetry/payload.js +69 -0
  845. package/dist/telemetry/payload.js.map +1 -0
  846. package/dist/telemetry/service.d.ts +67 -0
  847. package/dist/telemetry/service.d.ts.map +1 -0
  848. package/dist/telemetry/service.js +103 -0
  849. package/dist/telemetry/service.js.map +1 -0
  850. package/dist/telemetry/update-check.d.ts +79 -0
  851. package/dist/telemetry/update-check.d.ts.map +1 -0
  852. package/dist/telemetry/update-check.js +103 -0
  853. package/dist/telemetry/update-check.js.map +1 -0
  854. package/dist/version.d.ts +14 -0
  855. package/dist/version.d.ts.map +1 -0
  856. package/dist/version.js +21 -0
  857. package/dist/version.js.map +1 -0
  858. package/dist/widget-data/cache.d.ts +35 -0
  859. package/dist/widget-data/cache.d.ts.map +1 -0
  860. package/dist/widget-data/cache.js +67 -0
  861. package/dist/widget-data/cache.js.map +1 -0
  862. package/dist/widget-data/compiler.d.ts +107 -0
  863. package/dist/widget-data/compiler.d.ts.map +1 -0
  864. package/dist/widget-data/compiler.js +362 -0
  865. package/dist/widget-data/compiler.js.map +1 -0
  866. package/dist/widget-data/shapers.d.ts +75 -0
  867. package/dist/widget-data/shapers.d.ts.map +1 -0
  868. package/dist/widget-data/shapers.js +128 -0
  869. package/dist/widget-data/shapers.js.map +1 -0
  870. package/dist/widget-data/stream-publisher.d.ts +42 -0
  871. package/dist/widget-data/stream-publisher.d.ts.map +1 -0
  872. package/dist/widget-data/stream-publisher.js +34 -0
  873. package/dist/widget-data/stream-publisher.js.map +1 -0
  874. package/package.json +79 -0
  875. package/vocabulary/llm-allowlist.json +76 -0
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Zod schemas for the desktop local-database resource
3
+ * (11-electron.md §6 step 2 card 1, task 11-T07).
4
+ */
5
+ import { z } from 'zod';
6
+ import { parseRequestFormat } from '../schema-import/schema.js';
7
+ export const desktopLocalDbBody = z.object({
8
+ /** §6: "Name → slug → creates `<dataDir>/databases/<slug>.sqlite`". */
9
+ name: z.string().min(1).max(80),
10
+ /**
11
+ * §6's sub-choice. Absent ⇒ *Blank* ("empty DB; Studio's table designer per
12
+ * 09-generated-app.md"); present ⇒ *From a schema file*.
13
+ *
14
+ * The FILE is sent, not a parsed model, and that is a size decision as much as
15
+ * a trust one: `POST /schema-import/parse` replies with a `DatabaseModel` whose
16
+ * JSON is several times the source text for a wide schema, and posting it back
17
+ * would put the round trip — not the upload — against the 2 MB body cap. The
18
+ * server parses it here with the same resolver that route uses.
19
+ */
20
+ schemaFile: z
21
+ .object({
22
+ /** Raw schema text. Same 2 MB body cap as `/schema-import/parse`. */
23
+ content: z.string().min(1),
24
+ /** Omit to sniff from the content / file name. */
25
+ format: parseRequestFormat.optional(),
26
+ fileName: z.string().min(1).max(255).optional(),
27
+ })
28
+ .optional(),
29
+ /**
30
+ * `designs/Connect Database.dc.html`'s "Auto-generate placeholder entries".
31
+ *
32
+ * Defaults OFF. The comp shows it ON, but the comp is showing the state AFTER
33
+ * the user imported a schema with no rows — and this body is also how a *Blank*
34
+ * database is created, where there is nothing to seed. The wizard sets it
35
+ * explicitly on the schema-file path; a default of `true` here would mean a
36
+ * client that forgot the field writes rows into the user's database.
37
+ */
38
+ placeholderRows: z.boolean().default(false),
39
+ });
40
+ /** A non-fatal translation gap — see `sqlite-ddl.ts`'s `DdlWarning`. */
41
+ export const desktopLocalDbWarning = z.object({
42
+ code: z.string(),
43
+ message: z.string(),
44
+ tableId: z.string().nullable(),
45
+ });
46
+ export const desktopLocalDbReply = z.object({
47
+ data: z.object({
48
+ connectionId: z.string(),
49
+ name: z.string(),
50
+ /** The `<slug>` the name resolved to. */
51
+ slug: z.string(),
52
+ /**
53
+ * The absolute `<dataDir>/databases/<slug>.sqlite` path — unmasked for the
54
+ * reasons `desktop-demo/schema.ts` gives: a SQLite DSN carries no
55
+ * credentials, and the wizard's "Show in folder" needs a path to hand the
56
+ * §4 bridge.
57
+ */
58
+ file: z.string(),
59
+ /** Tables created, in creation order. Empty for a blank database. */
60
+ tables: z.array(z.string()),
61
+ /** Rows written per table. Empty unless `placeholderRows` was on. */
62
+ rows: z.record(z.string(), z.number().int().min(0)),
63
+ /**
64
+ * What the translation could not carry across (views, expression indexes,
65
+ * generated columns…). §8.2's rule — never hide, always explain — is why
66
+ * these are on the reply rather than in a server log.
67
+ */
68
+ warnings: z.array(desktopLocalDbWarning),
69
+ }),
70
+ });
71
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/routes/desktop-local-db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,uEAAuE;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B;;;;;;;;;OASG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,qEAAqE;QACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,kDAAkD;QAClD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC;SACD,QAAQ,EAAE;IACb;;;;;;;;OAQG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC5C,CAAC,CAAC;AAGH,wEAAwE;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,yCAAyC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB;;;;;WAKG;QACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,qEAAqE;QACrE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,qEAAqE;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD;;;;WAIG;QACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;KACzC,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * `DatabaseModel` → SQLite DDL (11-electron.md §6 step 2 card 1, task 11-T07).
3
+ *
4
+ * §6: "*From a schema file* — upload `.sql`/`pg_dump`/Prisma/Drizzle/TypeORM/
5
+ * Sequelize/`schema.rb`/Django/JSON via `@adminium/schema-import`, translated to
6
+ * SQLite DDL and applied."
7
+ *
8
+ * `@adminium/schema-import` parses eight formats into ONE artifact — the engine's
9
+ * `DatabaseModel` IR (05-introspection-engine.md §2.1). So this module has a
10
+ * single input shape regardless of which of the eight the user dropped on the
11
+ * wizard, and every format gets the same fidelity. It is pure: statements in,
12
+ * statements out, no `better-sqlite3` — which is what makes the round-trip
13
+ * assertable offline (emit → apply → introspect → compare) rather than by eye.
14
+ *
15
+ * ─── WHY THIS EMITS `VARCHAR(n)` AND `CHECK (… IN (…))`, NOT `TEXT` ──────────
16
+ *
17
+ * SQLite has type AFFINITY, not types: `VARCHAR(32)`, `TEXT` and `CHARACTER(1)`
18
+ * all behave identically at runtime, and the naive translation of every string
19
+ * column is therefore `TEXT`. That translation is correct and it is also the
20
+ * single worst thing this module could do, because the DDL is not the product —
21
+ * the PAGES generated from it are.
22
+ *
23
+ * 11-T08 found this the hard way while building the demo database: a
24
+ * `status TEXT` column introspects back with `maxLength: null`, which fails the
25
+ * candidate rule r07's `maxLength <= 32` gate, so the kanban archetype never
26
+ * scores and the table generates a plain CRUD grid instead of the board its
27
+ * schema is describing. The declared length and the `CHECK (col IN (…))` are how
28
+ * a status column stays recognisable across the emit→introspect round trip:
29
+ * `adapter-sqlite`'s introspector reads the declared type text for `maxLength`
30
+ * and lifts `CHECK … IN` into an `EnumDef` (§2.1's `source: 'check'`).
31
+ *
32
+ * So: the model's `maxLength` is preserved, and an `enum` column is emitted with
33
+ * its values as a CHECK constraint. A user who imports a Prisma schema with
34
+ * `status Status` gets a kanban board; the same import through a `TEXT`-only
35
+ * emitter gets a table. Both "work". Only one is the feature.
36
+ *
37
+ * ─── WHAT IS DELIBERATELY DROPPED ────────────────────────────────────────────
38
+ *
39
+ * - **Views and materialized views.** `TableModel.kind` distinguishes them but
40
+ * the IR carries no query text (`schema-model.ts` — there is no `definition`
41
+ * field), so there is nothing to emit. A `CREATE VIEW` cannot be invented from
42
+ * a column list. Reported as a warning, never a silent skip.
43
+ * - **Schemas.** SQLite has one namespace. `TableModel.schema` is folded into the
44
+ * emitted name only when the model actually uses more than one (see
45
+ * {@link emitSqliteDdl}), because `public.users` → `users` is what every
46
+ * single-schema import wants and `public_users` is what none of them do.
47
+ * - **Generated columns, RLS, partial/expression indexes, index methods.**
48
+ * `isGenerated` has no expression in the IR (same absence as views); RLS is
49
+ * Postgres-only; `IndexModel.expression`/`method`/`partial` describe a source
50
+ * engine's plan, not this one's.
51
+ *
52
+ * Everything dropped produces a {@link DdlWarning}, and the route hands the list
53
+ * to the wizard. §8.2's rule — never hide, always explain — applies to a schema
54
+ * translation as much as to a button.
55
+ */
56
+ import type { DatabaseModel, TableModel } from '@adminium/engine';
57
+ /** A non-fatal translation gap. Mirrors the IR's own `ModelWarning` shape. */
58
+ export interface DdlWarning {
59
+ code:
60
+ /**
61
+ * Raised by the PARSER, not by this module — `@adminium/schema-import`
62
+ * reports what it could not read ("skipped CREATE VIEW without column
63
+ * list", a construct it does not model) as free text, and those are the
64
+ * gaps this emitter never even sees. Dropping them because they arrive in a
65
+ * different shape would mean the user's view vanished between their file
66
+ * and their database with nothing said, which is exactly the failure the
67
+ * `view-skipped` code below exists to prevent for the views that DO reach
68
+ * here. `routes/desktop-local-db/handlers.ts` folds them in.
69
+ */
70
+ 'source-not-translated' | 'view-skipped' | 'generated-column-materialized' | 'expression-index-skipped' | 'no-primary-key' | 'fk-target-missing' | 'circular-fk';
71
+ message: string;
72
+ tableId: string | null;
73
+ }
74
+ export interface SqliteDdl {
75
+ /** Executed in order, inside one transaction. */
76
+ statements: string[];
77
+ warnings: DdlWarning[];
78
+ /** Emitted table names, in creation (topological) order. */
79
+ tables: string[];
80
+ }
81
+ /** `"` is SQLite's standard identifier quote; doubling escapes it. */
82
+ export declare function quoteIdent(name: string): string;
83
+ /** `'` doubled — the only escape SQLite string literals have. */
84
+ export declare function quoteLiteral(value: string): string;
85
+ /**
86
+ * Creation order: a table's FK targets first.
87
+ *
88
+ * SQLite would actually accept any order — foreign keys are resolved lazily, and
89
+ * `PRAGMA foreign_keys` is per-connection — but the placeholder generator
90
+ * (`placeholder.ts`) needs parents to exist before children, and it reads THIS
91
+ * order rather than computing a second one that could disagree.
92
+ *
93
+ * A cycle (`a.b_id → b`, `b.a_id → a`) has no topological order at all. Rather
94
+ * than fail the import, the remaining tables are emitted in declaration order
95
+ * and the cycle is reported: the DDL is still correct, and only the seeding of
96
+ * those tables is affected (the generator skips the nullable side).
97
+ */
98
+ export declare function orderTables(model: DatabaseModel): {
99
+ order: TableModel[];
100
+ warnings: DdlWarning[];
101
+ };
102
+ /** Translate a parsed schema into the statements that recreate it in SQLite. */
103
+ export declare function emitSqliteDdl(model: DatabaseModel): SqliteDdl;
104
+ //# sourceMappingURL=sqlite-ddl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-ddl.d.ts","sourceRoot":"","sources":["../../../src/routes/desktop-local-db/sqlite-ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/E,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI;IACF;;;;;;;;;OASG;IACD,uBAAuB,GACvB,cAAc,GACd,+BAA+B,GAC/B,0BAA0B,GAC1B,gBAAgB,GAChB,mBAAmB,GACnB,aAAa,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAuCD,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAkND;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAwCjG;AAoBD,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CA2D7D"}
@@ -0,0 +1,419 @@
1
+ /**
2
+ * `DatabaseModel` → SQLite DDL (11-electron.md §6 step 2 card 1, task 11-T07).
3
+ *
4
+ * §6: "*From a schema file* — upload `.sql`/`pg_dump`/Prisma/Drizzle/TypeORM/
5
+ * Sequelize/`schema.rb`/Django/JSON via `@adminium/schema-import`, translated to
6
+ * SQLite DDL and applied."
7
+ *
8
+ * `@adminium/schema-import` parses eight formats into ONE artifact — the engine's
9
+ * `DatabaseModel` IR (05-introspection-engine.md §2.1). So this module has a
10
+ * single input shape regardless of which of the eight the user dropped on the
11
+ * wizard, and every format gets the same fidelity. It is pure: statements in,
12
+ * statements out, no `better-sqlite3` — which is what makes the round-trip
13
+ * assertable offline (emit → apply → introspect → compare) rather than by eye.
14
+ *
15
+ * ─── WHY THIS EMITS `VARCHAR(n)` AND `CHECK (… IN (…))`, NOT `TEXT` ──────────
16
+ *
17
+ * SQLite has type AFFINITY, not types: `VARCHAR(32)`, `TEXT` and `CHARACTER(1)`
18
+ * all behave identically at runtime, and the naive translation of every string
19
+ * column is therefore `TEXT`. That translation is correct and it is also the
20
+ * single worst thing this module could do, because the DDL is not the product —
21
+ * the PAGES generated from it are.
22
+ *
23
+ * 11-T08 found this the hard way while building the demo database: a
24
+ * `status TEXT` column introspects back with `maxLength: null`, which fails the
25
+ * candidate rule r07's `maxLength <= 32` gate, so the kanban archetype never
26
+ * scores and the table generates a plain CRUD grid instead of the board its
27
+ * schema is describing. The declared length and the `CHECK (col IN (…))` are how
28
+ * a status column stays recognisable across the emit→introspect round trip:
29
+ * `adapter-sqlite`'s introspector reads the declared type text for `maxLength`
30
+ * and lifts `CHECK … IN` into an `EnumDef` (§2.1's `source: 'check'`).
31
+ *
32
+ * So: the model's `maxLength` is preserved, and an `enum` column is emitted with
33
+ * its values as a CHECK constraint. A user who imports a Prisma schema with
34
+ * `status Status` gets a kanban board; the same import through a `TEXT`-only
35
+ * emitter gets a table. Both "work". Only one is the feature.
36
+ *
37
+ * ─── WHAT IS DELIBERATELY DROPPED ────────────────────────────────────────────
38
+ *
39
+ * - **Views and materialized views.** `TableModel.kind` distinguishes them but
40
+ * the IR carries no query text (`schema-model.ts` — there is no `definition`
41
+ * field), so there is nothing to emit. A `CREATE VIEW` cannot be invented from
42
+ * a column list. Reported as a warning, never a silent skip.
43
+ * - **Schemas.** SQLite has one namespace. `TableModel.schema` is folded into the
44
+ * emitted name only when the model actually uses more than one (see
45
+ * {@link emitSqliteDdl}), because `public.users` → `users` is what every
46
+ * single-schema import wants and `public_users` is what none of them do.
47
+ * - **Generated columns, RLS, partial/expression indexes, index methods.**
48
+ * `isGenerated` has no expression in the IR (same absence as views); RLS is
49
+ * Postgres-only; `IndexModel.expression`/`method`/`partial` describe a source
50
+ * engine's plan, not this one's.
51
+ *
52
+ * Everything dropped produces a {@link DdlWarning}, and the route hands the list
53
+ * to the wizard. §8.2's rule — never hide, always explain — applies to a schema
54
+ * translation as much as to a button.
55
+ */
56
+ /**
57
+ * Logical type → SQLite column type.
58
+ *
59
+ * The declared text matters twice over: SQLite derives AFFINITY from it by
60
+ * substring rules (`INT` → INTEGER, `CHAR`/`TEXT` → TEXT, `REAL`/`FLOA`/`DOUB` →
61
+ * REAL, `BLOB`/empty → BLOB, everything else → NUMERIC), and `adapter-sqlite`
62
+ * reads it back verbatim as `dbType`. So these spellings are chosen to satisfy
63
+ * BOTH readers — `DECIMAL(10,2)` keeps NUMERIC affinity and round-trips its
64
+ * precision, where a bare `REAL` would silently discard the scale of every money
65
+ * column in the schema.
66
+ */
67
+ const TYPE_MAP = {
68
+ text: 'TEXT',
69
+ varchar: 'VARCHAR',
70
+ integer: 'INTEGER',
71
+ bigint: 'BIGINT',
72
+ decimal: 'DECIMAL',
73
+ float: 'REAL',
74
+ // SQLite has no boolean; INTEGER 0/1 is the documented convention and is what
75
+ // `adapter-sqlite`'s type-map reads back as `boolean`.
76
+ boolean: 'BOOLEAN',
77
+ date: 'DATE',
78
+ time: 'TIME',
79
+ timestamp: 'DATETIME',
80
+ timestamptz: 'DATETIME',
81
+ interval: 'TEXT',
82
+ uuid: 'VARCHAR(36)',
83
+ json: 'JSON',
84
+ binary: 'BLOB',
85
+ // Never emitted directly — enum columns go through `columnType`, which needs
86
+ // the EnumDef to size the VARCHAR. This is the fallback if one has no ref.
87
+ enum: 'VARCHAR(32)',
88
+ geometry: 'BLOB',
89
+ inet: 'VARCHAR(45)',
90
+ unknown: 'TEXT',
91
+ };
92
+ /** `"` is SQLite's standard identifier quote; doubling escapes it. */
93
+ export function quoteIdent(name) {
94
+ return `"${name.replaceAll('"', '""')}"`;
95
+ }
96
+ /** `'` doubled — the only escape SQLite string literals have. */
97
+ export function quoteLiteral(value) {
98
+ return `'${value.replaceAll("'", "''")}'`;
99
+ }
100
+ /**
101
+ * The declared type for one column.
102
+ *
103
+ * The enum branch is the one that earns its keep — see the module header. The
104
+ * `+ 0` guard on the VARCHAR length is not defensive noise: `maxLength` is
105
+ * `z.number().int().positive()` in the IR, so it is trustworthy, but an enum
106
+ * whose longest value exceeds the declared length would make every CHECK-passing
107
+ * value violate its own column type.
108
+ */
109
+ function columnType(column, model) {
110
+ if (column.logicalType === 'enum' && column.enumRef !== null) {
111
+ const def = model.enums.find((candidate) => candidate.id === column.enumRef);
112
+ if (def !== undefined) {
113
+ const longest = def.values.reduce((max, value) => Math.max(max, value.length), 0);
114
+ // The `<= 32` in candidate rule r07 is a gate on the INTROSPECTED length,
115
+ // so a status enum must declare one that fits under it or the kanban never
116
+ // scores (module header). Real status vocabularies are short; the clamp
117
+ // only ever fires for an enum that was never going to be a board anyway.
118
+ return `VARCHAR(${String(Math.max(longest, 1))})`;
119
+ }
120
+ }
121
+ if (column.logicalType === 'varchar' && column.maxLength !== null) {
122
+ return `VARCHAR(${String(column.maxLength)})`;
123
+ }
124
+ if (column.logicalType === 'decimal' && column.numericPrecision !== null) {
125
+ const scale = column.numericScale ?? 0;
126
+ return `DECIMAL(${String(column.numericPrecision)},${String(scale)})`;
127
+ }
128
+ return TYPE_MAP[column.logicalType];
129
+ }
130
+ /**
131
+ * The DEFAULT clause, or `null` for none.
132
+ *
133
+ * `expression` defaults are dropped rather than passed through: the text is the
134
+ * SOURCE engine's dialect (`nextval('users_id_seq')`, `gen_random_uuid()`,
135
+ * `CURRENT_TIMESTAMP AT TIME ZONE 'utc'`), and SQLite would reject most of them
136
+ * at CREATE TABLE time — turning one unportable default into a failed import of
137
+ * the whole schema. The three STRUCTURED kinds are dialect-free by construction,
138
+ * so those are the three that survive.
139
+ */
140
+ function columnDefault(column) {
141
+ const value = column.default;
142
+ if (value === null)
143
+ return null;
144
+ switch (value.kind) {
145
+ case 'literal':
146
+ // A literal's text is a value, not SQL: quote it, unless it is plainly
147
+ // numeric or a keyword SQLite understands unquoted.
148
+ if (/^-?\d+(\.\d+)?$/.test(value.text))
149
+ return `DEFAULT ${value.text}`;
150
+ if (/^(null|true|false)$/i.test(value.text))
151
+ return `DEFAULT ${value.text.toUpperCase()}`;
152
+ return `DEFAULT ${quoteLiteral(value.text)}`;
153
+ case 'now':
154
+ return 'DEFAULT CURRENT_TIMESTAMP';
155
+ case 'uuid':
156
+ // SQLite has no uuid generator and no extension is loaded (§7 forbids
157
+ // downloading one). The column stays writable and the app supplies ids.
158
+ return null;
159
+ case 'autoincrement':
160
+ // Handled by INTEGER PRIMARY KEY — see `emitTable`.
161
+ return null;
162
+ case 'expression':
163
+ return null;
164
+ }
165
+ }
166
+ /**
167
+ * One `CREATE TABLE`.
168
+ *
169
+ * `INTEGER PRIMARY KEY` is spelled exactly so on purpose for the single-column
170
+ * integer case: it is the ONLY declaration SQLite treats as a rowid alias, which
171
+ * is what makes the column auto-assign on insert. `INT PRIMARY KEY`,
172
+ * `BIGINT PRIMARY KEY` and `INTEGER PRIMARY KEY` in a table-level clause all
173
+ * silently lose that — the column becomes an ordinary NOT NULL integer, and the
174
+ * first placeholder insert (and every later CRUD create) fails with a NOT NULL
175
+ * violation on a column the user believes is auto-generated.
176
+ */
177
+ function emitTable(table, model, nameOf) {
178
+ const warnings = [];
179
+ const parts = [];
180
+ const pk = table.primaryKey;
181
+ const rowidAlias = pk.length === 1 &&
182
+ table.columns.some((column) => column.name === pk[0] &&
183
+ (column.logicalType === 'integer' || column.logicalType === 'bigint'));
184
+ for (const column of table.columns) {
185
+ if (column.isGenerated) {
186
+ warnings.push({
187
+ code: 'generated-column-materialized',
188
+ message: `Column "${table.name}.${column.name}" is generated in the source schema. The import IR does not carry its expression, so it was created as an ordinary column.`,
189
+ tableId: table.id,
190
+ });
191
+ }
192
+ const bits = [quoteIdent(column.name)];
193
+ if (rowidAlias && column.name === pk[0]) {
194
+ // The rowid-alias spelling. NOT NULL and DEFAULT are meaningless on it
195
+ // (SQLite assigns the value) and `AUTOINCREMENT` is a different, slower
196
+ // guarantee nobody asked for.
197
+ bits.push('INTEGER PRIMARY KEY');
198
+ parts.push(bits.join(' '));
199
+ continue;
200
+ }
201
+ bits.push(columnType(column, model));
202
+ if (!column.nullable)
203
+ bits.push('NOT NULL');
204
+ if (column.isUnique && !(pk.length === 1 && column.name === pk[0]))
205
+ bits.push('UNIQUE');
206
+ const fallback = columnDefault(column);
207
+ if (fallback !== null)
208
+ bits.push(fallback);
209
+ if (column.logicalType === 'enum' && column.enumRef !== null) {
210
+ const def = model.enums.find((candidate) => candidate.id === column.enumRef);
211
+ if (def !== undefined && def.values.length > 0) {
212
+ // §2.1 `EnumDef.source: 'check'` is exactly this shape, so the
213
+ // introspector lifts it straight back into an enum on the next pass.
214
+ const values = def.values.map(quoteLiteral).join(', ');
215
+ bits.push(`CHECK (${quoteIdent(column.name)} IN (${values}))`);
216
+ }
217
+ }
218
+ parts.push(bits.join(' '));
219
+ }
220
+ if (pk.length === 0) {
221
+ warnings.push({
222
+ code: 'no-primary-key',
223
+ message: `Table "${table.name}" has no primary key. Adminium can read it, but its rows cannot be edited.`,
224
+ tableId: table.id,
225
+ });
226
+ }
227
+ else if (!rowidAlias) {
228
+ parts.push(`PRIMARY KEY (${pk.map(quoteIdent).join(', ')})`);
229
+ }
230
+ for (const unique of table.uniques) {
231
+ // A single-column unique already rode along as a column constraint above.
232
+ if (unique.columns.length === 1 && table.columns.some((c) => c.name === unique.columns[0] && c.isUnique)) {
233
+ continue;
234
+ }
235
+ parts.push(`UNIQUE (${unique.columns.map(quoteIdent).join(', ')})`);
236
+ }
237
+ for (const check of table.checks) {
238
+ // The expression is source-dialect text like the expression defaults above,
239
+ // and unlike them it cannot be dropped without changing what the schema
240
+ // MEANS. SQLite's expression grammar is close enough to both Postgres's and
241
+ // MySQL's for the overwhelming majority of real CHECKs (`amount > 0`,
242
+ // `status IN (…)`), and the transaction in `applyDdl` makes a rejection a
243
+ // clean whole-import failure with the offending statement in the message —
244
+ // not a half-created database.
245
+ parts.push(`CHECK (${check.expression})`);
246
+ }
247
+ for (const relation of model.relations) {
248
+ if (relation.kind !== 'declared-fk')
249
+ continue;
250
+ if (relation.through !== null)
251
+ continue;
252
+ if (relation.from.tableId !== table.id)
253
+ continue;
254
+ const target = nameOf(relation.to.tableId);
255
+ if (target === null) {
256
+ warnings.push({
257
+ code: 'fk-target-missing',
258
+ message: `Foreign key on "${table.name}" points at "${relation.to.tableId}", which is not in this schema. The column was created without the constraint.`,
259
+ tableId: table.id,
260
+ });
261
+ continue;
262
+ }
263
+ const from = relation.from.columns.map(quoteIdent).join(', ');
264
+ const to = relation.to.columns.map(quoteIdent).join(', ');
265
+ const actions = [
266
+ relation.onDelete === null ? '' : ` ON DELETE ${fkAction(relation.onDelete)}`,
267
+ relation.onUpdate === null ? '' : ` ON UPDATE ${fkAction(relation.onUpdate)}`,
268
+ ].join('');
269
+ parts.push(`FOREIGN KEY (${from}) REFERENCES ${quoteIdent(target)} (${to})${actions}`);
270
+ }
271
+ const name = nameOf(table.id) ?? table.name;
272
+ return {
273
+ sql: `CREATE TABLE ${quoteIdent(name)} (\n ${parts.join(',\n ')}\n)`,
274
+ warnings,
275
+ };
276
+ }
277
+ function fkAction(action) {
278
+ switch (action) {
279
+ case 'cascade':
280
+ return 'CASCADE';
281
+ case 'restrict':
282
+ return 'RESTRICT';
283
+ case 'set-null':
284
+ return 'SET NULL';
285
+ case 'set-default':
286
+ return 'SET DEFAULT';
287
+ case 'no-action':
288
+ return 'NO ACTION';
289
+ }
290
+ }
291
+ /**
292
+ * Creation order: a table's FK targets first.
293
+ *
294
+ * SQLite would actually accept any order — foreign keys are resolved lazily, and
295
+ * `PRAGMA foreign_keys` is per-connection — but the placeholder generator
296
+ * (`placeholder.ts`) needs parents to exist before children, and it reads THIS
297
+ * order rather than computing a second one that could disagree.
298
+ *
299
+ * A cycle (`a.b_id → b`, `b.a_id → a`) has no topological order at all. Rather
300
+ * than fail the import, the remaining tables are emitted in declaration order
301
+ * and the cycle is reported: the DDL is still correct, and only the seeding of
302
+ * those tables is affected (the generator skips the nullable side).
303
+ */
304
+ export function orderTables(model) {
305
+ const tables = model.tables.filter((table) => table.kind === 'table');
306
+ const byId = new Map(tables.map((table) => [table.id, table]));
307
+ const dependencies = new Map(tables.map((table) => [table.id, new Set()]));
308
+ for (const relation of model.relations) {
309
+ if (relation.kind !== 'declared-fk' || relation.through !== null)
310
+ continue;
311
+ if (relation.selfReferential)
312
+ continue;
313
+ if (!byId.has(relation.from.tableId) || !byId.has(relation.to.tableId))
314
+ continue;
315
+ dependencies.get(relation.from.tableId)?.add(relation.to.tableId);
316
+ }
317
+ const order = [];
318
+ const emitted = new Set();
319
+ let progress = true;
320
+ while (progress && order.length < tables.length) {
321
+ progress = false;
322
+ for (const table of tables) {
323
+ if (emitted.has(table.id))
324
+ continue;
325
+ const needs = dependencies.get(table.id) ?? new Set();
326
+ if ([...needs].every((id) => emitted.has(id))) {
327
+ order.push(table);
328
+ emitted.add(table.id);
329
+ progress = true;
330
+ }
331
+ }
332
+ }
333
+ const warnings = [];
334
+ const stuck = tables.filter((table) => !emitted.has(table.id));
335
+ if (stuck.length > 0) {
336
+ warnings.push({
337
+ code: 'circular-fk',
338
+ message: `Circular foreign keys between ${stuck.map((table) => `"${table.name}"`).join(', ')}. The tables were created, but sample rows were not generated for them.`,
339
+ tableId: null,
340
+ });
341
+ order.push(...stuck);
342
+ }
343
+ return { order, warnings };
344
+ }
345
+ /**
346
+ * Are two tables' names distinguishable without their schema?
347
+ *
348
+ * SQLite has one namespace, so `public.users` and `audit.users` cannot both be
349
+ * `users`. Prefixing is the fix, and prefixing ALWAYS is the trap: a
350
+ * single-schema Postgres dump (the common case by a wide margin) would produce
351
+ * `public_users`, and every generated page, slug and nav label in the app would
352
+ * carry a namespace the user never typed and cannot remove.
353
+ */
354
+ function needsSchemaPrefix(tables) {
355
+ const seen = new Set();
356
+ for (const table of tables) {
357
+ if (seen.has(table.name))
358
+ return true;
359
+ seen.add(table.name);
360
+ }
361
+ return false;
362
+ }
363
+ /** Translate a parsed schema into the statements that recreate it in SQLite. */
364
+ export function emitSqliteDdl(model) {
365
+ const { order, warnings } = orderTables(model);
366
+ const prefix = needsSchemaPrefix(order);
367
+ const nameOf = (id) => {
368
+ const table = order.find((candidate) => candidate.id === id);
369
+ if (table === undefined)
370
+ return null;
371
+ return prefix ? `${table.schema}_${table.name}` : table.name;
372
+ };
373
+ const statements = [];
374
+ const allWarnings = [...warnings];
375
+ for (const view of model.tables.filter((table) => table.kind !== 'table')) {
376
+ allWarnings.push({
377
+ code: 'view-skipped',
378
+ message: `"${view.name}" is a ${view.kind === 'view' ? 'view' : 'materialized view'}. A schema file records its columns but not its query, so it was not recreated.`,
379
+ tableId: view.id,
380
+ });
381
+ }
382
+ for (const table of order) {
383
+ const emitted = emitTable(table, model, nameOf);
384
+ statements.push(emitted.sql);
385
+ allWarnings.push(...emitted.warnings);
386
+ }
387
+ // Indexes after every table exists — an index statement names exactly one
388
+ // table, so the ordering is cosmetic, but keeping DDL grouped by kind makes
389
+ // the transaction readable in a log when one statement is rejected.
390
+ for (const table of order) {
391
+ const name = nameOf(table.id) ?? table.name;
392
+ for (const index of table.indexes) {
393
+ if (index.primary)
394
+ continue; // already the PRIMARY KEY clause
395
+ if (index.columns.length === 0 || index.expression !== null || index.partial) {
396
+ allWarnings.push({
397
+ code: 'expression-index-skipped',
398
+ message: `Index "${index.name}" on "${table.name}" is a partial or expression index. Those are written in the source engine's dialect, so it was not recreated.`,
399
+ tableId: table.id,
400
+ });
401
+ continue;
402
+ }
403
+ // Index names are unique per DATABASE in SQLite, not per table (they are
404
+ // per-schema in Postgres). Two tables with an `idx_created_at` are an
405
+ // ordinary Postgres schema and a duplicate-name error here, so the table
406
+ // name is folded in.
407
+ const indexName = `${name}_${index.name}`;
408
+ const unique = index.unique ? 'UNIQUE ' : '';
409
+ const columns = index.columns.map(quoteIdent).join(', ');
410
+ statements.push(`CREATE ${unique}INDEX IF NOT EXISTS ${quoteIdent(indexName)} ON ${quoteIdent(name)} (${columns})`);
411
+ }
412
+ }
413
+ return {
414
+ statements,
415
+ warnings: allWarnings,
416
+ tables: order.map((table) => nameOf(table.id) ?? table.name),
417
+ };
418
+ }
419
+ //# sourceMappingURL=sqlite-ddl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-ddl.js","sourceRoot":"","sources":["../../../src/routes/desktop-local-db/sqlite-ddl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { FastifyPluginAsyncZod } from 'fastify-type-provider-zod';
2
+ import { type MetaDb } from '@adminium/meta';
3
+ export interface EmailTemplatesRoutesDeps {
4
+ meta: MetaDb;
5
+ }
6
+ export declare function emailTemplatesRoutes(deps: EmailTemplatesRoutesDeps): FastifyPluginAsyncZod;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/email-templates/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAA0C,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAYrF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,qBAAqB,CA4D1F"}