@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 @@
1
+ {"version":3,"file":"run-service.js","sourceRoot":"","sources":["../../src/llm/run-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAWjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,KAAK,EAA+C,MAAM,gBAAgB,CAAC;AAIjG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4D;IAC5F,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,CAAC;IAC9D,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC;IAC7C,iBAAiB,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC;IACvD,SAAS,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,WAAW,CAAC;IACxD,OAAO,EAAE,EAAE;IACX,iBAAiB,EAAE,EAAE;IACrB,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,IAAkB,EAAE,EAAgB;IAChE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,gFAAgF;AAEhF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEpB;IADZ,IAAI,GAAG,kBAAkB,CAAC;IACnC,YAAqB,KAAa;QAChC,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QADlB,UAAK,GAAL,KAAK,CAAQ;IAElC,CAAC;CACF;AAED,sFAAsF;AACtF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAErB;IAAwB;IADpC,IAAI,GAAG,mBAAmB,CAAC;IACpC,YAAqB,KAAa,EAAW,MAAoB;QAC/D,KAAK,CAAC,WAAW,KAAK,OAAO,MAAM,gBAAgB,CAAC,CAAC;QADlC,UAAK,GAAL,KAAK,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAc;IAEjE,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAE7B;IAAwB;IAA6B;IADjE,IAAI,GAAG,2BAA2B,CAAC;IAC5C,YAAqB,KAAa,EAAW,IAAkB,EAAW,EAAgB;QACxF,KAAK,CAAC,8BAA8B,IAAI,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC;QADhD,UAAK,GAAL,KAAK,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAc;QAAW,OAAE,GAAF,EAAE,CAAc;IAE1F,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,GAAG,mBAAmB,CAAC;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAiHD,gFAAgF;AAEhF,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAEjC,KAAK,UAAU,WAAW,CAAC,KAAa;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,EAAgB;QACrD,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,EAAgB;QACrD,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,yEAAyE;YACzE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,KAAa,EAA0B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvE,QAAQ,EAAE,CAAC,YAAoB,EAAqB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAE3F;;;;WAIG;QACH,KAAK,CAAC,SAAS,CAAC,KAAqB;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxE,MAAM,IAAI,iBAAiB,CACzB,qEAAqE,CACtE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,WAAW,CAC1B;gBACE,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,EAAE;aACV,EACD;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/E,CACF,CAAC;YAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnF,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B;gBACE,EAAE;gBACF,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAC9D,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;gBACxD,aAAa,EAAE,cAAc;gBAC7B,UAAU;gBACV,UAAU;gBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBACnC,cAAc,EAAE,CAAC;gBACjB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACnC,EACD,GAAG,EAAE,CACN,CAAC;YAEF,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAED,8EAA8E;QAC9E,KAAK,CAAC,WAAW,CAAC,KAAa;YAC7B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,gFAAgF;QAChF,KAAK,CAAC,oBAAoB,CAAC,KAAa;YACtC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,KAA2B;YAE3B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACrF,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9C,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAiB;gBACnD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,KAAK,EAAE,GAAG,CAAC,EAAE;aACd,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;YAErC,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACtC,4EAA4E;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;wBACL,GAAG,EAAE;4BACH,GAAG,GAAG;4BACN,gBAAgB,EAAE,SAAS;4BAC3B,WAAW,EAAE,KAAK,CAAC,IAAI;4BACvB,gBAAgB,EAAE,UAAU,CAAC,MAAM;yBACpC;wBACD,UAAU;qBACX,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;oBAChC,MAAM,EAAE,mBAAmB;oBAC3B,gBAAgB,EAAE,SAAS;oBAC3B,WAAW,EAAE,KAAK,CAAC,IAAI;oBACvB,gBAAgB,EAAE,UAAU,CAAC,MAAM;iBACpC,CAAC,CAAC;gBACH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YACxD,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,cAAc,IAAI,GAAG,CAAC,WAAW,CAAC;YACtD,MAAM,UAAU,GAAiB,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjF,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAE5E,IAAI,MAAM,EAAE,CAAC;gBACX,wEAAwE;gBACxE,wEAAwE;gBACxE,OAAO;oBACL,GAAG,EAAE;wBACH,GAAG,GAAG;wBACN,MAAM,EAAE,UAAU;wBAClB,gBAAgB;wBAChB,WAAW,EAAE,KAAK,CAAC,IAAI;wBACvB,YAAY,EAAE,UAAU,CAAC,QAAQ;wBACjC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;wBACzE,cAAc;qBACf;oBACD,UAAU;iBACX,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;gBAChC,MAAM,EAAE,UAAU;gBAClB,gBAAgB;gBAChB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,YAAY,EAAE,UAAU,CAAC,QAAQ;gBACjC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBACzE,cAAc;aACf,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;QACxD,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAoB;YACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACrF,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,QAA0B,EAAE;YAC3D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,EAAE,GAAiB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,IAAI,CAAC,WAAW,CACpB,GAAG,CAAC,EAAE,EACN;gBACE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,MAAM,EAAE,EAAE;gBACV,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,EACD,GAAG,EAAE,CACN,CAAC;YACF,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,KAA8B;YAE9B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACrF,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;gBAChC,MAAM,EAAE,WAAW;gBACnB,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gBACrD,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;gBACvE,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,mBAAmB,CAAC,KAAa,EAAE,cAAsB;YAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO;YACrD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;gBAC/B,MAAM,EAAE,SAAS;gBACjB,gBAAgB,EAAE,SAAS;gBAC3B,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QAED,sFAAsF;QACtF,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,QAAyB,EAAE;YACzD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;gBAChC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,gBAAgB,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;gBACtC,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,4DAA4D;QAC5D,KAAK,CAAC,OAAO,CAAC,KAAa;YACzB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The §4.2 statistics collector, backed by a live {@link ConnectionManager}.
3
+ *
4
+ * `createPromptService` takes `collectStats` as an INJECTED dependency and falls
5
+ * back to `NO_STATS` (an empty array) when nobody supplies one — which is the
6
+ * correct default for a service that must stay testable without a source
7
+ * database, and the wrong behavior for a front door that advertises
8
+ * `--sampling` in its `--help`. Both doors (the CLI's `generate-prompt` and the
9
+ * Studio's `POST /llm/runs`) inject THIS, so `--sampling` and the Studio toggle
10
+ * mean the same thing: the same aggregates, from the same query, through the
11
+ * same privacy rules.
12
+ *
13
+ * PRIVACY (06 §4.2, and why this file passes the classified model down rather
14
+ * than a bare column list): the adapter decides what is safe to look at, and it
15
+ * can only do that if it knows which columns the classifier flagged
16
+ * `secret`/`pii`. Sample-free is the default — with `sampling` null NO cell
17
+ * value leaves the database, only row counts, null fractions and distinct
18
+ * counts. Under sampling opt-in the adapter still refuses sampled values and
19
+ * min/max for PII-suspected or secret columns; that refusal is the adapter's,
20
+ * and this module's job is simply to hand it the flags it needs to make it.
21
+ *
22
+ * DEGRADATION. A table that cannot be profiled (dropped since introspection, a
23
+ * permission gap, a timeout) is SKIPPED, not fatal: the prompt is an
24
+ * enrichment aid, and losing aggregates for one table must not fail the run
25
+ * that would have enriched the other forty.
26
+ */
27
+ import type { ConnectionManager } from '../connections/manager.js';
28
+ import type { CollectRunStats } from './prompt-service.js';
29
+ export interface ConnectionStatsCollectorDeps {
30
+ manager: ConnectionManager;
31
+ /** Cap on tables profiled per run — a 500-table schema must not stall a boot. */
32
+ maxTables?: number | undefined;
33
+ }
34
+ /**
35
+ * §4.2 aggregates for every non-system table in the run's model, collected over
36
+ * the connection's DATA role (the introspect role may not read rows at all).
37
+ */
38
+ export declare const DEFAULT_MAX_STATS_TABLES = 200;
39
+ export declare function createConnectionStatsCollector(deps: ConnectionStatsCollectorDeps): CollectRunStats;
40
+ //# sourceMappingURL=stats-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-collector.d.ts","sourceRoot":"","sources":["../../src/llm/stats-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiB3D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,4BAA4B,GACjC,eAAe,CA6BjB"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * The §4.2 statistics collector, backed by a live {@link ConnectionManager}.
3
+ *
4
+ * `createPromptService` takes `collectStats` as an INJECTED dependency and falls
5
+ * back to `NO_STATS` (an empty array) when nobody supplies one — which is the
6
+ * correct default for a service that must stay testable without a source
7
+ * database, and the wrong behavior for a front door that advertises
8
+ * `--sampling` in its `--help`. Both doors (the CLI's `generate-prompt` and the
9
+ * Studio's `POST /llm/runs`) inject THIS, so `--sampling` and the Studio toggle
10
+ * mean the same thing: the same aggregates, from the same query, through the
11
+ * same privacy rules.
12
+ *
13
+ * PRIVACY (06 §4.2, and why this file passes the classified model down rather
14
+ * than a bare column list): the adapter decides what is safe to look at, and it
15
+ * can only do that if it knows which columns the classifier flagged
16
+ * `secret`/`pii`. Sample-free is the default — with `sampling` null NO cell
17
+ * value leaves the database, only row counts, null fractions and distinct
18
+ * counts. Under sampling opt-in the adapter still refuses sampled values and
19
+ * min/max for PII-suspected or secret columns; that refusal is the adapter's,
20
+ * and this module's job is simply to hand it the flags it needs to make it.
21
+ *
22
+ * DEGRADATION. A table that cannot be profiled (dropped since introspection, a
23
+ * permission gap, a timeout) is SKIPPED, not fatal: the prompt is an
24
+ * enrichment aid, and losing aggregates for one table must not fail the run
25
+ * that would have enriched the other forty.
26
+ */
27
+ /** Tables Adminium owns are never profiled — they are not the user's schema. */
28
+ function isProfilable(table) {
29
+ return !table.system;
30
+ }
31
+ /** The classified column set, in the shape the adapter's privacy rules read. */
32
+ function statsColumns(table) {
33
+ return table.columns.map((column) => ({
34
+ name: column.name,
35
+ logicalType: column.logicalType,
36
+ piiSuspected: column.semantics?.flags.pii != null,
37
+ secret: column.semantics?.flags.secret === true,
38
+ }));
39
+ }
40
+ /**
41
+ * §4.2 aggregates for every non-system table in the run's model, collected over
42
+ * the connection's DATA role (the introspect role may not read rows at all).
43
+ */
44
+ export const DEFAULT_MAX_STATS_TABLES = 200;
45
+ export function createConnectionStatsCollector(deps) {
46
+ const maxTables = deps.maxTables ?? DEFAULT_MAX_STATS_TABLES;
47
+ return async ({ connectionId, model, sampling }) => {
48
+ const tables = model.tables.filter(isProfilable).slice(0, maxTables);
49
+ if (tables.length === 0)
50
+ return [];
51
+ const adapter = await deps.manager.dataAdapter(connectionId);
52
+ try {
53
+ const results = [];
54
+ for (const table of tables) {
55
+ const opts = {
56
+ columns: statsColumns(table),
57
+ sampling: sampling ?? null,
58
+ };
59
+ try {
60
+ results.push(await adapter.collectTableStats({ schema: table.schema, name: table.name }, opts));
61
+ }
62
+ catch {
63
+ // See the module header: one unprofilable table is not a failed run.
64
+ continue;
65
+ }
66
+ }
67
+ return results;
68
+ }
69
+ finally {
70
+ await adapter.close().catch(() => undefined);
71
+ }
72
+ };
73
+ }
74
+ //# sourceMappingURL=stats-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-collector.js","sourceRoot":"","sources":["../../src/llm/stats-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;QACjD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;KAChD,CAAC,CAAC,CAAC;AACN,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,MAAM,UAAU,8BAA8B,CAC5C,IAAkC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC;IAE7D,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAmC,EAAE;QAClF,MAAM,MAAM,GAAI,KAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAwB;oBAChC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,QAAQ,IAAI,IAAI;iBAC3B,CAAC;gBACF,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CACV,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAClF,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;oBACrE,SAAS;gBACX,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * URL scrubbing for the request log (08-server-api.md §1.3 redaction, and
3
+ * 11-electron.md §2.2 step 8 for why it had to exist).
4
+ *
5
+ * ─── The leak this closes ────────────────────────────────────────────────────
6
+ *
7
+ * pino's `redact` works on OBJECT PATHS: `*.password` censors a field. It cannot
8
+ * reach INSIDE a string, and `req.url` is a string. So a credential that travels
9
+ * in a query string is invisible to every redaction rule this server has —
10
+ * `redact: ['req.url']` would drop the whole URL, which is most of the value of
11
+ * having a request log at all.
12
+ *
13
+ * §2.2 step 8 navigates the desktop window to
14
+ * `http://127.0.0.1:<port>/?bootToken=<32 random bytes>`. That is a GET the
15
+ * server answers with `index.html` and logs like any other — and the desktop
16
+ * shell pipes those logs to a ROTATING FILE ON DISK (§9), where the token would
17
+ * then sit, in cleartext, long after the boot that minted it. The SPA stripping
18
+ * the token from `window.location` (§5) fixes the browser's history; it does
19
+ * nothing about the request that already happened.
20
+ *
21
+ * So: scrub the value, keep the URL. `/?bootToken=[REDACTED]` still tells you
22
+ * which request this was, that a token was presented, and nothing usable.
23
+ *
24
+ * ─── Why an allow-list of names, not a pattern ───────────────────────────────
25
+ *
26
+ * Guessing at "things that look secret" in arbitrary query strings would both
27
+ * miss (a token named `t`) and over-redact (`?filter=token`). The named set is
28
+ * small, and every entry is a parameter THIS product defines and can therefore
29
+ * be sure about.
30
+ */
31
+ /** The pino censor string used everywhere else (`app.ts` `REDACT_PATHS`). */
32
+ export declare const REDACTED = "[REDACTED]";
33
+ /**
34
+ * Query parameters whose VALUE is a credential. Compared case-insensitively —
35
+ * `bootToken` and `boottoken` are the same parameter to a careless caller, and a
36
+ * scrubber that only catches the spelling we happen to emit is a scrubber that
37
+ * fails exactly when someone gets it wrong.
38
+ */
39
+ export declare const SENSITIVE_QUERY_PARAMS: readonly string[];
40
+ /**
41
+ * Replace the value of every sensitive query parameter in `url` with
42
+ * {@link REDACTED}, leaving the path, the parameter order, and every other
43
+ * parameter byte-for-byte intact.
44
+ *
45
+ * Takes and returns the RAW origin-relative string, exactly as `req.url` carries
46
+ * it (`/p/x?a=1`), and rewrites it by hand rather than through `new URL(...)` +
47
+ * `searchParams`. That is not squeamishness about the parser — it is that the
48
+ * round trip does not preserve its input: `searchParams` re-encodes on
49
+ * serialization (`[REDACTED]` comes back out as `%5BREDACTED%5D`, so the censor
50
+ * would not even be greppable), `+` becomes `%20`, and the path gets normalized.
51
+ * A request log whose URLs silently differ from the URLs that were requested is
52
+ * worse than no scrubbing, because you would not know to distrust it.
53
+ *
54
+ * Fast path: no `?`, nothing to do — which is every request in the product but
55
+ * the handful that carry a query.
56
+ */
57
+ export declare function scrubUrlForLog(url: string): string;
58
+ //# sourceMappingURL=log-scrub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-scrub.d.ts","sourceRoot":"","sources":["../src/log-scrub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAQnD,CAAC;AAgBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuBlD"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * URL scrubbing for the request log (08-server-api.md §1.3 redaction, and
3
+ * 11-electron.md §2.2 step 8 for why it had to exist).
4
+ *
5
+ * ─── The leak this closes ────────────────────────────────────────────────────
6
+ *
7
+ * pino's `redact` works on OBJECT PATHS: `*.password` censors a field. It cannot
8
+ * reach INSIDE a string, and `req.url` is a string. So a credential that travels
9
+ * in a query string is invisible to every redaction rule this server has —
10
+ * `redact: ['req.url']` would drop the whole URL, which is most of the value of
11
+ * having a request log at all.
12
+ *
13
+ * §2.2 step 8 navigates the desktop window to
14
+ * `http://127.0.0.1:<port>/?bootToken=<32 random bytes>`. That is a GET the
15
+ * server answers with `index.html` and logs like any other — and the desktop
16
+ * shell pipes those logs to a ROTATING FILE ON DISK (§9), where the token would
17
+ * then sit, in cleartext, long after the boot that minted it. The SPA stripping
18
+ * the token from `window.location` (§5) fixes the browser's history; it does
19
+ * nothing about the request that already happened.
20
+ *
21
+ * So: scrub the value, keep the URL. `/?bootToken=[REDACTED]` still tells you
22
+ * which request this was, that a token was presented, and nothing usable.
23
+ *
24
+ * ─── Why an allow-list of names, not a pattern ───────────────────────────────
25
+ *
26
+ * Guessing at "things that look secret" in arbitrary query strings would both
27
+ * miss (a token named `t`) and over-redact (`?filter=token`). The named set is
28
+ * small, and every entry is a parameter THIS product defines and can therefore
29
+ * be sure about.
30
+ */
31
+ /** The pino censor string used everywhere else (`app.ts` `REDACT_PATHS`). */
32
+ export const REDACTED = '[REDACTED]';
33
+ /**
34
+ * Query parameters whose VALUE is a credential. Compared case-insensitively —
35
+ * `bootToken` and `boottoken` are the same parameter to a careless caller, and a
36
+ * scrubber that only catches the spelling we happen to emit is a scrubber that
37
+ * fails exactly when someone gets it wrong.
38
+ */
39
+ export const SENSITIVE_QUERY_PARAMS = [
40
+ // 11-electron.md §2.2 step 8 / §5 — the desktop boot token.
41
+ 'bootToken',
42
+ // 08-server-api.md §2.1 — password-reset and 2FA-challenge tokens. They ride
43
+ // in bodies today; the day one lands in a link's query, this is already here.
44
+ 'token',
45
+ 'challengeToken',
46
+ 'apiKey',
47
+ ];
48
+ const SENSITIVE_LOWER = new Set(SENSITIVE_QUERY_PARAMS.map((name) => name.toLowerCase()));
49
+ /** `%2A` → `*`, tolerating the malformed escapes a hostile query can contain. */
50
+ function decodeParamName(raw) {
51
+ try {
52
+ return decodeURIComponent(raw.replaceAll('+', ' '));
53
+ }
54
+ catch {
55
+ // `decodeURIComponent('%')` throws. A name we cannot decode is a name we
56
+ // cannot match against the list, so compare the raw bytes instead — the
57
+ // spellings we care about have no escapes anyway.
58
+ return raw;
59
+ }
60
+ }
61
+ /**
62
+ * Replace the value of every sensitive query parameter in `url` with
63
+ * {@link REDACTED}, leaving the path, the parameter order, and every other
64
+ * parameter byte-for-byte intact.
65
+ *
66
+ * Takes and returns the RAW origin-relative string, exactly as `req.url` carries
67
+ * it (`/p/x?a=1`), and rewrites it by hand rather than through `new URL(...)` +
68
+ * `searchParams`. That is not squeamishness about the parser — it is that the
69
+ * round trip does not preserve its input: `searchParams` re-encodes on
70
+ * serialization (`[REDACTED]` comes back out as `%5BREDACTED%5D`, so the censor
71
+ * would not even be greppable), `+` becomes `%20`, and the path gets normalized.
72
+ * A request log whose URLs silently differ from the URLs that were requested is
73
+ * worse than no scrubbing, because you would not know to distrust it.
74
+ *
75
+ * Fast path: no `?`, nothing to do — which is every request in the product but
76
+ * the handful that carry a query.
77
+ */
78
+ export function scrubUrlForLog(url) {
79
+ const mark = url.indexOf('?');
80
+ if (mark === -1)
81
+ return url;
82
+ const path = url.slice(0, mark);
83
+ const query = url.slice(mark + 1);
84
+ let touched = false;
85
+ const scrubbed = query
86
+ .split('&')
87
+ .map((pair) => {
88
+ if (pair === '')
89
+ return pair;
90
+ const eq = pair.indexOf('=');
91
+ // `?bootToken` with no `=` carries no value to leak; leave it alone.
92
+ if (eq === -1)
93
+ return pair;
94
+ const rawName = pair.slice(0, eq);
95
+ if (!SENSITIVE_LOWER.has(decodeParamName(rawName).toLowerCase()))
96
+ return pair;
97
+ touched = true;
98
+ return `${rawName}=${REDACTED}`;
99
+ })
100
+ .join('&');
101
+ return touched ? `${path}?${scrubbed}` : url;
102
+ }
103
+ //# sourceMappingURL=log-scrub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-scrub.js","sourceRoot":"","sources":["../src/log-scrub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,4DAA4D;IAC5D,WAAW;IACX,6EAA6E;IAC7E,8EAA8E;IAC9E,OAAO;IACP,gBAAgB;IAChB,QAAQ;CACT,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAE1F,iFAAiF;AACjF,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,wEAAwE;QACxE,kDAAkD;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAE5B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,QAAQ,GAAG,KAAK;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,qEAAqE;QACrE,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9E,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Meta-store resolution + connection (01-architecture.md §3.1, §7.1, §7.2).
3
+ *
4
+ * The single place that answers "where does the meta store live, and how do I
5
+ * open it?" — shared by every front door (`adminium start`, `adminium migrate`,
6
+ * the init wizard, and, later, Docker/Electron wrappers), so none of them can
7
+ * disagree about precedence.
8
+ *
9
+ * Precedence (§7.2 "Environment always wins over this file"):
10
+ * 1. `ADMINIUM_META_URL` → source `env`
11
+ * 2. `<dataDir>/adminium.json` `metaUrl` → source `bootstrap`
12
+ * (AES-256-GCM token, decrypted with the ADMINIUM_SECRET-derived key)
13
+ * 3. embedded SQLite `<dataDir>/meta.db` → source `embedded`
14
+ * — the §3.1 OD-1 fallback for a bare non-interactive `adminium start`;
15
+ * callers surface the documented startup warning.
16
+ *
17
+ * Drivers are imported dynamically and only for the dialect actually in use: a
18
+ * SQLite install must not need `pg` on disk, and a missing driver has to say
19
+ * which package to install rather than throw a bare MODULE_NOT_FOUND.
20
+ */
21
+ import { type MetaDb } from '@adminium/meta';
22
+ /**
23
+ * HKDF purpose scope for the bootstrap `metaUrl` token. Distinct from
24
+ * `adminium:dsn:v1` (source DSNs) and the LLM key salt so the three ciphertexts
25
+ * can never be decrypted with each other's key (01 §7.1 purpose-scoping).
26
+ */
27
+ export declare const META_URL_KEY_SALT = "adminium:meta-url:v1";
28
+ export interface MetaUrlCrypto {
29
+ encrypt(plaintext: string): string;
30
+ decrypt(token: string): string;
31
+ }
32
+ /** The AES-256-GCM closures the bootstrap `metaUrl` is stored under. */
33
+ export declare function metaUrlCryptoFromSecret(masterSecret: string): MetaUrlCrypto;
34
+ /** Meta dialects the v1 self-host build supports (BRIEF §3). */
35
+ export type MetaEngine = 'postgres' | 'mysql' | 'sqlite';
36
+ /** Which layer supplied the meta DSN — drives the §3.1 OD-1 startup warning. */
37
+ export type MetaUrlSource = 'env' | 'bootstrap' | 'embedded';
38
+ export interface ResolvedMetaUrl {
39
+ /** The DSN to connect with (`sqlite:<path>` for the embedded fallback). */
40
+ url: string;
41
+ engine: MetaEngine;
42
+ source: MetaUrlSource;
43
+ }
44
+ export declare class MetaUrlError extends Error {
45
+ readonly name = "MetaUrlError";
46
+ }
47
+ export declare class MetaDriverMissingError extends Error {
48
+ readonly engine: MetaEngine;
49
+ readonly pkg: string;
50
+ readonly name = "MetaDriverMissingError";
51
+ constructor(engine: MetaEngine, pkg: string, cause?: unknown);
52
+ }
53
+ /** `sqlite:./data/meta.db`, `sqlite::memory:`, `file:./meta.db` → the file path. */
54
+ export declare function sqlitePathFromUrl(url: string): string;
55
+ /**
56
+ * Classify a meta DSN by scheme. Unknown/unsupported schemes fail fast with the
57
+ * three supported forms spelled out — the CLI prints this verbatim.
58
+ */
59
+ export declare function metaEngineFromUrl(url: string): MetaEngine;
60
+ export interface ResolveMetaUrlOptions {
61
+ /** `ADMINIUM_META_URL`, when set. */
62
+ metaUrl?: string | undefined;
63
+ /** `ADMINIUM_DATA_DIR` — hosts the bootstrap file and the embedded meta.db. */
64
+ dataDir: string;
65
+ /** `ADMINIUM_SECRET` — derives the key that decrypts the bootstrap `metaUrl`. */
66
+ secret: string;
67
+ }
68
+ /**
69
+ * Apply the §7.2 precedence and return the DSN to connect with. Never connects
70
+ * and never writes — the wizard decides whether to persist a chosen placement.
71
+ */
72
+ export declare function resolveMetaUrl(opts: ResolveMetaUrlOptions): Promise<ResolvedMetaUrl>;
73
+ /** The §3.1 OD-1 warning callers print when the embedded fallback is in play. */
74
+ export declare function embeddedMetaWarning(url: string): string;
75
+ export interface MetaStoreHandle {
76
+ meta: MetaDb;
77
+ /** The DSN this handle was opened with (fed to ConnectionManager `metaDsn`). */
78
+ url: string;
79
+ engine: MetaEngine;
80
+ source: MetaUrlSource;
81
+ /** Release the pool/handle. Safe to call twice. */
82
+ close(): Promise<void>;
83
+ }
84
+ export interface ConnectMetaStoreOptions {
85
+ /** Postgres/MySQL pool size; the single-process topology stays small (01 §4.1). */
86
+ poolSize?: number | undefined;
87
+ }
88
+ /**
89
+ * Open the meta store named by `resolved` and run {@link initMetaDb} (the SQLite
90
+ * FK pragma). Does NOT migrate — `adminium migrate` and the boot sequence decide
91
+ * when the ledger runs.
92
+ */
93
+ export declare function connectMetaStore(resolved: ResolvedMetaUrl, opts?: ConnectMetaStoreOptions): Promise<MetaStoreHandle>;
94
+ /** Resolve + connect in one step — what every front door actually calls. */
95
+ export declare function openMetaStore(opts: ResolveMetaUrlOptions & ConnectMetaStoreOptions): Promise<MetaStoreHandle>;
96
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/meta/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAML,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AAKxB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAM3E;AAED,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzD,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAkB,IAAI,kBAAkB;CACzC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAG7C,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAHtB,SAAkB,IAAI,4BAA4B;gBAEvC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,OAAO;CAQlB;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAkBzD;AAED,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiB1F;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAoCD,MAAM,WAAW,uBAAuB;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED,4EAA4E;AAC5E,wBAAsB,aAAa,CACjC,IAAI,EAAE,qBAAqB,GAAG,uBAAuB,GACpD,OAAO,CAAC,eAAe,CAAC,CAG1B"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Meta-store resolution + connection (01-architecture.md §3.1, §7.1, §7.2).
3
+ *
4
+ * The single place that answers "where does the meta store live, and how do I
5
+ * open it?" — shared by every front door (`adminium start`, `adminium migrate`,
6
+ * the init wizard, and, later, Docker/Electron wrappers), so none of them can
7
+ * disagree about precedence.
8
+ *
9
+ * Precedence (§7.2 "Environment always wins over this file"):
10
+ * 1. `ADMINIUM_META_URL` → source `env`
11
+ * 2. `<dataDir>/adminium.json` `metaUrl` → source `bootstrap`
12
+ * (AES-256-GCM token, decrypted with the ADMINIUM_SECRET-derived key)
13
+ * 3. embedded SQLite `<dataDir>/meta.db` → source `embedded`
14
+ * — the §3.1 OD-1 fallback for a bare non-interactive `adminium start`;
15
+ * callers surface the documented startup warning.
16
+ *
17
+ * Drivers are imported dynamically and only for the dialect actually in use: a
18
+ * SQLite install must not need `pg` on disk, and a missing driver has to say
19
+ * which package to install rather than throw a bare MODULE_NOT_FOUND.
20
+ */
21
+ import { mkdirSync } from 'node:fs';
22
+ import { dirname, join, resolve } from 'node:path';
23
+ import { createMysqlMetaDb, createPostgresMetaDb, createSqliteMetaDb, destroyMetaDb, initMetaDb, } from '@adminium/meta';
24
+ import { readBootstrap } from '../config/bootstrap.js';
25
+ import { decryptSecret, deriveKey, encryptSecret } from '../config/secrets.js';
26
+ /**
27
+ * HKDF purpose scope for the bootstrap `metaUrl` token. Distinct from
28
+ * `adminium:dsn:v1` (source DSNs) and the LLM key salt so the three ciphertexts
29
+ * can never be decrypted with each other's key (01 §7.1 purpose-scoping).
30
+ */
31
+ export const META_URL_KEY_SALT = 'adminium:meta-url:v1';
32
+ /** The AES-256-GCM closures the bootstrap `metaUrl` is stored under. */
33
+ export function metaUrlCryptoFromSecret(masterSecret) {
34
+ const key = deriveKey(masterSecret, META_URL_KEY_SALT);
35
+ return {
36
+ encrypt: (plaintext) => encryptSecret(plaintext, key),
37
+ decrypt: (token) => decryptSecret(token, key),
38
+ };
39
+ }
40
+ export class MetaUrlError extends Error {
41
+ name = 'MetaUrlError';
42
+ }
43
+ export class MetaDriverMissingError extends Error {
44
+ engine;
45
+ pkg;
46
+ name = 'MetaDriverMissingError';
47
+ constructor(engine, pkg, cause) {
48
+ super(`The ${engine} meta store needs the "${pkg}" package, which is not installed. ` +
49
+ `Install it (\`npm install ${pkg}\`) or point ADMINIUM_META_URL at a different engine.`, cause === undefined ? undefined : { cause });
50
+ this.engine = engine;
51
+ this.pkg = pkg;
52
+ }
53
+ }
54
+ /** `sqlite:./data/meta.db`, `sqlite::memory:`, `file:./meta.db` → the file path. */
55
+ export function sqlitePathFromUrl(url) {
56
+ const withoutScheme = url.replace(/^(sqlite3?|file):(\/\/)?/, '');
57
+ return withoutScheme === '' ? ':memory:' : withoutScheme;
58
+ }
59
+ /**
60
+ * Classify a meta DSN by scheme. Unknown/unsupported schemes fail fast with the
61
+ * three supported forms spelled out — the CLI prints this verbatim.
62
+ */
63
+ export function metaEngineFromUrl(url) {
64
+ const scheme = /^([a-z][a-z0-9+.-]*):/i.exec(url)?.[1]?.toLowerCase();
65
+ switch (scheme) {
66
+ case 'postgres':
67
+ case 'postgresql':
68
+ return 'postgres';
69
+ case 'mysql':
70
+ case 'mariadb':
71
+ return 'mysql';
72
+ case 'sqlite':
73
+ case 'sqlite3':
74
+ case 'file':
75
+ return 'sqlite';
76
+ default:
77
+ throw new MetaUrlError(`Unsupported meta-store DSN "${url}". Use postgres://…, mysql://…, or sqlite:<path>.`);
78
+ }
79
+ }
80
+ /**
81
+ * Apply the §7.2 precedence and return the DSN to connect with. Never connects
82
+ * and never writes — the wizard decides whether to persist a chosen placement.
83
+ */
84
+ export async function resolveMetaUrl(opts) {
85
+ if (opts.metaUrl !== undefined && opts.metaUrl !== '') {
86
+ return { url: opts.metaUrl, engine: metaEngineFromUrl(opts.metaUrl), source: 'env' };
87
+ }
88
+ const bootstrap = await readBootstrap(opts.dataDir);
89
+ if (bootstrap?.metaUrl !== undefined) {
90
+ const url = metaUrlCryptoFromSecret(opts.secret).decrypt(bootstrap.metaUrl);
91
+ return { url, engine: metaEngineFromUrl(url), source: 'bootstrap' };
92
+ }
93
+ // §3.1 OD-1: nothing configured → embedded SQLite under the data dir.
94
+ return {
95
+ url: `sqlite:${join(resolve(opts.dataDir), 'meta.db')}`,
96
+ engine: 'sqlite',
97
+ source: 'embedded',
98
+ };
99
+ }
100
+ /** The §3.1 OD-1 warning callers print when the embedded fallback is in play. */
101
+ export function embeddedMetaWarning(url) {
102
+ return (`Using embedded SQLite meta store at ${sqlitePathFromUrl(url)} — ` +
103
+ 'set ADMINIUM_META_URL for production.');
104
+ }
105
+ /**
106
+ * Dynamic driver import. The specifier is computed so the module graph carries
107
+ * no static edge to a driver an install may not have (01 §2.3 keeps `@adminium/meta`
108
+ * driver-free; the composing layer — this one — injects them).
109
+ */
110
+ async function importDriver(pkg, engine) {
111
+ const specifier = pkg;
112
+ try {
113
+ return (await import(specifier));
114
+ }
115
+ catch (error) {
116
+ throw new MetaDriverMissingError(engine, pkg, error);
117
+ }
118
+ }
119
+ function defaultExport(mod) {
120
+ return (mod.default ?? mod);
121
+ }
122
+ /**
123
+ * Pick a named export off a CJS driver, tolerating both the namespace and the
124
+ * `default` interop shapes (`pg` and `mysql2` differ under NodeNext ESM).
125
+ * Returns `never`-typed factories: the drivers are untyped here on purpose —
126
+ * `@adminium/meta` owns the real Kysely config contract.
127
+ */
128
+ function driverExport(mod, name, engine, pkg) {
129
+ const direct = mod[name];
130
+ const viaDefault = mod.default?.[name];
131
+ const found = direct ?? viaDefault;
132
+ if (typeof found !== 'function') {
133
+ throw new MetaDriverMissingError(engine, pkg);
134
+ }
135
+ return found;
136
+ }
137
+ /**
138
+ * Open the meta store named by `resolved` and run {@link initMetaDb} (the SQLite
139
+ * FK pragma). Does NOT migrate — `adminium migrate` and the boot sequence decide
140
+ * when the ledger runs.
141
+ */
142
+ export async function connectMetaStore(resolved, opts = {}) {
143
+ const poolSize = opts.poolSize ?? 10;
144
+ let meta;
145
+ switch (resolved.engine) {
146
+ case 'postgres': {
147
+ const mod = await importDriver('pg', 'postgres');
148
+ const Pool = driverExport(mod, 'Pool', 'postgres', 'pg');
149
+ meta = createPostgresMetaDb({
150
+ pool: new Pool({ connectionString: resolved.url, max: poolSize }),
151
+ });
152
+ break;
153
+ }
154
+ case 'mysql': {
155
+ const mod = await importDriver('mysql2', 'mysql');
156
+ const createPool = driverExport(mod, 'createPool', 'mysql', 'mysql2');
157
+ meta = createMysqlMetaDb({ pool: createPool({ uri: resolved.url, connectionLimit: poolSize }) });
158
+ break;
159
+ }
160
+ case 'sqlite': {
161
+ const mod = await importDriver('better-sqlite3', 'sqlite');
162
+ const Database = defaultExport(mod);
163
+ const file = sqlitePathFromUrl(resolved.url);
164
+ // A first `adminium start` points at <dataDir>/meta.db before <dataDir>
165
+ // exists; better-sqlite3 will not create the parent directory itself.
166
+ if (file !== ':memory:')
167
+ mkdirSync(dirname(resolve(file)), { recursive: true });
168
+ meta = createSqliteMetaDb({ database: new Database(file) });
169
+ break;
170
+ }
171
+ }
172
+ await initMetaDb(meta);
173
+ let closed = false;
174
+ return {
175
+ meta,
176
+ url: resolved.url,
177
+ engine: resolved.engine,
178
+ source: resolved.source,
179
+ async close() {
180
+ if (closed)
181
+ return;
182
+ closed = true;
183
+ await destroyMetaDb(meta);
184
+ },
185
+ };
186
+ }
187
+ /** Resolve + connect in one step — what every front door actually calls. */
188
+ export async function openMetaStore(opts) {
189
+ const resolved = await resolveMetaUrl(opts);
190
+ return connectMetaStore(resolved, { poolSize: opts.poolSize });
191
+ }
192
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/meta/store.ts"],"names":[],"mappings":"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"}