@flowdular/sdk 0.2.4 → 0.3.1
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/.ai/agents/sandbox/business-manager.md +5 -1
- package/.ai/blueprints/author-spec/README.md +1 -1
- package/.ai/blueprints/author-spec/spec-requirements.yaml +44 -0
- package/.ai/blueprints/author-spec/steps.yaml +5 -5
- package/.ai/blueprints/author-spec/templates/module.yaml +99 -3
- package/.ai/blueprints/edit-module/gates.yaml +4 -0
- package/.ai/blueprints/edit-module/required-files.yaml +9 -0
- package/.ai/blueprints/new-module/gates.yaml +4 -0
- package/.ai/blueprints/new-module/spec-requirements.yaml +2 -2
- package/.ai/blueprints/release/gates.yaml +4 -0
- package/.ai/platform-capabilities.md +128 -0
- package/.ai/policies/capabilities.yaml +130 -3
- package/.ai/policies/path-ownership.yaml +5 -2
- package/.ai/policies/task-budgets.yaml +5 -3
- package/.ai/references/catalog/module.json +4 -4
- package/.ai/references/catalog/package.json +2 -2
- package/.ai/references/catalog/spec/module.yaml +5 -3
- package/.ai/references/catalog/src/platform.ts +2 -0
- package/.ai/references/catalog/src/services/catalog-service.ts +89 -1
- package/.ai/references/catalog/src/services/data-classes.ts +47 -0
- package/.ai/references/catalog/src/services/database-repository.ts +98 -1
- package/.ai/references/catalog/src/services/repository.ts +22 -1
- package/.ai/references/catalog/tests/data-classes.test.ts +157 -0
- package/.ai/references/catalog.provenance.json +12 -10
- package/.ai/skills/README.md +10 -0
- package/.ai/skills/agent-tool-design/SKILL.md +1 -2
- package/.ai/skills/auth-security-review/SKILL.md +1 -1
- package/.ai/skills/business-agent-design/SKILL.md +0 -1
- package/.ai/skills/cli-extension/SKILL.md +1 -1
- package/.ai/skills/deploy-operate/SKILL.md +119 -0
- package/.ai/skills/module-new/SKILL.md +29 -3
- package/.ai/skills/module-update/SKILL.md +9 -3
- package/.ai/skills/perf-audit/SKILL.md +0 -1
- package/.ai/skills/release-eject-pr/SKILL.md +0 -1
- package/.ai/skills/spec-interview/SKILL.md +120 -0
- package/.ai/skills/test-hardening/SKILL.md +1 -0
- package/.ai/skills/ux-design/SKILL.md +34 -3
- package/.ai/skills/variables/SKILL.md +0 -2
- package/.ai/skills/workflow-development/SKILL.md +0 -1
- package/AGENTS.md +4 -0
- package/docs/agent-contract.md +2 -2
- package/docs/design-system.md +185 -31
- package/modules/access/migrations/0001_access_core.down.sql +1 -0
- package/modules/access/migrations/0001_access_core.up.sql +28 -0
- package/modules/access/migrations/README.md +3 -0
- package/modules/access/module.json +33 -0
- package/modules/access/package.json +43 -0
- package/modules/access/spec/module.yaml +225 -0
- package/modules/access/src/acl/permissions.ts +6 -0
- package/modules/access/src/api/endpoints.ts +244 -0
- package/modules/access/src/client/ActivityView.tsrx +245 -0
- package/modules/access/src/client/AttestationsView.tsrx +176 -0
- package/modules/access/src/client/ReviewView.tsrx +586 -0
- package/modules/access/src/client/api.ts +132 -0
- package/modules/access/src/client/contribution.tsrx +41 -0
- package/modules/access/src/client/index.ts +41 -0
- package/modules/access/src/client/navigation.ts +57 -0
- package/modules/access/src/client/presentation.ts +69 -0
- package/modules/access/src/client/state.ts +72 -0
- package/modules/access/src/domain/types.ts +189 -0
- package/modules/access/src/index.ts +38 -0
- package/modules/access/src/platform.ts +60 -0
- package/modules/access/src/server/index.ts +42 -0
- package/modules/access/src/server/runtime.ts +105 -0
- package/modules/access/src/services/access-service.ts +298 -0
- package/modules/access/src/services/audit-window.ts +78 -0
- package/modules/access/src/services/auth-directory.ts +72 -0
- package/modules/access/src/services/changes.ts +91 -0
- package/modules/access/src/services/data-classes.ts +28 -0
- package/modules/access/src/services/database-repository.ts +185 -0
- package/modules/access/src/services/directory.ts +102 -0
- package/modules/access/src/services/index.ts +33 -0
- package/modules/access/src/services/list-exports.ts +150 -0
- package/modules/access/src/services/migration.ts +54 -0
- package/modules/access/src/services/repository.ts +30 -0
- package/modules/access/src/services/review.ts +178 -0
- package/modules/access/translations/en.json +155 -0
- package/modules/access/translations/pl.json +155 -0
- package/modules/agents/migrations/0022_credential_rotation_inventory.down.sql +2 -0
- package/modules/agents/migrations/0022_credential_rotation_inventory.up.sql +7 -0
- package/modules/agents/migrations/0023_agents_retention_indexes.down.sql +2 -0
- package/modules/agents/migrations/0023_agents_retention_indexes.up.sql +9 -0
- package/modules/agents/migrations/0024_agent_meter_refusals.down.sql +3 -0
- package/modules/agents/migrations/0024_agent_meter_refusals.up.sql +22 -0
- package/modules/agents/migrations/0025_agent_list_indexes.down.sql +3 -0
- package/modules/agents/migrations/0025_agent_list_indexes.up.sql +11 -0
- package/modules/agents/module.json +30 -4
- package/modules/agents/package.json +2 -1
- package/modules/agents/spec/module.yaml +63 -5
- package/modules/agents/src/api/endpoints.ts +291 -33
- package/modules/agents/src/cli/commands.json +11 -0
- package/modules/agents/src/cli/index.ts +45 -0
- package/modules/agents/src/client/AgentDashboardWidget.tsrx +19 -11
- package/modules/agents/src/client/AgentDefinitionList.tsrx +53 -10
- package/modules/agents/src/client/AgentPlaygroundView.tsrx +4 -4
- package/modules/agents/src/client/AgentProceduresView.tsrx +2 -2
- package/modules/agents/src/client/AgentRunsView.tsrx +143 -40
- package/modules/agents/src/client/AgentsView.tsrx +109 -33
- package/modules/agents/src/client/api.ts +99 -21
- package/modules/agents/src/client/state.ts +97 -0
- package/modules/agents/src/domain/types.ts +44 -4
- package/modules/agents/src/platform.ts +42 -0
- package/modules/agents/src/server/action-execution.ts +201 -106
- package/modules/agents/src/server/runtime.ts +32 -0
- package/modules/agents/src/services/agent-service.ts +158 -30
- package/modules/agents/src/services/credential-rotation.ts +185 -0
- package/modules/agents/src/services/credential-vault.ts +71 -46
- package/modules/agents/src/services/data-classes.ts +176 -0
- package/modules/agents/src/services/database-repository.ts +393 -101
- package/modules/agents/src/services/metering.ts +111 -0
- package/modules/agents/src/services/migration.ts +109 -0
- package/modules/agents/src/services/module-agent-preflight.ts +17 -9
- package/modules/agents/src/services/notifications.ts +98 -0
- package/modules/agents/src/services/provider-repository.ts +9 -18
- package/modules/agents/src/services/provider-service.ts +1 -9
- package/modules/agents/src/services/reports.ts +107 -0
- package/modules/agents/src/services/repository.ts +86 -6
- package/modules/agents/src/services/usage-service.ts +2 -0
- package/modules/agents/src/services/worker.ts +114 -4
- package/modules/agents/src/settings.ts +14 -3
- package/modules/agents/translations/en.json +14 -4
- package/modules/agents/translations/pl.json +14 -4
- package/modules/approvals/migrations/0001_approvals_core.down.sql +3 -0
- package/modules/approvals/migrations/0001_approvals_core.up.sql +78 -0
- package/modules/approvals/migrations/0002_approvals_expiry_routing_role.down.sql +2 -0
- package/modules/approvals/migrations/0002_approvals_expiry_routing_role.up.sql +19 -0
- package/modules/approvals/migrations/0003_approvals_retention_indexes.down.sql +6 -0
- package/modules/approvals/migrations/0003_approvals_retention_indexes.up.sql +14 -0
- package/modules/approvals/migrations/0004_approvals_inbox_keyset_indexes.down.sql +5 -0
- package/modules/approvals/migrations/0004_approvals_inbox_keyset_indexes.up.sql +12 -0
- package/modules/approvals/migrations/0005_approvals_grant_audit.down.sql +4 -0
- package/modules/approvals/migrations/0005_approvals_grant_audit.up.sql +20 -0
- package/modules/approvals/migrations/README.md +3 -0
- package/modules/approvals/module.json +34 -0
- package/modules/approvals/package.json +43 -0
- package/modules/approvals/spec/module.yaml +327 -0
- package/modules/approvals/src/acl/permissions.ts +7 -0
- package/modules/approvals/src/api/endpoints.ts +457 -0
- package/modules/approvals/src/client/ApprovalRequestDrawer.tsrx +138 -0
- package/modules/approvals/src/client/ApprovalsView.tsrx +562 -0
- package/modules/approvals/src/client/PendingCountWidget.tsrx +52 -0
- package/modules/approvals/src/client/api.ts +203 -0
- package/modules/approvals/src/client/approvals.css +51 -0
- package/modules/approvals/src/client/contribution.tsrx +44 -0
- package/modules/approvals/src/client/index.ts +26 -0
- package/modules/approvals/src/client/navigation.ts +39 -0
- package/modules/approvals/src/client/pending-count.ts +26 -0
- package/modules/approvals/src/client/presentation.ts +52 -0
- package/modules/approvals/src/client/state.ts +141 -0
- package/modules/approvals/src/domain/capability.ts +107 -0
- package/modules/approvals/src/domain/grant.ts +69 -0
- package/modules/approvals/src/domain/types.ts +168 -0
- package/modules/approvals/src/index.ts +61 -0
- package/modules/approvals/src/platform.ts +136 -0
- package/modules/approvals/src/server/index.ts +42 -0
- package/modules/approvals/src/server/runtime.ts +185 -0
- package/modules/approvals/src/services/approvals-service.ts +637 -0
- package/modules/approvals/src/services/callbacks.ts +75 -0
- package/modules/approvals/src/services/data-classes.ts +167 -0
- package/modules/approvals/src/services/database-repository.ts +783 -0
- package/modules/approvals/src/services/eligibility.ts +121 -0
- package/modules/approvals/src/services/expiry-runner.ts +81 -0
- package/modules/approvals/src/services/index.ts +31 -0
- package/modules/approvals/src/services/migration.ts +256 -0
- package/modules/approvals/src/services/notifications.ts +95 -0
- package/modules/approvals/src/services/repository.ts +169 -0
- package/modules/approvals/src/services/service-error.ts +70 -0
- package/modules/approvals/src/settings.ts +102 -0
- package/modules/approvals/translations/en.json +104 -0
- package/modules/approvals/translations/pl.json +104 -0
- package/modules/audit/migrations/0001_audit_core.down.sql +8 -0
- package/modules/audit/migrations/0001_audit_core.up.sql +107 -0
- package/modules/audit/migrations/0002_audit_sweep_routing_role.down.sql +2 -0
- package/modules/audit/migrations/0002_audit_sweep_routing_role.up.sql +21 -0
- package/modules/audit/migrations/0003_audit_export_request.down.sql +12 -0
- package/modules/audit/migrations/0003_audit_export_request.up.sql +40 -0
- package/modules/audit/migrations/0004_audit_hold_seal_erasure.down.sql +17 -0
- package/modules/audit/migrations/0004_audit_hold_seal_erasure.up.sql +192 -0
- package/modules/audit/migrations/0005_audit_event_format.down.sql +17 -0
- package/modules/audit/migrations/0005_audit_event_format.up.sql +60 -0
- package/modules/audit/migrations/0006_audit_own_class_walks.down.sql +3 -0
- package/modules/audit/migrations/0006_audit_own_class_walks.up.sql +14 -0
- package/modules/audit/migrations/README.md +3 -0
- package/modules/audit/module.json +32 -0
- package/modules/audit/package.json +49 -0
- package/modules/audit/spec/module.yaml +809 -0
- package/modules/audit/src/acl/permissions.ts +7 -0
- package/modules/audit/src/api/endpoints.ts +315 -0
- package/modules/audit/src/cli/commands.json +95 -0
- package/modules/audit/src/cli/index.ts +658 -0
- package/modules/audit/src/client/DataClassesView.tsrx +420 -0
- package/modules/audit/src/client/ExportsView.tsrx +256 -0
- package/modules/audit/src/client/HoldsView.tsrx +604 -0
- package/modules/audit/src/client/SweepsView.tsrx +251 -0
- package/modules/audit/src/client/api.ts +185 -0
- package/modules/audit/src/client/contribution.tsrx +52 -0
- package/modules/audit/src/client/index.ts +23 -0
- package/modules/audit/src/client/navigation.ts +74 -0
- package/modules/audit/src/client/presentation.ts +105 -0
- package/modules/audit/src/client/state.ts +86 -0
- package/modules/audit/src/domain/data-classes.ts +16 -0
- package/modules/audit/src/domain/types.ts +339 -0
- package/modules/audit/src/index.ts +76 -0
- package/modules/audit/src/platform.ts +44 -0
- package/modules/audit/src/server/index.ts +177 -0
- package/modules/audit/src/server/runtime.ts +303 -0
- package/modules/audit/src/services/anchor-key.ts +143 -0
- package/modules/audit/src/services/anchor-rotation.ts +147 -0
- package/modules/audit/src/services/audit-runners.ts +278 -0
- package/modules/audit/src/services/backup-guard.ts +95 -0
- package/modules/audit/src/services/database-repository.ts +1946 -0
- package/modules/audit/src/services/declared-classes.ts +64 -0
- package/modules/audit/src/services/erasure-port.ts +126 -0
- package/modules/audit/src/services/erasure-service.ts +770 -0
- package/modules/audit/src/services/export-directory.ts +106 -0
- package/modules/audit/src/services/export-service.ts +714 -0
- package/modules/audit/src/services/hold-service.ts +295 -0
- package/modules/audit/src/services/index.ts +17 -0
- package/modules/audit/src/services/migration.ts +658 -0
- package/modules/audit/src/services/own-classes.ts +318 -0
- package/modules/audit/src/services/platform-version.ts +23 -0
- package/modules/audit/src/services/repository.ts +495 -0
- package/modules/audit/src/services/retention-service.ts +191 -0
- package/modules/audit/src/services/seal-service.ts +769 -0
- package/modules/audit/src/services/service-error.ts +61 -0
- package/modules/audit/src/services/subject-keys.ts +90 -0
- package/modules/audit/src/services/sweep-service.ts +298 -0
- package/modules/audit/src/services/zip.ts +217 -0
- package/modules/audit/src/settings.ts +69 -0
- package/modules/audit/translations/en.json +210 -0
- package/modules/audit/translations/pl.json +210 -0
- package/modules/auth/README.md +77 -29
- package/modules/auth/migrations/0016_external_identities.up.sql +16 -0
- package/modules/auth/migrations/0017_mfa_key_id.up.sql +8 -0
- package/modules/auth/migrations/0018_retire_bundled_module_scopes.up.sql +29 -0
- package/modules/auth/migrations/0019_notifications_member_scopes.up.sql +44 -0
- package/modules/auth/migrations/0020_identity_providers.up.sql +61 -0
- package/modules/auth/migrations/0021_membership_status.up.sql +19 -0
- package/modules/auth/migrations/0022_auth_provider_scopes.up.sql +45 -0
- package/modules/auth/migrations/0023_enterprise_module_scopes.down.sql +19 -0
- package/modules/auth/migrations/0023_enterprise_module_scopes.up.sql +71 -0
- package/modules/auth/migrations/0024_approvals_member_scopes.down.sql +22 -0
- package/modules/auth/migrations/0024_approvals_member_scopes.up.sql +48 -0
- package/modules/auth/migrations/0025_audit_holds_owner_scope.down.sql +21 -0
- package/modules/auth/migrations/0025_audit_holds_owner_scope.up.sql +47 -0
- package/modules/auth/migrations/0026_auth_export_keyset_indexes.down.sql +6 -0
- package/modules/auth/migrations/0026_auth_export_keyset_indexes.up.sql +15 -0
- package/modules/auth/migrations/0027_workflow_automation_profile_scopes.down.sql +34 -0
- package/modules/auth/migrations/0027_workflow_automation_profile_scopes.up.sql +72 -0
- package/modules/auth/migrations/0028_auth_member_search_prefix_indexes.down.sql +6 -0
- package/modules/auth/migrations/0028_auth_member_search_prefix_indexes.up.sql +21 -0
- package/modules/auth/migrations/0029_reports_exports_access_scopes.down.sql +22 -0
- package/modules/auth/migrations/0029_reports_exports_access_scopes.up.sql +56 -0
- package/modules/auth/migrations/0030_auth_membership_keyset_index.down.sql +4 -0
- package/modules/auth/migrations/0030_auth_membership_keyset_index.up.sql +10 -0
- package/modules/auth/migrations/0031_membership_scope_backfills_under_rls.down.sql +4 -0
- package/modules/auth/migrations/0031_membership_scope_backfills_under_rls.up.sql +31 -0
- package/modules/auth/migrations/0032_audit_actor_service.down.sql +9 -0
- package/modules/auth/migrations/0032_audit_actor_service.up.sql +10 -0
- package/modules/auth/migrations/0033_auth_account_keyset_indexes.down.sql +5 -0
- package/modules/auth/migrations/0033_auth_account_keyset_indexes.up.sql +23 -0
- package/modules/auth/module.json +3 -3
- package/modules/auth/package.json +2 -1
- package/modules/auth/spec/module.yaml +372 -3
- package/modules/auth/src/acl/scopes.ts +50 -6
- package/modules/auth/src/cli/commands.json +11 -0
- package/modules/auth/src/cli/greenfield.ts +2 -2
- package/modules/auth/src/cli/index.ts +14 -0
- package/modules/auth/src/cli/secrets.ts +114 -0
- package/modules/auth/src/client/AuthenticationCore.tsrx +61 -8
- package/modules/auth/src/client/api.ts +72 -6
- package/modules/auth/src/client/contribution.tsrx +23 -0
- package/modules/auth/src/client/index.ts +6 -0
- package/modules/auth/src/client/providers/IdentityProviderForm.tsrx +191 -0
- package/modules/auth/src/client/providers/IdentityProvidersView.tsrx +358 -0
- package/modules/auth/src/client/providers/api.ts +128 -0
- package/modules/auth/src/client/providers/provider-columns.tsrx +60 -0
- package/modules/auth/src/client/providers/state.ts +35 -0
- package/modules/auth/src/client/security/SecurityView.tsrx +9 -1
- package/modules/auth/src/client/state.ts +15 -1
- package/modules/auth/src/domain/types.ts +55 -0
- package/modules/auth/src/index.ts +11 -1
- package/modules/auth/src/middleware/authentication.ts +4 -0
- package/modules/auth/src/server/endpoints.ts +467 -171
- package/modules/auth/src/server/http.ts +3 -2
- package/modules/auth/src/server/index.ts +22 -1
- package/modules/auth/src/server/membership-endpoints.ts +62 -0
- package/modules/auth/src/server/mfa-enforcement.ts +156 -0
- package/modules/auth/src/server/oidc.ts +389 -0
- package/modules/auth/src/server/provider-endpoints.ts +246 -0
- package/modules/auth/src/server/provider-host.ts +77 -0
- package/modules/auth/src/server/runtime.ts +231 -55
- package/modules/auth/src/services/auth-service-error.ts +7 -2
- package/modules/auth/src/services/auth-service.ts +948 -51
- package/modules/auth/src/services/data-classes.ts +236 -0
- package/modules/auth/src/services/database-repository.ts +853 -71
- package/modules/auth/src/services/identity-provider-service.ts +571 -0
- package/modules/auth/src/services/mail-delivery.ts +16 -16
- package/modules/auth/src/services/mail-message.ts +54 -0
- package/modules/auth/src/services/mail-port.ts +24 -0
- package/modules/auth/src/services/mail-smtp.ts +85 -0
- package/modules/auth/src/services/mfa-rotation.ts +144 -0
- package/modules/auth/src/services/migration.ts +810 -0
- package/modules/auth/src/services/password.ts +14 -0
- package/modules/auth/src/services/provider-secret-rotation.ts +169 -0
- package/modules/auth/src/services/provider-secrets.ts +136 -0
- package/modules/auth/src/services/repository.ts +321 -5
- package/modules/auth/src/services/session-sweep-runner.ts +73 -0
- package/modules/auth/src/services/settings-store.ts +10 -83
- package/modules/auth/src/services/totp.ts +88 -62
- package/modules/auth/src/services/validation.ts +194 -7
- package/modules/auth/src/settings.ts +18 -0
- package/modules/auth/translations/en.json +84 -1
- package/modules/auth/translations/pl.json +84 -1
- package/modules/automations/migrations/0005_secret_rotation_inventory.down.sql +1 -0
- package/modules/automations/migrations/0005_secret_rotation_inventory.up.sql +6 -0
- package/modules/automations/migrations/0006_automations_list_sort_indexes.down.sql +4 -0
- package/modules/automations/migrations/0006_automations_list_sort_indexes.up.sql +11 -0
- package/modules/automations/module.json +24 -6
- package/modules/automations/package.json +4 -1
- package/modules/automations/spec/module.yaml +81 -7
- package/modules/automations/src/api/endpoints.ts +202 -28
- package/modules/automations/src/cli/commands.json +17 -0
- package/modules/automations/src/cli/index.ts +114 -0
- package/modules/automations/src/client/AutomationScheduleForm.tsrx +77 -19
- package/modules/automations/src/client/AutomationSchedulesView.tsrx +144 -40
- package/modules/automations/src/client/AutomationTriggersView.tsrx +131 -32
- package/modules/automations/src/client/api.ts +62 -19
- package/modules/automations/src/client/presentation.ts +20 -2
- package/modules/automations/src/client/state.ts +84 -0
- package/modules/automations/src/domain/cadence.ts +99 -3
- package/modules/automations/src/domain/cron.ts +366 -0
- package/modules/automations/src/domain/time-zone.ts +61 -0
- package/modules/automations/src/platform.ts +38 -4
- package/modules/automations/src/server/index.ts +11 -0
- package/modules/automations/src/server/runtime.ts +46 -22
- package/modules/{automations-workflows-integration/src/server/adapter.ts → automations/src/server/workflow-target.ts} +13 -14
- package/modules/{automations-workflows-integration/src/server/tools.ts → automations/src/server/workflow-tools.ts} +0 -0
- package/modules/automations/src/services/data-classes.ts +62 -0
- package/modules/automations/src/services/database-repository.ts +152 -38
- package/modules/automations/src/services/migration.ts +119 -9
- package/modules/automations/src/services/repository.ts +52 -1
- package/modules/automations/src/services/schedule-runner.ts +84 -0
- package/modules/automations/src/services/schedule-service.ts +152 -26
- package/modules/automations/src/services/secret-rotation.ts +176 -0
- package/modules/automations/src/services/secret-vault.ts +68 -41
- package/modules/automations/src/services/trigger-service.ts +13 -10
- package/modules/automations/translations/en.json +15 -2
- package/modules/automations/translations/pl.json +15 -2
- package/modules/connectors/migrations/0001_connectors_core.down.sql +3 -0
- package/modules/connectors/migrations/0001_connectors_core.up.sql +72 -0
- package/modules/connectors/migrations/0002_connectors_call_keys.down.sql +3 -0
- package/modules/connectors/migrations/0002_connectors_call_keys.up.sql +18 -0
- package/modules/connectors/migrations/0003_connectors_rotation_inventory.down.sql +2 -0
- package/modules/connectors/migrations/0003_connectors_rotation_inventory.up.sql +19 -0
- package/modules/connectors/migrations/README.md +3 -0
- package/modules/connectors/module.json +32 -0
- package/modules/{automations-workflows-integration → connectors}/package.json +28 -26
- package/modules/connectors/spec/module.yaml +448 -0
- package/modules/connectors/src/acl/permissions.ts +6 -0
- package/modules/connectors/src/agent/tools.ts +180 -0
- package/modules/connectors/src/api/endpoints.ts +572 -0
- package/modules/connectors/src/cli/commands.json +17 -0
- package/modules/connectors/src/cli/index.ts +126 -0
- package/modules/connectors/src/client/ConnectorCallsView.tsrx +358 -0
- package/modules/connectors/src/client/ConnectorForm.tsrx +424 -0
- package/modules/connectors/src/client/ConnectorsView.tsrx +711 -0
- package/modules/connectors/src/client/api.ts +281 -0
- package/modules/connectors/src/client/consent.ts +48 -0
- package/modules/connectors/src/client/contribution.tsrx +37 -0
- package/modules/connectors/src/client/index.ts +22 -0
- package/modules/connectors/src/client/navigation.ts +42 -0
- package/modules/connectors/src/client/presentation.ts +38 -0
- package/modules/connectors/src/client/state.ts +175 -0
- package/modules/connectors/src/domain/calls.ts +70 -0
- package/modules/connectors/src/domain/definitions.ts +190 -0
- package/modules/connectors/src/domain/http-json.ts +68 -0
- package/modules/connectors/src/domain/types.ts +185 -0
- package/modules/connectors/src/index.ts +64 -0
- package/modules/connectors/src/platform.ts +56 -0
- package/modules/connectors/src/server/index.ts +66 -0
- package/modules/connectors/src/server/runtime.ts +163 -0
- package/modules/connectors/src/services/call-service.ts +903 -0
- package/modules/connectors/src/services/connectors-service.ts +653 -0
- package/modules/connectors/src/services/credential-rotation.ts +221 -0
- package/modules/connectors/src/services/credential-vault.ts +194 -0
- package/modules/connectors/src/services/data-classes.ts +158 -0
- package/modules/connectors/src/services/database-repository.ts +897 -0
- package/modules/connectors/src/services/egress.ts +261 -0
- package/modules/connectors/src/services/index.ts +19 -0
- package/modules/connectors/src/services/migration.ts +202 -0
- package/modules/connectors/src/services/repository.ts +175 -0
- package/modules/connectors/src/services/service-error.ts +46 -0
- package/modules/connectors/src/settings.ts +69 -0
- package/modules/connectors/translations/en.json +191 -0
- package/modules/connectors/translations/pl.json +191 -0
- package/modules/directory/migrations/0001_directory_core.down.sql +5 -0
- package/modules/directory/migrations/0001_directory_core.up.sql +111 -0
- package/modules/directory/migrations/README.md +3 -0
- package/modules/directory/module.json +27 -0
- package/modules/directory/package.json +46 -0
- package/modules/directory/spec/module.yaml +351 -0
- package/modules/directory/src/acl/permissions.ts +7 -0
- package/modules/directory/src/api/endpoints.ts +478 -0
- package/modules/directory/src/api/scim-endpoints.ts +516 -0
- package/modules/directory/src/client/GroupMappingsView.tsrx +430 -0
- package/modules/directory/src/client/ProvisioningLogView.tsrx +248 -0
- package/modules/directory/src/client/ScimTokensView.tsrx +587 -0
- package/modules/directory/src/client/api.ts +222 -0
- package/modules/directory/src/client/contribution.tsrx +46 -0
- package/modules/directory/src/client/index.ts +22 -0
- package/modules/directory/src/client/navigation.ts +57 -0
- package/modules/directory/src/client/presentation.ts +143 -0
- package/modules/directory/src/client/state.ts +173 -0
- package/modules/directory/src/domain/scim.ts +346 -0
- package/modules/directory/src/domain/types.ts +166 -0
- package/modules/directory/src/index.ts +44 -0
- package/modules/directory/src/platform.ts +43 -0
- package/modules/directory/src/server/index.ts +17 -0
- package/modules/directory/src/server/runtime.ts +124 -0
- package/modules/directory/src/services/auth-port.ts +127 -0
- package/modules/directory/src/services/data-classes.ts +41 -0
- package/modules/directory/src/services/database-repository.ts +1067 -0
- package/modules/directory/src/services/directory-service.ts +311 -0
- package/modules/directory/src/services/index.ts +43 -0
- package/modules/directory/src/services/migration.ts +146 -0
- package/modules/directory/src/services/provisioning-service.ts +1420 -0
- package/modules/directory/src/services/rate-limiter.ts +103 -0
- package/modules/directory/src/services/repository.ts +208 -0
- package/modules/directory/src/services/service-error.ts +42 -0
- package/modules/directory/src/services/token-service.ts +215 -0
- package/modules/directory/src/settings.ts +86 -0
- package/modules/directory/translations/en.json +185 -0
- package/modules/directory/translations/pl.json +185 -0
- package/modules/documents/migrations/0001_documents_core.down.sql +1 -0
- package/modules/documents/migrations/0001_documents_core.up.sql +35 -0
- package/modules/documents/migrations/0002_documents_files_page.down.sql +1 -0
- package/modules/documents/migrations/0002_documents_files_page.up.sql +6 -0
- package/modules/documents/migrations/0003_documents_rotation_inventory.down.sql +2 -0
- package/modules/documents/migrations/0003_documents_rotation_inventory.up.sql +18 -0
- package/modules/documents/migrations/README.md +3 -0
- package/modules/documents/module.json +32 -0
- package/modules/documents/package.json +50 -0
- package/modules/documents/spec/module.yaml +248 -0
- package/modules/documents/src/acl/permissions.ts +6 -0
- package/modules/documents/src/api/endpoints.ts +401 -0
- package/modules/documents/src/cli/commands.json +17 -0
- package/modules/documents/src/cli/index.ts +145 -0
- package/modules/documents/src/client/DocumentUploader.tsrx +148 -0
- package/modules/documents/src/client/DocumentsView.tsrx +540 -0
- package/modules/documents/src/client/api.ts +209 -0
- package/modules/documents/src/client/contribution.tsrx +29 -0
- package/modules/documents/src/client/download.ts +70 -0
- package/modules/documents/src/client/index.ts +22 -0
- package/modules/documents/src/client/navigation.ts +25 -0
- package/modules/documents/src/client/presentation.ts +110 -0
- package/modules/documents/src/client/state.ts +117 -0
- package/modules/documents/src/domain/attachments.ts +84 -0
- package/modules/documents/src/domain/types.ts +80 -0
- package/modules/documents/src/index.ts +46 -0
- package/modules/documents/src/platform.ts +61 -0
- package/modules/documents/src/server/index.ts +30 -0
- package/modules/documents/src/server/runtime.ts +107 -0
- package/modules/documents/src/services/attachments.ts +39 -0
- package/modules/documents/src/services/data-classes.ts +25 -0
- package/modules/documents/src/services/database-repository.ts +270 -0
- package/modules/documents/src/services/documents-service.ts +590 -0
- package/modules/documents/src/services/index.ts +18 -0
- package/modules/documents/src/services/migration.ts +117 -0
- package/modules/documents/src/services/repository.ts +58 -0
- package/modules/documents/src/services/storage-rotation.ts +157 -0
- package/modules/documents/src/settings.ts +107 -0
- package/modules/documents/translations/en.json +111 -0
- package/modules/documents/translations/pl.json +111 -0
- package/modules/exports/migrations/0001_exports_core.down.sql +2 -0
- package/modules/exports/migrations/0001_exports_core.up.sql +28 -0
- package/modules/exports/migrations/0002_exports_job_routing_role.down.sql +4 -0
- package/modules/exports/migrations/0002_exports_job_routing_role.up.sql +21 -0
- package/modules/exports/migrations/0003_exports_rotation_inventory.down.sql +1 -0
- package/modules/exports/migrations/0003_exports_rotation_inventory.up.sql +9 -0
- package/modules/exports/migrations/README.md +3 -0
- package/modules/exports/module.json +32 -0
- package/modules/exports/package.json +45 -0
- package/modules/exports/spec/module.yaml +230 -0
- package/modules/exports/src/acl/permissions.ts +6 -0
- package/modules/exports/src/api/endpoints.ts +211 -0
- package/modules/exports/src/cli/commands.json +17 -0
- package/modules/exports/src/cli/index.ts +145 -0
- package/modules/exports/src/client/ExportsView.tsrx +327 -0
- package/modules/exports/src/client/api.ts +133 -0
- package/modules/exports/src/client/contribution.tsrx +31 -0
- package/modules/exports/src/client/index.ts +20 -0
- package/modules/exports/src/client/navigation.ts +25 -0
- package/modules/exports/src/client/presentation.ts +53 -0
- package/modules/exports/src/client/state.ts +56 -0
- package/modules/exports/src/domain/lists.ts +29 -0
- package/modules/exports/src/domain/types.ts +120 -0
- package/modules/exports/src/index.ts +41 -0
- package/modules/exports/src/platform.ts +80 -0
- package/modules/exports/src/server/index.ts +50 -0
- package/modules/exports/src/server/runtime.ts +160 -0
- package/modules/exports/src/services/data-classes.ts +59 -0
- package/modules/exports/src/services/database-repository.ts +403 -0
- package/modules/exports/src/services/export-runner.ts +123 -0
- package/modules/exports/src/services/export-service.ts +356 -0
- package/modules/exports/src/services/index.ts +6 -0
- package/modules/exports/src/services/list-registry.ts +105 -0
- package/modules/exports/src/services/migration.ts +116 -0
- package/modules/exports/src/services/repository.ts +96 -0
- package/modules/exports/src/services/storage-rotation.ts +138 -0
- package/modules/exports/src/settings.ts +70 -0
- package/modules/exports/translations/en.json +69 -0
- package/modules/exports/translations/pl.json +69 -0
- package/modules/import/migrations/0001_import_core.down.sql +6 -0
- package/modules/import/migrations/0001_import_core.up.sql +61 -0
- package/modules/import/migrations/0002_import_job_routing_role.down.sql +4 -0
- package/modules/import/migrations/0002_import_job_routing_role.up.sql +20 -0
- package/modules/import/migrations/0003_import_jobs_export_index.down.sql +1 -0
- package/modules/import/migrations/0003_import_jobs_export_index.up.sql +7 -0
- package/modules/import/migrations/0004_import_jobs_traceparent.down.sql +1 -0
- package/modules/import/migrations/0004_import_jobs_traceparent.up.sql +7 -0
- package/modules/import/migrations/README.md +3 -0
- package/modules/import/module.json +37 -0
- package/modules/import/package.json +50 -0
- package/modules/import/spec/module.yaml +335 -0
- package/modules/import/src/acl/permissions.ts +6 -0
- package/modules/import/src/api/endpoints.ts +400 -0
- package/modules/import/src/client/ImportJobDrawer.tsrx +229 -0
- package/modules/import/src/client/ImportsView.tsrx +455 -0
- package/modules/import/src/client/NewImportForm.tsrx +274 -0
- package/modules/import/src/client/api.ts +243 -0
- package/modules/import/src/client/contribution.tsrx +29 -0
- package/modules/import/src/client/index.ts +23 -0
- package/modules/import/src/client/navigation.ts +25 -0
- package/modules/import/src/client/presentation.ts +59 -0
- package/modules/import/src/client/state.ts +43 -0
- package/modules/import/src/domain/csv.ts +258 -0
- package/modules/import/src/domain/ports.ts +157 -0
- package/modules/import/src/domain/types.ts +179 -0
- package/modules/import/src/index.ts +58 -0
- package/modules/import/src/platform.ts +60 -0
- package/modules/import/src/server/index.ts +49 -0
- package/modules/import/src/server/runtime.ts +158 -0
- package/modules/import/src/services/csv-source.ts +121 -0
- package/modules/import/src/services/data-classes.ts +63 -0
- package/modules/import/src/services/database-repository.ts +780 -0
- package/modules/import/src/services/import-runner.ts +127 -0
- package/modules/import/src/services/import-service.ts +872 -0
- package/modules/import/src/services/index.ts +6 -0
- package/modules/import/src/services/migration.ts +156 -0
- package/modules/import/src/services/port-registry.ts +158 -0
- package/modules/import/src/services/repository.ts +147 -0
- package/modules/import/src/settings.ts +70 -0
- package/modules/import/translations/en.json +175 -0
- package/modules/import/translations/pl.json +175 -0
- package/modules/metering/migrations/0001_metering_core.down.sql +6 -0
- package/modules/metering/migrations/0001_metering_core.up.sql +119 -0
- package/modules/metering/migrations/0002_metering_bucket_export.down.sql +3 -0
- package/modules/metering/migrations/0002_metering_bucket_export.up.sql +5 -0
- package/modules/metering/migrations/README.md +3 -0
- package/modules/metering/module.json +46 -0
- package/modules/metering/package.json +50 -0
- package/modules/metering/spec/module.yaml +269 -0
- package/modules/metering/src/acl/permissions.ts +5 -0
- package/modules/metering/src/api/endpoints.ts +104 -0
- package/modules/metering/src/cli/commands.json +28 -0
- package/modules/metering/src/cli/index.ts +246 -0
- package/modules/metering/src/client/LimitsView.tsrx +170 -0
- package/modules/metering/src/client/UsageSummaryWidget.tsrx +63 -0
- package/modules/metering/src/client/UsageView.tsrx +205 -0
- package/modules/metering/src/client/api.ts +91 -0
- package/modules/metering/src/client/contribution.tsrx +42 -0
- package/modules/metering/src/client/index.ts +26 -0
- package/modules/metering/src/client/navigation.ts +54 -0
- package/modules/metering/src/client/presentation.ts +63 -0
- package/modules/metering/src/client/state.ts +31 -0
- package/modules/metering/src/domain/meters.ts +100 -0
- package/modules/metering/src/domain/types.ts +71 -0
- package/modules/metering/src/index.ts +51 -0
- package/modules/metering/src/platform.ts +84 -0
- package/modules/metering/src/server/index.ts +40 -0
- package/modules/metering/src/server/runtime.ts +165 -0
- package/modules/metering/src/services/data-classes.ts +34 -0
- package/modules/metering/src/services/database-repository.ts +574 -0
- package/modules/metering/src/services/index.ts +9 -0
- package/modules/metering/src/services/meter-registry.ts +145 -0
- package/modules/metering/src/services/metering-service.ts +441 -0
- package/modules/metering/src/services/migration.ts +183 -0
- package/modules/metering/src/services/notifications.ts +75 -0
- package/modules/metering/src/services/reports.ts +105 -0
- package/modules/metering/src/services/repository.ts +132 -0
- package/modules/metering/src/services/service-error.ts +46 -0
- package/modules/metering/src/settings.ts +47 -0
- package/modules/metering/translations/en.json +68 -0
- package/modules/metering/translations/pl.json +68 -0
- package/modules/notifications/migrations/0001_notifications_core.down.sql +1 -0
- package/modules/notifications/migrations/0001_notifications_core.up.sql +26 -0
- package/modules/notifications/migrations/0002_notifications_preferences.down.sql +1 -0
- package/modules/notifications/migrations/0002_notifications_preferences.up.sql +17 -0
- package/modules/notifications/migrations/0003_notifications_webhook_subscriptions.down.sql +1 -0
- package/modules/notifications/migrations/0003_notifications_webhook_subscriptions.up.sql +30 -0
- package/modules/notifications/migrations/0004_notifications_deliveries.down.sql +1 -0
- package/modules/notifications/migrations/0004_notifications_deliveries.up.sql +35 -0
- package/modules/notifications/migrations/0005_notifications_delivery_routing_role.down.sql +2 -0
- package/modules/notifications/migrations/0005_notifications_delivery_routing_role.up.sql +17 -0
- package/modules/notifications/migrations/0006_notifications_delivery_title.down.sql +1 -0
- package/modules/notifications/migrations/0006_notifications_delivery_title.up.sql +11 -0
- package/modules/notifications/migrations/0007_notifications_secret_rotation_inventory.down.sql +2 -0
- package/modules/notifications/migrations/0007_notifications_secret_rotation_inventory.up.sql +19 -0
- package/modules/notifications/migrations/0008_notifications_delivery_claim.down.sql +8 -0
- package/modules/notifications/migrations/0008_notifications_delivery_claim.up.sql +19 -0
- package/modules/notifications/migrations/0009_notifications_kind_approvals.down.sql +16 -0
- package/modules/notifications/migrations/0009_notifications_kind_approvals.up.sql +18 -0
- package/modules/notifications/migrations/0010_notifications_kind_meter_threshold.down.sql +16 -0
- package/modules/notifications/migrations/0010_notifications_kind_meter_threshold.up.sql +18 -0
- package/modules/notifications/migrations/0011_notifications_retention_keyset.down.sql +5 -0
- package/modules/notifications/migrations/0011_notifications_retention_keyset.up.sql +15 -0
- package/modules/notifications/migrations/0012_notifications_email_channel.down.sql +12 -0
- package/modules/notifications/migrations/0012_notifications_email_channel.up.sql +38 -0
- package/modules/notifications/migrations/0013_notifications_list_pages.down.sql +5 -0
- package/modules/notifications/migrations/0013_notifications_list_pages.up.sql +13 -0
- package/modules/notifications/migrations/README.md +3 -0
- package/modules/notifications/module.json +32 -0
- package/modules/notifications/package.json +49 -0
- package/modules/notifications/spec/module.yaml +718 -0
- package/modules/notifications/src/acl/permissions.ts +11 -0
- package/modules/notifications/src/api/endpoints.ts +814 -0
- package/modules/notifications/src/cli/commands.json +17 -0
- package/modules/notifications/src/cli/index.ts +126 -0
- package/modules/notifications/src/client/DeliveriesView.tsrx +483 -0
- package/modules/notifications/src/client/FactList.tsrx +24 -0
- package/modules/notifications/src/client/NotificationPreferencesView.tsrx +240 -0
- package/modules/notifications/src/client/NotificationsInboxView.tsrx +592 -0
- package/modules/notifications/src/client/UnreadCountWidget.tsrx +62 -0
- package/modules/notifications/src/client/WebhookForm.tsrx +297 -0
- package/modules/notifications/src/client/WebhooksView.tsrx +637 -0
- package/modules/notifications/src/client/api.ts +382 -0
- package/modules/notifications/src/client/contribution.tsrx +83 -0
- package/modules/notifications/src/client/inbox.ts +41 -0
- package/modules/notifications/src/client/index.ts +29 -0
- package/modules/notifications/src/client/navigation.ts +92 -0
- package/modules/notifications/src/client/notifications.css +70 -0
- package/modules/notifications/src/client/presentation.ts +81 -0
- package/modules/notifications/src/client/state.ts +246 -0
- package/modules/notifications/src/client/unread-count.ts +26 -0
- package/modules/notifications/src/domain/locale.ts +47 -0
- package/modules/notifications/src/domain/publish.ts +46 -0
- package/modules/notifications/src/domain/types.ts +186 -0
- package/modules/notifications/src/index.ts +62 -0
- package/modules/notifications/src/platform.ts +85 -0
- package/modules/notifications/src/server/index.ts +82 -0
- package/modules/notifications/src/server/runtime.ts +251 -0
- package/modules/notifications/src/services/data-classes.ts +139 -0
- package/modules/notifications/src/services/database-repository.ts +1334 -0
- package/modules/notifications/src/services/delivery-payload.ts +93 -0
- package/modules/notifications/src/services/delivery-runner.ts +170 -0
- package/modules/notifications/src/services/delivery-service.ts +811 -0
- package/modules/notifications/src/services/egress.ts +239 -0
- package/modules/notifications/src/services/email-channel.ts +93 -0
- package/modules/notifications/src/services/index.ts +23 -0
- package/modules/notifications/src/services/migration.ts +572 -0
- package/modules/notifications/src/services/notifications-service.ts +297 -0
- package/modules/notifications/src/services/paging.ts +60 -0
- package/modules/notifications/src/services/publish-service.ts +133 -0
- package/modules/notifications/src/services/repository.ts +342 -0
- package/modules/notifications/src/services/secret-rotation.ts +177 -0
- package/modules/notifications/src/services/secret-vault.ts +168 -0
- package/modules/notifications/src/services/service-error.ts +67 -0
- package/modules/notifications/src/services/signature.ts +81 -0
- package/modules/notifications/src/services/webhook-service.ts +307 -0
- package/modules/notifications/src/settings.ts +130 -0
- package/modules/notifications/translations/en.json +255 -0
- package/modules/notifications/translations/pl.json +255 -0
- package/modules/profile/module.json +3 -3
- package/modules/profile/package.json +1 -1
- package/modules/profile/spec/module.yaml +3 -3
- package/modules/profile/src/services/database-repository.ts +3 -13
- package/modules/reports/module.json +28 -0
- package/modules/reports/package.json +42 -0
- package/modules/reports/spec/module.yaml +231 -0
- package/modules/reports/src/acl/permissions.ts +5 -0
- package/modules/reports/src/api/endpoints.ts +72 -0
- package/modules/reports/src/client/ReportsSummaryWidget.tsrx +52 -0
- package/modules/reports/src/client/ReportsView.tsrx +246 -0
- package/modules/reports/src/client/api.ts +65 -0
- package/modules/reports/src/client/contribution.tsrx +36 -0
- package/modules/reports/src/client/index.ts +18 -0
- package/modules/reports/src/client/navigation.ts +39 -0
- package/modules/reports/src/client/presentation.ts +123 -0
- package/modules/reports/src/client/state.ts +28 -0
- package/modules/reports/src/domain/providers.ts +115 -0
- package/modules/reports/src/domain/types.ts +44 -0
- package/modules/reports/src/index.ts +47 -0
- package/modules/reports/src/platform.ts +37 -0
- package/modules/reports/src/server/index.ts +21 -0
- package/modules/reports/src/server/runtime.ts +40 -0
- package/modules/reports/src/services/index.ts +17 -0
- package/modules/reports/src/services/provider-registry.ts +144 -0
- package/modules/reports/src/services/range.ts +65 -0
- package/modules/reports/src/services/reports-service.ts +316 -0
- package/modules/reports/src/services/service-error.ts +26 -0
- package/modules/reports/src/settings.ts +49 -0
- package/modules/reports/translations/en.json +35 -0
- package/modules/reports/translations/pl.json +35 -0
- package/modules/sandbox/module.json +4 -4
- package/modules/sandbox/package.json +1 -1
- package/modules/sandbox/spec/module.yaml +3 -3
- package/modules/sandbox/src/services/database-repository.ts +14 -23
- package/modules/sandbox/src/services/directory.ts +16 -0
- package/modules/sandbox/src/services/sandbox-service.ts +13 -11
- package/modules/search/migrations/0001_search_core.down.sql +1 -0
- package/modules/search/migrations/0001_search_core.up.sql +22 -0
- package/modules/search/migrations/0002_search_recent_export.down.sql +3 -0
- package/modules/search/migrations/0002_search_recent_export.up.sql +5 -0
- package/modules/search/migrations/README.md +3 -0
- package/modules/search/module.json +28 -0
- package/modules/search/package.json +43 -0
- package/modules/search/spec/module.yaml +177 -0
- package/modules/search/src/acl/permissions.ts +5 -0
- package/modules/search/src/api/endpoints.ts +221 -0
- package/modules/search/src/client/SearchView.tsrx +346 -0
- package/modules/search/src/client/api.ts +157 -0
- package/modules/search/src/client/contribution.tsrx +31 -0
- package/modules/search/src/client/index.ts +17 -0
- package/modules/search/src/client/navigation.ts +97 -0
- package/modules/search/src/client/search.css +56 -0
- package/modules/search/src/client/state.ts +113 -0
- package/modules/search/src/domain/data-classes.ts +73 -0
- package/modules/search/src/domain/providers.ts +88 -0
- package/modules/search/src/domain/types.ts +56 -0
- package/modules/search/src/index.ts +46 -0
- package/modules/search/src/platform.ts +42 -0
- package/modules/search/src/server/index.ts +25 -0
- package/modules/search/src/server/runtime.ts +123 -0
- package/modules/search/src/services/database-repository.ts +163 -0
- package/modules/search/src/services/index.ts +21 -0
- package/modules/search/src/services/migration.ts +65 -0
- package/modules/search/src/services/provider-registry.ts +137 -0
- package/modules/search/src/services/repository.ts +43 -0
- package/modules/search/src/services/search-service.ts +442 -0
- package/modules/search/src/services/service-error.ts +35 -0
- package/modules/search/src/settings.ts +68 -0
- package/modules/search/translations/en.json +45 -0
- package/modules/search/translations/pl.json +45 -0
- package/modules/system/module.json +2 -2
- package/modules/system/package.json +1 -1
- package/modules/system/spec/module.yaml +30 -3
- package/modules/system/src/client/FlagsPanel.tsrx +127 -0
- package/modules/system/src/client/ModuleSettingRow.tsrx +17 -7
- package/modules/system/src/client/ModuleSettingsSection.tsrx +10 -71
- package/modules/system/src/client/ModulesView.tsrx +91 -65
- package/modules/system/src/client/flags.ts +35 -0
- package/modules/system/src/client/index.ts +8 -0
- package/modules/system/src/client/navigation.ts +8 -0
- package/modules/system/src/client/settings-state.ts +159 -0
- package/modules/system/src/client/state.ts +2 -0
- package/modules/system/src/domain/time-zone.ts +105 -0
- package/modules/system/src/index.ts +12 -0
- package/modules/system/src/platform.ts +5 -1
- package/modules/system/src/server/endpoints.ts +72 -21
- package/modules/system/src/settings.ts +28 -0
- package/modules/system/translations/en.json +17 -0
- package/modules/system/translations/pl.json +17 -0
- package/modules/users/module.json +30 -4
- package/modules/users/package.json +4 -1
- package/modules/users/spec/module.yaml +290 -7
- package/modules/users/src/api/endpoints.ts +228 -15
- package/modules/users/src/client/InviteMemberForm.tsrx +2 -2
- package/modules/users/src/client/MemberDrawer.tsrx +142 -26
- package/modules/users/src/client/UserAccountForm.tsrx +2 -2
- package/modules/users/src/client/UsersView.tsrx +432 -71
- package/modules/users/src/client/api.ts +106 -12
- package/modules/users/src/client/contribution.tsrx +5 -0
- package/modules/users/src/client/member-columns.tsrx +22 -9
- package/modules/users/src/client/state.ts +172 -7
- package/modules/users/src/domain/lists.ts +9 -0
- package/modules/users/src/index.ts +11 -0
- package/modules/users/src/platform.ts +50 -1
- package/modules/users/src/services/member-export.ts +51 -0
- package/modules/users/src/services/member-import.ts +249 -0
- package/modules/users/src/services/member-search.ts +145 -0
- package/modules/users/src/services/users-service.ts +117 -4
- package/modules/users/translations/en.json +57 -8
- package/modules/users/translations/pl.json +57 -8
- package/modules/workflows/migrations/0004_payload_rotation_inventory.up.sql +17 -0
- package/modules/workflows/migrations/0005_workflows_human_approval.up.sql +28 -0
- package/modules/workflows/migrations/0006_workflows_retention_indexes.up.sql +11 -0
- package/modules/workflows/migrations/0007_workflows_erasure_subject_indexes.up.sql +17 -0
- package/modules/workflows/migrations/0008_workflows_subject_account.up.sql +24 -0
- package/modules/workflows/migrations/0009_workflows_definition_list_indexes.up.sql +9 -0
- package/modules/workflows/module.json +34 -6
- package/modules/workflows/package.json +2 -1
- package/modules/workflows/spec/module.yaml +26 -9
- package/modules/workflows/src/api/endpoints.ts +131 -25
- package/modules/workflows/src/cli/commands.json +17 -0
- package/modules/workflows/src/cli/index.ts +114 -0
- package/modules/workflows/src/client/WorkflowExecutionHistory.tsrx +36 -27
- package/modules/workflows/src/client/WorkflowInspector.tsrx +116 -0
- package/modules/workflows/src/client/WorkflowNodePalette.tsrx +1 -0
- package/modules/workflows/src/client/WorkflowsView.tsrx +236 -99
- package/modules/workflows/src/client/api.ts +54 -34
- package/modules/workflows/src/client/canvas-model.ts +12 -0
- package/modules/workflows/src/client/state.ts +95 -0
- package/modules/workflows/src/domain/events.ts +25 -11
- package/modules/workflows/src/domain/graph.ts +135 -1
- package/modules/workflows/src/domain/types.ts +91 -4
- package/modules/workflows/src/platform.ts +12 -0
- package/modules/workflows/src/server/runtime.ts +78 -5
- package/modules/workflows/src/services/approvals.ts +62 -0
- package/modules/workflows/src/services/cursors.ts +37 -0
- package/modules/workflows/src/services/data-classes.ts +232 -0
- package/modules/workflows/src/services/database-repository.ts +660 -171
- package/modules/workflows/src/services/migration.ts +240 -0
- package/modules/workflows/src/services/notifications.ts +98 -0
- package/modules/workflows/src/services/payload-codec.ts +51 -28
- package/modules/workflows/src/services/payload-rotation.ts +171 -0
- package/modules/workflows/src/services/repository.ts +123 -8
- package/modules/workflows/src/services/simulation.ts +7 -0
- package/modules/workflows/src/services/worker.ts +446 -25
- package/modules/workflows/src/services/workflows-service.ts +264 -103
- package/modules/workflows/translations/en.json +12 -4
- package/modules/workflows/translations/pl.json +12 -4
- package/modules.json +48 -4
- package/package.json +64 -6
- package/packages/client/package.json +1 -0
- package/packages/client/src/ApplicationShell.tsrx +43 -0
- package/packages/client/src/contributions.ts +55 -0
- package/packages/client/src/i18n/locales/en.json +5 -0
- package/packages/client/src/i18n/locales/pl.json +5 -0
- package/packages/client/src/index.ts +13 -1
- package/packages/client/src/routing.ts +22 -0
- package/packages/client/src/shell/CommandPalette.tsrx +223 -11
- package/packages/client/src/shell/command-search.ts +126 -0
- package/packages/client/src/shell/command.ts +30 -0
- package/packages/client/src/shell/navigation.ts +12 -0
- package/packages/client/src/shell/palette-keys.ts +27 -0
- package/packages/client/src/shell/shell.css +7 -0
- package/packages/contracts/schemas/module-spec.schema.json +287 -1
- package/packages/contracts/schemas/module.schema.json +25 -0
- package/packages/contracts/src/index.ts +144 -1
- package/packages/database/src/backup.ts +180 -0
- package/packages/database/src/decoders.ts +25 -0
- package/packages/database/src/index.ts +17 -0
- package/packages/database/src/migrations.ts +7 -0
- package/packages/database/src/record-history.ts +5 -14
- package/packages/harness/src/index.ts +2 -0
- package/packages/harness/src/runtime.ts +378 -2
- package/packages/harness/src/tool-adapters.ts +20 -9
- package/packages/kernel/src/acl.ts +179 -0
- package/packages/kernel/src/approval-grant.ts +310 -0
- package/packages/kernel/src/capability-registry.ts +69 -2
- package/packages/kernel/src/data-class-registry.ts +354 -0
- package/packages/kernel/src/index.ts +85 -4
- package/packages/kernel/src/keyring.ts +208 -0
- package/packages/kernel/src/module-compatibility.ts +35 -4
- package/packages/kernel/src/module-registry.ts +49 -2
- package/packages/kernel/src/module-settings.ts +189 -27
- package/packages/server/package.json +2 -1
- package/packages/server/src/composition.ts +38 -0
- package/packages/server/src/endpoint.ts +104 -47
- package/packages/server/src/export/csv.ts +34 -0
- package/packages/server/src/export/definition.ts +346 -0
- package/packages/server/src/export/index.ts +61 -0
- package/packages/server/src/export/run.ts +116 -0
- package/packages/server/src/index.ts +155 -0
- package/packages/server/src/jobs/index.ts +93 -0
- package/packages/server/src/jobs/runner.ts +486 -0
- package/packages/server/src/log.ts +291 -0
- package/packages/server/src/mail/config.ts +184 -0
- package/packages/server/src/mail/contracts.ts +251 -0
- package/packages/server/src/mail/index.ts +31 -0
- package/packages/server/src/mail/port.ts +101 -0
- package/packages/server/src/mail/smtp.ts +191 -0
- package/packages/server/src/mail/template.ts +105 -0
- package/packages/server/src/metrics.ts +447 -0
- package/packages/server/src/pagination.ts +246 -0
- package/packages/server/src/trace/context.ts +103 -0
- package/packages/server/src/trace/egress.ts +66 -0
- package/packages/server/src/trace/error-sink.ts +296 -0
- package/packages/server/src/trace/exporter.ts +295 -0
- package/packages/server/src/trace/index.ts +60 -0
- package/packages/server/src/trace/job-sink.ts +172 -0
- package/packages/server/src/trace/tracer.ts +338 -0
- package/packages/server/src/web.ts +5 -1
- package/packages/storage/package.json +40 -0
- package/packages/storage/src/config.ts +189 -0
- package/packages/storage/src/content-type.ts +124 -0
- package/packages/storage/src/contracts.ts +112 -0
- package/packages/storage/src/envelope.ts +238 -0
- package/packages/storage/src/index.ts +49 -0
- package/packages/storage/src/local.ts +75 -0
- package/packages/storage/src/port.ts +262 -0
- package/packages/storage/src/read-token.ts +130 -0
- package/packages/storage/src/reseal.ts +128 -0
- package/packages/storage/src/s3.ts +144 -0
- package/packages/storage/src/scanner.ts +22 -0
- package/packages/storage/src/sigv4.ts +104 -0
- package/packages/storage/src/store.ts +13 -0
- package/packages/ui/package.json +1 -0
- package/packages/ui/src/components/Button.tsrx +3 -0
- package/packages/ui/src/components/ConfirmDialog.tsrx +13 -2
- package/packages/ui/src/components/DateField.tsrx +92 -0
- package/packages/ui/src/components/DatePicker.tsrx +525 -0
- package/packages/ui/src/components/DateRangeField.tsrx +93 -0
- package/packages/ui/src/components/Drawer.tsrx +10 -1
- package/packages/ui/src/components/FileUpload.tsrx +158 -0
- package/packages/ui/src/components/Pagination.tsrx +130 -0
- package/packages/ui/src/components/Select.tsrx +78 -0
- package/packages/ui/src/components/Table.tsrx +498 -81
- package/packages/ui/src/components/Tabs.tsrx +53 -0
- package/packages/ui/src/components/ToastHost.tsrx +48 -0
- package/packages/ui/src/components/calendar.ts +243 -0
- package/packages/ui/src/components/date-field.ts +62 -0
- package/packages/ui/src/components/file-upload.ts +49 -0
- package/packages/ui/src/components/focus-trap.ts +62 -0
- package/packages/ui/src/components/pagination.ts +68 -0
- package/packages/ui/src/components/table-sorting.ts +49 -0
- package/packages/ui/src/components/tabs.ts +61 -0
- package/packages/ui/src/components/toast-store.ts +116 -0
- package/packages/ui/src/icons/Icon.tsrx +5 -0
- package/packages/ui/src/index.ts +45 -0
- package/packages/ui/src/styles/components.css +598 -0
- package/modules/automations-workflows-integration/module.json +0 -27
- package/modules/automations-workflows-integration/spec/module.yaml +0 -93
- package/modules/automations-workflows-integration/src/index.ts +0 -14
- package/modules/automations-workflows-integration/src/platform.ts +0 -24
- package/modules/automations-workflows-integration/src/server/index.ts +0 -11
- package/modules/automations-workflows-integration/translations/en.json +0 -21
- package/modules/automations-workflows-integration/translations/pl.json +0 -21
- package/modules/workflows/src/services/cursor-codec.ts +0 -62
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {
|
|
2
|
+
defineModuleSettings,
|
|
3
|
+
PLATFORM_SETTINGS_TENANT,
|
|
4
|
+
type ModuleSettingsRuntime,
|
|
5
|
+
} from '@flowdular/sdk/kernel';
|
|
6
|
+
import type { ConnectorCallLimits } from './services/call-service.ts';
|
|
7
|
+
|
|
8
|
+
export const CONNECTORS_MODULE_ID = 'connectors.core';
|
|
9
|
+
|
|
10
|
+
export const CONNECTORS_MODULE_SETTINGS = defineModuleSettings({
|
|
11
|
+
moduleId: CONNECTORS_MODULE_ID,
|
|
12
|
+
settings: {
|
|
13
|
+
callTimeoutMs: {
|
|
14
|
+
type: 'number',
|
|
15
|
+
defaultValue: 10_000,
|
|
16
|
+
min: 1_000,
|
|
17
|
+
max: 60_000,
|
|
18
|
+
visibility: 'shared',
|
|
19
|
+
client: false,
|
|
20
|
+
scope: 'platform',
|
|
21
|
+
labelKey: 'connectors.settings.callTimeoutMs.label',
|
|
22
|
+
label: 'Call timeout (milliseconds)',
|
|
23
|
+
descriptionKey: 'connectors.settings.callTimeoutMs.description',
|
|
24
|
+
description:
|
|
25
|
+
'How long one connector call may take before it is aborted and recorded as a timeout.',
|
|
26
|
+
},
|
|
27
|
+
maxResponseBytes: {
|
|
28
|
+
type: 'number',
|
|
29
|
+
defaultValue: 1_048_576,
|
|
30
|
+
min: 1_024,
|
|
31
|
+
max: 16_777_216,
|
|
32
|
+
visibility: 'shared',
|
|
33
|
+
client: false,
|
|
34
|
+
scope: 'platform',
|
|
35
|
+
labelKey: 'connectors.settings.maxResponseBytes.label',
|
|
36
|
+
label: 'Response size cap (bytes)',
|
|
37
|
+
descriptionKey: 'connectors.settings.maxResponseBytes.description',
|
|
38
|
+
description:
|
|
39
|
+
'Bytes of a response that are read before the call is recorded as too large.',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
/* A setting read must never take a call down, so each accessor falls back to
|
|
45
|
+
the declared default when the runtime has not registered it yet. */
|
|
46
|
+
function value(
|
|
47
|
+
settings: ModuleSettingsRuntime,
|
|
48
|
+
key: 'callTimeoutMs' | 'maxResponseBytes',
|
|
49
|
+
fallback: number,
|
|
50
|
+
): number {
|
|
51
|
+
try {
|
|
52
|
+
return settings.get<number>(
|
|
53
|
+
PLATFORM_SETTINGS_TENANT,
|
|
54
|
+
CONNECTORS_MODULE_ID,
|
|
55
|
+
key,
|
|
56
|
+
);
|
|
57
|
+
} catch {
|
|
58
|
+
return fallback;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function connectorCallLimits(
|
|
63
|
+
settings: ModuleSettingsRuntime,
|
|
64
|
+
): ConnectorCallLimits {
|
|
65
|
+
return {
|
|
66
|
+
timeoutMs: value(settings, 'callTimeoutMs', 10_000),
|
|
67
|
+
maxResponseBytes: value(settings, 'maxResponseBytes', 1_048_576),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action.consent": "Change consent",
|
|
3
|
+
"action.create": "Create",
|
|
4
|
+
"action.delete": "Delete",
|
|
5
|
+
"action.disable": "Disable",
|
|
6
|
+
"action.enable": "Enable",
|
|
7
|
+
"action.new": "New connector",
|
|
8
|
+
"action.open": "Open",
|
|
9
|
+
"action.save": "Save",
|
|
10
|
+
"action.testCall": "Run test call",
|
|
11
|
+
"authKind.api-key": "API key header",
|
|
12
|
+
"authKind.bearer": "Bearer token",
|
|
13
|
+
"authKind.none": "No authentication",
|
|
14
|
+
"authKind.oauth2-client-credentials": "OAuth2 client credentials",
|
|
15
|
+
"caller.agent": "Agent",
|
|
16
|
+
"caller.test": "Test",
|
|
17
|
+
"caller.workflow": "Workflow",
|
|
18
|
+
"calls.allInstances": "Every connector",
|
|
19
|
+
"calls.allOutcomes": "Every outcome",
|
|
20
|
+
"calls.caption": "Connector calls of this workspace",
|
|
21
|
+
"calls.column.caller": "Caller",
|
|
22
|
+
"calls.column.duration": "Duration",
|
|
23
|
+
"calls.column.errorClass": "Class",
|
|
24
|
+
"calls.column.instance": "Connector",
|
|
25
|
+
"calls.column.occurredAt": "When",
|
|
26
|
+
"calls.column.operation": "Operation",
|
|
27
|
+
"calls.column.outcome": "Outcome",
|
|
28
|
+
"calls.column.status": "Status",
|
|
29
|
+
"calls.count": "{count} calls",
|
|
30
|
+
"calls.deletedInstance": "Deleted connector",
|
|
31
|
+
"calls.denied": "You need the connectors read permission to see this screen.",
|
|
32
|
+
"calls.description": "Every outbound call of this workspace, without any request or response body.",
|
|
33
|
+
"calls.duration": "{value} ms",
|
|
34
|
+
"calls.emptyFilteredHint": "Change the search or the filters.",
|
|
35
|
+
"calls.emptyFilteredTitle": "No call matches",
|
|
36
|
+
"calls.emptyHint": "A test call, a workflow or an agent produces the first row.",
|
|
37
|
+
"calls.emptyTitle": "No calls yet",
|
|
38
|
+
"calls.errorLoad": "Could not load the call log.",
|
|
39
|
+
"calls.filterInstance": "Connector",
|
|
40
|
+
"calls.filterOutcome": "Outcome",
|
|
41
|
+
"calls.loading": "Loading calls…",
|
|
42
|
+
"calls.note": "The log keeps outcomes, status codes and sizes. It never keeps a body or a credential.",
|
|
43
|
+
"calls.searchLabel": "Search calls",
|
|
44
|
+
"calls.searchPlaceholder": "Operation",
|
|
45
|
+
"calls.tableTitle": "Calls",
|
|
46
|
+
"calls.title": "Connector calls",
|
|
47
|
+
"column.allowAgents": "Agents",
|
|
48
|
+
"column.allowWorkflows": "Workflows",
|
|
49
|
+
"column.authKind": "Authentication",
|
|
50
|
+
"column.baseUrl": "Base URL",
|
|
51
|
+
"column.definition": "Definition",
|
|
52
|
+
"column.lastCall": "Last call",
|
|
53
|
+
"column.name": "Name",
|
|
54
|
+
"column.status": "Status",
|
|
55
|
+
"common.accessDenied": "Access denied",
|
|
56
|
+
"common.actions": "Actions",
|
|
57
|
+
"common.administration": "Administration",
|
|
58
|
+
"common.close": "Close",
|
|
59
|
+
"common.filters": "Filters",
|
|
60
|
+
"common.messages": "Messages",
|
|
61
|
+
"common.never": "Never",
|
|
62
|
+
"common.none": "None",
|
|
63
|
+
"common.refresh": "Refresh",
|
|
64
|
+
"common.refreshing": "Refreshing…",
|
|
65
|
+
"common.saving": "Saving…",
|
|
66
|
+
"consent.agents": "Agent calls",
|
|
67
|
+
"consent.agentsHelp": "While this is on, an agent run may call this connector through its tool.",
|
|
68
|
+
"consent.agentsSwitch": "Agent calls: {value}",
|
|
69
|
+
"consent.agentsTitle": "Change agent consent",
|
|
70
|
+
"consent.description": "This sets {caller} for {name} to {value}. Nothing else changes, and the change is recorded in the audit trail.",
|
|
71
|
+
"consent.off": "Off",
|
|
72
|
+
"consent.on": "On",
|
|
73
|
+
"consent.title": "Change connector consent",
|
|
74
|
+
"consent.workflows": "Workflow calls",
|
|
75
|
+
"consent.workflowsHelp": "While this is on, a published workflow may call this connector as an action.",
|
|
76
|
+
"consent.workflowsSwitch": "Workflow calls: {value}",
|
|
77
|
+
"consent.workflowsTitle": "Change workflow consent",
|
|
78
|
+
"credential.clientId": "Client id",
|
|
79
|
+
"credential.clientIdHelp": "The OAuth2 client identifier.",
|
|
80
|
+
"credential.clientSecret": "Client secret",
|
|
81
|
+
"credential.clientSecretHelp": "Stored sealed; it is never shown again.",
|
|
82
|
+
"credential.header": "Header name",
|
|
83
|
+
"credential.headerHelp": "The header the API key is sent in, for example x-api-key.",
|
|
84
|
+
"credential.scope": "Scope",
|
|
85
|
+
"credential.scopeHelp": "Optional scope requested with the token.",
|
|
86
|
+
"credential.token": "Bearer token",
|
|
87
|
+
"credential.tokenHelp": "Stored sealed; it is never shown again.",
|
|
88
|
+
"credential.tokenUrl": "Token URL",
|
|
89
|
+
"credential.tokenUrlHelp": "The https token endpoint, on the instance host allowlist.",
|
|
90
|
+
"credential.value": "API key",
|
|
91
|
+
"credential.valueHelp": "Stored sealed; it is never shown again.",
|
|
92
|
+
"delete.description": "Deleting {name} removes its sealed credential. The call log stays.",
|
|
93
|
+
"delete.title": "Delete connector",
|
|
94
|
+
"disable.description": "Disabling {name} stops every call at once, including calls already queued by workflows.",
|
|
95
|
+
"disable.title": "Disable connector",
|
|
96
|
+
"drawer.newSubtitle": "The credential is accepted once and sealed.",
|
|
97
|
+
"drawer.newTitle": "New connector",
|
|
98
|
+
"drawer.subtitle": "Connector instance",
|
|
99
|
+
"error.action": "The connector action failed.",
|
|
100
|
+
"error.code.AUTH_KIND_UNSUPPORTED": "This definition does not support the chosen authentication kind.",
|
|
101
|
+
"error.code.CONSENT_NOT_CONFIRMED": "A consent change needs an explicit confirmation.",
|
|
102
|
+
"error.code.CREDENTIAL_INVALID": "The credential is incomplete for the chosen authentication kind.",
|
|
103
|
+
"error.code.CSRF_REJECTED": "The session could not be verified. Reload the screen and try again.",
|
|
104
|
+
"error.code.DEFINITION_UNKNOWN": "No connector definition is registered under this key.",
|
|
105
|
+
"error.code.EGRESS_REFUSED": "The URL must be an https address of a public host.",
|
|
106
|
+
"error.code.FORBIDDEN": "You do not have permission for this action.",
|
|
107
|
+
"error.code.HOST_NOT_ALLOWLISTED": "The host is not on the instance allowlist.",
|
|
108
|
+
"error.code.INSTANCE_ACTIVE": "Disable the connector before deleting it.",
|
|
109
|
+
"error.code.INSTANCE_NAME_TAKEN": "A connector with this name already exists in the workspace.",
|
|
110
|
+
"error.code.INSTANCE_NOT_FOUND": "This connector no longer exists.",
|
|
111
|
+
"error.code.PORT_NOT_ALLOWED": "This definition does not accept that port.",
|
|
112
|
+
"error.load": "Could not load the connectors.",
|
|
113
|
+
"error.request": "The connectors operation failed.",
|
|
114
|
+
"error.save": "Could not save the connector.",
|
|
115
|
+
"filter.allDefinitions": "Every definition",
|
|
116
|
+
"filter.allStatuses": "Every status",
|
|
117
|
+
"filter.definition": "Definition",
|
|
118
|
+
"filter.status": "Status",
|
|
119
|
+
"form.allowedHosts": "Allowed hosts",
|
|
120
|
+
"form.allowedHostsHelp": "Hosts this instance may reach, separated by commas. Empty means the base URL host only.",
|
|
121
|
+
"form.allowedHostsPlaceholder": "api.example.com",
|
|
122
|
+
"form.authKind": "Authentication",
|
|
123
|
+
"form.authKindHelp": "How the request proves who it is. It cannot be changed later.",
|
|
124
|
+
"form.baseUrl": "Base URL",
|
|
125
|
+
"form.baseUrlHelp": "An https URL to a public host. Private and loopback addresses are refused.",
|
|
126
|
+
"form.baseUrlPlaceholder": "https://api.example.com/v1",
|
|
127
|
+
"form.constraint": "Credentials are sealed with the module key and never returned.",
|
|
128
|
+
"form.credentialFingerprint": "Credential fingerprint",
|
|
129
|
+
"form.credentialHelp": "The stored credential is never shown again; the fingerprint changes when it is replaced.",
|
|
130
|
+
"form.definition": "Definition",
|
|
131
|
+
"form.definitionHelp": "The connector kind this instance configures. It cannot be changed later.",
|
|
132
|
+
"form.lastCall": "Last call",
|
|
133
|
+
"form.lastCallHelp": "When a call of this instance was last recorded, including a refused one.",
|
|
134
|
+
"form.loadingHint": "The workspace connectors are still being read.",
|
|
135
|
+
"form.loadingTitle": "Loading the connector…",
|
|
136
|
+
"form.missingHint": "It was deleted or it belongs to another workspace. Close this panel and refresh.",
|
|
137
|
+
"form.missingTitle": "Connector not found",
|
|
138
|
+
"form.name": "Name",
|
|
139
|
+
"form.nameHelp": "Unique inside this workspace.",
|
|
140
|
+
"form.namePlaceholder": "Billing API",
|
|
141
|
+
"form.noCredential": "No credential",
|
|
142
|
+
"form.replaceCredentials": "Replace the credential",
|
|
143
|
+
"form.testBody": "Response preview",
|
|
144
|
+
"form.testBodyHelp": "Truncated for diagnosis. Nothing of it is stored.",
|
|
145
|
+
"form.testOperation": "Test operation",
|
|
146
|
+
"form.testOperationHelp": "The operation the test call runs.",
|
|
147
|
+
"form.testPath": "Test path",
|
|
148
|
+
"form.testPathHelp": "The path appended to the base URL, starting with a slash.",
|
|
149
|
+
"form.testResult": "Outcome {outcome}, status {status}, {duration} ms, class {errorClass}.",
|
|
150
|
+
"instances.caption": "Connector instances of this workspace",
|
|
151
|
+
"instances.count": "{count} instances",
|
|
152
|
+
"instances.denied": "You need the connectors read permission to see this screen.",
|
|
153
|
+
"instances.description": "Configured connections to external systems. Credentials are sealed and never shown again.",
|
|
154
|
+
"instances.emptyFilteredHint": "Change the search or the filters.",
|
|
155
|
+
"instances.emptyFilteredTitle": "No connector matches",
|
|
156
|
+
"instances.emptyHint": "Create one to let this workspace call an external system.",
|
|
157
|
+
"instances.emptyTitle": "No connectors yet",
|
|
158
|
+
"instances.errorHint": "Refresh to try again.",
|
|
159
|
+
"instances.errorTitle": "Could not load the connectors",
|
|
160
|
+
"instances.loading": "Loading connectors…",
|
|
161
|
+
"instances.note": "Calls leave only to allowlisted public hosts, and no request or response body is stored.",
|
|
162
|
+
"instances.tableTitle": "Instances",
|
|
163
|
+
"instances.title": "Connectors",
|
|
164
|
+
"module.name": "Connectors",
|
|
165
|
+
"navigation.calls": "Connector calls",
|
|
166
|
+
"navigation.callsDescription": "Every outbound call, with its outcome and duration.",
|
|
167
|
+
"navigation.instances": "Connectors",
|
|
168
|
+
"navigation.instancesDescription": "External systems this workspace may call, with their credentials and consent.",
|
|
169
|
+
"notice.consent": "Consent changed.",
|
|
170
|
+
"notice.created": "Connector created.",
|
|
171
|
+
"notice.deleted": "Connector deleted.",
|
|
172
|
+
"notice.disabled": "Connector disabled.",
|
|
173
|
+
"notice.enabled": "Connector enabled.",
|
|
174
|
+
"notice.saved": "Connector saved.",
|
|
175
|
+
"outcome.failed": "Failed",
|
|
176
|
+
"outcome.refused": "Refused",
|
|
177
|
+
"outcome.succeeded": "Succeeded",
|
|
178
|
+
"pagination.label": "Pagination",
|
|
179
|
+
"pagination.next": "Next",
|
|
180
|
+
"pagination.previous": "Previous",
|
|
181
|
+
"pagination.size": "Rows per page",
|
|
182
|
+
"pagination.page": "Page {page}, from row {from}",
|
|
183
|
+
"search.label": "Search connectors",
|
|
184
|
+
"search.placeholder": "Name or base URL",
|
|
185
|
+
"settings.callTimeoutMs.description": "How long one connector call may take before it is aborted and recorded as a timeout.",
|
|
186
|
+
"settings.callTimeoutMs.label": "Call timeout (milliseconds)",
|
|
187
|
+
"settings.maxResponseBytes.description": "Bytes of a response that are read before the call is recorded as too large.",
|
|
188
|
+
"settings.maxResponseBytes.label": "Response size cap (bytes)",
|
|
189
|
+
"status.active": "Active",
|
|
190
|
+
"status.disabled": "Disabled"
|
|
191
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action.consent": "Zmień zgodę",
|
|
3
|
+
"action.create": "Utwórz",
|
|
4
|
+
"action.delete": "Usuń",
|
|
5
|
+
"action.disable": "Wyłącz",
|
|
6
|
+
"action.enable": "Włącz",
|
|
7
|
+
"action.new": "Nowy konektor",
|
|
8
|
+
"action.open": "Otwórz",
|
|
9
|
+
"action.save": "Zapisz",
|
|
10
|
+
"action.testCall": "Uruchom wywołanie testowe",
|
|
11
|
+
"authKind.api-key": "Nagłówek z kluczem API",
|
|
12
|
+
"authKind.bearer": "Token bearer",
|
|
13
|
+
"authKind.none": "Bez uwierzytelniania",
|
|
14
|
+
"authKind.oauth2-client-credentials": "OAuth2 client credentials",
|
|
15
|
+
"caller.agent": "Agent",
|
|
16
|
+
"caller.test": "Test",
|
|
17
|
+
"caller.workflow": "Przepływ",
|
|
18
|
+
"calls.allInstances": "Każdy konektor",
|
|
19
|
+
"calls.allOutcomes": "Każdy wynik",
|
|
20
|
+
"calls.caption": "Wywołania konektorów tego obszaru roboczego",
|
|
21
|
+
"calls.column.caller": "Wywołujący",
|
|
22
|
+
"calls.column.duration": "Czas",
|
|
23
|
+
"calls.column.errorClass": "Klasa",
|
|
24
|
+
"calls.column.instance": "Konektor",
|
|
25
|
+
"calls.column.occurredAt": "Kiedy",
|
|
26
|
+
"calls.column.operation": "Operacja",
|
|
27
|
+
"calls.column.outcome": "Wynik",
|
|
28
|
+
"calls.column.status": "Status",
|
|
29
|
+
"calls.count": "Wywołania: {count}",
|
|
30
|
+
"calls.deletedInstance": "Usunięty konektor",
|
|
31
|
+
"calls.denied": "Do tego ekranu potrzebne jest uprawnienie odczytu konektorów.",
|
|
32
|
+
"calls.description": "Każde wywołanie wychodzące tego obszaru roboczego, bez treści żądania i odpowiedzi.",
|
|
33
|
+
"calls.duration": "{value} ms",
|
|
34
|
+
"calls.emptyFilteredHint": "Zmień wyszukiwanie lub filtry.",
|
|
35
|
+
"calls.emptyFilteredTitle": "Brak pasujących wywołań",
|
|
36
|
+
"calls.emptyHint": "Pierwszy wiersz tworzy wywołanie testowe, przepływ albo agent.",
|
|
37
|
+
"calls.emptyTitle": "Brak wywołań",
|
|
38
|
+
"calls.errorLoad": "Nie udało się wczytać dziennika wywołań.",
|
|
39
|
+
"calls.filterInstance": "Konektor",
|
|
40
|
+
"calls.filterOutcome": "Wynik",
|
|
41
|
+
"calls.loading": "Wczytywanie wywołań…",
|
|
42
|
+
"calls.note": "Dziennik przechowuje wyniki, kody statusu i rozmiary. Nigdy nie przechowuje treści ani poświadczeń.",
|
|
43
|
+
"calls.searchLabel": "Szukaj wywołań",
|
|
44
|
+
"calls.searchPlaceholder": "Operacja",
|
|
45
|
+
"calls.tableTitle": "Wywołania",
|
|
46
|
+
"calls.title": "Wywołania konektorów",
|
|
47
|
+
"column.allowAgents": "Agenci",
|
|
48
|
+
"column.allowWorkflows": "Przepływy",
|
|
49
|
+
"column.authKind": "Uwierzytelnianie",
|
|
50
|
+
"column.baseUrl": "Adres bazowy",
|
|
51
|
+
"column.definition": "Definicja",
|
|
52
|
+
"column.lastCall": "Ostatnie wywołanie",
|
|
53
|
+
"column.name": "Nazwa",
|
|
54
|
+
"column.status": "Status",
|
|
55
|
+
"common.accessDenied": "Brak dostępu",
|
|
56
|
+
"common.actions": "Akcje",
|
|
57
|
+
"common.administration": "Administracja",
|
|
58
|
+
"common.close": "Zamknij",
|
|
59
|
+
"common.filters": "Filtry",
|
|
60
|
+
"common.messages": "Komunikaty",
|
|
61
|
+
"common.never": "Nigdy",
|
|
62
|
+
"common.none": "Brak",
|
|
63
|
+
"common.refresh": "Odśwież",
|
|
64
|
+
"common.refreshing": "Odświeżanie…",
|
|
65
|
+
"common.saving": "Zapisywanie…",
|
|
66
|
+
"consent.agents": "Wywołania agentów",
|
|
67
|
+
"consent.agentsHelp": "Gdy jest włączone, przebieg agenta może wywołać ten konektor swoim narzędziem.",
|
|
68
|
+
"consent.agentsSwitch": "Wywołania agentów: {value}",
|
|
69
|
+
"consent.agentsTitle": "Zmień zgodę dla agentów",
|
|
70
|
+
"consent.description": "To ustawia {caller} dla {name} na {value}. Nic innego się nie zmienia, a zmiana trafia do dziennika audytu.",
|
|
71
|
+
"consent.off": "Wyłączona",
|
|
72
|
+
"consent.on": "Włączona",
|
|
73
|
+
"consent.title": "Zmień zgodę konektora",
|
|
74
|
+
"consent.workflows": "Wywołania przepływów",
|
|
75
|
+
"consent.workflowsHelp": "Gdy jest włączone, opublikowany przepływ może wywołać ten konektor jako akcję.",
|
|
76
|
+
"consent.workflowsSwitch": "Wywołania przepływów: {value}",
|
|
77
|
+
"consent.workflowsTitle": "Zmień zgodę dla przepływów",
|
|
78
|
+
"credential.clientId": "Identyfikator klienta",
|
|
79
|
+
"credential.clientIdHelp": "Identyfikator klienta OAuth2.",
|
|
80
|
+
"credential.clientSecret": "Sekret klienta",
|
|
81
|
+
"credential.clientSecretHelp": "Zapisywany w postaci zapieczętowanej; nie jest pokazywany ponownie.",
|
|
82
|
+
"credential.header": "Nazwa nagłówka",
|
|
83
|
+
"credential.headerHelp": "Nagłówek, w którym wysyłany jest klucz API, na przykład x-api-key.",
|
|
84
|
+
"credential.scope": "Zakres",
|
|
85
|
+
"credential.scopeHelp": "Opcjonalny zakres żądany razem z tokenem.",
|
|
86
|
+
"credential.token": "Token bearer",
|
|
87
|
+
"credential.tokenHelp": "Zapisywany w postaci zapieczętowanej; nie jest pokazywany ponownie.",
|
|
88
|
+
"credential.tokenUrl": "Adres tokenu",
|
|
89
|
+
"credential.tokenUrlHelp": "Adres https punktu tokenu, z listy dozwolonych hostów instancji.",
|
|
90
|
+
"credential.value": "Klucz API",
|
|
91
|
+
"credential.valueHelp": "Zapisywany w postaci zapieczętowanej; nie jest pokazywany ponownie.",
|
|
92
|
+
"delete.description": "Usunięcie {name} kasuje jego zapieczętowane poświadczenie. Dziennik wywołań pozostaje.",
|
|
93
|
+
"delete.title": "Usuń konektor",
|
|
94
|
+
"disable.description": "Wyłączenie {name} natychmiast zatrzymuje każde wywołanie, także te już zakolejkowane przez przepływy.",
|
|
95
|
+
"disable.title": "Wyłącz konektor",
|
|
96
|
+
"drawer.newSubtitle": "Poświadczenie jest przyjmowane raz i pieczętowane.",
|
|
97
|
+
"drawer.newTitle": "Nowy konektor",
|
|
98
|
+
"drawer.subtitle": "Instancja konektora",
|
|
99
|
+
"error.action": "Akcja konektora nie powiodła się.",
|
|
100
|
+
"error.code.AUTH_KIND_UNSUPPORTED": "Ta definicja nie obsługuje wybranego rodzaju uwierzytelniania.",
|
|
101
|
+
"error.code.CONSENT_NOT_CONFIRMED": "Zmiana zgody wymaga wyraźnego potwierdzenia.",
|
|
102
|
+
"error.code.CREDENTIAL_INVALID": "Poświadczenie jest niekompletne dla wybranego rodzaju uwierzytelniania.",
|
|
103
|
+
"error.code.CSRF_REJECTED": "Nie udało się zweryfikować sesji. Odśwież ekran i spróbuj ponownie.",
|
|
104
|
+
"error.code.DEFINITION_UNKNOWN": "Pod tym kluczem nie zarejestrowano definicji konektora.",
|
|
105
|
+
"error.code.EGRESS_REFUSED": "Adres musi być adresem https publicznego hosta.",
|
|
106
|
+
"error.code.FORBIDDEN": "Nie masz uprawnienia do tej akcji.",
|
|
107
|
+
"error.code.HOST_NOT_ALLOWLISTED": "Host nie znajduje się na liście dozwolonych hostów instancji.",
|
|
108
|
+
"error.code.INSTANCE_ACTIVE": "Wyłącz konektor przed usunięciem.",
|
|
109
|
+
"error.code.INSTANCE_NAME_TAKEN": "Konektor o tej nazwie już istnieje w obszarze roboczym.",
|
|
110
|
+
"error.code.INSTANCE_NOT_FOUND": "Ten konektor już nie istnieje.",
|
|
111
|
+
"error.code.PORT_NOT_ALLOWED": "Ta definicja nie akceptuje tego portu.",
|
|
112
|
+
"error.load": "Nie udało się wczytać konektorów.",
|
|
113
|
+
"error.request": "Operacja konektorów nie powiodła się.",
|
|
114
|
+
"error.save": "Nie udało się zapisać konektora.",
|
|
115
|
+
"filter.allDefinitions": "Każda definicja",
|
|
116
|
+
"filter.allStatuses": "Każdy status",
|
|
117
|
+
"filter.definition": "Definicja",
|
|
118
|
+
"filter.status": "Status",
|
|
119
|
+
"form.allowedHosts": "Dozwolone hosty",
|
|
120
|
+
"form.allowedHostsHelp": "Hosty, do których ta instancja może dzwonić, oddzielone przecinkami. Puste oznacza tylko host adresu bazowego.",
|
|
121
|
+
"form.allowedHostsPlaceholder": "api.example.com",
|
|
122
|
+
"form.authKind": "Uwierzytelnianie",
|
|
123
|
+
"form.authKindHelp": "Sposób, w jaki żądanie potwierdza tożsamość. Nie można go później zmienić.",
|
|
124
|
+
"form.baseUrl": "Adres bazowy",
|
|
125
|
+
"form.baseUrlHelp": "Adres https publicznego hosta. Adresy prywatne i pętli zwrotnej są odrzucane.",
|
|
126
|
+
"form.baseUrlPlaceholder": "https://api.example.com/v1",
|
|
127
|
+
"form.constraint": "Poświadczenia są pieczętowane kluczem modułu i nigdy nie są zwracane.",
|
|
128
|
+
"form.credentialFingerprint": "Odcisk poświadczenia",
|
|
129
|
+
"form.credentialHelp": "Zapisane poświadczenie nie jest pokazywane ponownie; odcisk zmienia się po jego wymianie.",
|
|
130
|
+
"form.definition": "Definicja",
|
|
131
|
+
"form.definitionHelp": "Rodzaj konektora konfigurowany przez tę instancję. Nie można go później zmienić.",
|
|
132
|
+
"form.lastCall": "Ostatnie wywołanie",
|
|
133
|
+
"form.lastCallHelp": "Kiedy zapisano ostatnie wywołanie tej instancji, łącznie z odrzuconym.",
|
|
134
|
+
"form.loadingHint": "Konektory tej przestrzeni są jeszcze odczytywane.",
|
|
135
|
+
"form.loadingTitle": "Wczytywanie konektora…",
|
|
136
|
+
"form.missingHint": "Został usunięty albo należy do innej przestrzeni. Zamknij panel i odśwież.",
|
|
137
|
+
"form.missingTitle": "Nie znaleziono konektora",
|
|
138
|
+
"form.name": "Nazwa",
|
|
139
|
+
"form.nameHelp": "Unikalna w tym obszarze roboczym.",
|
|
140
|
+
"form.namePlaceholder": "API rozliczeń",
|
|
141
|
+
"form.noCredential": "Brak poświadczenia",
|
|
142
|
+
"form.replaceCredentials": "Wymień poświadczenie",
|
|
143
|
+
"form.testBody": "Podgląd odpowiedzi",
|
|
144
|
+
"form.testBodyHelp": "Skrócony na potrzeby diagnozy. Nic z niego nie jest zapisywane.",
|
|
145
|
+
"form.testOperation": "Operacja testowa",
|
|
146
|
+
"form.testOperationHelp": "Operacja uruchamiana przez wywołanie testowe.",
|
|
147
|
+
"form.testPath": "Ścieżka testowa",
|
|
148
|
+
"form.testPathHelp": "Ścieżka dołączana do adresu bazowego, zaczynająca się od ukośnika.",
|
|
149
|
+
"form.testResult": "Wynik {outcome}, status {status}, {duration} ms, klasa {errorClass}.",
|
|
150
|
+
"instances.caption": "Instancje konektorów tego obszaru roboczego",
|
|
151
|
+
"instances.count": "Instancje: {count}",
|
|
152
|
+
"instances.denied": "Do tego ekranu potrzebne jest uprawnienie odczytu konektorów.",
|
|
153
|
+
"instances.description": "Skonfigurowane połączenia z systemami zewnętrznymi. Poświadczenia są zapieczętowane i nie są pokazywane ponownie.",
|
|
154
|
+
"instances.emptyFilteredHint": "Zmień wyszukiwanie lub filtry.",
|
|
155
|
+
"instances.emptyFilteredTitle": "Brak pasujących konektorów",
|
|
156
|
+
"instances.emptyHint": "Utwórz konektor, aby ten obszar roboczy mógł wywołać system zewnętrzny.",
|
|
157
|
+
"instances.emptyTitle": "Brak konektorów",
|
|
158
|
+
"instances.errorHint": "Odśwież, aby spróbować ponownie.",
|
|
159
|
+
"instances.errorTitle": "Nie udało się wczytać konektorów",
|
|
160
|
+
"instances.loading": "Wczytywanie konektorów…",
|
|
161
|
+
"instances.note": "Wywołania trafiają wyłącznie do publicznych hostów z listy dozwolonych, a treści żądań i odpowiedzi nie są zapisywane.",
|
|
162
|
+
"instances.tableTitle": "Instancje",
|
|
163
|
+
"instances.title": "Konektory",
|
|
164
|
+
"module.name": "Konektory",
|
|
165
|
+
"navigation.calls": "Wywołania konektorów",
|
|
166
|
+
"navigation.callsDescription": "Każde wywołanie wychodzące z jego wynikiem i czasem trwania.",
|
|
167
|
+
"navigation.instances": "Konektory",
|
|
168
|
+
"navigation.instancesDescription": "Systemy zewnętrzne, do których ten obszar roboczy może dzwonić, wraz z poświadczeniami i zgodą.",
|
|
169
|
+
"notice.consent": "Zgoda zmieniona.",
|
|
170
|
+
"notice.created": "Konektor utworzony.",
|
|
171
|
+
"notice.deleted": "Konektor usunięty.",
|
|
172
|
+
"notice.disabled": "Konektor wyłączony.",
|
|
173
|
+
"notice.enabled": "Konektor włączony.",
|
|
174
|
+
"notice.saved": "Konektor zapisany.",
|
|
175
|
+
"outcome.failed": "Niepowodzenie",
|
|
176
|
+
"outcome.refused": "Odrzucone",
|
|
177
|
+
"outcome.succeeded": "Powodzenie",
|
|
178
|
+
"pagination.label": "Stronicowanie",
|
|
179
|
+
"pagination.next": "Następna",
|
|
180
|
+
"pagination.previous": "Poprzednia",
|
|
181
|
+
"pagination.size": "Wierszy na stronie",
|
|
182
|
+
"pagination.page": "Strona {page}, od wiersza {from}",
|
|
183
|
+
"search.label": "Szukaj konektorów",
|
|
184
|
+
"search.placeholder": "Nazwa lub adres bazowy",
|
|
185
|
+
"settings.callTimeoutMs.description": "Jak długo może trwać jedno wywołanie konektora, zanim zostanie przerwane i zapisane jako przekroczenie czasu.",
|
|
186
|
+
"settings.callTimeoutMs.label": "Limit czasu wywołania (milisekundy)",
|
|
187
|
+
"settings.maxResponseBytes.description": "Liczba bajtów odpowiedzi odczytywanych, zanim wywołanie zostanie zapisane jako zbyt duże.",
|
|
188
|
+
"settings.maxResponseBytes.label": "Limit rozmiaru odpowiedzi (bajty)",
|
|
189
|
+
"status.active": "Aktywny",
|
|
190
|
+
"status.disabled": "Wyłączony"
|
|
191
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS directory_scim_tokens (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
tenant_id TEXT NOT NULL,
|
|
4
|
+
label TEXT NOT NULL,
|
|
5
|
+
token_fingerprint TEXT NOT NULL,
|
|
6
|
+
token_hash TEXT NOT NULL,
|
|
7
|
+
status TEXT NOT NULL CHECK (status IN ('active', 'revoked')),
|
|
8
|
+
created_by TEXT NOT NULL,
|
|
9
|
+
created_at BIGINT NOT NULL,
|
|
10
|
+
last_used_at BIGINT,
|
|
11
|
+
expires_at BIGINT,
|
|
12
|
+
revoked_at BIGINT
|
|
13
|
+
);
|
|
14
|
+
-- Case folded like the group name below: two labels an owner cannot tell apart
|
|
15
|
+
-- in the list must not be two credentials.
|
|
16
|
+
CREATE UNIQUE INDEX IF NOT EXISTS directory_scim_tokens_label_idx
|
|
17
|
+
ON directory_scim_tokens (tenant_id, lower(label));
|
|
18
|
+
-- Authentication reads one row by this derived prefix and then compares the
|
|
19
|
+
-- full hash in constant time, so an unknown credential costs the same lookup.
|
|
20
|
+
CREATE UNIQUE INDEX IF NOT EXISTS directory_scim_tokens_fingerprint_idx
|
|
21
|
+
ON directory_scim_tokens (tenant_id, token_fingerprint);
|
|
22
|
+
ALTER TABLE directory_scim_tokens ENABLE ROW LEVEL SECURITY;
|
|
23
|
+
ALTER TABLE directory_scim_tokens FORCE ROW LEVEL SECURITY;
|
|
24
|
+
CREATE POLICY directory_scim_tokens_tenant_policy ON directory_scim_tokens
|
|
25
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
26
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS directory_scim_users (
|
|
29
|
+
id TEXT PRIMARY KEY,
|
|
30
|
+
tenant_id TEXT NOT NULL,
|
|
31
|
+
external_id TEXT,
|
|
32
|
+
user_name TEXT NOT NULL,
|
|
33
|
+
account_id TEXT NOT NULL,
|
|
34
|
+
active SMALLINT NOT NULL CHECK (active IN (0, 1)),
|
|
35
|
+
created_at BIGINT NOT NULL,
|
|
36
|
+
last_synced_at BIGINT NOT NULL
|
|
37
|
+
);
|
|
38
|
+
-- One provider identity per workspace, and one mapping per account: both are
|
|
39
|
+
-- what makes a repeated create idempotent instead of a second membership.
|
|
40
|
+
CREATE UNIQUE INDEX IF NOT EXISTS directory_scim_users_user_name_idx
|
|
41
|
+
ON directory_scim_users (tenant_id, user_name);
|
|
42
|
+
CREATE UNIQUE INDEX IF NOT EXISTS directory_scim_users_account_idx
|
|
43
|
+
ON directory_scim_users (tenant_id, account_id);
|
|
44
|
+
CREATE INDEX IF NOT EXISTS directory_scim_users_external_idx
|
|
45
|
+
ON directory_scim_users (tenant_id, external_id);
|
|
46
|
+
ALTER TABLE directory_scim_users ENABLE ROW LEVEL SECURITY;
|
|
47
|
+
ALTER TABLE directory_scim_users FORCE ROW LEVEL SECURITY;
|
|
48
|
+
CREATE POLICY directory_scim_users_tenant_policy ON directory_scim_users
|
|
49
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
50
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
51
|
+
|
|
52
|
+
CREATE TABLE IF NOT EXISTS directory_scim_groups (
|
|
53
|
+
id TEXT PRIMARY KEY,
|
|
54
|
+
tenant_id TEXT NOT NULL,
|
|
55
|
+
external_id TEXT,
|
|
56
|
+
display_name TEXT NOT NULL,
|
|
57
|
+
role_key TEXT,
|
|
58
|
+
precedence INTEGER NOT NULL,
|
|
59
|
+
created_at BIGINT NOT NULL,
|
|
60
|
+
updated_at BIGINT NOT NULL
|
|
61
|
+
);
|
|
62
|
+
-- displayName is a caseExact=false attribute, so the uniqueness the provider
|
|
63
|
+
-- sees and the index that enforces it have to fold case the same way.
|
|
64
|
+
CREATE UNIQUE INDEX IF NOT EXISTS directory_scim_groups_display_name_idx
|
|
65
|
+
ON directory_scim_groups (tenant_id, lower(display_name));
|
|
66
|
+
-- Role resolution walks the mapped groups of one user in precedence order.
|
|
67
|
+
CREATE INDEX IF NOT EXISTS directory_scim_groups_precedence_idx
|
|
68
|
+
ON directory_scim_groups (tenant_id, precedence, id);
|
|
69
|
+
ALTER TABLE directory_scim_groups ENABLE ROW LEVEL SECURITY;
|
|
70
|
+
ALTER TABLE directory_scim_groups FORCE ROW LEVEL SECURITY;
|
|
71
|
+
CREATE POLICY directory_scim_groups_tenant_policy ON directory_scim_groups
|
|
72
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
73
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
74
|
+
|
|
75
|
+
CREATE TABLE IF NOT EXISTS directory_scim_group_members (
|
|
76
|
+
tenant_id TEXT NOT NULL,
|
|
77
|
+
group_id TEXT NOT NULL REFERENCES directory_scim_groups(id) ON DELETE CASCADE,
|
|
78
|
+
user_id TEXT NOT NULL REFERENCES directory_scim_users(id) ON DELETE CASCADE,
|
|
79
|
+
added_at BIGINT NOT NULL,
|
|
80
|
+
PRIMARY KEY (tenant_id, group_id, user_id)
|
|
81
|
+
);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS directory_scim_group_members_user_idx
|
|
83
|
+
ON directory_scim_group_members (tenant_id, user_id);
|
|
84
|
+
ALTER TABLE directory_scim_group_members ENABLE ROW LEVEL SECURITY;
|
|
85
|
+
ALTER TABLE directory_scim_group_members FORCE ROW LEVEL SECURITY;
|
|
86
|
+
CREATE POLICY directory_scim_group_members_tenant_policy ON directory_scim_group_members
|
|
87
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
88
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
89
|
+
|
|
90
|
+
-- Evidence outlives the credential, so the token id is recorded without a
|
|
91
|
+
-- foreign key: revoking or pruning a token never removes its trail.
|
|
92
|
+
CREATE TABLE IF NOT EXISTS directory_provisioning_events (
|
|
93
|
+
id TEXT PRIMARY KEY,
|
|
94
|
+
-- Two operations of one request land in the same millisecond, so the order
|
|
95
|
+
-- the log is read in comes from storage rather than from the clock.
|
|
96
|
+
sequence BIGINT GENERATED BY DEFAULT AS IDENTITY,
|
|
97
|
+
tenant_id TEXT NOT NULL,
|
|
98
|
+
token_id TEXT NOT NULL,
|
|
99
|
+
operation TEXT NOT NULL CHECK (operation IN ('user-create', 'user-update', 'user-deactivate', 'user-reactivate', 'group-create', 'group-update', 'group-delete', 'membership-change')),
|
|
100
|
+
subject TEXT NOT NULL,
|
|
101
|
+
outcome TEXT NOT NULL CHECK (outcome IN ('applied', 'unchanged', 'refused')),
|
|
102
|
+
reason TEXT,
|
|
103
|
+
occurred_at BIGINT NOT NULL
|
|
104
|
+
);
|
|
105
|
+
CREATE INDEX IF NOT EXISTS directory_provisioning_events_time_idx
|
|
106
|
+
ON directory_provisioning_events (tenant_id, occurred_at DESC, sequence DESC);
|
|
107
|
+
ALTER TABLE directory_provisioning_events ENABLE ROW LEVEL SECURITY;
|
|
108
|
+
ALTER TABLE directory_provisioning_events FORCE ROW LEVEL SECURITY;
|
|
109
|
+
CREATE POLICY directory_provisioning_events_tenant_policy ON directory_provisioning_events
|
|
110
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
111
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../packages/contracts/schemas/module.schema.json",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"id": "directory.core",
|
|
5
|
+
"package": "@flowdular/module-directory",
|
|
6
|
+
"version": "0.1.9",
|
|
7
|
+
"platformApi": "^0.1.0",
|
|
8
|
+
"profile": "full",
|
|
9
|
+
"capabilities": ["api", "database", "client", "translations"],
|
|
10
|
+
"platform": {
|
|
11
|
+
"server": true,
|
|
12
|
+
"client": true
|
|
13
|
+
},
|
|
14
|
+
"dependencies": [
|
|
15
|
+
{
|
|
16
|
+
"id": "system.core",
|
|
17
|
+
"range": "^0.7.0"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "auth.core",
|
|
21
|
+
"range": "^0.13.0"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"tenancy": "required",
|
|
25
|
+
"locales": ["en", "pl"],
|
|
26
|
+
"stability": "experimental"
|
|
27
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flowdular/module-directory",
|
|
3
|
+
"version": "0.1.9",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./src/index.ts",
|
|
8
|
+
"./client": "./src/client/index.ts",
|
|
9
|
+
"./server": "./src/server/index.ts",
|
|
10
|
+
"./platform": "./src/platform.ts",
|
|
11
|
+
"./module.json": "./module.json"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"src",
|
|
15
|
+
"dist",
|
|
16
|
+
"module.json",
|
|
17
|
+
"migrations",
|
|
18
|
+
"translations",
|
|
19
|
+
"spec",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"typecheck": "tsrx-tsc --noEmit -p tsconfig.json",
|
|
25
|
+
"test": "vitest run"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@flowdular/client": "workspace:*",
|
|
29
|
+
"@flowdular/contracts": "workspace:*",
|
|
30
|
+
"@flowdular/database": "workspace:*",
|
|
31
|
+
"@flowdular/kernel": "workspace:*",
|
|
32
|
+
"@flowdular/module-auth": "workspace:*",
|
|
33
|
+
"@flowdular/server": "workspace:*",
|
|
34
|
+
"@flowdular/ui": "workspace:*",
|
|
35
|
+
"octane": "0.1.51",
|
|
36
|
+
"segment-state": "0.2.1"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@flowdular/database-testing": "workspace:*",
|
|
40
|
+
"@octanejs/app-core": "0.0.47",
|
|
41
|
+
"@tsrx/typescript-plugin": "0.3.120",
|
|
42
|
+
"@types/node": "24.13.3",
|
|
43
|
+
"typescript": "5.9.3",
|
|
44
|
+
"vitest": "4.1.11"
|
|
45
|
+
}
|
|
46
|
+
}
|