dsh-tavern-bundle 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -0
  3. package/cordis.patch.yml +14 -0
  4. package/lib/adapters/model-gateway.d.ts +4 -0
  5. package/lib/adapters/model-gateway.d.ts.map +1 -0
  6. package/lib/adapters/model-gateway.js +3 -0
  7. package/lib/adapters/model-gateway.js.map +1 -0
  8. package/lib/adapters/prestep-spike.d.ts +16 -0
  9. package/lib/adapters/prestep-spike.d.ts.map +1 -0
  10. package/lib/adapters/prestep-spike.js +114 -0
  11. package/lib/adapters/prestep-spike.js.map +1 -0
  12. package/lib/adapters/runtime-probe.d.ts +67 -0
  13. package/lib/adapters/runtime-probe.d.ts.map +1 -0
  14. package/lib/adapters/runtime-probe.js +106 -0
  15. package/lib/adapters/runtime-probe.js.map +1 -0
  16. package/lib/adapters/session-agent-provider.d.ts +3 -0
  17. package/lib/adapters/session-agent-provider.d.ts.map +1 -0
  18. package/lib/adapters/session-agent-provider.js +3 -0
  19. package/lib/adapters/session-agent-provider.js.map +1 -0
  20. package/lib/adapters/subagent-gateway.d.ts +3 -0
  21. package/lib/adapters/subagent-gateway.d.ts.map +1 -0
  22. package/lib/adapters/subagent-gateway.js +3 -0
  23. package/lib/adapters/subagent-gateway.js.map +1 -0
  24. package/lib/application/chat/chat-application-service.d.ts +94 -0
  25. package/lib/application/chat/chat-application-service.d.ts.map +1 -0
  26. package/lib/application/chat/chat-application-service.js +291 -0
  27. package/lib/application/chat/chat-application-service.js.map +1 -0
  28. package/lib/application/companion/agent-orchestrator.d.ts +91 -0
  29. package/lib/application/companion/agent-orchestrator.d.ts.map +1 -0
  30. package/lib/application/companion/agent-orchestrator.js +298 -0
  31. package/lib/application/companion/agent-orchestrator.js.map +1 -0
  32. package/lib/application/companion/companion-child-service.d.ts +47 -0
  33. package/lib/application/companion/companion-child-service.d.ts.map +1 -0
  34. package/lib/application/companion/companion-child-service.js +30 -0
  35. package/lib/application/companion/companion-child-service.js.map +1 -0
  36. package/lib/application/companion/companion-invocation-service.d.ts +42 -0
  37. package/lib/application/companion/companion-invocation-service.d.ts.map +1 -0
  38. package/lib/application/companion/companion-invocation-service.js +50 -0
  39. package/lib/application/companion/companion-invocation-service.js.map +1 -0
  40. package/lib/application/companion/companion-profile-service.d.ts +32 -0
  41. package/lib/application/companion/companion-profile-service.d.ts.map +1 -0
  42. package/lib/application/companion/companion-profile-service.js +112 -0
  43. package/lib/application/companion/companion-profile-service.js.map +1 -0
  44. package/lib/application/companion/companion-promotion-service.d.ts +69 -0
  45. package/lib/application/companion/companion-promotion-service.d.ts.map +1 -0
  46. package/lib/application/companion/companion-promotion-service.js +129 -0
  47. package/lib/application/companion/companion-promotion-service.js.map +1 -0
  48. package/lib/application/group-chat/group-chat-execution-service.d.ts +22 -0
  49. package/lib/application/group-chat/group-chat-execution-service.d.ts.map +1 -0
  50. package/lib/application/group-chat/group-chat-execution-service.js +110 -0
  51. package/lib/application/group-chat/group-chat-execution-service.js.map +1 -0
  52. package/lib/application/group-chat/group-chat-orchestrator.d.ts +51 -0
  53. package/lib/application/group-chat/group-chat-orchestrator.d.ts.map +1 -0
  54. package/lib/application/group-chat/group-chat-orchestrator.js +57 -0
  55. package/lib/application/group-chat/group-chat-orchestrator.js.map +1 -0
  56. package/lib/application/memory/memory-retriever.d.ts +37 -0
  57. package/lib/application/memory/memory-retriever.d.ts.map +1 -0
  58. package/lib/application/memory/memory-retriever.js +91 -0
  59. package/lib/application/memory/memory-retriever.js.map +1 -0
  60. package/lib/application/memory/memory-service.d.ts +128 -0
  61. package/lib/application/memory/memory-service.d.ts.map +1 -0
  62. package/lib/application/memory/memory-service.js +346 -0
  63. package/lib/application/memory/memory-service.js.map +1 -0
  64. package/lib/application/ports/companion-runtime-port.d.ts +72 -0
  65. package/lib/application/ports/companion-runtime-port.d.ts.map +1 -0
  66. package/lib/application/ports/companion-runtime-port.js +2 -0
  67. package/lib/application/ports/companion-runtime-port.js.map +1 -0
  68. package/lib/application/ports/llm-port.d.ts +7 -0
  69. package/lib/application/ports/llm-port.d.ts.map +1 -0
  70. package/lib/application/ports/llm-port.js +2 -0
  71. package/lib/application/ports/llm-port.js.map +1 -0
  72. package/lib/application/ports/message-source.d.ts +4 -0
  73. package/lib/application/ports/message-source.d.ts.map +1 -0
  74. package/lib/application/ports/message-source.js +5 -0
  75. package/lib/application/ports/message-source.js.map +1 -0
  76. package/lib/application/ports/session-context-port.d.ts +13 -0
  77. package/lib/application/ports/session-context-port.d.ts.map +1 -0
  78. package/lib/application/ports/session-context-port.js +2 -0
  79. package/lib/application/ports/session-context-port.js.map +1 -0
  80. package/lib/application/ports/subagent-port.d.ts +31 -0
  81. package/lib/application/ports/subagent-port.d.ts.map +1 -0
  82. package/lib/application/ports/subagent-port.js +2 -0
  83. package/lib/application/ports/subagent-port.js.map +1 -0
  84. package/lib/application/ports/user-resolver-port.d.ts +5 -0
  85. package/lib/application/ports/user-resolver-port.d.ts.map +1 -0
  86. package/lib/application/ports/user-resolver-port.js +2 -0
  87. package/lib/application/ports/user-resolver-port.js.map +1 -0
  88. package/lib/application/relationship/relationship-event-service.d.ts +31 -0
  89. package/lib/application/relationship/relationship-event-service.d.ts.map +1 -0
  90. package/lib/application/relationship/relationship-event-service.js +43 -0
  91. package/lib/application/relationship/relationship-event-service.js.map +1 -0
  92. package/lib/application/relationship/relationship-policy.d.ts +20 -0
  93. package/lib/application/relationship/relationship-policy.d.ts.map +1 -0
  94. package/lib/application/relationship/relationship-policy.js +24 -0
  95. package/lib/application/relationship/relationship-policy.js.map +1 -0
  96. package/lib/application/relationship/relationship-projection.d.ts +14 -0
  97. package/lib/application/relationship/relationship-projection.d.ts.map +1 -0
  98. package/lib/application/relationship/relationship-projection.js +25 -0
  99. package/lib/application/relationship/relationship-projection.js.map +1 -0
  100. package/lib/application/relationship/relationship-service.d.ts +95 -0
  101. package/lib/application/relationship/relationship-service.d.ts.map +1 -0
  102. package/lib/application/relationship/relationship-service.js +254 -0
  103. package/lib/application/relationship/relationship-service.js.map +1 -0
  104. package/lib/application/workspace/workspace-service.d.ts +106 -0
  105. package/lib/application/workspace/workspace-service.d.ts.map +1 -0
  106. package/lib/application/workspace/workspace-service.js +44 -0
  107. package/lib/application/workspace/workspace-service.js.map +1 -0
  108. package/lib/bootstrap/create-domain.d.ts +5 -0
  109. package/lib/bootstrap/create-domain.d.ts.map +1 -0
  110. package/lib/bootstrap/create-domain.js +14 -0
  111. package/lib/bootstrap/create-domain.js.map +1 -0
  112. package/lib/bootstrap/create-repositories.d.ts +403 -0
  113. package/lib/bootstrap/create-repositories.d.ts.map +1 -0
  114. package/lib/bootstrap/create-repositories.js +39 -0
  115. package/lib/bootstrap/create-repositories.js.map +1 -0
  116. package/lib/bootstrap/create-runtime.d.ts +8 -0
  117. package/lib/bootstrap/create-runtime.d.ts.map +1 -0
  118. package/lib/bootstrap/create-runtime.js +10 -0
  119. package/lib/bootstrap/create-runtime.js.map +1 -0
  120. package/lib/bootstrap/create-services.d.ts +52 -0
  121. package/lib/bootstrap/create-services.d.ts.map +1 -0
  122. package/lib/bootstrap/create-services.js +79 -0
  123. package/lib/bootstrap/create-services.js.map +1 -0
  124. package/lib/bootstrap/install-commands.d.ts +4 -0
  125. package/lib/bootstrap/install-commands.d.ts.map +1 -0
  126. package/lib/bootstrap/install-commands.js +322 -0
  127. package/lib/bootstrap/install-commands.js.map +1 -0
  128. package/lib/bootstrap/install-http.d.ts +7 -0
  129. package/lib/bootstrap/install-http.d.ts.map +1 -0
  130. package/lib/bootstrap/install-http.js +265 -0
  131. package/lib/bootstrap/install-http.js.map +1 -0
  132. package/lib/bootstrap/lifecycle.d.ts +14 -0
  133. package/lib/bootstrap/lifecycle.d.ts.map +1 -0
  134. package/lib/bootstrap/lifecycle.js +56 -0
  135. package/lib/bootstrap/lifecycle.js.map +1 -0
  136. package/lib/bootstrap/types.d.ts +9 -0
  137. package/lib/bootstrap/types.d.ts.map +1 -0
  138. package/lib/bootstrap/types.js +2 -0
  139. package/lib/bootstrap/types.js.map +1 -0
  140. package/lib/client.js +6 -0
  141. package/lib/client.js.map +1 -0
  142. package/lib/core/audit-service.d.ts +43 -0
  143. package/lib/core/audit-service.d.ts.map +1 -0
  144. package/lib/core/audit-service.js +75 -0
  145. package/lib/core/audit-service.js.map +1 -0
  146. package/lib/core/candidate-extractor.d.ts +31 -0
  147. package/lib/core/candidate-extractor.d.ts.map +1 -0
  148. package/lib/core/candidate-extractor.js +83 -0
  149. package/lib/core/candidate-extractor.js.map +1 -0
  150. package/lib/core/candidate-service.d.ts +72 -0
  151. package/lib/core/candidate-service.d.ts.map +1 -0
  152. package/lib/core/candidate-service.js +283 -0
  153. package/lib/core/candidate-service.js.map +1 -0
  154. package/lib/core/character-service.d.ts +26 -0
  155. package/lib/core/character-service.d.ts.map +1 -0
  156. package/lib/core/character-service.js +68 -0
  157. package/lib/core/character-service.js.map +1 -0
  158. package/lib/core/chat-file-io.d.ts +28 -0
  159. package/lib/core/chat-file-io.d.ts.map +1 -0
  160. package/lib/core/chat-file-io.js +114 -0
  161. package/lib/core/chat-file-io.js.map +1 -0
  162. package/lib/core/chat-service.d.ts +4 -0
  163. package/lib/core/chat-service.d.ts.map +1 -0
  164. package/lib/core/chat-service.js +3 -0
  165. package/lib/core/chat-service.js.map +1 -0
  166. package/lib/core/command-arguments.d.ts +2 -0
  167. package/lib/core/command-arguments.d.ts.map +1 -0
  168. package/lib/core/command-arguments.js +42 -0
  169. package/lib/core/command-arguments.js.map +1 -0
  170. package/lib/core/companion-child-agent-service.d.ts +3 -0
  171. package/lib/core/companion-child-agent-service.d.ts.map +1 -0
  172. package/lib/core/companion-child-agent-service.js +3 -0
  173. package/lib/core/companion-child-agent-service.js.map +1 -0
  174. package/lib/core/companion-invocation-service.d.ts +3 -0
  175. package/lib/core/companion-invocation-service.d.ts.map +1 -0
  176. package/lib/core/companion-invocation-service.js +3 -0
  177. package/lib/core/companion-invocation-service.js.map +1 -0
  178. package/lib/core/companion-profile-service.d.ts +3 -0
  179. package/lib/core/companion-profile-service.d.ts.map +1 -0
  180. package/lib/core/companion-profile-service.js +3 -0
  181. package/lib/core/companion-profile-service.js.map +1 -0
  182. package/lib/core/companion-promotion-service.d.ts +3 -0
  183. package/lib/core/companion-promotion-service.d.ts.map +1 -0
  184. package/lib/core/companion-promotion-service.js +3 -0
  185. package/lib/core/companion-promotion-service.js.map +1 -0
  186. package/lib/core/context-assembler.d.ts +92 -0
  187. package/lib/core/context-assembler.d.ts.map +1 -0
  188. package/lib/core/context-assembler.js +185 -0
  189. package/lib/core/context-assembler.js.map +1 -0
  190. package/lib/core/conversation-repository.d.ts +42 -0
  191. package/lib/core/conversation-repository.d.ts.map +1 -0
  192. package/lib/core/conversation-repository.js +94 -0
  193. package/lib/core/conversation-repository.js.map +1 -0
  194. package/lib/core/group-chat-execution-service.d.ts +3 -0
  195. package/lib/core/group-chat-execution-service.d.ts.map +1 -0
  196. package/lib/core/group-chat-execution-service.js +3 -0
  197. package/lib/core/group-chat-execution-service.js.map +1 -0
  198. package/lib/core/group-chat-orchestrator.d.ts +3 -0
  199. package/lib/core/group-chat-orchestrator.d.ts.map +1 -0
  200. package/lib/core/group-chat-orchestrator.js +3 -0
  201. package/lib/core/group-chat-orchestrator.js.map +1 -0
  202. package/lib/core/memory-retriever.d.ts +3 -0
  203. package/lib/core/memory-retriever.d.ts.map +1 -0
  204. package/lib/core/memory-retriever.js +3 -0
  205. package/lib/core/memory-retriever.js.map +1 -0
  206. package/lib/core/memory-service.d.ts +3 -0
  207. package/lib/core/memory-service.d.ts.map +1 -0
  208. package/lib/core/memory-service.js +3 -0
  209. package/lib/core/memory-service.js.map +1 -0
  210. package/lib/core/personality-candidate-service.d.ts +46 -0
  211. package/lib/core/personality-candidate-service.d.ts.map +1 -0
  212. package/lib/core/personality-candidate-service.js +65 -0
  213. package/lib/core/personality-candidate-service.js.map +1 -0
  214. package/lib/core/prompt-assembler.d.ts +43 -0
  215. package/lib/core/prompt-assembler.d.ts.map +1 -0
  216. package/lib/core/prompt-assembler.js +67 -0
  217. package/lib/core/prompt-assembler.js.map +1 -0
  218. package/lib/core/relationship-event-service.d.ts +3 -0
  219. package/lib/core/relationship-event-service.d.ts.map +1 -0
  220. package/lib/core/relationship-event-service.js +3 -0
  221. package/lib/core/relationship-event-service.js.map +1 -0
  222. package/lib/core/relationship-policy.d.ts +3 -0
  223. package/lib/core/relationship-policy.d.ts.map +1 -0
  224. package/lib/core/relationship-policy.js +3 -0
  225. package/lib/core/relationship-policy.js.map +1 -0
  226. package/lib/core/relationship-projection.d.ts +3 -0
  227. package/lib/core/relationship-projection.d.ts.map +1 -0
  228. package/lib/core/relationship-projection.js +3 -0
  229. package/lib/core/relationship-projection.js.map +1 -0
  230. package/lib/core/relationship-service.d.ts +3 -0
  231. package/lib/core/relationship-service.d.ts.map +1 -0
  232. package/lib/core/relationship-service.js +3 -0
  233. package/lib/core/relationship-service.js.map +1 -0
  234. package/lib/core/roleplay-contract.d.ts +11 -0
  235. package/lib/core/roleplay-contract.d.ts.map +1 -0
  236. package/lib/core/roleplay-contract.js +27 -0
  237. package/lib/core/roleplay-contract.js.map +1 -0
  238. package/lib/core/runtime-binding-service.d.ts +19 -0
  239. package/lib/core/runtime-binding-service.d.ts.map +1 -0
  240. package/lib/core/runtime-binding-service.js +66 -0
  241. package/lib/core/runtime-binding-service.js.map +1 -0
  242. package/lib/core/scene-service.d.ts +60 -0
  243. package/lib/core/scene-service.d.ts.map +1 -0
  244. package/lib/core/scene-service.js +212 -0
  245. package/lib/core/scene-service.js.map +1 -0
  246. package/lib/core/session-binding-service.d.ts +51 -0
  247. package/lib/core/session-binding-service.d.ts.map +1 -0
  248. package/lib/core/session-binding-service.js +106 -0
  249. package/lib/core/session-binding-service.js.map +1 -0
  250. package/lib/core/skill-service.d.ts +82 -0
  251. package/lib/core/skill-service.d.ts.map +1 -0
  252. package/lib/core/skill-service.js +45 -0
  253. package/lib/core/skill-service.js.map +1 -0
  254. package/lib/core/tavern-session-bridge.d.ts +3 -0
  255. package/lib/core/tavern-session-bridge.d.ts.map +1 -0
  256. package/lib/core/tavern-session-bridge.js +3 -0
  257. package/lib/core/tavern-session-bridge.js.map +1 -0
  258. package/lib/core/user-resolver.d.ts +15 -0
  259. package/lib/core/user-resolver.d.ts.map +1 -0
  260. package/lib/core/user-resolver.js +17 -0
  261. package/lib/core/user-resolver.js.map +1 -0
  262. package/lib/core/workspace-service.d.ts +3 -0
  263. package/lib/core/workspace-service.d.ts.map +1 -0
  264. package/lib/core/workspace-service.js +3 -0
  265. package/lib/core/workspace-service.js.map +1 -0
  266. package/lib/core/workspace-session-service.d.ts +11 -0
  267. package/lib/core/workspace-session-service.d.ts.map +1 -0
  268. package/lib/core/workspace-session-service.js +14 -0
  269. package/lib/core/workspace-session-service.js.map +1 -0
  270. package/lib/domain/schemas.d.ts +1173 -0
  271. package/lib/domain/schemas.d.ts.map +1 -0
  272. package/lib/domain/schemas.js +590 -0
  273. package/lib/domain/schemas.js.map +1 -0
  274. package/lib/domain/spec.d.ts +494 -0
  275. package/lib/domain/spec.d.ts.map +1 -0
  276. package/lib/domain/spec.js +63 -0
  277. package/lib/domain/spec.js.map +1 -0
  278. package/lib/import/artifact-service.d.ts +33 -0
  279. package/lib/import/artifact-service.d.ts.map +1 -0
  280. package/lib/import/artifact-service.js +67 -0
  281. package/lib/import/artifact-service.js.map +1 -0
  282. package/lib/import/import-service.d.ts +30 -0
  283. package/lib/import/import-service.d.ts.map +1 -0
  284. package/lib/import/import-service.js +154 -0
  285. package/lib/import/import-service.js.map +1 -0
  286. package/lib/import/parser.d.ts +81 -0
  287. package/lib/import/parser.d.ts.map +1 -0
  288. package/lib/import/parser.js +423 -0
  289. package/lib/import/parser.js.map +1 -0
  290. package/lib/index.d.ts +60 -0
  291. package/lib/index.d.ts.map +1 -0
  292. package/lib/index.js +111 -0
  293. package/lib/index.js.map +1 -0
  294. package/lib/infrastructure/dsh/llm/llm-port.d.ts +3 -0
  295. package/lib/infrastructure/dsh/llm/llm-port.d.ts.map +1 -0
  296. package/lib/infrastructure/dsh/llm/llm-port.js +2 -0
  297. package/lib/infrastructure/dsh/llm/llm-port.js.map +1 -0
  298. package/lib/infrastructure/dsh/llm/model-gateway.d.ts +10 -0
  299. package/lib/infrastructure/dsh/llm/model-gateway.d.ts.map +1 -0
  300. package/lib/infrastructure/dsh/llm/model-gateway.js +21 -0
  301. package/lib/infrastructure/dsh/llm/model-gateway.js.map +1 -0
  302. package/lib/infrastructure/dsh/session/session-agent-provider.d.ts +28 -0
  303. package/lib/infrastructure/dsh/session/session-agent-provider.d.ts.map +1 -0
  304. package/lib/infrastructure/dsh/session/session-agent-provider.js +40 -0
  305. package/lib/infrastructure/dsh/session/session-agent-provider.js.map +1 -0
  306. package/lib/infrastructure/dsh/session/tavern-session-bridge.d.ts +142 -0
  307. package/lib/infrastructure/dsh/session/tavern-session-bridge.d.ts.map +1 -0
  308. package/lib/infrastructure/dsh/session/tavern-session-bridge.js +544 -0
  309. package/lib/infrastructure/dsh/session/tavern-session-bridge.js.map +1 -0
  310. package/lib/infrastructure/dsh/subagent/subagent-gateway.d.ts +63 -0
  311. package/lib/infrastructure/dsh/subagent/subagent-gateway.d.ts.map +1 -0
  312. package/lib/infrastructure/dsh/subagent/subagent-gateway.js +70 -0
  313. package/lib/infrastructure/dsh/subagent/subagent-gateway.js.map +1 -0
  314. package/lib/infrastructure/runtime/companion-runtime.d.ts +128 -0
  315. package/lib/infrastructure/runtime/companion-runtime.d.ts.map +1 -0
  316. package/lib/infrastructure/runtime/companion-runtime.js +127 -0
  317. package/lib/infrastructure/runtime/companion-runtime.js.map +1 -0
  318. package/lib/infrastructure/runtime/runtime-factory.d.ts +10 -0
  319. package/lib/infrastructure/runtime/runtime-factory.d.ts.map +1 -0
  320. package/lib/infrastructure/runtime/runtime-factory.js +14 -0
  321. package/lib/infrastructure/runtime/runtime-factory.js.map +1 -0
  322. package/lib/interfaces/http/chat/chat-http.d.ts +23 -0
  323. package/lib/interfaces/http/chat/chat-http.d.ts.map +1 -0
  324. package/lib/interfaces/http/chat/chat-http.js +310 -0
  325. package/lib/interfaces/http/chat/chat-http.js.map +1 -0
  326. package/lib/interfaces/http/companion/companion-http.d.ts +8 -0
  327. package/lib/interfaces/http/companion/companion-http.d.ts.map +1 -0
  328. package/lib/interfaces/http/companion/companion-http.js +76 -0
  329. package/lib/interfaces/http/companion/companion-http.js.map +1 -0
  330. package/lib/interfaces/http/companion/promotion-http.d.ts +6 -0
  331. package/lib/interfaces/http/companion/promotion-http.d.ts.map +1 -0
  332. package/lib/interfaces/http/companion/promotion-http.js +25 -0
  333. package/lib/interfaces/http/companion/promotion-http.js.map +1 -0
  334. package/lib/interfaces/http/companion/runtime-http.d.ts +13 -0
  335. package/lib/interfaces/http/companion/runtime-http.d.ts.map +1 -0
  336. package/lib/interfaces/http/companion/runtime-http.js +51 -0
  337. package/lib/interfaces/http/companion/runtime-http.js.map +1 -0
  338. package/lib/interfaces/http/companion/stage4-companion-http.d.ts +30 -0
  339. package/lib/interfaces/http/companion/stage4-companion-http.d.ts.map +1 -0
  340. package/lib/interfaces/http/companion/stage4-companion-http.js +149 -0
  341. package/lib/interfaces/http/companion/stage4-companion-http.js.map +1 -0
  342. package/lib/interfaces/http/group/group-http.d.ts +11 -0
  343. package/lib/interfaces/http/group/group-http.d.ts.map +1 -0
  344. package/lib/interfaces/http/group/group-http.js +77 -0
  345. package/lib/interfaces/http/group/group-http.js.map +1 -0
  346. package/lib/interfaces/http/memory/candidate-http.d.ts +8 -0
  347. package/lib/interfaces/http/memory/candidate-http.d.ts.map +1 -0
  348. package/lib/interfaces/http/memory/candidate-http.js +86 -0
  349. package/lib/interfaces/http/memory/candidate-http.js.map +1 -0
  350. package/lib/interfaces/http/relationship/companion-relationship-http.d.ts +7 -0
  351. package/lib/interfaces/http/relationship/companion-relationship-http.d.ts.map +1 -0
  352. package/lib/interfaces/http/relationship/companion-relationship-http.js +30 -0
  353. package/lib/interfaces/http/relationship/companion-relationship-http.js.map +1 -0
  354. package/lib/interfaces/http/workspace/workspace-http.d.ts +19 -0
  355. package/lib/interfaces/http/workspace/workspace-http.d.ts.map +1 -0
  356. package/lib/interfaces/http/workspace/workspace-http.js +78 -0
  357. package/lib/interfaces/http/workspace/workspace-http.js.map +1 -0
  358. package/lib/interfaces/read-model/tavern-read-api.d.ts +44 -0
  359. package/lib/interfaces/read-model/tavern-read-api.d.ts.map +1 -0
  360. package/lib/interfaces/read-model/tavern-read-api.js +189 -0
  361. package/lib/interfaces/read-model/tavern-read-api.js.map +1 -0
  362. package/lib/remote/candidate-api.d.ts +3 -0
  363. package/lib/remote/candidate-api.d.ts.map +1 -0
  364. package/lib/remote/candidate-api.js +3 -0
  365. package/lib/remote/candidate-api.js.map +1 -0
  366. package/lib/remote/chat-api.d.ts +3 -0
  367. package/lib/remote/chat-api.d.ts.map +1 -0
  368. package/lib/remote/chat-api.js +3 -0
  369. package/lib/remote/chat-api.js.map +1 -0
  370. package/lib/remote/companion-api.d.ts +3 -0
  371. package/lib/remote/companion-api.d.ts.map +1 -0
  372. package/lib/remote/companion-api.js +3 -0
  373. package/lib/remote/companion-api.js.map +1 -0
  374. package/lib/remote/companion-promotion-api.d.ts +3 -0
  375. package/lib/remote/companion-promotion-api.d.ts.map +1 -0
  376. package/lib/remote/companion-promotion-api.js +3 -0
  377. package/lib/remote/companion-promotion-api.js.map +1 -0
  378. package/lib/remote/import-http.d.ts +29 -0
  379. package/lib/remote/import-http.d.ts.map +1 -0
  380. package/lib/remote/import-http.js +106 -0
  381. package/lib/remote/import-http.js.map +1 -0
  382. package/lib/remote/stage4-api.d.ts +6 -0
  383. package/lib/remote/stage4-api.d.ts.map +1 -0
  384. package/lib/remote/stage4-api.js +4 -0
  385. package/lib/remote/stage4-api.js.map +1 -0
  386. package/lib/remote/stage5-runtime-api.d.ts +4 -0
  387. package/lib/remote/stage5-runtime-api.d.ts.map +1 -0
  388. package/lib/remote/stage5-runtime-api.js +2 -0
  389. package/lib/remote/stage5-runtime-api.js.map +1 -0
  390. package/lib/remote/stage6-group-api.d.ts +4 -0
  391. package/lib/remote/stage6-group-api.d.ts.map +1 -0
  392. package/lib/remote/stage6-group-api.js +2 -0
  393. package/lib/remote/stage6-group-api.js.map +1 -0
  394. package/lib/remote/tavern-api.d.ts +3 -0
  395. package/lib/remote/tavern-api.d.ts.map +1 -0
  396. package/lib/remote/tavern-api.js +3 -0
  397. package/lib/remote/tavern-api.js.map +1 -0
  398. package/lib/runtime/agent-orchestrator.d.ts +3 -0
  399. package/lib/runtime/agent-orchestrator.d.ts.map +1 -0
  400. package/lib/runtime/agent-orchestrator.js +3 -0
  401. package/lib/runtime/agent-orchestrator.js.map +1 -0
  402. package/lib/runtime/companion-runtime.d.ts +3 -0
  403. package/lib/runtime/companion-runtime.d.ts.map +1 -0
  404. package/lib/runtime/companion-runtime.js +3 -0
  405. package/lib/runtime/companion-runtime.js.map +1 -0
  406. package/lib/runtime/langgraph-graph.d.ts +32 -0
  407. package/lib/runtime/langgraph-graph.d.ts.map +1 -0
  408. package/lib/runtime/langgraph-graph.js +32 -0
  409. package/lib/runtime/langgraph-graph.js.map +1 -0
  410. package/lib/runtime/state.d.ts +38 -0
  411. package/lib/runtime/state.d.ts.map +1 -0
  412. package/lib/runtime/state.js +16 -0
  413. package/lib/runtime/state.js.map +1 -0
  414. package/lib/seed/elaine.d.ts +9 -0
  415. package/lib/seed/elaine.d.ts.map +1 -0
  416. package/lib/seed/elaine.js +27 -0
  417. package/lib/seed/elaine.js.map +1 -0
  418. package/lib/tools/import-character.d.ts +16 -0
  419. package/lib/tools/import-character.d.ts.map +1 -0
  420. package/lib/tools/import-character.js +98 -0
  421. package/lib/tools/import-character.js.map +1 -0
  422. package/package.json +108 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 DSH-Tavern contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,216 @@
