@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,92 @@
1
+ /**
2
+ * Argument parsing for the `adminium` CLI (01-architecture.md §4.1).
3
+ *
4
+ * WHY NO CLI FRAMEWORK. `npx adminium` is advertised as "a complete install"
5
+ * — the published tarball already carries the server, the dashboard build, and
6
+ * the meta migrations, so every extra runtime dependency is weight on the very
7
+ * first thing a new user does. Node 22's built-in `node:util` `parseArgs`
8
+ * covers the whole surface this CLI needs (long flags, `--flag=value`, short
9
+ * aliases, repeatables, `--` passthrough, strict unknown-flag rejection) at
10
+ * zero dependencies, and Zod — already a dependency, already the house rule for
11
+ * external input — does the typing and coercion `parseArgs` deliberately omits.
12
+ * A framework would buy help-text formatting we want to control anyway.
13
+ *
14
+ * The shape below is deliberately declarative: a command's flags are data, so
15
+ * `--help` renders from the same spec the parser enforces and the two cannot
16
+ * drift.
17
+ */
18
+ import { parseArgs } from 'node:util';
19
+ import { CliUsageError } from './exit.js';
20
+ /** `{ port: { type: 'string', short: 'p' } }` → the `parseArgs` options shape. */
21
+ function toParseArgsOptions(specs) {
22
+ const options = {};
23
+ for (const [name, spec] of Object.entries(specs)) {
24
+ options[name] = {
25
+ type: spec.type,
26
+ ...(spec.short === undefined ? {} : { short: spec.short }),
27
+ ...(spec.multiple === true ? { multiple: true } : {}),
28
+ };
29
+ }
30
+ return options;
31
+ }
32
+ /**
33
+ * Parse `argv` against `specs`. Unknown flags are rejected (strict) and
34
+ * re-thrown as a {@link CliUsageError} so the dispatcher can print help rather
35
+ * than a raw Node error — `parseArgs`'s own message is good but its stack is not
36
+ * something a user should ever see.
37
+ */
38
+ export function parseFlags(argv, specs, command = null) {
39
+ try {
40
+ const { values, positionals } = parseArgs({
41
+ args: [...argv],
42
+ options: toParseArgsOptions(specs),
43
+ allowPositionals: true,
44
+ strict: true,
45
+ });
46
+ return { values: values, positionals };
47
+ }
48
+ catch (error) {
49
+ const message = error instanceof Error ? error.message : String(error);
50
+ throw new CliUsageError(message, command);
51
+ }
52
+ }
53
+ /**
54
+ * Split a repeatable-or-CSV flag into items. 06-llm-assist.md §10.4 writes
55
+ * `--sections labels,enums,…` and `--locales en_US,de_DE`; supporting the
56
+ * repeated form too costs nothing and is what people reflexively try.
57
+ * `--sections a,b --sections c` → `['a','b','c']`.
58
+ */
59
+ export function splitList(value) {
60
+ if (value === undefined || typeof value === 'boolean')
61
+ return [];
62
+ const raw = Array.isArray(value) ? value : [value];
63
+ return raw
64
+ .flatMap((entry) => entry.split(','))
65
+ .map((entry) => entry.trim())
66
+ .filter((entry) => entry.length > 0);
67
+ }
68
+ /** A string flag's value, or `undefined`. Repeated flags take the LAST value. */
69
+ export function stringFlag(value) {
70
+ if (value === undefined || typeof value === 'boolean')
71
+ return undefined;
72
+ return Array.isArray(value) ? value.at(-1) : value;
73
+ }
74
+ /** A boolean flag's presence. */
75
+ export function boolFlag(value) {
76
+ return value === true;
77
+ }
78
+ /**
79
+ * A numeric flag, validated. `--port banana` must say so in one line rather
80
+ * than surface later as `NaN` from `app.listen`.
81
+ */
82
+ export function numberFlag(value, flagName, command = null) {
83
+ const raw = stringFlag(value);
84
+ if (raw === undefined)
85
+ return undefined;
86
+ const parsed = Number(raw);
87
+ if (!Number.isFinite(parsed)) {
88
+ throw new CliUsageError(`--${flagName} must be a number (got "${raw}").`, command);
89
+ }
90
+ return parsed;
91
+ }
92
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The command contract + `--help` rendering.
3
+ *
4
+ * Help text is DERIVED from each command's {@link FlagSpecs}, never written
5
+ * twice: a flag that exists is documented, and a documented flag exists.
6
+ */
7
+ import type { FlagSpecs } from './args.js';
8
+ import type { CliIo } from './io.js';
9
+ import type { CliDeps } from './runtime.js';
10
+ import type { ExitCode } from './exit.js';
11
+ export interface CommandContext {
12
+ io: CliIo;
13
+ deps: CliDeps;
14
+ /** Flags after parsing + coercion. */
15
+ argv: readonly string[];
16
+ }
17
+ export interface Command {
18
+ name: string;
19
+ /** One-line summary for the root `--help` list. */
20
+ summary: string;
21
+ /** Usage line, e.g. `adminium introspect --connection <id>`. */
22
+ usage: string;
23
+ /** Prose under the usage line: what it does and any contract worth stating. */
24
+ describe?: string;
25
+ flags: FlagSpecs;
26
+ /** Returns the process exit code. Throwing `CliError` is equivalent. */
27
+ run(ctx: CommandContext): Promise<ExitCode>;
28
+ }
29
+ export declare function renderFlags(flags: FlagSpecs): string;
30
+ export declare function renderCommandHelp(command: Command): string;
31
+ export declare function renderRootHelp(commands: readonly Command[], version: string): string;
32
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7C;AAWD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAWpD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA4BpF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * The command contract + `--help` rendering.
3
+ *
4
+ * Help text is DERIVED from each command's {@link FlagSpecs}, never written
5
+ * twice: a flag that exists is documented, and a documented flag exists.
6
+ */
7
+ const INDENT = ' ';
8
+ /** `--out <path>` / `--dry-run` — the left column of the flag list. */
9
+ function flagLabel(name, spec) {
10
+ const short = spec.short === undefined ? '' : `-${spec.short}, `;
11
+ const value = spec.type === 'string' ? ` ${spec.placeholder ?? '<value>'}` : '';
12
+ return `${short}--${name}${value}`;
13
+ }
14
+ export function renderFlags(flags) {
15
+ const entries = Object.entries(flags);
16
+ if (entries.length === 0)
17
+ return '';
18
+ const labels = entries.map(([name, spec]) => flagLabel(name, spec));
19
+ const width = Math.max(...labels.map((label) => label.length));
20
+ return entries
21
+ .map(([, spec], i) => {
22
+ const suffix = spec.defaultDescription === undefined ? '' : ` (default: ${spec.defaultDescription})`;
23
+ return `${INDENT}${(labels[i] ?? '').padEnd(width)} ${spec.describe}${suffix}`;
24
+ })
25
+ .join('\n');
26
+ }
27
+ export function renderCommandHelp(command) {
28
+ const parts = [`Usage: ${command.usage}`];
29
+ if (command.describe !== undefined)
30
+ parts.push('', command.describe);
31
+ const flags = renderFlags(command.flags);
32
+ if (flags !== '')
33
+ parts.push('', 'Options:', flags);
34
+ return parts.join('\n');
35
+ }
36
+ export function renderRootHelp(commands, version) {
37
+ const width = Math.max(...commands.map((command) => command.name.length));
38
+ const list = commands
39
+ .map((command) => `${INDENT}${command.name.padEnd(width)} ${command.summary}`)
40
+ .join('\n');
41
+ return [
42
+ `adminium ${version} — the open-source admin panel generator`,
43
+ '',
44
+ 'Usage: adminium [command] [options]',
45
+ '',
46
+ 'Run with no command to start the interactive setup wizard.',
47
+ '',
48
+ 'Commands:',
49
+ list,
50
+ '',
51
+ 'Options:',
52
+ `${INDENT}-h, --help Show help (\`adminium <command> --help\` for a command)`,
53
+ `${INDENT}-v, --version Show the version`,
54
+ '',
55
+ 'Environment:',
56
+ `${INDENT}ADMINIUM_SECRET Required. Derives the key encrypting stored DSNs and API keys.`,
57
+ `${INDENT}ADMINIUM_META_URL Meta store DSN (postgres://, mysql://, sqlite:<path>).`,
58
+ `${INDENT}ADMINIUM_DATA_DIR Writable data directory (default ./data).`,
59
+ `${INDENT}PORT, HOST Listen address (default 4600, 0.0.0.0).`,
60
+ '',
61
+ 'Flags override the environment. Docs: https://docs.adminium.dev',
62
+ ].join('\n');
63
+ }
64
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `adminium apply-llm-response` — 06-llm-assist.md §10.4, verbatim:
3
+ *
4
+ * adminium apply-llm-response --run <runId> --file ./response.json
5
+ * [--chunk 2] [--yes-above 0.8] [--dry-run]
6
+ * → validates, prints the diff table, applies (or previews with --dry-run)
7
+ *
8
+ * "`--dry-run` prints the same per-path validation errors and diff rows the UI
9
+ * shows. Exit codes: `0` applied, `2` validation failed, `3` nothing accepted."
10
+ *
11
+ * Every step is a call into the existing services — `runService.receiveResponse`
12
+ * (the same BYO intake `POST /llm/runs/:id/response` uses),
13
+ * `applyService.buildPlanForRun` (the same diff `GET /llm/runs/:id/diff` returns),
14
+ * `applyService.applyRun` (the same transactional executor, provenance and undo
15
+ * included). No HTTP, no second implementation of any of it.
16
+ *
17
+ * The one CLI-specific decision is which rows to accept: the review screen has a
18
+ * confidence slider and checkboxes, and `--yes-above` is its headless equivalent
19
+ * — the "Accept all ≥ 0.8" bulk control, default and all.
20
+ */
21
+ import type { Command } from '../command.js';
22
+ import { type ExitCode } from '../exit.js';
23
+ /**
24
+ * The review screen's default bulk-accept threshold ("Accept all ≥ 0.8",
25
+ * §10.3). Same number, same meaning, so a headless apply and a reviewed apply
26
+ * of the same run land on the same set.
27
+ */
28
+ export declare const DEFAULT_YES_ABOVE = 0.8;
29
+ export declare const applyLlmResponseCommand: Command;
30
+ /** Re-exported for the test — the §10.4 contract is worth asserting by name. */
31
+ export declare const EXIT_CODES: Readonly<Record<'applied' | 'validationFailed' | 'nothingAccepted', ExitCode>>;
32
+ //# sourceMappingURL=apply-llm-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-llm-response.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/apply-llm-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAKpB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAiCrC,eAAO,MAAM,uBAAuB,EAAE,OA2KrC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,kBAAkB,GAAG,iBAAiB,EAAE,QAAQ,CAAC,CAIrG,CAAC"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * `adminium apply-llm-response` — 06-llm-assist.md §10.4, verbatim:
3
+ *
4
+ * adminium apply-llm-response --run <runId> --file ./response.json
5
+ * [--chunk 2] [--yes-above 0.8] [--dry-run]
6
+ * → validates, prints the diff table, applies (or previews with --dry-run)
7
+ *
8
+ * "`--dry-run` prints the same per-path validation errors and diff rows the UI
9
+ * shows. Exit codes: `0` applied, `2` validation failed, `3` nothing accepted."
10
+ *
11
+ * Every step is a call into the existing services — `runService.receiveResponse`
12
+ * (the same BYO intake `POST /llm/runs/:id/response` uses),
13
+ * `applyService.buildPlanForRun` (the same diff `GET /llm/runs/:id/diff` returns),
14
+ * `applyService.applyRun` (the same transactional executor, provenance and undo
15
+ * included). No HTTP, no second implementation of any of it.
16
+ *
17
+ * The one CLI-specific decision is which rows to accept: the review screen has a
18
+ * confidence slider and checkboxes, and `--yes-above` is its headless equivalent
19
+ * — the "Accept all ≥ 0.8" bulk control, default and all.
20
+ */
21
+ import { readFile } from 'node:fs/promises';
22
+ import { resolve } from 'node:path';
23
+ import { selectAcceptedByConfidence } from '../../llm/apply-service.js';
24
+ import { numberFlag, parseFlags, stringFlag } from '../args.js';
25
+ import { CliError, EXIT_NOTHING_ACCEPTED, EXIT_OK, EXIT_VALIDATION_FAILED, } from '../exit.js';
26
+ import { renderTable } from '../io.js';
27
+ import { loadCliEnv } from '../runtime.js';
28
+ /**
29
+ * The review screen's default bulk-accept threshold ("Accept all ≥ 0.8",
30
+ * §10.3). Same number, same meaning, so a headless apply and a reviewed apply
31
+ * of the same run land on the same set.
32
+ */
33
+ export const DEFAULT_YES_ABOVE = 0.8;
34
+ /** `{ a: 1 }` → `a: 1`, clipped — the diff table's value columns. */
35
+ function preview(value) {
36
+ if (value === undefined)
37
+ return '—';
38
+ if (value === null)
39
+ return 'null';
40
+ if (typeof value === 'string')
41
+ return value;
42
+ return JSON.stringify(value);
43
+ }
44
+ /** The §10.3 review rows, as the table §10.4 says to print. */
45
+ function printDiffTable(io, diff, accepted) {
46
+ io.out(renderTable(['', 'category', 'target', 'status', 'heuristic', 'llm', 'conf'], diff.map((row) => [
47
+ accepted.has(row.id) ? '✓' : ' ',
48
+ row.category,
49
+ row.table ?? '—',
50
+ row.status,
51
+ preview(row.heuristicValue),
52
+ preview(row.llmValue),
53
+ row.confidence.toFixed(2),
54
+ ]), [1, 14, 28, 18, 24, 24, 4]));
55
+ }
56
+ export const applyLlmResponseCommand = {
57
+ name: 'apply-llm-response',
58
+ summary: 'Validate an LLM response and apply the accepted suggestions',
59
+ usage: 'adminium apply-llm-response --run <runId> --file <response.json>\n' +
60
+ ' [--chunk <n>] [--yes-above <0..1>] [--dry-run]',
61
+ describe: 'Feeds a saved model reply back into its run: validates it, prints the diff\n' +
62
+ 'against the heuristic baseline, and applies the rows at or above the\n' +
63
+ 'confidence threshold in one transaction.\n' +
64
+ '\n' +
65
+ 'Your own edits are never overwritten (user > llm > heuristic), and applying\n' +
66
+ 'the same run twice writes no duplicates.\n' +
67
+ '\n' +
68
+ 'Exit codes: 0 applied · 2 validation failed · 3 nothing accepted.',
69
+ flags: {
70
+ run: { type: 'string', short: 'r', placeholder: '<runId>', describe: 'Run id from generate-prompt (required)' },
71
+ file: { type: 'string', short: 'f', placeholder: '<path>', describe: 'The saved model response (required)' },
72
+ chunk: {
73
+ type: 'string',
74
+ placeholder: '<n>',
75
+ describe: 'Which chunk this file answers, for chunked runs',
76
+ defaultDescription: 'unchunked',
77
+ },
78
+ 'yes-above': {
79
+ type: 'string',
80
+ placeholder: '<0..1>',
81
+ describe: 'Accept suggestions at or above this confidence',
82
+ defaultDescription: String(DEFAULT_YES_ABOVE),
83
+ },
84
+ 'dry-run': { type: 'boolean', describe: 'Validate and print the diff; write nothing' },
85
+ 'data-dir': { type: 'string', placeholder: '<path>', describe: 'Data directory' },
86
+ 'meta-url': { type: 'string', placeholder: '<dsn>', describe: 'Meta store DSN' },
87
+ },
88
+ async run({ io, deps, argv }) {
89
+ const { values } = parseFlags(argv, applyLlmResponseCommand.flags, applyLlmResponseCommand.name);
90
+ const runId = stringFlag(values.run);
91
+ const file = stringFlag(values.file);
92
+ if (runId === undefined || file === undefined) {
93
+ throw new CliError('--run <runId> and --file <path> are both required.', {
94
+ hint: 'See `adminium apply-llm-response --help`.',
95
+ });
96
+ }
97
+ const chunkIndex = numberFlag(values.chunk, 'chunk', applyLlmResponseCommand.name);
98
+ const yesAbove = numberFlag(values['yes-above'], 'yes-above', applyLlmResponseCommand.name) ?? DEFAULT_YES_ABOVE;
99
+ if (yesAbove < 0 || yesAbove > 1) {
100
+ throw new CliError(`--yes-above must be between 0 and 1 (got ${String(yesAbove)}).`);
101
+ }
102
+ const dryRun = values['dry-run'] === true;
103
+ const dataDir = stringFlag(values['data-dir']);
104
+ const metaUrl = stringFlag(values['meta-url']);
105
+ const env = loadCliEnv(deps.env, {
106
+ ...(dataDir === undefined ? {} : { dataDir }),
107
+ ...(metaUrl === undefined ? {} : { metaUrl }),
108
+ });
109
+ const text = await readFile(resolve(deps.cwd, file), 'utf8').catch((cause) => {
110
+ throw new CliError(`Could not read ${file}.`, { cause });
111
+ });
112
+ const runtime = await deps.openRuntime(env);
113
+ try {
114
+ const { runService, applyService } = runtime;
115
+ const existing = await runService.getRun(runId);
116
+ if (existing === null)
117
+ throw new CliError(`Run ${runId} not found.`);
118
+ // ── 1. Intake + validation ────────────────────────────────────────────
119
+ // A run still awaiting a response takes the BYO path; one already carrying
120
+ // a validated response (direct path, or an earlier apply attempt) skips
121
+ // straight to the diff — re-pasting is not an error, just redundant.
122
+ let run = existing;
123
+ if (existing.status === 'awaiting_response') {
124
+ const promptService = runtime.promptService;
125
+ const allowed = runtime.allowed;
126
+ if (promptService === null || allowed === null) {
127
+ const cause = runtime.promptServiceError;
128
+ if (cause instanceof CliError)
129
+ throw cause;
130
+ throw new CliError(cause?.message ?? 'The AI validator is unavailable.', { cause });
131
+ }
132
+ const { model } = await promptService.loadLatestModel(existing.connectionId);
133
+ // `dryRun` reaches the SERVICE, not just the print below: intake is a
134
+ // write (it commits the response and flips the run to `validated`,
135
+ // after which no different response can ever be pasted). Deciding
136
+ // afterwards was deciding too late — see `ReceiveResponseInput.dryRun`.
137
+ const received = await runService.receiveResponse(runId, {
138
+ text,
139
+ ...(chunkIndex === undefined ? {} : { chunkIndex }),
140
+ snapshot: model,
141
+ allowedTemplates: allowed.templates,
142
+ allowedWidgets: allowed.widgets,
143
+ dryRun,
144
+ });
145
+ if (received.validation.response === undefined) {
146
+ io.err('Validation failed — nothing was applied.');
147
+ io.err('');
148
+ io.err(renderTable(['path', 'code', 'message'], received.validation.errors.map((error) => [
149
+ error.path ?? '—',
150
+ error.code,
151
+ error.message,
152
+ ]), [40, 24, 70]));
153
+ return EXIT_VALIDATION_FAILED;
154
+ }
155
+ for (const warning of received.validation.warnings) {
156
+ io.err(`warning: ${warning.path ?? '—'} — ${warning.message}`);
157
+ }
158
+ run = received.run;
159
+ if (run.status !== 'validated') {
160
+ // A chunked run still missing pieces: nothing to accept yet, which is
161
+ // exactly what exit 3 means. Under --dry-run the chunk was validated
162
+ // but NOT recorded, so say "would be" rather than "accepted".
163
+ const progress = `${String(run.chunksReceived)}/${String(run.chunksTotal)}`;
164
+ io.out(dryRun
165
+ ? `--dry-run: chunk ${progress} validates — nothing was written.`
166
+ : `Chunk ${progress} accepted — paste the remaining chunk(s) before applying.`);
167
+ return EXIT_NOTHING_ACCEPTED;
168
+ }
169
+ }
170
+ else if (run.responseJson === null || run.responseJson === undefined) {
171
+ throw new CliError(`Run ${runId} is ${run.status} and carries no validated response to apply.`);
172
+ }
173
+ // ── 2. Diff ───────────────────────────────────────────────────────────
174
+ const { diff } = await applyService.buildPlanForRun(run, []);
175
+ const accepted = selectAcceptedByConfidence(diff, yesAbove);
176
+ const acceptedSet = new Set(accepted);
177
+ printDiffTable(io, diff, acceptedSet);
178
+ io.out('');
179
+ // ── 3. Apply (or not) ─────────────────────────────────────────────────
180
+ if (accepted.length === 0) {
181
+ io.out(`Nothing accepted at confidence ≥ ${String(yesAbove)} — nothing applied.`);
182
+ io.out('Lower the bar with --yes-above, or review the run in Studio.');
183
+ return EXIT_NOTHING_ACCEPTED;
184
+ }
185
+ if (dryRun) {
186
+ io.out(`--dry-run: would apply ${String(accepted.length)} of ${String(diff.length)} suggestion(s) ` +
187
+ `at confidence ≥ ${String(yesAbove)}. Nothing was written.`);
188
+ return EXIT_OK;
189
+ }
190
+ const result = await applyService.applyRun(runId, accepted);
191
+ io.out(`Applied ${String(result.review.accepted.length)} suggestion(s): ` +
192
+ `${String(result.counts.overrides)} override(s), ${String(result.counts.pages)} page(s).`);
193
+ if (result.partial) {
194
+ io.out(`${String(result.review.rejected.length)} suggestion(s) below the bar were not applied.`);
195
+ }
196
+ return EXIT_OK;
197
+ }
198
+ finally {
199
+ await runtime.close();
200
+ }
201
+ },
202
+ };
203
+ /** Re-exported for the test — the §10.4 contract is worth asserting by name. */
204
+ export const EXIT_CODES = {
205
+ applied: EXIT_OK,
206
+ validationFailed: EXIT_VALIDATION_FAILED,
207
+ nothingAccepted: EXIT_NOTHING_ACCEPTED,
208
+ };
209
+ //# sourceMappingURL=apply-llm-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-llm-response.js","sourceRoot":"","sources":["../../../src/cli/commands/apply-llm-response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `adminium export-zip` — bundle the instance's server + configuration.
3
+ *
4
+ * The flags, the resolution of configuration, and the reporting are here; the
5
+ * bundling itself lives behind the `src/export/zip-service.ts` `exportZip(opts)`
6
+ * contract, so a future Studio download route produces byte-identical bundles
7
+ * by calling the same service. `adminium import-zip` is the inverse.
8
+ *
9
+ * The distinction the docs insist on and this command's copy repeats: the export
10
+ * is **server + config, not source code** (BRIEF §3). Adminium interprets
11
+ * configuration at runtime; it never emits an app.
12
+ */
13
+ import type { Command } from '../command.js';
14
+ /** Human-readable size for the summary line. */
15
+ export declare function formatBytes(bytes: number): string;
16
+ export declare const exportZipCommand: Command;
17
+ //# sourceMappingURL=export-zip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-zip.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/export-zip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,eAAO,MAAM,gBAAgB,EAAE,OAmF9B,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * `adminium export-zip` — bundle the instance's server + configuration.
3
+ *
4
+ * The flags, the resolution of configuration, and the reporting are here; the
5
+ * bundling itself lives behind the `src/export/zip-service.ts` `exportZip(opts)`
6
+ * contract, so a future Studio download route produces byte-identical bundles
7
+ * by calling the same service. `adminium import-zip` is the inverse.
8
+ *
9
+ * The distinction the docs insist on and this command's copy repeats: the export
10
+ * is **server + config, not source code** (BRIEF §3). Adminium interprets
11
+ * configuration at runtime; it never emits an app.
12
+ */
13
+ import { resolve } from 'node:path';
14
+ import { PlaintextSecretError } from '../../export/redaction.js';
15
+ import { APP_VERSION } from '../../version.js';
16
+ import { boolFlag, parseFlags, stringFlag } from '../args.js';
17
+ import { CliError, EXIT_OK } from '../exit.js';
18
+ import { loadCliEnv } from '../runtime.js';
19
+ /** Human-readable size for the summary line. */
20
+ export function formatBytes(bytes) {
21
+ if (bytes < 1024)
22
+ return `${String(bytes)} B`;
23
+ const units = ['KB', 'MB', 'GB'];
24
+ let value = bytes / 1024;
25
+ let unit = 0;
26
+ while (value >= 1024 && unit < units.length - 1) {
27
+ value /= 1024;
28
+ unit += 1;
29
+ }
30
+ return `${value.toFixed(1)} ${units[unit] ?? 'GB'}`;
31
+ }
32
+ export const exportZipCommand = {
33
+ name: 'export-zip',
34
+ summary: 'Export the instance configuration as a runnable bundle',
35
+ usage: 'adminium export-zip [--connection <id>] [--out <file>] [--include-secrets]',
36
+ describe: 'Bundles the server plus its configuration — connections, snapshots,\n' +
37
+ 'overrides, pages and dashboards, views, settings, roles — so it can be\n' +
38
+ 'restored or replayed elsewhere.\n' +
39
+ '\n' +
40
+ 'This is configuration, not source code: Adminium interprets it at runtime\n' +
41
+ 'and does not emit a generated app. Secrets are excluded unless you ask for\n' +
42
+ 'them with --include-secrets.',
43
+ flags: {
44
+ connection: {
45
+ type: 'string',
46
+ short: 'c',
47
+ placeholder: '<id>',
48
+ describe: 'Export only this connection',
49
+ defaultDescription: 'the whole instance',
50
+ },
51
+ out: {
52
+ type: 'string',
53
+ short: 'o',
54
+ placeholder: '<file>',
55
+ describe: 'Destination archive path',
56
+ defaultDescription: './adminium-export.zip',
57
+ },
58
+ 'include-secrets': {
59
+ type: 'boolean',
60
+ describe: 'Include encrypted DSNs and provider keys in the bundle',
61
+ defaultDescription: 'off',
62
+ },
63
+ 'data-dir': { type: 'string', placeholder: '<path>', describe: 'Data directory' },
64
+ 'meta-url': { type: 'string', placeholder: '<dsn>', describe: 'Meta store DSN' },
65
+ },
66
+ async run({ io, deps, argv }) {
67
+ const { values } = parseFlags(argv, exportZipCommand.flags, exportZipCommand.name);
68
+ const connectionId = stringFlag(values.connection);
69
+ const out = stringFlag(values.out) ?? './adminium-export.zip';
70
+ const dataDir = stringFlag(values['data-dir']);
71
+ const metaUrl = stringFlag(values['meta-url']);
72
+ const env = loadCliEnv(deps.env, {
73
+ ...(dataDir === undefined ? {} : { dataDir }),
74
+ ...(metaUrl === undefined ? {} : { metaUrl }),
75
+ });
76
+ const runtime = await deps.openRuntime(env);
77
+ try {
78
+ const result = await deps.exportZip({
79
+ meta: runtime.metaStore.meta,
80
+ ...(connectionId === undefined ? {} : { connectionId }),
81
+ outPath: resolve(deps.cwd, out),
82
+ includeSecrets: boolFlag(values['include-secrets']),
83
+ dataDir: env.ADMINIUM_DATA_DIR,
84
+ appVersion: APP_VERSION,
85
+ });
86
+ io.out(`Wrote ${result.path} (${formatBytes(result.bytes)}, ${String(result.entries.length)} entries).`);
87
+ const counts = Object.entries(result.counts);
88
+ if (counts.length > 0) {
89
+ io.out(counts.map(([key, value]) => `${key}: ${String(value)}`).join(' · '));
90
+ }
91
+ if (boolFlag(values['include-secrets'])) {
92
+ io.err('This bundle contains encrypted secrets — treat it as sensitive. They only decrypt ' +
93
+ 'under this instance\'s ADMINIUM_SECRET.');
94
+ }
95
+ return EXIT_OK;
96
+ }
97
+ catch (error) {
98
+ // The export refused to write a value that should have been ciphertext.
99
+ // Surface it as a first-class failure rather than a stack trace: it means
100
+ // something upstream stored a secret in plaintext.
101
+ if (error instanceof PlaintextSecretError) {
102
+ throw new CliError(error.message, { cause: error });
103
+ }
104
+ throw error;
105
+ }
106
+ finally {
107
+ await runtime.close();
108
+ }
109
+ },
110
+ };
111
+ //# sourceMappingURL=export-zip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-zip.js","sourceRoot":"","sources":["../../../src/cli/commands/export-zip.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `adminium generate-prompt` — 06-llm-assist.md §10.4, verbatim:
3
+ *
4
+ * adminium generate-prompt --connection <id> [--sections labels,enums,…]
5
+ * [--locales en_US,de_DE] [--sampling] [--out ./prompt.md]
6
+ * → writes prompt file(s), prints runId + token estimate
7
+ *
8
+ * Runs through `promptService.createRunForConnection` — the SAME call
9
+ * `POST /api/v1/llm/runs` makes — so the prompt text a CLI user pastes into a
10
+ * chat window is byte-identical to the one the Studio BYO screen shows, and the
11
+ * run is a first-class row either way. It never touches the HTTP API.
12
+ *
13
+ * Chunked runs (§4.5) write one file per chunk: `--out ./prompt.md` with three
14
+ * chunks yields `prompt.1.md`, `prompt.2.md`, `prompt.3.md` — hence "file(s)".
15
+ */
16
+ import type { Command } from '../command.js';
17
+ import type { CliRuntime } from '../runtime.js';
18
+ /**
19
+ * Per-column sample cap when `--sampling` is passed. Mirrors the Studio wizard's
20
+ * `SAMPLING_MAX_VALUES` (06 §4.2) — the two front doors must opt in to the same
21
+ * amount of data, or "the same prompt" would be a lie.
22
+ */
23
+ export declare const SAMPLING_MAX_VALUES = 20;
24
+ /** `./prompt.md` + chunk 2 of 3 → `./prompt.2.md`; single-chunk keeps the name. */
25
+ export declare function chunkFileName(out: string, index: number, total: number): string;
26
+ /** The prompt service, or the reason it is unavailable, as one actionable error. */
27
+ export declare function requirePromptService(runtime: CliRuntime): NonNullable<CliRuntime['promptService']>;
28
+ export declare const generatePromptCommand: Command;
29
+ //# sourceMappingURL=generate-prompt.d.ts.map