@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,55 @@
|
|
|
1
|
+
import type { Pool } from 'pg';
|
|
2
|
+
export interface ActualColumn {
|
|
3
|
+
name: string;
|
|
4
|
+
dataType: string;
|
|
5
|
+
isNullable: boolean;
|
|
6
|
+
columnDefault: string | null;
|
|
7
|
+
/** pg type name (`udt_name`): distinguishes arrays (`_text`), enums, domains */
|
|
8
|
+
udtName?: string;
|
|
9
|
+
/** numeric precision (numeric/decimal); null when not numeric */
|
|
10
|
+
numericPrecision?: number | null;
|
|
11
|
+
/** numeric scale (numeric/decimal); null when not numeric */
|
|
12
|
+
numericScale?: number | null;
|
|
13
|
+
/** enum labels when the column is a user-defined enum (detail only) */
|
|
14
|
+
enumLabels?: string[];
|
|
15
|
+
/** column comment (detail only) */
|
|
16
|
+
comment?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ActualFk {
|
|
19
|
+
column: string;
|
|
20
|
+
refTable: string;
|
|
21
|
+
refColumn: string;
|
|
22
|
+
/** FK ON DELETE action (detail only): cascade | set_null | restrict | no_action | set_default */
|
|
23
|
+
onDelete?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ActualTable {
|
|
26
|
+
name: string;
|
|
27
|
+
columns: ActualColumn[];
|
|
28
|
+
pk: string[];
|
|
29
|
+
fks: ActualFk[];
|
|
30
|
+
indexNames: string[];
|
|
31
|
+
/** owning role name (for RLS ownership gating); present when the table exists */
|
|
32
|
+
owner?: string;
|
|
33
|
+
/** whether row-level security is enabled */
|
|
34
|
+
rlsEnabled?: boolean;
|
|
35
|
+
/** policy names on the table */
|
|
36
|
+
rlsPolicies?: string[];
|
|
37
|
+
/** roles granted SELECT (for the restricted-SQL role grant) */
|
|
38
|
+
selectGrantedTo?: string[];
|
|
39
|
+
/** table comment (detail only) */
|
|
40
|
+
comment?: string;
|
|
41
|
+
/** single-column unique (non-primary) columns (detail only) */
|
|
42
|
+
uniqueColumns?: string[];
|
|
43
|
+
}
|
|
44
|
+
export interface InspectOptions {
|
|
45
|
+
/**
|
|
46
|
+
* fetch extra catalog detail used by reverse modeling (`weave introspect`):
|
|
47
|
+
* enum labels, table/column comments, single-column unique constraints and
|
|
48
|
+
* FK on-delete actions. Off by default so `migrate`/drift checks run zero
|
|
49
|
+
* extra queries.
|
|
50
|
+
*/
|
|
51
|
+
detail?: boolean;
|
|
52
|
+
}
|
|
53
|
+
/** read the current schema of every table in the connection's schema */
|
|
54
|
+
export declare function inspectSchema(pool: Pool, options?: InspectOptions): Promise<Map<string, ActualTable>>;
|
|
55
|
+
//# sourceMappingURL=inspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/core/storage/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,QAAQ,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAWD,wEAAwE;AACxE,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CA8H/G"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/** map a pg `confdeltype` char to a readable action name */
|
|
2
|
+
const FK_DELETE_ACTIONS = {
|
|
3
|
+
a: 'no_action',
|
|
4
|
+
r: 'restrict',
|
|
5
|
+
c: 'cascade',
|
|
6
|
+
n: 'set_null',
|
|
7
|
+
d: 'set_default',
|
|
8
|
+
};
|
|
9
|
+
/** read the current schema of every table in the connection's schema */
|
|
10
|
+
export async function inspectSchema(pool, options = {}) {
|
|
11
|
+
const tables = new Map();
|
|
12
|
+
const cols = await pool.query(`SELECT table_name, column_name, data_type, is_nullable, column_default,
|
|
13
|
+
udt_name, numeric_precision, numeric_scale
|
|
14
|
+
FROM information_schema.columns
|
|
15
|
+
WHERE table_schema = current_schema()`);
|
|
16
|
+
for (const row of cols.rows) {
|
|
17
|
+
const t = tables.get(row.table_name) ?? {
|
|
18
|
+
name: row.table_name,
|
|
19
|
+
columns: [],
|
|
20
|
+
pk: [],
|
|
21
|
+
fks: [],
|
|
22
|
+
indexNames: [],
|
|
23
|
+
owner: '',
|
|
24
|
+
rlsEnabled: false,
|
|
25
|
+
rlsPolicies: [],
|
|
26
|
+
selectGrantedTo: [],
|
|
27
|
+
};
|
|
28
|
+
t.columns.push({
|
|
29
|
+
name: row.column_name,
|
|
30
|
+
dataType: row.data_type,
|
|
31
|
+
isNullable: row.is_nullable === 'YES',
|
|
32
|
+
columnDefault: row.column_default,
|
|
33
|
+
udtName: row.udt_name ?? undefined,
|
|
34
|
+
numericPrecision: row.numeric_precision,
|
|
35
|
+
numericScale: row.numeric_scale,
|
|
36
|
+
});
|
|
37
|
+
tables.set(row.table_name, t);
|
|
38
|
+
}
|
|
39
|
+
const pkRows = await pool.query(`SELECT tc.table_name, kcu.column_name
|
|
40
|
+
FROM information_schema.table_constraints tc
|
|
41
|
+
JOIN information_schema.key_column_usage kcu
|
|
42
|
+
ON tc.constraint_name = kcu.constraint_name AND tc.constraint_schema = kcu.constraint_schema
|
|
43
|
+
WHERE tc.constraint_type = 'PRIMARY KEY' AND tc.table_schema = current_schema()`);
|
|
44
|
+
for (const row of pkRows.rows) {
|
|
45
|
+
tables.get(row.table_name)?.pk.push(row.column_name);
|
|
46
|
+
}
|
|
47
|
+
const fkRows = await pool.query(`SELECT tc.table_name, kcu.column_name, ccu.table_name AS ref_table, ccu.column_name AS ref_column
|
|
48
|
+
FROM information_schema.table_constraints tc
|
|
49
|
+
JOIN information_schema.key_column_usage kcu
|
|
50
|
+
ON tc.constraint_name = kcu.constraint_name AND tc.constraint_schema = kcu.constraint_schema
|
|
51
|
+
JOIN information_schema.constraint_column_usage ccu
|
|
52
|
+
ON tc.constraint_name = ccu.constraint_name AND tc.constraint_schema = ccu.constraint_schema
|
|
53
|
+
WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_schema = current_schema()`);
|
|
54
|
+
for (const row of fkRows.rows) {
|
|
55
|
+
tables.get(row.table_name)?.fks.push({
|
|
56
|
+
column: row.column_name,
|
|
57
|
+
refTable: row.ref_table,
|
|
58
|
+
refColumn: row.ref_column,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const idxRows = await pool.query(`SELECT tablename, indexname FROM pg_indexes WHERE schemaname = current_schema()`);
|
|
62
|
+
for (const row of idxRows.rows) {
|
|
63
|
+
tables.get(row.tablename)?.indexNames.push(row.indexname);
|
|
64
|
+
}
|
|
65
|
+
// RLS state + ownership per table
|
|
66
|
+
const rlsRows = await pool.query(`SELECT c.relname, c.relrowsecurity, r.rolname AS owner
|
|
67
|
+
FROM pg_class c
|
|
68
|
+
JOIN pg_roles r ON c.relowner = r.oid
|
|
69
|
+
WHERE c.relkind = 'r' AND c.relnamespace = current_schema()::regnamespace`);
|
|
70
|
+
for (const row of rlsRows.rows) {
|
|
71
|
+
const t = tables.get(row.relname);
|
|
72
|
+
if (t !== undefined) {
|
|
73
|
+
t.rlsEnabled = row.relrowsecurity;
|
|
74
|
+
t.owner = row.owner;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const policyRows = await pool.query(`SELECT tablename, policyname FROM pg_policies WHERE schemaname = current_schema()`);
|
|
78
|
+
for (const row of policyRows.rows) {
|
|
79
|
+
const t = tables.get(row.tablename);
|
|
80
|
+
if (t !== undefined)
|
|
81
|
+
(t.rlsPolicies ??= []).push(row.policyname);
|
|
82
|
+
}
|
|
83
|
+
// roles granted SELECT (for the restricted-SQL role grant; PUBLIC grants are
|
|
84
|
+
// ignored — if PUBLIC has SELECT the role inherits it, and a redundant GRANT
|
|
85
|
+
// would just be emitted)
|
|
86
|
+
const grantRows = await pool.query(`SELECT c.relname AS table_name, r.rolname AS role
|
|
87
|
+
FROM pg_class c
|
|
88
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
89
|
+
CROSS JOIN LATERAL aclexplode(COALESCE(c.relacl, acldefault('r', c.relowner))) acl
|
|
90
|
+
JOIN pg_roles r ON r.oid = acl.grantee
|
|
91
|
+
WHERE n.nspname = current_schema() AND acl.privilege_type = 'SELECT'`);
|
|
92
|
+
for (const row of grantRows.rows) {
|
|
93
|
+
const t = tables.get(row.table_name);
|
|
94
|
+
if (t !== undefined)
|
|
95
|
+
(t.selectGrantedTo ??= []).push(row.role);
|
|
96
|
+
}
|
|
97
|
+
if (options.detail === true) {
|
|
98
|
+
await loadDetail(pool, tables);
|
|
99
|
+
}
|
|
100
|
+
return tables;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Extra catalog reads for reverse modeling (enum labels, comments, single-column
|
|
104
|
+
* unique constraints, FK on-delete actions). Runs only when `detail` is set so
|
|
105
|
+
* `migrate`/drift checks stay query-lean.
|
|
106
|
+
*/
|
|
107
|
+
async function loadDetail(pool, tables) {
|
|
108
|
+
const enumRows = await pool.query(`SELECT c.relname AS table_name, a.attname AS column_name, e.enumlabel AS label
|
|
109
|
+
FROM pg_attribute a
|
|
110
|
+
JOIN pg_class c ON a.attrelid = c.oid
|
|
111
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
112
|
+
JOIN pg_type t ON a.atttypid = t.oid
|
|
113
|
+
JOIN pg_enum e ON e.enumtypid = t.oid
|
|
114
|
+
WHERE n.nspname = current_schema() AND a.attnum > 0 AND NOT a.attisdropped
|
|
115
|
+
ORDER BY c.relname, a.attnum, e.enumsortorder`);
|
|
116
|
+
for (const row of enumRows.rows) {
|
|
117
|
+
const col = tables.get(row.table_name)?.columns.find((c) => c.name === row.column_name);
|
|
118
|
+
if (col !== undefined)
|
|
119
|
+
(col.enumLabels ??= []).push(row.label);
|
|
120
|
+
}
|
|
121
|
+
const tableComments = await pool.query(`SELECT c.relname AS table_name, obj_description(c.oid, 'pg_class') AS comment
|
|
122
|
+
FROM pg_class c
|
|
123
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
124
|
+
WHERE n.nspname = current_schema() AND c.relkind = 'r'`);
|
|
125
|
+
for (const row of tableComments.rows) {
|
|
126
|
+
const t = tables.get(row.table_name);
|
|
127
|
+
if (t !== undefined && row.comment !== null)
|
|
128
|
+
t.comment = row.comment;
|
|
129
|
+
}
|
|
130
|
+
const columnComments = await pool.query(`SELECT c.relname AS table_name, a.attname AS column_name, col_description(c.oid, a.attnum) AS comment
|
|
131
|
+
FROM pg_class c
|
|
132
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
133
|
+
JOIN pg_attribute a ON a.attrelid = c.oid AND a.attnum > 0 AND NOT a.attisdropped
|
|
134
|
+
WHERE n.nspname = current_schema() AND c.relkind = 'r'`);
|
|
135
|
+
for (const row of columnComments.rows) {
|
|
136
|
+
const col = tables.get(row.table_name)?.columns.find((c) => c.name === row.column_name);
|
|
137
|
+
if (col !== undefined && row.comment !== null)
|
|
138
|
+
col.comment = row.comment;
|
|
139
|
+
}
|
|
140
|
+
const uniqueRows = await pool.query(`SELECT c.relname AS table_name, a.attname AS column_name
|
|
141
|
+
FROM pg_index i
|
|
142
|
+
JOIN pg_class c ON i.indrelid = c.oid
|
|
143
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
144
|
+
JOIN pg_attribute a ON a.attrelid = c.oid AND a.attnum = ANY(i.indkey)
|
|
145
|
+
WHERE n.nspname = current_schema() AND i.indisunique AND NOT i.indisprimary AND i.indnkeyatts = 1`);
|
|
146
|
+
for (const row of uniqueRows.rows) {
|
|
147
|
+
const t = tables.get(row.table_name);
|
|
148
|
+
if (t !== undefined)
|
|
149
|
+
(t.uniqueColumns ??= []).push(row.column_name);
|
|
150
|
+
}
|
|
151
|
+
const fkDeleteRows = await pool.query(`SELECT c.relname AS table_name, a.attname AS column_name, con.confdeltype
|
|
152
|
+
FROM pg_constraint con
|
|
153
|
+
JOIN pg_class c ON con.conrelid = c.oid
|
|
154
|
+
JOIN pg_namespace n ON c.relnamespace = n.oid
|
|
155
|
+
JOIN pg_attribute a ON a.attrelid = con.conrelid AND a.attnum = ANY(con.conkey)
|
|
156
|
+
WHERE con.contype = 'f' AND n.nspname = current_schema()`);
|
|
157
|
+
for (const row of fkDeleteRows.rows) {
|
|
158
|
+
const fk = tables.get(row.table_name)?.fks.find((f) => f.column === row.column_name);
|
|
159
|
+
if (fk !== undefined)
|
|
160
|
+
fk.onDelete = FK_DELETE_ACTIONS[row.confdeltype] ?? 'restrict';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/core/storage/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ObjectDefinition } from '../types/index.js';
|
|
2
|
+
import type { ActualTable } from './inspect.js';
|
|
3
|
+
/** one object produced by reverse modeling (already validated) */
|
|
4
|
+
export interface IntrospectedObject {
|
|
5
|
+
/** object name (= table name) */
|
|
6
|
+
name: string;
|
|
7
|
+
/** source table name */
|
|
8
|
+
table: string;
|
|
9
|
+
/** validated object definition (ready to serialize to `objects/<name>/schema.json`) */
|
|
10
|
+
schema: ObjectDefinition;
|
|
11
|
+
}
|
|
12
|
+
/** a table that was not converted (with a human-readable reason) */
|
|
13
|
+
export interface IntrospectSkip {
|
|
14
|
+
table: string;
|
|
15
|
+
reason: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IntrospectReport {
|
|
18
|
+
objects: IntrospectedObject[];
|
|
19
|
+
skipped: IntrospectSkip[];
|
|
20
|
+
warnings: string[];
|
|
21
|
+
suggestions: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface IntrospectMapOptions {
|
|
24
|
+
/** only convert these tables (table names) */
|
|
25
|
+
include?: string[];
|
|
26
|
+
/** never convert these tables (table names) */
|
|
27
|
+
exclude?: string[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Reverse-model live PostgreSQL tables into engine object drafts. Pure (no I/O):
|
|
31
|
+
* feed it an `inspectSchema(pool, { detail: true })` map. Objects that fail
|
|
32
|
+
* validation (composite/missing PK, non-snake_case names, unsupported PK type)
|
|
33
|
+
* are reported in `skipped`, never silently dropped.
|
|
34
|
+
*/
|
|
35
|
+
export declare function mapToSchema(tables: Map<string, ActualTable>, options?: IntrospectMapOptions): IntrospectReport;
|
|
36
|
+
//# sourceMappingURL=introspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AA0ID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,gBAAgB,CA2ElH"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { validateObject } from '../object/validate.js';
|
|
2
|
+
import { FIELD_TYPES, ON_DELETE_ACTIONS } from '../types/values.js';
|
|
3
|
+
const SNAKE_CASE = /^[a-z][a-z0-9_]*$/;
|
|
4
|
+
/** PostgreSQL `information_schema.columns.data_type` → engine field type (primitives only) */
|
|
5
|
+
const PG_TO_FIELD = {
|
|
6
|
+
'character varying': FIELD_TYPES.STRING,
|
|
7
|
+
character: FIELD_TYPES.STRING,
|
|
8
|
+
bpchar: FIELD_TYPES.STRING,
|
|
9
|
+
text: FIELD_TYPES.TEXT,
|
|
10
|
+
integer: FIELD_TYPES.INTEGER,
|
|
11
|
+
smallint: FIELD_TYPES.INTEGER,
|
|
12
|
+
bigint: FIELD_TYPES.NUMBER,
|
|
13
|
+
numeric: FIELD_TYPES.NUMBER,
|
|
14
|
+
decimal: FIELD_TYPES.NUMBER,
|
|
15
|
+
real: FIELD_TYPES.NUMBER,
|
|
16
|
+
'double precision': FIELD_TYPES.NUMBER,
|
|
17
|
+
boolean: FIELD_TYPES.BOOLEAN,
|
|
18
|
+
'timestamp with time zone': FIELD_TYPES.DATETIME,
|
|
19
|
+
'timestamp without time zone': FIELD_TYPES.DATETIME,
|
|
20
|
+
date: FIELD_TYPES.DATE,
|
|
21
|
+
json: FIELD_TYPES.JSON,
|
|
22
|
+
jsonb: FIELD_TYPES.JSON,
|
|
23
|
+
uuid: FIELD_TYPES.STRING,
|
|
24
|
+
};
|
|
25
|
+
/** readable on-delete action (from `inspect.ts`) → engine `ON_DELETE_ACTIONS` (restrict is the default and omitted) */
|
|
26
|
+
const FK_ON_DELETE = {
|
|
27
|
+
cascade: ON_DELETE_ACTIONS.CASCADE,
|
|
28
|
+
set_null: ON_DELETE_ACTIONS.SET_NULL,
|
|
29
|
+
};
|
|
30
|
+
/** normalize a PostgreSQL column default into an engine-field default (or mark it unrepresentable) */
|
|
31
|
+
function normalizeDefault(raw, type) {
|
|
32
|
+
const trimmed = raw.trim();
|
|
33
|
+
if (/^now\(\)$/i.test(trimmed) || /^current_timestamp$/i.test(trimmed)) {
|
|
34
|
+
return type === FIELD_TYPES.DATETIME || type === FIELD_TYPES.DATE ? { value: 'now' } : { unsupported: true };
|
|
35
|
+
}
|
|
36
|
+
// any other function call (nextval(...), gen_random_uuid(), ...) is not representable
|
|
37
|
+
if (/\(/.test(trimmed))
|
|
38
|
+
return { unsupported: true };
|
|
39
|
+
const withoutCast = trimmed.replace(/::[\s\S]+$/, '').trim();
|
|
40
|
+
const quoted = /^'(.*)'$/.exec(withoutCast);
|
|
41
|
+
const literal = quoted !== null ? quoted[1].replace(/''/g, "'") : withoutCast;
|
|
42
|
+
switch (type) {
|
|
43
|
+
case FIELD_TYPES.BOOLEAN:
|
|
44
|
+
if (literal === 'true')
|
|
45
|
+
return { value: true };
|
|
46
|
+
if (literal === 'false')
|
|
47
|
+
return { value: false };
|
|
48
|
+
return { unsupported: true };
|
|
49
|
+
case FIELD_TYPES.INTEGER:
|
|
50
|
+
case FIELD_TYPES.NUMBER:
|
|
51
|
+
case FIELD_TYPES.CURRENCY: {
|
|
52
|
+
const n = Number(literal);
|
|
53
|
+
return Number.isFinite(n) ? { value: n } : { unsupported: true };
|
|
54
|
+
}
|
|
55
|
+
case FIELD_TYPES.DATETIME:
|
|
56
|
+
case FIELD_TYPES.DATE:
|
|
57
|
+
case FIELD_TYPES.STRING:
|
|
58
|
+
case FIELD_TYPES.TEXT:
|
|
59
|
+
case FIELD_TYPES.ENUM:
|
|
60
|
+
case FIELD_TYPES.FIRST_NAME:
|
|
61
|
+
case FIELD_TYPES.LAST_NAME:
|
|
62
|
+
case FIELD_TYPES.EMAIL:
|
|
63
|
+
case FIELD_TYPES.PHONE:
|
|
64
|
+
case FIELD_TYPES.IMAGE:
|
|
65
|
+
return { value: literal };
|
|
66
|
+
default:
|
|
67
|
+
return { unsupported: true };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** map one PostgreSQL column to an engine field (undefined = unsupported; a warning is pushed) */
|
|
71
|
+
function mapColumn(col, table, warnings) {
|
|
72
|
+
const base = { name: col.name };
|
|
73
|
+
if (col.comment !== undefined)
|
|
74
|
+
base.label = col.comment;
|
|
75
|
+
const required = col.isNullable ? undefined : true;
|
|
76
|
+
const unique = table.uniqueColumns?.includes(col.name) === true && !table.pk.includes(col.name);
|
|
77
|
+
const fk = table.fks.find((f) => f.column === col.name);
|
|
78
|
+
if (fk !== undefined) {
|
|
79
|
+
if (!SNAKE_CASE.test(fk.refTable)) {
|
|
80
|
+
warnings.push(`column "${table.name}.${col.name}": FK target table "${fk.refTable}" is not a valid object name — skipped`);
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
const field = { ...base, type: FIELD_TYPES.RELATION, target: fk.refTable };
|
|
84
|
+
if (required === true)
|
|
85
|
+
field.required = true;
|
|
86
|
+
if (unique)
|
|
87
|
+
field.unique = true;
|
|
88
|
+
const onDelete = fk.onDelete === undefined ? undefined : FK_ON_DELETE[fk.onDelete];
|
|
89
|
+
if (onDelete !== undefined)
|
|
90
|
+
field.onDelete = onDelete;
|
|
91
|
+
return field;
|
|
92
|
+
}
|
|
93
|
+
// user-defined enum (labels come from the detail inspect)
|
|
94
|
+
if (col.enumLabels !== undefined && col.enumLabels.length > 0) {
|
|
95
|
+
const field = { ...base, type: FIELD_TYPES.ENUM, options: [...col.enumLabels] };
|
|
96
|
+
if (required === true)
|
|
97
|
+
field.required = true;
|
|
98
|
+
if (unique)
|
|
99
|
+
field.unique = true;
|
|
100
|
+
if (col.columnDefault !== null) {
|
|
101
|
+
const def = normalizeDefault(col.columnDefault, FIELD_TYPES.ENUM);
|
|
102
|
+
if (def.value !== undefined)
|
|
103
|
+
field.default = def.value;
|
|
104
|
+
else if (def.unsupported === true)
|
|
105
|
+
warnings.push(`column "${table.name}.${col.name}": default "${col.columnDefault}" not representable — omitted`);
|
|
106
|
+
}
|
|
107
|
+
return field;
|
|
108
|
+
}
|
|
109
|
+
if (col.udtName?.startsWith('_') === true || col.dataType === 'ARRAY') {
|
|
110
|
+
warnings.push(`column "${table.name}.${col.name}": array type not supported — skipped`);
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
const fieldType = PG_TO_FIELD[col.dataType];
|
|
114
|
+
if (fieldType === undefined) {
|
|
115
|
+
warnings.push(`column "${table.name}.${col.name}": type "${col.dataType}" not supported — skipped`);
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
if (col.dataType === 'bigint')
|
|
119
|
+
warnings.push(`column "${table.name}.${col.name}": bigint mapped to number`);
|
|
120
|
+
if (col.dataType === 'uuid')
|
|
121
|
+
warnings.push(`column "${table.name}.${col.name}": uuid mapped to string (no engine uuid type)`);
|
|
122
|
+
const field = { ...base, type: fieldType };
|
|
123
|
+
if (required === true)
|
|
124
|
+
field.required = true;
|
|
125
|
+
if (unique)
|
|
126
|
+
field.unique = true;
|
|
127
|
+
if (fieldType === FIELD_TYPES.NUMBER && col.numericPrecision !== undefined && col.numericPrecision !== null) {
|
|
128
|
+
field.precision = col.numericPrecision;
|
|
129
|
+
}
|
|
130
|
+
if (col.columnDefault !== null) {
|
|
131
|
+
const def = normalizeDefault(col.columnDefault, fieldType);
|
|
132
|
+
if (def.value !== undefined)
|
|
133
|
+
field.default = def.value;
|
|
134
|
+
else if (def.unsupported === true)
|
|
135
|
+
warnings.push(`column "${table.name}.${col.name}": default "${col.columnDefault}" not representable — omitted`);
|
|
136
|
+
}
|
|
137
|
+
return field;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Reverse-model live PostgreSQL tables into engine object drafts. Pure (no I/O):
|
|
141
|
+
* feed it an `inspectSchema(pool, { detail: true })` map. Objects that fail
|
|
142
|
+
* validation (composite/missing PK, non-snake_case names, unsupported PK type)
|
|
143
|
+
* are reported in `skipped`, never silently dropped.
|
|
144
|
+
*/
|
|
145
|
+
export function mapToSchema(tables, options = {}) {
|
|
146
|
+
const include = options.include === undefined ? undefined : new Set(options.include);
|
|
147
|
+
const exclude = options.exclude === undefined ? undefined : new Set(options.exclude);
|
|
148
|
+
const objects = [];
|
|
149
|
+
const skipped = [];
|
|
150
|
+
const warnings = [];
|
|
151
|
+
const suggestions = [];
|
|
152
|
+
for (const name of [...tables.keys()].sort()) {
|
|
153
|
+
if (include !== undefined && !include.has(name))
|
|
154
|
+
continue;
|
|
155
|
+
if (exclude?.has(name) === true)
|
|
156
|
+
continue;
|
|
157
|
+
const table = tables.get(name);
|
|
158
|
+
if (table === undefined)
|
|
159
|
+
continue;
|
|
160
|
+
if (!SNAKE_CASE.test(name)) {
|
|
161
|
+
skipped.push({ table: name, reason: 'table name is not snake_case (object name must match ^[a-z][a-z0-9_]*$)' });
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (table.pk.length !== 1) {
|
|
165
|
+
skipped.push({
|
|
166
|
+
table: name,
|
|
167
|
+
reason: table.pk.length === 0 ? 'missing primary key' : 'composite primary key not supported',
|
|
168
|
+
});
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const pkName = table.pk[0];
|
|
172
|
+
const pkCol = table.columns.find((c) => c.name === pkName);
|
|
173
|
+
if (pkCol === undefined) {
|
|
174
|
+
skipped.push({ table: name, reason: `primary key column "${pkName}" not found` });
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
let badColumn;
|
|
178
|
+
for (const col of table.columns) {
|
|
179
|
+
if (col.name === pkName)
|
|
180
|
+
continue;
|
|
181
|
+
if (!SNAKE_CASE.test(col.name)) {
|
|
182
|
+
badColumn = col.name;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (badColumn !== undefined) {
|
|
187
|
+
skipped.push({ table: name, reason: `column name "${badColumn}" is not snake_case` });
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
const pkField = mapColumn(pkCol, table, warnings);
|
|
191
|
+
if (pkField === undefined) {
|
|
192
|
+
skipped.push({ table: name, reason: `primary key column "${pkName}" type not supported` });
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
pkField.primary = true;
|
|
196
|
+
const fields = [pkField];
|
|
197
|
+
for (const col of table.columns) {
|
|
198
|
+
if (col.name === pkName)
|
|
199
|
+
continue;
|
|
200
|
+
const mapped = mapColumn(col, table, warnings);
|
|
201
|
+
if (mapped !== undefined)
|
|
202
|
+
fields.push(mapped);
|
|
203
|
+
}
|
|
204
|
+
const schema = { name, alter: false, fields };
|
|
205
|
+
if (table.comment !== undefined)
|
|
206
|
+
schema.label = table.comment;
|
|
207
|
+
try {
|
|
208
|
+
const validated = validateObject(schema, { nameHint: name });
|
|
209
|
+
objects.push({ name, table: name, schema: validated });
|
|
210
|
+
for (const f of validated.fields) {
|
|
211
|
+
if (f.name === 'owner_id' && f.ownership !== true)
|
|
212
|
+
suggestions.push(`"${name}.owner_id": consider marking ownership: true`);
|
|
213
|
+
if (f.name === 'team_id' && f.team !== true)
|
|
214
|
+
suggestions.push(`"${name}.team_id": consider marking team: true`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
skipped.push({ table: name, reason: error instanceof Error ? error.message : String(error) });
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return { objects, skipped, warnings, suggestions };
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=introspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../src/core/storage/introspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FieldDefinition } from '../types/index.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 declare function pgType(field: FieldDefinition, targetPkType: string | undefined): string;
|
|
7
|
+
/** SQL DEFAULT expression for a field's `default` value, or undefined (no default) */
|
|
8
|
+
export declare function defaultExpr(field: FieldDefinition): string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Compare a declared column type (`pgType()` output, e.g. `VARCHAR(255)`,
|
|
11
|
+
* `NUMERIC(12,2)`, `TEXT[]`) against a live `information_schema` column, for
|
|
12
|
+
* the `weave schema:map` drift report. Length on `VARCHAR` is ignored (brownfield
|
|
13
|
+
* tables often declare an unbounded/bespoke varchar); numeric precision/scale is
|
|
14
|
+
* compared only when the declared type specifies them.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pgTypeMatches(expected: string, actual: {
|
|
17
|
+
dataType: string;
|
|
18
|
+
udtName?: string;
|
|
19
|
+
numericPrecision?: number | null;
|
|
20
|
+
numericScale?: number | null;
|
|
21
|
+
}): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Map a declared `onDelete` action value to the SQL `ON DELETE` clause fragment.
|
|
24
|
+
* Values are the single source `ON_DELETE_ACTIONS` (`cascade`/`restrict`/
|
|
25
|
+
* `set_null`); the SQL spelling differs for `set_null` → `SET NULL` (a bare
|
|
26
|
+
* `SET_NULL` is invalid PostgreSQL). Unknown values fall back to `RESTRICT`
|
|
27
|
+
* (the DDL default) so a stray value never emits broken SQL.
|
|
28
|
+
*/
|
|
29
|
+
export declare function onDeleteClause(action: string | undefined): string;
|
|
30
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/core/storage/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAuCvF;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CA6BtE;AASD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GACA,OAAO,CA8CT;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUjE"}
|