@gt-fe/eap-runtime 0.0.8
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/README.md +323 -0
- package/dist/api/handlers/index.d.ts +3 -0
- package/dist/api/handlers/index.js +4 -0
- package/dist/api/handlers/invoke.handler.d.ts +77 -0
- package/dist/api/handlers/invoke.handler.js +411 -0
- package/dist/api/handlers/messages.handler.d.ts +53 -0
- package/dist/api/handlers/messages.handler.js +80 -0
- package/dist/api/handlers/stream.handler.d.ts +92 -0
- package/dist/api/handlers/stream.handler.js +432 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +4 -0
- package/dist/api/middleware/auth.middleware.d.ts +96 -0
- package/dist/api/middleware/auth.middleware.js +158 -0
- package/dist/api/middleware/index.d.ts +1 -0
- package/dist/api/middleware/index.js +2 -0
- package/dist/api/routes/agent.routes.d.ts +44 -0
- package/dist/api/routes/agent.routes.js +204 -0
- package/dist/api/routes/index.d.ts +3 -0
- package/dist/api/routes/index.js +4 -0
- package/dist/api/routes/session.routes.d.ts +82 -0
- package/dist/api/routes/session.routes.js +169 -0
- package/dist/api/routes/task.routes.d.ts +75 -0
- package/dist/api/routes/task.routes.js +108 -0
- package/dist/checkpoint/checkpoint-serializer.d.ts +58 -0
- package/dist/checkpoint/checkpoint-serializer.js +81 -0
- package/dist/checkpoint/composite-checkpoint-saver.d.ts +42 -0
- package/dist/checkpoint/composite-checkpoint-saver.js +118 -0
- package/dist/checkpoint/contracts/checkpoint-saver.contract.d.ts +65 -0
- package/dist/checkpoint/contracts/checkpoint-saver.contract.js +12 -0
- package/dist/checkpoint/contracts/index.d.ts +1 -0
- package/dist/checkpoint/contracts/index.js +1 -0
- package/dist/checkpoint/file-checkpoint-saver.d.ts +19 -0
- package/dist/checkpoint/file-checkpoint-saver.js +98 -0
- package/dist/checkpoint/hybrid-checkpoint-saver.d.ts +130 -0
- package/dist/checkpoint/hybrid-checkpoint-saver.js +211 -0
- package/dist/checkpoint/in-memory-checkpoint-saver.d.ts +14 -0
- package/dist/checkpoint/in-memory-checkpoint-saver.js +46 -0
- package/dist/checkpoint/index.d.ts +16 -0
- package/dist/checkpoint/index.js +13 -0
- package/dist/checkpoint/mongo-checkpoint-saver.d.ts +38 -0
- package/dist/checkpoint/mongo-checkpoint-saver.js +56 -0
- package/dist/checkpoint/pg-checkpoint-saver.d.ts +59 -0
- package/dist/checkpoint/pg-checkpoint-saver.js +140 -0
- package/dist/checkpoint/redis-checkpoint-saver.d.ts +68 -0
- package/dist/checkpoint/redis-checkpoint-saver.js +173 -0
- package/dist/checkpoint/restore-checkpoint.d.ts +33 -0
- package/dist/checkpoint/restore-checkpoint.js +33 -0
- package/dist/common/agent-code.d.ts +10 -0
- package/dist/common/agent-code.js +12 -0
- package/dist/common/concurrency.d.ts +79 -0
- package/dist/common/concurrency.js +121 -0
- package/dist/common/health.d.ts +40 -0
- package/dist/common/health.js +37 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/index.js +5 -0
- package/dist/common/logger.d.ts +34 -0
- package/dist/common/logger.js +38 -0
- package/dist/common/queue-consumer.d.ts +125 -0
- package/dist/common/queue-consumer.js +159 -0
- package/dist/common/trace-id.d.ts +2 -0
- package/dist/common/trace-id.js +8 -0
- package/dist/common/types.d.ts +104 -0
- package/dist/common/types.js +14 -0
- package/dist/contracts/index.d.ts +11 -0
- package/dist/contracts/index.js +10 -0
- package/dist/contracts/permission-checker.d.ts +10 -0
- package/dist/contracts/permission-checker.js +4 -0
- package/dist/contracts/trace-collector.d.ts +211 -0
- package/dist/contracts/trace-collector.js +13 -0
- package/dist/governance/governance-client.d.ts +38 -0
- package/dist/governance/governance-client.js +95 -0
- package/dist/governance/index.d.ts +7 -0
- package/dist/governance/index.js +5 -0
- package/dist/governance/permission-guard.d.ts +19 -0
- package/dist/governance/permission-guard.js +59 -0
- package/dist/graph/adapters/index.d.ts +3 -0
- package/dist/graph/adapters/index.js +3 -0
- package/dist/graph/adapters/langgraph-checkpointer.d.ts +40 -0
- package/dist/graph/adapters/langgraph-checkpointer.js +211 -0
- package/dist/graph/adapters/langgraph.adapter.d.ts +190 -0
- package/dist/graph/adapters/langgraph.adapter.js +1303 -0
- package/dist/graph/adapters/subgraph-compiler.d.ts +39 -0
- package/dist/graph/adapters/subgraph-compiler.js +248 -0
- package/dist/graph/condition-evaluator.d.ts +57 -0
- package/dist/graph/condition-evaluator.js +162 -0
- package/dist/graph/contracts/executable-graph.d.ts +340 -0
- package/dist/graph/contracts/executable-graph.js +10 -0
- package/dist/graph/contracts/index.d.ts +2 -0
- package/dist/graph/contracts/index.js +2 -0
- package/dist/graph/contracts/state-graph.contract.d.ts +76 -0
- package/dist/graph/contracts/state-graph.contract.js +11 -0
- package/dist/graph/hitl/hitl-handler.d.ts +199 -0
- package/dist/graph/hitl/hitl-handler.js +480 -0
- package/dist/graph/hitl/index.d.ts +1 -0
- package/dist/graph/hitl/index.js +1 -0
- package/dist/graph/index.d.ts +7 -0
- package/dist/graph/index.js +7 -0
- package/dist/graph/nodes/index.d.ts +2 -0
- package/dist/graph/nodes/index.js +2 -0
- package/dist/graph/nodes/llm-node.d.ts +182 -0
- package/dist/graph/nodes/llm-node.js +281 -0
- package/dist/graph/nodes/skill-bind-node.d.ts +32 -0
- package/dist/graph/nodes/skill-bind-node.js +116 -0
- package/dist/graph/nodes/tool-node.d.ts +75 -0
- package/dist/graph/nodes/tool-node.js +324 -0
- package/dist/graph/resolve-graph-prompt.d.ts +5 -0
- package/dist/graph/resolve-graph-prompt.js +75 -0
- package/dist/graph/retry/budget-aware-retry.d.ts +91 -0
- package/dist/graph/retry/budget-aware-retry.js +126 -0
- package/dist/graph/retry/index.d.ts +9 -0
- package/dist/graph/retry/index.js +8 -0
- package/dist/graph/retry/node-retry.d.ts +123 -0
- package/dist/graph/retry/node-retry.js +235 -0
- package/dist/graph/skill-audit-recorder.d.ts +126 -0
- package/dist/graph/skill-audit-recorder.js +114 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +32 -0
- package/dist/memory/compression/compression-stats.d.ts +109 -0
- package/dist/memory/compression/compression-stats.js +144 -0
- package/dist/memory/compression/compression.repository.d.ts +62 -0
- package/dist/memory/compression/compression.repository.js +71 -0
- package/dist/memory/compression/index.d.ts +10 -0
- package/dist/memory/compression/index.js +15 -0
- package/dist/memory/compression/llm-summarize.d.ts +58 -0
- package/dist/memory/compression/llm-summarize.js +192 -0
- package/dist/memory/compression/sliding-window.compression.d.ts +60 -0
- package/dist/memory/compression/sliding-window.compression.js +175 -0
- package/dist/memory/index.d.ts +4 -0
- package/dist/memory/index.js +7 -0
- package/dist/memory/long-term-memory.service.d.ts +94 -0
- package/dist/memory/long-term-memory.service.js +120 -0
- package/dist/memory/message-compression.service.d.ts +128 -0
- package/dist/memory/message-compression.service.js +69 -0
- package/dist/memory/pg-memory.repository.d.ts +44 -0
- package/dist/memory/pg-memory.repository.js +108 -0
- package/dist/memory/semantic-retrieval.service.d.ts +148 -0
- package/dist/memory/semantic-retrieval.service.js +238 -0
- package/dist/providers/echo-llm-provider.d.ts +10 -0
- package/dist/providers/echo-llm-provider.js +87 -0
- package/dist/providers/http-llm-provider.d.ts +35 -0
- package/dist/providers/http-llm-provider.js +404 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/local-llm-provider.d.ts +27 -0
- package/dist/providers/local-llm-provider.js +105 -0
- package/dist/providers/resolve-llm-model.d.ts +13 -0
- package/dist/providers/resolve-llm-model.js +30 -0
- package/dist/providers/routing-llm-provider.d.ts +28 -0
- package/dist/providers/routing-llm-provider.js +79 -0
- package/dist/registry/agent-models.d.ts +1 -0
- package/dist/registry/agent-models.js +1 -0
- package/dist/registry/agent-registry-client.d.ts +56 -0
- package/dist/registry/agent-registry-client.js +36 -0
- package/dist/registry/definition-cache.d.ts +37 -0
- package/dist/registry/definition-cache.js +82 -0
- package/dist/registry/deployment-snapshot.d.ts +99 -0
- package/dist/registry/deployment-snapshot.js +542 -0
- package/dist/registry/graph-loader.d.ts +134 -0
- package/dist/registry/graph-loader.js +985 -0
- package/dist/registry/index.d.ts +9 -0
- package/dist/registry/index.js +9 -0
- package/dist/registry/preload-errors.d.ts +13 -0
- package/dist/registry/preload-errors.js +35 -0
- package/dist/registry/preload-flags.d.ts +22 -0
- package/dist/registry/preload-flags.js +44 -0
- package/dist/registry/skill-io-guard.d.ts +25 -0
- package/dist/registry/skill-io-guard.js +98 -0
- package/dist/registry/skill-tree.d.ts +27 -0
- package/dist/registry/skill-tree.js +183 -0
- package/dist/runtime/agent-runtime.d.ts +106 -0
- package/dist/runtime/agent-runtime.js +777 -0
- package/dist/runtime/dev-runtime.d.ts +69 -0
- package/dist/runtime/dev-runtime.js +199 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/storage-profile.d.ts +50 -0
- package/dist/runtime/storage-profile.js +138 -0
- package/dist/runtime/types.d.ts +120 -0
- package/dist/runtime/types.js +9 -0
- package/dist/server.d.ts +12 -0
- package/dist/server.js +161 -0
- package/dist/session/compression-middleware.d.ts +126 -0
- package/dist/session/compression-middleware.js +230 -0
- package/dist/session/file-message.repository.d.ts +25 -0
- package/dist/session/file-message.repository.js +78 -0
- package/dist/session/file-session.repository.d.ts +72 -0
- package/dist/session/file-session.repository.js +212 -0
- package/dist/session/index.d.ts +13 -0
- package/dist/session/index.js +12 -0
- package/dist/session/message.service.d.ts +80 -0
- package/dist/session/message.service.js +128 -0
- package/dist/session/persist-turn-messages.d.ts +145 -0
- package/dist/session/persist-turn-messages.js +325 -0
- package/dist/session/pg-message.repository.d.ts +49 -0
- package/dist/session/pg-message.repository.js +149 -0
- package/dist/session/pg-session.repository.d.ts +46 -0
- package/dist/session/pg-session.repository.js +117 -0
- package/dist/session/session-context.service.d.ts +49 -0
- package/dist/session/session-context.service.js +66 -0
- package/dist/session/session.service.d.ts +194 -0
- package/dist/session/session.service.js +166 -0
- package/dist/sse/connection-event-logger.d.ts +21 -0
- package/dist/sse/connection-event-logger.js +33 -0
- package/dist/sse/contracts/index.d.ts +1 -0
- package/dist/sse/contracts/index.js +1 -0
- package/dist/sse/contracts/sse-emitter.contract.d.ts +74 -0
- package/dist/sse/contracts/sse-emitter.contract.js +11 -0
- package/dist/sse/event-buffer.d.ts +20 -0
- package/dist/sse/event-buffer.js +45 -0
- package/dist/sse/events/code-events.d.ts +19 -0
- package/dist/sse/events/code-events.js +9 -0
- package/dist/sse/events/collaboration-events.d.ts +37 -0
- package/dist/sse/events/collaboration-events.js +11 -0
- package/dist/sse/events/connection-events.d.ts +13 -0
- package/dist/sse/events/connection-events.js +9 -0
- package/dist/sse/events/file-events.d.ts +29 -0
- package/dist/sse/events/file-events.js +10 -0
- package/dist/sse/events/hitl-events.d.ts +33 -0
- package/dist/sse/events/hitl-events.js +10 -0
- package/dist/sse/events/index.d.ts +107 -0
- package/dist/sse/events/index.js +96 -0
- package/dist/sse/events/plan-events.d.ts +38 -0
- package/dist/sse/events/plan-events.js +11 -0
- package/dist/sse/events/reasoning-events.d.ts +35 -0
- package/dist/sse/events/reasoning-events.js +13 -0
- package/dist/sse/events/response-events.d.ts +25 -0
- package/dist/sse/events/response-events.js +12 -0
- package/dist/sse/events/session-events.d.ts +43 -0
- package/dist/sse/events/session-events.js +12 -0
- package/dist/sse/events/skill-events.d.ts +48 -0
- package/dist/sse/events/skill-events.js +11 -0
- package/dist/sse/events/stats-events.d.ts +44 -0
- package/dist/sse/events/stats-events.js +12 -0
- package/dist/sse/events/tool-events.d.ts +68 -0
- package/dist/sse/events/tool-events.js +14 -0
- package/dist/sse/index.d.ts +8 -0
- package/dist/sse/index.js +8 -0
- package/dist/sse/sse-connection-manager.d.ts +116 -0
- package/dist/sse/sse-connection-manager.js +185 -0
- package/dist/sse/sse-emitter.d.ts +108 -0
- package/dist/sse/sse-emitter.js +210 -0
- package/dist/sse/sse-heartbeat.d.ts +58 -0
- package/dist/sse/sse-heartbeat.js +76 -0
- package/dist/sse/trace-collector.d.ts +60 -0
- package/dist/sse/trace-collector.js +107 -0
- package/dist/task/contracts/index.d.ts +2 -0
- package/dist/task/contracts/index.js +1 -0
- package/dist/task/contracts/task-manager.contract.d.ts +160 -0
- package/dist/task/contracts/task-manager.contract.js +10 -0
- package/dist/task/index.d.ts +7 -0
- package/dist/task/index.js +5 -0
- package/dist/task/pg-task.repository.d.ts +47 -0
- package/dist/task/pg-task.repository.js +131 -0
- package/dist/task/task-progress-tracker.d.ts +67 -0
- package/dist/task/task-progress-tracker.js +80 -0
- package/dist/task/task-timeout.d.ts +70 -0
- package/dist/task/task-timeout.js +116 -0
- package/dist/task/task.service.d.ts +84 -0
- package/dist/task/task.service.js +233 -0
- package/dist/token/compression-budget-integration.d.ts +145 -0
- package/dist/token/compression-budget-integration.js +185 -0
- package/dist/token/context-window-budget.d.ts +113 -0
- package/dist/token/context-window-budget.js +134 -0
- package/dist/token/contracts/index.d.ts +1 -0
- package/dist/token/contracts/index.js +1 -0
- package/dist/token/contracts/token-budget.contract.d.ts +77 -0
- package/dist/token/contracts/token-budget.contract.js +11 -0
- package/dist/token/index.d.ts +12 -0
- package/dist/token/index.js +10 -0
- package/dist/token/pg-token-budget.repository.d.ts +39 -0
- package/dist/token/pg-token-budget.repository.js +116 -0
- package/dist/token/session-budget-checker.d.ts +54 -0
- package/dist/token/session-budget-checker.js +72 -0
- package/dist/token/token-budget-guard.d.ts +66 -0
- package/dist/token/token-budget-guard.js +97 -0
- package/dist/token/token-budget.service.d.ts +86 -0
- package/dist/token/token-budget.service.js +130 -0
- package/dist/token/token-detail-mode.d.ts +73 -0
- package/dist/token/token-detail-mode.js +107 -0
- package/dist/token/token-estimator.d.ts +80 -0
- package/dist/token/token-estimator.js +134 -0
- package/dist/token/token-stats.service.d.ts +88 -0
- package/dist/token/token-stats.service.js +94 -0
- package/dist/tool/create-tool-executor.d.ts +33 -0
- package/dist/tool/create-tool-executor.js +60 -0
- package/dist/tool/dev-http-executor.d.ts +18 -0
- package/dist/tool/dev-http-executor.js +96 -0
- package/dist/tool/dev-mcp-executor.d.ts +29 -0
- package/dist/tool/dev-mcp-executor.js +84 -0
- package/dist/tool/dev-tool-executor.d.ts +23 -0
- package/dist/tool/dev-tool-executor.js +55 -0
- package/dist/tool/file-artifact.d.ts +11 -0
- package/dist/tool/file-artifact.js +90 -0
- package/dist/tool/http-tool-executor.d.ts +17 -0
- package/dist/tool/http-tool-executor.js +158 -0
- package/dist/tool/index.d.ts +18 -0
- package/dist/tool/index.js +17 -0
- package/dist/tool/loaded-tool-definition.d.ts +35 -0
- package/dist/tool/loaded-tool-definition.js +9 -0
- package/dist/tool/local-mcp-client.d.ts +23 -0
- package/dist/tool/local-mcp-client.js +225 -0
- package/dist/tool/local-tool-executor.d.ts +37 -0
- package/dist/tool/local-tool-executor.js +249 -0
- package/dist/tool/mcp-tool-executor.d.ts +23 -0
- package/dist/tool/mcp-tool-executor.js +160 -0
- package/dist/tool/mock-tool-executor.d.ts +28 -0
- package/dist/tool/mock-tool-executor.js +65 -0
- package/dist/tool/system-prompt-builder.d.ts +114 -0
- package/dist/tool/system-prompt-builder.js +213 -0
- package/dist/tool/tool-confirmation.d.ts +29 -0
- package/dist/tool/tool-confirmation.js +81 -0
- package/dist/tool/tool-event-emitter.d.ts +58 -0
- package/dist/tool/tool-event-emitter.js +154 -0
- package/dist/tool/tool-execution-router.d.ts +25 -0
- package/dist/tool/tool-execution-router.js +50 -0
- package/dist/tool/tool-executor.interface.d.ts +85 -0
- package/dist/tool/tool-executor.interface.js +7 -0
- package/dist/tool/tool-orchestrator.d.ts +22 -0
- package/dist/tool/tool-orchestrator.js +104 -0
- package/dist/tool/tool-result-injector.d.ts +64 -0
- package/dist/tool/tool-result-injector.js +65 -0
- package/dist/utils/format-error.d.ts +4 -0
- package/dist/utils/format-error.js +4 -0
- package/dist/utils/http-error.d.ts +11 -0
- package/dist/utils/http-error.js +24 -0
- package/package.json +56 -0
package/README.md
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# @eap/runtime
|
|
2
|
+
|
|
3
|
+
Enterprise Agent Platform **执行引擎**(LangGraph.js):Agent Graph 编译与执行、Task/Session/Message、Checkpoint、Tool 编排、预装定义加载、Token 预算、HITL / Fork。
|
|
4
|
+
|
|
5
|
+
生产调用入口为 **hosting-service 内嵌**本包;本地开发由 **dev-tools**(`eap chat` / `eap dev`)通过 `createDevRuntime()` 进程内嵌调用,通常不单独启动 Runtime HTTP 服务。
|
|
6
|
+
|
|
7
|
+
## 更新日志
|
|
8
|
+
|
|
9
|
+
| 日期 | 摘要 |
|
|
10
|
+
|------|------|
|
|
11
|
+
| 2026-08-19 | 0.0.8:Skill 子图 SSE 闭环;`ExecuteParams.traceId`;`tool.called` 改为 Tool 节点开始执行。依赖 `@eap/contracts@0.0.8`。详见 [CHANGELOG.md](./CHANGELOG.md) |
|
|
12
|
+
| 2026-08-18 | 0.0.7:`DevHttpExecutor`、`mode=mcp` 缺配置失败、HTTP 出站语义与 Gateway 共用 `@eap/contracts@0.0.7` |
|
|
13
|
+
| 2026-07-29 | 补全 `.env.example` 全量环境变量(部署上下文 / Tool / 预装 / 存储装配 / 调试分区);§5 预装开关表补 `EAP_PRELOAD_DEFINITION_CACHE` |
|
|
14
|
+
| 2026-07-30 | 新增 `AgentRuntime.seedSessionMessages()`(OpenAI Assistants 风格会话种子消息);专为 SDK `createAgentService({ messages })` 服务,支持 few-shot / 开场白一次性预置;role 白名单 user/assistant,exactly-once 幂等。详见 [`docs/contracts/runtime-sdk-integration-final.md`](../docs/contracts/runtime-sdk-integration-final.md) §4.5 / §5.5 |
|
|
15
|
+
| 2026-07-24 | 修订 README / 样例说明表述,去除口语化 |
|
|
16
|
+
| 2026-07-24 | 增补预装加载与请求流转文档链接 `docs/contracts/runtime-preinstall-load-flow.md` |
|
|
17
|
+
| 2026-07-24 | **全面重写**:补充 SDK、Graph、预装加载、存储 Profile、与 dev-tools 的关系、环境变量速查及文档索引;此前内容主要覆盖 Tool L1 demo 与私服发布 |
|
|
18
|
+
| 2026-07-24 | 对齐预装契约与样例目录 `fixtures/eap-preinstall-sample`、预装行为开关(`EAP_PRELOAD_*`) |
|
|
19
|
+
| (更早) | 初版:快速开始、Tool L1 demo、Hosting 关系、私服发布、简短文档索引 |
|
|
20
|
+
|
|
21
|
+
| 权威文档 | 路径 |
|
|
22
|
+
|----------|------|
|
|
23
|
+
| 模块规格 | [`.kiro/specs/04-runtime-core/`](../.kiro/specs/04-runtime-core/) |
|
|
24
|
+
| SDK 集成手册 | [`docs/contracts/runtime-sdk-integration-final.md`](../docs/contracts/runtime-sdk-integration-final.md) |
|
|
25
|
+
| 环境变量总表 | [`docs/governance/governance-env-config.md`](../docs/governance/governance-env-config.md) |
|
|
26
|
+
| 预装联调契约 | [`docs/contracts/preload-hosting-runtime-contract.md`](../docs/contracts/preload-hosting-runtime-contract.md) |
|
|
27
|
+
| 预装加载与请求流转 | [`docs/contracts/runtime-preinstall-load-flow.md`](../docs/contracts/runtime-preinstall-load-flow.md) |
|
|
28
|
+
| 本地 Agent 闭环 | [`docs/workflows/local-agent-dev-loop.md`](../docs/workflows/local-agent-dev-loop.md) |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 1. 定位与边界
|
|
33
|
+
|
|
34
|
+
**负责**
|
|
35
|
+
|
|
36
|
+
- 按 Graph DSL 执行 Agent(同步 `execute` / 流式 `stream`)
|
|
37
|
+
- 从 **Deployment 预装目录**(或开发态 Registry / 本地 tools)加载 Graph、Tool、Skill 定义
|
|
38
|
+
- Session / Message / Checkpoint / Task 生命周期与持久化装配
|
|
39
|
+
- Tool 路由与执行(mock / 本机 MCP / Tool Gateway)
|
|
40
|
+
- HITL 中断恢复、Checkpoint Fork
|
|
41
|
+
- Token 预算与用量统计;可选 Trace 采集钩子
|
|
42
|
+
|
|
43
|
+
**不负责**
|
|
44
|
+
|
|
45
|
+
- 对外 HTTP/API 网关、发布与流量(Hosting / Portal)
|
|
46
|
+
- Agent/Tool/Skill **登记**与审批(Registry / developer-portal)
|
|
47
|
+
- 企业鉴权策略本体(Governance 服务;Runtime 只调客户端)
|
|
48
|
+
- CLI / Playground UI(dev-tools)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 2. 能力一览(按源码模块)
|
|
53
|
+
|
|
54
|
+
| 模块 | 目录 | 能力 |
|
|
55
|
+
|------|------|------|
|
|
56
|
+
| SDK 门面 | `src/runtime/` | `AgentRuntime`:`execute` / `stream` / `seedSessionMessages` / `resumeHitl` / `streamResumeHitl` / `fork`;`createDevRuntime()` 本地装配 |
|
|
57
|
+
| Graph | `src/graph/` | `LangGraphAdapter`、子图(Skill)、LLM/Tool 节点、HITL、条件边、重试 |
|
|
58
|
+
| 预装 / Registry | `src/registry/` | `GraphLoader`、`FileSystemDeploymentSnapshot`、严格预装、`runtime.preload.*` |
|
|
59
|
+
| Tool | `src/tool/` | `ToolOrchestrator` / `ToolExecutionRouter`、mock/dev-mcp/Gateway、确认拦截 |
|
|
60
|
+
| Checkpoint | `src/checkpoint/` | Memory / File / Redis+PG / PG;Composite |
|
|
61
|
+
| Session / Message | `src/session/` | Session 上下文、多轮消息落盘、HITL 占位消息 |
|
|
62
|
+
| Task | `src/task/` | 任务状态机(含 `waiting_hitl`) |
|
|
63
|
+
| Token | `src/token/` | 预算、Session 日预算、节点用量统计 |
|
|
64
|
+
| Governance 客户端 | `src/governance/` | AllowAll(本地)/ Http;`skill:use` / tool 权限 |
|
|
65
|
+
| LLM Provider | `src/providers/` | Echo / Http(OpenAI 兼容) / Routing |
|
|
66
|
+
| SSE | `src/sse/` | 流式事件封装 |
|
|
67
|
+
| Memory | `src/memory/` | 压缩等(演进中) |
|
|
68
|
+
| Dev HTTP | `src/api/`、`src/server.ts` | 仅 `EAP_DEV_HTTP=1`;生产勿依赖 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3. 对外入口
|
|
73
|
+
|
|
74
|
+
### 3.1 `AgentRuntime`(Hosting / SDK)
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
import { createAgentRuntime } from '@eap/runtime';
|
|
78
|
+
|
|
79
|
+
// 由 Hosting 或 createDevRuntime 注入依赖后:
|
|
80
|
+
await agentRuntime.execute({ agentCode, input, sessionId, taskId, traceId, /* … */ });
|
|
81
|
+
for await (const ev of agentRuntime.stream({ agentCode, input, sessionId, taskId, traceId })) { /* SSE */ }
|
|
82
|
+
await agentRuntime.seedSessionMessages({ agentCode, messages: [ /* role: user | assistant */ ] });
|
|
83
|
+
await agentRuntime.resumeHitl(taskId, { choice, userId, /* … */ });
|
|
84
|
+
for await (const ev of agentRuntime.streamResumeHitl(taskId, { choice, userId })) { /* HITL 续跑事件 */ }
|
|
85
|
+
await agentRuntime.fork(checkpointId, { /* overrides */ });
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
细则与字段表见 [`docs/contracts/runtime-sdk-integration-final.md`](../docs/contracts/runtime-sdk-integration-final.md)。
|
|
89
|
+
|
|
90
|
+
### 3.2 `createDevRuntime()`(dev-tools / 本地)
|
|
91
|
+
|
|
92
|
+
`eap chat`(默认 SDK 嵌入)与本地测试使用的装配工厂:LLM、Tool、Governance、存储、`GraphLoader` 一次配齐,**无需起 Runtime HTTP**。
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
import { createDevRuntime } from '@eap/runtime';
|
|
96
|
+
|
|
97
|
+
const rt = createDevRuntime();
|
|
98
|
+
const result = await rt.agentRuntime.execute({ /* … */ });
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
诊断字段见返回值 `diagnostics`(deploymentContext、tool 模式、storage profile 等)。
|
|
102
|
+
|
|
103
|
+
### 3.3 与 Hosting / dev-tools 的关系
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
开发者本机 生产
|
|
107
|
+
───────── ────
|
|
108
|
+
dev-tools (eap chat / eap dev)
|
|
109
|
+
│ createDevRuntime()
|
|
110
|
+
▼
|
|
111
|
+
@eap/runtime ◄────────────── hosting-service 内嵌 runtime/dist
|
|
112
|
+
│ │
|
|
113
|
+
├─ GraphLoader ← EAP_PREINSTALL_ROOT / 本地 Agent 工程
|
|
114
|
+
├─ Tool:mock | mcp | Gateway
|
|
115
|
+
└─ 存储:profile=dev|integration|…
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
- **生产**:Hosting HTTP → 内嵌 Runtime;预装根由 Hosting 注入;`EAP_DEPLOYMENT_CONTEXT=server`
|
|
119
|
+
- **本地 Agent 开发**:优先 `eap chat`(SDK);`eap chat-http` / `eap dev` 才走 HTTP
|
|
120
|
+
- 改本仓 `src/**` 后须 `pnpm run build`,再重启 Hosting 或重新拉起 CLI
|
|
121
|
+
|
|
122
|
+
本地闭环步骤:[`docs/workflows/local-agent-dev-loop.md`](../docs/workflows/local-agent-dev-loop.md)。
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 4. Graph 执行
|
|
127
|
+
|
|
128
|
+
- **引擎**:`LangGraphAdapter`(`IStateGraphEngine`)将平台 Graph DSL 编成 LangGraph StateGraph
|
|
129
|
+
- **节点**:`llm`、`tool`、`subgraph`(Skill)、并行/条件边、HITL 等待
|
|
130
|
+
- **Skill 子图**:节点可带内嵌 `subgraphDsl`;或仅 `skillId`,从 state.`skillDefinitions` 取 `workflow` 执行;技能 `prompt` 经 `activeSkillPrompt` 注入子图入口 LLM
|
|
131
|
+
- **权限**:子图执行前 `skill:{skillId}:use`(Governance)
|
|
132
|
+
- **流式**:`stream()` 产出 RuntimeEvent,再映射为 SSE(`response.chunk`、`tool.*`、`task.*` 等)
|
|
133
|
+
|
|
134
|
+
DSL / 契约细节见 `.kiro/specs/04-runtime-core/design.md` §1.4 与 `src/graph/contracts/`。
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 5. 预装定义加载(生产权威路径)
|
|
139
|
+
|
|
140
|
+
生产(`server` + `EAP_PREINSTALL_ROOT`)下,**Agent / Graph / Tool / Skill 可执行定义只读本地预装**,不回退 Registry 拉定义(治理、Tool Gateway、LLM 出站除外)。
|
|
141
|
+
|
|
142
|
+
| 组件 | 作用 |
|
|
143
|
+
|------|------|
|
|
144
|
+
| `FileSystemDeploymentSnapshot` | 读三层目录:`agents/` · `shared/` · `users/` |
|
|
145
|
+
| `GraphLoader` | `loadGraph` / `loadToolDefinitions` / `loadSkillDefinitions` |
|
|
146
|
+
| 严格预装 | `strictPreinstall`(server + 有预装根时默认 true) |
|
|
147
|
+
|
|
148
|
+
联调契约与样例目录:
|
|
149
|
+
|
|
150
|
+
- [`docs/contracts/preload-hosting-runtime-contract.md`](../docs/contracts/preload-hosting-runtime-contract.md)
|
|
151
|
+
- Runtime 清单:[`.kiro/specs/runtime-requirements-for-vendor.md`](../.kiro/specs/runtime-requirements-for-vendor.md)
|
|
152
|
+
- 样例预装根:[`fixtures/eap-preinstall-sample/`](../fixtures/eap-preinstall-sample/)
|
|
153
|
+
|
|
154
|
+
### 预装相关环境变量(默认多为关闭)
|
|
155
|
+
|
|
156
|
+
| 变量 | 默认 | 含义 |
|
|
157
|
+
|------|------|------|
|
|
158
|
+
| `EAP_PREINSTALL_ROOT` | — | 预装根;也可用 `GraphLoader({ preinstallRoot })` |
|
|
159
|
+
| `EAP_PRELOAD_REQUIRE_READY` | 关 | 缺 `.ready` → `runtime.preload.missing` |
|
|
160
|
+
| `EAP_PRELOAD_REQUIRE_CHECKSUM` | 关 | snapshot 须含 sha256 或 artifacts |
|
|
161
|
+
| `EAP_PRELOAD_USER_SKILL_OVERRIDE` | 关 | `users` 优先于 `shared` |
|
|
162
|
+
| `EAP_PRELOAD_VALIDATE_SKILL_IO` | 关 | 校验 Skill `inputDef.required`(`state.skillInput`) |
|
|
163
|
+
| `EAP_PRELOAD_DEFINITION_CACHE` | 有预装时开 | 定义缓存;`0`/`false` 关闭,`1`/`true` 强制开 |
|
|
164
|
+
| `EAP_AGENT_VERSION` | — | 默认 Agent 版本目录名 |
|
|
165
|
+
|
|
166
|
+
错误码:`runtime.preload.*`(`@eap/contracts`)。
|
|
167
|
+
|
|
168
|
+
改样例后重算摘要:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
node ../fixtures/eap-preinstall-sample/scripts/seal-snapshot.mjs
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 6. 持久化与存储 Profile
|
|
177
|
+
|
|
178
|
+
由 `assembleRuntimeStorage()` / `EAP_RUNTIME_STORAGE_PROFILE` 统一装配 Checkpoint、Session、Message。
|
|
179
|
+
|
|
180
|
+
| Profile | Checkpoint | Session | Message | 典型场景 |
|
|
181
|
+
|---------|------------|---------|---------|----------|
|
|
182
|
+
| `test` | Memory | Memory | Memory | 单测 |
|
|
183
|
+
| `dev` | File | File | File | `eap chat` / 本机 |
|
|
184
|
+
| `integration` | Redis + PG | (Hosting Session) | PG | Hosting 内嵌联调 |
|
|
185
|
+
| `production` | Redis + PG | (Hosting Session) | PG | 多副本生产 |
|
|
186
|
+
|
|
187
|
+
常用目录变量(**仅 `dev` profile**):
|
|
188
|
+
|
|
189
|
+
| 变量 | 说明 |
|
|
190
|
+
|------|------|
|
|
191
|
+
| `EAP_CHECKPOINT_DIR` | File Checkpoint |
|
|
192
|
+
| `EAP_SESSION_DIR` | File Session |
|
|
193
|
+
| `EAP_MESSAGE_DIR` | File Message |
|
|
194
|
+
|
|
195
|
+
完整策略与库表约定:[`docs/governance/governance-env-config.md` §9](../docs/governance/governance-env-config.md#9-runtime-存储装配策略)、[`docs/architecture/session-message-checkpoint-alignment.md`](../docs/architecture/session-message-checkpoint-alignment.md)、[`docs/verification/db-storage-verification.md`](../docs/verification/db-storage-verification.md)。
|
|
196
|
+
|
|
197
|
+
本地带 File 存储的 fixture 示例:[`fixtures/eap-local-test/`](../fixtures/eap-local-test/)(`chat.sh` / `chat-db.sh`)。
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 7. Tool 与 LLM
|
|
202
|
+
|
|
203
|
+
| 模式 | 何时 | 说明 |
|
|
204
|
+
|------|------|------|
|
|
205
|
+
| `mock` | 本地默认 | 不调真实 Tool |
|
|
206
|
+
| `mcp` / DevMcp | `eap chat --tool-mode mcp` | 本机直连 MCP(`EAP_TOOL_EXECUTION_MODE`,仅 createDevRuntime) |
|
|
207
|
+
| Gateway | 生产 / Hosting | `EAP_TOOL_GATEWAY_TRANSPORT=mcp`(生产);`http` 仅调试 |
|
|
208
|
+
|
|
209
|
+
- 编排:`ToolOrchestrator` + `ToolExecutionRouter`(`deploymentContext`: `server` \| `desktop` \| `dev`)
|
|
210
|
+
- L1 Tool 演示(非 Agent Graph 生产调用路径):[`docs/workflows/tool-demo-l1-guide.md`](../docs/workflows/tool-demo-l1-guide.md)、`examples/demo-tool/`
|
|
211
|
+
- 执行契约:[`docs/contracts/tool-execution.md`](../docs/contracts/tool-execution.md)
|
|
212
|
+
|
|
213
|
+
LLM:`EchoLLMProvider`(无配置时的默认实现)→ `HttpLLMProvider`(`OPENAI_*`)→ `RoutingLLMProvider`;默认模型可通过 `EAP_DEFAULT_MODEL` 指定。
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 8. 快速开始
|
|
218
|
+
|
|
219
|
+
> 须先构建兄弟包 `@eap/contracts`。本仓推荐 **pnpm**。
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
cd ../eap-contracts && pnpm install && pnpm run build
|
|
223
|
+
cd ../runtime && pnpm install && pnpm run build
|
|
224
|
+
|
|
225
|
+
# 单测
|
|
226
|
+
pnpm test
|
|
227
|
+
|
|
228
|
+
# 独立 dev HTTP(非生产调用路径;需 EAP_DEV_HTTP=1)
|
|
229
|
+
EAP_DEV_HTTP=1 pnpm run dev
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
预装样例单测:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
pnpm exec vitest run \
|
|
236
|
+
src/__tests__/preinstall-sample-fixture.test.ts \
|
|
237
|
+
src/__tests__/preload-strict.test.ts \
|
|
238
|
+
src/__tests__/preload-checksum-users.test.ts \
|
|
239
|
+
src/__tests__/preload-skill-definitions.test.ts
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 9. 关键环境变量(速查)
|
|
245
|
+
|
|
246
|
+
生产(写在 **Hosting 进程**):
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
EAP_DEPLOYMENT_CONTEXT=server
|
|
250
|
+
EAP_PREINSTALL_ROOT=/data/eap/preinstall
|
|
251
|
+
EAP_TOOL_GATEWAY_TRANSPORT=mcp
|
|
252
|
+
EAP_RUNTIME_STORAGE_PROFILE=integration # 或 production
|
|
253
|
+
FOUNDATION_SERVICE_URL=...
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
本地(`eap chat` / createDevRuntime,常由 `.env.local` 注入):
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
EAP_DEPLOYMENT_CONTEXT=dev
|
|
260
|
+
EAP_PREINSTALL_ROOT=/abs/path/to/preinstall # 或 Agent 工程内预装树
|
|
261
|
+
EAP_RUNTIME_STORAGE_PROFILE=dev
|
|
262
|
+
EAP_TOOL_EXECUTION_MODE=mock # 或 mcp
|
|
263
|
+
# OPENAI_BASE_URL / OPENAI_API_KEY / EAP_DEFAULT_MODEL
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
完整表:[`docs/governance/governance-env-config.md`](../docs/governance/governance-env-config.md)。
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 10. Tool L1 demo(可选)
|
|
271
|
+
|
|
272
|
+
验证 Tool 编排层(非完整 Agent Graph):
|
|
273
|
+
|
|
274
|
+
| 模式 | 命令 |
|
|
275
|
+
|------|------|
|
|
276
|
+
| server | `cd examples/demo-tool && npm run demo:server` |
|
|
277
|
+
| desktop | `cd examples/demo-tool && npm run demo:desktop` |
|
|
278
|
+
|
|
279
|
+
步骤与排错:[`docs/workflows/tool-demo-l1-guide.md`](../docs/workflows/tool-demo-l1-guide.md)。
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 11. 发布到公司私有 npm(可选)
|
|
284
|
+
|
|
285
|
+
私服:`https://maven.gtcloud.cn/repository/npm-local/`(模板 [`.npmrc.example`](./.npmrc.example))。
|
|
286
|
+
|
|
287
|
+
> `@eap:registry=...` 须写入 `.npmrc` 文件,不可在 shell 中作为命令直接执行。
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
cp .npmrc.example .npmrc
|
|
291
|
+
npm login --registry https://maven.gtcloud.cn/repository/npm-local/
|
|
292
|
+
|
|
293
|
+
# 1) 先发 @eap/contracts(version 改为目标版,如 0.0.1)
|
|
294
|
+
cd ../eap-contracts && cp .npmrc.example .npmrc
|
|
295
|
+
pnpm run build && npm publish --registry https://maven.gtcloud.cn/repository/npm-local/
|
|
296
|
+
|
|
297
|
+
# 2) runtime:package.json 中 @eap/contracts 改为版本号(勿再用 file:)
|
|
298
|
+
cd ../runtime && pnpm run build
|
|
299
|
+
npm publish --registry https://maven.gtcloud.cn/repository/npm-local/
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
含 `_authToken` 的 `.npmrc` 已 gitignore,勿提交凭证。
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## 12. 文档索引
|
|
307
|
+
|
|
308
|
+
| 文档 | 用途 |
|
|
309
|
+
|------|------|
|
|
310
|
+
| [runtime-sdk-integration-final.md](../docs/contracts/runtime-sdk-integration-final.md) | SDK API、SSE、接入验收 |
|
|
311
|
+
| [preload-hosting-runtime-contract.md](../docs/contracts/preload-hosting-runtime-contract.md) | Hosting↔Runtime 预装目录契约 |
|
|
312
|
+
| [runtime-preinstall-load-flow.md](../docs/contracts/runtime-preinstall-load-flow.md) | 解压→读盘→首/次请求完整流转 |
|
|
313
|
+
| [governance-env-config.md](../docs/governance/governance-env-config.md) | 全平台环境变量与存储 profile |
|
|
314
|
+
| [local-agent-dev-loop.md](../docs/workflows/local-agent-dev-loop.md) | dev-tools + runtime 本地闭环 |
|
|
315
|
+
| [session-message-checkpoint-alignment.md](../docs/architecture/session-message-checkpoint-alignment.md) | Session/Message/Checkpoint 关系 |
|
|
316
|
+
| [db-storage-verification.md](../docs/verification/db-storage-verification.md) | PG/Redis 存储核验 |
|
|
317
|
+
| [tool-execution.md](../docs/contracts/tool-execution.md) | Tool 执行契约 |
|
|
318
|
+
| [tool-demo-l1-guide.md](../docs/workflows/tool-demo-l1-guide.md) | Tool L1 demo |
|
|
319
|
+
| [platform-four-services-overview.md](../docs/architecture/platform-four-services-overview.md) | 四服务总览(含预装目录语义) |
|
|
320
|
+
| [implementation-status.md](../docs/status/implementation-status.md) | 实现进度 |
|
|
321
|
+
| [module-status-and-backlog.md §7.7](../docs/status/module-status-and-backlog.md) | Runtime backlog |
|
|
322
|
+
| [`fixtures/eap-preinstall-sample/`](../fixtures/eap-preinstall-sample/) | 预装契约样例树 |
|
|
323
|
+
| [`fixtures/eap-local-test/`](../fixtures/eap-local-test/) | 本地 chat + 存储闭环 |
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InvokeOrchestrator — 同步调用编排器
|
|
3
|
+
*
|
|
4
|
+
* 实现 POST /api/v1/agents/:agentCode/invoke 的核心编排逻辑:
|
|
5
|
+
* 1. 检查 Session 日预算(SessionBudgetChecker)
|
|
6
|
+
* 2. 解析/创建 Session 上下文(SessionContextService)
|
|
7
|
+
* 3. 创建 Task(TaskService)
|
|
8
|
+
* 4. 启动 Task(pending → running)
|
|
9
|
+
* 5. 构建/执行 Graph(IStateGraphEngine)
|
|
10
|
+
* 6. 记录 Token 消耗(TokenStatsService + TaskService)
|
|
11
|
+
* 7. 完成 Task(running → success)
|
|
12
|
+
* 8. 返回 InvokeResponse
|
|
13
|
+
*
|
|
14
|
+
* @see design.md §1.5 /stream 内部执行逻辑
|
|
15
|
+
* @see requirements.md Requirement 11 AC1-AC2
|
|
16
|
+
*/
|
|
17
|
+
import type { SessionContextService } from '../../session/session-context.service.js';
|
|
18
|
+
import type { MessageService } from '../../session/message.service.js';
|
|
19
|
+
import type { TaskService } from '../../task/task.service.js';
|
|
20
|
+
import type { IStateGraphEngine } from '../../graph/contracts/state-graph.contract.js';
|
|
21
|
+
import type { TokenStatsService } from '../../token/token-stats.service.js';
|
|
22
|
+
import type { TokenBudgetGuard } from '../../token/token-budget-guard.js';
|
|
23
|
+
import type { SessionBudgetChecker } from '../../token/session-budget-checker.js';
|
|
24
|
+
import type { InvokeRequest, InvokeResponse } from '../routes/agent.routes.js';
|
|
25
|
+
import type { GraphLoader } from '../../registry/graph-loader.js';
|
|
26
|
+
import type { ICheckpointSaver } from '../../checkpoint/contracts/checkpoint-saver.contract.js';
|
|
27
|
+
import type { ITraceCollector } from '../../contracts/trace-collector.js';
|
|
28
|
+
/**
|
|
29
|
+
* InvokeOrchestrator 构造器依赖
|
|
30
|
+
*/
|
|
31
|
+
export interface InvokeOrchestratorDeps {
|
|
32
|
+
sessionContextService: SessionContextService;
|
|
33
|
+
taskService: TaskService;
|
|
34
|
+
graphEngine: IStateGraphEngine;
|
|
35
|
+
tokenStatsService: TokenStatsService;
|
|
36
|
+
tokenBudgetGuard: TokenBudgetGuard;
|
|
37
|
+
sessionBudgetChecker: SessionBudgetChecker;
|
|
38
|
+
/** 多轮短期记忆写回;未注入时跳过持久化(仅不推荐的测试桩) */
|
|
39
|
+
messageService?: MessageService;
|
|
40
|
+
/** 从 Registry 加载 Graph DSL,未提供时使用内置默认图 */
|
|
41
|
+
graphLoader?: GraphLoader;
|
|
42
|
+
/** 用于判断 session Checkpoint 是否已有历史,避免双重 append */
|
|
43
|
+
checkpointSaver?: ICheckpointSaver;
|
|
44
|
+
traceCollector?: ITraceCollector;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* InvokeOrchestrator — 同步调用全流程编排
|
|
48
|
+
*
|
|
49
|
+
* 协调 SessionContextService、TaskService、IStateGraphEngine、TokenStatsService
|
|
50
|
+
* 等服务完成一次同步 Agent 调用的完整生命周期。
|
|
51
|
+
*/
|
|
52
|
+
export declare class InvokeOrchestrator {
|
|
53
|
+
private readonly sessionContextService;
|
|
54
|
+
private readonly taskService;
|
|
55
|
+
private readonly graphEngine;
|
|
56
|
+
private readonly tokenStatsService;
|
|
57
|
+
private readonly tokenBudgetGuard;
|
|
58
|
+
private readonly sessionBudgetChecker;
|
|
59
|
+
private readonly messageService?;
|
|
60
|
+
private readonly graphLoader?;
|
|
61
|
+
private readonly checkpointSaver?;
|
|
62
|
+
private readonly traceCollector?;
|
|
63
|
+
constructor(deps: InvokeOrchestratorDeps);
|
|
64
|
+
/**
|
|
65
|
+
* 执行同步调用编排
|
|
66
|
+
*
|
|
67
|
+
* @param req - 解析后的调用请求
|
|
68
|
+
* @param userId - 经认证的用户 ID
|
|
69
|
+
* @returns 完整的 InvokeResponse(含 taskId, sessionId, output, tokenUsage, duration, status)
|
|
70
|
+
*/
|
|
71
|
+
execute(req: InvokeRequest, userId: string): Promise<InvokeResponse>;
|
|
72
|
+
private buildResponse;
|
|
73
|
+
private buildErrorResponse;
|
|
74
|
+
private isTimeoutError;
|
|
75
|
+
}
|
|
76
|
+
/** @deprecated 请直接从 `graph/hitl/hitl-handler` 导入;此处保留 re-export 兼容旧测试引用 */
|
|
77
|
+
export { unwrapHitlPaused } from '../../graph/hitl/hitl-handler.js';
|