@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,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"navigation.label": "Imports",
|
|
3
|
+
"navigation.description": "Bring records into this workspace from a CSV file.",
|
|
4
|
+
"page.eyebrow": "Operations",
|
|
5
|
+
"page.title": "Imports",
|
|
6
|
+
"page.description": "Every import runs as a job: the file is parsed, every row is validated, and only then are records written.",
|
|
7
|
+
"denied": "You do not have permission to read import jobs in this workspace.",
|
|
8
|
+
"common.accessDenied": "Access denied",
|
|
9
|
+
"common.actions": "Actions",
|
|
10
|
+
"common.close": "Close",
|
|
11
|
+
"common.filters": "Filters",
|
|
12
|
+
"common.messages": "Messages",
|
|
13
|
+
"common.no": "No",
|
|
14
|
+
"common.pending": "Not finished",
|
|
15
|
+
"common.refresh": "Refresh",
|
|
16
|
+
"common.refreshing": "Refreshing…",
|
|
17
|
+
"common.yes": "Yes",
|
|
18
|
+
"table.title": "Import jobs",
|
|
19
|
+
"table.caption": "Import jobs in this workspace",
|
|
20
|
+
"table.count": "{count} jobs",
|
|
21
|
+
"table.loading": "Loading import jobs…",
|
|
22
|
+
"table.note": "A job only ever writes through the target module, under the permissions you hold.",
|
|
23
|
+
"empty.title": "No imports yet",
|
|
24
|
+
"empty.hint": "Start an import to bring records in from a CSV file.",
|
|
25
|
+
"emptyFiltered.title": "No job matches",
|
|
26
|
+
"emptyFiltered.hint": "Clear the filters to see every import job.",
|
|
27
|
+
"column.target": "Target",
|
|
28
|
+
"column.status": "Status",
|
|
29
|
+
"column.mode": "Mode",
|
|
30
|
+
"column.dryRun": "Dry run",
|
|
31
|
+
"column.totalRows": "Rows",
|
|
32
|
+
"column.validRows": "Valid",
|
|
33
|
+
"column.writtenRows": "Written",
|
|
34
|
+
"column.failedRows": "Failed",
|
|
35
|
+
"column.startedAt": "Started",
|
|
36
|
+
"column.completedAt": "Finished",
|
|
37
|
+
"column.documentId": "Document",
|
|
38
|
+
"filter.status": "Status",
|
|
39
|
+
"filter.allStatuses": "Every status",
|
|
40
|
+
"filter.target": "Target",
|
|
41
|
+
"filter.allTargets": "Every target",
|
|
42
|
+
"status.parsing": "Parsing",
|
|
43
|
+
"status.validated": "Validated",
|
|
44
|
+
"status.writing": "Writing",
|
|
45
|
+
"status.completed": "Completed",
|
|
46
|
+
"status.failed": "Failed",
|
|
47
|
+
"status.cancelled": "Cancelled",
|
|
48
|
+
"mode.create-only": "Create only",
|
|
49
|
+
"mode.update-existing": "Update existing",
|
|
50
|
+
"mode.skip-existing": "Skip existing",
|
|
51
|
+
"outcome.valid": "Valid",
|
|
52
|
+
"outcome.invalid": "Invalid",
|
|
53
|
+
"outcome.created": "Created",
|
|
54
|
+
"outcome.updated": "Updated",
|
|
55
|
+
"outcome.skipped": "Skipped",
|
|
56
|
+
"outcome.failed": "Failed",
|
|
57
|
+
"type.string": "Text",
|
|
58
|
+
"type.integer": "Whole number",
|
|
59
|
+
"type.boolean": "Yes or no",
|
|
60
|
+
"type.date": "Date",
|
|
61
|
+
"type.email": "E-mail address",
|
|
62
|
+
"action.new": "New import",
|
|
63
|
+
"action.open": "Open",
|
|
64
|
+
"action.continue": "Write the rows",
|
|
65
|
+
"action.cancel": "Cancel the job",
|
|
66
|
+
"job.title": "Import job",
|
|
67
|
+
"job.loading": "Loading the job",
|
|
68
|
+
"job.loadingHint": "The job and its row outcomes are on their way.",
|
|
69
|
+
"job.totalRows": "Rows",
|
|
70
|
+
"job.validRows": "Valid",
|
|
71
|
+
"job.writtenRows": "Written",
|
|
72
|
+
"job.failedRows": "Failed",
|
|
73
|
+
"job.failureCode": "Failure",
|
|
74
|
+
"job.decide": "This job is validated",
|
|
75
|
+
"job.decideClean": "Every row passed validation. Writing sends them to the target module.",
|
|
76
|
+
"job.decideMixed": "{valid} of {total} rows passed. Writing sends the valid rows only; the rest stay listed below.",
|
|
77
|
+
"rows.caption": "Row outcomes for this job",
|
|
78
|
+
"rows.loading": "Loading rows…",
|
|
79
|
+
"rows.loadMore": "Load more rows",
|
|
80
|
+
"rows.empty.title": "No rows yet",
|
|
81
|
+
"rows.empty.hint": "Row outcomes appear once the file has been parsed.",
|
|
82
|
+
"rows.column.row": "Row",
|
|
83
|
+
"rows.column.outcome": "Outcome",
|
|
84
|
+
"rows.column.field": "Field",
|
|
85
|
+
"rows.column.reason": "Reason",
|
|
86
|
+
"rows.column.recordRef": "Record",
|
|
87
|
+
"form.title": "New import",
|
|
88
|
+
"form.subtitle": "Choose a target, upload the CSV and map its columns.",
|
|
89
|
+
"form.target": "Target",
|
|
90
|
+
"form.targetPlaceholder": "Choose a target",
|
|
91
|
+
"form.targetDenied": "{label} (no permission)",
|
|
92
|
+
"form.mode": "Mode",
|
|
93
|
+
"form.file": "CSV file",
|
|
94
|
+
"form.fileHelp": "UTF-8 with a header row, up to 25 MB.",
|
|
95
|
+
"form.mapping": "Column mapping",
|
|
96
|
+
"form.mappingHelp": "Columns detected in {file}.",
|
|
97
|
+
"form.mappingManual": "The header could not be read, so type the column names.",
|
|
98
|
+
"form.columnNone": "Not imported",
|
|
99
|
+
"form.fieldType": "Expects: {type}",
|
|
100
|
+
"form.dryRun": "Dry run",
|
|
101
|
+
"form.dryRunHelp": "Validate every row and write nothing.",
|
|
102
|
+
"form.saveMapping": "Save the mapping",
|
|
103
|
+
"form.saveMappingHelp": "Offer this mapping the next time you import into this target.",
|
|
104
|
+
"form.note": "The file is stored through Documents; nothing is written until validation has run.",
|
|
105
|
+
"form.cancel": "Cancel",
|
|
106
|
+
"form.submit": "Start the import",
|
|
107
|
+
"form.submitting": "Starting…",
|
|
108
|
+
"form.error.tooLarge": "That file is larger than 25 MB.",
|
|
109
|
+
"form.error.mapping": "The required field {field} has no column.",
|
|
110
|
+
"cancel.title": "Cancel this import?",
|
|
111
|
+
"cancel.description": "The job stops before anything is written. The file stays in Documents.",
|
|
112
|
+
"notice.started": "Import into {target} started.",
|
|
113
|
+
"notice.continued": "The valid rows are being written.",
|
|
114
|
+
"notice.cancelled": "The import was cancelled.",
|
|
115
|
+
"error.request": "The request failed.",
|
|
116
|
+
"error.load": "The import jobs could not be loaded.",
|
|
117
|
+
"error.start": "The import could not be started.",
|
|
118
|
+
"error.continue": "The job could not be continued.",
|
|
119
|
+
"error.cancel": "The job could not be cancelled.",
|
|
120
|
+
"error.code.TARGET_UNKNOWN": "No module offers that import target.",
|
|
121
|
+
"error.code.TARGET_FORBIDDEN": "You do not hold the permission this target requires.",
|
|
122
|
+
"error.code.MODE_UNKNOWN": "That import mode is not one this module offers.",
|
|
123
|
+
"error.code.MAPPING_INCOMPLETE": "A required field has no column in the mapping.",
|
|
124
|
+
"error.code.MAPPING_UNKNOWN_FIELD": "The mapping names a field this target does not accept.",
|
|
125
|
+
"error.code.MAPPING_COLUMN_MISSING": "The file has no column for a mapped field.",
|
|
126
|
+
"error.code.MAPPING_COLUMN_REUSED": "The mapping points two fields at one column.",
|
|
127
|
+
"error.code.MAPPING_TOO_LARGE": "The column mapping is larger than an import job can record.",
|
|
128
|
+
"error.code.REQUESTER_TOO_LARGE": "Your account carries more grants than an import job can record.",
|
|
129
|
+
"error.code.SOURCE_NOT_FOUND": "The source document is not stored in this workspace.",
|
|
130
|
+
"error.code.SOURCE_NOT_CSV": "The source document is not a CSV file.",
|
|
131
|
+
"error.code.SOURCE_TOO_LARGE": "The source document is larger than 25 MB.",
|
|
132
|
+
"error.code.SOURCE_INFECTED": "The source document was refused by the malware scanner.",
|
|
133
|
+
"error.code.DOCUMENTS_UNAVAILABLE": "Documents is not available, so the file cannot be read.",
|
|
134
|
+
"error.code.JOB_NOT_FOUND": "That import job does not exist in this workspace.",
|
|
135
|
+
"error.code.JOB_NOT_VALIDATED": "Only a validated job can be continued or cancelled.",
|
|
136
|
+
"error.code.JOB_DRY_RUN": "A dry run writes nothing; start a new job to write these rows.",
|
|
137
|
+
"error.code.VALIDATION_FAILED": "This job has invalid rows; continue with the valid rows only.",
|
|
138
|
+
"error.code.CLAIM_LOST": "Another process took this import job over while it was running.",
|
|
139
|
+
"error.code.IMPORT_PORTS_SEALED": "Import targets are registered while the platform starts.",
|
|
140
|
+
"error.code.IMPORT_PORT_INVALID": "A module declared an import target this platform cannot accept.",
|
|
141
|
+
"error.code.IMPORT_PORT_DUPLICATE": "Two modules declared the same import target.",
|
|
142
|
+
"error.code.CSV_EMPTY": "The file carries no header row.",
|
|
143
|
+
"error.code.CSV_NOT_UTF8": "The file is not valid UTF-8 text.",
|
|
144
|
+
"error.code.CSV_TOO_LARGE": "The file is larger than 25 MB.",
|
|
145
|
+
"error.code.CSV_TOO_MANY_ROWS": "The file holds more rows than one job may carry.",
|
|
146
|
+
"error.code.CSV_HEADER_BLANK": "A column header in the file is blank.",
|
|
147
|
+
"error.code.CSV_HEADER_DUPLICATE": "A column header appears more than once.",
|
|
148
|
+
"error.code.CSV_QUOTE_UNTERMINATED": "A quoted field in the file is never closed.",
|
|
149
|
+
"error.code.CSV_QUOTE_UNEXPECTED": "A quote in the file is in a place this reader cannot interpret.",
|
|
150
|
+
"reason.ROW_RAGGED": "This row has a different number of cells than the header.",
|
|
151
|
+
"reason.FIELD_REQUIRED": "This required field is empty.",
|
|
152
|
+
"reason.FIELD_TYPE": "This value is not the type the field expects.",
|
|
153
|
+
"reason.NATURAL_KEY_DUPLICATE": "An earlier row of this file already carries this key.",
|
|
154
|
+
"reason.PORT_FAILED": "The target module refused this batch.",
|
|
155
|
+
"reason.PORT_SILENT": "The target module reported no outcome for this row.",
|
|
156
|
+
"reason.JOB_FAILED": "The job stopped on an unexpected error.",
|
|
157
|
+
"reason.CSV_EMPTY": "The file carries no header row.",
|
|
158
|
+
"reason.CSV_NOT_UTF8": "The file is not valid UTF-8 text.",
|
|
159
|
+
"reason.CSV_TOO_LARGE": "The file is larger than 25 MB.",
|
|
160
|
+
"reason.CSV_TOO_MANY_ROWS": "The file holds more rows than one job may carry.",
|
|
161
|
+
"reason.CSV_HEADER_BLANK": "A column header in the file is blank.",
|
|
162
|
+
"reason.CSV_HEADER_DUPLICATE": "A column header appears more than once.",
|
|
163
|
+
"reason.CSV_QUOTE_UNTERMINATED": "A quoted field in the file is never closed.",
|
|
164
|
+
"reason.CSV_QUOTE_UNEXPECTED": "A quote in the file is in a place this reader cannot interpret.",
|
|
165
|
+
"reason.MAPPING_COLUMN_MISSING": "The file has no column for a mapped field.",
|
|
166
|
+
"reason.SOURCE_NOT_FOUND": "The source document is not stored in this workspace.",
|
|
167
|
+
"reason.SOURCE_NOT_CSV": "The source document is not a CSV file.",
|
|
168
|
+
"reason.SOURCE_TOO_LARGE": "The source document is larger than 25 MB.",
|
|
169
|
+
"reason.SOURCE_INFECTED": "The source document was refused by the malware scanner.",
|
|
170
|
+
"reason.DOCUMENTS_UNAVAILABLE": "Documents is not available, so the file cannot be read.",
|
|
171
|
+
"settings.maxRows.label": "Rows per job",
|
|
172
|
+
"settings.maxRows.description": "Rows one import job may hold; a larger file is refused.",
|
|
173
|
+
"settings.batchSize.label": "Rows per batch",
|
|
174
|
+
"settings.batchSize.description": "Rows handed to an import port in one validate or write call."
|
|
175
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"navigation.label": "Importy",
|
|
3
|
+
"navigation.description": "Wczytaj rekordy do tego obszaru roboczego z pliku CSV.",
|
|
4
|
+
"page.eyebrow": "Operacje",
|
|
5
|
+
"page.title": "Importy",
|
|
6
|
+
"page.description": "Każdy import to zadanie: plik jest przetwarzany, każdy wiersz sprawdzany i dopiero wtedy rekordy są zapisywane.",
|
|
7
|
+
"denied": "Nie masz uprawnień do odczytu zadań importu w tym obszarze roboczym.",
|
|
8
|
+
"common.accessDenied": "Brak dostępu",
|
|
9
|
+
"common.actions": "Akcje",
|
|
10
|
+
"common.close": "Zamknij",
|
|
11
|
+
"common.filters": "Filtry",
|
|
12
|
+
"common.messages": "Komunikaty",
|
|
13
|
+
"common.no": "Nie",
|
|
14
|
+
"common.pending": "Niezakończone",
|
|
15
|
+
"common.refresh": "Odśwież",
|
|
16
|
+
"common.refreshing": "Odświeżanie…",
|
|
17
|
+
"common.yes": "Tak",
|
|
18
|
+
"table.title": "Zadania importu",
|
|
19
|
+
"table.caption": "Zadania importu w tym obszarze roboczym",
|
|
20
|
+
"table.count": "Zadania: {count}",
|
|
21
|
+
"table.loading": "Wczytywanie zadań importu…",
|
|
22
|
+
"table.note": "Zadanie zapisuje wyłącznie przez moduł docelowy, w granicach Twoich uprawnień.",
|
|
23
|
+
"empty.title": "Brak importów",
|
|
24
|
+
"empty.hint": "Rozpocznij import, aby wczytać rekordy z pliku CSV.",
|
|
25
|
+
"emptyFiltered.title": "Brak pasujących zadań",
|
|
26
|
+
"emptyFiltered.hint": "Wyczyść filtry, aby zobaczyć wszystkie zadania importu.",
|
|
27
|
+
"column.target": "Cel",
|
|
28
|
+
"column.status": "Status",
|
|
29
|
+
"column.mode": "Tryb",
|
|
30
|
+
"column.dryRun": "Próba",
|
|
31
|
+
"column.totalRows": "Wiersze",
|
|
32
|
+
"column.validRows": "Poprawne",
|
|
33
|
+
"column.writtenRows": "Zapisane",
|
|
34
|
+
"column.failedRows": "Błędne",
|
|
35
|
+
"column.startedAt": "Rozpoczęto",
|
|
36
|
+
"column.completedAt": "Zakończono",
|
|
37
|
+
"column.documentId": "Dokument",
|
|
38
|
+
"filter.status": "Status",
|
|
39
|
+
"filter.allStatuses": "Wszystkie statusy",
|
|
40
|
+
"filter.target": "Cel",
|
|
41
|
+
"filter.allTargets": "Wszystkie cele",
|
|
42
|
+
"status.parsing": "Przetwarzanie",
|
|
43
|
+
"status.validated": "Sprawdzone",
|
|
44
|
+
"status.writing": "Zapisywanie",
|
|
45
|
+
"status.completed": "Zakończone",
|
|
46
|
+
"status.failed": "Nieudane",
|
|
47
|
+
"status.cancelled": "Anulowane",
|
|
48
|
+
"mode.create-only": "Tylko tworzenie",
|
|
49
|
+
"mode.update-existing": "Aktualizuj istniejące",
|
|
50
|
+
"mode.skip-existing": "Pomiń istniejące",
|
|
51
|
+
"outcome.valid": "Poprawny",
|
|
52
|
+
"outcome.invalid": "Niepoprawny",
|
|
53
|
+
"outcome.created": "Utworzony",
|
|
54
|
+
"outcome.updated": "Zaktualizowany",
|
|
55
|
+
"outcome.skipped": "Pominięty",
|
|
56
|
+
"outcome.failed": "Nieudany",
|
|
57
|
+
"type.string": "Tekst",
|
|
58
|
+
"type.integer": "Liczba całkowita",
|
|
59
|
+
"type.boolean": "Tak lub nie",
|
|
60
|
+
"type.date": "Data",
|
|
61
|
+
"type.email": "Adres e-mail",
|
|
62
|
+
"action.new": "Nowy import",
|
|
63
|
+
"action.open": "Otwórz",
|
|
64
|
+
"action.continue": "Zapisz wiersze",
|
|
65
|
+
"action.cancel": "Anuluj zadanie",
|
|
66
|
+
"job.title": "Zadanie importu",
|
|
67
|
+
"job.loading": "Wczytywanie zadania",
|
|
68
|
+
"job.loadingHint": "Zadanie i wyniki wierszy są w drodze.",
|
|
69
|
+
"job.totalRows": "Wiersze",
|
|
70
|
+
"job.validRows": "Poprawne",
|
|
71
|
+
"job.writtenRows": "Zapisane",
|
|
72
|
+
"job.failedRows": "Błędne",
|
|
73
|
+
"job.failureCode": "Błąd",
|
|
74
|
+
"job.decide": "To zadanie jest sprawdzone",
|
|
75
|
+
"job.decideClean": "Wszystkie wiersze przeszły walidację. Zapis wyśle je do modułu docelowego.",
|
|
76
|
+
"job.decideMixed": "Poprawnych wierszy: {valid} z {total}. Zapis obejmie tylko poprawne, reszta pozostanie na liście poniżej.",
|
|
77
|
+
"rows.caption": "Wyniki wierszy tego zadania",
|
|
78
|
+
"rows.loading": "Wczytywanie wierszy…",
|
|
79
|
+
"rows.loadMore": "Wczytaj kolejne wiersze",
|
|
80
|
+
"rows.empty.title": "Brak wierszy",
|
|
81
|
+
"rows.empty.hint": "Wyniki wierszy pojawią się po przetworzeniu pliku.",
|
|
82
|
+
"rows.column.row": "Wiersz",
|
|
83
|
+
"rows.column.outcome": "Wynik",
|
|
84
|
+
"rows.column.field": "Pole",
|
|
85
|
+
"rows.column.reason": "Powód",
|
|
86
|
+
"rows.column.recordRef": "Rekord",
|
|
87
|
+
"form.title": "Nowy import",
|
|
88
|
+
"form.subtitle": "Wybierz cel, wgraj plik CSV i przypisz jego kolumny.",
|
|
89
|
+
"form.target": "Cel",
|
|
90
|
+
"form.targetPlaceholder": "Wybierz cel",
|
|
91
|
+
"form.targetDenied": "{label} (brak uprawnień)",
|
|
92
|
+
"form.mode": "Tryb",
|
|
93
|
+
"form.file": "Plik CSV",
|
|
94
|
+
"form.fileHelp": "UTF-8 z wierszem nagłówka, do 25 MB.",
|
|
95
|
+
"form.mapping": "Przypisanie kolumn",
|
|
96
|
+
"form.mappingHelp": "Kolumny wykryte w pliku {file}.",
|
|
97
|
+
"form.mappingManual": "Nie udało się odczytać nagłówka, wpisz nazwy kolumn.",
|
|
98
|
+
"form.columnNone": "Nie importowane",
|
|
99
|
+
"form.fieldType": "Oczekiwany typ: {type}",
|
|
100
|
+
"form.dryRun": "Próba",
|
|
101
|
+
"form.dryRunHelp": "Sprawdź każdy wiersz i nie zapisuj niczego.",
|
|
102
|
+
"form.saveMapping": "Zapisz przypisanie",
|
|
103
|
+
"form.saveMappingHelp": "Zaproponuj to przypisanie przy następnym imporcie do tego celu.",
|
|
104
|
+
"form.note": "Plik jest przechowywany przez moduł Dokumenty; nic nie zostanie zapisane przed walidacją.",
|
|
105
|
+
"form.cancel": "Anuluj",
|
|
106
|
+
"form.submit": "Rozpocznij import",
|
|
107
|
+
"form.submitting": "Rozpoczynanie…",
|
|
108
|
+
"form.error.tooLarge": "Ten plik jest większy niż 25 MB.",
|
|
109
|
+
"form.error.mapping": "Wymagane pole {field} nie ma przypisanej kolumny.",
|
|
110
|
+
"cancel.title": "Anulować ten import?",
|
|
111
|
+
"cancel.description": "Zadanie zatrzyma się przed zapisem. Plik pozostanie w Dokumentach.",
|
|
112
|
+
"notice.started": "Import do celu {target} został rozpoczęty.",
|
|
113
|
+
"notice.continued": "Poprawne wiersze są zapisywane.",
|
|
114
|
+
"notice.cancelled": "Import został anulowany.",
|
|
115
|
+
"error.request": "Żądanie nie powiodło się.",
|
|
116
|
+
"error.load": "Nie udało się wczytać zadań importu.",
|
|
117
|
+
"error.start": "Nie udało się rozpocząć importu.",
|
|
118
|
+
"error.continue": "Nie udało się kontynuować zadania.",
|
|
119
|
+
"error.cancel": "Nie udało się anulować zadania.",
|
|
120
|
+
"error.code.TARGET_UNKNOWN": "Żaden moduł nie udostępnia tego celu importu.",
|
|
121
|
+
"error.code.TARGET_FORBIDDEN": "Nie masz uprawnienia wymaganego przez ten cel.",
|
|
122
|
+
"error.code.MODE_UNKNOWN": "Ten tryb importu nie jest obsługiwany przez ten moduł.",
|
|
123
|
+
"error.code.MAPPING_INCOMPLETE": "Wymagane pole nie ma przypisanej kolumny.",
|
|
124
|
+
"error.code.MAPPING_UNKNOWN_FIELD": "Przypisanie wskazuje pole, którego ten cel nie przyjmuje.",
|
|
125
|
+
"error.code.MAPPING_COLUMN_MISSING": "Plik nie zawiera kolumny dla przypisanego pola.",
|
|
126
|
+
"error.code.MAPPING_COLUMN_REUSED": "Przypisanie wskazuje dwa pola na jedną kolumnę.",
|
|
127
|
+
"error.code.MAPPING_TOO_LARGE": "Przypisanie kolumn jest większe, niż zadanie importu może zapisać.",
|
|
128
|
+
"error.code.REQUESTER_TOO_LARGE": "Twoje konto ma więcej uprawnień, niż zadanie importu może zapisać.",
|
|
129
|
+
"error.code.SOURCE_NOT_FOUND": "Dokument źródłowy nie istnieje w tym obszarze roboczym.",
|
|
130
|
+
"error.code.SOURCE_NOT_CSV": "Dokument źródłowy nie jest plikiem CSV.",
|
|
131
|
+
"error.code.SOURCE_TOO_LARGE": "Dokument źródłowy jest większy niż 25 MB.",
|
|
132
|
+
"error.code.SOURCE_INFECTED": "Dokument źródłowy został odrzucony przez skaner antywirusowy.",
|
|
133
|
+
"error.code.DOCUMENTS_UNAVAILABLE": "Moduł Dokumenty jest niedostępny, więc pliku nie można odczytać.",
|
|
134
|
+
"error.code.JOB_NOT_FOUND": "To zadanie importu nie istnieje w tym obszarze roboczym.",
|
|
135
|
+
"error.code.JOB_NOT_VALIDATED": "Kontynuować lub anulować można tylko sprawdzone zadanie.",
|
|
136
|
+
"error.code.JOB_DRY_RUN": "Próba nic nie zapisuje; rozpocznij nowe zadanie, aby zapisać te wiersze.",
|
|
137
|
+
"error.code.VALIDATION_FAILED": "To zadanie ma niepoprawne wiersze; kontynuuj tylko z poprawnymi.",
|
|
138
|
+
"error.code.CLAIM_LOST": "Inny proces przejął to zadanie importu w trakcie jego wykonywania.",
|
|
139
|
+
"error.code.IMPORT_PORTS_SEALED": "Cele importu są rejestrowane podczas uruchamiania platformy.",
|
|
140
|
+
"error.code.IMPORT_PORT_INVALID": "Moduł zadeklarował cel importu, którego platforma nie przyjmuje.",
|
|
141
|
+
"error.code.IMPORT_PORT_DUPLICATE": "Dwa moduły zadeklarowały ten sam cel importu.",
|
|
142
|
+
"error.code.CSV_EMPTY": "Plik nie zawiera wiersza nagłówka.",
|
|
143
|
+
"error.code.CSV_NOT_UTF8": "Plik nie jest poprawnym tekstem UTF-8.",
|
|
144
|
+
"error.code.CSV_TOO_LARGE": "Plik jest większy niż 25 MB.",
|
|
145
|
+
"error.code.CSV_TOO_MANY_ROWS": "Plik zawiera więcej wierszy, niż może objąć jedno zadanie.",
|
|
146
|
+
"error.code.CSV_HEADER_BLANK": "Nagłówek kolumny w pliku jest pusty.",
|
|
147
|
+
"error.code.CSV_HEADER_DUPLICATE": "Nagłówek kolumny powtarza się.",
|
|
148
|
+
"error.code.CSV_QUOTE_UNTERMINATED": "Pole w cudzysłowie nie zostało zamknięte.",
|
|
149
|
+
"error.code.CSV_QUOTE_UNEXPECTED": "Cudzysłów znajduje się w miejscu, którego czytnik nie potrafi zinterpretować.",
|
|
150
|
+
"reason.ROW_RAGGED": "Ten wiersz ma inną liczbę komórek niż nagłówek.",
|
|
151
|
+
"reason.FIELD_REQUIRED": "To wymagane pole jest puste.",
|
|
152
|
+
"reason.FIELD_TYPE": "Ta wartość nie jest typem oczekiwanym przez pole.",
|
|
153
|
+
"reason.NATURAL_KEY_DUPLICATE": "Wcześniejszy wiersz tego pliku ma już ten klucz.",
|
|
154
|
+
"reason.PORT_FAILED": "Moduł docelowy odrzucił tę partię.",
|
|
155
|
+
"reason.PORT_SILENT": "Moduł docelowy nie zgłosił wyniku dla tego wiersza.",
|
|
156
|
+
"reason.JOB_FAILED": "Zadanie zatrzymało się na nieoczekiwanym błędzie.",
|
|
157
|
+
"reason.CSV_EMPTY": "Plik nie zawiera wiersza nagłówka.",
|
|
158
|
+
"reason.CSV_NOT_UTF8": "Plik nie jest poprawnym tekstem UTF-8.",
|
|
159
|
+
"reason.CSV_TOO_LARGE": "Plik jest większy niż 25 MB.",
|
|
160
|
+
"reason.CSV_TOO_MANY_ROWS": "Plik zawiera więcej wierszy, niż może objąć jedno zadanie.",
|
|
161
|
+
"reason.CSV_HEADER_BLANK": "Nagłówek kolumny w pliku jest pusty.",
|
|
162
|
+
"reason.CSV_HEADER_DUPLICATE": "Nagłówek kolumny powtarza się.",
|
|
163
|
+
"reason.CSV_QUOTE_UNTERMINATED": "Pole w cudzysłowie nie zostało zamknięte.",
|
|
164
|
+
"reason.CSV_QUOTE_UNEXPECTED": "Cudzysłów znajduje się w miejscu, którego czytnik nie potrafi zinterpretować.",
|
|
165
|
+
"reason.MAPPING_COLUMN_MISSING": "Plik nie zawiera kolumny dla przypisanego pola.",
|
|
166
|
+
"reason.SOURCE_NOT_FOUND": "Dokument źródłowy nie istnieje w tym obszarze roboczym.",
|
|
167
|
+
"reason.SOURCE_NOT_CSV": "Dokument źródłowy nie jest plikiem CSV.",
|
|
168
|
+
"reason.SOURCE_TOO_LARGE": "Dokument źródłowy jest większy niż 25 MB.",
|
|
169
|
+
"reason.SOURCE_INFECTED": "Dokument źródłowy został odrzucony przez skaner antywirusowy.",
|
|
170
|
+
"reason.DOCUMENTS_UNAVAILABLE": "Moduł Dokumenty jest niedostępny, więc pliku nie można odczytać.",
|
|
171
|
+
"settings.maxRows.label": "Wiersze na zadanie",
|
|
172
|
+
"settings.maxRows.description": "Liczba wierszy, jaką może objąć jedno zadanie importu; większy plik zostanie odrzucony.",
|
|
173
|
+
"settings.batchSize.label": "Wiersze na partię",
|
|
174
|
+
"settings.batchSize.description": "Liczba wierszy przekazywana portowi importu w jednym wywołaniu walidacji lub zapisu."
|
|
175
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
-- Meters as one workspace recorded them. The declaration itself lives in the
|
|
2
|
+
-- composed process; a row appears the first time a module reports a fact for
|
|
3
|
+
-- this workspace, which is what makes the registry readable under the tenant
|
|
4
|
+
-- policy like every other row metering.core owns.
|
|
5
|
+
CREATE TABLE IF NOT EXISTS metering_meters (
|
|
6
|
+
id TEXT PRIMARY KEY,
|
|
7
|
+
tenant_id TEXT NOT NULL,
|
|
8
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
9
|
+
module_id TEXT NOT NULL CHECK (length(module_id) BETWEEN 1 AND 64),
|
|
10
|
+
label TEXT NOT NULL CHECK (length(label) BETWEEN 1 AND 120),
|
|
11
|
+
unit TEXT NOT NULL CHECK (length(unit) BETWEEN 1 AND 32),
|
|
12
|
+
kind TEXT NOT NULL CHECK (kind IN ('cumulative', 'gauge')),
|
|
13
|
+
created_at BIGINT NOT NULL,
|
|
14
|
+
UNIQUE (tenant_id, meter_key)
|
|
15
|
+
);
|
|
16
|
+
ALTER TABLE metering_meters ENABLE ROW LEVEL SECURITY;
|
|
17
|
+
ALTER TABLE metering_meters FORCE ROW LEVEL SECURITY;
|
|
18
|
+
CREATE POLICY metering_meters_tenant_policy ON metering_meters
|
|
19
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
20
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
21
|
+
|
|
22
|
+
-- One row per meter per UTC day. The unique key is also the index every read
|
|
23
|
+
-- and every accumulating write uses, so a fact costs one upsert and a month
|
|
24
|
+
-- total is a range scan over ordered days.
|
|
25
|
+
CREATE TABLE IF NOT EXISTS metering_buckets (
|
|
26
|
+
id TEXT PRIMARY KEY,
|
|
27
|
+
tenant_id TEXT NOT NULL,
|
|
28
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
29
|
+
day TEXT NOT NULL CHECK (length(day) = 10),
|
|
30
|
+
amount BIGINT NOT NULL CHECK (amount >= 0),
|
|
31
|
+
events BIGINT NOT NULL CHECK (events >= 0),
|
|
32
|
+
updated_at BIGINT NOT NULL,
|
|
33
|
+
UNIQUE (tenant_id, meter_key, day)
|
|
34
|
+
);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS metering_buckets_tenant_day_idx
|
|
36
|
+
ON metering_buckets (tenant_id, day, meter_key);
|
|
37
|
+
ALTER TABLE metering_buckets ENABLE ROW LEVEL SECURITY;
|
|
38
|
+
ALTER TABLE metering_buckets FORCE ROW LEVEL SECURITY;
|
|
39
|
+
CREATE POLICY metering_buckets_tenant_policy ON metering_buckets
|
|
40
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
41
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
42
|
+
|
|
43
|
+
-- What makes a fact idempotent. The unique key is the whole mechanism: a
|
|
44
|
+
-- repeat of a source reference inserts nothing and the bucket is left alone.
|
|
45
|
+
-- The day column is carried so a retention sweep of the bucket class removes
|
|
46
|
+
-- these rows on the same cutoff and the same index.
|
|
47
|
+
CREATE TABLE IF NOT EXISTS metering_records (
|
|
48
|
+
id TEXT PRIMARY KEY,
|
|
49
|
+
tenant_id TEXT NOT NULL,
|
|
50
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
51
|
+
source_ref TEXT NOT NULL CHECK (length(source_ref) BETWEEN 1 AND 200),
|
|
52
|
+
day TEXT NOT NULL CHECK (length(day) = 10),
|
|
53
|
+
amount BIGINT NOT NULL CHECK (amount >= 0),
|
|
54
|
+
recorded_at BIGINT NOT NULL,
|
|
55
|
+
UNIQUE (tenant_id, meter_key, source_ref)
|
|
56
|
+
);
|
|
57
|
+
CREATE INDEX IF NOT EXISTS metering_records_tenant_day_idx
|
|
58
|
+
ON metering_records (tenant_id, day, id);
|
|
59
|
+
ALTER TABLE metering_records ENABLE ROW LEVEL SECURITY;
|
|
60
|
+
ALTER TABLE metering_records FORCE ROW LEVEL SECURITY;
|
|
61
|
+
CREATE POLICY metering_records_tenant_policy ON metering_records
|
|
62
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
63
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
64
|
+
|
|
65
|
+
-- The operator's ceiling. No foreign key to metering_meters: a limit is set
|
|
66
|
+
-- before the workspace has reported its first fact for that meter, which is
|
|
67
|
+
-- the point of setting one.
|
|
68
|
+
CREATE TABLE IF NOT EXISTS metering_limits (
|
|
69
|
+
id TEXT PRIMARY KEY,
|
|
70
|
+
tenant_id TEXT NOT NULL,
|
|
71
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
72
|
+
monthly_limit BIGINT NOT NULL CHECK (monthly_limit >= 0),
|
|
73
|
+
set_by TEXT NOT NULL CHECK (length(set_by) BETWEEN 1 AND 128),
|
|
74
|
+
updated_at BIGINT NOT NULL,
|
|
75
|
+
UNIQUE (tenant_id, meter_key)
|
|
76
|
+
);
|
|
77
|
+
ALTER TABLE metering_limits ENABLE ROW LEVEL SECURITY;
|
|
78
|
+
ALTER TABLE metering_limits FORCE ROW LEVEL SECURITY;
|
|
79
|
+
CREATE POLICY metering_limits_tenant_policy ON metering_limits
|
|
80
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
81
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
82
|
+
|
|
83
|
+
-- Every limit the operator set, in order, with the label the CLI derived. The
|
|
84
|
+
-- limit row carries the current value; this is the evidence of how it got
|
|
85
|
+
-- there and it is never rewritten.
|
|
86
|
+
CREATE TABLE IF NOT EXISTS metering_limit_events (
|
|
87
|
+
id TEXT PRIMARY KEY,
|
|
88
|
+
tenant_id TEXT NOT NULL,
|
|
89
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
90
|
+
monthly_limit BIGINT NOT NULL CHECK (monthly_limit >= 0),
|
|
91
|
+
previous_limit BIGINT CHECK (previous_limit IS NULL OR previous_limit >= 0),
|
|
92
|
+
set_by TEXT NOT NULL CHECK (length(set_by) BETWEEN 1 AND 128),
|
|
93
|
+
occurred_at BIGINT NOT NULL
|
|
94
|
+
);
|
|
95
|
+
CREATE INDEX IF NOT EXISTS metering_limit_events_tenant_occurred_idx
|
|
96
|
+
ON metering_limit_events (tenant_id, occurred_at DESC, id);
|
|
97
|
+
ALTER TABLE metering_limit_events ENABLE ROW LEVEL SECURITY;
|
|
98
|
+
ALTER TABLE metering_limit_events FORCE ROW LEVEL SECURITY;
|
|
99
|
+
CREATE POLICY metering_limit_events_tenant_policy ON metering_limit_events
|
|
100
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
101
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
102
|
+
|
|
103
|
+
-- One row per meter per month per threshold. The unique key is what makes a
|
|
104
|
+
-- threshold notification happen once: the row is claimed inside the recording
|
|
105
|
+
-- transaction and only a claim that inserted publishes.
|
|
106
|
+
CREATE TABLE IF NOT EXISTS metering_threshold_notices (
|
|
107
|
+
id TEXT PRIMARY KEY,
|
|
108
|
+
tenant_id TEXT NOT NULL,
|
|
109
|
+
meter_key TEXT NOT NULL CHECK (length(meter_key) BETWEEN 1 AND 96),
|
|
110
|
+
month TEXT NOT NULL CHECK (length(month) = 7),
|
|
111
|
+
threshold TEXT NOT NULL CHECK (threshold IN ('warning', 'exhausted')),
|
|
112
|
+
sent_at BIGINT NOT NULL,
|
|
113
|
+
UNIQUE (tenant_id, meter_key, month, threshold)
|
|
114
|
+
);
|
|
115
|
+
ALTER TABLE metering_threshold_notices ENABLE ROW LEVEL SECURITY;
|
|
116
|
+
ALTER TABLE metering_threshold_notices FORCE ROW LEVEL SECURITY;
|
|
117
|
+
CREATE POLICY metering_threshold_notices_tenant_policy ON metering_threshold_notices
|
|
118
|
+
USING (tenant_id = current_setting('coreloom.tenant_id', true))
|
|
119
|
+
WITH CHECK (tenant_id = current_setting('coreloom.tenant_id', true));
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- The data class export walks a workspace's buckets by id, ascending. The
|
|
2
|
+
-- retention index leads with the day, so it cannot serve that walk and a large
|
|
3
|
+
-- workspace paged through a sequential scan per page.
|
|
4
|
+
CREATE INDEX IF NOT EXISTS metering_buckets_tenant_export_idx
|
|
5
|
+
ON metering_buckets (tenant_id, id);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../packages/contracts/schemas/module.schema.json",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"id": "metering.core",
|
|
5
|
+
"package": "@flowdular/module-metering",
|
|
6
|
+
"version": "0.1.7",
|
|
7
|
+
"platformApi": "^0.1.0",
|
|
8
|
+
"profile": "full",
|
|
9
|
+
"capabilities": ["api", "database", "client", "translations", "cli"],
|
|
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
|
+
"id": "reports.core",
|
|
25
|
+
"range": "^0.1.0"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"provides": ["metering.meters.v1"],
|
|
29
|
+
"requires": [
|
|
30
|
+
{
|
|
31
|
+
"id": "notifications.publish.v1",
|
|
32
|
+
"optional": true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "reports.v1",
|
|
36
|
+
"optional": true
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"tenancy": "required",
|
|
40
|
+
"locales": ["en", "pl"],
|
|
41
|
+
"stability": "experimental",
|
|
42
|
+
"cli": {
|
|
43
|
+
"catalog": "src/cli/commands.json",
|
|
44
|
+
"entry": "src/cli/index.ts"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flowdular/module-metering",
|
|
3
|
+
"version": "0.1.7",
|
|
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
|
+
"schemas",
|
|
16
|
+
"dist",
|
|
17
|
+
"bin",
|
|
18
|
+
"public",
|
|
19
|
+
"module.json",
|
|
20
|
+
"migrations",
|
|
21
|
+
"translations",
|
|
22
|
+
"spec",
|
|
23
|
+
"README.md",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"typecheck": "tsrx-tsc --noEmit -p tsconfig.json",
|
|
28
|
+
"test": "vitest run"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@flowdular/cli-protocol": "workspace:*",
|
|
32
|
+
"@flowdular/client": "workspace:*",
|
|
33
|
+
"@flowdular/contracts": "workspace:*",
|
|
34
|
+
"@flowdular/database": "workspace:*",
|
|
35
|
+
"@flowdular/kernel": "workspace:*",
|
|
36
|
+
"@flowdular/module-auth": "workspace:*",
|
|
37
|
+
"@flowdular/module-reports": "workspace:*",
|
|
38
|
+
"@flowdular/server": "workspace:*",
|
|
39
|
+
"@flowdular/ui": "workspace:*",
|
|
40
|
+
"octane": "0.1.51",
|
|
41
|
+
"segment-state": "0.2.1"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@flowdular/database-testing": "workspace:*",
|
|
45
|
+
"@tsrx/typescript-plugin": "0.3.120",
|
|
46
|
+
"@types/node": "24.13.3",
|
|
47
|
+
"typescript": "5.9.3",
|
|
48
|
+
"vitest": "4.1.11"
|
|
49
|
+
}
|
|
50
|
+
}
|