@zhin.js/agent 1.1.8 → 1.1.9

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 (590) hide show
  1. package/README.md +15 -23
  2. package/lib/activity-feedback/adapter-integration.d.ts +1 -2
  3. package/lib/activity-feedback/adapter-integration.d.ts.map +1 -1
  4. package/lib/activity-feedback/adapter-integration.js +43 -13
  5. package/lib/activity-feedback/adapter-integration.js.map +1 -1
  6. package/lib/assistant/index.d.ts +1 -1
  7. package/lib/assistant/index.d.ts.map +1 -1
  8. package/lib/assistant/index.js +1 -1
  9. package/lib/assistant/index.js.map +1 -1
  10. package/lib/assistant/job-creator.d.ts +0 -7
  11. package/lib/assistant/job-creator.d.ts.map +1 -1
  12. package/lib/assistant/job-creator.js +1 -12
  13. package/lib/assistant/job-creator.js.map +1 -1
  14. package/lib/builtin/five-agent/index.d.ts +6 -3
  15. package/lib/builtin/five-agent/index.d.ts.map +1 -1
  16. package/lib/builtin/five-agent/index.js +6 -4
  17. package/lib/builtin/five-agent/index.js.map +1 -1
  18. package/lib/builtin/five-agent/prompts.d.ts +3 -3
  19. package/lib/builtin/five-agent/prompts.d.ts.map +1 -1
  20. package/lib/builtin/five-agent/prompts.js +3 -3
  21. package/lib/builtin/five-agent/prompts.js.map +1 -1
  22. package/lib/builtin/five-agent/role-capability-policy.d.ts +9 -0
  23. package/lib/builtin/five-agent/role-capability-policy.d.ts.map +1 -0
  24. package/lib/builtin/five-agent/role-capability-policy.js +22 -0
  25. package/lib/builtin/five-agent/role-capability-policy.js.map +1 -0
  26. package/lib/builtin/five-agent/roles.d.ts +5 -0
  27. package/lib/builtin/five-agent/roles.d.ts.map +1 -0
  28. package/lib/builtin/five-agent/roles.js +12 -0
  29. package/lib/builtin/five-agent/roles.js.map +1 -0
  30. package/lib/builtin/orchestration-tools.d.ts.map +1 -1
  31. package/lib/builtin/orchestration-tools.js +12 -38
  32. package/lib/builtin/orchestration-tools.js.map +1 -1
  33. package/lib/builtin/spawn-task-tool.js +2 -2
  34. package/lib/builtin/spawn-task-tool.js.map +1 -1
  35. package/lib/config/agent-interfaces.d.ts +2 -2
  36. package/lib/config/agent-interfaces.d.ts.map +1 -1
  37. package/lib/config/fix-ai-config.d.ts.map +1 -1
  38. package/lib/config/fix-ai-config.js +1 -38
  39. package/lib/config/fix-ai-config.js.map +1 -1
  40. package/lib/config/index.d.ts +1 -1
  41. package/lib/config/index.d.ts.map +1 -1
  42. package/lib/config/index.js +1 -1
  43. package/lib/config/index.js.map +1 -1
  44. package/lib/config/resolve-five-agent-binding.d.ts +10 -0
  45. package/lib/config/resolve-five-agent-binding.d.ts.map +1 -0
  46. package/lib/config/resolve-five-agent-binding.js +31 -0
  47. package/lib/config/resolve-five-agent-binding.js.map +1 -0
  48. package/lib/context/context-system.d.ts +2 -2
  49. package/lib/context/context-system.d.ts.map +1 -1
  50. package/lib/context/context-system.js +2 -3
  51. package/lib/context/context-system.js.map +1 -1
  52. package/lib/context/context-tail-limit.d.ts +0 -2
  53. package/lib/context/context-tail-limit.d.ts.map +1 -1
  54. package/lib/context/context-tail-limit.js +1 -3
  55. package/lib/context/context-tail-limit.js.map +1 -1
  56. package/lib/context/default-builders.d.ts +0 -4
  57. package/lib/context/default-builders.d.ts.map +1 -1
  58. package/lib/context/default-builders.js +0 -14
  59. package/lib/context/default-builders.js.map +1 -1
  60. package/lib/context/envelope-parts.d.ts +0 -1
  61. package/lib/context/envelope-parts.d.ts.map +1 -1
  62. package/lib/context/index.d.ts +2 -2
  63. package/lib/context/index.d.ts.map +1 -1
  64. package/lib/context/index.js +2 -2
  65. package/lib/context/index.js.map +1 -1
  66. package/lib/context/turn-envelope.d.ts +0 -1
  67. package/lib/context/turn-envelope.d.ts.map +1 -1
  68. package/lib/context/turn-envelope.js +0 -2
  69. package/lib/context/turn-envelope.js.map +1 -1
  70. package/lib/core/agent-loop-standalone.d.ts +2 -1
  71. package/lib/core/agent-loop-standalone.d.ts.map +1 -1
  72. package/lib/core/agent-loop-standalone.js.map +1 -1
  73. package/lib/event/agent-stream-bus.d.ts +0 -1
  74. package/lib/event/agent-stream-bus.d.ts.map +1 -1
  75. package/lib/event/agent-stream-bus.js.map +1 -1
  76. package/lib/event/publish-agent-stream.js +2 -2
  77. package/lib/event/publish-agent-stream.js.map +1 -1
  78. package/lib/event/turn-event.d.ts +11 -1
  79. package/lib/event/turn-event.d.ts.map +1 -1
  80. package/lib/event/turn-event.js.map +1 -1
  81. package/lib/index.d.ts +13 -21
  82. package/lib/index.d.ts.map +1 -1
  83. package/lib/index.js +6 -15
  84. package/lib/index.js.map +1 -1
  85. package/lib/init/activate-ai-database-storage.d.ts +2 -2
  86. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  87. package/lib/init/activate-ai-database-storage.js +1 -3
  88. package/lib/init/activate-ai-database-storage.js.map +1 -1
  89. package/lib/init/define-ai-database-models.d.ts +1 -1
  90. package/lib/init/define-ai-database-models.d.ts.map +1 -1
  91. package/lib/init/define-ai-database-models.js +1 -9
  92. package/lib/init/define-ai-database-models.js.map +1 -1
  93. package/lib/init/runtime-management-commands.d.ts +2 -3
  94. package/lib/init/runtime-management-commands.d.ts.map +1 -1
  95. package/lib/init/runtime-management-commands.js +6 -6
  96. package/lib/init/runtime-management-commands.js.map +1 -1
  97. package/lib/internal/agent-host.d.ts +2 -3
  98. package/lib/internal/agent-host.d.ts.map +1 -1
  99. package/lib/internal/host-types.d.ts +0 -28
  100. package/lib/internal/host-types.d.ts.map +1 -1
  101. package/lib/memory/context-repository-store.js +1 -1
  102. package/lib/memory/context-repository-store.js.map +1 -1
  103. package/lib/memory/memory-system.d.ts +1 -2
  104. package/lib/memory/memory-system.d.ts.map +1 -1
  105. package/lib/memory/memory-system.js +1 -3
  106. package/lib/memory/memory-system.js.map +1 -1
  107. package/lib/orchestrator/bootstrap-executors.d.ts +0 -4
  108. package/lib/orchestrator/bootstrap-executors.d.ts.map +1 -1
  109. package/lib/orchestrator/bootstrap-executors.js +11 -137
  110. package/lib/orchestrator/bootstrap-executors.js.map +1 -1
  111. package/lib/orchestrator/orchestration-mappers.d.ts +1 -1
  112. package/lib/orchestrator/orchestration-mappers.d.ts.map +1 -1
  113. package/lib/orchestrator/orchestration-mappers.js +4 -49
  114. package/lib/orchestrator/orchestration-mappers.js.map +1 -1
  115. package/lib/orchestrator/orchestration-service.d.ts.map +1 -1
  116. package/lib/orchestrator/orchestration-service.js +2 -5
  117. package/lib/orchestrator/orchestration-service.js.map +1 -1
  118. package/lib/orchestrator/orchestration-source.d.ts +5 -0
  119. package/lib/orchestrator/orchestration-source.d.ts.map +1 -0
  120. package/lib/orchestrator/orchestration-source.js +22 -0
  121. package/lib/orchestrator/orchestration-source.js.map +1 -0
  122. package/lib/outbound/send-proactive.d.ts +3 -13
  123. package/lib/outbound/send-proactive.d.ts.map +1 -1
  124. package/lib/outbound/send-proactive.js +1 -53
  125. package/lib/outbound/send-proactive.js.map +1 -1
  126. package/lib/plugin-runtime/agent-host-port.d.ts +12 -3
  127. package/lib/plugin-runtime/agent-host-port.d.ts.map +1 -1
  128. package/lib/plugin-runtime/agent-host-port.js +1 -1
  129. package/lib/plugin-runtime/agent-host-port.js.map +1 -1
  130. package/lib/plugin-runtime/agent-runtime.d.ts +7 -4
  131. package/lib/plugin-runtime/agent-runtime.d.ts.map +1 -1
  132. package/lib/plugin-runtime/agent-runtime.js +3 -2
  133. package/lib/plugin-runtime/agent-runtime.js.map +1 -1
  134. package/lib/plugin-runtime/capability-tools.d.ts.map +1 -1
  135. package/lib/plugin-runtime/capability-tools.js +3 -0
  136. package/lib/plugin-runtime/capability-tools.js.map +1 -1
  137. package/lib/plugin-runtime/deferred-capability-plan.d.ts +1 -0
  138. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +1 -1
  139. package/lib/plugin-runtime/deferred-capability-plan.js +1 -1
  140. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
  141. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +1 -1
  142. package/lib/plugin-runtime/full-agent-turn-engine.js +102 -0
  143. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
  144. package/lib/plugin-runtime/host-mcp-projection.d.ts.map +1 -1
  145. package/lib/plugin-runtime/host-mcp-projection.js +17 -2
  146. package/lib/plugin-runtime/host-mcp-projection.js.map +1 -1
  147. package/lib/plugin-runtime/schedule-capability-plan.d.ts +20 -0
  148. package/lib/plugin-runtime/schedule-capability-plan.d.ts.map +1 -0
  149. package/lib/plugin-runtime/schedule-capability-plan.js +88 -0
  150. package/lib/plugin-runtime/schedule-capability-plan.js.map +1 -0
  151. package/lib/prompt/assembly.d.ts.map +1 -1
  152. package/lib/prompt/assembly.js +2 -0
  153. package/lib/prompt/assembly.js.map +1 -1
  154. package/lib/prompt/index.d.ts +5 -1
  155. package/lib/prompt/index.d.ts.map +1 -1
  156. package/lib/prompt/index.js +3 -1
  157. package/lib/prompt/index.js.map +1 -1
  158. package/lib/prompt/prompt-assembly-registry.d.ts +25 -0
  159. package/lib/prompt/prompt-assembly-registry.d.ts.map +1 -0
  160. package/lib/prompt/prompt-assembly-registry.js +43 -0
  161. package/lib/prompt/prompt-assembly-registry.js.map +1 -0
  162. package/lib/prompt/prompt-budget.d.ts +9 -0
  163. package/lib/prompt/prompt-budget.d.ts.map +1 -0
  164. package/lib/prompt/prompt-budget.js +28 -0
  165. package/lib/prompt/prompt-budget.js.map +1 -0
  166. package/lib/prompt/prompt-builder.js +1 -1
  167. package/lib/prompt/prompt-builder.js.map +1 -1
  168. package/lib/prompt/system-prompt.d.ts +5 -8
  169. package/lib/prompt/system-prompt.d.ts.map +1 -1
  170. package/lib/prompt/system-prompt.js +159 -78
  171. package/lib/prompt/system-prompt.js.map +1 -1
  172. package/lib/prompt/tokens.d.ts +8 -0
  173. package/lib/prompt/tokens.d.ts.map +1 -0
  174. package/lib/prompt/tokens.js +2 -0
  175. package/lib/prompt/tokens.js.map +1 -0
  176. package/lib/prompt/turn-prompt-profile.d.ts +1 -2
  177. package/lib/prompt/turn-prompt-profile.d.ts.map +1 -1
  178. package/lib/schedule-domain/audit-logger.d.ts +2 -2
  179. package/lib/schedule-domain/audit-logger.d.ts.map +1 -1
  180. package/lib/schedule-domain/execution-domain.d.ts +21 -17
  181. package/lib/schedule-domain/execution-domain.d.ts.map +1 -1
  182. package/lib/schedule-domain/execution-domain.js +41 -23
  183. package/lib/schedule-domain/execution-domain.js.map +1 -1
  184. package/lib/schedule-domain/index.d.ts +0 -1
  185. package/lib/schedule-domain/index.d.ts.map +1 -1
  186. package/lib/schedule-domain/index.js +0 -1
  187. package/lib/schedule-domain/index.js.map +1 -1
  188. package/lib/schedule-domain/prompt-assembler.d.ts +3 -4
  189. package/lib/schedule-domain/prompt-assembler.d.ts.map +1 -1
  190. package/lib/schedule-domain/prompt-assembler.js +0 -16
  191. package/lib/schedule-domain/prompt-assembler.js.map +1 -1
  192. package/lib/schedule-domain/security-harness.d.ts +10 -15
  193. package/lib/schedule-domain/security-harness.d.ts.map +1 -1
  194. package/lib/schedule-domain/security-harness.js +5 -78
  195. package/lib/schedule-domain/security-harness.js.map +1 -1
  196. package/lib/security/exec-policy.d.ts +2 -0
  197. package/lib/security/exec-policy.d.ts.map +1 -1
  198. package/lib/security/exec-policy.js +21 -0
  199. package/lib/security/exec-policy.js.map +1 -1
  200. package/lib/security/owner-approve-always-store.d.ts +8 -3
  201. package/lib/security/owner-approve-always-store.d.ts.map +1 -1
  202. package/lib/security/owner-approve-always-store.js +160 -173
  203. package/lib/security/owner-approve-always-store.js.map +1 -1
  204. package/lib/security/policy-facade.d.ts.map +1 -1
  205. package/lib/security/policy-facade.js +11 -1
  206. package/lib/security/policy-facade.js.map +1 -1
  207. package/lib/service.d.ts.map +1 -1
  208. package/lib/service.js +0 -7
  209. package/lib/service.js.map +1 -1
  210. package/lib/session/index.d.ts +3 -3
  211. package/lib/session/index.d.ts.map +1 -1
  212. package/lib/session/index.js +3 -3
  213. package/lib/session/index.js.map +1 -1
  214. package/lib/session/passive-group-session.js +1 -1
  215. package/lib/session/session-key.d.ts +4 -0
  216. package/lib/session/session-key.d.ts.map +1 -0
  217. package/lib/session/session-key.js +6 -0
  218. package/lib/session/session-key.js.map +1 -0
  219. package/lib/session/session-system.d.ts.map +1 -1
  220. package/lib/session/session-system.js +4 -4
  221. package/lib/session/session-system.js.map +1 -1
  222. package/lib/session/session-tree-commands.d.ts +2 -3
  223. package/lib/session/session-tree-commands.d.ts.map +1 -1
  224. package/lib/session/session-tree-commands.js +2 -5
  225. package/lib/session/session-tree-commands.js.map +1 -1
  226. package/lib/session/strategies.d.ts +1 -1
  227. package/lib/session/strategies.d.ts.map +1 -1
  228. package/lib/session/strategies.js +2 -2
  229. package/lib/session/strategies.js.map +1 -1
  230. package/lib/subagent/im-result-sink.d.ts.map +1 -1
  231. package/lib/subagent/im-result-sink.js +0 -1
  232. package/lib/subagent/im-result-sink.js.map +1 -1
  233. package/lib/subagent-goal-notify.d.ts +0 -9
  234. package/lib/subagent-goal-notify.d.ts.map +1 -1
  235. package/lib/subagent-goal-notify.js +0 -13
  236. package/lib/subagent-goal-notify.js.map +1 -1
  237. package/lib/task-executor.d.ts +14 -3
  238. package/lib/task-executor.d.ts.map +1 -1
  239. package/lib/task-executor.js +48 -61
  240. package/lib/task-executor.js.map +1 -1
  241. package/lib/tool/classic-tool-execution-authority.d.ts.map +1 -1
  242. package/lib/tool/classic-tool-execution-authority.js +4 -3
  243. package/lib/tool/classic-tool-execution-authority.js.map +1 -1
  244. package/lib/tool/prepare-turn-tools.d.ts +0 -2
  245. package/lib/tool/prepare-turn-tools.d.ts.map +1 -1
  246. package/lib/tool/prepare-turn-tools.js +1 -55
  247. package/lib/tool/prepare-turn-tools.js.map +1 -1
  248. package/lib/tool/tool-runtime.d.ts +1 -1
  249. package/lib/tool/tool-runtime.d.ts.map +1 -1
  250. package/lib/turn/auto-continue.js +1 -1
  251. package/lib/turn/auto-continue.js.map +1 -1
  252. package/lib/turn/persist-deferred-context.js +1 -1
  253. package/lib/turn/persist-deferred-context.js.map +1 -1
  254. package/lib/turn/persist-subagent-context.js +1 -1
  255. package/lib/turn/persist-subagent-context.js.map +1 -1
  256. package/lib/turn/process-stream.d.ts.map +1 -1
  257. package/lib/turn/process-stream.js +0 -2
  258. package/lib/turn/process-stream.js.map +1 -1
  259. package/lib/turn/turn-ingress.d.ts +21 -1
  260. package/lib/turn/turn-ingress.d.ts.map +1 -1
  261. package/lib/turn/turn-ingress.js +29 -0
  262. package/lib/turn/turn-ingress.js.map +1 -1
  263. package/lib/turn/turn-pipeline.d.ts +0 -5
  264. package/lib/turn/turn-pipeline.d.ts.map +1 -1
  265. package/lib/turn/turn-pipeline.js +12 -32
  266. package/lib/turn/turn-pipeline.js.map +1 -1
  267. package/lib/typing-indicator/adapter-integration.d.ts +1 -2
  268. package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
  269. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  270. package/lib/typing-indicator/integration.d.ts +2 -3
  271. package/lib/typing-indicator/integration.d.ts.map +1 -1
  272. package/lib/typing-indicator/integration.js +48 -11
  273. package/lib/typing-indicator/integration.js.map +1 -1
  274. package/lib/zhin-agent/index.d.ts +5 -8
  275. package/lib/zhin-agent/index.d.ts.map +1 -1
  276. package/lib/zhin-agent/index.js +13 -15
  277. package/lib/zhin-agent/index.js.map +1 -1
  278. package/package.json +9 -9
  279. package/lib/aop/index.d.ts +0 -11
  280. package/lib/aop/index.d.ts.map +0 -1
  281. package/lib/aop/index.js +0 -11
  282. package/lib/aop/index.js.map +0 -1
  283. package/lib/aop/pipeline/index.d.ts +0 -12
  284. package/lib/aop/pipeline/index.d.ts.map +0 -1
  285. package/lib/aop/pipeline/index.js +0 -12
  286. package/lib/aop/pipeline/index.js.map +0 -1
  287. package/lib/aop/pipeline/pipeline-flow.d.ts +0 -25
  288. package/lib/aop/pipeline/pipeline-flow.d.ts.map +0 -1
  289. package/lib/aop/pipeline/pipeline-flow.js +0 -115
  290. package/lib/aop/pipeline/pipeline-flow.js.map +0 -1
  291. package/lib/aop/pipeline/pipeline-mode.d.ts +0 -10
  292. package/lib/aop/pipeline/pipeline-mode.d.ts.map +0 -1
  293. package/lib/aop/pipeline/pipeline-mode.js +0 -16
  294. package/lib/aop/pipeline/pipeline-mode.js.map +0 -1
  295. package/lib/aop/pipeline/pipeline-service.d.ts +0 -123
  296. package/lib/aop/pipeline/pipeline-service.d.ts.map +0 -1
  297. package/lib/aop/pipeline/pipeline-service.js +0 -238
  298. package/lib/aop/pipeline/pipeline-service.js.map +0 -1
  299. package/lib/aop/pipeline/pipeline-transitions.d.ts +0 -14
  300. package/lib/aop/pipeline/pipeline-transitions.d.ts.map +0 -1
  301. package/lib/aop/pipeline/pipeline-transitions.js +0 -31
  302. package/lib/aop/pipeline/pipeline-transitions.js.map +0 -1
  303. package/lib/aop/pipeline/ports.d.ts +0 -16
  304. package/lib/aop/pipeline/ports.d.ts.map +0 -1
  305. package/lib/aop/pipeline/ports.js +0 -2
  306. package/lib/aop/pipeline/ports.js.map +0 -1
  307. package/lib/aop/pipeline/role-capability-policy.d.ts +0 -16
  308. package/lib/aop/pipeline/role-capability-policy.d.ts.map +0 -1
  309. package/lib/aop/pipeline/role-capability-policy.js +0 -29
  310. package/lib/aop/pipeline/role-capability-policy.js.map +0 -1
  311. package/lib/aop/runtime/index.d.ts +0 -9
  312. package/lib/aop/runtime/index.d.ts.map +0 -1
  313. package/lib/aop/runtime/index.js +0 -9
  314. package/lib/aop/runtime/index.js.map +0 -1
  315. package/lib/collaboration/collab-admin-gate.d.ts +0 -21
  316. package/lib/collaboration/collab-admin-gate.d.ts.map +0 -1
  317. package/lib/collaboration/collab-admin-gate.js +0 -74
  318. package/lib/collaboration/collab-admin-gate.js.map +0 -1
  319. package/lib/collaboration/collab-utils.d.ts +0 -15
  320. package/lib/collaboration/collab-utils.d.ts.map +0 -1
  321. package/lib/collaboration/collab-utils.js +0 -37
  322. package/lib/collaboration/collab-utils.js.map +0 -1
  323. package/lib/collaboration/collaboration-artifact-repository.d.ts +0 -48
  324. package/lib/collaboration/collaboration-artifact-repository.d.ts.map +0 -1
  325. package/lib/collaboration/collaboration-artifact-repository.js +0 -114
  326. package/lib/collaboration/collaboration-artifact-repository.js.map +0 -1
  327. package/lib/collaboration/collaboration-commands.d.ts +0 -38
  328. package/lib/collaboration/collaboration-commands.d.ts.map +0 -1
  329. package/lib/collaboration/collaboration-commands.js +0 -373
  330. package/lib/collaboration/collaboration-commands.js.map +0 -1
  331. package/lib/collaboration/collaboration-config.d.ts +0 -30
  332. package/lib/collaboration/collaboration-config.d.ts.map +0 -1
  333. package/lib/collaboration/collaboration-config.js +0 -170
  334. package/lib/collaboration/collaboration-config.js.map +0 -1
  335. package/lib/collaboration/collaboration-context.d.ts +0 -15
  336. package/lib/collaboration/collaboration-context.d.ts.map +0 -1
  337. package/lib/collaboration/collaboration-context.js +0 -101
  338. package/lib/collaboration/collaboration-context.js.map +0 -1
  339. package/lib/collaboration/collaboration-db-model.d.ts +0 -350
  340. package/lib/collaboration/collaboration-db-model.d.ts.map +0 -1
  341. package/lib/collaboration/collaboration-db-model.js +0 -112
  342. package/lib/collaboration/collaboration-db-model.js.map +0 -1
  343. package/lib/collaboration/collaboration-delegation.d.ts +0 -21
  344. package/lib/collaboration/collaboration-delegation.d.ts.map +0 -1
  345. package/lib/collaboration/collaboration-delegation.js +0 -221
  346. package/lib/collaboration/collaboration-delegation.js.map +0 -1
  347. package/lib/collaboration/collaboration-dispatch.d.ts +0 -32
  348. package/lib/collaboration/collaboration-dispatch.d.ts.map +0 -1
  349. package/lib/collaboration/collaboration-dispatch.js +0 -93
  350. package/lib/collaboration/collaboration-dispatch.js.map +0 -1
  351. package/lib/collaboration/collaboration-kernel-bridge.d.ts +0 -23
  352. package/lib/collaboration/collaboration-kernel-bridge.d.ts.map +0 -1
  353. package/lib/collaboration/collaboration-kernel-bridge.js +0 -105
  354. package/lib/collaboration/collaboration-kernel-bridge.js.map +0 -1
  355. package/lib/collaboration/collaboration-outbound.d.ts +0 -64
  356. package/lib/collaboration/collaboration-outbound.d.ts.map +0 -1
  357. package/lib/collaboration/collaboration-outbound.js +0 -312
  358. package/lib/collaboration/collaboration-outbound.js.map +0 -1
  359. package/lib/collaboration/collaboration-scene-repository.d.ts +0 -154
  360. package/lib/collaboration/collaboration-scene-repository.d.ts.map +0 -1
  361. package/lib/collaboration/collaboration-scene-repository.js +0 -451
  362. package/lib/collaboration/collaboration-scene-repository.js.map +0 -1
  363. package/lib/collaboration/collaboration-turn-snapshot.d.ts +0 -18
  364. package/lib/collaboration/collaboration-turn-snapshot.d.ts.map +0 -1
  365. package/lib/collaboration/collaboration-turn-snapshot.js +0 -35
  366. package/lib/collaboration/collaboration-turn-snapshot.js.map +0 -1
  367. package/lib/collaboration/delegation-state.d.ts +0 -30
  368. package/lib/collaboration/delegation-state.d.ts.map +0 -1
  369. package/lib/collaboration/delegation-state.js +0 -86
  370. package/lib/collaboration/delegation-state.js.map +0 -1
  371. package/lib/collaboration/endpoint-identity.d.ts +0 -28
  372. package/lib/collaboration/endpoint-identity.d.ts.map +0 -1
  373. package/lib/collaboration/endpoint-identity.js +0 -80
  374. package/lib/collaboration/endpoint-identity.js.map +0 -1
  375. package/lib/collaboration/group-feed.d.ts +0 -30
  376. package/lib/collaboration/group-feed.d.ts.map +0 -1
  377. package/lib/collaboration/group-feed.js +0 -150
  378. package/lib/collaboration/group-feed.js.map +0 -1
  379. package/lib/collaboration/group-message.d.ts +0 -53
  380. package/lib/collaboration/group-message.d.ts.map +0 -1
  381. package/lib/collaboration/group-message.js +0 -101
  382. package/lib/collaboration/group-message.js.map +0 -1
  383. package/lib/collaboration/im-mention-delegate.d.ts +0 -22
  384. package/lib/collaboration/im-mention-delegate.d.ts.map +0 -1
  385. package/lib/collaboration/im-mention-delegate.js +0 -15
  386. package/lib/collaboration/im-mention-delegate.js.map +0 -1
  387. package/lib/collaboration/inbound-peer-handback.d.ts +0 -18
  388. package/lib/collaboration/inbound-peer-handback.d.ts.map +0 -1
  389. package/lib/collaboration/inbound-peer-handback.js +0 -65
  390. package/lib/collaboration/inbound-peer-handback.js.map +0 -1
  391. package/lib/collaboration/inbound-spawn-task.d.ts +0 -29
  392. package/lib/collaboration/inbound-spawn-task.d.ts.map +0 -1
  393. package/lib/collaboration/inbound-spawn-task.js +0 -96
  394. package/lib/collaboration/inbound-spawn-task.js.map +0 -1
  395. package/lib/collaboration/inbound-turn-endpoint.d.ts +0 -16
  396. package/lib/collaboration/inbound-turn-endpoint.d.ts.map +0 -1
  397. package/lib/collaboration/inbound-turn-endpoint.js +0 -26
  398. package/lib/collaboration/inbound-turn-endpoint.js.map +0 -1
  399. package/lib/collaboration/inbound-turn-tools.d.ts +0 -13
  400. package/lib/collaboration/inbound-turn-tools.d.ts.map +0 -1
  401. package/lib/collaboration/inbound-turn-tools.js +0 -24
  402. package/lib/collaboration/inbound-turn-tools.js.map +0 -1
  403. package/lib/collaboration/index.d.ts +0 -21
  404. package/lib/collaboration/index.d.ts.map +0 -1
  405. package/lib/collaboration/index.js +0 -19
  406. package/lib/collaboration/index.js.map +0 -1
  407. package/lib/collaboration/init-observe-hook.d.ts +0 -56
  408. package/lib/collaboration/init-observe-hook.d.ts.map +0 -1
  409. package/lib/collaboration/init-observe-hook.js +0 -168
  410. package/lib/collaboration/init-observe-hook.js.map +0 -1
  411. package/lib/collaboration/init-wizard-service.d.ts +0 -57
  412. package/lib/collaboration/init-wizard-service.d.ts.map +0 -1
  413. package/lib/collaboration/init-wizard-service.js +0 -187
  414. package/lib/collaboration/init-wizard-service.js.map +0 -1
  415. package/lib/collaboration/outbound-resolver.d.ts +0 -37
  416. package/lib/collaboration/outbound-resolver.d.ts.map +0 -1
  417. package/lib/collaboration/outbound-resolver.js +0 -189
  418. package/lib/collaboration/outbound-resolver.js.map +0 -1
  419. package/lib/collaboration/peer-policy.d.ts +0 -29
  420. package/lib/collaboration/peer-policy.d.ts.map +0 -1
  421. package/lib/collaboration/peer-policy.js +0 -118
  422. package/lib/collaboration/peer-policy.js.map +0 -1
  423. package/lib/collaboration/resolve-agent-session-key.d.ts +0 -21
  424. package/lib/collaboration/resolve-agent-session-key.d.ts.map +0 -1
  425. package/lib/collaboration/resolve-agent-session-key.js +0 -61
  426. package/lib/collaboration/resolve-agent-session-key.js.map +0 -1
  427. package/lib/collaboration/runtime-inbound-gate.d.ts +0 -35
  428. package/lib/collaboration/runtime-inbound-gate.d.ts.map +0 -1
  429. package/lib/collaboration/runtime-inbound-gate.js +0 -105
  430. package/lib/collaboration/runtime-inbound-gate.js.map +0 -1
  431. package/lib/collaboration/scene-context.d.ts +0 -17
  432. package/lib/collaboration/scene-context.d.ts.map +0 -1
  433. package/lib/collaboration/scene-context.js +0 -22
  434. package/lib/collaboration/scene-context.js.map +0 -1
  435. package/lib/collaboration/scene-identity-service.d.ts +0 -169
  436. package/lib/collaboration/scene-identity-service.d.ts.map +0 -1
  437. package/lib/collaboration/scene-identity-service.js +0 -479
  438. package/lib/collaboration/scene-identity-service.js.map +0 -1
  439. package/lib/collaboration/scene-service.d.ts +0 -67
  440. package/lib/collaboration/scene-service.d.ts.map +0 -1
  441. package/lib/collaboration/scene-service.js +0 -157
  442. package/lib/collaboration/scene-service.js.map +0 -1
  443. package/lib/collaboration/structured-ai-outbound.d.ts +0 -25
  444. package/lib/collaboration/structured-ai-outbound.d.ts.map +0 -1
  445. package/lib/collaboration/structured-ai-outbound.js +0 -179
  446. package/lib/collaboration/structured-ai-outbound.js.map +0 -1
  447. package/lib/collaboration/turn-plan-resolver.d.ts +0 -17
  448. package/lib/collaboration/turn-plan-resolver.d.ts.map +0 -1
  449. package/lib/collaboration/turn-plan-resolver.js +0 -63
  450. package/lib/collaboration/turn-plan-resolver.js.map +0 -1
  451. package/lib/collaboration/types.d.ts +0 -147
  452. package/lib/collaboration/types.d.ts.map +0 -1
  453. package/lib/collaboration/types.js +0 -16
  454. package/lib/collaboration/types.js.map +0 -1
  455. package/lib/collaboration/wire-collaboration-storage.d.ts +0 -4
  456. package/lib/collaboration/wire-collaboration-storage.d.ts.map +0 -1
  457. package/lib/collaboration/wire-collaboration-storage.js +0 -26
  458. package/lib/collaboration/wire-collaboration-storage.js.map +0 -1
  459. package/lib/config/resolve-pipeline-binding.d.ts +0 -16
  460. package/lib/config/resolve-pipeline-binding.d.ts.map +0 -1
  461. package/lib/config/resolve-pipeline-binding.js +0 -35
  462. package/lib/config/resolve-pipeline-binding.js.map +0 -1
  463. package/lib/discovery/register-agent-surface.d.ts +0 -33
  464. package/lib/discovery/register-agent-surface.d.ts.map +0 -1
  465. package/lib/discovery/register-agent-surface.js +0 -170
  466. package/lib/discovery/register-agent-surface.js.map +0 -1
  467. package/lib/init/create-zhin-agent.d.ts +0 -3
  468. package/lib/init/create-zhin-agent.d.ts.map +0 -1
  469. package/lib/init/create-zhin-agent.js +0 -401
  470. package/lib/init/create-zhin-agent.js.map +0 -1
  471. package/lib/init/register-ai-service.d.ts +0 -7
  472. package/lib/init/register-ai-service.d.ts.map +0 -1
  473. package/lib/init/register-ai-service.js +0 -45
  474. package/lib/init/register-ai-service.js.map +0 -1
  475. package/lib/init/register-builtin-tools.d.ts +0 -3
  476. package/lib/init/register-builtin-tools.d.ts.map +0 -1
  477. package/lib/init/register-builtin-tools.js +0 -411
  478. package/lib/init/register-builtin-tools.js.map +0 -1
  479. package/lib/init/register-capability-features.d.ts +0 -2
  480. package/lib/init/register-capability-features.d.ts.map +0 -1
  481. package/lib/init/register-capability-features.js +0 -28
  482. package/lib/init/register-capability-features.js.map +0 -1
  483. package/lib/init/register-collaboration-commands.d.ts +0 -2
  484. package/lib/init/register-collaboration-commands.d.ts.map +0 -1
  485. package/lib/init/register-collaboration-commands.js +0 -110
  486. package/lib/init/register-collaboration-commands.js.map +0 -1
  487. package/lib/init/register-db-models.d.ts +0 -2
  488. package/lib/init/register-db-models.d.ts.map +0 -1
  489. package/lib/init/register-db-models.js +0 -18
  490. package/lib/init/register-db-models.js.map +0 -1
  491. package/lib/init/register-db-upgrade.d.ts +0 -7
  492. package/lib/init/register-db-upgrade.d.ts.map +0 -1
  493. package/lib/init/register-db-upgrade.js +0 -79
  494. package/lib/init/register-db-upgrade.js.map +0 -1
  495. package/lib/init/register-group-session-passive.d.ts +0 -3
  496. package/lib/init/register-group-session-passive.d.ts.map +0 -1
  497. package/lib/init/register-group-session-passive.js +0 -61
  498. package/lib/init/register-group-session-passive.js.map +0 -1
  499. package/lib/init/register-im-segment-filter.d.ts +0 -2
  500. package/lib/init/register-im-segment-filter.d.ts.map +0 -1
  501. package/lib/init/register-im-segment-filter.js +0 -23
  502. package/lib/init/register-im-segment-filter.js.map +0 -1
  503. package/lib/init/register-init-wizard-guardrail.d.ts +0 -2
  504. package/lib/init/register-init-wizard-guardrail.d.ts.map +0 -1
  505. package/lib/init/register-init-wizard-guardrail.js +0 -41
  506. package/lib/init/register-init-wizard-guardrail.js.map +0 -1
  507. package/lib/init/register-introspection-commands.d.ts +0 -3
  508. package/lib/init/register-introspection-commands.d.ts.map +0 -1
  509. package/lib/init/register-introspection-commands.js +0 -107
  510. package/lib/init/register-introspection-commands.js.map +0 -1
  511. package/lib/init/register-management-tools.d.ts +0 -10
  512. package/lib/init/register-management-tools.d.ts.map +0 -1
  513. package/lib/init/register-management-tools.js +0 -42
  514. package/lib/init/register-management-tools.js.map +0 -1
  515. package/lib/init/register-mcp-from-config.d.ts +0 -2
  516. package/lib/init/register-mcp-from-config.d.ts.map +0 -1
  517. package/lib/init/register-mcp-from-config.js +0 -87
  518. package/lib/init/register-mcp-from-config.js.map +0 -1
  519. package/lib/init/register-orchestrator.d.ts +0 -2
  520. package/lib/init/register-orchestrator.d.ts.map +0 -1
  521. package/lib/init/register-orchestrator.js +0 -15
  522. package/lib/init/register-orchestrator.js.map +0 -1
  523. package/lib/init/register-tool-service.d.ts +0 -2
  524. package/lib/init/register-tool-service.d.ts.map +0 -1
  525. package/lib/init/register-tool-service.js +0 -9
  526. package/lib/init/register-tool-service.js.map +0 -1
  527. package/lib/init/shared-refs.d.ts +0 -14
  528. package/lib/init/shared-refs.d.ts.map +0 -1
  529. package/lib/init/shared-refs.js +0 -7
  530. package/lib/init/shared-refs.js.map +0 -1
  531. package/lib/init/types.d.ts +0 -26
  532. package/lib/init/types.d.ts.map +0 -1
  533. package/lib/init/types.js +0 -7
  534. package/lib/init/types.js.map +0 -1
  535. package/lib/init.d.ts +0 -7
  536. package/lib/init.d.ts.map +0 -1
  537. package/lib/init.js +0 -11
  538. package/lib/init.js.map +0 -1
  539. package/lib/schedule-domain/tool-resolver.d.ts +0 -20
  540. package/lib/schedule-domain/tool-resolver.d.ts.map +0 -1
  541. package/lib/schedule-domain/tool-resolver.js +0 -80
  542. package/lib/schedule-domain/tool-resolver.js.map +0 -1
  543. package/lib/schedule-domain/turn-context.d.ts +0 -9
  544. package/lib/schedule-domain/turn-context.d.ts.map +0 -1
  545. package/lib/schedule-domain/turn-context.js +0 -36
  546. package/lib/schedule-domain/turn-context.js.map +0 -1
  547. package/lib/session/agent-session-host-port.d.ts +0 -23
  548. package/lib/session/agent-session-host-port.d.ts.map +0 -1
  549. package/lib/session/agent-session-host-port.js +0 -61
  550. package/lib/session/agent-session-host-port.js.map +0 -1
  551. package/lib/session/http-agent-session-store.d.ts +0 -76
  552. package/lib/session/http-agent-session-store.d.ts.map +0 -1
  553. package/lib/session/http-agent-session-store.js +0 -211
  554. package/lib/session/http-agent-session-store.js.map +0 -1
  555. package/lib/session/http-approval-adapter.d.ts +0 -11
  556. package/lib/session/http-approval-adapter.d.ts.map +0 -1
  557. package/lib/session/http-approval-adapter.js +0 -19
  558. package/lib/session/http-approval-adapter.js.map +0 -1
  559. package/lib/session/http-approval-waiter.d.ts +0 -11
  560. package/lib/session/http-approval-waiter.d.ts.map +0 -1
  561. package/lib/session/http-approval-waiter.js +0 -61
  562. package/lib/session/http-approval-waiter.js.map +0 -1
  563. package/lib/session/http-session-persistence.d.ts +0 -28
  564. package/lib/session/http-session-persistence.d.ts.map +0 -1
  565. package/lib/session/http-session-persistence.js +0 -60
  566. package/lib/session/http-session-persistence.js.map +0 -1
  567. package/lib/session/http-session-sink.d.ts +0 -11
  568. package/lib/session/http-session-sink.d.ts.map +0 -1
  569. package/lib/session/http-session-sink.js +0 -32
  570. package/lib/session/http-session-sink.js.map +0 -1
  571. package/lib/session/http-step-projector.d.ts +0 -16
  572. package/lib/session/http-step-projector.d.ts.map +0 -1
  573. package/lib/session/http-step-projector.js +0 -118
  574. package/lib/session/http-step-projector.js.map +0 -1
  575. package/lib/session/http-turn-runner.d.ts +0 -16
  576. package/lib/session/http-turn-runner.d.ts.map +0 -1
  577. package/lib/session/http-turn-runner.js +0 -57
  578. package/lib/session/http-turn-runner.js.map +0 -1
  579. package/lib/session/park-controller.d.ts +0 -24
  580. package/lib/session/park-controller.d.ts.map +0 -1
  581. package/lib/session/park-controller.js +0 -58
  582. package/lib/session/park-controller.js.map +0 -1
  583. package/lib/session/resolve-approval-port.d.ts +0 -7
  584. package/lib/session/resolve-approval-port.d.ts.map +0 -1
  585. package/lib/session/resolve-approval-port.js +0 -13
  586. package/lib/session/resolve-approval-port.js.map +0 -1
  587. package/lib/session/session-event-log.d.ts +0 -17
  588. package/lib/session/session-event-log.d.ts.map +0 -1
  589. package/lib/session/session-event-log.js +0 -56
  590. package/lib/session/session-event-log.js.map +0 -1
