create-windy 0.6.12 → 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.
Files changed (546) hide show
  1. package/dist/cli.js +572 -269
  2. package/package.json +1 -1
  3. package/template/.agents/skills/windy-business-module/SKILL.md +98 -70
  4. package/template/.windy-template.json +3 -3
  5. package/template/AGENTS.md +3 -6
  6. package/template/apps/agent-server/Dockerfile +2 -3
  7. package/template/apps/agent-server/README.md +38 -54
  8. package/template/apps/agent-server/pyproject.toml +0 -1
  9. package/template/apps/agent-server/src/southwind_agent_server/app.py +4 -2
  10. package/template/apps/agent-server/src/southwind_agent_server/attempt_context.py +191 -0
  11. package/template/apps/agent-server/src/southwind_agent_server/attempt_context_projection.py +203 -0
  12. package/template/apps/agent-server/src/southwind_agent_server/client_completion_contracts.py +61 -0
  13. package/template/apps/agent-server/src/southwind_agent_server/client_completion_governance.py +82 -0
  14. package/template/apps/agent-server/src/southwind_agent_server/client_completion_routes.py +121 -0
  15. package/template/apps/agent-server/src/southwind_agent_server/client_completion_runtime.py +158 -0
  16. package/template/apps/agent-server/src/southwind_agent_server/context_message_digest.py +24 -0
  17. package/template/apps/agent-server/src/southwind_agent_server/context_version_contracts.py +71 -0
  18. package/template/apps/agent-server/src/southwind_agent_server/context_version_port.py +307 -0
  19. package/template/apps/agent-server/src/southwind_agent_server/contracts.py +39 -0
  20. package/template/apps/agent-server/src/southwind_agent_server/deterministic.py +2 -0
  21. package/template/apps/agent-server/src/southwind_agent_server/engine.py +9 -1
  22. package/template/apps/agent-server/src/southwind_agent_server/engine_identity.py +2 -0
  23. package/template/apps/agent-server/src/southwind_agent_server/fingerprint.py +15 -0
  24. package/template/apps/agent-server/src/southwind_agent_server/health_routes.py +37 -3
  25. package/template/apps/agent-server/src/southwind_agent_server/openai_engine.py +46 -26
  26. package/template/apps/agent-server/src/southwind_agent_server/openai_engine_validation.py +32 -0
  27. package/template/apps/agent-server/src/southwind_agent_server/openai_provider.py +7 -0
  28. package/template/apps/agent-server/src/southwind_agent_server/postgres_report_insert.py +5 -2
  29. package/template/apps/agent-server/src/southwind_agent_server/postgres_report_queries.py +1 -0
  30. package/template/apps/agent-server/src/southwind_agent_server/postgres_report_store.py +6 -1
  31. package/template/apps/agent-server/src/southwind_agent_server/postgres_store.py +3 -2
  32. package/template/apps/agent-server/src/southwind_agent_server/postgres_store_backend.py +1 -0
  33. package/template/apps/agent-server/src/southwind_agent_server/provider_governance.py +21 -0
  34. package/template/apps/agent-server/src/southwind_agent_server/report_lifecycle.py +2 -1
  35. package/template/apps/agent-server/src/southwind_agent_server/report_presenter.py +1 -0
  36. package/template/apps/agent-server/src/southwind_agent_server/report_routes.py +7 -1
  37. package/template/apps/agent-server/src/southwind_agent_server/report_store.py +10 -56
  38. package/template/apps/agent-server/src/southwind_agent_server/report_store_protocol.py +75 -0
  39. package/template/apps/agent-server/src/southwind_agent_server/report_types.py +9 -2
  40. package/template/apps/agent-server/src/southwind_agent_server/runtime_budget.py +74 -0
  41. package/template/apps/agent-server/src/southwind_agent_server/runtime_factory.py +11 -3
  42. package/template/apps/agent-server/src/southwind_agent_server/service.py +41 -65
  43. package/template/apps/agent-server/src/southwind_agent_server/service_control.py +64 -0
  44. package/template/apps/agent-server/src/southwind_agent_server/service_execution.py +3 -0
  45. package/template/apps/agent-server/src/southwind_agent_server/sqlite_errors.py +2 -0
  46. package/template/apps/agent-server/src/southwind_agent_server/sqlite_schema.py +9 -1
  47. package/template/apps/agent-server/src/southwind_agent_server/sqlite_store.py +6 -5
  48. package/template/apps/agent-server/src/southwind_agent_server/store.py +2 -0
  49. package/template/apps/agent-server/src/southwind_agent_server/trajectory.py +137 -0
  50. package/template/apps/agent-server/src/southwind_agent_server/unavailable_engine.py +58 -0
  51. package/template/apps/agent-server/tests/test_api.py +30 -11
  52. package/template/apps/agent-server/tests/test_client_completion.py +230 -0
  53. package/template/apps/agent-server/tests/test_provider_attempt_reporting.py +12 -24
  54. package/template/apps/agent-server/tests/test_report_resilience.py +2 -0
  55. package/template/apps/agent-server/tests/test_report_routes.py +58 -1
  56. package/template/apps/agent-server/tests/test_report_summary_parity.py +1 -0
  57. package/template/apps/agent-server/tests/test_run_capacity.py +2 -0
  58. package/template/apps/agent-server/tests/test_runtime_factory_readiness.py +18 -3
  59. package/template/apps/agent-server/tests/test_trajectory.py +91 -0
  60. package/template/apps/agent-server/uv.lock +0 -259
  61. package/template/apps/server/Dockerfile +9 -4
  62. package/template/apps/server/src/agent/actor-projection-audit.ts +6 -0
  63. package/template/apps/server/src/agent/agent-run-delegation-policy.ts +115 -0
  64. package/template/apps/server/src/agent/agent-session-bootstrap.ts +23 -0
  65. package/template/apps/server/src/agent/{debug-session-facade-provider-failure.test.ts → agent-session-facade-provider-failure.test.ts} +24 -33
  66. package/template/apps/server/src/agent/{debug-session-facade.test.ts → agent-session-facade.test.ts} +34 -45
  67. package/template/apps/server/src/agent/{debug-session-facade.ts → agent-session-facade.ts} +50 -57
  68. package/template/apps/server/src/agent/{debug-session-id.test.ts → agent-session-id.test.ts} +5 -5
  69. package/template/apps/server/src/agent/{debug-session-id.ts → agent-session-id.ts} +7 -7
  70. package/template/apps/server/src/agent/{debug-session-provider-reader.ts → agent-session-provider-reader.ts} +18 -15
  71. package/template/apps/server/src/agent/{debug-session-routes.test.ts → agent-session-routes.test.ts} +16 -16
  72. package/template/apps/server/src/agent/{debug-session-routes.ts → agent-session-routes.ts} +12 -12
  73. package/template/apps/server/src/agent/{debug-session-validation.ts → agent-session-validation.ts} +13 -11
  74. package/template/apps/server/src/agent/client-session/authorization.ts +47 -0
  75. package/template/apps/server/src/agent/client-session/bootstrap.ts +96 -0
  76. package/template/apps/server/src/agent/client-session/capabilities.ts +19 -0
  77. package/template/apps/server/src/agent/client-session/completion.ts +299 -0
  78. package/template/apps/server/src/agent/client-session/contracts.ts +136 -0
  79. package/template/apps/server/src/agent/client-session/digest.ts +39 -0
  80. package/template/apps/server/src/agent/client-session/drizzle-repository.integration.test.ts +170 -0
  81. package/template/apps/server/src/agent/client-session/drizzle-repository.ts +345 -0
  82. package/template/apps/server/src/agent/client-session/errors.ts +28 -0
  83. package/template/apps/server/src/agent/client-session/fixtures/page-agent-1.12.2-request.json +52 -0
  84. package/template/apps/server/src/agent/client-session/host-auth.test.ts +144 -0
  85. package/template/apps/server/src/agent/client-session/host-auth.ts +110 -0
  86. package/template/apps/server/src/agent/client-session/manifest-admission.ts +240 -0
  87. package/template/apps/server/src/agent/client-session/openai-stream.ts +123 -0
  88. package/template/apps/server/src/agent/client-session/presentation.ts +46 -0
  89. package/template/apps/server/src/agent/client-session/remote-provider.test.ts +144 -0
  90. package/template/apps/server/src/agent/client-session/remote-provider.ts +216 -0
  91. package/template/apps/server/src/agent/client-session/repository.ts +225 -0
  92. package/template/apps/server/src/agent/client-session/request.test.ts +69 -0
  93. package/template/apps/server/src/agent/client-session/request.ts +289 -0
  94. package/template/apps/server/src/agent/client-session/revocation.ts +23 -0
  95. package/template/apps/server/src/agent/client-session/routes.ts +315 -0
  96. package/template/apps/server/src/agent/client-session/runtime-audit.ts +42 -0
  97. package/template/apps/server/src/agent/client-session/service.test-support.ts +226 -0
  98. package/template/apps/server/src/agent/client-session/service.test.ts +268 -0
  99. package/template/apps/server/src/agent/client-session/service.ts +346 -0
  100. package/template/apps/server/src/agent/context-memory/attempt-context-contracts.ts +60 -0
  101. package/template/apps/server/src/agent/context-memory/authoritative-source-registry.ts +127 -0
  102. package/template/apps/server/src/agent/context-memory/context-builder.test.ts +160 -0
  103. package/template/apps/server/src/agent/context-memory/context-builder.ts +184 -0
  104. package/template/apps/server/src/agent/context-memory/contracts.ts +284 -0
  105. package/template/apps/server/src/agent/context-memory/digest.ts +22 -0
  106. package/template/apps/server/src/agent/context-memory/memory-authorization.ts +82 -0
  107. package/template/apps/server/src/agent/context-memory/memory-content.ts +69 -0
  108. package/template/apps/server/src/agent/context-memory/memory-object-registry.ts +87 -0
  109. package/template/apps/server/src/agent/context-memory/memory-projector-contracts.ts +121 -0
  110. package/template/apps/server/src/agent/context-memory/memory-projector-validation.ts +155 -0
  111. package/template/apps/server/src/agent/context-memory/memory-projector.test.ts +19 -0
  112. package/template/apps/server/src/agent/context-memory/memory-projector.ts +259 -0
  113. package/template/apps/server/src/agent/context-memory/memory-retrieval-policy.ts +195 -0
  114. package/template/apps/server/src/agent/context-memory/memory-retriever.test.ts +339 -0
  115. package/template/apps/server/src/agent/context-memory/memory-retriever.ts +184 -0
  116. package/template/apps/server/src/agent/context-memory/search-provider-port.test.ts +62 -0
  117. package/template/apps/server/src/agent/context-memory/search-provider-port.ts +75 -0
  118. package/template/apps/server/src/agent/context-memory/working-context-expiry.ts +95 -0
  119. package/template/apps/server/src/agent/context-message-recovery.ts +23 -0
  120. package/template/apps/server/src/agent/context-version-routes.ts +241 -0
  121. package/template/apps/server/src/agent/context-version-runtime.ts +332 -0
  122. package/template/apps/server/src/agent/context-version-support.ts +93 -0
  123. package/template/apps/server/src/agent/context-version-validation.ts +118 -0
  124. package/template/apps/server/src/agent/drizzle-run-binding-repository.ts +11 -0
  125. package/template/apps/server/src/agent/idempotency-key.ts +9 -1
  126. package/template/apps/server/src/agent/memory-runtime-adapters.ts +266 -0
  127. package/template/apps/server/src/agent/memory-scope-binding.ts +14 -0
  128. package/template/apps/server/src/agent/module-ai-port-factory.ts +41 -0
  129. package/template/apps/server/src/agent/provider-input-governance.ts +19 -0
  130. package/template/apps/server/src/agent/remote-runtime-response.ts +162 -0
  131. package/template/apps/server/src/agent/remote-runtime.ts +53 -153
  132. package/template/apps/server/src/agent/run-audit.ts +2 -2
  133. package/template/apps/server/src/agent/run-authorization.test.ts +27 -0
  134. package/template/apps/server/src/agent/run-authorization.ts +60 -1
  135. package/template/apps/server/src/agent/run-binding-repository.ts +9 -0
  136. package/template/apps/server/src/agent/run-browser-authorization.ts +79 -0
  137. package/template/apps/server/src/agent/run-contracts.ts +23 -0
  138. package/template/apps/server/src/agent/run-facade.ts +139 -139
  139. package/template/apps/server/src/agent/run-failure-cleanup.ts +58 -0
  140. package/template/apps/server/src/agent/run-operation-policy.ts +20 -0
  141. package/template/apps/server/src/agent/run-route-input.ts +19 -1
  142. package/template/apps/server/src/agent/run-routes.ts +133 -5
  143. package/template/apps/server/src/agent/run-runtime-request.ts +89 -0
  144. package/template/apps/server/src/agent/run-session-authorization.ts +95 -0
  145. package/template/apps/server/src/agent/run-start-preparation.ts +71 -0
  146. package/template/apps/server/src/agent/runtime-bootstrap-input.ts +42 -0
  147. package/template/apps/server/src/agent/runtime-bootstrap-report.test.ts +53 -1
  148. package/template/apps/server/src/agent/runtime-bootstrap.ts +114 -111
  149. package/template/apps/server/src/agent/runtime-tool-composition.ts +38 -0
  150. package/template/apps/server/src/agent/session-context-source-support.ts +38 -0
  151. package/template/apps/server/src/agent/session-context-source.ts +346 -0
  152. package/template/apps/server/src/agent/session-invalidation/contracts.ts +217 -0
  153. package/template/apps/server/src/agent/session-invalidation/dispatcher.contract.test.ts +333 -0
  154. package/template/apps/server/src/agent/session-invalidation/dispatcher.ts +205 -0
  155. package/template/apps/server/src/agent/session-invalidation/module-authoritative-producer.test.ts +127 -0
  156. package/template/apps/server/src/agent/session-invalidation/module-authoritative-producer.ts +202 -0
  157. package/template/apps/server/src/agent/session-invalidation/read-guard.ts +39 -0
  158. package/template/apps/server/src/agent/session-invalidation/runtime.ts +69 -0
  159. package/template/apps/server/src/agent/session-invalidation/test-envelopes.ts +24 -0
  160. package/template/apps/server/src/agent/session-invalidation/worker.contract.test.ts +135 -0
  161. package/template/apps/server/src/agent/session-invalidation/worker.ts +76 -0
  162. package/template/apps/server/src/agent/session-log/checkpoint-digest.ts +36 -0
  163. package/template/apps/server/src/agent/session-log/domain.ts +123 -0
  164. package/template/apps/server/src/agent/session-log/events.ts +229 -0
  165. package/template/apps/server/src/agent/session-log/history.ts +143 -0
  166. package/template/apps/server/src/agent/session-log/in-memory-repository.ts +340 -0
  167. package/template/apps/server/src/agent/session-log/lifecycle.ts +67 -0
  168. package/template/apps/server/src/agent/session-log/replay-policy.ts +76 -0
  169. package/template/apps/server/src/agent/session-log/repository.ts +103 -0
  170. package/template/apps/server/src/agent/session-log/service.ts +349 -0
  171. package/template/apps/server/src/agent/session-log/session-log.test.ts +282 -0
  172. package/template/apps/server/src/agent/session-persistence/drizzle-context-memory.ts +348 -0
  173. package/template/apps/server/src/agent/session-persistence/drizzle-governed-context.ts +328 -0
  174. package/template/apps/server/src/agent/session-persistence/drizzle-invalidation-outbox.ts +260 -0
  175. package/template/apps/server/src/agent/session-persistence/drizzle-memory-projection-deletion.ts +56 -0
  176. package/template/apps/server/src/agent/session-persistence/drizzle-run-projection-receipt.ts +80 -0
  177. package/template/apps/server/src/agent/session-persistence/drizzle-session-fork.ts +147 -0
  178. package/template/apps/server/src/agent/session-persistence/drizzle-session-list.ts +24 -0
  179. package/template/apps/server/src/agent/session-persistence/drizzle-session-mapping.ts +154 -0
  180. package/template/apps/server/src/agent/session-persistence/drizzle-session-mutations.ts +64 -0
  181. package/template/apps/server/src/agent/session-persistence/drizzle-session-repository.ts +335 -0
  182. package/template/apps/server/src/agent/session-persistence/invalidation-projections.ts +229 -0
  183. package/template/apps/server/src/agent/session-persistence/payload-codec.ts +90 -0
  184. package/template/apps/server/src/agent/session-projection-access.ts +155 -0
  185. package/template/apps/server/src/agent/session-projection-bootstrap.ts +87 -0
  186. package/template/apps/server/src/agent/session-projection-errors.ts +22 -0
  187. package/template/apps/server/src/agent/session-projection-facade.ts +349 -0
  188. package/template/apps/server/src/agent/session-projection-routes.ts +215 -0
  189. package/template/apps/server/src/agent/session-projection-view.ts +137 -0
  190. package/template/apps/server/src/agent/session-result-memory.ts +228 -0
  191. package/template/apps/server/src/agent/session-run-lifecycle.ts +85 -0
  192. package/template/apps/server/src/agent/session-run-link-contracts.ts +56 -0
  193. package/template/apps/server/src/agent/session-run-link.ts +343 -0
  194. package/template/apps/server/src/agent/session-run-recovery.ts +16 -0
  195. package/template/apps/server/src/agent/session-runtime-composition.ts +265 -0
  196. package/template/apps/server/src/agent/session-source-chain-authorizer.ts +141 -0
  197. package/template/apps/server/src/agent/session-terminal-reconciler.ts +100 -0
  198. package/template/apps/server/src/agent/session-turn-state.ts +49 -0
  199. package/template/apps/server/src/agent/tool-audit.ts +3 -3
  200. package/template/apps/server/src/agent/tool-execution-receipt.ts +13 -0
  201. package/template/apps/server/src/agent/tool-host.ts +41 -4
  202. package/template/apps/server/src/agent/tool-registry-composition.ts +52 -0
  203. package/template/apps/server/src/agent/tool-registry.test.ts +5 -5
  204. package/template/apps/server/src/agent/tool-registry.ts +53 -59
  205. package/template/apps/server/src/agent/unavailable-routes.ts +49 -5
  206. package/template/apps/server/src/agent/workflow-durable-runtime-input.ts +32 -0
  207. package/template/apps/server/src/agent/workflow-runtime-bootstrap.ts +59 -0
  208. package/template/apps/server/src/agent-workflow/adapter-dispatch.ts +148 -0
  209. package/template/apps/server/src/agent-workflow/approval-node-adapter.ts +77 -0
  210. package/template/apps/server/src/agent-workflow/artifact-access-error.ts +9 -0
  211. package/template/apps/server/src/agent-workflow/artifact-node-adapter.ts +67 -0
  212. package/template/apps/server/src/agent-workflow/artifact-policy.ts +71 -0
  213. package/template/apps/server/src/agent-workflow/artifact-source-authorization.ts +85 -0
  214. package/template/apps/server/src/agent-workflow/authorization.ts +238 -0
  215. package/template/apps/server/src/agent-workflow/budget-ledger.ts +118 -0
  216. package/template/apps/server/src/agent-workflow/budget-validation.ts +305 -0
  217. package/template/apps/server/src/agent-workflow/canonical-agent-run-binding.ts +17 -0
  218. package/template/apps/server/src/agent-workflow/canonical-agent-run-evidence.ts +142 -0
  219. package/template/apps/server/src/agent-workflow/canonical-agent-run-port.ts +304 -0
  220. package/template/apps/server/src/agent-workflow/canonical-agent-run-remote.ts +64 -0
  221. package/template/apps/server/src/agent-workflow/canonical-json.ts +16 -0
  222. package/template/apps/server/src/agent-workflow/command-drive.ts +195 -0
  223. package/template/apps/server/src/agent-workflow/command-error.ts +9 -0
  224. package/template/apps/server/src/agent-workflow/command-facade.ts +290 -0
  225. package/template/apps/server/src/agent-workflow/command-input.ts +133 -0
  226. package/template/apps/server/src/agent-workflow/condition-node-adapter.ts +69 -0
  227. package/template/apps/server/src/agent-workflow/definition-budget-validation.ts +41 -0
  228. package/template/apps/server/src/agent-workflow/definition-node-validation.ts +197 -0
  229. package/template/apps/server/src/agent-workflow/definition-validation.ts +198 -0
  230. package/template/apps/server/src/agent-workflow/delegated-tool-authorization.ts +15 -0
  231. package/template/apps/server/src/agent-workflow/delegation-child-delivery.ts +129 -0
  232. package/template/apps/server/src/agent-workflow/delegation-execution-authorization.ts +218 -0
  233. package/template/apps/server/src/agent-workflow/delegation-policy-validation.ts +253 -0
  234. package/template/apps/server/src/agent-workflow/delegation-policy.ts +179 -0
  235. package/template/apps/server/src/agent-workflow/drizzle-artifact-port.ts +211 -0
  236. package/template/apps/server/src/agent-workflow/drizzle-artifact-support.ts +152 -0
  237. package/template/apps/server/src/agent-workflow/drizzle-budget-ledger-settlement.ts +271 -0
  238. package/template/apps/server/src/agent-workflow/drizzle-budget-ledger-support.ts +226 -0
  239. package/template/apps/server/src/agent-workflow/drizzle-budget-ledger.ts +189 -0
  240. package/template/apps/server/src/agent-workflow/drizzle-cancellation-reconcile.ts +177 -0
  241. package/template/apps/server/src/agent-workflow/drizzle-delegated-tool-authorization.ts +155 -0
  242. package/template/apps/server/src/agent-workflow/drizzle-delegation-completion.ts +84 -0
  243. package/template/apps/server/src/agent-workflow/drizzle-delegation-lifecycle.ts +139 -0
  244. package/template/apps/server/src/agent-workflow/drizzle-delegation-port.ts +288 -0
  245. package/template/apps/server/src/agent-workflow/drizzle-effect-command-fence.ts +333 -0
  246. package/template/apps/server/src/agent-workflow/drizzle-evaluation-repository.ts +214 -0
  247. package/template/apps/server/src/agent-workflow/drizzle-event-validation.ts +43 -0
  248. package/template/apps/server/src/agent-workflow/drizzle-recovery-admission.ts +115 -0
  249. package/template/apps/server/src/agent-workflow/drizzle-repository-lineage.ts +103 -0
  250. package/template/apps/server/src/agent-workflow/drizzle-repository-mappers.ts +317 -0
  251. package/template/apps/server/src/agent-workflow/drizzle-repository-write.ts +311 -0
  252. package/template/apps/server/src/agent-workflow/drizzle-repository.ts +285 -0
  253. package/template/apps/server/src/agent-workflow/drizzle-side-effect-repository.ts +83 -0
  254. package/template/apps/server/src/agent-workflow/drizzle-write-support.ts +101 -0
  255. package/template/apps/server/src/agent-workflow/durable-continuation-authorization.ts +109 -0
  256. package/template/apps/server/src/agent-workflow/durable-continuation-driver.ts +97 -0
  257. package/template/apps/server/src/agent-workflow/durable-continuation-runtime.ts +173 -0
  258. package/template/apps/server/src/agent-workflow/durable-job-node-adapter.ts +106 -0
  259. package/template/apps/server/src/agent-workflow/effect-command-fence.ts +250 -0
  260. package/template/apps/server/src/agent-workflow/evaluation-evidence-coordinates.ts +225 -0
  261. package/template/apps/server/src/agent-workflow/evaluation-evidence-metrics.ts +280 -0
  262. package/template/apps/server/src/agent-workflow/evaluation-evidence-reader.ts +326 -0
  263. package/template/apps/server/src/agent-workflow/evaluation-metrics-validation.ts +85 -0
  264. package/template/apps/server/src/agent-workflow/evaluation-projection.ts +70 -0
  265. package/template/apps/server/src/agent-workflow/evaluation-repository.ts +134 -0
  266. package/template/apps/server/src/agent-workflow/evaluation-service.ts +292 -0
  267. package/template/apps/server/src/agent-workflow/evaluation-tool-registration.ts +95 -0
  268. package/template/apps/server/src/agent-workflow/evaluation-validation.ts +331 -0
  269. package/template/apps/server/src/agent-workflow/event-validation.ts +277 -0
  270. package/template/apps/server/src/agent-workflow/governed-tool-schema.ts +55 -0
  271. package/template/apps/server/src/agent-workflow/in-memory-evaluation-repository.ts +123 -0
  272. package/template/apps/server/src/agent-workflow/in-memory-mutation-validation.ts +154 -0
  273. package/template/apps/server/src/agent-workflow/in-memory-repository-support.ts +277 -0
  274. package/template/apps/server/src/agent-workflow/in-memory-repository.ts +339 -0
  275. package/template/apps/server/src/agent-workflow/in-memory-side-effect-store.ts +78 -0
  276. package/template/apps/server/src/agent-workflow/input-receipt.ts +55 -0
  277. package/template/apps/server/src/agent-workflow/model-node-adapter.ts +86 -0
  278. package/template/apps/server/src/agent-workflow/model-pricing-catalog.ts +215 -0
  279. package/template/apps/server/src/agent-workflow/node-adapter-factory.ts +83 -0
  280. package/template/apps/server/src/agent-workflow/node-adapters.ts +50 -0
  281. package/template/apps/server/src/agent-workflow/node-execution-ports.ts +185 -0
  282. package/template/apps/server/src/agent-workflow/node-input-receipt-port.ts +42 -0
  283. package/template/apps/server/src/agent-workflow/node-result-receipt.ts +50 -0
  284. package/template/apps/server/src/agent-workflow/platform-node-adapter-support.ts +185 -0
  285. package/template/apps/server/src/agent-workflow/platform-node-adapters.ts +256 -0
  286. package/template/apps/server/src/agent-workflow/platform-node-approval.ts +146 -0
  287. package/template/apps/server/src/agent-workflow/platform-node-direct-adapters.ts +65 -0
  288. package/template/apps/server/src/agent-workflow/production-delegation-scope.ts +58 -0
  289. package/template/apps/server/src/agent-workflow/production-node-policies.ts +62 -0
  290. package/template/apps/server/src/agent-workflow/query-service.ts +198 -0
  291. package/template/apps/server/src/agent-workflow/release.ts +96 -0
  292. package/template/apps/server/src/agent-workflow/repository.ts +157 -0
  293. package/template/apps/server/src/agent-workflow/routes.ts +307 -0
  294. package/template/apps/server/src/agent-workflow/runtime-composition.ts +308 -0
  295. package/template/apps/server/src/agent-workflow/scheduler-cancellation-reconcile.ts +253 -0
  296. package/template/apps/server/src/agent-workflow/scheduler-cancellation-support.ts +145 -0
  297. package/template/apps/server/src/agent-workflow/scheduler-cancellation.ts +2 -0
  298. package/template/apps/server/src/agent-workflow/scheduler-context.ts +85 -0
  299. package/template/apps/server/src/agent-workflow/scheduler-deadline.ts +65 -0
  300. package/template/apps/server/src/agent-workflow/scheduler-effect-result.ts +205 -0
  301. package/template/apps/server/src/agent-workflow/scheduler-execution-convergence.ts +174 -0
  302. package/template/apps/server/src/agent-workflow/scheduler-execution.ts +211 -0
  303. package/template/apps/server/src/agent-workflow/scheduler-failure.ts +102 -0
  304. package/template/apps/server/src/agent-workflow/scheduler-join-cancellation.ts +282 -0
  305. package/template/apps/server/src/agent-workflow/scheduler-mutation-queue.ts +13 -0
  306. package/template/apps/server/src/agent-workflow/scheduler-node-timeout.ts +139 -0
  307. package/template/apps/server/src/agent-workflow/scheduler-parallel-dispatch.ts +99 -0
  308. package/template/apps/server/src/agent-workflow/scheduler-recovery-activation.ts +63 -0
  309. package/template/apps/server/src/agent-workflow/scheduler-recovery-budget.ts +41 -0
  310. package/template/apps/server/src/agent-workflow/scheduler-recovery-effect.ts +331 -0
  311. package/template/apps/server/src/agent-workflow/scheduler-recovery-event-time.ts +26 -0
  312. package/template/apps/server/src/agent-workflow/scheduler-recovery-failed-policy.ts +129 -0
  313. package/template/apps/server/src/agent-workflow/scheduler-recovery-node.ts +208 -0
  314. package/template/apps/server/src/agent-workflow/scheduler-recovery-policy-convergence.ts +140 -0
  315. package/template/apps/server/src/agent-workflow/scheduler-reservation-convergence.ts +40 -0
  316. package/template/apps/server/src/agent-workflow/scheduler-side-effect-execution.ts +249 -0
  317. package/template/apps/server/src/agent-workflow/scheduler-support.ts +235 -0
  318. package/template/apps/server/src/agent-workflow/scheduler-workflow-cancellation.ts +296 -0
  319. package/template/apps/server/src/agent-workflow/scheduler.ts +289 -0
  320. package/template/apps/server/src/agent-workflow/service-completion.ts +102 -0
  321. package/template/apps/server/src/agent-workflow/service-mutation-identity.ts +94 -0
  322. package/template/apps/server/src/agent-workflow/service-node-admission.ts +36 -0
  323. package/template/apps/server/src/agent-workflow/service-node-run-update.ts +55 -0
  324. package/template/apps/server/src/agent-workflow/service-recovery-events.ts +38 -0
  325. package/template/apps/server/src/agent-workflow/service-recovery.ts +264 -0
  326. package/template/apps/server/src/agent-workflow/service-retry.ts +86 -0
  327. package/template/apps/server/src/agent-workflow/service-run-command.ts +131 -0
  328. package/template/apps/server/src/agent-workflow/service-state-error.ts +21 -0
  329. package/template/apps/server/src/agent-workflow/service-state-invariants.ts +44 -0
  330. package/template/apps/server/src/agent-workflow/service-support.ts +152 -0
  331. package/template/apps/server/src/agent-workflow/service.ts +307 -0
  332. package/template/apps/server/src/agent-workflow/side-effect-state.ts +226 -0
  333. package/template/apps/server/src/agent-workflow/state-machine.ts +321 -0
  334. package/template/apps/server/src/agent-workflow/subagent-node-adapter.ts +229 -0
  335. package/template/apps/server/src/agent-workflow/tool-node-adapter.ts +259 -0
  336. package/template/apps/server/src/agent-workflow/usage.ts +149 -0
  337. package/template/apps/server/src/agent-workflow/wait-signal-service.ts +147 -0
  338. package/template/apps/server/src/agent-workflow/workflow-artifact-token.ts +109 -0
  339. package/template/apps/server/src/agent-workflow/workflow-value-validation.ts +101 -0
  340. package/template/apps/server/src/agent-workflow/workspace-policy.ts +109 -0
  341. package/template/apps/server/src/ai-runtime-report/remote-parser.ts +41 -0
  342. package/template/apps/server/src/ai-runtime-report/service.test.ts +2 -0
  343. package/template/apps/server/src/app/agent-runtime-composition.ts +38 -0
  344. package/template/apps/server/src/app/client-agent-host-auth-binding.ts +10 -0
  345. package/template/apps/server/src/auth/actor-resolver.test.ts +33 -0
  346. package/template/apps/server/src/auth/actor-resolver.ts +6 -1
  347. package/template/apps/server/src/auth/composition.ts +36 -0
  348. package/template/apps/server/src/auth/routes.test-support.ts +2 -0
  349. package/template/apps/server/src/auth/routes.test.ts +18 -0
  350. package/template/apps/server/src/auth/runtime.ts +2 -0
  351. package/template/apps/server/src/auth/service-options.ts +16 -0
  352. package/template/apps/server/src/auth/service.ts +7 -12
  353. package/template/apps/server/src/index.ts +35 -37
  354. package/template/apps/server/src/license/pairing-service.test.ts +1 -1
  355. package/template/apps/server/src/module-host/agent-session-memory-port.ts +91 -0
  356. package/template/apps/server/src/module-host/{debug-session-provider-registration.test.ts → agent-session-provider-registration.test.ts} +42 -17
  357. package/template/apps/server/src/module-host/{debug-session-provider-registration.ts → agent-session-provider-registration.ts} +18 -18
  358. package/template/apps/server/src/module-host/agent-source-invalidation-port.ts +53 -0
  359. package/template/apps/server/src/module-host/http-runtime.ts +14 -0
  360. package/template/apps/server/src/module-host/initialize-contracts.ts +4 -5
  361. package/template/apps/server/src/module-host/initialize.ts +4 -4
  362. package/template/apps/server/src/module-host/request-context.test.ts +5 -5
  363. package/template/apps/server/src/module-host/request-context.ts +8 -0
  364. package/template/apps/server/src/module-host/route-install-context.ts +65 -0
  365. package/template/apps/server/src/module-host/route-installer.ts +11 -56
  366. package/template/apps/server/src/module-host/scoped-host.ts +17 -12
  367. package/template/apps/server/src/module-host/storage-authorization-binding.test.ts +3 -3
  368. package/template/apps/server/src/module-host.ts +3 -5
  369. package/template/apps/server/src/runtime.ts +3 -36
  370. package/template/apps/server/src/storage/routes-stream-cancellation.test.ts +19 -0
  371. package/template/apps/server/src/storage/routes.ts +3 -1
  372. package/template/apps/server/src/system/actor.ts +15 -2
  373. package/template/apps/server/src/system/authorization-invalidation-bridge.ts +30 -0
  374. package/template/apps/server/src/system/authorization-invalidation-composition.ts +36 -0
  375. package/template/apps/server/src/system/drizzle-system.ts +8 -1
  376. package/template/apps/server/src/system/identity-route-config.ts +9 -1
  377. package/template/apps/server/src/system/routes.ts +3 -0
  378. package/template/apps/server/src/system/seed.ts +3 -0
  379. package/template/apps/server/src/system/user-account-policy.ts +91 -0
  380. package/template/apps/web/package.json +1 -0
  381. package/template/apps/web/src/layout/AppSidebar.vue +2 -0
  382. package/template/apps/web/src/pages/system/AgentSessionPage.vue +73 -0
  383. package/template/apps/web/src/pages/system/AgentSessionPage.webtest.ts +66 -0
  384. package/template/apps/web/src/pages/system/AgentWorkflowPage.vue +69 -0
  385. package/template/apps/web/src/pages/system/components/agent-session/AgentSessionDetail.vue +114 -0
  386. package/template/apps/web/src/pages/system/components/agent-session/AgentSessionList.vue +84 -0
  387. package/template/apps/web/src/pages/system/components/agent-session/ContextVersionPanel.vue +119 -0
  388. package/template/apps/web/src/pages/system/components/agent-session/ContextVersionPanel.webtest.ts +46 -0
  389. package/template/apps/web/src/pages/system/components/agent-session/MemoryProjectionPanel.vue +163 -0
  390. package/template/apps/web/src/pages/system/components/agent-session/MemoryProjectionPanel.webtest.ts +62 -0
  391. package/template/apps/web/src/pages/system/components/agent-session/SessionTimeline.vue +71 -0
  392. package/template/apps/web/src/pages/system/components/agent-session/SessionTimeline.webtest.ts +34 -0
  393. package/template/apps/web/src/pages/system/components/agent-session/agent-session-presenter.ts +56 -0
  394. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowNodeCard.vue +39 -0
  395. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowNodeDetail.vue +172 -0
  396. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunDetail.vue +151 -0
  397. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunGraph.vue +96 -0
  398. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunList.vue +100 -0
  399. package/template/apps/web/src/pages/system/components/agent-workflow/WorkflowRunSummary.vue +148 -0
  400. package/template/apps/web/src/pages/system/components/agent-workflow/agent-workflow-presenter.ts +74 -0
  401. package/template/apps/web/src/pages/system/components/agent-workflow/workflow-graph-layout.ts +108 -0
  402. package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunDetailDialog.vue +9 -0
  403. package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunDetailDialog.webtest.ts +22 -0
  404. package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeRunTable.webtest.ts +2 -0
  405. package/template/apps/web/src/pages/system/components/ai-runtime/AiRuntimeTrajectory.vue +118 -0
  406. package/template/apps/web/src/pages/system/composables/useAgentSessions.ts +209 -0
  407. package/template/apps/web/src/pages/system/composables/useAgentSessions.webtest.ts +138 -0
  408. package/template/apps/web/src/pages/system/composables/useAgentWorkflowRuns.ts +173 -0
  409. package/template/apps/web/src/router/index.ts +4 -0
  410. package/template/apps/web/src/router/platform-admin-route-bindings.ts +6 -0
  411. package/template/apps/web/src/services/agent-session-api.ts +159 -0
  412. package/template/apps/web/src/services/agent-session-api.webtest.ts +65 -0
  413. package/template/apps/web/src/services/agent-workflow-api.ts +181 -0
  414. package/template/apps/web/src/services/ai-runtime-api.ts +4 -0
  415. package/template/docker-compose.yml +11 -8
  416. package/template/docs/adr/0003-agent-session-event-source.md +3 -0
  417. package/template/docs/architecture/agent-harness.md +464 -0
  418. package/template/docs/architecture/agent-workflow.md +99 -0
  419. package/template/docs/architecture/ai-runtime.md +55 -47
  420. package/template/docs/architecture/module-host.md +4 -3
  421. package/template/docs/operations/adk-retirement.md +98 -0
  422. package/template/docs/operations/agent-session-memory.md +162 -0
  423. package/template/docs/operations/agent-session-troubleshooting.md +196 -0
  424. package/template/docs/operations/agent-workflow-recovery.md +74 -0
  425. package/template/docs/operations/incremental-delivery.md +1 -1
  426. package/template/docs/platform/agent-production-store.md +82 -0
  427. package/template/docs/platform/agent-run-reattachment.md +52 -0
  428. package/template/docs/platform/agent-runtime-observability.md +4 -3
  429. package/template/docs/platform/agent-runtime.md +116 -281
  430. package/template/docs/platform/agent-tool-approval.md +61 -0
  431. package/template/docs/platform/background-ai-operations.md +50 -0
  432. package/template/docs/platform/client-agent-session.md +173 -0
  433. package/template/docs/platform/embedding-ai-runtime.md +94 -0
  434. package/template/docs/platform/platform-authentication.md +5 -8
  435. package/template/package.json +0 -1
  436. package/template/packages/ai-client/index.ts +1 -0
  437. package/template/packages/ai-client/package.json +2 -1
  438. package/template/packages/ai-client/src/agent/client/client.ts +15 -2
  439. package/template/packages/ai-client/src/agent/client/run-protocol.test.ts +39 -25
  440. package/template/packages/ai-client/src/agent/client/types.ts +4 -0
  441. package/template/packages/ai-client/src/agent/contracts/contracts.test.ts +49 -7
  442. package/template/packages/ai-client/src/agent/contracts/events.ts +61 -0
  443. package/template/packages/ai-client/src/agent/contracts/runs.ts +1 -0
  444. package/template/packages/ai-client/src/client-agent/contracts.ts +131 -0
  445. package/template/packages/ai-client/src/client-agent/http.test.ts +60 -0
  446. package/template/packages/ai-client/src/client-agent/http.ts +66 -0
  447. package/template/packages/ai-client/src/client-agent/index.ts +3 -0
  448. package/template/packages/ai-client/src/client-agent/validation.test.ts +57 -0
  449. package/template/packages/ai-client/src/client-agent/validation.ts +152 -0
  450. package/template/packages/config/index.test.ts +18 -0
  451. package/template/packages/config/package.json +1 -1
  452. package/template/packages/config/src/platform-validation.ts +8 -0
  453. package/template/packages/config/src/platform.ts +22 -9
  454. package/template/packages/database/drizzle/0055_square_yellowjacket.sql +47 -0
  455. package/template/packages/database/drizzle/0056_tricky_living_mummy.sql +2 -0
  456. package/template/packages/database/drizzle/0057_mature_doomsday.sql +4 -0
  457. package/template/packages/database/drizzle/0058_agent_session_memory.sql +159 -0
  458. package/template/packages/database/drizzle/0059_agent_source_module_key.sql +16 -0
  459. package/template/packages/database/drizzle/0060_slimy_rocket_raccoon.sql +43 -0
  460. package/template/packages/database/drizzle/0061_agent_workflow.sql +303 -0
  461. package/template/packages/database/drizzle/meta/0055_snapshot.json +11071 -0
  462. package/template/packages/database/drizzle/meta/0056_snapshot.json +11098 -0
  463. package/template/packages/database/drizzle/meta/0057_snapshot.json +10878 -0
  464. package/template/packages/database/drizzle/meta/0058_snapshot.json +12294 -0
  465. package/template/packages/database/drizzle/meta/0059_snapshot.json +12344 -0
  466. package/template/packages/database/drizzle/meta/0060_snapshot.json +12326 -0
  467. package/template/packages/database/drizzle/meta/0061_snapshot.json +14395 -0
  468. package/template/packages/database/drizzle/meta/_journal.json +49 -0
  469. package/template/packages/database/package.json +1 -1
  470. package/template/packages/database/src/agent-runtime-schema.test.ts +26 -0
  471. package/template/packages/database/src/schema/agent-context-message.ts +38 -0
  472. package/template/packages/database/src/schema/agent-runtime.ts +7 -0
  473. package/template/packages/database/src/schema/agent-session-receipt.ts +36 -0
  474. package/template/packages/database/src/schema/agent-session.ts +344 -0
  475. package/template/packages/database/src/schema/agent-workflow-delegation.ts +126 -0
  476. package/template/packages/database/src/schema/agent-workflow-effects.ts +213 -0
  477. package/template/packages/database/src/schema/agent-workflow-evaluation.ts +67 -0
  478. package/template/packages/database/src/schema/agent-workflow.ts +270 -0
  479. package/template/packages/database/src/schema/client-agent.ts +95 -0
  480. package/template/packages/database/src/schema/index.ts +8 -0
  481. package/template/packages/jobs/package.json +1 -1
  482. package/template/packages/modules/index.ts +2 -0
  483. package/template/packages/modules/package.json +1 -1
  484. package/template/packages/modules/src/ai-client-execution-composition.test.ts +98 -0
  485. package/template/packages/modules/src/ai-client-execution-policy.ts +54 -0
  486. package/template/packages/modules/src/ai-operation-composition.ts +2 -0
  487. package/template/packages/modules/src/manifest.ts +15 -0
  488. package/template/packages/modules/src/system-admin-routes.ts +16 -0
  489. package/template/packages/modules/src/system-admin-ui-catalog.ts +4 -1
  490. package/template/packages/modules/src/system-agent-audit-actions.ts +26 -0
  491. package/template/packages/modules/src/system-ai-api-bindings.ts +262 -0
  492. package/template/packages/modules/src/system-api-control-plane.ts +4 -78
  493. package/template/packages/modules/src/system-audit-actions.ts +113 -0
  494. package/template/packages/modules/src/system-features.ts +17 -0
  495. package/template/packages/modules/src/system-module-catalog.ts +21 -11
  496. package/template/packages/modules/src/system-modules.ts +22 -0
  497. package/template/packages/modules/src/system-permissions.ts +8 -0
  498. package/template/packages/server-sdk/index.ts +43 -0
  499. package/template/packages/server-sdk/package.json +5 -1
  500. package/template/packages/server-sdk/src/agent-session-memory-port.ts +64 -0
  501. package/template/packages/server-sdk/src/agent-session-provider.ts +63 -0
  502. package/template/packages/server-sdk/src/agent-source-invalidation-port.ts +54 -0
  503. package/template/packages/server-sdk/src/ai-operation-registration.ts +2 -0
  504. package/template/packages/server-sdk/src/client-agent-session.ts +95 -0
  505. package/template/packages/server-sdk/src/debug-session-provider.ts +14 -63
  506. package/template/packages/server-sdk/src/module-host.ts +7 -3
  507. package/template/packages/server-sdk/src/request-context.ts +6 -0
  508. package/template/packages/shared/index.ts +3 -0
  509. package/template/packages/shared/package.json +1 -1
  510. package/template/packages/shared/src/agent-workflow-definition.ts +113 -0
  511. package/template/packages/shared/src/agent-workflow-delegation.ts +123 -0
  512. package/template/packages/shared/src/agent-workflow-evaluation.ts +159 -0
  513. package/template/packages/shared/src/agent-workflow-events.ts +99 -0
  514. package/template/packages/shared/src/agent-workflow-run.ts +259 -0
  515. package/template/packages/shared/src/agent-workflow.ts +3 -0
  516. package/template/packages/shared/src/ai-runtime-report.ts +25 -0
  517. package/template/packages/shared/src/rbac.ts +24 -0
  518. package/template/packages/storage/package.json +1 -1
  519. package/template/packages/storage/src/upload-streams.test.ts +31 -0
  520. package/template/packages/storage/src/upload-streams.ts +20 -6
  521. package/template/apps/agent-server/adk_web_agents/__init__.py +0 -1
  522. package/template/apps/agent-server/adk_web_agents/canonical_debug/__init__.py +0 -1
  523. package/template/apps/agent-server/adk_web_agents/canonical_debug/agent.py +0 -145
  524. package/template/apps/agent-server/adk_web_agents/safe_debug/__init__.py +0 -3
  525. package/template/apps/agent-server/adk_web_agents/safe_debug/agent.py +0 -40
  526. package/template/apps/agent-server/adk_web_agents/services.py +0 -25
  527. package/template/apps/agent-server/project/adk-web-debug.json +0 -4
  528. package/template/apps/agent-server/src/southwind_agent_server/adk_adapter.py +0 -333
  529. package/template/apps/agent-server/src/southwind_agent_server/adk_debug.py +0 -348
  530. package/template/apps/agent-server/src/southwind_agent_server/adk_debug_sessions.py +0 -325
  531. package/template/apps/agent-server/src/southwind_agent_server/adk_failure.py +0 -13
  532. package/template/apps/agent-server/src/southwind_agent_server/adk_model.py +0 -304
  533. package/template/apps/agent-server/src/southwind_agent_server/adk_tools.py +0 -143
  534. package/template/apps/agent-server/tests/test_adk_adapter.py +0 -307
  535. package/template/apps/agent-server/tests/test_adk_debug_result_polling.py +0 -139
  536. package/template/apps/agent-server/tests/test_adk_debug_sessions.py +0 -215
  537. package/template/apps/agent-server/tests/test_adk_web_agent.py +0 -12
  538. package/template/apps/agent-server/tests/test_adk_web_canonical_debug.py +0 -282
  539. package/template/apps/server/src/agent/run-debug-authorization.ts +0 -27
  540. package/template/apps/server/src/agent/run-facade-adk-debug.test.ts +0 -95
  541. package/template/apps/server/src/runtime-adk-debug.test.ts +0 -270
  542. package/template/apps/server/src/runtime-adk-debug.ts +0 -164
  543. package/template/apps/server/src/runtime-request-actor.test.ts +0 -55
  544. package/template/apps/server/src/runtime-request-actor.ts +0 -22
  545. package/template/docker-compose.agent-debug.yml +0 -58
  546. 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.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: ["system.agent", "system.ai-runtime"],
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
- !aiRuntimeAuditActions.has(auditActionKey(action)),
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 === "system.agent"
325
+ : catalogAgentModuleNames.has(definition.name)
311
326
  ? aggregate.auditActions.filter((action) =>
312
- aiRuntimeAuditActions.has(auditActionKey(action)),
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.2",
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
+ }