kaijibot 2026.6.21 → 2026.6.22

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 (2139) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/abort-CxZY3nsr.js +202 -0
  3. package/dist/abort-cutoff.runtime-D5FOsnYW.js +20 -0
  4. package/dist/abort-cutoff.runtime.js +1 -1
  5. package/dist/abort.runtime-DfIOyW8M.js +2 -0
  6. package/dist/abort.runtime.js +1 -1
  7. package/dist/acp-cli-CGXRdw_k.js +2171 -0
  8. package/dist/acp-spawn-DKbKvPuU.js +1023 -0
  9. package/dist/acp-stateful-target-driver-WeMIyQR2.js +87 -0
  10. package/dist/action-agents-Dw33v5ym.js +67 -0
  11. package/dist/action-focus-BTLYwzxx.js +124 -0
  12. package/dist/action-help-DjgRJFg3.js +7 -0
  13. package/dist/action-info-6xDvEX0Q.js +58 -0
  14. package/dist/action-kill-DtQoZS29.js +33 -0
  15. package/dist/action-list-ClDeI7iE.js +21 -0
  16. package/dist/action-log-DSosstuh.js +30 -0
  17. package/dist/action-send-Vh1BuuNd.js +39 -0
  18. package/dist/action-spawn-B08ssbZ3.js +46 -0
  19. package/dist/action-unfocus-CEw-Ww9k.js +28 -0
  20. package/dist/agent-BXBykpuI.js +2 -0
  21. package/dist/agent-command-CUB1Qm88.js +1479 -0
  22. package/dist/agent-runner-utils-DN7nVODy.js +202 -0
  23. package/dist/agent-runner.runtime-DVXE9zZ9.js +2825 -0
  24. package/dist/agent-runner.runtime.js +1 -1
  25. package/dist/agents/model-catalog.runtime.js +1 -1
  26. package/dist/agents-BqqSOUcc.js +887 -0
  27. package/dist/agents-CVsWMDVp.js +5 -0
  28. package/dist/api--VGwAnD8.js +3 -0
  29. package/dist/api-6V55tozK.js +5 -0
  30. package/dist/api-B6ziqa7E.js +5 -0
  31. package/dist/api-C4yFynS8.js +2 -0
  32. package/dist/api-CT1XstLQ.js +4 -0
  33. package/dist/api-CgLK0Nl9.js +45 -0
  34. package/dist/api-CkSziYo8.js +4 -0
  35. package/dist/api-CmDVoeIs.js +2 -0
  36. package/dist/api-CziR8HhH.js +35 -0
  37. package/dist/api-D85vczn8.js +2 -0
  38. package/dist/api-DlP6Jt7i.js +3 -0
  39. package/dist/api-DvwX5wEJ.js +16 -0
  40. package/dist/api-cZen2Qw8.js +44 -0
  41. package/dist/api-gQ5luSlW.js +19 -0
  42. package/dist/apply-DQD25Xw1.js +493 -0
  43. package/dist/apply.runtime-BUedp4X6.js +166 -0
  44. package/dist/apply.runtime-CUOWwc5E.js +2 -0
  45. package/dist/apply.runtime.js +1 -1
  46. package/dist/audit-channel.collect.runtime.js +1 -1
  47. package/dist/audit-extra.async-UlJ9dtlX.js +847 -0
  48. package/dist/audit-u9caRELf.js +885 -0
  49. package/dist/audit.deep.runtime-DV71Wkn_.js +2 -0
  50. package/dist/audit.deep.runtime.js +1 -1
  51. package/dist/audit.nondeep.runtime-DOxcit3s.js +859 -0
  52. package/dist/audit.nondeep.runtime.js +1 -1
  53. package/dist/audit.runtime-CkaC5K-V.js +7 -0
  54. package/dist/audit.runtime.js +1 -1
  55. package/dist/auth-BtFIcjkK.js +181 -0
  56. package/dist/auth-choice-BDu6h5u6.js +353 -0
  57. package/dist/auth-choice-ChZMk5hI.js +3 -0
  58. package/dist/auth-choice-oYsuPPg8.js +71 -0
  59. package/dist/auth-choice-options-kLAihnil.js +104 -0
  60. package/dist/auth-choice-prompt-C6XJsZ_j.js +2 -0
  61. package/dist/auth-choice-prompt-sWGu0fT8.js +36 -0
  62. package/dist/auth-choice.plugin-providers.runtime.js +1 -1
  63. package/dist/auto-disable-B57JdBwe.js +69 -0
  64. package/dist/auto-disable-CmJfHDbk.js +2 -0
  65. package/dist/banner-BLSO_rVb.js +290 -0
  66. package/dist/banner-Bq8rH7x0.js +2 -0
  67. package/dist/binding-routing-CUqlgYnB.js +50 -0
  68. package/dist/binding-targets-r1FCdNWk.js +99 -0
  69. package/dist/bridge-server-DBiqLRkF.js +103 -0
  70. package/dist/browser-node-runtime-CaV_umAQ.js +12 -0
  71. package/dist/browser-runtime-a3vYRS_q.js +377 -0
  72. package/dist/build-info.json +3 -3
  73. package/dist/bundled/boot-md/handler.js +3 -3
  74. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  75. package/dist/bundled/session-memory/handler.js +3 -3
  76. package/dist/call.runtime.js +1 -1
  77. package/dist/capability-cli-5gQaEAHR.js +1350 -0
  78. package/dist/catalog-provider-DtmYtDqx.js +40 -0
  79. package/dist/cdp.helpers-C6bHP7D_.js +372 -0
  80. package/dist/channel-core-CmBBxIyB.js +5 -0
  81. package/dist/channel-plugin-resolution-CmsYI1my.js +146 -0
  82. package/dist/channel-selection.runtime.js +1 -1
  83. package/dist/channel.runtime-CVJx87rS.js +399 -0
  84. package/dist/channel.runtime.js +1 -1
  85. package/dist/channels-DSyzN9z5.js +1146 -0
  86. package/dist/channels-cli-CyaVWu4s.js +247 -0
  87. package/dist/chat-fHuZdqCl.js +213 -0
  88. package/dist/chrome-DMEt4NXy.js +1080 -0
  89. package/dist/chrome.executables-B9jFs6UO.js +541 -0
  90. package/dist/clawbot-cli-mwz1sM6a.js +9 -0
  91. package/dist/clawhub-D05ayw3D.js +400 -0
  92. package/dist/cli/daemon-cli.js +1 -1
  93. package/dist/cli-8zsU8vEs.js +191 -0
  94. package/dist/cli-Bi46ARiq.js +57 -0
  95. package/dist/cli-By89kZva.js +154 -0
  96. package/dist/cli-C746a0v5.js +2 -0
  97. package/dist/cli-auth-seam-BTvzapW1.js +14 -0
  98. package/dist/cli-backend-lsjr78tt.js +66 -0
  99. package/dist/cli-migration-DcoLYfHA.js +127 -0
  100. package/dist/cli-pyy2tVYy.js +2 -0
  101. package/dist/cli-runner-CdYSI1Cq.js +1661 -0
  102. package/dist/cli-runner.runtime-DAabHOxt.js +3 -0
  103. package/dist/cli-runner.runtime-DVi1zg9k.js +2 -0
  104. package/dist/cli-runner.runtime.js +1 -1
  105. package/dist/cli-shared-DFDLtvnu.js +142 -0
  106. package/dist/cli-startup-metadata.json +2 -2
  107. package/dist/cli.runtime-Cz1t2jpS.js +819 -0
  108. package/dist/cli.runtime.js +1 -1
  109. package/dist/collector-DrX56GKv.js +378 -0
  110. package/dist/collector-Shnn0RWR.js +2 -0
  111. package/dist/command-config-resolution-CZpMVpIs.js +2 -0
  112. package/dist/command-config-resolution-CcNutmmy.js +23 -0
  113. package/dist/command-execution-startup-BQsvV7-V.js +269 -0
  114. package/dist/command-poll-backoff.runtime.js +1 -1
  115. package/dist/command-queue-BfrVf4dr.js +260 -0
  116. package/dist/command-registry-9kQrd6fb.js +108 -0
  117. package/dist/command-registry-Bdx4B3wy.js +3 -0
  118. package/dist/command-secret-gateway-DxVWgQ4Q.js +528 -0
  119. package/dist/commands-acp-DBpRNdkG.js +1017 -0
  120. package/dist/commands-compact.runtime-BxRaheVf.js +10 -0
  121. package/dist/commands-compact.runtime.js +1 -1
  122. package/dist/commands-core.runtime-DoUzOeqH.js +2 -0
  123. package/dist/commands-core.runtime.js +1 -1
  124. package/dist/commands-handlers.runtime-CscK2Pgm.js +3762 -0
  125. package/dist/commands-handlers.runtime.js +1 -1
  126. package/dist/commands-models-DqYeVT69.js +306 -0
  127. package/dist/commands-registry.runtime.js +1 -1
  128. package/dist/commands-reset-hooks-CRAAqkiL.js +129 -0
  129. package/dist/commands-status-D8ZaMIRi.js +223 -0
  130. package/dist/commands-status.runtime-BtUfa8Vo.js +2 -0
  131. package/dist/commands-status.runtime.js +1 -1
  132. package/dist/commands-subagents-control.runtime-3mseouWV.js +2 -0
  133. package/dist/commands-subagents-control.runtime-C7Ew7ep6.js +3 -0
  134. package/dist/commands-subagents-control.runtime.js +1 -1
  135. package/dist/commands.runtime-BJ_5rAYe.js +103 -0
  136. package/dist/commands.runtime.js +1 -1
  137. package/dist/comment-shared-yDp8Dd41.js +40 -0
  138. package/dist/compact-k1PfNa6G.js +11322 -0
  139. package/dist/compact.runtime-cKbXZ_kZ.js +7 -0
  140. package/dist/compact.runtime.js +1 -1
  141. package/dist/completion-cli-DUy1xq5t.js +2 -0
  142. package/dist/completion-cli-TT57JQFZ.js +464 -0
  143. package/dist/config-Bza6q-tk.js +107 -0
  144. package/dist/config-CAd-vFQh.js +2 -0
  145. package/dist/config-CpSlb4Mg.js +166 -0
  146. package/dist/config-CwRPACbU.js +136 -0
  147. package/dist/config-cli-_8Iokq8y.js +947 -0
  148. package/dist/config-defaults-Bjf5n5HI.js +163 -0
  149. package/dist/config-guard-CfF5-yEi.js +94 -0
  150. package/dist/config-runtime-BNDhHDpw.js +14 -0
  151. package/dist/config-validation-BhhUrU16.js +279 -0
  152. package/dist/configure-CQyw8lzJ.js +1159 -0
  153. package/dist/configure-qodb2db7.js +2 -0
  154. package/dist/context-writer-AquXRiMC.js +286 -0
  155. package/dist/control-auth-CBhIsAGb.js +122 -0
  156. package/dist/conversation-id-BpHFaBiM.js +140 -0
  157. package/dist/conversation-runtime-CV7B9eh2.js +31 -0
  158. package/dist/core-Dhps3xfM.js +210 -0
  159. package/dist/core-command-descriptors-ByQEHYvG.js +106 -0
  160. package/dist/cron-cli-CZI77HtC.js +637 -0
  161. package/dist/curator-CqSJZrlY.js +586 -0
  162. package/dist/daemon-cli-BdP5r4bR.js +416 -0
  163. package/dist/daemon-install-C8jNe_d9.js +63 -0
  164. package/dist/delegate-BLZcdNc7.js +61 -0
  165. package/dist/deliver-BZKHu27h.js +3 -0
  166. package/dist/deliver-C_JUBT2Q.js +782 -0
  167. package/dist/deliver-runtime-BlUTLk1h.js +2 -0
  168. package/dist/delivery-outbound.runtime-Dx5f5V4o.js +6 -0
  169. package/dist/delivery-outbound.runtime.js +1 -1
  170. package/dist/delivery-queue-BEM44EtF.js +372 -0
  171. package/dist/delivery-queue-DtcoyE2W.js +2 -0
  172. package/dist/detect-B4AtZ1VF.js +113 -0
  173. package/dist/devices-cli-BwUXV1ns.js +329 -0
  174. package/dist/diagnostic-B9b_3vaL.js +311 -0
  175. package/dist/direct-dm-06KHJO-9.js +139 -0
  176. package/dist/directive-handling.fast-lane-BAXtkU2a.js +64 -0
  177. package/dist/directive-handling.fast-lane-cbiyzgY6.js +2 -0
  178. package/dist/directive-handling.impl-DXbCFQNy.js +2 -0
  179. package/dist/directive-handling.impl-DscJlWrJ.js +659 -0
  180. package/dist/directive-handling.parse-BjPmnlrf.js +376 -0
  181. package/dist/directive-handling.persist-CR8atm5a.js +139 -0
  182. package/dist/directive-handling.persist.runtime-BD4hf46l.js +2 -0
  183. package/dist/directive-handling.persist.runtime.js +1 -1
  184. package/dist/directive-handling.shared-CBO8J9ho.js +159 -0
  185. package/dist/directory-cli-jmT5IFyz.js +239 -0
  186. package/dist/dispatch-D0nF0fyZ.js +1041 -0
  187. package/dist/dispatch-acp-DkXjplxI.js +969 -0
  188. package/dist/dispatch-acp-manager.runtime-BatYBoZJ.js +3 -0
  189. package/dist/dispatch-acp-manager.runtime.js +1 -1
  190. package/dist/dispatch-acp-media.runtime-ij81_4Nz.js +3 -0
  191. package/dist/dispatch-acp-media.runtime.js +1 -1
  192. package/dist/dispatch-acp-session.runtime-BuR_lKDu.js +2 -0
  193. package/dist/dispatch-acp-session.runtime.js +1 -1
  194. package/dist/dispatch-acp-tts.runtime-7dlcj_x_.js +3 -0
  195. package/dist/dispatch-acp-tts.runtime.js +1 -1
  196. package/dist/dispatch-acp.runtime-DD9eCP-b.js +19 -0
  197. package/dist/dispatch-acp.runtime.js +1 -1
  198. package/dist/dns-cli-RO2WqQHr.js +192 -0
  199. package/dist/doctor-completion-5vnr7sel.js +90 -0
  200. package/dist/doctor-config-preflight-6FaPZK61.js +148 -0
  201. package/dist/doctor-config-preflight-CTYLYtZw.js +2 -0
  202. package/dist/doctor-state-migrations-BvJBqBwP.js +2 -0
  203. package/dist/doctor-state-migrations-CH2rs-LR.js +3 -0
  204. package/dist/drive-D8QfYZ4p.js +750 -0
  205. package/dist/embedding-provider-Bj7KsQ8q.js +129 -0
  206. package/dist/engine-BY6K0Vfe.js +72 -0
  207. package/dist/entry-capabilities-BSz58Ocn.js +89 -0
  208. package/dist/entry.js +5 -5
  209. package/dist/env-overrides.runtime.js +1 -1
  210. package/dist/exec-approval-forwarder.runtime-D5JousLd.js +3 -0
  211. package/dist/exec-approval-forwarder.runtime.js +1 -1
  212. package/dist/exec-approvals-cli-C63N8e4p.js +484 -0
  213. package/dist/exec-defaults-BWTMcQ8O.js +1440 -0
  214. package/dist/extensionAPI.js +4 -4
  215. package/dist/extensions/alibaba/index.js +1 -1
  216. package/dist/extensions/alibaba/video-generation-provider.js +1 -1
  217. package/dist/extensions/anthropic/api.js +2 -2
  218. package/dist/extensions/anthropic/cli-auth-seam.js +1 -1
  219. package/dist/extensions/anthropic/cli-backend-api.js +2 -2
  220. package/dist/extensions/anthropic/cli-backend.js +1 -1
  221. package/dist/extensions/anthropic/cli-migration.js +1 -1
  222. package/dist/extensions/anthropic/cli-shared.js +1 -1
  223. package/dist/extensions/anthropic/config-defaults.js +1 -1
  224. package/dist/extensions/anthropic/contract-api.js +1 -1
  225. package/dist/extensions/anthropic/index.js +1 -1
  226. package/dist/extensions/anthropic/media-understanding-provider.js +1 -1
  227. package/dist/extensions/anthropic/provider-policy-api.js +1 -1
  228. package/dist/extensions/anthropic/register.runtime.js +1 -1
  229. package/dist/extensions/anthropic/setup-api.js +1 -1
  230. package/dist/extensions/anthropic/stream-wrappers.js +1 -1
  231. package/dist/extensions/anthropic/test-api.js +3 -3
  232. package/dist/extensions/anthropic-vertex/api.js +3 -3
  233. package/dist/extensions/anthropic-vertex/index.js +2 -2
  234. package/dist/extensions/anthropic-vertex/provider-catalog.js +1 -1
  235. package/dist/extensions/anthropic-vertex/region.js +1 -1
  236. package/dist/extensions/anthropic-vertex/setup-api.js +1 -1
  237. package/dist/extensions/arcee/index.js +2 -2
  238. package/dist/extensions/browser/browser-bridge.js +1 -1
  239. package/dist/extensions/browser/browser-cdp.js +1 -1
  240. package/dist/extensions/browser/browser-config.js +3 -3
  241. package/dist/extensions/browser/browser-control-auth.js +1 -1
  242. package/dist/extensions/browser/browser-doctor.js +3 -3
  243. package/dist/extensions/browser/browser-host-inspection.js +1 -1
  244. package/dist/extensions/browser/browser-maintenance.js +2 -2
  245. package/dist/extensions/browser/browser-profiles.js +1 -1
  246. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  247. package/dist/extensions/browser/index.js +1 -1
  248. package/dist/extensions/browser/plugin-registration.js +1 -1
  249. package/dist/extensions/browser/register.runtime.js +3 -3
  250. package/dist/extensions/browser/runtime-api.js +12 -12
  251. package/dist/extensions/browser/setup-api.js +2 -2
  252. package/dist/extensions/browser/test-support.js +2 -2
  253. package/dist/extensions/byteplus/index.js +3 -3
  254. package/dist/extensions/byteplus/video-generation-provider.js +1 -1
  255. package/dist/extensions/cerebras/index.js +1 -1
  256. package/dist/extensions/chutes/api.js +3 -3
  257. package/dist/extensions/chutes/index.js +8 -8
  258. package/dist/extensions/chutes/models.js +1 -1
  259. package/dist/extensions/chutes/onboard.js +2 -2
  260. package/dist/extensions/chutes/provider-catalog.js +1 -1
  261. package/dist/extensions/cloudflare-ai-gateway/api.js +1 -1
  262. package/dist/extensions/cloudflare-ai-gateway/catalog-provider.js +1 -1
  263. package/dist/extensions/cloudflare-ai-gateway/index.js +3 -3
  264. package/dist/extensions/deepinfra/api.js +2 -2
  265. package/dist/extensions/deepinfra/index.js +2 -2
  266. package/dist/extensions/deepinfra/media-understanding-provider.js +1 -1
  267. package/dist/extensions/deepinfra/video-generation-provider.js +1 -1
  268. package/dist/extensions/deepseek/index.js +1 -1
  269. package/dist/extensions/device-pair/api.js +2 -2
  270. package/dist/extensions/device-pair/index.js +5 -5
  271. package/dist/extensions/device-pair/notify.js +1 -1
  272. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  273. package/dist/extensions/device-pair/qr-image.js +2 -2
  274. package/dist/extensions/diffs/.kaijibot-runtime-deps-stamp.json +1 -1
  275. package/dist/extensions/diffs/index.js +1 -1
  276. package/dist/extensions/diffs/node_modules/.package-lock.json +3 -3
  277. package/dist/extensions/diffs/node_modules/typebox/build/compile/validator.d.mts +2 -7
  278. package/dist/extensions/diffs/node_modules/typebox/build/compile/validator.mjs +6 -36
  279. package/dist/extensions/diffs/node_modules/typebox/build/error/errors.d.mts +1 -7
  280. package/dist/extensions/diffs/node_modules/typebox/build/guard/emit.d.mts +0 -4
  281. package/dist/extensions/diffs/node_modules/typebox/build/guard/emit.mjs +0 -8
  282. package/dist/extensions/diffs/node_modules/typebox/build/guard/guard.d.mts +0 -4
  283. package/dist/extensions/diffs/node_modules/typebox/build/guard/guard.mjs +0 -8
  284. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
  285. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/index.mjs +0 -1
  286. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/schema.mjs +0 -5
  287. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/type.mjs +14 -18
  288. package/dist/extensions/diffs/node_modules/typebox/build/schema/types/index.d.mts +0 -1
  289. package/dist/extensions/diffs/node_modules/typebox/build/schema/types/index.mjs +0 -1
  290. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
  291. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
  292. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
  293. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
  294. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
  295. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
  296. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
  297. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
  298. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
  299. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
  300. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
  301. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
  302. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
  303. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
  304. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
  305. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
  306. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
  307. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
  308. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
  309. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
  310. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
  311. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
  312. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
  313. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
  314. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
  315. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
  316. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
  317. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
  318. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
  319. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
  320. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
  321. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
  322. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
  323. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
  324. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
  325. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
  326. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
  327. package/dist/extensions/diffs/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
  328. package/dist/extensions/diffs/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
  329. package/dist/extensions/diffs/node_modules/typebox/build/system/memory/clone.mjs +72 -26
  330. package/dist/extensions/diffs/node_modules/typebox/build/type/action/index.d.mts +0 -1
  331. package/dist/extensions/diffs/node_modules/typebox/build/type/action/index.mjs +0 -1
  332. package/dist/extensions/diffs/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  333. package/dist/extensions/diffs/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
  334. package/dist/extensions/diffs/node_modules/typebox/build/type/action/with.d.mts +0 -10
  335. package/dist/extensions/diffs/node_modules/typebox/build/type/action/with.mjs +0 -8
  336. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/check.d.mts +1 -4
  337. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/check.mjs +9 -15
  338. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
  339. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
  340. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
  341. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
  342. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/index.d.mts +0 -1
  343. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/index.mjs +0 -1
  344. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +1 -1
  345. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +4 -2
  346. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/instantiate.d.mts +7 -12
  347. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/instantiate.mjs +60 -66
  348. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +1 -1
  349. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +4 -1
  350. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
  351. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
  352. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/extends_left.d.mts +1 -7
  353. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/extends_left.mjs +23 -32
  354. package/dist/extensions/diffs/node_modules/typebox/build/type/script/mapping.d.mts +0 -12
  355. package/dist/extensions/diffs/node_modules/typebox/build/type/script/mapping.mjs +21 -25
  356. package/dist/extensions/diffs/node_modules/typebox/build/type/types/_refine.d.mts +0 -2
  357. package/dist/extensions/diffs/node_modules/typebox/build/type/types/_refine.mjs +1 -2
  358. package/dist/extensions/diffs/node_modules/typebox/build/type/types/index.d.mts +0 -4
  359. package/dist/extensions/diffs/node_modules/typebox/build/type/types/index.mjs +0 -4
  360. package/dist/extensions/diffs/node_modules/typebox/build/type/types/static.d.mts +1 -5
  361. package/dist/extensions/diffs/node_modules/typebox/build/typebox.d.mts +2 -7
  362. package/dist/extensions/diffs/node_modules/typebox/build/typebox.mjs +2 -7
  363. package/dist/extensions/diffs/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
  364. package/dist/extensions/diffs/node_modules/typebox/build/value/clone/clone.mjs +1 -86
  365. package/dist/extensions/diffs/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
  366. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_type.mjs +23 -31
  367. package/dist/extensions/diffs/node_modules/typebox/build/value/default/from_type.mjs +8 -10
  368. package/dist/extensions/diffs/node_modules/typebox/build/value/index.d.mts +0 -1
  369. package/dist/extensions/diffs/node_modules/typebox/build/value/index.mjs +0 -1
  370. package/dist/extensions/diffs/node_modules/typebox/build/value/repair/from_type.mjs +2 -12
  371. package/dist/extensions/diffs/node_modules/typebox/build/value/value.d.mts +0 -1
  372. package/dist/extensions/diffs/node_modules/typebox/build/value/value.mjs +0 -1
  373. package/dist/extensions/diffs/node_modules/typebox/package.json +1 -1
  374. package/dist/extensions/diffs/node_modules/typebox/readme.md +1 -1
  375. package/dist/extensions/exa/index.js +1 -1
  376. package/dist/extensions/feishu/.kaijibot-runtime-deps-stamp.json +1 -1
  377. package/dist/extensions/feishu/api.js +16 -16
  378. package/dist/extensions/feishu/contract-api.js +2 -2
  379. package/dist/extensions/feishu/node_modules/.package-lock.json +3 -3
  380. package/dist/extensions/feishu/node_modules/typebox/build/compile/validator.d.mts +2 -7
  381. package/dist/extensions/feishu/node_modules/typebox/build/compile/validator.mjs +6 -36
  382. package/dist/extensions/feishu/node_modules/typebox/build/error/errors.d.mts +1 -7
  383. package/dist/extensions/feishu/node_modules/typebox/build/guard/emit.d.mts +0 -4
  384. package/dist/extensions/feishu/node_modules/typebox/build/guard/emit.mjs +0 -8
  385. package/dist/extensions/feishu/node_modules/typebox/build/guard/guard.d.mts +0 -4
  386. package/dist/extensions/feishu/node_modules/typebox/build/guard/guard.mjs +0 -8
  387. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
  388. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/index.mjs +0 -1
  389. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/schema.mjs +0 -5
  390. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/type.mjs +14 -18
  391. package/dist/extensions/feishu/node_modules/typebox/build/schema/types/index.d.mts +0 -1
  392. package/dist/extensions/feishu/node_modules/typebox/build/schema/types/index.mjs +0 -1
  393. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
  394. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
  395. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
  396. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
  397. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
  398. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
  399. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
  400. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
  401. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
  402. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
  403. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
  404. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
  405. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
  406. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
  407. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
  408. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
  409. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
  410. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
  411. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
  412. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
  413. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
  414. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
  415. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
  416. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
  417. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
  418. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
  419. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
  420. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
  421. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
  422. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
  423. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
  424. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
  425. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
  426. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
  427. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
  428. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
  429. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
  430. package/dist/extensions/feishu/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
  431. package/dist/extensions/feishu/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
  432. package/dist/extensions/feishu/node_modules/typebox/build/system/memory/clone.mjs +72 -26
  433. package/dist/extensions/feishu/node_modules/typebox/build/type/action/index.d.mts +0 -1
  434. package/dist/extensions/feishu/node_modules/typebox/build/type/action/index.mjs +0 -1
  435. package/dist/extensions/feishu/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  436. package/dist/extensions/feishu/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
  437. package/dist/extensions/feishu/node_modules/typebox/build/type/action/with.d.mts +0 -10
  438. package/dist/extensions/feishu/node_modules/typebox/build/type/action/with.mjs +0 -8
  439. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/check.d.mts +1 -4
  440. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/check.mjs +9 -15
  441. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
  442. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
  443. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
  444. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
  445. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/index.d.mts +0 -1
  446. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/index.mjs +0 -1
  447. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +1 -1
  448. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +4 -2
  449. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/instantiate.d.mts +7 -12
  450. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/instantiate.mjs +60 -66
  451. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +1 -1
  452. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +4 -1
  453. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
  454. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
  455. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/extends_left.d.mts +1 -7
  456. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/extends_left.mjs +23 -32
  457. package/dist/extensions/feishu/node_modules/typebox/build/type/script/mapping.d.mts +0 -12
  458. package/dist/extensions/feishu/node_modules/typebox/build/type/script/mapping.mjs +21 -25
  459. package/dist/extensions/feishu/node_modules/typebox/build/type/types/_refine.d.mts +0 -2
  460. package/dist/extensions/feishu/node_modules/typebox/build/type/types/_refine.mjs +1 -2
  461. package/dist/extensions/feishu/node_modules/typebox/build/type/types/index.d.mts +0 -4
  462. package/dist/extensions/feishu/node_modules/typebox/build/type/types/index.mjs +0 -4
  463. package/dist/extensions/feishu/node_modules/typebox/build/type/types/static.d.mts +1 -5
  464. package/dist/extensions/feishu/node_modules/typebox/build/typebox.d.mts +2 -7
  465. package/dist/extensions/feishu/node_modules/typebox/build/typebox.mjs +2 -7
  466. package/dist/extensions/feishu/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
  467. package/dist/extensions/feishu/node_modules/typebox/build/value/clone/clone.mjs +1 -86
  468. package/dist/extensions/feishu/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
  469. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_type.mjs +23 -31
  470. package/dist/extensions/feishu/node_modules/typebox/build/value/default/from_type.mjs +8 -10
  471. package/dist/extensions/feishu/node_modules/typebox/build/value/index.d.mts +0 -1
  472. package/dist/extensions/feishu/node_modules/typebox/build/value/index.mjs +0 -1
  473. package/dist/extensions/feishu/node_modules/typebox/build/value/repair/from_type.mjs +2 -12
  474. package/dist/extensions/feishu/node_modules/typebox/build/value/value.d.mts +0 -1
  475. package/dist/extensions/feishu/node_modules/typebox/build/value/value.mjs +0 -1
  476. package/dist/extensions/feishu/node_modules/typebox/package.json +1 -1
  477. package/dist/extensions/feishu/node_modules/typebox/readme.md +1 -1
  478. package/dist/extensions/feishu/runtime-api.js +2 -2
  479. package/dist/extensions/feishu/security-contract-api.js +1 -1
  480. package/dist/extensions/feishu/session-key-api.js +1 -1
  481. package/dist/extensions/feishu/setup-api.js +1 -1
  482. package/dist/extensions/fireworks/index.js +1 -1
  483. package/dist/extensions/github-copilot/api.js +1 -1
  484. package/dist/extensions/github-copilot/index.js +4 -4
  485. package/dist/extensions/github-copilot/login.js +1 -1
  486. package/dist/extensions/github-copilot/models-defaults.js +1 -1
  487. package/dist/extensions/github-copilot/models.js +1 -1
  488. package/dist/extensions/github-copilot/register.runtime.js +3 -3
  489. package/dist/extensions/github-copilot/replay-policy.js +1 -1
  490. package/dist/extensions/google/api.js +1 -1
  491. package/dist/extensions/google/gemini-cli-provider.js +1 -1
  492. package/dist/extensions/google/google-shared.test-helpers.js +1 -1
  493. package/dist/extensions/google/image-generation-provider.js +1 -1
  494. package/dist/extensions/google/index.js +5 -5
  495. package/dist/extensions/google/media-understanding-provider.js +1 -1
  496. package/dist/extensions/google/music-generation-provider.js +1 -1
  497. package/dist/extensions/google/oauth-token-shared.js +1 -1
  498. package/dist/extensions/google/oauth.credentials.js +1 -1
  499. package/dist/extensions/google/oauth.flow.js +1 -1
  500. package/dist/extensions/google/oauth.js +2 -2
  501. package/dist/extensions/google/oauth.runtime.js +1 -1
  502. package/dist/extensions/google/oauth.settings.js +1 -1
  503. package/dist/extensions/google/oauth.token.js +1 -1
  504. package/dist/extensions/google/provider-models.js +1 -1
  505. package/dist/extensions/google/provider-registration.js +1 -1
  506. package/dist/extensions/google/runtime-api.js +2 -2
  507. package/dist/extensions/google/test-api.js +2 -2
  508. package/dist/extensions/google/video-generation-provider.js +1 -1
  509. package/dist/extensions/google/web-search-provider.js +1 -1
  510. package/dist/extensions/groq/index.js +1 -1
  511. package/dist/extensions/groq/media-understanding-provider.js +1 -1
  512. package/dist/extensions/groq/test-api.js +1 -1
  513. package/dist/extensions/huggingface/api.js +3 -3
  514. package/dist/extensions/huggingface/index.js +3 -3
  515. package/dist/extensions/huggingface/models.js +1 -1
  516. package/dist/extensions/huggingface/onboard.js +1 -1
  517. package/dist/extensions/huggingface/provider-catalog.js +2 -2
  518. package/dist/extensions/image-generation-core/api.js +1 -1
  519. package/dist/extensions/kilocode/api.js +2 -2
  520. package/dist/extensions/kilocode/index.js +4 -4
  521. package/dist/extensions/kilocode/onboard.js +2 -2
  522. package/dist/extensions/kilocode/provider-catalog.js +1 -1
  523. package/dist/extensions/kilocode/provider-models.js +1 -1
  524. package/dist/extensions/kilocode/shared.js +1 -1
  525. package/dist/extensions/kimi-coding/index.js +3 -3
  526. package/dist/extensions/knowledge-wiki/index.js +26 -12
  527. package/dist/extensions/knowledge-wiki/kaijibot.plugin.json +2 -1
  528. package/dist/extensions/litellm/api.js +1 -1
  529. package/dist/extensions/litellm/index.js +3 -3
  530. package/dist/extensions/litellm/onboard.js +1 -1
  531. package/dist/extensions/litellm/provider-catalog.js +1 -1
  532. package/dist/extensions/llm-task/api.js +1 -1
  533. package/dist/extensions/llm-task/index.js +2 -2
  534. package/dist/extensions/lmstudio/api.js +2 -2
  535. package/dist/extensions/lmstudio/index.js +2 -2
  536. package/dist/extensions/lmstudio/runtime-api.js +1 -1
  537. package/dist/extensions/media-understanding-core/runtime-api.js +2 -2
  538. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  539. package/dist/extensions/memory-core/index.js +13 -13
  540. package/dist/extensions/memory-core/manager-runtime.js +1 -1
  541. package/dist/extensions/memory-core/runtime-api.js +4 -4
  542. package/dist/extensions/memory-lancedb/api.js +1 -1
  543. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  544. package/dist/extensions/memory-lancedb/config.js +1 -1
  545. package/dist/extensions/memory-lancedb/index.js +4 -4
  546. package/dist/extensions/memory-lancedb/lancedb-runtime.js +1 -1
  547. package/dist/extensions/microsoft/index.js +1 -1
  548. package/dist/extensions/microsoft/speech-provider.js +1 -1
  549. package/dist/extensions/microsoft/test-api.js +1 -1
  550. package/dist/extensions/microsoft/tts.js +1 -1
  551. package/dist/extensions/microsoft-foundry/auth.js +1 -1
  552. package/dist/extensions/microsoft-foundry/cli.js +1 -1
  553. package/dist/extensions/microsoft-foundry/index.js +1 -1
  554. package/dist/extensions/microsoft-foundry/onboard.js +2 -2
  555. package/dist/extensions/microsoft-foundry/provider.js +1 -1
  556. package/dist/extensions/microsoft-foundry/runtime.js +1 -1
  557. package/dist/extensions/microsoft-foundry/shared-runtime.js +2 -2
  558. package/dist/extensions/microsoft-foundry/shared.js +1 -1
  559. package/dist/extensions/minimax/api.js +5 -5
  560. package/dist/extensions/minimax/image-generation-provider.js +1 -1
  561. package/dist/extensions/minimax/index.js +7 -7
  562. package/dist/extensions/minimax/media-understanding-provider.js +1 -1
  563. package/dist/extensions/minimax/model-definitions.js +1 -1
  564. package/dist/extensions/minimax/music-generation-provider.js +1 -1
  565. package/dist/extensions/minimax/oauth.js +1 -1
  566. package/dist/extensions/minimax/oauth.runtime.js +1 -1
  567. package/dist/extensions/minimax/onboard.js +1 -1
  568. package/dist/extensions/minimax/provider-catalog.js +1 -1
  569. package/dist/extensions/minimax/provider-http.test-helpers.js +1 -1
  570. package/dist/extensions/minimax/provider-models.js +1 -1
  571. package/dist/extensions/minimax/provider-registration.js +1 -1
  572. package/dist/extensions/minimax/speech-provider.js +1 -1
  573. package/dist/extensions/minimax/test-api.js +2 -2
  574. package/dist/extensions/minimax/tts.js +1 -1
  575. package/dist/extensions/minimax/video-generation-provider.js +1 -1
  576. package/dist/extensions/minimax/web-search-provider.js +1 -1
  577. package/dist/extensions/mistral/api.js +4 -4
  578. package/dist/extensions/mistral/embedding-provider.js +1 -1
  579. package/dist/extensions/mistral/index.js +6 -6
  580. package/dist/extensions/mistral/media-understanding-provider.js +1 -1
  581. package/dist/extensions/mistral/memory-embedding-adapter.js +1 -1
  582. package/dist/extensions/mistral/model-definitions.js +1 -1
  583. package/dist/extensions/mistral/onboard.js +1 -1
  584. package/dist/extensions/mistral/provider-catalog.js +1 -1
  585. package/dist/extensions/mistral/provider-compat.js +1 -1
  586. package/dist/extensions/mistral/realtime-transcription-provider.js +1 -1
  587. package/dist/extensions/mistral/test-api.js +2 -2
  588. package/dist/extensions/moonshot/api.js +3 -3
  589. package/dist/extensions/moonshot/index.js +6 -6
  590. package/dist/extensions/moonshot/media-understanding-provider.js +1 -1
  591. package/dist/extensions/moonshot/onboard.js +1 -1
  592. package/dist/extensions/moonshot/provider-catalog.js +1 -1
  593. package/dist/extensions/moonshot/test-api.js +2 -2
  594. package/dist/extensions/moonshot/web-search-provider.js +1 -1
  595. package/dist/extensions/nvidia/api.js +1 -1
  596. package/dist/extensions/nvidia/index.js +2 -2
  597. package/dist/extensions/nvidia/provider-catalog.js +1 -1
  598. package/dist/extensions/ollama/api.js +4 -4
  599. package/dist/extensions/ollama/index.js +7 -7
  600. package/dist/extensions/ollama/provider-discovery.js +1 -1
  601. package/dist/extensions/ollama/runtime-api.js +2 -2
  602. package/dist/extensions/ollama/web-search-provider.js +1 -1
  603. package/dist/extensions/open-prose/runtime-api.js +1 -1
  604. package/dist/extensions/openai/api.js +5 -5
  605. package/dist/extensions/openai/cli-backend.js +1 -1
  606. package/dist/extensions/openai/default-models.js +1 -1
  607. package/dist/extensions/openai/image-generation-provider.js +1 -1
  608. package/dist/extensions/openai/index.js +10 -10
  609. package/dist/extensions/openai/media-understanding-provider.js +1 -1
  610. package/dist/extensions/openai/openai-codex-auth-identity.js +1 -1
  611. package/dist/extensions/openai/openai-codex-catalog.js +1 -1
  612. package/dist/extensions/openai/openai-codex-cli-auth.js +1 -1
  613. package/dist/extensions/openai/openai-codex-provider.js +1 -1
  614. package/dist/extensions/openai/openai-codex-shared.js +1 -1
  615. package/dist/extensions/openai/openai-provider.js +1 -1
  616. package/dist/extensions/openai/prompt-overlay.js +1 -1
  617. package/dist/extensions/openai/realtime-provider-shared.js +1 -1
  618. package/dist/extensions/openai/realtime-transcription-provider.js +1 -1
  619. package/dist/extensions/openai/realtime-voice-provider.js +1 -1
  620. package/dist/extensions/openai/register.runtime.js +9 -9
  621. package/dist/extensions/openai/replay-policy.js +1 -1
  622. package/dist/extensions/openai/setup-api.js +1 -1
  623. package/dist/extensions/openai/shared.js +1 -1
  624. package/dist/extensions/openai/speech-provider.js +1 -1
  625. package/dist/extensions/openai/test-api.js +6 -6
  626. package/dist/extensions/openai/transport-policy.js +1 -1
  627. package/dist/extensions/openai/tts.js +1 -1
  628. package/dist/extensions/openai/video-generation-provider.js +1 -1
  629. package/dist/extensions/opencode/api.js +2 -2
  630. package/dist/extensions/opencode/index.js +4 -4
  631. package/dist/extensions/opencode/onboard.js +1 -1
  632. package/dist/extensions/opencode-go/api.js +2 -2
  633. package/dist/extensions/opencode-go/index.js +3 -3
  634. package/dist/extensions/opencode-go/onboard.js +1 -1
  635. package/dist/extensions/openrouter/api.js +5 -5
  636. package/dist/extensions/openrouter/image-generation-provider.js +1 -1
  637. package/dist/extensions/openrouter/index.js +8 -8
  638. package/dist/extensions/openrouter/media-understanding-provider.js +1 -1
  639. package/dist/extensions/openrouter/models.js +1 -1
  640. package/dist/extensions/openrouter/music-generation-provider.js +1 -1
  641. package/dist/extensions/openrouter/onboard.js +1 -1
  642. package/dist/extensions/openrouter/provider-catalog.js +1 -1
  643. package/dist/extensions/openrouter/provider-policy-api.js +1 -1
  644. package/dist/extensions/openrouter/speech-provider.js +1 -1
  645. package/dist/extensions/openrouter/stream.js +1 -1
  646. package/dist/extensions/openrouter/test-api.js +4 -4
  647. package/dist/extensions/openrouter/thinking-policy.js +1 -1
  648. package/dist/extensions/openrouter/video-generation-provider.js +4 -4
  649. package/dist/extensions/openrouter/video-http.js +1 -1
  650. package/dist/extensions/openrouter/video-model-catalog.js +1 -1
  651. package/dist/extensions/openshell/index.js +4 -4
  652. package/dist/extensions/perplexity/index.js +1 -1
  653. package/dist/extensions/perplexity/test-api.js +1 -1
  654. package/dist/extensions/perplexity/web-search-contract-api.js +1 -1
  655. package/dist/extensions/perplexity/web-search-provider.js +1 -1
  656. package/dist/extensions/qianfan/api.js +2 -2
  657. package/dist/extensions/qianfan/index.js +3 -3
  658. package/dist/extensions/qianfan/onboard.js +1 -1
  659. package/dist/extensions/qianfan/provider-catalog.js +1 -1
  660. package/dist/extensions/qwen/api.js +4 -4
  661. package/dist/extensions/qwen/index.js +8 -8
  662. package/dist/extensions/qwen/media-understanding-provider.js +1 -1
  663. package/dist/extensions/qwen/model-definitions.js +1 -1
  664. package/dist/extensions/qwen/models.js +1 -1
  665. package/dist/extensions/qwen/onboard.js +1 -1
  666. package/dist/extensions/qwen/provider-catalog.js +1 -1
  667. package/dist/extensions/qwen/stream.js +1 -1
  668. package/dist/extensions/qwen/test-api.js +2 -2
  669. package/dist/extensions/qwen/video-generation-provider.js +1 -1
  670. package/dist/extensions/runway/index.js +1 -1
  671. package/dist/extensions/runway/video-generation-provider.js +1 -1
  672. package/dist/extensions/sglang/api.js +3 -3
  673. package/dist/extensions/sglang/defaults.js +1 -1
  674. package/dist/extensions/sglang/index.js +3 -3
  675. package/dist/extensions/sglang/models.js +1 -1
  676. package/dist/extensions/speech-core/api.js +1 -1
  677. package/dist/extensions/speech-core/runtime-api.js +3 -3
  678. package/dist/extensions/stepfun/index.js +4 -4
  679. package/dist/extensions/stepfun/onboard.js +1 -1
  680. package/dist/extensions/stepfun/provider-catalog.js +1 -1
  681. package/dist/extensions/talk-voice/api.js +1 -1
  682. package/dist/extensions/talk-voice/index.js +2 -2
  683. package/dist/extensions/tavily/index.js +1 -1
  684. package/dist/extensions/together/api.js +3 -3
  685. package/dist/extensions/together/index.js +3 -3
  686. package/dist/extensions/together/models.js +1 -1
  687. package/dist/extensions/together/onboard.js +1 -1
  688. package/dist/extensions/together/provider-catalog.js +1 -1
  689. package/dist/extensions/together/video-generation-provider.js +2 -2
  690. package/dist/extensions/venice/api.js +3 -3
  691. package/dist/extensions/venice/index.js +5 -5
  692. package/dist/extensions/venice/models.js +1 -1
  693. package/dist/extensions/venice/onboard.js +2 -2
  694. package/dist/extensions/venice/provider-catalog.js +1 -1
  695. package/dist/extensions/vercel-ai-gateway/api.js +3 -3
  696. package/dist/extensions/vercel-ai-gateway/index.js +3 -3
  697. package/dist/extensions/vercel-ai-gateway/models.js +1 -1
  698. package/dist/extensions/vercel-ai-gateway/onboard.js +1 -1
  699. package/dist/extensions/vercel-ai-gateway/provider-catalog.js +1 -1
  700. package/dist/extensions/vllm/api.js +3 -3
  701. package/dist/extensions/vllm/defaults.js +1 -1
  702. package/dist/extensions/vllm/index.js +3 -3
  703. package/dist/extensions/vllm/models.js +1 -1
  704. package/dist/extensions/vllm/register.runtime.js +3 -3
  705. package/dist/extensions/volcengine/api.js +2 -2
  706. package/dist/extensions/volcengine/index.js +4 -4
  707. package/dist/extensions/volcengine/models.js +1 -1
  708. package/dist/extensions/volcengine/provider-catalog.js +1 -1
  709. package/dist/extensions/vydra/image-generation-provider.js +1 -1
  710. package/dist/extensions/vydra/index.js +6 -6
  711. package/dist/extensions/vydra/onboard.js +1 -1
  712. package/dist/extensions/vydra/shared.js +1 -1
  713. package/dist/extensions/vydra/speech-provider.js +1 -1
  714. package/dist/extensions/vydra/video-generation-provider.js +1 -1
  715. package/dist/extensions/webhooks/.kaijibot-runtime-deps-stamp.json +1 -1
  716. package/dist/extensions/webhooks/api.js +1 -1
  717. package/dist/extensions/webhooks/index.js +3 -3
  718. package/dist/extensions/webhooks/runtime-api.js +1 -1
  719. package/dist/extensions/xai/api.js +5 -5
  720. package/dist/extensions/xai/code-execution.js +4 -4
  721. package/dist/extensions/xai/index.js +11 -11
  722. package/dist/extensions/xai/model-definitions.js +1 -1
  723. package/dist/extensions/xai/model-id.js +1 -1
  724. package/dist/extensions/xai/onboard.js +1 -1
  725. package/dist/extensions/xai/provider-catalog.js +1 -1
  726. package/dist/extensions/xai/provider-models.js +1 -1
  727. package/dist/extensions/xai/setup-api.js +1 -1
  728. package/dist/extensions/xai/stream.js +1 -1
  729. package/dist/extensions/xai/video-generation-provider.js +1 -1
  730. package/dist/extensions/xai/web-search.js +1 -1
  731. package/dist/extensions/xai/x-search-tool-shared.js +1 -1
  732. package/dist/extensions/xai/x-search.js +4 -4
  733. package/dist/extensions/xiaomi/api.js +2 -2
  734. package/dist/extensions/xiaomi/index.js +3 -3
  735. package/dist/extensions/xiaomi/onboard.js +1 -1
  736. package/dist/extensions/xiaomi/provider-catalog.js +1 -1
  737. package/dist/extensions/zai/api.js +3 -3
  738. package/dist/extensions/zai/detect.js +1 -1
  739. package/dist/extensions/zai/index.js +6 -6
  740. package/dist/extensions/zai/media-understanding-provider.js +1 -1
  741. package/dist/extensions/zai/model-definitions.js +1 -1
  742. package/dist/extensions/zai/onboard.js +1 -1
  743. package/dist/extensions/zai/runtime-api.js +1 -1
  744. package/dist/extensions/zai/test-api.js +1 -1
  745. package/dist/fragment-collector-MPWszaY5.js +189 -0
  746. package/dist/fragment-store-SR8Bo1em.js +218 -0
  747. package/dist/fragment-store-TRt-PDu_.js +2 -0
  748. package/dist/gateway-cli-Lc4_vwt0.js +1518 -0
  749. package/dist/gateway-discovery-targets-_JD1loMg.js +431 -0
  750. package/dist/gateway-install-token-DuMEOLtu.js +284 -0
  751. package/dist/gateway-rpc-JpewBoh5.js +14 -0
  752. package/dist/gateway-rpc.runtime.js +1 -1
  753. package/dist/gateway-secret-options-DIWh0avy.js +38 -0
  754. package/dist/gemini-cli-provider-DJmyF3F1.js +106 -0
  755. package/dist/gemini-web-search-provider-cXSR-qZm.js +167 -0
  756. package/dist/get-reply-from-config.runtime-dgpM1fFS.js +2 -0
  757. package/dist/get-reply-from-config.runtime.js +1 -1
  758. package/dist/git-commit-D50Y5N45.js +2 -0
  759. package/dist/groups.runtime.js +1 -1
  760. package/dist/hard-trigger-DRIZJ_PJ.js +98 -0
  761. package/dist/health-BF4wCwJ7.js +2 -0
  762. package/dist/health-DuV85G9Q.js +579 -0
  763. package/dist/heartbeat-runner-CIQHWCd1.js +1209 -0
  764. package/dist/heartbeat-runner-DMXeqQSX.js +4 -0
  765. package/dist/heartbeat-runner.runtime-DSMkYfFM.js +2 -0
  766. package/dist/heartbeat-runner.runtime.js +1 -1
  767. package/dist/help-Byb6TFWt.js +81 -0
  768. package/dist/hooks-cli-DnhC5miz.js +354 -0
  769. package/dist/hooks-status-7gNHQOXj.js +86 -0
  770. package/dist/image-generation-core-DgBQ7yxF.js +17 -0
  771. package/dist/image-generation-core.auth.runtime.js +1 -1
  772. package/dist/image-generation-provider-BKlDd4sX.js +130 -0
  773. package/dist/image-generation-provider-BVJFZnGv.js +136 -0
  774. package/dist/image-generation-provider-C4zaGMAe.js +279 -0
  775. package/dist/image-generation-provider-CYdLui77.js +94 -0
  776. package/dist/image-generation-provider-vw6Mifhx.js +163 -0
  777. package/dist/image-runtime-B76ETuEi.js +7 -0
  778. package/dist/inbound-reply-dispatch-DcaeKmuz.js +73 -0
  779. package/dist/inbound.runtime-DzuOEHYA.js +4 -0
  780. package/dist/inbound.runtime-ImqdTVOI.js +3 -0
  781. package/dist/inbound.runtime.js +1 -1
  782. package/dist/index.js +2 -2
  783. package/dist/ingest-BNyXzldJ.js +842 -0
  784. package/dist/ingest-C35XEC_T.js +2 -0
  785. package/dist/install-BdauYB9u.js +662 -0
  786. package/dist/install-security-scan-ZoCtjNeN.js +22 -0
  787. package/dist/install-security-scan.runtime-B1sRhkiV.js +299 -0
  788. package/dist/install-security-scan.runtime.js +1 -1
  789. package/dist/install-skills-CQnadGky.js +70 -0
  790. package/dist/install.runtime-QcrQsqdQ.js +12 -0
  791. package/dist/install.runtime-zgelN4-_.js +27 -0
  792. package/dist/install.runtime.js +1 -1
  793. package/dist/kaijibot-tools-Dl2qUSAS.js +9233 -0
  794. package/dist/kaijibot-tools.runtime-BuTXGJaj.js +2 -0
  795. package/dist/kaijibot-tools.runtime.js +1 -1
  796. package/dist/kimi-web-search-provider-OUDV-0Ow.js +308 -0
  797. package/dist/lancedb-runtime-DyHQv3-S.js +201 -0
  798. package/dist/library-Dhl58R3p.js +45 -0
  799. package/dist/list.runtime-CeH-Xrnd.js +9 -0
  800. package/dist/list.runtime-FnCw60Xk.js +12 -0
  801. package/dist/list.runtime.js +1 -1
  802. package/dist/llm-draft-generator-Be49MQGG.js +567 -0
  803. package/dist/llm-draft-generator-DEhC2yYf.js +2 -0
  804. package/dist/llm-engine-BFepNvS0.js +2 -0
  805. package/dist/llm-engine-BNOxcQrz.js +1829 -0
  806. package/dist/llm-slug-generator.js +2 -2
  807. package/dist/login-DAPUtXft.js +108 -0
  808. package/dist/logs-cli-Dee6SLM_.js +264 -0
  809. package/dist/logs-cli.runtime.js +1 -1
  810. package/dist/manager-ZJ_EZtK4.js +2048 -0
  811. package/dist/manager-czo1q1sv.js +3301 -0
  812. package/dist/mcp-cli-BjG2nOiR.js +723 -0
  813. package/dist/media-runtime-CGXSFOdW.js +312 -0
  814. package/dist/media-understanding-CEFjui05.js +83 -0
  815. package/dist/media-understanding-provider-2LeNsCXQ.js +13 -0
  816. package/dist/media-understanding-provider-AxZChB3Q.js +14 -0
  817. package/dist/media-understanding-provider-B8KTGMNt.js +67 -0
  818. package/dist/media-understanding-provider-BhfBs6XJ.js +37 -0
  819. package/dist/media-understanding-provider-By7-KDWp.js +112 -0
  820. package/dist/media-understanding-provider-CJvPSRD_.js +18 -0
  821. package/dist/media-understanding-provider-CeDiKBMV.js +21 -0
  822. package/dist/media-understanding-provider-Cflmzkbe.js +18 -0
  823. package/dist/media-understanding-provider-D0G4SyRE.js +69 -0
  824. package/dist/media-understanding-provider-D5w0Ycf_.js +30 -0
  825. package/dist/media-understanding-provider-RWVVnBkv.js +123 -0
  826. package/dist/media-understanding-runtime-DrGfjXfY.js +2 -0
  827. package/dist/memory-C89wZkq_.js +3 -0
  828. package/dist/memory-core-host-runtime-cli-D5QiXWY7.js +9 -0
  829. package/dist/memory-host-search.runtime.js +1 -1
  830. package/dist/memory-index-B4acWB-F.js +514 -0
  831. package/dist/memory-index-Ci_IEkkP.js +2 -0
  832. package/dist/memory-kGhz1aad.js +242 -0
  833. package/dist/memory-repair-CXOPaLj_.js +2 -0
  834. package/dist/message-VnqF7FPQ.js +223 -0
  835. package/dist/message-action-runner-D1JKJNCt.js +1628 -0
  836. package/dist/message-action-runner-sNr7cRbq.js +2 -0
  837. package/dist/message.config.runtime.js +1 -1
  838. package/dist/message.gateway.runtime.js +1 -1
  839. package/dist/metadata-registry-loader-FpYi7huO.js +2 -0
  840. package/dist/minimax-web-search-provider-B80wlL3J.js +165 -0
  841. package/dist/mmr-BUVQm7ma.js +146 -0
  842. package/dist/model-catalog-BGubK2PO.js +157 -0
  843. package/dist/model-definitions-6-ZRKXxZ.js +74 -0
  844. package/dist/model-definitions-BGyaoan5.js +258 -0
  845. package/dist/model-definitions-CcSMc0tQ.js +28 -0
  846. package/dist/model-picker-BFYJZOu-.js +490 -0
  847. package/dist/model-picker-DU3_Nbi5.js +3 -0
  848. package/dist/model-picker.runtime-CMM8ER27.js +15 -0
  849. package/dist/model-picker.runtime.js +1 -1
  850. package/dist/model-selection-Beb96cml.js +381 -0
  851. package/dist/model-suppression.runtime.js +1 -1
  852. package/dist/models-B86OciCd.js +47 -0
  853. package/dist/models-BNG4ZStW.js +18 -0
  854. package/dist/models-Bw6Q27IA.js +555 -0
  855. package/dist/models-CUBw1avj.js +18 -0
  856. package/dist/models-CwtKbjMZ.js +157 -0
  857. package/dist/models-DUOR6dY_.js +760 -0
  858. package/dist/models-DltDSCEF.js +19 -0
  859. package/dist/models-EzdNn5lr.js +2 -0
  860. package/dist/models-cWV4E77X.js +2584 -0
  861. package/dist/models-cli-CSnvqJzN.js +197 -0
  862. package/dist/models.fetch-CmkgmRli.js +518 -0
  863. package/dist/monitor-Cy4MsZcL.js +4435 -0
  864. package/dist/music-generation-provider-IKtFX3pf.js +169 -0
  865. package/dist/music-generation-provider-qXzAqm-8.js +238 -0
  866. package/dist/music-generation-provider-x1vHpdDc.js +142 -0
  867. package/dist/node-cli-U7yaSPh3.js +2362 -0
  868. package/dist/nodes-cli-CsrUwJmw.js +1046 -0
  869. package/dist/notify-DnKv7zGy.js +305 -0
  870. package/dist/oauth-BU9Kg4J4.js +57 -0
  871. package/dist/oauth-D9z3vVZZ.js +152 -0
  872. package/dist/oauth-token-shared-C2vJuJJA.js +28 -0
  873. package/dist/oauth.credentials-BDOOigYJ.js +165 -0
  874. package/dist/oauth.flow-Bi3XRwXD.js +122 -0
  875. package/dist/oauth.settings-BRN2Sz6R.js +44 -0
  876. package/dist/oauth.token-CASx9EQP.js +43 -0
  877. package/dist/onboard-4eXQ1KyP.js +29 -0
  878. package/dist/onboard-8UfovJuH.js +48 -0
  879. package/dist/onboard-BEkTYzmT.js +25 -0
  880. package/dist/onboard-BFu8lV32.js +312 -0
  881. package/dist/onboard-BICzWILe.js +36 -0
  882. package/dist/onboard-BOUcR8be.js +621 -0
  883. package/dist/onboard-BcoQSNQW.js +25 -0
  884. package/dist/onboard-BuBPPxds.js +26 -0
  885. package/dist/onboard-CX7hnr8D.js +39 -0
  886. package/dist/onboard-CXfC1yg8.js +67 -0
  887. package/dist/onboard-CbymSfBU.js +58 -0
  888. package/dist/onboard-DGyDRLc3.js +29 -0
  889. package/dist/onboard-DK-jzfWx.js +22 -0
  890. package/dist/onboard-DVWKadpJ.js +34 -0
  891. package/dist/onboard-DoIWd2We.js +25 -0
  892. package/dist/onboard-Ez4QGniV2.js +54 -0
  893. package/dist/onboard-channels-BILGE-i9.js +2 -0
  894. package/dist/onboard-channels-MuLliRf5.js +1260 -0
  895. package/dist/onboard-config-Byvc0oUh.js +2 -0
  896. package/dist/onboard-custom-CLaOD_BI.js +2 -0
  897. package/dist/onboard-custom-CbRHjDNL.js +647 -0
  898. package/dist/onboard-helpers-BJhCcI9U.js +223 -0
  899. package/dist/onboard-helpers-CMvJfZTX.js +5 -0
  900. package/dist/onboard-hooks-BfXdgHQj.js +35 -0
  901. package/dist/onboard-remote-B0KquzSo.js +193 -0
  902. package/dist/onboard-remote-B7vnhLj3.js +2 -0
  903. package/dist/onboard-search-BLjfhCPG.js +324 -0
  904. package/dist/onboard-skills-CkO8UvfF.js +134 -0
  905. package/dist/onboard-skills-D9ML0g4M.js +2 -0
  906. package/dist/openai-codex-auth-identity-DSKWx0wS.js +45 -0
  907. package/dist/openai-codex-cli-auth-DzOuQekO.js +57 -0
  908. package/dist/openai-codex-provider-DmVwiyKq.js +299 -0
  909. package/dist/openai-codex-shared-DGT1w6Uz.js +6 -0
  910. package/dist/openai-provider-SnRU2x3L.js +283 -0
  911. package/dist/openclaw-migrator-BQWk325M.js +2 -0
  912. package/dist/pair-command-approve-DdHdrhCK.js +34 -0
  913. package/dist/pairing-cli-B57ZjuC5.js +117 -0
  914. package/dist/perplexity-web-search-provider-BbeQ3_8w.js +92 -0
  915. package/dist/perplexity-web-search-provider.runtime-BtpRxkdq.js +332 -0
  916. package/dist/perplexity-web-search-provider.runtime-Dt4WauP_.js +2 -0
  917. package/dist/perplexity-web-search-provider.runtime.js +1 -1
  918. package/dist/persistent-bindings.lifecycle-BevP5OlU.js +94 -0
  919. package/dist/pi-embedded-BbJAO5yK.js +6 -0
  920. package/dist/pi-embedded-runner-DZaBmFzW.js +8346 -0
  921. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-CfHAZp-z.js +23 -0
  922. package/dist/pi-embedded-subscribe.handlers.compaction.runtime.js +1 -1
  923. package/dist/pi-embedded-tQf0HjTv.js +2 -0
  924. package/dist/pi-embedded.runtime-B9ZAb_RR.js +5 -0
  925. package/dist/pi-embedded.runtime.js +1 -1
  926. package/dist/pi-tools.before-tool-call.runtime-BqDR-_03.js +354 -0
  927. package/dist/pi-tools.before-tool-call.runtime.js +1 -1
  928. package/dist/plugin-enabled-B2DgsAtk.js +71 -0
  929. package/dist/plugin-install-BjOxLVHm.js +227 -0
  930. package/dist/plugin-install-CLGT8Lak.js +2 -0
  931. package/dist/plugin-install-config-policy-CZTvkRR9.js +137 -0
  932. package/dist/plugin-install-plan-CySOZ7mU.js +50 -0
  933. package/dist/plugin-registration-CfKqWKnW.js +23 -0
  934. package/dist/plugin-registry-C1mIFpCz.js +2 -0
  935. package/dist/plugin-registry-igF4eBbt.js +3 -0
  936. package/dist/plugin-registry-loader-BUYJrGoS.js +22 -0
  937. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  938. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  939. package/dist/plugin-sdk/acp-runtime.js +3 -3
  940. package/dist/plugin-sdk/agent-harness-runtime.js +4 -4
  941. package/dist/plugin-sdk/agent-runtime.js +2 -2
  942. package/dist/plugin-sdk/browser-node-runtime.js +2 -2
  943. package/dist/plugin-sdk/browser-support.js +2 -2
  944. package/dist/plugin-sdk/channel-core.js +2 -2
  945. package/dist/plugin-sdk/channel-inbound.js +3 -3
  946. package/dist/plugin-sdk/command-auth.js +3 -3
  947. package/dist/plugin-sdk/compat.js +1 -1
  948. package/dist/plugin-sdk/config-runtime.js +3 -3
  949. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  950. package/dist/plugin-sdk/conversation-runtime.js +4 -4
  951. package/dist/plugin-sdk/core.js +3 -3
  952. package/dist/plugin-sdk/direct-dm.js +1 -1
  953. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  954. package/dist/plugin-sdk/image-generation-core.js +1 -1
  955. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  956. package/dist/plugin-sdk/index.js +1 -1
  957. package/dist/plugin-sdk/infra-runtime.js +1 -1
  958. package/dist/plugin-sdk/media-runtime.js +5 -5
  959. package/dist/plugin-sdk/media-understanding-runtime.js +2 -2
  960. package/dist/plugin-sdk/media-understanding.js +2 -2
  961. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  962. package/dist/plugin-sdk/memory-core.js +2 -2
  963. package/dist/plugin-sdk/memory-host-search.js +1 -1
  964. package/dist/plugin-sdk/models-provider-runtime.js +1 -1
  965. package/dist/plugin-sdk/plugin-test-contracts.js +1 -1
  966. package/dist/plugin-sdk/plugin-test-runtime.js +1 -1
  967. package/dist/plugin-sdk/provider-auth-api-key.js +2 -2
  968. package/dist/plugin-sdk/provider-auth-login.js +1 -1
  969. package/dist/plugin-sdk/provider-auth.js +2 -2
  970. package/dist/plugin-sdk/provider-entry.js +1 -1
  971. package/dist/plugin-sdk/provider-http-test-mocks.js +1 -1
  972. package/dist/plugin-sdk/provider-test-contracts.js +1 -1
  973. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  974. package/dist/plugin-sdk/reply-runtime.js +4 -4
  975. package/dist/plugin-sdk/runtime-doctor.js +1 -1
  976. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  977. package/dist/plugin-sdk/runtime.js +3 -3
  978. package/dist/plugin-sdk/sandbox.js +2 -2
  979. package/dist/plugin-sdk/session-store-runtime.js +2 -2
  980. package/dist/plugin-sdk/skill-commands-runtime.js +1 -1
  981. package/dist/plugin-sdk/test-env.js +1 -1
  982. package/dist/plugin-sdk/testing.js +4 -4
  983. package/dist/plugin-sdk/text-runtime.js +2 -2
  984. package/dist/plugin-service-Dozf9cCQ.js +2494 -0
  985. package/dist/plugins/runtime/index.js +1 -1
  986. package/dist/plugins-cli-DQjn2ytT.js +566 -0
  987. package/dist/plugins-command-helpers-Bq2ECLcC.js +117 -0
  988. package/dist/plugins-install-persist-chKkbZiL.js +121 -0
  989. package/dist/plugins-update-command-CmzP42fb.js +1008 -0
  990. package/dist/policy-BsszCKEI.js +172 -0
  991. package/dist/preemptive-compaction-CVDrUhXK.js +430 -0
  992. package/dist/proactive-scheduler-tMSsCjDZ.js +1311 -0
  993. package/dist/probe-Kqo7OqQF.js +426 -0
  994. package/dist/probe-auth-BJ3yckIw.js +3 -0
  995. package/dist/program-DFP-Y-n2.js +111 -0
  996. package/dist/program-context-6irSsyF2.js +2 -0
  997. package/dist/prompt-overlay-BEhj9P_7.js +72 -0
  998. package/dist/prompt-select-styled-sDck0Qqt.js +5299 -0
  999. package/dist/provider-CeNuW2fv.js +70 -0
  1000. package/dist/provider-api-key-auth-URznqBcK.js +113 -0
  1001. package/dist/provider-api-key-auth.runtime.js +1 -1
  1002. package/dist/provider-auth-6QHap3yT.js +36 -0
  1003. package/dist/provider-auth-api-key-LiKYWj18.js +5 -0
  1004. package/dist/provider-auth-choice-Dos9S6zz.js +134 -0
  1005. package/dist/provider-auth-choice-preference-CT90SYMg.js +62 -0
  1006. package/dist/provider-auth-login-CxyguwXg.js +8 -0
  1007. package/dist/provider-auth-login.runtime-CcwpVvy3.js +206 -0
  1008. package/dist/provider-auth-login.runtime.js +1 -1
  1009. package/dist/provider-catalog-5ZYAb8dU.js +11 -0
  1010. package/dist/provider-catalog-B4PQf5FY.js +12 -0
  1011. package/dist/provider-catalog-BDZO2k2i.js +18 -0
  1012. package/dist/provider-catalog-BfLspzSz.js +11 -0
  1013. package/dist/provider-catalog-CVTCMT4G.js +11 -0
  1014. package/dist/provider-catalog-CsAe-lZz.js +11 -0
  1015. package/dist/provider-catalog-DHN9L06H.js +61 -0
  1016. package/dist/provider-catalog-DIJbow9j.js +26 -0
  1017. package/dist/provider-catalog-DWOeklon.js +16 -0
  1018. package/dist/provider-catalog-FJLanWNs.js +16 -0
  1019. package/dist/provider-catalog-High_lTQ.js +13 -0
  1020. package/dist/provider-catalog-n-gU9Nae.js +56 -0
  1021. package/dist/provider-catalog-wB54CKl2.js +17 -0
  1022. package/dist/provider-compat-luZe7x7D.js +37 -0
  1023. package/dist/provider-dispatcher-BXUvUURc.js +22 -0
  1024. package/dist/provider-entry-DTu3iGNy.js +97 -0
  1025. package/dist/provider-flow-0fivwh2g.js +66 -0
  1026. package/dist/provider-models-BLjQcHNo.js +35 -0
  1027. package/dist/provider-models-CLzRFNLI.js +116 -0
  1028. package/dist/provider-models-K_luQ9zn.js +119 -0
  1029. package/dist/provider-registration-CCkbZbdG.js +238 -0
  1030. package/dist/provider-registration-COl5A7qb.js +57 -0
  1031. package/dist/push-apns-8kAU9XsA.js +1013 -0
  1032. package/dist/pw-ai-BNM0ufGa.js +2268 -0
  1033. package/dist/qmd-manager-jB94G-JS.js +1799 -0
  1034. package/dist/qr-cli-6tySRB_t.js +2 -0
  1035. package/dist/qr-cli-CIhINSCH.js +359 -0
  1036. package/dist/qr-image-D0nYZ-TN.js +2 -0
  1037. package/dist/queue-BjJj4JaJ.js +636 -0
  1038. package/dist/realtime-provider-shared-DW8GAMAi.js +21 -0
  1039. package/dist/realtime-transcription-provider-5PlTLQxo.js +180 -0
  1040. package/dist/realtime-voice-provider-Rl-_1Ycr.js +342 -0
  1041. package/dist/record-shared-7rP3Bc1p.js +10 -0
  1042. package/dist/region-BMo8YuB-.js +74 -0
  1043. package/dist/register-command-groups-BoiHpzbo.js +121 -0
  1044. package/dist/register.agent-CMlgjTUp.js +241 -0
  1045. package/dist/register.configure-D2PnybVp.js +15 -0
  1046. package/dist/register.maintenance-Cx1bo75e.js +438 -0
  1047. package/dist/register.message-CX4jxOsU.js +601 -0
  1048. package/dist/register.migrate-BSWEPPJq.js +195 -0
  1049. package/dist/register.onboard-D204MxI8.js +79 -0
  1050. package/dist/register.runtime-BHO4Mi1q.js +343 -0
  1051. package/dist/register.runtime-CVCoeVMv.js +81 -0
  1052. package/dist/register.runtime.js +1 -1
  1053. package/dist/register.setup-B4Satuvx.js +104 -0
  1054. package/dist/register.status-health-sessions-CFmAM_xF.js +1210 -0
  1055. package/dist/register.subclis-BXqnDdhF.js +237 -0
  1056. package/dist/register.subclis-BZeyeBpg.js +3 -0
  1057. package/dist/replay-policy-DDo0U5gR.js +8 -0
  1058. package/dist/reply-DOkWfPrg.js +3498 -0
  1059. package/dist/reply-payloads-dedupe.runtime.js +1 -1
  1060. package/dist/reply.runtime-7BWsyeU3.js +2 -0
  1061. package/dist/reply.runtime.js +1 -1
  1062. package/dist/resolve-BF5HlfJ2.js +280 -0
  1063. package/dist/root-help-Do6N50zy.js +44 -0
  1064. package/dist/route-reply-CxLiVUHW.js +141 -0
  1065. package/dist/route-reply.runtime-WJUFT71F.js +2 -0
  1066. package/dist/route-reply.runtime.js +1 -1
  1067. package/dist/rpc-DaMAO4N5.js +61 -0
  1068. package/dist/rpc.runtime.js +1 -1
  1069. package/dist/run-main-i1Lwkfhp.js +452 -0
  1070. package/dist/runner-BhfpNH-y.js +1497 -0
  1071. package/dist/runs-Dtgg0O85.js +495 -0
  1072. package/dist/runtime-BkiJ7uXt.js +725 -0
  1073. package/dist/runtime-DMH3YN2r.js +200 -0
  1074. package/dist/runtime-Dbujl_K6.js +72 -0
  1075. package/dist/runtime-api-CyQJnTq5.js +3 -0
  1076. package/dist/runtime-api-DTGmvXqo.js +2 -0
  1077. package/dist/runtime-api-XhgZNDDz.js +12 -0
  1078. package/dist/runtime-embedded-pi.runtime-2IY46Gqk.js +3 -0
  1079. package/dist/runtime-embedded-pi.runtime.js +1 -1
  1080. package/dist/runtime-hZStyXlw.js +9 -0
  1081. package/dist/runtime-iikVqZe4.js +107 -0
  1082. package/dist/runtime-internal-ezWrk6r4.js +2 -0
  1083. package/dist/runtime-manifest.runtime.js +1 -1
  1084. package/dist/runtime-model-auth.runtime.js +1 -1
  1085. package/dist/runtime-plugins-Db6kuYci.js +69 -0
  1086. package/dist/runtime-prepare.runtime-Cwi1gPe8.js +80 -0
  1087. package/dist/runtime-prepare.runtime.js +1 -1
  1088. package/dist/runtime-provider-FNR5p8dE.js +21 -0
  1089. package/dist/runtime-registry-loader-B2uTAkcu.js +2 -0
  1090. package/dist/runtime-registry-loader-BSSFfiA2.js +58 -0
  1091. package/dist/runtime-taskflow-BNYQSKvj.js +250 -0
  1092. package/dist/runtime-web-tools-C2G_nK0L.js +1467 -0
  1093. package/dist/runtime-web-tools-fallback.runtime.js +1 -1
  1094. package/dist/runtime-web-tools-manifest.runtime.js +1 -1
  1095. package/dist/runtime-web-tools-public-artifacts.runtime.js +1 -1
  1096. package/dist/runtime-xrE2MaAG.js +2 -0
  1097. package/dist/sandbox-BvT5A1gq.js +2586 -0
  1098. package/dist/sandbox-DcIgRqKW.js +4 -0
  1099. package/dist/sandbox-cli-6nhldN9E.js +446 -0
  1100. package/dist/secrets-cli-Cvl-P5yr.js +2099 -0
  1101. package/dist/security-audit-BeGlFXMY.js +34 -0
  1102. package/dist/security-cli-oVahjZR_.js +486 -0
  1103. package/dist/semantic-dedup-CA-I7Ukf.js +95 -0
  1104. package/dist/send-D85zCCtz.js +993 -0
  1105. package/dist/server-A5MuFop-.js +13 -0
  1106. package/dist/server-BeEiCBG9.js +77 -0
  1107. package/dist/server-context-COXRgV8p.js +4164 -0
  1108. package/dist/server-methods-CXboJZ1n.js +11666 -0
  1109. package/dist/server-middleware-4ESC7-Sf.js +110 -0
  1110. package/dist/server-node-events-CBlxJH3f.js +451 -0
  1111. package/dist/server.impl-DZDIujUx.js +19517 -0
  1112. package/dist/session-CA0A9yxZ.js +48 -0
  1113. package/dist/session-archive.runtime.js +1 -1
  1114. package/dist/session-conversation-BECTi25r.js +27 -0
  1115. package/dist/session-file-B8YnZYnE.js +44 -0
  1116. package/dist/session-fork.runtime.js +1 -1
  1117. package/dist/session-key-DlOZb3y8.js +65 -0
  1118. package/dist/session-meta-Mc12pE_f.js +109 -0
  1119. package/dist/session-override-BOCk8YTE.js +103 -0
  1120. package/dist/session-reset-model.runtime-Dd8V_Qvt.js +120 -0
  1121. package/dist/session-reset-model.runtime.js +1 -1
  1122. package/dist/session-reset-service-Di0Ge9fM.js +473 -0
  1123. package/dist/session-subagent-reactivation.runtime-Cj6XCKz6.js +2 -0
  1124. package/dist/session-subagent-reactivation.runtime.js +1 -1
  1125. package/dist/session-tab-registry-DGfXa1gc.js +553 -0
  1126. package/dist/session-updates-D3PEvDgu.js +234 -0
  1127. package/dist/session-updates.runtime-CkHjMzfc.js +2 -0
  1128. package/dist/session-updates.runtime.js +1 -1
  1129. package/dist/session-utils-D1IfM96V.js +915 -0
  1130. package/dist/sessions-CEUVpAYU.js +2 -0
  1131. package/dist/sessions-CoYhbu6F.js +45 -0
  1132. package/dist/sessions-Dr45TPx1.js +226 -0
  1133. package/dist/sessions.runtime-3gC3AX8f.js +2 -0
  1134. package/dist/sessions.runtime.js +1 -1
  1135. package/dist/setup-CuKFik4t.js +496 -0
  1136. package/dist/setup-DAJzkyY_.js +329 -0
  1137. package/dist/setup-surface-Df7BhHSW.js +586 -0
  1138. package/dist/setup.finalize-DhoSjlM4.js +432 -0
  1139. package/dist/setup.gateway-config-B52nJix9.js +246 -0
  1140. package/dist/shared-BYZv0yT8.js +218 -0
  1141. package/dist/shared-D0v2yZO3.js +224 -0
  1142. package/dist/shared-DNpedGYM.js +175 -0
  1143. package/dist/shared-rD1K1AE-.js +36 -0
  1144. package/dist/shared-runtime-C_5NHgLY.js +7 -0
  1145. package/dist/short-term-promotion-BVTlPjVr.js +1631 -0
  1146. package/dist/skill-commands-DRwVp1wc.js +82 -0
  1147. package/dist/skill-commands.runtime-BKbablWg.js +2 -0
  1148. package/dist/skill-commands.runtime.js +1 -1
  1149. package/dist/skill-lifecycle-rVTllkZP.js +105 -0
  1150. package/dist/skill-quality-gate-DHgd48qD.js +127 -0
  1151. package/dist/skill-usage-tracker-B7aHh_Ob.js +31 -0
  1152. package/dist/skills-cli-KHLSIaYT.js +370 -0
  1153. package/dist/skills-install-Bi0q12q3.js +822 -0
  1154. package/dist/speech-provider-BKPgfWII.js +103 -0
  1155. package/dist/speech-provider-CqKVL2PU.js +184 -0
  1156. package/dist/speech-provider-DaDkiNqQ.js +182 -0
  1157. package/dist/speech-provider-DzPBhJrM.js +43 -0
  1158. package/dist/speech-provider-vPL2J1om.js +167 -0
  1159. package/dist/stage-sandbox-media.runtime-BKwxztks.js +230 -0
  1160. package/dist/stage-sandbox-media.runtime.js +1 -1
  1161. package/dist/state-dir-env-BwtlM2-b.js +156 -0
  1162. package/dist/state-migrations-yqQW8QaA.js +822 -0
  1163. package/dist/status-B1w-wvI5.js +278 -0
  1164. package/dist/status-BhC5yy0h.js +479 -0
  1165. package/dist/status-BnKPMpvt.js +473 -0
  1166. package/dist/status-CRKDtvgH.js +391 -0
  1167. package/dist/status-D9-BPbMq.js +3 -0
  1168. package/dist/status-DuipKIlm.js +2 -0
  1169. package/dist/status-I6cSEcXL.js +2 -0
  1170. package/dist/status-all-dJ4Cgy30.js +487 -0
  1171. package/dist/status-json-7SU-gA25.js +14 -0
  1172. package/dist/status-json-command-SjLpkj4G.js +84 -0
  1173. package/dist/status-runtime-shared-DAXwrfRv.js +254 -0
  1174. package/dist/status.command.text-runtime-DBq5ztDE.js +15 -0
  1175. package/dist/status.gateway-connection.runtime.js +1 -1
  1176. package/dist/status.gateway-probe-BMXgnQZz.js +16 -0
  1177. package/dist/status.link-channel-Co7PKXYC.js +35 -0
  1178. package/dist/status.node-mode-BskByQcM.js +2 -0
  1179. package/dist/status.node-mode-MNP21t-j.js +32 -0
  1180. package/dist/status.scan-86I4Stxm.js +62 -0
  1181. package/dist/status.scan-overview-CL7c8JQD.js +395 -0
  1182. package/dist/status.scan.deps.runtime.js +1 -1
  1183. package/dist/status.scan.fast-json-C3Kd8f32.js +128 -0
  1184. package/dist/status.scan.fast-json-DLYIlSmm.js +2 -0
  1185. package/dist/status.scan.runtime-D7E5Jl1o.js +417 -0
  1186. package/dist/status.scan.runtime.js +1 -1
  1187. package/dist/status.summary-0CUmMOwK.js +209 -0
  1188. package/dist/status.summary-Bc7FVtbT.js +2 -0
  1189. package/dist/store-DEIAq0ow.js +190 -0
  1190. package/dist/store-Dv1w50zD.js +1112 -0
  1191. package/dist/store.runtime-CMb32WnT.js +2 -0
  1192. package/dist/store.runtime.js +1 -1
  1193. package/dist/stream-CV2RD2-m.js +153 -0
  1194. package/dist/stream-DcD1NqBt.js +649 -0
  1195. package/dist/stream-wrappers-C7tDdQmU.js +144 -0
  1196. package/dist/subagent-announce.registry.runtime-BN09hP9S.js +3 -0
  1197. package/dist/subagent-announce.registry.runtime.js +1 -1
  1198. package/dist/subagent-control-g8gumjoW.js +485 -0
  1199. package/dist/subagent-followup.runtime-D8_8y-bE.js +68 -0
  1200. package/dist/subagent-followup.runtime.js +1 -1
  1201. package/dist/subagent-list-BQadcXKp.js +168 -0
  1202. package/dist/subagent-orphan-recovery-DKtl7-gN.js +214 -0
  1203. package/dist/subagent-registry-CgA-7Sw0.js +2888 -0
  1204. package/dist/subagent-registry-runtime-U36TYYp-.js +2 -0
  1205. package/dist/subagent-registry.runtime-BG_04MZ8.js +3 -0
  1206. package/dist/subagent-registry.runtime.js +1 -1
  1207. package/dist/subagent-spawn-C-lFCaZU.js +781 -0
  1208. package/dist/subagents-format-L-LSiKRw.js +628 -0
  1209. package/dist/subcli-descriptors-BhcmMAKP.js +173 -0
  1210. package/dist/supervisor-D0ax5pz4.js +737 -0
  1211. package/dist/supervisor-log.runtime.js +1 -1
  1212. package/dist/system-cli-R67ndVvg.js +59 -0
  1213. package/dist/systemd-linger-BGik3fP6.js +2 -0
  1214. package/dist/targets-fPlUpwy5.js +594 -0
  1215. package/dist/targets.runtime.js +1 -1
  1216. package/dist/task-executor-C5OqCdJT.js +350 -0
  1217. package/dist/task-owner-access-DUUqFfrD.js +48 -0
  1218. package/dist/task-registry-BLiMD4oJ.js +2346 -0
  1219. package/dist/task-registry-control.runtime-r5niRcNj.js +3 -0
  1220. package/dist/task-registry-control.runtime.js +1 -1
  1221. package/dist/task-registry-delivery-runtime-IKmxWzoW.js +3 -0
  1222. package/dist/task-registry-delivery-runtime-OKU7m4ZJ.js +2 -0
  1223. package/dist/task-registry.maintenance-BD6d9fLw.js +425 -0
  1224. package/dist/task-registry.maintenance-BWULaP2e.js +2 -0
  1225. package/dist/test.DNmyFkvJ-NRc14Xgm.js +13549 -0
  1226. package/dist/testing-CaQDWPX6.js +441 -0
  1227. package/dist/text-report-B1SlZa6w.js +587 -0
  1228. package/dist/text-runtime-CNganbWZ.js +313 -0
  1229. package/dist/thinking-policy-Cvv8S99b.js +25 -0
  1230. package/dist/thread-bindings-1wsoDY-O.js +223 -0
  1231. package/dist/tool-auth-shared-C6gQslQe.js +53 -0
  1232. package/dist/tool-config-shared-RmlkWteZ.js +19 -0
  1233. package/dist/tool-schema-runtime-CNP7lov-.js +1892 -0
  1234. package/dist/tools-effective-inventory-D2LiEd3k.js +152 -0
  1235. package/dist/tools.runtime-dLGMSI3J.js +4 -0
  1236. package/dist/tools.runtime.js +1 -1
  1237. package/dist/topic-types-DbuGFU7y.js +176 -0
  1238. package/dist/topic-types-zRlULO3k.js +2 -0
  1239. package/dist/transcript-DYzzYksv.js +191 -0
  1240. package/dist/transcript.runtime-ChFgiLq_.js +2 -0
  1241. package/dist/transcript.runtime.js +1 -1
  1242. package/dist/transport-policy-BHGu-DSE.js +75 -0
  1243. package/dist/tts-lKPaxyDc.js +31 -0
  1244. package/dist/tts.runtime-DLCeTRap.js +3 -0
  1245. package/dist/tts.runtime.js +1 -1
  1246. package/dist/tui-1ksaisKX.js +4017 -0
  1247. package/dist/tui-cli-B809Ui8G.js +31 -0
  1248. package/dist/uninstall-CG2Twdr_.js +172 -0
  1249. package/dist/update-3rFnCBJG.js +1253 -0
  1250. package/dist/update-cli-S6D0vMUi.js +1763 -0
  1251. package/dist/update-runner-Cp7B-UEq.js +1490 -0
  1252. package/dist/video-generation-provider-4GrzW0iH.js +240 -0
  1253. package/dist/video-generation-provider-BFzOwA12.js +77 -0
  1254. package/dist/video-generation-provider-BIqj5J7G.js +227 -0
  1255. package/dist/video-generation-provider-BrpGBUIA.js +64 -0
  1256. package/dist/video-generation-provider-Bww0w9Vg.js +263 -0
  1257. package/dist/video-generation-provider-CAqz-_cR.js +246 -0
  1258. package/dist/video-generation-provider-DVgCz9i4.js +181 -0
  1259. package/dist/video-generation-provider-_ge0iP27.js +233 -0
  1260. package/dist/video-generation-provider-cMUD_fls.js +104 -0
  1261. package/dist/video-generation-provider-m9cCpntw.js +171 -0
  1262. package/dist/video-model-catalog-CyWIvCKl.js +187 -0
  1263. package/dist/web-search-BtwmRrNq.js +221 -0
  1264. package/dist/web-search-provider-BpVY1JYn.js +155 -0
  1265. package/dist/webhooks-cli-BGIp-CI4.js +321 -0
  1266. package/dist/workspace-B5a0KS0o.js +306 -0
  1267. package/dist/x-search-shared-lXehAzFd.js +109 -0
  1268. package/package.json +1 -1
  1269. package/dist/abort-BAZ4Ebr2.js +0 -202
  1270. package/dist/abort-cutoff.runtime-igWwDxEw.js +0 -20
  1271. package/dist/abort.runtime-DcpaA7X3.js +0 -2
  1272. package/dist/acp-cli-fDFv0ZXk.js +0 -2171
  1273. package/dist/acp-spawn-DMdjDkJ5.js +0 -1023
  1274. package/dist/acp-stateful-target-driver-D5xSz_pT.js +0 -87
  1275. package/dist/action-agents-qdK1hUqZ.js +0 -67
  1276. package/dist/action-focus-CdznyCxX.js +0 -124
  1277. package/dist/action-help-BXDtyZ9B.js +0 -7
  1278. package/dist/action-info-DeYigB1U.js +0 -58
  1279. package/dist/action-kill-BYYddQgx.js +0 -33
  1280. package/dist/action-list-DCUxXaqg.js +0 -21
  1281. package/dist/action-log-ta83LqJ5.js +0 -30
  1282. package/dist/action-send-BwBxb6AI.js +0 -39
  1283. package/dist/action-spawn-CDGEb2hC.js +0 -46
  1284. package/dist/action-unfocus-MTpGUzeN.js +0 -28
  1285. package/dist/agent-5S4TqcpJ.js +0 -2
  1286. package/dist/agent-command-DYyWnBzs.js +0 -1479
  1287. package/dist/agent-runner-utils-rqbgwfQ0.js +0 -202
  1288. package/dist/agent-runner.runtime-CTRf_5bQ.js +0 -2825
  1289. package/dist/agents-CfpAO55S.js +0 -887
  1290. package/dist/agents-D-ZmUSjz.js +0 -5
  1291. package/dist/api-C5y5vg1n.js +0 -35
  1292. package/dist/api-CepvsESp.js +0 -5
  1293. package/dist/api-CxsUi6pI.js +0 -4
  1294. package/dist/api-D-WxCS9o.js +0 -16
  1295. package/dist/api-D0KNG-Ur.js +0 -3
  1296. package/dist/api-D2Ik6_Ws.js +0 -4
  1297. package/dist/api-D2RppWnw.js +0 -3
  1298. package/dist/api-DSlHQbdg.js +0 -2
  1299. package/dist/api-DZMhnnQa.js +0 -2
  1300. package/dist/api-Do7V2W5w.js +0 -5
  1301. package/dist/api-Dzb-44IA.js +0 -45
  1302. package/dist/api-Nut6qdm_.js +0 -2
  1303. package/dist/api-YOeD914m.js +0 -19
  1304. package/dist/api-uhRvZWia.js +0 -44
  1305. package/dist/apply-BVSjDVZt.js +0 -493
  1306. package/dist/apply.runtime-BHaqP4o2.js +0 -2
  1307. package/dist/apply.runtime-CGLynFYo.js +0 -166
  1308. package/dist/audit-D0PNQf9m.js +0 -885
  1309. package/dist/audit-extra.async-fyXymls3.js +0 -847
  1310. package/dist/audit.deep.runtime-T3-fGhge.js +0 -2
  1311. package/dist/audit.nondeep.runtime-D-CVblWF.js +0 -859
  1312. package/dist/audit.runtime-CjBqFqlt.js +0 -7
  1313. package/dist/auth-CeX7bu-Z.js +0 -181
  1314. package/dist/auth-choice-D5Gw60Q0.js +0 -3
  1315. package/dist/auth-choice-DEMT93N0.js +0 -71
  1316. package/dist/auth-choice-ilal0OWZ.js +0 -353
  1317. package/dist/auth-choice-options-BwW-zFH5.js +0 -104
  1318. package/dist/auth-choice-prompt--rfX_gS3.js +0 -2
  1319. package/dist/auth-choice-prompt-X5e5PeD9.js +0 -36
  1320. package/dist/auto-disable-BIMG7Fjd.js +0 -69
  1321. package/dist/auto-disable-C-48B0tK.js +0 -2
  1322. package/dist/banner-B6HSrIeR.js +0 -2
  1323. package/dist/banner-Dd3dApUc.js +0 -290
  1324. package/dist/binding-routing-cuSlltgJ.js +0 -50
  1325. package/dist/binding-targets-Cx48IZQc.js +0 -99
  1326. package/dist/bridge-server-CRtklB7G.js +0 -103
  1327. package/dist/browser-node-runtime-BwLBwW3b.js +0 -12
  1328. package/dist/browser-runtime-DjH_OV90.js +0 -377
  1329. package/dist/capability-cli-KFyLj819.js +0 -1350
  1330. package/dist/catalog-provider-B4tNRXms.js +0 -40
  1331. package/dist/cdp.helpers-01EoG2KI.js +0 -372
  1332. package/dist/channel-core-D1nci65b.js +0 -5
  1333. package/dist/channel-plugin-resolution-xTnpOtic.js +0 -146
  1334. package/dist/channel.runtime-DadpArDu.js +0 -399
  1335. package/dist/channels-6yreyEBs.js +0 -1146
  1336. package/dist/channels-cli-bimz2bUo.js +0 -247
  1337. package/dist/chat-BFMiUu-G.js +0 -213
  1338. package/dist/chrome-WA-FdKve.js +0 -1080
  1339. package/dist/chrome.executables-BlV3kIfY.js +0 -541
  1340. package/dist/clawbot-cli-BLdu0IQ8.js +0 -9
  1341. package/dist/clawhub-BuLRhTNF.js +0 -400
  1342. package/dist/cli-CDdqVrBY.js +0 -2
  1343. package/dist/cli-DOuRcnxP.js +0 -2
  1344. package/dist/cli-DgwVAGNK.js +0 -154
  1345. package/dist/cli-DkIGpSHw.js +0 -57
  1346. package/dist/cli-auth-seam-ynlvw1N6.js +0 -14
  1347. package/dist/cli-backend-6x4Q-WdC.js +0 -66
  1348. package/dist/cli-geEuOB-I.js +0 -191
  1349. package/dist/cli-migration-ChII14Ro.js +0 -127
  1350. package/dist/cli-runner-B1EhBITN.js +0 -1661
  1351. package/dist/cli-runner.runtime-Boum-j7F.js +0 -3
  1352. package/dist/cli-runner.runtime-h-ixiuX9.js +0 -2
  1353. package/dist/cli-shared-Bz_H1_nP.js +0 -142
  1354. package/dist/cli.runtime-D9B-1X3E.js +0 -819
  1355. package/dist/collector-CkXyPwuF.js +0 -378
  1356. package/dist/collector-Fmz7hWGE.js +0 -2
  1357. package/dist/command-config-resolution-C7qsfOyi.js +0 -23
  1358. package/dist/command-config-resolution-DaAgReAg.js +0 -2
  1359. package/dist/command-execution-startup-BBpnISEp.js +0 -269
  1360. package/dist/command-queue-BCnBBdS2.js +0 -260
  1361. package/dist/command-registry-BXxYFSZD.js +0 -3
  1362. package/dist/command-registry-CWHMKAbU.js +0 -108
  1363. package/dist/command-secret-gateway-B-nb52Yw.js +0 -528
  1364. package/dist/commands-acp-B6t0636h.js +0 -1017
  1365. package/dist/commands-compact.runtime-Bs4Jrohf.js +0 -10
  1366. package/dist/commands-core.runtime-uSBWVpXt.js +0 -2
  1367. package/dist/commands-handlers.runtime-i2DbzlBK.js +0 -3762
  1368. package/dist/commands-models-iSG3asW2.js +0 -306
  1369. package/dist/commands-reset-hooks-CRo29fjd.js +0 -129
  1370. package/dist/commands-status-CDGtgSo_.js +0 -223
  1371. package/dist/commands-status.runtime-VMRV_4zg.js +0 -2
  1372. package/dist/commands-subagents-control.runtime-B8wUjfcG.js +0 -3
  1373. package/dist/commands-subagents-control.runtime-DlZEcLMM.js +0 -2
  1374. package/dist/commands.runtime-faXcqJ1G.js +0 -103
  1375. package/dist/comment-shared-CZcHHaVj.js +0 -40
  1376. package/dist/compact-CJd53VDB.js +0 -11322
  1377. package/dist/compact.runtime-BM5uCK5R.js +0 -7
  1378. package/dist/completion-cli-CYgAzE_f.js +0 -2
  1379. package/dist/completion-cli-W2b6VuQY.js +0 -464
  1380. package/dist/config-B3ly_OWp.js +0 -2
  1381. package/dist/config-BZWQh368.js +0 -136
  1382. package/dist/config-CAo3Ki55.js +0 -101
  1383. package/dist/config-DHTe4Ity.js +0 -166
  1384. package/dist/config-cli-W3JjPbd5.js +0 -947
  1385. package/dist/config-defaults-BQ8HCUkk.js +0 -163
  1386. package/dist/config-guard-BWis2bnW.js +0 -94
  1387. package/dist/config-runtime-Buoon-Hh.js +0 -14
  1388. package/dist/config-validation-DiYgptBq.js +0 -279
  1389. package/dist/configure-Bza-h92_.js +0 -1159
  1390. package/dist/configure-DBn0SJq4.js +0 -2
  1391. package/dist/context-writer-vqAKHKCE.js +0 -286
  1392. package/dist/control-auth-OK_tGODq.js +0 -122
  1393. package/dist/conversation-id-CRxR5h1M.js +0 -140
  1394. package/dist/conversation-runtime-BijGAsoO.js +0 -31
  1395. package/dist/core-DgA4TZVZ.js +0 -210
  1396. package/dist/core-command-descriptors-CLSA5Moa.js +0 -106
  1397. package/dist/cron-cli-Dm_zUhf-.js +0 -637
  1398. package/dist/curator-BPSUUSGi.js +0 -586
  1399. package/dist/daemon-cli-DZEJkmJ3.js +0 -416
  1400. package/dist/daemon-install--tdrtKs3.js +0 -63
  1401. package/dist/delegate-UEuflcXA.js +0 -61
  1402. package/dist/deliver-BALTiw7q.js +0 -782
  1403. package/dist/deliver-D0l9CtEc.js +0 -3
  1404. package/dist/deliver-runtime-Dq4JvMOl.js +0 -2
  1405. package/dist/delivery-outbound.runtime-CWIWrBQ9.js +0 -6
  1406. package/dist/delivery-queue--ayb_Pk_.js +0 -2
  1407. package/dist/delivery-queue-BwVoZNGI.js +0 -372
  1408. package/dist/detect-BgviB4L6.js +0 -113
  1409. package/dist/devices-cli-BdpXHC-r.js +0 -329
  1410. package/dist/diagnostic-IuQCudMt.js +0 -311
  1411. package/dist/direct-dm-DJMPWBuI.js +0 -139
  1412. package/dist/directive-handling.fast-lane-f0CLC4-E.js +0 -2
  1413. package/dist/directive-handling.fast-lane-sh0YnNSx.js +0 -64
  1414. package/dist/directive-handling.impl-B7o2ov0i.js +0 -2
  1415. package/dist/directive-handling.impl-a0yZtzf0.js +0 -659
  1416. package/dist/directive-handling.parse-UrrfLTt9.js +0 -376
  1417. package/dist/directive-handling.persist-DMdCGdJo.js +0 -139
  1418. package/dist/directive-handling.persist.runtime-Bj-oQrrf.js +0 -2
  1419. package/dist/directive-handling.shared-B3kBVf8z.js +0 -159
  1420. package/dist/directory-cli-Dd1zPBaO.js +0 -239
  1421. package/dist/dispatch-acp-D_6seEb3.js +0 -969
  1422. package/dist/dispatch-acp-manager.runtime-CblPKuWP.js +0 -3
  1423. package/dist/dispatch-acp-media.runtime-jQ51iwVZ.js +0 -3
  1424. package/dist/dispatch-acp-session.runtime-CztwPJU8.js +0 -2
  1425. package/dist/dispatch-acp-tts.runtime-CYwftiQH.js +0 -3
  1426. package/dist/dispatch-acp.runtime-CslN35Tv.js +0 -19
  1427. package/dist/dispatch-rlOjKp0R.js +0 -1041
  1428. package/dist/dns-cli-oGpuQf5e.js +0 -192
  1429. package/dist/doctor-completion-DzuKPgxo.js +0 -90
  1430. package/dist/doctor-config-preflight-BvbXh8XL.js +0 -2
  1431. package/dist/doctor-config-preflight-gAI_GeuH.js +0 -148
  1432. package/dist/doctor-state-migrations-BVYC3Dnw.js +0 -2
  1433. package/dist/doctor-state-migrations-Bb5ljS8B.js +0 -3
  1434. package/dist/drive-C-EcQpgt.js +0 -750
  1435. package/dist/embedding-provider-p9lV_6yT.js +0 -129
  1436. package/dist/engine-lzlFl9eS.js +0 -72
  1437. package/dist/entry-capabilities-C4wBXlqX.js +0 -89
  1438. package/dist/exec-approval-forwarder.runtime-pAraMyEv.js +0 -3
  1439. package/dist/exec-approvals-cli-DFRUYivK.js +0 -484
  1440. package/dist/exec-defaults-DiLurRDC.js +0 -1440
  1441. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
  1442. package/dist/extensions/diffs/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
  1443. package/dist/extensions/diffs/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
  1444. package/dist/extensions/diffs/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
  1445. package/dist/extensions/diffs/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
  1446. package/dist/extensions/diffs/node_modules/typebox/build/type/action/awaited.mjs +0 -15
  1447. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/awaited/index.d.mts +0 -1
  1448. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/awaited/index.mjs +0 -1
  1449. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
  1450. package/dist/extensions/diffs/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
  1451. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
  1452. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
  1453. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
  1454. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
  1455. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
  1456. package/dist/extensions/diffs/node_modules/typebox/build/type/extends/promise.mjs +0 -9
  1457. package/dist/extensions/diffs/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
  1458. package/dist/extensions/diffs/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
  1459. package/dist/extensions/diffs/node_modules/typebox/build/type/types/base.d.mts +0 -50
  1460. package/dist/extensions/diffs/node_modules/typebox/build/type/types/base.mjs +0 -84
  1461. package/dist/extensions/diffs/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
  1462. package/dist/extensions/diffs/node_modules/typebox/build/type/types/iterator.mjs +0 -28
  1463. package/dist/extensions/diffs/node_modules/typebox/build/type/types/promise.d.mts +0 -21
  1464. package/dist/extensions/diffs/node_modules/typebox/build/type/types/promise.mjs +0 -29
  1465. package/dist/extensions/diffs/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
  1466. package/dist/extensions/diffs/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
  1467. package/dist/extensions/diffs/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
  1468. package/dist/extensions/diffs/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
  1469. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
  1470. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
  1471. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
  1472. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_base.mjs +0 -4
  1473. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
  1474. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
  1475. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
  1476. package/dist/extensions/diffs/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
  1477. package/dist/extensions/diffs/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
  1478. package/dist/extensions/diffs/node_modules/typebox/build/value/default/from_base.mjs +0 -5
  1479. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
  1480. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/error.mjs +0 -6
  1481. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
  1482. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
  1483. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
  1484. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
  1485. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
  1486. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
  1487. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
  1488. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
  1489. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
  1490. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/index.mjs +0 -1
  1491. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
  1492. package/dist/extensions/diffs/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
  1493. package/dist/extensions/diffs/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
  1494. package/dist/extensions/diffs/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
  1495. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
  1496. package/dist/extensions/feishu/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
  1497. package/dist/extensions/feishu/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
  1498. package/dist/extensions/feishu/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
  1499. package/dist/extensions/feishu/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
  1500. package/dist/extensions/feishu/node_modules/typebox/build/type/action/awaited.mjs +0 -15
  1501. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/awaited/index.d.mts +0 -1
  1502. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/awaited/index.mjs +0 -1
  1503. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
  1504. package/dist/extensions/feishu/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
  1505. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
  1506. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
  1507. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
  1508. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
  1509. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
  1510. package/dist/extensions/feishu/node_modules/typebox/build/type/extends/promise.mjs +0 -9
  1511. package/dist/extensions/feishu/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
  1512. package/dist/extensions/feishu/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
  1513. package/dist/extensions/feishu/node_modules/typebox/build/type/types/base.d.mts +0 -50
  1514. package/dist/extensions/feishu/node_modules/typebox/build/type/types/base.mjs +0 -84
  1515. package/dist/extensions/feishu/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
  1516. package/dist/extensions/feishu/node_modules/typebox/build/type/types/iterator.mjs +0 -28
  1517. package/dist/extensions/feishu/node_modules/typebox/build/type/types/promise.d.mts +0 -21
  1518. package/dist/extensions/feishu/node_modules/typebox/build/type/types/promise.mjs +0 -29
  1519. package/dist/extensions/feishu/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
  1520. package/dist/extensions/feishu/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
  1521. package/dist/extensions/feishu/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
  1522. package/dist/extensions/feishu/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
  1523. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
  1524. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
  1525. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
  1526. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_base.mjs +0 -4
  1527. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
  1528. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
  1529. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
  1530. package/dist/extensions/feishu/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
  1531. package/dist/extensions/feishu/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
  1532. package/dist/extensions/feishu/node_modules/typebox/build/value/default/from_base.mjs +0 -5
  1533. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
  1534. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/error.mjs +0 -6
  1535. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
  1536. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
  1537. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
  1538. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
  1539. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
  1540. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
  1541. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
  1542. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
  1543. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
  1544. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/index.mjs +0 -1
  1545. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
  1546. package/dist/extensions/feishu/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
  1547. package/dist/extensions/feishu/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
  1548. package/dist/extensions/feishu/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
  1549. package/dist/fragment-collector-BCPVxm0P.js +0 -189
  1550. package/dist/fragment-store-9TxXgGV-.js +0 -218
  1551. package/dist/fragment-store-BHYVqNjU.js +0 -2
  1552. package/dist/gateway-cli-Apcziann.js +0 -1518
  1553. package/dist/gateway-discovery-targets-B_svEsZh.js +0 -431
  1554. package/dist/gateway-install-token-DYyEiJEM.js +0 -284
  1555. package/dist/gateway-rpc-rkIqagFK.js +0 -14
  1556. package/dist/gateway-secret-options-DqYvLFrh.js +0 -38
  1557. package/dist/gemini-cli-provider-D_Q97B93.js +0 -106
  1558. package/dist/gemini-web-search-provider-C5AqCOHg.js +0 -167
  1559. package/dist/get-reply-from-config.runtime-yQ65D-BO.js +0 -2
  1560. package/dist/git-commit-CYrjhrEv.js +0 -2
  1561. package/dist/hard-trigger-CWQ1TzAM.js +0 -98
  1562. package/dist/health-C-3mkxI4.js +0 -2
  1563. package/dist/health-Jkvh_gy_.js +0 -579
  1564. package/dist/heartbeat-runner-COZgAa6a.js +0 -4
  1565. package/dist/heartbeat-runner-c-hruBTy.js +0 -1209
  1566. package/dist/heartbeat-runner.runtime-CGjPrCRu.js +0 -2
  1567. package/dist/help-ChHRacYd.js +0 -81
  1568. package/dist/hooks-cli-Be0aA_p5.js +0 -354
  1569. package/dist/hooks-status-y8H2HWQf.js +0 -86
  1570. package/dist/image-generation-core-DmsyCN1n.js +0 -17
  1571. package/dist/image-generation-provider-BV6Pfe-s.js +0 -136
  1572. package/dist/image-generation-provider-BlMt8X7X.js +0 -94
  1573. package/dist/image-generation-provider-BoAxEAD_.js +0 -130
  1574. package/dist/image-generation-provider-CrsgbMNJ.js +0 -163
  1575. package/dist/image-generation-provider-ppz9PIhB.js +0 -279
  1576. package/dist/image-runtime-DHMm2iiA.js +0 -7
  1577. package/dist/inbound-reply-dispatch-D4pxE_PL.js +0 -73
  1578. package/dist/inbound.runtime-CgrGH800.js +0 -4
  1579. package/dist/inbound.runtime-ddIkY_PP.js +0 -3
  1580. package/dist/ingest-CUZSOIc_.js +0 -2
  1581. package/dist/ingest-DAxhsmxh.js +0 -691
  1582. package/dist/install-3w_mg2Qx.js +0 -662
  1583. package/dist/install-security-scan-C-6bE5h5.js +0 -22
  1584. package/dist/install-security-scan.runtime-B_GzpPuC.js +0 -299
  1585. package/dist/install-skills-YwdSU6-H.js +0 -70
  1586. package/dist/install.runtime-B-r9-spQ.js +0 -27
  1587. package/dist/install.runtime-Cy-vGIfI.js +0 -12
  1588. package/dist/kaijibot-tools-oT0CsNSN.js +0 -9233
  1589. package/dist/kaijibot-tools.runtime-SmBrfYIG.js +0 -2
  1590. package/dist/kimi-web-search-provider-CH8BxsLJ.js +0 -308
  1591. package/dist/lancedb-runtime-SvOqB09K.js +0 -201
  1592. package/dist/library-BAFScIar.js +0 -45
  1593. package/dist/list.runtime-CpyEd39c.js +0 -9
  1594. package/dist/list.runtime-DC4mjmHx.js +0 -12
  1595. package/dist/llm-draft-generator-DCqJ5qYk.js +0 -567
  1596. package/dist/llm-draft-generator-DRAYzsiM.js +0 -2
  1597. package/dist/llm-engine-BFVOaalJ.js +0 -1829
  1598. package/dist/llm-engine-Bi8xqCtn.js +0 -2
  1599. package/dist/login-D-oLC3GG.js +0 -108
  1600. package/dist/logs-cli-DWeiHJ3L.js +0 -264
  1601. package/dist/manager-CO5bSnH2.js +0 -3301
  1602. package/dist/manager-Mv-1Vint.js +0 -2048
  1603. package/dist/mcp-cli-D-6e6tc4.js +0 -723
  1604. package/dist/media-runtime-vNPB_wvw.js +0 -312
  1605. package/dist/media-understanding-LgBsXLVI.js +0 -83
  1606. package/dist/media-understanding-provider-BOjajU5r.js +0 -18
  1607. package/dist/media-understanding-provider-BTwJ_UWh.js +0 -112
  1608. package/dist/media-understanding-provider-BXCpgh96.js +0 -13
  1609. package/dist/media-understanding-provider-B_nfix0N.js +0 -30
  1610. package/dist/media-understanding-provider-C6Wlc9vT.js +0 -21
  1611. package/dist/media-understanding-provider-CvCuZ9SC.js +0 -14
  1612. package/dist/media-understanding-provider-D7M3-aQh.js +0 -67
  1613. package/dist/media-understanding-provider-DcEr1WSL.js +0 -123
  1614. package/dist/media-understanding-provider-Ph7rGWKI.js +0 -37
  1615. package/dist/media-understanding-provider-Wri695dH.js +0 -69
  1616. package/dist/media-understanding-provider-um6kxSmK.js +0 -18
  1617. package/dist/media-understanding-runtime-DJKuKxY0.js +0 -2
  1618. package/dist/memory-B1XoiBa2.js +0 -3
  1619. package/dist/memory-CYhHObg6.js +0 -242
  1620. package/dist/memory-core-host-runtime-cli-DKoKyS93.js +0 -9
  1621. package/dist/memory-index-BJqUmQXm.js +0 -2
  1622. package/dist/memory-index-BUBt9yHK.js +0 -514
  1623. package/dist/memory-repair-BhB6W5xm.js +0 -2
  1624. package/dist/message-DVdUnIlB.js +0 -223
  1625. package/dist/message-action-runner-QfFvL3oa.js +0 -2
  1626. package/dist/message-action-runner-Y7yazXbD.js +0 -1628
  1627. package/dist/metadata-registry-loader-DWwP6rZg.js +0 -2
  1628. package/dist/minimax-web-search-provider-QCTjMoVf.js +0 -165
  1629. package/dist/mmr-B1GMktQo.js +0 -146
  1630. package/dist/model-catalog-CA2IsB6Z.js +0 -157
  1631. package/dist/model-definitions-BNLayQ7G.js +0 -74
  1632. package/dist/model-definitions-DejSv-w8.js +0 -28
  1633. package/dist/model-definitions-DhIGF3DB.js +0 -258
  1634. package/dist/model-picker-BoTUAvyS.js +0 -3
  1635. package/dist/model-picker-zTMq5U_r.js +0 -490
  1636. package/dist/model-picker.runtime-COHk6fb4.js +0 -15
  1637. package/dist/model-selection-FnwgRfx6.js +0 -381
  1638. package/dist/models-3LfDzypw.js +0 -2584
  1639. package/dist/models-8gXAOc0J.js +0 -555
  1640. package/dist/models-BQ8ZS754.js +0 -18
  1641. package/dist/models-BXgvHura.js +0 -760
  1642. package/dist/models-BdrRvR0O.js +0 -157
  1643. package/dist/models-Be6rN_97.js +0 -19
  1644. package/dist/models-CgvFbxD_.js +0 -47
  1645. package/dist/models-Dq3fePTE.js +0 -18
  1646. package/dist/models-_CdIkMJJ.js +0 -2
  1647. package/dist/models-cli-ChSB3jod.js +0 -197
  1648. package/dist/models.fetch-BlOH1ObL.js +0 -518
  1649. package/dist/monitor-SKMOYue_.js +0 -4435
  1650. package/dist/music-generation-provider-CAgLx7IH.js +0 -169
  1651. package/dist/music-generation-provider-CWV2efO0.js +0 -142
  1652. package/dist/music-generation-provider-tvRm1diG.js +0 -238
  1653. package/dist/node-cli-CnQUquRc.js +0 -2362
  1654. package/dist/nodes-cli-k8tVMKp0.js +0 -1046
  1655. package/dist/notify-Da_SjUtR.js +0 -305
  1656. package/dist/oauth-BgpHp4DM.js +0 -152
  1657. package/dist/oauth-CnJkK1xf.js +0 -57
  1658. package/dist/oauth-token-shared-GMxqYtaF.js +0 -28
  1659. package/dist/oauth.credentials-Bz3A0tpU.js +0 -165
  1660. package/dist/oauth.flow-C1pBobyI.js +0 -122
  1661. package/dist/oauth.settings-DO5ybG8C.js +0 -44
  1662. package/dist/oauth.token-BiOjbfIt.js +0 -43
  1663. package/dist/onboard-4cz1qQ_A.js +0 -25
  1664. package/dist/onboard-BDsdPtMZ.js +0 -25
  1665. package/dist/onboard-BMwN-mJd.js +0 -29
  1666. package/dist/onboard-BdGGek2m.js +0 -26
  1667. package/dist/onboard-BfesemW3.js +0 -34
  1668. package/dist/onboard-C5lGFfDY.js +0 -39
  1669. package/dist/onboard-CNrLUedN.js +0 -25
  1670. package/dist/onboard-CR_sdI-6.js +0 -29
  1671. package/dist/onboard-CpyvClpQ.js +0 -621
  1672. package/dist/onboard-CuviKb6n2.js +0 -54
  1673. package/dist/onboard-D2FOrkio.js +0 -67
  1674. package/dist/onboard-DAt-DAZJ.js +0 -22
  1675. package/dist/onboard-DIurCAm9.js +0 -36
  1676. package/dist/onboard-DJZmbiCZ.js +0 -58
  1677. package/dist/onboard-NUWGhXYK.js +0 -48
  1678. package/dist/onboard-_zwmdns7.js +0 -312
  1679. package/dist/onboard-channels-8xjH4Rxx.js +0 -2
  1680. package/dist/onboard-channels-C5YcSaTV.js +0 -1260
  1681. package/dist/onboard-config-BPXiaYYN.js +0 -2
  1682. package/dist/onboard-custom-CbvrlqwN.js +0 -2
  1683. package/dist/onboard-custom-DpGZWCkE.js +0 -647
  1684. package/dist/onboard-helpers-BkgpYw91.js +0 -223
  1685. package/dist/onboard-helpers-DNXP1va5.js +0 -5
  1686. package/dist/onboard-hooks-DBikJ6h9.js +0 -35
  1687. package/dist/onboard-remote-CGGcjWRI.js +0 -193
  1688. package/dist/onboard-remote-CjC2kFSP.js +0 -2
  1689. package/dist/onboard-search-_eepOkzc.js +0 -324
  1690. package/dist/onboard-skills-BhHUGPqh.js +0 -2
  1691. package/dist/onboard-skills-CEzVQ_WL.js +0 -134
  1692. package/dist/openai-codex-auth-identity-D-KQbSyQ.js +0 -45
  1693. package/dist/openai-codex-cli-auth-CuaNZ-Xi.js +0 -57
  1694. package/dist/openai-codex-provider-CbIKBwnQ.js +0 -299
  1695. package/dist/openai-codex-shared-C17lyOLN.js +0 -6
  1696. package/dist/openai-provider-CgI6oZZJ.js +0 -283
  1697. package/dist/openclaw-migrator-ulNNIw-g.js +0 -2
  1698. package/dist/pair-command-approve-B6cPcRmP.js +0 -34
  1699. package/dist/pairing-cli-Dopy7pMf.js +0 -117
  1700. package/dist/perplexity-web-search-provider-CLfCz5ll.js +0 -92
  1701. package/dist/perplexity-web-search-provider.runtime-BlBBCnh1.js +0 -332
  1702. package/dist/perplexity-web-search-provider.runtime-F_tn1b70.js +0 -2
  1703. package/dist/persistent-bindings.lifecycle-4Sj3YvH6.js +0 -94
  1704. package/dist/pi-embedded-CXUV32ut.js +0 -2
  1705. package/dist/pi-embedded-DoNNtCWr.js +0 -6
  1706. package/dist/pi-embedded-runner-Dq4lYjca.js +0 -8346
  1707. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-Ca5o8DbU.js +0 -23
  1708. package/dist/pi-embedded.runtime-BCRJuvse.js +0 -5
  1709. package/dist/pi-tools.before-tool-call.runtime-B6HYOE8c.js +0 -354
  1710. package/dist/plugin-enabled-CKRm8wtW.js +0 -71
  1711. package/dist/plugin-install-CybWKOIa.js +0 -2
  1712. package/dist/plugin-install-config-policy-DTrvBgla.js +0 -137
  1713. package/dist/plugin-install-oAl4Yczg.js +0 -227
  1714. package/dist/plugin-install-plan-DLIR_ZqM.js +0 -50
  1715. package/dist/plugin-registration-BmV1gqZB.js +0 -23
  1716. package/dist/plugin-registry-1Rq5Tmvl.js +0 -3
  1717. package/dist/plugin-registry-DL8pf5Mp.js +0 -2
  1718. package/dist/plugin-registry-loader-CAAg3dpS.js +0 -22
  1719. package/dist/plugin-service-CK4Rim4g.js +0 -2494
  1720. package/dist/plugins-cli-CjQt0z09.js +0 -566
  1721. package/dist/plugins-command-helpers-AJAozWnL.js +0 -117
  1722. package/dist/plugins-install-persist-Dj-wP3UP.js +0 -121
  1723. package/dist/plugins-update-command-DfAN1qbt.js +0 -1008
  1724. package/dist/policy-B_C91HSo.js +0 -172
  1725. package/dist/preemptive-compaction-DHty3miI.js +0 -430
  1726. package/dist/proactive-scheduler-BQynqyS0.js +0 -1287
  1727. package/dist/probe-CASgRLVo.js +0 -426
  1728. package/dist/probe-auth-Crs0lOpZ.js +0 -3
  1729. package/dist/program-BlfK81FP.js +0 -111
  1730. package/dist/program-context-BgeVW_T_.js +0 -2
  1731. package/dist/prompt-overlay-v0MJ0MCL.js +0 -72
  1732. package/dist/prompt-select-styled-Dzmrxj1a.js +0 -5299
  1733. package/dist/provider-BilPcosq.js +0 -70
  1734. package/dist/provider-api-key-auth-CgLB-D5X.js +0 -113
  1735. package/dist/provider-auth-DBykvpJk.js +0 -36
  1736. package/dist/provider-auth-api-key-BFqSZqff.js +0 -5
  1737. package/dist/provider-auth-choice-mXKWNw2A.js +0 -134
  1738. package/dist/provider-auth-choice-preference-C8geLQZU.js +0 -62
  1739. package/dist/provider-auth-login-C8nHiSGB.js +0 -8
  1740. package/dist/provider-auth-login.runtime-Bw7qvsMK.js +0 -206
  1741. package/dist/provider-catalog-BLuW7xxm.js +0 -18
  1742. package/dist/provider-catalog-Ba8jbbQC.js +0 -11
  1743. package/dist/provider-catalog-BezjZlH4.js +0 -11
  1744. package/dist/provider-catalog-Bzs0kPzn.js +0 -13
  1745. package/dist/provider-catalog-CXItaIYb.js +0 -11
  1746. package/dist/provider-catalog-CaVK2dyj.js +0 -12
  1747. package/dist/provider-catalog-CcWsqYpE.js +0 -61
  1748. package/dist/provider-catalog-CksVg6Lz.js +0 -16
  1749. package/dist/provider-catalog-CvVlJ7h-.js +0 -26
  1750. package/dist/provider-catalog-Dh9jKgh9.js +0 -56
  1751. package/dist/provider-catalog-Dm1dfTk-.js +0 -11
  1752. package/dist/provider-catalog-DqcQOA4Z.js +0 -17
  1753. package/dist/provider-catalog-pqamOkUm.js +0 -16
  1754. package/dist/provider-compat-D9qDQQMG.js +0 -37
  1755. package/dist/provider-dispatcher-C3XfRHRF.js +0 -22
  1756. package/dist/provider-entry-zMxxN1fH.js +0 -97
  1757. package/dist/provider-flow-ao7lxs66.js +0 -66
  1758. package/dist/provider-models-CuPoy-A4.js +0 -119
  1759. package/dist/provider-models-DU2n84FS.js +0 -116
  1760. package/dist/provider-models-jw0IBHgS.js +0 -35
  1761. package/dist/provider-registration-6GPZtKMt.js +0 -57
  1762. package/dist/provider-registration-CjmTFGKf.js +0 -238
  1763. package/dist/push-apns-Bzrexlse.js +0 -1013
  1764. package/dist/pw-ai-C7JdV54y.js +0 -2268
  1765. package/dist/qmd-manager-T2BUCG7n.js +0 -1799
  1766. package/dist/qr-cli-B_e_0-SF.js +0 -359
  1767. package/dist/qr-cli-rxc0H2Mk.js +0 -2
  1768. package/dist/qr-image-BYACGRPv.js +0 -2
  1769. package/dist/queue-CF6El_UA.js +0 -636
  1770. package/dist/realtime-provider-shared-Yd1KkPvt.js +0 -21
  1771. package/dist/realtime-transcription-provider-DwmEvubU.js +0 -180
  1772. package/dist/realtime-voice-provider-T861rzVh.js +0 -342
  1773. package/dist/record-shared-BKxprVFr.js +0 -10
  1774. package/dist/region--gybyKDE.js +0 -74
  1775. package/dist/register-command-groups-1_FI6ux5.js +0 -121
  1776. package/dist/register.agent-Bhv7o14f.js +0 -241
  1777. package/dist/register.configure-Bix6QVEo.js +0 -15
  1778. package/dist/register.maintenance-Bw2Dbvb6.js +0 -438
  1779. package/dist/register.message-PxnL8FCg.js +0 -601
  1780. package/dist/register.migrate-DLiZYeE7.js +0 -195
  1781. package/dist/register.onboard-CfOvvN5q.js +0 -79
  1782. package/dist/register.runtime--HXgNnrv.js +0 -343
  1783. package/dist/register.runtime-DJaq2P7l.js +0 -81
  1784. package/dist/register.setup-B0IYNZZy.js +0 -104
  1785. package/dist/register.status-health-sessions-5Avwn_Rh.js +0 -1210
  1786. package/dist/register.subclis-Bhqe4RNX.js +0 -3
  1787. package/dist/register.subclis-CwyReoC0.js +0 -237
  1788. package/dist/replay-policy-DRHPdlTy.js +0 -8
  1789. package/dist/reply-DsQGSqHM.js +0 -3498
  1790. package/dist/reply.runtime-BoEhxvtc.js +0 -2
  1791. package/dist/resolve-vsY3RgCu.js +0 -280
  1792. package/dist/root-help-C9EaUEol.js +0 -44
  1793. package/dist/route-reply-yzqZEMM1.js +0 -141
  1794. package/dist/route-reply.runtime-Dn_gMZjY.js +0 -2
  1795. package/dist/rpc-DZksOtsP.js +0 -61
  1796. package/dist/run-main-29gZWc8b.js +0 -452
  1797. package/dist/runner-W6n2pkfJ.js +0 -1497
  1798. package/dist/runs-OzLk07t4.js +0 -495
  1799. package/dist/runtime-CGl5K_IU.js +0 -72
  1800. package/dist/runtime-D0vBMNhQ.js +0 -2
  1801. package/dist/runtime-DFgQhIdO.js +0 -725
  1802. package/dist/runtime-DKfK_AD5.js +0 -107
  1803. package/dist/runtime-DyrhCUAq.js +0 -200
  1804. package/dist/runtime-api-BDFg7VKM.js +0 -2
  1805. package/dist/runtime-api-BWcPxjgR.js +0 -3
  1806. package/dist/runtime-api-C1USU1Xg.js +0 -12
  1807. package/dist/runtime-embedded-pi.runtime-CMNGvq_M.js +0 -3
  1808. package/dist/runtime-internal-BjxS9kh1.js +0 -2
  1809. package/dist/runtime-plugins-BrjMM_2S.js +0 -69
  1810. package/dist/runtime-prepare.runtime-C5uhgIL5.js +0 -80
  1811. package/dist/runtime-provider-Bd6DTZcR.js +0 -21
  1812. package/dist/runtime-qvUIWcEn.js +0 -9
  1813. package/dist/runtime-registry-loader-DC_zdtAM.js +0 -58
  1814. package/dist/runtime-registry-loader-ZJtMVrYf.js +0 -2
  1815. package/dist/runtime-taskflow-DkJ0OEcb.js +0 -250
  1816. package/dist/runtime-web-tools-Caph1Q8W.js +0 -1467
  1817. package/dist/sandbox-BPefFVsD.js +0 -2586
  1818. package/dist/sandbox-VqaevbKP.js +0 -4
  1819. package/dist/sandbox-cli-Dmz8tNOk.js +0 -446
  1820. package/dist/secrets-cli-DjJm5KkT.js +0 -2099
  1821. package/dist/security-audit-sGsom2f1.js +0 -34
  1822. package/dist/security-cli-2B9RasP6.js +0 -486
  1823. package/dist/semantic-dedup-I5wMh6pu.js +0 -95
  1824. package/dist/send-CHJpeuAq.js +0 -993
  1825. package/dist/server-Cf1sUtlR.js +0 -13
  1826. package/dist/server-ChrBeFtC.js +0 -77
  1827. package/dist/server-context-C9DshDZM.js +0 -4164
  1828. package/dist/server-methods-42GWgP-w.js +0 -11666
  1829. package/dist/server-middleware-DpGttIke.js +0 -110
  1830. package/dist/server-node-events-LXraw8n1.js +0 -451
  1831. package/dist/server.impl-DcCSaFuL.js +0 -19522
  1832. package/dist/session-DB-oGCus.js +0 -48
  1833. package/dist/session-conversation-BVC-IDB-.js +0 -27
  1834. package/dist/session-file-DcogHTZ9.js +0 -44
  1835. package/dist/session-key-BeN4V5Ps.js +0 -65
  1836. package/dist/session-meta-B2LNjKYp.js +0 -109
  1837. package/dist/session-override-DT7hcbx1.js +0 -103
  1838. package/dist/session-reset-model.runtime-DKJSQ8Rr.js +0 -120
  1839. package/dist/session-reset-service-DFqsF-Zh.js +0 -473
  1840. package/dist/session-subagent-reactivation.runtime-yj_xOXm2.js +0 -2
  1841. package/dist/session-tab-registry-C5JZRgsa.js +0 -553
  1842. package/dist/session-updates-Z-4cmoh_.js +0 -234
  1843. package/dist/session-updates.runtime-Co08h535.js +0 -2
  1844. package/dist/session-utils-Cxgqr7-c.js +0 -915
  1845. package/dist/sessions-BgcN8F-X.js +0 -226
  1846. package/dist/sessions-Ciwd_Ht8.js +0 -2
  1847. package/dist/sessions-DE-AO5Jk.js +0 -45
  1848. package/dist/sessions.runtime-CG1opxuM.js +0 -2
  1849. package/dist/setup-BysllKEA.js +0 -496
  1850. package/dist/setup-ayo63KAb.js +0 -329
  1851. package/dist/setup-surface-DbrOe3E8.js +0 -586
  1852. package/dist/setup.finalize-DhLR2yO4.js +0 -432
  1853. package/dist/setup.gateway-config-Df2_Em8i.js +0 -246
  1854. package/dist/shared-B-rMwdad.js +0 -218
  1855. package/dist/shared-BWdSBVdK.js +0 -224
  1856. package/dist/shared-BX9blqPL.js +0 -36
  1857. package/dist/shared-C_-wWbDm.js +0 -175
  1858. package/dist/shared-runtime-rz9t-KLz.js +0 -7
  1859. package/dist/short-term-promotion-FgE_Jnib.js +0 -1631
  1860. package/dist/skill-commands-FgYq8X4R.js +0 -82
  1861. package/dist/skill-commands.runtime-CUJDRqa1.js +0 -2
  1862. package/dist/skill-lifecycle-BVV6fXSs.js +0 -105
  1863. package/dist/skill-quality-gate-4pWY82-e.js +0 -127
  1864. package/dist/skill-usage-tracker-BxM2RLxT.js +0 -31
  1865. package/dist/skills-cli-LwJDf23u.js +0 -370
  1866. package/dist/skills-install-CkncHLZo.js +0 -822
  1867. package/dist/speech-provider-CMtHMx9Y.js +0 -182
  1868. package/dist/speech-provider-DczkEjhR.js +0 -103
  1869. package/dist/speech-provider-Mv_D3qiG.js +0 -43
  1870. package/dist/speech-provider-US8CydoJ.js +0 -167
  1871. package/dist/speech-provider-WWkc6FaL.js +0 -184
  1872. package/dist/stage-sandbox-media.runtime-D71Kd4Ch.js +0 -230
  1873. package/dist/state-dir-env-DYjPXVYi.js +0 -156
  1874. package/dist/state-migrations-B6uRvX1P.js +0 -822
  1875. package/dist/status-BBFiEAa-.js +0 -391
  1876. package/dist/status-CcJcQrD4.js +0 -479
  1877. package/dist/status-CoxoUT8_.js +0 -473
  1878. package/dist/status-DNCnieP0.js +0 -2
  1879. package/dist/status-DpqurBP_.js +0 -3
  1880. package/dist/status-OQhsSx2y.js +0 -2
  1881. package/dist/status-all-CMnGLf_-.js +0 -487
  1882. package/dist/status-json-LKYWmcM2.js +0 -14
  1883. package/dist/status-json-command-ChpTTpoM.js +0 -84
  1884. package/dist/status-runtime-shared-D-NmIA_0.js +0 -254
  1885. package/dist/status-wtlbmlzi.js +0 -278
  1886. package/dist/status.command.text-runtime-B-0GXh3N.js +0 -15
  1887. package/dist/status.gateway-probe-Bqtogs2U.js +0 -16
  1888. package/dist/status.link-channel-BPe4GfI5.js +0 -35
  1889. package/dist/status.node-mode-Chn_dsMR.js +0 -32
  1890. package/dist/status.node-mode-CqkA7hYz.js +0 -2
  1891. package/dist/status.scan-Cwao8eXh.js +0 -62
  1892. package/dist/status.scan-overview-_YjgtE8T.js +0 -395
  1893. package/dist/status.scan.fast-json-BDSAZ_0A.js +0 -128
  1894. package/dist/status.scan.fast-json-D0XMZbbT.js +0 -2
  1895. package/dist/status.scan.runtime-KroF5nhu.js +0 -417
  1896. package/dist/status.summary-CdBWpLqd.js +0 -2
  1897. package/dist/status.summary-jy2zyMVD.js +0 -209
  1898. package/dist/store-BAOUBmZQ.js +0 -190
  1899. package/dist/store-Da7djjD4.js +0 -1112
  1900. package/dist/store.runtime-abrTHLrz.js +0 -2
  1901. package/dist/stream-DTFokQkL.js +0 -153
  1902. package/dist/stream-DjBbXFCo.js +0 -649
  1903. package/dist/stream-wrappers-DyQzM00M.js +0 -144
  1904. package/dist/subagent-announce.registry.runtime-BABRFSMF.js +0 -3
  1905. package/dist/subagent-control-D2OSqmZ7.js +0 -485
  1906. package/dist/subagent-followup.runtime-DTNKCe5w.js +0 -68
  1907. package/dist/subagent-list-MAV67Sxm.js +0 -168
  1908. package/dist/subagent-orphan-recovery-Kzzz2mgk.js +0 -214
  1909. package/dist/subagent-registry-CTAMEje4.js +0 -2888
  1910. package/dist/subagent-registry-runtime-CP_a8qhv.js +0 -2
  1911. package/dist/subagent-registry.runtime-DeC3RNRE.js +0 -3
  1912. package/dist/subagent-spawn-C5uY3sfO.js +0 -781
  1913. package/dist/subagents-format-D73DetCG.js +0 -628
  1914. package/dist/subcli-descriptors-DlMSW5i6.js +0 -173
  1915. package/dist/supervisor-BahyZDOz.js +0 -737
  1916. package/dist/system-cli-Dt32QC1G.js +0 -59
  1917. package/dist/systemd-linger-3DzEUocY.js +0 -2
  1918. package/dist/targets-CnJhw62V.js +0 -594
  1919. package/dist/task-executor-BBNtTTy3.js +0 -350
  1920. package/dist/task-owner-access-CnjSqyDU.js +0 -48
  1921. package/dist/task-registry-BEFL1tD7.js +0 -2346
  1922. package/dist/task-registry-control.runtime-Dgk5Yb4X.js +0 -3
  1923. package/dist/task-registry-delivery-runtime-BiITP8us.js +0 -2
  1924. package/dist/task-registry-delivery-runtime-V0EObe7x.js +0 -3
  1925. package/dist/task-registry.maintenance-CRGVNmNv.js +0 -2
  1926. package/dist/task-registry.maintenance-E1MKWD6e.js +0 -425
  1927. package/dist/test.DNmyFkvJ-DJRLm6sy.js +0 -13549
  1928. package/dist/testing-ehflWoVg.js +0 -441
  1929. package/dist/text-report-XuvHwHc9.js +0 -587
  1930. package/dist/text-runtime-DsiP7VdZ.js +0 -313
  1931. package/dist/thinking-policy-ZVmg-bUw.js +0 -25
  1932. package/dist/thread-bindings-BCS_rM9y.js +0 -223
  1933. package/dist/tool-auth-shared-DdmOv578.js +0 -53
  1934. package/dist/tool-config-shared-CP5dDyyW.js +0 -19
  1935. package/dist/tool-schema-runtime-BjWzmAN3.js +0 -1892
  1936. package/dist/tools-effective-inventory-Dy07SBEL.js +0 -152
  1937. package/dist/tools.runtime-DImY1euX.js +0 -4
  1938. package/dist/topic-types-BXXY5uZL.js +0 -176
  1939. package/dist/topic-types-CDaB_YbE.js +0 -2
  1940. package/dist/transcript-CF5_OBmp.js +0 -191
  1941. package/dist/transcript.runtime-D5nr49Ef.js +0 -2
  1942. package/dist/transport-policy-w54T42K4.js +0 -75
  1943. package/dist/tts-zh6pvJpM.js +0 -31
  1944. package/dist/tts.runtime-CWxkpW7l.js +0 -3
  1945. package/dist/tui-cli-Ci0sIDB1.js +0 -31
  1946. package/dist/tui-h4YVnTtv.js +0 -4017
  1947. package/dist/uninstall-D37a24rS.js +0 -172
  1948. package/dist/update-Y8g3ecTl.js +0 -1253
  1949. package/dist/update-cli-D3D_lWB1.js +0 -1763
  1950. package/dist/update-runner-YEixuUNC.js +0 -1490
  1951. package/dist/vault--pPeoJoM.js +0 -64
  1952. package/dist/vault-ETiei3jF.js +0 -2
  1953. package/dist/video-generation-provider-BfYPJ2X3.js +0 -227
  1954. package/dist/video-generation-provider-BhdoE2LB.js +0 -77
  1955. package/dist/video-generation-provider-BltQBaCu.js +0 -171
  1956. package/dist/video-generation-provider-C6Y4MTBa.js +0 -233
  1957. package/dist/video-generation-provider-CPMWGfJj.js +0 -64
  1958. package/dist/video-generation-provider-CTEKMPLy.js +0 -240
  1959. package/dist/video-generation-provider-CcCvv3LR.js +0 -104
  1960. package/dist/video-generation-provider-CpGtTNnb.js +0 -246
  1961. package/dist/video-generation-provider-CvpbK0Tj.js +0 -263
  1962. package/dist/video-generation-provider-PvbMacjT.js +0 -181
  1963. package/dist/video-model-catalog-Cp71BhF6.js +0 -187
  1964. package/dist/web-search-DP15ZlNE.js +0 -221
  1965. package/dist/web-search-provider-CpRV6QJI.js +0 -155
  1966. package/dist/webhooks-cli-DdLGU5xA.js +0 -321
  1967. package/dist/workspace-BpzmLImG.js +0 -306
  1968. package/dist/x-search-shared-D-L79ilT.js +0 -109
  1969. /package/dist/{api-BFKI2NNn.js → api-B6g0B-IG.js} +0 -0
  1970. /package/dist/{api-BhPfvHfo.js → api-B_5tuRF_.js} +0 -0
  1971. /package/dist/{api-BUpga5J-.js → api-ChDERchn.js} +0 -0
  1972. /package/dist/{api-B1PE6fwA.js → api-DiGfNOT2.js} +0 -0
  1973. /package/dist/{api-DkqAFzSg.js → api-O7zsDPPJ.js} +0 -0
  1974. /package/dist/{audit-channel.collect.runtime-CaPqFh87.js → audit-channel.collect.runtime-CUn9BMvq.js} +0 -0
  1975. /package/dist/{audit-log-C8WDD3D1.js → audit-log-pMArHIEh.js} +0 -0
  1976. /package/dist/{auth-choice-legacy-waB0iFpm.js → auth-choice-legacy-BM0vn9R-.js} +0 -0
  1977. /package/dist/{auth-choice.apply-helpers-BvYl7HR5.js → auth-choice.apply-helpers-Bw9wToYL.js} +0 -0
  1978. /package/dist/{auth-choice.plugin-providers.runtime-PpyhN_80.js → auth-choice.plugin-providers.runtime-BZseWyNy.js} +0 -0
  1979. /package/dist/{auth-surface-resolution-BZLSPNTs.js → auth-surface-resolution-CrQGM9Cp.js} +0 -0
  1980. /package/dist/{auto-recall-B1PCG6uf.js → auto-recall-B_bK8mCh.js} +0 -0
  1981. /package/dist/{block-reply-pipeline-B79ibtIR.js → block-reply-pipeline-Dq4aLNqX.js} +0 -0
  1982. /package/dist/{call.runtime-BwcZkbkG.js → call.runtime-DVcVSdEu.js} +0 -0
  1983. /package/dist/{channel-account-context-BNzGuw03.js → channel-account-context-D0WBO2Yx.js} +0 -0
  1984. /package/dist/{channel-options-dCZOcBUc.js → channel-options-plNrATBP.js} +0 -0
  1985. /package/dist/{channel-plugin-ids-jLxAn1L5.js → channel-plugin-ids-CscSLyjB.js} +0 -0
  1986. /package/dist/{channel-selection.runtime-rS6hNp6w.js → channel-selection.runtime-Dd9_LxxA.js} +0 -0
  1987. /package/dist/{channels-status-issues-QT-v4vzD.js → channels-status-issues-byWfP2WG.js} +0 -0
  1988. /package/dist/{clack-prompter-BarukVw2.js → clack-prompter-OiJwdy5r.js} +0 -0
  1989. /package/dist/{cli-backend-CNk0L0wa.js → cli-backend-CdM4Rh6F.js} +0 -0
  1990. /package/dist/{close-reason-nz_ERN9v.js → close-reason-CI_g9IO0.js} +0 -0
  1991. /package/dist/{cognitive-delivery-B8bSjIL2.js → cognitive-delivery-B5TbScd2.js} +0 -0
  1992. /package/dist/{command-poll-backoff.runtime-DDWZcsnF.js → command-poll-backoff.runtime-CFRUBpul.js} +0 -0
  1993. /package/dist/{command-registration-policy-CVzf9lZy.js → command-registration-policy-Bp03ya2T.js} +0 -0
  1994. /package/dist/{commands-registry.runtime-CThK_6yQ.js → commands-registry.runtime-C9vjMKif.js} +0 -0
  1995. /package/dist/{config-DCqmbAmi.js → config-DWP1lSic.js} +0 -0
  1996. /package/dist/{config-BXvOgFjS.js → config-GpqmqI37.js} +0 -0
  1997. /package/dist/{config-value-C7bZPr1X.js → config-value-1FzBpid8.js} +0 -0
  1998. /package/dist/{consolidation-userid-BtKeSaAs.js → consolidation-userid-Di0Sgxnz.js} +0 -0
  1999. /package/dist/{dangerous-tools-Cwuv7WFD.js → dangerous-tools-C6SsOcC4.js} +0 -0
  2000. /package/dist/{default-models-CTHi5V4f.js → default-models-DxJmcrq7.js} +0 -0
  2001. /package/dist/{defaults-CwPgGXAk.js → defaults-DWxSBxL9.js} +0 -0
  2002. /package/dist/{defaults-BQA1GDhJ.js → defaults-UyycRG_v.js} +0 -0
  2003. /package/dist/{dispatch-acp-command-bypass-imK9PCdQ.js → dispatch-acp-command-bypass-B9NMLuX9.js} +0 -0
  2004. /package/dist/{docs-cli-Dv1RQsBb.js → docs-cli-DDIF10fG.js} +0 -0
  2005. /package/dist/{dotenv-CmO55tnC.js → dotenv-DPb0MMoy.js} +0 -0
  2006. /package/dist/{embedding-provider-BYQlcbTv.js → embedding-provider-BiItBepR.js} +0 -0
  2007. /package/dist/{env-overrides.runtime-BbiEI7F8.js → env-overrides.runtime-BtBGU8bb.js} +0 -0
  2008. /package/dist/{exec-approvals-effective-MiJpVS3B.js → exec-approvals-effective-C4m2WXg-.js} +0 -0
  2009. /package/dist/{extractor-Dc5z0hMf.js → extractor-B-CDYBJx.js} +0 -0
  2010. /package/dist/{fallback-state-D3l8zuca.js → fallback-state-C-BXNQDE.js} +0 -0
  2011. /package/dist/{fragment-types-B8q-zg6v.js → fragment-types-3NSFX3fG.js} +0 -0
  2012. /package/dist/{frontmatter-XYZsyLoY.js → frontmatter-CMd6M3iu.js} +0 -0
  2013. /package/dist/{gateway-lock-BkhPbe1x.js → gateway-lock-B4lxvDfZ.js} +0 -0
  2014. /package/dist/{gateway-presence-C7ZKme5I.js → gateway-presence-D2Ad8otD.js} +0 -0
  2015. /package/dist/{gateway-rpc.runtime-mL0HdmjE.js → gateway-rpc.runtime-eZMYTrLe.js} +0 -0
  2016. /package/dist/{gaxios-fetch-compat-jL2xxHMj.js → gaxios-fetch-compat-DvraiCww.js} +0 -0
  2017. /package/dist/{git-commit-XJxkSBCC.js → git-commit-BIx8__jW.js} +0 -0
  2018. /package/dist/{gmail-setup-utils-DjHySRPr.js → gmail-setup-utils-Jqi6TbIM.js} +0 -0
  2019. /package/dist/{groups.runtime-BFrnryp_.js → groups.runtime-BmbQxpi-.js} +0 -0
  2020. /package/dist/{health-format-lG7x3cNF.js → health-format-CPlFnpEc.js} +0 -0
  2021. /package/dist/{helpers-5EtzqHah.js → helpers-q3dUkuqz.js} +0 -0
  2022. /package/dist/{hooks-policy-DudtxOUW.js → hooks-policy-Bmv6J1kh.js} +0 -0
  2023. /package/dist/{image-v-_YZCwf.js → image-De5xRFlj.js} +0 -0
  2024. /package/dist/{image-generation-core.auth.runtime-BN813D6r.js → image-generation-core.auth.runtime-BGoZ9htm.js} +0 -0
  2025. /package/dist/{includes-scan-DpxlIONl.js → includes-scan-9AWKrWlU.js} +0 -0
  2026. /package/dist/{info-scan-source-DnaROGLQ.js → info-scan-source-JX82stxX.js} +0 -0
  2027. /package/dist/{input-files-DgrhtMjl.js → input-files-CnyTkGg0.js} +0 -0
  2028. /package/dist/{install-target-BX2Crr_Y.js → install-target-9iPjuY88.js} +0 -0
  2029. /package/dist/{installs-DbMRUEa5.js → installs-30EmXCK0.js} +0 -0
  2030. /package/dist/{ipv4-Lxd0AUyd.js → ipv4-Ddm_keVD.js} +0 -0
  2031. /package/dist/{json-mode-DXOGRndc.js → json-mode-Be3c80wJ.js} +0 -0
  2032. /package/dist/{kaijibot.plugin-BhXQfURP.js → kaijibot.plugin-DzS9VUni.js} +0 -0
  2033. /package/dist/{kaijibot.plugin-CtsiVmAP.js → kaijibot.plugin-xVZah2G8.js} +0 -0
  2034. /package/dist/{lifecycle-B9_XEJMF.js → lifecycle-DwLKRe0M.js} +0 -0
  2035. /package/dist/{llm-extractor-bvGxU-9w.js → llm-extractor-CssLZel9.js} +0 -0
  2036. /package/dist/{llm-key-probe-DBxS-6MP.js → llm-key-probe-BH61J04k.js} +0 -0
  2037. /package/dist/{local-date-DXS-3gnV.js → local-date-Dx9LHstd.js} +0 -0
  2038. /package/dist/{logs-cli.runtime-DjFXprX7.js → logs-cli.runtime-DCwDBoHH.js} +0 -0
  2039. /package/dist/{magic-string.es-DBWRzyEr.js → magic-string.es-JqU65QWY.js} +0 -0
  2040. /package/dist/{memory-host-search.runtime-D1s9jwc9.js → memory-host-search.runtime-BKu5Oyo8.js} +0 -0
  2041. /package/dist/{memory-repair-RLio0mfn.js → memory-repair-DONaxvFd.js} +0 -0
  2042. /package/dist/{message.config.runtime-m-HYPbwu.js → message.config.runtime-CbnMOfHF.js} +0 -0
  2043. /package/dist/{message.gateway.runtime-ypqgoSHq.js → message.gateway.runtime-B93AumDT.js} +0 -0
  2044. /package/dist/{metadata-registry-loader-BiXHJddm.js → metadata-registry-loader-Dgk5UBMT.js} +0 -0
  2045. /package/dist/{model-definitions-CqVPpHiG.js → model-definitions-JcfBkTza.js} +0 -0
  2046. /package/dist/{model-id-cnFVogsJ.js → model-id-D1Wk8S2O.js} +0 -0
  2047. /package/dist/{model-param-b-WFgsRlGS.js → model-param-b-B7-mzaOP.js} +0 -0
  2048. /package/dist/{model-suppression.runtime-Cc9MfXhr.js → model-suppression.runtime-Bb9ypkGZ.js} +0 -0
  2049. /package/dist/{models-CGB1Gmfi.js → models--eT1kpdv.js} +0 -0
  2050. /package/dist/{models-DnnqdU39.js → models-CI5KSADc.js} +0 -0
  2051. /package/dist/{models-Cuivu-zg.js → models-D56ZxCfo.js} +0 -0
  2052. /package/dist/{models-JQFu1Rq9.js → models-N8WgRXKT.js} +0 -0
  2053. /package/dist/{oauth-refresh-failure-Bf74s_bF.js → oauth-refresh-failure-DWFIDvjh.js} +0 -0
  2054. /package/dist/{onboard-DQP5yP_h.js → onboard-C36W-uR9.js} +0 -0
  2055. /package/dist/{onboard-BaA-_42k.js → onboard-C5_C5Dgl.js} +0 -0
  2056. /package/dist/{onboard-2v_escld.js → onboard-DDG1-mJG.js} +0 -0
  2057. /package/dist/{onboard-UHJyYUjC.js → onboard-DJoyh-Z8.js} +0 -0
  2058. /package/dist/{onboard-AGZDUqWC.js → onboard-DSxroSTN.js} +0 -0
  2059. /package/dist/{onboard-KTOtavc-.js → onboard-b6hp3tPS.js} +0 -0
  2060. /package/dist/{onboard-config-BXe45WpU.js → onboard-config-Lh_yB7dL.js} +0 -0
  2061. /package/dist/{openai-codex-catalog-DQgPnnGt.js → openai-codex-catalog-DD_VIQlG.js} +0 -0
  2062. /package/dist/{openclaw-migrator-DUfsOWq9.js → openclaw-migrator-CaGcuTUZ.js} +0 -0
  2063. /package/dist/{package-update-utils-D9AkQosZ.js → package-update-utils-Yv076eAO.js} +0 -0
  2064. /package/dist/{parse-log-line-B4l-DSpE.js → parse-log-line-BIaXQg_P.js} +0 -0
  2065. /package/dist/{path-env-CoRBKA1C.js → path-env-Dk2a_giL.js} +0 -0
  2066. /package/dist/{perplexity-web-search-provider.shared-o8SEWE6d.js → perplexity-web-search-provider.shared-65M7qer4.js} +0 -0
  2067. /package/dist/{persona-change-source-sZfR2-3I.js → persona-change-source-QUczl_FE.js} +0 -0
  2068. /package/dist/{ports-BrD2WgKB.js → ports-Qs7MEJp6.js} +0 -0
  2069. /package/dist/{preference-learner-Dd-MkiXx.js → preference-learner-BoMWQ_UT.js} +0 -0
  2070. /package/dist/{probe-70HRGl4a.js → probe-BvHudo6i.js} +0 -0
  2071. /package/dist/{probe-auth-BQSPI8E3.js → probe-auth-DhX7blo2.js} +0 -0
  2072. /package/dist/{probe-target-DD7FyREr.js → probe-target-BeTB7wVs.js} +0 -0
  2073. /package/dist/{program-context-BcxnUK0Z.js → program-context-B9uUWtK2.js} +0 -0
  2074. /package/dist/{provider-api-key-auth.runtime-HSJGnSmr.js → provider-api-key-auth.runtime-N653FDIT.js} +0 -0
  2075. /package/dist/{provider-auth-choice-helpers-CcPOjvnI.js → provider-auth-choice-helpers-ChvFgjfz.js} +0 -0
  2076. /package/dist/{provider-auth-guidance-ChSkQI-k.js → provider-auth-guidance-Ctl6x9Du.js} +0 -0
  2077. /package/dist/{provider-catalog-145O7qu0.js → provider-catalog-BDAFvO45.js} +0 -0
  2078. /package/dist/{provider-catalog-BV3gdu3r.js → provider-catalog-CO-sQSae.js} +0 -0
  2079. /package/dist/{provider-catalog-BWbMEO1u.js → provider-catalog-D34gpSgG.js} +0 -0
  2080. /package/dist/{provider-catalog-CmraKltl.js → provider-catalog-Dwp85UjM.js} +0 -0
  2081. /package/dist/{provider-catalog-CGGu1xY7.js → provider-catalog-NxTI5xr-.js} +0 -0
  2082. /package/dist/{provider-catalog-BwaMk_71.js → provider-catalog-dX-9JR2_.js} +0 -0
  2083. /package/dist/{provider-models-Cj2Dj2Eb.js → provider-models-BS_NZn6m.js} +0 -0
  2084. /package/dist/{provider-models-yFLzb_gM.js → provider-models-BrE46jCo2.js} +0 -0
  2085. /package/dist/{provider-oauth-flow-Dwldw3m9.js → provider-oauth-flow-CdiPoFwM.js} +0 -0
  2086. /package/dist/{provider-openai-codex-oauth-tls-B5spv5ZL.js → provider-openai-codex-oauth-tls-Dd7Khxm1.js} +0 -0
  2087. /package/dist/{qa-cli-CHZ17YNo.js → qa-cli-BTEZmDBl.js} +0 -0
  2088. /package/dist/{realtime-transcription-provider-CaGqiqi5.js → realtime-transcription-provider-DKVD0xK4.js} +0 -0
  2089. /package/dist/{register.backup-DEGba8yV.js → register.backup-BsTZm_ln.js} +0 -0
  2090. /package/dist/{remote-env-XoAdM3lK.js → remote-env-DlSMoBM9.js} +0 -0
  2091. /package/dist/{replay-policy-Cz4vCd2t.js → replay-policy-DBCcSA9H.js} +0 -0
  2092. /package/dist/{reply-payloads-dedupe.runtime-DHqFOSfO.js → reply-payloads-dedupe.runtime-DoaNG4lo.js} +0 -0
  2093. /package/dist/{resolve-pBPj3wEy.js → resolve-D1pCHyvv.js} +0 -0
  2094. /package/dist/{responses-tool-shared-CjK_9Hne.js → responses-tool-shared-DHcb1dPQ.js} +0 -0
  2095. /package/dist/{root-help-metadata-CHfvsXBe.js → root-help-metadata-Drx7dB2u.js} +0 -0
  2096. /package/dist/{rpc.runtime-DvvupI-T.js → rpc.runtime-DUWYp4eO.js} +0 -0
  2097. /package/dist/{runtime-api-BzmBrFf3.js → runtime-api-CUPLCkbC.js} +0 -0
  2098. /package/dist/{runtime-manifest.runtime-T4MgRCzw.js → runtime-manifest.runtime-CT5Jdegq.js} +0 -0
  2099. /package/dist/{runtime-model-auth.runtime-DkBcOdwA.js → runtime-model-auth.runtime-C1QVotRO.js} +0 -0
  2100. /package/dist/{runtime-web-channel-plugin-CSkwa3oV.js → runtime-web-channel-plugin-B_jKtF5_.js} +0 -0
  2101. /package/dist/{runtime-web-tools-fallback.runtime-Cl479qhm.js → runtime-web-tools-fallback.runtime-vvVY2hzf.js} +0 -0
  2102. /package/dist/{runtime-web-tools-manifest.runtime-BsrsHIeH.js → runtime-web-tools-manifest.runtime-q4FwzQyo.js} +0 -0
  2103. /package/dist/{runtime-web-tools-public-artifacts.runtime--NfpoCOF.js → runtime-web-tools-public-artifacts.runtime-DH1OendY.js} +0 -0
  2104. /package/dist/{schedule-10eqkliM.js → schedule-B0pphiI5.js} +0 -0
  2105. /package/dist/{secret-file-yoaT8Z2N.js → secret-file-CZYHVmYt.js} +0 -0
  2106. /package/dist/{session-archive.runtime-CoAMhBxN.js → session-archive.runtime-DMp_Mux1.js} +0 -0
  2107. /package/dist/{session-fork.runtime-CZDDfV7c.js → session-fork.runtime--xGBhpew.js} +0 -0
  2108. /package/dist/{setup.plugin-config-B6erjihE.js → setup.plugin-config-DcRd-H0v.js} +0 -0
  2109. /package/dist/{setup.secret-input-BR7Y2Hg1.js → setup.secret-input-NrcTToqs.js} +0 -0
  2110. /package/dist/{skill-draft-generator-C8zPLkD-.js → skill-draft-generator-m9nku0CK.js} +0 -0
  2111. /package/dist/{skill-reviewer-ZeuLRxUy.js → skill-reviewer-BzUB5yY8.js} +0 -0
  2112. /package/dist/{skill-scanner-C3hWfmOb.js → skill-scanner-BlxMlpUH.js} +0 -0
  2113. /package/dist/{skill-writer-DNOmOldW.js → skill-writer-C43S6Lsi.js} +0 -0
  2114. /package/dist/{soul-cli-Co0KcdP3.js → soul-cli-Bb2iCP9P.js} +0 -0
  2115. /package/dist/{ssh-config-m0F_3hKh.js → ssh-config-BA1Y7a8V.js} +0 -0
  2116. /package/dist/{status-config-DbtvFlek.js → status-config-IryaKgaK.js} +0 -0
  2117. /package/dist/{status.agent-local-BNfQnBBE.js → status.agent-local-VigNjFn5.js} +0 -0
  2118. /package/dist/{status.gateway-connection.runtime-eEPv-X0Z.js → status.gateway-connection.runtime-YZTKQZGP.js} +0 -0
  2119. /package/dist/{status.scan.deps.runtime-BAPi7Dm4.js → status.scan.deps.runtime-d3HueyxP.js} +0 -0
  2120. /package/dist/{store-CeTaOlf7.js → store-C-kqItww.js} +0 -0
  2121. /package/dist/{store-DE9I_z-U.js → store-CioZN-iH.js} +0 -0
  2122. /package/dist/{store-BFeUim-y.js → store-Dji_Mahl.js} +0 -0
  2123. /package/dist/{stream-BoFx9-PE.js → stream-BENwbELC.js} +0 -0
  2124. /package/dist/{stream-Bb3o_iaj.js → stream-C2mX5-8a.js} +0 -0
  2125. /package/dist/{subagent-followup-hints-DSxKx2h5.js → subagent-followup-hints-BSNsTYsF.js} +0 -0
  2126. /package/dist/{supervisor-log.runtime-CtoSv_g7.js → supervisor-log.runtime-BSystMWy.js} +0 -0
  2127. /package/dist/{systemd-linger-BeOkR_jw.js → systemd-linger-p1W5Ka5U.js} +0 -0
  2128. /package/dist/{table-B8RObGt5.js → table-UVJgHZWO.js} +0 -0
  2129. /package/dist/{targets.runtime-BTOlvIZi.js → targets.runtime-Dy1_53At.js} +0 -0
  2130. /package/dist/{task-registry.audit.shared-D1VOvgzO.js → task-registry.audit.shared-Bzuti1TG.js} +0 -0
  2131. /package/dist/{text-similarity-DIRFELa3.js → text-similarity-BLCcuUbL.js} +0 -0
  2132. /package/dist/{trust-calculator-lCRAZCPt.js → trust-calculator-CEYEccNS.js} +0 -0
  2133. /package/dist/{tts-CUq9yK2z.js → tts-CKB2MJSq.js} +0 -0
  2134. /package/dist/{tts-B0_QVtVV.js → tts-y10rjplW.js} +0 -0
  2135. /package/dist/{tts.runtime-DIBAMvsb.js → tts.runtime-DJhcLC3T.js} +0 -0
  2136. /package/dist/{types-CNJErmew.js → types-Cl5KlDxs.js} +0 -0
  2137. /package/dist/{video-http-BlHIyytb.js → video-http-lbLggCxb.js} +0 -0
  2138. /package/dist/{widearea-dns-BWrAD9S6.js → widearea-dns-DYys1Z7C.js} +0 -0
  2139. /package/dist/{x-search-tool-shared-Cxa0ul0H.js → x-search-tool-shared-Dy7MMhpV.js} +0 -0