1
+ # DSH-Tavern
2
+
3
+ DSH-Tavern 是一个运行在 DeepSeek Harness 上的 Tavern 风格角色卡聊天插件。它提供角色卡导入、普通角色对话、聊天记录管理、记忆与关系管理等能力,并为后续 Companion Agent 能力提供基础运行框架。
4
+
5
+ > 当前版本为技术预览,正在持续开发中。不建议用于生产环境,也不要在仓库或配置文件中提交 API Key、密码等敏感信息。
6
+
7
+ ## 项目特点
8
+
9
+ - 支持 V1/V2/V3 JSON、PNG 和 CHARX 角色卡导入;
10
+ - 支持角色卡、世界书和聊天记录管理;
11
+ - 普通角色卡聊天与 Agent 运行时分离;
12
+ - 支持聊天消息树、分支、重新生成和导入导出基础能力;
13
+ - 提供记忆、关系、场景和审计数据模型;
14
+ - 提供 Companion Profile、Workspace 和多伙伴协作的基础能力;
15
+ - 通过 DeepSeek Harness 的插件机制加载到 Web UI 中。
16
+
17
+ ## 使用的框架和技术
18
+
19
+ ### 宿主框架
20
+
21
+ - [DeepSeek Harness](https://deepseek-harness.github.io/deepseek-harness/):插件运行宿主、Web UI、会话、LLM 和存储能力;
22
+ - [Cordis](https://github.com/shigma/Cordis):插件生命周期、依赖注入、服务和事件管理框架。
23
+
24
+ ### 项目技术栈
25
+
26
+ - TypeScript:服务端和领域代码;
27
+ - React:浏览器端界面;
28
+ - Vite:客户端构建;
29
+ - esbuild:测试 Bundle 和构建辅助;
30
+ - Zod:运行时数据校验;
31
+ - pnpm:依赖和脚本管理;
32
+ - Python、FastAPI、LangGraph:实验性的 Companion Runtime sidecar,目前不是基础聊天功能的必需组件。
33
+
34
+ ## 运行原理
35
+
36
+ 项目包含两条相互独立的链路:
37
+
38
+ ```text
39
+ 角色卡 + 世界书
40
+ -> Tavern ChatService
41
+ -> DeepSeek Harness LLM
42
+ -> Conversation / ConversationMessage
43
+
44
+ 用户主动晋升 Companion
45
+ -> CompanionProfile
46
+ -> Companion Runtime
47
+ -> Workspace / 多伙伴协作
48
+ ```
49
+
50
+ 普通角色卡聊天不会自动创建 Child Agent,也不会因为角色卡内容获得工作工具权限。只有经过用户明确晋升和授权的 Companion 才能进入 Agent Runtime。
51
+
52
+ ## 安装前提
53
+
54
+ 使用者需要先准备:
55
+
56
+ - Node.js 22 或兼容项目依赖的 Node.js 版本;
57
+ - pnpm 11;
58
+ - 已安装并可以运行的 DeepSeek Harness;
59
+ - 已在 DeepSeek Harness 中完成模型和 Host 配置。
60
+
61
+ 检查 Node.js 和 pnpm:
62
+
63
+ ```bash
64
+ node --version
65
+ pnpm --version
66
+ ```
67
+
68
+ 建议使用项目声明的 pnpm 版本:
69
+
70
+ ```bash
71
+ corepack enable
72
+ corepack prepare pnpm@11.21.0 --activate
73
+ ```
74
+
75
+ ## 安装插件
76
+
77
+ 项目支持通过 DeepSeek Harness 官方插件管理命令从 npm 安装。普通使用者不需要下载源码或手动编译。
78
+
79
+ ### 1. 安装插件
80
+
81
+ 在任意目录执行:
82
+
83
+ ```bash
84
+ dsh plugin --profile web add dsh-tavern-bundle
85
+ ```
86
+
87
+ 如果使用 pnpm 启动 Harness,也可以执行:
88
+
89
+ ```powershell
90
+ pnpm dsh plugin --profile web add dsh-tavern-bundle
91
+ ```
92
+
93
+ Harness 会把插件安装到 Web Profile,并自动识别项目声明的 `dsh.bundle` 配置,自动更新 Profile 的 Bundle 列表。
94
+
95
+ ### 2. 启动
96
+
97
+ ```bash
98
+ dsh web
99
+ ```
100
+
101
+ 或:
102
+
103
+ ```bash
104
+ pnpm dsh web
105
+ ```
106
+
107
+ 启动成功后打开 `http://127.0.0.1:3080`。
108
+
109
+ ### 从源码开发
110
+
111
+ 只有需要参与开发时才需要下载源码:
112
+
113
+ ```bash
114
+ git clone https://github.com/sjennxienkdi/dsh-tavern-bundle.git
115
+ cd dsh-tavern-bundle
116
+ pnpm install --frozen-lockfile
117
+ pnpm run build
118
+ pnpm run build:client
119
+ ```
120
+
121
+ 源码开发时,可在 Harness 项目目录使用 `dsh plugin --profile web add link:/绝对路径/dsh-tavern-bundle` 安装本地链接包。
122
+
123
+ ## 配置说明
124
+
125
+ 正常通过 `dsh plugin --profile web add dsh-tavern-bundle` 安装时,不需要手动编辑 `cordis.patch.yml`。Harness 会自动把带有 `dsh.bundle` 声明的依赖加入 Web Profile。
126
+
127
+ 项目包内的 `cordis.patch.yml` 只挂载 Tavern 宿主;`storage`、`storage-json` 和 `storage-domain` 等基础服务由 Harness Web Host 提供。
128
+
129
+ 如果安装后需要检查 Profile 的组合配置,可以使用:
130
+
131
+ ```bash
132
+ dsh --profile web --dump-config
133
+ ```
134
+
135
+ ## 启动
136
+
137
+ 安装完成后,在 Harness 环境中执行:
138
+
139
+ ```bash
140
+ dsh web
141
+ ```
142
+
143
+ 启动成功后打开:
144
+
145
+ ```text
146
+ http://127.0.0.1:3080
147
+ ```
148
+
149
+ 如果使用源码开发,修改 `src/` 后需要重新执行 `pnpm run build` 和 `pnpm run build:client`,然后重启 Host。
150
+
151
+ ## Python sidecar(可选)
152
+
153
+ 基础角色卡聊天不需要启动 Python sidecar。只有使用实验性的 Companion Runtime 路径时才需要它。
154
+
155
+ ```bash
156
+ cd python
157
+ python -m venv .venv
158
+ ```
159
+
160
+ Windows:
161
+
162
+ ```powershell
163
+ .venv\\Scripts\\activate
164
+ python -m pip install -r requirements.txt
165
+ uvicorn main:app --port 8787
166
+ ```
167
+
168
+ Linux/macOS:
169
+
170
+ ```bash
171
+ source .venv/bin/activate
172
+ python -m pip install -r requirements.txt
173
+ uvicorn main:app --port 8787
174
+ ```
175
+
176
+ sidecar 的鉴权和模型配置通过环境变量提供,例如 `TAVERN_LANGGRAPH_TOKEN` 和 `DEEPSEEK_API_KEY`。这些变量只应配置在本机环境中,不要写入 Git 文件。
177
+
178
+ ## 开发和验证
179
+
180
+ ```bash
181
+ pnpm run check:architecture
182
+ pnpm run typecheck
183
+ pnpm run test:unit
184
+ pnpm run build
185
+ pnpm run build:client
186
+ pnpm run build:smoke
187
+ ```
188
+
189
+ `pnpm run test:smoke` 需要可用的 DeepSeek Harness Host 和隔离的测试环境;普通贡献者可以先运行架构检查、类型检查、单元测试和构建命令。
190
+
191
+ ## 目录结构
192
+
193
+ ```text
194
+ src/application/ 应用服务、Ports 和用例编排
195
+ src/domain/ 领域模型与存储 Schema
196
+ src/infrastructure/ Harness、LLM、Session 和 Runtime 适配器
197
+ src/interfaces/ HTTP 和 Read Model 接口
198
+ src/bootstrap/ 插件组装、依赖注册和生命周期管理
199
+ src/core/ 兼容 facade 与仍在迁移的领域服务
200
+ src/client/ React 浏览器端界面
201
+ python/ 实验性的 Companion Runtime sidecar
202
+ scripts/ 架构检查和 smoke 构建脚本
203
+ tests/ 单元测试和 Host smoke 测试
204
+ ```
205
+
206
+ ## 兼容性约束
207
+
208
+ - 不要修改现有 HTTP URL、错误结构和外部导出;
209
+ - Storage version 保持 `1`;
210
+ - 新业务代码优先放入 `application`、`interfaces` 或 `infrastructure`;
211
+ - 插件创建的 Timer、监听器和注册项必须绑定 Cordis effect 或生命周期管理;
212
+ - 修改 DeepSeek Harness Host 契约前,应先记录架构决策并运行完整验证链。
213
+
214
+ ## 许可证
215
+
216
+ 本项目使用 [MIT License](./LICENSE) 开源。
@@ -0,0 +1,14 @@
1
+ # DSH-Tavern Bundle layer for the DeepSeek Harness Web profile.
2
+ # Storage services are provided by dsh-web-app; this bundle only mounts Tavern.
3
+ - insert:
4
+ - id: tavern
5
+ name: dsh-tavern-bundle
6
+ inject:
7
+ - subagents
8
+ - storageDomain
9
+ - storage
10
+ - tools
11
+ - commands
12
+ - llm
13
+ config:
14
+ mode: host
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use infrastructure/dsh/llm/model-gateway instead. */
2
+ export * from '../infrastructure/dsh/llm/model-gateway.js';
3
+ export type { LlmPort } from '../application/ports/llm-port.js';
4
+ //# sourceMappingURL=model-gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-gateway.d.ts","sourceRoot":"","sources":["../../src/adapters/model-gateway.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,cAAc,4CAA4C,CAAA;AAC1D,YAAY,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** @deprecated Use infrastructure/dsh/llm/model-gateway instead. */
2
+ export * from '../infrastructure/dsh/llm/model-gateway.js';
3
+ //# sourceMappingURL=model-gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-gateway.js","sourceRoot":"","sources":["../../src/adapters/model-gateway.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,cAAc,4CAA4C,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 阶段 2 探测 spike:`agent/pre-step` 拦截可行性(选项 B)。
3
+ *
4
+ * 假设:Tavern 角色卡对话 = DSH Session + agent(原生输入/呈现/持久化全复用);
5
+ * 我们监听该 agent 的 `agent/pre-step`(waterfall,可拒绝 step),
6
+ * 阻止 agent 的 LLM 调用,转 ChatService,并把回复以 assistant/chunk +
7
+ * assistant/message 注入同一 turn/step → 原生 UI 流式呈现。
8
+ *
9
+ * 本文件只验证机制(headless probe),不写业务:
10
+ * - agents.create 建 agent+session;
11
+ * - agent.ctx.on('agent/pre-step') 拒绝 + 模拟回复注入;
12
+ * - agent.send 模拟原生输入 → whenIdle → 检查 session log 全链路。
13
+ */
14
+ import type { Context } from '@deepseek-ai/cordis';
15
+ export declare function runPrestepSpike(ctx: Context): Promise<void>;
16
+ //# sourceMappingURL=prestep-spike.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prestep-spike.d.ts","sourceRoot":"","sources":["../../src/adapters/prestep-spike.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAwBlD,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGjE"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * 阶段 2 探测 spike:`agent/pre-step` 拦截可行性(选项 B)。
3
+ *
4
+ * 假设:Tavern 角色卡对话 = DSH Session + agent(原生输入/呈现/持久化全复用);
5
+ * 我们监听该 agent 的 `agent/pre-step`(waterfall,可拒绝 step),
6
+ * 阻止 agent 的 LLM 调用,转 ChatService,并把回复以 assistant/chunk +
7
+ * assistant/message 注入同一 turn/step → 原生 UI 流式呈现。
8
+ *
9
+ * 本文件只验证机制(headless probe),不写业务:
10
+ * - agents.create 建 agent+session;
11
+ * - agent.ctx.on('agent/pre-step') 拒绝 + 模拟回复注入;
12
+ * - agent.send 模拟原生输入 → whenIdle → 检查 session log 全链路。
13
+ */
14
+ import { createAssistantMessage, createUserMessage } from '@deepseek-ai/dsh-llm';
15
+ import { tavernMessageSource } from './subagent-gateway.js';
16
+ function textBlock(text) {
17
+ return { type: 'text', text };
18
+ }
19
+ function textOf(message) {
20
+ return message.content
21
+ .filter(block => block.type === 'text')
22
+ .map(block => block.text)
23
+ .join('');
24
+ }
25
+ export async function runPrestepSpike(ctx) {
26
+ await ctx.inject(['agents', 'agentDefaultModel'], async (spikeCtx) => {
27
+ const agents = spikeCtx.get('agents');
28
+ const defaultModel = spikeCtx.get('agentDefaultModel');
29
+ if (agents === undefined) {
30
+ console.log('[Tavern-PROBE] stage2 prestep spike: agents 服务不可用(无 dsh-agent)');
31
+ return;
32
+ }
33
+ const { provider, model } = defaultModel?.currentSelection() ?? {
34
+ provider: 'deepseek-official',
35
+ model: 'deepseek-v4-flash',
36
+ };
37
+ // 随机 id:session-persistence 会持久化日志,固定 id 与上次运行残留冲突。
38
+ const handle = await agents.create({
39
+ sessionId: `tavern-prestep-spike-${Date.now().toString(36)}`,
40
+ agentOptions: { provider, model },
41
+ });
42
+ const agent = handle.agent;
43
+ const session = agent.session;
44
+ let preStepFired = null;
45
+ let preStepRejected = false;
46
+ // 拦截该 agent 的每个 step:拒绝 LLM 调用,注入模拟回复(同一 turn/step)。
47
+ agent.ctx.on('agent/pre-step', async (payload) => {
48
+ preStepFired = {
49
+ turn: payload.turn,
50
+ step: payload.step,
51
+ userContents: payload.messages.map(textOf),
52
+ };
53
+ // 关键:消息已从 inbox 移除给 pre-step,step 被拒绝后 agent 不会写 user/message;
54
+ // 由我们补写,保证原生 UI 呈现 + 持久化。
55
+ const user = payload.messages[0];
56
+ if (user !== undefined) {
57
+ session.append('user/message', user, { surfaceOp: 'append' });
58
+ }
59
+ const reply = `(spike)收到你的消息:「${preStepFired.userContents.join(' / ')}」。这条回复由 ChatService 注入。`;
60
+ // 流式:block-start → text-delta → block-end(原生 UI 由 chunk 驱动流式渲染)。
61
+ session.append('assistant/chunk', {
62
+ turn: payload.turn,
63
+ step: payload.step,
64
+ chunk: { type: 'block-start', index: 0, blockType: 'text' },
65
+ });
66
+ session.append('assistant/chunk', {
67
+ turn: payload.turn,
68
+ step: payload.step,
69
+ chunk: { type: 'text-delta', index: 0, text: reply },
70
+ });
71
+ session.append('assistant/chunk', {
72
+ turn: payload.turn,
73
+ step: payload.step,
74
+ chunk: { type: 'block-end', index: 0, block: textBlock(reply) },
75
+ });
76
+ // 终态:assistant/message(surface 消息,UI 会话历史/持久化依据)。
77
+ const message = createAssistantMessage({
78
+ content: [textBlock(reply)],
79
+ source: { provider, model }, // kind 由工厂固定为 'model'
80
+ });
81
+ session.append('assistant/message', { turn: payload.turn, step: payload.step, message }, { surfaceOp: 'append' });
82
+ preStepRejected = true;
83
+ // 不调用 next():拒绝该 step(agent 永不调 LLM)。
84
+ return { kind: 'reject' };
85
+ });
86
+ // 模拟原生输入框发送。
87
+ const userMessage = createUserMessage({
88
+ content: [{ type: 'text', text: '你好,spike' }],
89
+ source: tavernMessageSource(),
90
+ });
91
+ agent.send(userMessage, 'next-turn', true);
92
+ await agent.whenIdle();
93
+ const events = session.events;
94
+ const count = (type) => events.filter(event => event.type === type).length;
95
+ console.log('[Tavern-PROBE] stage2 prestep spike:', JSON.stringify({
96
+ agentCreated: true,
97
+ provider,
98
+ model,
99
+ preStepFired,
100
+ preStepRejected,
101
+ turnStart: count('turn/start'),
102
+ turnEnd: count('turn/end'),
103
+ userMessage: count('user/message'),
104
+ assistantChunk: count('assistant/chunk'),
105
+ assistantMessage: count('assistant/message'),
106
+ turnEndReason: events.filter(event => event.type === 'turn/end').map(event => event.data.reason),
107
+ surfaceNodes: session.surface.nodes.length,
108
+ derivedMessages: session.deriveMessages().map(message => `${message.role}: ${textOf(message)}`),
109
+ logSize: events.length,
110
+ }, null, 2));
111
+ await handle.dispose();
112
+ });
113
+ }
114
+ //# sourceMappingURL=prestep-spike.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prestep-spike.js","sourceRoot":"","sources":["../../src/adapters/prestep-spike.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * DSH 服务发现与启动检测(阶段 0 的"真实接口探针"落地点)。
3
+ *
4
+ * 原则:不猜测 API 签名——在宿主启动时对每个关键服务做运行时存在性检查,
5
+ * 服务缺失或方法形状不符时抛出带 `[Tavern]` 前缀的明确错误,而不是在业务
6
+ * 层静默失败。所有 DSH 调用都必须经由本文件 + adapters 收敛,业务层不得
7
+ * 直接访问 `ctx.subagents` / `ctx.storageDomain` / `ctx.tools`。
8
+ *
9
+ * 探测清单(阶段 0 工作项 3):
10
+ * - ctx.subagents.startContinuable / followup;
11
+ * - ctx.storageDomain.open + 运行时导出的 defineDomain / domainTable;
12
+ * - ctx.tools.register + 运行时导出的 defineTool。
13
+ * - captureApiSignature:采集上述 API 的运行时 typeof / arity / 返回证据。
14
+ */
15
+ import type { Context } from '@deepseek-ai/cordis';
16
+ import type { SubagentRuntime } from '@deepseek-ai/dsh-subagent';
17
+ import { defineDomain, domainTable, type DomainFacility } from '@deepseek-ai/dsh-storage-domain';
18
+ import { defineTool, type ToolRuntime } from '@deepseek-ai/dsh-tools';
19
+ /** 全部通过探测后得到的运行时表面,供 index.ts 的 composition root 使用。 */
20
+ export interface TavernRuntimeSurface {
21
+ readonly subagents: SubagentRuntime;
22
+ readonly storageDomain: DomainFacility;
23
+ readonly tools: ToolRuntime;
24
+ readonly api: {
25
+ readonly defineDomain: typeof defineDomain;
26
+ readonly domainTable: typeof domainTable;
27
+ readonly defineTool: typeof defineTool;
28
+ };
29
+ }
30
+ /** 单个 API 的运行时形状:typeof 结果 + 形参个数(arity)。 */
31
+ export interface ApiSignatureEntry {
32
+ readonly typeof: string;
33
+ readonly arity: number;
34
+ }
35
+ /** 真实 DSH API 签名快照(阶段 0 探针输出,供人工核对)。 */
36
+ export interface TavernApiSignature {
37
+ readonly subagents: {
38
+ readonly startContinuable: ApiSignatureEntry;
39
+ readonly followup: ApiSignatureEntry;
40
+ };
41
+ readonly storageDomain: {
42
+ readonly open: ApiSignatureEntry;
43
+ readonly defineDomain: ApiSignatureEntry;
44
+ readonly defineDomainSample: unknown;
45
+ readonly domainTable: ApiSignatureEntry;
46
+ readonly domainTableSample: unknown;
47
+ };
48
+ readonly tools: {
49
+ readonly register: ApiSignatureEntry;
50
+ readonly defineTool: ApiSignatureEntry;
51
+ };
52
+ }
53
+ /**
54
+ * 采集真实 API 签名。defineDomain / domainTable 是纯函数(无 I/O),
55
+ * 用最小合法参数各调用一次,把运行时返回的证据一并纳入报告。
56
+ * 注意:domain/table 名必须匹配 UNIT_NAME_RE(/^[a-z][a-z0-9_]*$/,无短横线)。
57
+ */
58
+ export declare function captureApiSignature(subagents: SubagentRuntime, storageDomain: DomainFacility, tools: ToolRuntime): TavernApiSignature;
59
+ /** 探测 ctx.subagents:startContinuable / followup 必须存在。 */
60
+ export declare function probeSubagents(ctx: Context): SubagentRuntime;
61
+ /** 探测 ctx.storageDomain:open + storage hub + defineDomain/domainTable 运行时导出。 */
62
+ export declare function probeStorage(ctx: Context): DomainFacility;
63
+ /** 探测 ctx.tools:register + defineTool 运行时导出。 */
64
+ export declare function probeTools(ctx: Context): ToolRuntime;
65
+ /** 组合探测,返回可供业务层使用的运行时表面。 */
66
+ export declare function probeRuntime(ctx: Context): TavernRuntimeSurface;
67
+ //# sourceMappingURL=runtime-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-probe.d.ts","sourceRoot":"","sources":["../../src/adapters/runtime-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChG,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGrE,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,YAAY,EAAE,OAAO,YAAY,CAAA;QAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,WAAW,CAAA;QACxC,QAAQ,CAAC,UAAU,EAAE,OAAO,UAAU,CAAA;KACvC,CAAA;CACF;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAA;QAC5C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;KACrC,CAAA;IACD,QAAQ,CAAC,aAAa,EAAE;QACtB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;QAChC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;QACxC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;QACpC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;QACvC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;KACpC,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;QACpC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;KACvC,CAAA;CACF;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,cAAc,EAC7B,KAAK,EAAE,WAAW,GACjB,kBAAkB,CAoBpB;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAa5D;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAgBzD;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAYpD;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAU/D"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * DSH 服务发现与启动检测(阶段 0 的"真实接口探针"落地点)。
3
+ *
4
+ * 原则:不猜测 API 签名——在宿主启动时对每个关键服务做运行时存在性检查,
5
+ * 服务缺失或方法形状不符时抛出带 `[Tavern]` 前缀的明确错误,而不是在业务
6
+ * 层静默失败。所有 DSH 调用都必须经由本文件 + adapters 收敛,业务层不得
7
+ * 直接访问 `ctx.subagents` / `ctx.storageDomain` / `ctx.tools`。
8
+ *
9
+ * 探测清单(阶段 0 工作项 3):
10
+ * - ctx.subagents.startContinuable / followup;
11
+ * - ctx.storageDomain.open + 运行时导出的 defineDomain / domainTable;
12
+ * - ctx.tools.register + 运行时导出的 defineTool。
13
+ * - captureApiSignature:采集上述 API 的运行时 typeof / arity / 返回证据。
14
+ */
15
+ import { defineDomain, domainTable } from '@deepseek-ai/dsh-storage-domain';
16
+ import { defineTool } from '@deepseek-ai/dsh-tools';
17
+ import { z } from 'zod';
18
+ function entryOf(fn) {
19
+ return { typeof: typeof fn, arity: fn.length };
20
+ }
21
+ /**
22
+ * 采集真实 API 签名。defineDomain / domainTable 是纯函数(无 I/O),
23
+ * 用最小合法参数各调用一次,把运行时返回的证据一并纳入报告。
24
+ * 注意:domain/table 名必须匹配 UNIT_NAME_RE(/^[a-z][a-z0-9_]*$/,无短横线)。
25
+ */
26
+ export function captureApiSignature(subagents, storageDomain, tools) {
27
+ const defineDomainSample = defineDomain({ name: 'tavern_probe', version: 1, tables: {} });
28
+ const domainTableSample = domainTable(z.object({}));
29
+ return {
30
+ subagents: {
31
+ startContinuable: entryOf(subagents.startContinuable),
32
+ followup: entryOf(subagents.followup),
33
+ },
34
+ storageDomain: {
35
+ open: entryOf(storageDomain.open),
36
+ defineDomain: entryOf(defineDomain),
37
+ defineDomainSample,
38
+ domainTable: entryOf(domainTable),
39
+ domainTableSample,
40
+ },
41
+ tools: {
42
+ register: entryOf(tools.register),
43
+ defineTool: entryOf(defineTool),
44
+ },
45
+ };
46
+ }
47
+ /** 探测 ctx.subagents:startContinuable / followup 必须存在。 */
48
+ export function probeSubagents(ctx) {
49
+ // ctx.get(name) 在服务未提供时返回 undefined(直接属性访问会抛错)。
50
+ const subagents = ctx.get('subagents');
51
+ if (subagents === undefined) {
52
+ throw new Error('[Tavern] 未找到 subagents 服务:请确认 bundle 已挂载 @deepseek-ai/dsh-subagent');
53
+ }
54
+ if (typeof subagents.startContinuable !== 'function') {
55
+ throw new Error('[Tavern] subagents.startContinuable 不存在或不是函数(DSH 版本不匹配?)');
56
+ }
57
+ if (typeof subagents.followup !== 'function') {
58
+ throw new Error('[Tavern] subagents.followup 不存在或不是函数(DSH 版本不匹配?)');
59
+ }
60
+ return subagents;
61
+ }
62
+ /** 探测 ctx.storageDomain:open + storage hub + defineDomain/domainTable 运行时导出。 */
63
+ export function probeStorage(ctx) {
64
+ const storageDomain = ctx.get('storageDomain');
65
+ if (storageDomain === undefined) {
66
+ throw new Error('[Tavern] 未找到 storageDomain 服务:请确认 bundle 已挂载 @deepseek-ai/dsh-storage-domain');
67
+ }
68
+ if (typeof storageDomain.open !== 'function') {
69
+ throw new Error('[Tavern] storageDomain.open 不存在或不是函数(DSH 版本不匹配?)');
70
+ }
71
+ const storage = ctx.get('storage');
72
+ if (storage === undefined) {
73
+ throw new Error('[Tavern] 未找到 storage hub:请确认 bundle 已挂载 @deepseek-ai/dsh-storage');
74
+ }
75
+ if (typeof defineDomain !== 'function' || typeof domainTable !== 'function') {
76
+ throw new Error('[Tavern] defineDomain/domainTable 运行时导出缺失(@deepseek-ai/dsh-storage-domain 版本不匹配?)');
77
+ }
78
+ return storageDomain;
79
+ }
80
+ /** 探测 ctx.tools:register + defineTool 运行时导出。 */
81
+ export function probeTools(ctx) {
82
+ const tools = ctx.get('tools');
83
+ if (tools === undefined) {
84
+ throw new Error('[Tavern] 未找到 tools 服务:请确认 bundle 已挂载 @deepseek-ai/dsh-tools');
85
+ }
86
+ if (typeof tools.register !== 'function') {
87
+ throw new Error('[Tavern] tools.register 不存在或不是函数(DSH 版本不匹配?)');
88
+ }
89
+ if (typeof defineTool !== 'function') {
90
+ throw new Error('[Tavern] defineTool 运行时导出缺失(@deepseek-ai/dsh-tools 版本不匹配?)');
91
+ }
92
+ return tools;
93
+ }
94
+ /** 组合探测,返回可供业务层使用的运行时表面。 */
95
+ export function probeRuntime(ctx) {
96
+ const subagents = probeSubagents(ctx);
97
+ const storageDomain = probeStorage(ctx);
98
+ const tools = probeTools(ctx);
99
+ return {
100
+ subagents,
101
+ storageDomain,
102
+ tools,
103
+ api: { defineDomain, domainTable, defineTool },
104
+ };
105
+ }
106
+ //# sourceMappingURL=runtime-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-probe.js","sourceRoot":"","sources":["../../src/adapters/runtime-probe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** @deprecated Use infrastructure/dsh/session/session-agent-provider instead. */
2
+ export * from '../infrastructure/dsh/session/session-agent-provider.js';
3
+ //# sourceMappingURL=session-agent-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-agent-provider.d.ts","sourceRoot":"","sources":["../../src/adapters/session-agent-provider.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,cAAc,yDAAyD,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** @deprecated Use infrastructure/dsh/session/session-agent-provider instead. */
2
+ export * from '../infrastructure/dsh/session/session-agent-provider.js';
3
+ //# sourceMappingURL=session-agent-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-agent-provider.js","sourceRoot":"","sources":["../../src/adapters/session-agent-provider.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,cAAc,yDAAyD,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** @deprecated Use infrastructure/dsh/subagent/subagent-gateway instead. */
2
+ export * from '../infrastructure/dsh/subagent/subagent-gateway.js';
3
+ //# sourceMappingURL=subagent-gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-gateway.d.ts","sourceRoot":"","sources":["../../src/adapters/subagent-gateway.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,cAAc,oDAAoD,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** @deprecated Use infrastructure/dsh/subagent/subagent-gateway instead. */
2
+ export * from '../infrastructure/dsh/subagent/subagent-gateway.js';
3
+ //# sourceMappingURL=subagent-gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-gateway.js","sourceRoot":"","sources":["../../src/adapters/subagent-gateway.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,cAAc,oDAAoD,CAAA"}