@weave-kit/engine 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -0
- package/README.md +6 -6
- package/dist/adapters/auth/index.d.ts +4 -2
- package/dist/adapters/auth/index.d.ts.map +1 -1
- package/dist/adapters/auth/index.js +1 -0
- package/dist/adapters/auth/index.js.map +1 -1
- package/dist/adapters/auth/source.d.ts +4 -4
- package/dist/adapters/auth/source.d.ts.map +1 -1
- package/dist/adapters/auth/subject.d.ts +22 -0
- package/dist/adapters/auth/subject.d.ts.map +1 -0
- package/dist/adapters/auth/subject.js +42 -0
- package/dist/adapters/auth/subject.js.map +1 -0
- package/dist/adapters/auth/verify.d.ts +12 -0
- package/dist/adapters/auth/verify.d.ts.map +1 -0
- package/dist/adapters/auth/verify.js +2 -0
- package/dist/adapters/auth/verify.js.map +1 -0
- package/dist/adapters/events/index.d.ts +2 -1
- package/dist/adapters/events/index.d.ts.map +1 -1
- package/dist/adapters/events/index.js +2 -1
- package/dist/adapters/events/index.js.map +1 -1
- package/dist/adapters/mcp/generate.d.ts +3 -3
- package/dist/adapters/mcp/generate.d.ts.map +1 -1
- package/dist/adapters/mcp/generate.js +34 -11
- package/dist/adapters/mcp/generate.js.map +1 -1
- package/dist/adapters/mcp/guardrails.d.ts +1 -1
- package/dist/adapters/mcp/http.d.ts +3 -1
- package/dist/adapters/mcp/http.d.ts.map +1 -1
- package/dist/adapters/mcp/http.js +2 -2
- package/dist/adapters/mcp/http.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +13 -4
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +12 -8
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/session.d.ts +5 -5
- package/dist/adapters/mcp/session.d.ts.map +1 -1
- package/dist/adapters/mcp/tools.d.ts +6 -0
- package/dist/adapters/mcp/tools.d.ts.map +1 -1
- package/dist/adapters/mcp/tools.js +38 -14
- package/dist/adapters/mcp/tools.js.map +1 -1
- package/dist/adapters/mcp/types.d.ts +3 -1
- package/dist/adapters/mcp/types.d.ts.map +1 -1
- package/dist/adapters/mcp/types.js +1 -1
- package/dist/adapters/mcp/types.js.map +1 -1
- package/dist/adapters/openapi/document.d.ts.map +1 -1
- package/dist/adapters/openapi/document.js +72 -2
- package/dist/adapters/openapi/document.js.map +1 -1
- package/dist/adapters/openapi/schema.d.ts.map +1 -1
- package/dist/adapters/openapi/schema.js +47 -7
- package/dist/adapters/openapi/schema.js.map +1 -1
- package/dist/adapters/openapi/types.d.ts +1 -0
- package/dist/adapters/openapi/types.d.ts.map +1 -1
- package/dist/adapters/openapi/types.js +2 -0
- package/dist/adapters/openapi/types.js.map +1 -1
- package/dist/adapters/rest/approvals.d.ts +2 -2
- package/dist/adapters/rest/approvals.js +2 -2
- package/dist/adapters/rest/audit.d.ts +2 -2
- package/dist/adapters/rest/audit.js +2 -2
- package/dist/adapters/rest/common.d.ts +3 -3
- package/dist/adapters/rest/common.d.ts.map +1 -1
- package/dist/adapters/rest/common.js +1 -1
- package/dist/adapters/rest/guardrails.d.ts +1 -1
- package/dist/adapters/rest/guardrails.js +1 -1
- package/dist/adapters/rest/identities.d.ts +4 -4
- package/dist/adapters/rest/identities.d.ts.map +1 -1
- package/dist/adapters/rest/identities.js +3 -3
- package/dist/adapters/rest/identities.js.map +1 -1
- package/dist/adapters/rest/identityAdmin.d.ts +18 -0
- package/dist/adapters/rest/identityAdmin.d.ts.map +1 -0
- package/dist/adapters/rest/identityAdmin.js +58 -0
- package/dist/adapters/rest/identityAdmin.js.map +1 -0
- package/dist/adapters/rest/index.d.ts +4 -0
- package/dist/adapters/rest/index.d.ts.map +1 -1
- package/dist/adapters/rest/index.js +3 -0
- package/dist/adapters/rest/index.js.map +1 -1
- package/dist/adapters/rest/metadata.d.ts +1 -1
- package/dist/adapters/rest/metadata.js +1 -1
- package/dist/adapters/rest/pages.d.ts +1 -1
- package/dist/adapters/rest/pages.d.ts.map +1 -1
- package/dist/adapters/rest/permissions.d.ts +1 -1
- package/dist/adapters/rest/permissions.js +1 -1
- package/dist/adapters/rest/plugin.d.ts +2 -2
- package/dist/adapters/rest/plugin.d.ts.map +1 -1
- package/dist/adapters/rest/schemas.d.ts +1 -1
- package/dist/adapters/rest/schemas.d.ts.map +1 -1
- package/dist/adapters/rest/workflow.d.ts +15 -0
- package/dist/adapters/rest/workflow.d.ts.map +1 -0
- package/dist/adapters/rest/workflow.js +89 -0
- package/dist/adapters/rest/workflow.js.map +1 -0
- package/dist/adapters/rest/workflowSource.d.ts +15 -0
- package/dist/adapters/rest/workflowSource.d.ts.map +1 -0
- package/dist/adapters/rest/workflowSource.js +63 -0
- package/dist/adapters/rest/workflowSource.js.map +1 -0
- package/dist/cli/commands/build.js +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/connect.d.ts +1 -1
- package/dist/cli/commands/default-view.d.ts +2 -2
- package/dist/cli/commands/default-view.js +2 -2
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +18 -9
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/field-add.d.ts.map +1 -1
- package/dist/cli/commands/field-add.js +12 -6
- package/dist/cli/commands/field-add.js.map +1 -1
- package/dist/cli/commands/field-types.d.ts.map +1 -1
- package/dist/cli/commands/field-types.js +10 -1
- package/dist/cli/commands/field-types.js.map +1 -1
- package/dist/cli/commands/identity.d.ts +15 -0
- package/dist/cli/commands/identity.d.ts.map +1 -0
- package/dist/cli/commands/identity.js +115 -0
- package/dist/cli/commands/identity.js.map +1 -0
- package/dist/cli/commands/introspect.d.ts.map +1 -1
- package/dist/cli/commands/introspect.js +23 -0
- package/dist/cli/commands/introspect.js.map +1 -1
- package/dist/cli/commands/mcp-config.js +1 -1
- package/dist/cli/commands/mcp-config.js.map +1 -1
- package/dist/cli/commands/migrate.js +2 -2
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/module.d.ts +2 -2
- package/dist/cli/commands/module.d.ts.map +1 -1
- package/dist/cli/commands/module.js +2 -2
- package/dist/cli/commands/module.js.map +1 -1
- package/dist/cli/commands/object-create.d.ts.map +1 -1
- package/dist/cli/commands/object-create.js +15 -15
- package/dist/cli/commands/object-create.js.map +1 -1
- package/dist/cli/commands/schema-map.d.ts.map +1 -1
- package/dist/cli/commands/schema-map.js +6 -0
- package/dist/cli/commands/schema-map.js.map +1 -1
- package/dist/cli/commands/workflow-close.d.ts +9 -0
- package/dist/cli/commands/workflow-close.d.ts.map +1 -0
- package/dist/cli/commands/workflow-close.js +48 -0
- package/dist/cli/commands/workflow-close.js.map +1 -0
- package/dist/cli/commands/workflow-migrate.d.ts +11 -0
- package/dist/cli/commands/workflow-migrate.d.ts.map +1 -0
- package/dist/cli/commands/workflow-migrate.js +120 -0
- package/dist/cli/commands/workflow-migrate.js.map +1 -0
- package/dist/cli/commands/workflow-open.d.ts +10 -0
- package/dist/cli/commands/workflow-open.d.ts.map +1 -0
- package/dist/cli/commands/workflow-open.js +112 -0
- package/dist/cli/commands/workflow-open.js.map +1 -0
- package/dist/cli/commands/workflow-starter.d.ts +10 -0
- package/dist/cli/commands/workflow-starter.d.ts.map +1 -0
- package/dist/cli/commands/workflow-starter.js +29 -0
- package/dist/cli/commands/workflow-starter.js.map +1 -0
- package/dist/cli/commands/workflow-switch.d.ts +10 -0
- package/dist/cli/commands/workflow-switch.d.ts.map +1 -0
- package/dist/cli/commands/workflow-switch.js +60 -0
- package/dist/cli/commands/workflow-switch.js.map +1 -0
- package/dist/cli/commands/workflow-upgrade.d.ts +12 -0
- package/dist/cli/commands/workflow-upgrade.d.ts.map +1 -0
- package/dist/cli/commands/workflow-upgrade.js +116 -0
- package/dist/cli/commands/workflow-upgrade.js.map +1 -0
- package/dist/cli/index.js +74 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-types/manifest.d.ts +25 -0
- package/dist/cli/project-types/manifest.d.ts.map +1 -0
- package/dist/cli/project-types/manifest.js +40 -0
- package/dist/cli/project-types/manifest.js.map +1 -0
- package/dist/cli/ready-screen.js +1 -1
- package/dist/cli/ready-screen.js.map +1 -1
- package/dist/cli/scaffold.d.ts.map +1 -1
- package/dist/cli/scaffold.js +21 -34
- package/dist/cli/scaffold.js.map +1 -1
- package/dist/cli/types/commands.d.ts +48 -0
- package/dist/cli/types/commands.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +1 -1
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/values.d.ts +9 -0
- package/dist/cli/types/values.d.ts.map +1 -1
- package/dist/cli/types/values.js +9 -0
- package/dist/cli/types/values.js.map +1 -1
- package/dist/core/api/error.d.ts.map +1 -1
- package/dist/core/api/error.js +7 -4
- package/dist/core/api/error.js.map +1 -1
- package/dist/core/audit/types.d.ts +4 -2
- package/dist/core/audit/types.d.ts.map +1 -1
- package/dist/core/audit/types.js +2 -0
- package/dist/core/audit/types.js.map +1 -1
- package/dist/core/formula/validate.d.ts.map +1 -1
- package/dist/core/formula/validate.js +6 -0
- package/dist/core/formula/validate.js.map +1 -1
- package/dist/core/i18n/ar.d.ts.map +1 -1
- package/dist/core/i18n/ar.js +59 -3
- package/dist/core/i18n/ar.js.map +1 -1
- package/dist/core/i18n/de.d.ts.map +1 -1
- package/dist/core/i18n/de.js +59 -3
- package/dist/core/i18n/de.js.map +1 -1
- package/dist/core/i18n/en.d.ts +60 -4
- package/dist/core/i18n/en.d.ts.map +1 -1
- package/dist/core/i18n/en.js +60 -4
- package/dist/core/i18n/en.js.map +1 -1
- package/dist/core/i18n/es.d.ts.map +1 -1
- package/dist/core/i18n/es.js +59 -3
- package/dist/core/i18n/es.js.map +1 -1
- package/dist/core/i18n/fr.d.ts.map +1 -1
- package/dist/core/i18n/fr.js +59 -3
- package/dist/core/i18n/fr.js.map +1 -1
- package/dist/core/i18n/hi.d.ts.map +1 -1
- package/dist/core/i18n/hi.js +59 -3
- package/dist/core/i18n/hi.js.map +1 -1
- package/dist/core/i18n/id.d.ts.map +1 -1
- package/dist/core/i18n/id.js +59 -3
- package/dist/core/i18n/id.js.map +1 -1
- package/dist/core/i18n/ja.d.ts.map +1 -1
- package/dist/core/i18n/ja.js +59 -3
- package/dist/core/i18n/ja.js.map +1 -1
- package/dist/core/i18n/ko.d.ts.map +1 -1
- package/dist/core/i18n/ko.js +59 -3
- package/dist/core/i18n/ko.js.map +1 -1
- package/dist/core/i18n/pt.d.ts.map +1 -1
- package/dist/core/i18n/pt.js +59 -3
- package/dist/core/i18n/pt.js.map +1 -1
- package/dist/core/i18n/ru.d.ts.map +1 -1
- package/dist/core/i18n/ru.js +59 -3
- package/dist/core/i18n/ru.js.map +1 -1
- package/dist/core/i18n/vi.d.ts.map +1 -1
- package/dist/core/i18n/vi.js +59 -3
- package/dist/core/i18n/vi.js.map +1 -1
- package/dist/core/i18n/zh-hant.d.ts.map +1 -1
- package/dist/core/i18n/zh-hant.js +59 -3
- package/dist/core/i18n/zh-hant.js.map +1 -1
- package/dist/core/i18n/zh.d.ts.map +1 -1
- package/dist/core/i18n/zh.js +60 -4
- package/dist/core/i18n/zh.js.map +1 -1
- package/dist/core/object/describe.d.ts +62 -3
- package/dist/core/object/describe.d.ts.map +1 -1
- package/dist/core/object/describe.js +81 -11
- package/dist/core/object/describe.js.map +1 -1
- package/dist/core/object/gen-types.d.ts.map +1 -1
- package/dist/core/object/gen-types.js +14 -1
- package/dist/core/object/gen-types.js.map +1 -1
- package/dist/core/object/graph.d.ts +3 -0
- package/dist/core/object/graph.d.ts.map +1 -1
- package/dist/core/object/graph.js +90 -14
- package/dist/core/object/graph.js.map +1 -1
- package/dist/core/object/index.d.ts +6 -2
- package/dist/core/object/index.d.ts.map +1 -1
- package/dist/core/object/index.js +5 -1
- package/dist/core/object/index.js.map +1 -1
- package/dist/core/object/migrations.d.ts.map +1 -1
- package/dist/core/object/migrations.js +45 -0
- package/dist/core/object/migrations.js.map +1 -1
- package/dist/core/object/parse.d.ts +7 -0
- package/dist/core/object/parse.d.ts.map +1 -1
- package/dist/core/object/parse.js +32 -1
- package/dist/core/object/parse.js.map +1 -1
- package/dist/core/object/record-key.d.ts +19 -0
- package/dist/core/object/record-key.d.ts.map +1 -0
- package/dist/core/object/record-key.js +100 -0
- package/dist/core/object/record-key.js.map +1 -0
- package/dist/core/object/registry.js +1 -1
- package/dist/core/object/registry.js.map +1 -1
- package/dist/core/object/schema-version.d.ts +1 -1
- package/dist/core/object/schema-version.js +1 -1
- package/dist/core/object/system-objects.d.ts +16 -0
- package/dist/core/object/system-objects.d.ts.map +1 -0
- package/dist/core/object/system-objects.js +72 -0
- package/dist/core/object/system-objects.js.map +1 -0
- package/dist/core/object/validate/constraints.d.ts +9 -0
- package/dist/core/object/validate/constraints.d.ts.map +1 -0
- package/dist/core/object/validate/constraints.js +45 -0
- package/dist/core/object/validate/constraints.js.map +1 -0
- package/dist/core/object/validate/field.d.ts.map +1 -1
- package/dist/core/object/validate/field.js +339 -66
- package/dist/core/object/validate/field.js.map +1 -1
- package/dist/core/object/validate/formulas.d.ts.map +1 -1
- package/dist/core/object/validate/formulas.js +6 -0
- package/dist/core/object/validate/formulas.js.map +1 -1
- package/dist/core/object/validate/object.d.ts +2 -0
- package/dist/core/object/validate/object.d.ts.map +1 -1
- package/dist/core/object/validate/object.js +54 -19
- package/dist/core/object/validate/object.js.map +1 -1
- package/dist/core/object/validate/permissions.d.ts.map +1 -1
- package/dist/core/object/validate/permissions.js +4 -0
- package/dist/core/object/validate/permissions.js.map +1 -1
- package/dist/core/object/validate/primitives.d.ts +0 -1
- package/dist/core/object/validate/primitives.d.ts.map +1 -1
- package/dist/core/object/validate/primitives.js +1 -2
- package/dist/core/object/validate/primitives.js.map +1 -1
- package/dist/core/object/validate/workflow.d.ts +10 -0
- package/dist/core/object/validate/workflow.d.ts.map +1 -0
- package/dist/core/object/validate/workflow.js +143 -0
- package/dist/core/object/validate/workflow.js.map +1 -0
- package/dist/core/object/workflow-hash.d.ts +10 -0
- package/dist/core/object/workflow-hash.d.ts.map +1 -0
- package/dist/core/object/workflow-hash.js +27 -0
- package/dist/core/object/workflow-hash.js.map +1 -0
- package/dist/core/object/workflow-migrations.d.ts +27 -0
- package/dist/core/object/workflow-migrations.d.ts.map +1 -0
- package/dist/core/object/workflow-migrations.js +125 -0
- package/dist/core/object/workflow-migrations.js.map +1 -0
- package/dist/core/provider/event/index.d.ts +1 -1
- package/dist/core/provider/event/index.d.ts.map +1 -1
- package/dist/core/provider/event/index.js.map +1 -1
- package/dist/core/provider/event/types.d.ts +17 -2
- package/dist/core/provider/event/types.d.ts.map +1 -1
- package/dist/core/provider/event/types.js +2 -1
- package/dist/core/provider/event/types.js.map +1 -1
- package/dist/core/provider/identity/directory.d.ts +90 -0
- package/dist/core/provider/identity/directory.d.ts.map +1 -0
- package/dist/core/provider/identity/directory.js +3 -0
- package/dist/core/provider/identity/directory.js.map +1 -0
- package/dist/core/provider/identity/index.d.ts +5 -1
- package/dist/core/provider/identity/index.d.ts.map +1 -1
- package/dist/core/provider/identity/index.js +2 -1
- package/dist/core/provider/identity/index.js.map +1 -1
- package/dist/core/provider/identity/source.d.ts +22 -0
- package/dist/core/provider/identity/source.d.ts.map +1 -0
- package/dist/core/provider/identity/source.js +3 -0
- package/dist/core/provider/identity/source.js.map +1 -0
- package/dist/core/provider/identity/types.d.ts +62 -7
- package/dist/core/provider/identity/types.d.ts.map +1 -1
- package/dist/core/provider/identity/types.js +13 -0
- package/dist/core/provider/identity/types.js.map +1 -1
- package/dist/core/proxy/types.d.ts +4 -4
- package/dist/core/proxy/types.d.ts.map +1 -1
- package/dist/core/rbac/authorize.d.ts +10 -9
- package/dist/core/rbac/authorize.d.ts.map +1 -1
- package/dist/core/rbac/authorize.js +23 -18
- package/dist/core/rbac/authorize.js.map +1 -1
- package/dist/core/rbac/details.d.ts +33 -0
- package/dist/core/rbac/details.d.ts.map +1 -0
- package/dist/core/rbac/details.js +74 -0
- package/dist/core/rbac/details.js.map +1 -0
- package/dist/core/rbac/fields.d.ts +2 -1
- package/dist/core/rbac/fields.d.ts.map +1 -1
- package/dist/core/rbac/fields.js +3 -2
- package/dist/core/rbac/fields.js.map +1 -1
- package/dist/core/rbac/index.d.ts +3 -2
- package/dist/core/rbac/index.d.ts.map +1 -1
- package/dist/core/rbac/index.js +2 -1
- package/dist/core/rbac/index.js.map +1 -1
- package/dist/core/rbac/resolve.d.ts +3 -1
- package/dist/core/rbac/resolve.d.ts.map +1 -1
- package/dist/core/rbac/resolve.js +17 -9
- package/dist/core/rbac/resolve.js.map +1 -1
- package/dist/core/rbac/rls.d.ts +6 -0
- package/dist/core/rbac/rls.d.ts.map +1 -1
- package/dist/core/rbac/rls.js +52 -7
- package/dist/core/rbac/rls.js.map +1 -1
- package/dist/core/rbac/rowScope.d.ts +13 -6
- package/dist/core/rbac/rowScope.d.ts.map +1 -1
- package/dist/core/rbac/rowScope.js +88 -16
- package/dist/core/rbac/rowScope.js.map +1 -1
- package/dist/core/rbac/types.d.ts +6 -7
- package/dist/core/rbac/types.d.ts.map +1 -1
- package/dist/core/script/types.d.ts +1 -1
- package/dist/core/script/types.d.ts.map +1 -1
- package/dist/core/storage/diff.d.ts +10 -2
- package/dist/core/storage/diff.d.ts.map +1 -1
- package/dist/core/storage/diff.js +40 -18
- package/dist/core/storage/diff.js.map +1 -1
- package/dist/core/storage/index.d.ts +7 -1
- package/dist/core/storage/index.d.ts.map +1 -1
- package/dist/core/storage/index.js +6 -1
- package/dist/core/storage/index.js.map +1 -1
- package/dist/core/storage/inspect.d.ts +12 -3
- package/dist/core/storage/inspect.d.ts.map +1 -1
- package/dist/core/storage/inspect.js +39 -22
- package/dist/core/storage/inspect.js.map +1 -1
- package/dist/core/storage/introspect.d.ts +9 -2
- package/dist/core/storage/introspect.d.ts.map +1 -1
- package/dist/core/storage/introspect.js +100 -43
- package/dist/core/storage/introspect.js.map +1 -1
- package/dist/core/storage/link-table.d.ts +47 -0
- package/dist/core/storage/link-table.d.ts.map +1 -0
- package/dist/core/storage/link-table.js +110 -0
- package/dist/core/storage/link-table.js.map +1 -0
- package/dist/core/storage/map.d.ts +14 -5
- package/dist/core/storage/map.d.ts.map +1 -1
- package/dist/core/storage/map.js +207 -39
- package/dist/core/storage/map.js.map +1 -1
- package/dist/core/storage/meta.d.ts +6 -3
- package/dist/core/storage/meta.d.ts.map +1 -1
- package/dist/core/storage/meta.js +9 -5
- package/dist/core/storage/meta.js.map +1 -1
- package/dist/core/storage/migrate.d.ts.map +1 -1
- package/dist/core/storage/migrate.js +144 -11
- package/dist/core/storage/migrate.js.map +1 -1
- package/dist/core/storage/record-key-sql.d.ts +19 -0
- package/dist/core/storage/record-key-sql.d.ts.map +1 -0
- package/dist/core/storage/record-key-sql.js +43 -0
- package/dist/core/storage/record-key-sql.js.map +1 -0
- package/dist/core/storage/record-meta.d.ts +68 -0
- package/dist/core/storage/record-meta.d.ts.map +1 -0
- package/dist/core/storage/record-meta.js +108 -0
- package/dist/core/storage/record-meta.js.map +1 -0
- package/dist/core/storage/report.d.ts +10 -0
- package/dist/core/storage/report.d.ts.map +1 -1
- package/dist/core/storage/report.js +31 -9
- package/dist/core/storage/report.js.map +1 -1
- package/dist/core/storage/sql-literals.d.ts +9 -0
- package/dist/core/storage/sql-literals.d.ts.map +1 -0
- package/dist/core/storage/sql-literals.js +13 -0
- package/dist/core/storage/sql-literals.js.map +1 -0
- package/dist/core/storage/system-tables.d.ts +44 -0
- package/dist/core/storage/system-tables.d.ts.map +1 -0
- package/dist/core/storage/system-tables.js +268 -0
- package/dist/core/storage/system-tables.js.map +1 -0
- package/dist/core/tools/policies.d.ts +2 -2
- package/dist/core/tools/policies.js +2 -2
- package/dist/core/tools/types.d.ts +6 -6
- package/dist/core/tools/types.d.ts.map +1 -1
- package/dist/core/tools/values.d.ts +5 -0
- package/dist/core/tools/values.d.ts.map +1 -1
- package/dist/core/tools/values.js +9 -1
- package/dist/core/tools/values.js.map +1 -1
- package/dist/core/types/currency.d.ts +9 -0
- package/dist/core/types/currency.d.ts.map +1 -0
- package/dist/core/types/currency.js +28 -0
- package/dist/core/types/currency.js.map +1 -0
- package/dist/core/types/field-type.d.ts +60 -6
- package/dist/core/types/field-type.d.ts.map +1 -1
- package/dist/core/types/field-type.js +19 -3
- package/dist/core/types/field-type.js.map +1 -1
- package/dist/core/types/fields.d.ts +118 -20
- package/dist/core/types/fields.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +11 -9
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +5 -4
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/object.d.ts +27 -2
- package/dist/core/types/object.d.ts.map +1 -1
- package/dist/core/types/permission.d.ts +5 -0
- package/dist/core/types/permission.d.ts.map +1 -1
- package/dist/core/types/primaryField.d.ts +6 -1
- package/dist/core/types/primaryField.d.ts.map +1 -1
- package/dist/core/types/primaryField.js +8 -1
- package/dist/core/types/primaryField.js.map +1 -1
- package/dist/core/types/registry.d.ts +6 -4
- package/dist/core/types/registry.d.ts.map +1 -1
- package/dist/core/types/registry.js +40 -30
- package/dist/core/types/registry.js.map +1 -1
- package/dist/core/types/values.d.ts +102 -27
- package/dist/core/types/values.d.ts.map +1 -1
- package/dist/core/types/values.js +68 -29
- package/dist/core/types/values.js.map +1 -1
- package/dist/core/types/workflow.d.ts +140 -0
- package/dist/core/types/workflow.d.ts.map +1 -0
- package/dist/core/types/workflow.js +49 -0
- package/dist/core/types/workflow.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/event/bus.d.ts.map +1 -1
- package/dist/infrastructure/event/bus.js +14 -0
- package/dist/infrastructure/event/bus.js.map +1 -1
- package/dist/infrastructure/identity.d.ts +2 -2
- package/dist/infrastructure/identity.d.ts.map +1 -1
- package/dist/infrastructure/identity.js.map +1 -1
- package/dist/layout-format.d.ts +6 -6
- package/dist/layout-format.js +4 -4
- package/dist/runtime/data-access/builder.d.ts +15 -5
- package/dist/runtime/data-access/builder.d.ts.map +1 -1
- package/dist/runtime/data-access/builder.js +222 -30
- package/dist/runtime/data-access/builder.js.map +1 -1
- package/dist/runtime/data-access/details.d.ts.map +1 -1
- package/dist/runtime/data-access/details.js +7 -2
- package/dist/runtime/data-access/details.js.map +1 -1
- package/dist/runtime/data-access/formula.d.ts +11 -3
- package/dist/runtime/data-access/formula.d.ts.map +1 -1
- package/dist/runtime/data-access/formula.js +82 -19
- package/dist/runtime/data-access/formula.js.map +1 -1
- package/dist/runtime/data-access/index.d.ts +1 -1
- package/dist/runtime/data-access/index.d.ts.map +1 -1
- package/dist/runtime/data-access/index.js +1 -1
- package/dist/runtime/data-access/index.js.map +1 -1
- package/dist/runtime/data-access/link.d.ts +7 -0
- package/dist/runtime/data-access/link.d.ts.map +1 -0
- package/dist/runtime/data-access/link.js +80 -0
- package/dist/runtime/data-access/link.js.map +1 -0
- package/dist/runtime/data-access/query.d.ts +48 -3
- package/dist/runtime/data-access/query.d.ts.map +1 -1
- package/dist/runtime/data-access/query.js +399 -45
- package/dist/runtime/data-access/query.js.map +1 -1
- package/dist/runtime/data-access/rbac.d.ts.map +1 -1
- package/dist/runtime/data-access/rbac.js +134 -16
- package/dist/runtime/data-access/rbac.js.map +1 -1
- package/dist/runtime/data-access/seqno.d.ts +0 -2
- package/dist/runtime/data-access/seqno.d.ts.map +1 -1
- package/dist/runtime/data-access/seqno.js +0 -9
- package/dist/runtime/data-access/seqno.js.map +1 -1
- package/dist/runtime/data-access/sql-executor.d.ts +13 -3
- package/dist/runtime/data-access/sql-executor.d.ts.map +1 -1
- package/dist/runtime/data-access/sql-executor.js +20 -14
- package/dist/runtime/data-access/sql-executor.js.map +1 -1
- package/dist/runtime/data-access/sql-gate.d.ts +4 -4
- package/dist/runtime/data-access/sql-gate.d.ts.map +1 -1
- package/dist/runtime/data-access/sql-gate.js +5 -5
- package/dist/runtime/data-access/sql-gate.js.map +1 -1
- package/dist/runtime/data-access/tx.d.ts +1 -1
- package/dist/runtime/data-access/tx.js +1 -1
- package/dist/runtime/data-access/types.d.ts +31 -3
- package/dist/runtime/data-access/types.d.ts.map +1 -1
- package/dist/runtime/data-access/validate.d.ts.map +1 -1
- package/dist/runtime/data-access/validate.js +186 -39
- package/dist/runtime/data-access/validate.js.map +1 -1
- package/dist/runtime/data-access/workflow.d.ts +146 -0
- package/dist/runtime/data-access/workflow.d.ts.map +1 -0
- package/dist/runtime/data-access/workflow.js +636 -0
- package/dist/runtime/data-access/workflow.js.map +1 -0
- package/dist/runtime/engine.d.ts +89 -14
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +123 -26
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/fieldtypes/loader.d.ts.map +1 -1
- package/dist/runtime/fieldtypes/loader.js +84 -2
- package/dist/runtime/fieldtypes/loader.js.map +1 -1
- package/dist/runtime/git/guardrailSource.d.ts +1 -1
- package/dist/runtime/git/index.d.ts +4 -2
- package/dist/runtime/git/index.d.ts.map +1 -1
- package/dist/runtime/git/index.js +2 -1
- package/dist/runtime/git/index.js.map +1 -1
- package/dist/runtime/git/layoutSource.d.ts +1 -1
- package/dist/runtime/git/loader.d.ts.map +1 -1
- package/dist/runtime/git/loader.js +18 -6
- package/dist/runtime/git/loader.js.map +1 -1
- package/dist/runtime/git/pageCatalog.d.ts +1 -1
- package/dist/runtime/git/schemaChange.d.ts +22 -0
- package/dist/runtime/git/schemaChange.d.ts.map +1 -1
- package/dist/runtime/git/schemaChange.js +28 -2
- package/dist/runtime/git/schemaChange.js.map +1 -1
- package/dist/runtime/git/schemaSource.d.ts +1 -1
- package/dist/runtime/git/sourceFile.d.ts +1 -1
- package/dist/runtime/git/sourceFile.js +1 -1
- package/dist/runtime/git/sourceTransaction.d.ts +1 -1
- package/dist/runtime/git/workflowSource.d.ts +40 -0
- package/dist/runtime/git/workflowSource.d.ts.map +1 -0
- package/dist/runtime/git/workflowSource.js +45 -0
- package/dist/runtime/git/workflowSource.js.map +1 -0
- package/dist/runtime/identity/admin.d.ts +18 -0
- package/dist/runtime/identity/admin.d.ts.map +1 -0
- package/dist/runtime/identity/admin.js +27 -0
- package/dist/runtime/identity/admin.js.map +1 -0
- package/dist/runtime/identity/directory.d.ts +12 -0
- package/dist/runtime/identity/directory.d.ts.map +1 -0
- package/dist/runtime/identity/directory.js +22 -0
- package/dist/runtime/identity/directory.js.map +1 -0
- package/dist/runtime/identity/index.d.ts +11 -0
- package/dist/runtime/identity/index.d.ts.map +1 -0
- package/dist/runtime/identity/index.js +8 -0
- package/dist/runtime/identity/index.js.map +1 -0
- package/dist/runtime/identity/resolve.d.ts +10 -0
- package/dist/runtime/identity/resolve.d.ts.map +1 -0
- package/dist/runtime/identity/resolve.js +16 -0
- package/dist/runtime/identity/resolve.js.map +1 -0
- package/dist/runtime/identity/sources/function.d.ts +10 -0
- package/dist/runtime/identity/sources/function.d.ts.map +1 -0
- package/dist/runtime/identity/sources/function.js +9 -0
- package/dist/runtime/identity/sources/function.js.map +1 -0
- package/dist/runtime/identity/sources/pg.d.ts +42 -0
- package/dist/runtime/identity/sources/pg.d.ts.map +1 -0
- package/dist/runtime/identity/sources/pg.js +121 -0
- package/dist/runtime/identity/sources/pg.js.map +1 -0
- package/dist/runtime/identity/store.d.ts +27 -0
- package/dist/runtime/identity/store.d.ts.map +1 -0
- package/dist/runtime/identity/store.js +139 -0
- package/dist/runtime/identity/store.js.map +1 -0
- package/dist/runtime/identity/sync.d.ts +34 -0
- package/dist/runtime/identity/sync.d.ts.map +1 -0
- package/dist/runtime/identity/sync.js +149 -0
- package/dist/runtime/identity/sync.js.map +1 -0
- package/dist/runtime/metadata/cache.d.ts +0 -2
- package/dist/runtime/metadata/cache.d.ts.map +1 -1
- package/dist/runtime/metadata/cache.js +0 -11
- package/dist/runtime/metadata/cache.js.map +1 -1
- package/dist/runtime/metadata/index.d.ts +1 -1
- package/dist/runtime/metadata/index.d.ts.map +1 -1
- package/dist/runtime/metadata/index.js +1 -1
- package/dist/runtime/metadata/index.js.map +1 -1
- package/dist/runtime/record-meta/index.d.ts +2 -0
- package/dist/runtime/record-meta/index.d.ts.map +1 -0
- package/dist/runtime/record-meta/index.js +2 -0
- package/dist/runtime/record-meta/index.js.map +1 -0
- package/dist/runtime/record-meta/store.d.ts +43 -0
- package/dist/runtime/record-meta/store.d.ts.map +1 -0
- package/dist/runtime/record-meta/store.js +88 -0
- package/dist/runtime/record-meta/store.js.map +1 -0
- package/dist/runtime/sql-analyzer/index.d.ts.map +1 -1
- package/dist/runtime/sql-analyzer/index.js +59 -0
- package/dist/runtime/sql-analyzer/index.js.map +1 -1
- package/dist/runtime/tools/executor.d.ts +11 -11
- package/dist/runtime/tools/executor.d.ts.map +1 -1
- package/dist/runtime/tools/executor.js +6 -6
- package/dist/runtime/tools/executor.js.map +1 -1
- package/dist/runtime/tools/index.d.ts +2 -0
- package/dist/runtime/tools/index.d.ts.map +1 -1
- package/dist/runtime/tools/index.js +1 -0
- package/dist/runtime/tools/index.js.map +1 -1
- package/dist/runtime/tools/policies.d.ts +22 -5
- package/dist/runtime/tools/policies.d.ts.map +1 -1
- package/dist/runtime/tools/policies.js +42 -12
- package/dist/runtime/tools/policies.js.map +1 -1
- package/dist/runtime/tunnel/connector.d.ts +1 -1
- package/dist/runtime/tunnel/forwarder.js +1 -1
- package/dist/runtime/tunnel/framing.d.ts +1 -1
- package/dist/runtime/tunnel/server.d.ts +1 -1
- package/dist/subsystems/approvals/index.d.ts +4 -4
- package/dist/subsystems/approvals/index.d.ts.map +1 -1
- package/dist/subsystems/approvals/index.js +5 -6
- package/dist/subsystems/approvals/index.js.map +1 -1
- package/dist/subsystems/approvals/store.d.ts +1 -3
- package/dist/subsystems/approvals/store.d.ts.map +1 -1
- package/dist/subsystems/approvals/store.js +1 -16
- package/dist/subsystems/approvals/store.js.map +1 -1
- package/dist/subsystems/audit/index.d.ts +1 -1
- package/dist/subsystems/audit/index.d.ts.map +1 -1
- package/dist/subsystems/audit/index.js +2 -3
- package/dist/subsystems/audit/index.js.map +1 -1
- package/dist/subsystems/audit/store.d.ts +0 -2
- package/dist/subsystems/audit/store.d.ts.map +1 -1
- package/dist/subsystems/audit/store.js +0 -21
- package/dist/subsystems/audit/store.js.map +1 -1
- package/dist/subsystems/quota/store.d.ts +9 -0
- package/dist/subsystems/quota/store.d.ts.map +1 -1
- package/dist/subsystems/quota/store.js +0 -8
- package/dist/subsystems/quota/store.js.map +1 -1
- package/dist/subsystems/script/backend/isolated-vm.js +1 -1
- package/dist/subsystems/script/backend/types.d.ts +2 -2
- package/dist/subsystems/script/backend/types.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.d.ts +1 -1
- package/dist/subsystems/script/bridge.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.js +6 -4
- package/dist/subsystems/script/bridge.js.map +1 -1
- package/dist/subsystems/script/dispatcher.d.ts.map +1 -1
- package/dist/subsystems/script/dispatcher.js +3 -1
- package/dist/subsystems/script/dispatcher.js.map +1 -1
- package/dist/subsystems/workflow/index.d.ts +4 -0
- package/dist/subsystems/workflow/index.d.ts.map +1 -0
- package/dist/subsystems/workflow/index.js +3 -0
- package/dist/subsystems/workflow/index.js.map +1 -0
- package/dist/subsystems/workflow/scheduler.d.ts +27 -0
- package/dist/subsystems/workflow/scheduler.d.ts.map +1 -0
- package/dist/subsystems/workflow/scheduler.js +109 -0
- package/dist/subsystems/workflow/scheduler.js.map +1 -0
- package/dist/subsystems/workflow/store.d.ts +10 -0
- package/dist/subsystems/workflow/store.d.ts.map +1 -0
- package/dist/subsystems/workflow/store.js +44 -0
- package/dist/subsystems/workflow/store.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/runtime/data-access/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/engine.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { FastifyInstance } from 'fastify';
|
|
2
2
|
import type { Pool } from 'pg';
|
|
3
|
-
import { ObjectRegistry, type CounterStore, type EngineScriptConfig, type EventPublisher, type FieldTypeRegistration, type GuardrailPolicy, type Locale, type ProxyTargetResolver, type ScriptDispatcher, type ToolDefinition } from '../core/index.js';
|
|
3
|
+
import { ObjectRegistry, type CounterStore, type EngineScriptConfig, type EngineWorkflowConfig, type EventPublisher, type FieldTypeRegistration, type GuardrailPolicy, type Locale, type ProxyTargetResolver, type ScriptDispatcher, type ToolDefinition } from '../core/index.js';
|
|
4
4
|
import type { ObjectDataAccess } from './data-access/index.js';
|
|
5
5
|
import type { ProjectType } from '../cli/types/index.js';
|
|
6
|
+
import { type ApprovalsQueue } from './tools/index.js';
|
|
6
7
|
import type { ToolExecutor } from './tools/index.js';
|
|
7
8
|
import type { ProxyForwarder } from './proxy/index.js';
|
|
8
|
-
import { type AuthSource, type Authenticator } from '../adapters/auth/index.js';
|
|
9
|
+
import { type AuthSource, type AuthVerifier, type Authenticator } from '../adapters/auth/index.js';
|
|
10
|
+
import type { IdentitySource, IdentityStore } from '../core/provider/identity/index.js';
|
|
11
|
+
import type { PgIdentitySourceConfig } from './identity/sources/pg.js';
|
|
9
12
|
import type { IngressConfig } from '../core/provider/event/index.js';
|
|
10
13
|
import { type EngineMcpConfig, type McpServerHandle } from '../adapters/mcp/index.js';
|
|
11
14
|
import type { AuditEngine } from '../subsystems/audit/index.js';
|
|
15
|
+
import type { WorkflowTimerScheduler } from '../subsystems/workflow/index.js';
|
|
12
16
|
/** REST interface configuration */
|
|
13
17
|
export interface EngineRestConfig {
|
|
14
18
|
enabled?: boolean;
|
|
@@ -34,9 +38,9 @@ export interface EngineRestConfig {
|
|
|
34
38
|
/** audit subsystem config (optional; disabled = not loaded = zero overhead) */
|
|
35
39
|
export interface EngineAuditConfig {
|
|
36
40
|
enabled?: boolean;
|
|
37
|
-
/** retention window placeholder (auto-cleanup is
|
|
41
|
+
/** retention window placeholder (auto-cleanup is not implemented yet) */
|
|
38
42
|
retention?: string;
|
|
39
|
-
/**
|
|
43
|
+
/** audit diff replay: attach before/after row snapshots to update/delete audit events (default off; table always has the columns) */
|
|
40
44
|
replay?: boolean;
|
|
41
45
|
/** L1 buffered-sink parameters */
|
|
42
46
|
batch?: {
|
|
@@ -45,7 +49,7 @@ export interface EngineAuditConfig {
|
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
51
|
/**
|
|
48
|
-
* Engine-level tool mechanism config (
|
|
52
|
+
* Engine-level tool mechanism config (open contract, protocol-agnostic —
|
|
49
53
|
* lives at the top level, not under `adapters.*`). Disabled when absent.
|
|
50
54
|
*/
|
|
51
55
|
export interface EngineToolsConfig {
|
|
@@ -56,7 +60,7 @@ export interface EngineToolsConfig {
|
|
|
56
60
|
policies?: GuardrailPolicy[] | string;
|
|
57
61
|
};
|
|
58
62
|
/**
|
|
59
|
-
* approval queue persistence (
|
|
63
|
+
* approval queue persistence (release-grade). Absent → PG-backed when the
|
|
60
64
|
* tool executor is created; `backend: 'memory'` opts into the single-process
|
|
61
65
|
* in-memory queue (tests). No Redis backend is implemented.
|
|
62
66
|
*/
|
|
@@ -64,7 +68,7 @@ export interface EngineToolsConfig {
|
|
|
64
68
|
backend?: 'pg' | 'memory';
|
|
65
69
|
};
|
|
66
70
|
}
|
|
67
|
-
/**
|
|
71
|
+
/** live event channel config (optional; disabled = not created = zero overhead) */
|
|
68
72
|
export interface EngineEventsConfig {
|
|
69
73
|
enabled?: boolean;
|
|
70
74
|
/** URL prefix for the SSE endpoint; defaults to `/api` */
|
|
@@ -111,7 +115,7 @@ export interface ProxyResolverDeps {
|
|
|
111
115
|
* `ProxyTargetResolver` instance is also accepted.
|
|
112
116
|
*/
|
|
113
117
|
export type ProxyTargetResolverBuilder = (deps: ProxyResolverDeps) => ProxyTargetResolver;
|
|
114
|
-
/** engine assembly configuration — the single wiring point (see AGENTS.md
|
|
118
|
+
/** engine assembly configuration — the single wiring point (see AGENTS.md) */
|
|
115
119
|
/** a host-level background service returned by a service's `start`. */
|
|
116
120
|
export interface EngineServiceHandle {
|
|
117
121
|
/** tear the service down (abort streams, clear timers); called on engine close. */
|
|
@@ -122,9 +126,55 @@ export interface EngineService {
|
|
|
122
126
|
name: string;
|
|
123
127
|
start(engine: WeaveKitEngine): Promise<EngineServiceHandle> | EngineServiceHandle;
|
|
124
128
|
}
|
|
129
|
+
/** identity directory wiring (see `core/provider/identity`) */
|
|
130
|
+
export interface EngineIdentityConfig {
|
|
131
|
+
/**
|
|
132
|
+
* provisioning source: an `IdentitySource` instance (has `pull`) or a
|
|
133
|
+
* declarative `PgIdentitySourceConfig`. Absent → greenfield (the engine owns
|
|
134
|
+
* `weavekit_user`/`weavekit_department` directly).
|
|
135
|
+
*/
|
|
136
|
+
source?: IdentitySource | PgIdentitySourceConfig;
|
|
137
|
+
/** replaceable local directory store; defaults to PG over `weavekit_*` */
|
|
138
|
+
store?: IdentityStore;
|
|
139
|
+
/**
|
|
140
|
+
* credential verifier (OIDC/JWT/SAML); when set the engine authenticates via
|
|
141
|
+
* `verifier → directory → subject` and `auth.source` may be omitted.
|
|
142
|
+
*/
|
|
143
|
+
verifier?: AuthVerifier;
|
|
144
|
+
/** reject subjects with no local identity for scoped access (default false) */
|
|
145
|
+
required?: boolean;
|
|
146
|
+
sync?: {
|
|
147
|
+
/** run the source sync on engine start (fail-closed) */
|
|
148
|
+
onStart?: boolean;
|
|
149
|
+
/** soft-disable local rows absent from the source snapshot */
|
|
150
|
+
deactivateMissing?: boolean;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
125
153
|
export interface EngineConfig {
|
|
126
154
|
/** postgres connection string; defaults to process.env.DATABASE_URL */
|
|
127
155
|
databaseUrl?: string;
|
|
156
|
+
/**
|
|
157
|
+
* connection string used only for schema migration/DDL by the CLI (`weave
|
|
158
|
+
* migrate`/`weave dev`). Defaults to `databaseUrl`. **Same database, a
|
|
159
|
+
* separate account** — a PostgreSQL role with DDL rights (usually the owner),
|
|
160
|
+
* so the runtime account can be least-privileged (no DDL/DROP/TRUNCATE).
|
|
161
|
+
* Pointing it at a *different* database is a misconfiguration (migrations
|
|
162
|
+
* would land where the runtime cannot see them). The engine itself never runs
|
|
163
|
+
* DDL at runtime.
|
|
164
|
+
*/
|
|
165
|
+
migrationDatabaseUrl?: string;
|
|
166
|
+
/**
|
|
167
|
+
* runtime database account guard. The engine only ever runs DML, so its
|
|
168
|
+
* account should be least-privileged (no schema `CREATE`); DDL is an explicit
|
|
169
|
+
* `weave migrate` using `migrationDatabaseUrl`. When `requireRestrictedAccount`
|
|
170
|
+
* is true (the default) the engine **fails to start** if its account can
|
|
171
|
+
* create objects in the current schema. Set false for a single-account setup
|
|
172
|
+
* (`weave dev` does this by default), or override with the
|
|
173
|
+
* `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` env var.
|
|
174
|
+
*/
|
|
175
|
+
runtime?: {
|
|
176
|
+
requireRestrictedAccount?: boolean;
|
|
177
|
+
};
|
|
128
178
|
/** runtime message locale; resolution: config → env WEAVEKIT_LOCALE → 'en' */
|
|
129
179
|
locale?: Locale;
|
|
130
180
|
/**
|
|
@@ -163,8 +213,8 @@ export interface EngineConfig {
|
|
|
163
213
|
email: string;
|
|
164
214
|
};
|
|
165
215
|
};
|
|
166
|
-
/** authentication source (static key map or custom resolver); required
|
|
167
|
-
auth
|
|
216
|
+
/** authentication source (static key map or custom resolver); required unless `identity.verifier` is set */
|
|
217
|
+
auth?: {
|
|
168
218
|
source: AuthSource;
|
|
169
219
|
};
|
|
170
220
|
/** protocol adapters (REST/MCP/events), closable via config */
|
|
@@ -173,12 +223,13 @@ export interface EngineConfig {
|
|
|
173
223
|
mcp?: EngineMcpConfig;
|
|
174
224
|
events?: EngineEventsConfig;
|
|
175
225
|
};
|
|
176
|
-
/** engine-level tool mechanism
|
|
226
|
+
/** engine-level tool mechanism: custom tools + guardrail policies; disabled when absent */
|
|
177
227
|
tools?: EngineToolsConfig;
|
|
178
|
-
/** optional subsystems, dynamically loaded when enabled (audit/script
|
|
228
|
+
/** optional subsystems, dynamically loaded when enabled (audit/script; workflow is declaration-driven; unknown keys error out) */
|
|
179
229
|
subsystems?: {
|
|
180
230
|
audit?: EngineAuditConfig;
|
|
181
231
|
script?: EngineScriptConfig;
|
|
232
|
+
workflow?: EngineWorkflowConfig;
|
|
182
233
|
};
|
|
183
234
|
/**
|
|
184
235
|
* durable fixed-period counters / usage budgets (optional; disabled when
|
|
@@ -216,6 +267,13 @@ export interface EngineConfig {
|
|
|
216
267
|
dir?: string;
|
|
217
268
|
entries?: FieldTypeRegistration[];
|
|
218
269
|
};
|
|
270
|
+
/**
|
|
271
|
+
* engine-owned identity directory (see `core/provider/identity`). `source`
|
|
272
|
+
* imports an external user/department directory (a `pg` descriptor or an
|
|
273
|
+
* `IdentitySource`); `weave sync:identity` provisions it into `weavekit_user`
|
|
274
|
+
* / `weavekit_department` before the engine serves scoped access.
|
|
275
|
+
*/
|
|
276
|
+
identity?: EngineIdentityConfig;
|
|
219
277
|
/**
|
|
220
278
|
* host-level background services (e.g. an instance-liveness monitor). Started
|
|
221
279
|
* after the engine is assembled and stopped in `close()`, so both `weave dev`
|
|
@@ -233,12 +291,12 @@ export interface WeaveKitEngine {
|
|
|
233
291
|
authenticator: Authenticator;
|
|
234
292
|
/** MCP adapter handle (present unless adapters.mcp.enabled is false) */
|
|
235
293
|
mcp?: McpServerHandle;
|
|
236
|
-
/**
|
|
294
|
+
/** tool mechanism (present when config.tools.toolsDir is set): executor + approval queue */
|
|
237
295
|
tools?: {
|
|
238
296
|
defs: ToolDefinition[];
|
|
239
297
|
executor: ToolExecutor;
|
|
240
298
|
};
|
|
241
|
-
/**
|
|
299
|
+
/** live event publisher (present when adapters.events.enabled): emits committed writes / audit / schema changes */
|
|
242
300
|
events?: EventPublisher;
|
|
243
301
|
/** generic proxy handle (present when config.proxy.resolver is set): forwarder + resolver */
|
|
244
302
|
proxy?: {
|
|
@@ -251,9 +309,26 @@ export interface WeaveKitEngine {
|
|
|
251
309
|
quotas?: CounterStore;
|
|
252
310
|
/** script subsystem (present when enabled); workers are terminated on close */
|
|
253
311
|
script?: ScriptDispatcher;
|
|
312
|
+
/** approval queue (present when config.tools is set): shared by tools and workflow transitions */
|
|
313
|
+
approvals?: ApprovalsQueue;
|
|
314
|
+
/** workflow timer scheduler (present when `subsystems.workflow.enabled`): fires `onTimeout` */
|
|
315
|
+
workflow?: WorkflowTimerScheduler;
|
|
254
316
|
close(): Promise<void>;
|
|
255
317
|
}
|
|
256
318
|
export declare function resolveLocale(configLocale: Locale | undefined): Locale;
|
|
319
|
+
/**
|
|
320
|
+
* Whether the runtime database account must be least-privileged (no schema
|
|
321
|
+
* `CREATE`). Resolution: explicit `config.runtime.requireRestrictedAccount` →
|
|
322
|
+
* env `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` → default `true`.
|
|
323
|
+
*/
|
|
324
|
+
export declare function resolveRequireRestrictedAccount(config: EngineConfig): boolean;
|
|
325
|
+
/**
|
|
326
|
+
* Fail-closed guard: refuse to start when the runtime account can create
|
|
327
|
+
* objects in the current schema. WeaveKit runs DDL only via `weave migrate`
|
|
328
|
+
* (with `migrationDatabaseUrl`); a runtime account with `CREATE` defeats the
|
|
329
|
+
* least-privilege model.
|
|
330
|
+
*/
|
|
331
|
+
export declare function assertRestrictedRuntimeAccount(pool: Pool, config: EngineConfig, locale: Locale): Promise<void>;
|
|
257
332
|
/**
|
|
258
333
|
* Assemble a running engine from an already-built registry (no schema loading).
|
|
259
334
|
* This is the low-level assembly used by `createEngine` and by tests/dev that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAGL,cAAc,EAMd,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EACrB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/engine.js
CHANGED
|
@@ -6,9 +6,11 @@ import { createDataAccess, withRbac } from './data-access/index.js';
|
|
|
6
6
|
import { createToolExecutor, loadToolsDir } from './tools/index.js';
|
|
7
7
|
import { createApprovals } from './tools/index.js';
|
|
8
8
|
import { resolvePolicies } from './tools/policies.js';
|
|
9
|
-
import { buildAuthenticator } from '../adapters/auth/index.js';
|
|
10
|
-
import {
|
|
9
|
+
import { buildAuthenticator, createDirectoryAuthenticator, enforceSyncedIdentity } from '../adapters/auth/index.js';
|
|
10
|
+
import { PgIdentityDirectory, PgIdentityStore, IdentityAdmin, resolveIdentitySource, runIdentitySync } from './identity/index.js';
|
|
11
|
+
import { registerAuditRoutes, registerApprovalsRoutes, registerMetadataRoutes, registerObjectRoutes, registerPagesRoutes, registerPermissionsRoutes, registerProxyRoutes, registerIngressRoutes, registerSchemaRoutes, registerGuardrailsRoutes, registerIdentitiesRoutes, registerWorkflowRoutes, registerWorkflowSourceRoutes, setErrorHandlers, } from '../adapters/rest/index.js';
|
|
11
12
|
import { registerScriptRoutes } from '../adapters/rest/scripts.js';
|
|
13
|
+
import { registerIdentityAdminRoutes } from '../adapters/rest/identityAdmin.js';
|
|
12
14
|
import { registerEventsRoutes } from '../adapters/events/index.js';
|
|
13
15
|
import { registerOpsRoutes } from '../adapters/ops/index.js';
|
|
14
16
|
import { registerMcp } from '../adapters/mcp/index.js';
|
|
@@ -19,6 +21,35 @@ export function resolveLocale(configLocale) {
|
|
|
19
21
|
const supported = new Set(SUPPORTED_LOCALES);
|
|
20
22
|
return supported.has(resolved) ? resolved : DEFAULT_LOCALE;
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Whether the runtime database account must be least-privileged (no schema
|
|
26
|
+
* `CREATE`). Resolution: explicit `config.runtime.requireRestrictedAccount` →
|
|
27
|
+
* env `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` → default `true`.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveRequireRestrictedAccount(config) {
|
|
30
|
+
const configured = config.runtime?.requireRestrictedAccount;
|
|
31
|
+
if (configured !== undefined)
|
|
32
|
+
return configured;
|
|
33
|
+
const env = process.env.WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT;
|
|
34
|
+
if (env !== undefined)
|
|
35
|
+
return env !== 'false' && env !== '0';
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fail-closed guard: refuse to start when the runtime account can create
|
|
40
|
+
* objects in the current schema. WeaveKit runs DDL only via `weave migrate`
|
|
41
|
+
* (with `migrationDatabaseUrl`); a runtime account with `CREATE` defeats the
|
|
42
|
+
* least-privilege model.
|
|
43
|
+
*/
|
|
44
|
+
export async function assertRestrictedRuntimeAccount(pool, config, locale) {
|
|
45
|
+
if (!resolveRequireRestrictedAccount(config))
|
|
46
|
+
return;
|
|
47
|
+
const { rows } = await pool.query(`SELECT current_user AS user, has_schema_privilege(current_user, current_schema(), 'CREATE') AS can_create`);
|
|
48
|
+
const row = rows[0];
|
|
49
|
+
if (row?.can_create === true) {
|
|
50
|
+
throw new SchemaError('engine.runtimeAccount.ddlAllowed', { user: row.user }, locale);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
22
53
|
/**
|
|
23
54
|
* Assemble a running engine from an already-built registry (no schema loading).
|
|
24
55
|
* This is the low-level assembly used by `createEngine` and by tests/dev that
|
|
@@ -30,10 +61,17 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
30
61
|
if (databaseUrl === undefined) {
|
|
31
62
|
throw new SchemaError('engine.databaseUrl.missing', {}, locale);
|
|
32
63
|
}
|
|
33
|
-
if (config.auth === undefined
|
|
64
|
+
if (config.auth?.source === undefined && config.identity?.verifier === undefined) {
|
|
34
65
|
throw new SchemaError('auth.notConfigured', {}, locale);
|
|
35
66
|
}
|
|
36
67
|
const pool = createPool(databaseUrl);
|
|
68
|
+
try {
|
|
69
|
+
await assertRestrictedRuntimeAccount(pool, config, locale);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
await pool.end();
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
37
75
|
// optional durable counter store (quotas/budgets); absent = zero overhead
|
|
38
76
|
let quotas;
|
|
39
77
|
if (config.quotas !== undefined) {
|
|
@@ -42,7 +80,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
42
80
|
}
|
|
43
81
|
// optional subsystems — dynamically loaded when enabled (disabled = not imported = zero overhead)
|
|
44
82
|
const subsystems = config.subsystems ?? {};
|
|
45
|
-
const unimplemented = Object.keys(subsystems).filter((k) => k !== 'audit' && k !== 'script');
|
|
83
|
+
const unimplemented = Object.keys(subsystems).filter((k) => k !== 'audit' && k !== 'script' && k !== 'workflow');
|
|
46
84
|
if (unimplemented.length > 0) {
|
|
47
85
|
throw new Error(`subsystem not implemented: ${unimplemented.join(', ')}`);
|
|
48
86
|
}
|
|
@@ -55,7 +93,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
55
93
|
bufferedSink = createBufferedAuditSink(audit, subsystems.audit.batch);
|
|
56
94
|
auditSink = bufferedSink;
|
|
57
95
|
}
|
|
58
|
-
//
|
|
96
|
+
// live channel: the event bus is created only when adapters.events is
|
|
59
97
|
// enabled (absent = not imported = zero overhead). Its publisher is injected
|
|
60
98
|
// into data-access (record.* on committed writes) and the audit sink
|
|
61
99
|
// (audit.event dual-emit). schema.changed is exposed via `engine.events`.
|
|
@@ -85,12 +123,47 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
85
123
|
};
|
|
86
124
|
}
|
|
87
125
|
}
|
|
126
|
+
// Guardrail policies + approval queue are shared by the tool open-contract and
|
|
127
|
+
// by workflow transitions (a transition policy self-filters on `ctx.action`,
|
|
128
|
+
// e.g. it must check `ctx.action.startsWith('workflow.transition.')`).
|
|
129
|
+
let policies = [];
|
|
130
|
+
let approvals;
|
|
131
|
+
if (config.tools !== undefined) {
|
|
132
|
+
policies = await resolvePolicies(config.tools.guardrails?.policies, config.schemaDir ?? '.');
|
|
133
|
+
// Create the queue only when it can be used (tools path, explicit config, a
|
|
134
|
+
// transition policy, or a `requiresApproval` transition) — avoid an eager
|
|
135
|
+
// PG table for a config that has none of them.
|
|
136
|
+
const needsApprovals = config.tools.approvals !== undefined ||
|
|
137
|
+
config.tools.toolsDir !== undefined ||
|
|
138
|
+
policies.length > 0;
|
|
139
|
+
if (needsApprovals) {
|
|
140
|
+
// persisted approvals by default (PG — the engine's mandated DB); opt out
|
|
141
|
+
// with `approvals.backend: 'memory'`. The approval queue must be durable /
|
|
142
|
+
// multi-instance consistent, so it is never left single-process in-memory
|
|
143
|
+
// for a release engine.
|
|
144
|
+
if (config.tools.approvals?.backend !== 'memory') {
|
|
145
|
+
const { createApprovalsBackend } = await import('../subsystems/approvals/index.js');
|
|
146
|
+
const backend = await createApprovalsBackend(pool);
|
|
147
|
+
approvals = createApprovals({ audit: auditSink, backend });
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
approvals = createApprovals({ audit: auditSink });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
88
154
|
// The script subsystem needs a data-access to serve `this.db.objects` RPCs,
|
|
89
155
|
// while the engine's exposed data-access needs the script dispatcher to fire
|
|
90
156
|
// hooks. The cycle is resolved by giving the bridge its own RBAC-decorated
|
|
91
157
|
// instance over the same base and adding the dispatcher to the exposed one.
|
|
158
|
+
// Same shape for the workflow timer scheduler: a proxy lets writes re-arm
|
|
159
|
+
// timers before the scheduler is built (a no-op until it is assigned).
|
|
160
|
+
let workflowScheduler;
|
|
161
|
+
const workflowTimers = {
|
|
162
|
+
sync: (object, id, state) => workflowScheduler?.sync(object, id, state) ?? Promise.resolve(),
|
|
163
|
+
cancel: (object, id) => workflowScheduler?.cancel(object, id) ?? Promise.resolve(),
|
|
164
|
+
};
|
|
92
165
|
const replay = subsystems.audit?.replay === true;
|
|
93
|
-
const baseDataAccess = createDataAccess({ audit: auditSink, replay, events: eventPublisher });
|
|
166
|
+
const baseDataAccess = createDataAccess({ audit: auditSink, replay, events: eventPublisher, policies, approvals, workflowTimers });
|
|
94
167
|
let script;
|
|
95
168
|
let dataAccess;
|
|
96
169
|
if (subsystems.script?.enabled) {
|
|
@@ -105,13 +178,26 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
105
178
|
config: subsystems.script,
|
|
106
179
|
locale,
|
|
107
180
|
});
|
|
108
|
-
dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher }), { audit: auditSink });
|
|
181
|
+
dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher, policies, approvals, workflowTimers }), { audit: auditSink });
|
|
109
182
|
}
|
|
110
183
|
else {
|
|
111
184
|
dataAccess = withRbac(baseDataAccess, { audit: auditSink });
|
|
112
185
|
}
|
|
113
|
-
const
|
|
114
|
-
//
|
|
186
|
+
const identityCfg = config.identity;
|
|
187
|
+
// engine-owned identity directory: handles only (no I/O) unless onStart sync
|
|
188
|
+
const identityStore = identityCfg?.store ?? new PgIdentityStore(pool);
|
|
189
|
+
const identityDirectory = new PgIdentityDirectory(identityStore);
|
|
190
|
+
if (identityCfg?.sync?.onStart === true && identityCfg.source !== undefined) {
|
|
191
|
+
const source = resolveIdentitySource(identityCfg.source, pool);
|
|
192
|
+
await runIdentitySync(source, identityStore, { deactivateMissing: identityCfg.sync.deactivateMissing });
|
|
193
|
+
}
|
|
194
|
+
let authenticator = identityCfg?.verifier !== undefined
|
|
195
|
+
? createDirectoryAuthenticator({ verifier: identityCfg.verifier, directory: identityDirectory, locale })
|
|
196
|
+
: buildAuthenticator(config.auth ?? { source: {} });
|
|
197
|
+
if (identityCfg?.required === true) {
|
|
198
|
+
authenticator = enforceSyncedIdentity(authenticator, identityDirectory, locale);
|
|
199
|
+
}
|
|
200
|
+
// tool mechanism: load custom tools when config.tools.toolsDir is set
|
|
115
201
|
// (absent = not loaded = zero overhead). The executor wraps the RBAC-decorated
|
|
116
202
|
// data-access; rate limiting stays at the adapter layer (per-agentKey), the
|
|
117
203
|
// executor's `guardrails` handle is a no-op self-check for tool authors.
|
|
@@ -119,17 +205,6 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
119
205
|
if (config.tools?.toolsDir !== undefined) {
|
|
120
206
|
const toolsDir = join(config.schemaDir ?? '.', config.tools.toolsDir);
|
|
121
207
|
const loaded = await loadToolsDir(toolsDir, { locale });
|
|
122
|
-
const policies = await resolvePolicies(config.tools.guardrails?.policies, config.schemaDir ?? '.');
|
|
123
|
-
// D1: persisted approvals by default (PG — the engine's mandated DB); opt out
|
|
124
|
-
// with `approvals.backend: 'memory'`. The approval queue must be durable /
|
|
125
|
-
// multi-instance consistent, so it is never left single-process in-memory
|
|
126
|
-
// for a release engine.
|
|
127
|
-
let approvals;
|
|
128
|
-
if (config.tools.approvals?.backend !== 'memory') {
|
|
129
|
-
const { createApprovalsBackend } = await import('../subsystems/approvals/index.js');
|
|
130
|
-
const backend = await createApprovalsBackend(pool);
|
|
131
|
-
approvals = createApprovals({ audit: auditSink, backend });
|
|
132
|
-
}
|
|
133
208
|
tools = {
|
|
134
209
|
defs: loaded.map((l) => l.definition),
|
|
135
210
|
executor: createToolExecutor({
|
|
@@ -144,6 +219,18 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
144
219
|
}),
|
|
145
220
|
};
|
|
146
221
|
}
|
|
222
|
+
// workflow `onTimeout` scheduler — load only when the subsystem is enabled
|
|
223
|
+
if (subsystems.workflow?.enabled) {
|
|
224
|
+
const { createWorkflowScheduler } = await import('../subsystems/workflow/index.js');
|
|
225
|
+
workflowScheduler = await createWorkflowScheduler({
|
|
226
|
+
pool,
|
|
227
|
+
registry,
|
|
228
|
+
dataAccess,
|
|
229
|
+
script,
|
|
230
|
+
config: subsystems.workflow,
|
|
231
|
+
locale,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
147
234
|
const rest = config.adapters?.rest;
|
|
148
235
|
const mcpCfg = config.adapters?.mcp;
|
|
149
236
|
let proxyHandle;
|
|
@@ -198,7 +285,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
198
285
|
projectDir: config.schemaDir,
|
|
199
286
|
commitIdentity: config.commit?.identity,
|
|
200
287
|
}, restOptions);
|
|
201
|
-
//
|
|
288
|
+
// guardrail policy source (list/read/write, admin) — only when the
|
|
202
289
|
// `tools.guardrails.policies` config is a directory path.
|
|
203
290
|
const guardrailsPolicies = config.tools?.guardrails?.policies;
|
|
204
291
|
registerGuardrailsRoutes(app, {
|
|
@@ -208,20 +295,26 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
208
295
|
policiesDir: typeof guardrailsPolicies === 'string' ? guardrailsPolicies : undefined,
|
|
209
296
|
commitIdentity: config.commit?.identity,
|
|
210
297
|
}, restOptions);
|
|
211
|
-
//
|
|
298
|
+
// identity directory (admin read) — only the static `mcp.identities` map
|
|
212
299
|
// has an introspectable surface; a function resolver returns `[]`.
|
|
213
300
|
registerIdentitiesRoutes(app, {
|
|
214
301
|
authenticator,
|
|
215
302
|
locale,
|
|
216
303
|
identities: typeof mcpCfg?.identities === 'object' ? mcpCfg.identities : undefined,
|
|
217
304
|
}, restOptions);
|
|
218
|
-
//
|
|
305
|
+
// greenfield identity administration (admin-gated): list/create/enable users
|
|
306
|
+
registerIdentityAdminRoutes(app, { authenticator, locale, admin: new IdentityAdmin(identityStore) }, restOptions);
|
|
307
|
+
// frontend metadata contract (framework-agnostic, all frontend adapters consume these)
|
|
219
308
|
registerMetadataRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
|
|
220
309
|
registerPermissionsRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
|
|
221
310
|
registerAuditRoutes(app, { registry, pool, dataAccess, authenticator, locale, audit }, restOptions);
|
|
222
|
-
//
|
|
311
|
+
// approval queue routes (depth-1 read + local write): present when the
|
|
223
312
|
// tool executor is enabled (toolsDir set) — `tools.executor.approvals`.
|
|
224
|
-
registerApprovalsRoutes(app, { registry, pool, dataAccess, authenticator, locale, approvals
|
|
313
|
+
registerApprovalsRoutes(app, { registry, pool, dataAccess, authenticator, locale, approvals }, restOptions);
|
|
314
|
+
// workflow transitions — available for any object declaring objects/<name>/workflow.json
|
|
315
|
+
registerWorkflowRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
|
|
316
|
+
// workflow definition source (admin GET/PUT spec) — only when a project dir is configured
|
|
317
|
+
registerWorkflowSourceRoutes(app, { registry, authenticator, locale, projectDir: config.schemaDir, commitIdentity: config.commit?.identity }, restOptions);
|
|
225
318
|
// Generic outbound proxy (P-4). Wired only when `config.proxy.resolver` is
|
|
226
319
|
// provided (absent = createProxyForwarder is not imported = zero overhead).
|
|
227
320
|
// The resolver carries the app semantics incl. which connection a subject
|
|
@@ -263,7 +356,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
263
356
|
}, config.ingress);
|
|
264
357
|
}
|
|
265
358
|
}
|
|
266
|
-
//
|
|
359
|
+
// live channel: SSE endpoint (Bearer auth, subject-filtered, replay)
|
|
267
360
|
if (eventBus !== undefined && eventPublisher !== undefined) {
|
|
268
361
|
registerEventsRoutes(app, {
|
|
269
362
|
registry,
|
|
@@ -294,6 +387,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
294
387
|
audit: auditSink,
|
|
295
388
|
alerts: createAlerts(mcpCfg?.guardrails?.alerts),
|
|
296
389
|
tools,
|
|
390
|
+
directory: identityDirectory,
|
|
297
391
|
corsOrigin: config.adapters?.rest?.cors?.origin,
|
|
298
392
|
});
|
|
299
393
|
}
|
|
@@ -314,6 +408,8 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
314
408
|
audit,
|
|
315
409
|
quotas,
|
|
316
410
|
script,
|
|
411
|
+
approvals,
|
|
412
|
+
workflow: workflowScheduler,
|
|
317
413
|
async close() {
|
|
318
414
|
const warn = (phase, error) => {
|
|
319
415
|
console.error(`weavekit: ${phase} close error: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -345,6 +441,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
345
441
|
warn('server', error);
|
|
346
442
|
}
|
|
347
443
|
await mcp?.close().catch((error) => warn('mcp', error));
|
|
444
|
+
await workflowScheduler?.close().catch((error) => warn('workflow', error));
|
|
348
445
|
await script?.close().catch((error) => warn('script', error));
|
|
349
446
|
await bufferedSink?.flush().catch((error) => warn('audit flush', error));
|
|
350
447
|
await audit?.close().catch((error) => warn('audit', error));
|