create-windy 0.6.11 → 0.6.14
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/dist/cli.js +580 -269
- package/package.json +1 -1
- package/template/.agents/skills/windy-business-module/SKILL.md +98 -70
- package/template/.windy-template.json +3 -3
- package/template/AGENTS.md +3 -6
- package/template/apps/agent-server/Dockerfile +2 -3
- package/template/apps/agent-server/README.md +38 -54
- package/template/apps/agent-server/pyproject.toml +0 -1
- package/template/apps/agent-server/src/southwind_agent_server/app.py +4 -2
- package/template/apps/agent-server/src/southwind_agent_server/attempt_context.py +191 -0
- package/template/apps/agent-server/src/southwind_agent_server/attempt_context_projection.py +203 -0
- package/template/apps/agent-server/src/southwind_agent_server/client_completion_contracts.py +61 -0
- package/template/apps/agent-server/src/southwind_agent_server/client_completion_governance.py +82 -0
- package/template/apps/agent-server/src/southwind_agent_server/client_completion_routes.py +121 -0
- package/template/apps/agent-server/src/southwind_agent_server/client_completion_runtime.py +158 -0
- package/template/apps/agent-server/src/southwind_agent_server/context_message_digest.py +24 -0
- package/template/apps/agent-server/src/southwind_agent_server/context_version_contracts.py +71 -0
- package/template/apps/agent-server/src/southwind_agent_server/context_version_port.py +307 -0
- package/template/apps/agent-server/src/southwind_agent_server/contracts.py +39 -0
- package/template/apps/agent-server/src/southwind_agent_server/deterministic.py +2 -0
- package/template/apps/agent-server/src/southwind_agent_server/engine.py +9 -1
- package/template/apps/agent-server/src/southwind_agent_server/engine_identity.py +2 -0
- package/template/apps/agent-server/src/southwind_agent_server/fingerprint.py +15 -0
- package/template/apps/agent-server/src/southwind_agent_server/health_routes.py +37 -3
- package/template/apps/agent-server/src/southwind_agent_server/openai_engine.py +46 -26
- package/template/apps/agent-server/src/southwind_agent_server/openai_engine_validation.py +32 -0
- package/template/apps/agent-server/src/southwind_agent_server/openai_provider.py +7 -0
- package/template/apps/agent-server/src/southwind_agent_server/postgres_report_insert.py +5 -2
- package/template/apps/agent-server/src/southwind_agent_server/postgres_report_queries.py +1 -0
- package/template/apps/agent-server/src/southwind_agent_server/postgres_report_store.py +6 -1
- package/template/apps/agent-server/src/southwind_agent_server/postgres_store.py +3 -2
- package/template/apps/agent-server/src/southwind_agent_server/postgres_store_backend.py +1 -0
- package/template/apps/agent-server/src/southwind_agent_server/provider_governance.py +21 -0
- package/template/apps/agent-server/src/southwind_agent_server/report_lifecycle.py +2 -1
- package/template/apps/agent-server/src/southwind_agent_server/report_presenter.py +1 -0
- package/template/apps/agent-server/src/southwind_agent_server/report_routes.py +7 -1
- package/template/apps/agent-server/src/southwind_agent_server/report_store.py +10 -56
- package/template/apps/agent-server/src/southwind_agent_server/report_store_protocol.py +75 -0
- package/template/apps/agent-server/src/southwind_agent_server/report_types.py +9 -2
- package/template/apps/agent-server/src/southwind_agent_server/runtime_budget.py +74 -0
- package/template/apps/agent-server/src/southwind_agent_server/runtime_factory.py +11 -3
- package/template/apps/agent-server/src/southwind_agent_server/service.py +41 -65
- package/template/apps/agent-server/src/southwind_agent_server/service_control.py +64 -0
- package/template/apps/agent-server/src/southwind_agent_server/service_execution.py +3 -0
- package/template/apps/agent-server/src/southwind_agent_server/sqlite_errors.py +2 -0
- package/template/apps/agent-server/src/southwind_agent_server/sqlite_schema.py +9 -1
- package/template/apps/agent-server/src/southwind_agent_server/sqlite_store.py +6 -5
- package/template/apps/agent-server/src/southwind_agent_server/store.py +2 -0
- package/template/apps/agent-server/src/southwind_agent_server/trajectory.py +137 -0
- package/template/apps/agent-server/src/southwind_agent_server/unavailable_engine.py +58 -0
- package/template/apps/agent-server/tests/test_api.py +30 -11
- package/template/apps/agent-server/tests/test_client_completion.py +230 -0
- package/template/apps/agent-server/tests/test_provider_attempt_reporting.py +12 -24
- package/template/apps/agent-server/tests/test_report_resilience.py +2 -0
- package/template/apps/agent-server/tests/test_report_routes.py +58 -1
- package/template/apps/agent-server/tests/test_report_summary_parity.py +1 -0
- package/template/apps/agent-server/tests/test_run_capacity.py +2 -0
- package/template/apps/agent-server/tests/test_runtime_factory_readiness.py +18 -3
- package/template/apps/agent-server/tests/test_trajectory.py +91 -0
- package/template/apps/agent-server/uv.lock +0 -259
- package/template/apps/server/Dockerfile +9 -4
- package/template/apps/server/src/agent/actor-projection-audit.ts +6 -0
- package/template/apps/server/src/agent/agent-run-delegation-policy.ts +115 -0
- package/template/apps/server/src/agent/agent-session-bootstrap.ts +23 -0
- package/template/apps/server/src/agent/{debug-session-facade-provider-failure.test.ts → agent-session-facade-provider-failure.test.ts} +24 -33
- package/template/apps/server/src/agent/{debug-session-facade.test.ts → agent-session-facade.test.ts} +34 -45
- package/template/apps/server/src/agent/{debug-session-facade.ts → agent-session-facade.ts} +50 -57
- package/template/apps/server/src/agent/{debug-session-id.test.ts → agent-session-id.test.ts} +5 -5
- package/template/apps/server/src/agent/{debug-session-id.ts → agent-session-id.ts} +7 -7
- package/template/apps/server/src/agent/{debug-session-provider-reader.ts → agent-session-provider-reader.ts} +18 -15
- package/template/apps/server/src/agent/{debug-session-routes.test.ts → agent-session-routes.test.ts} +16 -16
- package/template/apps/server/src/agent/{debug-session-routes.ts → agent-session-routes.ts} +12 -12
- package/template/apps/server/src/agent/{debug-session-validation.ts → agent-session-validation.ts} +13 -11
- package/template/apps/server/src/agent/client-session/authorization.ts +47 -0
- package/template/apps/server/src/agent/client-session/bootstrap.ts +96 -0
- package/template/apps/server/src/agent/client-session/capabilities.ts +19 -0
- package/template/apps/server/src/agent/client-session/completion.ts +299 -0
- package/template/apps/server/src/agent/client-session/contracts.ts +136 -0
- package/template/apps/server/src/agent/client-session/digest.ts +39 -0
- package/template/apps/server/src/agent/client-session/drizzle-repository.integration.test.ts +170 -0
- package/template/apps/server/src/agent/client-session/drizzle-repository.ts +345 -0
- package/template/apps/server/src/agent/client-session/errors.ts +28 -0
- package/template/apps/server/src/agent/client-session/fixtures/page-agent-1.12.2-request.json +52 -0
- package/template/apps/server/src/agent/client-session/host-auth.test.ts +144 -0
- package/template/apps/server/src/agent/client-session/host-auth.ts +110 -0
- package/template/apps/server/src/agent/client-session/manifest-admission.ts +240 -0
- package/template/apps/server/src/agent/client-session/openai-stream.ts +123 -0
- package/template/apps/server/src/agent/client-session/presentation.ts +46 -0
- package/template/apps/server/src/agent/client-session/remote-provider.test.ts +144 -0
- package/template/apps/server/src/agent/client-session/remote-provider.ts +216 -0
- package/template/apps/server/src/agent/client-session/repository.ts +225 -0
- package/template/apps/server/src/agent/client-session/request.test.ts +69 -0
- package/template/apps/server/src/agent/client-session/request.ts +289 -0
- package/template/apps/server/src/agent/client-session/revocation.ts +23 -0
- package/template/apps/server/src/agent/client-session/routes.ts +315 -0
- package/template/apps/server/src/agent/client-session/runtime-audit.ts +42 -0
- package/template/apps/server/src/agent/client-session/service.test-support.ts +226 -0
- package/template/apps/server/src/agent/client-session/service.test.ts +268 -0
- package/template/apps/server/src/agent/client-session/service.ts +346 -0
- package/template/apps/server/src/agent/context-memory/attempt-context-contracts.ts +60 -0
- package/template/apps/server/src/agent/context-memory/authoritative-source-registry.ts +127 -0
- package/template/apps/server/src/agent/context-memory/context-builder.test.ts +160 -0
- package/template/apps/server/src/agent/context-memory/context-builder.ts +184 -0
- package/template/apps/server/src/agent/context-memory/contracts.ts +284 -0
- package/template/apps/server/src/agent/context-memory/digest.ts +22 -0
- package/template/apps/server/src/agent/context-memory/memory-authorization.ts +82 -0
- package/template/apps/server/src/agent/context-memory/memory-content.ts +69 -0
- package/template/apps/server/src/agent/context-memory/memory-object-registry.ts +87 -0
- package/template/apps/server/src/agent/context-memory/memory-projector-contracts.ts +121 -0
- package/template/apps/server/src/agent/context-memory/memory-projector-validation.ts +155 -0
- package/template/apps/server/src/agent/context-memory/memory-projector.test.ts +19 -0
- package/template/apps/server/src/agent/context-memory/memory-projector.ts +259 -0
- package/template/apps/server/src/agent/context-memory/memory-retrieval-policy.ts +195 -0
- package/template/apps/server/src/agent/context-memory/memory-retriever.test.ts +339 -0
- package/template/apps/server/src/agent/context-memory/memory-retriever.ts +184 -0
- package/template/apps/server/src/agent/context-memory/search-provider-port.test.ts +62 -0
- package/template/apps/server/src/agent/context-memory/search-provider-port.ts +75 -0
- package/template/apps/server/src/agent/context-memory/working-context-expiry.ts +95 -0
- package/template/apps/server/src/agent/context-message-recovery.ts +23 -0
- package/template/apps/server/src/agent/context-version-routes.ts +241 -0
- package/template/apps/server/src/agent/context-version-runtime.ts +332 -0
- package/template/apps/server/src/agent/context-version-support.ts +93 -0
- package/template/apps/server/src/agent/context-version-validation.ts +118 -0
- package/template/apps/server/src/agent/drizzle-run-binding-repository.ts +11 -0
- package/template/apps/server/src/agent/idempotency-key.ts +9 -1
- package/template/apps/server/src/agent/memory-runtime-adapters.ts +266 -0
- package/template/apps/server/src/agent/memory-scope-binding.ts +14 -0
- package/template/apps/server/src/agent/module-ai-port-factory.ts +41 -0
- package/template/apps/server/src/agent/provider-input-governance.ts +19 -0
- package/template/apps/server/src/agent/remote-runtime-response.ts +162 -0
- package/template/apps/server/src/agent/remote-runtime.ts +53 -153
- package/template/apps/server/src/agent/run-audit.ts +2 -2
- package/template/apps/server/src/agent/run-authorization.test.ts +27 -0
- package/template/apps/server/src/agent/run-authorization.ts +60 -1
- package/template/apps/server/src/agent/run-binding-repository.ts +9 -0
- package/template/apps/server/src/agent/run-browser-authorization.ts +79 -0
- package/template/apps/server/src/agent/run-contracts.ts +23 -0
- package/template/apps/server/src/agent/run-facade.ts +139 -139
- package/template/apps/server/src/agent/run-failure-cleanup.ts +58 -0
- package/template/apps/server/src/agent/run-operation-policy.ts +20 -0
- package/template/apps/server/src/agent/run-route-input.ts +19 -1
- package/template/apps/server/src/agent/run-routes.ts +133 -5
- package/template/apps/server/src/agent/run-runtime-request.ts +89 -0
- package/template/apps/server/src/agent/run-session-authorization.ts +95 -0
- package/template/apps/server/src/agent/run-start-preparation.ts +71 -0
- package/template/apps/server/src/agent/runtime-bootstrap-input.ts +42 -0
- package/template/apps/server/src/agent/runtime-bootstrap-report.test.ts +53 -1
- package/template/apps/server/src/agent/runtime-bootstrap.ts +114 -111
- package/template/apps/server/src/agent/runtime-tool-composition.ts +38 -0
- package/template/apps/server/src/agent/session-context-source-support.ts +38 -0
- package/template/apps/server/src/agent/session-context-source.ts +346 -0
- package/template/apps/server/src/agent/session-invalidation/contracts.ts +217 -0
- package/template/apps/server/src/agent/session-invalidation/dispatcher.contract.test.ts +333 -0
- package/template/apps/server/src/agent/session-invalidation/dispatcher.ts +205 -0
- package/template/apps/server/src/agent/session-invalidation/module-authoritative-producer.test.ts +127 -0
- package/template/apps/server/src/agent/session-invalidation/module-authoritative-producer.ts +202 -0
- package/template/apps/server/src/agent/session-invalidation/read-guard.ts +39 -0
- package/template/apps/server/src/agent/session-invalidation/runtime.ts +69 -0
- package/template/apps/server/src/agent/session-invalidation/test-envelopes.ts +24 -0
- package/template/apps/server/src/agent/session-invalidation/worker.contract.test.ts +135 -0
- package/template/apps/server/src/agent/session-invalidation/worker.ts +76 -0
- package/template/apps/server/src/agent/session-log/checkpoint-digest.ts +36 -0
- package/template/apps/server/src/agent/session-log/domain.ts +123 -0
- package/template/apps/server/src/agent/session-log/events.ts +229 -0
- package/template/apps/server/src/agent/session-log/history.ts +143 -0
- package/template/apps/server/src/agent/session-log/in-memory-repository.ts +340 -0
- package/template/apps/server/src/agent/session-log/lifecycle.ts +67 -0
- package/template/apps/server/src/agent/session-log/replay-policy.ts +76 -0
- package/template/apps/server/src/agent/session-log/repository.ts +103 -0
- package/template/apps/server/src/agent/session-log/service.ts +349 -0
- package/template/apps/server/src/agent/session-log/session-log.test.ts +282 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-context-memory.ts +348 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-governed-context.ts +328 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-invalidation-outbox.ts +260 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-memory-projection-deletion.ts +56 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-run-projection-receipt.ts +80 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-session-fork.ts +147 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-session-list.ts +24 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-session-mapping.ts +154 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-session-mutations.ts +64 -0
- package/template/apps/server/src/agent/session-persistence/drizzle-session-repository.ts +335 -0
- package/template/apps/server/src/agent/session-persistence/invalidation-projections.ts +229 -0
- package/template/apps/server/src/agent/session-persistence/payload-codec.ts +90 -0
- package/template/apps/server/src/agent/session-projection-access.ts +155 -0
- package/template/apps/server/src/agent/session-projection-bootstrap.ts +87 -0
- package/template/apps/server/src/agent/session-projection-errors.ts +22 -0
- package/template/apps/server/src/agent/session-projection-facade.ts +349 -0
- package/template/apps/server/src/agent/session-projection-routes.ts +215 -0
- package/template/apps/server/src/agent/session-projection-view.ts +137 -0
- package/template/apps/server/src/agent/session-result-memory.ts +228 -0
- package/template/apps/server/src/agent/session-run-lifecycle.ts +85 -0
- package/template/apps/server/src/agent/session-run-link-contracts.ts +56 -0
- package/template/apps/server/src/agent/session-run-link.ts +343 -0
- package/template/apps/server/src/agent/session-run-recovery.ts +16 -0
- package/template/apps/server/src/agent/session-runtime-composition.ts +265 -0
- package/template/apps/server/src/agent/session-source-chain-authorizer.ts +141 -0
- package/template/apps/server/src/agent/session-terminal-reconciler.ts +100 -0
- package/template/apps/server/src/agent/session-turn-state.ts +49 -0
- package/template/apps/server/src/agent/tool-audit.ts +3 -3
- package/template/apps/server/src/agent/tool-execution-receipt.ts +13 -0
- package/template/apps/server/src/agent/tool-host.ts +41 -4
- package/template/apps/server/src/agent/tool-registry-composition.ts +52 -0
- package/template/apps/server/src/agent/tool-registry.test.ts +5 -5
- package/template/apps/server/src/agent/tool-registry.ts +53 -59
- package/template/apps/server/src/agent/unavailable-routes.ts +49 -5
- package/template/apps/server/src/agent/workflow-durable-runtime-input.ts +32 -0
- package/template/apps/server/src/agent/workflow-runtime-bootstrap.ts +59 -0
- package/template/apps/server/src/agent-workflow/adapter-dispatch.ts +148 -0
- package/template/apps/server/src/agent-workflow/approval-node-adapter.ts +77 -0
- package/template/apps/server/src/agent-workflow/artifact-access-error.ts +9 -0
- package/template/apps/server/src/agent-workflow/artifact-node-adapter.ts +67 -0
- package/template/apps/server/src/agent-workflow/artifact-policy.ts +71 -0
- package/template/apps/server/src/agent-workflow/artifact-source-authorization.ts +85 -0
- package/template/apps/server/src/agent-workflow/authorization.ts +238 -0
- package/template/apps/server/src/agent-workflow/budget-ledger.ts +118 -0
- package/template/apps/server/src/agent-workflow/budget-validation.ts +305 -0
- package/template/apps/server/src/agent-workflow/canonical-agent-run-binding.ts +17 -0
- package/template/apps/server/src/agent-workflow/canonical-agent-run-evidence.ts +142 -0
- package/template/apps/server/src/agent-workflow/canonical-agent-run-port.ts +304 -0
- package/template/apps/server/src/agent-workflow/canonical-agent-run-remote.ts +64 -0
- package/template/apps/server/src/agent-workflow/canonical-json.ts +16 -0
- package/template/apps/server/src/agent-workflow/command-drive.ts +195 -0
- package/template/apps/server/src/agent-workflow/command-error.ts +9 -0
- package/template/apps/server/src/agent-workflow/command-facade.ts +290 -0
- package/template/apps/server/src/agent-workflow/command-input.ts +133 -0
- package/template/apps/server/src/agent-workflow/condition-node-adapter.ts +69 -0
- package/template/apps/server/src/agent-workflow/definition-budget-validation.ts +41 -0
- package/template/apps/server/src/agent-workflow/definition-node-validation.ts +197 -0
- package/template/apps/server/src/agent-workflow/definition-validation.ts +198 -0
- package/template/apps/server/src/agent-workflow/delegated-tool-authorization.ts +15 -0
- package/template/apps/server/src/agent-workflow/delegation-child-delivery.ts +129 -0
- package/template/apps/server/src/agent-workflow/delegation-execution-authorization.ts +218 -0
- package/template/apps/server/src/agent-workflow/delegation-policy-validation.ts +253 -0
- package/template/apps/server/src/agent-workflow/delegation-policy.ts +179 -0
- package/template/apps/server/src/agent-workflow/drizzle-artifact-port.ts +211 -0
- package/template/apps/server/src/agent-workflow/drizzle-artifact-support.ts +152 -0
- package/template/apps/server/src/agent-workflow/drizzle-budget-ledger-settlement.ts +271 -0
- package/template/apps/server/src/agent-workflow/drizzle-budget-ledger-support.ts +226 -0
- package/template/apps/server/src/agent-workflow/drizzle-budget-ledger.ts +189 -0
- package/template/apps/server/src/agent-workflow/drizzle-cancellation-reconcile.ts +177 -0
- package/template/apps/server/src/agent-workflow/drizzle-delegated-tool-authorization.ts +155 -0
- package/template/apps/server/src/agent-workflow/drizzle-delegation-completion.ts +84 -0
- package/template/apps/server/src/agent-workflow/drizzle-delegation-lifecycle.ts +139 -0
- package/template/apps/server/src/agent-workflow/drizzle-delegation-port.ts +288 -0
- package/template/apps/server/src/agent-workflow/drizzle-effect-command-fence.ts +333 -0
- package/template/apps/server/src/agent-workflow/drizzle-evaluation-repository.ts +214 -0
- package/template/apps/server/src/agent-workflow/drizzle-event-validation.ts +43 -0
- package/template/apps/server/src/agent-workflow/drizzle-recovery-admission.ts +115 -0
- package/template/apps/server/src/agent-workflow/drizzle-repository-lineage.ts +103 -0
- package/template/apps/server/src/agent-workflow/drizzle-repository-mappers.ts +317 -0
- package/template/apps/server/src/agent-workflow/drizzle-repository-write.ts +311 -0
- package/template/apps/server/src/agent-workflow/drizzle-repository.ts +285 -0
- package/template/apps/server/src/agent-workflow/drizzle-side-effect-repository.ts +83 -0
- package/template/apps/server/src/agent-workflow/drizzle-write-support.ts +101 -0
- package/template/apps/server/src/agent-workflow/durable-continuation-authorization.ts +109 -0
- package/template/apps/server/src/agent-workflow/durable-continuation-driver.ts +97 -0
- package/template/apps/server/src/agent-workflow/durable-continuation-runtime.ts +173 -0
- package/template/apps/server/src/agent-workflow/durable-job-node-adapter.ts +106 -0
- package/template/apps/server/src/agent-workflow/effect-command-fence.ts +250 -0
- package/template/apps/server/src/agent-workflow/evaluation-evidence-coordinates.ts +225 -0
- package/template/apps/server/src/agent-workflow/evaluation-evidence-metrics.ts +280 -0
- package/template/apps/server/src/agent-workflow/evaluation-evidence-reader.ts +326 -0
- package/template/apps/server/src/agent-workflow/evaluation-metrics-validation.ts +85 -0
- package/template/apps/server/src/agent-workflow/evaluation-projection.ts +70 -0
- package/template/apps/server/src/agent-workflow/evaluation-repository.ts +134 -0
- package/template/apps/server/src/agent-workflow/evaluation-service.ts +292 -0
- package/template/apps/server/src/agent-workflow/evaluation-tool-registration.ts +95 -0
- package/template/apps/server/src/agent-workflow/evaluation-validation.ts +331 -0
- package/template/apps/server/src/agent-workflow/event-validation.ts +277 -0
- package/template/apps/server/src/agent-workflow/governed-tool-schema.ts +55 -0
- package/template/apps/server/src/agent-workflow/in-memory-evaluation-repository.ts +123 -0
- package/template/apps/server/src/agent-workflow/in-memory-mutation-validation.ts +154 -0
- package/template/apps/server/src/agent-workflow/in-memory-repository-support.ts +277 -0
- package/template/apps/server/src/agent-workflow/in-memory-repository.ts +339 -0
- package/template/apps/server/src/agent-workflow/in-memory-side-effect-store.ts +78 -0
- package/template/apps/server/src/agent-workflow/input-receipt.ts +55 -0
- package/template/apps/server/src/agent-workflow/model-node-adapter.ts +86 -0
- package/template/apps/server/src/agent-workflow/model-pricing-catalog.ts +215 -0
- package/template/apps/server/src/agent-workflow/node-adapter-factory.ts +83 -0
- package/template/apps/server/src/agent-workflow/node-adapters.ts +50 -0
- package/template/apps/server/src/agent-workflow/node-execution-ports.ts +185 -0
- package/template/apps/server/src/agent-workflow/node-input-receipt-port.ts +42 -0
- package/template/apps/server/src/agent-workflow/node-result-receipt.ts +50 -0
- package/template/apps/server/src/agent-workflow/platform-node-adapter-support.ts +185 -0
- package/template/apps/server/src/agent-workflow/platform-node-adapters.ts +256 -0
- package/template/apps/server/src/agent-workflow/platform-node-approval.ts +146 -0
- package/template/apps/server/src/agent-workflow/platform-node-direct-adapters.ts +65 -0
- package/template/apps/server/src/agent-workflow/production-delegation-scope.ts +58 -0
- package/template/apps/server/src/agent-workflow/production-node-policies.ts +62 -0
- package/template/apps/server/src/agent-workflow/query-service.ts +198 -0
- package/template/apps/server/src/agent-workflow/release.ts +96 -0
- package/template/apps/server/src/agent-workflow/repository.ts +157 -0
- package/template/apps/server/src/agent-workflow/routes.ts +307 -0
- package/template/apps/server/src/agent-workflow/runtime-composition.ts +308 -0
- package/template/apps/server/src/agent-workflow/scheduler-cancellation-reconcile.ts +253 -0
- package/template/apps/server/src/agent-workflow/scheduler-cancellation-support.ts +145 -0
- package/template/apps/server/src/agent-workflow/scheduler-cancellation.ts +2 -0
- package/template/apps/server/src/agent-workflow/scheduler-context.ts +85 -0
- package/template/apps/server/src/agent-workflow/scheduler-deadline.ts +65 -0
- package/template/apps/server/src/agent-workflow/scheduler-effect-result.ts +205 -0
- package/template/apps/server/src/agent-workflow/scheduler-execution-convergence.ts +174 -0
- package/template/apps/server/src/agent-workflow/scheduler-execution.ts +211 -0
- package/template/apps/server/src/agent-workflow/scheduler-failure.ts +102 -0
- package/template/apps/server/src/agent-workflow/scheduler-join-cancellation.ts +282 -0
- package/template/apps/server/src/agent-workflow/scheduler-mutation-queue.ts +13 -0
- package/template/apps/server/src/agent-workflow/scheduler-node-timeout.ts +139 -0
- package/template/apps/server/src/agent-workflow/scheduler-parallel-dispatch.ts +99 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-activation.ts +63 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-budget.ts +41 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-effect.ts +331 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-event-time.ts +26 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-failed-policy.ts +129 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-node.ts +208 -0
- package/template/apps/server/src/agent-workflow/scheduler-recovery-policy-convergence.ts +140 -0
- package/template/apps/server/src/agent-workflow/scheduler-reservation-convergence.ts +40 -0
- package/template/apps/server/src/agent-workflow/scheduler-side-effect-execution.ts +249 -0
- package/template/apps/server/src/agent-workflow/scheduler-support.ts +235 -0
- package/template/apps/server/src/agent-workflow/scheduler-workflow-cancellation.ts +296 -0
- package/template/apps/server/src/agent-workflow/scheduler.ts +289 -0
- package/template/apps/server/src/agent-workflow/service-completion.ts +102 -0
- package/template/apps/server/src/agent-workflow/service-mutation-identity.ts +94 -0
- package/template/apps/server/src/agent-workflow/service-node-admission.ts +36 -0
- package/template/apps/server/src/agent-workflow/service-node-run-update.ts +55 -0
- package/template/apps/server/src/agent-workflow/service-recovery-events.ts +38 -0
- package/template/apps/server/src/agent-workflow/service-recovery.ts +264 -0
- package/template/apps/server/src/agent-workflow/service-retry.ts +86 -0
- package/template/apps/server/src/agent-workflow/service-run-command.ts +131 -0
- package/template/apps/server/src/agent-workflow/service-state-error.ts +21 -0
- package/template/apps/server/src/agent-workflow/service-state-invariants.ts +44 -0
- package/template/apps/server/src/agent-workflow/service-support.ts +152 -0
- package/template/apps/server/src/agent-workflow/service.ts +307 -0
- package/template/apps/server/src/agent-workflow/side-effect-state.ts +226 -0
- package/template/apps/server/src/agent-workflow/state-machine.ts +321 -0
- package/template/apps/server/src/agent-workflow/subagent-node-adapter.ts +229 -0
- package/template/apps/server/src/agent-workflow/tool-node-adapter.ts +259 -0
- package/template/apps/server/src/agent-workflow/usage.ts +149 -0
- package/template/apps/server/src/agent-workflow/wait-signal-service.ts +147 -0
- package/template/apps/server/src/agent-workflow/workflow-artifact-token.ts +109 -0
- package/template/apps/server/src/agent-workflow/workflow-value-validation.ts +101 -0
- package/template/apps/server/src/agent-workflow/workspace-policy.ts +109 -0
- package/template/apps/server/src/ai-runtime-report/remote-parser.ts +41 -0
- package/template/apps/server/src/ai-runtime-report/service.test.ts +2 -0
- package/template/apps/server/src/app/agent-runtime-composition.ts +38 -0
- package/template/apps/server/src/app/client-agent-host-auth-binding.ts +10 -0
- package/template/apps/server/src/auth/actor-resolver.test.ts +33 -0
- package/template/apps/server/src/auth/actor-resolver.ts +6 -1
- package/template/apps/server/src/auth/composition.ts +36 -0
- package/template/apps/server/src/auth/routes.test-support.ts +2 -0
- package/template/apps/server/src/auth/routes.test.ts +18 -0
- package/template/apps/server/src/auth/runtime.ts +2 -0
- package/template/apps/server/src/auth/service-options.ts +16 -0
- package/template/apps/server/src/auth/service.ts +7 -12
- package/template/apps/server/src/index.ts +35 -37
- package/template/apps/server/src/license/pairing-service.test.ts +1 -1
- package/template/apps/server/src/module-host/agent-session-memory-port.ts +91 -0
- package/template/apps/server/src/module-host/{debug-session-provider-registration.test.ts → agent-session-provider-registration.test.ts} +42 -17
- package/template/apps/server/src/module-host/{debug-session-provider-registration.ts → agent-session-provider-registration.ts} +18 -18
- package/template/apps/server/src/module-host/agent-source-invalidation-port.ts +53 -0
- package/template/apps/server/src/module-host/http-runtime.ts +14 -0
- package/template/apps/server/src/module-host/initialize-contracts.ts +4 -5
- package/template/apps/server/src/module-host/initialize.ts +4 -4
- package/template/apps/server/src/module-host/request-context.test.ts +5 -5
- package/template/apps/server/src/module-host/request-context.ts +8 -0
- package/template/apps/server/src/module-host/route-install-context.ts +65 -0
- package/template/apps/server/src/module-host/route-installer.ts +11 -56
- package/template/apps/server/src/module-host/scoped-host.ts +17 -12
- package/template/apps/server/src/module-host/storage-authorization-binding.test.ts +3 -3
- package/template/apps/server/src/module-host.ts +3 -5
- package/template/apps/server/src/runtime.ts +3 -36
- package/template/apps/server/src/storage/routes-stream-cancellation.test.ts +19 -0
- package/template/apps/server/src/storage/routes.ts +3 -1
- package/template/apps/server/src/system/actor.ts +15 -2
- package/template/apps/server/src/system/authorization-invalidation-bridge.ts +30 -0
- package/template/apps/server/src/system/authorization-invalidation-composition.ts +36 -0
- package/template/apps/server/src/system/drizzle-system.ts +8 -1
- package/template/apps/server/src/system/identity-route-config.ts +9 -1
- package/template/apps/server/src/system/routes.ts +3 -0
- package/template/apps/server/src/system/seed.ts +3 -0
- package/template/apps/server/src/system/user-account-policy.ts +91 -0
- package/template/apps/web/package.json +1 -0
- package/template/apps/web/src/layout/AppSidebar.vue +2 -0
- package/template/apps/web/src/pages/system/AgentSessionPage.vue +73 -0
- package/template/apps/web/src/pages/system/AgentSessionPage.webtest.ts +66 -0
- package/template/apps/web/src/pages/system/AgentWorkflowPage.vue +69 -0
- package/template/apps/web/src/pages/system/components/agent-session/AgentSessionDetail.vue +114 -0
- package/template/apps/web/src/pages/system/components/agent-session/AgentSessionList.vue +84 -0
- package/template/apps/web/src/pages/system/components/agent-session/ContextVersionPanel.vue +119 -0
- package/template/apps/web/src/pages/system/components/agent-session/ContextVersionPanel.webtest.ts +46 -0
- package/template/apps/web/src/pages/system/components/agent-session/MemoryProjectionPanel.vue +163 -0
- package/template/apps/web/src/pages/system/components/agent-session/MemoryProjectionPanel.webtest.ts +62 -0
- package/template/apps/web/src/pages/system/components/agent-session/SessionTimeline.vue +71 -0
- package/template/apps/web/src/pages/system/components/agent-session/SessionTimeline.webtest.ts +34 -0
- package/template/apps/web/src/pages/system/components/agent-session/agent-session-presenter.ts +56 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowNodeCard.vue +39 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowNodeDetail.vue +172 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunDetail.vue +151 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunGraph.vue +96 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunList.vue +100 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunSummary.vue +148 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/agent-workflow-presenter.ts +74 -0
- package/template/apps/web/src/pages/system/components/agent-workflow/workflow-graph-layout.ts +108 -0
- package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunDetailDialog.vue +9 -0
- package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunDetailDialog.webtest.ts +22 -0
- package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunTable.webtest.ts +2 -0
- package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeTrajectory.vue +118 -0
- package/template/apps/web/src/pages/system/composables/useAgentSessions.ts +209 -0
- package/template/apps/web/src/pages/system/composables/useAgentSessions.webtest.ts +138 -0
- package/template/apps/web/src/pages/system/composables/useAgentWorkflowRuns.ts +173 -0
- package/template/apps/web/src/router/index.ts +4 -0
- package/template/apps/web/src/router/platform-admin-route-bindings.ts +6 -0
- package/template/apps/web/src/services/agent-session-api.ts +159 -0
- package/template/apps/web/src/services/agent-session-api.webtest.ts +65 -0
- package/template/apps/web/src/services/agent-workflow-api.ts +181 -0
- package/template/apps/web/src/services/ai-runtime-api.ts +4 -0
- package/template/docker-compose.yml +11 -8
- package/template/docs/adr/0003-agent-session-event-source.md +3 -0
- package/template/docs/architecture/agent-harness.md +464 -0
- package/template/docs/architecture/agent-workflow.md +99 -0
- package/template/docs/architecture/ai-runtime.md +55 -47
- package/template/docs/architecture/module-host.md +4 -3
- package/template/docs/operations/adk-retirement.md +98 -0
- package/template/docs/operations/agent-session-memory.md +162 -0
- package/template/docs/operations/agent-session-troubleshooting.md +196 -0
- package/template/docs/operations/agent-workflow-recovery.md +74 -0
- package/template/docs/operations/incremental-delivery.md +1 -1
- package/template/docs/platform/agent-production-store.md +82 -0
- package/template/docs/platform/agent-run-reattachment.md +52 -0
- package/template/docs/platform/agent-runtime-observability.md +4 -3
- package/template/docs/platform/agent-runtime.md +116 -281
- package/template/docs/platform/agent-tool-approval.md +61 -0
- package/template/docs/platform/background-ai-operations.md +50 -0
- package/template/docs/platform/client-agent-session.md +173 -0
- package/template/docs/platform/embedding-ai-runtime.md +94 -0
- package/template/docs/platform/platform-authentication.md +5 -8
- package/template/package.json +0 -1
- package/template/packages/ai-client/index.ts +1 -0
- package/template/packages/ai-client/package.json +2 -1
- package/template/packages/ai-client/src/agent/client/client.ts +15 -2
- package/template/packages/ai-client/src/agent/client/run-protocol.test.ts +39 -25
- package/template/packages/ai-client/src/agent/client/types.ts +4 -0
- package/template/packages/ai-client/src/agent/contracts/contracts.test.ts +49 -7
- package/template/packages/ai-client/src/agent/contracts/events.ts +61 -0
- package/template/packages/ai-client/src/agent/contracts/runs.ts +1 -0
- package/template/packages/ai-client/src/client-agent/contracts.ts +131 -0
- package/template/packages/ai-client/src/client-agent/http.test.ts +60 -0
- package/template/packages/ai-client/src/client-agent/http.ts +66 -0
- package/template/packages/ai-client/src/client-agent/index.ts +3 -0
- package/template/packages/ai-client/src/client-agent/validation.test.ts +57 -0
- package/template/packages/ai-client/src/client-agent/validation.ts +152 -0
- package/template/packages/config/index.test.ts +18 -0
- package/template/packages/config/package.json +1 -1
- package/template/packages/config/src/platform-validation.ts +8 -0
- package/template/packages/config/src/platform.ts +22 -9
- package/template/packages/database/drizzle/0055_square_yellowjacket.sql +47 -0
- package/template/packages/database/drizzle/0056_tricky_living_mummy.sql +2 -0
- package/template/packages/database/drizzle/0057_mature_doomsday.sql +4 -0
- package/template/packages/database/drizzle/0058_agent_session_memory.sql +159 -0
- package/template/packages/database/drizzle/0059_agent_source_module_key.sql +16 -0
- package/template/packages/database/drizzle/0060_slimy_rocket_raccoon.sql +43 -0
- package/template/packages/database/drizzle/0061_agent_workflow.sql +303 -0
- package/template/packages/database/drizzle/meta/0055_snapshot.json +11071 -0
- package/template/packages/database/drizzle/meta/0056_snapshot.json +11098 -0
- package/template/packages/database/drizzle/meta/0057_snapshot.json +10878 -0
- package/template/packages/database/drizzle/meta/0058_snapshot.json +12294 -0
- package/template/packages/database/drizzle/meta/0059_snapshot.json +12344 -0
- package/template/packages/database/drizzle/meta/0060_snapshot.json +12326 -0
- package/template/packages/database/drizzle/meta/0061_snapshot.json +14395 -0
- package/template/packages/database/drizzle/meta/_journal.json +49 -0
- package/template/packages/database/package.json +1 -1
- package/template/packages/database/src/agent-runtime-schema.test.ts +26 -0
- package/template/packages/database/src/schema/agent-context-message.ts +38 -0
- package/template/packages/database/src/schema/agent-runtime.ts +7 -0
- package/template/packages/database/src/schema/agent-session-receipt.ts +36 -0
- package/template/packages/database/src/schema/agent-session.ts +344 -0
- package/template/packages/database/src/schema/agent-workflow-delegation.ts +126 -0
- package/template/packages/database/src/schema/agent-workflow-effects.ts +213 -0
- package/template/packages/database/src/schema/agent-workflow-evaluation.ts +67 -0
- package/template/packages/database/src/schema/agent-workflow.ts +270 -0
- package/template/packages/database/src/schema/client-agent.ts +95 -0
- package/template/packages/database/src/schema/index.ts +8 -0
- package/template/packages/jobs/package.json +1 -1
- package/template/packages/modules/index.ts +2 -0
- package/template/packages/modules/package.json +1 -1
- package/template/packages/modules/src/ai-client-execution-composition.test.ts +98 -0
- package/template/packages/modules/src/ai-client-execution-policy.ts +54 -0
- package/template/packages/modules/src/ai-operation-composition.ts +2 -0
- package/template/packages/modules/src/manifest.ts +15 -0
- package/template/packages/modules/src/system-admin-routes.ts +16 -0
- package/template/packages/modules/src/system-admin-ui-catalog.ts +4 -1
- package/template/packages/modules/src/system-agent-audit-actions.ts +26 -0
- package/template/packages/modules/src/system-ai-api-bindings.ts +262 -0
- package/template/packages/modules/src/system-api-control-plane.ts +4 -78
- package/template/packages/modules/src/system-audit-actions.ts +113 -0
- package/template/packages/modules/src/system-features.ts +17 -0
- package/template/packages/modules/src/system-module-catalog.ts +21 -11
- package/template/packages/modules/src/system-modules.ts +22 -0
- package/template/packages/modules/src/system-permissions.ts +8 -0
- package/template/packages/server-sdk/index.ts +43 -0
- package/template/packages/server-sdk/package.json +5 -1
- package/template/packages/server-sdk/src/agent-session-memory-port.ts +64 -0
- package/template/packages/server-sdk/src/agent-session-provider.ts +63 -0
- package/template/packages/server-sdk/src/agent-source-invalidation-port.ts +54 -0
- package/template/packages/server-sdk/src/ai-operation-registration.ts +2 -0
- package/template/packages/server-sdk/src/client-agent-session.ts +95 -0
- package/template/packages/server-sdk/src/debug-session-provider.ts +14 -63
- package/template/packages/server-sdk/src/module-host.ts +7 -3
- package/template/packages/server-sdk/src/request-context.ts +6 -0
- package/template/packages/shared/index.ts +3 -0
- package/template/packages/shared/package.json +1 -1
- package/template/packages/shared/src/agent-workflow-definition.ts +113 -0
- package/template/packages/shared/src/agent-workflow-delegation.ts +123 -0
- package/template/packages/shared/src/agent-workflow-evaluation.ts +159 -0
- package/template/packages/shared/src/agent-workflow-events.ts +99 -0
- package/template/packages/shared/src/agent-workflow-run.ts +259 -0
- package/template/packages/shared/src/agent-workflow.ts +3 -0
- package/template/packages/shared/src/ai-runtime-report.ts +25 -0
- package/template/packages/shared/src/rbac.ts +24 -0
- package/template/packages/storage/package.json +1 -1
- package/template/packages/storage/src/upload-streams.test.ts +31 -0
- package/template/packages/storage/src/upload-streams.ts +20 -6
- package/template/apps/agent-server/adk_web_agents/__init__.py +0 -1
- package/template/apps/agent-server/adk_web_agents/canonical_debug/__init__.py +0 -1
- package/template/apps/agent-server/adk_web_agents/canonical_debug/agent.py +0 -145
- package/template/apps/agent-server/adk_web_agents/safe_debug/__init__.py +0 -3
- package/template/apps/agent-server/adk_web_agents/safe_debug/agent.py +0 -40
- package/template/apps/agent-server/adk_web_agents/services.py +0 -25
- package/template/apps/agent-server/project/adk-web-debug.json +0 -4
- package/template/apps/agent-server/src/southwind_agent_server/adk_adapter.py +0 -333
- package/template/apps/agent-server/src/southwind_agent_server/adk_debug.py +0 -348
- package/template/apps/agent-server/src/southwind_agent_server/adk_debug_sessions.py +0 -325
- package/template/apps/agent-server/src/southwind_agent_server/adk_failure.py +0 -13
- package/template/apps/agent-server/src/southwind_agent_server/adk_model.py +0 -304
- package/template/apps/agent-server/src/southwind_agent_server/adk_tools.py +0 -143
- package/template/apps/agent-server/tests/test_adk_adapter.py +0 -307
- package/template/apps/agent-server/tests/test_adk_debug_result_polling.py +0 -139
- package/template/apps/agent-server/tests/test_adk_debug_sessions.py +0 -215
- package/template/apps/agent-server/tests/test_adk_web_agent.py +0 -12
- package/template/apps/agent-server/tests/test_adk_web_canonical_debug.py +0 -282
- package/template/apps/server/src/agent/run-debug-authorization.ts +0 -27
- package/template/apps/server/src/agent/run-facade-adk-debug.test.ts +0 -95
- package/template/apps/server/src/runtime-adk-debug.test.ts +0 -270
- package/template/apps/server/src/runtime-adk-debug.ts +0 -164
- package/template/apps/server/src/runtime-request-actor.test.ts +0 -55
- package/template/apps/server/src/runtime-request-actor.ts +0 -22
- package/template/docker-compose.agent-debug.yml +0 -58
- package/template/scripts/dev-adk-web.ts +0 -107
|
@@ -86,6 +86,72 @@ export const systemAuditActions: ModuleManifest["auditActions"] = [
|
|
|
86
86
|
"agent.mcp.access",
|
|
87
87
|
"agent.tool.execute",
|
|
88
88
|
"agent.operation.execute",
|
|
89
|
+
{
|
|
90
|
+
key: "agent.session.read",
|
|
91
|
+
label: "读取 Agent 长期会话",
|
|
92
|
+
description: "按当前授权读取 Session、Context 与 Memory 的只读投影。",
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: "agent.session.create",
|
|
96
|
+
label: "创建 Agent 长期会话",
|
|
97
|
+
description: "创建绑定当前 Actor 与数据范围的长期 Session。",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "agent.session.checkpoint",
|
|
101
|
+
label: "创建 Agent Session Checkpoint",
|
|
102
|
+
description: "在追加事实序列上创建可验证的恢复锚点。",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: "agent.session.replay",
|
|
106
|
+
label: "回放 Agent Session",
|
|
107
|
+
description: "只读回放指定 Checkpoint,不重新执行写 Tool。",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
key: "agent.session.fork",
|
|
111
|
+
label: "分支 Agent Session",
|
|
112
|
+
description: "从授权 Checkpoint 派生具有显式血缘的新 Session。",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
key: "agent.session.archive",
|
|
116
|
+
label: "归档 Agent Session",
|
|
117
|
+
description: "归档长期 Session 并停止新增事实。",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
key: "agent.context-version.create",
|
|
121
|
+
label: "记录 Agent Context Version",
|
|
122
|
+
description: "在模型调用前记录实际使用的受治理 Context 来源版本。",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "agent.memory.delete",
|
|
126
|
+
label: "删除 Agent Memory",
|
|
127
|
+
description: "删除当前 Actor 有权管理的记忆投影并传播失效。",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
key: "agent.client-session.create",
|
|
131
|
+
label: "创建 Client Agent Session",
|
|
132
|
+
description:
|
|
133
|
+
"创建绑定 Actor、Operation、输入承诺与宿主 binding 的受治理会话。",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
key: "agent.client-session.provider-attempt",
|
|
137
|
+
label: "执行 Client Agent Provider Attempt",
|
|
138
|
+
description: "记录受控模型调用的摘要、用量与策略结果。",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
key: "agent.client-session.finalize",
|
|
142
|
+
label: "完成 Client Agent Session",
|
|
143
|
+
description: "以本 Run 的终末 receipt 链封存公开结果。",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
key: "agent.client-session.cancel",
|
|
147
|
+
label: "取消 Client Agent Session",
|
|
148
|
+
description: "取消会话并阻止迟到 Provider 响应产生新状态。",
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
key: "agent.client-session.revoke",
|
|
152
|
+
label: "撤销 Client Agent Session",
|
|
153
|
+
description: "因宿主绑定或授权漂移即时撤销会话。",
|
|
154
|
+
},
|
|
89
155
|
{
|
|
90
156
|
key: "agent.runtime.report.read",
|
|
91
157
|
label: "读取 AI Runtime 报表",
|
|
@@ -96,6 +162,53 @@ export const systemAuditActions: ModuleManifest["auditActions"] = [
|
|
|
96
162
|
label: "读取 Agent Run 详情",
|
|
97
163
|
description: "按当前数据范围读取单个 Agent Run 与模型 Attempt 计量事实。",
|
|
98
164
|
},
|
|
165
|
+
{
|
|
166
|
+
key: "agent.workflow.release.publish",
|
|
167
|
+
label: "发布 Agent Workflow Release",
|
|
168
|
+
description: "发布由 Definition 与执行坐标共同摘要的不可变 Release。",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
key: "agent.workflow.readiness.read",
|
|
172
|
+
label: "读取 Agent Workflow 就绪状态",
|
|
173
|
+
description: "读取冻结模型与价格目录等 Workflow 生产依赖的可用状态。",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
key: "agent.workflow.run.read",
|
|
177
|
+
label: "读取 Agent Workflow Run",
|
|
178
|
+
description:
|
|
179
|
+
"在对象授权与数据范围内读取 Run、Node Run 与 canonical Event。",
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
key: "agent.workflow.run.create",
|
|
183
|
+
label: "创建 Agent Workflow Run",
|
|
184
|
+
description: "按冻结授权、工具、Workspace、执行策略与预算创建 Run。",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
key: "agent.workflow.run.cancel",
|
|
188
|
+
label: "取消 Agent Workflow Run",
|
|
189
|
+
description: "请求取消 Run,并阻止未提交的后续 Node 与副作用。",
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: "agent.workflow.run.recover",
|
|
193
|
+
label: "恢复 Agent Workflow Run",
|
|
194
|
+
description: "重新校验当前授权并协调持久副作用 receipt 后恢复 Run。",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
key: "agent.workflow.run.signal",
|
|
198
|
+
label: "恢复 Agent Workflow Wait Node",
|
|
199
|
+
description:
|
|
200
|
+
"按 Run 对象授权、Scope、Deadline 与幂等坐标提交受治理 Signal。",
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
key: "agent.workflow.evaluation.record",
|
|
204
|
+
label: "记录 Agent Workflow 评测",
|
|
205
|
+
description: "按单 Agent 与多 Agent 两臂独立证据记录真实评测事实。",
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
key: "agent.workflow.artifact.resolve",
|
|
209
|
+
label: "解析 Agent Workflow 产物",
|
|
210
|
+
description: "在对象授权与数据范围内解析 Workflow 产物引用。",
|
|
211
|
+
},
|
|
99
212
|
// @windy-module system.agent end
|
|
100
213
|
"security.denied",
|
|
101
214
|
"system.error",
|
|
@@ -103,6 +103,14 @@ export const systemFeatures: ModuleManifest["features"] = [
|
|
|
103
103
|
"Agent Tool",
|
|
104
104
|
"让受控 Agent 在权限、Feature 与审计保护下调用平台工具。",
|
|
105
105
|
),
|
|
106
|
+
{
|
|
107
|
+
...feature(
|
|
108
|
+
"system.agent-session",
|
|
109
|
+
"Agent 长期会话",
|
|
110
|
+
"恢复受治理的长期 Session,并解释 Context 与 Memory 来源。",
|
|
111
|
+
),
|
|
112
|
+
dependencies: [featureKey("system.agent")],
|
|
113
|
+
},
|
|
106
114
|
{
|
|
107
115
|
...feature(
|
|
108
116
|
"system.ai-runtime",
|
|
@@ -111,6 +119,15 @@ export const systemFeatures: ModuleManifest["features"] = [
|
|
|
111
119
|
),
|
|
112
120
|
dependencies: [featureKey("system.agent")],
|
|
113
121
|
},
|
|
122
|
+
{
|
|
123
|
+
...feature(
|
|
124
|
+
"system.agent-workflow",
|
|
125
|
+
"Agent Workflow",
|
|
126
|
+
"查看和运行具备预算、恢复、委派与持久审计边界的不可变 Agent Workflow Release。",
|
|
127
|
+
),
|
|
128
|
+
dependencies: [featureKey("system.agent")],
|
|
129
|
+
allowedLicenseVersions: advancedOnly,
|
|
130
|
+
},
|
|
114
131
|
// @windy-module system.agent end
|
|
115
132
|
// @windy-module system.operations begin
|
|
116
133
|
feature(
|
|
@@ -2,6 +2,16 @@ import type { ModuleFactory, ModuleManifest } from "./manifest.js";
|
|
|
2
2
|
import { selectSystemMenus } from "./system-module-menu-selection.js";
|
|
3
3
|
import { systemFoundationModule } from "./system-modules.js";
|
|
4
4
|
import { selectSystemJsonSchemas } from "./system-module-schema-catalog.js";
|
|
5
|
+
// @windy-module system.agent begin
|
|
6
|
+
import { agentAuditActionKeys } from "./system-agent-audit-actions.js";
|
|
7
|
+
// @windy-module system.agent end
|
|
8
|
+
|
|
9
|
+
const catalogAgentModuleNames = new Set<string>();
|
|
10
|
+
const catalogAgentAuditActionKeys = new Set<string>();
|
|
11
|
+
// @windy-module system.agent begin
|
|
12
|
+
catalogAgentModuleNames.add("system.agent");
|
|
13
|
+
for (const key of agentAuditActionKeys) catalogAgentAuditActionKeys.add(key);
|
|
14
|
+
// @windy-module system.agent end
|
|
5
15
|
|
|
6
16
|
export interface SystemModuleDefinition {
|
|
7
17
|
name: string;
|
|
@@ -119,7 +129,7 @@ export const systemModuleDefinitions = [
|
|
|
119
129
|
// @windy-module system.agent begin
|
|
120
130
|
{
|
|
121
131
|
name: "system.agent",
|
|
122
|
-
version: "0.1.
|
|
132
|
+
version: "0.1.2",
|
|
123
133
|
label: "Agent Tool",
|
|
124
134
|
description: "受 Feature、RBAC 和审计保护的 Agent 工具调用。",
|
|
125
135
|
dependencies: [
|
|
@@ -129,8 +139,13 @@ export const systemModuleDefinitions = [
|
|
|
129
139
|
"system.scheduler",
|
|
130
140
|
"system.workflow",
|
|
131
141
|
],
|
|
132
|
-
resources: ["agent", "ai-runtime"],
|
|
133
|
-
featureKeys: [
|
|
142
|
+
resources: ["agent", "agent-session", "agent-workflow", "ai-runtime"],
|
|
143
|
+
featureKeys: [
|
|
144
|
+
"system.agent",
|
|
145
|
+
"system.agent-session",
|
|
146
|
+
"system.agent-workflow",
|
|
147
|
+
"system.ai-runtime",
|
|
148
|
+
],
|
|
134
149
|
},
|
|
135
150
|
// @windy-module system.agent end
|
|
136
151
|
// @windy-module system.operations begin
|
|
@@ -300,16 +315,16 @@ function createSystemCapabilityModule(
|
|
|
300
315
|
? aggregate.auditActions.filter(
|
|
301
316
|
(action) =>
|
|
302
317
|
auditActionKey(action) !== "system.user-directory.query" &&
|
|
303
|
-
!
|
|
318
|
+
!catalogAgentAuditActionKeys.has(auditActionKey(action)),
|
|
304
319
|
)
|
|
305
320
|
: definition.name === "system.identity"
|
|
306
321
|
? aggregate.auditActions.filter(
|
|
307
322
|
(action) =>
|
|
308
323
|
auditActionKey(action) === "system.user-directory.query",
|
|
309
324
|
)
|
|
310
|
-
: definition.name
|
|
325
|
+
: catalogAgentModuleNames.has(definition.name)
|
|
311
326
|
? aggregate.auditActions.filter((action) =>
|
|
312
|
-
|
|
327
|
+
catalogAgentAuditActionKeys.has(auditActionKey(action)),
|
|
313
328
|
)
|
|
314
329
|
: [],
|
|
315
330
|
metadata: {
|
|
@@ -321,11 +336,6 @@ function createSystemCapabilityModule(
|
|
|
321
336
|
};
|
|
322
337
|
}
|
|
323
338
|
|
|
324
|
-
const aiRuntimeAuditActions = new Set([
|
|
325
|
-
"agent.runtime.report.read",
|
|
326
|
-
"agent.runtime.run.read",
|
|
327
|
-
]);
|
|
328
|
-
|
|
329
339
|
function auditActionKey(
|
|
330
340
|
action: ModuleManifest["auditActions"][number],
|
|
331
341
|
): string {
|
|
@@ -241,6 +241,17 @@ export function systemFoundationModule(): ModuleManifest {
|
|
|
241
241
|
},
|
|
242
242
|
// @windy-module system.operations end
|
|
243
243
|
// @windy-module system.agent begin
|
|
244
|
+
{
|
|
245
|
+
key: "system.agent-session",
|
|
246
|
+
title: "Agent 会话",
|
|
247
|
+
type: "menu",
|
|
248
|
+
order: 14,
|
|
249
|
+
visible: true,
|
|
250
|
+
path: "/admin/system/agent-sessions",
|
|
251
|
+
icon: "messages-square",
|
|
252
|
+
permissionKey: "system.agent-session.read",
|
|
253
|
+
featureKey: "system.agent-session",
|
|
254
|
+
},
|
|
244
255
|
{
|
|
245
256
|
key: "system.ai-runtime",
|
|
246
257
|
title: "AI Runtime 报表",
|
|
@@ -252,6 +263,17 @@ export function systemFoundationModule(): ModuleManifest {
|
|
|
252
263
|
permissionKey: "system.ai-runtime.read",
|
|
253
264
|
featureKey: "system.ai-runtime",
|
|
254
265
|
},
|
|
266
|
+
{
|
|
267
|
+
key: "system.agent-workflow",
|
|
268
|
+
title: "Agent Workflow",
|
|
269
|
+
type: "menu",
|
|
270
|
+
order: 16,
|
|
271
|
+
visible: true,
|
|
272
|
+
path: "/admin/system/agent-workflows",
|
|
273
|
+
icon: "git-fork",
|
|
274
|
+
permissionKey: "system.agent-workflow.read",
|
|
275
|
+
featureKey: "system.agent-workflow",
|
|
276
|
+
},
|
|
255
277
|
// @windy-module system.agent end
|
|
256
278
|
// @windy-module system.workflow begin
|
|
257
279
|
{
|
|
@@ -19,8 +19,12 @@ const systemResourceLabels = {
|
|
|
19
19
|
profile: "个人设置",
|
|
20
20
|
license: "许可证管理",
|
|
21
21
|
audit: "审计日志",
|
|
22
|
+
// @windy-module system.agent begin
|
|
22
23
|
agent: "智能代理",
|
|
24
|
+
"agent-session": "Agent 长期会话",
|
|
25
|
+
"agent-workflow": "Agent Workflow",
|
|
23
26
|
"ai-runtime": "AI Runtime 报表",
|
|
27
|
+
// @windy-module system.agent end
|
|
24
28
|
ops: "运维总览",
|
|
25
29
|
scheduler: "定时任务",
|
|
26
30
|
notification: "通知管理",
|
|
@@ -125,6 +129,10 @@ export const systemPermissions: ModuleManifest["permissions"] = [
|
|
|
125
129
|
// @windy-module system.audit end
|
|
126
130
|
// @windy-module system.agent begin
|
|
127
131
|
permission("agent", "read"),
|
|
132
|
+
permission("agent-session", "read"),
|
|
133
|
+
permission("agent-session", "manage"),
|
|
134
|
+
permission("agent-workflow", "read", "sensitive-disclosure"),
|
|
135
|
+
permission("agent-workflow", "manage"),
|
|
128
136
|
permission("ai-runtime", "read", "sensitive-disclosure"),
|
|
129
137
|
// @windy-module system.agent end
|
|
130
138
|
// @windy-module system.operations begin
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
export type { ModuleActor } from "./src/actor.js";
|
|
2
|
+
export { pageAgentClientRunCapability } from "./src/client-agent-session.js";
|
|
3
|
+
export type {
|
|
4
|
+
ModuleClientAgentHostAuthAdapter,
|
|
5
|
+
ModuleClientAgentHostPrincipal,
|
|
6
|
+
ModuleClientAgentSessionCreateInput,
|
|
7
|
+
ModuleClientAgentSessionGrant,
|
|
8
|
+
ModuleClientAgentSessionPort,
|
|
9
|
+
ModuleClientAgentSessionReceipt,
|
|
10
|
+
ModuleClientAgentSessionStatus,
|
|
11
|
+
ModuleClientAgentSessionView,
|
|
12
|
+
} from "./src/client-agent-session.js";
|
|
2
13
|
export type {
|
|
3
14
|
ModuleAiArtifactPort,
|
|
4
15
|
ModuleAiArtifactRef,
|
|
@@ -66,6 +77,18 @@ export type {
|
|
|
66
77
|
ModuleBackgroundAiPort,
|
|
67
78
|
} from "./src/background-ai-port.js";
|
|
68
79
|
export { ModuleBackgroundAiError } from "./src/background-ai-port.js";
|
|
80
|
+
export type {
|
|
81
|
+
ModuleAgentSessionContextV1,
|
|
82
|
+
ModuleAgentSessionGetInputV1,
|
|
83
|
+
ModuleAgentSessionListInputV1,
|
|
84
|
+
ModuleAgentSessionMessageV1,
|
|
85
|
+
ModuleAgentSessionPageV1,
|
|
86
|
+
ModuleAgentSessionProviderV1,
|
|
87
|
+
ModuleAgentSessionSummaryV1,
|
|
88
|
+
ModuleAgentSessionV1,
|
|
89
|
+
} from "./src/agent-session-provider.js";
|
|
90
|
+
export { MODULE_AGENT_SESSION_SCHEMA_VERSION } from "./src/agent-session-provider.js";
|
|
91
|
+
/** @deprecated 请改用 ModuleAgentSession* 类型。 */
|
|
69
92
|
export type {
|
|
70
93
|
ModuleDebugSessionContextV1,
|
|
71
94
|
ModuleDebugSessionGetInputV1,
|
|
@@ -76,6 +99,7 @@ export type {
|
|
|
76
99
|
ModuleDebugSessionSummaryV1,
|
|
77
100
|
ModuleDebugSessionV1,
|
|
78
101
|
} from "./src/debug-session-provider.js";
|
|
102
|
+
/** @deprecated 请改用 MODULE_AGENT_SESSION_SCHEMA_VERSION。 */
|
|
79
103
|
export { MODULE_DEBUG_SESSION_SCHEMA_VERSION } from "./src/debug-session-provider.js";
|
|
80
104
|
export type {
|
|
81
105
|
ModuleAuditEmitter,
|
|
@@ -153,6 +177,23 @@ export {
|
|
|
153
177
|
} from "./src/module-adapter.js";
|
|
154
178
|
export { requireModuleNamespace } from "./src/namespace.js";
|
|
155
179
|
export type { ModuleRequestContext } from "./src/request-context.js";
|
|
180
|
+
export {
|
|
181
|
+
MODULE_AGENT_SESSION_MEMORY_SCHEMA_VERSION,
|
|
182
|
+
ModuleAgentSessionMemoryError,
|
|
183
|
+
requireModuleAgentSessionMemoryPort,
|
|
184
|
+
type ModuleAgentSessionMemoryPortV1,
|
|
185
|
+
type ModuleSessionMemoryReceiptV1,
|
|
186
|
+
type ModuleSessionMemorySourceV1,
|
|
187
|
+
} from "./src/agent-session-memory-port.js";
|
|
188
|
+
export {
|
|
189
|
+
ModuleAuthoritativeSourceInvalidationUnavailableError,
|
|
190
|
+
requireModuleAuthoritativeSourceInvalidationPort,
|
|
191
|
+
type ModuleAuthoritativeSourceCoordinateV1,
|
|
192
|
+
type ModuleAuthoritativeSourceEventV1,
|
|
193
|
+
type ModuleAuthoritativeSourceInvalidationPortV1,
|
|
194
|
+
type ModuleAuthoritativeSourceInvalidationV1,
|
|
195
|
+
type ModuleSourceInvalidationAppendResultV1,
|
|
196
|
+
} from "./src/agent-source-invalidation-port.js";
|
|
156
197
|
export type {
|
|
157
198
|
ModuleAiScreenshotIntakePortV1,
|
|
158
199
|
ModuleAiScreenshotIntakeCreateV2,
|
|
@@ -246,8 +287,10 @@ export type {
|
|
|
246
287
|
ModuleDocumentOperationPlan,
|
|
247
288
|
ModuleSpeechOperationPlan,
|
|
248
289
|
} from "./src/ai-operation-registration.js";
|
|
290
|
+
// @windy-module system.agent begin
|
|
249
291
|
export {
|
|
250
292
|
defineSystemAgentSupervisorHandler,
|
|
251
293
|
type SystemAgentSupervisorBusinessRelease,
|
|
252
294
|
type SystemAgentSupervisorHandlerOptions,
|
|
253
295
|
} from "./src/system-agent-supervisor.js";
|
|
296
|
+
// @windy-module system.agent end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@southwind-ai/server-sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -26,8 +26,12 @@
|
|
|
26
26
|
"src/ai-runtime-readiness-validation.ts",
|
|
27
27
|
"src/ai-runtime-readiness-validation-values.ts",
|
|
28
28
|
"src/ai-runtime-readiness-values.ts",
|
|
29
|
+
"src/agent-session-memory-port.ts",
|
|
30
|
+
"src/agent-session-provider.ts",
|
|
31
|
+
"src/agent-source-invalidation-port.ts",
|
|
29
32
|
"src/audit-port.ts",
|
|
30
33
|
"src/background-ai-port.ts",
|
|
34
|
+
"src/client-agent-session.ts",
|
|
31
35
|
"src/data-governance-registration.ts",
|
|
32
36
|
"src/debug-session-provider.ts",
|
|
33
37
|
"src/durable-handler.ts",
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const MODULE_AGENT_SESSION_MEMORY_SCHEMA_VERSION = 1 as const;
|
|
2
|
+
|
|
3
|
+
export interface ModuleSessionMemorySourceV1 {
|
|
4
|
+
readonly kind: string;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly version: string;
|
|
7
|
+
readonly sequence: number;
|
|
8
|
+
readonly digest: string;
|
|
9
|
+
readonly checkedAt: string;
|
|
10
|
+
readonly expiresAt?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface ModuleSessionMemoryBaseV1 {
|
|
14
|
+
readonly triggerId: string;
|
|
15
|
+
readonly sessionId: string;
|
|
16
|
+
readonly throughSequence: number;
|
|
17
|
+
readonly sources: readonly ModuleSessionMemorySourceV1[];
|
|
18
|
+
readonly expiresAt?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ModuleSessionMemoryReceiptV1 {
|
|
22
|
+
readonly memoryId: string;
|
|
23
|
+
readonly version: string;
|
|
24
|
+
readonly digest: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Current-request-bound trigger seam; the Host supplies Actor, Scope and moduleKey. */
|
|
28
|
+
export interface ModuleAgentSessionMemoryPortV1 {
|
|
29
|
+
readonly schemaVersion: typeof MODULE_AGENT_SESSION_MEMORY_SCHEMA_VERSION;
|
|
30
|
+
rememberUserPreference(input: ModuleSessionMemoryBaseV1 & {
|
|
31
|
+
readonly preferenceKey: string;
|
|
32
|
+
readonly value: string;
|
|
33
|
+
}): Promise<ModuleSessionMemoryReceiptV1>;
|
|
34
|
+
proposeCaseMemory(input: ModuleSessionMemoryBaseV1 & {
|
|
35
|
+
readonly caseId: string;
|
|
36
|
+
readonly claim: string;
|
|
37
|
+
readonly confidence?: number;
|
|
38
|
+
}): Promise<ModuleSessionMemoryReceiptV1>;
|
|
39
|
+
referenceVerifiedFact(input: ModuleSessionMemoryBaseV1 & {
|
|
40
|
+
readonly caseId: string;
|
|
41
|
+
readonly fact: {
|
|
42
|
+
readonly resourceType: string;
|
|
43
|
+
readonly resourceId: string;
|
|
44
|
+
readonly version: string;
|
|
45
|
+
readonly digest: string;
|
|
46
|
+
};
|
|
47
|
+
}): Promise<ModuleSessionMemoryReceiptV1>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export class ModuleAgentSessionMemoryError extends Error {
|
|
51
|
+
readonly code = "AGENT_SESSION_MEMORY_UNAVAILABLE" as const;
|
|
52
|
+
|
|
53
|
+
constructor() {
|
|
54
|
+
super("长期 Session Memory 暂不可用");
|
|
55
|
+
this.name = "ModuleAgentSessionMemoryError";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function requireModuleAgentSessionMemoryPort(
|
|
60
|
+
port: ModuleAgentSessionMemoryPortV1 | undefined,
|
|
61
|
+
): ModuleAgentSessionMemoryPortV1 {
|
|
62
|
+
if (!port) throw new ModuleAgentSessionMemoryError();
|
|
63
|
+
return port;
|
|
64
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ModuleActor } from "./actor.js";
|
|
2
|
+
|
|
3
|
+
export const MODULE_AGENT_SESSION_SCHEMA_VERSION = 1 as const;
|
|
4
|
+
|
|
5
|
+
export interface ModuleAgentSessionContextV1 {
|
|
6
|
+
readonly actor: ModuleActor;
|
|
7
|
+
readonly operationKey: string;
|
|
8
|
+
readonly signal: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ModuleAgentSessionListInputV1 extends ModuleAgentSessionContextV1 {
|
|
12
|
+
readonly limit: number;
|
|
13
|
+
/** Provider 私有的不透明 keyset cursor;Host 只原样回传给同一 Provider。 */
|
|
14
|
+
readonly cursor?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface ModuleAgentSessionGetInputV1 extends ModuleAgentSessionContextV1 {
|
|
18
|
+
readonly sourceId: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ModuleAgentSessionSummaryV1 {
|
|
22
|
+
/** 仅在 Provider 与 Host 之间使用,不会返回给浏览器。 */
|
|
23
|
+
readonly sourceId: string;
|
|
24
|
+
readonly title: string;
|
|
25
|
+
readonly scopeLabel?: string;
|
|
26
|
+
readonly updatedAt: string;
|
|
27
|
+
readonly revision: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface ModuleAgentSessionPageV1 {
|
|
31
|
+
readonly sessions: readonly ModuleAgentSessionSummaryV1[];
|
|
32
|
+
readonly truncated: boolean;
|
|
33
|
+
/** truncated=true 时必须提供,用于 Host 继续读取直到完整。 */
|
|
34
|
+
readonly next?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ModuleAgentSessionMessageV1 {
|
|
38
|
+
readonly sequence: number;
|
|
39
|
+
readonly role: "user" | "assistant";
|
|
40
|
+
readonly content: string;
|
|
41
|
+
readonly createdAt: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface ModuleAgentSessionV1 extends ModuleAgentSessionSummaryV1 {
|
|
45
|
+
readonly messages: readonly ModuleAgentSessionMessageV1[];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* 主站只读业务会话投影。Provider 只读业务事实,Host 负责按当前登录身份重新授权、
|
|
50
|
+
* 审计、有界校验与不透明 ID;V1 不支持业务会话的追加、重命名或删除。
|
|
51
|
+
*/
|
|
52
|
+
export interface ModuleAgentSessionProviderV1 {
|
|
53
|
+
readonly schemaVersion: typeof MODULE_AGENT_SESSION_SCHEMA_VERSION;
|
|
54
|
+
readonly key: string;
|
|
55
|
+
readonly operationKeys: readonly string[];
|
|
56
|
+
readonly featureKey: string;
|
|
57
|
+
readonly permissionKey: string;
|
|
58
|
+
readonly auditAction: string;
|
|
59
|
+
list(input: ModuleAgentSessionListInputV1): Promise<ModuleAgentSessionPageV1>;
|
|
60
|
+
get(
|
|
61
|
+
input: ModuleAgentSessionGetInputV1,
|
|
62
|
+
): Promise<ModuleAgentSessionV1 | undefined>;
|
|
63
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface ModuleAuthoritativeSourceCoordinateV1 {
|
|
2
|
+
readonly sourceKind: string;
|
|
3
|
+
readonly sourceId: string;
|
|
4
|
+
readonly version: string;
|
|
5
|
+
readonly sequence: number;
|
|
6
|
+
readonly digest?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ModuleAuthoritativeSourceEventV1 {
|
|
10
|
+
readonly eventId: string;
|
|
11
|
+
readonly eventSequence: number;
|
|
12
|
+
readonly occurredAt: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ModuleAuthoritativeSourceInvalidationV1 {
|
|
16
|
+
readonly source: ModuleAuthoritativeSourceCoordinateV1;
|
|
17
|
+
readonly event: ModuleAuthoritativeSourceEventV1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type ModuleSourceInvalidationAppendResultV1 =
|
|
21
|
+
| "appended"
|
|
22
|
+
| "duplicate"
|
|
23
|
+
| "stale";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Host binds module, Actor, Scope, and the module's current business transaction.
|
|
27
|
+
* Calls outside that authoritative transaction fail closed.
|
|
28
|
+
*/
|
|
29
|
+
export interface ModuleAuthoritativeSourceInvalidationPortV1 {
|
|
30
|
+
sourceDeleted(input: ModuleAuthoritativeSourceInvalidationV1):
|
|
31
|
+
Promise<ModuleSourceInvalidationAppendResultV1>;
|
|
32
|
+
sourceExpired(input: ModuleAuthoritativeSourceInvalidationV1):
|
|
33
|
+
Promise<ModuleSourceInvalidationAppendResultV1>;
|
|
34
|
+
sourceSuperseded(input: ModuleAuthoritativeSourceInvalidationV1):
|
|
35
|
+
Promise<ModuleSourceInvalidationAppendResultV1>;
|
|
36
|
+
authorizationRevoked(input: ModuleAuthoritativeSourceInvalidationV1):
|
|
37
|
+
Promise<ModuleSourceInvalidationAppendResultV1>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class ModuleAuthoritativeSourceInvalidationUnavailableError extends Error {
|
|
41
|
+
readonly code = "SOURCE_INVALIDATION_UNAVAILABLE" as const;
|
|
42
|
+
|
|
43
|
+
constructor() {
|
|
44
|
+
super("权威来源失效写入暂不可用");
|
|
45
|
+
this.name = "ModuleAuthoritativeSourceInvalidationUnavailableError";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function requireModuleAuthoritativeSourceInvalidationPort(
|
|
50
|
+
port: ModuleAuthoritativeSourceInvalidationPortV1 | undefined,
|
|
51
|
+
) {
|
|
52
|
+
if (!port) throw new ModuleAuthoritativeSourceInvalidationUnavailableError();
|
|
53
|
+
return port;
|
|
54
|
+
}
|
|
@@ -16,6 +16,8 @@ export interface ModuleAiOperationContext {
|
|
|
16
16
|
export interface ModuleAiOperationPlan {
|
|
17
17
|
readonly instructions: string;
|
|
18
18
|
readonly userPrompt: string;
|
|
19
|
+
/** Host forwards this trusted business coordinate only for governed Case Memory lookup. */
|
|
20
|
+
readonly memoryScope?: { readonly caseId: string };
|
|
19
21
|
/**
|
|
20
22
|
* 可选 JSON Schema。宿主只把它交给受控 Runtime,并以 Manifest outputSchemaKey
|
|
21
23
|
* 关联审计;业务不能在此选择模型、Provider 或 Endpoint。
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { ModuleAiJsonValue } from "./ai-operation-registration.js";
|
|
2
|
+
|
|
3
|
+
export const pageAgentClientRunCapability = "pageAgentClientRun" as const;
|
|
4
|
+
|
|
5
|
+
export interface ModuleClientAgentHostPrincipal {
|
|
6
|
+
readonly actorId: string;
|
|
7
|
+
readonly installationId: string;
|
|
8
|
+
readonly sessionId: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ModuleClientAgentHostAuthAdapter {
|
|
12
|
+
ready(signal?: AbortSignal): Promise<boolean>;
|
|
13
|
+
authenticate(input: {
|
|
14
|
+
readonly token: string;
|
|
15
|
+
readonly purpose: "control" | "completion";
|
|
16
|
+
readonly signal?: AbortSignal;
|
|
17
|
+
}): Promise<ModuleClientAgentHostPrincipal | undefined>;
|
|
18
|
+
bindRevocations(
|
|
19
|
+
revoke: (principal: ModuleClientAgentHostPrincipal) => Promise<void>,
|
|
20
|
+
): () => void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type ModuleClientAgentSessionStatus =
|
|
24
|
+
| "active"
|
|
25
|
+
| "completed"
|
|
26
|
+
| "cancelled"
|
|
27
|
+
| "revoked"
|
|
28
|
+
| "expired";
|
|
29
|
+
|
|
30
|
+
export interface ModuleClientAgentSessionCreateInput {
|
|
31
|
+
readonly operationKey: string;
|
|
32
|
+
readonly input: ModuleAiJsonValue;
|
|
33
|
+
readonly clientBindingDigest: `sha256:${string}`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface ModuleClientAgentSessionGrant {
|
|
37
|
+
readonly clientRunId: string;
|
|
38
|
+
readonly sessionId: string;
|
|
39
|
+
readonly trustedBaseUrl: string;
|
|
40
|
+
readonly modelAlias: string;
|
|
41
|
+
readonly limits: {
|
|
42
|
+
readonly maxSteps: number;
|
|
43
|
+
readonly maxRequestBytes: number;
|
|
44
|
+
readonly maxResponseBytes: number;
|
|
45
|
+
readonly maxDurationSeconds: number;
|
|
46
|
+
readonly maxConcurrentRequests: number;
|
|
47
|
+
};
|
|
48
|
+
readonly expiresAt: string;
|
|
49
|
+
readonly accessToken: string;
|
|
50
|
+
readonly capabilities: readonly [typeof pageAgentClientRunCapability];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface ModuleClientAgentSessionReceipt {
|
|
54
|
+
readonly receiptId: string;
|
|
55
|
+
readonly attempt: number;
|
|
56
|
+
readonly requestDigest: `sha256:${string}`;
|
|
57
|
+
readonly responseDigest: `sha256:${string}`;
|
|
58
|
+
readonly deploymentDigest: `sha256:${string}`;
|
|
59
|
+
readonly issuedAt: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface ModuleClientAgentSessionView {
|
|
63
|
+
readonly clientRunId: string;
|
|
64
|
+
readonly sessionId: string;
|
|
65
|
+
readonly operationKey: string;
|
|
66
|
+
readonly status: ModuleClientAgentSessionStatus;
|
|
67
|
+
readonly attemptCount: number;
|
|
68
|
+
readonly expiresAt: string;
|
|
69
|
+
readonly result?: ModuleAiJsonValue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 宿主 Adapter 使用的通用 Client Agent Session port。
|
|
74
|
+
*
|
|
75
|
+
* 实现必须把调用绑定到当前 ModuleRequestContext,不接受调用方声明 Actor、权限或 Scope。
|
|
76
|
+
*/
|
|
77
|
+
export interface ModuleClientAgentSessionPort {
|
|
78
|
+
capabilities(): Promise<{
|
|
79
|
+
readonly capabilities: readonly [typeof pageAgentClientRunCapability];
|
|
80
|
+
readonly modelAlias: string;
|
|
81
|
+
}>;
|
|
82
|
+
create(
|
|
83
|
+
input: ModuleClientAgentSessionCreateInput,
|
|
84
|
+
): Promise<ModuleClientAgentSessionGrant>;
|
|
85
|
+
status(sessionId: string): Promise<ModuleClientAgentSessionView>;
|
|
86
|
+
cancel(
|
|
87
|
+
sessionId: string,
|
|
88
|
+
reason?: string,
|
|
89
|
+
): Promise<ModuleClientAgentSessionView>;
|
|
90
|
+
finalize(
|
|
91
|
+
sessionId: string,
|
|
92
|
+
receiptIds: readonly string[],
|
|
93
|
+
result?: ModuleAiJsonValue,
|
|
94
|
+
): Promise<ModuleClientAgentSessionView>;
|
|
95
|
+
}
|