@schema-weaver/pg-connector 0.0.0-stage → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,126 @@
|
|
|
1
|
+
import { Role } from '../protocol/envelope';
|
|
2
|
+
import { StatementClassification } from '../execution/types';
|
|
3
|
+
export type PermissionLevel = 'read_only' | 'auto_upgrade' | 'manual' | 'full';
|
|
4
|
+
/** What the user is trying to do. */
|
|
5
|
+
export interface ActionRequest {
|
|
6
|
+
/** The user's role in the workspace. */
|
|
7
|
+
role: Role;
|
|
8
|
+
/** Effective permission level (already resolved from override + default). */
|
|
9
|
+
permission_level: PermissionLevel;
|
|
10
|
+
/** Original SQL. */
|
|
11
|
+
sql: string;
|
|
12
|
+
/** Browser-claimed intent (advisory only — we re-parse to verify). */
|
|
13
|
+
intent: 'read' | 'write' | 'ddl' | 'migration';
|
|
14
|
+
/** If intent=migration, the plan_id claimed by browser. */
|
|
15
|
+
plan_id?: string;
|
|
16
|
+
/** The message type (query, stream_query, migration_run, etc.). */
|
|
17
|
+
message_type: string;
|
|
18
|
+
/** The request_id (for tracking approval). */
|
|
19
|
+
request_id: string;
|
|
20
|
+
/** Which DB alias this targets. */
|
|
21
|
+
db_alias: string;
|
|
22
|
+
/** The project name. */
|
|
23
|
+
project: string;
|
|
24
|
+
/**
|
|
25
|
+
* The RESOLVED database identity, when the caller has resolved it.
|
|
26
|
+
*
|
|
27
|
+
* `project` and `db_alias` above are what the frame *claimed*; these are what
|
|
28
|
+
* the agent actually looked up. The audit trail records the resolved pair, and
|
|
29
|
+
* a plan is bound to the resolved pair, so a frame that names one database
|
|
30
|
+
* while executing against another cannot satisfy a plan registered against
|
|
31
|
+
* either. Omitted only by callers with no resolution step (the local CLI,
|
|
32
|
+
* tests), where the claimed values are the only ones there are.
|
|
33
|
+
*/
|
|
34
|
+
resolved_project?: string;
|
|
35
|
+
resolved_db_alias?: string;
|
|
36
|
+
/** The user context. */
|
|
37
|
+
user: {
|
|
38
|
+
id: string;
|
|
39
|
+
role: Role;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Approval nonce for this request. Agent-minted only: `ManualApprovalHandler`
|
|
43
|
+
* mints it locally when the approval is parked, so a value arriving from the
|
|
44
|
+
* wire must never populate this field. It is recorded here so a decision can
|
|
45
|
+
* be correlated with the approval event that carried it.
|
|
46
|
+
*/
|
|
47
|
+
approval_nonce?: string;
|
|
48
|
+
}
|
|
49
|
+
/** Outcome of a permission check. */
|
|
50
|
+
export interface PermissionDecision {
|
|
51
|
+
/** Whether the action can proceed. */
|
|
52
|
+
allowed: boolean;
|
|
53
|
+
/** Why allowed or denied. */
|
|
54
|
+
reason: string;
|
|
55
|
+
/** Stable code for audit + browser UI. */
|
|
56
|
+
code: 'allowed' | 'role_insufficient' | 'permission_denied' | 'plan_not_registered' | 'intent_mismatch' | 'auto_upgrade_granted'
|
|
57
|
+
/** PostgreSQL could not parse the statement; denied rather than guessed. */
|
|
58
|
+
| 'unparseable_statement'
|
|
59
|
+
/** The parser found more than one statement; refused outright. */
|
|
60
|
+
| 'multiple_statements'
|
|
61
|
+
/** The parser could not be loaded; denied rather than falling back. */
|
|
62
|
+
| 'parser_unavailable'
|
|
63
|
+
/**
|
|
64
|
+
* `intent: 'migration'` was claimed on a message that is not a
|
|
65
|
+
* `migration_run`. The value is meaningful only on that path, so the claim
|
|
66
|
+
* is refused instead of being treated as an exemption from anti-spoofing.
|
|
67
|
+
*/
|
|
68
|
+
| 'intent_not_applicable';
|
|
69
|
+
/**
|
|
70
|
+
* The classification the decision was based on. Returned so the execution
|
|
71
|
+
* layer uses the exact same verdict rather than re-parsing and possibly
|
|
72
|
+
* disagreeing.
|
|
73
|
+
*/
|
|
74
|
+
classification?: StatementClassification;
|
|
75
|
+
/** Populated when approval was requested and refused/expired. */
|
|
76
|
+
approval_request?: {
|
|
77
|
+
request_id: string;
|
|
78
|
+
/**
|
|
79
|
+
* Redacted and length-capped. The full statement text must never leave the
|
|
80
|
+
* agent: it can carry PII literals that the cloud and the browser's audit
|
|
81
|
+
* view would otherwise store.
|
|
82
|
+
*/
|
|
83
|
+
sql_preview: string;
|
|
84
|
+
intent: 'write' | 'ddl';
|
|
85
|
+
db_alias: string;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Refusal of a `plan_register` event, produced by `PlanRegistry` — the single
|
|
90
|
+
* source of truth for who may register a migration plan and at what level.
|
|
91
|
+
*/
|
|
92
|
+
export type PlanRegistrationRefusal = 'read_only_permission_level' | 'role_lacks_migration_run' | 'unattested_principal'
|
|
93
|
+
/** the registration did not name the resolved project and db_alias. */
|
|
94
|
+
| 'unscoped_plan_registration';
|
|
95
|
+
/** Why a registered plan may or may not be executed by a given principal. */
|
|
96
|
+
export type PlanProvenanceRefusal = 'plan_not_registered' | 'plan_expired' | 'statements_changed' | 'runner_not_privileged' | 'registered_at_more_permissive_level' | 'principal_not_attested'
|
|
97
|
+
/** the plan is bound to a different project/db_alias than this run. */
|
|
98
|
+
| 'plan_scope_mismatch';
|
|
99
|
+
/**
|
|
100
|
+
* Refusal of a single consumption of a plan, produced by
|
|
101
|
+
* `PlanRegistry.consume()`.
|
|
102
|
+
*
|
|
103
|
+
* `plan_already_consumed` is kept separate from `plan_not_registered` on
|
|
104
|
+
* purpose: "you may not run this, it is not yours / not bound to these
|
|
105
|
+
* statements" and "you already ran this" are different operator problems, and
|
|
106
|
+
* collapsing them hides a replay attempt behind a typo. Neither code reveals
|
|
107
|
+
* anything about any *other* plan id.
|
|
108
|
+
*/
|
|
109
|
+
export type PlanConsumeRefusal = PlanProvenanceRefusal | 'plan_already_consumed';
|
|
110
|
+
/** Result of auto-upgrade evaluation. */
|
|
111
|
+
export interface AutoUpgradeResult {
|
|
112
|
+
/** Whether the auto-upgrade was granted. */
|
|
113
|
+
granted: boolean;
|
|
114
|
+
/** Why granted or denied. */
|
|
115
|
+
reason: string;
|
|
116
|
+
}
|
|
117
|
+
/** Result of manual approval flow. */
|
|
118
|
+
export interface ManualApprovalResult {
|
|
119
|
+
/** Whether approval was given. */
|
|
120
|
+
approved: boolean;
|
|
121
|
+
/** Who approved/denied (user_id). */
|
|
122
|
+
approved_by?: string;
|
|
123
|
+
/** Why not approved (timeout, denied, etc.). */
|
|
124
|
+
reason?: string;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/permissions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/E,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,6EAA6E;IAC7E,gBAAgB,EAAE,eAAe,CAAC;IAClC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IACjC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EACA,SAAS,GACT,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB;IACxB,4EAA4E;OAC1E,uBAAuB;IACzB,kEAAkE;OAChE,qBAAqB;IACvB,uEAAuE;OACrE,oBAAoB;IACtB;;;;OAIG;OACD,uBAAuB,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,iEAAiE;IACjE,gBAAgB,CAAC,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB;;;;WAIG;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,4BAA4B,GAC5B,0BAA0B,GAC1B,sBAAsB;AACxB,uEAAuE;GACrE,4BAA4B,CAAC;AAEjC,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,cAAc,GACd,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,wBAAwB;AAC1B,uEAAuE;GACrE,qBAAqB,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAEjF,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/permissions/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export declare const PROTOCOL_VERSION: 1;
|
|
2
|
+
export declare const DEFAULTS: {
|
|
3
|
+
readonly QUERY_TIMEOUT_MS: 30000;
|
|
4
|
+
readonly MIGRATION_TIMEOUT_MS: 1800000;
|
|
5
|
+
readonly STREAM_CHUNK_ROWS: 100;
|
|
6
|
+
readonly STREAM_CHUNK_BYTES: 65536;
|
|
7
|
+
readonly STREAM_CHUNK_MS: 100;
|
|
8
|
+
readonly MAX_QUERY_ROWS: 10000;
|
|
9
|
+
readonly MAX_STREAM_ROWS: 1000000;
|
|
10
|
+
readonly MAX_CELL_BYTES: 1048576;
|
|
11
|
+
readonly APPROVAL_TIMEOUT_MS: 60000;
|
|
12
|
+
readonly IDLE_WSS_TIMEOUT_MS: 60000;
|
|
13
|
+
readonly WAKE_KEEPALIVE_MS: 300000;
|
|
14
|
+
readonly RECONNECT_BACKOFF_MS: readonly [1000, 2000, 4000, 8000, 16000, 32000, 60000];
|
|
15
|
+
readonly ORPHAN_REQUEST_TIMEOUT_MS: 300000;
|
|
16
|
+
readonly ENVELOPE_MAX_CLOCK_SKEW_MS: 120000;
|
|
17
|
+
readonly WAKE_MAX_EVENT_AGE_MS: 120000;
|
|
18
|
+
readonly WAKE_CLOCK_SKEW_MS: 30000;
|
|
19
|
+
readonly WAKE_MIN_TOKEN_LIFE_MS: 5000;
|
|
20
|
+
readonly SESSION_CHANGE_COOLDOWN_MS: 2000;
|
|
21
|
+
readonly SESSION_CHANGE_WINDOW_MS: 300000;
|
|
22
|
+
readonly SESSION_CHANGE_MAX_PER_WINDOW: 100;
|
|
23
|
+
};
|
|
24
|
+
export declare const LIMITS: {
|
|
25
|
+
readonly MAX_STATEMENT_COUNT_PER_MIGRATION: 500;
|
|
26
|
+
readonly MAX_STATEMENT_COUNT_PER_QUERY: 1;
|
|
27
|
+
readonly MAX_STATEMENT_LENGTH: 1048576;
|
|
28
|
+
readonly MAX_PAYLOAD_BYTES: 16777216;
|
|
29
|
+
readonly ID_MAX_LENGTH: 64;
|
|
30
|
+
readonly PROJECT_MAX_LENGTH: 64;
|
|
31
|
+
readonly ALIAS_MAX_LENGTH: 64;
|
|
32
|
+
readonly ENVELOPE_NONCE_MIN_LENGTH: 16;
|
|
33
|
+
readonly ENVELOPE_NONCE_MAX_LENGTH: 64;
|
|
34
|
+
readonly ENVELOPE_MAC_HEX_LENGTH: 64;
|
|
35
|
+
readonly REPLAY_CACHE_MAX_ENTRIES: 8192;
|
|
36
|
+
readonly WAKE_REPLAY_CACHE_MAX_ENTRIES: 1024;
|
|
37
|
+
readonly APPROVAL_TIMEOUT_MIN_MS: 5000;
|
|
38
|
+
readonly APPROVAL_TIMEOUT_MAX_MS: 900000;
|
|
39
|
+
readonly APPROVAL_NONCE_HEX_LENGTH: 64;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* The only environment variable that may change the manual-approval window.
|
|
43
|
+
*
|
|
44
|
+
* Declared here so the daemon's env allow-list (src/cli/daemon/state.ts) and the
|
|
45
|
+
* resolver that enforces it cannot drift; the resolver clamps whatever it reads
|
|
46
|
+
* into LIMITS.APPROVAL_TIMEOUT_MIN_MS..LIMITS.APPROVAL_TIMEOUT_MAX_MS.
|
|
47
|
+
*/
|
|
48
|
+
export declare const APPROVAL_TIMEOUT_ENV_VAR = "SW_AGENT_MANUAL_APPROVAL_TIMEOUT_MS";
|
|
49
|
+
/**
|
|
50
|
+
* Whether a per-session MAC is mandatory on inbound envelopes.
|
|
51
|
+
*
|
|
52
|
+
* Fail closed: an envelope with no MAC is rejected. A relay that has not yet
|
|
53
|
+
* implemented envelope signing therefore cannot drive the agent at all, which
|
|
54
|
+
* is the intended behaviour — the alternative (defaulting to "accept unsigned")
|
|
55
|
+
* preserves the C-04 vulnerability for every existing deployment.
|
|
56
|
+
*/
|
|
57
|
+
export declare const ENVELOPE_MAC_REQUIRED_DEFAULT = true;
|
|
58
|
+
/** HKDF suite used to turn a data-channel token into an envelope MAC key. */
|
|
59
|
+
export declare const ENVELOPE_MAC_KDF: {
|
|
60
|
+
readonly digest: "sha256";
|
|
61
|
+
readonly saltLabel: "sw-agent/v1/envelope-mac/salt";
|
|
62
|
+
readonly infoLabel: "sw-agent/v1/envelope-mac/info";
|
|
63
|
+
readonly keyBytes: 32;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Anti-replay nonces are opaque to the connector; it only requires them to be
|
|
67
|
+
* unique per session and unguessable enough not to collide across sessions.
|
|
68
|
+
*/
|
|
69
|
+
export declare const ENVELOPE_NONCE_PATTERN: RegExp;
|
|
70
|
+
/** Approval nonces are 32 random bytes, lowercase hex. */
|
|
71
|
+
export declare const APPROVAL_NONCE_PATTERN: RegExp;
|
|
72
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/protocol/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAuCX,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CA8BT,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAE/D,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,QAAmB,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APPROVAL_NONCE_PATTERN = exports.ENVELOPE_NONCE_PATTERN = exports.ENVELOPE_MAC_KDF = exports.ENVELOPE_MAC_REQUIRED_DEFAULT = exports.APPROVAL_TIMEOUT_ENV_VAR = exports.LIMITS = exports.DEFAULTS = exports.PROTOCOL_VERSION = void 0;
|
|
4
|
+
exports.PROTOCOL_VERSION = 1;
|
|
5
|
+
exports.DEFAULTS = {
|
|
6
|
+
QUERY_TIMEOUT_MS: 30_000, // 30s default for one-shot queries
|
|
7
|
+
MIGRATION_TIMEOUT_MS: 1_800_000, // 30 min default for migrations
|
|
8
|
+
STREAM_CHUNK_ROWS: 100, // chunk if 100 rows collected
|
|
9
|
+
STREAM_CHUNK_BYTES: 65_536, // chunk if 64KB collected
|
|
10
|
+
STREAM_CHUNK_MS: 100, // chunk if 100ms elapsed
|
|
11
|
+
MAX_QUERY_ROWS: 10_000, // hard cap for non-streaming query
|
|
12
|
+
MAX_STREAM_ROWS: 1_000_000, // hard cap for streaming query
|
|
13
|
+
MAX_CELL_BYTES: 1_048_576, // 1MB per cell (larger = truncated)
|
|
14
|
+
// SINGLE SOURCE OF TRUTH for the manual-approval window. The value enforced by
|
|
15
|
+
// `ManualApprovalHandler` and the `expires_at` it advertises to the browser are
|
|
16
|
+
// both derived from this (see `resolveApprovalTimeoutMs` in
|
|
17
|
+
// permissions/manual-approval.ts); an operator override is clamped into
|
|
18
|
+
// [LIMITS.APPROVAL_TIMEOUT_MIN_MS, LIMITS.APPROVAL_TIMEOUT_MAX_MS].
|
|
19
|
+
APPROVAL_TIMEOUT_MS: 60_000, // manual approval: 60s timeout
|
|
20
|
+
IDLE_WSS_TIMEOUT_MS: 60_000, // close WSS after 60s idle
|
|
21
|
+
WAKE_KEEPALIVE_MS: 300_000, // SSE keepalive every 5 min
|
|
22
|
+
RECONNECT_BACKOFF_MS: [1_000, 2_000, 4_000, 8_000, 16_000, 32_000, 60_000],
|
|
23
|
+
ORPHAN_REQUEST_TIMEOUT_MS: 300_000, // 5 min: kill query if no reconnect
|
|
24
|
+
// Absolute clock skew tolerated on an inbound envelope's `ts`. Wide enough to
|
|
25
|
+
// absorb relay latency and browser clock drift, narrow enough that a captured
|
|
26
|
+
// frame is useless minutes later.
|
|
27
|
+
ENVELOPE_MAX_CLOCK_SKEW_MS: 120_000, // 2 min
|
|
28
|
+
// Age of an SSE wake event, measured from `queued_at`. A captured event replayed
|
|
29
|
+
// after this window is rejected regardless of what token it carries.
|
|
30
|
+
WAKE_MAX_EVENT_AGE_MS: 120_000, // 2 min
|
|
31
|
+
// Clock skew tolerated on a wake event's `queued_at` and
|
|
32
|
+
// `data_channel_token_expires_at`, both of which are stamped by the cloud.
|
|
33
|
+
WAKE_CLOCK_SKEW_MS: 30_000, // 30s
|
|
34
|
+
// Minimum remaining life a data-channel token must have for the wake event to
|
|
35
|
+
// be accepted at all; the data channel applies its own margin before dialling.
|
|
36
|
+
WAKE_MIN_TOKEN_LIFE_MS: 5_000, // 5s
|
|
37
|
+
// Session churn (audit M-15): a wake event that replaces the active browser
|
|
38
|
+
// session is refused while the current one is healthy, and any session change
|
|
39
|
+
// closer together than this is refused outright.
|
|
40
|
+
SESSION_CHANGE_COOLDOWN_MS: 2_000, // 2s
|
|
41
|
+
// …and at most this many session changes inside any one window.
|
|
42
|
+
SESSION_CHANGE_WINDOW_MS: 300_000, // 5 min
|
|
43
|
+
SESSION_CHANGE_MAX_PER_WINDOW: 100,
|
|
44
|
+
};
|
|
45
|
+
exports.LIMITS = {
|
|
46
|
+
MAX_STATEMENT_COUNT_PER_MIGRATION: 500,
|
|
47
|
+
// Protocol-level invariant for a single `query`/`stream_query` payload.
|
|
48
|
+
// PostgreSQL's simple query protocol executes every semicolon-separated
|
|
49
|
+
// statement in one round trip, so anything above 1 is a parser differential.
|
|
50
|
+
MAX_STATEMENT_COUNT_PER_QUERY: 1,
|
|
51
|
+
MAX_STATEMENT_LENGTH: 1_048_576, // 1MB per SQL statement
|
|
52
|
+
MAX_PAYLOAD_BYTES: 16_777_216, // 16MB per message (envelope + payload)
|
|
53
|
+
ID_MAX_LENGTH: 64,
|
|
54
|
+
PROJECT_MAX_LENGTH: 64,
|
|
55
|
+
ALIAS_MAX_LENGTH: 64,
|
|
56
|
+
ENVELOPE_NONCE_MIN_LENGTH: 16,
|
|
57
|
+
ENVELOPE_NONCE_MAX_LENGTH: 64,
|
|
58
|
+
// 32 bytes of HMAC-SHA256, hex encoded.
|
|
59
|
+
ENVELOPE_MAC_HEX_LENGTH: 64,
|
|
60
|
+
// Bounded replay cache. Oldest nonce is evicted first once the cache is full,
|
|
61
|
+
// so a flood cannot grow memory without bound (eviction can only re-admit an
|
|
62
|
+
// evicted nonce, and the freshness window bounds the value of doing so).
|
|
63
|
+
REPLAY_CACHE_MAX_ENTRIES: 8_192,
|
|
64
|
+
// Bounded wake_id replay cache (audit M-14). Oldest id is evicted first. This is
|
|
65
|
+
// a DoS control in its own right: an unbounded Set of cloud-supplied ids would
|
|
66
|
+
// be an unbounded memory sink on a stream the agent cannot authenticate the
|
|
67
|
+
// producer of. Eviction can only re-admit an id whose token has already
|
|
68
|
+
// expired, so the token check is the backstop, not this cache.
|
|
69
|
+
WAKE_REPLAY_CACHE_MAX_ENTRIES: 1_024,
|
|
70
|
+
// Bounds on the clamped manual-approval timeout override.
|
|
71
|
+
APPROVAL_TIMEOUT_MIN_MS: 5_000, // 5s
|
|
72
|
+
APPROVAL_TIMEOUT_MAX_MS: 900_000, // 15 min
|
|
73
|
+
// crypto.randomBytes(32).toString('hex')
|
|
74
|
+
APPROVAL_NONCE_HEX_LENGTH: 64,
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* The only environment variable that may change the manual-approval window.
|
|
78
|
+
*
|
|
79
|
+
* Declared here so the daemon's env allow-list (src/cli/daemon/state.ts) and the
|
|
80
|
+
* resolver that enforces it cannot drift; the resolver clamps whatever it reads
|
|
81
|
+
* into LIMITS.APPROVAL_TIMEOUT_MIN_MS..LIMITS.APPROVAL_TIMEOUT_MAX_MS.
|
|
82
|
+
*/
|
|
83
|
+
exports.APPROVAL_TIMEOUT_ENV_VAR = 'SW_AGENT_MANUAL_APPROVAL_TIMEOUT_MS';
|
|
84
|
+
/**
|
|
85
|
+
* Whether a per-session MAC is mandatory on inbound envelopes.
|
|
86
|
+
*
|
|
87
|
+
* Fail closed: an envelope with no MAC is rejected. A relay that has not yet
|
|
88
|
+
* implemented envelope signing therefore cannot drive the agent at all, which
|
|
89
|
+
* is the intended behaviour — the alternative (defaulting to "accept unsigned")
|
|
90
|
+
* preserves the C-04 vulnerability for every existing deployment.
|
|
91
|
+
*/
|
|
92
|
+
exports.ENVELOPE_MAC_REQUIRED_DEFAULT = true;
|
|
93
|
+
/** HKDF suite used to turn a data-channel token into an envelope MAC key. */
|
|
94
|
+
exports.ENVELOPE_MAC_KDF = {
|
|
95
|
+
digest: 'sha256',
|
|
96
|
+
saltLabel: 'sw-agent/v1/envelope-mac/salt',
|
|
97
|
+
infoLabel: 'sw-agent/v1/envelope-mac/info',
|
|
98
|
+
keyBytes: 32,
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Anti-replay nonces are opaque to the connector; it only requires them to be
|
|
102
|
+
* unique per session and unguessable enough not to collide across sessions.
|
|
103
|
+
*/
|
|
104
|
+
exports.ENVELOPE_NONCE_PATTERN = /^[A-Za-z0-9_-]{16,64}$/;
|
|
105
|
+
/** Approval nonces are 32 random bytes, lowercase hex. */
|
|
106
|
+
exports.APPROVAL_NONCE_PATTERN = /^[0-9a-f]{64}$/;
|
|
107
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/protocol/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,CAAU,CAAC;AAE9B,QAAA,QAAQ,GAAG;IACtB,gBAAgB,EAAE,MAAM,EAAY,mCAAmC;IACvE,oBAAoB,EAAE,SAAS,EAAK,gCAAgC;IACpE,iBAAiB,EAAE,GAAG,EAAc,8BAA8B;IAClE,kBAAkB,EAAE,MAAM,EAAU,0BAA0B;IAC9D,eAAe,EAAE,GAAG,EAAgB,yBAAyB;IAC7D,cAAc,EAAE,MAAM,EAAc,mCAAmC;IACvE,eAAe,EAAE,SAAS,EAAU,+BAA+B;IACnE,cAAc,EAAE,SAAS,EAAW,oCAAoC;IACxE,+EAA+E;IAC/E,gFAAgF;IAChF,4DAA4D;IAC5D,wEAAwE;IACxE,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,EAAS,+BAA+B;IACnE,mBAAmB,EAAE,MAAM,EAAS,2BAA2B;IAC/D,iBAAiB,EAAE,OAAO,EAAU,4BAA4B;IAChE,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1E,yBAAyB,EAAE,OAAO,EAAE,oCAAoC;IACxE,8EAA8E;IAC9E,8EAA8E;IAC9E,kCAAkC;IAClC,0BAA0B,EAAE,OAAO,EAAE,QAAQ;IAC7C,iFAAiF;IACjF,qEAAqE;IACrE,qBAAqB,EAAE,OAAO,EAAM,QAAQ;IAC5C,yDAAyD;IACzD,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,EAAU,MAAM;IAC1C,8EAA8E;IAC9E,+EAA+E;IAC/E,sBAAsB,EAAE,KAAK,EAAO,KAAK;IACzC,4EAA4E;IAC5E,8EAA8E;IAC9E,iDAAiD;IACjD,0BAA0B,EAAE,KAAK,EAAG,KAAK;IACzC,gEAAgE;IAChE,wBAAwB,EAAE,OAAO,EAAG,QAAQ;IAC5C,6BAA6B,EAAE,GAAG;CAC1B,CAAC;AAEE,QAAA,MAAM,GAAG;IACpB,iCAAiC,EAAE,GAAG;IACtC,wEAAwE;IACxE,wEAAwE;IACxE,6EAA6E;IAC7E,6BAA6B,EAAE,CAAC;IAChC,oBAAoB,EAAE,SAAS,EAAK,wBAAwB;IAC5D,iBAAiB,EAAE,UAAU,EAAO,wCAAwC;IAC5E,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,EAAE;IACtB,gBAAgB,EAAE,EAAE;IACpB,yBAAyB,EAAE,EAAE;IAC7B,yBAAyB,EAAE,EAAE;IAC7B,wCAAwC;IACxC,uBAAuB,EAAE,EAAE;IAC3B,8EAA8E;IAC9E,6EAA6E;IAC7E,yEAAyE;IACzE,wBAAwB,EAAE,KAAK;IAC/B,iFAAiF;IACjF,+EAA+E;IAC/E,4EAA4E;IAC5E,wEAAwE;IACxE,+DAA+D;IAC/D,6BAA6B,EAAE,KAAK;IACpC,0DAA0D;IAC1D,uBAAuB,EAAE,KAAK,EAAM,KAAK;IACzC,uBAAuB,EAAE,OAAO,EAAI,SAAS;IAC7C,yCAAyC;IACzC,yBAAyB,EAAE,EAAE;CACrB,CAAC;AAEX;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG,qCAAqC,CAAC;AAE9E;;;;;;;GAOG;AACU,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAElD,6EAA6E;AAChE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,+BAA+B;IAC1C,SAAS,EAAE,+BAA+B;IAC1C,QAAQ,EAAE,EAAE;CACJ,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,0DAA0D;AAC7C,QAAA,sBAAsB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { PROTOCOL_VERSION } from './constants';
|
|
2
|
+
export declare const PROTOCOL_VERSION_V1: 1;
|
|
3
|
+
export type ProtocolVersion = typeof PROTOCOL_VERSION;
|
|
4
|
+
/**
|
|
5
|
+
* Canonical list of RBAC roles. The `Role` type is derived from this tuple so
|
|
6
|
+
* the runtime allow-list and the compile-time union cannot drift apart.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ROLES: readonly ["admin", "developer", "data_reader", "viewer"];
|
|
9
|
+
export type Role = (typeof ROLES)[number];
|
|
10
|
+
export declare function isRole(value: unknown): value is Role;
|
|
11
|
+
/**
|
|
12
|
+
* Canonical list of message types. `MessageType` is derived from this tuple;
|
|
13
|
+
* `validateEnvelope` gates on the same array.
|
|
14
|
+
*/
|
|
15
|
+
export declare const MESSAGE_TYPES: readonly ["ping", "introspect", "query", "stream_query", "migration_run", "cancel", "response", "error", "stream_chunk", "stream_end", "event"];
|
|
16
|
+
export type MessageType = (typeof MESSAGE_TYPES)[number];
|
|
17
|
+
/**
|
|
18
|
+
* Canonical list of event kinds. `EventKind` is derived from this tuple, so an
|
|
19
|
+
* event kind that is not in this array cannot be validated and an array entry
|
|
20
|
+
* that is not a legal kind is a compile error.
|
|
21
|
+
*/
|
|
22
|
+
export declare const EVENT_KINDS: readonly ["status_change", "migration_progress", "approval_required", "approval_response", "warning", "resume_request", "plan_register"];
|
|
23
|
+
export type EventKind = (typeof EVENT_KINDS)[number];
|
|
24
|
+
export type MigrationStatementStatus = 'pending' | 'running' | 'success' | 'failed' | 'rolled_back';
|
|
25
|
+
/**
|
|
26
|
+
* The security-relevant envelope fields covered by the per-session MAC, in
|
|
27
|
+
* canonical (sorted) order: db_alias, id, nonce, payload, project, ts, type, user, v.
|
|
28
|
+
*
|
|
29
|
+
* `canonicalEnvelopeJson` in fact covers *every* top-level field except `mac`,
|
|
30
|
+
* so a relay cannot smuggle an unsigned field past verification; this constant
|
|
31
|
+
* documents the minimum contract a compatible implementation must satisfy.
|
|
32
|
+
*/
|
|
33
|
+
export declare const MAC_SIGNED_ENVELOPE_FIELDS: readonly ["v", "id", "type", "project", "user", "db_alias", "ts", "nonce", "payload"];
|
|
34
|
+
/**
|
|
35
|
+
* Single envelope format for every message between browser <-> cloud <-> agent.
|
|
36
|
+
* Every WebSocket frame contains exactly one AgentMessage serialized as UTF-8 JSON.
|
|
37
|
+
*/
|
|
38
|
+
export interface AgentMessage<T = unknown> {
|
|
39
|
+
/** Protocol version. Must equal 1. */
|
|
40
|
+
v: ProtocolVersion;
|
|
41
|
+
/** UUID v4. Generated by sender. Used for request/response correlation + cancellation. */
|
|
42
|
+
id: string;
|
|
43
|
+
/** Message type. Determines payload shape. */
|
|
44
|
+
type: MessageType;
|
|
45
|
+
/** Project name. Must match a project_name in databases.config.json. */
|
|
46
|
+
project: string;
|
|
47
|
+
/**
|
|
48
|
+
* Acting user, as asserted by the relay.
|
|
49
|
+
*
|
|
50
|
+
* This is a CLAIM, not a verified fact: nothing in a self-declared `role` is
|
|
51
|
+
* trustworthy on its own. It is only acted upon after
|
|
52
|
+
* `InboundEnvelopeGuard` (protocol/validate.ts) has verified the per-session
|
|
53
|
+
* MAC over this whole envelope, checked `ts` freshness, rejected a replayed
|
|
54
|
+
* `nonce`, and confirmed `role` is one of the roles the cloud negotiated when
|
|
55
|
+
* this data-channel session was created.
|
|
56
|
+
*/
|
|
57
|
+
user: {
|
|
58
|
+
id: string;
|
|
59
|
+
role: Role;
|
|
60
|
+
/** Actual human initiator when the request is relayed for a team-shared
|
|
61
|
+
* agent (equals id when the owner sends it). Optional; informational. */
|
|
62
|
+
actor_id?: string;
|
|
63
|
+
};
|
|
64
|
+
/** DB alias. Must match a db_alias in databases.config.json. */
|
|
65
|
+
db_alias: string;
|
|
66
|
+
/** Epoch milliseconds. Sender's clock. Used for audit + ordering. */
|
|
67
|
+
ts: number;
|
|
68
|
+
/**
|
|
69
|
+
* Anti-replay nonce, unique per message within a data-channel session.
|
|
70
|
+
* Required on every inbound envelope (see InboundEnvelopeGuard). Optional on
|
|
71
|
+
* outbound envelopes, which the agent does not sign: it holds no key the relay
|
|
72
|
+
* could verify with.
|
|
73
|
+
*/
|
|
74
|
+
nonce?: string;
|
|
75
|
+
/**
|
|
76
|
+
* `HMAC-SHA256(session_mac_key, canonicalEnvelopeJson(envelope))` in lowercase
|
|
77
|
+
* hex, where the key is HKDF-derived from the data-channel token. The connector
|
|
78
|
+
* rejects any inbound envelope whose MAC is absent (when required) or does not
|
|
79
|
+
* verify. Absent on envelopes the agent emits.
|
|
80
|
+
*/
|
|
81
|
+
mac?: string;
|
|
82
|
+
/** Type-specific payload. See messages.ts. */
|
|
83
|
+
payload: T;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Deterministic JSON serialization: object keys sorted by UTF-16 code unit at
|
|
87
|
+
* every depth, `undefined` object members dropped, arrays preserved in order.
|
|
88
|
+
*
|
|
89
|
+
* `JSON.stringify` cannot be used directly because its key order is insertion
|
|
90
|
+
* order, which the relay and the agent need not agree on. Any value that cannot
|
|
91
|
+
* be represented unambiguously (functions, symbols, bigint, NaN, Infinity,
|
|
92
|
+
* cycles, non-plain objects) throws rather than being silently coerced.
|
|
93
|
+
*/
|
|
94
|
+
export declare function canonicalJson(value: unknown): string;
|
|
95
|
+
/**
|
|
96
|
+
* Canonical serialization of an envelope, i.e. the exact byte string the MAC is
|
|
97
|
+
* computed over. Covers every top-level field except `mac` itself, sorted
|
|
98
|
+
* deterministically at every depth.
|
|
99
|
+
*/
|
|
100
|
+
export declare function canonicalEnvelopeJson(msg: AgentMessage<unknown> | Record<string, unknown>): string;
|
|
101
|
+
/**
|
|
102
|
+
* Derive the per-session envelope MAC key from the data-channel token.
|
|
103
|
+
*
|
|
104
|
+
* The data-channel token is already a secret shared by exactly one relay
|
|
105
|
+
* session; HKDF turns it into a key whose only purpose is envelope
|
|
106
|
+
* authentication, bound to the agent id and browser session so a key cannot be
|
|
107
|
+
* reused across sessions even if a relay ever re-issued the same token.
|
|
108
|
+
*/
|
|
109
|
+
export declare function deriveSessionMacKey(opts: {
|
|
110
|
+
dataChannelToken: string;
|
|
111
|
+
agentId: string;
|
|
112
|
+
browserSessionId: string;
|
|
113
|
+
}): Buffer;
|
|
114
|
+
/** Lowercase hex HMAC-SHA256 of the canonical envelope. */
|
|
115
|
+
export declare function computeEnvelopeMac(macKey: Buffer, msg: AgentMessage<unknown> | Record<string, unknown>): string;
|
|
116
|
+
/**
|
|
117
|
+
* Return a copy of `msg` carrying its MAC. `nonce` is taken from the message
|
|
118
|
+
* when present; callers building a fresh outbound envelope should set one first
|
|
119
|
+
* (see `newEnvelopeNonce`).
|
|
120
|
+
*/
|
|
121
|
+
export declare function signEnvelope<T>(macKey: Buffer, msg: AgentMessage<T>): AgentMessage<T>;
|
|
122
|
+
/**
|
|
123
|
+
* Constant-time MAC check. Returns false for a missing, malformed, or
|
|
124
|
+
* non-matching MAC; never throws.
|
|
125
|
+
*/
|
|
126
|
+
export declare function verifyEnvelopeMac(macKey: Buffer, msg: AgentMessage<unknown> | Record<string, unknown>): boolean;
|
|
127
|
+
/** Fresh anti-replay nonce (base64url, 24 random bytes). */
|
|
128
|
+
export declare function newEnvelopeNonce(): string;
|
|
129
|
+
/** True when `nonce` is a syntactically valid envelope nonce. */
|
|
130
|
+
export declare function isValidEnvelopeNonce(nonce: unknown): nonce is string;
|
|
131
|
+
/**
|
|
132
|
+
* Highest role a relay may assert for a data-channel session when the operator
|
|
133
|
+
* has configured no ceiling.
|
|
134
|
+
*
|
|
135
|
+
* the key `security.max_negotiable_role` exists in machine config and
|
|
136
|
+
* this constant was the only place it could have been honoured, yet the default
|
|
137
|
+
* was `'admin'` — the maximum. That made the ceiling inert: a compromised relay
|
|
138
|
+
* could assert `admin` and nothing local could stop it. `'developer'` is the
|
|
139
|
+
* default instead, so a deployment that never thought about the key still gets a
|
|
140
|
+
* bound, and an install that genuinely needs `admin` must say so explicitly in
|
|
141
|
+
* machine config (which is logged loudly at startup, and reported by
|
|
142
|
+
* `sw-agent status`).
|
|
143
|
+
*
|
|
144
|
+
* `developer` rather than `data_reader`/`viewer` because `developer` is the
|
|
145
|
+
* least-privileged role that can actually do the product's work (run
|
|
146
|
+
* migrations); a stricter default would break every existing install outright
|
|
147
|
+
* rather than narrowing it.
|
|
148
|
+
*/
|
|
149
|
+
export declare const ENVELOPE_MAX_NEGOTIABLE_ROLE_DEFAULT: Role;
|
|
150
|
+
/**
|
|
151
|
+
* Helper: create a message with sensible defaults.
|
|
152
|
+
* Useful for tests and for agent's own message construction.
|
|
153
|
+
*/
|
|
154
|
+
export declare function createMessage<T>(type: MessageType, opts: {
|
|
155
|
+
id?: string;
|
|
156
|
+
project: string;
|
|
157
|
+
user: {
|
|
158
|
+
id: string;
|
|
159
|
+
role: Role;
|
|
160
|
+
};
|
|
161
|
+
db_alias: string;
|
|
162
|
+
payload: T;
|
|
163
|
+
nonce?: string;
|
|
164
|
+
}): AgentMessage<T>;
|
|
165
|
+
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../src/protocol/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjG,eAAO,MAAM,mBAAmB,GAAmB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,KAAK,0DAA2D,CAAC;AAE9E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,iJAYhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,WAAW,0IAQd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpG;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,uFAU7B,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,sCAAsC;IACtC,CAAC,EAAE,eAAe,CAAC;IAEnB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,IAAI,EAAE,WAAW,CAAC;IAElB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;IACH,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,IAAI,CAAC;QACX;kFAC0E;QAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IAEjB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8CAA8C;IAC9C,OAAO,EAAE,CAAC,CAAC;CACZ;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAmDD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAaR;AAMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,MAAM,CAsBT;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAKrF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,OAAO,CAkBT;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAOpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oCAAoC,EAAE,IAAkB,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,YAAY,CAAC,CAAC,CAAC,CAejB"}
|