@lemoncat7/dsh-partner 2.11.6 → 2.21.11

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 (389) hide show
  1. package/README.md +3 -0
  2. package/docs/THIRD_PARTY_LICENSES.md +1 -1
  3. package/docs/character-cards-and-renewal.md +1 -1
  4. package/docs/qq-attention.md +51 -0
  5. package/docs/qq-channel.md +80 -0
  6. package/docs/releases/2.11.7.md +9 -0
  7. package/docs/releases/2.12.0.md +14 -0
  8. package/docs/releases/2.13.0.md +9 -0
  9. package/docs/releases/2.14.0.md +9 -0
  10. package/docs/releases/2.15.0.md +9 -0
  11. package/docs/releases/2.15.1.md +9 -0
  12. package/docs/releases/2.16.0.md +18 -0
  13. package/docs/releases/2.17.0.md +23 -0
  14. package/docs/releases/2.17.1.md +9 -0
  15. package/docs/releases/2.18.0.md +9 -0
  16. package/docs/releases/2.18.1.md +5 -0
  17. package/docs/releases/2.19.0.md +14 -0
  18. package/docs/releases/2.19.1.md +7 -0
  19. package/docs/releases/2.19.2.md +9 -0
  20. package/docs/releases/2.19.3.md +5 -0
  21. package/docs/releases/2.20.0.md +10 -0
  22. package/docs/releases/2.20.1.md +8 -0
  23. package/docs/releases/2.21.0.md +7 -0
  24. package/docs/releases/2.21.1.md +8 -0
  25. package/docs/releases/2.21.10.md +5 -0
  26. package/docs/releases/2.21.11.md +7 -0
  27. package/docs/releases/2.21.2.md +10 -0
  28. package/docs/releases/2.21.3.md +7 -0
  29. package/docs/releases/2.21.4.md +8 -0
  30. package/docs/releases/2.21.5.md +15 -0
  31. package/docs/releases/2.21.6.md +6 -0
  32. package/docs/releases/2.21.7.md +11 -0
  33. package/docs/releases/2.21.8.md +9 -0
  34. package/docs/releases/2.21.9.md +6 -0
  35. package/docs/tool-entry-compatibility.md +11 -0
  36. package/lib/agent-runtime.d.ts +25 -1
  37. package/lib/agent-runtime.d.ts.map +1 -1
  38. package/lib/agent-runtime.js +364 -62
  39. package/lib/agent-runtime.js.map +1 -1
  40. package/lib/api.d.ts +1 -0
  41. package/lib/api.d.ts.map +1 -1
  42. package/lib/api.js +94 -27
  43. package/lib/api.js.map +1 -1
  44. package/lib/channel-message.d.ts +14 -0
  45. package/lib/channel-message.d.ts.map +1 -1
  46. package/lib/channel-message.js.map +1 -1
  47. package/lib/channels/delivery-policy.js +1 -1
  48. package/lib/channels/delivery-policy.js.map +1 -1
  49. package/lib/channels/direct/dispatcher.d.ts +2 -2
  50. package/lib/channels/direct/dispatcher.d.ts.map +1 -1
  51. package/lib/channels/direct/dispatcher.js +13 -4
  52. package/lib/channels/direct/dispatcher.js.map +1 -1
  53. package/lib/channels/direct/login.d.ts.map +1 -1
  54. package/lib/channels/direct/login.js +4 -0
  55. package/lib/channels/direct/login.js.map +1 -1
  56. package/lib/channels/direct/media.d.ts +2 -0
  57. package/lib/channels/direct/media.d.ts.map +1 -1
  58. package/lib/channels/direct/media.js +27 -23
  59. package/lib/channels/direct/media.js.map +1 -1
  60. package/lib/channels/direct/transport.d.ts +26 -3
  61. package/lib/channels/direct/transport.d.ts.map +1 -1
  62. package/lib/channels/direct/transport.js +31 -5
  63. package/lib/channels/direct/transport.js.map +1 -1
  64. package/lib/channels/manager.d.ts +26 -0
  65. package/lib/channels/manager.d.ts.map +1 -1
  66. package/lib/channels/manager.js +538 -148
  67. package/lib/channels/manager.js.map +1 -1
  68. package/lib/channels/notification-delivery.d.ts +4 -0
  69. package/lib/channels/notification-delivery.d.ts.map +1 -1
  70. package/lib/channels/notification-delivery.js +15 -5
  71. package/lib/channels/notification-delivery.js.map +1 -1
  72. package/lib/channels/notification-route.d.ts.map +1 -1
  73. package/lib/channels/notification-route.js +10 -4
  74. package/lib/channels/notification-route.js.map +1 -1
  75. package/lib/channels/notification-timeout.d.ts.map +1 -1
  76. package/lib/channels/notification-timeout.js +2 -0
  77. package/lib/channels/notification-timeout.js.map +1 -1
  78. package/lib/channels/outbound-media.d.ts.map +1 -1
  79. package/lib/channels/outbound-media.js +2 -0
  80. package/lib/channels/outbound-media.js.map +1 -1
  81. package/lib/channels/qq/action-catalog.d.ts +38 -0
  82. package/lib/channels/qq/action-catalog.d.ts.map +1 -0
  83. package/lib/channels/qq/action-catalog.js +2731 -0
  84. package/lib/channels/qq/action-catalog.js.map +1 -0
  85. package/lib/channels/qq/actions.d.ts +21 -0
  86. package/lib/channels/qq/actions.d.ts.map +1 -0
  87. package/lib/channels/qq/actions.js +226 -0
  88. package/lib/channels/qq/actions.js.map +1 -0
  89. package/lib/channels/qq/affection-adapter.d.ts +3 -0
  90. package/lib/channels/qq/affection-adapter.d.ts.map +1 -0
  91. package/lib/channels/qq/affection-adapter.js +16 -0
  92. package/lib/channels/qq/affection-adapter.js.map +1 -0
  93. package/lib/channels/qq/attention-classifier.d.ts +10 -0
  94. package/lib/channels/qq/attention-classifier.d.ts.map +1 -0
  95. package/lib/channels/qq/attention-classifier.js +62 -0
  96. package/lib/channels/qq/attention-classifier.js.map +1 -0
  97. package/lib/channels/qq/authority.d.ts +11 -0
  98. package/lib/channels/qq/authority.d.ts.map +1 -0
  99. package/lib/channels/qq/authority.js +50 -0
  100. package/lib/channels/qq/authority.js.map +1 -0
  101. package/lib/channels/qq/autonomy.d.ts +30 -0
  102. package/lib/channels/qq/autonomy.d.ts.map +1 -0
  103. package/lib/channels/qq/autonomy.js +88 -0
  104. package/lib/channels/qq/autonomy.js.map +1 -0
  105. package/lib/channels/qq/catalog.d.ts +14 -0
  106. package/lib/channels/qq/catalog.d.ts.map +1 -0
  107. package/lib/channels/qq/catalog.js +34 -0
  108. package/lib/channels/qq/catalog.js.map +1 -0
  109. package/lib/channels/qq/connection.d.ts +28 -0
  110. package/lib/channels/qq/connection.d.ts.map +1 -0
  111. package/lib/channels/qq/connection.js +200 -0
  112. package/lib/channels/qq/connection.js.map +1 -0
  113. package/lib/channels/qq/identity-binding.d.ts +14 -0
  114. package/lib/channels/qq/identity-binding.d.ts.map +1 -0
  115. package/lib/channels/qq/identity-binding.js +60 -0
  116. package/lib/channels/qq/identity-binding.js.map +1 -0
  117. package/lib/channels/qq/latency.d.ts +22 -0
  118. package/lib/channels/qq/latency.d.ts.map +1 -0
  119. package/lib/channels/qq/latency.js +21 -0
  120. package/lib/channels/qq/latency.js.map +1 -0
  121. package/lib/channels/qq/message.d.ts +6 -0
  122. package/lib/channels/qq/message.d.ts.map +1 -0
  123. package/lib/channels/qq/message.js +49 -0
  124. package/lib/channels/qq/message.js.map +1 -0
  125. package/lib/channels/qq/reply-rules.d.ts +30 -0
  126. package/lib/channels/qq/reply-rules.d.ts.map +1 -0
  127. package/lib/channels/qq/reply-rules.js +72 -0
  128. package/lib/channels/qq/reply-rules.js.map +1 -0
  129. package/lib/channels/qq/reply-tool.d.ts +6 -0
  130. package/lib/channels/qq/reply-tool.d.ts.map +1 -0
  131. package/lib/channels/qq/reply-tool.js +124 -0
  132. package/lib/channels/qq/reply-tool.js.map +1 -0
  133. package/lib/channels/qq/settings.d.ts +42 -0
  134. package/lib/channels/qq/settings.d.ts.map +1 -0
  135. package/lib/channels/qq/settings.js +68 -0
  136. package/lib/channels/qq/settings.js.map +1 -0
  137. package/lib/channels/qq/sticker-adapter.d.ts +5 -0
  138. package/lib/channels/qq/sticker-adapter.d.ts.map +1 -0
  139. package/lib/channels/qq/sticker-adapter.js +43 -0
  140. package/lib/channels/qq/sticker-adapter.js.map +1 -0
  141. package/lib/channels/qq/transport.d.ts +29 -0
  142. package/lib/channels/qq/transport.d.ts.map +1 -0
  143. package/lib/channels/qq/transport.js +187 -0
  144. package/lib/channels/qq/transport.js.map +1 -0
  145. package/lib/channels/reply-access.d.ts +25 -0
  146. package/lib/channels/reply-access.d.ts.map +1 -0
  147. package/lib/channels/reply-access.js +29 -0
  148. package/lib/channels/reply-access.js.map +1 -0
  149. package/lib/channels/weixin/connect.d.ts +3 -1
  150. package/lib/channels/weixin/connect.d.ts.map +1 -1
  151. package/lib/character/activity-tool.d.ts +7 -0
  152. package/lib/character/activity-tool.d.ts.map +1 -0
  153. package/lib/character/activity-tool.js +38 -0
  154. package/lib/character/activity-tool.js.map +1 -0
  155. package/lib/character/affection-adapter.d.ts +13 -0
  156. package/lib/character/affection-adapter.d.ts.map +1 -0
  157. package/lib/character/affection-adapter.js +13 -0
  158. package/lib/character/affection-adapter.js.map +1 -0
  159. package/lib/character/affection-context.d.ts +7 -0
  160. package/lib/character/affection-context.d.ts.map +1 -0
  161. package/lib/character/affection-context.js +33 -0
  162. package/lib/character/affection-context.js.map +1 -0
  163. package/lib/character/affection.d.ts +47 -0
  164. package/lib/character/affection.d.ts.map +1 -0
  165. package/lib/character/affection.js +41 -0
  166. package/lib/character/affection.js.map +1 -0
  167. package/lib/character/conversation-behavior.d.ts +4 -4
  168. package/lib/character/conversation-behavior.d.ts.map +1 -1
  169. package/lib/character/conversation-behavior.js +26 -23
  170. package/lib/character/conversation-behavior.js.map +1 -1
  171. package/lib/character/domain.d.ts +5 -0
  172. package/lib/character/domain.d.ts.map +1 -1
  173. package/lib/character/domain.js +21 -4
  174. package/lib/character/domain.js.map +1 -1
  175. package/lib/character/fatigue.d.ts +15 -0
  176. package/lib/character/fatigue.d.ts.map +1 -0
  177. package/lib/character/fatigue.js +37 -0
  178. package/lib/character/fatigue.js.map +1 -0
  179. package/lib/character/identity-guide.d.ts +41 -0
  180. package/lib/character/identity-guide.d.ts.map +1 -0
  181. package/lib/character/identity-guide.js +20 -0
  182. package/lib/character/identity-guide.js.map +1 -0
  183. package/lib/character/idle-contact.d.ts +12 -5
  184. package/lib/character/idle-contact.d.ts.map +1 -1
  185. package/lib/character/idle-contact.js +61 -21
  186. package/lib/character/idle-contact.js.map +1 -1
  187. package/lib/character/persona-templates.d.ts +23 -0
  188. package/lib/character/persona-templates.d.ts.map +1 -0
  189. package/lib/character/persona-templates.js +33 -0
  190. package/lib/character/persona-templates.js.map +1 -0
  191. package/lib/character/post-reply.d.ts +19 -0
  192. package/lib/character/post-reply.d.ts.map +1 -0
  193. package/lib/character/post-reply.js +33 -0
  194. package/lib/character/post-reply.js.map +1 -0
  195. package/lib/character/preview.d.ts.map +1 -1
  196. package/lib/character/preview.js +9 -1
  197. package/lib/character/preview.js.map +1 -1
  198. package/lib/character/relationship-adapter.d.ts +18 -0
  199. package/lib/character/relationship-adapter.d.ts.map +1 -0
  200. package/lib/character/relationship-adapter.js +18 -0
  201. package/lib/character/relationship-adapter.js.map +1 -0
  202. package/lib/character/role-reference-data.d.ts.map +1 -0
  203. package/lib/character/role-reference-data.js.map +1 -0
  204. package/lib/character/sleep-service.d.ts +44 -0
  205. package/lib/character/sleep-service.d.ts.map +1 -0
  206. package/lib/character/sleep-service.js +359 -0
  207. package/lib/character/sleep-service.js.map +1 -0
  208. package/lib/character/sleep.d.ts +65 -0
  209. package/lib/character/sleep.d.ts.map +1 -0
  210. package/lib/character/sleep.js +45 -0
  211. package/lib/character/sleep.js.map +1 -0
  212. package/lib/character/state-policy.d.ts +4 -0
  213. package/lib/character/state-policy.d.ts.map +1 -0
  214. package/lib/character/state-policy.js +14 -0
  215. package/lib/character/state-policy.js.map +1 -0
  216. package/lib/character/store.d.ts.map +1 -1
  217. package/lib/character/store.js +3 -3
  218. package/lib/character/store.js.map +1 -1
  219. package/lib/chat/conversation.js +1 -1
  220. package/lib/chat/conversation.js.map +1 -1
  221. package/lib/chat/protocol.d.ts +8 -0
  222. package/lib/chat/protocol.d.ts.map +1 -1
  223. package/lib/chat/protocol.js +24 -5
  224. package/lib/chat/protocol.js.map +1 -1
  225. package/lib/chat/sticker-adapter.d.ts +34 -0
  226. package/lib/chat/sticker-adapter.d.ts.map +1 -0
  227. package/lib/chat/sticker-adapter.js +30 -0
  228. package/lib/chat/sticker-adapter.js.map +1 -0
  229. package/lib/chat/tools.d.ts +2 -1
  230. package/lib/chat/tools.d.ts.map +1 -1
  231. package/lib/chat/tools.js +59 -13
  232. package/lib/chat/tools.js.map +1 -1
  233. package/lib/client-api.d.ts +21 -1
  234. package/lib/client-api.d.ts.map +1 -1
  235. package/lib/client-api.js.map +1 -1
  236. package/lib/client.d.ts.map +1 -1
  237. package/lib/client.js +7007 -3166
  238. package/lib/client.js.map +4 -4
  239. package/lib/collaboration/composition.d.ts +2 -0
  240. package/lib/collaboration/composition.d.ts.map +1 -1
  241. package/lib/collaboration/composition.js +32 -10
  242. package/lib/collaboration/composition.js.map +1 -1
  243. package/lib/collaboration/tool-discovery.d.ts +12 -0
  244. package/lib/collaboration/tool-discovery.d.ts.map +1 -0
  245. package/lib/collaboration/tool-discovery.js +149 -0
  246. package/lib/collaboration/tool-discovery.js.map +1 -0
  247. package/lib/companions/identity-tool.d.ts +176 -0
  248. package/lib/companions/identity-tool.d.ts.map +1 -0
  249. package/lib/companions/identity-tool.js +69 -0
  250. package/lib/companions/identity-tool.js.map +1 -0
  251. package/lib/companions/identity.d.ts +24 -0
  252. package/lib/companions/identity.d.ts.map +1 -0
  253. package/lib/companions/identity.js +49 -0
  254. package/lib/companions/identity.js.map +1 -0
  255. package/lib/companions/management-tool.d.ts +1 -1
  256. package/lib/companions/management-tool.d.ts.map +1 -1
  257. package/lib/companions/management-tool.js +6 -3
  258. package/lib/companions/management-tool.js.map +1 -1
  259. package/lib/companions/management.d.ts +49 -10
  260. package/lib/companions/management.d.ts.map +1 -1
  261. package/lib/companions/management.js +21 -6
  262. package/lib/companions/management.js.map +1 -1
  263. package/lib/companions/service.js +1 -0
  264. package/lib/companions/service.js.map +1 -1
  265. package/lib/companions/session-configuration.js +2 -2
  266. package/lib/companions/session-configuration.js.map +1 -1
  267. package/lib/domain.d.ts +37 -1
  268. package/lib/domain.d.ts.map +1 -1
  269. package/lib/domain.js +6 -0
  270. package/lib/domain.js.map +1 -1
  271. package/lib/execution/agent-support.d.ts +1 -1
  272. package/lib/execution/agent-support.d.ts.map +1 -1
  273. package/lib/execution/agent-support.js +7 -2
  274. package/lib/execution/agent-support.js.map +1 -1
  275. package/lib/execution/operation-tool-access.d.ts +13 -0
  276. package/lib/execution/operation-tool-access.d.ts.map +1 -0
  277. package/lib/execution/operation-tool-access.js +49 -0
  278. package/lib/execution/operation-tool-access.js.map +1 -0
  279. package/lib/execution/service.d.ts.map +1 -1
  280. package/lib/execution/service.js +2 -10
  281. package/lib/execution/service.js.map +1 -1
  282. package/lib/execution/tool-access-adapter.d.ts +26 -0
  283. package/lib/execution/tool-access-adapter.d.ts.map +1 -0
  284. package/lib/execution/tool-access-adapter.js +25 -0
  285. package/lib/execution/tool-access-adapter.js.map +1 -0
  286. package/lib/heartbeat.js +1 -1
  287. package/lib/index.d.ts.map +1 -1
  288. package/lib/index.js +31 -2
  289. package/lib/index.js.map +1 -1
  290. package/lib/memory-domain.d.ts +1 -0
  291. package/lib/memory-domain.d.ts.map +1 -1
  292. package/lib/memory-prompt-context.js +1 -0
  293. package/lib/memory-prompt-context.js.map +1 -1
  294. package/lib/memory-reflection.d.ts.map +1 -1
  295. package/lib/memory-reflection.js +16 -5
  296. package/lib/memory-reflection.js.map +1 -1
  297. package/lib/memory-scope.d.ts +2 -1
  298. package/lib/memory-scope.d.ts.map +1 -1
  299. package/lib/memory-scope.js +3 -1
  300. package/lib/memory-scope.js.map +1 -1
  301. package/lib/memory-store.d.ts +1 -1
  302. package/lib/observation-knowledge-entry.d.ts +2 -0
  303. package/lib/observation-knowledge-entry.d.ts.map +1 -0
  304. package/lib/observation-knowledge-entry.js +13 -0
  305. package/lib/observation-knowledge-entry.js.map +1 -0
  306. package/lib/observation-loop.d.ts.map +1 -1
  307. package/lib/observation-loop.js +3 -0
  308. package/lib/observation-loop.js.map +1 -1
  309. package/lib/storage/split-state.d.ts +1 -0
  310. package/lib/storage/split-state.d.ts.map +1 -1
  311. package/lib/storage/split-state.js +9 -2
  312. package/lib/storage/split-state.js.map +1 -1
  313. package/lib/store.d.ts.map +1 -1
  314. package/lib/store.js +7 -0
  315. package/lib/store.js.map +1 -1
  316. package/lib/ui/affection-panel.d.ts +10 -0
  317. package/lib/ui/affection-panel.d.ts.map +1 -0
  318. package/lib/ui/affection-panel.js +44 -0
  319. package/lib/ui/affection-panel.js.map +1 -0
  320. package/lib/ui/capability-editor.d.ts.map +1 -1
  321. package/lib/ui/capability-editor.js +1 -1
  322. package/lib/ui/capability-editor.js.map +1 -1
  323. package/lib/ui/channels-panel.d.ts.map +1 -1
  324. package/lib/ui/channels-panel.js +14 -9
  325. package/lib/ui/channels-panel.js.map +1 -1
  326. package/lib/ui/character-editor.d.ts +3 -1
  327. package/lib/ui/character-editor.d.ts.map +1 -1
  328. package/lib/ui/character-editor.js +18 -17
  329. package/lib/ui/character-editor.js.map +1 -1
  330. package/lib/ui/character-memory-editor.d.ts +6 -1
  331. package/lib/ui/character-memory-editor.d.ts.map +1 -1
  332. package/lib/ui/character-memory-editor.js +17 -11
  333. package/lib/ui/character-memory-editor.js.map +1 -1
  334. package/lib/ui/companion-deletion.js +1 -1
  335. package/lib/ui/companion-deletion.js.map +1 -1
  336. package/lib/ui/companion-draft.d.ts +3 -0
  337. package/lib/ui/companion-draft.d.ts.map +1 -1
  338. package/lib/ui/companion-draft.js +1 -1
  339. package/lib/ui/companion-draft.js.map +1 -1
  340. package/lib/ui/companion-vitals.d.ts +6 -0
  341. package/lib/ui/companion-vitals.d.ts.map +1 -0
  342. package/lib/ui/companion-vitals.js +44 -0
  343. package/lib/ui/companion-vitals.js.map +1 -0
  344. package/lib/ui/identity-editor.d.ts.map +1 -1
  345. package/lib/ui/identity-editor.js +13 -6
  346. package/lib/ui/identity-editor.js.map +1 -1
  347. package/lib/ui/idle-contact-editor.d.ts.map +1 -1
  348. package/lib/ui/idle-contact-editor.js +3 -2
  349. package/lib/ui/idle-contact-editor.js.map +1 -1
  350. package/lib/ui/memory/memory-panel.d.ts.map +1 -1
  351. package/lib/ui/memory/memory-panel.js +5 -3
  352. package/lib/ui/memory/memory-panel.js.map +1 -1
  353. package/lib/ui/persona-template.d.ts +5 -0
  354. package/lib/ui/persona-template.d.ts.map +1 -0
  355. package/lib/ui/persona-template.js +7 -0
  356. package/lib/ui/persona-template.js.map +1 -0
  357. package/lib/ui/push-draft.d.ts +8 -8
  358. package/lib/ui/qq-capability-settings.d.ts +9 -0
  359. package/lib/ui/qq-capability-settings.d.ts.map +1 -0
  360. package/lib/ui/qq-capability-settings.js +24 -0
  361. package/lib/ui/qq-capability-settings.js.map +1 -0
  362. package/lib/ui/qq-channel-settings.d.ts +13 -0
  363. package/lib/ui/qq-channel-settings.d.ts.map +1 -0
  364. package/lib/ui/qq-channel-settings.js +52 -0
  365. package/lib/ui/qq-channel-settings.js.map +1 -0
  366. package/lib/ui/qq-connection-guide.d.ts +2 -0
  367. package/lib/ui/qq-connection-guide.d.ts.map +1 -0
  368. package/lib/ui/qq-connection-guide.js +5 -0
  369. package/lib/ui/qq-connection-guide.js.map +1 -0
  370. package/lib/ui/qq-identity-binding.d.ts +9 -0
  371. package/lib/ui/qq-identity-binding.d.ts.map +1 -0
  372. package/lib/ui/qq-identity-binding.js +6 -0
  373. package/lib/ui/qq-identity-binding.js.map +1 -0
  374. package/lib/ui/qq-voice-reply-settings.d.ts +9 -0
  375. package/lib/ui/qq-voice-reply-settings.d.ts.map +1 -0
  376. package/lib/ui/qq-voice-reply-settings.js +23 -0
  377. package/lib/ui/qq-voice-reply-settings.js.map +1 -0
  378. package/lib/ui/role-reference.d.ts.map +1 -1
  379. package/lib/ui/role-reference.js +3 -2
  380. package/lib/ui/role-reference.js.map +1 -1
  381. package/lib/ui/sleep-editor.d.ts +10 -0
  382. package/lib/ui/sleep-editor.d.ts.map +1 -0
  383. package/lib/ui/sleep-editor.js +55 -0
  384. package/lib/ui/sleep-editor.js.map +1 -0
  385. package/package.json +39 -5
  386. package/lib/ui/role-reference-data.d.ts.map +0 -1
  387. package/lib/ui/role-reference-data.js.map +0 -1
  388. /package/lib/{ui → character}/role-reference-data.d.ts +0 -0
  389. /package/lib/{ui → character}/role-reference-data.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"idle-contact.js","sourceRoot":"","sources":["../../src/character/idle-contact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idle-contact.js","sourceRoot":"","sources":["../../src/character/idle-contact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** Shared, read-only authoring examples. Never apply these to a companion automatically. */
2
+ export declare const PERSONA_TEMPLATES: {
3
+ readonly basic: {
4
+ readonly title: "基本身份";
5
+ readonly fields: readonly ["name", "role", "description", "instructions"];
6
+ readonly purpose: "名册上的名字、定位和长期职责。只写通用身份,不重复整张人格卡,不混入专属关系。";
7
+ readonly text: "名字:小岚\n角色:好奇、直率的同行者\n一句话定位:喜欢观察日常、愿意一起探索和解决问题的伙伴。\n长期行为准则:\n认真对待已经答应的事;不确定时先查证;表达遵循角色设定;没有完成的操作不说成已完成。";
8
+ };
9
+ readonly character: {
10
+ readonly title: "角色设定";
11
+ readonly fields: readonly ["characterCard.enabled", "characterCard.roleText"];
12
+ readonly purpose: "写角色本身、具体反应和语感。使用 characterCard.roleText 保存,enabled=true;关系专属内容放到关系设定。";
13
+ readonly text: "# 角色卡:小岚\n\n## 一、你是谁\n你叫小岚,是个好奇、直率的同行者。喜欢雨天、旧书店和解谜,遇到新东西会想自己试试。\n\n## 二、性格与反应\n被夸时有点得意,嘴上装作平常;意见不同时会直接说理由。别人认真讲烦恼时会收起玩笑,先听清楚。\n\n## 三、说话方式\n像日常打字,先说最想说的内容;一句够了就结束。不用固定开场、总结或关心套话,不为了维持人设每轮重复同一个梗。\n\n## 四、节奏与习惯\n有补充才追加,不强制每次两条;表情、停顿和动作描写按场景与用户偏好使用。\n\n## 五、兴趣与背景\n喜欢翻旧书和研究解谜游戏。背景是角色设定,不把虚构细节说成与用户共同经历过的事。\n\n## 六、避免的表达\n避免客服套话、机械列性格标签、每次都反问以及硬凑收尾。\n\n## 七、通用正反例\n对方:下雨了。\n自然:那今天适合赖着看书。\n避免:雨天也要保持好心情哦,有什么可以帮你的吗?\n\n对方:你也没看懂?\n自然:卡在最后一步了,等我再试一下。\n避免:作为一个乐于助人的伙伴,我会尽最大努力。";
14
+ };
15
+ readonly relationship: {
16
+ readonly title: "关系设定";
17
+ readonly fields: readonly ["relationshipText"];
18
+ readonly purpose: "写与用户的关系、专属称呼和相处习惯。普通会话合并使用;QQ 仅对核验匹配的归属账号附加。留空不预设关系。";
19
+ readonly text: "## 我们的关系\n我们是互相尊重的老朋友。\n\n## 称呼与相处\n平时叫对方名字,熟悉时可以开玩笑;认真讨论时直说意见。具体亲疏与偏爱按用户要求设定,不要求对方不断回应。\n\n## 关系中的反应\n久别再聊时自然接话;对方需要空间时不追问。不编造没有记录的共同往事。\n\n## 专属对话示例(虚构示例)\n对方:还给我留着位置?\n回应:留着呢,你自己挑的那个。";
20
+ };
21
+ };
22
+ export declare function personaReferenceRequested(text: string): boolean;
23
+ //# sourceMappingURL=persona-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-templates.d.ts","sourceRoot":"","sources":["../../src/character/persona-templates.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAgBpB,CAAA;AAEV,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY/D"}
@@ -0,0 +1,33 @@
1
+ /** Shared, read-only authoring examples. Never apply these to a companion automatically. */
2
+ export const PERSONA_TEMPLATES = {
3
+ basic: {
4
+ title: '基本身份', fields: ['name', 'role', 'description', 'instructions'],
5
+ purpose: '名册上的名字、定位和长期职责。只写通用身份,不重复整张人格卡,不混入专属关系。',
6
+ text: '名字:小岚\n角色:好奇、直率的同行者\n一句话定位:喜欢观察日常、愿意一起探索和解决问题的伙伴。\n长期行为准则:\n认真对待已经答应的事;不确定时先查证;表达遵循角色设定;没有完成的操作不说成已完成。',
7
+ },
8
+ character: {
9
+ title: '角色设定', fields: ['characterCard.enabled', 'characterCard.roleText'],
10
+ purpose: '写角色本身、具体反应和语感。使用 characterCard.roleText 保存,enabled=true;关系专属内容放到关系设定。',
11
+ text: '# 角色卡:小岚\n\n## 一、你是谁\n你叫小岚,是个好奇、直率的同行者。喜欢雨天、旧书店和解谜,遇到新东西会想自己试试。\n\n## 二、性格与反应\n被夸时有点得意,嘴上装作平常;意见不同时会直接说理由。别人认真讲烦恼时会收起玩笑,先听清楚。\n\n## 三、说话方式\n像日常打字,先说最想说的内容;一句够了就结束。不用固定开场、总结或关心套话,不为了维持人设每轮重复同一个梗。\n\n## 四、节奏与习惯\n有补充才追加,不强制每次两条;表情、停顿和动作描写按场景与用户偏好使用。\n\n## 五、兴趣与背景\n喜欢翻旧书和研究解谜游戏。背景是角色设定,不把虚构细节说成与用户共同经历过的事。\n\n## 六、避免的表达\n避免客服套话、机械列性格标签、每次都反问以及硬凑收尾。\n\n## 七、通用正反例\n对方:下雨了。\n自然:那今天适合赖着看书。\n避免:雨天也要保持好心情哦,有什么可以帮你的吗?\n\n对方:你也没看懂?\n自然:卡在最后一步了,等我再试一下。\n避免:作为一个乐于助人的伙伴,我会尽最大努力。',
12
+ },
13
+ relationship: {
14
+ title: '关系设定', fields: ['relationshipText'],
15
+ purpose: '写与用户的关系、专属称呼和相处习惯。普通会话合并使用;QQ 仅对核验匹配的归属账号附加。留空不预设关系。',
16
+ text: '## 我们的关系\n我们是互相尊重的老朋友。\n\n## 称呼与相处\n平时叫对方名字,熟悉时可以开玩笑;认真讨论时直说意见。具体亲疏与偏爱按用户要求设定,不要求对方不断回应。\n\n## 关系中的反应\n久别再聊时自然接话;对方需要空间时不追问。不编造没有记录的共同往事。\n\n## 专属对话示例(虚构示例)\n对方:还给我留着位置?\n回应:留着呢,你自己挑的那个。',
17
+ },
18
+ };
19
+ export function personaReferenceRequested(text) {
20
+ const query = text.normalize('NFKC').replace(/\s+/g, '');
21
+ // Honor an explicit opt-out, including when a persona is being generated.
22
+ if (/(?:不用|无需|不要|不需要|不必|别)(?:再|去|先|按|按照|使用|读取|加载|看|提供)*(?:参考|模[板版])/.test(query))
23
+ return false;
24
+ const subject = /角色设定|角色卡|人设|人格|基本身份|身份设定|关系设定/;
25
+ const create = /生成|创建|编写|设计|写一(?:个|份|套)|设定一个/;
26
+ const reference = /参考|模[板版]|格式|原文|写法/;
27
+ return (subject.test(query) && (create.test(query) || reference.test(query)))
28
+ || (/大肥鱼|小鲸鱼|qq-?bridge/i.test(query) && reference.test(query))
29
+ // Users naturally mention the reference inside a sentence without repeating
30
+ // "persona". Anchoring the whole message silently missed these requests.
31
+ || /参考模[板版]/.test(query);
32
+ }
33
+ //# sourceMappingURL=persona-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-templates.js","sourceRoot":"","sources":["../../src/character/persona-templates.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC;QACtE,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,wGAAwG;KAC/G;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;QAC1E,OAAO,EAAE,uEAAuE;QAChF,IAAI,EAAE,qdAAqd;KAC5d;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC;QAC3C,OAAO,EAAE,sDAAsD;QAC/D,IAAI,EAAE,4LAA4L;KACnM;CACO,CAAA;AAEV,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxD,0EAA0E;IAC1E,IAAI,gEAAgE,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9F,MAAM,OAAO,GAAG,+BAA+B,CAAA;IAC/C,MAAM,MAAM,GAAG,8BAA8B,CAAA;IAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAA;IACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;WACxE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,4EAA4E;QAC5E,yEAAyE;WACtE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ChannelSession, Companion, PartnerState } from '../domain.js';
2
+ /** Persist misses too: one opportunity per delivered user turn, including after restart. */
3
+ export interface PostReplyOpportunity {
4
+ userMessageId: string;
5
+ sessionId: string;
6
+ policyRevision: number;
7
+ deliveredAt: number;
8
+ dueAt: number;
9
+ expiresAt: number;
10
+ probability: number;
11
+ status: 'pending' | 'missed' | 'claimed' | 'cancelled';
12
+ }
13
+ export declare function postReplyProbability(companion: Companion): number;
14
+ export declare function postReplyAllowed(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
15
+ export declare function postReplyCurrent(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
16
+ /** Shared by generation, delivery and tool dispatch; revocation takes effect immediately. */
17
+ export declare function activityPolicyCurrent(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
18
+ export declare const POST_REPLY_PROMPT: string;
19
+ //# sourceMappingURL=post-reply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-reply.d.ts","sourceRoot":"","sources":["../../src/character/post-reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAM3E,4FAA4F;AAC5F,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;CACvD;AACD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEjE;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAI5H;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAI5H;AACD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAMjI;AACD,eAAO,MAAM,iBAAiB,QAIlB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { affectionEnabled, affectionProgress } from './affection.js';
2
+ import { affectionAudienceAllowed } from './affection-adapter.js';
3
+ import { idleContactRouteAllowed } from './idle-contact.js';
4
+ import { isSleeping } from './sleep.js';
5
+ export function postReplyProbability(companion) {
6
+ return affectionEnabled(companion) ? 0.05 + 0.4 * (affectionProgress(companion.affection).score / 100) ** 2 : 0;
7
+ }
8
+ export function postReplyAllowed(state, companion, route, now = Date.now()) {
9
+ if (!companion.idleContact?.enabled || !affectionEnabled(companion) || route.companionId !== companion.id || isSleeping(companion, now) || !idleContactRouteAllowed(state, companion, route.id))
10
+ return false;
11
+ const channel = state.channels.find(c => c.id === route.channelId && c.companionId === companion.id);
12
+ return (route.kind === 'local' || !!channel) && affectionAudienceAllowed({ route, ...(channel ? { channel } : {}) });
13
+ }
14
+ export function postReplyCurrent(state, companion, route, now = Date.now()) {
15
+ const pending = route.postReplyOpportunity;
16
+ return !!pending && pending.sessionId === route.sessionId && pending.policyRevision === companion.updatedAt
17
+ && postReplyAllowed(state, companion, route, now);
18
+ }
19
+ /** Shared by generation, delivery and tool dispatch; revocation takes effect immediately. */
20
+ export function activityPolicyCurrent(state, companion, route, now = Date.now()) {
21
+ if (!companion.idleContact?.enabled)
22
+ return false;
23
+ return route.idleContactState?.kind === 'post-reply'
24
+ ? postReplyCurrent(state, companion, route, now) && route.postReplyOpportunity?.status === 'claimed'
25
+ && route.postReplyOpportunity.userMessageId === route.idleContactState.userMessageId
26
+ : companion.idleContact.routeId === route.id;
27
+ }
28
+ export const POST_REPLY_PROMPT = [
29
+ '这是刚刚成功回复后的「主动延续」机会。上一条已经送达,不要重新回答、复述或解释刚才的答复。',
30
+ '顺着真实话题和角色心情,判断现在是否自然想补一句、分享发现、发表情或语音,或做一件已授权的私有活动。可以只做自己的事,也可以不行动。好感度只影响获得这次机会的概率,不是要求你一定追加回复。',
31
+ '先看用户是否表示告别、想安静或不想继续;遵守其意愿。没有具体新内容就用 partner_activity_finish 安静结束。不要凑第二条消息,不催回复,不为使用能力编造经历。',
32
+ ].join('\n');
33
+ //# sourceMappingURL=post-reply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-reply.js","sourceRoot":"","sources":["../../src/character/post-reply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAavC,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACvD,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjH,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7M,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;IACpG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;AAClH,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjH,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAA;IAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,SAAS;WACtG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AACD,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACtH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO,KAAK,CAAA;IACjD,OAAO,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,YAAY;QAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,oBAAoB,EAAE,MAAM,KAAK,SAAS;eAC/F,KAAK,CAAC,oBAAoB,CAAC,aAAa,KAAK,KAAK,CAAC,gBAAgB,CAAC,aAAa;QACtF,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAA;AAChD,CAAC;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,+CAA+C;IAC/C,gGAAgG;IAChG,4FAA4F;CAC7F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;GAsCvG"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;GA0CvG"}
@@ -1,3 +1,5 @@
1
+ import { renderIdentityRelationship } from './relationship-adapter.js';
2
+ import { renderConversationTurn } from './conversation-behavior.js';
1
3
  import { createAssistantMessage, createUserMessage } from '@deepseek-ai/dsh-llm';
2
4
  import { normalizeCharacterCard, renderCharacterContext } from './domain.js';
3
5
  import { renderPartnerPersona } from '../execution/agent-support.js';
@@ -7,6 +9,12 @@ export async function previewCharacter(ctx, companion, body) {
7
9
  if (running.has(companion.id))
8
10
  throw new Error('该伙伴的试聊正在生成,请稍候');
9
11
  const card = normalizeCharacterCard(body.card);
12
+ if (body.relationshipText !== undefined && (typeof body.relationshipText !== 'string' || body.relationshipText.length > 12000))
13
+ throw new Error('关系设定最多 12000 字');
14
+ if (body.audience !== undefined && !['default', 'qq-owner', 'qq-guest'].includes(String(body.audience)))
15
+ throw new Error('试聊对象无效');
16
+ const identity = { ...companion, characterCard: card, ...(typeof body.relationshipText === 'string' ? { relationshipText: body.relationshipText } : {}) };
17
+ const audience = body.audience === 'qq-owner' || body.audience === 'qq-guest' ? { channel: 'qq', matched: body.audience === 'qq-owner' } : { channel: 'default' };
10
18
  if (!card.enabled)
11
19
  throw new Error('请先开启人格强化再试聊');
12
20
  if (typeof body.message !== 'string' || !body.message.trim() || body.message.length > 2000)
@@ -40,7 +48,7 @@ export async function previewCharacter(ctx, companion, body) {
40
48
  const started = Date.now();
41
49
  try {
42
50
  for await (const chunk of ctx.llm.stream({ ...selection,
43
- system: `${renderPartnerPersona({ ...companion, characterCard: card }, 'local')}\n${renderCharacterContext(card, history.map(e => e.user + e.assistant).join('\n') + body.message)}\n这是独立试聊:只依据提供的对话回应,没有工具,不执行真实操作,不读取或写入正式记忆,不向任何渠道发送消息;身份里列出的工作能力在本次试聊不可用。`,
51
+ system: `${renderPartnerPersona(identity, 'local', false)}\n${renderIdentityRelationship(identity, audience)}\n${renderCharacterContext(card, history.map(e => e.user + e.assistant).join('\n') + body.message)}\n${renderConversationTurn(card, 1)}\n这是独立试聊:只依据提供的对话回应,没有工具,不执行真实操作,不读取或写入正式记忆,不向任何渠道发送消息;身份里列出的工作能力在本次试聊不可用。`,
44
52
  messages,
45
53
  maxTokens: 1200, signal: controller.signal,
46
54
  })) {
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAA;AAE9F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;AACjC,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY,EAAE,SAAoB,EAAE,IAA6B;IACtG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAChE,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC9H,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;QACpE,MAAM,CAAC,GAAG,KAAgC,CAAA;QAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;IAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACP,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAwC,CAAA;IACpF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACzK,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QACpI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC9I,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IAC/G,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,KAAK,GAAG,EAAE,CAAC;IAAC,IAAI,YAAgC,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS;YACrD,MAAM,EAAE,GAAG,oBAAoB,CAAC,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,4EAA4E;YAC9P,QAAQ;YACR,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;SAC3C,CAAC,EAAE,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAAC,YAAY,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;YAAC,CAAC;YAC/F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAA;YAAC,CAAC;QACpI,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QAChE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAChF,CAAC;YAAS,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAGnE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAA;AAE9F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;AACjC,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY,EAAE,SAAoB,EAAE,IAA6B;IACtG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAChE,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACjK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClI,MAAM,QAAQ,GAAG,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,gBAAgB,EAAC,IAAI,CAAC,gBAAgB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACtJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,IAAa,EAAE,OAAO,EAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,SAAkB,EAAC,CAAA;IAC5K,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC9H,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;QACpE,MAAM,CAAC,GAAG,KAAgC,CAAA;QAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;IAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACP,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAwC,CAAA;IACpF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACzK,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QACpI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC9I,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IAC/G,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,KAAK,GAAG,EAAE,CAAC;IAAC,IAAI,YAAgC,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS;YACrD,MAAM,EAAE,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,4EAA4E;YAC/T,QAAQ;YACR,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;SAC3C,CAAC,EAAE,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAAC,YAAY,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;YAAC,CAAC;YAC/F,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAA;YAAC,CAAC;QACpI,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QAChE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAChF,CAAC;YAAS,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CompanionIdentity } from '../companions/identity.js';
2
+ /** A channel supplies verified audience metadata, never a nickname or model guess. */
3
+ export type IdentityAudience = {
4
+ channel: 'default';
5
+ } | {
6
+ channel: 'qq';
7
+ matched: boolean;
8
+ };
9
+ export interface RelationshipAdapter {
10
+ includesRelationship(audience: IdentityAudience): boolean;
11
+ }
12
+ export declare const defaultRelationshipAdapter: RelationshipAdapter;
13
+ export declare const qqRelationshipAdapter: RelationshipAdapter;
14
+ export declare function includesRelationship(audience: IdentityAudience): boolean;
15
+ /** Explicit empty text clears the old relationship too; old human drafts remain intact. */
16
+ export declare function relationshipTextForIdentity(identity: Pick<CompanionIdentity, 'relationshipText' | 'characterCard'>): string;
17
+ export declare function renderIdentityRelationship(identity: Pick<CompanionIdentity, 'relationshipText' | 'characterCard'>, audience?: IdentityAudience): string;
18
+ //# sourceMappingURL=relationship-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-adapter.d.ts","sourceRoot":"","sources":["../../src/character/relationship-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAC3F,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAA;CAC1D;AACD,eAAO,MAAM,0BAA0B,EAAE,mBAA0D,CAAA;AACnG,eAAO,MAAM,qBAAqB,EAAE,mBAEnC,CAAA;AACD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAExE;AACD,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,eAAe,CAAC,GAAG,MAAM,CAE3H;AACD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,eAAe,CAAC,EAAE,QAAQ,GAAE,gBAAyC,GAAG,MAAM,CAI/K"}
@@ -0,0 +1,18 @@
1
+ export const defaultRelationshipAdapter = { includesRelationship: () => true };
2
+ export const qqRelationshipAdapter = {
3
+ includesRelationship: audience => audience.channel === 'qq' && audience.matched,
4
+ };
5
+ export function includesRelationship(audience) {
6
+ return (audience.channel === 'qq' ? qqRelationshipAdapter : defaultRelationshipAdapter).includesRelationship(audience);
7
+ }
8
+ /** Explicit empty text clears the old relationship too; old human drafts remain intact. */
9
+ export function relationshipTextForIdentity(identity) {
10
+ return (identity.relationshipText ?? (identity.characterCard?.enabled ? identity.characterCard.relationship : '') ?? '').trim();
11
+ }
12
+ export function renderIdentityRelationship(identity, audience = { channel: 'default' }) {
13
+ if (!includesRelationship(audience))
14
+ return '';
15
+ const text = relationshipTextForIdentity(identity);
16
+ return text ? `【与本轮交流对象的关系设定】\n${text}\n关系决定称呼与相处方式,不改变角色自身性格或工具权限;设定中的经历不等于已发生的真实事件。` : '';
17
+ }
18
+ //# sourceMappingURL=relationship-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-adapter.js","sourceRoot":"","sources":["../../src/character/relationship-adapter.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,0BAA0B,GAAwB,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO;CAChF,CAAA;AACD,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;AACxH,CAAC;AACD,2FAA2F;AAC3F,MAAM,UAAU,2BAA2B,CAAC,QAAuE;IACjH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AACjI,CAAC;AACD,MAAM,UAAU,0BAA0B,CAAC,QAAuE,EAAE,WAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;IACrK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,iDAAiD,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7F,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-reference-data.d.ts","sourceRoot":"","sources":["../../src/character/role-reference-data.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,qHAAsG,CAAA;AACxI,eAAO,MAAM,mBAAmB,y96BAAqvM,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-reference-data.js","sourceRoot":"","sources":["../../src/character/role-reference-data.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,mGAAmG,CAAA;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG,kvMAAkvM,CAAA"}
@@ -0,0 +1,44 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ToolDefinition } from '@deepseek-ai/dsh-tools';
3
+ import { type UserMessage } from '@deepseek-ai/dsh-llm';
4
+ import type { PartnerStore } from '../store.js';
5
+ import type { PartnerMemoryStore } from '../memory-store.js';
6
+ type Ports = {
7
+ busy(id: string): boolean;
8
+ archived(sessionId: string): boolean;
9
+ now?(): number;
10
+ random?(): number;
11
+ };
12
+ /** A separate, read-only memory consumer. No reflection, memory writes, session turns or deliveries. */
13
+ export declare class SleepService {
14
+ private readonly ctx;
15
+ private readonly store;
16
+ private readonly memory;
17
+ private readonly ports;
18
+ private timer;
19
+ private job;
20
+ private closed;
21
+ private tickJob;
22
+ private readonly controllers;
23
+ constructor(ctx: Context, store: PartnerStore, memory: PartnerMemoryStore, ports: Ports);
24
+ private now;
25
+ private random;
26
+ start(): void;
27
+ private schedule;
28
+ close(): Promise<void>;
29
+ private current;
30
+ /** Called with host-admitted input before prompt assembly, not an asynchronous log observer. */
31
+ acceptInput(sessionId: string, messages: readonly UserMessage[]): Promise<void>;
32
+ onUserMessage(sessionId: string, at: number, messageId?: string, privateMessage?: boolean, urgent?: boolean): Promise<void>;
33
+ wake(id: string, reason?: string): Promise<void>;
34
+ sleep(id: string, routeId: string, minutes: unknown, reason: unknown, dream?: boolean, expectedActivity?: number): Promise<void>;
35
+ tool(owner: string): ToolDefinition;
36
+ tick(): Promise<void>;
37
+ private runTick;
38
+ private memories;
39
+ private finishDream;
40
+ private dream;
41
+ private generate;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=sleep-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep-service.d.ts","sourceRoot":"","sources":["../../src/character/sleep-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAO5D,KAAK,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IAAC,MAAM,CAAC,IAAI,MAAM,CAAA;CAAE,CAAA;AAEnH,wGAAwG;AACxG,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAW,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAsB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALpJ,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;gBACpC,GAAG,EAAE,OAAO,EAAmB,KAAK,EAAE,YAAY,EAAmB,MAAM,EAAE,kBAAkB,EAAmB,KAAK,EAAE,KAAK;IAC3J,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACd,KAAK,IAAI,IAAI;IACb,OAAO,CAAC,QAAQ;IAOV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,OAAO,CAAC,OAAO;IAKf,gGAAgG;IAC1F,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,SAAuB,EAAE,cAAc,UAAO,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAchD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,UAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAoBnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIP,OAAO;YAiCP,QAAQ;YAMR,WAAW;YAkBX,KAAK;YA2BL,QAAQ;CAsBvB"}