@schema-weaver/pg-connector 0.0.0-stage → 2.0.0
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/CHANGELOG.md +21 -0
- package/LICENSE +21 -0
- package/README.md +457 -2
- package/dist/cjs/audit/chain.d.ts +365 -0
- package/dist/cjs/audit/chain.d.ts.map +1 -0
- package/dist/cjs/audit/chain.js +959 -0
- package/dist/cjs/audit/chain.js.map +1 -0
- package/dist/cjs/audit/cloud-client.d.ts +142 -0
- package/dist/cjs/audit/cloud-client.d.ts.map +1 -0
- package/dist/cjs/audit/cloud-client.js +364 -0
- package/dist/cjs/audit/cloud-client.js.map +1 -0
- package/dist/cjs/audit/cloud-writer.d.ts +57 -0
- package/dist/cjs/audit/cloud-writer.d.ts.map +1 -0
- package/dist/cjs/audit/cloud-writer.js +95 -0
- package/dist/cjs/audit/cloud-writer.js.map +1 -0
- package/dist/cjs/audit/context.d.ts +51 -0
- package/dist/cjs/audit/context.d.ts.map +1 -0
- package/dist/cjs/audit/context.js +75 -0
- package/dist/cjs/audit/context.js.map +1 -0
- package/dist/cjs/audit/files.d.ts +111 -0
- package/dist/cjs/audit/files.d.ts.map +1 -0
- package/dist/cjs/audit/files.js +406 -0
- package/dist/cjs/audit/files.js.map +1 -0
- package/dist/cjs/audit/index.d.ts +9 -0
- package/dist/cjs/audit/index.d.ts.map +1 -0
- package/dist/cjs/audit/index.js +68 -0
- package/dist/cjs/audit/index.js.map +1 -0
- package/dist/cjs/audit/local-writer.d.ts +255 -0
- package/dist/cjs/audit/local-writer.d.ts.map +1 -0
- package/dist/cjs/audit/local-writer.js +829 -0
- package/dist/cjs/audit/local-writer.js.map +1 -0
- package/dist/cjs/audit/redact.d.ts +151 -0
- package/dist/cjs/audit/redact.d.ts.map +1 -0
- package/dist/cjs/audit/redact.js +549 -0
- package/dist/cjs/audit/redact.js.map +1 -0
- package/dist/cjs/audit/sanitize.d.ts +78 -0
- package/dist/cjs/audit/sanitize.d.ts.map +1 -0
- package/dist/cjs/audit/sanitize.js +315 -0
- package/dist/cjs/audit/sanitize.js.map +1 -0
- package/dist/cjs/audit/sink.d.ts +278 -0
- package/dist/cjs/audit/sink.d.ts.map +1 -0
- package/dist/cjs/audit/sink.js +819 -0
- package/dist/cjs/audit/sink.js.map +1 -0
- package/dist/cjs/audit/types.d.ts +226 -0
- package/dist/cjs/audit/types.d.ts.map +1 -0
- package/dist/cjs/audit/types.js +3 -0
- package/dist/cjs/audit/types.js.map +1 -0
- package/dist/cjs/audit/verify-cache.d.ts +127 -0
- package/dist/cjs/audit/verify-cache.d.ts.map +1 -0
- package/dist/cjs/audit/verify-cache.js +668 -0
- package/dist/cjs/audit/verify-cache.js.map +1 -0
- package/dist/cjs/channels/agent-session.d.ts +228 -0
- package/dist/cjs/channels/agent-session.d.ts.map +1 -0
- package/dist/cjs/channels/agent-session.js +604 -0
- package/dist/cjs/channels/agent-session.js.map +1 -0
- package/dist/cjs/channels/data-channel.d.ts +181 -0
- package/dist/cjs/channels/data-channel.d.ts.map +1 -0
- package/dist/cjs/channels/data-channel.js +607 -0
- package/dist/cjs/channels/data-channel.js.map +1 -0
- package/dist/cjs/channels/reconnect.d.ts +142 -0
- package/dist/cjs/channels/reconnect.d.ts.map +1 -0
- package/dist/cjs/channels/reconnect.js +247 -0
- package/dist/cjs/channels/reconnect.js.map +1 -0
- package/dist/cjs/channels/types.d.ts +112 -0
- package/dist/cjs/channels/types.d.ts.map +1 -0
- package/dist/cjs/channels/types.js +3 -0
- package/dist/cjs/channels/types.js.map +1 -0
- package/dist/cjs/channels/wake-channel.d.ts +232 -0
- package/dist/cjs/channels/wake-channel.d.ts.map +1 -0
- package/dist/cjs/channels/wake-channel.js +752 -0
- package/dist/cjs/channels/wake-channel.js.map +1 -0
- package/dist/cjs/cli/banner.d.ts +2 -0
- package/dist/cjs/cli/banner.d.ts.map +1 -0
- package/dist/cjs/cli/banner.js +150 -0
- package/dist/cjs/cli/banner.js.map +1 -0
- package/dist/cjs/cli/commands/agent.d.ts +30 -0
- package/dist/cjs/cli/commands/agent.d.ts.map +1 -0
- package/dist/cjs/cli/commands/agent.js +214 -0
- package/dist/cjs/cli/commands/agent.js.map +1 -0
- package/dist/cjs/cli/commands/audit-verify.d.ts +19 -0
- package/dist/cjs/cli/commands/audit-verify.d.ts.map +1 -0
- package/dist/cjs/cli/commands/audit-verify.js +382 -0
- package/dist/cjs/cli/commands/audit-verify.js.map +1 -0
- package/dist/cjs/cli/commands/clean.d.ts +23 -0
- package/dist/cjs/cli/commands/clean.d.ts.map +1 -0
- package/dist/cjs/cli/commands/clean.js +272 -0
- package/dist/cjs/cli/commands/clean.js.map +1 -0
- package/dist/cjs/cli/commands/config-show.d.ts +2 -0
- package/dist/cjs/cli/commands/config-show.d.ts.map +1 -0
- package/dist/cjs/cli/commands/config-show.js +10 -0
- package/dist/cjs/cli/commands/config-show.js.map +1 -0
- package/dist/cjs/cli/commands/config.d.ts +6 -0
- package/dist/cjs/cli/commands/config.d.ts.map +1 -0
- package/dist/cjs/cli/commands/config.js +266 -0
- package/dist/cjs/cli/commands/config.js.map +1 -0
- package/dist/cjs/cli/commands/db-add.d.ts +16 -0
- package/dist/cjs/cli/commands/db-add.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-add.js +613 -0
- package/dist/cjs/cli/commands/db-add.js.map +1 -0
- package/dist/cjs/cli/commands/db-edit.d.ts +2 -0
- package/dist/cjs/cli/commands/db-edit.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-edit.js +388 -0
- package/dist/cjs/cli/commands/db-edit.js.map +1 -0
- package/dist/cjs/cli/commands/db-logs.d.ts +3 -0
- package/dist/cjs/cli/commands/db-logs.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-logs.js +67 -0
- package/dist/cjs/cli/commands/db-logs.js.map +1 -0
- package/dist/cjs/cli/commands/db-ls.d.ts +2 -0
- package/dist/cjs/cli/commands/db-ls.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-ls.js +118 -0
- package/dist/cjs/cli/commands/db-ls.js.map +1 -0
- package/dist/cjs/cli/commands/db-query.d.ts +121 -0
- package/dist/cjs/cli/commands/db-query.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-query.js +802 -0
- package/dist/cjs/cli/commands/db-query.js.map +1 -0
- package/dist/cjs/cli/commands/db-remove.d.ts +2 -0
- package/dist/cjs/cli/commands/db-remove.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-remove.js +51 -0
- package/dist/cjs/cli/commands/db-remove.js.map +1 -0
- package/dist/cjs/cli/commands/db-show.d.ts +2 -0
- package/dist/cjs/cli/commands/db-show.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-show.js +134 -0
- package/dist/cjs/cli/commands/db-show.js.map +1 -0
- package/dist/cjs/cli/commands/db-test.d.ts +3 -0
- package/dist/cjs/cli/commands/db-test.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db-test.js +311 -0
- package/dist/cjs/cli/commands/db-test.js.map +1 -0
- package/dist/cjs/cli/commands/db.d.ts +11 -0
- package/dist/cjs/cli/commands/db.d.ts.map +1 -0
- package/dist/cjs/cli/commands/db.js +90 -0
- package/dist/cjs/cli/commands/db.js.map +1 -0
- package/dist/cjs/cli/commands/debug.d.ts +2 -0
- package/dist/cjs/cli/commands/debug.d.ts.map +1 -0
- package/dist/cjs/cli/commands/debug.js +241 -0
- package/dist/cjs/cli/commands/debug.js.map +1 -0
- package/dist/cjs/cli/commands/doctor.d.ts +5 -0
- package/dist/cjs/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cjs/cli/commands/doctor.js +117 -0
- package/dist/cjs/cli/commands/doctor.js.map +1 -0
- package/dist/cjs/cli/commands/index.d.ts +10 -0
- package/dist/cjs/cli/commands/index.d.ts.map +1 -0
- package/dist/cjs/cli/commands/index.js +30 -0
- package/dist/cjs/cli/commands/index.js.map +1 -0
- package/dist/cjs/cli/commands/init.d.ts +2 -0
- package/dist/cjs/cli/commands/init.d.ts.map +1 -0
- package/dist/cjs/cli/commands/init.js +199 -0
- package/dist/cjs/cli/commands/init.js.map +1 -0
- package/dist/cjs/cli/commands/link.d.ts +5 -0
- package/dist/cjs/cli/commands/link.d.ts.map +1 -0
- package/dist/cjs/cli/commands/link.js +44 -0
- package/dist/cjs/cli/commands/link.js.map +1 -0
- package/dist/cjs/cli/commands/logs.d.ts +17 -0
- package/dist/cjs/cli/commands/logs.d.ts.map +1 -0
- package/dist/cjs/cli/commands/logs.js +314 -0
- package/dist/cjs/cli/commands/logs.js.map +1 -0
- package/dist/cjs/cli/commands/project-show.d.ts +2 -0
- package/dist/cjs/cli/commands/project-show.d.ts.map +1 -0
- package/dist/cjs/cli/commands/project-show.js +105 -0
- package/dist/cjs/cli/commands/project-show.js.map +1 -0
- package/dist/cjs/cli/commands/project.d.ts +3 -0
- package/dist/cjs/cli/commands/project.d.ts.map +1 -0
- package/dist/cjs/cli/commands/project.js +64 -0
- package/dist/cjs/cli/commands/project.js.map +1 -0
- package/dist/cjs/cli/commands/service.d.ts +123 -0
- package/dist/cjs/cli/commands/service.d.ts.map +1 -0
- package/dist/cjs/cli/commands/service.js +554 -0
- package/dist/cjs/cli/commands/service.js.map +1 -0
- package/dist/cjs/cli/commands/start.d.ts +6 -0
- package/dist/cjs/cli/commands/start.d.ts.map +1 -0
- package/dist/cjs/cli/commands/start.js +308 -0
- package/dist/cjs/cli/commands/start.js.map +1 -0
- package/dist/cjs/cli/commands/status.d.ts +2 -0
- package/dist/cjs/cli/commands/status.d.ts.map +1 -0
- package/dist/cjs/cli/commands/status.js +225 -0
- package/dist/cjs/cli/commands/status.js.map +1 -0
- package/dist/cjs/cli/commands/stop.d.ts +6 -0
- package/dist/cjs/cli/commands/stop.d.ts.map +1 -0
- package/dist/cjs/cli/commands/stop.js +99 -0
- package/dist/cjs/cli/commands/stop.js.map +1 -0
- package/dist/cjs/cli/daemon/error-tracker.d.ts +119 -0
- package/dist/cjs/cli/daemon/error-tracker.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/error-tracker.js +500 -0
- package/dist/cjs/cli/daemon/error-tracker.js.map +1 -0
- package/dist/cjs/cli/daemon/fault-shutdown.d.ts +144 -0
- package/dist/cjs/cli/daemon/fault-shutdown.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/fault-shutdown.js +312 -0
- package/dist/cjs/cli/daemon/fault-shutdown.js.map +1 -0
- package/dist/cjs/cli/daemon/index.d.ts +12 -0
- package/dist/cjs/cli/daemon/index.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/index.js +23 -0
- package/dist/cjs/cli/daemon/index.js.map +1 -0
- package/dist/cjs/cli/daemon/pid-file.d.ts +13 -0
- package/dist/cjs/cli/daemon/pid-file.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/pid-file.js +90 -0
- package/dist/cjs/cli/daemon/pid-file.js.map +1 -0
- package/dist/cjs/cli/daemon/readiness.d.ts +30 -0
- package/dist/cjs/cli/daemon/readiness.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/readiness.js +74 -0
- package/dist/cjs/cli/daemon/readiness.js.map +1 -0
- package/dist/cjs/cli/daemon/runtime.d.ts +366 -0
- package/dist/cjs/cli/daemon/runtime.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/runtime.js +1343 -0
- package/dist/cjs/cli/daemon/runtime.js.map +1 -0
- package/dist/cjs/cli/daemon/shutdown.d.ts +7 -0
- package/dist/cjs/cli/daemon/shutdown.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/shutdown.js +66 -0
- package/dist/cjs/cli/daemon/shutdown.js.map +1 -0
- package/dist/cjs/cli/daemon/signal-handlers.d.ts +3 -0
- package/dist/cjs/cli/daemon/signal-handlers.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/signal-handlers.js +27 -0
- package/dist/cjs/cli/daemon/signal-handlers.js.map +1 -0
- package/dist/cjs/cli/daemon/state.d.ts +157 -0
- package/dist/cjs/cli/daemon/state.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/state.js +397 -0
- package/dist/cjs/cli/daemon/state.js.map +1 -0
- package/dist/cjs/cli/daemon/status-file.d.ts +139 -0
- package/dist/cjs/cli/daemon/status-file.d.ts.map +1 -0
- package/dist/cjs/cli/daemon/status-file.js +88 -0
- package/dist/cjs/cli/daemon/status-file.js.map +1 -0
- package/dist/cjs/cli/doctor/checks.d.ts +133 -0
- package/dist/cjs/cli/doctor/checks.d.ts.map +1 -0
- package/dist/cjs/cli/doctor/checks.js +677 -0
- package/dist/cjs/cli/doctor/checks.js.map +1 -0
- package/dist/cjs/cli/doctor/fixes.d.ts +9 -0
- package/dist/cjs/cli/doctor/fixes.d.ts.map +1 -0
- package/dist/cjs/cli/doctor/fixes.js +199 -0
- package/dist/cjs/cli/doctor/fixes.js.map +1 -0
- package/dist/cjs/cli/doctor/index.d.ts +7 -0
- package/dist/cjs/cli/doctor/index.d.ts.map +1 -0
- package/dist/cjs/cli/doctor/index.js +27 -0
- package/dist/cjs/cli/doctor/index.js.map +1 -0
- package/dist/cjs/cli/index.d.ts +3 -0
- package/dist/cjs/cli/index.d.ts.map +1 -0
- package/dist/cjs/cli/index.js +336 -0
- package/dist/cjs/cli/index.js.map +1 -0
- package/dist/cjs/cli/interactive.d.ts +8 -0
- package/dist/cjs/cli/interactive.d.ts.map +1 -0
- package/dist/cjs/cli/interactive.js +670 -0
- package/dist/cjs/cli/interactive.js.map +1 -0
- package/dist/cjs/cli/logs/format.d.ts +13 -0
- package/dist/cjs/cli/logs/format.d.ts.map +1 -0
- package/dist/cjs/cli/logs/format.js +178 -0
- package/dist/cjs/cli/logs/format.js.map +1 -0
- package/dist/cjs/cli/logs/index.d.ts +3 -0
- package/dist/cjs/cli/logs/index.d.ts.map +1 -0
- package/dist/cjs/cli/logs/index.js +13 -0
- package/dist/cjs/cli/logs/index.js.map +1 -0
- package/dist/cjs/cli/logs/viewer.d.ts +41 -0
- package/dist/cjs/cli/logs/viewer.d.ts.map +1 -0
- package/dist/cjs/cli/logs/viewer.js +417 -0
- package/dist/cjs/cli/logs/viewer.js.map +1 -0
- package/dist/cjs/cli/ops/operation-logger.d.ts +63 -0
- package/dist/cjs/cli/ops/operation-logger.d.ts.map +1 -0
- package/dist/cjs/cli/ops/operation-logger.js +183 -0
- package/dist/cjs/cli/ops/operation-logger.js.map +1 -0
- package/dist/cjs/cli/palette.d.ts +11 -0
- package/dist/cjs/cli/palette.d.ts.map +1 -0
- package/dist/cjs/cli/palette.js +243 -0
- package/dist/cjs/cli/palette.js.map +1 -0
- package/dist/cjs/cli/prompt.d.ts +186 -0
- package/dist/cjs/cli/prompt.d.ts.map +1 -0
- package/dist/cjs/cli/prompt.js +541 -0
- package/dist/cjs/cli/prompt.js.map +1 -0
- package/dist/cjs/cli/ui/box.d.ts +21 -0
- package/dist/cjs/cli/ui/box.d.ts.map +1 -0
- package/dist/cjs/cli/ui/box.js +72 -0
- package/dist/cjs/cli/ui/box.js.map +1 -0
- package/dist/cjs/cli/ui/clipboard.d.ts +6 -0
- package/dist/cjs/cli/ui/clipboard.d.ts.map +1 -0
- package/dist/cjs/cli/ui/clipboard.js +78 -0
- package/dist/cjs/cli/ui/clipboard.js.map +1 -0
- package/dist/cjs/cli/ui/colors.d.ts +57 -0
- package/dist/cjs/cli/ui/colors.d.ts.map +1 -0
- package/dist/cjs/cli/ui/colors.js +151 -0
- package/dist/cjs/cli/ui/colors.js.map +1 -0
- package/dist/cjs/cli/ui/index.d.ts +9 -0
- package/dist/cjs/cli/ui/index.d.ts.map +1 -0
- package/dist/cjs/cli/ui/index.js +55 -0
- package/dist/cjs/cli/ui/index.js.map +1 -0
- package/dist/cjs/cli/ui/spinner.d.ts +12 -0
- package/dist/cjs/cli/ui/spinner.d.ts.map +1 -0
- package/dist/cjs/cli/ui/spinner.js +82 -0
- package/dist/cjs/cli/ui/spinner.js.map +1 -0
- package/dist/cjs/cli/ui/symbols.d.ts +47 -0
- package/dist/cjs/cli/ui/symbols.d.ts.map +1 -0
- package/dist/cjs/cli/ui/symbols.js +112 -0
- package/dist/cjs/cli/ui/symbols.js.map +1 -0
- package/dist/cjs/cli/ui/table.d.ts +23 -0
- package/dist/cjs/cli/ui/table.d.ts.map +1 -0
- package/dist/cjs/cli/ui/table.js +160 -0
- package/dist/cjs/cli/ui/table.js.map +1 -0
- package/dist/cjs/cli/ui/terminal.d.ts +7 -0
- package/dist/cjs/cli/ui/terminal.d.ts.map +1 -0
- package/dist/cjs/cli/ui/terminal.js +40 -0
- package/dist/cjs/cli/ui/terminal.js.map +1 -0
- package/dist/cjs/config/atomic-write.d.ts +69 -0
- package/dist/cjs/config/atomic-write.d.ts.map +1 -0
- package/dist/cjs/config/atomic-write.js +289 -0
- package/dist/cjs/config/atomic-write.js.map +1 -0
- package/dist/cjs/config/db-config.d.ts +134 -0
- package/dist/cjs/config/db-config.d.ts.map +1 -0
- package/dist/cjs/config/db-config.js +594 -0
- package/dist/cjs/config/db-config.js.map +1 -0
- package/dist/cjs/config/machine-config.d.ts +85 -0
- package/dist/cjs/config/machine-config.d.ts.map +1 -0
- package/dist/cjs/config/machine-config.js +232 -0
- package/dist/cjs/config/machine-config.js.map +1 -0
- package/dist/cjs/config/paths.d.ts +64 -0
- package/dist/cjs/config/paths.d.ts.map +1 -0
- package/dist/cjs/config/paths.js +155 -0
- package/dist/cjs/config/paths.js.map +1 -0
- package/dist/cjs/config/schema.d.ts +72 -0
- package/dist/cjs/config/schema.d.ts.map +1 -0
- package/dist/cjs/config/schema.js +197 -0
- package/dist/cjs/config/schema.js.map +1 -0
- package/dist/cjs/config/token.d.ts +63 -0
- package/dist/cjs/config/token.d.ts.map +1 -0
- package/dist/cjs/config/token.js +146 -0
- package/dist/cjs/config/token.js.map +1 -0
- package/dist/cjs/execution/canceller.d.ts +41 -0
- package/dist/cjs/execution/canceller.d.ts.map +1 -0
- package/dist/cjs/execution/canceller.js +209 -0
- package/dist/cjs/execution/canceller.js.map +1 -0
- package/dist/cjs/execution/database-lookup.d.ts +56 -0
- package/dist/cjs/execution/database-lookup.d.ts.map +1 -0
- package/dist/cjs/execution/database-lookup.js +43 -0
- package/dist/cjs/execution/database-lookup.js.map +1 -0
- package/dist/cjs/execution/dispatcher.d.ts +181 -0
- package/dist/cjs/execution/dispatcher.d.ts.map +1 -0
- package/dist/cjs/execution/dispatcher.js +1296 -0
- package/dist/cjs/execution/dispatcher.js.map +1 -0
- package/dist/cjs/execution/function-effects.d.ts +209 -0
- package/dist/cjs/execution/function-effects.d.ts.map +1 -0
- package/dist/cjs/execution/function-effects.js +596 -0
- package/dist/cjs/execution/function-effects.js.map +1 -0
- package/dist/cjs/execution/introspection.d.ts +76 -0
- package/dist/cjs/execution/introspection.d.ts.map +1 -0
- package/dist/cjs/execution/introspection.js +448 -0
- package/dist/cjs/execution/introspection.js.map +1 -0
- package/dist/cjs/execution/migration-runner.d.ts +128 -0
- package/dist/cjs/execution/migration-runner.d.ts.map +1 -0
- package/dist/cjs/execution/migration-runner.js +798 -0
- package/dist/cjs/execution/migration-runner.js.map +1 -0
- package/dist/cjs/execution/non-tx-detector.d.ts +23 -0
- package/dist/cjs/execution/non-tx-detector.d.ts.map +1 -0
- package/dist/cjs/execution/non-tx-detector.js +218 -0
- package/dist/cjs/execution/non-tx-detector.js.map +1 -0
- package/dist/cjs/execution/pool.d.ts +229 -0
- package/dist/cjs/execution/pool.d.ts.map +1 -0
- package/dist/cjs/execution/pool.js +738 -0
- package/dist/cjs/execution/pool.js.map +1 -0
- package/dist/cjs/execution/query-runner.d.ts +88 -0
- package/dist/cjs/execution/query-runner.d.ts.map +1 -0
- package/dist/cjs/execution/query-runner.js +751 -0
- package/dist/cjs/execution/query-runner.js.map +1 -0
- package/dist/cjs/execution/rate-limiter.d.ts +120 -0
- package/dist/cjs/execution/rate-limiter.d.ts.map +1 -0
- package/dist/cjs/execution/rate-limiter.js +273 -0
- package/dist/cjs/execution/rate-limiter.js.map +1 -0
- package/dist/cjs/execution/search-path.d.ts +161 -0
- package/dist/cjs/execution/search-path.d.ts.map +1 -0
- package/dist/cjs/execution/search-path.js +279 -0
- package/dist/cjs/execution/search-path.js.map +1 -0
- package/dist/cjs/execution/sql-parser.d.ts +195 -0
- package/dist/cjs/execution/sql-parser.d.ts.map +1 -0
- package/dist/cjs/execution/sql-parser.js +704 -0
- package/dist/cjs/execution/sql-parser.js.map +1 -0
- package/dist/cjs/execution/statement-classifier.d.ts +103 -0
- package/dist/cjs/execution/statement-classifier.d.ts.map +1 -0
- package/dist/cjs/execution/statement-classifier.js +535 -0
- package/dist/cjs/execution/statement-classifier.js.map +1 -0
- package/dist/cjs/execution/types.d.ts +189 -0
- package/dist/cjs/execution/types.d.ts.map +1 -0
- package/dist/cjs/execution/types.js +28 -0
- package/dist/cjs/execution/types.js.map +1 -0
- package/dist/cjs/index.d.ts +34 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +98 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/permissions/auto-upgrade.d.ts +40 -0
- package/dist/cjs/permissions/auto-upgrade.d.ts.map +1 -0
- package/dist/cjs/permissions/auto-upgrade.js +168 -0
- package/dist/cjs/permissions/auto-upgrade.js.map +1 -0
- package/dist/cjs/permissions/checker.d.ts +53 -0
- package/dist/cjs/permissions/checker.d.ts.map +1 -0
- package/dist/cjs/permissions/checker.js +326 -0
- package/dist/cjs/permissions/checker.js.map +1 -0
- package/dist/cjs/permissions/manual-approval.d.ts +213 -0
- package/dist/cjs/permissions/manual-approval.d.ts.map +1 -0
- package/dist/cjs/permissions/manual-approval.js +541 -0
- package/dist/cjs/permissions/manual-approval.js.map +1 -0
- package/dist/cjs/permissions/plan-registry.d.ts +274 -0
- package/dist/cjs/permissions/plan-registry.d.ts.map +1 -0
- package/dist/cjs/permissions/plan-registry.js +454 -0
- package/dist/cjs/permissions/plan-registry.js.map +1 -0
- package/dist/cjs/permissions/role-policy.d.ts +217 -0
- package/dist/cjs/permissions/role-policy.d.ts.map +1 -0
- package/dist/cjs/permissions/role-policy.js +584 -0
- package/dist/cjs/permissions/role-policy.js.map +1 -0
- package/dist/cjs/permissions/types.d.ts +126 -0
- package/dist/cjs/permissions/types.d.ts.map +1 -0
- package/dist/cjs/permissions/types.js +3 -0
- package/dist/cjs/permissions/types.js.map +1 -0
- package/dist/cjs/protocol/constants.d.ts +72 -0
- package/dist/cjs/protocol/constants.d.ts.map +1 -0
- package/dist/cjs/protocol/constants.js +107 -0
- package/dist/cjs/protocol/constants.js.map +1 -0
- package/dist/cjs/protocol/envelope.d.ts +165 -0
- package/dist/cjs/protocol/envelope.d.ts.map +1 -0
- package/dist/cjs/protocol/envelope.js +309 -0
- package/dist/cjs/protocol/envelope.js.map +1 -0
- package/dist/cjs/protocol/errors.d.ts +33 -0
- package/dist/cjs/protocol/errors.d.ts.map +1 -0
- package/dist/cjs/protocol/errors.js +391 -0
- package/dist/cjs/protocol/errors.js.map +1 -0
- package/dist/cjs/protocol/messages.d.ts +327 -0
- package/dist/cjs/protocol/messages.d.ts.map +1 -0
- package/dist/cjs/protocol/messages.js +3 -0
- package/dist/cjs/protocol/messages.js.map +1 -0
- package/dist/cjs/protocol/serialize.d.ts +26 -0
- package/dist/cjs/protocol/serialize.d.ts.map +1 -0
- package/dist/cjs/protocol/serialize.js +71 -0
- package/dist/cjs/protocol/serialize.js.map +1 -0
- package/dist/cjs/protocol/validate.d.ts +135 -0
- package/dist/cjs/protocol/validate.d.ts.map +1 -0
- package/dist/cjs/protocol/validate.js +852 -0
- package/dist/cjs/protocol/validate.js.map +1 -0
- package/dist/esm/audit/chain.d.ts +365 -0
- package/dist/esm/audit/chain.d.ts.map +1 -0
- package/dist/esm/audit/chain.js +895 -0
- package/dist/esm/audit/chain.js.map +1 -0
- package/dist/esm/audit/cloud-client.d.ts +142 -0
- package/dist/esm/audit/cloud-client.d.ts.map +1 -0
- package/dist/esm/audit/cloud-client.js +326 -0
- package/dist/esm/audit/cloud-client.js.map +1 -0
- package/dist/esm/audit/cloud-writer.d.ts +57 -0
- package/dist/esm/audit/cloud-writer.d.ts.map +1 -0
- package/dist/esm/audit/cloud-writer.js +91 -0
- package/dist/esm/audit/cloud-writer.js.map +1 -0
- package/dist/esm/audit/context.d.ts +51 -0
- package/dist/esm/audit/context.d.ts.map +1 -0
- package/dist/esm/audit/context.js +69 -0
- package/dist/esm/audit/context.js.map +1 -0
- package/dist/esm/audit/files.d.ts +111 -0
- package/dist/esm/audit/files.d.ts.map +1 -0
- package/dist/esm/audit/files.js +361 -0
- package/dist/esm/audit/files.js.map +1 -0
- package/dist/esm/audit/index.d.ts +9 -0
- package/dist/esm/audit/index.d.ts.map +1 -0
- package/dist/esm/audit/index.js +8 -0
- package/dist/esm/audit/index.js.map +1 -0
- package/dist/esm/audit/local-writer.d.ts +255 -0
- package/dist/esm/audit/local-writer.d.ts.map +1 -0
- package/dist/esm/audit/local-writer.js +785 -0
- package/dist/esm/audit/local-writer.js.map +1 -0
- package/dist/esm/audit/redact.d.ts +151 -0
- package/dist/esm/audit/redact.d.ts.map +1 -0
- package/dist/esm/audit/redact.js +506 -0
- package/dist/esm/audit/redact.js.map +1 -0
- package/dist/esm/audit/sanitize.d.ts +78 -0
- package/dist/esm/audit/sanitize.d.ts.map +1 -0
- package/dist/esm/audit/sanitize.js +307 -0
- package/dist/esm/audit/sanitize.js.map +1 -0
- package/dist/esm/audit/sink.d.ts +278 -0
- package/dist/esm/audit/sink.d.ts.map +1 -0
- package/dist/esm/audit/sink.js +782 -0
- package/dist/esm/audit/sink.js.map +1 -0
- package/dist/esm/audit/types.d.ts +226 -0
- package/dist/esm/audit/types.d.ts.map +1 -0
- package/dist/esm/audit/types.js +2 -0
- package/dist/esm/audit/types.js.map +1 -0
- package/dist/esm/audit/verify-cache.d.ts +127 -0
- package/dist/esm/audit/verify-cache.d.ts.map +1 -0
- package/dist/esm/audit/verify-cache.js +628 -0
- package/dist/esm/audit/verify-cache.js.map +1 -0
- package/dist/esm/channels/agent-session.d.ts +228 -0
- package/dist/esm/channels/agent-session.d.ts.map +1 -0
- package/dist/esm/channels/agent-session.js +566 -0
- package/dist/esm/channels/agent-session.js.map +1 -0
- package/dist/esm/channels/data-channel.d.ts +181 -0
- package/dist/esm/channels/data-channel.d.ts.map +1 -0
- package/dist/esm/channels/data-channel.js +567 -0
- package/dist/esm/channels/data-channel.js.map +1 -0
- package/dist/esm/channels/reconnect.d.ts +142 -0
- package/dist/esm/channels/reconnect.d.ts.map +1 -0
- package/dist/esm/channels/reconnect.js +234 -0
- package/dist/esm/channels/reconnect.js.map +1 -0
- package/dist/esm/channels/types.d.ts +112 -0
- package/dist/esm/channels/types.d.ts.map +1 -0
- package/dist/esm/channels/types.js +2 -0
- package/dist/esm/channels/types.js.map +1 -0
- package/dist/esm/channels/wake-channel.d.ts +232 -0
- package/dist/esm/channels/wake-channel.d.ts.map +1 -0
- package/dist/esm/channels/wake-channel.js +715 -0
- package/dist/esm/channels/wake-channel.js.map +1 -0
- package/dist/esm/cli/banner.d.ts +2 -0
- package/dist/esm/cli/banner.d.ts.map +1 -0
- package/dist/esm/cli/banner.js +114 -0
- package/dist/esm/cli/banner.js.map +1 -0
- package/dist/esm/cli/commands/agent.d.ts +30 -0
- package/dist/esm/cli/commands/agent.d.ts.map +1 -0
- package/dist/esm/cli/commands/agent.js +204 -0
- package/dist/esm/cli/commands/agent.js.map +1 -0
- package/dist/esm/cli/commands/audit-verify.d.ts +19 -0
- package/dist/esm/cli/commands/audit-verify.d.ts.map +1 -0
- package/dist/esm/cli/commands/audit-verify.js +345 -0
- package/dist/esm/cli/commands/audit-verify.js.map +1 -0
- package/dist/esm/cli/commands/clean.d.ts +23 -0
- package/dist/esm/cli/commands/clean.d.ts.map +1 -0
- package/dist/esm/cli/commands/clean.js +235 -0
- package/dist/esm/cli/commands/clean.js.map +1 -0
- package/dist/esm/cli/commands/config-show.d.ts +2 -0
- package/dist/esm/cli/commands/config-show.d.ts.map +1 -0
- package/dist/esm/cli/commands/config-show.js +2 -0
- package/dist/esm/cli/commands/config-show.js.map +1 -0
- package/dist/esm/cli/commands/config.d.ts +6 -0
- package/dist/esm/cli/commands/config.d.ts.map +1 -0
- package/dist/esm/cli/commands/config.js +259 -0
- package/dist/esm/cli/commands/config.js.map +1 -0
- package/dist/esm/cli/commands/db-add.d.ts +16 -0
- package/dist/esm/cli/commands/db-add.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-add.js +576 -0
- package/dist/esm/cli/commands/db-add.js.map +1 -0
- package/dist/esm/cli/commands/db-edit.d.ts +2 -0
- package/dist/esm/cli/commands/db-edit.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-edit.js +352 -0
- package/dist/esm/cli/commands/db-edit.js.map +1 -0
- package/dist/esm/cli/commands/db-logs.d.ts +3 -0
- package/dist/esm/cli/commands/db-logs.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-logs.js +64 -0
- package/dist/esm/cli/commands/db-logs.js.map +1 -0
- package/dist/esm/cli/commands/db-ls.d.ts +2 -0
- package/dist/esm/cli/commands/db-ls.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-ls.js +115 -0
- package/dist/esm/cli/commands/db-ls.js.map +1 -0
- package/dist/esm/cli/commands/db-query.d.ts +121 -0
- package/dist/esm/cli/commands/db-query.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-query.js +754 -0
- package/dist/esm/cli/commands/db-query.js.map +1 -0
- package/dist/esm/cli/commands/db-remove.d.ts +2 -0
- package/dist/esm/cli/commands/db-remove.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-remove.js +48 -0
- package/dist/esm/cli/commands/db-remove.js.map +1 -0
- package/dist/esm/cli/commands/db-show.d.ts +2 -0
- package/dist/esm/cli/commands/db-show.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-show.js +131 -0
- package/dist/esm/cli/commands/db-show.js.map +1 -0
- package/dist/esm/cli/commands/db-test.d.ts +3 -0
- package/dist/esm/cli/commands/db-test.d.ts.map +1 -0
- package/dist/esm/cli/commands/db-test.js +307 -0
- package/dist/esm/cli/commands/db-test.js.map +1 -0
- package/dist/esm/cli/commands/db.d.ts +11 -0
- package/dist/esm/cli/commands/db.d.ts.map +1 -0
- package/dist/esm/cli/commands/db.js +76 -0
- package/dist/esm/cli/commands/db.js.map +1 -0
- package/dist/esm/cli/commands/debug.d.ts +2 -0
- package/dist/esm/cli/commands/debug.d.ts.map +1 -0
- package/dist/esm/cli/commands/debug.js +205 -0
- package/dist/esm/cli/commands/debug.js.map +1 -0
- package/dist/esm/cli/commands/doctor.d.ts +5 -0
- package/dist/esm/cli/commands/doctor.d.ts.map +1 -0
- package/dist/esm/cli/commands/doctor.js +114 -0
- package/dist/esm/cli/commands/doctor.js.map +1 -0
- package/dist/esm/cli/commands/index.d.ts +10 -0
- package/dist/esm/cli/commands/index.d.ts.map +1 -0
- package/dist/esm/cli/commands/index.js +10 -0
- package/dist/esm/cli/commands/index.js.map +1 -0
- package/dist/esm/cli/commands/init.d.ts +2 -0
- package/dist/esm/cli/commands/init.d.ts.map +1 -0
- package/dist/esm/cli/commands/init.js +163 -0
- package/dist/esm/cli/commands/init.js.map +1 -0
- package/dist/esm/cli/commands/link.d.ts +5 -0
- package/dist/esm/cli/commands/link.d.ts.map +1 -0
- package/dist/esm/cli/commands/link.js +41 -0
- package/dist/esm/cli/commands/link.js.map +1 -0
- package/dist/esm/cli/commands/logs.d.ts +17 -0
- package/dist/esm/cli/commands/logs.d.ts.map +1 -0
- package/dist/esm/cli/commands/logs.js +278 -0
- package/dist/esm/cli/commands/logs.js.map +1 -0
- package/dist/esm/cli/commands/project-show.d.ts +2 -0
- package/dist/esm/cli/commands/project-show.d.ts.map +1 -0
- package/dist/esm/cli/commands/project-show.js +69 -0
- package/dist/esm/cli/commands/project-show.js.map +1 -0
- package/dist/esm/cli/commands/project.d.ts +3 -0
- package/dist/esm/cli/commands/project.d.ts.map +1 -0
- package/dist/esm/cli/commands/project.js +60 -0
- package/dist/esm/cli/commands/project.js.map +1 -0
- package/dist/esm/cli/commands/service.d.ts +123 -0
- package/dist/esm/cli/commands/service.d.ts.map +1 -0
- package/dist/esm/cli/commands/service.js +505 -0
- package/dist/esm/cli/commands/service.js.map +1 -0
- package/dist/esm/cli/commands/start.d.ts +6 -0
- package/dist/esm/cli/commands/start.d.ts.map +1 -0
- package/dist/esm/cli/commands/start.js +272 -0
- package/dist/esm/cli/commands/start.js.map +1 -0
- package/dist/esm/cli/commands/status.d.ts +2 -0
- package/dist/esm/cli/commands/status.d.ts.map +1 -0
- package/dist/esm/cli/commands/status.js +222 -0
- package/dist/esm/cli/commands/status.js.map +1 -0
- package/dist/esm/cli/commands/stop.d.ts +6 -0
- package/dist/esm/cli/commands/stop.d.ts.map +1 -0
- package/dist/esm/cli/commands/stop.js +96 -0
- package/dist/esm/cli/commands/stop.js.map +1 -0
- package/dist/esm/cli/daemon/error-tracker.d.ts +119 -0
- package/dist/esm/cli/daemon/error-tracker.d.ts.map +1 -0
- package/dist/esm/cli/daemon/error-tracker.js +451 -0
- package/dist/esm/cli/daemon/error-tracker.js.map +1 -0
- package/dist/esm/cli/daemon/fault-shutdown.d.ts +144 -0
- package/dist/esm/cli/daemon/fault-shutdown.d.ts.map +1 -0
- package/dist/esm/cli/daemon/fault-shutdown.js +273 -0
- package/dist/esm/cli/daemon/fault-shutdown.js.map +1 -0
- package/dist/esm/cli/daemon/index.d.ts +12 -0
- package/dist/esm/cli/daemon/index.d.ts.map +1 -0
- package/dist/esm/cli/daemon/index.js +7 -0
- package/dist/esm/cli/daemon/index.js.map +1 -0
- package/dist/esm/cli/daemon/pid-file.d.ts +13 -0
- package/dist/esm/cli/daemon/pid-file.d.ts.map +1 -0
- package/dist/esm/cli/daemon/pid-file.js +51 -0
- package/dist/esm/cli/daemon/pid-file.js.map +1 -0
- package/dist/esm/cli/daemon/readiness.d.ts +30 -0
- package/dist/esm/cli/daemon/readiness.d.ts.map +1 -0
- package/dist/esm/cli/daemon/readiness.js +70 -0
- package/dist/esm/cli/daemon/readiness.js.map +1 -0
- package/dist/esm/cli/daemon/runtime.d.ts +366 -0
- package/dist/esm/cli/daemon/runtime.d.ts.map +1 -0
- package/dist/esm/cli/daemon/runtime.js +1284 -0
- package/dist/esm/cli/daemon/runtime.js.map +1 -0
- package/dist/esm/cli/daemon/shutdown.d.ts +7 -0
- package/dist/esm/cli/daemon/shutdown.d.ts.map +1 -0
- package/dist/esm/cli/daemon/shutdown.js +63 -0
- package/dist/esm/cli/daemon/shutdown.js.map +1 -0
- package/dist/esm/cli/daemon/signal-handlers.d.ts +3 -0
- package/dist/esm/cli/daemon/signal-handlers.d.ts.map +1 -0
- package/dist/esm/cli/daemon/signal-handlers.js +24 -0
- package/dist/esm/cli/daemon/signal-handlers.js.map +1 -0
- package/dist/esm/cli/daemon/state.d.ts +157 -0
- package/dist/esm/cli/daemon/state.d.ts.map +1 -0
- package/dist/esm/cli/daemon/state.js +352 -0
- package/dist/esm/cli/daemon/state.js.map +1 -0
- package/dist/esm/cli/daemon/status-file.d.ts +139 -0
- package/dist/esm/cli/daemon/status-file.d.ts.map +1 -0
- package/dist/esm/cli/daemon/status-file.js +50 -0
- package/dist/esm/cli/daemon/status-file.js.map +1 -0
- package/dist/esm/cli/doctor/checks.d.ts +133 -0
- package/dist/esm/cli/doctor/checks.d.ts.map +1 -0
- package/dist/esm/cli/doctor/checks.js +624 -0
- package/dist/esm/cli/doctor/checks.js.map +1 -0
- package/dist/esm/cli/doctor/fixes.d.ts +9 -0
- package/dist/esm/cli/doctor/fixes.d.ts.map +1 -0
- package/dist/esm/cli/doctor/fixes.js +163 -0
- package/dist/esm/cli/doctor/fixes.js.map +1 -0
- package/dist/esm/cli/doctor/index.d.ts +7 -0
- package/dist/esm/cli/doctor/index.d.ts.map +1 -0
- package/dist/esm/cli/doctor/index.js +5 -0
- package/dist/esm/cli/doctor/index.js.map +1 -0
- package/dist/esm/cli/index.d.ts +3 -0
- package/dist/esm/cli/index.d.ts.map +1 -0
- package/dist/esm/cli/index.js +333 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/cli/interactive.d.ts +8 -0
- package/dist/esm/cli/interactive.d.ts.map +1 -0
- package/dist/esm/cli/interactive.js +665 -0
- package/dist/esm/cli/interactive.js.map +1 -0
- package/dist/esm/cli/logs/format.d.ts +13 -0
- package/dist/esm/cli/logs/format.d.ts.map +1 -0
- package/dist/esm/cli/logs/format.js +169 -0
- package/dist/esm/cli/logs/format.js.map +1 -0
- package/dist/esm/cli/logs/index.d.ts +3 -0
- package/dist/esm/cli/logs/index.d.ts.map +1 -0
- package/dist/esm/cli/logs/index.js +3 -0
- package/dist/esm/cli/logs/index.js.map +1 -0
- package/dist/esm/cli/logs/viewer.d.ts +41 -0
- package/dist/esm/cli/logs/viewer.d.ts.map +1 -0
- package/dist/esm/cli/logs/viewer.js +412 -0
- package/dist/esm/cli/logs/viewer.js.map +1 -0
- package/dist/esm/cli/ops/operation-logger.d.ts +63 -0
- package/dist/esm/cli/ops/operation-logger.d.ts.map +1 -0
- package/dist/esm/cli/ops/operation-logger.js +142 -0
- package/dist/esm/cli/ops/operation-logger.js.map +1 -0
- package/dist/esm/cli/palette.d.ts +11 -0
- package/dist/esm/cli/palette.d.ts.map +1 -0
- package/dist/esm/cli/palette.js +240 -0
- package/dist/esm/cli/palette.js.map +1 -0
- package/dist/esm/cli/prompt.d.ts +186 -0
- package/dist/esm/cli/prompt.d.ts.map +1 -0
- package/dist/esm/cli/prompt.js +483 -0
- package/dist/esm/cli/prompt.js.map +1 -0
- package/dist/esm/cli/ui/box.d.ts +21 -0
- package/dist/esm/cli/ui/box.d.ts.map +1 -0
- package/dist/esm/cli/ui/box.js +60 -0
- package/dist/esm/cli/ui/box.js.map +1 -0
- package/dist/esm/cli/ui/clipboard.d.ts +6 -0
- package/dist/esm/cli/ui/clipboard.d.ts.map +1 -0
- package/dist/esm/cli/ui/clipboard.js +42 -0
- package/dist/esm/cli/ui/clipboard.js.map +1 -0
- package/dist/esm/cli/ui/colors.d.ts +57 -0
- package/dist/esm/cli/ui/colors.d.ts.map +1 -0
- package/dist/esm/cli/ui/colors.js +126 -0
- package/dist/esm/cli/ui/colors.js.map +1 -0
- package/dist/esm/cli/ui/index.d.ts +9 -0
- package/dist/esm/cli/ui/index.d.ts.map +1 -0
- package/dist/esm/cli/ui/index.js +7 -0
- package/dist/esm/cli/ui/index.js.map +1 -0
- package/dist/esm/cli/ui/spinner.d.ts +12 -0
- package/dist/esm/cli/ui/spinner.d.ts.map +1 -0
- package/dist/esm/cli/ui/spinner.js +78 -0
- package/dist/esm/cli/ui/spinner.js.map +1 -0
- package/dist/esm/cli/ui/symbols.d.ts +47 -0
- package/dist/esm/cli/ui/symbols.d.ts.map +1 -0
- package/dist/esm/cli/ui/symbols.js +109 -0
- package/dist/esm/cli/ui/symbols.js.map +1 -0
- package/dist/esm/cli/ui/table.d.ts +23 -0
- package/dist/esm/cli/ui/table.d.ts.map +1 -0
- package/dist/esm/cli/ui/table.js +156 -0
- package/dist/esm/cli/ui/table.js.map +1 -0
- package/dist/esm/cli/ui/terminal.d.ts +7 -0
- package/dist/esm/cli/ui/terminal.d.ts.map +1 -0
- package/dist/esm/cli/ui/terminal.js +32 -0
- package/dist/esm/cli/ui/terminal.js.map +1 -0
- package/dist/esm/config/atomic-write.d.ts +69 -0
- package/dist/esm/config/atomic-write.d.ts.map +1 -0
- package/dist/esm/config/atomic-write.js +246 -0
- package/dist/esm/config/atomic-write.js.map +1 -0
- package/dist/esm/config/db-config.d.ts +134 -0
- package/dist/esm/config/db-config.d.ts.map +1 -0
- package/dist/esm/config/db-config.js +542 -0
- package/dist/esm/config/db-config.js.map +1 -0
- package/dist/esm/config/machine-config.d.ts +85 -0
- package/dist/esm/config/machine-config.d.ts.map +1 -0
- package/dist/esm/config/machine-config.js +190 -0
- package/dist/esm/config/machine-config.js.map +1 -0
- package/dist/esm/config/paths.d.ts +64 -0
- package/dist/esm/config/paths.d.ts.map +1 -0
- package/dist/esm/config/paths.js +108 -0
- package/dist/esm/config/paths.js.map +1 -0
- package/dist/esm/config/schema.d.ts +72 -0
- package/dist/esm/config/schema.d.ts.map +1 -0
- package/dist/esm/config/schema.js +180 -0
- package/dist/esm/config/schema.js.map +1 -0
- package/dist/esm/config/token.d.ts +63 -0
- package/dist/esm/config/token.d.ts.map +1 -0
- package/dist/esm/config/token.js +104 -0
- package/dist/esm/config/token.js.map +1 -0
- package/dist/esm/execution/canceller.d.ts +41 -0
- package/dist/esm/execution/canceller.d.ts.map +1 -0
- package/dist/esm/execution/canceller.js +205 -0
- package/dist/esm/execution/canceller.js.map +1 -0
- package/dist/esm/execution/database-lookup.d.ts +56 -0
- package/dist/esm/execution/database-lookup.d.ts.map +1 -0
- package/dist/esm/execution/database-lookup.js +38 -0
- package/dist/esm/execution/database-lookup.js.map +1 -0
- package/dist/esm/execution/dispatcher.d.ts +181 -0
- package/dist/esm/execution/dispatcher.d.ts.map +1 -0
- package/dist/esm/execution/dispatcher.js +1258 -0
- package/dist/esm/execution/dispatcher.js.map +1 -0
- package/dist/esm/execution/function-effects.d.ts +209 -0
- package/dist/esm/execution/function-effects.d.ts.map +1 -0
- package/dist/esm/execution/function-effects.js +586 -0
- package/dist/esm/execution/function-effects.js.map +1 -0
- package/dist/esm/execution/introspection.d.ts +76 -0
- package/dist/esm/execution/introspection.d.ts.map +1 -0
- package/dist/esm/execution/introspection.js +442 -0
- package/dist/esm/execution/introspection.js.map +1 -0
- package/dist/esm/execution/migration-runner.d.ts +128 -0
- package/dist/esm/execution/migration-runner.d.ts.map +1 -0
- package/dist/esm/execution/migration-runner.js +754 -0
- package/dist/esm/execution/migration-runner.js.map +1 -0
- package/dist/esm/execution/non-tx-detector.d.ts +23 -0
- package/dist/esm/execution/non-tx-detector.d.ts.map +1 -0
- package/dist/esm/execution/non-tx-detector.js +215 -0
- package/dist/esm/execution/non-tx-detector.js.map +1 -0
- package/dist/esm/execution/pool.d.ts +229 -0
- package/dist/esm/execution/pool.d.ts.map +1 -0
- package/dist/esm/execution/pool.js +685 -0
- package/dist/esm/execution/pool.js.map +1 -0
- package/dist/esm/execution/query-runner.d.ts +88 -0
- package/dist/esm/execution/query-runner.d.ts.map +1 -0
- package/dist/esm/execution/query-runner.js +743 -0
- package/dist/esm/execution/query-runner.js.map +1 -0
- package/dist/esm/execution/rate-limiter.d.ts +120 -0
- package/dist/esm/execution/rate-limiter.d.ts.map +1 -0
- package/dist/esm/execution/rate-limiter.js +269 -0
- package/dist/esm/execution/rate-limiter.js.map +1 -0
- package/dist/esm/execution/search-path.d.ts +161 -0
- package/dist/esm/execution/search-path.d.ts.map +1 -0
- package/dist/esm/execution/search-path.js +270 -0
- package/dist/esm/execution/search-path.js.map +1 -0
- package/dist/esm/execution/sql-parser.d.ts +195 -0
- package/dist/esm/execution/sql-parser.d.ts.map +1 -0
- package/dist/esm/execution/sql-parser.js +683 -0
- package/dist/esm/execution/sql-parser.js.map +1 -0
- package/dist/esm/execution/statement-classifier.d.ts +103 -0
- package/dist/esm/execution/statement-classifier.d.ts.map +1 -0
- package/dist/esm/execution/statement-classifier.js +526 -0
- package/dist/esm/execution/statement-classifier.js.map +1 -0
- package/dist/esm/execution/types.d.ts +189 -0
- package/dist/esm/execution/types.d.ts.map +1 -0
- package/dist/esm/execution/types.js +22 -0
- package/dist/esm/execution/types.js.map +1 -0
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +38 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/permissions/auto-upgrade.d.ts +40 -0
- package/dist/esm/permissions/auto-upgrade.d.ts.map +1 -0
- package/dist/esm/permissions/auto-upgrade.js +164 -0
- package/dist/esm/permissions/auto-upgrade.js.map +1 -0
- package/dist/esm/permissions/checker.d.ts +53 -0
- package/dist/esm/permissions/checker.d.ts.map +1 -0
- package/dist/esm/permissions/checker.js +322 -0
- package/dist/esm/permissions/checker.js.map +1 -0
- package/dist/esm/permissions/manual-approval.d.ts +213 -0
- package/dist/esm/permissions/manual-approval.d.ts.map +1 -0
- package/dist/esm/permissions/manual-approval.js +503 -0
- package/dist/esm/permissions/manual-approval.js.map +1 -0
- package/dist/esm/permissions/plan-registry.d.ts +274 -0
- package/dist/esm/permissions/plan-registry.d.ts.map +1 -0
- package/dist/esm/permissions/plan-registry.js +450 -0
- package/dist/esm/permissions/plan-registry.js.map +1 -0
- package/dist/esm/permissions/role-policy.d.ts +217 -0
- package/dist/esm/permissions/role-policy.d.ts.map +1 -0
- package/dist/esm/permissions/role-policy.js +570 -0
- package/dist/esm/permissions/role-policy.js.map +1 -0
- package/dist/esm/permissions/types.d.ts +126 -0
- package/dist/esm/permissions/types.d.ts.map +1 -0
- package/dist/esm/permissions/types.js +2 -0
- package/dist/esm/permissions/types.js.map +1 -0
- package/dist/esm/protocol/constants.d.ts +72 -0
- package/dist/esm/protocol/constants.d.ts.map +1 -0
- package/dist/esm/protocol/constants.js +104 -0
- package/dist/esm/protocol/constants.js.map +1 -0
- package/dist/esm/protocol/envelope.d.ts +165 -0
- package/dist/esm/protocol/envelope.d.ts.map +1 -0
- package/dist/esm/protocol/envelope.js +263 -0
- package/dist/esm/protocol/envelope.js.map +1 -0
- package/dist/esm/protocol/errors.d.ts +33 -0
- package/dist/esm/protocol/errors.d.ts.map +1 -0
- package/dist/esm/protocol/errors.js +384 -0
- package/dist/esm/protocol/errors.js.map +1 -0
- package/dist/esm/protocol/messages.d.ts +327 -0
- package/dist/esm/protocol/messages.d.ts.map +1 -0
- package/dist/esm/protocol/messages.js +2 -0
- package/dist/esm/protocol/messages.js.map +1 -0
- package/dist/esm/protocol/serialize.d.ts +26 -0
- package/dist/esm/protocol/serialize.d.ts.map +1 -0
- package/dist/esm/protocol/serialize.js +63 -0
- package/dist/esm/protocol/serialize.js.map +1 -0
- package/dist/esm/protocol/validate.d.ts +135 -0
- package/dist/esm/protocol/validate.d.ts.map +1 -0
- package/dist/esm/protocol/validate.js +830 -0
- package/dist/esm/protocol/validate.js.map +1 -0
- package/dist/types/audit/chain.d.ts +365 -0
- package/dist/types/audit/chain.d.ts.map +1 -0
- package/dist/types/audit/cloud-client.d.ts +142 -0
- package/dist/types/audit/cloud-client.d.ts.map +1 -0
- package/dist/types/audit/cloud-writer.d.ts +57 -0
- package/dist/types/audit/cloud-writer.d.ts.map +1 -0
- package/dist/types/audit/context.d.ts +51 -0
- package/dist/types/audit/context.d.ts.map +1 -0
- package/dist/types/audit/files.d.ts +111 -0
- package/dist/types/audit/files.d.ts.map +1 -0
- package/dist/types/audit/index.d.ts +9 -0
- package/dist/types/audit/index.d.ts.map +1 -0
- package/dist/types/audit/local-writer.d.ts +255 -0
- package/dist/types/audit/local-writer.d.ts.map +1 -0
- package/dist/types/audit/redact.d.ts +151 -0
- package/dist/types/audit/redact.d.ts.map +1 -0
- package/dist/types/audit/sanitize.d.ts +78 -0
- package/dist/types/audit/sanitize.d.ts.map +1 -0
- package/dist/types/audit/sink.d.ts +278 -0
- package/dist/types/audit/sink.d.ts.map +1 -0
- package/dist/types/audit/types.d.ts +226 -0
- package/dist/types/audit/types.d.ts.map +1 -0
- package/dist/types/audit/verify-cache.d.ts +127 -0
- package/dist/types/audit/verify-cache.d.ts.map +1 -0
- package/dist/types/channels/agent-session.d.ts +228 -0
- package/dist/types/channels/agent-session.d.ts.map +1 -0
- package/dist/types/channels/data-channel.d.ts +181 -0
- package/dist/types/channels/data-channel.d.ts.map +1 -0
- package/dist/types/channels/reconnect.d.ts +142 -0
- package/dist/types/channels/reconnect.d.ts.map +1 -0
- package/dist/types/channels/types.d.ts +112 -0
- package/dist/types/channels/types.d.ts.map +1 -0
- package/dist/types/channels/wake-channel.d.ts +232 -0
- package/dist/types/channels/wake-channel.d.ts.map +1 -0
- package/dist/types/cli/banner.d.ts +2 -0
- package/dist/types/cli/banner.d.ts.map +1 -0
- package/dist/types/cli/commands/agent.d.ts +30 -0
- package/dist/types/cli/commands/agent.d.ts.map +1 -0
- package/dist/types/cli/commands/audit-verify.d.ts +19 -0
- package/dist/types/cli/commands/audit-verify.d.ts.map +1 -0
- package/dist/types/cli/commands/clean.d.ts +23 -0
- package/dist/types/cli/commands/clean.d.ts.map +1 -0
- package/dist/types/cli/commands/config-show.d.ts +2 -0
- package/dist/types/cli/commands/config-show.d.ts.map +1 -0
- package/dist/types/cli/commands/config.d.ts +6 -0
- package/dist/types/cli/commands/config.d.ts.map +1 -0
- package/dist/types/cli/commands/db-add.d.ts +16 -0
- package/dist/types/cli/commands/db-add.d.ts.map +1 -0
- package/dist/types/cli/commands/db-edit.d.ts +2 -0
- package/dist/types/cli/commands/db-edit.d.ts.map +1 -0
- package/dist/types/cli/commands/db-logs.d.ts +3 -0
- package/dist/types/cli/commands/db-logs.d.ts.map +1 -0
- package/dist/types/cli/commands/db-ls.d.ts +2 -0
- package/dist/types/cli/commands/db-ls.d.ts.map +1 -0
- package/dist/types/cli/commands/db-query.d.ts +121 -0
- package/dist/types/cli/commands/db-query.d.ts.map +1 -0
- package/dist/types/cli/commands/db-remove.d.ts +2 -0
- package/dist/types/cli/commands/db-remove.d.ts.map +1 -0
- package/dist/types/cli/commands/db-show.d.ts +2 -0
- package/dist/types/cli/commands/db-show.d.ts.map +1 -0
- package/dist/types/cli/commands/db-test.d.ts +3 -0
- package/dist/types/cli/commands/db-test.d.ts.map +1 -0
- package/dist/types/cli/commands/db.d.ts +11 -0
- package/dist/types/cli/commands/db.d.ts.map +1 -0
- package/dist/types/cli/commands/debug.d.ts +2 -0
- package/dist/types/cli/commands/debug.d.ts.map +1 -0
- package/dist/types/cli/commands/doctor.d.ts +5 -0
- package/dist/types/cli/commands/doctor.d.ts.map +1 -0
- package/dist/types/cli/commands/index.d.ts +10 -0
- package/dist/types/cli/commands/index.d.ts.map +1 -0
- package/dist/types/cli/commands/init.d.ts +2 -0
- package/dist/types/cli/commands/init.d.ts.map +1 -0
- package/dist/types/cli/commands/link.d.ts +5 -0
- package/dist/types/cli/commands/link.d.ts.map +1 -0
- package/dist/types/cli/commands/logs.d.ts +17 -0
- package/dist/types/cli/commands/logs.d.ts.map +1 -0
- package/dist/types/cli/commands/project-show.d.ts +2 -0
- package/dist/types/cli/commands/project-show.d.ts.map +1 -0
- package/dist/types/cli/commands/project.d.ts +3 -0
- package/dist/types/cli/commands/project.d.ts.map +1 -0
- package/dist/types/cli/commands/service.d.ts +123 -0
- package/dist/types/cli/commands/service.d.ts.map +1 -0
- package/dist/types/cli/commands/start.d.ts +6 -0
- package/dist/types/cli/commands/start.d.ts.map +1 -0
- package/dist/types/cli/commands/status.d.ts +2 -0
- package/dist/types/cli/commands/status.d.ts.map +1 -0
- package/dist/types/cli/commands/stop.d.ts +6 -0
- package/dist/types/cli/commands/stop.d.ts.map +1 -0
- package/dist/types/cli/daemon/error-tracker.d.ts +119 -0
- package/dist/types/cli/daemon/error-tracker.d.ts.map +1 -0
- package/dist/types/cli/daemon/fault-shutdown.d.ts +144 -0
- package/dist/types/cli/daemon/fault-shutdown.d.ts.map +1 -0
- package/dist/types/cli/daemon/index.d.ts +12 -0
- package/dist/types/cli/daemon/index.d.ts.map +1 -0
- package/dist/types/cli/daemon/pid-file.d.ts +13 -0
- package/dist/types/cli/daemon/pid-file.d.ts.map +1 -0
- package/dist/types/cli/daemon/readiness.d.ts +30 -0
- package/dist/types/cli/daemon/readiness.d.ts.map +1 -0
- package/dist/types/cli/daemon/runtime.d.ts +366 -0
- package/dist/types/cli/daemon/runtime.d.ts.map +1 -0
- package/dist/types/cli/daemon/shutdown.d.ts +7 -0
- package/dist/types/cli/daemon/shutdown.d.ts.map +1 -0
- package/dist/types/cli/daemon/signal-handlers.d.ts +3 -0
- package/dist/types/cli/daemon/signal-handlers.d.ts.map +1 -0
- package/dist/types/cli/daemon/state.d.ts +157 -0
- package/dist/types/cli/daemon/state.d.ts.map +1 -0
- package/dist/types/cli/daemon/status-file.d.ts +139 -0
- package/dist/types/cli/daemon/status-file.d.ts.map +1 -0
- package/dist/types/cli/doctor/checks.d.ts +133 -0
- package/dist/types/cli/doctor/checks.d.ts.map +1 -0
- package/dist/types/cli/doctor/fixes.d.ts +9 -0
- package/dist/types/cli/doctor/fixes.d.ts.map +1 -0
- package/dist/types/cli/doctor/index.d.ts +7 -0
- package/dist/types/cli/doctor/index.d.ts.map +1 -0
- package/dist/types/cli/index.d.ts +3 -0
- package/dist/types/cli/index.d.ts.map +1 -0
- package/dist/types/cli/interactive.d.ts +8 -0
- package/dist/types/cli/interactive.d.ts.map +1 -0
- package/dist/types/cli/logs/format.d.ts +13 -0
- package/dist/types/cli/logs/format.d.ts.map +1 -0
- package/dist/types/cli/logs/index.d.ts +3 -0
- package/dist/types/cli/logs/index.d.ts.map +1 -0
- package/dist/types/cli/logs/viewer.d.ts +41 -0
- package/dist/types/cli/logs/viewer.d.ts.map +1 -0
- package/dist/types/cli/ops/operation-logger.d.ts +63 -0
- package/dist/types/cli/ops/operation-logger.d.ts.map +1 -0
- package/dist/types/cli/palette.d.ts +11 -0
- package/dist/types/cli/palette.d.ts.map +1 -0
- package/dist/types/cli/prompt.d.ts +186 -0
- package/dist/types/cli/prompt.d.ts.map +1 -0
- package/dist/types/cli/ui/box.d.ts +21 -0
- package/dist/types/cli/ui/box.d.ts.map +1 -0
- package/dist/types/cli/ui/clipboard.d.ts +6 -0
- package/dist/types/cli/ui/clipboard.d.ts.map +1 -0
- package/dist/types/cli/ui/colors.d.ts +57 -0
- package/dist/types/cli/ui/colors.d.ts.map +1 -0
- package/dist/types/cli/ui/index.d.ts +9 -0
- package/dist/types/cli/ui/index.d.ts.map +1 -0
- package/dist/types/cli/ui/spinner.d.ts +12 -0
- package/dist/types/cli/ui/spinner.d.ts.map +1 -0
- package/dist/types/cli/ui/symbols.d.ts +47 -0
- package/dist/types/cli/ui/symbols.d.ts.map +1 -0
- package/dist/types/cli/ui/table.d.ts +23 -0
- package/dist/types/cli/ui/table.d.ts.map +1 -0
- package/dist/types/cli/ui/terminal.d.ts +7 -0
- package/dist/types/cli/ui/terminal.d.ts.map +1 -0
- package/dist/types/config/atomic-write.d.ts +69 -0
- package/dist/types/config/atomic-write.d.ts.map +1 -0
- package/dist/types/config/db-config.d.ts +134 -0
- package/dist/types/config/db-config.d.ts.map +1 -0
- package/dist/types/config/machine-config.d.ts +85 -0
- package/dist/types/config/machine-config.d.ts.map +1 -0
- package/dist/types/config/paths.d.ts +64 -0
- package/dist/types/config/paths.d.ts.map +1 -0
- package/dist/types/config/schema.d.ts +72 -0
- package/dist/types/config/schema.d.ts.map +1 -0
- package/dist/types/config/token.d.ts +63 -0
- package/dist/types/config/token.d.ts.map +1 -0
- package/dist/types/execution/canceller.d.ts +41 -0
- package/dist/types/execution/canceller.d.ts.map +1 -0
- package/dist/types/execution/database-lookup.d.ts +56 -0
- package/dist/types/execution/database-lookup.d.ts.map +1 -0
- package/dist/types/execution/dispatcher.d.ts +181 -0
- package/dist/types/execution/dispatcher.d.ts.map +1 -0
- package/dist/types/execution/function-effects.d.ts +209 -0
- package/dist/types/execution/function-effects.d.ts.map +1 -0
- package/dist/types/execution/introspection.d.ts +76 -0
- package/dist/types/execution/introspection.d.ts.map +1 -0
- package/dist/types/execution/migration-runner.d.ts +128 -0
- package/dist/types/execution/migration-runner.d.ts.map +1 -0
- package/dist/types/execution/non-tx-detector.d.ts +23 -0
- package/dist/types/execution/non-tx-detector.d.ts.map +1 -0
- package/dist/types/execution/pool.d.ts +229 -0
- package/dist/types/execution/pool.d.ts.map +1 -0
- package/dist/types/execution/query-runner.d.ts +88 -0
- package/dist/types/execution/query-runner.d.ts.map +1 -0
- package/dist/types/execution/rate-limiter.d.ts +120 -0
- package/dist/types/execution/rate-limiter.d.ts.map +1 -0
- package/dist/types/execution/search-path.d.ts +161 -0
- package/dist/types/execution/search-path.d.ts.map +1 -0
- package/dist/types/execution/sql-parser.d.ts +195 -0
- package/dist/types/execution/sql-parser.d.ts.map +1 -0
- package/dist/types/execution/statement-classifier.d.ts +103 -0
- package/dist/types/execution/statement-classifier.d.ts.map +1 -0
- package/dist/types/execution/types.d.ts +189 -0
- package/dist/types/execution/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/permissions/auto-upgrade.d.ts +40 -0
- package/dist/types/permissions/auto-upgrade.d.ts.map +1 -0
- package/dist/types/permissions/checker.d.ts +53 -0
- package/dist/types/permissions/checker.d.ts.map +1 -0
- package/dist/types/permissions/manual-approval.d.ts +213 -0
- package/dist/types/permissions/manual-approval.d.ts.map +1 -0
- package/dist/types/permissions/plan-registry.d.ts +274 -0
- package/dist/types/permissions/plan-registry.d.ts.map +1 -0
- package/dist/types/permissions/role-policy.d.ts +217 -0
- package/dist/types/permissions/role-policy.d.ts.map +1 -0
- package/dist/types/permissions/types.d.ts +126 -0
- package/dist/types/permissions/types.d.ts.map +1 -0
- package/dist/types/protocol/constants.d.ts +72 -0
- package/dist/types/protocol/constants.d.ts.map +1 -0
- package/dist/types/protocol/envelope.d.ts +165 -0
- package/dist/types/protocol/envelope.d.ts.map +1 -0
- package/dist/types/protocol/errors.d.ts +33 -0
- package/dist/types/protocol/errors.d.ts.map +1 -0
- package/dist/types/protocol/messages.d.ts +327 -0
- package/dist/types/protocol/messages.d.ts.map +1 -0
- package/dist/types/protocol/serialize.d.ts +26 -0
- package/dist/types/protocol/serialize.d.ts.map +1 -0
- package/dist/types/protocol/validate.d.ts +135 -0
- package/dist/types/protocol/validate.d.ts.map +1 -0
- package/package.json +116 -4
- package/scripts/generate-systemd-service.mjs +117 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fail-closed shutdown on an unexpected process-level fault.
|
|
3
|
+
*
|
|
4
|
+
* Node's default behaviour for `uncaughtException` and `unhandledRejection` is
|
|
5
|
+
* to print and terminate. Installing a handler that only records the error
|
|
6
|
+
* OVERRIDES that default: the process stays alive, keeps its PostgreSQL pools,
|
|
7
|
+
* its permission state and its audit writer, and keeps answering queries while
|
|
8
|
+
* running in a state nobody reasoned about. For a long-lived daemon that holds
|
|
9
|
+
* database credentials and executes DDL, "keep serving after an unknown fault"
|
|
10
|
+
* is the wrong answer — the correct answer is to stop, leave a durable trace,
|
|
11
|
+
* and let the supervisor restart it.
|
|
12
|
+
*
|
|
13
|
+
* Everything here is injectable so a test can assert the exit DECISION without
|
|
14
|
+
* killing the test runner: `exit`, `log`, the flush hooks and the clock are all
|
|
15
|
+
* parameters, and no module-level `process.exit` call exists in this file.
|
|
16
|
+
*
|
|
17
|
+
* ## The non-fatal rejection tag
|
|
18
|
+
*
|
|
19
|
+
* `unhandledRejection` is fail-closed by default, because a rejected promise
|
|
20
|
+
* nobody handled is a bug by definition and this daemon holds credentials. The
|
|
21
|
+
* single exception has to be explicit and greppable, so the only value that is
|
|
22
|
+
* allowed to be swallowed is one that a call site deliberately tagged:
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* markNonFatalRejection(new Error('wake-channel reconnect already in flight'));
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* It sets a non-enumerable symbol on the reason object. A `Symbol`, not a
|
|
29
|
+
* string field: it cannot collide with a database column, an error message or
|
|
30
|
+
* a JSON body, it does not survive serialisation (so it cannot be replayed by
|
|
31
|
+
* anything reading the value back), and nothing outside this module can set it
|
|
32
|
+
* except by calling {@link markNonFatalRejection}. A plain
|
|
33
|
+
* `{ nonFatal: true }` flag would be forgeable by any rejected object, which
|
|
34
|
+
* would make the tag no control at all.
|
|
35
|
+
*/
|
|
36
|
+
/** Which process-level event produced the fault. */
|
|
37
|
+
export type FaultKind = 'uncaughtException' | 'unhandledRejection';
|
|
38
|
+
/**
|
|
39
|
+
* Exit code used for a fail-closed fault. `EX_SOFTWARE` from `sysexits.h`: an
|
|
40
|
+
* internal software error, as opposed to a usage or configuration error. Any
|
|
41
|
+
* non-zero value satisfies `Restart=on-failure`; a distinct one means a fault
|
|
42
|
+
* restart is greppable in the journal and separable from an ordinary crash.
|
|
43
|
+
*/
|
|
44
|
+
export declare const FAULT_EXIT_CODE = 70;
|
|
45
|
+
/**
|
|
46
|
+
* Upper bound on the best-effort flush before the process exits anyway.
|
|
47
|
+
*
|
|
48
|
+
* Short on purpose. The flush exists to get the last audit record onto the disk,
|
|
49
|
+
* not to complete an orderly shutdown: a daemon that cannot flush in two seconds
|
|
50
|
+
* is a daemon whose I/O is stuck, and waiting longer only widens the window in
|
|
51
|
+
* which a half-released pool keeps serving. Well under the five seconds the
|
|
52
|
+
* regression test allows.
|
|
53
|
+
*/
|
|
54
|
+
export declare const FAULT_FLUSH_TIMEOUT_MS = 2000;
|
|
55
|
+
/**
|
|
56
|
+
* Marker for a rejection a call site has decided is safe to log and continue
|
|
57
|
+
* from. Non-enumerable, so the tag cannot be discovered by enumeration or
|
|
58
|
+
* serialisation of the reason.
|
|
59
|
+
*/
|
|
60
|
+
export declare const NON_FATAL_REJECTION_TAG: unique symbol;
|
|
61
|
+
/**
|
|
62
|
+
* Tags a rejection as deliberately non-fatal.
|
|
63
|
+
*
|
|
64
|
+
* Only for a rejection that is genuinely a duplicate/benign outcome — a wake
|
|
65
|
+
* reconnect already in flight, a cancellation racing a completion. NEVER for a
|
|
66
|
+
* failure to record an audit record, to release a permit, to classify SQL, or to
|
|
67
|
+
* do anything the product promises not to hide.
|
|
68
|
+
*/
|
|
69
|
+
export declare function markNonFatalRejection<T>(reason: T): T;
|
|
70
|
+
/** True when {@link markNonFatalRejection} was applied to this exact value. */
|
|
71
|
+
export declare function isNonFatalRejection(reason: unknown): boolean;
|
|
72
|
+
/** What the fault handler is allowed to touch. Every field is injectable. */
|
|
73
|
+
export interface FaultShutdownDeps {
|
|
74
|
+
/**
|
|
75
|
+
* Records the fault in `errors.jsonl`. Must never throw; a fault handler that
|
|
76
|
+
* throws has replaced a contained failure with an uncontained one.
|
|
77
|
+
*/
|
|
78
|
+
track: (err: unknown, opts: {
|
|
79
|
+
op: FaultKind;
|
|
80
|
+
level: 'fatal' | 'error' | 'warn';
|
|
81
|
+
}) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Best-effort: makes the last appended record durable (append + fsync).
|
|
84
|
+
* Separate from `track` because `track` must not do I/O that can block.
|
|
85
|
+
*/
|
|
86
|
+
flushLocalLog?: () => void;
|
|
87
|
+
/** Drains and fsyncs the audit sink. Registered by the daemon runtime. */
|
|
88
|
+
flushAudit?: () => Promise<void>;
|
|
89
|
+
/** Releases every PostgreSQL pool. Registered by the daemon runtime. */
|
|
90
|
+
closePools?: () => Promise<void>;
|
|
91
|
+
/** Operator/journal line. Must be synchronous; the exit can follow at once. */
|
|
92
|
+
log?: (line: string) => void;
|
|
93
|
+
/** Terminates the process. Injected so a test can observe the decision. */
|
|
94
|
+
exit: (code: number) => void;
|
|
95
|
+
/** Upper bound on the flush. Defaults to {@link FAULT_FLUSH_TIMEOUT_MS}. */
|
|
96
|
+
flushTimeoutMs?: number;
|
|
97
|
+
}
|
|
98
|
+
/** The decision the handler reached. Every field is asserted by the tests. */
|
|
99
|
+
export interface FaultShutdownDecision {
|
|
100
|
+
/** True when this call asked the process to terminate. */
|
|
101
|
+
exit_requested: boolean;
|
|
102
|
+
/** The code passed to `exit`, or null when no exit was requested. */
|
|
103
|
+
exit_code: number | null;
|
|
104
|
+
/** True when this call was a no-op because an earlier fault is already exiting. */
|
|
105
|
+
suppressed_by_earlier_fault: boolean;
|
|
106
|
+
/** True when the rejection carried the explicit non-fatal tag. */
|
|
107
|
+
non_fatal: boolean;
|
|
108
|
+
/** True when every flush hook completed within the timeout. */
|
|
109
|
+
flushed: boolean;
|
|
110
|
+
/** True when the flush did not complete in time and the exit was forced. */
|
|
111
|
+
flush_timed_out: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* One-shot fault handler for the whole process.
|
|
115
|
+
*
|
|
116
|
+
* Idempotent by construction: the first fault latches `firing` and every later
|
|
117
|
+
* one — including an `unhandledRejection` that lands while the first fault's
|
|
118
|
+
* flush is still in flight — returns a suppressed decision without a second
|
|
119
|
+
* flush and without a second `exit`. Without the latch, an uncaught exception
|
|
120
|
+
* followed immediately by the rejection it caused would flush and close twice,
|
|
121
|
+
* and the second `close()` on an already-closed pool rejects, which is exactly
|
|
122
|
+
* the kind of cascading undefined behaviour this module exists to stop.
|
|
123
|
+
*/
|
|
124
|
+
export interface FaultShutdownController {
|
|
125
|
+
handle(kind: FaultKind, err: unknown): Promise<FaultShutdownDecision>;
|
|
126
|
+
/** True once the first fatal fault has started the exit path. */
|
|
127
|
+
isFiring(): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Registers the audit/pool handles after construction.
|
|
130
|
+
*
|
|
131
|
+
* Needed because the daemon builds its audit sink and `PoolManager` AFTER it
|
|
132
|
+
* installs the process handlers — the handlers must exist before the parser
|
|
133
|
+
* load so a startup crash is tracked, and the sink does not exist until after
|
|
134
|
+
* that. Refuses once a fault is in flight: swapping the flush set mid-shutdown
|
|
135
|
+
* is how a half-completed flush becomes two.
|
|
136
|
+
*/
|
|
137
|
+
setHooks(hooks: Pick<FaultShutdownDeps, 'flushAudit' | 'closePools'>): boolean;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Builds the controller. One per process; the process handlers hold a reference
|
|
141
|
+
* to it so they share the latch.
|
|
142
|
+
*/
|
|
143
|
+
export declare function createFaultShutdownController(deps: FaultShutdownDeps): FaultShutdownController;
|
|
144
|
+
//# sourceMappingURL=fault-shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fault-shutdown.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/fault-shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,oDAAoD;AACpD,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,eAA2C,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAiBrD;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAM5D;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,+EAA+E;IAC/E,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,cAAc,EAAE,OAAO,CAAC;IACxB,qEAAqE;IACrE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mFAAmF;IACnF,2BAA2B,EAAE,OAAO,CAAC;IACrC,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAWD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACtE,iEAAiE;IACjE,QAAQ,IAAI,OAAO,CAAC;IACpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC;CAChF;AAeD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,iBAAiB,GAAG,uBAAuB,CA2I9F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { readPidFile, writePidFile, deletePidFile, isProcessAlive } from './pid-file';
|
|
2
|
+
export type { PidFile, PidFileOptions } from './pid-file';
|
|
3
|
+
export { readStatusFile, writeStatusFile, isStatusStale } from './status-file';
|
|
4
|
+
export type { DaemonStatus, StatusFileOptions } from './status-file';
|
|
5
|
+
export { resolveAgentRuntimeState, formatDuration, formatTimestamp } from './state';
|
|
6
|
+
export type { AgentRuntimeKind, AgentRuntimeState } from './state';
|
|
7
|
+
export { createShutdownCoordinator } from './shutdown';
|
|
8
|
+
export type { ShutdownCoordinator } from './shutdown';
|
|
9
|
+
export { installSignalHandlers } from './signal-handlers';
|
|
10
|
+
export { runAgent } from './runtime';
|
|
11
|
+
export type { RuntimeOptions } from './runtime';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PidFile {
|
|
2
|
+
pid: number;
|
|
3
|
+
started_at: string;
|
|
4
|
+
version: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PidFileOptions {
|
|
7
|
+
path: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function writePidFile(opts: PidFileOptions, info: PidFile): Promise<void>;
|
|
10
|
+
export declare function readPidFile(opts: PidFileOptions): Promise<PidFile | null>;
|
|
11
|
+
export declare function deletePidFile(opts: PidFileOptions): Promise<void>;
|
|
12
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
13
|
+
//# sourceMappingURL=pid-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pid-file.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/pid-file.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAarF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAW/E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUnD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface ReadinessOptions {
|
|
2
|
+
/** Max time to wait in ms. Default 8000. */
|
|
3
|
+
timeoutMs?: number;
|
|
4
|
+
/** Poll interval in ms. Default 250. */
|
|
5
|
+
intervalMs?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ReadinessResult {
|
|
8
|
+
ready: boolean;
|
|
9
|
+
pid: number | null;
|
|
10
|
+
/** Time spent waiting in ms. */
|
|
11
|
+
waitedMs: number;
|
|
12
|
+
/** Why we stopped polling. */
|
|
13
|
+
reason: 'ready' | 'timeout' | 'process_dead' | 'no_pid';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Poll until the daemon has written a fresh PID file AND a non-stale status
|
|
17
|
+
* file with a live process. Fixes the start → status race where status was
|
|
18
|
+
* queried before the detached daemon had a chance to write its files.
|
|
19
|
+
*/
|
|
20
|
+
export declare function waitForAgentReady(pidFile: string, statusFile: string, opts?: ReadinessOptions): Promise<ReadinessResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Poll until the daemon process is gone AND its PID file is cleaned up.
|
|
23
|
+
* Fixes the symmetric race on stop, so an immediately-following status
|
|
24
|
+
* check never reports a half-shutdown agent.
|
|
25
|
+
*/
|
|
26
|
+
export declare function waitForAgentGone(pidFile: string, opts?: ReadinessOptions): Promise<{
|
|
27
|
+
gone: boolean;
|
|
28
|
+
waitedMs: number;
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/readiness.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,CAAC;CACzD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA0C1B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB9C"}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
import { MachineConfig } from '../../config/machine-config';
|
|
2
|
+
import { DatabasesConfig } from '../../config/db-config';
|
|
3
|
+
import type { DatabaseLookupResult, DatabaseRefusalCode } from '../../execution/database-lookup';
|
|
4
|
+
import type { AuditSinkHealth } from '../../audit/types';
|
|
5
|
+
import { DbEntry } from '../../config/db-config';
|
|
6
|
+
export interface RuntimeOptions {
|
|
7
|
+
machineConfig: MachineConfig;
|
|
8
|
+
databasesConfig: DatabasesConfig;
|
|
9
|
+
relayUrl: string;
|
|
10
|
+
auditDir: string;
|
|
11
|
+
statusFile: string;
|
|
12
|
+
pidFile: string;
|
|
13
|
+
foreground: boolean;
|
|
14
|
+
autoExitMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class RuntimeStats {
|
|
17
|
+
queries_served: number;
|
|
18
|
+
streams_served: number;
|
|
19
|
+
migrations_run: number;
|
|
20
|
+
cancellations: number;
|
|
21
|
+
permission_denies: number;
|
|
22
|
+
audit_buffer_overflows: number;
|
|
23
|
+
/**
|
|
24
|
+
* Appends this process saw rejected. `audit_events_written` is deliberately
|
|
25
|
+
* absent: it is derived from the sink, never counted here.
|
|
26
|
+
*/
|
|
27
|
+
audit_events_failed: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The audit half of the daemon status block.
|
|
31
|
+
*
|
|
32
|
+
* `DaemonStatus` does not yet declare `audit_events_failed` or an `audit`
|
|
33
|
+
* block, so they are produced here and the owner of `status-file.ts` can spread
|
|
34
|
+
* this object straight into `DaemonStatus['stats']` once the type declares them.
|
|
35
|
+
*/
|
|
36
|
+
export interface DaemonAuditStats {
|
|
37
|
+
/** Appends the sink confirmed. Never includes a record it rejected. */
|
|
38
|
+
audit_events_written: number;
|
|
39
|
+
/** Records the sink could not persist. Audit loss, counted rather than hidden. */
|
|
40
|
+
audit_events_failed: number;
|
|
41
|
+
/** Records admitted above the audit queue high-water mark. */
|
|
42
|
+
audit_buffer_overflows: number;
|
|
43
|
+
/**
|
|
44
|
+
* Records the bounded queue discarded outright under pressure.
|
|
45
|
+
*
|
|
46
|
+
* Distinct from the two counters above, and the reason it is promoted out of
|
|
47
|
+
* the `audit` block: an overflow is *admitted* and eventually written, while a
|
|
48
|
+
* drop never reaches the file at all. It is fire-and-forget telemetry only —
|
|
49
|
+
* allow/deny decisions are written straight through and never queued, so a
|
|
50
|
+
* non-zero value means silent history loss, not a lost authorization record.
|
|
51
|
+
* Surfaced next to `audit_buffer_overflows` so an operator reading `stats`
|
|
52
|
+
* sees that the trail is lossy rather than having to know that the number
|
|
53
|
+
* exists somewhere else in the status file.
|
|
54
|
+
*/
|
|
55
|
+
audit_dropped: number;
|
|
56
|
+
/**
|
|
57
|
+
* Full sink health, verbatim from {@link AuditSink.getHealth}:
|
|
58
|
+
* `dir`, `active_path`, `ready`, `writable`, `dir_mode`, `file_mode`,
|
|
59
|
+
* `retained_from_seq`, `last_write_at`, `last_error`, `last_error_at`,
|
|
60
|
+
* `error_count`, `events_written`, `events_failed`, `bytes_written`,
|
|
61
|
+
* `rotations`, `chain_id`, `seq`, `chain_error`, `queue_depth`,
|
|
62
|
+
* `overflow_admitted`, `dropped`.
|
|
63
|
+
*/
|
|
64
|
+
audit: AuditSinkHealth;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reconcile the audit counters from the sink's own health.
|
|
68
|
+
*
|
|
69
|
+
* `events_written` is the sink's count of appends that resolved, so a rejected
|
|
70
|
+
* record can never inflate it. `events_failed` is the greater of the rejection
|
|
71
|
+
* this process counted on the awaited path and the sink's queue-level failure
|
|
72
|
+
* count, which also covers the fire-and-forget `log()` path. `dropped` is the
|
|
73
|
+
* sink's own discard count, carried through unchanged: it has no local counter to
|
|
74
|
+
* reconcile against, because a dropped record never reaches this process at all.
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildDaemonAuditStats(stats: RuntimeStats, health: AuditSinkHealth): DaemonAuditStats;
|
|
77
|
+
/** What a shutdown needs from the audit stack, and nothing more. */
|
|
78
|
+
export interface AuditShutdownTarget {
|
|
79
|
+
/** Drains the sink's queue and fsyncs everything written but not committed. */
|
|
80
|
+
flush(): Promise<void>;
|
|
81
|
+
/** Flushes and releases the file handle. Always called *after* `flush`. */
|
|
82
|
+
close(): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Builds the daemon's audit shutdown step: flush, then close — in that order,
|
|
86
|
+
* exactly once, however many times it is called.
|
|
87
|
+
*
|
|
88
|
+
* Close-after-flush matters: `close()` on its own would be enough for the fd,
|
|
89
|
+
* but the point of flushing first is that records already counted as written by
|
|
90
|
+
* the sink reach the disk, and `LocalAuditWriter.flush()` is what advances the
|
|
91
|
+
* chain head to match. Closing *instead of* flushing would drop both.
|
|
92
|
+
*
|
|
93
|
+
* Idempotent because shutdown can arrive twice (a signal and an explicit
|
|
94
|
+
* `stop`, or a handler registered on two coordinators). Concurrent callers await
|
|
95
|
+
* the *same* promise rather than starting a second flush/close pair, so a signal
|
|
96
|
+
* that lands mid-shutdown cannot interleave with it. A failed attempt is not
|
|
97
|
+
* remembered as done: the memo is cleared so a later stop retries instead of
|
|
98
|
+
* reporting a shutdown that never completed.
|
|
99
|
+
*/
|
|
100
|
+
export declare function createAuditShutdown(target: AuditShutdownTarget): () => Promise<void>;
|
|
101
|
+
export interface RelayResolution {
|
|
102
|
+
/** The URL the agent will actually connect to. */
|
|
103
|
+
url: string;
|
|
104
|
+
/** True when the URL came from `--relay` rather than the persisted config. */
|
|
105
|
+
isOverride: boolean;
|
|
106
|
+
/** Host of the persisted `cloud_url`, or null when it cannot be parsed. */
|
|
107
|
+
configuredHost: string | null;
|
|
108
|
+
/** Host of the requested relay URL, or null when it cannot be parsed. */
|
|
109
|
+
relayHost: string | null;
|
|
110
|
+
/** True when the override names a different host than the persisted config. */
|
|
111
|
+
hostChanged: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Validate a relay URL with exactly the rule `cloud_url` must already satisfy
|
|
115
|
+
* in `validateMachineConfig`: a well-formed `wss://` URL with an explicit
|
|
116
|
+
* authority and no userinfo. `ws://`, `http://`, `WSS://`, `wss:/host` and
|
|
117
|
+
* unparseable input are all refused.
|
|
118
|
+
*
|
|
119
|
+
* Throws {@link ConfigInvalidError} rather than falling back to the configured
|
|
120
|
+
* URL: silently ignoring the flag would leave the operator believing the agent
|
|
121
|
+
* is talking to the relay they named.
|
|
122
|
+
*/
|
|
123
|
+
export declare function assertSecureRelayUrl(raw: string): string;
|
|
124
|
+
export declare function relayHostMismatchWarning(configuredHost: string, relayHost: string): string;
|
|
125
|
+
/**
|
|
126
|
+
* Decide which URL the agent uses, and whether that silently redirects the
|
|
127
|
+
* token to a host the operator never configured.
|
|
128
|
+
*/
|
|
129
|
+
export declare function resolveRelayOverride(relayUrl: string | undefined, persistedCloudUrl: string): RelayResolution;
|
|
130
|
+
/**
|
|
131
|
+
* Render a URL for a terminal or a log: scheme and host only. Userinfo, path
|
|
132
|
+
* tokens, query and fragment are masked, so echoing a URL can never disclose a
|
|
133
|
+
* credential.
|
|
134
|
+
*/
|
|
135
|
+
export declare function redactUrlForDisplay(raw: string): string;
|
|
136
|
+
/** Connections per database pool when nothing valid is configured. */
|
|
137
|
+
export declare const DEFAULT_POOL_MAX = 15;
|
|
138
|
+
export declare const MIN_POOL_MAX = 1;
|
|
139
|
+
export declare const MAX_POOL_MAX = 200;
|
|
140
|
+
/**
|
|
141
|
+
* Resolve the per-pool connection ceiling.
|
|
142
|
+
*
|
|
143
|
+
* Anything that is not an integer inside `[MIN_POOL_MAX, MAX_POOL_MAX]` — a
|
|
144
|
+
* non-numeric value, zero, a negative number, or an absurd ceiling that would
|
|
145
|
+
* be refused by PostgreSQL's own `max_connections` — falls back to the
|
|
146
|
+
* default. Previously `SW_PG_POOL_MAX` was passed straight through
|
|
147
|
+
* `parseInt`, so `abc` produced `NaN` and `999999` asked the database for a
|
|
148
|
+
* connection storm.
|
|
149
|
+
*/
|
|
150
|
+
export declare function resolvePoolMax(env?: NodeJS.ProcessEnv): number;
|
|
151
|
+
/** Shortest approval window that is still an approval rather than a formality. */
|
|
152
|
+
export declare const MIN_APPROVAL_TIMEOUT_MS = 5000;
|
|
153
|
+
export declare const MAX_APPROVAL_TIMEOUT_MS = 3600000;
|
|
154
|
+
/**
|
|
155
|
+
* Resolve the manual-approval window.
|
|
156
|
+
*
|
|
157
|
+
* `0` and negative values are never honoured: they would expire every pending
|
|
158
|
+
* approval the instant it was created, turning the approval gate into a no-op.
|
|
159
|
+
* Garbage falls back to `DEFAULTS.APPROVAL_TIMEOUT_MS`, and an in-range value
|
|
160
|
+
* is clamped rather than rejected so a deliberate typo cannot silently widen
|
|
161
|
+
* the window.
|
|
162
|
+
*/
|
|
163
|
+
export declare function resolveApprovalTimeoutMs(env?: NodeJS.ProcessEnv): number;
|
|
164
|
+
/**
|
|
165
|
+
* Mirror `PoolManager.maxStatementTimeoutMs` for the startup posture log: the
|
|
166
|
+
* environment may lower the ceiling but never raise it past the compiled-in
|
|
167
|
+
* hard cap.
|
|
168
|
+
*/
|
|
169
|
+
export declare function resolveStatementTimeoutMs(env?: NodeJS.ProcessEnv): number;
|
|
170
|
+
/**
|
|
171
|
+
* Mirror the query runner's streaming row ceiling for the posture log. Same
|
|
172
|
+
* rule as its private `readBoundedEnvInt`, including its `parseInt` semantics:
|
|
173
|
+
* NaN, zero and negatives fall back, absurd values are clamped.
|
|
174
|
+
*/
|
|
175
|
+
export declare function resolveMaxStreamRows(env?: NodeJS.ProcessEnv): number;
|
|
176
|
+
export interface E2EAdminGate {
|
|
177
|
+
requested: boolean;
|
|
178
|
+
allowed: boolean;
|
|
179
|
+
reason: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Gate for the historical `SW_AGENT_E2E` escape hatch that used to start an
|
|
183
|
+
* unauthenticated loopback admin server with `/admin/shutdown`.
|
|
184
|
+
*
|
|
185
|
+
* There is no admin server in this build, so `allowed: true` still starts
|
|
186
|
+
* nothing. The gate exists so the conditions that would have to hold before
|
|
187
|
+
* such a control plane could be reintroduced are stated once, in code, rather
|
|
188
|
+
* than in a comment: never in production, never in a daemonised process, and
|
|
189
|
+
* only with an explicit second opt-in.
|
|
190
|
+
*/
|
|
191
|
+
export declare function resolveE2EAdminGate(env?: NodeJS.ProcessEnv): E2EAdminGate;
|
|
192
|
+
export interface SecurityPostureEntry {
|
|
193
|
+
name: string;
|
|
194
|
+
resolved: string;
|
|
195
|
+
detail: string;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* The resolved value of every input that changes this process's security
|
|
199
|
+
* posture, so the effective configuration is observable in the log rather than
|
|
200
|
+
* implicit in whatever environment the process happened to inherit.
|
|
201
|
+
*
|
|
202
|
+
* `env` is the environment the values are actually resolved from — the live one,
|
|
203
|
+
* after the refused variables have been stripped, so a reported value is the
|
|
204
|
+
* value in effect. `inherited` is the pre-strip snapshot, used only to say
|
|
205
|
+
* whether a variable was set at all; pass it so the report can distinguish "not
|
|
206
|
+
* set" from "set, and ignored".
|
|
207
|
+
*/
|
|
208
|
+
export declare function resolveSecurityPosture(env?: NodeJS.ProcessEnv, inherited?: NodeJS.ProcessEnv): SecurityPostureEntry[];
|
|
209
|
+
/**
|
|
210
|
+
* Render the posture block. `secrets` are replaced with `***` in every line, so
|
|
211
|
+
* an agent token or an ingest URL can never reach the log through this path.
|
|
212
|
+
*/
|
|
213
|
+
export declare function formatSecurityPosture(entries: SecurityPostureEntry[], secrets?: Array<string | undefined>): string[];
|
|
214
|
+
/**
|
|
215
|
+
* One permitted `(project_name, db_alias)` pairing. A rule with only
|
|
216
|
+
* `project_name` permits that project under any alias; a rule with only
|
|
217
|
+
* `db_alias` permits that alias under any project.
|
|
218
|
+
*/
|
|
219
|
+
export interface DatabaseScopeRule {
|
|
220
|
+
project_name?: string;
|
|
221
|
+
db_alias?: string;
|
|
222
|
+
}
|
|
223
|
+
/** Environment channel for the allow-list, for installs that cannot edit config. */
|
|
224
|
+
export declare const ALLOWED_DATABASES_ENV = "SW_AGENT_ALLOWED_DATABASES";
|
|
225
|
+
/** Config key read for the allow-list; the schema still needs to declare it. */
|
|
226
|
+
export declare const ALLOWED_DATABASES_CONFIG_KEY = "allowed_databases";
|
|
227
|
+
/**
|
|
228
|
+
* Validate an allow-list declaration. Returns null when nothing is configured
|
|
229
|
+
* (the backwards-compatible unscoped case) and throws when something is
|
|
230
|
+
* configured but malformed — a typo must not widen the scope it was meant to
|
|
231
|
+
* narrow.
|
|
232
|
+
*/
|
|
233
|
+
export declare function parseScopeRules(raw: unknown): DatabaseScopeRule[] | null;
|
|
234
|
+
/** Parse the comma-separated environment form of the allow-list. */
|
|
235
|
+
export declare function parseScopeEnv(raw: string | undefined): DatabaseScopeRule[] | null;
|
|
236
|
+
/**
|
|
237
|
+
* Effective allow-list, resolved from both declaration channels.
|
|
238
|
+
*
|
|
239
|
+
* The environment can only **NARROW**. the two were unioned, so anybody
|
|
240
|
+
* who could set `SW_AGENT_ALLOWED_DATABASES` in the daemon's environment could
|
|
241
|
+
* add a database the operator had deliberately excluded — an environment
|
|
242
|
+
* variable is a weaker channel than a config file and must not be the stronger
|
|
243
|
+
* one. When both channels declare a scope, the result is their intersection; a
|
|
244
|
+
* rule survives only if some config rule and some env rule can both match the
|
|
245
|
+
* same entry. An empty intersection is a scope that permits nothing.
|
|
246
|
+
*
|
|
247
|
+
* Null means nothing was declared anywhere. That is no longer "every database is
|
|
248
|
+
* permitted": see {@link resolveDatabaseScopeDecision}.
|
|
249
|
+
*/
|
|
250
|
+
export declare function resolveDatabaseScope(machineConfig: MachineConfig, env?: NodeJS.ProcessEnv): DatabaseScopeRule[] | null;
|
|
251
|
+
/**
|
|
252
|
+
* Config key that restores the pre-remediation permissive default.
|
|
253
|
+
*
|
|
254
|
+
* RISK: with no allow-list and this key set to `true`, ONE agent token reaches
|
|
255
|
+
* EVERY configured database on the host — typically dev, staging and production —
|
|
256
|
+
* and any authenticated principal on the relay can name any of them. It exists
|
|
257
|
+
* only so an existing deployment can keep working across this upgrade with a
|
|
258
|
+
* deliberate, visible choice; the default is fail-closed.
|
|
259
|
+
*/
|
|
260
|
+
export declare const ALLOW_UNSCOPED_DATABASES_CONFIG_KEY = "allow_unscoped_databases";
|
|
261
|
+
/** Machine-config path for the same escape hatch. */
|
|
262
|
+
export declare const ALLOW_UNSCOPED_DATABASES_CONFIG_PATH = "security.allow_unscoped_databases";
|
|
263
|
+
export interface DatabaseScopeDecision {
|
|
264
|
+
/** Effective allow-list, or null when nothing was declared. */
|
|
265
|
+
rules: DatabaseScopeRule[] | null;
|
|
266
|
+
/** True when the environment channel narrowed (or contradicted) the config. */
|
|
267
|
+
env_narrowed: boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Whether the pre-remediation default is deliberately restored. Only ever true
|
|
270
|
+
* for the literal boolean `true` under `security.allow_unscoped_databases` —
|
|
271
|
+
* a string, a number or `1` does not restore it, so a typo cannot silently
|
|
272
|
+
* re-open every database.
|
|
273
|
+
*/
|
|
274
|
+
allow_unscoped: boolean;
|
|
275
|
+
/** True when at least one channel declared an allow-list. */
|
|
276
|
+
scoped: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* True when this installation will serve `ping` only, because no allow-list was
|
|
279
|
+
* declared and the permissive default was not explicitly restored.
|
|
280
|
+
*/
|
|
281
|
+
fail_closed: boolean;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* The effective database scope, and whether this installation fails closed.
|
|
285
|
+
*
|
|
286
|
+
* . The default was "no allow-list means every configured database", so an
|
|
287
|
+
* install that had never been configured — the default install — let a session
|
|
288
|
+
* authenticated for one project read any other project on the host, including
|
|
289
|
+
* production. The default is now the opposite: nothing declared means nothing is
|
|
290
|
+
* reachable except `ping`, and the refusal is audited.
|
|
291
|
+
*
|
|
292
|
+
* Restoring the old behaviour requires the explicit
|
|
293
|
+
* `security.allow_unscoped_databases: true`.
|
|
294
|
+
*/
|
|
295
|
+
export declare function resolveDatabaseScopeDecision(machineConfig: MachineConfig, env?: NodeJS.ProcessEnv): DatabaseScopeDecision;
|
|
296
|
+
/** True when the entry is permitted. An absent allow-list permits everything. */
|
|
297
|
+
export declare function scopeAllowsEntry(rules: DatabaseScopeRule[] | null, entry: DbEntry): boolean;
|
|
298
|
+
export interface DeniedDatabaseRequest {
|
|
299
|
+
project: string;
|
|
300
|
+
db_alias?: string;
|
|
301
|
+
reason: string;
|
|
302
|
+
/**
|
|
303
|
+
* Machine-readable refusal code, carried so the console line and any audit
|
|
304
|
+
* record agree on what happened. Optional for callers that only render text.
|
|
305
|
+
*/
|
|
306
|
+
code?: DatabaseRefusalCode;
|
|
307
|
+
}
|
|
308
|
+
export interface LookupDbOptions {
|
|
309
|
+
getDatabases: () => DbEntry[];
|
|
310
|
+
scope: DatabaseScopeRule[] | null;
|
|
311
|
+
onDenied?: (attempt: DeniedDatabaseRequest) => void;
|
|
312
|
+
/**
|
|
313
|
+
* The effective scope decision. When it is absent the lookup keeps the
|
|
314
|
+
* permissive historical behaviour of `scope === null` meaning "everything",
|
|
315
|
+
* which is exactly what a caller with no decision object is assumed to want;
|
|
316
|
+
* the daemon always supplies one.
|
|
317
|
+
*/
|
|
318
|
+
decision?: DatabaseScopeDecision;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Resolve an inbound frame's self-declared `project_name` / `db_alias` to a
|
|
322
|
+
* database entry, refusing anything outside the allow-list.
|
|
323
|
+
*
|
|
324
|
+
* Two refusals that did not exist before:
|
|
325
|
+
*
|
|
326
|
+
* - **Fail closed with no allow-list**. With nothing declared, this
|
|
327
|
+
* installation serves `ping` only. Restoring the old "everything is
|
|
328
|
+
* reachable" default requires the explicit
|
|
329
|
+
* `security.allow_unscoped_databases: true`.
|
|
330
|
+
* - **Project/alias collision**. When a frame names BOTH a project and
|
|
331
|
+
* an alias and they select *different* entries, the frame is refused. The
|
|
332
|
+
* old code silently preferred the project, executed against it, echoed the
|
|
333
|
+
* alias back and recorded neither — so the operation and the audit trail
|
|
334
|
+
* both named a database the operation never touched. Naming the same entry
|
|
335
|
+
* two ways is accepted.
|
|
336
|
+
*
|
|
337
|
+
* The result carries the refusal code rather than only `null` so the caller can
|
|
338
|
+
* audit the refusal under its own reason instead of a generic "unavailable".
|
|
339
|
+
*/
|
|
340
|
+
export declare function createLookupDb(opts: LookupDbOptions): (project: string, alias?: string) => DatabaseLookupResult;
|
|
341
|
+
/**
|
|
342
|
+
* What an operator needs to know about this installation's database scope.
|
|
343
|
+
*
|
|
344
|
+
* Three states, and they read very differently on purpose:
|
|
345
|
+
*
|
|
346
|
+
* - **scoped** — an allow-list is in force. Nothing to say.
|
|
347
|
+
* - **fail-closed (the new default)** — nothing is declared, so this agent
|
|
348
|
+
* serves `ping` only. This is the upgrade notice asks for: an existing
|
|
349
|
+
* install that never configured `allowed_databases` previously reached every
|
|
350
|
+
* database on the host and will now reach none, and an operator who has not
|
|
351
|
+
* read a changelog needs to be told that in the first seconds of the daemon,
|
|
352
|
+
* not in a log file nobody opens.
|
|
353
|
+
* - **unscoped by explicit opt-in** — every configured database is reachable
|
|
354
|
+
* again, and the risk is named in full.
|
|
355
|
+
*/
|
|
356
|
+
export declare function databaseScopeWarningLines(scope: DatabaseScopeRule[] | null, databases: DbEntry[], decision?: DatabaseScopeDecision): string[];
|
|
357
|
+
/**
|
|
358
|
+
* One-line summary for `sw-agent status`.
|
|
359
|
+
*
|
|
360
|
+
* The warning above goes to the console of a detached daemon, which most
|
|
361
|
+
* operators never see; this is the part that has to reach the CLI an operator
|
|
362
|
+
* actually runs. See the `security` block of `DaemonStatus`.
|
|
363
|
+
*/
|
|
364
|
+
export declare function describeDatabaseScope(decision: DatabaseScopeDecision, databases: DbEntry[]): string;
|
|
365
|
+
export declare function runAgent(opts: RuntimeOptions): Promise<number>;
|
|
366
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ShutdownCoordinator {
|
|
2
|
+
register(name: string, cleanup: () => Promise<void>): () => void;
|
|
3
|
+
shutdown(timeoutMs?: number): Promise<'clean' | 'timeout'>;
|
|
4
|
+
isShuttingDown(): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function createShutdownCoordinator(): ShutdownCoordinator;
|
|
7
|
+
//# sourceMappingURL=shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/shutdown.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC3D,cAAc,IAAI,OAAO,CAAC;CAC3B;AAiED,wBAAgB,yBAAyB,IAAI,mBAAmB,CAE/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-handlers.d.ts","sourceRoot":"","sources":["../../../../src/cli/daemon/signal-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,IAAI,CA2BlF"}
|