@@ -1,154 +0,0 @@
1
- /**
2
- * CollaborationSceneRepository — cells + members 关联表持久化。
3
- */
4
- import { type CollaborationScene, type PipelineState } from './types.js';
5
- import { type GenerationStoreContext } from '@zhin.js/plugin-runtime';
6
- import { type CollaborationSceneMemberRecord, type CollaborationSceneMemberRow, type CollaborationSceneRecord, type UpsertCollaborationSceneInput, type UpsertCollaborationMemberInput } from './collaboration-db-model.js';
7
- export type { UpsertCollaborationSceneInput, UpsertCollaborationMemberInput, CollaborationSceneMemberRecord, } from './collaboration-db-model.js';
8
- type DbModel = {
9
- select(...fields: string[]): {
10
- where(condition: Record<string, unknown>): Promise<Record<string, unknown>[]>;
11
- };
12
- create(data: Record<string, unknown>): Promise<unknown>;
13
- update(data: Record<string, unknown>): {
14
- where(condition: Record<string, unknown>): Promise<unknown>;
15
- };
16
- delete?(): {
17
- where(condition: Record<string, unknown>): Promise<unknown>;
18
- };
19
- };
20
- export interface CollaborationSceneRepository {
21
- listEnabled(): Promise<CollaborationScene[]>;
22
- getById(id: string): Promise<CollaborationScene | null>;
23
- findByScene(adapter: string, sceneId: string): Promise<CollaborationScene | null>;
24
- findScenesByEndpoint(endpointKey: string): Promise<CollaborationScene[]>;
25
- upsert(input: UpsertCollaborationSceneInput): Promise<CollaborationScene>;
26
- updateGoal(id: string, goal: string, expectedVersion?: number): Promise<{
27
- ok: true;
28
- scene: CollaborationScene;
29
- } | {
30
- ok: false;
31
- error: string;
32
- }>;
33
- setMissionRunId(id: string, missionRunId: string): Promise<void>;
34
- setPipelineState(id: string, state: PipelineState): Promise<void>;
35
- /** 乐观锁 patch:version 冲突时自动重试(默认 5 次) */
36
- patchPipelineState(id: string, patch: (prev: PipelineState | undefined, cell: CollaborationScene) => PipelineState | undefined, maxRetries?: number): Promise<{
37
- ok: true;
38
- scene: CollaborationScene;
39
- } | {
40
- ok: false;
41
- error: string;
42
- conflict?: boolean;
43
- }>;
44
- delete(id: string): Promise<boolean>;
45
- listMembers(collaborationSceneId: string): Promise<CollaborationSceneMemberRecord[]>;
46
- addMember(collaborationSceneId: string, input: UpsertCollaborationMemberInput): Promise<{
47
- ok: true;
48
- member: CollaborationSceneMemberRecord;
49
- } | {
50
- ok: false;
51
- error: string;
52
- }>;
53
- updateMember(collaborationSceneId: string, endpointKey: string, patch: Partial<UpsertCollaborationMemberInput>): Promise<{
54
- ok: true;
55
- member: CollaborationSceneMemberRecord;
56
- } | {
57
- ok: false;
58
- error: string;
59
- }>;
60
- removeMember(collaborationSceneId: string, endpointKey: string): Promise<boolean>;
61
- }
62
- declare abstract class CollaborationSceneRepositoryBase implements CollaborationSceneRepository {
63
- protected abstract getSceneRecord(id: string): Promise<CollaborationSceneRecord | null>;
64
- protected abstract listSceneRecords(enabledOnly?: boolean): Promise<CollaborationSceneRecord[]>;
65
- protected abstract findSceneRecordByImScene(adapter: string, sceneId: string): Promise<CollaborationSceneRecord | null>;
66
- protected abstract writeSceneRecord(record: CollaborationSceneRecord): Promise<void>;
67
- protected abstract deleteSceneRecord(id: string): Promise<boolean>;
68
- protected abstract listMemberRows(collaborationSceneId: string): Promise<CollaborationSceneMemberRow[]>;
69
- protected abstract listMemberRowsByEndpoint(endpointKey: string): Promise<CollaborationSceneMemberRow[]>;
70
- protected abstract getMemberRow(collaborationSceneId: string, endpointKey: string): Promise<CollaborationSceneMemberRow | null>;
71
- protected abstract writeMemberRow(row: CollaborationSceneMemberRow): Promise<void>;
72
- protected abstract deleteMemberRow(collaborationSceneId: string, endpointKey: string): Promise<boolean>;
73
- protected abstract deleteMembersForScene(collaborationSceneId: string): Promise<void>;
74
- protected abstract replaceMembers(collaborationSceneId: string, members: CollaborationSceneMemberRecord[]): Promise<void>;
75
- private loadScene;
76
- listEnabled(): Promise<CollaborationScene[]>;
77
- getById(id: string): Promise<CollaborationScene | null>;
78
- findByScene(adapter: string, sceneId: string): Promise<CollaborationScene | null>;
79
- findScenesByEndpoint(endpointKey: string): Promise<CollaborationScene[]>;
80
- upsert(input: UpsertCollaborationSceneInput): Promise<CollaborationScene>;
81
- updateGoal(id: string, goal: string, expectedVersion?: number): Promise<{
82
- ok: true;
83
- scene: CollaborationScene;
84
- } | {
85
- ok: false;
86
- error: string;
87
- }>;
88
- setMissionRunId(id: string, missionRunId: string): Promise<void>;
89
- setPipelineState(id: string, state: PipelineState): Promise<void>;
90
- patchPipelineState(id: string, patch: (prev: PipelineState | undefined, cell: CollaborationScene) => PipelineState | undefined, maxRetries?: number): Promise<{
91
- ok: true;
92
- scene: CollaborationScene;
93
- } | {
94
- ok: false;
95
- error: string;
96
- conflict?: boolean;
97
- }>;
98
- delete(id: string): Promise<boolean>;
99
- listMembers(collaborationSceneId: string): Promise<CollaborationSceneMemberRecord[]>;
100
- addMember(collaborationSceneId: string, input: UpsertCollaborationMemberInput): Promise<{
101
- ok: true;
102
- member: CollaborationSceneMemberRecord;
103
- } | {
104
- ok: false;
105
- error: string;
106
- }>;
107
- updateMember(collaborationSceneId: string, endpointKey: string, patch: Partial<UpsertCollaborationMemberInput>): Promise<{
108
- ok: true;
109
- member: CollaborationSceneMemberRecord;
110
- } | {
111
- ok: false;
112
- error: string;
113
- }>;
114
- removeMember(collaborationSceneId: string, endpointKey: string): Promise<boolean>;
115
- private bumpSceneVersion;
116
- }
117
- export declare class MemoryCollaborationSceneRepository extends CollaborationSceneRepositoryBase {
118
- private cells;
119
- private members;
120
- protected getSceneRecord(id: string): Promise<CollaborationSceneRecord | null>;
121
- protected listSceneRecords(enabledOnly?: boolean): Promise<CollaborationSceneRecord[]>;
122
- protected findSceneRecordByImScene(adapter: string, sceneId: string): Promise<CollaborationSceneRecord | null>;
123
- protected writeSceneRecord(record: CollaborationSceneRecord): Promise<void>;
124
- protected deleteSceneRecord(id: string): Promise<boolean>;
125
- protected listMemberRows(collaborationSceneId: string): Promise<CollaborationSceneMemberRow[]>;
126
- protected listMemberRowsByEndpoint(endpointKey: string): Promise<CollaborationSceneMemberRow[]>;
127
- protected getMemberRow(collaborationSceneId: string, endpointKey: string): Promise<CollaborationSceneMemberRow | null>;
128
- protected writeMemberRow(row: CollaborationSceneMemberRow): Promise<void>;
129
- protected deleteMemberRow(collaborationSceneId: string, endpointKey: string): Promise<boolean>;
130
- protected deleteMembersForScene(collaborationSceneId: string): Promise<void>;
131
- protected replaceMembers(collaborationSceneId: string, members: CollaborationSceneMemberRecord[]): Promise<void>;
132
- }
133
- export declare class DatabaseCollaborationSceneRepository extends CollaborationSceneRepositoryBase {
134
- private readonly cellModel;
135
- private readonly memberModel;
136
- constructor(cellModel: DbModel, memberModel: DbModel);
137
- protected getSceneRecord(id: string): Promise<CollaborationSceneRecord | null>;
138
- protected listSceneRecords(enabledOnly?: boolean): Promise<CollaborationSceneRecord[]>;
139
- protected findSceneRecordByImScene(adapter: string, sceneId: string): Promise<CollaborationSceneRecord | null>;
140
- protected writeSceneRecord(record: CollaborationSceneRecord): Promise<void>;
141
- protected deleteSceneRecord(id: string): Promise<boolean>;
142
- protected listMemberRows(collaborationSceneId: string): Promise<CollaborationSceneMemberRow[]>;
143
- protected listMemberRowsByEndpoint(endpointKey: string): Promise<CollaborationSceneMemberRow[]>;
144
- protected getMemberRow(collaborationSceneId: string, endpointKey: string): Promise<CollaborationSceneMemberRow | null>;
145
- protected writeMemberRow(row: CollaborationSceneMemberRow): Promise<void>;
146
- protected deleteMemberRow(collaborationSceneId: string, endpointKey: string): Promise<boolean>;
147
- protected deleteMembersForScene(collaborationSceneId: string): Promise<void>;
148
- protected replaceMembers(collaborationSceneId: string, members: CollaborationSceneMemberRecord[]): Promise<void>;
149
- }
150
- export declare function getCollaborationSceneRepository(): CollaborationSceneRepository;
151
- export declare function provideCollaborationSceneRepository(context: GenerationStoreContext, repo: CollaborationSceneRepository): void;
152
- export declare function setCollaborationSceneRepository(repo: CollaborationSceneRepository | null): void;
153
- export declare function createCollaborationSceneRepository(cellModel?: DbModel, memberModel?: DbModel): CollaborationSceneRepository;
154
- //# sourceMappingURL=collaboration-scene-repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collaboration-scene-repository.d.ts","sourceRoot":"","sources":["../../src/collaboration/collaboration-scene-repository.ts"],"names":[],"mappings":"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"}
@@ -1,451 +0,0 @@
1
- /**
2
- * CollaborationSceneRepository — cells + members 关联表持久化。
3
- */
4
- import { isPipelineRole } from './types.js';
5
- import { createGenerationStore, DisposeStack } from '@zhin.js/plugin-runtime';
6
- import { memberInputToRow, memberRowToRecord, } from './collaboration-db-model.js';
7
- /** node:sqlite 方言会把 JSON 形态的 TEXT 预解析为 object,不能直接 String()。 */
8
- function coerceTextJsonColumn(raw) {
9
- if (raw == null || raw === '')
10
- return '';
11
- if (typeof raw === 'string')
12
- return raw;
13
- if (typeof raw === 'object')
14
- return JSON.stringify(raw);
15
- return String(raw);
16
- }
17
- function rowToSceneRecord(row) {
18
- return {
19
- id: String(row.id ?? ''),
20
- adapter: String(row.adapter ?? ''),
21
- scene_id: String(row.scene_id ?? ''),
22
- goal: String(row.goal ?? ''),
23
- mission_run_id: String(row.mission_run_id ?? ''),
24
- pipeline_state: coerceTextJsonColumn(row.pipeline_state),
25
- version: Number(row.version ?? 0),
26
- enabled: Number(row.enabled ?? 1),
27
- created_at: Number(row.created_at ?? 0),
28
- updated_at: Number(row.updated_at ?? 0),
29
- };
30
- }
31
- function rowToMemberRow(row) {
32
- return {
33
- collaboration_scene_id: String(row.collaboration_scene_id ?? ''),
34
- adapter: String(row.adapter ?? ''),
35
- endpoint_id: String(row.endpoint_id ?? ''),
36
- primary: String(row.primary ?? ''),
37
- role: String(row.role ?? ''),
38
- pipeline_role: String(row.pipeline_role ?? ''),
39
- sort_order: Number(row.sort_order ?? 0),
40
- enabled: Number(row.enabled ?? 1),
41
- created_at: Number(row.created_at ?? 0),
42
- updated_at: Number(row.updated_at ?? 0),
43
- };
44
- }
45
- function parsePipelineState(raw) {
46
- if (!raw?.trim())
47
- return undefined;
48
- try {
49
- const parsed = JSON.parse(raw);
50
- if (parsed && typeof parsed === 'object' && typeof parsed.stage === 'string')
51
- return parsed;
52
- }
53
- catch {
54
- // 损坏的 pipeline_state 忽略,回退未初始化
55
- }
56
- return undefined;
57
- }
58
- function assembleScene(record, members) {
59
- return {
60
- id: record.id,
61
- adapter: record.adapter,
62
- sceneId: record.scene_id,
63
- goal: record.goal || undefined,
64
- missionRunId: record.mission_run_id || undefined,
65
- pipelineState: parsePipelineState(record.pipeline_state),
66
- members: members
67
- .filter((m) => m.enabled !== false)
68
- .map((m) => ({
69
- endpointKey: m.endpointKey,
70
- adapter: m.adapter,
71
- primary: m.primary,
72
- role: m.role,
73
- pipelineRole: isPipelineRole(m.pipelineRole) ? m.pipelineRole : undefined,
74
- })),
75
- version: record.version,
76
- };
77
- }
78
- class CollaborationSceneRepositoryBase {
79
- async loadScene(id) {
80
- const record = await this.getSceneRecord(id);
81
- if (!record || record.enabled === 0)
82
- return null;
83
- const rows = await this.listMemberRows(id);
84
- return assembleScene(record, rows.map(memberRowToRecord));
85
- }
86
- async listEnabled() {
87
- const records = await this.listSceneRecords(true);
88
- const out = [];
89
- for (const record of records) {
90
- const rows = await this.listMemberRows(record.id);
91
- out.push(assembleScene(record, rows.map(memberRowToRecord)));
92
- }
93
- return out;
94
- }
95
- async getById(id) {
96
- return this.loadScene(id);
97
- }
98
- async findByScene(adapter, sceneId) {
99
- const record = await this.findSceneRecordByImScene(adapter, sceneId);
100
- if (!record)
101
- return null;
102
- const rows = await this.listMemberRows(record.id);
103
- return assembleScene(record, rows.map(memberRowToRecord));
104
- }
105
- async findScenesByEndpoint(endpointKey) {
106
- const memberRows = await this.listMemberRowsByEndpoint(endpointKey);
107
- const cellIds = [...new Set(memberRows.filter((m) => m.enabled !== 0).map((m) => m.collaboration_scene_id))];
108
- const cells = [];
109
- for (const collaborationSceneId of cellIds) {
110
- const cell = await this.loadScene(collaborationSceneId);
111
- if (cell)
112
- cells.push(cell);
113
- }
114
- return cells;
115
- }
116
- async upsert(input) {
117
- const now = Date.now();
118
- const existing = await this.getSceneRecord(input.id);
119
- const record = {
120
- id: input.id,
121
- adapter: input.adapter,
122
- scene_id: input.sceneId,
123
- goal: input.goal ?? existing?.goal ?? '',
124
- mission_run_id: input.missionRunId ?? existing?.mission_run_id ?? '',
125
- pipeline_state: input.pipelineState ?? existing?.pipeline_state ?? '',
126
- version: existing ? existing.version + 1 : 0,
127
- enabled: input.enabled === false ? 0 : 1,
128
- created_at: existing?.created_at ?? now,
129
- updated_at: now,
130
- };
131
- await this.writeSceneRecord(record);
132
- if (input.members) {
133
- await this.replaceMembers(input.id, input.members);
134
- }
135
- return (await this.loadScene(input.id));
136
- }
137
- async updateGoal(id, goal, expectedVersion) {
138
- const existing = await this.getSceneRecord(id);
139
- if (!existing)
140
- return { ok: false, error: `Cell ${id} not found` };
141
- if (expectedVersion != null && expectedVersion !== existing.version) {
142
- return { ok: false, error: `Version conflict: expected ${expectedVersion}, got ${existing.version}` };
143
- }
144
- const record = {
145
- ...existing,
146
- goal,
147
- version: existing.version + 1,
148
- updated_at: Date.now(),
149
- };
150
- await this.writeSceneRecord(record);
151
- const cell = await this.loadScene(id);
152
- return cell ? { ok: true, scene: cell } : { ok: false, error: 'Update failed' };
153
- }
154
- async setMissionRunId(id, missionRunId) {
155
- const existing = await this.getSceneRecord(id);
156
- if (!existing)
157
- return;
158
- await this.writeSceneRecord({
159
- ...existing,
160
- mission_run_id: missionRunId,
161
- version: existing.version + 1,
162
- updated_at: Date.now(),
163
- });
164
- }
165
- async setPipelineState(id, state) {
166
- const existing = await this.getSceneRecord(id);
167
- if (!existing)
168
- return;
169
- await this.writeSceneRecord({
170
- ...existing,
171
- pipeline_state: JSON.stringify(state),
172
- version: existing.version + 1,
173
- updated_at: Date.now(),
174
- });
175
- }
176
- async patchPipelineState(id, patch, maxRetries = 5) {
177
- for (let attempt = 0; attempt < maxRetries; attempt++) {
178
- const before = await this.getSceneRecord(id);
179
- if (!before)
180
- return { ok: false, error: `Cell ${id} not found` };
181
- const cellBefore = await this.loadScene(id);
182
- if (!cellBefore)
183
- return { ok: false, error: `Cell ${id} not found` };
184
- const prev = cellBefore.pipelineState;
185
- const next = patch(prev, cellBefore);
186
- if (next === undefined) {
187
- return { ok: true, scene: cellBefore };
188
- }
189
- const recheck = await this.getSceneRecord(id);
190
- if (!recheck || recheck.version !== before.version) {
191
- continue;
192
- }
193
- await this.writeSceneRecord({
194
- ...recheck,
195
- pipeline_state: JSON.stringify(next),
196
- version: recheck.version + 1,
197
- updated_at: Date.now(),
198
- });
199
- const cell = await this.loadScene(id);
200
- return cell ? { ok: true, scene: cell } : { ok: false, error: 'Update failed' };
201
- }
202
- return { ok: false, error: 'pipeline_state_conflict', conflict: true };
203
- }
204
- async delete(id) {
205
- const existing = await this.getSceneRecord(id);
206
- if (!existing)
207
- return false;
208
- await this.deleteMembersForScene(id);
209
- return this.deleteSceneRecord(id);
210
- }
211
- async listMembers(collaborationSceneId) {
212
- const rows = await this.listMemberRows(collaborationSceneId);
213
- return rows.map(memberRowToRecord).filter((m) => m.enabled !== false);
214
- }
215
- async addMember(collaborationSceneId, input) {
216
- const cell = await this.getSceneRecord(collaborationSceneId);
217
- if (!cell)
218
- return { ok: false, error: `Cell ${collaborationSceneId} not found` };
219
- const dup = await this.getMemberRow(collaborationSceneId, input.endpointKey);
220
- if (dup)
221
- return { ok: false, error: `Member ${input.endpointKey} already exists` };
222
- const row = memberInputToRow(collaborationSceneId, input);
223
- await this.writeMemberRow(row);
224
- await this.bumpSceneVersion(collaborationSceneId);
225
- return { ok: true, member: memberRowToRecord(row) };
226
- }
227
- async updateMember(collaborationSceneId, endpointKey, patch) {
228
- const existing = await this.getMemberRow(collaborationSceneId, endpointKey);
229
- if (!existing)
230
- return { ok: false, error: `Member ${endpointKey} not found` };
231
- const row = memberInputToRow(collaborationSceneId, {
232
- endpointKey,
233
- primary: patch.primary ?? existing.primary,
234
- role: patch.role ?? (existing.role || undefined),
235
- pipelineRole: patch.pipelineRole ?? (existing.pipeline_role || undefined),
236
- sortOrder: patch.sortOrder ?? existing.sort_order,
237
- enabled: patch.enabled,
238
- }, Date.now(), existing);
239
- await this.writeMemberRow(row);
240
- await this.bumpSceneVersion(collaborationSceneId);
241
- return { ok: true, member: memberRowToRecord(row) };
242
- }
243
- async removeMember(collaborationSceneId, endpointKey) {
244
- const ok = await this.deleteMemberRow(collaborationSceneId, endpointKey);
245
- if (ok)
246
- await this.bumpSceneVersion(collaborationSceneId);
247
- return ok;
248
- }
249
- async bumpSceneVersion(collaborationSceneId) {
250
- const cell = await this.getSceneRecord(collaborationSceneId);
251
- if (!cell)
252
- return;
253
- await this.writeSceneRecord({
254
- ...cell,
255
- version: cell.version + 1,
256
- updated_at: Date.now(),
257
- });
258
- }
259
- }
260
- export class MemoryCollaborationSceneRepository extends CollaborationSceneRepositoryBase {
261
- cells = new Map();
262
- members = new Map();
263
- async getSceneRecord(id) {
264
- return this.cells.get(id) ?? null;
265
- }
266
- async listSceneRecords(enabledOnly = false) {
267
- return [...this.cells.values()].filter((r) => !enabledOnly || r.enabled !== 0);
268
- }
269
- async findSceneRecordByImScene(adapter, sceneId) {
270
- for (const row of this.cells.values()) {
271
- if (row.enabled !== 0 && row.adapter === adapter && row.scene_id === sceneId)
272
- return row;
273
- }
274
- return null;
275
- }
276
- async writeSceneRecord(record) {
277
- this.cells.set(record.id, record);
278
- }
279
- async deleteSceneRecord(id) {
280
- return this.cells.delete(id);
281
- }
282
- async listMemberRows(collaborationSceneId) {
283
- return [...(this.members.get(collaborationSceneId) ?? [])];
284
- }
285
- async listMemberRowsByEndpoint(endpointKey) {
286
- const out = [];
287
- for (const rows of this.members.values()) {
288
- for (const row of rows) {
289
- if (row.endpoint_id === endpointKey)
290
- out.push(row);
291
- }
292
- }
293
- return out;
294
- }
295
- async getMemberRow(collaborationSceneId, endpointKey) {
296
- return (this.members.get(collaborationSceneId) ?? []).find((m) => m.endpoint_id === endpointKey) ?? null;
297
- }
298
- async writeMemberRow(row) {
299
- const list = [...(this.members.get(row.collaboration_scene_id) ?? [])];
300
- const idx = list.findIndex((m) => m.endpoint_id === row.endpoint_id);
301
- if (idx >= 0)
302
- list[idx] = row;
303
- else
304
- list.push(row);
305
- list.sort((a, b) => a.sort_order - b.sort_order || a.endpoint_id.localeCompare(b.endpoint_id));
306
- this.members.set(row.collaboration_scene_id, list);
307
- }
308
- async deleteMemberRow(collaborationSceneId, endpointKey) {
309
- const list = this.members.get(collaborationSceneId);
310
- if (!list)
311
- return false;
312
- const next = list.filter((m) => m.endpoint_id !== endpointKey);
313
- if (next.length === list.length)
314
- return false;
315
- this.members.set(collaborationSceneId, next);
316
- return true;
317
- }
318
- async deleteMembersForScene(collaborationSceneId) {
319
- this.members.delete(collaborationSceneId);
320
- }
321
- async replaceMembers(collaborationSceneId, members) {
322
- const now = Date.now();
323
- const rows = members.map((m, i) => memberInputToRow(collaborationSceneId, { ...m, sortOrder: m.sortOrder ?? i }));
324
- for (const row of rows) {
325
- row.created_at = (await this.getMemberRow(collaborationSceneId, row.endpoint_id))?.created_at ?? now;
326
- }
327
- this.members.set(collaborationSceneId, rows);
328
- }
329
- }
330
- export class DatabaseCollaborationSceneRepository extends CollaborationSceneRepositoryBase {
331
- cellModel;
332
- memberModel;
333
- constructor(cellModel, memberModel) {
334
- super();
335
- this.cellModel = cellModel;
336
- this.memberModel = memberModel;
337
- }
338
- async getSceneRecord(id) {
339
- const rows = await this.cellModel.select().where({ id });
340
- if (!rows.length)
341
- return null;
342
- return rowToSceneRecord(rows[0]);
343
- }
344
- async listSceneRecords(enabledOnly = false) {
345
- const rows = await this.cellModel.select().where(enabledOnly ? { enabled: 1 } : {});
346
- return rows.map(rowToSceneRecord);
347
- }
348
- async findSceneRecordByImScene(adapter, sceneId) {
349
- const rows = await this.cellModel.select().where({ adapter, scene_id: sceneId, enabled: 1 });
350
- if (!rows.length)
351
- return null;
352
- return rowToSceneRecord(rows[0]);
353
- }
354
- async writeSceneRecord(record) {
355
- const existing = await this.getSceneRecord(record.id);
356
- if (!existing) {
357
- await this.cellModel.create({ ...record });
358
- return;
359
- }
360
- await this.cellModel.update({ ...record }).where({ id: record.id });
361
- }
362
- async deleteSceneRecord(id) {
363
- if (!this.cellModel.delete)
364
- return false;
365
- const existing = await this.getSceneRecord(id);
366
- if (!existing)
367
- return false;
368
- await this.cellModel.delete().where({ id });
369
- return true;
370
- }
371
- async listMemberRows(collaborationSceneId) {
372
- const rows = await this.memberModel.select().where({ collaboration_scene_id: collaborationSceneId });
373
- return rows.map(rowToMemberRow).sort((a, b) => a.sort_order - b.sort_order);
374
- }
375
- async listMemberRowsByEndpoint(endpointKey) {
376
- const rows = await this.memberModel.select().where({ endpoint_id: endpointKey, enabled: 1 });
377
- return rows.map(rowToMemberRow);
378
- }
379
- async getMemberRow(collaborationSceneId, endpointKey) {
380
- const rows = await this.memberModel.select().where({ collaboration_scene_id: collaborationSceneId, endpoint_id: endpointKey });
381
- if (!rows.length)
382
- return null;
383
- return rowToMemberRow(rows[0]);
384
- }
385
- async writeMemberRow(row) {
386
- const existing = await this.getMemberRow(row.collaboration_scene_id, row.endpoint_id);
387
- if (!existing) {
388
- await this.memberModel.create({ ...row });
389
- return;
390
- }
391
- await this.memberModel.update({ ...row }).where({ collaboration_scene_id: row.collaboration_scene_id, endpoint_id: row.endpoint_id });
392
- }
393
- async deleteMemberRow(collaborationSceneId, endpointKey) {
394
- if (!this.memberModel.delete)
395
- return false;
396
- const existing = await this.getMemberRow(collaborationSceneId, endpointKey);
397
- if (!existing)
398
- return false;
399
- await this.memberModel.delete().where({ collaboration_scene_id: collaborationSceneId, endpoint_id: endpointKey });
400
- return true;
401
- }
402
- async deleteMembersForScene(collaborationSceneId) {
403
- if (!this.memberModel.delete)
404
- return;
405
- const rows = await this.listMemberRows(collaborationSceneId);
406
- for (const row of rows) {
407
- await this.memberModel.delete().where({ collaboration_scene_id: collaborationSceneId, endpoint_id: row.endpoint_id });
408
- }
409
- }
410
- async replaceMembers(collaborationSceneId, members) {
411
- const existing = await this.listMemberRows(collaborationSceneId);
412
- const nextIds = new Set(members.map((m) => m.endpointKey));
413
- for (const row of existing) {
414
- if (!nextIds.has(row.endpoint_id)) {
415
- await this.deleteMemberRow(collaborationSceneId, row.endpoint_id);
416
- }
417
- }
418
- for (let i = 0; i < members.length; i++) {
419
- const m = members[i];
420
- const prev = existing.find((r) => r.endpoint_id === m.endpointKey);
421
- await this.writeMemberRow(memberInputToRow(collaborationSceneId, { ...m, sortOrder: m.sortOrder ?? i }, Date.now(), prev));
422
- }
423
- }
424
- }
425
- const sceneRepoStore = createGenerationStore('zhin.agent.collaboration-scene-repository');
426
- let _fallbackSceneRepo = null;
427
- export function getCollaborationSceneRepository() {
428
- return sceneRepoStore.tryUse() ?? (_fallbackSceneRepo ??= new MemoryCollaborationSceneRepository());
429
- }
430
- export function provideCollaborationSceneRepository(context, repo) {
431
- sceneRepoStore.provide(context, repo);
432
- }
433
- let _sceneRepoLegacy = null;
434
- export function setCollaborationSceneRepository(repo) {
435
- if (_sceneRepoLegacy) {
436
- void _sceneRepoLegacy.dispose();
437
- _sceneRepoLegacy = null;
438
- }
439
- _fallbackSceneRepo = null;
440
- if (repo) {
441
- _sceneRepoLegacy = new DisposeStack();
442
- sceneRepoStore.provide({ lifecycle: _sceneRepoLegacy }, repo);
443
- }
444
- }
445
- export function createCollaborationSceneRepository(cellModel, memberModel) {
446
- if (cellModel && memberModel) {
447
- return new DatabaseCollaborationSceneRepository(cellModel, memberModel);
448
- }
449
- return new MemoryCollaborationSceneRepository();
450
- }
451
- //# sourceMappingURL=collaboration-scene-repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collaboration-scene-repository.js","sourceRoot":"","sources":["../../src/collaboration/collaboration-scene-repository.ts"],"names":[],"mappings":"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"}