@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.
- package/LICENSE +661 -0
- package/README.md +94 -0
- package/dashboard/assets/DeltaPill-dxlsGh-1.js +2 -0
- package/dashboard/assets/DeltaPill-dxlsGh-1.js.map +1 -0
- package/dashboard/assets/DistributionCorrelationWidgets-ztVy_W_R.js +2 -0
- package/dashboard/assets/DistributionCorrelationWidgets-ztVy_W_R.js.map +1 -0
- package/dashboard/assets/PartWholeWidgets-BDn0i0jt.js +2 -0
- package/dashboard/assets/PartWholeWidgets-BDn0i0jt.js.map +1 -0
- package/dashboard/assets/RemapEditor-z3vRY12e.js +2 -0
- package/dashboard/assets/RemapEditor-z3vRY12e.js.map +1 -0
- package/dashboard/assets/ReviewScreen-COkLQ3T7.js +2 -0
- package/dashboard/assets/ReviewScreen-COkLQ3T7.js.map +1 -0
- package/dashboard/assets/Sparkline-Cvwo368J.js +2 -0
- package/dashboard/assets/Sparkline-Cvwo368J.js.map +1 -0
- package/dashboard/assets/WidgetMissingCard-D0bPJKIs.js +2 -0
- package/dashboard/assets/WidgetMissingCard-D0bPJKIs.js.map +1 -0
- package/dashboard/assets/arc-CPxb74pf.js +2 -0
- package/dashboard/assets/arc-CPxb74pf.js.map +1 -0
- package/dashboard/assets/bars-ranking-components-9Asn_0gR.js +2 -0
- package/dashboard/assets/bars-ranking-components-9Asn_0gR.js.map +1 -0
- package/dashboard/assets/blocks-track-components-BST-NjK2.js +2 -0
- package/dashboard/assets/blocks-track-components-BST-NjK2.js.map +1 -0
- package/dashboard/assets/calendar-track-components-RgNtGtZR.js +2 -0
- package/dashboard/assets/calendar-track-components-RgNtGtZR.js.map +1 -0
- package/dashboard/assets/chrome-track-components-ClNsentC.js +2 -0
- package/dashboard/assets/chrome-track-components-ClNsentC.js.map +1 -0
- package/dashboard/assets/common-BY1j__bD.js +2 -0
- package/dashboard/assets/common-BY1j__bD.js.map +1 -0
- package/dashboard/assets/common-BdlXKpcB.js +2 -0
- package/dashboard/assets/common-BdlXKpcB.js.map +1 -0
- package/dashboard/assets/common-BqqhgMgB.js +2 -0
- package/dashboard/assets/common-BqqhgMgB.js.map +1 -0
- package/dashboard/assets/common-BribWmIo.js +2 -0
- package/dashboard/assets/common-BribWmIo.js.map +1 -0
- package/dashboard/assets/common-Cmf0_lKV.js +2 -0
- package/dashboard/assets/common-Cmf0_lKV.js.map +1 -0
- package/dashboard/assets/common-i0r48qY9.js +2 -0
- package/dashboard/assets/common-i0r48qY9.js.map +1 -0
- package/dashboard/assets/common-x8cfkwpc.js +2 -0
- package/dashboard/assets/common-x8cfkwpc.js.map +1 -0
- package/dashboard/assets/communication-track-components-CNLZXOH_.js +2 -0
- package/dashboard/assets/communication-track-components-CNLZXOH_.js.map +1 -0
- package/dashboard/assets/components-Bp5cFm2d.js +2 -0
- package/dashboard/assets/components-Bp5cFm2d.js.map +1 -0
- package/dashboard/assets/components-C4-O3_gD.js +2 -0
- package/dashboard/assets/components-C4-O3_gD.js.map +1 -0
- package/dashboard/assets/domain-ops-track-components-BPa41AU7.js +2 -0
- package/dashboard/assets/domain-ops-track-components-BPa41AU7.js.map +1 -0
- package/dashboard/assets/domain-track-components-CQ1i1X1t.js +2 -0
- package/dashboard/assets/domain-track-components-CQ1i1X1t.js.map +1 -0
- package/dashboard/assets/errors-BHUWiAQ3.js +2 -0
- package/dashboard/assets/errors-BHUWiAQ3.js.map +1 -0
- package/dashboard/assets/errors-BbyKweDG.js +2 -0
- package/dashboard/assets/errors-BbyKweDG.js.map +1 -0
- package/dashboard/assets/errors-CMQ6JC31.js +2 -0
- package/dashboard/assets/errors-CMQ6JC31.js.map +1 -0
- package/dashboard/assets/errors-D3nVgTmf.js +2 -0
- package/dashboard/assets/errors-D3nVgTmf.js.map +1 -0
- package/dashboard/assets/errors-IqJSoANC.js +2 -0
- package/dashboard/assets/errors-IqJSoANC.js.map +1 -0
- package/dashboard/assets/errors-gmIkO9F6.js +2 -0
- package/dashboard/assets/errors-gmIkO9F6.js.map +1 -0
- package/dashboard/assets/errors-vFk058Vh.js +2 -0
- package/dashboard/assets/errors-vFk058Vh.js.map +1 -0
- package/dashboard/assets/feeds-track-f-components-Cl_8SkGs.js +2 -0
- package/dashboard/assets/feeds-track-f-components-Cl_8SkGs.js.map +1 -0
- package/dashboard/assets/format-Lx4cQ8k-.js +2 -0
- package/dashboard/assets/format-Lx4cQ8k-.js.map +1 -0
- package/dashboard/assets/forms-track-components-Bc2Hoxdh.js +2 -0
- package/dashboard/assets/forms-track-components-Bc2Hoxdh.js.map +1 -0
- package/dashboard/assets/generated-1EfWhCMA.js +2 -0
- package/dashboard/assets/generated-1EfWhCMA.js.map +1 -0
- package/dashboard/assets/generated-BB3ZMxvx.js +2 -0
- package/dashboard/assets/generated-BB3ZMxvx.js.map +1 -0
- package/dashboard/assets/generated-C0JVNBRX.js +2 -0
- package/dashboard/assets/generated-C0JVNBRX.js.map +1 -0
- package/dashboard/assets/generated-C1W48_-3.js +2 -0
- package/dashboard/assets/generated-C1W48_-3.js.map +1 -0
- package/dashboard/assets/generated-CluiB_xY.js +2 -0
- package/dashboard/assets/generated-CluiB_xY.js.map +1 -0
- package/dashboard/assets/generated-DDGtlf-4.js +2 -0
- package/dashboard/assets/generated-DDGtlf-4.js.map +1 -0
- package/dashboard/assets/generated-DPCHvNto.js +2 -0
- package/dashboard/assets/generated-DPCHvNto.js.map +1 -0
- package/dashboard/assets/geo-track-components-Ct4-MSRw.js +3 -0
- package/dashboard/assets/geo-track-components-Ct4-MSRw.js.map +1 -0
- package/dashboard/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2 +0 -0
- package/dashboard/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2 +0 -0
- package/dashboard/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2 +0 -0
- package/dashboard/assets/ibm-plex-sans-arabic-arabic-700-normal-DrtBj6UE.woff2 +0 -0
- package/dashboard/assets/index-DPi4cduu.css +1 -0
- package/dashboard/assets/index-PB1II0WV.js +137 -0
- package/dashboard/assets/index-PB1II0WV.js.map +1 -0
- package/dashboard/assets/jetbrains-mono-latin-ext-wght-italic-BrDczivE.woff2 +0 -0
- package/dashboard/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dashboard/assets/jetbrains-mono-latin-wght-italic-B2M6KQje.woff2 +0 -0
- package/dashboard/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dashboard/assets/leaflet-CIGW-MKW.css +1 -0
- package/dashboard/assets/leaflet-src-D12shr04.js +2 -0
- package/dashboard/assets/leaflet-src-D12shr04.js.map +1 -0
- package/dashboard/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2 +0 -0
- package/dashboard/assets/manrope-latin-wght-normal-DHIcAJRg.woff2 +0 -0
- package/dashboard/assets/media-track-components-CpeII-tT.js +2 -0
- package/dashboard/assets/media-track-components-CpeII-tT.js.map +1 -0
- package/dashboard/assets/scales-e0tkfEy1.js +2 -0
- package/dashboard/assets/scales-e0tkfEy1.js.map +1 -0
- package/dashboard/assets/sparkline-2JUGDrMW.js +2 -0
- package/dashboard/assets/sparkline-2JUGDrMW.js.map +1 -0
- package/dashboard/assets/stats-BNgXz5BD.js +2 -0
- package/dashboard/assets/stats-BNgXz5BD.js.map +1 -0
- package/dashboard/assets/studio-B7hMOwAF.js +2 -0
- package/dashboard/assets/studio-B7hMOwAF.js.map +1 -0
- package/dashboard/assets/studio-BN_9xHY3.js +2 -0
- package/dashboard/assets/studio-BN_9xHY3.js.map +1 -0
- package/dashboard/assets/studio-Cn2MObe8.js +2 -0
- package/dashboard/assets/studio-Cn2MObe8.js.map +1 -0
- package/dashboard/assets/studio-DZEZCCkw.js +2 -0
- package/dashboard/assets/studio-DZEZCCkw.js.map +1 -0
- package/dashboard/assets/studio-DzatTvLl.js +2 -0
- package/dashboard/assets/studio-DzatTvLl.js.map +1 -0
- package/dashboard/assets/studio-cBlD8x90.js +2 -0
- package/dashboard/assets/studio-cBlD8x90.js.map +1 -0
- package/dashboard/assets/studio-cglZPbJK.js +2 -0
- package/dashboard/assets/studio-cglZPbJK.js.map +1 -0
- package/dashboard/assets/system-track-components-GTYYpnfB.js +2 -0
- package/dashboard/assets/system-track-components-GTYYpnfB.js.map +1 -0
- package/dashboard/assets/tables-tail-components-DiA5GeHB.js +2 -0
- package/dashboard/assets/tables-tail-components-DiA5GeHB.js.map +1 -0
- package/dashboard/assets/tables-track-f-components-CVNPd7rq.js +2 -0
- package/dashboard/assets/tables-track-f-components-CVNPd7rq.js.map +1 -0
- package/dashboard/assets/time-flow-components-nKsaryry.js +2 -0
- package/dashboard/assets/time-flow-components-nKsaryry.js.map +1 -0
- package/dashboard/assets/ui-B-kZetor.js +2 -0
- package/dashboard/assets/ui-B-kZetor.js.map +1 -0
- package/dashboard/assets/ui-BEStJ5Pw.js +2 -0
- package/dashboard/assets/ui-BEStJ5Pw.js.map +1 -0
- package/dashboard/assets/ui-BS5_eDN4.js +2 -0
- package/dashboard/assets/ui-BS5_eDN4.js.map +1 -0
- package/dashboard/assets/ui-BZ0EyxRH.js +2 -0
- package/dashboard/assets/ui-BZ0EyxRH.js.map +1 -0
- package/dashboard/assets/ui-BloJDdt6.js +2 -0
- package/dashboard/assets/ui-BloJDdt6.js.map +1 -0
- package/dashboard/assets/ui-CpdrplJH.js +2 -0
- package/dashboard/assets/ui-CpdrplJH.js.map +1 -0
- package/dashboard/assets/ui-YJfT644k.js +2 -0
- package/dashboard/assets/ui-YJfT644k.js.map +1 -0
- package/dashboard/assets/widgets-uDqZWw4A.js +2 -0
- package/dashboard/assets/widgets-uDqZWw4A.js.map +1 -0
- package/dashboard/index.html +41 -0
- package/dist/app.d.ts +48 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +250 -0
- package/dist/app.js.map +1 -0
- package/dist/auth/audit.d.ts +22 -0
- package/dist/auth/audit.d.ts.map +1 -0
- package/dist/auth/audit.js +17 -0
- package/dist/auth/audit.js.map +1 -0
- package/dist/auth/desktop-session.d.ts +53 -0
- package/dist/auth/desktop-session.d.ts.map +1 -0
- package/dist/auth/desktop-session.js +111 -0
- package/dist/auth/desktop-session.js.map +1 -0
- package/dist/auth/passwords.d.ts +17 -0
- package/dist/auth/passwords.d.ts.map +1 -0
- package/dist/auth/passwords.js +40 -0
- package/dist/auth/passwords.js.map +1 -0
- package/dist/auth/sessions.d.ts +77 -0
- package/dist/auth/sessions.d.ts.map +1 -0
- package/dist/auth/sessions.js +137 -0
- package/dist/auth/sessions.js.map +1 -0
- package/dist/auth/totp.d.ts +30 -0
- package/dist/auth/totp.d.ts.map +1 -0
- package/dist/auth/totp.js +97 -0
- package/dist/auth/totp.js.map +1 -0
- package/dist/backup/backup-service.d.ts +157 -0
- package/dist/backup/backup-service.d.ts.map +1 -0
- package/dist/backup/backup-service.js +354 -0
- package/dist/backup/backup-service.js.map +1 -0
- package/dist/backup/format.d.ts +300 -0
- package/dist/backup/format.d.ts.map +1 -0
- package/dist/backup/format.js +304 -0
- package/dist/backup/format.js.map +1 -0
- package/dist/backup/notify.d.ts +55 -0
- package/dist/backup/notify.d.ts.map +1 -0
- package/dist/backup/notify.js +60 -0
- package/dist/backup/notify.js.map +1 -0
- package/dist/backup/snapshot.d.ts +78 -0
- package/dist/backup/snapshot.d.ts.map +1 -0
- package/dist/backup/snapshot.js +142 -0
- package/dist/backup/snapshot.js.map +1 -0
- package/dist/capabilities/catalog.d.ts +33 -0
- package/dist/capabilities/catalog.d.ts.map +1 -0
- package/dist/capabilities/catalog.js +32 -0
- package/dist/capabilities/catalog.js.map +1 -0
- package/dist/capabilities/grants.d.ts +44 -0
- package/dist/capabilities/grants.d.ts.map +1 -0
- package/dist/capabilities/grants.js +65 -0
- package/dist/capabilities/grants.js.map +1 -0
- package/dist/cli/allowlist.d.ts +46 -0
- package/dist/cli/allowlist.d.ts.map +1 -0
- package/dist/cli/allowlist.js +99 -0
- package/dist/cli/allowlist.js.map +1 -0
- package/dist/cli/args.d.ts +63 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +92 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/command.d.ts +32 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +64 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands/apply-llm-response.d.ts +32 -0
- package/dist/cli/commands/apply-llm-response.d.ts.map +1 -0
- package/dist/cli/commands/apply-llm-response.js +209 -0
- package/dist/cli/commands/apply-llm-response.js.map +1 -0
- package/dist/cli/commands/export-zip.d.ts +17 -0
- package/dist/cli/commands/export-zip.d.ts.map +1 -0
- package/dist/cli/commands/export-zip.js +111 -0
- package/dist/cli/commands/export-zip.js.map +1 -0
- package/dist/cli/commands/generate-prompt.d.ts +29 -0
- package/dist/cli/commands/generate-prompt.d.ts.map +1 -0
- package/dist/cli/commands/generate-prompt.js +154 -0
- package/dist/cli/commands/generate-prompt.js.map +1 -0
- package/dist/cli/commands/import-zip.d.ts +13 -0
- package/dist/cli/commands/import-zip.d.ts.map +1 -0
- package/dist/cli/commands/import-zip.js +95 -0
- package/dist/cli/commands/import-zip.js.map +1 -0
- package/dist/cli/commands/init.d.ts +47 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +372 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/introspect.d.ts +11 -0
- package/dist/cli/commands/introspect.d.ts.map +1 -0
- package/dist/cli/commands/introspect.js +100 -0
- package/dist/cli/commands/introspect.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +11 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +80 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/start.d.ts +22 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +101 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/exit.d.ts +37 -0
- package/dist/cli/exit.d.ts.map +1 -0
- package/dist/cli/exit.js +39 -0
- package/dist/cli/exit.js.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +17 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/io.d.ts +49 -0
- package/dist/cli/io.d.ts.map +1 -0
- package/dist/cli/io.js +77 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/run.d.ts +35 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +139 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/runtime.d.ts +116 -0
- package/dist/cli/runtime.d.ts.map +1 -0
- package/dist/cli/runtime.js +181 -0
- package/dist/cli/runtime.js.map +1 -0
- package/dist/cli/static-root.d.ts +42 -0
- package/dist/cli/static-root.d.ts.map +1 -0
- package/dist/cli/static-root.js +58 -0
- package/dist/cli/static-root.js.map +1 -0
- package/dist/compose.d.ts +135 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/compose.js +383 -0
- package/dist/compose.js.map +1 -0
- package/dist/config/bootstrap.d.ts +33 -0
- package/dist/config/bootstrap.d.ts.map +1 -0
- package/dist/config/bootstrap.js +81 -0
- package/dist/config/bootstrap.js.map +1 -0
- package/dist/config/env.d.ts +95 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +236 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/secrets.d.ts +24 -0
- package/dist/config/secrets.d.ts.map +1 -0
- package/dist/config/secrets.js +74 -0
- package/dist/config/secrets.js.map +1 -0
- package/dist/connections/crypto.d.ts +9 -0
- package/dist/connections/crypto.d.ts.map +1 -0
- package/dist/connections/crypto.js +16 -0
- package/dist/connections/crypto.js.map +1 -0
- package/dist/connections/dsn.d.ts +42 -0
- package/dist/connections/dsn.d.ts.map +1 -0
- package/dist/connections/dsn.js +131 -0
- package/dist/connections/dsn.js.map +1 -0
- package/dist/connections/effective-schema.d.ts +65 -0
- package/dist/connections/effective-schema.d.ts.map +1 -0
- package/dist/connections/effective-schema.js +249 -0
- package/dist/connections/effective-schema.js.map +1 -0
- package/dist/connections/introspect.d.ts +52 -0
- package/dist/connections/introspect.d.ts.map +1 -0
- package/dist/connections/introspect.js +111 -0
- package/dist/connections/introspect.js.map +1 -0
- package/dist/connections/manager.d.ts +97 -0
- package/dist/connections/manager.d.ts.map +1 -0
- package/dist/connections/manager.js +224 -0
- package/dist/connections/manager.js.map +1 -0
- package/dist/connections/register-adapters.d.ts +42 -0
- package/dist/connections/register-adapters.d.ts.map +1 -0
- package/dist/connections/register-adapters.js +92 -0
- package/dist/connections/register-adapters.js.map +1 -0
- package/dist/crud/filters.d.ts +57 -0
- package/dist/crud/filters.d.ts.map +1 -0
- package/dist/crud/filters.js +177 -0
- package/dist/crud/filters.js.map +1 -0
- package/dist/crud/identifiers.d.ts +58 -0
- package/dist/crud/identifiers.d.ts.map +1 -0
- package/dist/crud/identifiers.js +99 -0
- package/dist/crud/identifiers.js.map +1 -0
- package/dist/crud/list.d.ts +51 -0
- package/dist/crud/list.d.ts.map +1 -0
- package/dist/crud/list.js +126 -0
- package/dist/crud/list.js.map +1 -0
- package/dist/crud/mask.d.ts +23 -0
- package/dist/crud/mask.d.ts.map +1 -0
- package/dist/crud/mask.js +41 -0
- package/dist/crud/mask.js.map +1 -0
- package/dist/crud/records.d.ts +33 -0
- package/dist/crud/records.d.ts.map +1 -0
- package/dist/crud/records.js +126 -0
- package/dist/crud/records.js.map +1 -0
- package/dist/crud/undo.d.ts +55 -0
- package/dist/crud/undo.d.ts.map +1 -0
- package/dist/crud/undo.js +74 -0
- package/dist/crud/undo.js.map +1 -0
- package/dist/data-io/coerce.d.ts +28 -0
- package/dist/data-io/coerce.d.ts.map +1 -0
- package/dist/data-io/coerce.js +123 -0
- package/dist/data-io/coerce.js.map +1 -0
- package/dist/data-io/csv.d.ts +38 -0
- package/dist/data-io/csv.d.ts.map +1 -0
- package/dist/data-io/csv.js +138 -0
- package/dist/data-io/csv.js.map +1 -0
- package/dist/data-io/snapshot-view.d.ts +10 -0
- package/dist/data-io/snapshot-view.d.ts.map +1 -0
- package/dist/data-io/snapshot-view.js +19 -0
- package/dist/data-io/snapshot-view.js.map +1 -0
- package/dist/desktop/demo-seed.d.ts +23 -0
- package/dist/desktop/demo-seed.d.ts.map +1 -0
- package/dist/desktop/demo-seed.js +28 -0
- package/dist/desktop/demo-seed.js.map +1 -0
- package/dist/desktop/lan-share.d.ts +94 -0
- package/dist/desktop/lan-share.d.ts.map +1 -0
- package/dist/desktop/lan-share.js +150 -0
- package/dist/desktop/lan-share.js.map +1 -0
- package/dist/errors.d.ts +72 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +82 -0
- package/dist/errors.js.map +1 -0
- package/dist/export/bundle.d.ts +235 -0
- package/dist/export/bundle.d.ts.map +1 -0
- package/dist/export/bundle.js +172 -0
- package/dist/export/bundle.js.map +1 -0
- package/dist/export/import-service.d.ts +99 -0
- package/dist/export/import-service.d.ts.map +1 -0
- package/dist/export/import-service.js +515 -0
- package/dist/export/import-service.js.map +1 -0
- package/dist/export/readme.d.ts +25 -0
- package/dist/export/readme.d.ts.map +1 -0
- package/dist/export/readme.js +154 -0
- package/dist/export/readme.js.map +1 -0
- package/dist/export/redaction.d.ts +118 -0
- package/dist/export/redaction.d.ts.map +1 -0
- package/dist/export/redaction.js +233 -0
- package/dist/export/redaction.js.map +1 -0
- package/dist/export/zip-service.d.ts +66 -0
- package/dist/export/zip-service.d.ts.map +1 -0
- package/dist/export/zip-service.js +306 -0
- package/dist/export/zip-service.js.map +1 -0
- package/dist/files/storage.d.ts +50 -0
- package/dist/files/storage.d.ts.map +1 -0
- package/dist/files/storage.js +100 -0
- package/dist/files/storage.js.map +1 -0
- package/dist/generate/materialize-llm.d.ts +45 -0
- package/dist/generate/materialize-llm.d.ts.map +1 -0
- package/dist/generate/materialize-llm.js +167 -0
- package/dist/generate/materialize-llm.js.map +1 -0
- package/dist/generate/run.d.ts +48 -0
- package/dist/generate/run.d.ts.map +1 -0
- package/dist/generate/run.js +123 -0
- package/dist/generate/run.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +116 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/export-run.d.ts +38 -0
- package/dist/jobs/export-run.d.ts.map +1 -0
- package/dist/jobs/export-run.js +172 -0
- package/dist/jobs/export-run.js.map +1 -0
- package/dist/jobs/import-run.d.ts +43 -0
- package/dist/jobs/import-run.d.ts.map +1 -0
- package/dist/jobs/import-run.js +290 -0
- package/dist/jobs/import-run.js.map +1 -0
- package/dist/jobs/llm-run.d.ts +73 -0
- package/dist/jobs/llm-run.d.ts.map +1 -0
- package/dist/jobs/llm-run.js +225 -0
- package/dist/jobs/llm-run.js.map +1 -0
- package/dist/jobs/register.d.ts +90 -0
- package/dist/jobs/register.d.ts.map +1 -0
- package/dist/jobs/register.js +121 -0
- package/dist/jobs/register.js.map +1 -0
- package/dist/jobs/registry.d.ts +74 -0
- package/dist/jobs/registry.d.ts.map +1 -0
- package/dist/jobs/registry.js +78 -0
- package/dist/jobs/registry.js.map +1 -0
- package/dist/jobs/report-run.d.ts +64 -0
- package/dist/jobs/report-run.d.ts.map +1 -0
- package/dist/jobs/report-run.js +221 -0
- package/dist/jobs/report-run.js.map +1 -0
- package/dist/jobs/scheduler.d.ts +72 -0
- package/dist/jobs/scheduler.d.ts.map +1 -0
- package/dist/jobs/scheduler.js +121 -0
- package/dist/jobs/scheduler.js.map +1 -0
- package/dist/jobs/worker.d.ts +110 -0
- package/dist/jobs/worker.d.ts.map +1 -0
- package/dist/jobs/worker.js +282 -0
- package/dist/jobs/worker.js.map +1 -0
- package/dist/llm/apply-service.d.ts +150 -0
- package/dist/llm/apply-service.d.ts.map +1 -0
- package/dist/llm/apply-service.js +463 -0
- package/dist/llm/apply-service.js.map +1 -0
- package/dist/llm/apply-undo-store.d.ts +50 -0
- package/dist/llm/apply-undo-store.d.ts.map +1 -0
- package/dist/llm/apply-undo-store.js +60 -0
- package/dist/llm/apply-undo-store.js.map +1 -0
- package/dist/llm/direct-runner.d.ts +146 -0
- package/dist/llm/direct-runner.d.ts.map +1 -0
- package/dist/llm/direct-runner.js +204 -0
- package/dist/llm/direct-runner.js.map +1 -0
- package/dist/llm/prompt-service.d.ts +90 -0
- package/dist/llm/prompt-service.d.ts.map +1 -0
- package/dist/llm/prompt-service.js +93 -0
- package/dist/llm/prompt-service.js.map +1 -0
- package/dist/llm/provider-resolver.d.ts +25 -0
- package/dist/llm/provider-resolver.d.ts.map +1 -0
- package/dist/llm/provider-resolver.js +81 -0
- package/dist/llm/provider-resolver.js.map +1 -0
- package/dist/llm/run-service.d.ts +215 -0
- package/dist/llm/run-service.d.ts.map +1 -0
- package/dist/llm/run-service.js +343 -0
- package/dist/llm/run-service.js.map +1 -0
- package/dist/llm/stats-collector.d.ts +40 -0
- package/dist/llm/stats-collector.d.ts.map +1 -0
- package/dist/llm/stats-collector.js +74 -0
- package/dist/llm/stats-collector.js.map +1 -0
- package/dist/log-scrub.d.ts +58 -0
- package/dist/log-scrub.d.ts.map +1 -0
- package/dist/log-scrub.js +103 -0
- package/dist/log-scrub.js.map +1 -0
- package/dist/meta/store.d.ts +96 -0
- package/dist/meta/store.d.ts.map +1 -0
- package/dist/meta/store.js +192 -0
- package/dist/meta/store.js.map +1 -0
- package/dist/notifications/notify.d.ts +43 -0
- package/dist/notifications/notify.d.ts.map +1 -0
- package/dist/notifications/notify.js +42 -0
- package/dist/notifications/notify.js.map +1 -0
- package/dist/plugins/auth.d.ts +42 -0
- package/dist/plugins/auth.d.ts.map +1 -0
- package/dist/plugins/auth.js +84 -0
- package/dist/plugins/auth.js.map +1 -0
- package/dist/plugins/core.d.ts +48 -0
- package/dist/plugins/core.d.ts.map +1 -0
- package/dist/plugins/core.js +248 -0
- package/dist/plugins/core.js.map +1 -0
- package/dist/plugins/rbac.d.ts +54 -0
- package/dist/plugins/rbac.d.ts.map +1 -0
- package/dist/plugins/rbac.js +103 -0
- package/dist/plugins/rbac.js.map +1 -0
- package/dist/plugins/static.d.ts +12 -0
- package/dist/plugins/static.d.ts.map +1 -0
- package/dist/plugins/static.js +36 -0
- package/dist/plugins/static.js.map +1 -0
- package/dist/rbac/api-keys.d.ts +30 -0
- package/dist/rbac/api-keys.d.ts.map +1 -0
- package/dist/rbac/api-keys.js +41 -0
- package/dist/rbac/api-keys.js.map +1 -0
- package/dist/rbac/index.d.ts +6 -0
- package/dist/rbac/index.d.ts.map +1 -0
- package/dist/rbac/index.js +6 -0
- package/dist/rbac/index.js.map +1 -0
- package/dist/rbac/permissions.d.ts +107 -0
- package/dist/rbac/permissions.d.ts.map +1 -0
- package/dist/rbac/permissions.js +250 -0
- package/dist/rbac/permissions.js.map +1 -0
- package/dist/rbac/principal.d.ts +33 -0
- package/dist/rbac/principal.d.ts.map +1 -0
- package/dist/rbac/principal.js +31 -0
- package/dist/rbac/principal.js.map +1 -0
- package/dist/rbac/resolver.d.ts +26 -0
- package/dist/rbac/resolver.d.ts.map +1 -0
- package/dist/rbac/resolver.js +46 -0
- package/dist/rbac/resolver.js.map +1 -0
- package/dist/realtime/hub.d.ts +90 -0
- package/dist/realtime/hub.d.ts.map +1 -0
- package/dist/realtime/hub.js +146 -0
- package/dist/realtime/hub.js.map +1 -0
- package/dist/realtime/sse.d.ts +35 -0
- package/dist/realtime/sse.d.ts.map +1 -0
- package/dist/realtime/sse.js +88 -0
- package/dist/realtime/sse.js.map +1 -0
- package/dist/realtime/ws.d.ts +38 -0
- package/dist/realtime/ws.d.ts.map +1 -0
- package/dist/realtime/ws.js +124 -0
- package/dist/realtime/ws.js.map +1 -0
- package/dist/reports/schedule.d.ts +14 -0
- package/dist/reports/schedule.d.ts.map +1 -0
- package/dist/reports/schedule.js +63 -0
- package/dist/reports/schedule.js.map +1 -0
- package/dist/routes/about/index.d.ts +39 -0
- package/dist/routes/about/index.d.ts.map +1 -0
- package/dist/routes/about/index.js +73 -0
- package/dist/routes/about/index.js.map +1 -0
- package/dist/routes/about/schema.d.ts +50 -0
- package/dist/routes/about/schema.d.ts.map +1 -0
- package/dist/routes/about/schema.js +53 -0
- package/dist/routes/about/schema.js.map +1 -0
- package/dist/routes/api-keys/index.d.ts +11 -0
- package/dist/routes/api-keys/index.d.ts.map +1 -0
- package/dist/routes/api-keys/index.js +79 -0
- package/dist/routes/api-keys/index.js.map +1 -0
- package/dist/routes/api-keys/schema.d.ts +62 -0
- package/dist/routes/api-keys/schema.d.ts.map +1 -0
- package/dist/routes/api-keys/schema.js +37 -0
- package/dist/routes/api-keys/schema.js.map +1 -0
- package/dist/routes/audit/index.d.ts +11 -0
- package/dist/routes/audit/index.d.ts.map +1 -0
- package/dist/routes/audit/index.js +107 -0
- package/dist/routes/audit/index.js.map +1 -0
- package/dist/routes/audit/schema.d.ts +129 -0
- package/dist/routes/audit/schema.d.ts.map +1 -0
- package/dist/routes/audit/schema.js +43 -0
- package/dist/routes/audit/schema.js.map +1 -0
- package/dist/routes/auth/desktop-session.d.ts +48 -0
- package/dist/routes/auth/desktop-session.d.ts.map +1 -0
- package/dist/routes/auth/desktop-session.js +132 -0
- package/dist/routes/auth/desktop-session.js.map +1 -0
- package/dist/routes/auth/handlers.d.ts +21 -0
- package/dist/routes/auth/handlers.d.ts.map +1 -0
- package/dist/routes/auth/handlers.js +256 -0
- package/dist/routes/auth/handlers.js.map +1 -0
- package/dist/routes/auth/index.d.ts +27 -0
- package/dist/routes/auth/index.d.ts.map +1 -0
- package/dist/routes/auth/index.js +67 -0
- package/dist/routes/auth/index.js.map +1 -0
- package/dist/routes/auth/schema.d.ts +129 -0
- package/dist/routes/auth/schema.d.ts.map +1 -0
- package/dist/routes/auth/schema.js +84 -0
- package/dist/routes/auth/schema.js.map +1 -0
- package/dist/routes/bootstrap/handlers.d.ts +34 -0
- package/dist/routes/bootstrap/handlers.d.ts.map +1 -0
- package/dist/routes/bootstrap/handlers.js +96 -0
- package/dist/routes/bootstrap/handlers.js.map +1 -0
- package/dist/routes/bootstrap/index.d.ts +9 -0
- package/dist/routes/bootstrap/index.d.ts.map +1 -0
- package/dist/routes/bootstrap/index.js +16 -0
- package/dist/routes/bootstrap/index.js.map +1 -0
- package/dist/routes/bootstrap/schema.d.ts +177 -0
- package/dist/routes/bootstrap/schema.d.ts.map +1 -0
- package/dist/routes/bootstrap/schema.js +55 -0
- package/dist/routes/bootstrap/schema.js.map +1 -0
- package/dist/routes/connections/index.d.ts +21 -0
- package/dist/routes/connections/index.d.ts.map +1 -0
- package/dist/routes/connections/index.js +260 -0
- package/dist/routes/connections/index.js.map +1 -0
- package/dist/routes/connections/schema.d.ts +161 -0
- package/dist/routes/connections/schema.d.ts.map +1 -0
- package/dist/routes/connections/schema.js +91 -0
- package/dist/routes/connections/schema.js.map +1 -0
- package/dist/routes/data/index.d.ts +46 -0
- package/dist/routes/data/index.d.ts.map +1 -0
- package/dist/routes/data/index.js +508 -0
- package/dist/routes/data/index.js.map +1 -0
- package/dist/routes/data/schema.d.ts +128 -0
- package/dist/routes/data/schema.d.ts.map +1 -0
- package/dist/routes/data/schema.js +83 -0
- package/dist/routes/data/schema.js.map +1 -0
- package/dist/routes/desktop/index.d.ts +61 -0
- package/dist/routes/desktop/index.d.ts.map +1 -0
- package/dist/routes/desktop/index.js +91 -0
- package/dist/routes/desktop/index.js.map +1 -0
- package/dist/routes/desktop/schema.d.ts +71 -0
- package/dist/routes/desktop/schema.d.ts.map +1 -0
- package/dist/routes/desktop/schema.js +58 -0
- package/dist/routes/desktop/schema.js.map +1 -0
- package/dist/routes/desktop-capabilities/index.d.ts +9 -0
- package/dist/routes/desktop-capabilities/index.d.ts.map +1 -0
- package/dist/routes/desktop-capabilities/index.js +62 -0
- package/dist/routes/desktop-capabilities/index.js.map +1 -0
- package/dist/routes/desktop-capabilities/schema.d.ts +46 -0
- package/dist/routes/desktop-capabilities/schema.d.ts.map +1 -0
- package/dist/routes/desktop-capabilities/schema.js +30 -0
- package/dist/routes/desktop-capabilities/schema.js.map +1 -0
- package/dist/routes/desktop-demo/handlers.d.ts +94 -0
- package/dist/routes/desktop-demo/handlers.d.ts.map +1 -0
- package/dist/routes/desktop-demo/handlers.js +182 -0
- package/dist/routes/desktop-demo/handlers.js.map +1 -0
- package/dist/routes/desktop-demo/index.d.ts +39 -0
- package/dist/routes/desktop-demo/index.d.ts.map +1 -0
- package/dist/routes/desktop-demo/index.js +73 -0
- package/dist/routes/desktop-demo/index.js.map +1 -0
- package/dist/routes/desktop-demo/schema.d.ts +17 -0
- package/dist/routes/desktop-demo/schema.d.ts.map +1 -0
- package/dist/routes/desktop-demo/schema.js +30 -0
- package/dist/routes/desktop-demo/schema.js.map +1 -0
- package/dist/routes/desktop-lan/index.d.ts +54 -0
- package/dist/routes/desktop-lan/index.d.ts.map +1 -0
- package/dist/routes/desktop-lan/index.js +33 -0
- package/dist/routes/desktop-lan/index.js.map +1 -0
- package/dist/routes/desktop-lan/schema.d.ts +24 -0
- package/dist/routes/desktop-lan/schema.d.ts.map +1 -0
- package/dist/routes/desktop-lan/schema.js +40 -0
- package/dist/routes/desktop-lan/schema.js.map +1 -0
- package/dist/routes/desktop-local-db/handlers.d.ts +92 -0
- package/dist/routes/desktop-local-db/handlers.d.ts.map +1 -0
- package/dist/routes/desktop-local-db/handlers.js +300 -0
- package/dist/routes/desktop-local-db/handlers.js.map +1 -0
- package/dist/routes/desktop-local-db/index.d.ts +39 -0
- package/dist/routes/desktop-local-db/index.d.ts.map +1 -0
- package/dist/routes/desktop-local-db/index.js +83 -0
- package/dist/routes/desktop-local-db/index.js.map +1 -0
- package/dist/routes/desktop-local-db/placeholder.d.ts +75 -0
- package/dist/routes/desktop-local-db/placeholder.d.ts.map +1 -0
- package/dist/routes/desktop-local-db/placeholder.js +420 -0
- package/dist/routes/desktop-local-db/placeholder.js.map +1 -0
- package/dist/routes/desktop-local-db/schema.d.ts +50 -0
- package/dist/routes/desktop-local-db/schema.d.ts.map +1 -0
- package/dist/routes/desktop-local-db/schema.js +71 -0
- package/dist/routes/desktop-local-db/schema.js.map +1 -0
- package/dist/routes/desktop-local-db/sqlite-ddl.d.ts +104 -0
- package/dist/routes/desktop-local-db/sqlite-ddl.d.ts.map +1 -0
- package/dist/routes/desktop-local-db/sqlite-ddl.js +419 -0
- package/dist/routes/desktop-local-db/sqlite-ddl.js.map +1 -0
- package/dist/routes/email-templates/index.d.ts +7 -0
- package/dist/routes/email-templates/index.d.ts.map +1 -0
- package/dist/routes/email-templates/index.js +70 -0
- package/dist/routes/email-templates/index.js.map +1 -0
- package/dist/routes/email-templates/schema.d.ts +54 -0
- package/dist/routes/email-templates/schema.d.ts.map +1 -0
- package/dist/routes/email-templates/schema.js +35 -0
- package/dist/routes/email-templates/schema.js.map +1 -0
- package/dist/routes/exports/index.d.ts +19 -0
- package/dist/routes/exports/index.d.ts.map +1 -0
- package/dist/routes/exports/index.js +145 -0
- package/dist/routes/exports/index.js.map +1 -0
- package/dist/routes/exports/schema.d.ts +183 -0
- package/dist/routes/exports/schema.d.ts.map +1 -0
- package/dist/routes/exports/schema.js +37 -0
- package/dist/routes/exports/schema.js.map +1 -0
- package/dist/routes/generate/index.d.ts +23 -0
- package/dist/routes/generate/index.d.ts.map +1 -0
- package/dist/routes/generate/index.js +80 -0
- package/dist/routes/generate/index.js.map +1 -0
- package/dist/routes/generate/schema.d.ts +43 -0
- package/dist/routes/generate/schema.d.ts.map +1 -0
- package/dist/routes/generate/schema.js +37 -0
- package/dist/routes/generate/schema.js.map +1 -0
- package/dist/routes/imports/index.d.ts +21 -0
- package/dist/routes/imports/index.d.ts.map +1 -0
- package/dist/routes/imports/index.js +288 -0
- package/dist/routes/imports/index.js.map +1 -0
- package/dist/routes/imports/schema.d.ts +292 -0
- package/dist/routes/imports/schema.d.ts.map +1 -0
- package/dist/routes/imports/schema.js +78 -0
- package/dist/routes/imports/schema.js.map +1 -0
- package/dist/routes/index.d.ts +11 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +8 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/jobs/index.d.ts +29 -0
- package/dist/routes/jobs/index.d.ts.map +1 -0
- package/dist/routes/jobs/index.js +175 -0
- package/dist/routes/jobs/index.js.map +1 -0
- package/dist/routes/jobs/schema.d.ts +170 -0
- package/dist/routes/jobs/schema.d.ts.map +1 -0
- package/dist/routes/jobs/schema.js +57 -0
- package/dist/routes/jobs/schema.js.map +1 -0
- package/dist/routes/llm/config-service.d.ts +48 -0
- package/dist/routes/llm/config-service.d.ts.map +1 -0
- package/dist/routes/llm/config-service.js +102 -0
- package/dist/routes/llm/config-service.js.map +1 -0
- package/dist/routes/llm/index.d.ts +69 -0
- package/dist/routes/llm/index.d.ts.map +1 -0
- package/dist/routes/llm/index.js +412 -0
- package/dist/routes/llm/index.js.map +1 -0
- package/dist/routes/llm/schema.d.ts +605 -0
- package/dist/routes/llm/schema.d.ts.map +1 -0
- package/dist/routes/llm/schema.js +238 -0
- package/dist/routes/llm/schema.js.map +1 -0
- package/dist/routes/me/handlers.d.ts +14 -0
- package/dist/routes/me/handlers.d.ts.map +1 -0
- package/dist/routes/me/handlers.js +88 -0
- package/dist/routes/me/handlers.js.map +1 -0
- package/dist/routes/me/index.d.ts +8 -0
- package/dist/routes/me/index.d.ts.map +1 -0
- package/dist/routes/me/index.js +17 -0
- package/dist/routes/me/index.js.map +1 -0
- package/dist/routes/me/schema.d.ts +270 -0
- package/dist/routes/me/schema.d.ts.map +1 -0
- package/dist/routes/me/schema.js +59 -0
- package/dist/routes/me/schema.js.map +1 -0
- package/dist/routes/me-views/index.d.ts +23 -0
- package/dist/routes/me-views/index.d.ts.map +1 -0
- package/dist/routes/me-views/index.js +76 -0
- package/dist/routes/me-views/index.js.map +1 -0
- package/dist/routes/me-views/schema.d.ts +44 -0
- package/dist/routes/me-views/schema.d.ts.map +1 -0
- package/dist/routes/me-views/schema.js +13 -0
- package/dist/routes/me-views/schema.js.map +1 -0
- package/dist/routes/notifications/index.d.ts +19 -0
- package/dist/routes/notifications/index.d.ts.map +1 -0
- package/dist/routes/notifications/index.js +123 -0
- package/dist/routes/notifications/index.js.map +1 -0
- package/dist/routes/notifications/schema.d.ts +122 -0
- package/dist/routes/notifications/schema.d.ts.map +1 -0
- package/dist/routes/notifications/schema.js +83 -0
- package/dist/routes/notifications/schema.js.map +1 -0
- package/dist/routes/onboarding/derive.d.ts +41 -0
- package/dist/routes/onboarding/derive.d.ts.map +1 -0
- package/dist/routes/onboarding/derive.js +30 -0
- package/dist/routes/onboarding/derive.js.map +1 -0
- package/dist/routes/onboarding/index.d.ts +26 -0
- package/dist/routes/onboarding/index.d.ts.map +1 -0
- package/dist/routes/onboarding/index.js +95 -0
- package/dist/routes/onboarding/index.js.map +1 -0
- package/dist/routes/onboarding/schema.d.ts +22 -0
- package/dist/routes/onboarding/schema.d.ts.map +1 -0
- package/dist/routes/onboarding/schema.js +22 -0
- package/dist/routes/onboarding/schema.js.map +1 -0
- package/dist/routes/pages/index.d.ts +26 -0
- package/dist/routes/pages/index.d.ts.map +1 -0
- package/dist/routes/pages/index.js +119 -0
- package/dist/routes/pages/index.js.map +1 -0
- package/dist/routes/pages/layout-schema.d.ts +19 -0
- package/dist/routes/pages/layout-schema.d.ts.map +1 -0
- package/dist/routes/pages/layout-schema.js +19 -0
- package/dist/routes/pages/layout-schema.js.map +1 -0
- package/dist/routes/pages/schema.d.ts +52 -0
- package/dist/routes/pages/schema.d.ts.map +1 -0
- package/dist/routes/pages/schema.js +35 -0
- package/dist/routes/pages/schema.js.map +1 -0
- package/dist/routes/roles/index.d.ts +17 -0
- package/dist/routes/roles/index.d.ts.map +1 -0
- package/dist/routes/roles/index.js +255 -0
- package/dist/routes/roles/index.js.map +1 -0
- package/dist/routes/roles/schema.d.ts +94 -0
- package/dist/routes/roles/schema.d.ts.map +1 -0
- package/dist/routes/roles/schema.js +57 -0
- package/dist/routes/roles/schema.js.map +1 -0
- package/dist/routes/scheduled-reports/index.d.ts +15 -0
- package/dist/routes/scheduled-reports/index.d.ts.map +1 -0
- package/dist/routes/scheduled-reports/index.js +195 -0
- package/dist/routes/scheduled-reports/index.js.map +1 -0
- package/dist/routes/scheduled-reports/schema.d.ts +154 -0
- package/dist/routes/scheduled-reports/schema.d.ts.map +1 -0
- package/dist/routes/scheduled-reports/schema.js +49 -0
- package/dist/routes/scheduled-reports/schema.js.map +1 -0
- package/dist/routes/schema/index.d.ts +24 -0
- package/dist/routes/schema/index.d.ts.map +1 -0
- package/dist/routes/schema/index.js +224 -0
- package/dist/routes/schema/index.js.map +1 -0
- package/dist/routes/schema/schema.d.ts +92 -0
- package/dist/routes/schema/schema.d.ts.map +1 -0
- package/dist/routes/schema/schema.js +64 -0
- package/dist/routes/schema/schema.js.map +1 -0
- package/dist/routes/schema-import/fallback-parser.d.ts +35 -0
- package/dist/routes/schema-import/fallback-parser.d.ts.map +1 -0
- package/dist/routes/schema-import/fallback-parser.js +349 -0
- package/dist/routes/schema-import/fallback-parser.js.map +1 -0
- package/dist/routes/schema-import/index.d.ts +43 -0
- package/dist/routes/schema-import/index.d.ts.map +1 -0
- package/dist/routes/schema-import/index.js +167 -0
- package/dist/routes/schema-import/index.js.map +1 -0
- package/dist/routes/schema-import/schema.d.ts +65 -0
- package/dist/routes/schema-import/schema.d.ts.map +1 -0
- package/dist/routes/schema-import/schema.js +40 -0
- package/dist/routes/schema-import/schema.js.map +1 -0
- package/dist/routes/search/index.d.ts +71 -0
- package/dist/routes/search/index.d.ts.map +1 -0
- package/dist/routes/search/index.js +361 -0
- package/dist/routes/search/index.js.map +1 -0
- package/dist/routes/search/schema.d.ts +125 -0
- package/dist/routes/search/schema.d.ts.map +1 -0
- package/dist/routes/search/schema.js +70 -0
- package/dist/routes/search/schema.js.map +1 -0
- package/dist/routes/settings/index.d.ts +24 -0
- package/dist/routes/settings/index.d.ts.map +1 -0
- package/dist/routes/settings/index.js +164 -0
- package/dist/routes/settings/index.js.map +1 -0
- package/dist/routes/settings/schema.d.ts +110 -0
- package/dist/routes/settings/schema.d.ts.map +1 -0
- package/dist/routes/settings/schema.js +71 -0
- package/dist/routes/settings/schema.js.map +1 -0
- package/dist/routes/setup/index.d.ts +29 -0
- package/dist/routes/setup/index.d.ts.map +1 -0
- package/dist/routes/setup/index.js +68 -0
- package/dist/routes/setup/index.js.map +1 -0
- package/dist/routes/setup/schema.d.ts +61 -0
- package/dist/routes/setup/schema.d.ts.map +1 -0
- package/dist/routes/setup/schema.js +47 -0
- package/dist/routes/setup/schema.js.map +1 -0
- package/dist/routes/system/handlers.d.ts +63 -0
- package/dist/routes/system/handlers.d.ts.map +1 -0
- package/dist/routes/system/handlers.js +121 -0
- package/dist/routes/system/handlers.js.map +1 -0
- package/dist/routes/system/index.d.ts +34 -0
- package/dist/routes/system/index.d.ts.map +1 -0
- package/dist/routes/system/index.js +18 -0
- package/dist/routes/system/index.js.map +1 -0
- package/dist/routes/system/schema.d.ts +93 -0
- package/dist/routes/system/schema.d.ts.map +1 -0
- package/dist/routes/system/schema.js +109 -0
- package/dist/routes/system/schema.js.map +1 -0
- package/dist/routes/views/index.d.ts +21 -0
- package/dist/routes/views/index.d.ts.map +1 -0
- package/dist/routes/views/index.js +155 -0
- package/dist/routes/views/index.js.map +1 -0
- package/dist/routes/views/schema.d.ts +127 -0
- package/dist/routes/views/schema.d.ts.map +1 -0
- package/dist/routes/views/schema.js +56 -0
- package/dist/routes/views/schema.js.map +1 -0
- package/dist/routes/widget-data/index.d.ts +29 -0
- package/dist/routes/widget-data/index.d.ts.map +1 -0
- package/dist/routes/widget-data/index.js +152 -0
- package/dist/routes/widget-data/index.js.map +1 -0
- package/dist/routes/widget-data/schema.d.ts +252 -0
- package/dist/routes/widget-data/schema.d.ts.map +1 -0
- package/dist/routes/widget-data/schema.js +44 -0
- package/dist/routes/widget-data/schema.js.map +1 -0
- package/dist/setup/service.d.ts +63 -0
- package/dist/setup/service.d.ts.map +1 -0
- package/dist/setup/service.js +103 -0
- package/dist/setup/service.js.map +1 -0
- package/dist/start.d.ts +12 -0
- package/dist/start.d.ts.map +1 -0
- package/dist/start.js +28 -0
- package/dist/start.js.map +1 -0
- package/dist/telemetry/payload.d.ts +66 -0
- package/dist/telemetry/payload.d.ts.map +1 -0
- package/dist/telemetry/payload.js +69 -0
- package/dist/telemetry/payload.js.map +1 -0
- package/dist/telemetry/service.d.ts +67 -0
- package/dist/telemetry/service.d.ts.map +1 -0
- package/dist/telemetry/service.js +103 -0
- package/dist/telemetry/service.js.map +1 -0
- package/dist/telemetry/update-check.d.ts +79 -0
- package/dist/telemetry/update-check.d.ts.map +1 -0
- package/dist/telemetry/update-check.js +103 -0
- package/dist/telemetry/update-check.js.map +1 -0
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/dist/widget-data/cache.d.ts +35 -0
- package/dist/widget-data/cache.d.ts.map +1 -0
- package/dist/widget-data/cache.js +67 -0
- package/dist/widget-data/cache.js.map +1 -0
- package/dist/widget-data/compiler.d.ts +107 -0
- package/dist/widget-data/compiler.d.ts.map +1 -0
- package/dist/widget-data/compiler.js +362 -0
- package/dist/widget-data/compiler.js.map +1 -0
- package/dist/widget-data/shapers.d.ts +75 -0
- package/dist/widget-data/shapers.d.ts.map +1 -0
- package/dist/widget-data/shapers.js +128 -0
- package/dist/widget-data/shapers.js.map +1 -0
- package/dist/widget-data/stream-publisher.d.ts +42 -0
- package/dist/widget-data/stream-publisher.d.ts.map +1 -0
- package/dist/widget-data/stream-publisher.js +34 -0
- package/dist/widget-data/stream-publisher.js.map +1 -0
- package/package.json +79 -0
- package/vocabulary/llm-allowlist.json +76 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adminium start` — boot the server and serve the dashboard (01 §4.1).
|
|
3
|
+
*
|
|
4
|
+
* The single-process topology: Fastify + the SPA build + the in-process engine +
|
|
5
|
+
* the jobs loop, one node process, no Redis and no external scheduler. This
|
|
6
|
+
* command adds nothing to that — it resolves configuration, bootstraps the meta
|
|
7
|
+
* store, and hands off to the same composition root every other topology uses.
|
|
8
|
+
*
|
|
9
|
+
* BOOT RUNS `firstRun`, NOT `applyMigrations` (07-meta-store.md §6). Migrations
|
|
10
|
+
* create `adminium_roles`; NOTHING in the migration ledger seeds it. So a boot
|
|
11
|
+
* that only migrated would serve a first-run wizard whose `POST /setup/super-admin`
|
|
12
|
+
* dies inside `createFirstSuperAdmin` ("built-in roles missing") — permanently,
|
|
13
|
+
* because the claim row rolls back with it and every retry re-fails. `firstRun`
|
|
14
|
+
* is the documented, idempotent "safe to run at every boot" entry point: it
|
|
15
|
+
* migrates, seeds the built-in roles, and seeds `system.*` (including the
|
|
16
|
+
* `instanceId` telemetry needs). This is what makes the v0.5 gate criteria
|
|
17
|
+
* "Fresh install → super admin created" and "`docker run` boots to first-run
|
|
18
|
+
* wizard" true on a real install rather than only in a test harness.
|
|
19
|
+
*/
|
|
20
|
+
import type { Command } from '../command.js';
|
|
21
|
+
export declare const startCommand: Command;
|
|
22
|
+
//# sourceMappingURL=start.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,eAAO,MAAM,YAAY,EAAE,OAmF1B,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adminium start` — boot the server and serve the dashboard (01 §4.1).
|
|
3
|
+
*
|
|
4
|
+
* The single-process topology: Fastify + the SPA build + the in-process engine +
|
|
5
|
+
* the jobs loop, one node process, no Redis and no external scheduler. This
|
|
6
|
+
* command adds nothing to that — it resolves configuration, bootstraps the meta
|
|
7
|
+
* store, and hands off to the same composition root every other topology uses.
|
|
8
|
+
*
|
|
9
|
+
* BOOT RUNS `firstRun`, NOT `applyMigrations` (07-meta-store.md §6). Migrations
|
|
10
|
+
* create `adminium_roles`; NOTHING in the migration ledger seeds it. So a boot
|
|
11
|
+
* that only migrated would serve a first-run wizard whose `POST /setup/super-admin`
|
|
12
|
+
* dies inside `createFirstSuperAdmin` ("built-in roles missing") — permanently,
|
|
13
|
+
* because the claim row rolls back with it and every retry re-fails. `firstRun`
|
|
14
|
+
* is the documented, idempotent "safe to run at every boot" entry point: it
|
|
15
|
+
* migrates, seeds the built-in roles, and seeds `system.*` (including the
|
|
16
|
+
* `instanceId` telemetry needs). This is what makes the v0.5 gate criteria
|
|
17
|
+
* "Fresh install → super admin created" and "`docker run` boots to first-run
|
|
18
|
+
* wizard" true on a real install rather than only in a test harness.
|
|
19
|
+
*/
|
|
20
|
+
import { firstRun } from '@adminium/meta';
|
|
21
|
+
import { embeddedMetaWarning } from '../../meta/store.js';
|
|
22
|
+
import { numberFlag, parseFlags, stringFlag } from '../args.js';
|
|
23
|
+
import { EXIT_OK } from '../exit.js';
|
|
24
|
+
import { loadCliEnv } from '../runtime.js';
|
|
25
|
+
export const startCommand = {
|
|
26
|
+
name: 'start',
|
|
27
|
+
summary: 'Start the server and serve the dashboard',
|
|
28
|
+
usage: 'adminium start [--port <n>] [--host <addr>]',
|
|
29
|
+
describe: 'Boots Adminium against the configured meta store, applying any pending\n' +
|
|
30
|
+
'migrations first. With nothing configured it falls back to an embedded\n' +
|
|
31
|
+
'SQLite meta store under the data directory and says so.',
|
|
32
|
+
flags: {
|
|
33
|
+
port: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
short: 'p',
|
|
36
|
+
placeholder: '<n>',
|
|
37
|
+
describe: 'Port to listen on',
|
|
38
|
+
defaultDescription: 'PORT or 4600',
|
|
39
|
+
},
|
|
40
|
+
host: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
placeholder: '<addr>',
|
|
43
|
+
describe: 'Address to bind',
|
|
44
|
+
defaultDescription: 'HOST or 0.0.0.0',
|
|
45
|
+
},
|
|
46
|
+
'meta-url': {
|
|
47
|
+
type: 'string',
|
|
48
|
+
placeholder: '<dsn>',
|
|
49
|
+
describe: 'Meta store DSN',
|
|
50
|
+
defaultDescription: 'ADMINIUM_META_URL, else embedded SQLite',
|
|
51
|
+
},
|
|
52
|
+
'data-dir': {
|
|
53
|
+
type: 'string',
|
|
54
|
+
placeholder: '<path>',
|
|
55
|
+
describe: 'Data directory',
|
|
56
|
+
defaultDescription: 'ADMINIUM_DATA_DIR or ./data',
|
|
57
|
+
},
|
|
58
|
+
'log-level': {
|
|
59
|
+
type: 'string',
|
|
60
|
+
placeholder: '<level>',
|
|
61
|
+
describe: 'fatal|error|warn|info|debug|trace',
|
|
62
|
+
defaultDescription: 'ADMINIUM_LOG_LEVEL or info',
|
|
63
|
+
},
|
|
64
|
+
'skip-migrate': {
|
|
65
|
+
type: 'boolean',
|
|
66
|
+
describe: 'Do not bootstrap (migrate + seed built-in roles) the meta store on boot',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
async run({ io, deps, argv }) {
|
|
70
|
+
const { values } = parseFlags(argv, startCommand.flags, startCommand.name);
|
|
71
|
+
const port = numberFlag(values.port, 'port', startCommand.name);
|
|
72
|
+
const host = stringFlag(values.host);
|
|
73
|
+
const dataDir = stringFlag(values['data-dir']);
|
|
74
|
+
const metaUrl = stringFlag(values['meta-url']);
|
|
75
|
+
const logLevel = stringFlag(values['log-level']);
|
|
76
|
+
const env = loadCliEnv(deps.env, {
|
|
77
|
+
...(port === undefined ? {} : { port }),
|
|
78
|
+
...(host === undefined ? {} : { host }),
|
|
79
|
+
...(dataDir === undefined ? {} : { dataDir }),
|
|
80
|
+
...(metaUrl === undefined ? {} : { metaUrl }),
|
|
81
|
+
...(logLevel === undefined ? {} : { logLevel }),
|
|
82
|
+
});
|
|
83
|
+
const runtime = await deps.openRuntime(env);
|
|
84
|
+
// §3.1 OD-1: the embedded fallback is legitimate but must announce itself.
|
|
85
|
+
if (runtime.metaStore.source === 'embedded') {
|
|
86
|
+
io.err(embeddedMetaWarning(runtime.metaStore.url));
|
|
87
|
+
}
|
|
88
|
+
if (values['skip-migrate'] !== true) {
|
|
89
|
+
const { appliedMigrations } = await firstRun(runtime.metaStore.meta);
|
|
90
|
+
if (appliedMigrations.length > 0) {
|
|
91
|
+
io.out(`Applied ${String(appliedMigrations.length)} pending meta migration(s).`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const server = await deps.startServer(runtime);
|
|
95
|
+
io.out(`Adminium is running at ${server.url}`);
|
|
96
|
+
// The process now lives until a signal; `start` never "finishes". The exit
|
|
97
|
+
// code is only reached in tests, where startServer is a fake.
|
|
98
|
+
return EXIT_OK;
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI exit codes. The `apply-llm-response` triple is a published contract
|
|
3
|
+
* (06-llm-assist.md §10.4: "Exit codes: `0` applied, `2` validation failed,
|
|
4
|
+
* `3` nothing accepted") — scripts and CI pipelines branch on it, so these
|
|
5
|
+
* numbers are as much an API as any route's status code. They live in one
|
|
6
|
+
* module so a command cannot invent a fourth meaning for `2`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EXIT_OK = 0;
|
|
9
|
+
/** Anything that went wrong that is not one of the §10.4 outcomes: usage
|
|
10
|
+
* errors, unreachable databases, missing files, bad configuration. */
|
|
11
|
+
export declare const EXIT_ERROR = 1;
|
|
12
|
+
/** §10.4: the LLM response failed validation (fatal or per-path). */
|
|
13
|
+
export declare const EXIT_VALIDATION_FAILED = 2;
|
|
14
|
+
/** §10.4: the response validated but nothing was accepted, so nothing applied. */
|
|
15
|
+
export declare const EXIT_NOTHING_ACCEPTED = 3;
|
|
16
|
+
export type ExitCode = typeof EXIT_OK | typeof EXIT_ERROR | typeof EXIT_VALIDATION_FAILED | typeof EXIT_NOTHING_ACCEPTED;
|
|
17
|
+
/**
|
|
18
|
+
* An error carrying the exit code the CLI should die with. The dispatcher
|
|
19
|
+
* prints `message` (plus `hint`, when present) and returns `code` — commands
|
|
20
|
+
* throw this instead of calling `process.exit`, so every path is testable.
|
|
21
|
+
*/
|
|
22
|
+
export declare class CliError extends Error {
|
|
23
|
+
readonly name = "CliError";
|
|
24
|
+
readonly code: ExitCode;
|
|
25
|
+
readonly hint: string | null;
|
|
26
|
+
constructor(message: string, opts?: {
|
|
27
|
+
code?: ExitCode;
|
|
28
|
+
hint?: string;
|
|
29
|
+
cause?: unknown;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** A usage/parse problem — the dispatcher appends the command's help. */
|
|
33
|
+
export declare class CliUsageError extends CliError {
|
|
34
|
+
readonly command: string | null;
|
|
35
|
+
constructor(message: string, command?: string | null);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=exit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../src/cli/exit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB;uEACuE;AACvE,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAChB,OAAO,OAAO,GACd,OAAO,UAAU,GACjB,OAAO,sBAAsB,GAC7B,OAAO,qBAAqB,CAAC;AAEjC;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAkB,IAAI,cAAc;IACpC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAK5F;AAED,yEAAyE;AACzE,qBAAa,aAAc,SAAQ,QAAQ;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW;CAI3D"}
|
package/dist/cli/exit.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI exit codes. The `apply-llm-response` triple is a published contract
|
|
3
|
+
* (06-llm-assist.md §10.4: "Exit codes: `0` applied, `2` validation failed,
|
|
4
|
+
* `3` nothing accepted") — scripts and CI pipelines branch on it, so these
|
|
5
|
+
* numbers are as much an API as any route's status code. They live in one
|
|
6
|
+
* module so a command cannot invent a fourth meaning for `2`.
|
|
7
|
+
*/
|
|
8
|
+
export const EXIT_OK = 0;
|
|
9
|
+
/** Anything that went wrong that is not one of the §10.4 outcomes: usage
|
|
10
|
+
* errors, unreachable databases, missing files, bad configuration. */
|
|
11
|
+
export const EXIT_ERROR = 1;
|
|
12
|
+
/** §10.4: the LLM response failed validation (fatal or per-path). */
|
|
13
|
+
export const EXIT_VALIDATION_FAILED = 2;
|
|
14
|
+
/** §10.4: the response validated but nothing was accepted, so nothing applied. */
|
|
15
|
+
export const EXIT_NOTHING_ACCEPTED = 3;
|
|
16
|
+
/**
|
|
17
|
+
* An error carrying the exit code the CLI should die with. The dispatcher
|
|
18
|
+
* prints `message` (plus `hint`, when present) and returns `code` — commands
|
|
19
|
+
* throw this instead of calling `process.exit`, so every path is testable.
|
|
20
|
+
*/
|
|
21
|
+
export class CliError extends Error {
|
|
22
|
+
name = 'CliError';
|
|
23
|
+
code;
|
|
24
|
+
hint;
|
|
25
|
+
constructor(message, opts = {}) {
|
|
26
|
+
super(message, opts.cause === undefined ? undefined : { cause: opts.cause });
|
|
27
|
+
this.code = opts.code ?? EXIT_ERROR;
|
|
28
|
+
this.hint = opts.hint ?? null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** A usage/parse problem — the dispatcher appends the command's help. */
|
|
32
|
+
export class CliUsageError extends CliError {
|
|
33
|
+
command;
|
|
34
|
+
constructor(message, command = null) {
|
|
35
|
+
super(message, { code: EXIT_ERROR });
|
|
36
|
+
this.command = command;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=exit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.js","sourceRoot":"","sources":["../../src/cli/exit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AAEzB;uEACuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAE5B,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAQvC;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACf,IAAI,GAAG,UAAU,CAAC;IAC3B,IAAI,CAAW;IACf,IAAI,CAAgB;IAE7B,YAAY,OAAe,EAAE,OAA4D,EAAE;QACzF,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAChC,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,OAAO,aAAc,SAAQ,QAAQ;IAChC,OAAO,CAAgB;IAChC,YAAY,OAAe,EAAE,UAAyB,IAAI;QACxD,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `adminium` — the CLI entry point (`bin` in package.json, 01-architecture.md
|
|
4
|
+
* §4.1: "one `npx adminium` is a complete install").
|
|
5
|
+
*
|
|
6
|
+
* The only module allowed to end the process. Everything below it returns an
|
|
7
|
+
* exit code; `runCli` is the testable boundary.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `adminium` — the CLI entry point (`bin` in package.json, 01-architecture.md
|
|
4
|
+
* §4.1: "one `npx adminium` is a complete install").
|
|
5
|
+
*
|
|
6
|
+
* The only module allowed to end the process. Everything below it returns an
|
|
7
|
+
* exit code; `runCli` is the testable boundary.
|
|
8
|
+
*/
|
|
9
|
+
import { runCli } from './run.js';
|
|
10
|
+
const code = await runCli(process.argv.slice(2));
|
|
11
|
+
// `start` and the wizard leave a listening server behind: a non-zero code must
|
|
12
|
+
// still exit, but a clean one must NOT tear down a server that is now serving.
|
|
13
|
+
// An explicit exit here would kill it, so instead we let the event loop decide —
|
|
14
|
+
// with no handles left (every other command closes its store), node exits on its
|
|
15
|
+
// own with this code.
|
|
16
|
+
process.exitCode = code;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjD,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,iFAAiF;AACjF,sBAAsB;AACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC"}
|
package/dist/cli/io.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI input/output seam.
|
|
3
|
+
*
|
|
4
|
+
* Every byte the CLI prints and every answer it reads goes through {@link CliIo},
|
|
5
|
+
* so the whole surface — including the init wizard's interactive prompts — is
|
|
6
|
+
* driven by a scripted fake in tests: no TTY, no spawned process, no timers.
|
|
7
|
+
* {@link nodeIo} is the only place that touches `process.stdout`/`stdin`.
|
|
8
|
+
*/
|
|
9
|
+
export interface AskOptions {
|
|
10
|
+
/** Returned when the user just presses Enter. */
|
|
11
|
+
default?: string;
|
|
12
|
+
/** Suppress echo (passwords). Best-effort: falls back to echoing on a non-TTY. */
|
|
13
|
+
mask?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface CliIo {
|
|
16
|
+
/** Write a line to stdout. */
|
|
17
|
+
out(line?: string): void;
|
|
18
|
+
/** Write a line to stderr — errors and warnings only, so stdout stays pipeable. */
|
|
19
|
+
err(line?: string): void;
|
|
20
|
+
/** Prompt for a line of input. */
|
|
21
|
+
ask(question: string, opts?: AskOptions): Promise<string>;
|
|
22
|
+
/** Prompt for a yes/no. */
|
|
23
|
+
confirm(question: string, defaultYes?: boolean): Promise<boolean>;
|
|
24
|
+
/** True when stdin is interactive — gates the wizard. */
|
|
25
|
+
isInteractive: boolean;
|
|
26
|
+
/** Release any underlying readline handle. */
|
|
27
|
+
close(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** Bold/dim helpers that no-op when stdout is not a TTY (pipes stay clean). */
|
|
30
|
+
export interface Style {
|
|
31
|
+
bold(text: string): string;
|
|
32
|
+
dim(text: string): string;
|
|
33
|
+
ok(text: string): string;
|
|
34
|
+
warn(text: string): string;
|
|
35
|
+
danger(text: string): string;
|
|
36
|
+
}
|
|
37
|
+
export declare function createStyle(color: boolean): Style;
|
|
38
|
+
/**
|
|
39
|
+
* The real IO. `readline` is created lazily: `adminium start` never prompts, and
|
|
40
|
+
* opening an interface would keep the event loop alive for no reason.
|
|
41
|
+
*/
|
|
42
|
+
export declare function nodeIo(): CliIo;
|
|
43
|
+
/**
|
|
44
|
+
* Fixed-width table rendering — the `apply-llm-response` diff table (§10.4) and
|
|
45
|
+
* `migrate --status` both print one, and neither should hand-roll padding.
|
|
46
|
+
* Cells are truncated (never wrapped) so a row is always one line.
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderTable(headers: readonly string[], rows: readonly (readonly string[])[], maxWidths?: readonly number[]): string;
|
|
49
|
+
//# sourceMappingURL=io.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/cli/io.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,8BAA8B;IAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mFAAmF;IACnF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kCAAkC;IAClC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,8CAA8C;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CASjD;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,KAAK,CAmC9B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACpC,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,MAAM,CAeR"}
|
package/dist/cli/io.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI input/output seam.
|
|
3
|
+
*
|
|
4
|
+
* Every byte the CLI prints and every answer it reads goes through {@link CliIo},
|
|
5
|
+
* so the whole surface — including the init wizard's interactive prompts — is
|
|
6
|
+
* driven by a scripted fake in tests: no TTY, no spawned process, no timers.
|
|
7
|
+
* {@link nodeIo} is the only place that touches `process.stdout`/`stdin`.
|
|
8
|
+
*/
|
|
9
|
+
import { createInterface } from 'node:readline/promises';
|
|
10
|
+
export function createStyle(color) {
|
|
11
|
+
const wrap = (open) => (text) => (color ? `\u001b[${open}m${text}\u001b[0m` : text);
|
|
12
|
+
return {
|
|
13
|
+
bold: wrap('1'),
|
|
14
|
+
dim: wrap('2'),
|
|
15
|
+
ok: wrap('32'),
|
|
16
|
+
warn: wrap('33'),
|
|
17
|
+
danger: wrap('31'),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The real IO. `readline` is created lazily: `adminium start` never prompts, and
|
|
22
|
+
* opening an interface would keep the event loop alive for no reason.
|
|
23
|
+
*/
|
|
24
|
+
export function nodeIo() {
|
|
25
|
+
let rl = null;
|
|
26
|
+
const readline = () => {
|
|
27
|
+
rl ??= createInterface({ input: process.stdin, output: process.stdout });
|
|
28
|
+
return rl;
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
out(line = '') {
|
|
32
|
+
process.stdout.write(`${line}\n`);
|
|
33
|
+
},
|
|
34
|
+
err(line = '') {
|
|
35
|
+
process.stderr.write(`${line}\n`);
|
|
36
|
+
},
|
|
37
|
+
async ask(question, opts = {}) {
|
|
38
|
+
const suffix = opts.default === undefined ? '' : ` [${opts.default}]`;
|
|
39
|
+
const answer = (await readline().question(`${question}${suffix}: `)).trim();
|
|
40
|
+
return answer === '' ? (opts.default ?? '') : answer;
|
|
41
|
+
},
|
|
42
|
+
async confirm(question, defaultYes = true) {
|
|
43
|
+
const answer = (await readline().question(`${question} ${defaultYes ? '[Y/n]' : '[y/N]'}: `))
|
|
44
|
+
.trim()
|
|
45
|
+
.toLowerCase();
|
|
46
|
+
if (answer === '')
|
|
47
|
+
return defaultYes;
|
|
48
|
+
return answer === 'y' || answer === 'yes';
|
|
49
|
+
},
|
|
50
|
+
get isInteractive() {
|
|
51
|
+
return process.stdin.isTTY === true;
|
|
52
|
+
},
|
|
53
|
+
async close() {
|
|
54
|
+
rl?.close();
|
|
55
|
+
rl = null;
|
|
56
|
+
return Promise.resolve();
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Fixed-width table rendering — the `apply-llm-response` diff table (§10.4) and
|
|
62
|
+
* `migrate --status` both print one, and neither should hand-roll padding.
|
|
63
|
+
* Cells are truncated (never wrapped) so a row is always one line.
|
|
64
|
+
*/
|
|
65
|
+
export function renderTable(headers, rows, maxWidths = []) {
|
|
66
|
+
const clip = (text, max) => max !== undefined && text.length > max ? `${text.slice(0, Math.max(0, max - 1))}…` : text;
|
|
67
|
+
const clipped = rows.map((row) => row.map((cell, i) => clip(cell, maxWidths[i])));
|
|
68
|
+
const all = [headers.map((h, i) => clip(h, maxWidths[i])), ...clipped];
|
|
69
|
+
const widths = headers.map((_, col) => Math.max(...all.map((row) => (row[col] ?? '').length)));
|
|
70
|
+
const line = (row) => row.map((cell, col) => cell.padEnd(widths[col] ?? 0)).join(' ').trimEnd();
|
|
71
|
+
return [
|
|
72
|
+
line(headers.map((h, i) => clip(h, maxWidths[i]))),
|
|
73
|
+
widths.map((w) => '─'.repeat(w)).join(' '),
|
|
74
|
+
...clipped.map(line),
|
|
75
|
+
].join('\n');
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/cli/io.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The dispatcher: argv → command → exit code.
|
|
3
|
+
*
|
|
4
|
+
* Returns a code rather than calling `process.exit`, so the whole CLI is a pure
|
|
5
|
+
* function of (argv, deps) in tests — including the 06 §10.4 exit-code contract,
|
|
6
|
+
* which is asserted against this function's return value.
|
|
7
|
+
*/
|
|
8
|
+
import { type Command } from './command.js';
|
|
9
|
+
import { type ExitCode } from './exit.js';
|
|
10
|
+
import { type CliIo } from './io.js';
|
|
11
|
+
import { type CliDeps } from './runtime.js';
|
|
12
|
+
/** Registry order == the order `--help` lists them: setup first, then the rest. */
|
|
13
|
+
export declare const COMMANDS: readonly Command[];
|
|
14
|
+
export declare function findCommand(name: string): Command | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* True when argv asks for help — matching only tokens in FLAG POSITION.
|
|
17
|
+
*
|
|
18
|
+
* The old check was `argv.some((arg) => HELP_FLAGS.has(arg))`, which cannot tell
|
|
19
|
+
* a flag from a flag's VALUE: `--name help` and `--in help` are a connection
|
|
20
|
+
* named "help" and a bundle file named `help`, not requests for documentation.
|
|
21
|
+
* Both printed help and exited 0 — a silent no-op that a calling script reads as
|
|
22
|
+
* success. Everything after a `--` separator is passthrough and never a flag.
|
|
23
|
+
*/
|
|
24
|
+
export declare function wantsHelp(argv: readonly string[], command: Command): boolean;
|
|
25
|
+
export interface RunCliOptions {
|
|
26
|
+
io?: CliIo;
|
|
27
|
+
deps?: CliDeps;
|
|
28
|
+
version?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse and dispatch. `adminium` with no arguments runs the setup wizard, which
|
|
32
|
+
* is the whole point of `npx adminium` (01 §4.1).
|
|
33
|
+
*/
|
|
34
|
+
export declare function runCli(argv: readonly string[], opts?: RunCliOptions): Promise<ExitCode>;
|
|
35
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAqC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAS/E,OAAO,EAAgD,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,mFAAmF;AACnF,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAStC,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE7D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAQ5E;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+DjG"}
|
package/dist/cli/run.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The dispatcher: argv → command → exit code.
|
|
3
|
+
*
|
|
4
|
+
* Returns a code rather than calling `process.exit`, so the whole CLI is a pure
|
|
5
|
+
* function of (argv, deps) in tests — including the 06 §10.4 exit-code contract,
|
|
6
|
+
* which is asserted against this function's return value.
|
|
7
|
+
*/
|
|
8
|
+
import { APP_VERSION } from '../version.js';
|
|
9
|
+
import { renderCommandHelp, renderRootHelp } from './command.js';
|
|
10
|
+
import { applyLlmResponseCommand } from './commands/apply-llm-response.js';
|
|
11
|
+
import { exportZipCommand } from './commands/export-zip.js';
|
|
12
|
+
import { generatePromptCommand } from './commands/generate-prompt.js';
|
|
13
|
+
import { importZipCommand } from './commands/import-zip.js';
|
|
14
|
+
import { initCommand } from './commands/init.js';
|
|
15
|
+
import { introspectCommand } from './commands/introspect.js';
|
|
16
|
+
import { migrateCommand } from './commands/migrate.js';
|
|
17
|
+
import { startCommand } from './commands/start.js';
|
|
18
|
+
import { CliError, CliUsageError, EXIT_ERROR, EXIT_OK } from './exit.js';
|
|
19
|
+
import { nodeIo } from './io.js';
|
|
20
|
+
import { defaultCliDeps } from './runtime.js';
|
|
21
|
+
/** Registry order == the order `--help` lists them: setup first, then the rest. */
|
|
22
|
+
export const COMMANDS = [
|
|
23
|
+
initCommand,
|
|
24
|
+
startCommand,
|
|
25
|
+
migrateCommand,
|
|
26
|
+
introspectCommand,
|
|
27
|
+
generatePromptCommand,
|
|
28
|
+
applyLlmResponseCommand,
|
|
29
|
+
exportZipCommand,
|
|
30
|
+
importZipCommand,
|
|
31
|
+
];
|
|
32
|
+
export function findCommand(name) {
|
|
33
|
+
return COMMANDS.find((command) => command.name === name);
|
|
34
|
+
}
|
|
35
|
+
const HELP_FLAGS = new Set(['--help', '-h', 'help']);
|
|
36
|
+
const VERSION_FLAGS = new Set(['--version', '-v']);
|
|
37
|
+
/**
|
|
38
|
+
* Is `token` a string-valued flag of `command`, i.e. does it CONSUME the next
|
|
39
|
+
* argv token as its value? `--flag=value` carries its own value and consumes
|
|
40
|
+
* nothing.
|
|
41
|
+
*/
|
|
42
|
+
function consumesNextToken(token, command) {
|
|
43
|
+
if (token.includes('='))
|
|
44
|
+
return false;
|
|
45
|
+
if (token.startsWith('--')) {
|
|
46
|
+
return command.flags[token.slice(2)]?.type === 'string';
|
|
47
|
+
}
|
|
48
|
+
// A short cluster (`-abc`) can only end in a value-taking flag; resolving the
|
|
49
|
+
// last character is enough, and `-p` is the shape that actually occurs.
|
|
50
|
+
if (token.startsWith('-') && token.length >= 2) {
|
|
51
|
+
const short = token[token.length - 1];
|
|
52
|
+
return Object.values(command.flags).some((spec) => spec.short === short && spec.type === 'string');
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* True when argv asks for help — matching only tokens in FLAG POSITION.
|
|
58
|
+
*
|
|
59
|
+
* The old check was `argv.some((arg) => HELP_FLAGS.has(arg))`, which cannot tell
|
|
60
|
+
* a flag from a flag's VALUE: `--name help` and `--in help` are a connection
|
|
61
|
+
* named "help" and a bundle file named `help`, not requests for documentation.
|
|
62
|
+
* Both printed help and exited 0 — a silent no-op that a calling script reads as
|
|
63
|
+
* success. Everything after a `--` separator is passthrough and never a flag.
|
|
64
|
+
*/
|
|
65
|
+
export function wantsHelp(argv, command) {
|
|
66
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
67
|
+
const token = argv[i];
|
|
68
|
+
if (token === '--')
|
|
69
|
+
return false;
|
|
70
|
+
if (HELP_FLAGS.has(token))
|
|
71
|
+
return true;
|
|
72
|
+
if (consumesNextToken(token, command))
|
|
73
|
+
i += 1; // skip the value
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Parse and dispatch. `adminium` with no arguments runs the setup wizard, which
|
|
79
|
+
* is the whole point of `npx adminium` (01 §4.1).
|
|
80
|
+
*/
|
|
81
|
+
export async function runCli(argv, opts = {}) {
|
|
82
|
+
const io = opts.io ?? nodeIo();
|
|
83
|
+
const deps = opts.deps ?? defaultCliDeps();
|
|
84
|
+
const version = opts.version ?? APP_VERSION;
|
|
85
|
+
const [first, ...rest] = argv;
|
|
86
|
+
if (first !== undefined && VERSION_FLAGS.has(first)) {
|
|
87
|
+
io.out(version);
|
|
88
|
+
return EXIT_OK;
|
|
89
|
+
}
|
|
90
|
+
// Bare `--help` / `help`, and `help <command>`.
|
|
91
|
+
if (first !== undefined && HELP_FLAGS.has(first)) {
|
|
92
|
+
const target = rest[0] === undefined ? undefined : findCommand(rest[0]);
|
|
93
|
+
io.out(target === undefined ? renderRootHelp(COMMANDS, version) : renderCommandHelp(target));
|
|
94
|
+
return EXIT_OK;
|
|
95
|
+
}
|
|
96
|
+
// No command → the wizard. Its own flags still parse (`adminium --port 8080`).
|
|
97
|
+
const command = first === undefined || first.startsWith('-') ? initCommand : findCommand(first);
|
|
98
|
+
const commandArgv = command === initCommand && first !== 'init' ? [...argv] : rest;
|
|
99
|
+
if (command === undefined) {
|
|
100
|
+
io.err(`Unknown command "${String(first)}".`);
|
|
101
|
+
io.err('');
|
|
102
|
+
io.err(renderRootHelp(COMMANDS, version));
|
|
103
|
+
return EXIT_ERROR;
|
|
104
|
+
}
|
|
105
|
+
// `adminium <command> --help` — before the command parses, so `--help` never
|
|
106
|
+
// has to be a flag on every command.
|
|
107
|
+
//
|
|
108
|
+
// Only tokens in FLAG POSITION count. A blind `argv.includes('--help')` also
|
|
109
|
+
// matched flag VALUES: `adminium init --name help` (a connection named
|
|
110
|
+
// "help") and `adminium import-zip --in help` (a bundle file named `help`)
|
|
111
|
+
// both printed help and returned EXIT_OK, so a script branching on exit 0
|
|
112
|
+
// concluded the command had run.
|
|
113
|
+
if (wantsHelp(commandArgv, command)) {
|
|
114
|
+
io.out(renderCommandHelp(command));
|
|
115
|
+
return EXIT_OK;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
return await command.run({ io, deps, argv: commandArgv });
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (error instanceof CliUsageError) {
|
|
122
|
+
io.err(error.message);
|
|
123
|
+
io.err('');
|
|
124
|
+
io.err(renderCommandHelp(command));
|
|
125
|
+
return error.code;
|
|
126
|
+
}
|
|
127
|
+
if (error instanceof CliError) {
|
|
128
|
+
io.err(error.message);
|
|
129
|
+
if (error.hint !== null) {
|
|
130
|
+
io.err('');
|
|
131
|
+
io.err(error.hint);
|
|
132
|
+
}
|
|
133
|
+
return error.code;
|
|
134
|
+
}
|
|
135
|
+
io.err(error instanceof Error ? error.message : String(error));
|
|
136
|
+
return EXIT_ERROR;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|