@weave-kit/engine 0.1.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/LICENSE +21 -0
- package/README.md +108 -0
- package/dist/adapters/auth/index.d.ts +14 -0
- package/dist/adapters/auth/index.d.ts.map +1 -0
- package/dist/adapters/auth/index.js +21 -0
- package/dist/adapters/auth/index.js.map +1 -0
- package/dist/adapters/auth/source.d.ts +24 -0
- package/dist/adapters/auth/source.d.ts.map +1 -0
- package/dist/adapters/auth/source.js +19 -0
- package/dist/adapters/auth/source.js.map +1 -0
- package/dist/adapters/events/index.d.ts +41 -0
- package/dist/adapters/events/index.d.ts.map +1 -0
- package/dist/adapters/events/index.js +70 -0
- package/dist/adapters/events/index.js.map +1 -0
- package/dist/adapters/events/stream.d.ts +29 -0
- package/dist/adapters/events/stream.d.ts.map +1 -0
- package/dist/adapters/events/stream.js +67 -0
- package/dist/adapters/events/stream.js.map +1 -0
- package/dist/adapters/mcp/generate.d.ts +21 -0
- package/dist/adapters/mcp/generate.d.ts.map +1 -0
- package/dist/adapters/mcp/generate.js +287 -0
- package/dist/adapters/mcp/generate.js.map +1 -0
- package/dist/adapters/mcp/guardrails.d.ts +39 -0
- package/dist/adapters/mcp/guardrails.d.ts.map +1 -0
- package/dist/adapters/mcp/guardrails.js +45 -0
- package/dist/adapters/mcp/guardrails.js.map +1 -0
- package/dist/adapters/mcp/http.d.ts +32 -0
- package/dist/adapters/mcp/http.d.ts.map +1 -0
- package/dist/adapters/mcp/http.js +206 -0
- package/dist/adapters/mcp/http.js.map +1 -0
- package/dist/adapters/mcp/index.d.ts +78 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -0
- package/dist/adapters/mcp/index.js +46 -0
- package/dist/adapters/mcp/index.js.map +1 -0
- package/dist/adapters/mcp/introspection.d.ts +4 -0
- package/dist/adapters/mcp/introspection.d.ts.map +1 -0
- package/dist/adapters/mcp/introspection.js +20 -0
- package/dist/adapters/mcp/introspection.js.map +1 -0
- package/dist/adapters/mcp/session.d.ts +46 -0
- package/dist/adapters/mcp/session.d.ts.map +1 -0
- package/dist/adapters/mcp/session.js +43 -0
- package/dist/adapters/mcp/session.js.map +1 -0
- package/dist/adapters/mcp/tools.d.ts +8 -0
- package/dist/adapters/mcp/tools.d.ts.map +1 -0
- package/dist/adapters/mcp/tools.js +149 -0
- package/dist/adapters/mcp/tools.js.map +1 -0
- package/dist/adapters/mcp/types.d.ts +46 -0
- package/dist/adapters/mcp/types.d.ts.map +1 -0
- package/dist/adapters/mcp/types.js +3 -0
- package/dist/adapters/mcp/types.js.map +1 -0
- package/dist/adapters/ops/index.d.ts +20 -0
- package/dist/adapters/ops/index.d.ts.map +1 -0
- package/dist/adapters/ops/index.js +20 -0
- package/dist/adapters/ops/index.js.map +1 -0
- package/dist/adapters/rest/approvals.d.ts +15 -0
- package/dist/adapters/rest/approvals.d.ts.map +1 -0
- package/dist/adapters/rest/approvals.js +83 -0
- package/dist/adapters/rest/approvals.js.map +1 -0
- package/dist/adapters/rest/audit.d.ts +15 -0
- package/dist/adapters/rest/audit.d.ts.map +1 -0
- package/dist/adapters/rest/audit.js +81 -0
- package/dist/adapters/rest/audit.js.map +1 -0
- package/dist/adapters/rest/common.d.ts +30 -0
- package/dist/adapters/rest/common.d.ts.map +1 -0
- package/dist/adapters/rest/common.js +62 -0
- package/dist/adapters/rest/common.js.map +1 -0
- package/dist/adapters/rest/errorHandler.d.ts +9 -0
- package/dist/adapters/rest/errorHandler.d.ts.map +1 -0
- package/dist/adapters/rest/errorHandler.js +18 -0
- package/dist/adapters/rest/errorHandler.js.map +1 -0
- package/dist/adapters/rest/guardrails.d.ts +22 -0
- package/dist/adapters/rest/guardrails.d.ts.map +1 -0
- package/dist/adapters/rest/guardrails.js +77 -0
- package/dist/adapters/rest/guardrails.js.map +1 -0
- package/dist/adapters/rest/identities.d.ts +20 -0
- package/dist/adapters/rest/identities.d.ts.map +1 -0
- package/dist/adapters/rest/identities.js +27 -0
- package/dist/adapters/rest/identities.js.map +1 -0
- package/dist/adapters/rest/index.d.ts +17 -0
- package/dist/adapters/rest/index.d.ts.map +1 -0
- package/dist/adapters/rest/index.js +14 -0
- package/dist/adapters/rest/index.js.map +1 -0
- package/dist/adapters/rest/ingress.d.ts +13 -0
- package/dist/adapters/rest/ingress.d.ts.map +1 -0
- package/dist/adapters/rest/ingress.js +49 -0
- package/dist/adapters/rest/ingress.js.map +1 -0
- package/dist/adapters/rest/metadata.d.ts +11 -0
- package/dist/adapters/rest/metadata.d.ts.map +1 -0
- package/dist/adapters/rest/metadata.js +32 -0
- package/dist/adapters/rest/metadata.js.map +1 -0
- package/dist/adapters/rest/pages.d.ts +15 -0
- package/dist/adapters/rest/pages.d.ts.map +1 -0
- package/dist/adapters/rest/pages.js +241 -0
- package/dist/adapters/rest/pages.js.map +1 -0
- package/dist/adapters/rest/permissions.d.ts +11 -0
- package/dist/adapters/rest/permissions.d.ts.map +1 -0
- package/dist/adapters/rest/permissions.js +20 -0
- package/dist/adapters/rest/permissions.js.map +1 -0
- package/dist/adapters/rest/plugin.d.ts +42 -0
- package/dist/adapters/rest/plugin.d.ts.map +1 -0
- package/dist/adapters/rest/plugin.js +199 -0
- package/dist/adapters/rest/plugin.js.map +1 -0
- package/dist/adapters/rest/proxy.d.ts +27 -0
- package/dist/adapters/rest/proxy.d.ts.map +1 -0
- package/dist/adapters/rest/proxy.js +149 -0
- package/dist/adapters/rest/proxy.js.map +1 -0
- package/dist/adapters/rest/schemas.d.ts +15 -0
- package/dist/adapters/rest/schemas.d.ts.map +1 -0
- package/dist/adapters/rest/schemas.js +59 -0
- package/dist/adapters/rest/schemas.js.map +1 -0
- package/dist/adapters/rest/scripts.d.ts +14 -0
- package/dist/adapters/rest/scripts.d.ts.map +1 -0
- package/dist/adapters/rest/scripts.js +65 -0
- package/dist/adapters/rest/scripts.js.map +1 -0
- package/dist/cli/commands/build.d.ts +4 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +56 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/connect.d.ts +22 -0
- package/dist/cli/commands/connect.d.ts.map +1 -0
- package/dist/cli/commands/connect.js +37 -0
- package/dist/cli/commands/connect.js.map +1 -0
- package/dist/cli/commands/default-view.d.ts +41 -0
- package/dist/cli/commands/default-view.d.ts.map +1 -0
- package/dist/cli/commands/default-view.js +114 -0
- package/dist/cli/commands/default-view.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +4 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +251 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/field-add.d.ts +8 -0
- package/dist/cli/commands/field-add.d.ts.map +1 -0
- package/dist/cli/commands/field-add.js +117 -0
- package/dist/cli/commands/field-add.js.map +1 -0
- package/dist/cli/commands/introspect.d.ts +8 -0
- package/dist/cli/commands/introspect.d.ts.map +1 -0
- package/dist/cli/commands/introspect.js +102 -0
- package/dist/cli/commands/introspect.js.map +1 -0
- package/dist/cli/commands/mcp-config.d.ts +9 -0
- package/dist/cli/commands/mcp-config.d.ts.map +1 -0
- package/dist/cli/commands/mcp-config.js +45 -0
- package/dist/cli/commands/mcp-config.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +4 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +75 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/module.d.ts +12 -0
- package/dist/cli/commands/module.d.ts.map +1 -0
- package/dist/cli/commands/module.js +93 -0
- package/dist/cli/commands/module.js.map +1 -0
- package/dist/cli/commands/object-create.d.ts +11 -0
- package/dist/cli/commands/object-create.d.ts.map +1 -0
- package/dist/cli/commands/object-create.js +214 -0
- package/dist/cli/commands/object-create.js.map +1 -0
- package/dist/cli/commands/pages-migrate.d.ts +13 -0
- package/dist/cli/commands/pages-migrate.d.ts.map +1 -0
- package/dist/cli/commands/pages-migrate.js +132 -0
- package/dist/cli/commands/pages-migrate.js.map +1 -0
- package/dist/cli/commands/schema-map.d.ts +8 -0
- package/dist/cli/commands/schema-map.d.ts.map +1 -0
- package/dist/cli/commands/schema-map.js +133 -0
- package/dist/cli/commands/schema-map.js.map +1 -0
- package/dist/cli/commands/schema-upgrade.d.ts +10 -0
- package/dist/cli/commands/schema-upgrade.d.ts.map +1 -0
- package/dist/cli/commands/schema-upgrade.js +101 -0
- package/dist/cli/commands/schema-upgrade.js.map +1 -0
- package/dist/cli/commands/test.d.ts +4 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js +17 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/commands/types.d.ts +4 -0
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/commands/types.js +21 -0
- package/dist/cli/commands/types.js.map +1 -0
- package/dist/cli/env.d.ts +8 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +31 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/exec.d.ts +8 -0
- package/dist/cli/exec.d.ts.map +1 -0
- package/dist/cli/exec.js +14 -0
- package/dist/cli/exec.js.map +1 -0
- package/dist/cli/facts.d.ts +7 -0
- package/dist/cli/facts.d.ts.map +1 -0
- package/dist/cli/facts.js +12 -0
- package/dist/cli/facts.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +198 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/load-config.d.ts +12 -0
- package/dist/cli/load-config.d.ts.map +1 -0
- package/dist/cli/load-config.js +40 -0
- package/dist/cli/load-config.js.map +1 -0
- package/dist/cli/mcp-config-snippets.d.ts +33 -0
- package/dist/cli/mcp-config-snippets.d.ts.map +1 -0
- package/dist/cli/mcp-config-snippets.js +54 -0
- package/dist/cli/mcp-config-snippets.js.map +1 -0
- package/dist/cli/ready-screen.d.ts +47 -0
- package/dist/cli/ready-screen.d.ts.map +1 -0
- package/dist/cli/ready-screen.js +71 -0
- package/dist/cli/ready-screen.js.map +1 -0
- package/dist/cli/render.d.ts +27 -0
- package/dist/cli/render.d.ts.map +1 -0
- package/dist/cli/render.js +54 -0
- package/dist/cli/render.js.map +1 -0
- package/dist/cli/scaffold.d.ts +20 -0
- package/dist/cli/scaffold.d.ts.map +1 -0
- package/dist/cli/scaffold.js +204 -0
- package/dist/cli/scaffold.js.map +1 -0
- package/dist/cli/types/commands.d.ts +102 -0
- package/dist/cli/types/commands.d.ts.map +1 -0
- package/dist/cli/types/commands.js +2 -0
- package/dist/cli/types/commands.js.map +1 -0
- package/dist/cli/types/index.d.ts +4 -0
- package/dist/cli/types/index.d.ts.map +1 -0
- package/dist/cli/types/index.js +2 -0
- package/dist/cli/types/index.js.map +1 -0
- package/dist/cli/types/values.d.ts +33 -0
- package/dist/cli/types/values.d.ts.map +1 -0
- package/dist/cli/types/values.js +31 -0
- package/dist/cli/types/values.js.map +1 -0
- package/dist/core/api/error.d.ts +10 -0
- package/dist/core/api/error.d.ts.map +1 -0
- package/dist/core/api/error.js +74 -0
- package/dist/core/api/error.js.map +1 -0
- package/dist/core/api/index.d.ts +4 -0
- package/dist/core/api/index.d.ts.map +1 -0
- package/dist/core/api/index.js +3 -0
- package/dist/core/api/index.js.map +1 -0
- package/dist/core/api/params.d.ts +10 -0
- package/dist/core/api/params.d.ts.map +1 -0
- package/dist/core/api/params.js +84 -0
- package/dist/core/api/params.js.map +1 -0
- package/dist/core/api/types.d.ts +40 -0
- package/dist/core/api/types.d.ts.map +1 -0
- package/dist/core/api/types.js +7 -0
- package/dist/core/api/types.js.map +1 -0
- package/dist/core/audit/index.d.ts +3 -0
- package/dist/core/audit/index.d.ts.map +1 -0
- package/dist/core/audit/index.js +2 -0
- package/dist/core/audit/index.js.map +1 -0
- package/dist/core/audit/types.d.ts +109 -0
- package/dist/core/audit/types.d.ts.map +1 -0
- package/dist/core/audit/types.js +39 -0
- package/dist/core/audit/types.js.map +1 -0
- package/dist/core/formula/ast.d.ts +54 -0
- package/dist/core/formula/ast.d.ts.map +1 -0
- package/dist/core/formula/ast.js +2 -0
- package/dist/core/formula/ast.js.map +1 -0
- package/dist/core/formula/errors.d.ts +12 -0
- package/dist/core/formula/errors.d.ts.map +1 -0
- package/dist/core/formula/errors.js +21 -0
- package/dist/core/formula/errors.js.map +1 -0
- package/dist/core/formula/evaluate.d.ts +21 -0
- package/dist/core/formula/evaluate.d.ts.map +1 -0
- package/dist/core/formula/evaluate.js +160 -0
- package/dist/core/formula/evaluate.js.map +1 -0
- package/dist/core/formula/index.d.ts +12 -0
- package/dist/core/formula/index.d.ts.map +1 -0
- package/dist/core/formula/index.js +7 -0
- package/dist/core/formula/index.js.map +1 -0
- package/dist/core/formula/lexer.d.ts +10 -0
- package/dist/core/formula/lexer.d.ts.map +1 -0
- package/dist/core/formula/lexer.js +97 -0
- package/dist/core/formula/lexer.js.map +1 -0
- package/dist/core/formula/parser.d.ts +24 -0
- package/dist/core/formula/parser.d.ts.map +1 -0
- package/dist/core/formula/parser.js +205 -0
- package/dist/core/formula/parser.js.map +1 -0
- package/dist/core/formula/validate.d.ts +29 -0
- package/dist/core/formula/validate.d.ts.map +1 -0
- package/dist/core/formula/validate.js +250 -0
- package/dist/core/formula/validate.js.map +1 -0
- package/dist/core/formula/values.d.ts +103 -0
- package/dist/core/formula/values.d.ts.map +1 -0
- package/dist/core/formula/values.js +94 -0
- package/dist/core/formula/values.js.map +1 -0
- package/dist/core/i18n/ar.d.ts +4 -0
- package/dist/core/i18n/ar.d.ts.map +1 -0
- package/dist/core/i18n/ar.js +194 -0
- package/dist/core/i18n/ar.js.map +1 -0
- package/dist/core/i18n/de.d.ts +4 -0
- package/dist/core/i18n/de.d.ts.map +1 -0
- package/dist/core/i18n/de.js +194 -0
- package/dist/core/i18n/de.js.map +1 -0
- package/dist/core/i18n/en.d.ts +194 -0
- package/dist/core/i18n/en.d.ts.map +1 -0
- package/dist/core/i18n/en.js +193 -0
- package/dist/core/i18n/en.js.map +1 -0
- package/dist/core/i18n/es.d.ts +4 -0
- package/dist/core/i18n/es.d.ts.map +1 -0
- package/dist/core/i18n/es.js +194 -0
- package/dist/core/i18n/es.js.map +1 -0
- package/dist/core/i18n/fr.d.ts +4 -0
- package/dist/core/i18n/fr.d.ts.map +1 -0
- package/dist/core/i18n/fr.js +194 -0
- package/dist/core/i18n/fr.js.map +1 -0
- package/dist/core/i18n/hi.d.ts +4 -0
- package/dist/core/i18n/hi.d.ts.map +1 -0
- package/dist/core/i18n/hi.js +194 -0
- package/dist/core/i18n/hi.js.map +1 -0
- package/dist/core/i18n/id.d.ts +4 -0
- package/dist/core/i18n/id.d.ts.map +1 -0
- package/dist/core/i18n/id.js +194 -0
- package/dist/core/i18n/id.js.map +1 -0
- package/dist/core/i18n/index.d.ts +50 -0
- package/dist/core/i18n/index.d.ts.map +1 -0
- package/dist/core/i18n/index.js +84 -0
- package/dist/core/i18n/index.js.map +1 -0
- package/dist/core/i18n/ja.d.ts +4 -0
- package/dist/core/i18n/ja.d.ts.map +1 -0
- package/dist/core/i18n/ja.js +194 -0
- package/dist/core/i18n/ja.js.map +1 -0
- package/dist/core/i18n/ko.d.ts +4 -0
- package/dist/core/i18n/ko.d.ts.map +1 -0
- package/dist/core/i18n/ko.js +194 -0
- package/dist/core/i18n/ko.js.map +1 -0
- package/dist/core/i18n/pt.d.ts +4 -0
- package/dist/core/i18n/pt.d.ts.map +1 -0
- package/dist/core/i18n/pt.js +194 -0
- package/dist/core/i18n/pt.js.map +1 -0
- package/dist/core/i18n/ru.d.ts +4 -0
- package/dist/core/i18n/ru.d.ts.map +1 -0
- package/dist/core/i18n/ru.js +194 -0
- package/dist/core/i18n/ru.js.map +1 -0
- package/dist/core/i18n/vi.d.ts +4 -0
- package/dist/core/i18n/vi.d.ts.map +1 -0
- package/dist/core/i18n/vi.js +194 -0
- package/dist/core/i18n/vi.js.map +1 -0
- package/dist/core/i18n/zh-hant.d.ts +4 -0
- package/dist/core/i18n/zh-hant.d.ts.map +1 -0
- package/dist/core/i18n/zh-hant.js +194 -0
- package/dist/core/i18n/zh-hant.js.map +1 -0
- package/dist/core/i18n/zh.d.ts +3 -0
- package/dist/core/i18n/zh.d.ts.map +1 -0
- package/dist/core/i18n/zh.js +193 -0
- package/dist/core/i18n/zh.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/limiter/counter.d.ts +39 -0
- package/dist/core/limiter/counter.d.ts.map +1 -0
- package/dist/core/limiter/counter.js +16 -0
- package/dist/core/limiter/counter.js.map +1 -0
- package/dist/core/limiter/index.d.ts +7 -0
- package/dist/core/limiter/index.d.ts.map +1 -0
- package/dist/core/limiter/index.js +4 -0
- package/dist/core/limiter/index.js.map +1 -0
- package/dist/core/limiter/quota.d.ts +45 -0
- package/dist/core/limiter/quota.d.ts.map +1 -0
- package/dist/core/limiter/quota.js +41 -0
- package/dist/core/limiter/quota.js.map +1 -0
- package/dist/core/limiter/sliding-window.d.ts +20 -0
- package/dist/core/limiter/sliding-window.d.ts.map +1 -0
- package/dist/core/limiter/sliding-window.js +29 -0
- package/dist/core/limiter/sliding-window.js.map +1 -0
- package/dist/core/object/describe.d.ts +76 -0
- package/dist/core/object/describe.d.ts.map +1 -0
- package/dist/core/object/describe.js +97 -0
- package/dist/core/object/describe.js.map +1 -0
- package/dist/core/object/gen-types.d.ts +4 -0
- package/dist/core/object/gen-types.d.ts.map +1 -0
- package/dist/core/object/gen-types.js +88 -0
- package/dist/core/object/gen-types.js.map +1 -0
- package/dist/core/object/graph.d.ts +35 -0
- package/dist/core/object/graph.d.ts.map +1 -0
- package/dist/core/object/graph.js +256 -0
- package/dist/core/object/graph.js.map +1 -0
- package/dist/core/object/index.d.ts +9 -0
- package/dist/core/object/index.d.ts.map +1 -0
- package/dist/core/object/index.js +9 -0
- package/dist/core/object/index.js.map +1 -0
- package/dist/core/object/migrations.d.ts +24 -0
- package/dist/core/object/migrations.d.ts.map +1 -0
- package/dist/core/object/migrations.js +48 -0
- package/dist/core/object/migrations.js.map +1 -0
- package/dist/core/object/parse.d.ts +10 -0
- package/dist/core/object/parse.d.ts.map +1 -0
- package/dist/core/object/parse.js +23 -0
- package/dist/core/object/parse.js.map +1 -0
- package/dist/core/object/registry.d.ts +24 -0
- package/dist/core/object/registry.d.ts.map +1 -0
- package/dist/core/object/registry.js +39 -0
- package/dist/core/object/registry.js.map +1 -0
- package/dist/core/object/schema-version.d.ts +14 -0
- package/dist/core/object/schema-version.d.ts.map +1 -0
- package/dist/core/object/schema-version.js +13 -0
- package/dist/core/object/schema-version.js.map +1 -0
- package/dist/core/object/validate.d.ts +21 -0
- package/dist/core/object/validate.d.ts.map +1 -0
- package/dist/core/object/validate.js +818 -0
- package/dist/core/object/validate.js.map +1 -0
- package/dist/core/provider/alerts/index.d.ts +3 -0
- package/dist/core/provider/alerts/index.d.ts.map +1 -0
- package/dist/core/provider/alerts/index.js +2 -0
- package/dist/core/provider/alerts/index.js.map +1 -0
- package/dist/core/provider/alerts/types.d.ts +27 -0
- package/dist/core/provider/alerts/types.d.ts.map +1 -0
- package/dist/core/provider/alerts/types.js +12 -0
- package/dist/core/provider/alerts/types.js.map +1 -0
- package/dist/core/provider/event/index.d.ts +3 -0
- package/dist/core/provider/event/index.d.ts.map +1 -0
- package/dist/core/provider/event/index.js +2 -0
- package/dist/core/provider/event/index.js.map +1 -0
- package/dist/core/provider/event/ingress.d.ts +61 -0
- package/dist/core/provider/event/ingress.d.ts.map +1 -0
- package/dist/core/provider/event/ingress.js +2 -0
- package/dist/core/provider/event/ingress.js.map +1 -0
- package/dist/core/provider/event/types.d.ts +96 -0
- package/dist/core/provider/event/types.d.ts.map +1 -0
- package/dist/core/provider/event/types.js +21 -0
- package/dist/core/provider/event/types.js.map +1 -0
- package/dist/core/provider/identity/index.d.ts +2 -0
- package/dist/core/provider/identity/index.d.ts.map +1 -0
- package/dist/core/provider/identity/index.js +2 -0
- package/dist/core/provider/identity/index.js.map +1 -0
- package/dist/core/provider/identity/types.d.ts +11 -0
- package/dist/core/provider/identity/types.d.ts.map +1 -0
- package/dist/core/provider/identity/types.js +2 -0
- package/dist/core/provider/identity/types.js.map +1 -0
- package/dist/core/provider/index.d.ts +4 -0
- package/dist/core/provider/index.d.ts.map +1 -0
- package/dist/core/provider/index.js +4 -0
- package/dist/core/provider/index.js.map +1 -0
- package/dist/core/proxy/index.d.ts +3 -0
- package/dist/core/proxy/index.d.ts.map +1 -0
- package/dist/core/proxy/index.js +2 -0
- package/dist/core/proxy/index.js.map +1 -0
- package/dist/core/proxy/types.d.ts +100 -0
- package/dist/core/proxy/types.d.ts.map +1 -0
- package/dist/core/proxy/types.js +72 -0
- package/dist/core/proxy/types.js.map +1 -0
- package/dist/core/rbac/authorize.d.ts +13 -0
- package/dist/core/rbac/authorize.d.ts.map +1 -0
- package/dist/core/rbac/authorize.js +45 -0
- package/dist/core/rbac/authorize.js.map +1 -0
- package/dist/core/rbac/fields.d.ts +4 -0
- package/dist/core/rbac/fields.d.ts.map +1 -0
- package/dist/core/rbac/fields.js +6 -0
- package/dist/core/rbac/fields.js.map +1 -0
- package/dist/core/rbac/index.d.ts +9 -0
- package/dist/core/rbac/index.d.ts.map +1 -0
- package/dist/core/rbac/index.js +6 -0
- package/dist/core/rbac/index.js.map +1 -0
- package/dist/core/rbac/resolve.d.ts +22 -0
- package/dist/core/rbac/resolve.d.ts.map +1 -0
- package/dist/core/rbac/resolve.js +55 -0
- package/dist/core/rbac/resolve.js.map +1 -0
- package/dist/core/rbac/rls.d.ts +12 -0
- package/dist/core/rbac/rls.d.ts.map +1 -0
- package/dist/core/rbac/rls.js +77 -0
- package/dist/core/rbac/rls.js.map +1 -0
- package/dist/core/rbac/rowScope.d.ts +15 -0
- package/dist/core/rbac/rowScope.d.ts.map +1 -0
- package/dist/core/rbac/rowScope.js +28 -0
- package/dist/core/rbac/rowScope.js.map +1 -0
- package/dist/core/rbac/types.d.ts +8 -0
- package/dist/core/rbac/types.d.ts.map +1 -0
- package/dist/core/rbac/types.js +2 -0
- package/dist/core/rbac/types.js.map +1 -0
- package/dist/core/script/index.d.ts +6 -0
- package/dist/core/script/index.d.ts.map +1 -0
- package/dist/core/script/index.js +4 -0
- package/dist/core/script/index.js.map +1 -0
- package/dist/core/script/source.d.ts +6 -0
- package/dist/core/script/source.d.ts.map +1 -0
- package/dist/core/script/source.js +31 -0
- package/dist/core/script/source.js.map +1 -0
- package/dist/core/script/types.d.ts +189 -0
- package/dist/core/script/types.d.ts.map +1 -0
- package/dist/core/script/types.js +29 -0
- package/dist/core/script/types.js.map +1 -0
- package/dist/core/script/values.d.ts +8 -0
- package/dist/core/script/values.d.ts.map +1 -0
- package/dist/core/script/values.js +7 -0
- package/dist/core/script/values.js.map +1 -0
- package/dist/core/storage/apply.d.ts +4 -0
- package/dist/core/storage/apply.d.ts.map +1 -0
- package/dist/core/storage/apply.js +20 -0
- package/dist/core/storage/apply.js.map +1 -0
- package/dist/core/storage/diff.d.ts +45 -0
- package/dist/core/storage/diff.d.ts.map +1 -0
- package/dist/core/storage/diff.js +208 -0
- package/dist/core/storage/diff.js.map +1 -0
- package/dist/core/storage/index.d.ts +15 -0
- package/dist/core/storage/index.d.ts.map +1 -0
- package/dist/core/storage/index.js +10 -0
- package/dist/core/storage/index.js.map +1 -0
- package/dist/core/storage/inspect.d.ts +55 -0
- package/dist/core/storage/inspect.d.ts.map +1 -0
- package/dist/core/storage/inspect.js +163 -0
- package/dist/core/storage/inspect.js.map +1 -0
- package/dist/core/storage/introspect.d.ts +36 -0
- package/dist/core/storage/introspect.d.ts.map +1 -0
- package/dist/core/storage/introspect.js +223 -0
- package/dist/core/storage/introspect.js.map +1 -0
- package/dist/core/storage/map.d.ts +30 -0
- package/dist/core/storage/map.d.ts.map +1 -0
- package/dist/core/storage/map.js +157 -0
- package/dist/core/storage/map.js.map +1 -0
- package/dist/core/storage/meta.d.ts +6 -0
- package/dist/core/storage/meta.d.ts.map +1 -0
- package/dist/core/storage/meta.js +11 -0
- package/dist/core/storage/meta.js.map +1 -0
- package/dist/core/storage/migrate.d.ts +42 -0
- package/dist/core/storage/migrate.d.ts.map +1 -0
- package/dist/core/storage/migrate.js +133 -0
- package/dist/core/storage/migrate.js.map +1 -0
- package/dist/core/storage/pool.d.ts +4 -0
- package/dist/core/storage/pool.d.ts.map +1 -0
- package/dist/core/storage/pool.js +6 -0
- package/dist/core/storage/pool.js.map +1 -0
- package/dist/core/storage/report.d.ts +111 -0
- package/dist/core/storage/report.d.ts.map +1 -0
- package/dist/core/storage/report.js +189 -0
- package/dist/core/storage/report.js.map +1 -0
- package/dist/core/tools/approvals-backend.d.ts +9 -0
- package/dist/core/tools/approvals-backend.d.ts.map +1 -0
- package/dist/core/tools/approvals-backend.js +58 -0
- package/dist/core/tools/approvals-backend.js.map +1 -0
- package/dist/core/tools/index.d.ts +5 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +5 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/policies.d.ts +10 -0
- package/dist/core/tools/policies.d.ts.map +1 -0
- package/dist/core/tools/policies.js +33 -0
- package/dist/core/tools/policies.js.map +1 -0
- package/dist/core/tools/types.d.ts +181 -0
- package/dist/core/tools/types.d.ts.map +1 -0
- package/dist/core/tools/types.js +2 -0
- package/dist/core/tools/types.js.map +1 -0
- package/dist/core/tools/values.d.ts +34 -0
- package/dist/core/tools/values.d.ts.map +1 -0
- package/dist/core/tools/values.js +36 -0
- package/dist/core/tools/values.js.map +1 -0
- package/dist/core/types/errors.d.ts +21 -0
- package/dist/core/types/errors.d.ts.map +1 -0
- package/dist/core/types/errors.js +29 -0
- package/dist/core/types/errors.js.map +1 -0
- package/dist/core/types/fields.d.ts +182 -0
- package/dist/core/types/fields.d.ts.map +1 -0
- package/dist/core/types/fields.js +2 -0
- package/dist/core/types/fields.js.map +1 -0
- package/dist/core/types/index.d.ts +12 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +5 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/object.d.ts +36 -0
- package/dist/core/types/object.d.ts.map +1 -0
- package/dist/core/types/object.js +2 -0
- package/dist/core/types/object.js.map +1 -0
- package/dist/core/types/permission.d.ts +22 -0
- package/dist/core/types/permission.d.ts.map +1 -0
- package/dist/core/types/permission.js +2 -0
- package/dist/core/types/permission.js.map +1 -0
- package/dist/core/types/primaryField.d.ts +15 -0
- package/dist/core/types/primaryField.d.ts.map +1 -0
- package/dist/core/types/primaryField.js +17 -0
- package/dist/core/types/primaryField.js.map +1 -0
- package/dist/core/types/registry.d.ts +39 -0
- package/dist/core/types/registry.d.ts.map +1 -0
- package/dist/core/types/registry.js +78 -0
- package/dist/core/types/registry.js.map +1 -0
- package/dist/core/types/relation.d.ts +41 -0
- package/dist/core/types/relation.d.ts.map +1 -0
- package/dist/core/types/relation.js +2 -0
- package/dist/core/types/relation.js.map +1 -0
- package/dist/core/types/values.d.ts +107 -0
- package/dist/core/types/values.d.ts.map +1 -0
- package/dist/core/types/values.js +100 -0
- package/dist/core/types/values.js.map +1 -0
- package/dist/experimental.d.ts +14 -0
- package/dist/experimental.d.ts.map +1 -0
- package/dist/experimental.js +14 -0
- package/dist/experimental.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/alerts/console.d.ts +4 -0
- package/dist/infrastructure/alerts/console.d.ts.map +1 -0
- package/dist/infrastructure/alerts/console.js +15 -0
- package/dist/infrastructure/alerts/console.js.map +1 -0
- package/dist/infrastructure/alerts/index.d.ts +34 -0
- package/dist/infrastructure/alerts/index.d.ts.map +1 -0
- package/dist/infrastructure/alerts/index.js +34 -0
- package/dist/infrastructure/alerts/index.js.map +1 -0
- package/dist/infrastructure/alerts/slack.d.ts +20 -0
- package/dist/infrastructure/alerts/slack.d.ts.map +1 -0
- package/dist/infrastructure/alerts/slack.js +30 -0
- package/dist/infrastructure/alerts/slack.js.map +1 -0
- package/dist/infrastructure/alerts/webhook.d.ts +18 -0
- package/dist/infrastructure/alerts/webhook.d.ts.map +1 -0
- package/dist/infrastructure/alerts/webhook.js +24 -0
- package/dist/infrastructure/alerts/webhook.js.map +1 -0
- package/dist/infrastructure/event/bus.d.ts +18 -0
- package/dist/infrastructure/event/bus.d.ts.map +1 -0
- package/dist/infrastructure/event/bus.js +86 -0
- package/dist/infrastructure/event/bus.js.map +1 -0
- package/dist/infrastructure/event/index.d.ts +3 -0
- package/dist/infrastructure/event/index.d.ts.map +1 -0
- package/dist/infrastructure/event/index.js +2 -0
- package/dist/infrastructure/event/index.js.map +1 -0
- package/dist/infrastructure/identity.d.ts +10 -0
- package/dist/infrastructure/identity.d.ts.map +1 -0
- package/dist/infrastructure/identity.js +10 -0
- package/dist/infrastructure/identity.js.map +1 -0
- package/dist/infrastructure/index.d.ts +8 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +5 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/layout-format.d.ts +283 -0
- package/dist/layout-format.d.ts.map +1 -0
- package/dist/layout-format.js +435 -0
- package/dist/layout-format.js.map +1 -0
- package/dist/runtime/data-access/builder.d.ts +40 -0
- package/dist/runtime/data-access/builder.d.ts.map +1 -0
- package/dist/runtime/data-access/builder.js +203 -0
- package/dist/runtime/data-access/builder.js.map +1 -0
- package/dist/runtime/data-access/details.d.ts +10 -0
- package/dist/runtime/data-access/details.d.ts.map +1 -0
- package/dist/runtime/data-access/details.js +56 -0
- package/dist/runtime/data-access/details.js.map +1 -0
- package/dist/runtime/data-access/formula.d.ts +8 -0
- package/dist/runtime/data-access/formula.d.ts.map +1 -0
- package/dist/runtime/data-access/formula.js +101 -0
- package/dist/runtime/data-access/formula.js.map +1 -0
- package/dist/runtime/data-access/index.d.ts +18 -0
- package/dist/runtime/data-access/index.d.ts.map +1 -0
- package/dist/runtime/data-access/index.js +12 -0
- package/dist/runtime/data-access/index.js.map +1 -0
- package/dist/runtime/data-access/query.d.ts +53 -0
- package/dist/runtime/data-access/query.d.ts.map +1 -0
- package/dist/runtime/data-access/query.js +435 -0
- package/dist/runtime/data-access/query.js.map +1 -0
- package/dist/runtime/data-access/rbac.d.ts +15 -0
- package/dist/runtime/data-access/rbac.d.ts.map +1 -0
- package/dist/runtime/data-access/rbac.js +172 -0
- package/dist/runtime/data-access/rbac.js.map +1 -0
- package/dist/runtime/data-access/seqno.d.ts +11 -0
- package/dist/runtime/data-access/seqno.d.ts.map +1 -0
- package/dist/runtime/data-access/seqno.js +37 -0
- package/dist/runtime/data-access/seqno.js.map +1 -0
- package/dist/runtime/data-access/sql-executor.d.ts +45 -0
- package/dist/runtime/data-access/sql-executor.d.ts.map +1 -0
- package/dist/runtime/data-access/sql-executor.js +76 -0
- package/dist/runtime/data-access/sql-executor.js.map +1 -0
- package/dist/runtime/data-access/sql-gate.d.ts +35 -0
- package/dist/runtime/data-access/sql-gate.d.ts.map +1 -0
- package/dist/runtime/data-access/sql-gate.js +70 -0
- package/dist/runtime/data-access/sql-gate.js.map +1 -0
- package/dist/runtime/data-access/tx.d.ts +12 -0
- package/dist/runtime/data-access/tx.d.ts.map +1 -0
- package/dist/runtime/data-access/tx.js +30 -0
- package/dist/runtime/data-access/tx.js.map +1 -0
- package/dist/runtime/data-access/types.d.ts +82 -0
- package/dist/runtime/data-access/types.d.ts.map +1 -0
- package/dist/runtime/data-access/types.js +2 -0
- package/dist/runtime/data-access/types.js.map +1 -0
- package/dist/runtime/data-access/validate.d.ts +17 -0
- package/dist/runtime/data-access/validate.d.ts.map +1 -0
- package/dist/runtime/data-access/validate.js +180 -0
- package/dist/runtime/data-access/validate.js.map +1 -0
- package/dist/runtime/data-access/values.d.ts +39 -0
- package/dist/runtime/data-access/values.d.ts.map +1 -0
- package/dist/runtime/data-access/values.js +36 -0
- package/dist/runtime/data-access/values.js.map +1 -0
- package/dist/runtime/engine.d.ts +253 -0
- package/dist/runtime/engine.d.ts.map +1 -0
- package/dist/runtime/engine.js +368 -0
- package/dist/runtime/engine.js.map +1 -0
- package/dist/runtime/git/autoCommit.d.ts +43 -0
- package/dist/runtime/git/autoCommit.d.ts.map +1 -0
- package/dist/runtime/git/autoCommit.js +100 -0
- package/dist/runtime/git/autoCommit.js.map +1 -0
- package/dist/runtime/git/guardrailSource.d.ts +55 -0
- package/dist/runtime/git/guardrailSource.d.ts.map +1 -0
- package/dist/runtime/git/guardrailSource.js +140 -0
- package/dist/runtime/git/guardrailSource.js.map +1 -0
- package/dist/runtime/git/index.d.ts +22 -0
- package/dist/runtime/git/index.d.ts.map +1 -0
- package/dist/runtime/git/index.js +12 -0
- package/dist/runtime/git/index.js.map +1 -0
- package/dist/runtime/git/layoutSource.d.ts +41 -0
- package/dist/runtime/git/layoutSource.d.ts.map +1 -0
- package/dist/runtime/git/layoutSource.js +67 -0
- package/dist/runtime/git/layoutSource.js.map +1 -0
- package/dist/runtime/git/loader.d.ts +22 -0
- package/dist/runtime/git/loader.d.ts.map +1 -0
- package/dist/runtime/git/loader.js +57 -0
- package/dist/runtime/git/loader.js.map +1 -0
- package/dist/runtime/git/pageCatalog.d.ts +66 -0
- package/dist/runtime/git/pageCatalog.d.ts.map +1 -0
- package/dist/runtime/git/pageCatalog.js +183 -0
- package/dist/runtime/git/pageCatalog.js.map +1 -0
- package/dist/runtime/git/pageScripts.d.ts +43 -0
- package/dist/runtime/git/pageScripts.d.ts.map +1 -0
- package/dist/runtime/git/pageScripts.js +89 -0
- package/dist/runtime/git/pageScripts.js.map +1 -0
- package/dist/runtime/git/runner.d.ts +25 -0
- package/dist/runtime/git/runner.d.ts.map +1 -0
- package/dist/runtime/git/runner.js +26 -0
- package/dist/runtime/git/runner.js.map +1 -0
- package/dist/runtime/git/schemaChange.d.ts +70 -0
- package/dist/runtime/git/schemaChange.d.ts.map +1 -0
- package/dist/runtime/git/schemaChange.js +241 -0
- package/dist/runtime/git/schemaChange.js.map +1 -0
- package/dist/runtime/git/schemaSource.d.ts +38 -0
- package/dist/runtime/git/schemaSource.d.ts.map +1 -0
- package/dist/runtime/git/schemaSource.js +38 -0
- package/dist/runtime/git/schemaSource.js.map +1 -0
- package/dist/runtime/git/scriptSource.d.ts +24 -0
- package/dist/runtime/git/scriptSource.d.ts.map +1 -0
- package/dist/runtime/git/scriptSource.js +80 -0
- package/dist/runtime/git/scriptSource.js.map +1 -0
- package/dist/runtime/git/sourceFile.d.ts +15 -0
- package/dist/runtime/git/sourceFile.d.ts.map +1 -0
- package/dist/runtime/git/sourceFile.js +41 -0
- package/dist/runtime/git/sourceFile.js.map +1 -0
- package/dist/runtime/git/sourceTransaction.d.ts +56 -0
- package/dist/runtime/git/sourceTransaction.d.ts.map +1 -0
- package/dist/runtime/git/sourceTransaction.js +176 -0
- package/dist/runtime/git/sourceTransaction.js.map +1 -0
- package/dist/runtime/git/sync.d.ts +33 -0
- package/dist/runtime/git/sync.d.ts.map +1 -0
- package/dist/runtime/git/sync.js +42 -0
- package/dist/runtime/git/sync.js.map +1 -0
- package/dist/runtime/metadata/cache.d.ts +29 -0
- package/dist/runtime/metadata/cache.d.ts.map +1 -0
- package/dist/runtime/metadata/cache.js +70 -0
- package/dist/runtime/metadata/cache.js.map +1 -0
- package/dist/runtime/metadata/index.d.ts +3 -0
- package/dist/runtime/metadata/index.d.ts.map +1 -0
- package/dist/runtime/metadata/index.js +2 -0
- package/dist/runtime/metadata/index.js.map +1 -0
- package/dist/runtime/proxy/fetch.d.ts +36 -0
- package/dist/runtime/proxy/fetch.d.ts.map +1 -0
- package/dist/runtime/proxy/fetch.js +136 -0
- package/dist/runtime/proxy/fetch.js.map +1 -0
- package/dist/runtime/proxy/index.d.ts +3 -0
- package/dist/runtime/proxy/index.d.ts.map +1 -0
- package/dist/runtime/proxy/index.js +2 -0
- package/dist/runtime/proxy/index.js.map +1 -0
- package/dist/runtime/sql-analyzer/index.d.ts +47 -0
- package/dist/runtime/sql-analyzer/index.d.ts.map +1 -0
- package/dist/runtime/sql-analyzer/index.js +58 -0
- package/dist/runtime/sql-analyzer/index.js.map +1 -0
- package/dist/runtime/tools/executor.d.ts +69 -0
- package/dist/runtime/tools/executor.d.ts.map +1 -0
- package/dist/runtime/tools/executor.js +204 -0
- package/dist/runtime/tools/executor.js.map +1 -0
- package/dist/runtime/tools/index.d.ts +5 -0
- package/dist/runtime/tools/index.d.ts.map +1 -0
- package/dist/runtime/tools/index.js +3 -0
- package/dist/runtime/tools/index.js.map +1 -0
- package/dist/runtime/tools/loader.d.ts +14 -0
- package/dist/runtime/tools/loader.d.ts.map +1 -0
- package/dist/runtime/tools/loader.js +98 -0
- package/dist/runtime/tools/loader.js.map +1 -0
- package/dist/runtime/tools/policies.d.ts +46 -0
- package/dist/runtime/tools/policies.d.ts.map +1 -0
- package/dist/runtime/tools/policies.js +107 -0
- package/dist/runtime/tools/policies.js.map +1 -0
- package/dist/runtime/tunnel/connector.d.ts +31 -0
- package/dist/runtime/tunnel/connector.d.ts.map +1 -0
- package/dist/runtime/tunnel/connector.js +114 -0
- package/dist/runtime/tunnel/connector.js.map +1 -0
- package/dist/runtime/tunnel/forwarder.d.ts +12 -0
- package/dist/runtime/tunnel/forwarder.d.ts.map +1 -0
- package/dist/runtime/tunnel/forwarder.js +64 -0
- package/dist/runtime/tunnel/forwarder.js.map +1 -0
- package/dist/runtime/tunnel/framing.d.ts +63 -0
- package/dist/runtime/tunnel/framing.d.ts.map +1 -0
- package/dist/runtime/tunnel/framing.js +86 -0
- package/dist/runtime/tunnel/framing.js.map +1 -0
- package/dist/runtime/tunnel/index.d.ts +11 -0
- package/dist/runtime/tunnel/index.d.ts.map +1 -0
- package/dist/runtime/tunnel/index.js +6 -0
- package/dist/runtime/tunnel/index.js.map +1 -0
- package/dist/runtime/tunnel/registry.d.ts +36 -0
- package/dist/runtime/tunnel/registry.d.ts.map +1 -0
- package/dist/runtime/tunnel/registry.js +167 -0
- package/dist/runtime/tunnel/registry.js.map +1 -0
- package/dist/runtime/tunnel/server.d.ts +24 -0
- package/dist/runtime/tunnel/server.d.ts.map +1 -0
- package/dist/runtime/tunnel/server.js +70 -0
- package/dist/runtime/tunnel/server.js.map +1 -0
- package/dist/subsystems/approvals/index.d.ts +11 -0
- package/dist/subsystems/approvals/index.d.ts.map +1 -0
- package/dist/subsystems/approvals/index.js +12 -0
- package/dist/subsystems/approvals/index.js.map +1 -0
- package/dist/subsystems/approvals/store.d.ts +12 -0
- package/dist/subsystems/approvals/store.d.ts.map +1 -0
- package/dist/subsystems/approvals/store.js +108 -0
- package/dist/subsystems/approvals/store.js.map +1 -0
- package/dist/subsystems/audit/index.d.ts +37 -0
- package/dist/subsystems/audit/index.d.ts.map +1 -0
- package/dist/subsystems/audit/index.js +125 -0
- package/dist/subsystems/audit/index.js.map +1 -0
- package/dist/subsystems/audit/store.d.ts +12 -0
- package/dist/subsystems/audit/store.d.ts.map +1 -0
- package/dist/subsystems/audit/store.js +215 -0
- package/dist/subsystems/audit/store.js.map +1 -0
- package/dist/subsystems/quota/index.d.ts +2 -0
- package/dist/subsystems/quota/index.d.ts.map +1 -0
- package/dist/subsystems/quota/index.js +2 -0
- package/dist/subsystems/quota/index.js.map +1 -0
- package/dist/subsystems/quota/store.d.ts +4 -0
- package/dist/subsystems/quota/store.d.ts.map +1 -0
- package/dist/subsystems/quota/store.js +44 -0
- package/dist/subsystems/quota/store.js.map +1 -0
- package/dist/subsystems/script/backend/isolated-vm.d.ts +8 -0
- package/dist/subsystems/script/backend/isolated-vm.d.ts.map +1 -0
- package/dist/subsystems/script/backend/isolated-vm.js +380 -0
- package/dist/subsystems/script/backend/isolated-vm.js.map +1 -0
- package/dist/subsystems/script/backend/types.d.ts +61 -0
- package/dist/subsystems/script/backend/types.d.ts.map +1 -0
- package/dist/subsystems/script/backend/types.js +2 -0
- package/dist/subsystems/script/backend/types.js.map +1 -0
- package/dist/subsystems/script/bridge.d.ts +29 -0
- package/dist/subsystems/script/bridge.d.ts.map +1 -0
- package/dist/subsystems/script/bridge.js +106 -0
- package/dist/subsystems/script/bridge.js.map +1 -0
- package/dist/subsystems/script/dispatcher.d.ts +46 -0
- package/dist/subsystems/script/dispatcher.d.ts.map +1 -0
- package/dist/subsystems/script/dispatcher.js +143 -0
- package/dist/subsystems/script/dispatcher.js.map +1 -0
- package/dist/subsystems/script/index.d.ts +13 -0
- package/dist/subsystems/script/index.d.ts.map +1 -0
- package/dist/subsystems/script/index.js +7 -0
- package/dist/subsystems/script/index.js.map +1 -0
- package/dist/subsystems/script/loader.d.ts +18 -0
- package/dist/subsystems/script/loader.d.ts.map +1 -0
- package/dist/subsystems/script/loader.js +44 -0
- package/dist/subsystems/script/loader.js.map +1 -0
- package/dist/subsystems/script/services.d.ts +14 -0
- package/dist/subsystems/script/services.d.ts.map +1 -0
- package/dist/subsystems/script/services.js +48 -0
- package/dist/subsystems/script/services.js.map +1 -0
- package/dist/values.d.ts +18 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +18 -0
- package/dist/values.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { FIELD_TYPES, ON_DELETE_ACTIONS } from '../types/values.js';
|
|
2
|
+
/**
|
|
3
|
+
* Map a field's declared type to a PostgreSQL column type.
|
|
4
|
+
* `targetPkType` is the mapped PK type of the target object (for `relation`).
|
|
5
|
+
*/
|
|
6
|
+
export function pgType(field, targetPkType) {
|
|
7
|
+
switch (field.type) {
|
|
8
|
+
case FIELD_TYPES.STRING:
|
|
9
|
+
case FIELD_TYPES.FIRST_NAME:
|
|
10
|
+
case FIELD_TYPES.LAST_NAME:
|
|
11
|
+
case FIELD_TYPES.EMAIL:
|
|
12
|
+
case FIELD_TYPES.PHONE:
|
|
13
|
+
return 'VARCHAR(255)';
|
|
14
|
+
case FIELD_TYPES.TEXT:
|
|
15
|
+
return 'TEXT';
|
|
16
|
+
case FIELD_TYPES.INTEGER:
|
|
17
|
+
return 'INTEGER';
|
|
18
|
+
case FIELD_TYPES.NUMBER:
|
|
19
|
+
return field.precision ? `NUMERIC(${field.precision})` : 'NUMERIC';
|
|
20
|
+
case FIELD_TYPES.CURRENCY:
|
|
21
|
+
return 'NUMERIC(12,2)';
|
|
22
|
+
case FIELD_TYPES.BOOLEAN:
|
|
23
|
+
return 'BOOLEAN';
|
|
24
|
+
case FIELD_TYPES.DATETIME:
|
|
25
|
+
return 'TIMESTAMPTZ';
|
|
26
|
+
case FIELD_TYPES.DATE:
|
|
27
|
+
return 'DATE';
|
|
28
|
+
case FIELD_TYPES.JSON:
|
|
29
|
+
return 'JSONB';
|
|
30
|
+
case FIELD_TYPES.ENUM:
|
|
31
|
+
return field.multiple ? 'TEXT[]' : 'VARCHAR(255)';
|
|
32
|
+
case FIELD_TYPES.IMAGE:
|
|
33
|
+
return field.multiple ? 'TEXT[]' : 'VARCHAR(255)';
|
|
34
|
+
case FIELD_TYPES.RELATION:
|
|
35
|
+
case FIELD_TYPES.PERSON:
|
|
36
|
+
case FIELD_TYPES.DEPARTMENT:
|
|
37
|
+
return targetPkType ?? 'VARCHAR(255)';
|
|
38
|
+
case FIELD_TYPES.MULTI_RELATION:
|
|
39
|
+
return 'TEXT[]';
|
|
40
|
+
case FIELD_TYPES.SEQ_NO:
|
|
41
|
+
return 'VARCHAR(255)';
|
|
42
|
+
case FIELD_TYPES.DETAILS:
|
|
43
|
+
throw new Error('details fields do not create a column');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** SQL DEFAULT expression for a field's `default` value, or undefined (no default) */
|
|
47
|
+
export function defaultExpr(field) {
|
|
48
|
+
const raw = field;
|
|
49
|
+
if (raw.default === undefined)
|
|
50
|
+
return undefined;
|
|
51
|
+
switch (field.type) {
|
|
52
|
+
case FIELD_TYPES.DATETIME:
|
|
53
|
+
case FIELD_TYPES.DATE:
|
|
54
|
+
return raw.default === 'now' ? 'now()' : `'${String(raw.default)}'`;
|
|
55
|
+
case FIELD_TYPES.ENUM:
|
|
56
|
+
// multi-value enum defaults are not expressed in DDL (application layer)
|
|
57
|
+
return raw.multiple ? undefined : `'${String(raw.default)}'`;
|
|
58
|
+
case FIELD_TYPES.IMAGE:
|
|
59
|
+
// multi-value image defaults are application layer too
|
|
60
|
+
return raw.multiple ? undefined : `'${String(raw.default)}'`;
|
|
61
|
+
case FIELD_TYPES.STRING:
|
|
62
|
+
case FIELD_TYPES.TEXT:
|
|
63
|
+
case FIELD_TYPES.FIRST_NAME:
|
|
64
|
+
case FIELD_TYPES.LAST_NAME:
|
|
65
|
+
case FIELD_TYPES.EMAIL:
|
|
66
|
+
case FIELD_TYPES.PHONE:
|
|
67
|
+
return `'${String(raw.default)}'`;
|
|
68
|
+
case FIELD_TYPES.BOOLEAN:
|
|
69
|
+
return String(raw.default);
|
|
70
|
+
case FIELD_TYPES.INTEGER:
|
|
71
|
+
case FIELD_TYPES.NUMBER:
|
|
72
|
+
case FIELD_TYPES.CURRENCY:
|
|
73
|
+
return String(raw.default);
|
|
74
|
+
default:
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** element `udt_name` (without the leading underscore) for engine array columns */
|
|
79
|
+
const ARRAY_ELEMENT_UDT = {
|
|
80
|
+
TEXT: 'text',
|
|
81
|
+
VARCHAR: 'varchar',
|
|
82
|
+
INTEGER: 'int4',
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Compare a declared column type (`pgType()` output, e.g. `VARCHAR(255)`,
|
|
86
|
+
* `NUMERIC(12,2)`, `TEXT[]`) against a live `information_schema` column, for
|
|
87
|
+
* the `weave schema:map` drift report. Length on `VARCHAR` is ignored (brownfield
|
|
88
|
+
* tables often declare an unbounded/bespoke varchar); numeric precision/scale is
|
|
89
|
+
* compared only when the declared type specifies them.
|
|
90
|
+
*/
|
|
91
|
+
export function pgTypeMatches(expected, actual) {
|
|
92
|
+
const exp = expected.trim().toUpperCase();
|
|
93
|
+
if (exp.endsWith('[]')) {
|
|
94
|
+
const isArray = actual.dataType.toUpperCase() === 'ARRAY' || actual.udtName?.startsWith('_') === true;
|
|
95
|
+
if (!isArray)
|
|
96
|
+
return false;
|
|
97
|
+
const udt = actual.udtName?.replace(/^_/, '').toLowerCase();
|
|
98
|
+
return ARRAY_ELEMENT_UDT[exp.slice(0, -2)] === udt;
|
|
99
|
+
}
|
|
100
|
+
const match = /^([A-Z]+)(?:\(([^)]*)\))?$/.exec(exp);
|
|
101
|
+
if (match === null)
|
|
102
|
+
return false;
|
|
103
|
+
const base = match[1];
|
|
104
|
+
const args = match[2];
|
|
105
|
+
const actualBase = actual.dataType.toUpperCase();
|
|
106
|
+
switch (base) {
|
|
107
|
+
case 'VARCHAR':
|
|
108
|
+
return actualBase === 'CHARACTER VARYING' || actualBase === 'VARCHAR';
|
|
109
|
+
case 'TEXT':
|
|
110
|
+
return actualBase === 'TEXT';
|
|
111
|
+
case 'INTEGER':
|
|
112
|
+
return actualBase === 'INTEGER' || actualBase === 'INT' || actualBase === 'INT4';
|
|
113
|
+
case 'BOOLEAN':
|
|
114
|
+
return actualBase === 'BOOLEAN' || actualBase === 'BOOL';
|
|
115
|
+
case 'DATE':
|
|
116
|
+
return actualBase === 'DATE';
|
|
117
|
+
case 'TIMESTAMPTZ':
|
|
118
|
+
return actualBase === 'TIMESTAMP WITH TIME ZONE';
|
|
119
|
+
case 'JSONB':
|
|
120
|
+
return actualBase === 'JSONB';
|
|
121
|
+
case 'NUMERIC': {
|
|
122
|
+
if (actualBase !== 'NUMERIC' && actualBase !== 'DECIMAL')
|
|
123
|
+
return false;
|
|
124
|
+
if (args === undefined)
|
|
125
|
+
return true;
|
|
126
|
+
const [precision, scale] = args.split(',').map((part) => Number(part.trim()));
|
|
127
|
+
if (Number.isFinite(precision) && actual.numericPrecision != null && actual.numericPrecision !== precision) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
if (scale !== undefined && Number.isFinite(scale) && actual.numericScale != null && actual.numericScale !== scale) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
default:
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Map a declared `onDelete` action value to the SQL `ON DELETE` clause fragment.
|
|
141
|
+
* Values are the single source `ON_DELETE_ACTIONS` (`cascade`/`restrict`/
|
|
142
|
+
* `set_null`); the SQL spelling differs for `set_null` → `SET NULL` (a bare
|
|
143
|
+
* `SET_NULL` is invalid PostgreSQL). Unknown values fall back to `RESTRICT`
|
|
144
|
+
* (the DDL default) so a stray value never emits broken SQL.
|
|
145
|
+
*/
|
|
146
|
+
export function onDeleteClause(action) {
|
|
147
|
+
switch (action) {
|
|
148
|
+
case ON_DELETE_ACTIONS.CASCADE:
|
|
149
|
+
return 'CASCADE';
|
|
150
|
+
case ON_DELETE_ACTIONS.SET_NULL:
|
|
151
|
+
return 'SET NULL';
|
|
152
|
+
case ON_DELETE_ACTIONS.RESTRICT:
|
|
153
|
+
default:
|
|
154
|
+
return 'RESTRICT';
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/core/storage/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Pool } from 'pg';
|
|
2
|
+
/** create the audit meta table if it does not exist */
|
|
3
|
+
export declare function ensureMetaTable(pool: Pool): Promise<void>;
|
|
4
|
+
/** upsert an audit record (e.g. schema.applied.<object> -> applied_at) */
|
|
5
|
+
export declare function setMeta(pool: Pool, key: string, value: string): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/core/storage/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAI/B,uDAAuD;AACvD,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED,0EAA0E;AAC1E,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const META_TABLE = 'weavekit_meta';
|
|
2
|
+
/** create the audit meta table if it does not exist */
|
|
3
|
+
export async function ensureMetaTable(pool) {
|
|
4
|
+
await pool.query(`CREATE TABLE IF NOT EXISTS ${META_TABLE} (key text PRIMARY KEY, value text NOT NULL)`);
|
|
5
|
+
}
|
|
6
|
+
/** upsert an audit record (e.g. schema.applied.<object> -> applied_at) */
|
|
7
|
+
export async function setMeta(pool, key, value) {
|
|
8
|
+
await pool.query(`INSERT INTO ${META_TABLE} (key, value) VALUES ($1, $2)
|
|
9
|
+
ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value`, [key, value]);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/core/storage/meta.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,eAAe,CAAC;AAEnC,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU;IAC9C,MAAM,IAAI,CAAC,KAAK,CACd,8BAA8B,UAAU,8CAA8C,CACvF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAU,EAAE,GAAW,EAAE,KAAa;IAClE,MAAM,IAAI,CAAC,KAAK,CACd,eAAe,UAAU;4DAC+B,EACxD,CAAC,GAAG,EAAE,KAAK,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ObjectRegistry } from '../object/index.js';
|
|
2
|
+
export interface MigrateOptions {
|
|
3
|
+
/** postgres connection string; falls back to process.env.DATABASE_URL */
|
|
4
|
+
databaseUrl?: string;
|
|
5
|
+
/** generate SQL without executing */
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* enable row-level security for the restricted-SQL role (`this.db.query`).
|
|
9
|
+
* `role` is the non-owner role db.query switches to via `SET LOCAL ROLE` so
|
|
10
|
+
* RLS applies. Applied to new tables always, to existing tables only when
|
|
11
|
+
* the object opts in (`schema.alter: true`) and the migrating role owns
|
|
12
|
+
* them. The role is created best-effort (`CREATE ROLE IF NOT EXISTS` needs
|
|
13
|
+
* CREATEROLE; failure degrades to a warning and RLS DDL is skipped).
|
|
14
|
+
*/
|
|
15
|
+
rls?: {
|
|
16
|
+
role: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface MigrationResult {
|
|
20
|
+
/** generated DDL statements (empty when already in sync) */
|
|
21
|
+
statements: string[];
|
|
22
|
+
/** object names whose schema changed (audit trail) */
|
|
23
|
+
applied: string[];
|
|
24
|
+
dryRun: boolean;
|
|
25
|
+
/** non-fatal issues (e.g. RLS role could not be created) */
|
|
26
|
+
warnings: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* State-diff migration: compare each engine-managed object's expected table
|
|
30
|
+
* against the live `information_schema`, generate DDL, apply inside a
|
|
31
|
+
* transaction, and write `schema.applied.<object>` audit records.
|
|
32
|
+
*
|
|
33
|
+
* New objects (no table by that name in PostgreSQL) are created from schema.
|
|
34
|
+
* Existing tables are read-only by default (fail-fast: every declared field
|
|
35
|
+
* must exist as a column, or `object.field.columnMissing` is thrown). An
|
|
36
|
+
* object opts into additive auto-DDL for its existing table with
|
|
37
|
+
* `schema.alter: true` — then missing fields become ADD COLUMN etc. instead of
|
|
38
|
+
* throwing. Never destructive: column types are never altered, columns never
|
|
39
|
+
* dropped. Idempotent by construction — a second run yields no statements.
|
|
40
|
+
*/
|
|
41
|
+
export declare function migrate(registry: ObjectRegistry, options?: MigrateOptions): Promise<MigrationResult>;
|
|
42
|
+
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/storage/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUzD,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA8BD;;;;;;;;;;;;GAYG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyF9G"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { FIELD_TYPES } from '../types/index.js';
|
|
2
|
+
import { SchemaError, primaryKeyOf } from '../types/index.js';
|
|
3
|
+
import { applyStatements } from './apply.js';
|
|
4
|
+
import { buildExpectedTable, diffAll, diffRls, diffTable } from './diff.js';
|
|
5
|
+
import { inspectSchema } from './inspect.js';
|
|
6
|
+
import { ensureMetaTable, setMeta } from './meta.js';
|
|
7
|
+
import { createPool } from './pool.js';
|
|
8
|
+
const RLS_ROLE_RE = /^[a-z_][a-z0-9_]*$/;
|
|
9
|
+
/**
|
|
10
|
+
* Best-effort provisioning of the restricted-SQL role: `CREATE ROLE` (needs
|
|
11
|
+
* CREATEROLE; failure → warning + false) and `GRANT` membership for
|
|
12
|
+
* `SET LOCAL ROLE` (idempotent via pg_has_role). `CREATE ROLE` cannot run
|
|
13
|
+
* inside a transaction, so this runs before the DDL transaction.
|
|
14
|
+
*/
|
|
15
|
+
async function provisionRlsRole(pool, role, warnings) {
|
|
16
|
+
const existing = await pool.query('SELECT 1 FROM pg_roles WHERE rolname = $1', [role]);
|
|
17
|
+
if (existing.rows.length === 0) {
|
|
18
|
+
try {
|
|
19
|
+
await pool.query(`CREATE ROLE ${role}`);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
warnings.push(`could not create role "${role}" (needs CREATEROLE) — create it manually to enable RLS`);
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
await pool.query(`DO $$ BEGIN IF NOT pg_has_role(current_user, '${role}', 'MEMBER') THEN EXECUTE 'GRANT ${role} TO current_user'; END IF; END $$;`);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
warnings.push(`could not grant role "${role}" to current user: ${String(error.message)}`);
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* State-diff migration: compare each engine-managed object's expected table
|
|
36
|
+
* against the live `information_schema`, generate DDL, apply inside a
|
|
37
|
+
* transaction, and write `schema.applied.<object>` audit records.
|
|
38
|
+
*
|
|
39
|
+
* New objects (no table by that name in PostgreSQL) are created from schema.
|
|
40
|
+
* Existing tables are read-only by default (fail-fast: every declared field
|
|
41
|
+
* must exist as a column, or `object.field.columnMissing` is thrown). An
|
|
42
|
+
* object opts into additive auto-DDL for its existing table with
|
|
43
|
+
* `schema.alter: true` — then missing fields become ADD COLUMN etc. instead of
|
|
44
|
+
* throwing. Never destructive: column types are never altered, columns never
|
|
45
|
+
* dropped. Idempotent by construction — a second run yields no statements.
|
|
46
|
+
*/
|
|
47
|
+
export async function migrate(registry, options = {}) {
|
|
48
|
+
const url = options.databaseUrl ?? process.env.DATABASE_URL;
|
|
49
|
+
if (!url)
|
|
50
|
+
throw new Error('DATABASE_URL is not set');
|
|
51
|
+
const dryRun = options.dryRun ?? false;
|
|
52
|
+
const warnings = [];
|
|
53
|
+
const pool = createPool(url);
|
|
54
|
+
try {
|
|
55
|
+
const defs = new Map(registry.list().map((d) => [d.name, d]));
|
|
56
|
+
const actual = await inspectSchema(pool);
|
|
57
|
+
if (options.rls !== undefined && !RLS_ROLE_RE.test(options.rls.role)) {
|
|
58
|
+
throw new Error(`invalid RLS role name "${options.rls.role}"`);
|
|
59
|
+
}
|
|
60
|
+
// new objects (no live table by that name) are diffed and created; objects
|
|
61
|
+
// that opted in via `alter: true` are diffed against their existing table
|
|
62
|
+
// too (additive ALTER DDL only)
|
|
63
|
+
const expected = [...defs.values()]
|
|
64
|
+
.filter((d) => d.alter === true || actual.get(d.name) === undefined)
|
|
65
|
+
.map((d) => buildExpectedTable(d, defs));
|
|
66
|
+
const statements = diffAll(expected, actual);
|
|
67
|
+
// existing tables are read-only unless the object opted in (`alter: true`):
|
|
68
|
+
// verify every declared field is a live column (prevents REST/MCP pointing
|
|
69
|
+
// at ghost columns). With `alter: true`, missing fields become ADD COLUMN
|
|
70
|
+
// instead of throwing.
|
|
71
|
+
for (const def of defs.values()) {
|
|
72
|
+
const actualTable = actual.get(def.name);
|
|
73
|
+
if (actualTable === undefined)
|
|
74
|
+
continue; // new object, handled above
|
|
75
|
+
const cols = new Set(actualTable.columns.map((c) => c.name));
|
|
76
|
+
const pk = primaryKeyOf(def);
|
|
77
|
+
if (pk === undefined || !cols.has(pk)) {
|
|
78
|
+
// a table without its declared primary key is a misconfiguration the
|
|
79
|
+
// engine must not paper over — always fail
|
|
80
|
+
throw new SchemaError('object.primary.columnMissing', { object: def.name, table: def.name, column: pk });
|
|
81
|
+
}
|
|
82
|
+
if (def.alter === true)
|
|
83
|
+
continue;
|
|
84
|
+
for (const field of def.fields) {
|
|
85
|
+
// details fields have no column on the parent (the child table carries
|
|
86
|
+
// parent_id/parent_type/parent_idx) — never a ghost-column check
|
|
87
|
+
if (field.type === FIELD_TYPES.DETAILS)
|
|
88
|
+
continue;
|
|
89
|
+
if (!cols.has(field.name)) {
|
|
90
|
+
throw new SchemaError('object.field.columnMissing', { object: def.name, table: def.name, field: field.name });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const applied = expected.filter((t) => diffTable(t, actual.get(t.name)).length > 0).map((t) => t.name);
|
|
95
|
+
// row-level security for the restricted-SQL role: provision the role
|
|
96
|
+
// (non-transactional) then diff the policy against the live RLS state.
|
|
97
|
+
// New tables always; existing tables only under `alter` and when the
|
|
98
|
+
// migrating role owns them (a non-owner table's RLS would also apply to the
|
|
99
|
+
// engine's own data-access path and break it).
|
|
100
|
+
let rlsStatements = [];
|
|
101
|
+
if (options.rls !== undefined) {
|
|
102
|
+
const roleReady = await provisionRlsRole(pool, options.rls.role, warnings);
|
|
103
|
+
if (roleReady) {
|
|
104
|
+
const { rows } = await pool.query('SELECT current_user AS u');
|
|
105
|
+
const currentUser = String(rows[0].u);
|
|
106
|
+
for (const def of defs.values()) {
|
|
107
|
+
const actualTable = actual.get(def.name);
|
|
108
|
+
const applies = actualTable === undefined || (def.alter === true && actualTable.owner === currentUser);
|
|
109
|
+
if (!applies) {
|
|
110
|
+
if (actualTable !== undefined) {
|
|
111
|
+
warnings.push(`skip RLS on "${def.name}": not owned by ${currentUser} (run migrate as the table owner)`);
|
|
112
|
+
}
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
rlsStatements = rlsStatements.concat(diffRls(def, actualTable, options.rls.role));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const allStatements = [...statements, ...rlsStatements];
|
|
120
|
+
if (!dryRun && allStatements.length > 0) {
|
|
121
|
+
await ensureMetaTable(pool);
|
|
122
|
+
await applyStatements(pool, allStatements);
|
|
123
|
+
const ts = new Date().toISOString();
|
|
124
|
+
for (const name of applied)
|
|
125
|
+
await setMeta(pool, `schema.applied.${name}`, ts);
|
|
126
|
+
}
|
|
127
|
+
return { statements: allStatements, applied, dryRun, warnings };
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
await pool.end();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/storage/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,EAAE,CAAC,UAAe,GAAG,EAAE,CAAC,IAAI,CAEpF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,UAAyB,EAAE;IACzE,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { ObjectDefinition } from '../types/index.js';
|
|
2
|
+
import type { ActualTable } from './inspect.js';
|
|
3
|
+
/**
|
|
4
|
+
* Read-only schema ↔ table mapping report (`weave schema:map`): pairs every
|
|
5
|
+
* declared schema field with its expected PostgreSQL column, its constraints,
|
|
6
|
+
* and (when the table exists) the live column state. Pure — feed it a loaded
|
|
7
|
+
* registry and an `inspectSchema(pool, { detail: true })` map; it never emits
|
|
8
|
+
* DDL and never writes. `details` child auto columns and undeclared ("extra")
|
|
9
|
+
* DB columns are reported, never dropped.
|
|
10
|
+
*/
|
|
11
|
+
/** per-column drift status against the live table */
|
|
12
|
+
export type MappingColumnStatus = 'ok' | 'missing' | 'type' | 'nullable' | 'extra';
|
|
13
|
+
export interface MappingColumn {
|
|
14
|
+
/** schema field name (`-` for an extra DB column not declared in the schema) */
|
|
15
|
+
field: string;
|
|
16
|
+
/** schema field type (`relation → target.pk` for FK fields; `auto` for details columns) */
|
|
17
|
+
schemaType: string;
|
|
18
|
+
/** database column name */
|
|
19
|
+
column: string;
|
|
20
|
+
/** expected PostgreSQL type from the DDL mapping */
|
|
21
|
+
pgType: string;
|
|
22
|
+
notNull: boolean;
|
|
23
|
+
primary: boolean;
|
|
24
|
+
unique: boolean;
|
|
25
|
+
/** expected DEFAULT expression, when the schema declares one */
|
|
26
|
+
default?: string;
|
|
27
|
+
fk?: {
|
|
28
|
+
table: string;
|
|
29
|
+
column: string;
|
|
30
|
+
onDelete: string;
|
|
31
|
+
};
|
|
32
|
+
index?: {
|
|
33
|
+
name: string;
|
|
34
|
+
method: string;
|
|
35
|
+
};
|
|
36
|
+
/** engine-managed details-child column (`parent_id`/`parent_type`/`parent_idx`) */
|
|
37
|
+
auto?: boolean;
|
|
38
|
+
/** live column state (absent when the table or the column does not exist) */
|
|
39
|
+
actual?: {
|
|
40
|
+
pgType: string;
|
|
41
|
+
notNull: boolean;
|
|
42
|
+
default: string | null;
|
|
43
|
+
typeMatch: boolean;
|
|
44
|
+
nullableMatch: boolean;
|
|
45
|
+
};
|
|
46
|
+
status: MappingColumnStatus;
|
|
47
|
+
}
|
|
48
|
+
export interface MappingIndex {
|
|
49
|
+
name: string;
|
|
50
|
+
method: string;
|
|
51
|
+
columns: string[];
|
|
52
|
+
/** the index exists on the live table */
|
|
53
|
+
present: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface MappingFk {
|
|
56
|
+
column: string;
|
|
57
|
+
refTable: string;
|
|
58
|
+
refColumn: string;
|
|
59
|
+
onDelete: string;
|
|
60
|
+
/** the FK constraint exists on the live table */
|
|
61
|
+
present: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface MappingRls {
|
|
64
|
+
enabled: boolean;
|
|
65
|
+
owner: string;
|
|
66
|
+
policies: string[];
|
|
67
|
+
selectGrantedTo: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface MappingTable {
|
|
70
|
+
object: string;
|
|
71
|
+
table: string;
|
|
72
|
+
label?: string;
|
|
73
|
+
/** the live table exists in the database */
|
|
74
|
+
exists: boolean;
|
|
75
|
+
columns: MappingColumn[];
|
|
76
|
+
indexes: MappingIndex[];
|
|
77
|
+
fks: MappingFk[];
|
|
78
|
+
/** `details` edges declared on the object (no column on the parent table) */
|
|
79
|
+
details: Array<{
|
|
80
|
+
field: string;
|
|
81
|
+
target: string;
|
|
82
|
+
}>;
|
|
83
|
+
/** live RLS state/ownership (absent when the table does not exist) */
|
|
84
|
+
rls?: MappingRls;
|
|
85
|
+
warnings: string[];
|
|
86
|
+
/** any column missing/mismatched, or any expected index/FK absent */
|
|
87
|
+
drift: boolean;
|
|
88
|
+
}
|
|
89
|
+
export interface MappingTotals {
|
|
90
|
+
objects: number;
|
|
91
|
+
tablesMissing: number;
|
|
92
|
+
columns: number;
|
|
93
|
+
columnsOk: number;
|
|
94
|
+
columnsMissing: number;
|
|
95
|
+
columnsType: number;
|
|
96
|
+
columnsNullable: number;
|
|
97
|
+
columnsExtra: number;
|
|
98
|
+
indexDrift: number;
|
|
99
|
+
fkDrift: number;
|
|
100
|
+
}
|
|
101
|
+
export interface MappingReport {
|
|
102
|
+
tables: MappingTable[];
|
|
103
|
+
totals: MappingTotals;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Build the schema ↔ table mapping report for every object in `defs`, drawn
|
|
107
|
+
* against the live `actual` map. Tables absent from `actual` are reported with
|
|
108
|
+
* all columns `missing` (what `weave migrate` would CREATE).
|
|
109
|
+
*/
|
|
110
|
+
export declare function buildMappingReport(defs: readonly ObjectDefinition[], actual: ReadonlyMap<string, ActualTable>): MappingReport;
|
|
111
|
+
//# sourceMappingURL=report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/core/storage/report.ts"],"names":[],"mappings":"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"}
|