@@ -0,0 +1,1829 @@
1
+ import { t as createSubsystemLogger } from "./subsystem-qDUB67UD.js";
2
+ import { p as resolveDefaultModelForAgent } from "./model-selection-a61omA_3.js";
3
+ import { p as resolveAgentWorkspaceDir } from "./agent-scope-DfuA1KpS.js";
4
+ import { _ as loadSoulPresetContent } from "./workspace-DbhTI_u7.js";
5
+ import "./defaults-COZq2n5p.js";
6
+ import { o as resolveSoulPreset } from "./bootstrap-files-BdiNK101.js";
7
+ import { n as prepareSimpleCompletionModel } from "./simple-completion-runtime-u5DC413F.js";
8
+ import { a as pickPromptVariant } from "./preference-learner-BoMWQ_UT.js";
9
+ import path from "node:path";
10
+ import os from "node:os";
11
+ import fs from "node:fs/promises";
12
+ import { randomUUID } from "node:crypto";
13
+ import { complete } from "@earendil-works/pi-ai";
14
+ //#region src/cognitive/insight/content-similarity.ts
15
+ function extractTrigrams(text) {
16
+ const trigrams = /* @__PURE__ */ new Set();
17
+ const normalized = text.toLowerCase().replace(/\s+/g, " ").trim();
18
+ for (let i = 0; i <= normalized.length - 3; i++) trigrams.add(normalized.slice(i, i + 3));
19
+ return trigrams;
20
+ }
21
+ function computeTrigramSimilarity(a, b) {
22
+ if (a.length < 3 || b.length < 3) return 0;
23
+ const trigramsA = extractTrigrams(a);
24
+ const trigramsB = extractTrigrams(b);
25
+ if (trigramsA.size === 0 || trigramsB.size === 0) return 0;
26
+ let overlap = 0;
27
+ for (const t of trigramsA) if (trigramsB.has(t)) overlap++;
28
+ return overlap / Math.max(trigramsA.size, trigramsB.size);
29
+ }
30
+ const CHINESE_STOP_CHARS = "的了是在和与但也都就把被让对给从到为以其之所等着过得地会有能可以要将于中上下里外时后前间个这那什么怎么哪几多少";
31
+ function extractChinesePhrases(text) {
32
+ let spaced = text;
33
+ for (const ch of CHINESE_STOP_CHARS) spaced = spaced.replaceAll(ch, " ");
34
+ return spaced.split(/[\s,,。.??!!;;::、""''「」【】()()[\]{}<>《》/\\—–-]+/).map((s) => s.trim()).filter((s) => s.length >= 2 && s.length <= 20);
35
+ }
36
+ function computeContentWordOverlap(a, b) {
37
+ const phrasesA = extractChinesePhrases(a);
38
+ const phrasesB = extractChinesePhrases(b);
39
+ if (phrasesA.length === 0 || phrasesB.length === 0) return 0;
40
+ const cjkFilter = (s) => [...s].filter((ch) => ch.charCodeAt(0) > 11903);
41
+ const charsA = new Set(cjkFilter(phrasesA.join("")).map((c) => c.toLowerCase()));
42
+ const charsB = new Set(cjkFilter(phrasesB.join("")).map((c) => c.toLowerCase()));
43
+ if (charsA.size === 0 || charsB.size === 0) return 0;
44
+ let intersection = 0;
45
+ for (const ch of charsA) if (charsB.has(ch)) intersection++;
46
+ const union = new Set([...charsA, ...charsB]).size;
47
+ return union > 0 ? intersection / union : 0;
48
+ }
49
+ function extractContentThemes(contents) {
50
+ if (contents.length === 0) return [];
51
+ const freq = /* @__PURE__ */ new Map();
52
+ for (const text of contents) for (const phrase of extractChinesePhrases(text)) freq.set(phrase, (freq.get(phrase) ?? 0) + 1);
53
+ return [...freq.entries()].toSorted((a, b) => b[1] - a[1]).slice(0, 15).map(([phrase]) => phrase);
54
+ }
55
+ function isDuplicateBySemanticOverlap(newContent, recentContents, options) {
56
+ const trigramThreshold = options?.trigramThreshold ?? .6;
57
+ const contentWordThreshold = options?.contentWordThreshold ?? .15;
58
+ for (const recent of recentContents) {
59
+ if (computeTrigramSimilarity(newContent, recent) > trigramThreshold) return true;
60
+ if (computeContentWordOverlap(newContent, recent) > contentWordThreshold) return true;
61
+ }
62
+ return false;
63
+ }
64
+ //#endregion
65
+ //#region src/cognitive/insight/interest-inference.ts
66
+ const log$1 = createSubsystemLogger("cognitive/interest-inference");
67
+ function resolveInferenceModel(config) {
68
+ const explicit = config.cognitive?.insight?.inferenceModel ?? config.cognitive?.persona?.extractionModel;
69
+ if (explicit) return explicit;
70
+ const resolved = resolveDefaultModelForAgent({ cfg: config });
71
+ return `${resolved.provider}/${resolved.model}`;
72
+ }
73
+ function parseSearchStrategyResponse(raw) {
74
+ const cleaned = raw.replace(/^```(?:json)?\s*/m, "").replace(/\s*```$/m, "").trim();
75
+ let parsed;
76
+ try {
77
+ parsed = JSON.parse(cleaned);
78
+ } catch {
79
+ return {
80
+ ok: false,
81
+ error: `Invalid JSON in inference response: ${cleaned.slice(0, 120)}`
82
+ };
83
+ }
84
+ if (typeof parsed.inferredInterest !== "string" || typeof parsed.searchQuery !== "string" || typeof parsed.bridgeReasoning !== "string" || !Array.isArray(parsed.avoidTopics) || typeof parsed.estimatedSurprise !== "number") return {
85
+ ok: false,
86
+ error: "Missing required fields in inference response"
87
+ };
88
+ const estimatedSurprise = clamp01$1(parsed.estimatedSurprise);
89
+ return {
90
+ ok: true,
91
+ strategy: {
92
+ inferredInterest: parsed.inferredInterest,
93
+ searchQuery: parsed.searchQuery,
94
+ bridgeReasoning: parsed.bridgeReasoning,
95
+ avoidTopics: parsed.avoidTopics.map(String),
96
+ estimatedSurprise,
97
+ personaAnchor: typeof parsed.personaAnchor === "string" ? parsed.personaAnchor : void 0,
98
+ candidateQueries: Array.isArray(parsed.candidateQueries) ? parsed.candidateQueries.map(String).filter((q) => q.length > 0) : void 0,
99
+ recencyDays: 90
100
+ }
101
+ };
102
+ }
103
+ function clamp01$1(value) {
104
+ return Math.max(0, Math.min(1, value));
105
+ }
106
+ function buildInterestInferencePrompt(persona, input, mode = "surprise", fragments) {
107
+ const domainEntries = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.depth - a.depth);
108
+ const knownKnowledge = domainEntries.length > 0 ? domainEntries.slice(0, 20).map(([name, d]) => {
109
+ const insights = getFilteredInsights(d).slice(0, 3).join("; ");
110
+ return `- ${name} (depth: ${d.depth})${insights ? ` — ${insights}` : ""}`;
111
+ }).join("\n") : "(no domains established yet)";
112
+ const expertDomains = persona.identity.expertDomains ?? [];
113
+ const interestDomains = persona.identity.interestDomains ?? [];
114
+ const curiosityDomains = persona.identity.curiosityDomains ?? [];
115
+ const explicitInterests = [
116
+ ...expertDomains.map((d) => `[expert] ${d}`),
117
+ ...interestDomains.map((d) => `[interest] ${d}`),
118
+ ...curiosityDomains.map((d) => `[curiosity] ${d}`)
119
+ ];
120
+ const explicitBlock = explicitInterests.length > 0 ? explicitInterests.join("\n") : "(not yet established)";
121
+ const curiositySet = new Set(curiosityDomains);
122
+ const knownDomainSet = new Set(Object.keys(persona.domains));
123
+ const gaps = [...curiositySet].filter((d) => !knownDomainSet.has(d) || (persona.domains[d]?.depth ?? 0) < 2);
124
+ const fragmentGaps = (fragments ?? []).filter((f) => f.kind === "knowledge_gap").slice(0, 4).map((f) => f.evidence);
125
+ const activeQuestions = domainEntries.slice(0, 5).flatMap(([, d]) => d.activeQuestions ?? []).slice(0, 4);
126
+ const allGaps = [
127
+ ...gaps,
128
+ ...fragmentGaps.filter((g) => !gaps.some((existing) => existing.toLowerCase() === g.toLowerCase())),
129
+ ...activeQuestions.filter((q) => !gaps.some((e) => e.toLowerCase() === q.toLowerCase()) && !fragmentGaps.some((f) => f.toLowerCase() === q.toLowerCase()))
130
+ ];
131
+ const gapsBlock = allGaps.length > 0 ? allGaps.map((d) => `- ${d}`).join("\n") : "(no clear gaps identified)";
132
+ const connectionsBlock = "(no domain connections yet)";
133
+ const recentFocus = persona.recentFocus.slice(0, 5);
134
+ const recentFocusBlock = recentFocus.length > 0 ? recentFocus.map((f) => `- ${f}`).join("\n") : "(none)";
135
+ const topDiscussed = domainEntries.toSorted(([, a], [, b]) => b.recurrence - a.recurrence).slice(0, 3).map(([name]) => name);
136
+ const isExtend = mode === "extend";
137
+ const hasTargetDomains = input.targetDomains.length > 0;
138
+ const targetDomainsBlock = hasTargetDomains ? `\n## TARGET DOMAIN FOR THIS INSIGHT\nThe insight pipeline has selected the following domain(s) as the focus area for this insight:\n${input.targetDomains.map((d) => `- ${d}`).join("\n")}\n\nThe searchQuery MUST be specifically about or related to these target domain(s).\n` : "";
139
+ const taskInstruction = isExtend ? hasTargetDomains ? `Generate a focused search query to deepen understanding of "${input.targetDomains[0]}". Find a surprising angle, recent development, or lesser-known aspect within this specific domain.` : `Analyze this user's knowledge structure. Identify their MOST ACTIVE domain and generate a focused search query to deepen understanding of it. The query should target practical applications or recent developments in that domain.` : hasTargetDomains ? `The pipeline has selected "${input.targetDomains.join("\" or \"")}" as the focus area. Find a SURPRISINGLY ADJACENT angle — the searchQuery MUST include at least one recognizable keyword from "${input.targetDomains.join("\" or \"")}" to stay grounded in the user's knowledge. The surprise should come from the ANGLE, not from drifting to an unrelated topic. Something the user would find surprising and valuable, but hasn't explicitly explored.` : `Analyze this user's knowledge structure. Identify a LATENT interest — something they would find surprising and valuable, but that they haven't explicitly explored. The latent interest should bridge from what they know to something adjacent but unexpected.`;
140
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
141
+ return `You are an expert at identifying latent interests and knowledge gaps from a user's knowledge profile.
142
+
143
+ ## USER'S KNOWN KNOWLEDGE
144
+ ${knownKnowledge}
145
+
146
+ ## EXPLICIT INTERESTS
147
+ ${explicitBlock}
148
+
149
+ ## KNOWLEDGE GAPS
150
+ ${gapsBlock}
151
+
152
+ ## DOMAIN CONNECTIONS
153
+ ${connectionsBlock}
154
+
155
+ ## RECENT FOCUS
156
+ ${recentFocusBlock}
157
+ ${targetDomainsBlock}
158
+ ## TASK
159
+ ${taskInstruction}
160
+
161
+ Constraints:
162
+ ${isExtend ? `- The searchQuery must be 2-6 English keywords targeting practical applications or recent developments in the user's most active domain
163
+ - The estimatedSurprise should be moderate (0.3–0.6) since this is for extending known domains
164
+ - Prefer queries that surface actionable content: tools, case studies, benchmarks, or how-to guides
165
+ - Include the year ${currentYear} in the searchQuery to prioritize recent content` : `- The searchQuery must be 2-6 English keywords suitable for a web search API
166
+ - The estimatedSurprise must be between 0.6 and 1.0 (this is for surprise-mode insights only)
167
+ - The searchQuery MUST contain at least one keyword from the target domains to prevent drift
168
+ - Do NOT suggest topics the user is already an expert in
169
+ - Prefer cross-domain bridges that connect two areas the user knows about in an unexpected way
170
+ - Include the year ${currentYear} in the searchQuery to surface cutting-edge developments`}
171
+ - avoidTopics should contain the user's most-discussed domains to avoid re-treading: ${topDiscussed.join(", ")}
172
+ - Prefer topics with recent developments (${currentYear - 2}-${currentYear}). The searchQuery should target current trends, new tools, recent research, or emerging techniques — not general knowledge or introductory content.
173
+
174
+ Respond with ONLY a JSON object (no markdown, no code fences):
175
+ {
176
+ "inferredInterest": "A concise description of the latent interest",
177
+ "searchQuery": "2-6 English keywords for web search",
178
+ "bridgeReasoning": "Why this connects to the user's latent interests and what they already know",
179
+ "avoidTopics": ["domain1", "domain2", "domain3"],
180
+ "estimatedSurprise": 0.8,
181
+ "personaAnchor": "A specific concrete noun from the user's persona (a tool, project, technique, or concept they mentioned)",
182
+ "candidateQueries": [
183
+ "event-driven query: {personaAnchor} 新进展 OR 突破 OR 发布",
184
+ "comparison query: {personaAnchor} vs {alternative} benchmark"
185
+ ]
186
+ }`;
187
+ }
188
+ async function inferSearchStrategy(persona, input, config, deps, mode = "surprise") {
189
+ const modelRef = resolveInferenceModel(config);
190
+ try {
191
+ const prepared = await deps.prepareModel(config, modelRef);
192
+ if ("error" in prepared) {
193
+ log$1.warn("model preparation failed", { error: prepared.error });
194
+ return {
195
+ ok: false,
196
+ error: `Model preparation failed: ${prepared.error}`
197
+ };
198
+ }
199
+ const messages = [{
200
+ role: "user",
201
+ content: buildInterestInferencePrompt(persona, input, mode),
202
+ timestamp: Date.now()
203
+ }];
204
+ const text = (await deps.complete(prepared.model, { messages }, {
205
+ apiKey: prepared.auth.apiKey,
206
+ maxTokens: 2e3,
207
+ temperature: .9,
208
+ signal: AbortSignal.timeout(3e4)
209
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
210
+ if (!text) {
211
+ log$1.warn("LLM returned empty inference response");
212
+ return {
213
+ ok: false,
214
+ error: "LLM returned empty response"
215
+ };
216
+ }
217
+ const parsed = parseSearchStrategyResponse(text);
218
+ if (parsed.ok) log$1.info("inferred search strategy", {
219
+ inferredInterest: parsed.strategy.inferredInterest,
220
+ searchQuery: parsed.strategy.searchQuery,
221
+ estimatedSurprise: parsed.strategy.estimatedSurprise
222
+ });
223
+ else log$1.warn("failed to parse inference response", {
224
+ error: parsed.error,
225
+ raw: text.slice(0, 200)
226
+ });
227
+ return parsed;
228
+ } catch (err) {
229
+ const isTimeout = err instanceof DOMException && err.name === "TimeoutError";
230
+ log$1.warn(`interest inference ${isTimeout ? "timed out" : "failed"}`, { error: String(err) });
231
+ return {
232
+ ok: false,
233
+ error: `Interest inference failed: ${String(err)}`
234
+ };
235
+ }
236
+ }
237
+ //#endregion
238
+ //#region src/cognitive/insight/llm-engine.ts
239
+ const log = createSubsystemLogger("cognitive/insight-llm");
240
+ const EXCLUDED_INSIGHT_CATEGORIES = new Set(["tool_config", "contextual_fact"]);
241
+ function getFilteredInsights(domain, exclude = EXCLUDED_INSIGHT_CATEGORIES) {
242
+ if (domain.insights && domain.insights.length > 0) return domain.insights.filter((i) => !exclude.has(i.category)).toSorted((a, b) => b.confidence * b.evidenceCount - a.confidence * a.evidenceCount).map((i) => i.text);
243
+ return domain.keyInsights;
244
+ }
245
+ const SEARCH_PROVIDER_DOMAINS = new Set([
246
+ "exa.ai",
247
+ "tavily.com",
248
+ "search.brave.com",
249
+ "api.exa.ai",
250
+ "api.tavily.com"
251
+ ]);
252
+ function isSearchProviderUrl(url) {
253
+ try {
254
+ const host = new URL(url).hostname;
255
+ return SEARCH_PROVIDER_DOMAINS.has(host) || [...SEARCH_PROVIDER_DOMAINS].some((d) => host.endsWith(`.${d}`) || host === d);
256
+ } catch {
257
+ return false;
258
+ }
259
+ }
260
+ const FRAGMENT_KINDS_FOR_PROMPT = new Set([
261
+ "knowledge_gap",
262
+ "assumption",
263
+ "implicit_priority"
264
+ ]);
265
+ function classifyRhetoricalMove(text) {
266
+ const t = text.trim();
267
+ if (/(是否|难道|有没有|会不会)/.test(t.slice(0, 20))) return "提问式";
268
+ if (/(其实|但.*实际上|表面上.*实际上|看似.*实则)/.test(t.slice(0, 30))) return "悖论式";
269
+ if (/(建议|推荐|试试|用.*做|直接用)/.test(t.slice(0, 30))) return "推荐式";
270
+ if (/(就像|好比|类似于|跟.*一样|本质上.*就是)/.test(t.slice(0, 30))) return "类比式";
271
+ if (/^(你|你的)/.test(t)) return "观察式";
272
+ return "事实开头";
273
+ }
274
+ function buildBannedOpeningsSection(recentInsightContents) {
275
+ if (recentInsightContents.length === 0) return "";
276
+ const charBans = recentInsightContents.slice(-5).map((c) => c.trim().slice(0, 8)).filter((o) => o.length >= 4).map((o) => `不要以"${o}"开头`).join(";");
277
+ const moves = [...new Set(recentInsightContents.slice(-5).map(classifyRhetoricalMove))];
278
+ return [charBans, moves.length > 0 ? `不要使用以下修辞手法作为开头:${moves.join("、")}` : ""].filter(Boolean).join("\n");
279
+ }
280
+ function buildFragmentSection(fragments) {
281
+ const relevant = fragments.filter((f) => FRAGMENT_KINDS_FOR_PROMPT.has(f.kind));
282
+ if (relevant.length === 0) return "";
283
+ return [...relevant].toSorted((a, b) => b.strength - a.strength).slice(0, 6).map((f) => `- [${f.kind}] ${f.evidence}`).join("\n");
284
+ }
285
+ function buildVoiceSection(persona) {
286
+ const style = persona.identity?.communicationStyle;
287
+ const name = persona.identity?.displayName ?? "the user";
288
+ const parts = [];
289
+ parts.push(`You're writing to ${name}, a person you know well. This is a proactive message — like suddenly remembering something fascinating to tell a friend.`);
290
+ if (style) {
291
+ if (style.formality === "casual") parts.push("Tone: casual, like chatting with a close friend. Use 你 not 您.");
292
+ else if (style.formality === "formal") parts.push("Tone: professional but warm. You can use 您 but keep it conversational.");
293
+ else parts.push("Tone: natural and conversational. Match whatever feels right for the content.");
294
+ if (style.technicalLevel === "expert") parts.push("Assume deep technical literacy. Use technical terms freely without explanation.");
295
+ else if (style.technicalLevel === "beginner") parts.push("Explain technical concepts briefly when they appear. Avoid jargon.");
296
+ if (style.verbosity === "concise") parts.push("Be brief: 1-2 sentences maximum. Every word earns its place.");
297
+ else if (style.verbosity === "detailed") parts.push("You can use 2-3 sentences. Give enough context to be self-contained.");
298
+ }
299
+ return parts.join("\n");
300
+ }
301
+ const DIVERSE_FEW_SHOT_SETS = [
302
+ {
303
+ name: "挑衅提问 (Provocative question)",
304
+ examples: [{
305
+ context: "User built Thompson Sampling into insight system but never A/B tested with real users.",
306
+ chinese: "你给洞察系统接了 Thompson Sampling 来学用户偏好,但你拿真人验证过这些优化到底是不是真的更好吗?bandit 收敛了不代表用户满意了,只代表系统停止了探索。",
307
+ english: "You wired Thompson Sampling into the insight system to learn user preferences, but have you validated with real people whether these optimizations actually feel better? Bandit convergence doesn't mean user satisfaction — it means the system stopped exploring."
308
+ }, {
309
+ context: "User has philosophy + tech cross-domain interests, designs quality gates.",
310
+ chinese: "为什么你给认知系统设计了 PRISM 门控和 SIRI 循环,却从没给对话本身加过质量门控?用户发「嗯」和发一段三百字的追问,你用的是同一套回复逻辑。",
311
+ english: "Why did you design PRISM gating and SIRI loops for the cognitive system, but never added quality gating to conversations themselves? A user sending 'hmm' and a user sending a 300-word follow-up get the same response logic."
312
+ }]
313
+ },
314
+ {
315
+ name: "直接行动 (Direct action)",
316
+ examples: [{
317
+ context: "User's insight pipeline has long refine loops that over-polish output.",
318
+ chinese: "把 refine 循环的最大重试次数从 2 降到 1。你的 critique 步骤已经足够严格,第二轮 refine 几乎总是在过度修饰第一轮的输出,反而损失了原始表达的力度。",
319
+ english: "Drop the refine loop max retries from 2 to 1. Your critique step is already strict enough — the second refine round almost always over-polishes the first round's output, losing the raw expressive force."
320
+ }, {
321
+ context: "User's persona has many domains with low depth consuming prompt space.",
322
+ chinese: "给深度低于 1.0 的领域加个自动衰减标签。你有 17 个领域但只有 5 个深度超过 2.0,低深度领域在占 prompt 空间却不产生高质量洞察。",
323
+ english: "Add an auto-decay tag for domains with depth below 1.0. You have 17 domains but only 5 above depth 2.0 — the shallow ones consume prompt space without producing high-quality insights."
324
+ }]
325
+ },
326
+ {
327
+ name: "数据冲击 (Data impact)",
328
+ examples: [{
329
+ context: "User's cognitive system generates ~1.8 insights/day with 30% reply rate.",
330
+ chinese: "你的系统平均每天生成 1.8 条洞察,但用户回复率只有 30%。每周有 8 条洞察被发出去然后被忽略。问题可能不在内容质量,而在发送时机和频率。",
331
+ english: "Your system generates an average of 1.8 insights per day, but the user reply rate is only 30%. That's 8 insights per week sent and ignored. The problem might not be content quality but timing and frequency."
332
+ }, {
333
+ context: "User's insight pipeline has 6 quality gates with 40% delivery rate.",
334
+ chinese: "从 LLM 生成到最终投递,一条洞察要经过 6 道质量检查。你的投递率大约 40%,意味着 60% 的 LLM 调用被浪费了。考虑在生成阶段就提高准入门槛,而不是在后面层层拦截。",
335
+ english: "From LLM generation to final delivery, each insight passes through 6 quality checks. Your delivery rate is about 40%, meaning 60% of LLM calls are wasted. Consider raising the bar at generation time instead of filtering downstream."
336
+ }]
337
+ },
338
+ {
339
+ name: "跨域迁移 (Cross-domain transfer)",
340
+ examples: [{
341
+ context: "User works on both existentialist philosophy and AI architecture.",
342
+ chinese: "你在哲学里用的「坐标系选择」思路,直接搬到 API 设计上就是:每个接口都隐含了一个世界观,换接口不只是换参数,是换看你系统的角度。GraphQL 和 REST 的争论本质上是康德和黑格尔的争论。",
343
+ english: "The 'coordinate system choice' approach you use in philosophy maps directly onto API design: every interface implies a worldview, and switching APIs isn't just changing parameters — it's changing the angle from which you view the system. The GraphQL vs REST debate is fundamentally the Kant vs Hegel debate."
344
+ }, {
345
+ context: "User's Rust background + cognitive system design with persona fields.",
346
+ chinese: "你写 Rust 时用的 borrow checker 思维,放到认知系统设计上就是:每个 persona 字段都应该有明确的 lifecycle owner。你的 feedbackProfile 有 12 个字段但只有 3 个有明确的更新来源,剩下的 9 个靠散落的 side effect 维护。",
347
+ english: "The borrow checker mindset you use writing Rust, applied to cognitive system design, means: every persona field should have a clear lifecycle owner. Your feedbackProfile has 12 fields but only 3 have explicit update sources — the other 9 are maintained by scattered side effects."
348
+ }]
349
+ }
350
+ ];
351
+ const DIVERSITY_INSTRUCTION = `These examples demonstrate the expected QUALITY LEVEL and DEPTH of observation. Do NOT copy their structure, sentence pattern, or opening style. Each insight must be uniquely shaped by the specific user data and fragments you see. Every insight should feel like it could ONLY be about THIS specific user. 禁止使用"你做X时用的正是Y哲学概念"或"X本质上就是Y"这类类比框架作为主要结构。当哲学确实是最佳角度时直接说哲学内容,不要用"你用的正是"句式包装。`;
352
+ const EMOTIONAL_STANCES = [
353
+ "你刚发现一个东西,迫不及待想跟{name}分享。直接说,像发消息一样。",
354
+ "你对某个观点有疑虑,想直接跟{name}提出来。诚实但不攻击。",
355
+ "你注意到一个有趣的模式,安静地跟{name}说出来。不要分析,只说观察到的。",
356
+ "你看到一个意想不到的连接,兴奋但不太确定。带着不确定感说。",
357
+ "你想挑战{name}的一个假设。直接但尊重。",
358
+ "你刚想到一件可能对{name}有帮助的事。像朋友给建议,不像系统推送。"
359
+ ];
360
+ function selectEmotionalStance(seed, recent) {
361
+ const used = new Set(recent ?? []);
362
+ for (let offset = 0; offset < EMOTIONAL_STANCES.length; offset++) {
363
+ const idx = (seed + offset) % EMOTIONAL_STANCES.length;
364
+ if (!used.has(idx)) return {
365
+ index: idx,
366
+ text: EMOTIONAL_STANCES[idx]
367
+ };
368
+ }
369
+ const idx = seed % EMOTIONAL_STANCES.length;
370
+ return {
371
+ index: idx,
372
+ text: EMOTIONAL_STANCES[idx]
373
+ };
374
+ }
375
+ const CONTRASTIVE_INSTRUCTION = `CONTRASTIVE FRAMEWORK — your insight MUST be genuinely NEW relative to past insights:
376
+ - COUNTER-EXAMPLE: If a past insight said "X is good", find a case where X fails or the opposite holds.
377
+ - INVERSE FRAMING: If a past insight opened with a fact, open with a question/stakes/paradox instead.
378
+ - ORTHOGONAL OBSERVATION: If past insights covered domain A∩B, find a completely different angle (historical, ethical, practical, engineering) on the same intersection.
379
+ - NOVELTY TEST: Before finalizing, check: "Could this insight be mistaken for a paraphrase of any past insight?" If yes, rewrite.`;
380
+ /**
381
+ * Build the default deps that hit real infrastructure.
382
+ * Import and call this in production code.
383
+ */
384
+ function createDefaultInsightDeps() {
385
+ return {
386
+ complete,
387
+ prepareModel: async (cfg, modelRef) => {
388
+ const extractionModel = cfg.cognitive?.persona?.extractionModel;
389
+ const explicit = modelRef ?? extractionModel;
390
+ if (explicit) {
391
+ const [provider, ...modelParts] = explicit.split("/");
392
+ return prepareSimpleCompletionModel({
393
+ cfg,
394
+ provider,
395
+ modelId: modelParts.join("/") || "glm-5-turbo"
396
+ });
397
+ }
398
+ const resolved = resolveDefaultModelForAgent({ cfg });
399
+ return prepareSimpleCompletionModel({
400
+ cfg,
401
+ provider: resolved.provider,
402
+ modelId: resolved.model
403
+ });
404
+ },
405
+ inferenceDeps: {
406
+ complete,
407
+ prepareModel: async (cfg, modelRef) => {
408
+ const extractionModel = cfg.cognitive?.persona?.extractionModel;
409
+ const explicit = modelRef ?? extractionModel;
410
+ if (explicit) {
411
+ const [provider, ...modelParts] = explicit.split("/");
412
+ return prepareSimpleCompletionModel({
413
+ cfg,
414
+ provider,
415
+ modelId: modelParts.join("/") || "glm-5-turbo"
416
+ });
417
+ }
418
+ const resolved = resolveDefaultModelForAgent({ cfg });
419
+ return prepareSimpleCompletionModel({
420
+ cfg,
421
+ provider: resolved.provider,
422
+ modelId: resolved.model
423
+ });
424
+ }
425
+ }
426
+ };
427
+ }
428
+ /**
429
+ * LLM-based insight generation with template fallback.
430
+ *
431
+ * Sends persona + domain knowledge to the LLM and asks it to produce
432
+ * personalised insight candidates. Falls back to the deterministic
433
+ * template engine whenever the LLM call fails, times out, or returns
434
+ * unparseable output.
435
+ *
436
+ * This function **never throws**.
437
+ */
438
+ async function generateInsightCandidatesLLM(persona, input, config, deps, options) {
439
+ const maxCandidates = options?.maxCandidates ?? 3;
440
+ const mode = input.mode ?? "extend";
441
+ if (mode === "pattern") {
442
+ const { prompt, variant } = buildPatternInsightPrompt(persona, input, input.recentInsightContents, input.soulContent, input.identityContext);
443
+ try {
444
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
445
+ const prepared = await deps.prepareModel(config, modelRef);
446
+ if ("error" in prepared) {
447
+ log.warn(`LLM model preparation failed: ${prepared.error}, skipping insight`);
448
+ return [];
449
+ }
450
+ const timeoutMs = options?.timeout ?? 2e4;
451
+ const systemPrompt = options?.systemContext || void 0;
452
+ const messages = [];
453
+ messages.push({
454
+ role: "user",
455
+ content: prompt,
456
+ timestamp: Date.now()
457
+ });
458
+ const text = (await deps.complete(prepared.model, {
459
+ messages,
460
+ systemPrompt
461
+ }, {
462
+ apiKey: prepared.auth.apiKey,
463
+ maxTokens: options?.maxTokens ?? 2e3,
464
+ temperature: .85,
465
+ signal: AbortSignal.timeout(timeoutMs)
466
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
467
+ if (!text) {
468
+ log.warn("LLM returned empty response for pattern mode, skipping insight");
469
+ return [];
470
+ }
471
+ const candidates = parseLLMInsights(text, maxCandidates);
472
+ if (candidates.length === 0) {
473
+ log.warn("LLM response could not be parsed as insights (pattern mode)", { raw: text.slice(0, 300) });
474
+ return [];
475
+ }
476
+ log.info(`Pattern-mode LLM generated ${candidates.length} insight candidate(s)`);
477
+ const recentContents = input.recentInsightContents;
478
+ const filtered = recentContents.length > 0 ? candidates.filter((c) => !isDuplicateBySemanticOverlap(c.content, recentContents, {
479
+ trigramThreshold: .85,
480
+ contentWordThreshold: .5
481
+ })) : candidates;
482
+ if (filtered.length < candidates.length) log.info("pattern-mode trigram dedup filtered candidates", {
483
+ before: candidates.length,
484
+ after: filtered.length
485
+ });
486
+ return filtered.map((c) => {
487
+ const inputDomains = input.targetDomains;
488
+ const llmDomains = c.targetDomains;
489
+ if (!llmDomains.some((d) => inputDomains.some((id) => id.toLowerCase() === d.toLowerCase())) && inputDomains.length > 0) {
490
+ log.info("force-aligned pattern-mode LLM output domains to input targetDomains", {
491
+ llmDomains,
492
+ inputDomains
493
+ });
494
+ c.targetDomains = [...inputDomains];
495
+ }
496
+ c.promptVariant = variant;
497
+ return c;
498
+ });
499
+ } catch (err) {
500
+ const isTimeout = err instanceof DOMException && err.name === "TimeoutError";
501
+ log.warn(`Pattern-mode LLM insight generation ${isTimeout ? "timed out" : "failed"}: ${String(err)}, skipping insight`);
502
+ return [];
503
+ }
504
+ }
505
+ let webResults = [];
506
+ let searchStrategy;
507
+ let queryUsed;
508
+ if (mode === "surprise" && deps.inferenceDeps) {
509
+ const inferenceResult = await inferSearchStrategy(persona, input, config, deps.inferenceDeps);
510
+ if (inferenceResult.ok) {
511
+ searchStrategy = inferenceResult.strategy;
512
+ if (deps.webSearch && searchStrategy.searchQuery) {
513
+ queryUsed = searchStrategy.searchQuery;
514
+ try {
515
+ webResults = (await cachedWebSearch(deps.webSearch, searchStrategy.searchQuery)).filter((r) => !isSearchProviderUrl(r.url));
516
+ log.info("surprise-mode web search completed", {
517
+ query: searchStrategy.searchQuery,
518
+ resultCount: webResults.length
519
+ });
520
+ } catch (err) {
521
+ log.warn("surprise-mode web search failed", {
522
+ query: searchStrategy.searchQuery,
523
+ error: String(err)
524
+ });
525
+ }
526
+ }
527
+ } else {
528
+ log.info("inference failed, falling back to extend mode", { error: inferenceResult.error });
529
+ return generateExtendMode(persona, input, config, deps, options, maxCandidates);
530
+ }
531
+ } else if (deps.webSearch) {
532
+ let query;
533
+ if (deps.inferenceDeps) try {
534
+ const inferenceResult = await inferSearchStrategy(persona, input, config, deps.inferenceDeps, "extend");
535
+ if (inferenceResult.ok && inferenceResult.strategy.searchQuery) {
536
+ query = inferenceResult.strategy.searchQuery;
537
+ log.info("extend-mode LLM query generated", { query });
538
+ }
539
+ } catch (err) {
540
+ log.warn("extend-mode inference failed, falling back to rule-based query", { error: String(err) });
541
+ }
542
+ if (!query) query = buildSearchQuery(input) || void 0;
543
+ queryUsed = query;
544
+ if (query) try {
545
+ webResults = (await cachedWebSearch(deps.webSearch, query)).filter((r) => !isSearchProviderUrl(r.url));
546
+ log.info("web search completed", {
547
+ query,
548
+ resultCount: webResults.length
549
+ });
550
+ } catch (err) {
551
+ log.warn("web search failed, proceeding without web results", {
552
+ query,
553
+ error: String(err)
554
+ });
555
+ webResults = [];
556
+ }
557
+ else log.info("web search skipped: empty query");
558
+ } else log.info("web search skipped: no webSearch dep provided");
559
+ const outputLanguage = config.cognitive?.insight?.outputLanguage ?? detectOutputLanguage(persona);
560
+ let webSnippetByDomain;
561
+ if (webResults.length > 0) {
562
+ const keywordMap = buildDomainKeywordMap(persona.domains);
563
+ for (const td of input.targetDomains) if (!keywordMap.has(td)) {
564
+ const keywords = /* @__PURE__ */ new Set();
565
+ keywords.add(td.toLowerCase());
566
+ for (const part of td.split(/[/+]/)) {
567
+ const trimmed = part.trim().toLowerCase();
568
+ if (trimmed.length >= 2) keywords.add(trimmed);
569
+ }
570
+ keywordMap.set(td, keywords);
571
+ }
572
+ webSnippetByDomain = matchWebResultsToDomains(webResults, keywordMap);
573
+ }
574
+ const { prompt, variant } = mode === "surprise" && searchStrategy ? buildSurpriseInsightPrompt(persona, input, webResults, input.recentInsightContents, searchStrategy, outputLanguage, webSnippetByDomain, input.soulContent, input.identityContext) : buildInsightPrompt(persona, input, webResults, input.recentInsightContents, webSnippetByDomain, input.soulContent, input.identityContext);
575
+ try {
576
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
577
+ const prepared = await deps.prepareModel(config, modelRef);
578
+ if ("error" in prepared) {
579
+ log.warn(`LLM model preparation failed: ${prepared.error}, skipping insight`);
580
+ return [];
581
+ }
582
+ const timeoutMs = options?.timeout ?? 2e4;
583
+ const systemPrompt = options?.systemContext || void 0;
584
+ const messages = [];
585
+ messages.push({
586
+ role: "user",
587
+ content: prompt,
588
+ timestamp: Date.now()
589
+ });
590
+ const text = (await deps.complete(prepared.model, {
591
+ messages,
592
+ systemPrompt
593
+ }, {
594
+ apiKey: prepared.auth.apiKey,
595
+ maxTokens: options?.maxTokens ?? 2e3,
596
+ temperature: .85,
597
+ signal: AbortSignal.timeout(timeoutMs)
598
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
599
+ if (!text) {
600
+ log.warn("LLM returned empty response, skipping insight");
601
+ return [];
602
+ }
603
+ const candidates = parseLLMInsights(text, maxCandidates);
604
+ if (candidates.length === 0) {
605
+ log.warn("LLM response could not be parsed as insights", { raw: text.slice(0, 300) });
606
+ return [];
607
+ }
608
+ log.info(`LLM generated ${candidates.length} insight candidate(s)`);
609
+ const recentContents = input.recentInsightContents;
610
+ const filtered = recentContents.length > 0 ? candidates.filter((c) => !isDuplicateBySemanticOverlap(c.content, recentContents, {
611
+ trigramThreshold: .85,
612
+ contentWordThreshold: .5
613
+ })) : candidates;
614
+ if (filtered.length < candidates.length) log.info("trigram dedup filtered candidates", {
615
+ before: candidates.length,
616
+ after: filtered.length
617
+ });
618
+ return filtered.map((c) => {
619
+ const inputDomains = input.targetDomains;
620
+ const llmDomains = c.targetDomains;
621
+ if (!llmDomains.some((d) => inputDomains.some((id) => id.toLowerCase() === d.toLowerCase())) && inputDomains.length > 0) {
622
+ log.info("force-aligned LLM output domains to input targetDomains", {
623
+ llmDomains,
624
+ inputDomains
625
+ });
626
+ c.targetDomains = [...inputDomains];
627
+ }
628
+ const enriched = resolveCitedSources(c, webResults);
629
+ if (queryUsed) enriched.searchQueryUsed = queryUsed;
630
+ enriched.promptVariant = variant;
631
+ return enriched;
632
+ });
633
+ } catch (err) {
634
+ const isTimeout = err instanceof DOMException && err.name === "TimeoutError";
635
+ log.warn(`LLM insight generation ${isTimeout ? "timed out" : "failed"}: ${String(err)}, skipping insight`);
636
+ return [];
637
+ }
638
+ }
639
+ async function generateExtendMode(persona, input, config, deps, options, maxCandidates) {
640
+ return generateInsightCandidatesLLM(persona, {
641
+ ...input,
642
+ mode: "extend"
643
+ }, config, deps, {
644
+ ...options,
645
+ maxCandidates
646
+ });
647
+ }
648
+ function detectOutputLanguage(persona) {
649
+ const lang = persona.identity?.primaryLanguage ?? persona.identity?.communicationStyle?.preferredLanguage;
650
+ if (lang === "en") return "en";
651
+ if (lang === "mixed") return "zh";
652
+ return "zh";
653
+ }
654
+ /**
655
+ * Strip conversational noise from a raw user utterance and keep only
656
+ * the noun-phrases / technical terms that are useful as search keywords.
657
+ *
658
+ * Removes:
659
+ * - Feishu user-ID prefixes (`ou_xxx:`, `9cc3e...:`)
660
+ * - Common Chinese conversational fillers / question wrappers
661
+ * - Leading interrogatives (你能不能, 我能怎么, 为什么 etc.)
662
+ * - Stray punctuation
663
+ */
664
+ function extractKeyTerms(text) {
665
+ let cleaned = text.replace(/\bou_[0-9a-f]+\s*:?\s*/g, "").replace(/\b[0-9a-f]{16,}\s*:?\s*/g, "").replace(/^(?:需要我|你能|我能不能|我能怎么|你为什么|是不是|你好[,,]?|请问|能不能|为什么)/, "").replace(/[??,,。.!!]+$/g, "").replace(/(?:才能|的话|到底|这个|那个|一下|帮我|帮我去)/g, " ").trim();
666
+ if (!cleaned) return [];
667
+ return cleaned.split(/[,,??;;、—–]+|(?:的?时候|之前|之后|还是)/).flatMap((s) => {
668
+ const trimmed = s.trim();
669
+ if (!trimmed) return [];
670
+ if (trimmed.length <= 30 && trimmed.length >= 2) return [trimmed];
671
+ if (trimmed.length > 30) return trimmed.split(/\s+/).filter((w) => w.length >= 2 && w.length <= 30);
672
+ return [];
673
+ });
674
+ }
675
+ const SUFFIXES = [
676
+ " 最新进展",
677
+ " 实践案例",
678
+ " 最佳实践",
679
+ " 技术趋势",
680
+ " 新方向"
681
+ ];
682
+ const SEARCH_CACHE_TTL_MS = 7200 * 1e3;
683
+ const MAX_CACHE_ENTRIES = 100;
684
+ const searchCache = /* @__PURE__ */ new Map();
685
+ function cachedWebSearch(webSearch, query) {
686
+ const now = Date.now();
687
+ const cached = searchCache.get(query);
688
+ if (cached && now - cached.fetchedAt < SEARCH_CACHE_TTL_MS) {
689
+ log.info("web search cache hit", { query });
690
+ return Promise.resolve(cached.results);
691
+ }
692
+ if (searchCache.size >= MAX_CACHE_ENTRIES) {
693
+ const staleKeys = [];
694
+ for (const [k, v] of searchCache) if (now - v.fetchedAt >= SEARCH_CACHE_TTL_MS) staleKeys.push(k);
695
+ if (staleKeys.length > 0) for (const k of staleKeys) searchCache.delete(k);
696
+ else {
697
+ const firstKey = searchCache.keys().next().value;
698
+ if (firstKey !== void 0) searchCache.delete(firstKey);
699
+ }
700
+ }
701
+ return webSearch(query).then((results) => {
702
+ searchCache.set(query, {
703
+ results,
704
+ fetchedAt: now
705
+ });
706
+ return results;
707
+ });
708
+ }
709
+ function buildSearchQuery(input) {
710
+ const parts = [];
711
+ const seen = /* @__PURE__ */ new Set();
712
+ const historyTerms = /* @__PURE__ */ new Set();
713
+ const history = input.recentQueryHistory ?? [];
714
+ for (const query of history.slice(-3)) {
715
+ for (const term of extractKeyTerms(query)) historyTerms.add(term.toLowerCase());
716
+ for (const word of query.split(/\s+/)) if (word.length >= 2) historyTerms.add(word.toLowerCase());
717
+ }
718
+ for (const domain of input.targetDomains) {
719
+ const terms = domain.split(/[/+\-\s]+/).filter((p) => p.length > 0);
720
+ if (terms.length > 0 && terms.every((t) => historyTerms.has(t.toLowerCase())) && input.targetDomains.length > 1) continue;
721
+ for (const term of terms) {
722
+ const lower = term.toLowerCase();
723
+ if (!seen.has(lower)) {
724
+ parts.push(term);
725
+ seen.add(lower);
726
+ }
727
+ }
728
+ if (parts.length >= 3) break;
729
+ }
730
+ if (parts.length < 4 && input.recentFocus.length > 0) for (let fi = 0; fi < input.recentFocus.length && parts.length < 4; fi++) {
731
+ const focusTerms = extractKeyTerms(input.recentFocus[fi]);
732
+ for (const term of focusTerms) {
733
+ const lower = term.toLowerCase();
734
+ if (!seen.has(lower)) {
735
+ parts.push(term);
736
+ seen.add(lower);
737
+ }
738
+ if (parts.length >= 4) break;
739
+ }
740
+ }
741
+ if (parts.length === 0) return "";
742
+ const suffixIndex = parts.length <= 2 ? history.length % SUFFIXES.length : -1;
743
+ const suffix = suffixIndex >= 0 ? SUFFIXES[suffixIndex] : "";
744
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear().toString();
745
+ const baseQuery = parts.join(" ") + suffix;
746
+ return (baseQuery.includes(currentYear) ? baseQuery : `${baseQuery} ${currentYear}`).slice(0, 120);
747
+ }
748
+ function resolveCitedSources(candidate, webResults) {
749
+ const indices = candidate.citedSourceIndices ?? [];
750
+ if (webResults.length === 0 || indices.length === 0) return candidate;
751
+ const validIndices = indices.filter((i) => i >= 0 && i < webResults.length);
752
+ if (validIndices.length === 0) return candidate;
753
+ const citedSources = validIndices.map((i) => ({
754
+ url: webResults[i].url,
755
+ title: webResults[i].title,
756
+ credibility: computeSourceCredibility(candidate.content, webResults[i].snippet)
757
+ }));
758
+ return {
759
+ ...candidate,
760
+ sources: citedSources
761
+ };
762
+ }
763
+ function computeSourceCredibility(insightContent, snippet) {
764
+ const tokens = insightContent.toLowerCase().split(/\s+/).filter((t) => t.length > 2);
765
+ const snippetTokens = new Set(snippet.toLowerCase().split(/\s+/).filter((t) => t.length > 2));
766
+ if (tokens.length === 0 || snippetTokens.size === 0) return .3;
767
+ const overlap = tokens.filter((t) => snippetTokens.has(t)).length;
768
+ const jaccard = overlap / (tokens.length + snippetTokens.size - overlap);
769
+ if (jaccard < .15) return .3;
770
+ return Math.min(.5 + jaccard, .9);
771
+ }
772
+ function buildSurpriseInsightPrompt(persona, input, webResults = [], recentInsightContents = [], strategy, outputLanguage = "zh", webSnippetByDomain, soulContent, identityContext) {
773
+ const anchorFacts = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.lastMentioned - a.lastMentioned).flatMap(([name, d]) => getFilteredInsights(d).slice(0, 2).map((ki) => `${name}: ${ki}`)).slice(0, 6);
774
+ const anchorBlock = anchorFacts.length > 0 ? anchorFacts.map((f, i) => `${i + 1}. ${f}`).join("\n") : " (not yet established)";
775
+ const userName = persona.identity?.displayName || "";
776
+ const identityBlock = persona.identity ? [
777
+ userName ? `Name: ${userName}` : "",
778
+ persona.identity.expertDomains?.length ? `Expert in: ${persona.identity.expertDomains.join(", ")}` : "",
779
+ persona.identity.interestDomains?.length ? `Interested in: ${persona.identity.interestDomains.join(", ")}` : ""
780
+ ].filter(Boolean).join("\n") : "";
781
+ const pastInsightBlock = recentInsightContents.length > 0 ? recentInsightContents.slice(-5).map((c, i) => `${i + 1}. ${truncate(c, 120)}`).join("\n") : "";
782
+ const bannedSection = buildBannedOpeningsSection(recentInsightContents);
783
+ const langInstruction = outputLanguage === "en" ? "Output in English." : "用中文输出。";
784
+ const fewShotIdx = input.feedbackProfile ? pickPromptVariant(input.feedbackProfile, DIVERSE_FEW_SHOT_SETS.map((_, i) => `fewShot:${i}`)) : Math.floor(Math.random() * DIVERSE_FEW_SHOT_SETS.length);
785
+ const fewShotBlock = DIVERSE_FEW_SHOT_SETS[fewShotIdx].examples.map((e) => `Context: ${e.context}\n中文: ${e.chinese}\nEnglish: ${e.english}`).join("\n\n");
786
+ const stance = selectEmotionalStance(fewShotIdx, input.recentEmotionalStances);
787
+ const stanceText = stance.text.replace(/\{name\}/g, userName || "the user");
788
+ const indexedWebFindings = buildIndexedWebFindings(webResults);
789
+ return {
790
+ prompt: `${identityContext ? `${identityContext}\n` : ""}${soulContent ? `## YOUR PERSONALITY AND VOICE\n${soulContent}\n` : ""}${buildVoiceSection(persona)}
791
+
792
+ EXAMPLES of ideal insights (match this quality, specificity, and tone):
793
+ ${fewShotBlock}
794
+
795
+ ${DIVERSITY_INSTRUCTION}
796
+
797
+ CRITICAL: Output in your own voice — the same personality the user knows from regular conversations. NOT a formal report, NOT a system notification.
798
+
799
+ You are the AI assistant speaking in your own voice and personality. You are proactively reaching out because you found something that connects to THIS user's specific interests.
800
+
801
+ ${indexedWebFindings ? `RECENT WEB FINDINGS (PRIMARY material — pick ONE and connect it to THIS user):
802
+ ${indexedWebFindings}` : ""}
803
+
804
+ ${identityBlock ? `USER:\n${identityBlock}` : ""}
805
+
806
+ INFERRED LATENT INTEREST:
807
+ Interest: ${strategy.inferredInterest}
808
+ Bridge: ${strategy.bridgeReasoning}
809
+ Why surprising: This area is adjacent to what the user knows but explores a direction they haven't considered.
810
+
811
+ SPECIFIC FACTS YOU KNOW ABOUT THIS USER:
812
+ ${anchorBlock}
813
+
814
+ ${pastInsightBlock ? `\nPAST INSIGHTS (your insight must be CONTRASTIVELY different — see CONTRASTIVE FRAMEWORK below):\n${pastInsightBlock}\n\n${CONTRASTIVE_INSTRUCTION}` : ""}
815
+ ${recentInsightContents.length > 0 ? `\nRECENTLY USED CONTENT THEMES (DO NOT reuse these concepts even for different domains):\n${extractContentThemes(recentInsightContents).join("、")}` : ""}
816
+ ${(input.recentInsightDomains?.length ?? 0) > 0 ? `\nRECENTLY COVERED DOMAIN COMBINATIONS (insight MUST explore NEW territory, NOT repeat these):\n${input.recentInsightDomains.slice(-5).map((domains, i) => `${i + 1}. ${domains.join(" + ")}`).join("\n")}` : ""}
817
+
818
+ YOUR MOOD RIGHT NOW: ${stanceText}
819
+
820
+ TASK:
821
+ You just noticed something and thought of ${userName}. What would you actually say to them? Speak in first person if natural. This isn't an analytical report — it's something that crossed your mind.
822
+
823
+ PERSONALIZATION TEST: The insight MUST reference at least one specific fact from the "SPECIFIC FACTS YOU KNOW ABOUT THIS USER" section above. Generic insights that could apply to anyone will be rejected.
824
+
825
+ Constraints:
826
+ - 1-3 sentences, ${langInstruction}
827
+ - Tone: like suddenly remembering something fascinating to tell a friend
828
+ - Questions, lists, and varied structures are ALLOWED when they serve the insight
829
+ - Forbidden phrases: "值得关注", "挺有意思", "不得不说", "你有没有想过", "最近在关注", "有趣的是", "值得注意的是"
830
+ - Start with a concrete fact, counter-intuitive observation, or specific case — never with "关于", "在...领域", "结合你", "作为"
831
+ - ${bannedSection}
832
+ - Speak naturally, like you're messaging a friend — not writing an analytical report
833
+ ${webResults.length > 0 ? `- You MAY naturally reference the source (e.g., "according to [0]", "看到[2]提到")` : ""}
834
+
835
+ Good surprise insight traits (hit at least one):
836
+ - Frontier bridge: connects user's existing knowledge to a genuinely new development
837
+ - Unexpected connection: reveals a hidden link the user wouldn't have noticed
838
+ - Paradigm shift: challenges an assumption the user likely holds
839
+
840
+ Respond with ONLY a JSON array (no markdown, no code fences):
841
+ IMPORTANT: In the "content" field, escape any inner quotes as \\" or use Chinese curly quotes (""). Do NOT use unescaped ASCII quotes inside string values.
842
+ [
843
+ {
844
+ "content": "Your insight in your own voice",
845
+ "rationale": "Why this is relevant to this user SPECIFICALLY",
846
+ "targetDomains": ["inferred-domain"],
847
+ "sourceDomains": ["user-known-domain"],
848
+ "relevanceScore": 0.8,
849
+ "surpriseScore": 0.7,
850
+ "sourceIndices": [0],
851
+ "webGroundedness": 0.7
852
+ }
853
+ ]`,
854
+ variant: {
855
+ fewShotSet: fewShotIdx,
856
+ frameIndex: 0,
857
+ emotionalStance: stance.index
858
+ }
859
+ };
860
+ }
861
+ function pickRandom(arr) {
862
+ return arr.length > 0 ? arr[Math.floor(Math.random() * arr.length)] : void 0;
863
+ }
864
+ /** Prompt framework variants — each anchors on specific persona data to avoid generic output. */
865
+ const PROMPT_FRAMES = [
866
+ (topic, extra) => {
867
+ const insight = pickRandom(extra.keyInsights);
868
+ if (insight) return `你了解到用户对"${insight}"有独到理解。从这个具体的认知出发,说出一个被大多数人忽略的延伸方向或实际应用场景。不要解释这个认知本身,直接说延伸的部分。`;
869
+ return `针对${topic},你有一个具体的观察,能直接指导下一步行动。直接说出来。`;
870
+ },
871
+ (topic, extra) => {
872
+ if (extra.domains.length >= 2 && extra.keyInsights.length >= 2) return `用户同时在${topic}和${extra.domains[extra.domains.length - 1]}两个方向有积累。你看到了一条具体的关联线索,实际的、可操作的交集。直接把这条线索说出来。`;
873
+ return `在${topic}方向上,用户目前的理解里有一个盲区。你看到了,直接指出来,不要铺垫。`;
874
+ },
875
+ (topic, _extra) => {
876
+ return `你刚注意到${topic}领域一个具体的变化或案例,直接关系到用户之前提到的关注点。简洁地说出来。`;
877
+ },
878
+ (topic, extra) => {
879
+ const insight = pickRandom(extra.keyInsights);
880
+ if (insight) return `基于"${insight}"这个认知,常见的做法里有一个效率或思路上的问题。你有一个更好的替代方案——说出来,说清楚为什么更好。`;
881
+ return `关于${topic},你有一个来自实践的具体经验,跟大多数人的做法不一样。分享这个经验。`;
882
+ },
883
+ (topic, extra) => {
884
+ return `用户最近在看${extra.recentFocus.length > 0 ? pickRandom(extra.recentFocus) : topic}相关的东西。你恰好知道一个具体的工具、方法或资源能直接帮上忙。推荐它,说清楚为什么适合现在的阶段。`;
885
+ },
886
+ (topic, extra) => {
887
+ const insight = pickRandom(extra.keyInsights);
888
+ if (insight) return `关于"${insight}",有一个反直觉的事实。你把它说出来,用事实本身说话,不要加"有趣的是"之类的评论。`;
889
+ return `在${topic}领域,你发现了一条被低估的技术路径或思路。说出它是什么,以及为什么被低估。`;
890
+ },
891
+ (topic, extra) => {
892
+ if (extra.recentFocus.length >= 1) return `${topic}和${extra.recentFocus[Math.min(extra.recentFocus.length - 1, 1)]}之间有一条暗线,具体的工程方案或技术选型上有共通之处。直接说出这条暗线是什么。`;
893
+ return `你注意到${topic}领域有一个正在发生但还没被广泛讨论的变化。说出它是什么。`;
894
+ },
895
+ (topic, extra) => {
896
+ if (extra.domains.length >= 2) return `把${extra.domains[extra.domains.length - 1]}里的一个成熟做法,迁移到${topic}的场景中。说出具体的迁移方案和预期效果。`;
897
+ return `给${topic}方向一个具体的、可以直接执行的下一步建议。`;
898
+ }
899
+ ];
900
+ function pickPromptFrame(topics, domainNames, keyInsights, recentFocus, userName, feedbackProfile) {
901
+ const topic = topics.length > 0 ? topics[0] : "你的兴趣领域";
902
+ const frameIdx = feedbackProfile ? pickPromptVariant(feedbackProfile, PROMPT_FRAMES.map((_, i) => `frame:${i}`)) : Math.floor(Math.random() * PROMPT_FRAMES.length);
903
+ const frame = PROMPT_FRAMES[frameIdx];
904
+ return {
905
+ text: frame(topic, {
906
+ domains: domainNames,
907
+ keyInsights,
908
+ recentFocus,
909
+ userName
910
+ }),
911
+ frameIndex: frameIdx
912
+ };
913
+ }
914
+ const STRUCTURE_SEEDS = [
915
+ "这次用一个具体的事实或数据点开头,不要用观点开头。",
916
+ "这次先说结论或判断,再说原因,不要反过来。",
917
+ "这次直接给一个可执行的建议,不要做分析。",
918
+ "这次说一个具体的案例或例子,不要抽象概括。",
919
+ "这次用一个反直觉的陈述开头。",
920
+ "这次提出一个具体的技术选择或方案,说明为什么选它。",
921
+ "这次指出一个常见的误区或错误做法,然后给出正确的方式。",
922
+ "这次说一个具体的、可以直接执行的方法或方案。"
923
+ ];
924
+ function getTimeTag(lastMentioned) {
925
+ const hoursAgo = (Date.now() - lastMentioned) / (3600 * 1e3);
926
+ if (hoursAgo < 24) return "active-today";
927
+ if (hoursAgo < 72) return "recent";
928
+ if (hoursAgo < 168) return "this-week";
929
+ return "inactive";
930
+ }
931
+ function truncate(s, maxLen) {
932
+ return s.length > maxLen ? s.slice(0, maxLen) + "…" : s;
933
+ }
934
+ function buildIndexedWebFindings(webResults) {
935
+ if (webResults.length === 0) return "";
936
+ return webResults.slice(0, 6).map((r, i) => `[${i}] ${r.title} | ${r.url} | ${truncate(r.snippet, 150)}`).join("\n");
937
+ }
938
+ function buildDomainKeywordMap(domains) {
939
+ const map = /* @__PURE__ */ new Map();
940
+ for (const [name, domain] of Object.entries(domains)) {
941
+ const keywords = /* @__PURE__ */ new Set();
942
+ keywords.add(name.toLowerCase());
943
+ for (const part of name.split(/[/+]/)) {
944
+ const trimmed = part.trim().toLowerCase();
945
+ if (trimmed.length >= 2) keywords.add(trimmed);
946
+ }
947
+ for (const insight of getFilteredInsights(domain).slice(0, 3)) {
948
+ const lower = insight.toLowerCase();
949
+ keywords.add(lower);
950
+ for (const word of lower.split(/\s+/)) if (word.length >= 3) keywords.add(word);
951
+ }
952
+ map.set(name, keywords);
953
+ }
954
+ return map;
955
+ }
956
+ function extractBigrams(text) {
957
+ const bigrams = /* @__PURE__ */ new Set();
958
+ const normalized = text.toLowerCase().replace(/\s+/g, "");
959
+ for (let i = 0; i < normalized.length - 1; i++) bigrams.add(normalized.slice(i, i + 2));
960
+ return bigrams;
961
+ }
962
+ function matchWebResultsToDomains(webResults, keywordMap) {
963
+ const result = /* @__PURE__ */ new Map();
964
+ for (const r of webResults) {
965
+ const titleLower = r.title.toLowerCase();
966
+ const snippetLower = r.snippet.toLowerCase();
967
+ for (const [domainName, keywords] of keywordMap) if ([...keywords].some((kw) => {
968
+ if (titleLower.includes(kw) || snippetLower.includes(kw)) return true;
969
+ if (kw.length >= 4) {
970
+ const kwBigrams = extractBigrams(kw);
971
+ const textBigrams = extractBigrams(titleLower + " " + snippetLower);
972
+ return [...kwBigrams].filter((b) => textBigrams.has(b)).length / Math.max(kwBigrams.size, 1) > .7;
973
+ }
974
+ return false;
975
+ })) {
976
+ const list = result.get(domainName) ?? [];
977
+ list.push(r.snippet);
978
+ result.set(domainName, list);
979
+ }
980
+ }
981
+ return result;
982
+ }
983
+ const PATTERN_PROMPT_FRAMES = [
984
+ (_topic, _extra) => "Ask the user a direct, provocative question about a recurring pattern you've noticed. The question should make them reflect, not defend.",
985
+ (_topic, _extra) => "Point to one specific instance where the user's default approach produced a measurable outcome. State the outcome, let them draw the conclusion.",
986
+ (_topic, _extra) => "What would change if the user broke this pattern just once? Describe the counterfactual scenario concretely.",
987
+ (_topic, _extra) => "This same thinking pattern shows up in a completely different domain. Name the domain and describe the parallel."
988
+ ];
989
+ function buildPatternInsightPrompt(persona, input, recentInsightContents, soulContent, identityContext) {
990
+ const fewShotIdx = input.feedbackProfile ? pickPromptVariant(input.feedbackProfile, DIVERSE_FEW_SHOT_SETS.map((_, i) => `fewShot:${i}`)) : Math.floor(Math.random() * DIVERSE_FEW_SHOT_SETS.length);
991
+ const fewShotBlock = DIVERSE_FEW_SHOT_SETS[fewShotIdx].examples.map((e) => `Context: ${e.context}\n中文: ${e.chinese}\nEnglish: ${e.english}`).join("\n\n");
992
+ const sortedFragments = [...input.fragments ?? []].toSorted((a, b) => b.strength - a.strength).slice(0, 8);
993
+ const fragmentBlock = sortedFragments.length > 0 ? sortedFragments.map((f) => `[${f.kind}] ${f.structuralTag}: "${truncate(f.evidence, 120)}" (strength: ${f.strength.toFixed(2)}, domains: ${f.domains.join(", ")})`).join("\n") : "(no fragments collected yet)";
994
+ const anchorFacts = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.lastMentioned - a.lastMentioned).flatMap(([name, d]) => getFilteredInsights(d).slice(0, 2).map((ki) => `${name}: ${ki}`)).slice(0, 6);
995
+ const anchorBlock = anchorFacts.length > 0 ? anchorFacts.map((f, i) => `${i + 1}. ${f}`).join("\n") : " (not yet established)";
996
+ const pastInsightBlock = recentInsightContents.length > 0 ? recentInsightContents.slice(-5).map((c, i) => `${i + 1}. ${truncate(c, 120)}`).join("\n") : "";
997
+ const bannedSection = buildBannedOpeningsSection(recentInsightContents);
998
+ const patternUserName = persona.identity?.displayName || "";
999
+ const stance = selectEmotionalStance(fewShotIdx, input.recentEmotionalStances);
1000
+ const stanceText = stance.text.replace(/\{name\}/g, patternUserName || "the user");
1001
+ const patternFrameIdx = input.feedbackProfile ? pickPromptVariant(input.feedbackProfile, PATTERN_PROMPT_FRAMES.map((_, i) => `pattern:${i}`)) : Math.floor(Math.random() * PATTERN_PROMPT_FRAMES.length);
1002
+ const frame = PATTERN_PROMPT_FRAMES[patternFrameIdx];
1003
+ const taskInstruction = frame(input.targetDomains.join(", "), {
1004
+ domains: input.targetDomains,
1005
+ keyInsights: anchorFacts,
1006
+ recentFocus: input.recentFocus,
1007
+ userName: patternUserName
1008
+ });
1009
+ return {
1010
+ prompt: `${identityContext ? `${identityContext}\n` : ""}${soulContent ? `## YOUR PERSONALITY AND VOICE\n${soulContent}\n` : ""}${buildVoiceSection(persona)}
1011
+
1012
+ EXAMPLES of ideal behavioral observations (match this quality, specificity, and depth):
1013
+ ${fewShotBlock}
1014
+
1015
+ ${DIVERSITY_INSTRUCTION}
1016
+
1017
+ CRITICAL: Output in your own voice — the same personality the user knows from regular conversations. NOT a formal report, NOT a system notification, NOT a therapy session.
1018
+
1019
+ You are the AI assistant speaking in your own voice and personality. You are proactively sharing a behavioral observation — something you noticed about how this user thinks, decides, or acts across their conversations.
1020
+
1021
+ OBSERVED THINKING PATTERNS (from recent conversations):
1022
+ ${fragmentBlock}
1023
+
1024
+ SPECIFIC FACTS YOU KNOW ABOUT THIS USER:
1025
+ ${anchorBlock}
1026
+ ${pastInsightBlock ? `\nPAST INSIGHTS (your insight must be CONTRASTIVELY different — see CONTRASTIVE FRAMEWORK below):\n${pastInsightBlock}\n\n${CONTRASTIVE_INSTRUCTION}` : ""}
1027
+ ${recentInsightContents.length > 0 ? `\nRECENTLY USED CONTENT THEMES (DO NOT reuse these concepts):\n${extractContentThemes(recentInsightContents).join("、")}` : ""}
1028
+
1029
+ YOUR MOOD RIGHT NOW: ${stanceText}
1030
+
1031
+ TASK:
1032
+ ${taskInstruction}
1033
+
1034
+ You're saying this to ${patternUserName}, someone you know well. Speak naturally, first person if it feels right.
1035
+
1036
+ Constraints:
1037
+ - 1-3 sentences, Chinese
1038
+ - Questions and varied structures are allowed when they serve the insight
1039
+ - Forbidden phrases: "值得关注", "挺有意思", "不得不说", "你有没有想过", "最近在关注", "有趣的是", "值得注意的是"
1040
+ - Start with a concrete observation — never with "关于", "在...领域", "结合你", "作为"
1041
+ - ${bannedSection}
1042
+ - Do NOT mention "patterns", "blind spots", "cognitive biases", or use meta-analytical language. Speak as a friend sharing an observation, not as a therapist diagnosing.
1043
+ - Content must reference AT LEAST ONE specific fragment from the OBSERVED THINKING PATTERNS section above
1044
+ - Content must be a specific, honest observation — not vague encouragement or generic advice
1045
+
1046
+ Respond with ONLY a JSON array (no markdown, no code fences):
1047
+ 重要提示:在 "content" 字段中,请用 \\" 转义内部引号,或使用中文弯引号("")。不要在字符串值中使用未转义的 ASCII 引号。
1048
+ [
1049
+ {
1050
+ "content": "Your behavioral observation in your own voice, in Chinese",
1051
+ "rationale": "Which fragments and persona data led to this observation",
1052
+ "targetDomains": ["domain-from-fragments"],
1053
+ "sourceDomains": ["observed-pattern"],
1054
+ "relevanceScore": 0.8,
1055
+ "surpriseScore": 0.7
1056
+ }
1057
+ ]
1058
+
1059
+ Keep insights concise (1-3 sentences). Quality over quantity.`,
1060
+ variant: {
1061
+ fewShotSet: fewShotIdx,
1062
+ frameIndex: patternFrameIdx,
1063
+ patternFrame: patternFrameIdx,
1064
+ emotionalStance: stance.index
1065
+ }
1066
+ };
1067
+ }
1068
+ function buildInsightPrompt(persona, input, webResults = [], recentInsightContents = [], webSnippetByDomain, soulContent, identityContext) {
1069
+ let resolvedWebSnippetByDomain;
1070
+ if (webSnippetByDomain) resolvedWebSnippetByDomain = webSnippetByDomain;
1071
+ else {
1072
+ const keywordMap = buildDomainKeywordMap(persona.domains);
1073
+ for (const td of input.targetDomains) if (!keywordMap.has(td)) {
1074
+ const keywords = /* @__PURE__ */ new Set();
1075
+ keywords.add(td.toLowerCase());
1076
+ for (const part of td.split(/[/+]/)) {
1077
+ const trimmed = part.trim().toLowerCase();
1078
+ if (trimmed.length >= 2) keywords.add(trimmed);
1079
+ }
1080
+ keywordMap.set(td, keywords);
1081
+ }
1082
+ resolvedWebSnippetByDomain = matchWebResultsToDomains(webResults, keywordMap);
1083
+ }
1084
+ if (webResults.length > 0) {
1085
+ const matchedDomains = [...resolvedWebSnippetByDomain.keys()];
1086
+ const matchedUrls = /* @__PURE__ */ new Set();
1087
+ for (const result of webResults) for (const snippets of resolvedWebSnippetByDomain.values()) if (snippets.some((s) => s === result.snippet)) {
1088
+ matchedUrls.add(result.url);
1089
+ break;
1090
+ }
1091
+ const unmatched = webResults.length - matchedUrls.size;
1092
+ log.info("web search domain matching", {
1093
+ totalResults: webResults.length,
1094
+ matchedDomains,
1095
+ unmatchedSnippets: unmatched
1096
+ });
1097
+ if (matchedDomains.length === 0) log.warn("web search domain matching: no domains matched, LLM generation will proceed without domain-grounded evidence");
1098
+ }
1099
+ const sortedDomainEntries = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.lastMentioned - a.lastMentioned);
1100
+ const userDomains = sortedDomainEntries.slice(0, 8).map(([name, d]) => {
1101
+ const parts = [`${name} [${getTimeTag(d.lastMentioned)}, depth: ${d.depth}]`];
1102
+ const filtered = getFilteredInsights(d);
1103
+ if (filtered.length > 0) parts.push(`known: ${filtered.slice(0, 3).join("; ")}`);
1104
+ return parts.join(" | ");
1105
+ }).join("\n");
1106
+ const anchorFacts = sortedDomainEntries.flatMap(([name, d]) => getFilteredInsights(d).slice(0, 2).map((ki) => `${name}: ${ki}`)).slice(0, 6);
1107
+ const anchorBlock = anchorFacts.length > 0 ? anchorFacts.map((f, i) => `${i + 1}. ${f}`).join("\n") : " (not yet established)";
1108
+ const indexedWebFindings = buildIndexedWebFindings(webResults);
1109
+ const recentFocus = persona.recentFocus.slice(0, 5).join(", ");
1110
+ const recentInsightIds = input.recentInsightIds.slice(0, 5).join(", ");
1111
+ const userName = persona.identity?.displayName || "";
1112
+ const identityBlock = persona.identity ? [
1113
+ userName ? `Name: ${userName}` : "",
1114
+ persona.identity.coreTraits ? `Traits: ${Object.entries(persona.identity.coreTraits).filter(([, v]) => v.confidence >= .5).map(([k, v]) => `${k}: ${v.value}`).join(", ")}` : "",
1115
+ persona.identity.expertDomains?.length ? `Expert in: ${persona.identity.expertDomains.join(", ")}` : "",
1116
+ persona.identity.interestDomains?.length ? `Interested in: ${persona.identity.interestDomains.join(", ")}` : ""
1117
+ ].filter(Boolean).join("\n") : "";
1118
+ const pastInsightBlock = recentInsightContents.length > 0 ? recentInsightContents.slice(-5).map((c, i) => `${i + 1}. ${truncate(c, 120)}`).join("\n") : "";
1119
+ const bannedSection = buildBannedOpeningsSection(recentInsightContents);
1120
+ const domainNames = sortedDomainEntries.map(([name]) => name);
1121
+ const flatKeyInsights = sortedDomainEntries.flatMap(([, d]) => getFilteredInsights(d).slice(0, 2));
1122
+ const { text: promptFrame, frameIndex } = pickPromptFrame(input.targetDomains, domainNames, flatKeyInsights, persona.recentFocus, userName, input.feedbackProfile);
1123
+ const structureSeedIdx = input.feedbackProfile ? pickPromptVariant(input.feedbackProfile, STRUCTURE_SEEDS.map((_, i) => `seed:${i}`)) : Math.floor(Math.random() * STRUCTURE_SEEDS.length);
1124
+ const structureSeed = STRUCTURE_SEEDS[structureSeedIdx];
1125
+ const fewShotIdx = input.feedbackProfile ? pickPromptVariant(input.feedbackProfile, DIVERSE_FEW_SHOT_SETS.map((_, i) => `fewShot:${i}`)) : Math.floor(Math.random() * DIVERSE_FEW_SHOT_SETS.length);
1126
+ const fewShotBlock = DIVERSE_FEW_SHOT_SETS[fewShotIdx].examples.map((e) => `Context: ${e.context}\n中文: ${e.chinese}\nEnglish: ${e.english}`).join("\n\n");
1127
+ const fragmentSection = buildFragmentSection(input.fragments ?? []);
1128
+ const stance = selectEmotionalStance(fewShotIdx, input.recentEmotionalStances);
1129
+ const stanceText = stance.text.replace(/\{name\}/g, userName || "the user");
1130
+ return {
1131
+ prompt: `${identityContext ? `${identityContext}\n` : ""}${soulContent ? `## YOUR PERSONALITY AND VOICE\n${soulContent}\n` : ""}${buildVoiceSection(persona)}
1132
+
1133
+ EXAMPLES of ideal insights (match this quality, specificity, and tone):
1134
+ ${fewShotBlock}
1135
+
1136
+ ${DIVERSITY_INSTRUCTION}
1137
+
1138
+ CRITICAL: Output in your own voice — the same personality the user knows from regular conversations. NOT a formal report, NOT a system notification.
1139
+
1140
+ You are the AI assistant speaking in your own voice and personality. You are proactively reaching out to share something that crossed your mind — genuinely useful or surprising for THIS specific user.
1141
+
1142
+ ${indexedWebFindings ? `RECENT WEB FINDINGS (PRIMARY material — pick ONE and connect it to THIS user):
1143
+ ${indexedWebFindings}` : ""}
1144
+
1145
+ ${identityBlock ? `USER:\n${identityBlock}` : ""}
1146
+
1147
+ USER'S DOMAINS (sorted by recency — most active first):
1148
+ ${userDomains || "Not yet established"}
1149
+
1150
+
1151
+ SPECIFIC FACTS YOU KNOW ABOUT THIS USER (your insight MUST reference at least one):
1152
+ ${anchorBlock}
1153
+ ${fragmentSection ? `\nUSER CONVERSATION FRAGMENTS (what the user has been discussing recently):\n${fragmentSection}` : ""}
1154
+
1155
+ Recent focus: ${recentFocus || "None"}
1156
+ Trust: ${persona.rapport.trustScore.toFixed(2)} / 1.0
1157
+ Delivered insight IDs: ${recentInsightIds || "None"}
1158
+ ${pastInsightBlock ? `\nPAST INSIGHTS (your insight must be CONTRASTIVELY different — see CONTRASTIVE FRAMEWORK below):\n${pastInsightBlock}\n\n${CONTRASTIVE_INSTRUCTION}` : ""}
1159
+ ${recentInsightContents.length > 0 ? `\nRECENTLY USED CONTENT THEMES (DO NOT reuse these concepts even for different domains):\n${extractContentThemes(recentInsightContents).join("、")}` : ""}
1160
+ ${(input.recentInsightDomains?.length ?? 0) > 0 ? `\nRECENTLY COVERED DOMAIN COMBINATIONS (insight MUST explore NEW territory, NOT repeat these domain angles):\n${input.recentInsightDomains.slice(-5).map((domains, i) => `${i + 1}. ${domains.join(" + ")}`).join("\n")}` : ""}
1161
+
1162
+ TARGET DOMAINS (insight MUST be about these domains):
1163
+ ${input.targetDomains.join(", ")}
1164
+
1165
+ YOUR MOOD RIGHT NOW: ${stanceText}
1166
+
1167
+ TASK:
1168
+ ${promptFrame}
1169
+
1170
+ You're saying this to ${userName}, someone you know well. Speak naturally, first person if it feels right.
1171
+
1172
+ STRUCTURE CONSTRAINT:
1173
+ ${structureSeed}
1174
+
1175
+ 硬性要求(必须全部满足,否则拒绝输出):
1176
+ - 洞察内容必须围绕上面的"TARGET DOMAINS"展开,targetDomains字段必须包含这些域中的至少一个
1177
+ - 必须引用上面"SPECIFIC FACTS"列表中的至少一条具体事实——不能只提领域名称,要说出用户在这个领域的具体认知或关注点
1178
+ - 1-3句话,中文,语气像突然想到什么要跟朋友说
1179
+ - 允许使用问号和多样的句式结构,只要服务于洞察内容
1180
+ - 禁止以下句式:
1181
+ · "值得关注"、"挺有意思"、"不得不说"
1182
+ · "你有没有想过"、"最近在关注"
1183
+ · "有趣的是"、"值得注意的是"
1184
+ ${bannedSection ? ` · ${bannedSection}` : ""}
1185
+ - 像跟朋友说话一样自然,可以用第一人称
1186
+ ${webResults.length > 0 ? "- 可以自然引用来源(如「根据[0]」、「看到[2]提到」)" : ""}
1187
+
1188
+ 好的洞察(满足至少一条):
1189
+ - 跨域连接:把用户不同兴趣领域的具体知识关联起来
1190
+ - 实用建议:给一个明确的、可直接执行的行动方向
1191
+ - 反常识观点:挑战一个可能的错误认知,用事实反驳
1192
+
1193
+ Respond with ONLY a JSON array (no markdown, no code fences):
1194
+ 重要提示:在 "content" 字段中,请用 \\" 转义内部引号,或使用中文弯引号("")。不要在字符串值中使用未转义的 ASCII 引号。
1195
+ [
1196
+ {
1197
+ "content": "Your insight in your own voice, in Chinese",
1198
+ "rationale": "Why this is relevant to this user SPECIFICALLY (reference persona data)",
1199
+ "targetDomains": ["${input.targetDomains[0] ?? "domain1"}"],
1200
+ "sourceDomains": ["domain2"],
1201
+ "relevanceScore": 0.8,
1202
+ "surpriseScore": 0.6,
1203
+ "sourceIndices": [0],
1204
+ "webGroundedness": 0.7
1205
+ }
1206
+ ]
1207
+ CRITICAL: targetDomains MUST include at least one of: ${input.targetDomains.join(", ")}. Do NOT substitute other domains.
1208
+
1209
+ Keep insights concise (1-3 sentences). Quality over quantity.`,
1210
+ variant: {
1211
+ fewShotSet: fewShotIdx,
1212
+ frameIndex,
1213
+ structureSeed: structureSeedIdx,
1214
+ emotionalStance: stance.index
1215
+ }
1216
+ };
1217
+ }
1218
+ function parseLLMInsights(text, maxCandidates) {
1219
+ try {
1220
+ const cleaned = text.replace(/^```(?:json)?\s*/m, "").replace(/\s*```$/m, "").trim();
1221
+ let jsonStr = extractJsonArray(cleaned);
1222
+ if (!jsonStr) {
1223
+ log.warn("parseLLMInsights: no JSON array found in LLM response", { raw: cleaned.slice(0, 200) });
1224
+ return [];
1225
+ }
1226
+ let parsed;
1227
+ try {
1228
+ parsed = JSON.parse(jsonStr);
1229
+ } catch {
1230
+ const repaired = repairJsonArray(jsonStr);
1231
+ try {
1232
+ parsed = JSON.parse(repaired);
1233
+ } catch {
1234
+ const aggressivelyRepaired = aggressiveAsciiQuoteRepair(repaired);
1235
+ try {
1236
+ parsed = JSON.parse(aggressivelyRepaired);
1237
+ } catch (repairErr) {
1238
+ log.warn("parseLLMInsights: JSON repair failed", {
1239
+ error: String(repairErr),
1240
+ raw: jsonStr.slice(0, 200)
1241
+ });
1242
+ return [];
1243
+ }
1244
+ }
1245
+ }
1246
+ return (Array.isArray(parsed) ? parsed : []).slice(0, maxCandidates).map((item) => ({
1247
+ id: randomUUID(),
1248
+ content: String(item.content ?? "").replace(/\[\d+\]/g, ""),
1249
+ rationale: String(item.rationale ?? ""),
1250
+ targetDomains: Array.isArray(item.targetDomains) ? item.targetDomains.map(String) : [],
1251
+ sourceDomains: Array.isArray(item.sourceDomains) ? item.sourceDomains.map(String) : [],
1252
+ relevanceScore: clamp01(Number(item.relevanceScore ?? .5)),
1253
+ surpriseScore: clamp01(Number(item.surpriseScore ?? .5)),
1254
+ compositeScore: (clamp01(Number(item.relevanceScore ?? .5)) + clamp01(Number(item.surpriseScore ?? .5))) / 2,
1255
+ sources: [],
1256
+ verificationStatus: "unverified",
1257
+ source: "knowledge",
1258
+ citedSourceIndices: Array.isArray(item.sourceIndices) ? item.sourceIndices.map((n) => Number(n)).filter((n) => !isNaN(n)) : [],
1259
+ webGroundedness: clamp01(Number(item.webGroundedness ?? 0))
1260
+ })).filter((c) => c.content.length > 0 && isSubstantiveContent(c.content));
1261
+ } catch (err) {
1262
+ log.warn("parseLLMInsights: unexpected error", { error: String(err) });
1263
+ return [];
1264
+ }
1265
+ }
1266
+ function extractJsonArray(text) {
1267
+ const start = text.indexOf("[");
1268
+ const end = text.lastIndexOf("]");
1269
+ if (start === -1 || end === -1 || end <= start) return null;
1270
+ return text.slice(start, end + 1);
1271
+ }
1272
+ function repairJsonArray(raw) {
1273
+ let s = raw;
1274
+ {
1275
+ let inStr = false;
1276
+ let esc = false;
1277
+ let normalized = "";
1278
+ for (let i = 0; i < s.length; i++) {
1279
+ const ch = s[i];
1280
+ if (esc) {
1281
+ normalized += ch;
1282
+ esc = false;
1283
+ continue;
1284
+ }
1285
+ if (ch === "\\") {
1286
+ normalized += ch;
1287
+ esc = true;
1288
+ continue;
1289
+ }
1290
+ if (ch === "\"") {
1291
+ inStr = !inStr;
1292
+ normalized += ch;
1293
+ continue;
1294
+ }
1295
+ if (inStr && (ch === "“" || ch === "”")) {
1296
+ normalized += "\"";
1297
+ continue;
1298
+ }
1299
+ normalized += ch;
1300
+ }
1301
+ s = normalized;
1302
+ }
1303
+ s = s.replace(/,\s*([}\]])/g, "$1");
1304
+ let openBrackets = 0;
1305
+ let openBraces = 0;
1306
+ let inString = false;
1307
+ let escape = false;
1308
+ for (const ch of s) {
1309
+ if (escape) {
1310
+ escape = false;
1311
+ continue;
1312
+ }
1313
+ if (ch === "\\") {
1314
+ escape = true;
1315
+ continue;
1316
+ }
1317
+ if (ch === "\"") {
1318
+ inString = !inString;
1319
+ continue;
1320
+ }
1321
+ if (inString) continue;
1322
+ if (ch === "[") openBrackets++;
1323
+ else if (ch === "]") openBrackets--;
1324
+ else if (ch === "{") openBraces++;
1325
+ else if (ch === "}") openBraces--;
1326
+ }
1327
+ while (openBraces > 0) {
1328
+ s += "}";
1329
+ openBraces--;
1330
+ }
1331
+ while (openBrackets > 0) {
1332
+ s += "]";
1333
+ openBrackets--;
1334
+ }
1335
+ return s;
1336
+ }
1337
+ /**
1338
+ * Aggressive repair for unescaped ASCII `"` inside JSON string values.
1339
+ * GLM models frequently produce output like:
1340
+ * [{"content": "他说"你好"吗", ...}]
1341
+ * where the inner `"你好"` breaks JSON.parse.
1342
+ *
1343
+ * Strategy: character-by-character state machine that tracks whether we're
1344
+ * inside a JSON string. When inside a string and encountering an unescaped `"`,
1345
+ * we look ahead to decide if it's a structural quote (end-of-string) or an
1346
+ * inner quote that needs escaping.
1347
+ */
1348
+ function aggressiveAsciiQuoteRepair(raw) {
1349
+ let result = "";
1350
+ let i = 0;
1351
+ let inStr = false;
1352
+ let esc = false;
1353
+ while (i < raw.length) {
1354
+ const ch = raw[i];
1355
+ if (esc) {
1356
+ result += ch;
1357
+ esc = false;
1358
+ i++;
1359
+ continue;
1360
+ }
1361
+ if (ch === "\\") {
1362
+ result += ch;
1363
+ esc = true;
1364
+ i++;
1365
+ continue;
1366
+ }
1367
+ if (ch === "\"") {
1368
+ if (!inStr) {
1369
+ inStr = true;
1370
+ result += ch;
1371
+ i++;
1372
+ continue;
1373
+ }
1374
+ if (isStructuralQuote(raw, i)) {
1375
+ inStr = false;
1376
+ result += ch;
1377
+ } else result += "\\\"";
1378
+ i++;
1379
+ continue;
1380
+ }
1381
+ result += ch;
1382
+ i++;
1383
+ }
1384
+ return result;
1385
+ }
1386
+ /**
1387
+ * Determine if the `"` at position `pos` in `raw` is a structural quote
1388
+ * (i.e., terminates a JSON string value) rather than an inner quote.
1389
+ *
1390
+ * A `"` is structural if the next non-whitespace character is one of:
1391
+ * `,` `}` `]` `:` — indicating the end of a string value in a JSON structure.
1392
+ * Also structural if we're at end-of-string or end-of-input.
1393
+ */
1394
+ function isStructuralQuote(raw, pos) {
1395
+ for (let j = pos + 1; j < raw.length; j++) {
1396
+ const next = raw[j];
1397
+ if (next === " " || next === " " || next === "\n" || next === "\r") continue;
1398
+ return next === "," || next === "}" || next === "]" || next === ":";
1399
+ }
1400
+ return true;
1401
+ }
1402
+ const GENERIC_INSIGHT_PATTERNS = [
1403
+ /最近出现了?一些值得关注的新方向/,
1404
+ /结合你在这个领域的深度理解/,
1405
+ /可能会影响你的技术决策/,
1406
+ /探索未知领域有助于拓展思维边界/,
1407
+ /挺有意思的/,
1408
+ /值得关注/,
1409
+ /^.{0,10}是一个.{2,10}的方向$/,
1410
+ /被(人)?.*但(换个角度|它其实|它和)/,
1411
+ /你有没有想过/,
1412
+ /最近在关注/,
1413
+ /不得不说/,
1414
+ /其实.*也是$/,
1415
+ /背后.*值得/,
1416
+ /换个角度来看/,
1417
+ /有没有可能/,
1418
+ /有趣的是/,
1419
+ /值得注意的是/,
1420
+ /^关于.{2,6}[,,]/,
1421
+ /^在.{2,8}领域/,
1422
+ /^作为.{2,8}[,,]/,
1423
+ /结合你/
1424
+ ];
1425
+ function isSubstantiveContent(content) {
1426
+ const trimmed = content.trim();
1427
+ if (trimmed.length < 10) return false;
1428
+ for (const pattern of GENERIC_INSIGHT_PATTERNS) if (pattern.test(trimmed)) return false;
1429
+ return true;
1430
+ }
1431
+ function clamp01(value) {
1432
+ return Math.max(0, Math.min(1, value));
1433
+ }
1434
+ const PERSONA_WORKSPACE_FILES = [
1435
+ "SOUL.md",
1436
+ "IDENTITY.md",
1437
+ "USER.md"
1438
+ ];
1439
+ async function loadWorkspacePersonaContext(workspaceDir) {
1440
+ const dir = workspaceDir ?? path.join(os.homedir(), ".kaijibot", "workspace");
1441
+ const parts = [];
1442
+ for (const filename of PERSONA_WORKSPACE_FILES) try {
1443
+ const trimmed = (await fs.readFile(path.join(dir, filename), "utf-8")).trim();
1444
+ if (trimmed) parts.push(`## ${filename}\n${trimmed}`);
1445
+ } catch {}
1446
+ return parts.join("\n\n");
1447
+ }
1448
+ /**
1449
+ * Resolve SOUL.md content to prepend to insight prompts. Resolution order:
1450
+ * 1. Configured soul preset (e.g. `soul.preset: "intj"`) — honours per-agent,
1451
+ * then default, then top-level config.
1452
+ * 2. Workspace SOUL.md at the agent's workspace dir.
1453
+ * 3. `undefined` (prompt stays backward compatible).
1454
+ */
1455
+ async function loadSoulContentForInsight(params) {
1456
+ const { config, agentId, workspaceDir } = params;
1457
+ if (config) try {
1458
+ const preset = resolveSoulPreset(config, agentId);
1459
+ if (preset) return loadSoulPresetContent(preset);
1460
+ } catch (err) {
1461
+ log.warn("loadSoulContentForInsight: soul preset resolution failed", { error: String(err) });
1462
+ }
1463
+ const dir = workspaceDir ?? (config && agentId ? resolveAgentWorkspaceDir(config, agentId) : void 0);
1464
+ if (dir) try {
1465
+ const trimmed = (await fs.readFile(path.join(dir, "SOUL.md"), "utf-8")).trim();
1466
+ if (trimmed) return trimmed;
1467
+ } catch {}
1468
+ }
1469
+ async function loadIdentityContextForInsight(workspaceDir) {
1470
+ const dir = workspaceDir ?? path.join(os.homedir(), ".kaijibot", "workspace");
1471
+ const parts = [];
1472
+ for (const filename of ["IDENTITY.md", "USER.md"]) try {
1473
+ const trimmed = (await fs.readFile(path.join(dir, filename), "utf-8")).trim();
1474
+ if (trimmed) parts.push(`## ${filename.replace(".md", "")}\n${trimmed}`);
1475
+ } catch {}
1476
+ return parts.length > 0 ? parts.join("\n\n") : void 0;
1477
+ }
1478
+ function buildCritiquePrompt(candidate, persona) {
1479
+ const anchorFacts = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.lastMentioned - a.lastMentioned).flatMap(([name, d]) => getFilteredInsights(d).slice(0, 2).map((ki) => `${name}: ${ki}`)).slice(0, 6);
1480
+ const anchorBlock = anchorFacts.length > 0 ? anchorFacts.map((f, i) => `${i + 1}. ${f}`).join("\n") : "(not yet established)";
1481
+ return `You are a strict quality evaluator for AI-generated insights about a user.
1482
+
1483
+ USER: ${persona.identity?.displayName ?? "the user"}
1484
+ EXPERT DOMAINS: ${persona.identity?.expertDomains?.join(", ") ?? "unknown"}
1485
+ INTEREST DOMAINS: ${persona.identity?.interestDomains?.join(", ") ?? "unknown"}
1486
+
1487
+ KNOWN FACTS ABOUT THIS USER:
1488
+ ${anchorBlock}
1489
+
1490
+ INSIGHT TO EVALUATE:
1491
+ ---
1492
+ ${candidate.content}
1493
+ ---
1494
+ Target domains: ${candidate.targetDomains.join(", ")}
1495
+ Rationale: ${candidate.rationale}
1496
+ ---
1497
+
1498
+ Evaluate this insight on 5 dimensions (each 0.0-1.0):
1499
+
1500
+ 1. SPECIFICITY: Does the insight reference concrete, real details about THIS user's work/interests? Casual language is fine — what matters is whether it's grounded in specifics, not whether it sounds formal.
1501
+ 2. PERSONA RELEVANCE: Does it reference known facts about THIS user? Or generic advice anyone could receive?
1502
+ 3. ACTIONABILITY: Does the insight give the user something worth thinking about or acting on? This includes questions, provocations, and observations — not just direct action items.
1503
+ 4. SURPRISE: Is this genuinely new information the user likely doesn't know? Or obvious/common knowledge?
1504
+ 5. VOICE MATCH: Does it sound like it comes from a specific personality with a point of view? Or is it stiff/formal/generic-system-notification-like? Diverse tones (provocative, questioning, playful, contemplative) should score HIGH if they match the agent's personality, not low.
1505
+
1506
+ Also provide an overallScore (0.0-1.0), a textual critique, and specific improvement suggestions.
1507
+
1508
+ Respond with ONLY a JSON object (no markdown, no code fences):
1509
+ {
1510
+ "specificity": 0.0-1.0,
1511
+ "personaRelevance": 0.0-1.0,
1512
+ "actionability": 0.0-1.0,
1513
+ "surprise": 0.0-1.0,
1514
+ "voiceMatch": 0.0-1.0,
1515
+ "overallScore": 0.0-1.0,
1516
+ "critique": "textual feedback explaining the scores",
1517
+ "improvementSuggestions": ["specific suggestion 1", "specific suggestion 2"]
1518
+ }`;
1519
+ }
1520
+ function buildRefinePrompt(originalPrompt, candidate, critique, persona) {
1521
+ const suggestions = critique.improvementSuggestions.map((s, i) => `${i + 1}. ${s}`).join("\n");
1522
+ return `${buildVoiceSection(persona)}
1523
+
1524
+ ORIGINAL GENERATION PROMPT:
1525
+ ---
1526
+ ${originalPrompt}
1527
+ ---
1528
+
1529
+ ORIGINAL INSIGHT:
1530
+ ---
1531
+ ${candidate.content}
1532
+ ---
1533
+
1534
+ CRITIQUE (overall score: ${critique.overallScore.toFixed(2)}/1.0):
1535
+ ${critique.critique}
1536
+
1537
+ IMPROVEMENT SUGGESTIONS:
1538
+ ${suggestions}
1539
+
1540
+ Generate a REVISED insight that addresses these specific weaknesses. Keep the strengths, fix the problems. The revised insight should feel like it could ONLY be about THIS specific user.
1541
+
1542
+ Constraints:
1543
+ - 1-3 sentences, Chinese
1544
+ - Forbidden phrases: "值得关注", "挺有意思", "不得不说", "你有没有想过", "最近在关注", "有趣的是", "值得注意的是"
1545
+ - Start with a concrete fact, observation, or judgment — never with "关于", "在...领域", "结合你", "作为"
1546
+ - Questions, lists, and varied sentence structures are ALLOWED if they serve the insight
1547
+
1548
+ Respond with ONLY a JSON array (no markdown, no code fences):
1549
+ [
1550
+ {
1551
+ "content": "Your revised insight in your own voice, in Chinese",
1552
+ "rationale": "Why this revision is better",
1553
+ "targetDomains": ${JSON.stringify(candidate.targetDomains)},
1554
+ "sourceDomains": ${JSON.stringify(candidate.sourceDomains)},
1555
+ "relevanceScore": 0.8,
1556
+ "surpriseScore": 0.7
1557
+ }
1558
+ ]`;
1559
+ }
1560
+ async function critiqueInsightWithLLM(candidate, persona, config, deps, options) {
1561
+ try {
1562
+ const prompt = buildCritiquePrompt(candidate, persona);
1563
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
1564
+ const prepared = await deps.prepareModel(config, modelRef);
1565
+ if ("error" in prepared) {
1566
+ log.warn("critiqueInsightWithLLM: model preparation failed", { error: prepared.error });
1567
+ return null;
1568
+ }
1569
+ const text = (await deps.complete(prepared.model, { messages: [{
1570
+ role: "user",
1571
+ content: prompt,
1572
+ timestamp: Date.now()
1573
+ }] }, {
1574
+ apiKey: prepared.auth.apiKey,
1575
+ maxTokens: options?.maxTokens ?? 4096,
1576
+ temperature: .3,
1577
+ signal: AbortSignal.timeout(options?.timeout ?? 8e3)
1578
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
1579
+ if (!text) return null;
1580
+ const objStart = text.indexOf("{");
1581
+ const objEnd = text.lastIndexOf("}");
1582
+ if (objStart === -1 || objEnd === -1 || objEnd <= objStart) return null;
1583
+ const parsed = JSON.parse(text.slice(objStart, objEnd + 1));
1584
+ for (const field of [
1585
+ "specificity",
1586
+ "personaRelevance",
1587
+ "actionability",
1588
+ "surprise",
1589
+ "voiceMatch",
1590
+ "overallScore",
1591
+ "critique",
1592
+ "improvementSuggestions"
1593
+ ]) if (!(field in parsed)) return null;
1594
+ const improvementSuggestions = parsed.improvementSuggestions;
1595
+ if (!Array.isArray(improvementSuggestions)) return null;
1596
+ return {
1597
+ specificity: clamp01(Number(parsed.specificity) || 0),
1598
+ personaRelevance: clamp01(Number(parsed.personaRelevance) || 0),
1599
+ actionability: clamp01(Number(parsed.actionability) || 0),
1600
+ surprise: clamp01(Number(parsed.surprise) || 0),
1601
+ voiceMatch: clamp01(Number(parsed.voiceMatch) || 0),
1602
+ overallScore: clamp01(Number(parsed.overallScore) || 0),
1603
+ critique: String(parsed.critique ?? ""),
1604
+ improvementSuggestions: improvementSuggestions.map(String)
1605
+ };
1606
+ } catch (err) {
1607
+ log.warn("critiqueInsightWithLLM: failed", { error: String(err) });
1608
+ return null;
1609
+ }
1610
+ }
1611
+ async function refineInsightWithLLM(originalPrompt, candidate, critique, persona, config, deps, options) {
1612
+ try {
1613
+ const prompt = buildRefinePrompt(originalPrompt, candidate, critique, persona);
1614
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
1615
+ const prepared = await deps.prepareModel(config, modelRef);
1616
+ if ("error" in prepared) {
1617
+ log.warn("refineInsightWithLLM: model preparation failed", { error: prepared.error });
1618
+ return null;
1619
+ }
1620
+ const text = (await deps.complete(prepared.model, { messages: [{
1621
+ role: "user",
1622
+ content: prompt,
1623
+ timestamp: Date.now()
1624
+ }] }, {
1625
+ apiKey: prepared.auth.apiKey,
1626
+ maxTokens: options?.maxTokens ?? 4096,
1627
+ temperature: .85,
1628
+ signal: AbortSignal.timeout(options?.timeout ?? 8e3)
1629
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
1630
+ if (!text) return null;
1631
+ const candidates = parseLLMInsights(text, 1);
1632
+ if (candidates.length === 0) return null;
1633
+ return {
1634
+ ...candidates[0],
1635
+ id: candidate.id,
1636
+ targetDomains: candidate.targetDomains,
1637
+ sources: candidate.sources,
1638
+ promptVariant: candidate.promptVariant
1639
+ };
1640
+ } catch (err) {
1641
+ log.warn("refineInsightWithLLM: failed", { error: String(err) });
1642
+ return null;
1643
+ }
1644
+ }
1645
+ function buildVerificationPrompt(candidate, persona) {
1646
+ const anchorFacts = Object.entries(persona.domains).toSorted(([, a], [, b]) => b.lastMentioned - a.lastMentioned).flatMap(([name, d]) => getFilteredInsights(d).slice(0, 2).map((ki) => `${name}: ${ki}`)).slice(0, 6);
1647
+ const anchorBlock = anchorFacts.length > 0 ? anchorFacts.map((f, i) => `${i + 1}. ${f}`).join("\n") : "(not yet established)";
1648
+ const sourceBlock = candidate.sources.length > 0 ? candidate.sources.map((s, i) => `${i + 1}. [${s.title}](${s.url}) (credibility: ${s.credibility})`).join("\n") : "(no sources)";
1649
+ return `You are a quality gate judge for AI-generated proactive insights.
1650
+
1651
+ USER: ${persona.identity?.displayName ?? "the user"}
1652
+ EXPERT DOMAINS: ${persona.identity?.expertDomains?.join(", ") ?? "unknown"}
1653
+ INTEREST DOMAINS: ${persona.identity?.interestDomains?.join(", ") ?? "unknown"}
1654
+
1655
+ KNOWN FACTS:
1656
+ ${anchorBlock}
1657
+
1658
+ INSIGHT TO VERIFY:
1659
+ ---
1660
+ ${candidate.content}
1661
+ ---
1662
+ Target domains: ${candidate.targetDomains.join(", ")}
1663
+ Rationale: ${candidate.rationale}
1664
+
1665
+ SOURCES:
1666
+ ${sourceBlock}
1667
+ ---
1668
+
1669
+ Evaluate: Is this insight worth delivering to the user?
1670
+
1671
+ Score each dimension 0.0-1.0:
1672
+ - sourceGroundingScore: How well does the insight content actually reflect what the sources say? (0 if no sources claimed, 1 if perfectly grounded)
1673
+ - personalizationScore: Does the insight reference THIS user's specific facts, interests, or knowledge? (0 = generic, 1 = deeply personalized)
1674
+ - sourceRelevanceScore: Are the cited sources actually relevant to the insight's claim? (0 = irrelevant, 1 = directly supports)
1675
+
1676
+ CRITICAL CHECKS:
1677
+ - isNewsSummary: Is this insight just summarizing a news article WITHOUT connecting it to the user? If true → REJECT immediately.
1678
+ - The insight must connect external information to the USER's specific context, not just report facts.
1679
+
1680
+ Criteria for each status:
1681
+ - "verified": High quality — specific, relevant to THIS user, sources are relevant and grounded, NOT a news summary
1682
+ - "partial": Decent quality but missing some elements — still acceptable for delivery
1683
+ - "unverified": Generic, vague, not relevant enough to this specific user, OR just a news summary without personalization
1684
+ - "contradicted": Contains factual errors or contradicts known information about the user
1685
+
1686
+ Respond with ONLY a JSON object (no markdown, no code fences):
1687
+ {
1688
+ "approved": true/false,
1689
+ "confidence": 0.0-1.0,
1690
+ "status": "verified" | "partial" | "unverified" | "contradicted",
1691
+ "sourceGroundingScore": 0.0-1.0,
1692
+ "personalizationScore": 0.0-1.0,
1693
+ "sourceRelevanceScore": 0.0-1.0,
1694
+ "isNewsSummary": true/false,
1695
+ "notes": "Brief explanation of the verdict"
1696
+ }`;
1697
+ }
1698
+ async function verifyInsightWithLLM(candidate, persona, config, deps, options) {
1699
+ const unverified = {
1700
+ status: "unverified",
1701
+ sources: candidate.sources,
1702
+ confidence: 0,
1703
+ notes: "Verification unavailable"
1704
+ };
1705
+ try {
1706
+ const prompt = buildVerificationPrompt(candidate, persona);
1707
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
1708
+ const prepared = await deps.prepareModel(config, modelRef);
1709
+ if ("error" in prepared) {
1710
+ log.warn("verifyInsightWithLLM: model preparation failed", { error: prepared.error });
1711
+ return unverified;
1712
+ }
1713
+ const text = (await deps.complete(prepared.model, { messages: [{
1714
+ role: "user",
1715
+ content: prompt,
1716
+ timestamp: Date.now()
1717
+ }] }, {
1718
+ apiKey: prepared.auth.apiKey,
1719
+ maxTokens: options?.maxTokens ?? 4096,
1720
+ temperature: .2,
1721
+ signal: AbortSignal.timeout(options?.timeout ?? 8e3)
1722
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
1723
+ if (!text) return unverified;
1724
+ const objStart = text.indexOf("{");
1725
+ const objEnd = text.lastIndexOf("}");
1726
+ if (objStart === -1 || objEnd === -1 || objEnd <= objStart) return unverified;
1727
+ const parsed = JSON.parse(text.slice(objStart, objEnd + 1));
1728
+ const confidence = clamp01(Number(parsed.confidence) || 0);
1729
+ const llmStatus = String(parsed.status ?? "");
1730
+ const isNewsSummary = Boolean(parsed.isNewsSummary);
1731
+ let status;
1732
+ if (isNewsSummary) status = "unverified";
1733
+ else if (llmStatus === "contradicted") status = "contradicted";
1734
+ else if (confidence >= .7) status = "verified";
1735
+ else if (confidence >= .4) status = "partial";
1736
+ else status = "unverified";
1737
+ return {
1738
+ status,
1739
+ sources: candidate.sources,
1740
+ confidence,
1741
+ notes: String(parsed.notes ?? ""),
1742
+ sourceGroundingScore: clamp01(Number(parsed.sourceGroundingScore) || 0),
1743
+ personalizationScore: clamp01(Number(parsed.personalizationScore) || 0),
1744
+ sourceRelevanceScore: clamp01(Number(parsed.sourceRelevanceScore) || 0),
1745
+ isNewsSummary
1746
+ };
1747
+ } catch (err) {
1748
+ log.warn("verifyInsightWithLLM: failed", { error: String(err) });
1749
+ return unverified;
1750
+ }
1751
+ }
1752
+ function buildFreshnessPrompt(candidate, recentInsightContents) {
1753
+ const MAX_PER_INSIGHT = 120;
1754
+ const shown = recentInsightContents.slice(0, 5);
1755
+ const pastBlock = shown.map((text, i) => `${i + 1}. ${text.length > MAX_PER_INSIGHT ? text.slice(0, MAX_PER_INSIGHT) : text}`).join("\n");
1756
+ return `SYSTEM: You are a semantic novelty evaluator. Your job is to determine if a new insight says something genuinely new compared to past insights.
1757
+
1758
+ NEW INSIGHT:
1759
+ ${candidate.content}
1760
+
1761
+ PAST INSIGHTS (last ${shown.length}):
1762
+ ${pastBlock}
1763
+
1764
+ Is this new insight semantically equivalent to or a paraphrase of any past insight? Or does it say something genuinely new?
1765
+
1766
+ Respond ONLY with valid JSON:
1767
+ { "isNovel": boolean, "similarityToClosest": 0-1, "reason": string }
1768
+
1769
+ Criteria:
1770
+ - isNovel = true: the insight covers genuinely different ground, introduces a new angle, or connects ideas in a way not seen in past insights.
1771
+ - isNovel = false: the insight is semantically the same as a past insight even if worded differently. Paraphrases, restatements, and near-duplicates should be marked as not novel.
1772
+ - similarityToClosest: 0 = completely different topic, 1 = essentially the same insight.
1773
+ - reason: one concise sentence explaining your decision.`;
1774
+ }
1775
+ async function checkSemanticNoveltyWithLLM(candidate, recentInsightContents, config, deps, options) {
1776
+ if (recentInsightContents.length < 2) return {
1777
+ isNovel: true,
1778
+ reason: "Insufficient history for comparison"
1779
+ };
1780
+ try {
1781
+ const prompt = buildFreshnessPrompt(candidate, recentInsightContents);
1782
+ const modelRef = options?.modelRef ?? config.cognitive?.persona?.extractionModel;
1783
+ const prepared = await deps.prepareModel(config, modelRef);
1784
+ if ("error" in prepared) {
1785
+ log.warn("checkSemanticNoveltyWithLLM: model preparation failed", { error: prepared.error });
1786
+ return {
1787
+ isNovel: true,
1788
+ reason: "LLM freshness check unavailable"
1789
+ };
1790
+ }
1791
+ const text = (await deps.complete(prepared.model, { messages: [{
1792
+ role: "user",
1793
+ content: prompt,
1794
+ timestamp: Date.now()
1795
+ }] }, {
1796
+ apiKey: prepared.auth.apiKey,
1797
+ maxTokens: options?.maxTokens ?? 4096,
1798
+ temperature: .2,
1799
+ signal: AbortSignal.timeout(options?.timeout ?? 6e3)
1800
+ })).content.filter((block) => block.type === "text").map((block) => block.text).join("").trim();
1801
+ if (!text) return {
1802
+ isNovel: true,
1803
+ reason: "LLM freshness check unavailable"
1804
+ };
1805
+ const objStart = text.indexOf("{");
1806
+ const objEnd = text.lastIndexOf("}");
1807
+ if (objStart === -1 || objEnd === -1 || objEnd <= objStart) return {
1808
+ isNovel: true,
1809
+ reason: "LLM freshness check unavailable"
1810
+ };
1811
+ const parsed = JSON.parse(text.slice(objStart, objEnd + 1));
1812
+ if (typeof parsed.isNovel !== "boolean" || typeof parsed.reason !== "string") return {
1813
+ isNovel: true,
1814
+ reason: "LLM freshness check unavailable"
1815
+ };
1816
+ return {
1817
+ isNovel: parsed.isNovel,
1818
+ reason: parsed.reason
1819
+ };
1820
+ } catch (err) {
1821
+ log.warn("checkSemanticNoveltyWithLLM: failed", { error: String(err) });
1822
+ return {
1823
+ isNovel: true,
1824
+ reason: "LLM freshness check unavailable"
1825
+ };
1826
+ }
1827
+ }
1828
+ //#endregion
1829
+ export { computeTrigramSimilarity as C, verifyInsightWithLLM as S, isSubstantiveContent as _, buildPatternInsightPrompt as a, loadWorkspacePersonaContext as b, buildSurpriseInsightPrompt as c, checkSemanticNoveltyWithLLM as d, createDefaultInsightDeps as f, getFilteredInsights as g, generateInsightCandidatesLLM as h, buildInsightPrompt as i, buildVerificationPrompt as l, extractKeyTerms as m, GENERIC_INSIGHT_PATTERNS as n, buildRefinePrompt as o, critiqueInsightWithLLM as p, buildCritiquePrompt as r, buildSearchQuery as s, CONTRASTIVE_INSTRUCTION as t, buildVoiceSection as u, loadIdentityContextForInsight as v, isDuplicateBySemanticOverlap as w, refineInsightWithLLM as x, loadSoulContentForInsight as y };