@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,83 @@
|
|
|
1
|
+
import { APPROVAL_STATUSES, SchemaError } from '../../core/index.js';
|
|
2
|
+
import { resolvePagination } from '../../runtime/data-access/index.js';
|
|
3
|
+
import { authenticateRequest, checkRateLimit, readDate, readInt, readString, requireAdmin, } from './common.js';
|
|
4
|
+
const VALID_STATUSES = new Set(Object.values(APPROVAL_STATUSES));
|
|
5
|
+
function parseStatus(raw, locale) {
|
|
6
|
+
if (raw === undefined)
|
|
7
|
+
return undefined;
|
|
8
|
+
if (!VALID_STATUSES.has(raw))
|
|
9
|
+
throw new SchemaError('http.param.invalid', { param: 'status' }, locale);
|
|
10
|
+
return raw;
|
|
11
|
+
}
|
|
12
|
+
function parseFilter(query, locale) {
|
|
13
|
+
const filter = {};
|
|
14
|
+
const status = parseStatus(readString(query, 'status', locale), locale);
|
|
15
|
+
if (status !== undefined)
|
|
16
|
+
filter.status = status;
|
|
17
|
+
const action = readString(query, 'action', locale);
|
|
18
|
+
if (action !== undefined)
|
|
19
|
+
filter.action = action;
|
|
20
|
+
const actorKey = readString(query, 'actorKey', locale);
|
|
21
|
+
if (actorKey !== undefined)
|
|
22
|
+
filter.actorKey = actorKey;
|
|
23
|
+
const from = readDate(query, 'from', locale);
|
|
24
|
+
if (from !== undefined)
|
|
25
|
+
filter.from = from;
|
|
26
|
+
const to = readDate(query, 'to', locale);
|
|
27
|
+
if (to !== undefined)
|
|
28
|
+
filter.to = to;
|
|
29
|
+
const sort = readString(query, 'sort', locale);
|
|
30
|
+
if (sort !== undefined) {
|
|
31
|
+
filter.sort = { field: sort, order: readString(query, 'order', locale) === 'ASC' ? 'ASC' : 'DESC' };
|
|
32
|
+
}
|
|
33
|
+
return filter;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Approval queue routes (D1 depth-1 read + local write; MCP tools deferred):
|
|
37
|
+
* GET {prefix}/approvals — paged list with status/action/actorKey/time filters
|
|
38
|
+
* POST {prefix}/approvals/:key/approve — resolve a pending entry (admin)
|
|
39
|
+
* POST {prefix}/approvals/:key/reject — resolve a pending entry (admin)
|
|
40
|
+
*
|
|
41
|
+
* Reads and writes are gated to `adminRoles` (the queue carries request args —
|
|
42
|
+
* a write authority boundary). Approver id comes from the authenticated subject;
|
|
43
|
+
* resolution is audited (A7) by the queue facade. Cross-instance remote
|
|
44
|
+
* approve/reject (depth 2) is not implemented.
|
|
45
|
+
*/
|
|
46
|
+
export function registerApprovalsRoutes(app, deps, options = {}) {
|
|
47
|
+
const prefix = options.prefix ?? '/api';
|
|
48
|
+
const { authenticator, locale } = deps;
|
|
49
|
+
const limiter = options.rateLimiter;
|
|
50
|
+
const approvals = deps.approvals;
|
|
51
|
+
if (approvals === undefined)
|
|
52
|
+
return;
|
|
53
|
+
const requireAdminRoles = (roles) => requireAdmin(roles, 'approvals', options.adminRoles, locale);
|
|
54
|
+
app.get(`${prefix}/approvals`, async (request) => {
|
|
55
|
+
checkRateLimit(limiter, request, locale);
|
|
56
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
57
|
+
requireAdminRoles(subject.roles);
|
|
58
|
+
const query = request.query;
|
|
59
|
+
const filter = parseFilter(query, locale);
|
|
60
|
+
const { limit, offset } = resolvePagination({
|
|
61
|
+
limit: readInt(query, 'limit', locale),
|
|
62
|
+
offset: readInt(query, 'offset', locale),
|
|
63
|
+
});
|
|
64
|
+
filter.limit = limit;
|
|
65
|
+
filter.offset = offset;
|
|
66
|
+
const [rows, total] = await Promise.all([approvals.list(filter), approvals.count(filter)]);
|
|
67
|
+
return { rows, total, limit, offset };
|
|
68
|
+
});
|
|
69
|
+
const resolveRoute = (decision) => async (request) => {
|
|
70
|
+
checkRateLimit(limiter, request, locale);
|
|
71
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
72
|
+
requireAdminRoles(subject.roles);
|
|
73
|
+
const { key } = request.params;
|
|
74
|
+
const ok = decision === 'approved' ? await approvals.approve(key, subject.id) : await approvals.reject(key, subject.id);
|
|
75
|
+
if (!ok) {
|
|
76
|
+
throw new SchemaError('approval.notFound', { approvalKey: key }, locale);
|
|
77
|
+
}
|
|
78
|
+
return { approvalKey: key, status: decision, approver: subject.id };
|
|
79
|
+
};
|
|
80
|
+
app.post(`${prefix}/approvals/:key/approve`, resolveRoute('approved'));
|
|
81
|
+
app.post(`${prefix}/approvals/:key/reject`, resolveRoute('rejected'));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=approvals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/adapters/rest/approvals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import type { RestDeps, RestOptions } from './plugin.js';
|
|
3
|
+
/**
|
|
4
|
+
* Audit route (M11, framework-agnostic): paginated audit trail for frontend
|
|
5
|
+
* audit pages (react-admin audit page / Refine `auditLogProvider`).
|
|
6
|
+
* GET {prefix}/audit?actorId&action&object&from&to&limit&offset
|
|
7
|
+
*
|
|
8
|
+
* RBAC filter (D15): audit rows carry before/after snapshots, so a regular
|
|
9
|
+
* identity only sees its own records (`actorId` defaults to its own id).
|
|
10
|
+
* Roles listed in `options.adminRoles` may query any actor (or the whole
|
|
11
|
+
* trail by omitting `actorId`). Not registered when the audit subsystem is
|
|
12
|
+
* disabled (disabled = not imported = zero overhead).
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerAuditRoutes(app: FastifyInstance, deps: RestDeps, options?: RestOptions): void;
|
|
15
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuBzD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CA8CzG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { SchemaError } from '../../core/index.js';
|
|
2
|
+
import { resolvePagination } from '../../runtime/data-access/index.js';
|
|
3
|
+
import { authenticateRequest, checkRateLimit, readDate, readInt, readString } from './common.js';
|
|
4
|
+
/** read a JSON object query param (`filter`); non-object → http.param.invalid */
|
|
5
|
+
function readFilterObject(query, key, locale) {
|
|
6
|
+
const raw = readString(query, key, locale);
|
|
7
|
+
if (raw === undefined)
|
|
8
|
+
return undefined;
|
|
9
|
+
let parsed;
|
|
10
|
+
try {
|
|
11
|
+
parsed = JSON.parse(raw);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
throw new SchemaError('http.param.invalid', { param: key }, locale);
|
|
15
|
+
}
|
|
16
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
17
|
+
throw new SchemaError('http.param.invalid', { param: key }, locale);
|
|
18
|
+
}
|
|
19
|
+
return parsed;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Audit route (M11, framework-agnostic): paginated audit trail for frontend
|
|
23
|
+
* audit pages (react-admin audit page / Refine `auditLogProvider`).
|
|
24
|
+
* GET {prefix}/audit?actorId&action&object&from&to&limit&offset
|
|
25
|
+
*
|
|
26
|
+
* RBAC filter (D15): audit rows carry before/after snapshots, so a regular
|
|
27
|
+
* identity only sees its own records (`actorId` defaults to its own id).
|
|
28
|
+
* Roles listed in `options.adminRoles` may query any actor (or the whole
|
|
29
|
+
* trail by omitting `actorId`). Not registered when the audit subsystem is
|
|
30
|
+
* disabled (disabled = not imported = zero overhead).
|
|
31
|
+
*/
|
|
32
|
+
export function registerAuditRoutes(app, deps, options = {}) {
|
|
33
|
+
const prefix = options.prefix ?? '/api';
|
|
34
|
+
const { authenticator, locale } = deps;
|
|
35
|
+
const limiter = options.rateLimiter;
|
|
36
|
+
const audit = deps.audit;
|
|
37
|
+
if (audit === undefined)
|
|
38
|
+
return;
|
|
39
|
+
const adminRoles = new Set(options.adminRoles ?? []);
|
|
40
|
+
app.get(`${prefix}/audit`, async (request) => {
|
|
41
|
+
checkRateLimit(limiter, request, locale);
|
|
42
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
43
|
+
const query = request.query;
|
|
44
|
+
const isAdmin = subject.roles.some((r) => adminRoles.has(r));
|
|
45
|
+
const rawActor = readString(query, 'actorId', locale);
|
|
46
|
+
const filter = {};
|
|
47
|
+
if (rawActor !== undefined) {
|
|
48
|
+
if (rawActor !== subject.id && !isAdmin) {
|
|
49
|
+
throw new SchemaError('audit.denied.actor', {}, locale);
|
|
50
|
+
}
|
|
51
|
+
filter.actorId = rawActor;
|
|
52
|
+
}
|
|
53
|
+
else if (!isAdmin) {
|
|
54
|
+
filter.actorId = subject.id;
|
|
55
|
+
}
|
|
56
|
+
const action = readString(query, 'action', locale);
|
|
57
|
+
if (action !== undefined)
|
|
58
|
+
filter.action = action;
|
|
59
|
+
const object = readString(query, 'object', locale);
|
|
60
|
+
if (object !== undefined)
|
|
61
|
+
filter.object = object;
|
|
62
|
+
const from = readDate(query, 'from', locale);
|
|
63
|
+
if (from !== undefined)
|
|
64
|
+
filter.from = from;
|
|
65
|
+
const to = readDate(query, 'to', locale);
|
|
66
|
+
if (to !== undefined)
|
|
67
|
+
filter.to = to;
|
|
68
|
+
const filterObj = readFilterObject(query, 'filter', locale);
|
|
69
|
+
if (filterObj !== undefined)
|
|
70
|
+
filter.filter = filterObj;
|
|
71
|
+
const { limit, offset } = resolvePagination({
|
|
72
|
+
limit: readInt(query, 'limit', locale),
|
|
73
|
+
offset: readInt(query, 'offset', locale),
|
|
74
|
+
});
|
|
75
|
+
filter.limit = limit;
|
|
76
|
+
filter.offset = offset;
|
|
77
|
+
const { rows, total } = await audit.query(filter);
|
|
78
|
+
return { rows, total, limit, offset };
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/adapters/rest/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Locale, RbacSubject } from '../../core/index.js';
|
|
2
|
+
import type { SlidingWindow } from '../../core/limiter/index.js';
|
|
3
|
+
import { type Authenticator } from '../auth/index.js';
|
|
4
|
+
/** raw API key from the Authorization header (rate-limit key, mirrors MCP) */
|
|
5
|
+
export declare function rateKey(header: string | undefined): string | undefined;
|
|
6
|
+
/** enforce the sliding window for a request; throws 429 when exceeded */
|
|
7
|
+
export declare function checkRateLimit(limiter: SlidingWindow | undefined, request: {
|
|
8
|
+
headers: {
|
|
9
|
+
authorization?: string;
|
|
10
|
+
};
|
|
11
|
+
}, locale: Locale): void;
|
|
12
|
+
/** authenticate a request against the auth source (401 on missing/invalid key) */
|
|
13
|
+
export declare function authenticateRequest(authenticator: Authenticator, request: {
|
|
14
|
+
headers: {
|
|
15
|
+
authorization?: string;
|
|
16
|
+
};
|
|
17
|
+
}, locale: Locale): Promise<RbacSubject>;
|
|
18
|
+
/**
|
|
19
|
+
* Fail-closed admin gate (SU-7b/SU-7c): the subject must carry at least one
|
|
20
|
+
* role listed in `adminRoles`. Used for admin-only source routes (server
|
|
21
|
+
* scripts, raw schema, layout writes, page lifecycle).
|
|
22
|
+
*/
|
|
23
|
+
export declare function requireAdmin(roles: string[], resource: string, adminRoles: string[] | undefined, locale: Locale): void;
|
|
24
|
+
/** read a string query param; non-string → http.param.invalid */
|
|
25
|
+
export declare function readString(query: Record<string, unknown>, key: string, locale: Locale): string | undefined;
|
|
26
|
+
/** read an ISO date query param; unparsable → http.param.invalid */
|
|
27
|
+
export declare function readDate(query: Record<string, unknown>, key: string, locale: Locale): Date | undefined;
|
|
28
|
+
/** read an integer query param; non-integer → http.param.invalid */
|
|
29
|
+
export declare function readInt(query: Record<string, unknown>, key: string, locale: Locale): number | undefined;
|
|
30
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEpE,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAItE;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,OAAO,EAAE;IAAE,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAChD,MAAM,EAAE,MAAM,GACb,IAAI,CAMN;AAED,kFAAkF;AAClF,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE;IAAE,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAChD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAEtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,GACb,IAAI,CAKN;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK1G;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAMtG;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvG"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { SchemaError } from '../../core/index.js';
|
|
2
|
+
import { authenticate } from '../auth/index.js';
|
|
3
|
+
/** raw API key from the Authorization header (rate-limit key, mirrors MCP) */
|
|
4
|
+
export function rateKey(header) {
|
|
5
|
+
if (header === undefined)
|
|
6
|
+
return undefined;
|
|
7
|
+
const match = /^Bearer\s+(\S+)$/i.exec(header.trim());
|
|
8
|
+
return match === null ? undefined : match[1];
|
|
9
|
+
}
|
|
10
|
+
/** enforce the sliding window for a request; throws 429 when exceeded */
|
|
11
|
+
export function checkRateLimit(limiter, request, locale) {
|
|
12
|
+
if (limiter === undefined)
|
|
13
|
+
return;
|
|
14
|
+
const key = rateKey(request.headers.authorization) ?? '(none)';
|
|
15
|
+
if (!limiter.check(key)) {
|
|
16
|
+
throw new SchemaError('http.rateLimited', {}, locale);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** authenticate a request against the auth source (401 on missing/invalid key) */
|
|
20
|
+
export async function authenticateRequest(authenticator, request, locale) {
|
|
21
|
+
return authenticate(authenticator, request.headers.authorization, locale);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Fail-closed admin gate (SU-7b/SU-7c): the subject must carry at least one
|
|
25
|
+
* role listed in `adminRoles`. Used for admin-only source routes (server
|
|
26
|
+
* scripts, raw schema, layout writes, page lifecycle).
|
|
27
|
+
*/
|
|
28
|
+
export function requireAdmin(roles, resource, adminRoles, locale) {
|
|
29
|
+
const admin = new Set(adminRoles ?? []);
|
|
30
|
+
if (!roles.some((role) => admin.has(role))) {
|
|
31
|
+
throw new SchemaError('rbac.denied.update', { object: resource, role: roles.join(',') }, locale);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** read a string query param; non-string → http.param.invalid */
|
|
35
|
+
export function readString(query, key, locale) {
|
|
36
|
+
const v = query[key];
|
|
37
|
+
if (v === undefined)
|
|
38
|
+
return undefined;
|
|
39
|
+
if (typeof v !== 'string')
|
|
40
|
+
throw new SchemaError('http.param.invalid', { param: key }, locale);
|
|
41
|
+
return v;
|
|
42
|
+
}
|
|
43
|
+
/** read an ISO date query param; unparsable → http.param.invalid */
|
|
44
|
+
export function readDate(query, key, locale) {
|
|
45
|
+
const v = readString(query, key, locale);
|
|
46
|
+
if (v === undefined)
|
|
47
|
+
return undefined;
|
|
48
|
+
const d = new Date(v);
|
|
49
|
+
if (Number.isNaN(d.getTime()))
|
|
50
|
+
throw new SchemaError('http.param.invalid', { param: key }, locale);
|
|
51
|
+
return d;
|
|
52
|
+
}
|
|
53
|
+
/** read an integer query param; non-integer → http.param.invalid */
|
|
54
|
+
export function readInt(query, key, locale) {
|
|
55
|
+
const v = readString(query, key, locale);
|
|
56
|
+
if (v === undefined)
|
|
57
|
+
return undefined;
|
|
58
|
+
if (!/^-?\d+$/.test(v))
|
|
59
|
+
throw new SchemaError('http.param.invalid', { param: key }, locale);
|
|
60
|
+
return Number(v);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/adapters/rest/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import type { Locale } from '../../core/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Install uniform error handling on the app:
|
|
5
|
+
* - setErrorHandler: every thrown error → {@link mapSchemaError} spec
|
|
6
|
+
* - setNotFoundHandler: unknown routes → uniform 404 body
|
|
7
|
+
*/
|
|
8
|
+
export declare function setErrorHandlers(app: FastifyInstance, locale: Locale): void;
|
|
9
|
+
//# sourceMappingURL=errorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAS3E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SchemaError } from '../../core/index.js';
|
|
2
|
+
import { mapSchemaError } from '../../core/api/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Install uniform error handling on the app:
|
|
5
|
+
* - setErrorHandler: every thrown error → {@link mapSchemaError} spec
|
|
6
|
+
* - setNotFoundHandler: unknown routes → uniform 404 body
|
|
7
|
+
*/
|
|
8
|
+
export function setErrorHandlers(app, locale) {
|
|
9
|
+
app.setErrorHandler((err, _request, reply) => {
|
|
10
|
+
const spec = mapSchemaError(err, locale);
|
|
11
|
+
reply.status(spec.status).send(spec.body);
|
|
12
|
+
});
|
|
13
|
+
app.setNotFoundHandler((_request, reply) => {
|
|
14
|
+
const spec = mapSchemaError(new SchemaError('http.notFound', {}, locale), locale);
|
|
15
|
+
reply.status(spec.status).send(spec.body);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../src/adapters/rest/errorHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,MAAc;IACnE,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAClF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import { type Locale } from '../../core/index.js';
|
|
3
|
+
import type { AutoCommitOptions } from '../../runtime/git/index.js';
|
|
4
|
+
import type { Authenticator } from '../auth/index.js';
|
|
5
|
+
import type { RestOptions } from './plugin.js';
|
|
6
|
+
export interface GuardrailsRouteDeps {
|
|
7
|
+
authenticator: Authenticator;
|
|
8
|
+
locale: Locale;
|
|
9
|
+
projectDir?: string;
|
|
10
|
+
/** resolved guardrail policies directory (relative to projectDir); absent = guardrails disabled */
|
|
11
|
+
policiesDir?: string;
|
|
12
|
+
commitIdentity?: AutoCommitOptions['identity'];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Guardrail policy source routes (M10c, admin): list the engine project's
|
|
16
|
+
* `policies/` directory, read a policy's source, and write it back (git
|
|
17
|
+
* committed). Only the directory configured via `tools.guardrails.policies`
|
|
18
|
+
* (a string) is exposed — inline-array guardrails have no file surface.
|
|
19
|
+
* Enabled only when the engine project supplies a policies directory.
|
|
20
|
+
*/
|
|
21
|
+
export declare function registerGuardrailsRoutes(app: FastifyInstance, deps: GuardrailsRouteDeps, options?: RestOptions): void;
|
|
22
|
+
//# sourceMappingURL=guardrails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAChD;AAgBD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,WAAgB,GACxB,IAAI,CAsDN"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { SchemaError } from '../../core/index.js';
|
|
2
|
+
import { listGuardrailHistory, listGuardrailPolicies, readGuardrailPolicy, writeGuardrailPolicy, } from '../../runtime/git/guardrailSource.js';
|
|
3
|
+
import { authenticateRequest, checkRateLimit, requireAdmin } from './common.js';
|
|
4
|
+
function saveBody(body, locale) {
|
|
5
|
+
if (body === null || typeof body !== 'object' || Array.isArray(body)) {
|
|
6
|
+
throw new SchemaError('http.param.invalid', { param: 'body' }, locale);
|
|
7
|
+
}
|
|
8
|
+
const { source, expectVersion } = body;
|
|
9
|
+
if (typeof source !== 'string') {
|
|
10
|
+
throw new SchemaError('http.param.invalid', { param: 'source' }, locale);
|
|
11
|
+
}
|
|
12
|
+
if (expectVersion !== undefined && typeof expectVersion !== 'string') {
|
|
13
|
+
throw new SchemaError('http.param.invalid', { param: 'expectVersion' }, locale);
|
|
14
|
+
}
|
|
15
|
+
return expectVersion === undefined ? { source } : { source, expectVersion };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Guardrail policy source routes (M10c, admin): list the engine project's
|
|
19
|
+
* `policies/` directory, read a policy's source, and write it back (git
|
|
20
|
+
* committed). Only the directory configured via `tools.guardrails.policies`
|
|
21
|
+
* (a string) is exposed — inline-array guardrails have no file surface.
|
|
22
|
+
* Enabled only when the engine project supplies a policies directory.
|
|
23
|
+
*/
|
|
24
|
+
export function registerGuardrailsRoutes(app, deps, options = {}) {
|
|
25
|
+
const prefix = options.prefix ?? '/api';
|
|
26
|
+
const { authenticator, locale } = deps;
|
|
27
|
+
const limiter = options.rateLimiter;
|
|
28
|
+
app.get(`${prefix}/guardrails/policies`, async (request) => {
|
|
29
|
+
checkRateLimit(limiter, request, locale);
|
|
30
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
31
|
+
requireAdmin(subject.roles, 'guardrails', options.adminRoles, locale);
|
|
32
|
+
if (deps.projectDir === undefined || deps.policiesDir === undefined)
|
|
33
|
+
return { policies: [] };
|
|
34
|
+
const policies = await listGuardrailPolicies(deps.projectDir, deps.policiesDir);
|
|
35
|
+
return { policies };
|
|
36
|
+
});
|
|
37
|
+
app.get(`${prefix}/guardrails/policies/:name`, async (request) => {
|
|
38
|
+
const { name } = request.params;
|
|
39
|
+
checkRateLimit(limiter, request, locale);
|
|
40
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
41
|
+
requireAdmin(subject.roles, 'guardrails', options.adminRoles, locale);
|
|
42
|
+
if (deps.projectDir === undefined || deps.policiesDir === undefined) {
|
|
43
|
+
throw new SchemaError('http.notFound', {}, locale);
|
|
44
|
+
}
|
|
45
|
+
const document = await readGuardrailPolicy(deps.projectDir, deps.policiesDir, name);
|
|
46
|
+
if (document === null)
|
|
47
|
+
throw new SchemaError('http.notFound', {}, locale);
|
|
48
|
+
return document;
|
|
49
|
+
});
|
|
50
|
+
app.get(`${prefix}/guardrails/policies/:name/history`, async (request) => {
|
|
51
|
+
const { name } = request.params;
|
|
52
|
+
checkRateLimit(limiter, request, locale);
|
|
53
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
54
|
+
requireAdmin(subject.roles, 'guardrails', options.adminRoles, locale);
|
|
55
|
+
if (deps.projectDir === undefined || deps.policiesDir === undefined) {
|
|
56
|
+
throw new SchemaError('http.notFound', {}, locale);
|
|
57
|
+
}
|
|
58
|
+
return await listGuardrailHistory(deps.projectDir, deps.policiesDir, name);
|
|
59
|
+
});
|
|
60
|
+
app.put(`${prefix}/guardrails/policies/:name`, async (request) => {
|
|
61
|
+
const { name } = request.params;
|
|
62
|
+
checkRateLimit(limiter, request, locale);
|
|
63
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
64
|
+
requireAdmin(subject.roles, 'guardrails', options.adminRoles, locale);
|
|
65
|
+
if (deps.projectDir === undefined || deps.policiesDir === undefined) {
|
|
66
|
+
throw new SchemaError('http.notFound', {}, locale);
|
|
67
|
+
}
|
|
68
|
+
const body = saveBody(request.body, locale);
|
|
69
|
+
const result = await writeGuardrailPolicy(deps.projectDir, deps.policiesDir, name, {
|
|
70
|
+
source: body.source,
|
|
71
|
+
identity: deps.commitIdentity,
|
|
72
|
+
locale,
|
|
73
|
+
});
|
|
74
|
+
return { ok: true, committed: result.committed, version: result.version };
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=guardrails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../../src/adapters/rest/guardrails.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import type { Locale, RbacSubject } from '../../core/index.js';
|
|
3
|
+
import type { Authenticator } from '../auth/index.js';
|
|
4
|
+
import type { RestOptions } from './plugin.js';
|
|
5
|
+
export interface IdentitiesRouteDeps {
|
|
6
|
+
authenticator: Authenticator;
|
|
7
|
+
locale: Locale;
|
|
8
|
+
/** the MCP on-behalf-of identity directory (static `ref → subject`); a function resolver has no introspectable surface */
|
|
9
|
+
identities?: Record<string, RbacSubject>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Identity directory route (M11, admin read): surface the engine's
|
|
13
|
+
* `mcp.identities` static directory so the governance console can render an
|
|
14
|
+
* `IdentityTable` (ref → id / roles / team). Only the static-directory form is
|
|
15
|
+
* exposed — a customer-provided `IdentityResolver` (function) has no
|
|
16
|
+
* introspectable entries and returns `{ identities: [] }`.
|
|
17
|
+
* GET {prefix}/identities → { identities: [{ ref, id, roles, teamId? }] }
|
|
18
|
+
*/
|
|
19
|
+
export declare function registerIdentitiesRoutes(app: FastifyInstance, deps: IdentitiesRouteDeps, options?: RestOptions): void;
|
|
20
|
+
//# sourceMappingURL=identities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/identities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,0HAA0H;IAC1H,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,WAAgB,GACxB,IAAI,CAiBN"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { authenticateRequest, checkRateLimit, requireAdmin } from './common.js';
|
|
2
|
+
/**
|
|
3
|
+
* Identity directory route (M11, admin read): surface the engine's
|
|
4
|
+
* `mcp.identities` static directory so the governance console can render an
|
|
5
|
+
* `IdentityTable` (ref → id / roles / team). Only the static-directory form is
|
|
6
|
+
* exposed — a customer-provided `IdentityResolver` (function) has no
|
|
7
|
+
* introspectable entries and returns `{ identities: [] }`.
|
|
8
|
+
* GET {prefix}/identities → { identities: [{ ref, id, roles, teamId? }] }
|
|
9
|
+
*/
|
|
10
|
+
export function registerIdentitiesRoutes(app, deps, options = {}) {
|
|
11
|
+
const prefix = options.prefix ?? '/api';
|
|
12
|
+
const { authenticator, locale } = deps;
|
|
13
|
+
const limiter = options.rateLimiter;
|
|
14
|
+
app.get(`${prefix}/identities`, async (request) => {
|
|
15
|
+
checkRateLimit(limiter, request, locale);
|
|
16
|
+
const subject = await authenticateRequest(authenticator, request, locale);
|
|
17
|
+
requireAdmin(subject.roles, 'identities', options.adminRoles, locale);
|
|
18
|
+
const identities = Object.entries(deps.identities ?? {}).map(([ref, subjectValue]) => ({
|
|
19
|
+
ref,
|
|
20
|
+
id: subjectValue.id,
|
|
21
|
+
roles: subjectValue.roles,
|
|
22
|
+
...(subjectValue.teamId === undefined ? {} : { teamId: subjectValue.teamId }),
|
|
23
|
+
}));
|
|
24
|
+
return { identities };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=identities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identities.js","sourceRoot":"","sources":["../../../src/adapters/rest/identities.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUhF;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAoB,EACpB,IAAyB,EACzB,UAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAEpC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1E,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,GAAG;YACH,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;SAC9E,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { registerObjectRoutes } from './plugin.js';
|
|
2
|
+
export type { RestDeps, RestOptions } from './plugin.js';
|
|
3
|
+
export { setErrorHandlers } from './errorHandler.js';
|
|
4
|
+
export { registerMetadataRoutes } from './metadata.js';
|
|
5
|
+
export { registerPermissionsRoutes } from './permissions.js';
|
|
6
|
+
export { registerAuditRoutes } from './audit.js';
|
|
7
|
+
export { registerApprovalsRoutes } from './approvals.js';
|
|
8
|
+
export { registerScriptRoutes } from './scripts.js';
|
|
9
|
+
export { registerPagesRoutes } from './pages.js';
|
|
10
|
+
export { registerSchemaRoutes } from './schemas.js';
|
|
11
|
+
export { registerGuardrailsRoutes } from './guardrails.js';
|
|
12
|
+
export { registerIdentitiesRoutes } from './identities.js';
|
|
13
|
+
export { registerProxyRoutes } from './proxy.js';
|
|
14
|
+
export type { ProxyRouteDeps } from './proxy.js';
|
|
15
|
+
export { registerIngressRoutes } from './ingress.js';
|
|
16
|
+
export type { IngressDeps } from './ingress.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { registerObjectRoutes } from './plugin.js';
|
|
2
|
+
export { setErrorHandlers } from './errorHandler.js';
|
|
3
|
+
export { registerMetadataRoutes } from './metadata.js';
|
|
4
|
+
export { registerPermissionsRoutes } from './permissions.js';
|
|
5
|
+
export { registerAuditRoutes } from './audit.js';
|
|
6
|
+
export { registerApprovalsRoutes } from './approvals.js';
|
|
7
|
+
export { registerScriptRoutes } from './scripts.js';
|
|
8
|
+
export { registerPagesRoutes } from './pages.js';
|
|
9
|
+
export { registerSchemaRoutes } from './schemas.js';
|
|
10
|
+
export { registerGuardrailsRoutes } from './guardrails.js';
|
|
11
|
+
export { registerIdentitiesRoutes } from './identities.js';
|
|
12
|
+
export { registerProxyRoutes } from './proxy.js';
|
|
13
|
+
export { registerIngressRoutes } from './ingress.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FastifyInstance } from 'fastify';
|
|
2
|
+
import type { AuditSink, Locale } from '../../core/index.js';
|
|
3
|
+
import type { IngressConfig } from '../../core/provider/event/index.js';
|
|
4
|
+
import type { SlidingWindow } from '../../core/limiter/index.js';
|
|
5
|
+
export interface IngressDeps {
|
|
6
|
+
/** audit sink (NOOP when audit is disabled) */
|
|
7
|
+
audit: AuditSink;
|
|
8
|
+
locale: Locale;
|
|
9
|
+
/** per-source limiter, created by the assembly layer from `config.rateLimit` */
|
|
10
|
+
rateLimiter?: SlidingWindow;
|
|
11
|
+
}
|
|
12
|
+
export declare function registerIngressRoutes(app: FastifyInstance, deps: IngressDeps, config: IngressConfig): void;
|
|
13
|
+
//# sourceMappingURL=ingress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../src/adapters/rest/ingress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAgBjE,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAyC1G"}
|