@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,167 @@
1
+ /**
2
+ * LLM page-row materialization (06-llm-assist.md §8.3 step 3).
3
+ *
4
+ * The apply executor seeds `origin: 'llm'` page rows with a minimal config —
5
+ * `{source, llmRunId}` for template pages, `{domain, tables, layout, source,
6
+ * llmRunId}` for dashboards — and defers the full §6.1 envelope to "the
7
+ * regeneration hook". This module IS that expansion. `runGeneration` calls it
8
+ * after every persist, so the post-apply hook AND any manual regeneration
9
+ * repair seed rows into envelopes the client can parse; `upsertGenerated`
10
+ * itself never touches non-generated origins (user delta wins, 04 §6.3), so
11
+ * without this pass a seed row would stay an invalid-config card forever.
12
+ *
13
+ * Failure is per-row and non-fatal: a table that is excluded from the run, a
14
+ * template whose required slot cannot fill, or an envelope the frozen contract
15
+ * rejects leaves the seed's config untouched, records a warning on the run,
16
+ * and DISABLES the row — a parked page beats the invalid-config card the
17
+ * client would otherwise render forever. Every later run retries; success
18
+ * re-enables.
19
+ *
20
+ * A successful expansion also syncs the ROW's nav projection (title, nav
21
+ * group, icon back-fill) from the validated envelope: the bootstrap tree and
22
+ * the client's `/p/$slug` resolver read the row columns, not the document, so
23
+ * without the sync a materialized llm page would stay invisible and
24
+ * unreachable. An §8.3 nav-group re-placement still wins — the envelope
25
+ * follows the row's group when one was stamped.
26
+ */
27
+ import { composeRequestedArchetype, hashEnvelope } from '@adminium/engine';
28
+ import { pageEnvelopeSchema, widgetConfigSchema } from '@adminium/engine/config';
29
+ import { pagesRepo } from '@adminium/meta';
30
+ /** A stored config counts as materialized once it carries the envelope `v`. */
31
+ function isEnvelope(config) {
32
+ return typeof config === 'object' && config !== null && 'v' in config;
33
+ }
34
+ function seedOf(page) {
35
+ return typeof page.config === 'object' && page.config !== null
36
+ ? page.config
37
+ : {};
38
+ }
39
+ /** The seed's bound table (`config.source.table`), or null. */
40
+ function seedTable(seed) {
41
+ const source = seed['source'];
42
+ if (typeof source !== 'object' || source === null)
43
+ return null;
44
+ const table = source['table'];
45
+ return typeof table === 'string' ? table : null;
46
+ }
47
+ /** Compose the §14 archetype envelope a template-page seed asked for. */
48
+ function templateEnvelope(page, seed, model, connectionId) {
49
+ const table = seedTable(seed);
50
+ if (table === null)
51
+ return { envelope: null, reason: 'seed carries no source.table' };
52
+ const built = composeRequestedArchetype(model, table, page.type, {
53
+ connectionId,
54
+ slug: page.slug,
55
+ id: page.id,
56
+ navOrder: page.navOrder,
57
+ });
58
+ if (built.envelope === null) {
59
+ const detail = built.warnings.map((w) => w.message).join('; ');
60
+ return {
61
+ envelope: null,
62
+ reason: detail || `table ${table} is not part of this run (excluded/system/join)`,
63
+ };
64
+ }
65
+ // The row's nav column is authoritative for the tree; a §8.3 nav-group write
66
+ // may have re-placed the row after seeding, so the envelope follows the row.
67
+ const nav = built.envelope['nav'];
68
+ if (page.navGroup !== null)
69
+ nav['group'] = page.navGroup;
70
+ return { envelope: built.envelope, reason: '' };
71
+ }
72
+ /** Wrap a dashboard seed's bound layout (§8.3 `dashboard`+`widget`) per §6.1. */
73
+ function dashboardEnvelope(page, seed, connectionId) {
74
+ const layout = seed['layout'];
75
+ if (typeof layout !== 'object' || layout === null) {
76
+ return { envelope: null, reason: 'seed carries no config.layout' };
77
+ }
78
+ return {
79
+ reason: '',
80
+ envelope: {
81
+ v: 1,
82
+ kind: 'dashboard',
83
+ id: page.id,
84
+ template: 'page-dashboard',
85
+ title: { key: `nav.${page.slug}`, fallback: page.title },
86
+ source: { connectionId, table: null },
87
+ nav: {
88
+ group: page.navGroup ?? 'workspace',
89
+ icon: page.icon ?? 'layout-dashboard',
90
+ order: page.navOrder,
91
+ slug: page.slug,
92
+ },
93
+ access: { minRole: 'viewer', permissions: [] },
94
+ config: {
95
+ domain: seed['domain'] ?? null,
96
+ tables: seed['tables'] ?? [],
97
+ layout,
98
+ },
99
+ },
100
+ };
101
+ }
102
+ /**
103
+ * Expand every still-seed `origin: 'llm'` page row of a connection into a
104
+ * validated §6.1 envelope. Idempotent — materialized rows (config carries `v`)
105
+ * are never re-touched, so a user's later layout edits survive regeneration.
106
+ */
107
+ export async function materializeLlmPages(opts) {
108
+ const repo = pagesRepo(opts.meta);
109
+ const result = { materialized: [], warnings: [] };
110
+ /** Park a seed that cannot compose: warn + hide it from nav/GET until a run succeeds. */
111
+ const park = async (page, reason) => {
112
+ result.warnings.push(`llm page ${page.id} (${page.slug}) not materialized — ${reason}; page disabled until a regeneration can compose it`);
113
+ if (page.isEnabled) {
114
+ await repo.setEnabled(page.id, false, opts.at ?? Date.now());
115
+ }
116
+ };
117
+ for (const page of await repo.listForConnection(opts.connectionId)) {
118
+ if (page.origin !== 'llm' || isEnvelope(page.config))
119
+ continue;
120
+ const seed = seedOf(page);
121
+ const { envelope, reason } = page.type === 'page-dashboard'
122
+ ? dashboardEnvelope(page, seed, opts.connectionId)
123
+ : templateEnvelope(page, seed, opts.model, opts.connectionId);
124
+ if (envelope === null) {
125
+ await park(page, reason);
126
+ continue;
127
+ }
128
+ // Provenance survives the expansion; the hash goes on last (it excludes
129
+ // only itself), then the frozen contract gets the final word.
130
+ const config = envelope['config'];
131
+ config['llmRunId'] = seed['llmRunId'] ?? null;
132
+ config['generatedHash'] = hashEnvelope(envelope);
133
+ const parsed = pageEnvelopeSchema.safeParse(envelope);
134
+ if (!parsed.success) {
135
+ const first = parsed.error.issues[0];
136
+ await park(page, `envelope invalid: ${first?.message ?? 'unknown'}`);
137
+ continue;
138
+ }
139
+ if (parsed.data.kind === 'dashboard') {
140
+ const layout = parsed.data.config['layout'];
141
+ const bad = layout.items.find((item) => !widgetConfigSchema.safeParse(item).success);
142
+ if (bad !== undefined) {
143
+ await park(page, 'a layout item fails the widget contract');
144
+ continue;
145
+ }
146
+ }
147
+ // Sync the row's nav projection (title/group/icon) from the envelope: the
148
+ // bootstrap tree and the `/p/$slug` resolver read the ROW columns, so a
149
+ // seed left with its apply-time `nav_group` (null, or an §8.3 llm group
150
+ // slug) would materialize into an unreachable page. The envelope already
151
+ // encodes the §8.3 precedence — a nav-group write on the row wins,
152
+ // otherwise the archetype's fixed group — so the row simply follows it.
153
+ const icon = envelope['nav']['icon'];
154
+ await repo.replaceConfig(page.id, parsed.data, {
155
+ icon: typeof icon === 'string' ? icon : null,
156
+ title: parsed.data.title.fallback,
157
+ navGroup: parsed.data.nav.group,
158
+ ...(opts.at === undefined ? {} : { at: opts.at }),
159
+ });
160
+ if (!page.isEnabled) {
161
+ await repo.setEnabled(page.id, true, opts.at ?? Date.now());
162
+ }
163
+ result.materialized.push(page.id);
164
+ }
165
+ return result;
166
+ }
167
+ //# sourceMappingURL=materialize-llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialize-llm.js","sourceRoot":"","sources":["../../src/generate/materialize-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAA0B,MAAM,gBAAgB,CAAC;AAQnE,+EAA+E;AAC/E,SAAS,UAAU,CAAC,MAAe;IACjC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,IAAK,MAAkC,CAAC;AACrG,CAAC;AAED,SAAS,MAAM,CAAC,IAAU;IACxB,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAC5D,CAAC,CAAE,IAAI,CAAC,MAAkC;QAC1C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAAC,IAA6B;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,KAAK,GAAI,MAAkC,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,yEAAyE;AACzE,SAAS,gBAAgB,CACvB,IAAU,EACV,IAA6B,EAC7B,KAAoB,EACpB,YAAoB;IAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IACtF,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;QAC/D,YAAY;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM,IAAI,SAAS,KAAK,iDAAiD;SAClF,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAA4B,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,iFAAiF;AACjF,SAAS,iBAAiB,CACxB,IAAU,EACV,IAA6B,EAC7B,YAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;IACrE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;YACxD,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;YACrC,GAAG,EAAE;gBACH,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,WAAW;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,kBAAkB;gBACrC,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;YAC9C,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI;gBAC9B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC5B,MAAM;aACP;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAKzC;IACC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAyB,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAExE,yFAAyF;IACzF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAU,EAAE,MAAc,EAAiB,EAAE;QAC/D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,wBAAwB,MAAM,qDAAqD,CACrH,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GACxB,IAAI,CAAC,IAAI,KAAK,gBAAgB;YAC5B,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;YAClD,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAA4B,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC9C,MAAM,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,EAAE,qBAAqB,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAyB,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YACrF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;gBAC5D,SAAS;YACX,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,wEAAwE;QACxE,MAAM,IAAI,GAAI,QAAQ,CAAC,KAAK,CAA6B,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;YAC7C,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Generation pipeline glue (M4-T08): latest classified snapshot (introspect
3
+ * first when none) → `generatePages()` (@adminium/engine) → validate every
4
+ * envelope against the frozen config contract (the server is the single
5
+ * write-time validator, 01-architecture.md §6.1) → persist idempotently via
6
+ * `pagesRepo.upsertGenerated`.
7
+ *
8
+ * Pure orchestration — no Fastify types here so the demo script and tests
9
+ * can drive it directly.
10
+ */
11
+ import { type DatabaseModel, type GenerateIntent } from '@adminium/engine';
12
+ import { type PageEnvelope } from '@adminium/engine/config';
13
+ import { type GeneratedPageInput, type MetaDb, type UpsertGeneratedResult } from '@adminium/meta';
14
+ import type { ConnectionManager } from '../connections/manager.js';
15
+ export interface RunGenerationOptions {
16
+ manager: ConnectionManager;
17
+ meta: MetaDb;
18
+ connectionId: string;
19
+ createdBy?: string | null | undefined;
20
+ /** Overrides the connection's stored intent for this run (09 §8.4). */
21
+ intent?: GenerateIntent | undefined;
22
+ }
23
+ export interface GenerationRunResult {
24
+ snapshotId: string;
25
+ /** True when a fresh introspection ran because no snapshot existed. */
26
+ introspected: boolean;
27
+ intent: GenerateIntent;
28
+ pages: PageEnvelope[];
29
+ navGroups: string[];
30
+ warnings: string[];
31
+ persistence: UpsertGeneratedResult;
32
+ /** `origin: 'llm'` seed rows expanded into envelopes this run (06 §8.3). */
33
+ llmPagesMaterialized: number;
34
+ durationMs: number;
35
+ }
36
+ /**
37
+ * M5-T02 table inclusion: when the wizard persisted
38
+ * `settings.includedTables` (PATCH /connections/:id), restrict the model to
39
+ * that set before generation. Join/system tables stay in the graph (they
40
+ * power M2M detection and are never paged anyway); relations and FK mirrors
41
+ * that point at excluded tables are dropped so envelopes cannot reference
42
+ * pages that will not exist.
43
+ */
44
+ export declare function filterModelToIncludedTables(model: DatabaseModel, includedTables: readonly string[] | undefined): DatabaseModel;
45
+ /** Envelope → the opaque row shape `pagesRepo` persists. */
46
+ export declare function toGeneratedPageInput(envelope: PageEnvelope): GeneratedPageInput;
47
+ export declare function runGeneration(opts: RunGenerationOptions): Promise<GenerationRunResult>;
48
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/generate/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,uEAAuE;IACvE,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,qBAAqB,CAAC;IACnC,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC5C,aAAa,CAwBf;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAW/E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgF5F"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Generation pipeline glue (M4-T08): latest classified snapshot (introspect
3
+ * first when none) → `generatePages()` (@adminium/engine) → validate every
4
+ * envelope against the frozen config contract (the server is the single
5
+ * write-time validator, 01-architecture.md §6.1) → persist idempotently via
6
+ * `pagesRepo.upsertGenerated`.
7
+ *
8
+ * Pure orchestration — no Fastify types here so the demo script and tests
9
+ * can drive it directly.
10
+ */
11
+ import { generatePages, hashEnvelope, parseDatabaseModel, } from '@adminium/engine';
12
+ import { pageEnvelopeSchema } from '@adminium/engine/config';
13
+ import { overridesRepo, pagesRepo, snapshotsRepo, } from '@adminium/meta';
14
+ import { activeTableLabels } from '../connections/effective-schema.js';
15
+ import { runIntrospection } from '../connections/introspect.js';
16
+ import { materializeLlmPages } from './materialize-llm.js';
17
+ /**
18
+ * M5-T02 table inclusion: when the wizard persisted
19
+ * `settings.includedTables` (PATCH /connections/:id), restrict the model to
20
+ * that set before generation. Join/system tables stay in the graph (they
21
+ * power M2M detection and are never paged anyway); relations and FK mirrors
22
+ * that point at excluded tables are dropped so envelopes cannot reference
23
+ * pages that will not exist.
24
+ */
25
+ export function filterModelToIncludedTables(model, includedTables) {
26
+ if (includedTables === undefined || includedTables.length === 0)
27
+ return model;
28
+ const keep = new Set(includedTables);
29
+ const tables = model.tables.filter((table) => keep.has(table.id) || table.system || table.semantics?.role === 'join-table');
30
+ const ids = new Set(tables.map((table) => table.id));
31
+ return {
32
+ ...model,
33
+ tables: tables.map((table) => ({
34
+ ...table,
35
+ columns: table.columns.map((column) => column.references !== null && !ids.has(column.references.tableId)
36
+ ? { ...column, references: null }
37
+ : column),
38
+ })),
39
+ relations: model.relations.filter((relation) => ids.has(relation.from.tableId) &&
40
+ ids.has(relation.to.tableId) &&
41
+ (relation.through === null || ids.has(relation.through.tableId))),
42
+ };
43
+ }
44
+ /** Envelope → the opaque row shape `pagesRepo` persists. */
45
+ export function toGeneratedPageInput(envelope) {
46
+ return {
47
+ id: envelope.id,
48
+ slug: envelope.nav.slug ?? envelope.id.replace(/^page_/, ''),
49
+ type: envelope.template,
50
+ title: envelope.title.fallback,
51
+ icon: envelope.nav.icon,
52
+ navGroup: envelope.nav.group,
53
+ navOrder: envelope.nav.order,
54
+ config: envelope,
55
+ };
56
+ }
57
+ export async function runGeneration(opts) {
58
+ const { manager, meta, connectionId } = opts;
59
+ const startedAt = Date.now();
60
+ const snapshots = snapshotsRepo(meta);
61
+ const connection = await manager.mustFind(connectionId);
62
+ const intent = opts.intent ?? connection.settings.intent ?? 'full-admin';
63
+ let snapshot = await snapshots.latest(connectionId);
64
+ let introspected = false;
65
+ if (snapshot === null) {
66
+ const result = await runIntrospection({
67
+ manager,
68
+ meta,
69
+ connectionId,
70
+ createdBy: opts.createdBy ?? null,
71
+ });
72
+ snapshot = result.snapshot;
73
+ introspected = true;
74
+ }
75
+ // Snapshots store the classified model (connections/introspect.ts).
76
+ const model = filterModelToIncludedTables(parseDatabaseModel(snapshot.schema), connection.settings.includedTables);
77
+ // Overlay effective table labels (user `table.label` > accepted `llm.label`,
78
+ // provenance 06 §8.3) onto the parsed model BEFORE generation, so every
79
+ // renamed table's page titles — and through `adminium_pages`, the sidebar
80
+ // nav — carry the rename. The stored snapshot stays label-free; this is a
81
+ // per-run, in-memory attachment. L10n bundles resolve to the connection's
82
+ // default locale (en_US in v1).
83
+ const overrides = await overridesRepo(meta).listForConnection(connectionId, { status: 'active' });
84
+ const labels = activeTableLabels(overrides);
85
+ if (labels.size > 0) {
86
+ for (const table of model.tables) {
87
+ const label = labels.get(table.id);
88
+ if (label !== undefined)
89
+ table.label = label;
90
+ }
91
+ }
92
+ const { pages, warnings } = generatePages(model, { connectionId, intent });
93
+ // Belt and braces: the engine validated on emit; the server re-validates
94
+ // at the write boundary because it is the single write-time authority.
95
+ const validated = pages.map((page) => pageEnvelopeSchema.parse(page));
96
+ const persistence = await pagesRepo(meta).upsertGenerated(connectionId, validated.map(toGeneratedPageInput),
97
+ // `hashEnvelope` arms the H5 edited-page guard (04 §6.3 "user delta wins"):
98
+ // stored documents whose embedded generatedHash went stale were edited by a
99
+ // human and are skipped, not overwritten.
100
+ { snapshotId: snapshot.id, createdBy: opts.createdBy ?? null, hashEnvelope });
101
+ for (const id of persistence.skippedEdited) {
102
+ warnings.push(`page ${id} was edited after generation — kept as-is (user delta wins, 04 §6.3)`);
103
+ }
104
+ for (const id of persistence.keptEdited) {
105
+ warnings.push(`page ${id} is no longer generated but was edited by hand — kept instead of pruned (user delta wins, 04 §6.3)`);
106
+ }
107
+ // §8.3 step 3 tail: expand `origin: 'llm'` seed rows into real envelopes.
108
+ const llm = await materializeLlmPages({ meta, model, connectionId });
109
+ warnings.push(...llm.warnings);
110
+ const navGroups = [...new Set(validated.map((page) => page.nav.group))];
111
+ return {
112
+ snapshotId: snapshot.id,
113
+ introspected,
114
+ intent,
115
+ pages: validated,
116
+ navGroups,
117
+ warnings,
118
+ persistence,
119
+ llmPagesMaterialized: llm.materialized.length,
120
+ durationMs: Date.now() - startedAt,
121
+ };
122
+ }
123
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/generate/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,GAId,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAyB3D;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAoB,EACpB,cAA6C;IAE7C,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,KAAK,YAAY,CACxF,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,KAAK;YACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC/D,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjC,CAAC,CAAC,MAAM,CACX;SACF,CAAC,CAAC;QACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CACX,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;YAC5B,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACnE;KACF,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5D,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAC9B,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI;QACvB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;QAC5B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;QAC5B,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC5D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC;IAEzE,IAAI,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,OAAO;YACP,IAAI;YACJ,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;SAClC,CAAC,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,2BAA2B,CACvC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EACnC,UAAU,CAAC,QAAQ,CAAC,cAAc,CACnC,CAAC;IAEF,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3E,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CACvD,YAAY,EACZ,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACnC,4EAA4E;IAC5E,4EAA4E;IAC5E,0CAA0C;IAC1C,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,YAAY,EAAE,CAC7E,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,sEAAsE,CAAC,CAAC;IAClG,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CACX,QAAQ,EAAE,oGAAoG,CAC/G,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,YAAY;QACZ,MAAM;QACN,KAAK,EAAE,SAAS;QAChB,SAAS;QACT,QAAQ;QACR,WAAW;QACX,oBAAoB,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM;QAC7C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACnC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,89 @@
1
+ export { buildLogger, buildServer, REDACT_PATHS, type AdminiumServer, type BuildLoggerOptions, type BuildServerOptions, } from './app.js';
2
+ export { start, type StartOptions } from './start.js';
3
+ export { AppError, ConflictError, errorEnvelope, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError, ValidationFailedError, type ErrorCode, type ErrorEnvelope, } from './errors.js';
4
+ export { API_PREFIX, registerRoutes } from './routes/index.js';
5
+ export { corePlugin, type CorePluginOptions } from './plugins/core.js';
6
+ export { staticPlugin, type StaticPluginOptions } from './plugins/static.js';
7
+ export { metaDialect, systemHealthzReply, systemInfoReply, type SystemHealthzReply, type SystemInfoReply, } from './routes/system/schema.js';
8
+ export { APP_VERSION } from './version.js';
9
+ export { EnvValidationError, LOG_LEVELS, envSchema, formatEnvErrorTable, loadEnv, type Env, type EnvWriter, } from './config/env.js';
10
+ export { ENC_TOKEN_PREFIX, SecretFormatError, SecretIntegrityError, decryptSecret, deriveKey, encryptSecret, isEncryptedSecret, } from './config/secrets.js';
11
+ export { BOOTSTRAP_FILENAME, BootstrapFileError, bootstrapPath, bootstrapSchema, readBootstrap, writeBootstrap, type Bootstrap, } from './config/bootstrap.js';
12
+ /**
13
+ * THE COMPOSITION ROOT (see `compose.ts`) — the complete server, not the
14
+ * skeleton.
15
+ *
16
+ * `buildServer` above is exported and `composeServer` was not, which made the
17
+ * public API of this package a trap: the only documented way in built the six
18
+ * `/api/v1` namespaces that need no injected services and silently omitted the
19
+ * other eleven the dashboard calls. That is precisely the M10 bug — a hollow API
20
+ * whose connect wizard 404s — and 11-electron.md §3 walks the next wrapper
21
+ * straight into it by describing the Electron entry as importing "the exported
22
+ * `buildServer()` factory". Exporting the real root is what lets that wrapper be
23
+ * correct: 01 §4's "only the wrapper differs" requires the thing that does not
24
+ * differ to be reachable from outside.
25
+ */
26
+ export { composeServer, TELEMETRY_CRON, TELEMETRY_JITTER_MS, TELEMETRY_SCHEDULE_NAME, type ComposedServer, type ComposeServerOptions, } from './compose.js';
27
+ /**
28
+ * The idempotent boot bootstrap (07-meta-store.md §6) — re-exported, not
29
+ * re-implemented.
30
+ *
31
+ * `cli/commands/start.ts` imports `firstRun` straight from `@adminium/meta`
32
+ * because it lives INSIDE this package. A wrapper outside it cannot: the
33
+ * 01-architecture.md §2.3 matrix gives `@adminium/desktop` exactly two inputs,
34
+ * "`@adminium/server` (spawned)" and "dashboard build output", so the Electron
35
+ * utilityProcess entry has no legal path to `@adminium/meta`. Without this line
36
+ * its only options are to grow a banned dependency edge or to call
37
+ * `applyMigrations` instead — and the second one is the M10 bug: migrations
38
+ * create `adminium_roles` but nothing in the ledger SEEDS it, so a
39
+ * migrate-only boot serves a first-run wizard whose `POST /setup/super-admin`
40
+ * dies in `createFirstSuperAdmin` ("built-in roles missing") permanently, the
41
+ * claim row rolling back with every retry. On desktop that wizard is the app's
42
+ * front door (11-electron.md §6), so the very first launch would dead-end.
43
+ *
44
+ * `firstRun` is the documented "safe to run at every boot" entry point: migrate,
45
+ * seed the built-in roles, seed `system.*`. Exporting it makes the correct call
46
+ * the reachable one for every wrapper, which is the whole point of 01 §4's "only
47
+ * the wrapper differs".
48
+ */
49
+ export { firstRun, type FirstRunResult } from '@adminium/meta';
50
+ /**
51
+ * The newest migration this build ships (11-electron.md §9, 11-T12).
52
+ *
53
+ * Re-exported for the same reason `firstRun` above is: the Electron
54
+ * utilityProcess entry has no legal path to `@adminium/meta` (01 §2.3 gives
55
+ * `@adminium/desktop` exactly two inputs), and it needs this string to tell the
56
+ * main process how new the app is — which is what lets main refuse a backup
57
+ * whose `metaMigrationVersion` is newer than itself BEFORE it moves any data
58
+ * aside. Computed here rather than restated, so it cannot fall behind the
59
+ * ledger it names.
60
+ */
61
+ export declare const LATEST_META_MIGRATION: string;
62
+ export { BACKUP_CONFIG_PATH, BACKUP_DATABASES_DIR, BACKUP_FILE_PATTERN, BACKUP_FORMAT_VERSION, BACKUP_MANIFEST_PATH, BACKUP_META_PATH, BACKUP_SLUG_PATTERN, PRE_RESTORE_PREFIX, backupDatabasePath, backupFileName, backupManifestSchema, compareMetaMigrationVersion, deriveDatabaseSlug, preRestoreDirName, sha256Hex, uniqueSlug, type BackupDatabaseEntry, type BackupExternalDatabase, type BackupLocalDatabase, type BackupManifest, type BackupMetaEntry, type BackupVersionOrder, } from './backup/format.js';
63
+ export { BACKUPS_DIR, BACKUP_STAGING_DIR, BackupRedactionError, DEFAULT_AUTO_BACKUP_KEEP, createBackup, rotateBackups, rotateBackupsOnDisk, type CreateBackupOptions, type CreateBackupResult, type RotateBackupsResult, } from './backup/backup-service.js';
64
+ export { BACKUP_NOTIFICATION_KIND } from './backup/notify.js';
65
+ /**
66
+ * The session cookie's name (08-server-api.md §2.1).
67
+ *
68
+ * Exported because the Electron main process has to send it: §9's backup route
69
+ * is session-guarded and main calls it carrying the WINDOW'S cookie, read out of
70
+ * Electron's own cookie jar (`main/index.ts`'s `electronBackupTransport`). Main
71
+ * cannot import this at runtime — that would load Fastify into the main process
72
+ * to read a string — so it restates the name and pins it here with a test.
73
+ */
74
+ export { SESSION_COOKIE } from './auth/sessions.js';
75
+ export { desktopRoutes, type DesktopRoutesDeps } from './routes/desktop/index.js';
76
+ export { desktopBackupBody, desktopBackupReply, type DesktopBackupBody, type DesktopBackupReply, } from './routes/desktop/schema.js';
77
+ export { desktopCapabilityRoutes, type DesktopCapabilityRoutesDeps, } from './routes/desktop-capabilities/index.js';
78
+ export { capabilityIdSchema, isKnownCapabilityId, KNOWN_CAPABILITY_IDS, type KnownCapabilityId, } from './capabilities/catalog.js';
79
+ export type { CapabilityGrant } from '@adminium/meta';
80
+ export { META_URL_KEY_SALT, MetaDriverMissingError, MetaUrlError, connectMetaStore, embeddedMetaWarning, metaEngineFromUrl, metaUrlCryptoFromSecret, openMetaStore, resolveMetaUrl, sqlitePathFromUrl, type ConnectMetaStoreOptions, type MetaEngine, type MetaStoreHandle, type MetaUrlCrypto, type MetaUrlSource, type ResolveMetaUrlOptions, type ResolvedMetaUrl, } from './meta/store.js';
81
+ export { COMMANDS, findCommand, runCli, type RunCliOptions } from './cli/run.js';
82
+ export { defaultCliDeps, displayUrl, loadCliEnv, openRuntime, startServer, type CliDeps, type CliRuntime, type EnvOverrides, type OpenRuntimeOptions, type StartedServer, } from './cli/runtime.js';
83
+ export { BUNDLED_DASHBOARD_DIR, resolveStaticRoot, staticRootCandidates } from './cli/static-root.js';
84
+ export { CliError, CliUsageError, EXIT_ERROR, EXIT_NOTHING_ACCEPTED, EXIT_OK, EXIT_VALIDATION_FAILED, type ExitCode, } from './cli/exit.js';
85
+ export { EXPORT_ZIP_MANIFEST_VERSION, exportZip, type ExportZip, type ExportZipOptions, type ExportZipResult, } from './export/zip-service.js';
86
+ export { ImportZipError, importZip, type ImportZip, type ImportZipOptions, type ImportZipResult, } from './export/import-service.js';
87
+ export { PlaintextSecretError } from './export/redaction.js';
88
+ export type { BundleManifest, ConfigBundle } from './export/bundle.js';
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @adminium/server — Fastify 5 application (08-server-api.md §1) plus the M0
3
+ * config layer (env, secrets, bootstrap file). `buildServer()` assembles the
4
+ * app; `start()` runs the boot sequence and listens (01-architecture.md §8.1 —
5
+ * meta connect/migration gates join in a later wave).
6
+ */
7
+ import { ALL_MIGRATIONS } from '@adminium/meta';
8
+ export { buildLogger, buildServer, REDACT_PATHS, } from './app.js';
9
+ export { start } from './start.js';
10
+ export { AppError, ConflictError, errorEnvelope, ForbiddenError, NotFoundError, RateLimitedError, UnauthorizedError, ValidationFailedError, } from './errors.js';
11
+ export { API_PREFIX, registerRoutes } from './routes/index.js';
12
+ export { corePlugin } from './plugins/core.js';
13
+ export { staticPlugin } from './plugins/static.js';
14
+ export { metaDialect, systemHealthzReply, systemInfoReply, } from './routes/system/schema.js';
15
+ export { APP_VERSION } from './version.js';
16
+ export { EnvValidationError, LOG_LEVELS, envSchema, formatEnvErrorTable, loadEnv, } from './config/env.js';
17
+ export { ENC_TOKEN_PREFIX, SecretFormatError, SecretIntegrityError, decryptSecret, deriveKey, encryptSecret, isEncryptedSecret, } from './config/secrets.js';
18
+ export { BOOTSTRAP_FILENAME, BootstrapFileError, bootstrapPath, bootstrapSchema, readBootstrap, writeBootstrap, } from './config/bootstrap.js';
19
+ /**
20
+ * THE COMPOSITION ROOT (see `compose.ts`) — the complete server, not the
21
+ * skeleton.
22
+ *
23
+ * `buildServer` above is exported and `composeServer` was not, which made the
24
+ * public API of this package a trap: the only documented way in built the six
25
+ * `/api/v1` namespaces that need no injected services and silently omitted the
26
+ * other eleven the dashboard calls. That is precisely the M10 bug — a hollow API
27
+ * whose connect wizard 404s — and 11-electron.md §3 walks the next wrapper
28
+ * straight into it by describing the Electron entry as importing "the exported
29
+ * `buildServer()` factory". Exporting the real root is what lets that wrapper be
30
+ * correct: 01 §4's "only the wrapper differs" requires the thing that does not
31
+ * differ to be reachable from outside.
32
+ */
33
+ export { composeServer, TELEMETRY_CRON, TELEMETRY_JITTER_MS, TELEMETRY_SCHEDULE_NAME, } from './compose.js';
34
+ /**
35
+ * The idempotent boot bootstrap (07-meta-store.md §6) — re-exported, not
36
+ * re-implemented.
37
+ *
38
+ * `cli/commands/start.ts` imports `firstRun` straight from `@adminium/meta`
39
+ * because it lives INSIDE this package. A wrapper outside it cannot: the
40
+ * 01-architecture.md §2.3 matrix gives `@adminium/desktop` exactly two inputs,
41
+ * "`@adminium/server` (spawned)" and "dashboard build output", so the Electron
42
+ * utilityProcess entry has no legal path to `@adminium/meta`. Without this line
43
+ * its only options are to grow a banned dependency edge or to call
44
+ * `applyMigrations` instead — and the second one is the M10 bug: migrations
45
+ * create `adminium_roles` but nothing in the ledger SEEDS it, so a
46
+ * migrate-only boot serves a first-run wizard whose `POST /setup/super-admin`
47
+ * dies in `createFirstSuperAdmin` ("built-in roles missing") permanently, the
48
+ * claim row rolling back with every retry. On desktop that wizard is the app's
49
+ * front door (11-electron.md §6), so the very first launch would dead-end.
50
+ *
51
+ * `firstRun` is the documented "safe to run at every boot" entry point: migrate,
52
+ * seed the built-in roles, seed `system.*`. Exporting it makes the correct call
53
+ * the reachable one for every wrapper, which is the whole point of 01 §4's "only
54
+ * the wrapper differs".
55
+ */
56
+ export { firstRun } from '@adminium/meta';
57
+ /**
58
+ * The newest migration this build ships (11-electron.md §9, 11-T12).
59
+ *
60
+ * Re-exported for the same reason `firstRun` above is: the Electron
61
+ * utilityProcess entry has no legal path to `@adminium/meta` (01 §2.3 gives
62
+ * `@adminium/desktop` exactly two inputs), and it needs this string to tell the
63
+ * main process how new the app is — which is what lets main refuse a backup
64
+ * whose `metaMigrationVersion` is newer than itself BEFORE it moves any data
65
+ * aside. Computed here rather than restated, so it cannot fall behind the
66
+ * ledger it names.
67
+ */
68
+ export const LATEST_META_MIGRATION = (() => {
69
+ const latest = ALL_MIGRATIONS[ALL_MIGRATIONS.length - 1]?.name;
70
+ if (latest === undefined) {
71
+ throw new Error('@adminium/meta shipped an empty migration ledger — this build is broken.');
72
+ }
73
+ return latest;
74
+ })();
75
+ // The §9 desktop backup format, frozen at formatVersion 1. Exported because it
76
+ // is a CONTRACT, not an implementation: the Electron main process validates an
77
+ // archive against these types before a restore (`import type` only — see
78
+ // `apps/desktop/src/main/backup-archive.ts`), and the M10 CLI's import reads the
79
+ // same manifest out of the same zip.
80
+ export { BACKUP_CONFIG_PATH, BACKUP_DATABASES_DIR, BACKUP_FILE_PATTERN, BACKUP_FORMAT_VERSION, BACKUP_MANIFEST_PATH, BACKUP_META_PATH, BACKUP_SLUG_PATTERN, PRE_RESTORE_PREFIX, backupDatabasePath, backupFileName, backupManifestSchema, compareMetaMigrationVersion, deriveDatabaseSlug, preRestoreDirName, sha256Hex, uniqueSlug, } from './backup/format.js';
81
+ export { BACKUPS_DIR, BACKUP_STAGING_DIR, BackupRedactionError, DEFAULT_AUTO_BACKUP_KEEP, createBackup, rotateBackups, rotateBackupsOnDisk, } from './backup/backup-service.js';
82
+ export { BACKUP_NOTIFICATION_KIND } from './backup/notify.js';
83
+ /**
84
+ * The session cookie's name (08-server-api.md §2.1).
85
+ *
86
+ * Exported because the Electron main process has to send it: §9's backup route
87
+ * is session-guarded and main calls it carrying the WINDOW'S cookie, read out of
88
+ * Electron's own cookie jar (`main/index.ts`'s `electronBackupTransport`). Main
89
+ * cannot import this at runtime — that would load Fastify into the main process
90
+ * to read a string — so it restates the name and pins it here with a test.
91
+ */
92
+ export { SESSION_COOKIE } from './auth/sessions.js';
93
+ export { desktopRoutes } from './routes/desktop/index.js';
94
+ export { desktopBackupBody, desktopBackupReply, } from './routes/desktop/schema.js';
95
+ // §12 capability plumbing. The main process reaches the grant table over the
96
+ // loopback REST API (`main/capabilities/host.ts`'s grant reader), so it imports
97
+ // the grant SHAPE and the closed id vocabulary from here — the same "restate the
98
+ // name and pin it with a test" arrangement `SESSION_COOKIE` and the backup format
99
+ // use, and for the same reason: main must not load Fastify to read a string.
100
+ export { desktopCapabilityRoutes, } from './routes/desktop-capabilities/index.js';
101
+ export { capabilityIdSchema, isKnownCapabilityId, KNOWN_CAPABILITY_IDS, } from './capabilities/catalog.js';
102
+ // Meta-store resolution + connection (01 §3.1/§7.2). The wrappers — CLI today,
103
+ // Docker/Electron next — all answer "where does the meta store live?" here.
104
+ export { META_URL_KEY_SALT, MetaDriverMissingError, MetaUrlError, connectMetaStore, embeddedMetaWarning, metaEngineFromUrl, metaUrlCryptoFromSecret, openMetaStore, resolveMetaUrl, sqlitePathFromUrl, } from './meta/store.js';
105
+ // The `adminium` CLI (01 §4.1). `runCli` returns an exit code and never touches
106
+ // `process` — `src/cli/index.ts` is the only module that exits.
107
+ export { COMMANDS, findCommand, runCli } from './cli/run.js';
108
+ export { defaultCliDeps, displayUrl, loadCliEnv, openRuntime, startServer, } from './cli/runtime.js';
109
+ export { BUNDLED_DASHBOARD_DIR, resolveStaticRoot, staticRootCandidates } from './cli/static-root.js';
110
+ export { CliError, CliUsageError, EXIT_ERROR, EXIT_NOTHING_ACCEPTED, EXIT_OK, EXIT_VALIDATION_FAILED, } from './cli/exit.js';
111
+ // M10-T03 — the config bundle: `export-zip` / `import-zip` and, later, the
112
+ // Studio download/upload routes are front doors onto these two services.
113
+ export { EXPORT_ZIP_MANIFEST_VERSION, exportZip, } from './export/zip-service.js';
114
+ export { ImportZipError, importZip, } from './export/import-service.js';
115
+ export { PlaintextSecretError } from './export/redaction.js';
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `export-run` job handler (M7-T07, 09-generated-app.md §11.2): drains one
3
+ * adminium_exports request through the crud list pipeline and lands the
4
+ * artifact in file storage.
5
+ *
6
+ * Grants are captured AT REQUEST TIME: the exports route verifies
7
+ * `table:<conn>:<table>:export` and resolves the caller's PII capability
8
+ * (crud/mask.ts) before enqueueing; the payload carries `unmasked` and the
9
+ * job replays it through `runList`, so masked columns serialize as empty/null
10
+ * exactly as the caller would see them in the grid. Secret columns never
11
+ * appear (mask.ts rule 1).
12
+ *
13
+ * Streaming: pages come out of `runList` keyset-style (offset loop for
14
+ * PK-less tables) and go straight into an incremental `FileWriter` — the
15
+ * whole table is never in memory. CSV per data-io/csv.ts (RFC 4180 + BOM);
16
+ * `json` is JSON-lines (one object per line). `xlsx` is rejected at the
17
+ * route; a row that reaches here anyway fails cleanly.
18
+ */
19
+ import { type MetaDb } from '@adminium/meta';
20
+ import { z } from 'zod';
21
+ import type { ConnectionManager } from '../connections/manager.js';
22
+ import type { FileStorage } from '../files/storage.js';
23
+ import { type JobRegistry } from './registry.js';
24
+ export declare const EXPORT_RUN_KIND = "export-run";
25
+ export declare const exportRunPayloadSchema: z.ZodObject<{
26
+ exportId: z.ZodString;
27
+ userId: z.ZodOptional<z.ZodString>;
28
+ unmasked: z.ZodDefault<z.ZodBoolean>;
29
+ }, z.core.$strip>;
30
+ export type ExportRunPayload = z.infer<typeof exportRunPayloadSchema>;
31
+ export interface ExportRunDeps {
32
+ meta: MetaDb;
33
+ manager: ConnectionManager;
34
+ storage: FileStorage;
35
+ now?: () => number;
36
+ }
37
+ export declare function registerExportRunHandler(registry: JobRegistry, deps: ExportRunDeps): void;
38
+ //# sourceMappingURL=export-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-run.d.ts","sourceRoot":"","sources":["../../src/jobs/export-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAQL,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5F,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,eAAO,MAAM,sBAAsB;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAOD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAMzF"}