@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,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative single-line node-chain workflow (`objects/<name>/workflow.json`).
|
|
3
|
+
* Pure types — zero runtime dependencies (core contract layer).
|
|
4
|
+
*
|
|
5
|
+
* Format v2 replaces the v1 state-marker machine (`stateField` + `states[]` +
|
|
6
|
+
* `transitions[]`) with an ordered `nodes[]` chain driven by an implicit start
|
|
7
|
+
* node. Instance/step/workitem state lives in engine tables, never in the
|
|
8
|
+
* customer's columns (see the C-phase plan).
|
|
9
|
+
*/
|
|
10
|
+
/** on-disk `workflow.json` format version (single source of truth) */
|
|
11
|
+
export declare const WORKFLOW_FORMAT_VERSION: 2;
|
|
12
|
+
/** synthetic node id of the implicit start (发起) node — never authored */
|
|
13
|
+
export declare const WORKFLOW_START_NODE = "__start__";
|
|
14
|
+
/** node kinds (single source of truth) */
|
|
15
|
+
export declare const WORKFLOW_NODE_KINDS: {
|
|
16
|
+
readonly APPROVE: "approve";
|
|
17
|
+
readonly NOTIFY: "notify";
|
|
18
|
+
};
|
|
19
|
+
export type WorkflowNodeKind = (typeof WORKFLOW_NODE_KINDS)[keyof typeof WORKFLOW_NODE_KINDS];
|
|
20
|
+
/** how a node's assignees complete it (single source of truth) */
|
|
21
|
+
export declare const WORKFLOW_ASSIGN_MODES: {
|
|
22
|
+
/** 或签: the first decision settles the node */
|
|
23
|
+
readonly ANY: "any";
|
|
24
|
+
/** 会签: every assignee must approve */
|
|
25
|
+
readonly ALL: "all";
|
|
26
|
+
};
|
|
27
|
+
export type WorkflowAssignMode = (typeof WORKFLOW_ASSIGN_MODES)[keyof typeof WORKFLOW_ASSIGN_MODES];
|
|
28
|
+
/** the actions a node timeout may auto-fire (single source of truth) */
|
|
29
|
+
export declare const WORKFLOW_TIMEOUT_ACTIONS: {
|
|
30
|
+
readonly APPROVE: "approve";
|
|
31
|
+
readonly REJECT: "reject";
|
|
32
|
+
};
|
|
33
|
+
export type WorkflowTimeoutAction = (typeof WORKFLOW_TIMEOUT_ACTIONS)[keyof typeof WORKFLOW_TIMEOUT_ACTIONS];
|
|
34
|
+
/** how long a node may be held before its timeout fires, and what to do then */
|
|
35
|
+
export interface WorkflowTimeout {
|
|
36
|
+
/** duration string: `<n>` with optional unit `ms|s|m|h|d|w` (bare number = ms) */
|
|
37
|
+
after: string;
|
|
38
|
+
/** action auto-fired on expiry; absent = only dispatch the `onTimeout` hook */
|
|
39
|
+
action?: WorkflowTimeoutAction;
|
|
40
|
+
}
|
|
41
|
+
/** who acts at a node and how the node completes */
|
|
42
|
+
export interface WorkflowAssign {
|
|
43
|
+
/** roles whose members resolve to the node's assignees (required, non-empty) */
|
|
44
|
+
roles: string[];
|
|
45
|
+
/** 或签 (`any`, default) | 会签 (`all`); `notify` nodes keep `any` */
|
|
46
|
+
mode?: WorkflowAssignMode;
|
|
47
|
+
}
|
|
48
|
+
/** one node in the single-line chain */
|
|
49
|
+
export interface WorkflowNode {
|
|
50
|
+
/** snake_case node id, unique within the chain */
|
|
51
|
+
id: string;
|
|
52
|
+
/** `approve` (default) | `notify` (抄送: no quorum, advances immediately) */
|
|
53
|
+
kind?: WorkflowNodeKind;
|
|
54
|
+
/** display names keyed by locale, e.g. { en: 'Finance', zh: '财务审批' } */
|
|
55
|
+
name?: Record<string, string>;
|
|
56
|
+
description?: string;
|
|
57
|
+
/** roles that resolve to the node's assignees (required) */
|
|
58
|
+
assign: WorkflowAssign;
|
|
59
|
+
/** on reject, roll back to this earlier node id; absent = the start node */
|
|
60
|
+
onReject?: string;
|
|
61
|
+
/** on withdraw, roll back to this earlier node id; absent = the start node */
|
|
62
|
+
onWithdraw?: string;
|
|
63
|
+
/** when true, the action at this node must be approved through the approval queue before it fires */
|
|
64
|
+
requiresApproval?: boolean;
|
|
65
|
+
/** node-level timeout (approve nodes only) */
|
|
66
|
+
onTimeout?: WorkflowTimeout;
|
|
67
|
+
}
|
|
68
|
+
/** validated workflow definition attached to an object */
|
|
69
|
+
export interface WorkflowDefinition {
|
|
70
|
+
/** on-disk `workflow.json` format version */
|
|
71
|
+
schemaVersion?: number;
|
|
72
|
+
/**
|
|
73
|
+
* author-managed definition revision (an arbitrary positive integer, distinct
|
|
74
|
+
* from the on-disk `schemaVersion`). Surfaced in the descriptor / transition
|
|
75
|
+
* events + audit so history stays interpretable after a definition changes.
|
|
76
|
+
* See `workflowHash` for the exact content identity (instance pinning).
|
|
77
|
+
*/
|
|
78
|
+
version?: number;
|
|
79
|
+
/** the ordered single-line node chain (the start node is implicit) */
|
|
80
|
+
nodes: WorkflowNode[];
|
|
81
|
+
}
|
|
82
|
+
/** `weavekit.config.ts -> subsystems.workflow` */
|
|
83
|
+
export interface EngineWorkflowConfig {
|
|
84
|
+
enabled?: boolean;
|
|
85
|
+
/** scheduler poll interval in ms; defaults to `WORKFLOW_TIMER_DEFAULTS.pollMs` */
|
|
86
|
+
pollMs?: number;
|
|
87
|
+
/** timers claimed per tick; defaults to `WORKFLOW_TIMER_DEFAULTS.batchSize` */
|
|
88
|
+
batchSize?: number;
|
|
89
|
+
/** pluggable durable timer backend (defaults to the PG `weavekit_workflow_timers` store) */
|
|
90
|
+
backend?: WorkflowBackend;
|
|
91
|
+
}
|
|
92
|
+
/** scheduler defaults — single source of truth (as const, see AGENTS.md) */
|
|
93
|
+
export declare const WORKFLOW_TIMER_DEFAULTS: {
|
|
94
|
+
readonly pollMs: 30000;
|
|
95
|
+
readonly batchSize: 50;
|
|
96
|
+
};
|
|
97
|
+
/** one armed timeout for a record's current step */
|
|
98
|
+
export interface WorkflowTimer {
|
|
99
|
+
object: string;
|
|
100
|
+
id: string;
|
|
101
|
+
/** the current node id the timeout is armed for */
|
|
102
|
+
nodeId: string;
|
|
103
|
+
dueAt: Date;
|
|
104
|
+
/** semantic hash of the definition the timer was armed under */
|
|
105
|
+
workflowHash?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Durable timer store — the engine ships a PostgreSQL default
|
|
109
|
+
* (`weavekit_workflow_timers`, claimed with `FOR UPDATE SKIP LOCKED`). The
|
|
110
|
+
* seam lets an enterprise backend (e.g. Redis/HA coordination) plug in without
|
|
111
|
+
* forking core; the engine never imports a non-PG implementation.
|
|
112
|
+
*/
|
|
113
|
+
export interface WorkflowTimerStore {
|
|
114
|
+
/** attach/refresh the single timer for a record (one per record) */
|
|
115
|
+
schedule(timer: WorkflowTimer): Promise<void>;
|
|
116
|
+
/** remove any timer for the record */
|
|
117
|
+
cancel(object: string, id: string): Promise<void>;
|
|
118
|
+
/** atomically take up to `limit` due timers (multi-instance safe) */
|
|
119
|
+
claimDue(limit: number, now: Date): Promise<WorkflowTimer[]>;
|
|
120
|
+
/** finalize a claimed timer (idempotent) */
|
|
121
|
+
complete(timer: WorkflowTimer): Promise<void>;
|
|
122
|
+
}
|
|
123
|
+
/** umbrella seam: an alternative workflow backend (enterprise), default is the engine's PG store */
|
|
124
|
+
export interface WorkflowBackend {
|
|
125
|
+
readonly timerStore: WorkflowTimerStore;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Narrow timer handle injected into data-access: writes re-arm/cancel the
|
|
129
|
+
* record's timer on node changes without knowing the scheduler/backend. The
|
|
130
|
+
* engine wires the real scheduler at assembly (a no-op proxy before it exists).
|
|
131
|
+
*/
|
|
132
|
+
export interface WorkflowTimerSync {
|
|
133
|
+
/** (re)arm the timer for the record's new node/state, or cancel when it has no `onTimeout` */
|
|
134
|
+
sync(object: string, id: string, state: string): Promise<void>;
|
|
135
|
+
/** cancel any timer for the record */
|
|
136
|
+
cancel(object: string, id: string): Promise<void>;
|
|
137
|
+
}
|
|
138
|
+
/** parse a duration string (`90s`, `30m`, `12h`, `7d`, `2w`, or a bare number of ms) */
|
|
139
|
+
export declare function parseDuration(input: string): number | undefined;
|
|
140
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/core/types/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative single-line node-chain workflow (`objects/<name>/workflow.json`).
|
|
3
|
+
* Pure types — zero runtime dependencies (core contract layer).
|
|
4
|
+
*
|
|
5
|
+
* Format v2 replaces the v1 state-marker machine (`stateField` + `states[]` +
|
|
6
|
+
* `transitions[]`) with an ordered `nodes[]` chain driven by an implicit start
|
|
7
|
+
* node. Instance/step/workitem state lives in engine tables, never in the
|
|
8
|
+
* customer's columns (see the C-phase plan).
|
|
9
|
+
*/
|
|
10
|
+
/** on-disk `workflow.json` format version (single source of truth) */
|
|
11
|
+
export const WORKFLOW_FORMAT_VERSION = 2;
|
|
12
|
+
/** synthetic node id of the implicit start (发起) node — never authored */
|
|
13
|
+
export const WORKFLOW_START_NODE = '__start__';
|
|
14
|
+
/** node kinds (single source of truth) */
|
|
15
|
+
export const WORKFLOW_NODE_KINDS = {
|
|
16
|
+
APPROVE: 'approve',
|
|
17
|
+
NOTIFY: 'notify',
|
|
18
|
+
};
|
|
19
|
+
/** how a node's assignees complete it (single source of truth) */
|
|
20
|
+
export const WORKFLOW_ASSIGN_MODES = {
|
|
21
|
+
/** 或签: the first decision settles the node */
|
|
22
|
+
ANY: 'any',
|
|
23
|
+
/** 会签: every assignee must approve */
|
|
24
|
+
ALL: 'all',
|
|
25
|
+
};
|
|
26
|
+
/** the actions a node timeout may auto-fire (single source of truth) */
|
|
27
|
+
export const WORKFLOW_TIMEOUT_ACTIONS = {
|
|
28
|
+
APPROVE: 'approve',
|
|
29
|
+
REJECT: 'reject',
|
|
30
|
+
};
|
|
31
|
+
/** scheduler defaults — single source of truth (as const, see AGENTS.md) */
|
|
32
|
+
export const WORKFLOW_TIMER_DEFAULTS = {
|
|
33
|
+
pollMs: 30000,
|
|
34
|
+
batchSize: 50,
|
|
35
|
+
};
|
|
36
|
+
/** duration units in milliseconds (single source of truth) */
|
|
37
|
+
const DURATION_UNITS = { ms: 1, s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000, w: 604_800_000 };
|
|
38
|
+
/** parse a duration string (`90s`, `30m`, `12h`, `7d`, `2w`, or a bare number of ms) */
|
|
39
|
+
export function parseDuration(input) {
|
|
40
|
+
const match = /^(\d+)(ms|s|m|h|d|w)?$/.exec(input.trim());
|
|
41
|
+
if (match === null)
|
|
42
|
+
return undefined;
|
|
43
|
+
const amount = Number(match[1]);
|
|
44
|
+
if (!Number.isFinite(amount) || amount <= 0)
|
|
45
|
+
return undefined;
|
|
46
|
+
const unit = (match[2] ?? 'ms');
|
|
47
|
+
return amount * DURATION_UNITS[unit];
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/core/types/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAElD,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,8CAA8C;IAC9C,GAAG,EAAE,KAAK;IACV,sCAAsC;IACtC,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAmEX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,EAAE;CACL,CAAC;AA+CX,8DAA8D;AAC9D,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAW,CAAC;AAE3G,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAgC,CAAC;IAC/D,OAAO,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { EngineConfig, WeaveKitEngine } from './runtime/engine.js';
|
|
|
2
2
|
export * from './core/index.js';
|
|
3
3
|
export * from './core/api/index.js';
|
|
4
4
|
export * from './runtime/data-access/index.js';
|
|
5
|
+
export * from './runtime/identity/index.js';
|
|
5
6
|
export * from './runtime/git/index.js';
|
|
6
7
|
export * from './runtime/tools/index.js';
|
|
7
8
|
export * from './runtime/proxy/index.js';
|
|
@@ -19,6 +20,7 @@ export type { ScaffoldProjectOptions, ScaffoldProjectResult } from './cli/scaffo
|
|
|
19
20
|
export { loadFieldTypesDir, normalizeFieldTypeRegistration, resolveFieldTypeRegistry } from './runtime/fieldtypes/index.js';
|
|
20
21
|
export type { LoadedFieldType } from './runtime/fieldtypes/index.js';
|
|
21
22
|
export { PROJECT_TYPES } from './cli/types/values.js';
|
|
23
|
+
export { PROJECT_TYPE_DEFINITIONS, projectTypeDef, isBusinessUI } from './cli/project-types/manifest.js';
|
|
22
24
|
export type { ProjectType } from './cli/types/values.js';
|
|
23
25
|
export { version } from './version.js';
|
|
24
26
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5H,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5H,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA0DhF"}
|
package/dist/index.js
CHANGED
|
@@ -4,10 +4,11 @@ import { resolveFieldTypeRegistry } from './runtime/fieldtypes/index.js';
|
|
|
4
4
|
import { buildEngineFromRegistry, resolveLocale } from './runtime/engine.js';
|
|
5
5
|
import { resolve } from 'node:path';
|
|
6
6
|
// Stable surface (contract): app/integration authors depend on these. Internals
|
|
7
|
-
// live in `./experimental.js` (unstable) or stay unexported — see docs/reference/public-api.md.
|
|
7
|
+
// live in `./experimental.js` (unstable) or stay unexported — see docs/04-reference/01-api/02-public-api.md.
|
|
8
8
|
export * from './core/index.js';
|
|
9
9
|
export * from './core/api/index.js';
|
|
10
10
|
export * from './runtime/data-access/index.js';
|
|
11
|
+
export * from './runtime/identity/index.js';
|
|
11
12
|
export * from './runtime/git/index.js';
|
|
12
13
|
export * from './runtime/tools/index.js';
|
|
13
14
|
export * from './runtime/proxy/index.js';
|
|
@@ -20,6 +21,7 @@ export { buildOpenApiDocument, capabilitiesFromConfig } from './adapters/openapi
|
|
|
20
21
|
export { scaffoldProject } from './cli/scaffold.js';
|
|
21
22
|
export { loadFieldTypesDir, normalizeFieldTypeRegistration, resolveFieldTypeRegistry } from './runtime/fieldtypes/index.js';
|
|
22
23
|
export { PROJECT_TYPES } from './cli/types/values.js';
|
|
24
|
+
export { PROJECT_TYPE_DEFINITIONS, projectTypeDef, isBusinessUI } from './cli/project-types/manifest.js';
|
|
23
25
|
export { version } from './version.js';
|
|
24
26
|
/**
|
|
25
27
|
* Assemble an engine from a config: load the schema from `schemaDir`
|
|
@@ -44,7 +46,7 @@ export async function createEngine(config) {
|
|
|
44
46
|
if (config.migrate?.auto === true) {
|
|
45
47
|
const sync = await syncSchema({
|
|
46
48
|
dir,
|
|
47
|
-
databaseUrl: config.databaseUrl,
|
|
49
|
+
databaseUrl: config.migrationDatabaseUrl ?? config.databaseUrl,
|
|
48
50
|
locale,
|
|
49
51
|
allowedFieldTypes: config.features?.fieldTypes,
|
|
50
52
|
fieldTypes,
|
|
@@ -61,7 +63,7 @@ export async function createEngine(config) {
|
|
|
61
63
|
if (commit.committed && changes.length > 0) {
|
|
62
64
|
const author = await gitCommitAuthor(dir);
|
|
63
65
|
// reached only after a successful sync, which required a DB URL
|
|
64
|
-
const pool = createPool(config.databaseUrl ?? process.env.DATABASE_URL);
|
|
66
|
+
const pool = createPool(config.migrationDatabaseUrl ?? config.databaseUrl ?? process.env.DATABASE_URL);
|
|
65
67
|
try {
|
|
66
68
|
await recordSchemaChanges(pool, changes, sync.files, {
|
|
67
69
|
sha: commit.sha,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,gFAAgF;AAChF,6GAA6G;AAC7G,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAmB3F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGzG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAoB;IACrD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAEpC,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC;QAChD,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAC3F,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO;QACnC,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,QAAwB,CAAC;IAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;YAC5B,GAAG;YACH,WAAW,EAAE,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,WAAW;YAC9D,MAAM;YACN,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU;YAC9C,UAAU;SACX,CAAC,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;gBAC9B,GAAG;gBACH,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,MAAM;aACP,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC1C,gEAAgE;gBAChE,MAAM,IAAI,GAAG,UAAU,CACrB,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAa,CAC/E,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;wBACnD,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,MAAM;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;qBAChC,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE;YACpD,MAAM;YACN,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU;YAC9C,UAAU;SACX,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9B,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IAED,OAAO,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/event/bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,cAAc,EAIpB,MAAM,oCAAoC,CAAC;AAE5C,wBAAwB;AACxB,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAiDtE;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/event/bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,cAAc,EAIpB,MAAM,oCAAoC,CAAC;AAE5C,wBAAwB;AACxB,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAiDtE;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,CAwCzD"}
|
|
@@ -69,6 +69,20 @@ export function publisherOf(bus) {
|
|
|
69
69
|
publishRecordChange(action, object, id) {
|
|
70
70
|
bus.publish({ type: RECORD_EVENT_TYPES[action], payload: { object, id } });
|
|
71
71
|
},
|
|
72
|
+
publishRecordTransitioned(object, id, from, to, action, workflowVersion, workflowHash) {
|
|
73
|
+
bus.publish({
|
|
74
|
+
type: EVENT_TYPES.RECORD_TRANSITIONED,
|
|
75
|
+
payload: {
|
|
76
|
+
object,
|
|
77
|
+
id,
|
|
78
|
+
from,
|
|
79
|
+
to,
|
|
80
|
+
action,
|
|
81
|
+
...(workflowVersion === undefined ? {} : { workflowVersion }),
|
|
82
|
+
...(workflowHash === undefined ? {} : { workflowHash }),
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
},
|
|
72
86
|
publishAudit(event) {
|
|
73
87
|
bus.publish({ type: EVENT_TYPES.AUDIT_EVENT, payload: { event } });
|
|
74
88
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/infrastructure/event/bus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/infrastructure/event/bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IdentitySubject } from '../core/rbac/index.js';
|
|
2
2
|
import type { IdentityResolver } from '../core/provider/identity/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Default identity resolver backed by a static directory of subjects.
|
|
@@ -6,5 +6,5 @@ import type { IdentityResolver } from '../core/provider/identity/index.js';
|
|
|
6
6
|
* to null so callers can reject. MCP assembly may override with a custom
|
|
7
7
|
* `resolveIdentity`.
|
|
8
8
|
*/
|
|
9
|
-
export declare function createIdentityResolver(identities: Record<string,
|
|
9
|
+
export declare function createIdentityResolver(identities: Record<string, IdentitySubject>): IdentityResolver;
|
|
10
10
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/infrastructure/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/infrastructure/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,gBAAgB,CAEpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/infrastructure/identity.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/infrastructure/identity.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA2C;IAChF,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAClD,CAAC"}
|
package/dist/layout-format.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { resolveLabel } from './core/object/display.js';
|
|
|
6
6
|
* Page layout format (hybrid: app-level pages live flat as `pages/<id>.layout.json`
|
|
7
7
|
* — e.g. `pages/app.layout.json` — while object pages live in per-object dirs
|
|
8
8
|
* `pages/<object>/<view>.layout.json` mirroring `objects/<name>/`) — engine-owned
|
|
9
|
-
* single source
|
|
9
|
+
* single source. Pure types + pure functions,
|
|
10
10
|
* zero runtime imports (browser-safe via `@weave-kit/engine/layout` subpath —
|
|
11
11
|
* consumers like `@weave-kit/ui` re-export these). Field entries are
|
|
12
12
|
* reference-only: `{ui_id, object, field}` point at schema fields; every
|
|
@@ -191,10 +191,10 @@ export interface LayoutOutlet {
|
|
|
191
191
|
name: string;
|
|
192
192
|
}
|
|
193
193
|
/**
|
|
194
|
-
* Self-contained modal container
|
|
194
|
+
* Self-contained modal container: content is authored inline as
|
|
195
195
|
* `children` — there is no page reference. The runtime opens the modal and
|
|
196
196
|
* renders `children` inside (LayoutView). Replaces the legacy `{ref:{page}}`
|
|
197
|
-
* "dialog opens another page" model
|
|
197
|
+
* "dialog opens another page" model.
|
|
198
198
|
*/
|
|
199
199
|
export interface LayoutDialog {
|
|
200
200
|
ui_id: string;
|
|
@@ -212,14 +212,14 @@ export interface LayoutFile {
|
|
|
212
212
|
}
|
|
213
213
|
/**
|
|
214
214
|
* Pick the layout for the current viewport, falling back to `desktop` when the
|
|
215
|
-
* requested viewport is absent
|
|
215
|
+
* requested viewport is absent. `undefined` → render flat.
|
|
216
216
|
*/
|
|
217
217
|
export declare function getViewportLayout(layout: LayoutFile | undefined, viewport: Viewport): ViewportLayout | undefined;
|
|
218
218
|
/**
|
|
219
219
|
* Resolve a field entry `{ object, field }` to the real schema field via the
|
|
220
220
|
* object descriptor. Unknown/ignored fields (RBAC `fields.exclude` are already
|
|
221
221
|
* stripped server-side) resolve to `undefined` → the entry is not rendered.
|
|
222
|
-
* The `object` discriminates same-named fields across child objects
|
|
222
|
+
* The `object` discriminates same-named fields across child objects.
|
|
223
223
|
*/
|
|
224
224
|
export declare function resolveFieldEntry(entry: {
|
|
225
225
|
object: string;
|
|
@@ -277,7 +277,7 @@ export interface LayoutValidationOptions {
|
|
|
277
277
|
listableFields?: (object: string) => readonly string[] | undefined;
|
|
278
278
|
}
|
|
279
279
|
/**
|
|
280
|
-
* Profile-aware pure validation of a whole layout file
|
|
280
|
+
* Profile-aware pure validation of a whole layout file: allowed node
|
|
281
281
|
* types per profile, per-viewport `ui_id` uniqueness, container/dialog children,
|
|
282
282
|
* object bindings, sidebar target conflict, shell outlet presence. Returns
|
|
283
283
|
* findings — the REST layer maps them onto localized `SchemaError`s.
|
package/dist/layout-format.js
CHANGED
|
@@ -4,7 +4,7 @@ export { resolveLabel } from './core/object/display.js';
|
|
|
4
4
|
* Page layout format (hybrid: app-level pages live flat as `pages/<id>.layout.json`
|
|
5
5
|
* — e.g. `pages/app.layout.json` — while object pages live in per-object dirs
|
|
6
6
|
* `pages/<object>/<view>.layout.json` mirroring `objects/<name>/`) — engine-owned
|
|
7
|
-
* single source
|
|
7
|
+
* single source. Pure types + pure functions,
|
|
8
8
|
* zero runtime imports (browser-safe via `@weave-kit/engine/layout` subpath —
|
|
9
9
|
* consumers like `@weave-kit/ui` re-export these). Field entries are
|
|
10
10
|
* reference-only: `{ui_id, object, field}` point at schema fields; every
|
|
@@ -34,7 +34,7 @@ export const OBJECT_LAYOUT_VIEWS = {
|
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Pick the layout for the current viewport, falling back to `desktop` when the
|
|
37
|
-
* requested viewport is absent
|
|
37
|
+
* requested viewport is absent. `undefined` → render flat.
|
|
38
38
|
*/
|
|
39
39
|
export function getViewportLayout(layout, viewport) {
|
|
40
40
|
if (layout === undefined)
|
|
@@ -45,7 +45,7 @@ export function getViewportLayout(layout, viewport) {
|
|
|
45
45
|
* Resolve a field entry `{ object, field }` to the real schema field via the
|
|
46
46
|
* object descriptor. Unknown/ignored fields (RBAC `fields.exclude` are already
|
|
47
47
|
* stripped server-side) resolve to `undefined` → the entry is not rendered.
|
|
48
|
-
* The `object` discriminates same-named fields across child objects
|
|
48
|
+
* The `object` discriminates same-named fields across child objects.
|
|
49
49
|
*/
|
|
50
50
|
export function resolveFieldEntry(entry, descriptor) {
|
|
51
51
|
return descriptor(entry.object)?.fields.find((f) => f.name === entry.field);
|
|
@@ -391,7 +391,7 @@ function validateNode(node, profile, path, options, issues, seen, parentInFields
|
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
393
|
/**
|
|
394
|
-
* Profile-aware pure validation of a whole layout file
|
|
394
|
+
* Profile-aware pure validation of a whole layout file: allowed node
|
|
395
395
|
* types per profile, per-viewport `ui_id` uniqueness, container/dialog children,
|
|
396
396
|
* object bindings, sidebar target conflict, shell outlet presence. Returns
|
|
397
397
|
* findings — the REST layer maps them onto localized `SchemaError`s.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Locale, ObjectDefinition } from "../../core/index.js";
|
|
1
|
+
import type { IdentitySubject, Locale, ObjectDefinition } from "../../core/index.js";
|
|
2
2
|
import type { Filter, FindOptions, Sort } from "./types.js";
|
|
3
3
|
/** renumber a parameterized fragment (`$1..$k`) to start after `offset` already-used params */
|
|
4
4
|
export declare function scopeSuffix(scope: {
|
|
@@ -17,24 +17,34 @@ export interface BuildContext {
|
|
|
17
17
|
locale?: Locale;
|
|
18
18
|
/** allow the engine-managed parent_id/parent_type/parent_idx columns (details child objects) */
|
|
19
19
|
allowParentCols?: boolean;
|
|
20
|
+
/** when present, LEFT JOIN the record-metadata side table and expose `weave_*` fields */
|
|
21
|
+
meta?: {
|
|
22
|
+
table: string;
|
|
23
|
+
};
|
|
24
|
+
/** object lookup to resolve `multiRelation` targets (link-table expressions) */
|
|
25
|
+
lookup?: {
|
|
26
|
+
get(name: string): ObjectDefinition | undefined;
|
|
27
|
+
};
|
|
28
|
+
/** the authenticated subject; when present, `multiRelation` reads/filters are scoped to readable targets */
|
|
29
|
+
subject?: IdentitySubject;
|
|
20
30
|
}
|
|
21
31
|
export interface RowScope {
|
|
22
32
|
sql: string;
|
|
23
33
|
params: unknown[];
|
|
24
34
|
}
|
|
25
35
|
/** build the WHERE clause (including leading "WHERE" when non-empty); rowScope is AND'd last */
|
|
26
|
-
export declare function buildWhere(object: ObjectDefinition, filter: Filter | undefined, ctx: BuildContext, rowScope?: RowScope): BuiltQuery;
|
|
36
|
+
export declare function buildWhere(object: ObjectDefinition, filter: Filter | undefined, ctx: BuildContext, rowScope?: RowScope, paramOffset?: number): BuiltQuery;
|
|
27
37
|
/** build ORDER BY clause (empty when no sort) */
|
|
28
38
|
export declare function buildOrderBy(object: ObjectDefinition, sort: Sort[] | undefined, ctx: BuildContext): string;
|
|
29
39
|
/** build SELECT columns (whitelist projection, defaults to all model columns + parent_* for children) */
|
|
30
|
-
export declare function buildColumns(object: ObjectDefinition, fields: string[] | undefined, ctx: BuildContext, exclude?: readonly string[]):
|
|
40
|
+
export declare function buildColumns(object: ObjectDefinition, fields: string[] | undefined, ctx: BuildContext, exclude?: readonly string[], paramOffset?: number): BuiltQuery;
|
|
31
41
|
/** resolve pagination with defaults/caps */
|
|
32
42
|
export declare function resolvePagination(opts: FindOptions): {
|
|
33
43
|
limit: number;
|
|
34
44
|
offset: number;
|
|
35
45
|
};
|
|
36
|
-
/** full SELECT query */
|
|
37
|
-
export declare function buildFindSql(object: ObjectDefinition, opts: FindOptions, ctx: BuildContext, rowScope?: RowScope, exclude?: readonly string[]): BuiltQuery;
|
|
46
|
+
/** full SELECT query; `extraSelect` appends raw SQL select expressions (e.g. a computed record_key) */
|
|
47
|
+
export declare function buildFindSql(object: ObjectDefinition, opts: FindOptions, ctx: BuildContext, rowScope?: RowScope, exclude?: readonly string[], extraSelect?: readonly string[]): BuiltQuery;
|
|
38
48
|
/** COUNT query for total (same filter, no sort/pagination) */
|
|
39
49
|
export declare function buildCountSql(object: ObjectDefinition, opts: FindOptions, ctx: BuildContext, rowScope?: RowScope): BuiltQuery;
|
|
40
50
|
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAmBrF,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAezE,+FAA+F;AAC/F,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,EACzC,MAAM,EAAE,MAAM,GACb;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAMpC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAA;KAAE,CAAC;IAC7D,4GAA4G;IAC5G,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AA+BD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AA2RD,gGAAgG;AAChG,wBAAgB,UAAU,CACxB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,SAAI,GACd,UAAU,CAoCZ;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EACxB,GAAG,EAAE,YAAY,GAChB,MAAM,CASR;AAED,yGAAyG;AACzG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAC5B,GAAG,EAAE,YAAY,EACjB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,SAAI,GACd,UAAU,CAkDZ;AAED,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAOA;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAC9B,UAAU,CAgBZ;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,QAAQ,GAClB,UAAU,CAOZ"}
|