@flowdular/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/agents/README.md +27 -0
- package/.ai/agents/module-executor.md +36 -0
- package/.ai/agents/reviewer.md +23 -0
- package/.ai/agents/sandbox/agentic-engineer.md +31 -0
- package/.ai/agents/sandbox/backend-engineer.md +36 -0
- package/.ai/agents/sandbox/business-manager.md +23 -0
- package/.ai/agents/sandbox/frontend-engineer.md +27 -0
- package/.ai/agents/sandbox/ux-designer.md +23 -0
- package/.ai/agents/spec-author.md +29 -0
- package/.ai/blueprints/add-migration/README.md +5 -0
- package/.ai/blueprints/add-migration/allowed-paths.yaml +23 -0
- package/.ai/blueprints/add-migration/blueprint.json +14 -0
- package/.ai/blueprints/add-migration/examples/invalid/input-destructive.json +6 -0
- package/.ai/blueprints/add-migration/examples/invalid/plan-unnumbered-file.json +9 -0
- package/.ai/blueprints/add-migration/examples/valid/input.json +6 -0
- package/.ai/blueprints/add-migration/examples/valid/plan.json +9 -0
- package/.ai/blueprints/add-migration/gates.yaml +30 -0
- package/.ai/blueprints/add-migration/input.schema.json +23 -0
- package/.ai/blueprints/add-migration/plan.schema.json +54 -0
- package/.ai/blueprints/add-migration/required-files.yaml +18 -0
- package/.ai/blueprints/add-migration/spec-requirements.yaml +13 -0
- package/.ai/blueprints/add-migration/steps.yaml +62 -0
- package/.ai/blueprints/author-spec/README.md +5 -0
- package/.ai/blueprints/author-spec/allowed-paths.yaml +7 -0
- package/.ai/blueprints/author-spec/blueprint.json +14 -0
- package/.ai/blueprints/author-spec/examples/invalid/input-missing-outcome.json +5 -0
- package/.ai/blueprints/author-spec/examples/valid/input.json +6 -0
- package/.ai/blueprints/author-spec/gates.yaml +13 -0
- package/.ai/blueprints/author-spec/input.schema.json +20 -0
- package/.ai/blueprints/author-spec/plan.schema.json +14 -0
- package/.ai/blueprints/author-spec/required-files.yaml +6 -0
- package/.ai/blueprints/author-spec/spec-requirements.yaml +35 -0
- package/.ai/blueprints/author-spec/steps.yaml +28 -0
- package/.ai/blueprints/author-spec/templates/module.yaml +45 -0
- package/.ai/blueprints/bug-fix/README.md +5 -0
- package/.ai/blueprints/bug-fix/allowed-paths.yaml +29 -0
- package/.ai/blueprints/bug-fix/blueprint.json +14 -0
- package/.ai/blueprints/bug-fix/examples/invalid/input-no-symptom.json +4 -0
- package/.ai/blueprints/bug-fix/examples/invalid/plan-no-test.json +8 -0
- package/.ai/blueprints/bug-fix/examples/valid/input.json +6 -0
- package/.ai/blueprints/bug-fix/examples/valid/plan.json +8 -0
- package/.ai/blueprints/bug-fix/gates.yaml +30 -0
- package/.ai/blueprints/bug-fix/input.schema.json +25 -0
- package/.ai/blueprints/bug-fix/plan.schema.json +53 -0
- package/.ai/blueprints/bug-fix/required-files.yaml +7 -0
- package/.ai/blueprints/bug-fix/spec-requirements.yaml +7 -0
- package/.ai/blueprints/bug-fix/steps.yaml +51 -0
- package/.ai/blueprints/core-extend/README.md +5 -0
- package/.ai/blueprints/core-extend/allowed-paths.yaml +49 -0
- package/.ai/blueprints/core-extend/blueprint.json +14 -0
- package/.ai/blueprints/core-extend/examples/invalid/input-unknown-package.json +5 -0
- package/.ai/blueprints/core-extend/examples/invalid/plan-missing-gates.json +7 -0
- package/.ai/blueprints/core-extend/examples/valid/input.json +6 -0
- package/.ai/blueprints/core-extend/examples/valid/plan.json +10 -0
- package/.ai/blueprints/core-extend/gates.yaml +16 -0
- package/.ai/blueprints/core-extend/input.schema.json +54 -0
- package/.ai/blueprints/core-extend/plan.schema.json +39 -0
- package/.ai/blueprints/core-extend/required-files.yaml +36 -0
- package/.ai/blueprints/core-extend/spec-requirements.yaml +17 -0
- package/.ai/blueprints/core-extend/steps.yaml +54 -0
- package/.ai/blueprints/edit-module/README.md +9 -0
- package/.ai/blueprints/edit-module/allowed-paths.yaml +27 -0
- package/.ai/blueprints/edit-module/blueprint.json +20 -0
- package/.ai/blueprints/edit-module/examples/invalid/input-unknown-change.json +5 -0
- package/.ai/blueprints/edit-module/examples/invalid/plan-touches-platform.json +15 -0
- package/.ai/blueprints/edit-module/examples/valid/input.json +5 -0
- package/.ai/blueprints/edit-module/examples/valid/plan.json +25 -0
- package/.ai/blueprints/edit-module/gates.yaml +30 -0
- package/.ai/blueprints/edit-module/input.schema.json +31 -0
- package/.ai/blueprints/edit-module/plan.schema.json +65 -0
- package/.ai/blueprints/edit-module/required-files.yaml +80 -0
- package/.ai/blueprints/edit-module/spec-requirements.yaml +15 -0
- package/.ai/blueprints/edit-module/steps.yaml +115 -0
- package/.ai/blueprints/new-module/README.md +7 -0
- package/.ai/blueprints/new-module/allowed-paths.yaml +27 -0
- package/.ai/blueprints/new-module/blueprint.json +20 -0
- package/.ai/blueprints/new-module/examples/invalid/input-spec-outside-modules.json +4 -0
- package/.ai/blueprints/new-module/examples/invalid/plan-unknown-gate.json +8 -0
- package/.ai/blueprints/new-module/examples/valid/input.json +5 -0
- package/.ai/blueprints/new-module/examples/valid/plan.json +22 -0
- package/.ai/blueprints/new-module/gates.yaml +30 -0
- package/.ai/blueprints/new-module/input.schema.json +21 -0
- package/.ai/blueprints/new-module/plan.schema.json +58 -0
- package/.ai/blueprints/new-module/required-files.yaml +73 -0
- package/.ai/blueprints/new-module/spec-requirements.yaml +30 -0
- package/.ai/blueprints/new-module/steps.yaml +138 -0
- package/.ai/blueprints/release/README.md +5 -0
- package/.ai/blueprints/release/allowed-paths.yaml +19 -0
- package/.ai/blueprints/release/blueprint.json +14 -0
- package/.ai/blueprints/release/examples/invalid/input-bad-version.json +4 -0
- package/.ai/blueprints/release/examples/invalid/plan-bad-branch.json +7 -0
- package/.ai/blueprints/release/examples/valid/input.json +5 -0
- package/.ai/blueprints/release/examples/valid/plan.json +20 -0
- package/.ai/blueprints/release/gates.yaml +20 -0
- package/.ai/blueprints/release/input.schema.json +24 -0
- package/.ai/blueprints/release/plan.schema.json +46 -0
- package/.ai/blueprints/release/required-files.yaml +19 -0
- package/.ai/blueprints/release/spec-requirements.yaml +8 -0
- package/.ai/blueprints/release/steps.yaml +47 -0
- package/.ai/blueprints/security-review/README.md +5 -0
- package/.ai/blueprints/security-review/allowed-paths.yaml +6 -0
- package/.ai/blueprints/security-review/blueprint.json +14 -0
- package/.ai/blueprints/security-review/examples/invalid/input-unknown-kind.json +4 -0
- package/.ai/blueprints/security-review/examples/invalid/plan-finding-without-scenario.json +14 -0
- package/.ai/blueprints/security-review/examples/valid/input.json +4 -0
- package/.ai/blueprints/security-review/examples/valid/plan.json +19 -0
- package/.ai/blueprints/security-review/gates.yaml +22 -0
- package/.ai/blueprints/security-review/input.schema.json +20 -0
- package/.ai/blueprints/security-review/plan.schema.json +65 -0
- package/.ai/blueprints/security-review/required-files.yaml +6 -0
- package/.ai/blueprints/security-review/spec-requirements.yaml +9 -0
- package/.ai/blueprints/security-review/steps.yaml +38 -0
- package/.ai/policies/capabilities.yaml +164 -0
- package/.ai/policies/model-routing.yaml +72 -0
- package/.ai/policies/path-ownership.yaml +65 -0
- package/.ai/policies/task-budgets.yaml +37 -0
- package/.ai/references/catalog/LICENSE +21 -0
- package/.ai/references/catalog/migrations/0001_catalog_core.down.sql +2 -0
- package/.ai/references/catalog/migrations/0001_catalog_core.up.sql +21 -0
- package/.ai/references/catalog/migrations/0002_catalog_history.down.sql +3 -0
- package/.ai/references/catalog/migrations/0002_catalog_history.up.sql +20 -0
- package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.down.sql +3 -0
- package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.up.sql +36 -0
- package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.down.sql +3 -0
- package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.up.sql +19 -0
- package/.ai/references/catalog/migrations/README.md +3 -0
- package/.ai/references/catalog/module.json +27 -0
- package/.ai/references/catalog/package.json +49 -0
- package/.ai/references/catalog/spec/module.yaml +86 -0
- package/.ai/references/catalog/src/acl/permissions.ts +6 -0
- package/.ai/references/catalog/src/agent/tools.ts +164 -0
- package/.ai/references/catalog/src/api/endpoints.ts +243 -0
- package/.ai/references/catalog/src/client/CatalogHistoryDrawer.tsrx +123 -0
- package/.ai/references/catalog/src/client/CatalogItemForm.tsrx +190 -0
- package/.ai/references/catalog/src/client/CatalogView.tsrx +473 -0
- package/.ai/references/catalog/src/client/api.ts +111 -0
- package/.ai/references/catalog/src/client/contribution.tsrx +61 -0
- package/.ai/references/catalog/src/client/index.ts +18 -0
- package/.ai/references/catalog/src/client/navigation-copy.ts +9 -0
- package/.ai/references/catalog/src/client/state.ts +24 -0
- package/.ai/references/catalog/src/domain/types.ts +32 -0
- package/.ai/references/catalog/src/domain/variables.ts +111 -0
- package/.ai/references/catalog/src/index.ts +31 -0
- package/.ai/references/catalog/src/platform.ts +35 -0
- package/.ai/references/catalog/src/server/index.ts +4 -0
- package/.ai/references/catalog/src/server/runtime.ts +86 -0
- package/.ai/references/catalog/src/services/catalog-service.ts +306 -0
- package/.ai/references/catalog/src/services/database-repository.ts +440 -0
- package/.ai/references/catalog/src/services/index.ts +4 -0
- package/.ai/references/catalog/src/services/migration.ts +171 -0
- package/.ai/references/catalog/src/services/repository.ts +36 -0
- package/.ai/references/catalog/src/services/target-idempotency.ts +59 -0
- package/.ai/references/catalog/tests/agent-tools.test.ts +277 -0
- package/.ai/references/catalog/tests/endpoints.test.ts +320 -0
- package/.ai/references/catalog/tests/idempotency.test.ts +297 -0
- package/.ai/references/catalog/tests/migrations.test.ts +149 -0
- package/.ai/references/catalog/tests/module.test.ts +271 -0
- package/.ai/references/catalog/tests/support/database.ts +76 -0
- package/.ai/references/catalog/translations/en.json +101 -0
- package/.ai/references/catalog/translations/pl.json +101 -0
- package/.ai/references/catalog/tsconfig.json +15 -0
- package/.ai/references/catalog/vitest.config.ts +16 -0
- package/.ai/references/catalog.provenance.json +55 -0
- package/.ai/skills/README.md +36 -0
- package/.ai/skills/agent-tool-design/SKILL.md +209 -0
- package/.ai/skills/auth-security-review/SKILL.md +96 -0
- package/.ai/skills/auto-review/SKILL.md +112 -0
- package/.ai/skills/bug-hunt/SKILL.md +110 -0
- package/.ai/skills/business-agent-design/SKILL.md +188 -0
- package/.ai/skills/cli-extension/SKILL.md +114 -0
- package/.ai/skills/core-extend/SKILL.md +104 -0
- package/.ai/skills/database-adapter/SKILL.md +204 -0
- package/.ai/skills/database-adapter/references/first-run-and-matrix.md +105 -0
- package/.ai/skills/migration-authoring/SKILL.md +167 -0
- package/.ai/skills/module-new/SKILL.md +180 -0
- package/.ai/skills/module-update/SKILL.md +100 -0
- package/.ai/skills/perf-audit/SKILL.md +105 -0
- package/.ai/skills/release-eject-pr/SKILL.md +113 -0
- package/.ai/skills/spec-approval/SKILL.md +112 -0
- package/.ai/skills/test-hardening/SKILL.md +86 -0
- package/.ai/skills/translations-i18n/SKILL.md +85 -0
- package/.ai/skills/ux-design/SKILL.md +97 -0
- package/.ai/skills/variables/SKILL.md +164 -0
- package/.ai/skills/workflow-development/SKILL.md +199 -0
- package/AGENTS.md +59 -0
- package/LICENSE +21 -0
- package/README.md +24 -0
- package/docs/agent-contract.md +45 -0
- package/docs/design-system.md +217 -0
- package/modules/agents/migrations/0001_agents_core.down.sql +4 -0
- package/modules/agents/migrations/0001_agents_core.up.sql +106 -0
- package/modules/agents/migrations/0002_provider_connections.down.sql +1 -0
- package/modules/agents/migrations/0002_provider_connections.up.sql +34 -0
- package/modules/agents/migrations/0003_resource_audit.down.sql +1 -0
- package/modules/agents/migrations/0003_resource_audit.up.sql +25 -0
- package/modules/agents/migrations/0004_run_grants.down.sql +1 -0
- package/modules/agents/migrations/0004_run_grants.up.sql +19 -0
- package/modules/agents/migrations/0005_long_running_limits.down.sql +2 -0
- package/modules/agents/migrations/0005_long_running_limits.up.sql +14 -0
- package/modules/agents/migrations/0006_agent_skills.down.sql +3 -0
- package/modules/agents/migrations/0006_agent_skills.up.sql +44 -0
- package/modules/agents/migrations/0007_model_readiness.down.sql +1 -0
- package/modules/agents/migrations/0007_model_readiness.up.sql +18 -0
- package/modules/agents/migrations/0008_output_limits.down.sql +2 -0
- package/modules/agents/migrations/0008_output_limits.up.sql +8 -0
- package/modules/agents/migrations/0009_agent_audit_v3.down.sql +1 -0
- package/modules/agents/migrations/0009_agent_audit_v3.up.sql +25 -0
- package/modules/agents/migrations/0012_agent_run_costs.down.sql +3 -0
- package/modules/agents/migrations/0012_agent_run_costs.up.sql +32 -0
- package/modules/agents/migrations/0013_workflow_prerequisites.down.sql +3 -0
- package/modules/agents/migrations/0013_workflow_prerequisites.up.sql +97 -0
- package/modules/agents/migrations/0014_agent_action_audit.down.sql +1 -0
- package/modules/agents/migrations/0014_agent_action_audit.up.sql +25 -0
- package/modules/agents/migrations/0015_agent_run_actors.down.sql +1 -0
- package/modules/agents/migrations/0015_agent_run_actors.up.sql +17 -0
- package/modules/agents/migrations/0016_module_owned_agents.down.sql +6 -0
- package/modules/agents/migrations/0016_module_owned_agents.up.sql +68 -0
- package/modules/agents/migrations/0017_agent_authorization_subjects.down.sql +2 -0
- package/modules/agents/migrations/0017_agent_authorization_subjects.up.sql +18 -0
- package/modules/agents/migrations/0018_agent_child_tenant_isolation.down.sql +12 -0
- package/modules/agents/migrations/0018_agent_child_tenant_isolation.up.sql +88 -0
- package/modules/agents/migrations/0019_background_recovery_grants.down.sql +6 -0
- package/modules/agents/migrations/0019_background_recovery_grants.up.sql +17 -0
- package/modules/agents/migrations/0020_provider_summary_role.down.sql +2 -0
- package/modules/agents/migrations/0020_provider_summary_role.up.sql +17 -0
- package/modules/agents/migrations/0021_agents_agent_reconciliation_role.down.sql +4 -0
- package/modules/agents/migrations/0021_agents_agent_reconciliation_role.up.sql +7 -0
- package/modules/agents/migrations/README.md +39 -0
- package/modules/agents/module.json +38 -0
- package/modules/agents/package.json +56 -0
- package/modules/agents/spec/module.yaml +271 -0
- package/modules/agents/spec/procedures-compatibility.md +63 -0
- package/modules/agents/src/acl/permissions.ts +13 -0
- package/modules/agents/src/api/endpoints.ts +1122 -0
- package/modules/agents/src/cli/commands.json +29 -0
- package/modules/agents/src/cli/index.ts +162 -0
- package/modules/agents/src/client/AgentDashboardWidget.tsrx +32 -0
- package/modules/agents/src/client/AgentDefinitionForm.tsrx +362 -0
- package/modules/agents/src/client/AgentDefinitionList.tsrx +127 -0
- package/modules/agents/src/client/AgentPlaygroundView.tsrx +246 -0
- package/modules/agents/src/client/AgentProcedureForm.tsrx +182 -0
- package/modules/agents/src/client/AgentProcedureList.tsrx +118 -0
- package/modules/agents/src/client/AgentProceduresView.tsrx +253 -0
- package/modules/agents/src/client/AgentProvidersView.tsrx +248 -0
- package/modules/agents/src/client/AgentRunsView.tsrx +304 -0
- package/modules/agents/src/client/AgentUsageView.tsrx +233 -0
- package/modules/agents/src/client/AgentsView.tsrx +339 -0
- package/modules/agents/src/client/ModuleAgentBindingForm.tsrx +239 -0
- package/modules/agents/src/client/ModuleAgentList.tsrx +122 -0
- package/modules/agents/src/client/ProviderConnectionForm.tsrx +273 -0
- package/modules/agents/src/client/ProviderConnectionList.tsrx +229 -0
- package/modules/agents/src/client/ProviderModelEditor.tsrx +313 -0
- package/modules/agents/src/client/RunTimeline.tsrx +212 -0
- package/modules/agents/src/client/agents.css +349 -0
- package/modules/agents/src/client/api.ts +373 -0
- package/modules/agents/src/client/contribution.tsrx +181 -0
- package/modules/agents/src/client/index.ts +21 -0
- package/modules/agents/src/client/presentation.ts +162 -0
- package/modules/agents/src/client/state.ts +100 -0
- package/modules/agents/src/domain/context-variables.ts +58 -0
- package/modules/agents/src/domain/run-timeline.ts +145 -0
- package/modules/agents/src/domain/types.ts +481 -0
- package/modules/agents/src/index.ts +88 -0
- package/modules/agents/src/platform.ts +82 -0
- package/modules/agents/src/server/action-execution.ts +811 -0
- package/modules/agents/src/server/define-agent.ts +170 -0
- package/modules/agents/src/server/index.ts +67 -0
- package/modules/agents/src/server/run-execution.ts +231 -0
- package/modules/agents/src/server/run-queue.ts +96 -0
- package/modules/agents/src/server/runtime.ts +448 -0
- package/modules/agents/src/server/tools.ts +18 -0
- package/modules/agents/src/services/agent-service.ts +2167 -0
- package/modules/agents/src/services/credential-vault.ts +133 -0
- package/modules/agents/src/services/database-repository.ts +2786 -0
- package/modules/agents/src/services/index.ts +33 -0
- package/modules/agents/src/services/migration.ts +1152 -0
- package/modules/agents/src/services/module-agent-preflight.ts +76 -0
- package/modules/agents/src/services/outbound-policy.ts +136 -0
- package/modules/agents/src/services/provider-broker.ts +80 -0
- package/modules/agents/src/services/provider-repository.ts +589 -0
- package/modules/agents/src/services/provider-service.ts +968 -0
- package/modules/agents/src/services/repository.ts +294 -0
- package/modules/agents/src/services/run-grant.ts +305 -0
- package/modules/agents/src/services/usage-service.ts +119 -0
- package/modules/agents/src/services/worker.ts +442 -0
- package/modules/agents/src/settings.ts +244 -0
- package/modules/agents/translations/en.json +403 -0
- package/modules/agents/translations/pl.json +403 -0
- package/modules/auth/README.md +215 -0
- package/modules/auth/migrations/0001_auth_core.up.sql +108 -0
- package/modules/auth/migrations/0002_bundled_module_scopes.up.sql +26 -0
- package/modules/auth/migrations/0003_agent_core_scopes.up.sql +12 -0
- package/modules/auth/migrations/0004_owner_only_development_scopes.up.sql +8 -0
- package/modules/auth/migrations/0005_agent_provider_scopes.up.sql +13 -0
- package/modules/auth/migrations/0006_tenant_slug.up.sql +6 -0
- package/modules/auth/migrations/0007_sandbox_scopes.up.sql +13 -0
- package/modules/auth/migrations/0008_api_tokens.up.sql +43 -0
- package/modules/auth/migrations/0009_module_settings.up.sql +24 -0
- package/modules/auth/migrations/0010_sign_in_lockout.up.sql +11 -0
- package/modules/auth/migrations/0011_session_ids_and_password_reset.up.sql +7 -0
- package/modules/auth/migrations/0012_roles.up.sql +31 -0
- package/modules/auth/migrations/0013_audit.up.sql +27 -0
- package/modules/auth/migrations/0014_audit_actor.up.sql +4 -0
- package/modules/auth/migrations/0015_account_security.up.sql +81 -0
- package/modules/auth/module.json +26 -0
- package/modules/auth/package.json +61 -0
- package/modules/auth/spec/module.yaml +190 -0
- package/modules/auth/src/acl/scopes.ts +86 -0
- package/modules/auth/src/api/attempt-limiter.ts +42 -0
- package/modules/auth/src/api/client-address.ts +14 -0
- package/modules/auth/src/api/cookies.ts +52 -0
- package/modules/auth/src/api/origin.ts +40 -0
- package/modules/auth/src/cli/commands.json +74 -0
- package/modules/auth/src/cli/database.ts +51 -0
- package/modules/auth/src/cli/greenfield.ts +173 -0
- package/modules/auth/src/cli/index.ts +184 -0
- package/modules/auth/src/cli/provisioning.ts +211 -0
- package/modules/auth/src/client/AuthBackdrop.tsrx +137 -0
- package/modules/auth/src/client/AuthenticationCore.tsrx +630 -0
- package/modules/auth/src/client/PasswordChangeRequired.tsrx +145 -0
- package/modules/auth/src/client/PublicAuthFlows.tsrx +379 -0
- package/modules/auth/src/client/api.ts +464 -0
- package/modules/auth/src/client/audit/AuditView.tsrx +357 -0
- package/modules/auth/src/client/audit/api.ts +164 -0
- package/modules/auth/src/client/audit/audit-columns.tsrx +47 -0
- package/modules/auth/src/client/audit/audit-row.ts +38 -0
- package/modules/auth/src/client/auth.css +483 -0
- package/modules/auth/src/client/contribution.tsrx +100 -0
- package/modules/auth/src/client/index.ts +32 -0
- package/modules/auth/src/client/security/SecurityView.tsrx +253 -0
- package/modules/auth/src/client/settings/PreferencesCard.tsrx +65 -0
- package/modules/auth/src/client/settings/SettingsView.tsrx +212 -0
- package/modules/auth/src/client/settings/WorkspaceCard.tsrx +59 -0
- package/modules/auth/src/client/settings/api.ts +115 -0
- package/modules/auth/src/client/slug.ts +26 -0
- package/modules/auth/src/client/state.ts +115 -0
- package/modules/auth/src/client/tokens/ApiTokenForm.tsrx +153 -0
- package/modules/auth/src/client/tokens/ApiTokenSecret.tsrx +35 -0
- package/modules/auth/src/client/tokens/ApiTokensView.tsrx +216 -0
- package/modules/auth/src/client/tokens/api.ts +59 -0
- package/modules/auth/src/client/tokens/state.ts +26 -0
- package/modules/auth/src/client/tokens/token-columns.tsrx +64 -0
- package/modules/auth/src/client/translations.ts +23 -0
- package/modules/auth/src/domain/types.ts +152 -0
- package/modules/auth/src/index.ts +42 -0
- package/modules/auth/src/middleware/authentication.ts +97 -0
- package/modules/auth/src/platform.ts +0 -0
- package/modules/auth/src/server/actor.ts +12 -0
- package/modules/auth/src/server/audit-endpoints.ts +51 -0
- package/modules/auth/src/server/composition.ts +9 -0
- package/modules/auth/src/server/endpoints.ts +893 -0
- package/modules/auth/src/server/http.ts +153 -0
- package/modules/auth/src/server/index.ts +37 -0
- package/modules/auth/src/server/roles-endpoints.ts +120 -0
- package/modules/auth/src/server/runtime.ts +705 -0
- package/modules/auth/src/server/session-endpoints.ts +86 -0
- package/modules/auth/src/server/session-security.ts +62 -0
- package/modules/auth/src/server/token-endpoints.ts +106 -0
- package/modules/auth/src/services/auth-service-error.ts +11 -0
- package/modules/auth/src/services/auth-service.ts +2309 -0
- package/modules/auth/src/services/database-repository.ts +1825 -0
- package/modules/auth/src/services/mail-delivery.ts +27 -0
- package/modules/auth/src/services/migration.ts +591 -0
- package/modules/auth/src/services/password.ts +115 -0
- package/modules/auth/src/services/repository.ts +395 -0
- package/modules/auth/src/services/settings-store.ts +92 -0
- package/modules/auth/src/services/totp.ts +135 -0
- package/modules/auth/src/services/validation.ts +186 -0
- package/modules/auth/src/settings.ts +150 -0
- package/modules/auth/translations/en.json +263 -0
- package/modules/auth/translations/pl.json +263 -0
- package/modules/automations/migrations/0001_automations_core.down.sql +10 -0
- package/modules/automations/migrations/0001_automations_core.up.sql +76 -0
- package/modules/automations/migrations/0002_automations_targets.down.sql +9 -0
- package/modules/automations/migrations/0002_automations_targets.up.sql +37 -0
- package/modules/automations/migrations/0003_automations_scheduler_role.down.sql +3 -0
- package/modules/automations/migrations/0003_automations_scheduler_role.up.sql +19 -0
- package/modules/automations/migrations/0004_automations_trigger_routing_role.down.sql +3 -0
- package/modules/automations/migrations/0004_automations_trigger_routing_role.up.sql +18 -0
- package/modules/automations/migrations/README.md +3 -0
- package/modules/automations/module.json +31 -0
- package/modules/automations/package.json +55 -0
- package/modules/automations/spec/module.yaml +93 -0
- package/modules/automations/src/acl/permissions.ts +10 -0
- package/modules/automations/src/api/endpoints.ts +480 -0
- package/modules/automations/src/client/AutomationScheduleForm.tsrx +218 -0
- package/modules/automations/src/client/AutomationSchedulesView.tsrx +339 -0
- package/modules/automations/src/client/AutomationTriggerForm.tsrx +190 -0
- package/modules/automations/src/client/AutomationTriggersView.tsrx +329 -0
- package/modules/automations/src/client/api.ts +148 -0
- package/modules/automations/src/client/contribution.tsrx +70 -0
- package/modules/automations/src/client/index.ts +20 -0
- package/modules/automations/src/client/presentation.ts +38 -0
- package/modules/automations/src/client/state.ts +40 -0
- package/modules/automations/src/client/target-selection.ts +44 -0
- package/modules/automations/src/domain/cadence.ts +44 -0
- package/modules/automations/src/domain/types.ts +110 -0
- package/modules/automations/src/domain/variables.ts +178 -0
- package/modules/automations/src/index.ts +39 -0
- package/modules/automations/src/platform.ts +73 -0
- package/modules/automations/src/server/execution.ts +77 -0
- package/modules/automations/src/server/index.ts +39 -0
- package/modules/automations/src/server/runtime.ts +218 -0
- package/modules/automations/src/server/targets.ts +116 -0
- package/modules/automations/src/services/automations-service.ts +10 -0
- package/modules/automations/src/services/database-repository.ts +763 -0
- package/modules/automations/src/services/index.ts +5 -0
- package/modules/automations/src/services/migration.ts +223 -0
- package/modules/automations/src/services/repository.ts +119 -0
- package/modules/automations/src/services/schedule-service.ts +837 -0
- package/modules/automations/src/services/secret-vault.ts +124 -0
- package/modules/automations/src/services/trigger-service.ts +648 -0
- package/modules/automations/src/settings.ts +69 -0
- package/modules/automations/translations/en.json +126 -0
- package/modules/automations/translations/pl.json +126 -0
- package/modules/automations-workflows-integration/module.json +27 -0
- package/modules/automations-workflows-integration/package.json +48 -0
- package/modules/automations-workflows-integration/spec/module.yaml +93 -0
- package/modules/automations-workflows-integration/src/index.ts +14 -0
- package/modules/automations-workflows-integration/src/platform.ts +24 -0
- package/modules/automations-workflows-integration/src/server/adapter.ts +272 -0
- package/modules/automations-workflows-integration/src/server/index.ts +11 -0
- package/modules/automations-workflows-integration/src/server/tools.ts +0 -0
- package/modules/automations-workflows-integration/translations/en.json +21 -0
- package/modules/automations-workflows-integration/translations/pl.json +21 -0
- package/modules/profile/migrations/0001_profile_core.down.sql +1 -0
- package/modules/profile/migrations/0001_profile_core.up.sql +13 -0
- package/modules/profile/migrations/0002_profile_language.down.sql +1 -0
- package/modules/profile/migrations/0002_profile_language.up.sql +12 -0
- package/modules/profile/migrations/README.md +3 -0
- package/modules/profile/module.json +23 -0
- package/modules/profile/package.json +55 -0
- package/modules/profile/spec/module.yaml +136 -0
- package/modules/profile/src/acl/permissions.ts +5 -0
- package/modules/profile/src/api/endpoints.ts +184 -0
- package/modules/profile/src/client/DisplayNameCard.tsrx +59 -0
- package/modules/profile/src/client/LanguageCard.tsrx +89 -0
- package/modules/profile/src/client/PasswordCard.tsrx +79 -0
- package/modules/profile/src/client/ProfileView.tsrx +192 -0
- package/modules/profile/src/client/SessionsCard.tsrx +158 -0
- package/modules/profile/src/client/api.ts +134 -0
- package/modules/profile/src/client/contribution.tsrx +61 -0
- package/modules/profile/src/client/index.ts +15 -0
- package/modules/profile/src/client/password.ts +41 -0
- package/modules/profile/src/client/sessions-api.ts +52 -0
- package/modules/profile/src/client/state.ts +23 -0
- package/modules/profile/src/domain/types.ts +21 -0
- package/modules/profile/src/index.ts +21 -0
- package/modules/profile/src/platform.ts +23 -0
- package/modules/profile/src/server/index.ts +7 -0
- package/modules/profile/src/server/runtime.ts +84 -0
- package/modules/profile/src/services/database-repository.ts +154 -0
- package/modules/profile/src/services/index.ts +6 -0
- package/modules/profile/src/services/migration.ts +58 -0
- package/modules/profile/src/services/profile-service.ts +114 -0
- package/modules/profile/src/services/repository.ts +13 -0
- package/modules/profile/translations/en.json +58 -0
- package/modules/profile/translations/pl.json +58 -0
- package/modules/sandbox/migrations/0001_sandbox_core.down.sql +6 -0
- package/modules/sandbox/migrations/0001_sandbox_core.up.sql +70 -0
- package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.down.sql +36 -0
- package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.up.sql +37 -0
- package/modules/sandbox/migrations/README.md +7 -0
- package/modules/sandbox/module.json +31 -0
- package/modules/sandbox/package.json +56 -0
- package/modules/sandbox/spec/module.yaml +111 -0
- package/modules/sandbox/src/acl/permissions.ts +18 -0
- package/modules/sandbox/src/api/endpoints.ts +439 -0
- package/modules/sandbox/src/cli/commands.json +84 -0
- package/modules/sandbox/src/cli/index.ts +450 -0
- package/modules/sandbox/src/client/SandboxAccessView.tsrx +191 -0
- package/modules/sandbox/src/client/SandboxGrantForm.tsrx +134 -0
- package/modules/sandbox/src/client/SandboxGrantList.tsrx +83 -0
- package/modules/sandbox/src/client/SandboxSessionList.tsrx +56 -0
- package/modules/sandbox/src/client/api.ts +87 -0
- package/modules/sandbox/src/client/contribution.tsrx +47 -0
- package/modules/sandbox/src/client/index.ts +18 -0
- package/modules/sandbox/src/client/presentation.ts +47 -0
- package/modules/sandbox/src/client/state.ts +20 -0
- package/modules/sandbox/src/domain/types.ts +125 -0
- package/modules/sandbox/src/index.ts +33 -0
- package/modules/sandbox/src/platform.ts +28 -0
- package/modules/sandbox/src/server/index.ts +20 -0
- package/modules/sandbox/src/server/runtime.ts +119 -0
- package/modules/sandbox/src/services/database-repository.ts +567 -0
- package/modules/sandbox/src/services/directory.ts +33 -0
- package/modules/sandbox/src/services/index.ts +19 -0
- package/modules/sandbox/src/services/migration.ts +145 -0
- package/modules/sandbox/src/services/repository.ts +55 -0
- package/modules/sandbox/src/services/sandbox-service-error.ts +10 -0
- package/modules/sandbox/src/services/sandbox-service.ts +533 -0
- package/modules/sandbox/translations/en.json +77 -0
- package/modules/sandbox/translations/pl.json +77 -0
- package/modules/system/module.json +18 -0
- package/modules/system/package.json +56 -0
- package/modules/system/spec/module.yaml +104 -0
- package/modules/system/src/acl/permissions.ts +10 -0
- package/modules/system/src/client/ModuleSettingRow.tsrx +191 -0
- package/modules/system/src/client/ModuleSettingsSection.tsrx +155 -0
- package/modules/system/src/client/ModulesView.tsrx +241 -0
- package/modules/system/src/client/api.ts +36 -0
- package/modules/system/src/client/contribution.tsrx +48 -0
- package/modules/system/src/client/index.ts +26 -0
- package/modules/system/src/client/module-columns.tsrx +66 -0
- package/modules/system/src/client/overview-api.ts +30 -0
- package/modules/system/src/client/setting-copy.ts +30 -0
- package/modules/system/src/client/settings-api.ts +57 -0
- package/modules/system/src/client/state.ts +16 -0
- package/modules/system/src/index.ts +11 -0
- package/modules/system/src/platform.ts +11 -0
- package/modules/system/src/server/endpoints.ts +372 -0
- package/modules/system/src/server/index.ts +11 -0
- package/modules/system/src/server/module-catalog.ts +117 -0
- package/modules/system/translations/en.json +64 -0
- package/modules/system/translations/pl.json +64 -0
- package/modules/users/migrations/README.md +3 -0
- package/modules/users/module.json +27 -0
- package/modules/users/package.json +54 -0
- package/modules/users/spec/module.yaml +79 -0
- package/modules/users/src/acl/permissions.ts +6 -0
- package/modules/users/src/api/endpoints.ts +222 -0
- package/modules/users/src/client/InviteMemberForm.tsrx +62 -0
- package/modules/users/src/client/MemberDrawer.tsrx +298 -0
- package/modules/users/src/client/RoleForm.tsrx +140 -0
- package/modules/users/src/client/RolesView.tsrx +288 -0
- package/modules/users/src/client/UserAccountForm.tsrx +86 -0
- package/modules/users/src/client/UsersView.tsrx +486 -0
- package/modules/users/src/client/api.ts +172 -0
- package/modules/users/src/client/contribution.tsrx +92 -0
- package/modules/users/src/client/index.ts +19 -0
- package/modules/users/src/client/member-columns.tsrx +52 -0
- package/modules/users/src/client/roles-api.ts +90 -0
- package/modules/users/src/client/state.ts +42 -0
- package/modules/users/src/index.ts +27 -0
- package/modules/users/src/platform.ts +11 -0
- package/modules/users/src/services/index.ts +2 -0
- package/modules/users/src/services/users-service.ts +142 -0
- package/modules/users/translations/en.json +133 -0
- package/modules/users/translations/pl.json +133 -0
- package/modules/workflows/migrations/0001_workflows_core.down.sql +19 -0
- package/modules/workflows/migrations/0001_workflows_core.up.sql +228 -0
- package/modules/workflows/migrations/0002_workflows_authorization_subject.down.sql +1 -0
- package/modules/workflows/migrations/0002_workflows_authorization_subject.up.sql +9 -0
- package/modules/workflows/migrations/0003_workflows_worker_role.up.sql +34 -0
- package/modules/workflows/migrations/README.md +7 -0
- package/modules/workflows/module.json +31 -0
- package/modules/workflows/package.json +55 -0
- package/modules/workflows/spec/module.yaml +227 -0
- package/modules/workflows/src/acl/permissions.ts +10 -0
- package/modules/workflows/src/api/endpoints.ts +852 -0
- package/modules/workflows/src/client/WorkflowCanvas.tsrx +819 -0
- package/modules/workflows/src/client/WorkflowCreateForm.tsrx +111 -0
- package/modules/workflows/src/client/WorkflowEditor.tsrx +443 -0
- package/modules/workflows/src/client/WorkflowExecutionHistory.tsrx +169 -0
- package/modules/workflows/src/client/WorkflowFixtureDrawer.tsrx +206 -0
- package/modules/workflows/src/client/WorkflowInputForm.tsrx +125 -0
- package/modules/workflows/src/client/WorkflowInputSchemaEditor.tsrx +185 -0
- package/modules/workflows/src/client/WorkflowInspector.tsrx +471 -0
- package/modules/workflows/src/client/WorkflowLiveConfirmation.tsrx +67 -0
- package/modules/workflows/src/client/WorkflowMappingEditor.tsrx +283 -0
- package/modules/workflows/src/client/WorkflowNodePalette.tsrx +50 -0
- package/modules/workflows/src/client/WorkflowPointerField.tsrx +178 -0
- package/modules/workflows/src/client/WorkflowRevisionReview.tsrx +49 -0
- package/modules/workflows/src/client/WorkflowRunInspector.tsrx +143 -0
- package/modules/workflows/src/client/WorkflowTestPanel.tsrx +109 -0
- package/modules/workflows/src/client/WorkflowValidationPanel.tsrx +139 -0
- package/modules/workflows/src/client/WorkflowsView.tsrx +1060 -0
- package/modules/workflows/src/client/api.ts +312 -0
- package/modules/workflows/src/client/canvas-model.ts +472 -0
- package/modules/workflows/src/client/connected-node.ts +71 -0
- package/modules/workflows/src/client/contribution.tsrx +57 -0
- package/modules/workflows/src/client/create-model.ts +15 -0
- package/modules/workflows/src/client/draft-repair.ts +86 -0
- package/modules/workflows/src/client/index.ts +19 -0
- package/modules/workflows/src/client/input-model.ts +124 -0
- package/modules/workflows/src/client/mapping-model.ts +110 -0
- package/modules/workflows/src/client/pointer-model.ts +123 -0
- package/modules/workflows/src/client/presentation.ts +62 -0
- package/modules/workflows/src/client/run-actions.ts +19 -0
- package/modules/workflows/src/client/state.ts +57 -0
- package/modules/workflows/src/client/viewport.ts +107 -0
- package/modules/workflows/src/client/workflows.css +899 -0
- package/modules/workflows/src/domain/events.ts +399 -0
- package/modules/workflows/src/domain/graph.ts +1136 -0
- package/modules/workflows/src/domain/types.ts +563 -0
- package/modules/workflows/src/index.ts +27 -0
- package/modules/workflows/src/platform.ts +49 -0
- package/modules/workflows/src/server/index.ts +13 -0
- package/modules/workflows/src/server/runtime.ts +266 -0
- package/modules/workflows/src/services/cursor-codec.ts +62 -0
- package/modules/workflows/src/services/database-repository.ts +2407 -0
- package/modules/workflows/src/services/index.ts +6 -0
- package/modules/workflows/src/services/migration.ts +375 -0
- package/modules/workflows/src/services/payload-codec.ts +264 -0
- package/modules/workflows/src/services/repository.ts +285 -0
- package/modules/workflows/src/services/simulation.ts +359 -0
- package/modules/workflows/src/services/worker.ts +1196 -0
- package/modules/workflows/src/services/workflows-service.ts +1395 -0
- package/modules/workflows/translations/en.json +348 -0
- package/modules/workflows/translations/pl.json +348 -0
- package/modules.json +41 -0
- package/package.json +125 -0
- package/packages/ai-provider/package.json +46 -0
- package/packages/ai-provider/src/catalog.ts +102 -0
- package/packages/ai-provider/src/errors.ts +110 -0
- package/packages/ai-provider/src/index.ts +33 -0
- package/packages/ai-provider/src/model.ts +198 -0
- package/packages/ai-provider/src/pricing.ts +73 -0
- package/packages/cli-protocol/package.json +40 -0
- package/packages/cli-protocol/src/index.ts +113 -0
- package/packages/client/package.json +46 -0
- package/packages/client/src/ApplicationShell.tsrx +374 -0
- package/packages/client/src/contributions.ts +172 -0
- package/packages/client/src/i18n/index.ts +30 -0
- package/packages/client/src/i18n/locale.ts +25 -0
- package/packages/client/src/i18n/locales/en.json +66 -0
- package/packages/client/src/i18n/locales/pl.json +66 -0
- package/packages/client/src/i18n/runtime.ts +201 -0
- package/packages/client/src/i18n/translations.ts +88 -0
- package/packages/client/src/index.ts +55 -0
- package/packages/client/src/routing.ts +9 -0
- package/packages/client/src/shell/BrandMark.tsrx +10 -0
- package/packages/client/src/shell/CommandPalette.tsrx +79 -0
- package/packages/client/src/shell/ContributionOutlets.tsrx +31 -0
- package/packages/client/src/shell/DashboardView.tsrx +60 -0
- package/packages/client/src/shell/MobileHeader.tsrx +24 -0
- package/packages/client/src/shell/OrganizationSwitcher.tsrx +100 -0
- package/packages/client/src/shell/OverviewCharts.tsrx +167 -0
- package/packages/client/src/shell/PrimaryNavigation.tsrx +75 -0
- package/packages/client/src/shell/Sidebar.tsrx +76 -0
- package/packages/client/src/shell/Topbar.tsrx +44 -0
- package/packages/client/src/shell/UserMenu.tsrx +103 -0
- package/packages/client/src/shell/WorkspaceContent.tsrx +30 -0
- package/packages/client/src/shell/identity.ts +12 -0
- package/packages/client/src/shell/navigation.ts +68 -0
- package/packages/client/src/shell/shell.css +734 -0
- package/packages/client/src/shell/types.ts +29 -0
- package/packages/client/src/state.ts +63 -0
- package/packages/client/src/web.ts +39 -0
- package/packages/coding-agent/package.json +44 -0
- package/packages/coding-agent/src/drivers/byok.ts +322 -0
- package/packages/coding-agent/src/drivers/claude-code.ts +290 -0
- package/packages/coding-agent/src/drivers/codex.ts +281 -0
- package/packages/coding-agent/src/index.ts +56 -0
- package/packages/coding-agent/src/registry.ts +119 -0
- package/packages/coding-agent/src/roles/contract.ts +60 -0
- package/packages/coding-agent/src/roles/defaults.ts +134 -0
- package/packages/coding-agent/src/roles/handoff.ts +41 -0
- package/packages/coding-agent/src/roles/registry.ts +156 -0
- package/packages/coding-agent/src/roles/skills.ts +72 -0
- package/packages/coding-agent/src/roles/sync.ts +88 -0
- package/packages/coding-agent/src/types.ts +102 -0
- package/packages/coding-agent/src/workspace.ts +275 -0
- package/packages/contracts/package.json +38 -0
- package/packages/contracts/schemas/blueprint.schema.json +48 -0
- package/packages/contracts/schemas/cli-extension.schema.json +90 -0
- package/packages/contracts/schemas/module-artifact.schema.json +82 -0
- package/packages/contracts/schemas/module-catalog.schema.json +48 -0
- package/packages/contracts/schemas/module-spec.schema.json +111 -0
- package/packages/contracts/schemas/module.schema.json +156 -0
- package/packages/contracts/schemas/platform-spec.schema.json +17 -0
- package/packages/contracts/schemas/project.schema.json +270 -0
- package/packages/contracts/src/index.ts +191 -0
- package/packages/contracts/src/module-distribution.ts +47 -0
- package/packages/contracts/src/schemas.ts +18 -0
- package/packages/contracts/src/variables.ts +156 -0
- package/packages/contracts/src/web.ts +60 -0
- package/packages/database/package.json +43 -0
- package/packages/database/src/contracts.ts +399 -0
- package/packages/database/src/index.ts +112 -0
- package/packages/database/src/migrations.ts +444 -0
- package/packages/database/src/postgresql.ts +517 -0
- package/packages/database/src/provider.ts +639 -0
- package/packages/database/src/record-history.ts +201 -0
- package/packages/database/src/registry.ts +265 -0
- package/packages/database/src/reset.ts +87 -0
- package/packages/database-pglite/package.json +42 -0
- package/packages/database-pglite/src/driver.ts +168 -0
- package/packages/database-pglite/src/index.ts +2 -0
- package/packages/database-testing/package.json +44 -0
- package/packages/database-testing/src/index.ts +8 -0
- package/packages/database-testing/src/pglite.ts +124 -0
- package/packages/database-testing/src/postgres.ts +184 -0
- package/packages/database-testing/src/provider.ts +43 -0
- package/packages/database-testing/src/vitest-preset.ts +23 -0
- package/packages/dev-console/README.md +6 -0
- package/packages/dev-console/package.json +38 -0
- package/packages/dev-console/src/index.mjs +220 -0
- package/packages/harness/package.json +47 -0
- package/packages/harness/schemas/task-packet.schema.json +48 -0
- package/packages/harness/src/catalog.ts +24 -0
- package/packages/harness/src/errors.ts +9 -0
- package/packages/harness/src/index.ts +53 -0
- package/packages/harness/src/preamble.ts +31 -0
- package/packages/harness/src/runtime.ts +833 -0
- package/packages/harness/src/task-packet.ts +86 -0
- package/packages/harness/src/tool-adapters.ts +106 -0
- package/packages/harness/src/tool-contract.ts +242 -0
- package/packages/harness/src/vercel-ai-provider.ts +198 -0
- package/packages/kernel/package.json +44 -0
- package/packages/kernel/src/acl.ts +20 -0
- package/packages/kernel/src/actor.ts +139 -0
- package/packages/kernel/src/agent-registry.ts +81 -0
- package/packages/kernel/src/capability-registry.ts +28 -0
- package/packages/kernel/src/errors.ts +9 -0
- package/packages/kernel/src/index.ts +90 -0
- package/packages/kernel/src/legacy-local-state.ts +103 -0
- package/packages/kernel/src/module-compatibility.ts +70 -0
- package/packages/kernel/src/module-registry.ts +124 -0
- package/packages/kernel/src/module-settings.ts +403 -0
- package/packages/kernel/src/record-history.ts +146 -0
- package/packages/kernel/src/runtime-config.ts +51 -0
- package/packages/kernel/src/tool-registry.ts +25 -0
- package/packages/kernel/src/variable-registry.ts +339 -0
- package/packages/sandbox/README.md +691 -0
- package/packages/sandbox/bin/flowdular-sandbox.mjs +393 -0
- package/packages/sandbox/dist/client/assets/App-ClMOrpyg.js +11 -0
- package/packages/sandbox/dist/client/assets/PreviewHost-BHiHrfbQ.js +1 -0
- package/packages/sandbox/dist/client/assets/auto-buGEq6de.js +3 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2 +0 -0
- package/packages/sandbox/dist/client/assets/index-CvwhlQ87.js +4 -0
- package/packages/sandbox/dist/client/assets/styles-BPWaGf55.js +3 -0
- package/packages/sandbox/dist/client/assets/styles-Dx1_KOag.css +1 -0
- package/packages/sandbox/dist/client/favicon.svg +1 -0
- package/packages/sandbox/dist/server/assets/auto-CVGNYyb3.js +12785 -0
- package/packages/sandbox/dist/server/assets/chunk-DDJLRBDX-3OUNo51g.js +4125 -0
- package/packages/sandbox/dist/server/assets/nodefs-DVSI7kG0.js +24 -0
- package/packages/sandbox/dist/server/assets/opfs-ahp-D56iokt1.js +388 -0
- package/packages/sandbox/dist/server/assets/token-Bvaq7Anz.js +55 -0
- package/packages/sandbox/dist/server/assets/token-util-BqSvdIPQ.js +3 -0
- package/packages/sandbox/dist/server/assets/token-util-CktFFT4z.js +494 -0
- package/packages/sandbox/dist/server/entry.js +91671 -0
- package/packages/sandbox/dist/server/favicon.svg +1 -0
- package/packages/sandbox/dist/server/index.html +161 -0
- package/packages/sandbox/index.html +159 -0
- package/packages/sandbox/octane.config.ts +36 -0
- package/packages/sandbox/package.json +83 -0
- package/packages/sandbox/public/favicon.svg +1 -0
- package/packages/sandbox/public/og.png +0 -0
- package/packages/sandbox/src/App.tsrx +924 -0
- package/packages/sandbox/src/client/ApprovalHandoff.tsrx +39 -0
- package/packages/sandbox/src/client/ChatPane.tsrx +694 -0
- package/packages/sandbox/src/client/ConnectView.tsrx +86 -0
- package/packages/sandbox/src/client/DiffPane.tsrx +150 -0
- package/packages/sandbox/src/client/EjectModal.tsrx +571 -0
- package/packages/sandbox/src/client/GateResults.tsrx +60 -0
- package/packages/sandbox/src/client/GitHubSettingsModal.tsrx +219 -0
- package/packages/sandbox/src/client/NewSessionForm.tsrx +214 -0
- package/packages/sandbox/src/client/SessionBar.tsrx +151 -0
- package/packages/sandbox/src/client/SessionPicker.tsrx +472 -0
- package/packages/sandbox/src/client/SpecEditor.tsrx +109 -0
- package/packages/sandbox/src/client/SpecReviewCard.tsrx +321 -0
- package/packages/sandbox/src/client/WorkCard.tsrx +128 -0
- package/packages/sandbox/src/client/WorkbenchModal.tsrx +161 -0
- package/packages/sandbox/src/client/WorkspaceMenu.tsrx +100 -0
- package/packages/sandbox/src/client/api.ts +797 -0
- package/packages/sandbox/src/client/attachments.ts +73 -0
- package/packages/sandbox/src/client/dashboard.ts +46 -0
- package/packages/sandbox/src/client/github-settings.ts +48 -0
- package/packages/sandbox/src/client/highlight.ts +105 -0
- package/packages/sandbox/src/client/i18n.ts +32 -0
- package/packages/sandbox/src/client/locales/en.json +466 -0
- package/packages/sandbox/src/client/locales/pl.json +466 -0
- package/packages/sandbox/src/client/session-labels.ts +77 -0
- package/packages/sandbox/src/client/state.ts +108 -0
- package/packages/sandbox/src/index.ts +10 -0
- package/packages/sandbox/src/preview/PreviewHost.tsrx +373 -0
- package/packages/sandbox/src/preview/load-module.ts +16 -0
- package/packages/sandbox/src/server/attachments.ts +308 -0
- package/packages/sandbox/src/server/auto-review.ts +181 -0
- package/packages/sandbox/src/server/checkpoints.ts +90 -0
- package/packages/sandbox/src/server/config.ts +460 -0
- package/packages/sandbox/src/server/dashboard.ts +245 -0
- package/packages/sandbox/src/server/delivery/configuration.ts +193 -0
- package/packages/sandbox/src/server/delivery/git-pr.ts +1473 -0
- package/packages/sandbox/src/server/delivery/index.ts +83 -0
- package/packages/sandbox/src/server/delivery/local.ts +151 -0
- package/packages/sandbox/src/server/delivery/official-modules.ts +516 -0
- package/packages/sandbox/src/server/delivery/plan.ts +218 -0
- package/packages/sandbox/src/server/delivery/policies.ts +239 -0
- package/packages/sandbox/src/server/delivery/record.ts +41 -0
- package/packages/sandbox/src/server/delivery/steps.ts +464 -0
- package/packages/sandbox/src/server/delivery/types.ts +158 -0
- package/packages/sandbox/src/server/dependencies.ts +88 -0
- package/packages/sandbox/src/server/diff.ts +230 -0
- package/packages/sandbox/src/server/gates.ts +388 -0
- package/packages/sandbox/src/server/index.ts +139 -0
- package/packages/sandbox/src/server/path-guard.ts +282 -0
- package/packages/sandbox/src/server/planning.ts +749 -0
- package/packages/sandbox/src/server/platform-client.ts +189 -0
- package/packages/sandbox/src/server/preview-database-host.ts +340 -0
- package/packages/sandbox/src/server/preview-database-protocol.ts +163 -0
- package/packages/sandbox/src/server/preview-database-proxy.ts +356 -0
- package/packages/sandbox/src/server/preview-database.ts +109 -0
- package/packages/sandbox/src/server/preview-ipc.ts +15 -0
- package/packages/sandbox/src/server/preview-modules.ts +83 -0
- package/packages/sandbox/src/server/preview-revision.ts +44 -0
- package/packages/sandbox/src/server/preview-runtime.ts +467 -0
- package/packages/sandbox/src/server/preview-worker-manager.ts +436 -0
- package/packages/sandbox/src/server/preview-worker.ts +168 -0
- package/packages/sandbox/src/server/reference.ts +251 -0
- package/packages/sandbox/src/server/routes.ts +2258 -0
- package/packages/sandbox/src/server/runtime.ts +188 -0
- package/packages/sandbox/src/server/session-owner.ts +23 -0
- package/packages/sandbox/src/server/sessions.ts +849 -0
- package/packages/sandbox/src/server/spec.ts +471 -0
- package/packages/sandbox/src/server/turn-lifecycle.ts +56 -0
- package/packages/sandbox/src/server/turns.ts +993 -0
- package/packages/sandbox/src/server/workspace-install.ts +266 -0
- package/packages/sandbox/src/server/workspace-root.ts +73 -0
- package/packages/sandbox/src/styles.css +1573 -0
- package/packages/sandbox/vite.config.ts +133 -0
- package/packages/server/package.json +43 -0
- package/packages/server/src/application-routes.ts +21 -0
- package/packages/server/src/composition.ts +48 -0
- package/packages/server/src/endpoint.ts +142 -0
- package/packages/server/src/http.ts +128 -0
- package/packages/server/src/index.ts +46 -0
- package/packages/server/src/response-lifetime.ts +56 -0
- package/packages/server/src/security-headers.ts +130 -0
- package/packages/server/src/web-html.ts +55 -0
- package/packages/server/src/web.ts +361 -0
- package/packages/ui/package.json +46 -0
- package/packages/ui/src/brand/BrandMark.tsrx +66 -0
- package/packages/ui/src/brand/mark.ts +44 -0
- package/packages/ui/src/components/Alert.tsrx +17 -0
- package/packages/ui/src/components/Avatar.tsrx +18 -0
- package/packages/ui/src/components/Button.tsrx +29 -0
- package/packages/ui/src/components/Chart.tsrx +274 -0
- package/packages/ui/src/components/CheckGrid.tsrx +93 -0
- package/packages/ui/src/components/ConfirmDialog.tsrx +63 -0
- package/packages/ui/src/components/Drawer.tsrx +71 -0
- package/packages/ui/src/components/EmptyState.tsrx +26 -0
- package/packages/ui/src/components/Filters.tsrx +39 -0
- package/packages/ui/src/components/FormField.tsrx +27 -0
- package/packages/ui/src/components/Kpi.tsrx +36 -0
- package/packages/ui/src/components/PageHeader.tsrx +26 -0
- package/packages/ui/src/components/ScopeSummary.tsrx +76 -0
- package/packages/ui/src/components/SearchField.tsrx +24 -0
- package/packages/ui/src/components/SettingRow.tsrx +50 -0
- package/packages/ui/src/components/Switch.tsrx +21 -0
- package/packages/ui/src/components/Table.tsrx +267 -0
- package/packages/ui/src/components/TableCard.tsrx +52 -0
- package/packages/ui/src/components/Tag.tsrx +28 -0
- package/packages/ui/src/components/VariableField.tsrx +284 -0
- package/packages/ui/src/components/VariableInput.tsrx +7 -0
- package/packages/ui/src/components/VariableSelect.tsrx +72 -0
- package/packages/ui/src/components/VariableTextarea.tsrx +9 -0
- package/packages/ui/src/components/variable-field.ts +61 -0
- package/packages/ui/src/components/variable-select.ts +69 -0
- package/packages/ui/src/icons/Icon.tsrx +56 -0
- package/packages/ui/src/index.ts +81 -0
- package/packages/ui/src/initials.ts +10 -0
- package/packages/ui/src/styles/base.css +71 -0
- package/packages/ui/src/styles/components.css +1859 -0
- package/packages/ui/src/styles/index.css +3 -0
- package/packages/ui/src/styles/tokens.css +124 -0
- package/tsconfig.base.json +18 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AgentExecutionDefinition,
|
|
3
|
+
AgentExecutionEvent,
|
|
4
|
+
AgentOutputContract,
|
|
5
|
+
AgentRunTrigger,
|
|
6
|
+
AgentUsage,
|
|
7
|
+
JsonValue,
|
|
8
|
+
} from '@flowdular/sdk/harness';
|
|
9
|
+
import type { Actor, UserActor } from '@flowdular/sdk/kernel';
|
|
10
|
+
import type { RunTimelineEntry } from './run-timeline.ts';
|
|
11
|
+
|
|
12
|
+
export type { AgentRunTrigger } from '@flowdular/sdk/harness';
|
|
13
|
+
|
|
14
|
+
export type AgentStatus = 'draft' | 'active' | 'paused' | 'archived';
|
|
15
|
+
|
|
16
|
+
export type AgentOwnership =
|
|
17
|
+
| { readonly kind: 'tenant' }
|
|
18
|
+
| {
|
|
19
|
+
readonly kind: 'module';
|
|
20
|
+
readonly moduleId: string;
|
|
21
|
+
readonly definitionRevision: number;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export interface ModuleAgentExecutionLimits {
|
|
25
|
+
readonly maxSteps: number;
|
|
26
|
+
readonly timeoutMs: number;
|
|
27
|
+
readonly temperature: number;
|
|
28
|
+
readonly maxOutputTokens: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface ModuleAgentDefinitionInput {
|
|
32
|
+
readonly moduleId: string;
|
|
33
|
+
readonly key: string;
|
|
34
|
+
readonly definitionRevision: number;
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly description: string;
|
|
37
|
+
readonly instructions: string;
|
|
38
|
+
readonly allowedTools: readonly string[];
|
|
39
|
+
readonly limits: ModuleAgentExecutionLimits;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface ModuleAgentDefinition
|
|
43
|
+
extends Readonly<ModuleAgentDefinitionInput> {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly ownership: {
|
|
46
|
+
readonly kind: 'module';
|
|
47
|
+
readonly moduleId: string;
|
|
48
|
+
readonly definitionRevision: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface ModuleAgentBinding {
|
|
53
|
+
readonly tenantId: string;
|
|
54
|
+
readonly agentId: string;
|
|
55
|
+
readonly provider: string;
|
|
56
|
+
readonly model: string;
|
|
57
|
+
readonly enabledTools: readonly string[];
|
|
58
|
+
readonly status: 'active' | 'paused';
|
|
59
|
+
readonly moduleDefinitionRevision: number;
|
|
60
|
+
readonly executableRevision: number;
|
|
61
|
+
readonly revision: number;
|
|
62
|
+
readonly updatedBy: string;
|
|
63
|
+
readonly updatedAt: number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface UpdateModuleAgentBindingInput {
|
|
67
|
+
readonly agentId: string;
|
|
68
|
+
readonly provider: string;
|
|
69
|
+
readonly model: string;
|
|
70
|
+
readonly enabledTools: readonly string[];
|
|
71
|
+
readonly status: 'active' | 'paused';
|
|
72
|
+
/* Zero creates the first binding. Positive values are optimistic concurrency. */
|
|
73
|
+
readonly expectedRevision: number;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface ModuleAgentView {
|
|
77
|
+
readonly id: string;
|
|
78
|
+
readonly tenantId: string;
|
|
79
|
+
readonly key: string;
|
|
80
|
+
readonly name: string;
|
|
81
|
+
readonly description: string;
|
|
82
|
+
readonly instructions: string;
|
|
83
|
+
readonly provider: string | null;
|
|
84
|
+
readonly model: string | null;
|
|
85
|
+
readonly allowedTools: readonly string[];
|
|
86
|
+
readonly enabledTools: readonly string[];
|
|
87
|
+
readonly limits: ModuleAgentExecutionLimits;
|
|
88
|
+
readonly status: 'unconfigured' | 'active' | 'paused' | 'unavailable';
|
|
89
|
+
readonly revision: number | null;
|
|
90
|
+
readonly bindingRevision: number | null;
|
|
91
|
+
readonly unavailableReason: string | null;
|
|
92
|
+
readonly ownership: {
|
|
93
|
+
readonly kind: 'module';
|
|
94
|
+
readonly moduleId: string;
|
|
95
|
+
readonly definitionRevision: number;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export type AgentProviderKind =
|
|
100
|
+
| 'local-simulation'
|
|
101
|
+
| 'vercel'
|
|
102
|
+
| 'azure'
|
|
103
|
+
| 'openai'
|
|
104
|
+
| 'openai-compatible'
|
|
105
|
+
| 'anthropic';
|
|
106
|
+
|
|
107
|
+
/* What a model is allowed to do. Sent by clients, stored as configuration. */
|
|
108
|
+
export interface AgentProviderModelConfiguration {
|
|
109
|
+
readonly id: string;
|
|
110
|
+
readonly label: string;
|
|
111
|
+
readonly enabled: boolean;
|
|
112
|
+
readonly supportsTools: boolean;
|
|
113
|
+
readonly supportsStreaming: boolean;
|
|
114
|
+
readonly supportsWebSearch: boolean;
|
|
115
|
+
/* Reasoning models reject a custom temperature and only accept their own
|
|
116
|
+
default. Absent means the model accepts one. */
|
|
117
|
+
readonly supportsTemperature?: boolean;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Evidence, not configuration: proven per model, because one model answering
|
|
121
|
+
says nothing about another one on the same connection. */
|
|
122
|
+
export interface AgentModelReadiness {
|
|
123
|
+
readonly status: 'unknown' | 'healthy' | 'unhealthy';
|
|
124
|
+
readonly latencyMs: number | null;
|
|
125
|
+
readonly errorCode: string | null;
|
|
126
|
+
readonly checkedAt: number | null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export interface AgentProviderModel extends AgentProviderModelConfiguration {
|
|
130
|
+
readonly supportsTemperature: boolean;
|
|
131
|
+
readonly readiness: AgentModelReadiness;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface AgentProviderConnection {
|
|
135
|
+
readonly id: string;
|
|
136
|
+
readonly tenantId: string;
|
|
137
|
+
readonly key: string;
|
|
138
|
+
readonly name: string;
|
|
139
|
+
readonly kind: AgentProviderKind;
|
|
140
|
+
readonly enabled: boolean;
|
|
141
|
+
readonly resourceName: string | null;
|
|
142
|
+
readonly baseURL: string | null;
|
|
143
|
+
readonly models: readonly AgentProviderModel[];
|
|
144
|
+
readonly credentialConfigured: boolean;
|
|
145
|
+
readonly credentialRevision: number;
|
|
146
|
+
readonly revision: number;
|
|
147
|
+
readonly createdBy: string;
|
|
148
|
+
readonly createdAt: number;
|
|
149
|
+
readonly updatedBy: string;
|
|
150
|
+
readonly updatedAt: number;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export interface CreateAgentProviderInput {
|
|
154
|
+
readonly key: string;
|
|
155
|
+
readonly name: string;
|
|
156
|
+
readonly kind: Exclude<AgentProviderKind, 'local-simulation'>;
|
|
157
|
+
readonly credential: string;
|
|
158
|
+
readonly resourceName?: string;
|
|
159
|
+
readonly baseURL?: string;
|
|
160
|
+
readonly models: readonly AgentProviderModelConfiguration[];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export interface UpdateAgentProviderInput {
|
|
164
|
+
readonly id: string;
|
|
165
|
+
readonly expectedRevision: number;
|
|
166
|
+
readonly name: string;
|
|
167
|
+
readonly enabled: boolean;
|
|
168
|
+
readonly credential?: string;
|
|
169
|
+
readonly resourceName?: string;
|
|
170
|
+
readonly baseURL?: string;
|
|
171
|
+
readonly models: readonly AgentProviderModelConfiguration[];
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface AgentDefinition {
|
|
175
|
+
readonly id: string;
|
|
176
|
+
readonly tenantId: string;
|
|
177
|
+
readonly key: string;
|
|
178
|
+
readonly name: string;
|
|
179
|
+
readonly description: string;
|
|
180
|
+
readonly instructions: string;
|
|
181
|
+
readonly provider: string;
|
|
182
|
+
readonly model: string;
|
|
183
|
+
readonly allowedTools: readonly string[];
|
|
184
|
+
readonly procedureIds: readonly string[];
|
|
185
|
+
readonly maxSteps: number;
|
|
186
|
+
readonly timeoutMs: number;
|
|
187
|
+
readonly temperature: number;
|
|
188
|
+
readonly maxOutputTokens: number;
|
|
189
|
+
readonly status: AgentStatus;
|
|
190
|
+
readonly revision: number;
|
|
191
|
+
readonly createdBy: string;
|
|
192
|
+
readonly createdAt: number;
|
|
193
|
+
readonly updatedBy: string;
|
|
194
|
+
readonly updatedAt: number;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/* Served representation of a tenant-created business agent. Persistence and
|
|
198
|
+
mutation inputs remain unchanged while list consumers get the same explicit
|
|
199
|
+
ownership discriminator as module-owned agents. */
|
|
200
|
+
export interface TenantAgentView extends AgentDefinition {
|
|
201
|
+
readonly ownership: { readonly kind: 'tenant' };
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export interface AgentRevisionProcedure {
|
|
205
|
+
readonly id: string;
|
|
206
|
+
readonly key: string;
|
|
207
|
+
readonly name: string;
|
|
208
|
+
readonly revision: number;
|
|
209
|
+
readonly instructions: string;
|
|
210
|
+
readonly requiredTools: readonly string[];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/* An immutable executable definition. Runs at an exact revision read this
|
|
214
|
+
store and never reconstruct historical behavior from the mutable agent row. */
|
|
215
|
+
export interface AgentDefinitionRevision {
|
|
216
|
+
readonly tenantId: string;
|
|
217
|
+
readonly agentId: string;
|
|
218
|
+
readonly revision: number;
|
|
219
|
+
readonly key: string;
|
|
220
|
+
readonly name: string;
|
|
221
|
+
readonly description: string;
|
|
222
|
+
readonly instructions: string;
|
|
223
|
+
readonly provider: string;
|
|
224
|
+
readonly model: string;
|
|
225
|
+
readonly allowedTools: readonly string[];
|
|
226
|
+
readonly procedures: readonly AgentRevisionProcedure[];
|
|
227
|
+
readonly maxSteps: number;
|
|
228
|
+
readonly timeoutMs: number;
|
|
229
|
+
readonly temperature: number;
|
|
230
|
+
readonly maxOutputTokens: number;
|
|
231
|
+
readonly status: AgentStatus;
|
|
232
|
+
readonly ownership: AgentOwnership;
|
|
233
|
+
readonly moduleDefinitionRevision: number | null;
|
|
234
|
+
readonly retainedBy: string;
|
|
235
|
+
readonly retainedAt: number;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface CreateAgentInput {
|
|
239
|
+
readonly key: string;
|
|
240
|
+
readonly name: string;
|
|
241
|
+
readonly description: string;
|
|
242
|
+
readonly instructions: string;
|
|
243
|
+
readonly provider: string;
|
|
244
|
+
readonly model: string;
|
|
245
|
+
readonly allowedTools: readonly string[];
|
|
246
|
+
readonly procedureIds: readonly string[];
|
|
247
|
+
readonly maxSteps: number;
|
|
248
|
+
readonly timeoutMs: number;
|
|
249
|
+
readonly temperature: number;
|
|
250
|
+
/* Absent means the tenant default, 4096 unless an admin changed it. */
|
|
251
|
+
readonly maxOutputTokens?: number;
|
|
252
|
+
readonly status: AgentStatus;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export interface UpdateAgentInput extends CreateAgentInput {
|
|
256
|
+
readonly expectedRevision: number;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export type AgentRunStatus =
|
|
260
|
+
| 'queued'
|
|
261
|
+
| 'running'
|
|
262
|
+
| 'succeeded'
|
|
263
|
+
| 'failed'
|
|
264
|
+
| 'cancelled';
|
|
265
|
+
|
|
266
|
+
export interface AgentRun {
|
|
267
|
+
readonly id: string;
|
|
268
|
+
readonly tenantId: string;
|
|
269
|
+
readonly agentId: string;
|
|
270
|
+
readonly agentName: string;
|
|
271
|
+
readonly agentRevision: number;
|
|
272
|
+
readonly trigger: AgentRunTrigger;
|
|
273
|
+
readonly status: AgentRunStatus;
|
|
274
|
+
readonly input: string;
|
|
275
|
+
readonly output: string | null;
|
|
276
|
+
readonly structuredOutput: JsonValue | null;
|
|
277
|
+
readonly outputContract: AgentOutputContract;
|
|
278
|
+
readonly workflowRunId: string | null;
|
|
279
|
+
readonly provider: string;
|
|
280
|
+
readonly model: string;
|
|
281
|
+
readonly requestedBy: string;
|
|
282
|
+
/* Full authority identity. requestedBy remains the stable display-compatible
|
|
283
|
+
id for older API consumers. */
|
|
284
|
+
readonly requestedActor: Actor;
|
|
285
|
+
/* Audit provenance is separate from the live authorization authority. */
|
|
286
|
+
readonly authorizationSubject: UserActor | null;
|
|
287
|
+
readonly permissionSnapshot: readonly string[];
|
|
288
|
+
readonly toolGrants: readonly string[];
|
|
289
|
+
readonly procedureSnapshots: readonly AgentProcedureSnapshot[];
|
|
290
|
+
readonly usage: AgentUsage | null;
|
|
291
|
+
readonly failureCode: string | null;
|
|
292
|
+
readonly failureMessage: string | null;
|
|
293
|
+
readonly attempt: number;
|
|
294
|
+
readonly queuedAt: number;
|
|
295
|
+
readonly startedAt: number | null;
|
|
296
|
+
readonly completedAt: number | null;
|
|
297
|
+
readonly leaseExpiresAt: number | null;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export type AgentProcedureStatus = 'draft' | 'active' | 'archived';
|
|
301
|
+
|
|
302
|
+
export interface AgentProcedure {
|
|
303
|
+
readonly id: string;
|
|
304
|
+
readonly tenantId: string;
|
|
305
|
+
readonly key: string;
|
|
306
|
+
readonly name: string;
|
|
307
|
+
readonly description: string;
|
|
308
|
+
readonly instructions: string;
|
|
309
|
+
readonly requiredTools: readonly string[];
|
|
310
|
+
readonly status: AgentProcedureStatus;
|
|
311
|
+
readonly revision: number;
|
|
312
|
+
readonly createdBy: string;
|
|
313
|
+
readonly createdAt: number;
|
|
314
|
+
readonly updatedBy: string;
|
|
315
|
+
readonly updatedAt: number;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface AgentProcedureSnapshot {
|
|
319
|
+
readonly id: string;
|
|
320
|
+
readonly key: string;
|
|
321
|
+
readonly name: string;
|
|
322
|
+
readonly revision: number;
|
|
323
|
+
readonly requiredTools: readonly string[];
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
export interface CreateAgentProcedureInput {
|
|
327
|
+
readonly key: string;
|
|
328
|
+
readonly name: string;
|
|
329
|
+
readonly description: string;
|
|
330
|
+
readonly instructions: string;
|
|
331
|
+
readonly requiredTools: readonly string[];
|
|
332
|
+
readonly status: AgentProcedureStatus;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export interface UpdateAgentProcedureInput extends CreateAgentProcedureInput {
|
|
336
|
+
readonly expectedRevision: number;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/* Deprecated for the 0.x line. New code uses the procedure names; these keep a
|
|
340
|
+
consumer that still imports the skill-era spelling compiling. */
|
|
341
|
+
/** @deprecated Use AgentProcedure. */
|
|
342
|
+
export type AgentSkill = AgentProcedure;
|
|
343
|
+
/** @deprecated Use AgentProcedureStatus. */
|
|
344
|
+
export type AgentSkillStatus = AgentProcedureStatus;
|
|
345
|
+
/** @deprecated Use AgentProcedureSnapshot. */
|
|
346
|
+
export type AgentSkillSnapshot = AgentProcedureSnapshot;
|
|
347
|
+
/** @deprecated Use AgentRevisionProcedure. */
|
|
348
|
+
export type AgentRevisionSkill = AgentRevisionProcedure;
|
|
349
|
+
/** @deprecated Use CreateAgentProcedureInput. */
|
|
350
|
+
export type CreateAgentSkillInput = CreateAgentProcedureInput;
|
|
351
|
+
/** @deprecated Use UpdateAgentProcedureInput. */
|
|
352
|
+
export type UpdateAgentSkillInput = UpdateAgentProcedureInput;
|
|
353
|
+
|
|
354
|
+
export interface AgentRunDetail extends AgentRun {
|
|
355
|
+
readonly events: readonly AgentExecutionEvent[];
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/* What a reader of one run receives. The stored events stay whole in
|
|
359
|
+
`AgentRunDetail`; this shape carries them folded, so a streamed answer
|
|
360
|
+
crosses the wire as one bounded entry instead of one row per token. */
|
|
361
|
+
export interface AgentRunTimeline extends AgentRun {
|
|
362
|
+
readonly timeline: readonly RunTimelineEntry[];
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export interface EnqueueAgentRunInput {
|
|
366
|
+
readonly agentId: string;
|
|
367
|
+
readonly trigger: AgentRunTrigger;
|
|
368
|
+
readonly input: string;
|
|
369
|
+
readonly toolGrants: readonly string[];
|
|
370
|
+
readonly idempotencyKey?: string;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
export interface AgentRunExecution {
|
|
374
|
+
readonly run: AgentRun;
|
|
375
|
+
readonly definition: AgentExecutionDefinition;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export type AgentActionStatus =
|
|
379
|
+
| 'queued'
|
|
380
|
+
| 'running'
|
|
381
|
+
| 'succeeded'
|
|
382
|
+
| 'failed'
|
|
383
|
+
| 'cancelled';
|
|
384
|
+
|
|
385
|
+
export interface AgentActionInvocation {
|
|
386
|
+
readonly id: string;
|
|
387
|
+
readonly tenantId: string;
|
|
388
|
+
readonly workflowRunId: string;
|
|
389
|
+
readonly nodeRunId: string;
|
|
390
|
+
readonly actionId: string;
|
|
391
|
+
readonly contractVersion: number;
|
|
392
|
+
readonly actor: Actor;
|
|
393
|
+
readonly authorizationSubject: UserActor | null;
|
|
394
|
+
readonly permissionSnapshot: readonly string[];
|
|
395
|
+
readonly input: JsonValue;
|
|
396
|
+
readonly idempotencyKey: string;
|
|
397
|
+
readonly requestHash: string;
|
|
398
|
+
readonly status: AgentActionStatus;
|
|
399
|
+
readonly output: JsonValue | null;
|
|
400
|
+
readonly code: string | null;
|
|
401
|
+
readonly attempt: number;
|
|
402
|
+
readonly queuedAt: number;
|
|
403
|
+
readonly startedAt: number | null;
|
|
404
|
+
readonly completedAt: number | null;
|
|
405
|
+
readonly leaseExpiresAt: number | null;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/* What the playground shows about the process that executes runs. */
|
|
409
|
+
export interface AgentWorkerStatus {
|
|
410
|
+
readonly workerId: string;
|
|
411
|
+
readonly online: boolean;
|
|
412
|
+
readonly concurrency: number;
|
|
413
|
+
readonly inFlight: number;
|
|
414
|
+
readonly leaseMs: number;
|
|
415
|
+
readonly lastDrainAt: number | null;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
export interface AgentUsageBucket {
|
|
419
|
+
readonly runs: number;
|
|
420
|
+
readonly inputTokens: number;
|
|
421
|
+
readonly outputTokens: number;
|
|
422
|
+
readonly costMicroUsd: number;
|
|
423
|
+
/* Runs whose model has no published price; excluded from the cost. */
|
|
424
|
+
readonly unpricedRuns: number;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export interface AgentUsageDay extends AgentUsageBucket {
|
|
428
|
+
readonly day: string;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export interface AgentUsageAgent extends AgentUsageBucket {
|
|
432
|
+
readonly agentId: string;
|
|
433
|
+
readonly agentName: string;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export interface AgentUsageSummary {
|
|
437
|
+
readonly from: string;
|
|
438
|
+
readonly to: string;
|
|
439
|
+
readonly days: readonly AgentUsageDay[];
|
|
440
|
+
readonly agents: readonly AgentUsageAgent[];
|
|
441
|
+
readonly month: AgentUsageBucket & { readonly from: string };
|
|
442
|
+
readonly caps: {
|
|
443
|
+
readonly monthlyCostMicroUsd: number;
|
|
444
|
+
readonly agentMonthlyCostMicroUsd: number;
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export interface AgentAuditEvent {
|
|
449
|
+
readonly id: string;
|
|
450
|
+
readonly tenantId: string;
|
|
451
|
+
readonly sequence: number;
|
|
452
|
+
readonly actorId: string;
|
|
453
|
+
readonly action: string;
|
|
454
|
+
readonly subjectType:
|
|
455
|
+
| 'agent'
|
|
456
|
+
| 'agent-run'
|
|
457
|
+
| 'agent-provider'
|
|
458
|
+
| 'agent-skill'
|
|
459
|
+
| 'agent-schedule'
|
|
460
|
+
| 'agent-trigger'
|
|
461
|
+
| 'agent-action';
|
|
462
|
+
readonly subjectId: string;
|
|
463
|
+
readonly metadata: Readonly<Record<string, string | number | boolean>>;
|
|
464
|
+
readonly occurredAt: number;
|
|
465
|
+
readonly previousHash: string | null;
|
|
466
|
+
readonly eventHash: string;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
export interface AgentAuditPage {
|
|
470
|
+
readonly events: readonly AgentAuditEvent[];
|
|
471
|
+
/** `${occurredAt}:${sequence}` of the last event, or null when exhausted. */
|
|
472
|
+
readonly nextCursor: string | null;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/* Reports whether the tenant hash chain reproduces, and the id of the first
|
|
476
|
+
row that does not. The same walk backs the audit-verify CLI and the HTTP
|
|
477
|
+
endpoint, so the two can never disagree. */
|
|
478
|
+
export interface AuditChainVerification {
|
|
479
|
+
readonly verified: boolean;
|
|
480
|
+
readonly brokenAt: string | null;
|
|
481
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { ModuleManifest, RegisteredModule } from '@flowdular/sdk/contracts';
|
|
2
|
+
import manifest from '../module.json' with { type: 'json' };
|
|
3
|
+
import { AGENT_PERMISSIONS } from './acl/permissions.ts';
|
|
4
|
+
|
|
5
|
+
export const moduleDefinition = {
|
|
6
|
+
manifest: manifest as ModuleManifest,
|
|
7
|
+
/* Mirrors the client contribution in client/contribution.tsrx. */
|
|
8
|
+
navigation: [
|
|
9
|
+
{
|
|
10
|
+
id: 'agents.navigation.providers',
|
|
11
|
+
label: 'Providers',
|
|
12
|
+
href: '/agent-providers',
|
|
13
|
+
order: 20,
|
|
14
|
+
permission: AGENT_PERMISSIONS.providersRead,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: 'agents.navigation.definitions',
|
|
18
|
+
label: 'Agents',
|
|
19
|
+
href: '/agents',
|
|
20
|
+
order: 30,
|
|
21
|
+
permission: AGENT_PERMISSIONS.definitionsRead,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'agents.navigation.procedures',
|
|
25
|
+
label: 'Procedures',
|
|
26
|
+
href: '/agent-procedures',
|
|
27
|
+
order: 35,
|
|
28
|
+
permission: AGENT_PERMISSIONS.proceduresRead,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'agents.navigation.playground',
|
|
32
|
+
label: 'Agent playground',
|
|
33
|
+
href: '/agent-playground',
|
|
34
|
+
order: 40,
|
|
35
|
+
permission: AGENT_PERMISSIONS.runsExecute,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 'agents.navigation.runs',
|
|
39
|
+
label: 'Agent runs',
|
|
40
|
+
href: '/agent-runs',
|
|
41
|
+
order: 50,
|
|
42
|
+
permission: AGENT_PERMISSIONS.runsRead,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'agents.navigation.usage',
|
|
46
|
+
label: 'Usage and cost',
|
|
47
|
+
href: '/agent-usage',
|
|
48
|
+
order: 80,
|
|
49
|
+
permission: AGENT_PERMISSIONS.runsRead,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
permissions: Object.values(AGENT_PERMISSIONS),
|
|
53
|
+
} satisfies RegisteredModule;
|
|
54
|
+
|
|
55
|
+
export { AGENT_PERMISSIONS } from './acl/permissions.ts';
|
|
56
|
+
export { AGENTS_MODULE_SETTINGS } from './settings.ts';
|
|
57
|
+
export { AgentService, AgentServiceError } from './services/agent-service.ts';
|
|
58
|
+
export type {
|
|
59
|
+
AgentDefinition,
|
|
60
|
+
AgentRun,
|
|
61
|
+
AgentRunDetail,
|
|
62
|
+
AgentStatus,
|
|
63
|
+
AgentUsageSummary,
|
|
64
|
+
AgentWorkerStatus,
|
|
65
|
+
CreateAgentInput,
|
|
66
|
+
EnqueueAgentRunInput,
|
|
67
|
+
UpdateAgentInput,
|
|
68
|
+
AgentOwnership,
|
|
69
|
+
TenantAgentView,
|
|
70
|
+
ModuleAgentBinding,
|
|
71
|
+
ModuleAgentDefinition,
|
|
72
|
+
ModuleAgentDefinitionInput,
|
|
73
|
+
ModuleAgentExecutionLimits,
|
|
74
|
+
ModuleAgentView,
|
|
75
|
+
UpdateModuleAgentBindingInput,
|
|
76
|
+
AgentProcedure,
|
|
77
|
+
AgentProcedureSnapshot,
|
|
78
|
+
AgentProcedureStatus,
|
|
79
|
+
AgentRevisionProcedure,
|
|
80
|
+
CreateAgentProcedureInput,
|
|
81
|
+
UpdateAgentProcedureInput,
|
|
82
|
+
AgentSkill,
|
|
83
|
+
AgentSkillSnapshot,
|
|
84
|
+
AgentSkillStatus,
|
|
85
|
+
AgentRevisionSkill,
|
|
86
|
+
CreateAgentSkillInput,
|
|
87
|
+
UpdateAgentSkillInput,
|
|
88
|
+
} from './domain/types.ts';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
PlatformServerComposition,
|
|
3
|
+
PlatformServerContext,
|
|
4
|
+
} from '@flowdular/sdk/modules/auth/server';
|
|
5
|
+
import type { ModuleSettingsDeclaration } from '@flowdular/sdk/kernel';
|
|
6
|
+
import type { AgentTool } from '@flowdular/sdk/harness';
|
|
7
|
+
import type { ModuleAgentDefinition } from './domain/types.ts';
|
|
8
|
+
import {
|
|
9
|
+
AGENT_ACTION_EXECUTION_CAPABILITY,
|
|
10
|
+
AGENT_RUN_EXECUTION_CAPABILITY,
|
|
11
|
+
agentRuntimeOptionsFromEnvironment,
|
|
12
|
+
AGENT_RUN_QUEUE_CAPABILITY,
|
|
13
|
+
createAgentRunQueue,
|
|
14
|
+
createAgentRoutes,
|
|
15
|
+
createAgentRuntime,
|
|
16
|
+
} from './server/index.ts';
|
|
17
|
+
import {
|
|
18
|
+
agentSettings,
|
|
19
|
+
agentsModuleSettingsFromEnvironment,
|
|
20
|
+
} from './settings.ts';
|
|
21
|
+
|
|
22
|
+
/* Business modules register tools in `context.agentTools` from their own
|
|
23
|
+
compositions, some of them after this one ran. The registry is therefore
|
|
24
|
+
read when the platform calls `start()`, never at composition time. The
|
|
25
|
+
field is read structurally until the composition contract carries it. */
|
|
26
|
+
interface AgentToolRegistry {
|
|
27
|
+
list(): readonly AgentTool[];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function toolsFromContext(
|
|
31
|
+
context: PlatformServerContext,
|
|
32
|
+
): readonly AgentTool[] {
|
|
33
|
+
return (
|
|
34
|
+
(context as { agentTools?: AgentToolRegistry }).agentTools?.list() ?? []
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type AgentServerComposition = PlatformServerComposition & {
|
|
39
|
+
readonly settings: ModuleSettingsDeclaration;
|
|
40
|
+
prepare(): Promise<void>;
|
|
41
|
+
/* Called by the platform once every module is composed. Recovery of
|
|
42
|
+
interrupted runs starts here, not on the first request. */
|
|
43
|
+
start(): void;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export function createServerComposition(
|
|
47
|
+
context: PlatformServerContext,
|
|
48
|
+
): AgentServerComposition {
|
|
49
|
+
const runtime = createAgentRuntime({
|
|
50
|
+
...agentRuntimeOptionsFromEnvironment(
|
|
51
|
+
context.environment,
|
|
52
|
+
context.workspaceRoot,
|
|
53
|
+
),
|
|
54
|
+
databases: context.databases,
|
|
55
|
+
tools: () => toolsFromContext(context),
|
|
56
|
+
moduleAgents: () =>
|
|
57
|
+
context.agentDefinitions.list() as readonly ModuleAgentDefinition[],
|
|
58
|
+
authorizeToolAccess: ({ tenantId, actor }) =>
|
|
59
|
+
context.auth.authorizeAgentToolAccess(tenantId, actor),
|
|
60
|
+
settings: agentSettings(context),
|
|
61
|
+
});
|
|
62
|
+
context.capabilities.register(
|
|
63
|
+
AGENT_RUN_QUEUE_CAPABILITY,
|
|
64
|
+
createAgentRunQueue(() => runtime.service()),
|
|
65
|
+
);
|
|
66
|
+
context.capabilities.register(
|
|
67
|
+
AGENT_RUN_EXECUTION_CAPABILITY,
|
|
68
|
+
runtime.revisionExecution(),
|
|
69
|
+
);
|
|
70
|
+
context.capabilities.register(
|
|
71
|
+
AGENT_ACTION_EXECUTION_CAPABILITY,
|
|
72
|
+
runtime.actions(),
|
|
73
|
+
);
|
|
74
|
+
return {
|
|
75
|
+
routes: createAgentRoutes(context.auth, runtime),
|
|
76
|
+
settings: agentsModuleSettingsFromEnvironment(context.environment),
|
|
77
|
+
prepare: () => runtime.prepare(),
|
|
78
|
+
start: () => runtime.start(),
|
|
79
|
+
stop: () => runtime.quiesce(),
|
|
80
|
+
dispose: () => runtime.dispose(),
|
|
81
|
+
};
|
|
82
|
+
}
|