@elizaos/agent 2.0.0-alpha.98 → 2.0.0-beta.2

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 (1227) hide show
  1. package/package.json +78 -923
  2. package/packages/agent/src/actions/connector-resolver.d.ts +74 -0
  3. package/packages/agent/src/actions/connector-resolver.d.ts.map +1 -0
  4. package/packages/agent/src/actions/connector-resolver.js +253 -0
  5. package/packages/agent/src/actions/contact.d.ts +35 -0
  6. package/packages/agent/src/actions/contact.d.ts.map +1 -0
  7. package/packages/agent/src/actions/contact.js +1698 -0
  8. package/packages/agent/src/actions/context-signal-lexicon.d.ts +17 -0
  9. package/packages/agent/src/actions/context-signal-lexicon.d.ts.map +1 -0
  10. package/packages/agent/src/actions/context-signal-lexicon.js +206 -0
  11. package/packages/agent/src/actions/context-signal.d.ts +48 -0
  12. package/packages/agent/src/actions/context-signal.d.ts.map +1 -0
  13. package/packages/agent/src/actions/context-signal.js +153 -0
  14. package/packages/agent/src/actions/database.d.ts +20 -0
  15. package/packages/agent/src/actions/database.d.ts.map +1 -0
  16. package/packages/agent/src/actions/database.js +671 -0
  17. package/packages/agent/src/actions/extract-page.d.ts +3 -0
  18. package/packages/agent/src/actions/extract-page.d.ts.map +1 -0
  19. package/packages/agent/src/actions/extract-page.js +153 -0
  20. package/packages/agent/src/actions/extract-params.d.ts +87 -0
  21. package/packages/agent/src/actions/extract-params.d.ts.map +1 -0
  22. package/packages/agent/src/actions/extract-params.js +187 -0
  23. package/packages/agent/src/actions/grounded-action-reply.d.ts +22 -0
  24. package/packages/agent/src/actions/grounded-action-reply.d.ts.map +1 -0
  25. package/packages/agent/src/actions/grounded-action-reply.js +287 -0
  26. package/packages/agent/src/actions/index.d.ts +22 -0
  27. package/packages/agent/src/actions/index.d.ts.map +1 -0
  28. package/packages/agent/src/actions/index.js +21 -0
  29. package/packages/agent/src/actions/logs.d.ts +11 -0
  30. package/packages/agent/src/actions/logs.d.ts.map +1 -0
  31. package/packages/agent/src/actions/logs.js +300 -0
  32. package/packages/agent/src/actions/media.d.ts +9 -0
  33. package/packages/agent/src/actions/media.d.ts.map +1 -0
  34. package/packages/agent/src/actions/media.js +135 -0
  35. package/packages/agent/src/actions/memories.d.ts +9 -0
  36. package/packages/agent/src/actions/memories.d.ts.map +1 -0
  37. package/packages/agent/src/actions/memories.js +369 -0
  38. package/packages/agent/src/actions/page-action-groups.d.ts +17 -0
  39. package/packages/agent/src/actions/page-action-groups.d.ts.map +1 -0
  40. package/packages/agent/src/actions/page-action-groups.js +413 -0
  41. package/packages/agent/src/actions/plugin.d.ts +32 -0
  42. package/packages/agent/src/actions/plugin.d.ts.map +1 -0
  43. package/packages/agent/src/actions/plugin.js +780 -0
  44. package/packages/agent/src/actions/recent-conversation-texts.d.ts +9 -0
  45. package/packages/agent/src/actions/recent-conversation-texts.d.ts.map +1 -0
  46. package/packages/agent/src/actions/recent-conversation-texts.js +76 -0
  47. package/packages/agent/src/actions/runtime.d.ts +19 -0
  48. package/packages/agent/src/actions/runtime.d.ts.map +1 -0
  49. package/packages/agent/src/actions/runtime.js +517 -0
  50. package/packages/agent/src/actions/settings-actions.d.ts +19 -0
  51. package/packages/agent/src/actions/settings-actions.d.ts.map +1 -0
  52. package/packages/agent/src/actions/settings-actions.js +478 -0
  53. package/packages/agent/src/actions/skill-command.d.ts +20 -0
  54. package/packages/agent/src/actions/skill-command.d.ts.map +1 -0
  55. package/packages/agent/src/actions/skill-command.js +170 -0
  56. package/packages/agent/src/actions/stream-control.d.ts +13 -8
  57. package/packages/agent/src/actions/stream-control.d.ts.map +1 -1
  58. package/packages/agent/src/actions/stream-control.js +127 -318
  59. package/packages/agent/src/actions/terminal.d.ts +4 -3
  60. package/packages/agent/src/actions/terminal.d.ts.map +1 -1
  61. package/packages/agent/src/actions/terminal.js +247 -96
  62. package/packages/agent/src/actions/trajectories.d.ts +8 -0
  63. package/packages/agent/src/actions/trajectories.d.ts.map +1 -0
  64. package/packages/agent/src/actions/trajectories.js +135 -0
  65. package/packages/agent/src/actions/trigger.d.ts +5 -0
  66. package/packages/agent/src/actions/trigger.d.ts.map +1 -0
  67. package/packages/agent/src/actions/trigger.js +514 -0
  68. package/packages/agent/src/api/accounts-routes.d.ts +38 -0
  69. package/packages/agent/src/api/accounts-routes.d.ts.map +1 -0
  70. package/packages/agent/src/api/accounts-routes.js +927 -0
  71. package/packages/agent/src/api/agent-admin-routes.d.ts +6 -5
  72. package/packages/agent/src/api/agent-admin-routes.d.ts.map +1 -1
  73. package/packages/agent/src/api/agent-admin-routes.js +106 -9
  74. package/packages/agent/src/api/agent-lifecycle-routes.d.ts +2 -2
  75. package/packages/agent/src/api/agent-lifecycle-routes.d.ts.map +1 -1
  76. package/packages/agent/src/api/agent-lifecycle-routes.js +22 -1
  77. package/packages/agent/src/api/agent-model.d.ts +2 -9
  78. package/packages/agent/src/api/agent-model.d.ts.map +1 -1
  79. package/packages/agent/src/api/agent-model.js +50 -3
  80. package/packages/agent/src/api/agent-status-routes.d.ts +75 -0
  81. package/packages/agent/src/api/agent-status-routes.d.ts.map +1 -0
  82. package/packages/agent/src/api/agent-status-routes.js +264 -0
  83. package/packages/agent/src/api/agent-transfer-routes.d.ts +1 -1
  84. package/packages/agent/src/api/agent-transfer-routes.js +1 -1
  85. package/packages/agent/src/api/app-package-routes.d.ts +7 -0
  86. package/packages/agent/src/api/app-package-routes.d.ts.map +1 -0
  87. package/packages/agent/src/api/app-package-routes.js +59 -0
  88. package/packages/agent/src/api/apps-routes.d.ts +16 -3
  89. package/packages/agent/src/api/apps-routes.d.ts.map +1 -1
  90. package/packages/agent/src/api/apps-routes.js +885 -15
  91. package/packages/agent/src/api/auth-routes.d.ts +1 -1
  92. package/packages/agent/src/api/auth-routes.d.ts.map +1 -1
  93. package/packages/agent/src/api/auth-routes.js +67 -2
  94. package/packages/agent/src/api/avatar-routes.d.ts +11 -0
  95. package/packages/agent/src/api/avatar-routes.d.ts.map +1 -0
  96. package/packages/agent/src/api/avatar-routes.js +205 -0
  97. package/packages/agent/src/api/binance-skill-helpers.d.ts +21 -0
  98. package/packages/agent/src/api/binance-skill-helpers.d.ts.map +1 -0
  99. package/packages/agent/src/api/binance-skill-helpers.js +745 -0
  100. package/packages/agent/src/api/bug-report-routes.d.ts +5 -2
  101. package/packages/agent/src/api/bug-report-routes.d.ts.map +1 -1
  102. package/packages/agent/src/api/bug-report-routes.js +155 -8
  103. package/packages/agent/src/api/build-variant-routes.d.ts +27 -0
  104. package/packages/agent/src/api/build-variant-routes.d.ts.map +1 -0
  105. package/packages/agent/src/api/build-variant-routes.js +27 -0
  106. package/packages/agent/src/api/character-routes.d.ts +7 -5
  107. package/packages/agent/src/api/character-routes.d.ts.map +1 -1
  108. package/packages/agent/src/api/character-routes.js +100 -49
  109. package/packages/agent/src/api/chat-augmentation.d.ts +70 -0
  110. package/packages/agent/src/api/chat-augmentation.d.ts.map +1 -0
  111. package/packages/agent/src/api/chat-augmentation.js +464 -0
  112. package/packages/agent/src/api/chat-routes.d.ts +124 -0
  113. package/packages/agent/src/api/chat-routes.d.ts.map +1 -0
  114. package/packages/agent/src/api/chat-routes.js +1841 -0
  115. package/packages/agent/src/api/chat-text-helpers.d.ts +11 -0
  116. package/packages/agent/src/api/chat-text-helpers.d.ts.map +1 -0
  117. package/packages/agent/src/api/chat-text-helpers.js +184 -0
  118. package/packages/agent/src/api/client-chat-admin.d.ts +19 -0
  119. package/packages/agent/src/api/client-chat-admin.d.ts.map +1 -0
  120. package/packages/agent/src/api/client-chat-admin.js +27 -0
  121. package/packages/agent/src/api/cloud-route-registry.d.ts +22 -0
  122. package/packages/agent/src/api/cloud-route-registry.d.ts.map +1 -0
  123. package/packages/agent/src/api/cloud-route-registry.js +20 -0
  124. package/packages/agent/src/api/compat-utils.d.ts.map +1 -1
  125. package/packages/agent/src/api/compat-utils.js +1 -5
  126. package/packages/agent/src/api/config-env.d.ts +43 -0
  127. package/packages/agent/src/api/config-env.d.ts.map +1 -0
  128. package/packages/agent/src/api/config-env.js +284 -0
  129. package/packages/agent/src/api/config-routes.d.ts +40 -0
  130. package/packages/agent/src/api/config-routes.d.ts.map +1 -0
  131. package/packages/agent/src/api/config-routes.js +429 -0
  132. package/packages/agent/src/api/connector-account-routes.d.ts +25 -0
  133. package/packages/agent/src/api/connector-account-routes.d.ts.map +1 -0
  134. package/packages/agent/src/api/connector-account-routes.js +740 -0
  135. package/packages/agent/src/api/connector-health.d.ts +9 -1
  136. package/packages/agent/src/api/connector-health.d.ts.map +1 -1
  137. package/packages/agent/src/api/connector-health.js +33 -10
  138. package/packages/agent/src/api/connector-oauth-callback-auth.d.ts +2 -0
  139. package/packages/agent/src/api/connector-oauth-callback-auth.d.ts.map +1 -0
  140. package/packages/agent/src/api/connector-oauth-callback-auth.js +4 -0
  141. package/packages/agent/src/api/connector-routes.d.ts +36 -0
  142. package/packages/agent/src/api/connector-routes.d.ts.map +1 -0
  143. package/packages/agent/src/api/connector-routes.js +184 -0
  144. package/packages/agent/src/api/conversation-metadata.d.ts +10 -0
  145. package/packages/agent/src/api/conversation-metadata.d.ts.map +1 -0
  146. package/packages/agent/src/api/conversation-metadata.js +107 -0
  147. package/packages/agent/src/api/conversation-routes.d.ts +43 -0
  148. package/packages/agent/src/api/conversation-routes.d.ts.map +1 -0
  149. package/packages/agent/src/api/conversation-routes.js +1208 -0
  150. package/packages/agent/src/api/coordinator-wiring.d.ts +4 -4
  151. package/packages/agent/src/api/coordinator-wiring.d.ts.map +1 -1
  152. package/packages/agent/src/api/coordinator-wiring.js +13 -6
  153. package/packages/agent/src/api/credit-detection.d.ts.map +1 -1
  154. package/packages/agent/src/api/credit-detection.js +12 -6
  155. package/packages/agent/src/api/curated-skills-routes.d.ts +22 -0
  156. package/packages/agent/src/api/curated-skills-routes.d.ts.map +1 -0
  157. package/packages/agent/src/api/curated-skills-routes.js +295 -0
  158. package/packages/agent/src/api/database.d.ts +2 -0
  159. package/packages/agent/src/api/database.d.ts.map +1 -1
  160. package/packages/agent/src/api/database.js +129 -8
  161. package/packages/agent/src/api/diagnostics-routes.d.ts +15 -2
  162. package/packages/agent/src/api/diagnostics-routes.d.ts.map +1 -1
  163. package/packages/agent/src/api/diagnostics-routes.js +145 -21
  164. package/packages/agent/src/api/documents-routes.d.ts +9 -0
  165. package/packages/agent/src/api/documents-routes.d.ts.map +1 -0
  166. package/packages/agent/src/api/documents-routes.js +26 -0
  167. package/packages/agent/src/api/documents-service-loader.d.ts +76 -0
  168. package/packages/agent/src/api/documents-service-loader.d.ts.map +1 -0
  169. package/packages/agent/src/api/{knowledge-service-loader.js → documents-service-loader.js} +10 -8
  170. package/packages/agent/src/api/health-routes.d.ts +46 -0
  171. package/packages/agent/src/api/health-routes.d.ts.map +1 -0
  172. package/packages/agent/src/api/health-routes.js +450 -0
  173. package/packages/agent/src/api/inbox-routes.d.ts +47 -0
  174. package/packages/agent/src/api/inbox-routes.d.ts.map +1 -0
  175. package/packages/agent/src/api/inbox-routes.js +1579 -0
  176. package/packages/agent/src/api/index.d.ts +45 -60
  177. package/packages/agent/src/api/index.d.ts.map +1 -1
  178. package/packages/agent/src/api/index.js +49 -59
  179. package/packages/agent/src/api/memory-routes.d.ts +1 -1
  180. package/packages/agent/src/api/memory-routes.d.ts.map +1 -1
  181. package/packages/agent/src/api/memory-routes.js +274 -41
  182. package/packages/agent/src/api/misc-routes.d.ts +64 -0
  183. package/packages/agent/src/api/misc-routes.d.ts.map +1 -0
  184. package/packages/agent/src/api/misc-routes.js +569 -0
  185. package/packages/agent/src/api/mobile-optional-routes.d.ts +3 -0
  186. package/packages/agent/src/api/mobile-optional-routes.d.ts.map +1 -0
  187. package/packages/agent/src/api/mobile-optional-routes.js +91 -0
  188. package/packages/agent/src/api/model-provider-helpers.d.ts +68 -0
  189. package/packages/agent/src/api/model-provider-helpers.d.ts.map +1 -0
  190. package/packages/agent/src/api/model-provider-helpers.js +623 -0
  191. package/packages/agent/src/api/models-routes.d.ts +1 -1
  192. package/packages/agent/src/api/models-routes.d.ts.map +1 -1
  193. package/packages/agent/src/api/music-player-route-fallback.d.ts +16 -0
  194. package/packages/agent/src/api/music-player-route-fallback.d.ts.map +1 -0
  195. package/packages/agent/src/api/music-player-route-fallback.js +65 -0
  196. package/packages/agent/src/api/nfa-routes.d.ts +2 -1
  197. package/packages/agent/src/api/nfa-routes.d.ts.map +1 -1
  198. package/packages/agent/src/api/nfa-routes.js +10 -10
  199. package/packages/agent/src/api/onboarding-routes.d.ts +50 -0
  200. package/packages/agent/src/api/onboarding-routes.d.ts.map +1 -0
  201. package/packages/agent/src/api/onboarding-routes.js +588 -0
  202. package/packages/agent/src/api/owner-contact-helpers.d.ts +39 -0
  203. package/packages/agent/src/api/owner-contact-helpers.d.ts.map +1 -0
  204. package/packages/agent/src/api/owner-contact-helpers.js +47 -0
  205. package/packages/agent/src/api/parse-action-block.d.ts +20 -3
  206. package/packages/agent/src/api/parse-action-block.d.ts.map +1 -1
  207. package/packages/agent/src/api/parse-action-block.js +77 -6
  208. package/packages/agent/src/api/permission-request-prompt.d.ts +19 -0
  209. package/packages/agent/src/api/permission-request-prompt.d.ts.map +1 -0
  210. package/packages/agent/src/api/permission-request-prompt.js +53 -0
  211. package/packages/agent/src/api/permissions-routes-extra.d.ts +30 -0
  212. package/packages/agent/src/api/permissions-routes-extra.d.ts.map +1 -0
  213. package/packages/agent/src/api/permissions-routes-extra.js +78 -0
  214. package/packages/agent/src/api/permissions-routes.d.ts +6 -11
  215. package/packages/agent/src/api/permissions-routes.d.ts.map +1 -1
  216. package/packages/agent/src/api/permissions-routes.js +230 -27
  217. package/packages/agent/src/api/plugin-discovery-helpers.d.ts +147 -0
  218. package/packages/agent/src/api/plugin-discovery-helpers.d.ts.map +1 -0
  219. package/packages/agent/src/api/plugin-discovery-helpers.js +1118 -0
  220. package/packages/agent/src/api/plugin-routes.d.ts +144 -0
  221. package/packages/agent/src/api/plugin-routes.d.ts.map +1 -0
  222. package/packages/agent/src/api/plugin-routes.js +1285 -0
  223. package/packages/agent/src/api/plugin-runtime-apply.d.ts +31 -0
  224. package/packages/agent/src/api/plugin-runtime-apply.d.ts.map +1 -0
  225. package/packages/agent/src/api/plugin-runtime-apply.js +217 -0
  226. package/packages/agent/src/api/plugin-validation.d.ts.map +1 -1
  227. package/packages/agent/src/api/plugin-validation.js +4 -2
  228. package/packages/agent/src/api/provider-switch-config.d.ts +32 -7
  229. package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -1
  230. package/packages/agent/src/api/provider-switch-config.js +627 -225
  231. package/packages/agent/src/api/provider-switch-routes.d.ts +29 -0
  232. package/packages/agent/src/api/provider-switch-routes.d.ts.map +1 -0
  233. package/packages/agent/src/api/provider-switch-routes.js +142 -0
  234. package/packages/agent/src/api/rate-limiter.d.ts +29 -0
  235. package/packages/agent/src/api/rate-limiter.d.ts.map +1 -0
  236. package/packages/agent/src/api/rate-limiter.js +57 -0
  237. package/packages/agent/src/api/registry-routes.d.ts +5 -2
  238. package/packages/agent/src/api/registry-routes.d.ts.map +1 -1
  239. package/packages/agent/src/api/registry-routes.js +13 -5
  240. package/packages/agent/src/api/registry-service.d.ts +1 -1
  241. package/packages/agent/src/api/registry-service.d.ts.map +1 -1
  242. package/packages/agent/src/api/relationships-routes.d.ts +7 -0
  243. package/packages/agent/src/api/relationships-routes.d.ts.map +1 -0
  244. package/packages/agent/src/api/relationships-routes.js +287 -0
  245. package/packages/agent/src/api/runtime-plugin-routes.d.ts +27 -0
  246. package/packages/agent/src/api/runtime-plugin-routes.d.ts.map +1 -0
  247. package/packages/agent/src/api/runtime-plugin-routes.js +203 -0
  248. package/packages/agent/src/api/server-auth.d.ts +46 -0
  249. package/packages/agent/src/api/server-auth.d.ts.map +1 -0
  250. package/packages/agent/src/api/server-auth.js +507 -0
  251. package/packages/agent/src/api/server-autonomy-helpers.d.ts +5 -0
  252. package/packages/agent/src/api/server-autonomy-helpers.d.ts.map +1 -0
  253. package/packages/agent/src/api/server-autonomy-helpers.js +28 -0
  254. package/packages/agent/src/api/server-helpers-auth.d.ts +41 -0
  255. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -0
  256. package/packages/agent/src/api/server-helpers-auth.js +627 -0
  257. package/packages/agent/src/api/server-helpers-config.d.ts +37 -0
  258. package/packages/agent/src/api/server-helpers-config.d.ts.map +1 -0
  259. package/packages/agent/src/api/server-helpers-config.js +293 -0
  260. package/packages/agent/src/api/server-helpers-fetch.d.ts +15 -0
  261. package/packages/agent/src/api/server-helpers-fetch.d.ts.map +1 -0
  262. package/packages/agent/src/api/server-helpers-fetch.js +149 -0
  263. package/packages/agent/src/api/server-helpers-mcp.d.ts +12 -0
  264. package/packages/agent/src/api/server-helpers-mcp.d.ts.map +1 -0
  265. package/packages/agent/src/api/server-helpers-mcp.js +315 -0
  266. package/packages/agent/src/api/server-helpers-plugin.d.ts +13 -0
  267. package/packages/agent/src/api/server-helpers-plugin.d.ts.map +1 -0
  268. package/packages/agent/src/api/server-helpers-plugin.js +160 -0
  269. package/packages/agent/src/api/server-helpers-swarm.d.ts +101 -0
  270. package/packages/agent/src/api/server-helpers-swarm.d.ts.map +1 -0
  271. package/packages/agent/src/api/server-helpers-swarm.js +646 -0
  272. package/packages/agent/src/api/server-helpers-wallet.d.ts +18 -0
  273. package/packages/agent/src/api/server-helpers-wallet.d.ts.map +1 -0
  274. package/packages/agent/src/api/server-helpers-wallet.js +177 -0
  275. package/packages/agent/src/api/server-helpers.d.ts +96 -0
  276. package/packages/agent/src/api/server-helpers.d.ts.map +1 -0
  277. package/packages/agent/src/api/server-helpers.js +595 -0
  278. package/packages/agent/src/api/server-route-dispatch.d.ts +30 -0
  279. package/packages/agent/src/api/server-route-dispatch.d.ts.map +1 -0
  280. package/packages/agent/src/api/server-route-dispatch.js +103 -0
  281. package/packages/agent/src/api/server-startup.d.ts +16 -0
  282. package/packages/agent/src/api/server-startup.d.ts.map +1 -0
  283. package/packages/agent/src/api/server-startup.js +14 -0
  284. package/packages/agent/src/api/server-types.d.ts +232 -0
  285. package/packages/agent/src/api/server-types.d.ts.map +1 -0
  286. package/packages/agent/src/api/server-types.js +6 -0
  287. package/packages/agent/src/api/server.d.ts +26 -383
  288. package/packages/agent/src/api/server.d.ts.map +1 -1
  289. package/packages/agent/src/api/server.js +2022 -12484
  290. package/packages/agent/src/api/skill-discovery-helpers.d.ts +80 -0
  291. package/packages/agent/src/api/skill-discovery-helpers.d.ts.map +1 -0
  292. package/packages/agent/src/api/skill-discovery-helpers.js +385 -0
  293. package/packages/agent/src/api/skills-routes.d.ts +32 -0
  294. package/packages/agent/src/api/skills-routes.d.ts.map +1 -0
  295. package/packages/agent/src/api/skills-routes.js +978 -0
  296. package/packages/agent/src/api/static-file-server.d.ts +19 -0
  297. package/packages/agent/src/api/static-file-server.d.ts.map +1 -0
  298. package/packages/agent/src/api/static-file-server.js +234 -0
  299. package/packages/agent/src/api/subscription-routes.d.ts +6 -6
  300. package/packages/agent/src/api/subscription-routes.d.ts.map +1 -1
  301. package/packages/agent/src/api/subscription-routes.js +84 -14
  302. package/packages/agent/src/api/task-agent-message-routing.d.ts +10 -0
  303. package/packages/agent/src/api/task-agent-message-routing.d.ts.map +1 -0
  304. package/packages/agent/src/api/task-agent-message-routing.js +62 -0
  305. package/packages/agent/src/api/terminal-execution-routing.d.ts +14 -0
  306. package/packages/agent/src/api/terminal-execution-routing.d.ts.map +1 -0
  307. package/packages/agent/src/api/terminal-execution-routing.js +23 -0
  308. package/packages/agent/src/api/terminal-run-limits.d.ts.map +1 -1
  309. package/packages/agent/src/api/terminal-run-limits.js +3 -5
  310. package/packages/agent/src/api/trade-safety.d.ts +35 -0
  311. package/packages/agent/src/api/trade-safety.d.ts.map +1 -0
  312. package/packages/agent/src/api/trade-safety.js +62 -0
  313. package/packages/agent/src/api/training-service-like.d.ts +3 -2
  314. package/packages/agent/src/api/training-service-like.d.ts.map +1 -1
  315. package/packages/agent/src/api/travel-provider-relay-routes.d.ts +9 -0
  316. package/packages/agent/src/api/travel-provider-relay-routes.d.ts.map +1 -0
  317. package/packages/agent/src/api/travel-provider-relay-routes.js +143 -0
  318. package/packages/agent/src/api/tx-service.d.ts +6 -0
  319. package/packages/agent/src/api/tx-service.d.ts.map +1 -1
  320. package/packages/agent/src/api/tx-service.js +64 -3
  321. package/packages/agent/src/api/update-routes.d.ts +19 -0
  322. package/packages/agent/src/api/update-routes.d.ts.map +1 -0
  323. package/packages/agent/src/api/update-routes.js +54 -0
  324. package/packages/agent/src/api/wallet-capability.d.ts +33 -0
  325. package/packages/agent/src/api/wallet-capability.d.ts.map +1 -0
  326. package/packages/agent/src/api/wallet-capability.js +193 -0
  327. package/packages/agent/src/api/wallet-dex-prices.d.ts +0 -18
  328. package/packages/agent/src/api/wallet-dex-prices.d.ts.map +1 -1
  329. package/packages/agent/src/api/wallet-dex-prices.js +14 -38
  330. package/packages/agent/src/api/wallet-env-sync.d.ts +2 -0
  331. package/packages/agent/src/api/wallet-env-sync.d.ts.map +1 -0
  332. package/packages/agent/src/api/wallet-env-sync.js +108 -0
  333. package/packages/agent/src/api/wallet-evm-balance.d.ts +8 -1
  334. package/packages/agent/src/api/wallet-evm-balance.d.ts.map +1 -1
  335. package/packages/agent/src/api/wallet-evm-balance.js +5 -5
  336. package/packages/agent/src/api/wallet-routes.d.ts +20 -12
  337. package/packages/agent/src/api/wallet-routes.d.ts.map +1 -1
  338. package/packages/agent/src/api/wallet-routes.js +593 -37
  339. package/packages/agent/src/api/wallet-rpc.d.ts +14 -11
  340. package/packages/agent/src/api/wallet-rpc.d.ts.map +1 -1
  341. package/packages/agent/src/api/wallet-rpc.js +108 -38
  342. package/packages/agent/src/api/wallet-trading-profile.d.ts +2 -22
  343. package/packages/agent/src/api/wallet-trading-profile.d.ts.map +1 -1
  344. package/packages/agent/src/api/wallet-trading-profile.js +27 -30
  345. package/packages/agent/src/api/wallet.d.ts +38 -5
  346. package/packages/agent/src/api/wallet.d.ts.map +1 -1
  347. package/packages/agent/src/api/wallet.js +469 -202
  348. package/packages/agent/src/api/workbench-helpers.d.ts +39 -0
  349. package/packages/agent/src/api/workbench-helpers.d.ts.map +1 -0
  350. package/packages/agent/src/api/workbench-helpers.js +137 -0
  351. package/packages/agent/src/api/workbench-routes.d.ts +43 -0
  352. package/packages/agent/src/api/workbench-routes.d.ts.map +1 -0
  353. package/packages/agent/src/api/workbench-routes.js +265 -0
  354. package/packages/agent/src/api/x-relay-routes.d.ts +27 -0
  355. package/packages/agent/src/api/x-relay-routes.d.ts.map +1 -0
  356. package/packages/agent/src/api/x-relay-routes.js +134 -0
  357. package/packages/agent/src/auth/account-storage.d.ts +48 -0
  358. package/packages/agent/src/auth/account-storage.d.ts.map +1 -0
  359. package/packages/agent/src/auth/account-storage.js +229 -0
  360. package/packages/agent/src/auth/anthropic.d.ts +3 -4
  361. package/packages/agent/src/auth/anthropic.d.ts.map +1 -1
  362. package/packages/agent/src/auth/anthropic.js +5 -7
  363. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts +2 -0
  364. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts.map +1 -0
  365. package/packages/agent/src/auth/claude-code-stealth-preload.js +2 -0
  366. package/packages/agent/src/auth/claude-code-stealth.d.ts.map +1 -1
  367. package/packages/agent/src/auth/claude-code-stealth.js +21 -9
  368. package/packages/agent/src/auth/credentials.d.ts +62 -17
  369. package/packages/agent/src/auth/credentials.d.ts.map +1 -1
  370. package/packages/agent/src/auth/credentials.js +492 -121
  371. package/packages/agent/src/auth/index.d.ts +7 -6
  372. package/packages/agent/src/auth/index.d.ts.map +1 -1
  373. package/packages/agent/src/auth/index.js +7 -3
  374. package/packages/agent/src/auth/oauth-flow.d.ts +106 -0
  375. package/packages/agent/src/auth/oauth-flow.d.ts.map +1 -0
  376. package/packages/agent/src/auth/oauth-flow.js +349 -0
  377. package/packages/agent/src/auth/openai-codex.d.ts +2 -2
  378. package/packages/agent/src/auth/openai-codex.d.ts.map +1 -1
  379. package/packages/agent/src/auth/openai-codex.js +17 -13
  380. package/packages/agent/src/auth/refresh-mutex.d.ts +19 -0
  381. package/packages/agent/src/auth/refresh-mutex.d.ts.map +1 -0
  382. package/packages/agent/src/auth/refresh-mutex.js +33 -0
  383. package/packages/agent/src/auth/types.d.ts +42 -2
  384. package/packages/agent/src/auth/types.d.ts.map +1 -1
  385. package/packages/agent/src/auth/types.js +142 -1
  386. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts +48 -0
  387. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts.map +1 -0
  388. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.js +113 -0
  389. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts +26 -0
  390. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts.map +1 -0
  391. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.js +343 -0
  392. package/packages/agent/src/auth/vendor/pi-oauth/pkce.d.ts +9 -0
  393. package/packages/agent/src/auth/vendor/pi-oauth/pkce.d.ts.map +1 -0
  394. package/packages/agent/src/auth/vendor/pi-oauth/pkce.js +21 -0
  395. package/packages/agent/src/autonomy/index.d.ts +48 -0
  396. package/packages/agent/src/autonomy/index.d.ts.map +1 -0
  397. package/packages/agent/src/autonomy/index.js +344 -0
  398. package/packages/agent/src/awareness/index.d.ts +2 -0
  399. package/packages/agent/src/awareness/index.d.ts.map +1 -0
  400. package/packages/agent/src/awareness/index.js +1 -0
  401. package/packages/agent/src/awareness/registry.d.ts +1 -26
  402. package/packages/agent/src/awareness/registry.d.ts.map +1 -1
  403. package/packages/agent/src/awareness/registry.js +1 -161
  404. package/packages/agent/src/bin.js +46 -1
  405. package/packages/agent/src/cli/benchmark.d.ts +10 -0
  406. package/packages/agent/src/cli/benchmark.d.ts.map +1 -0
  407. package/packages/agent/src/cli/benchmark.js +293 -0
  408. package/packages/agent/src/cli/index.d.ts.map +1 -1
  409. package/packages/agent/src/cli/index.js +58 -4
  410. package/packages/agent/src/config/config.d.ts +2 -2
  411. package/packages/agent/src/config/config.d.ts.map +1 -1
  412. package/packages/agent/src/config/config.js +185 -18
  413. package/packages/agent/src/config/env-vars.d.ts +7 -1
  414. package/packages/agent/src/config/env-vars.d.ts.map +1 -1
  415. package/packages/agent/src/config/env-vars.js +205 -0
  416. package/packages/agent/src/config/feature-flags.d.ts +17 -0
  417. package/packages/agent/src/config/feature-flags.d.ts.map +1 -0
  418. package/packages/agent/src/config/feature-flags.js +37 -0
  419. package/packages/agent/src/config/includes.d.ts.map +1 -1
  420. package/packages/agent/src/config/includes.js +6 -5
  421. package/packages/agent/src/config/index.d.ts +10 -15
  422. package/packages/agent/src/config/index.d.ts.map +1 -1
  423. package/packages/agent/src/config/index.js +9 -15
  424. package/packages/agent/src/config/model-metadata.d.ts +20 -0
  425. package/packages/agent/src/config/model-metadata.d.ts.map +1 -0
  426. package/packages/agent/src/config/model-metadata.js +133 -0
  427. package/packages/agent/src/config/owner-contacts.d.ts +42 -0
  428. package/packages/agent/src/config/owner-contacts.d.ts.map +1 -0
  429. package/packages/agent/src/config/owner-contacts.js +238 -0
  430. package/packages/agent/src/config/paths.d.ts +10 -6
  431. package/packages/agent/src/config/paths.d.ts.map +1 -1
  432. package/packages/agent/src/config/paths.js +43 -45
  433. package/packages/agent/src/config/plugin-auto-enable.d.ts +12 -15
  434. package/packages/agent/src/config/plugin-auto-enable.d.ts.map +1 -1
  435. package/packages/agent/src/config/plugin-auto-enable.js +12 -384
  436. package/packages/agent/src/config/plugin-widgets.d.ts +29 -0
  437. package/packages/agent/src/config/plugin-widgets.d.ts.map +1 -0
  438. package/packages/agent/src/config/plugin-widgets.js +104 -0
  439. package/packages/agent/src/config/schema.d.ts +2 -2
  440. package/packages/agent/src/config/schema.d.ts.map +1 -1
  441. package/packages/agent/src/config/schema.js +24 -24
  442. package/packages/agent/src/config/types.agent-defaults.d.ts +1 -330
  443. package/packages/agent/src/config/types.agent-defaults.d.ts.map +1 -1
  444. package/packages/agent/src/config/types.agent-defaults.js +1 -1
  445. package/packages/agent/src/config/types.agents.d.ts +1 -109
  446. package/packages/agent/src/config/types.agents.d.ts.map +1 -1
  447. package/packages/agent/src/config/types.agents.js +1 -1
  448. package/packages/agent/src/config/types.d.ts +1 -7
  449. package/packages/agent/src/config/types.d.ts.map +1 -1
  450. package/packages/agent/src/config/types.eliza.d.ts +1 -635
  451. package/packages/agent/src/config/types.eliza.d.ts.map +1 -1
  452. package/packages/agent/src/config/types.eliza.js +1 -1
  453. package/packages/agent/src/config/types.gateway.d.ts +1 -215
  454. package/packages/agent/src/config/types.gateway.d.ts.map +1 -1
  455. package/packages/agent/src/config/types.gateway.js +1 -1
  456. package/packages/agent/src/config/types.hooks.d.ts +1 -106
  457. package/packages/agent/src/config/types.hooks.d.ts.map +1 -1
  458. package/packages/agent/src/config/types.hooks.js +1 -1
  459. package/packages/agent/src/config/types.js +1 -7
  460. package/packages/agent/src/config/types.messages.d.ts +1 -175
  461. package/packages/agent/src/config/types.messages.d.ts.map +1 -1
  462. package/packages/agent/src/config/types.messages.js +1 -1
  463. package/packages/agent/src/config/types.tools.d.ts +1 -399
  464. package/packages/agent/src/config/types.tools.d.ts.map +1 -1
  465. package/packages/agent/src/config/types.tools.js +1 -1
  466. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts +111 -9
  467. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts.map +1 -1
  468. package/packages/agent/src/config/zod-schema.agent-runtime.js +89 -2
  469. package/packages/agent/src/config/zod-schema.core.d.ts +308 -50
  470. package/packages/agent/src/config/zod-schema.core.d.ts.map +1 -1
  471. package/packages/agent/src/config/zod-schema.core.js +81 -14
  472. package/packages/agent/src/config/zod-schema.d.ts +500 -1913
  473. package/packages/agent/src/config/zod-schema.d.ts.map +1 -1
  474. package/packages/agent/src/config/zod-schema.js +84 -16
  475. package/packages/agent/src/config/zod-schema.providers-core.d.ts +135 -359
  476. package/packages/agent/src/config/zod-schema.providers-core.d.ts.map +1 -1
  477. package/packages/agent/src/config/zod-schema.providers-core.js +51 -88
  478. package/packages/agent/src/config/zod-schema.session.d.ts +1 -1
  479. package/packages/agent/src/config/zod-schema.session.js +1 -1
  480. package/packages/agent/src/contracts/awareness.d.ts +1 -1
  481. package/packages/agent/src/contracts/index.d.ts +1 -8
  482. package/packages/agent/src/contracts/index.d.ts.map +1 -1
  483. package/packages/agent/src/contracts/index.js +1 -8
  484. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts +177 -0
  485. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts.map +1 -0
  486. package/packages/agent/src/contracts/{onboarding.js → onboarding-provider-defaults.js} +21 -109
  487. package/packages/agent/src/diagnostics/index.d.ts +2 -0
  488. package/packages/agent/src/diagnostics/index.d.ts.map +1 -0
  489. package/packages/agent/src/diagnostics/index.js +1 -0
  490. package/packages/agent/src/diagnostics/integration-observability.d.ts +1 -1
  491. package/packages/agent/src/diagnostics/integration-observability.d.ts.map +1 -1
  492. package/packages/agent/src/diagnostics/integration-observability.js +13 -3
  493. package/packages/agent/src/hooks/discovery.d.ts +1 -1
  494. package/packages/agent/src/hooks/discovery.d.ts.map +1 -1
  495. package/packages/agent/src/hooks/discovery.js +10 -3
  496. package/packages/agent/src/hooks/eligibility.d.ts +2 -2
  497. package/packages/agent/src/hooks/eligibility.d.ts.map +1 -1
  498. package/packages/agent/src/hooks/eligibility.js +7 -2
  499. package/packages/agent/src/hooks/index.d.ts +2 -2
  500. package/packages/agent/src/hooks/index.d.ts.map +1 -1
  501. package/packages/agent/src/hooks/index.js +2 -2
  502. package/packages/agent/src/hooks/loader.d.ts +2 -2
  503. package/packages/agent/src/hooks/loader.d.ts.map +1 -1
  504. package/packages/agent/src/hooks/loader.js +50 -12
  505. package/packages/agent/src/hooks/registry.d.ts +1 -1
  506. package/packages/agent/src/hooks/registry.d.ts.map +1 -1
  507. package/packages/agent/src/index.d.ts +72 -19
  508. package/packages/agent/src/index.d.ts.map +1 -1
  509. package/packages/agent/src/index.js +104 -19
  510. package/packages/agent/src/providers/admin-panel.d.ts +4 -0
  511. package/packages/agent/src/providers/admin-panel.d.ts.map +1 -0
  512. package/packages/agent/src/providers/admin-panel.js +89 -0
  513. package/packages/agent/src/providers/admin-trust.d.ts.map +1 -1
  514. package/packages/agent/src/providers/admin-trust.js +20 -33
  515. package/packages/agent/src/providers/automation-terminal-bridge.d.ts +3 -0
  516. package/packages/agent/src/providers/automation-terminal-bridge.d.ts.map +1 -0
  517. package/packages/agent/src/providers/automation-terminal-bridge.js +77 -0
  518. package/packages/agent/src/providers/conversation-proximity.d.ts +3 -0
  519. package/packages/agent/src/providers/conversation-proximity.d.ts.map +1 -0
  520. package/packages/agent/src/providers/conversation-proximity.js +62 -0
  521. package/packages/agent/src/providers/escalation-trigger.d.ts +15 -0
  522. package/packages/agent/src/providers/escalation-trigger.d.ts.map +1 -0
  523. package/packages/agent/src/providers/escalation-trigger.js +171 -0
  524. package/packages/agent/src/providers/index.d.ts +19 -0
  525. package/packages/agent/src/providers/index.d.ts.map +1 -0
  526. package/packages/agent/src/providers/index.js +18 -0
  527. package/packages/agent/src/providers/local-models.d.ts +118 -0
  528. package/packages/agent/src/providers/local-models.d.ts.map +1 -0
  529. package/packages/agent/src/providers/local-models.js +418 -0
  530. package/packages/agent/src/providers/media-provider.d.ts +233 -0
  531. package/packages/agent/src/providers/media-provider.d.ts.map +1 -0
  532. package/packages/agent/src/providers/media-provider.js +1474 -0
  533. package/packages/agent/src/providers/page-scoped-context.d.ts +3 -0
  534. package/packages/agent/src/providers/page-scoped-context.d.ts.map +1 -0
  535. package/packages/agent/src/providers/page-scoped-context.js +551 -0
  536. package/packages/agent/src/providers/pending-permissions-provider.d.ts +19 -0
  537. package/packages/agent/src/providers/pending-permissions-provider.d.ts.map +1 -0
  538. package/packages/agent/src/providers/pending-permissions-provider.js +104 -0
  539. package/packages/agent/src/providers/recent-conversations.d.ts +3 -0
  540. package/packages/agent/src/providers/recent-conversations.d.ts.map +1 -0
  541. package/packages/agent/src/providers/recent-conversations.js +100 -0
  542. package/packages/agent/src/providers/relevant-conversations.d.ts +3 -0
  543. package/packages/agent/src/providers/relevant-conversations.d.ts.map +1 -0
  544. package/packages/agent/src/providers/relevant-conversations.js +99 -0
  545. package/packages/agent/src/providers/role-backfill.d.ts +18 -0
  546. package/packages/agent/src/providers/role-backfill.d.ts.map +1 -0
  547. package/packages/agent/src/providers/role-backfill.js +86 -0
  548. package/packages/agent/src/providers/rolodex.d.ts +3 -0
  549. package/packages/agent/src/providers/rolodex.d.ts.map +1 -0
  550. package/packages/agent/src/providers/rolodex.js +83 -0
  551. package/packages/agent/src/providers/self-status.d.ts +4 -0
  552. package/packages/agent/src/providers/self-status.d.ts.map +1 -0
  553. package/packages/agent/src/providers/self-status.js +22 -0
  554. package/packages/agent/src/providers/session-bridge.d.ts.map +1 -1
  555. package/packages/agent/src/providers/session-bridge.js +6 -1
  556. package/packages/agent/src/providers/session-utils.d.ts +1 -1
  557. package/packages/agent/src/providers/session-utils.d.ts.map +1 -1
  558. package/packages/agent/src/providers/session-utils.js +2 -3
  559. package/packages/agent/src/providers/simple-mode.d.ts.map +1 -1
  560. package/packages/agent/src/providers/simple-mode.js +18 -54
  561. package/packages/agent/src/providers/skill-provider.d.ts +16 -0
  562. package/packages/agent/src/providers/skill-provider.d.ts.map +1 -0
  563. package/packages/agent/src/providers/skill-provider.js +353 -0
  564. package/packages/agent/src/providers/tasks.d.ts +9 -0
  565. package/packages/agent/src/providers/tasks.d.ts.map +1 -0
  566. package/packages/agent/src/providers/tasks.js +118 -0
  567. package/packages/agent/src/providers/ui-catalog.d.ts.map +1 -1
  568. package/packages/agent/src/providers/ui-catalog.js +15 -38
  569. package/packages/agent/src/providers/user-name.d.ts +11 -0
  570. package/packages/agent/src/providers/user-name.d.ts.map +1 -0
  571. package/packages/agent/src/providers/user-name.js +46 -0
  572. package/packages/agent/src/providers/workspace-provider.d.ts +3 -11
  573. package/packages/agent/src/providers/workspace-provider.d.ts.map +1 -1
  574. package/packages/agent/src/providers/workspace-provider.js +27 -11
  575. package/packages/agent/src/providers/workspace.d.ts +2 -3
  576. package/packages/agent/src/providers/workspace.d.ts.map +1 -1
  577. package/packages/agent/src/providers/workspace.js +81 -68
  578. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts +8 -0
  579. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts.map +1 -0
  580. package/packages/agent/src/runtime/advanced-capabilities-config.js +41 -0
  581. package/packages/agent/src/runtime/agent-wallets.d.ts +138 -0
  582. package/packages/agent/src/runtime/agent-wallets.d.ts.map +1 -0
  583. package/packages/agent/src/runtime/agent-wallets.js +308 -0
  584. package/packages/agent/src/runtime/analysis-mode-flag.d.ts +93 -0
  585. package/packages/agent/src/runtime/analysis-mode-flag.d.ts.map +1 -0
  586. package/packages/agent/src/runtime/analysis-mode-flag.js +131 -0
  587. package/packages/agent/src/runtime/android-app-plugins.d.ts +13 -0
  588. package/packages/agent/src/runtime/android-app-plugins.d.ts.map +1 -0
  589. package/packages/agent/src/runtime/android-app-plugins.js +48 -0
  590. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts +99 -0
  591. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts.map +1 -0
  592. package/packages/agent/src/runtime/aosp-dflash-adapter.js +332 -0
  593. package/packages/agent/src/runtime/build-character-config.d.ts +2 -0
  594. package/packages/agent/src/runtime/build-character-config.d.ts.map +1 -0
  595. package/packages/agent/src/runtime/build-character-config.js +176 -0
  596. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts +141 -0
  597. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts.map +1 -0
  598. package/packages/agent/src/runtime/conversation-compactor-runtime.js +460 -0
  599. package/packages/agent/src/runtime/conversation-compactor.d.ts +38 -0
  600. package/packages/agent/src/runtime/conversation-compactor.d.ts.map +1 -0
  601. package/packages/agent/src/runtime/conversation-compactor.js +1121 -0
  602. package/packages/agent/src/runtime/conversation-compactor.types.d.ts +102 -0
  603. package/packages/agent/src/runtime/conversation-compactor.types.d.ts.map +1 -0
  604. package/packages/agent/src/runtime/conversation-compactor.types.js +30 -0
  605. package/packages/agent/src/runtime/core-plugins.d.ts +50 -0
  606. package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -1
  607. package/packages/agent/src/runtime/core-plugins.js +85 -16
  608. package/packages/agent/src/runtime/custom-actions.d.ts +5 -2
  609. package/packages/agent/src/runtime/custom-actions.d.ts.map +1 -1
  610. package/packages/agent/src/runtime/custom-actions.js +93 -14
  611. package/packages/agent/src/runtime/default-documents.d.ts +21 -0
  612. package/packages/agent/src/runtime/default-documents.d.ts.map +1 -0
  613. package/packages/agent/src/runtime/default-documents.js +283 -0
  614. package/packages/agent/src/runtime/eliza-plugin.d.ts +1 -1
  615. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
  616. package/packages/agent/src/runtime/eliza-plugin.js +142 -67
  617. package/packages/agent/src/runtime/eliza.d.ts +23 -119
  618. package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
  619. package/packages/agent/src/runtime/eliza.js +1512 -2085
  620. package/packages/agent/src/runtime/embedding-presets.d.ts.map +1 -1
  621. package/packages/agent/src/runtime/embedding-presets.js +27 -20
  622. package/packages/agent/src/runtime/first-time-setup.d.ts +47 -0
  623. package/packages/agent/src/runtime/first-time-setup.d.ts.map +1 -0
  624. package/packages/agent/src/runtime/first-time-setup.js +704 -0
  625. package/packages/agent/src/runtime/index.d.ts +19 -8
  626. package/packages/agent/src/runtime/index.d.ts.map +1 -1
  627. package/packages/agent/src/runtime/index.js +19 -8
  628. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts +54 -0
  629. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts.map +1 -0
  630. package/packages/agent/src/runtime/load-plugin-from-vfs.js +86 -0
  631. package/packages/agent/src/runtime/local-execution-mode.d.ts +11 -0
  632. package/packages/agent/src/runtime/local-execution-mode.d.ts.map +1 -0
  633. package/packages/agent/src/runtime/local-execution-mode.js +10 -0
  634. package/packages/agent/src/runtime/model-resolution.d.ts +2 -0
  635. package/packages/agent/src/runtime/model-resolution.d.ts.map +1 -0
  636. package/packages/agent/src/runtime/model-resolution.js +55 -0
  637. package/packages/agent/src/runtime/native-runtime-features.d.ts +4 -0
  638. package/packages/agent/src/runtime/native-runtime-features.d.ts.map +1 -0
  639. package/packages/agent/src/runtime/native-runtime-features.js +10 -0
  640. package/packages/agent/src/runtime/onboarding-names.d.ts +3 -3
  641. package/packages/agent/src/runtime/onboarding-names.d.ts.map +1 -1
  642. package/packages/agent/src/runtime/onboarding-names.js +14 -7
  643. package/packages/agent/src/runtime/operations/classifier.d.ts +36 -0
  644. package/packages/agent/src/runtime/operations/classifier.d.ts.map +1 -0
  645. package/packages/agent/src/runtime/operations/classifier.js +72 -0
  646. package/packages/agent/src/runtime/operations/cold-strategy.d.ts +19 -0
  647. package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +1 -0
  648. package/packages/agent/src/runtime/operations/cold-strategy.js +50 -0
  649. package/packages/agent/src/runtime/operations/health-checks.d.ts +25 -0
  650. package/packages/agent/src/runtime/operations/health-checks.d.ts.map +1 -0
  651. package/packages/agent/src/runtime/operations/health-checks.js +186 -0
  652. package/packages/agent/src/runtime/operations/health.d.ts +32 -0
  653. package/packages/agent/src/runtime/operations/health.d.ts.map +1 -0
  654. package/packages/agent/src/runtime/operations/health.js +139 -0
  655. package/packages/agent/src/runtime/operations/index.d.ts +17 -0
  656. package/packages/agent/src/runtime/operations/index.d.ts.map +1 -0
  657. package/packages/agent/src/runtime/operations/index.js +15 -0
  658. package/packages/agent/src/runtime/operations/manager.d.ts +70 -0
  659. package/packages/agent/src/runtime/operations/manager.d.ts.map +1 -0
  660. package/packages/agent/src/runtime/operations/manager.js +202 -0
  661. package/packages/agent/src/runtime/operations/reload-hot.d.ts +43 -0
  662. package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +1 -0
  663. package/packages/agent/src/runtime/operations/reload-hot.js +181 -0
  664. package/packages/agent/src/runtime/operations/repository.d.ts +66 -0
  665. package/packages/agent/src/runtime/operations/repository.d.ts.map +1 -0
  666. package/packages/agent/src/runtime/operations/repository.js +319 -0
  667. package/packages/agent/src/runtime/operations/types.d.ts +203 -0
  668. package/packages/agent/src/runtime/operations/types.d.ts.map +1 -0
  669. package/packages/agent/src/runtime/operations/types.js +18 -0
  670. package/packages/agent/src/runtime/operations/vault-bridge.d.ts +81 -0
  671. package/packages/agent/src/runtime/operations/vault-bridge.d.ts.map +1 -0
  672. package/packages/agent/src/runtime/operations/vault-bridge.js +133 -0
  673. package/packages/agent/src/runtime/owner-entity.d.ts +4 -0
  674. package/packages/agent/src/runtime/owner-entity.d.ts.map +1 -0
  675. package/packages/agent/src/runtime/owner-entity.js +30 -0
  676. package/packages/agent/src/runtime/pglite-error-compat.d.ts +28 -0
  677. package/packages/agent/src/runtime/pglite-error-compat.d.ts.map +1 -0
  678. package/packages/agent/src/runtime/pglite-error-compat.js +54 -0
  679. package/packages/agent/src/runtime/plugin-collector.d.ts +22 -0
  680. package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -0
  681. package/packages/agent/src/runtime/plugin-collector.js +503 -0
  682. package/packages/agent/src/runtime/plugin-lifecycle.d.ts +45 -0
  683. package/packages/agent/src/runtime/plugin-lifecycle.d.ts.map +1 -0
  684. package/packages/agent/src/runtime/plugin-lifecycle.js +602 -0
  685. package/packages/agent/src/runtime/plugin-resolver.d.ts +46 -0
  686. package/packages/agent/src/runtime/plugin-resolver.d.ts.map +1 -0
  687. package/packages/agent/src/runtime/plugin-resolver.js +1375 -0
  688. package/packages/agent/src/runtime/plugin-role-gating.d.ts +24 -0
  689. package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +1 -0
  690. package/packages/agent/src/runtime/plugin-role-gating.js +106 -0
  691. package/packages/agent/src/runtime/plugin-types.d.ts +64 -0
  692. package/packages/agent/src/runtime/plugin-types.d.ts.map +1 -0
  693. package/packages/agent/src/runtime/plugin-types.js +306 -0
  694. package/packages/agent/src/runtime/prompt-compaction.d.ts +98 -0
  695. package/packages/agent/src/runtime/prompt-compaction.d.ts.map +1 -0
  696. package/packages/agent/src/runtime/prompt-compaction.js +362 -0
  697. package/packages/agent/src/runtime/prompt-optimization.d.ts +47 -0
  698. package/packages/agent/src/runtime/prompt-optimization.d.ts.map +1 -0
  699. package/packages/agent/src/runtime/prompt-optimization.js +1123 -0
  700. package/packages/agent/src/runtime/release-plugin-policy.d.ts.map +1 -1
  701. package/packages/agent/src/runtime/release-plugin-policy.js +2 -4
  702. package/packages/agent/src/runtime/restart.d.ts +5 -41
  703. package/packages/agent/src/runtime/restart.d.ts.map +1 -1
  704. package/packages/agent/src/runtime/restart.js +5 -42
  705. package/packages/agent/src/runtime/roles/src/index.d.ts +24 -0
  706. package/packages/agent/src/runtime/roles/src/index.d.ts.map +1 -0
  707. package/packages/agent/src/runtime/roles/src/index.js +255 -0
  708. package/packages/agent/src/runtime/roles/src/provider.d.ts +7 -0
  709. package/packages/agent/src/runtime/roles/src/provider.d.ts.map +1 -0
  710. package/packages/agent/src/runtime/roles/src/provider.js +138 -0
  711. package/packages/agent/src/runtime/roles/src/types.d.ts +3 -0
  712. package/packages/agent/src/runtime/roles/src/types.d.ts.map +1 -0
  713. package/packages/agent/src/runtime/roles/src/types.js +1 -0
  714. package/packages/agent/src/runtime/roles/src/utils.d.ts +2 -0
  715. package/packages/agent/src/runtime/roles/src/utils.d.ts.map +1 -0
  716. package/packages/agent/src/runtime/roles/src/utils.js +1 -0
  717. package/packages/agent/src/runtime/roles.d.ts +3 -0
  718. package/packages/agent/src/runtime/roles.d.ts.map +1 -0
  719. package/packages/agent/src/runtime/roles.js +5 -0
  720. package/packages/agent/src/runtime/subagent-output.d.ts +51 -0
  721. package/packages/agent/src/runtime/subagent-output.d.ts.map +1 -0
  722. package/packages/agent/src/runtime/subagent-output.js +173 -0
  723. package/packages/agent/src/runtime/task-heartbeat.d.ts +22 -0
  724. package/packages/agent/src/runtime/task-heartbeat.d.ts.map +1 -0
  725. package/packages/agent/src/runtime/task-heartbeat.js +84 -0
  726. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts +62 -0
  727. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts.map +1 -0
  728. package/packages/agent/src/runtime/tool-call-cache/cache.js +123 -0
  729. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts +23 -0
  730. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts.map +1 -0
  731. package/packages/agent/src/runtime/tool-call-cache/disk-store.js +55 -0
  732. package/packages/agent/src/runtime/tool-call-cache/index.d.ts +7 -0
  733. package/packages/agent/src/runtime/tool-call-cache/index.d.ts.map +1 -0
  734. package/packages/agent/src/runtime/tool-call-cache/index.js +4 -0
  735. package/packages/agent/src/runtime/tool-call-cache/key.d.ts +11 -0
  736. package/packages/agent/src/runtime/tool-call-cache/key.d.ts.map +1 -0
  737. package/packages/agent/src/runtime/tool-call-cache/key.js +31 -0
  738. package/packages/agent/src/runtime/tool-call-cache/lru.d.ts +17 -0
  739. package/packages/agent/src/runtime/tool-call-cache/lru.d.ts.map +1 -0
  740. package/packages/agent/src/runtime/tool-call-cache/lru.js +46 -0
  741. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts +17 -0
  742. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts.map +1 -0
  743. package/packages/agent/src/runtime/tool-call-cache/redact.js +77 -0
  744. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts +18 -0
  745. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts.map +1 -0
  746. package/packages/agent/src/runtime/tool-call-cache/registry.js +66 -0
  747. package/packages/agent/src/runtime/tool-call-cache/types.d.ts +50 -0
  748. package/packages/agent/src/runtime/tool-call-cache/types.d.ts.map +1 -0
  749. package/packages/agent/src/runtime/tool-call-cache/types.js +10 -0
  750. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts +39 -0
  751. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts.map +1 -0
  752. package/packages/agent/src/runtime/tool-call-cache-wrapper.js +72 -0
  753. package/packages/agent/src/runtime/trajectory-export.d.ts +18 -0
  754. package/packages/agent/src/runtime/trajectory-export.d.ts.map +1 -0
  755. package/packages/agent/src/runtime/trajectory-export.js +109 -0
  756. package/packages/agent/src/runtime/trajectory-internals.d.ts +242 -0
  757. package/packages/agent/src/runtime/trajectory-internals.d.ts.map +1 -0
  758. package/packages/agent/src/runtime/trajectory-internals.js +1281 -0
  759. package/packages/agent/src/runtime/trajectory-persistence.d.ts +13 -212
  760. package/packages/agent/src/runtime/trajectory-persistence.d.ts.map +1 -1
  761. package/packages/agent/src/runtime/trajectory-persistence.js +25 -1952
  762. package/packages/agent/src/runtime/trajectory-query.d.ts +8 -0
  763. package/packages/agent/src/runtime/trajectory-query.d.ts.map +1 -0
  764. package/packages/agent/src/runtime/trajectory-query.js +27 -0
  765. package/packages/agent/src/runtime/trajectory-storage.d.ts +91 -0
  766. package/packages/agent/src/runtime/trajectory-storage.d.ts.map +1 -0
  767. package/packages/agent/src/runtime/trajectory-storage.js +1093 -0
  768. package/packages/agent/src/runtime/vault-profile-resolver.d.ts +37 -0
  769. package/packages/agent/src/runtime/vault-profile-resolver.d.ts.map +1 -0
  770. package/packages/agent/src/runtime/vault-profile-resolver.js +79 -0
  771. package/packages/agent/src/runtime/version.js +1 -1
  772. package/packages/agent/src/runtime/web-search-tools.d.ts +22 -0
  773. package/packages/agent/src/runtime/web-search-tools.d.ts.map +1 -0
  774. package/packages/agent/src/runtime/web-search-tools.js +151 -0
  775. package/packages/agent/src/security/access.d.ts +17 -0
  776. package/packages/agent/src/security/access.d.ts.map +1 -0
  777. package/packages/agent/src/security/access.js +54 -0
  778. package/packages/agent/src/security/audit-log.d.ts +0 -2
  779. package/packages/agent/src/security/audit-log.d.ts.map +1 -1
  780. package/packages/agent/src/security/index.d.ts +4 -0
  781. package/packages/agent/src/security/index.d.ts.map +1 -0
  782. package/packages/agent/src/security/index.js +3 -0
  783. package/packages/agent/src/services/agent-export.d.ts.map +1 -1
  784. package/packages/agent/src/services/agent-export.js +58 -23
  785. package/packages/agent/src/services/app-manager-agents-list-guard.d.ts +4 -0
  786. package/packages/agent/src/services/app-manager-agents-list-guard.d.ts.map +1 -0
  787. package/packages/agent/src/services/app-manager-agents-list-guard.js +15 -0
  788. package/packages/agent/src/services/app-manager.d.ts +78 -4
  789. package/packages/agent/src/services/app-manager.d.ts.map +1 -1
  790. package/packages/agent/src/services/app-manager.js +1429 -176
  791. package/packages/agent/src/services/app-package-modules.d.ts +22 -0
  792. package/packages/agent/src/services/app-package-modules.d.ts.map +1 -0
  793. package/packages/agent/src/services/app-package-modules.js +397 -0
  794. package/packages/agent/src/services/app-run-store.d.ts +6 -0
  795. package/packages/agent/src/services/app-run-store.d.ts.map +1 -0
  796. package/packages/agent/src/services/app-run-store.js +547 -0
  797. package/packages/agent/src/services/app-session-gate.d.ts +15 -0
  798. package/packages/agent/src/services/app-session-gate.d.ts.map +1 -0
  799. package/packages/agent/src/services/app-session-gate.js +71 -0
  800. package/packages/agent/src/services/capability-broker.d.ts +89 -0
  801. package/packages/agent/src/services/capability-broker.d.ts.map +1 -0
  802. package/packages/agent/src/services/capability-broker.js +339 -0
  803. package/packages/agent/src/services/character-history.d.ts +69 -0
  804. package/packages/agent/src/services/character-history.d.ts.map +1 -0
  805. package/packages/agent/src/services/character-history.js +280 -0
  806. package/packages/agent/src/services/character-persistence.d.ts +25 -0
  807. package/packages/agent/src/services/character-persistence.d.ts.map +1 -0
  808. package/packages/agent/src/services/character-persistence.js +167 -0
  809. package/packages/agent/src/services/client-chat-sender.d.ts +19 -0
  810. package/packages/agent/src/services/client-chat-sender.d.ts.map +1 -0
  811. package/packages/agent/src/services/client-chat-sender.js +88 -0
  812. package/packages/agent/src/services/config-plugin-manager.d.ts +6 -0
  813. package/packages/agent/src/services/config-plugin-manager.d.ts.map +1 -0
  814. package/packages/agent/src/services/config-plugin-manager.js +53 -0
  815. package/packages/agent/src/services/connector-setup-service.d.ts +48 -0
  816. package/packages/agent/src/services/connector-setup-service.d.ts.map +1 -0
  817. package/packages/agent/src/services/connector-setup-service.js +60 -0
  818. package/packages/agent/src/services/escalation.d.ts +35 -0
  819. package/packages/agent/src/services/escalation.d.ts.map +1 -0
  820. package/packages/agent/src/services/escalation.js +376 -0
  821. package/packages/agent/src/services/evm-signing-capability.d.ts +33 -0
  822. package/packages/agent/src/services/evm-signing-capability.d.ts.map +1 -0
  823. package/packages/agent/src/services/evm-signing-capability.js +52 -0
  824. package/packages/agent/src/services/external-bridge-state.d.ts +10 -0
  825. package/packages/agent/src/services/external-bridge-state.d.ts.map +1 -0
  826. package/packages/agent/src/services/external-bridge-state.js +14 -0
  827. package/packages/agent/src/services/hosted-tools.d.ts +70 -0
  828. package/packages/agent/src/services/hosted-tools.d.ts.map +1 -0
  829. package/packages/agent/src/services/hosted-tools.js +87 -0
  830. package/packages/agent/src/services/index.d.ts +26 -17
  831. package/packages/agent/src/services/index.d.ts.map +1 -1
  832. package/packages/agent/src/services/index.js +32 -17
  833. package/packages/agent/src/services/js-runtime-bridge.d.ts +105 -0
  834. package/packages/agent/src/services/js-runtime-bridge.d.ts.map +1 -0
  835. package/packages/agent/src/services/js-runtime-bridge.js +217 -0
  836. package/packages/agent/src/services/mcp-marketplace.js +1 -1
  837. package/packages/agent/src/services/media-generation.d.ts +10 -0
  838. package/packages/agent/src/services/media-generation.d.ts.map +1 -0
  839. package/packages/agent/src/services/media-generation.js +102 -0
  840. package/packages/agent/src/services/overlay-app-presence.d.ts +9 -0
  841. package/packages/agent/src/services/overlay-app-presence.d.ts.map +1 -0
  842. package/packages/agent/src/services/overlay-app-presence.js +18 -0
  843. package/packages/agent/src/services/owner-name.d.ts +4 -0
  844. package/packages/agent/src/services/owner-name.d.ts.map +1 -0
  845. package/packages/agent/src/services/owner-name.js +46 -0
  846. package/packages/agent/src/services/permissions/contracts.d.ts +9 -0
  847. package/packages/agent/src/services/permissions/contracts.d.ts.map +1 -0
  848. package/packages/agent/src/services/permissions/contracts.js +8 -0
  849. package/packages/agent/src/services/permissions/probers/_bridge.d.ts +77 -0
  850. package/packages/agent/src/services/permissions/probers/_bridge.d.ts.map +1 -0
  851. package/packages/agent/src/services/permissions/probers/_bridge.js +224 -0
  852. package/packages/agent/src/services/permissions/probers/accessibility.d.ts +16 -0
  853. package/packages/agent/src/services/permissions/probers/accessibility.d.ts.map +1 -0
  854. package/packages/agent/src/services/permissions/probers/accessibility.js +45 -0
  855. package/packages/agent/src/services/permissions/probers/automation.d.ts +17 -0
  856. package/packages/agent/src/services/permissions/probers/automation.d.ts.map +1 -0
  857. package/packages/agent/src/services/permissions/probers/automation.js +46 -0
  858. package/packages/agent/src/services/permissions/probers/calendar.d.ts +14 -0
  859. package/packages/agent/src/services/permissions/probers/calendar.d.ts.map +1 -0
  860. package/packages/agent/src/services/permissions/probers/calendar.js +33 -0
  861. package/packages/agent/src/services/permissions/probers/camera.d.ts +14 -0
  862. package/packages/agent/src/services/permissions/probers/camera.d.ts.map +1 -0
  863. package/packages/agent/src/services/permissions/probers/camera.js +39 -0
  864. package/packages/agent/src/services/permissions/probers/contacts.d.ts +13 -0
  865. package/packages/agent/src/services/permissions/probers/contacts.d.ts.map +1 -0
  866. package/packages/agent/src/services/permissions/probers/contacts.js +32 -0
  867. package/packages/agent/src/services/permissions/probers/full-disk.d.ts +22 -0
  868. package/packages/agent/src/services/permissions/probers/full-disk.d.ts.map +1 -0
  869. package/packages/agent/src/services/permissions/probers/full-disk.js +78 -0
  870. package/packages/agent/src/services/permissions/probers/health.d.ts +23 -0
  871. package/packages/agent/src/services/permissions/probers/health.d.ts.map +1 -0
  872. package/packages/agent/src/services/permissions/probers/health.js +82 -0
  873. package/packages/agent/src/services/permissions/probers/index.d.ts +27 -0
  874. package/packages/agent/src/services/permissions/probers/index.d.ts.map +1 -0
  875. package/packages/agent/src/services/permissions/probers/index.js +42 -0
  876. package/packages/agent/src/services/permissions/probers/location.d.ts +21 -0
  877. package/packages/agent/src/services/permissions/probers/location.d.ts.map +1 -0
  878. package/packages/agent/src/services/permissions/probers/location.js +47 -0
  879. package/packages/agent/src/services/permissions/probers/microphone.d.ts +14 -0
  880. package/packages/agent/src/services/permissions/probers/microphone.d.ts.map +1 -0
  881. package/packages/agent/src/services/permissions/probers/microphone.js +41 -0
  882. package/packages/agent/src/services/permissions/probers/notes.d.ts +19 -0
  883. package/packages/agent/src/services/permissions/probers/notes.d.ts.map +1 -0
  884. package/packages/agent/src/services/permissions/probers/notes.js +55 -0
  885. package/packages/agent/src/services/permissions/probers/notifications.d.ts +24 -0
  886. package/packages/agent/src/services/permissions/probers/notifications.d.ts.map +1 -0
  887. package/packages/agent/src/services/permissions/probers/notifications.js +47 -0
  888. package/packages/agent/src/services/permissions/probers/reminders.d.ts +22 -0
  889. package/packages/agent/src/services/permissions/probers/reminders.d.ts.map +1 -0
  890. package/packages/agent/src/services/permissions/probers/reminders.js +44 -0
  891. package/packages/agent/src/services/permissions/probers/screen-recording.d.ts +15 -0
  892. package/packages/agent/src/services/permissions/probers/screen-recording.d.ts.map +1 -0
  893. package/packages/agent/src/services/permissions/probers/screen-recording.js +39 -0
  894. package/packages/agent/src/services/permissions/probers/screentime.d.ts +21 -0
  895. package/packages/agent/src/services/permissions/probers/screentime.d.ts.map +1 -0
  896. package/packages/agent/src/services/permissions/probers/screentime.js +67 -0
  897. package/packages/agent/src/services/permissions/probers/shell.d.ts +19 -0
  898. package/packages/agent/src/services/permissions/probers/shell.d.ts.map +1 -0
  899. package/packages/agent/src/services/permissions/probers/shell.js +31 -0
  900. package/packages/agent/src/services/permissions/probers/website-blocking.d.ts +16 -0
  901. package/packages/agent/src/services/permissions/probers/website-blocking.d.ts.map +1 -0
  902. package/packages/agent/src/services/permissions/probers/website-blocking.js +27 -0
  903. package/packages/agent/src/services/permissions/register-probers.d.ts +29 -0
  904. package/packages/agent/src/services/permissions/register-probers.d.ts.map +1 -0
  905. package/packages/agent/src/services/permissions/register-probers.js +31 -0
  906. package/packages/agent/src/services/permissions-registry.d.ts +62 -0
  907. package/packages/agent/src/services/permissions-registry.d.ts.map +1 -0
  908. package/packages/agent/src/services/permissions-registry.js +213 -0
  909. package/packages/agent/src/services/plugin-compiler.d.ts +51 -0
  910. package/packages/agent/src/services/plugin-compiler.d.ts.map +1 -0
  911. package/packages/agent/src/services/plugin-compiler.js +90 -0
  912. package/packages/agent/src/services/plugin-installer.d.ts +93 -0
  913. package/packages/agent/src/services/plugin-installer.d.ts.map +1 -0
  914. package/packages/agent/src/services/plugin-installer.js +623 -0
  915. package/packages/agent/src/services/plugin-manager-types.d.ts +30 -55
  916. package/packages/agent/src/services/plugin-manager-types.d.ts.map +1 -1
  917. package/packages/agent/src/services/registry-client-app-meta.d.ts +1 -1
  918. package/packages/agent/src/services/registry-client-app-meta.d.ts.map +1 -1
  919. package/packages/agent/src/services/registry-client-app-meta.js +53 -32
  920. package/packages/agent/src/services/registry-client-endpoints.d.ts +2 -2
  921. package/packages/agent/src/services/registry-client-endpoints.d.ts.map +1 -1
  922. package/packages/agent/src/services/registry-client-endpoints.js +11 -4
  923. package/packages/agent/src/services/registry-client-local.d.ts +1 -1
  924. package/packages/agent/src/services/registry-client-local.d.ts.map +1 -1
  925. package/packages/agent/src/services/registry-client-local.js +239 -61
  926. package/packages/agent/src/services/registry-client-network.d.ts +6 -1
  927. package/packages/agent/src/services/registry-client-network.d.ts.map +1 -1
  928. package/packages/agent/src/services/registry-client-network.js +43 -5
  929. package/packages/agent/src/services/registry-client-queries.d.ts +16 -5
  930. package/packages/agent/src/services/registry-client-queries.d.ts.map +1 -1
  931. package/packages/agent/src/services/registry-client-queries.js +50 -3
  932. package/packages/agent/src/services/registry-client-types.d.ts +39 -40
  933. package/packages/agent/src/services/registry-client-types.d.ts.map +1 -1
  934. package/packages/agent/src/services/registry-client.d.ts +3 -3
  935. package/packages/agent/src/services/registry-client.d.ts.map +1 -1
  936. package/packages/agent/src/services/registry-client.js +116 -16
  937. package/packages/agent/src/services/relationships-graph.d.ts +13 -0
  938. package/packages/agent/src/services/relationships-graph.d.ts.map +1 -0
  939. package/packages/agent/src/services/relationships-graph.js +38 -0
  940. package/packages/agent/src/services/remote-signing-service.d.ts +2 -2
  941. package/packages/agent/src/services/remote-signing-service.d.ts.map +1 -1
  942. package/packages/agent/src/services/remote-signing-service.js +2 -2
  943. package/packages/agent/src/services/research-task-executor.d.ts +14 -0
  944. package/packages/agent/src/services/research-task-executor.d.ts.map +1 -0
  945. package/packages/agent/src/services/research-task-executor.js +138 -0
  946. package/packages/agent/src/services/sandbox-manager.d.ts +24 -1
  947. package/packages/agent/src/services/sandbox-manager.d.ts.map +1 -1
  948. package/packages/agent/src/services/sandbox-manager.js +174 -109
  949. package/packages/agent/src/services/self-updater.d.ts +1 -1
  950. package/packages/agent/src/services/self-updater.d.ts.map +1 -1
  951. package/packages/agent/src/services/self-updater.js +1 -1
  952. package/packages/agent/src/services/send-handler-availability.d.ts +5 -0
  953. package/packages/agent/src/services/send-handler-availability.d.ts.map +1 -0
  954. package/packages/agent/src/services/send-handler-availability.js +20 -0
  955. package/packages/agent/src/services/shell-execution-router.d.ts +67 -0
  956. package/packages/agent/src/services/shell-execution-router.d.ts.map +1 -0
  957. package/packages/agent/src/services/shell-execution-router.js +201 -0
  958. package/packages/agent/src/services/skill-marketplace.d.ts.map +1 -1
  959. package/packages/agent/src/services/skill-marketplace.js +36 -25
  960. package/packages/agent/src/services/task-executor.d.ts +47 -0
  961. package/packages/agent/src/services/task-executor.d.ts.map +1 -0
  962. package/packages/agent/src/services/task-executor.js +31 -0
  963. package/packages/agent/src/services/update-checker.d.ts +1 -1
  964. package/packages/agent/src/services/update-checker.d.ts.map +1 -1
  965. package/packages/agent/src/services/update-checker.js +4 -4
  966. package/packages/agent/src/services/version-compat.d.ts +4 -4
  967. package/packages/agent/src/services/version-compat.d.ts.map +1 -1
  968. package/packages/agent/src/services/version-compat.js +23 -7
  969. package/packages/agent/src/services/virtual-filesystem.d.ts +88 -0
  970. package/packages/agent/src/services/virtual-filesystem.d.ts.map +1 -0
  971. package/packages/agent/src/services/virtual-filesystem.js +410 -0
  972. package/packages/agent/src/shared/conversation-format.d.ts +11 -0
  973. package/packages/agent/src/shared/conversation-format.d.ts.map +1 -0
  974. package/packages/agent/src/shared/conversation-format.js +69 -0
  975. package/packages/agent/src/shared/index.d.ts +4 -0
  976. package/packages/agent/src/shared/index.d.ts.map +1 -0
  977. package/packages/agent/src/shared/index.js +3 -0
  978. package/packages/agent/src/shared/ui-catalog-prompt.d.ts +60 -18
  979. package/packages/agent/src/shared/ui-catalog-prompt.d.ts.map +1 -1
  980. package/packages/agent/src/shared/ui-catalog-prompt.js +116 -99
  981. package/packages/agent/src/shared/workspace-resolution.d.ts +5 -0
  982. package/packages/agent/src/shared/workspace-resolution.d.ts.map +1 -0
  983. package/packages/agent/src/shared/workspace-resolution.js +70 -0
  984. package/packages/agent/src/templates/skill-scaffold.d.ts +9 -0
  985. package/packages/agent/src/templates/skill-scaffold.d.ts.map +1 -0
  986. package/packages/agent/src/templates/skill-scaffold.js +26 -0
  987. package/packages/agent/src/test-support/index.d.ts +4 -0
  988. package/packages/agent/src/test-support/index.d.ts.map +1 -0
  989. package/packages/agent/src/test-support/index.js +3 -0
  990. package/packages/agent/src/test-support/route-test-helpers.d.ts +2 -2
  991. package/packages/agent/src/test-support/route-test-helpers.d.ts.map +1 -1
  992. package/packages/agent/src/test-support/route-test-helpers.js +1 -1
  993. package/packages/agent/src/test-support/test-helpers.d.ts +3 -3
  994. package/packages/agent/src/test-support/test-helpers.d.ts.map +1 -1
  995. package/packages/agent/src/test-support/test-helpers.js +35 -24
  996. package/packages/agent/src/test-utils/sqlite-compat.d.ts +23 -0
  997. package/packages/agent/src/test-utils/sqlite-compat.d.ts.map +1 -0
  998. package/packages/agent/src/test-utils/sqlite-compat.js +214 -0
  999. package/packages/agent/src/testing/index.d.ts +3 -3
  1000. package/packages/agent/src/testing/index.d.ts.map +1 -1
  1001. package/packages/agent/src/testing/index.js +3 -3
  1002. package/packages/agent/src/triggers/index.d.ts +5 -0
  1003. package/packages/agent/src/triggers/index.d.ts.map +1 -0
  1004. package/packages/agent/src/triggers/index.js +4 -0
  1005. package/packages/agent/src/triggers/runtime.d.ts +8 -2
  1006. package/packages/agent/src/triggers/runtime.d.ts.map +1 -1
  1007. package/packages/agent/src/triggers/runtime.js +197 -72
  1008. package/packages/agent/src/triggers/scheduling.d.ts +9 -1
  1009. package/packages/agent/src/triggers/scheduling.d.ts.map +1 -1
  1010. package/packages/agent/src/triggers/scheduling.js +103 -22
  1011. package/packages/agent/src/triggers/text-to-workflow.d.ts +58 -0
  1012. package/packages/agent/src/triggers/text-to-workflow.d.ts.map +1 -0
  1013. package/packages/agent/src/triggers/text-to-workflow.js +44 -0
  1014. package/packages/agent/src/triggers/types.d.ts +18 -37
  1015. package/packages/agent/src/triggers/types.d.ts.map +1 -1
  1016. package/packages/agent/src/triggers/types.js +1 -1
  1017. package/packages/agent/src/types/agent-skills.d.ts +19 -0
  1018. package/packages/agent/src/types/agent-skills.d.ts.map +1 -0
  1019. package/packages/agent/src/types/agent-skills.js +7 -0
  1020. package/packages/agent/src/types/config-like.d.ts +17 -0
  1021. package/packages/agent/src/types/config-like.d.ts.map +1 -0
  1022. package/packages/agent/src/types/config-like.js +7 -0
  1023. package/packages/agent/src/types/index.d.ts +4 -0
  1024. package/packages/agent/src/types/index.d.ts.map +1 -0
  1025. package/packages/agent/src/types/index.js +3 -0
  1026. package/packages/agent/src/types/trajectory.d.ts +20 -0
  1027. package/packages/agent/src/types/trajectory.d.ts.map +1 -0
  1028. package/packages/agent/src/types/trajectory.js +2 -0
  1029. package/packages/agent/src/utils/atomic-json.d.ts +37 -0
  1030. package/packages/agent/src/utils/atomic-json.d.ts.map +1 -0
  1031. package/packages/agent/src/utils/atomic-json.js +98 -0
  1032. package/packages/agent/src/utils/index.d.ts +2 -0
  1033. package/packages/agent/src/utils/index.d.ts.map +1 -0
  1034. package/packages/agent/src/utils/index.js +1 -0
  1035. package/packages/agent/src/utils/number-parsing.d.ts.map +1 -1
  1036. package/packages/agent/src/utils/number-parsing.js +1 -2
  1037. package/packages/agent/src/version-resolver.d.ts +0 -1
  1038. package/packages/agent/src/version-resolver.d.ts.map +1 -1
  1039. package/packages/agent/src/version-resolver.js +0 -1
  1040. package/LICENSE +0 -21
  1041. package/packages/agent/src/actions/emote.d.ts +0 -14
  1042. package/packages/agent/src/actions/emote.d.ts.map +0 -1
  1043. package/packages/agent/src/actions/emote.js +0 -91
  1044. package/packages/agent/src/actions/restart.d.ts +0 -19
  1045. package/packages/agent/src/actions/restart.d.ts.map +0 -1
  1046. package/packages/agent/src/actions/restart.js +0 -86
  1047. package/packages/agent/src/actions/send-message.d.ts +0 -3
  1048. package/packages/agent/src/actions/send-message.d.ts.map +0 -1
  1049. package/packages/agent/src/actions/send-message.js +0 -144
  1050. package/packages/agent/src/actions/switch-stream-source.d.ts +0 -16
  1051. package/packages/agent/src/actions/switch-stream-source.d.ts.map +0 -1
  1052. package/packages/agent/src/actions/switch-stream-source.js +0 -94
  1053. package/packages/agent/src/api/bsc-trade.d.ts +0 -34
  1054. package/packages/agent/src/api/bsc-trade.d.ts.map +0 -1
  1055. package/packages/agent/src/api/bsc-trade.js +0 -567
  1056. package/packages/agent/src/api/cloud-billing-routes.d.ts +0 -14
  1057. package/packages/agent/src/api/cloud-billing-routes.d.ts.map +0 -1
  1058. package/packages/agent/src/api/cloud-billing-routes.js +0 -400
  1059. package/packages/agent/src/api/cloud-compat-routes.d.ts +0 -15
  1060. package/packages/agent/src/api/cloud-compat-routes.d.ts.map +0 -1
  1061. package/packages/agent/src/api/cloud-compat-routes.js +0 -131
  1062. package/packages/agent/src/api/cloud-routes.d.ts +0 -62
  1063. package/packages/agent/src/api/cloud-routes.d.ts.map +0 -1
  1064. package/packages/agent/src/api/cloud-routes.js +0 -339
  1065. package/packages/agent/src/api/cloud-status-routes.d.ts +0 -15
  1066. package/packages/agent/src/api/cloud-status-routes.d.ts.map +0 -1
  1067. package/packages/agent/src/api/cloud-status-routes.js +0 -165
  1068. package/packages/agent/src/api/drop-service.d.ts +0 -26
  1069. package/packages/agent/src/api/drop-service.d.ts.map +0 -1
  1070. package/packages/agent/src/api/drop-service.js +0 -134
  1071. package/packages/agent/src/api/http-helpers.d.ts +0 -50
  1072. package/packages/agent/src/api/http-helpers.d.ts.map +0 -1
  1073. package/packages/agent/src/api/http-helpers.js +0 -145
  1074. package/packages/agent/src/api/knowledge-routes.d.ts +0 -23
  1075. package/packages/agent/src/api/knowledge-routes.d.ts.map +0 -1
  1076. package/packages/agent/src/api/knowledge-routes.js +0 -931
  1077. package/packages/agent/src/api/knowledge-service-loader.d.ts +0 -51
  1078. package/packages/agent/src/api/knowledge-service-loader.d.ts.map +0 -1
  1079. package/packages/agent/src/api/merkle-tree.d.ts +0 -90
  1080. package/packages/agent/src/api/merkle-tree.d.ts.map +0 -1
  1081. package/packages/agent/src/api/merkle-tree.js +0 -174
  1082. package/packages/agent/src/api/og-tracker.d.ts +0 -28
  1083. package/packages/agent/src/api/og-tracker.d.ts.map +0 -1
  1084. package/packages/agent/src/api/og-tracker.js +0 -60
  1085. package/packages/agent/src/api/route-helpers.d.ts +0 -16
  1086. package/packages/agent/src/api/route-helpers.d.ts.map +0 -1
  1087. package/packages/agent/src/api/route-helpers.js +0 -1
  1088. package/packages/agent/src/api/sandbox-routes.d.ts +0 -12
  1089. package/packages/agent/src/api/sandbox-routes.d.ts.map +0 -1
  1090. package/packages/agent/src/api/sandbox-routes.js +0 -1334
  1091. package/packages/agent/src/api/signal-routes.d.ts +0 -39
  1092. package/packages/agent/src/api/signal-routes.d.ts.map +0 -1
  1093. package/packages/agent/src/api/signal-routes.js +0 -168
  1094. package/packages/agent/src/api/stream-persistence.d.ts +0 -64
  1095. package/packages/agent/src/api/stream-persistence.d.ts.map +0 -1
  1096. package/packages/agent/src/api/stream-persistence.js +0 -231
  1097. package/packages/agent/src/api/stream-route-state.d.ts +0 -50
  1098. package/packages/agent/src/api/stream-route-state.d.ts.map +0 -1
  1099. package/packages/agent/src/api/stream-route-state.js +0 -1
  1100. package/packages/agent/src/api/stream-routes.d.ts +0 -45
  1101. package/packages/agent/src/api/stream-routes.d.ts.map +0 -1
  1102. package/packages/agent/src/api/stream-routes.js +0 -809
  1103. package/packages/agent/src/api/stream-voice-routes.d.ts +0 -36
  1104. package/packages/agent/src/api/stream-voice-routes.d.ts.map +0 -1
  1105. package/packages/agent/src/api/stream-voice-routes.js +0 -133
  1106. package/packages/agent/src/api/streaming-text.d.ts +0 -9
  1107. package/packages/agent/src/api/streaming-text.d.ts.map +0 -1
  1108. package/packages/agent/src/api/streaming-text.js +0 -85
  1109. package/packages/agent/src/api/streaming-types.d.ts +0 -30
  1110. package/packages/agent/src/api/streaming-types.d.ts.map +0 -1
  1111. package/packages/agent/src/api/streaming-types.js +0 -1
  1112. package/packages/agent/src/api/training-routes.d.ts +0 -44
  1113. package/packages/agent/src/api/training-routes.d.ts.map +0 -1
  1114. package/packages/agent/src/api/training-routes.js +0 -195
  1115. package/packages/agent/src/api/trajectory-routes.d.ts +0 -17
  1116. package/packages/agent/src/api/trajectory-routes.d.ts.map +0 -1
  1117. package/packages/agent/src/api/trajectory-routes.js +0 -405
  1118. package/packages/agent/src/api/trigger-routes.d.ts +0 -72
  1119. package/packages/agent/src/api/trigger-routes.d.ts.map +0 -1
  1120. package/packages/agent/src/api/trigger-routes.js +0 -268
  1121. package/packages/agent/src/api/twitter-verify.d.ts +0 -25
  1122. package/packages/agent/src/api/twitter-verify.d.ts.map +0 -1
  1123. package/packages/agent/src/api/twitter-verify.js +0 -168
  1124. package/packages/agent/src/api/whatsapp-routes.d.ts +0 -39
  1125. package/packages/agent/src/api/whatsapp-routes.d.ts.map +0 -1
  1126. package/packages/agent/src/api/whatsapp-routes.js +0 -182
  1127. package/packages/agent/src/auth/apply-stealth.d.ts +0 -8
  1128. package/packages/agent/src/auth/apply-stealth.d.ts.map +0 -1
  1129. package/packages/agent/src/auth/apply-stealth.js +0 -35
  1130. package/packages/agent/src/benchmark-server.d.ts +0 -2
  1131. package/packages/agent/src/benchmark-server.d.ts.map +0 -1
  1132. package/packages/agent/src/benchmark-server.js +0 -773
  1133. package/packages/agent/src/cloud/auth.d.ts +0 -19
  1134. package/packages/agent/src/cloud/auth.d.ts.map +0 -1
  1135. package/packages/agent/src/cloud/auth.js +0 -107
  1136. package/packages/agent/src/cloud/backup.d.ts +0 -18
  1137. package/packages/agent/src/cloud/backup.d.ts.map +0 -1
  1138. package/packages/agent/src/cloud/backup.js +0 -42
  1139. package/packages/agent/src/cloud/base-url.d.ts +0 -3
  1140. package/packages/agent/src/cloud/base-url.d.ts.map +0 -1
  1141. package/packages/agent/src/cloud/base-url.js +0 -40
  1142. package/packages/agent/src/cloud/bridge-client.d.ts +0 -56
  1143. package/packages/agent/src/cloud/bridge-client.d.ts.map +0 -1
  1144. package/packages/agent/src/cloud/bridge-client.js +0 -190
  1145. package/packages/agent/src/cloud/cloud-manager.d.ts +0 -32
  1146. package/packages/agent/src/cloud/cloud-manager.d.ts.map +0 -1
  1147. package/packages/agent/src/cloud/cloud-manager.js +0 -119
  1148. package/packages/agent/src/cloud/cloud-proxy.d.ts +0 -20
  1149. package/packages/agent/src/cloud/cloud-proxy.d.ts.map +0 -1
  1150. package/packages/agent/src/cloud/cloud-proxy.js +0 -34
  1151. package/packages/agent/src/cloud/index.d.ts +0 -7
  1152. package/packages/agent/src/cloud/index.d.ts.map +0 -1
  1153. package/packages/agent/src/cloud/index.js +0 -6
  1154. package/packages/agent/src/cloud/reconnect.d.ts +0 -26
  1155. package/packages/agent/src/cloud/reconnect.d.ts.map +0 -1
  1156. package/packages/agent/src/cloud/reconnect.js +0 -86
  1157. package/packages/agent/src/cloud/validate-url.d.ts +0 -2
  1158. package/packages/agent/src/cloud/validate-url.d.ts.map +0 -1
  1159. package/packages/agent/src/cloud/validate-url.js +0 -162
  1160. package/packages/agent/src/config/object-utils.d.ts +0 -2
  1161. package/packages/agent/src/config/object-utils.d.ts.map +0 -1
  1162. package/packages/agent/src/config/object-utils.js +0 -6
  1163. package/packages/agent/src/contracts/apps.d.ts +0 -42
  1164. package/packages/agent/src/contracts/apps.d.ts.map +0 -1
  1165. package/packages/agent/src/contracts/apps.js +0 -4
  1166. package/packages/agent/src/contracts/config.d.ts +0 -146
  1167. package/packages/agent/src/contracts/config.d.ts.map +0 -1
  1168. package/packages/agent/src/contracts/config.js +0 -4
  1169. package/packages/agent/src/contracts/drop.d.ts +0 -20
  1170. package/packages/agent/src/contracts/drop.d.ts.map +0 -1
  1171. package/packages/agent/src/contracts/drop.js +0 -4
  1172. package/packages/agent/src/contracts/onboarding.d.ts +0 -384
  1173. package/packages/agent/src/contracts/onboarding.d.ts.map +0 -1
  1174. package/packages/agent/src/contracts/permissions.d.ts +0 -35
  1175. package/packages/agent/src/contracts/permissions.d.ts.map +0 -1
  1176. package/packages/agent/src/contracts/permissions.js +0 -4
  1177. package/packages/agent/src/contracts/verification.d.ts +0 -9
  1178. package/packages/agent/src/contracts/verification.d.ts.map +0 -1
  1179. package/packages/agent/src/contracts/verification.js +0 -4
  1180. package/packages/agent/src/contracts/wallet.d.ts +0 -409
  1181. package/packages/agent/src/contracts/wallet.d.ts.map +0 -1
  1182. package/packages/agent/src/contracts/wallet.js +0 -60
  1183. package/packages/agent/src/emotes/catalog.d.ts +0 -31
  1184. package/packages/agent/src/emotes/catalog.d.ts.map +0 -1
  1185. package/packages/agent/src/emotes/catalog.js +0 -402
  1186. package/packages/agent/src/onboarding-presets.d.ts +0 -59
  1187. package/packages/agent/src/onboarding-presets.d.ts.map +0 -1
  1188. package/packages/agent/src/onboarding-presets.js +0 -1470
  1189. package/packages/agent/src/plugins/custom-rtmp/index.d.ts +0 -12
  1190. package/packages/agent/src/plugins/custom-rtmp/index.d.ts.map +0 -1
  1191. package/packages/agent/src/plugins/custom-rtmp/index.js +0 -26
  1192. package/packages/agent/src/runtime/cloud-onboarding.d.ts +0 -55
  1193. package/packages/agent/src/runtime/cloud-onboarding.d.ts.map +0 -1
  1194. package/packages/agent/src/runtime/cloud-onboarding.js +0 -279
  1195. package/packages/agent/src/server/index.d.ts +0 -3
  1196. package/packages/agent/src/server/index.d.ts.map +0 -1
  1197. package/packages/agent/src/server/index.js +0 -1
  1198. package/packages/agent/src/services/browser-capture.d.ts +0 -39
  1199. package/packages/agent/src/services/browser-capture.d.ts.map +0 -1
  1200. package/packages/agent/src/services/browser-capture.js +0 -162
  1201. package/packages/agent/src/services/coding-agent-context.d.ts +0 -310
  1202. package/packages/agent/src/services/coding-agent-context.d.ts.map +0 -1
  1203. package/packages/agent/src/services/coding-agent-context.js +0 -281
  1204. package/packages/agent/src/services/fallback-training-service.d.ts +0 -78
  1205. package/packages/agent/src/services/fallback-training-service.d.ts.map +0 -1
  1206. package/packages/agent/src/services/fallback-training-service.js +0 -126
  1207. package/packages/agent/src/services/privy-wallets.d.ts +0 -18
  1208. package/packages/agent/src/services/privy-wallets.d.ts.map +0 -1
  1209. package/packages/agent/src/services/privy-wallets.js +0 -225
  1210. package/packages/agent/src/services/signal-pairing.d.ts +0 -37
  1211. package/packages/agent/src/services/signal-pairing.d.ts.map +0 -1
  1212. package/packages/agent/src/services/signal-pairing.js +0 -124
  1213. package/packages/agent/src/services/stream-manager.d.ts +0 -121
  1214. package/packages/agent/src/services/stream-manager.d.ts.map +0 -1
  1215. package/packages/agent/src/services/stream-manager.js +0 -604
  1216. package/packages/agent/src/services/tts-stream-bridge.d.ts +0 -83
  1217. package/packages/agent/src/services/tts-stream-bridge.d.ts.map +0 -1
  1218. package/packages/agent/src/services/tts-stream-bridge.js +0 -349
  1219. package/packages/agent/src/services/whatsapp-pairing.d.ts +0 -41
  1220. package/packages/agent/src/services/whatsapp-pairing.d.ts.map +0 -1
  1221. package/packages/agent/src/services/whatsapp-pairing.js +0 -209
  1222. package/packages/agent/src/triggers/action.d.ts +0 -3
  1223. package/packages/agent/src/triggers/action.d.ts.map +0 -1
  1224. package/packages/agent/src/triggers/action.js +0 -267
  1225. package/packages/agent/src/utils/spoken-text.d.ts +0 -2
  1226. package/packages/agent/src/utils/spoken-text.d.ts.map +0 -1
  1227. package/packages/agent/src/utils/spoken-text.js +0 -56
@@ -0,0 +1,1121 @@
1
+ /**
2
+ * Conversation-history compactors.
3
+ *
4
+ * Implements the four CompactBench strategies (https://github.com/compactbench/compactbench)
5
+ * — naive-summary, structured-state, hierarchical-summary, hybrid-ledger —
6
+ * against the shared contract in conversation-compactor.types.ts.
7
+ *
8
+ * Distinct from prompt-compaction.ts which strips presentation-layer sections
9
+ * from a single prompt string. This module operates over multi-turn message
10
+ * arrays and uses an LLM to summarize the older portion of the transcript
11
+ * while preserving:
12
+ * - the system prompt at index 0 (verbatim, never summarized)
13
+ * - the trailing N messages (default 6) verbatim
14
+ * - tool_call / tool_result pairing across the boundary
15
+ */
16
+ import { approxCountTokens, countTranscriptTokens, } from "./conversation-compactor.types.js";
17
+ // ---------------------------------------------------------------------------
18
+ // Boundary helpers
19
+ // ---------------------------------------------------------------------------
20
+ const DEFAULT_PRESERVE_TAIL = 6;
21
+ /**
22
+ * Identify the index that splits compacted-region (indices < boundary) from
23
+ * preserved-tail (indices >= boundary), shifting the boundary outward (toward
24
+ * older messages, i.e. lower indices) until no tool_call / tool_result pair
25
+ * is split across it.
26
+ *
27
+ * Index 0 is reserved when present as a system prompt and is always retained
28
+ * outside the compactable region — callers should treat indices [1, boundary)
29
+ * as the region to summarize.
30
+ *
31
+ * Returns an integer in [systemOffset, messages.length].
32
+ *
33
+ * - boundary === messages.length ⇒ nothing to compact (tail covers all).
34
+ * - boundary <= systemOffset ⇒ nothing to compact (everything preserved).
35
+ */
36
+ export function findSafeCompactionBoundary(messages, preserveTailMessages = DEFAULT_PRESERVE_TAIL) {
37
+ const total = messages.length;
38
+ if (total === 0)
39
+ return 0;
40
+ const systemOffset = messages[0].role === "system" ? 1 : 0;
41
+ const tail = Math.max(0, preserveTailMessages);
42
+ let boundary = total - tail;
43
+ if (boundary <= systemOffset) {
44
+ return systemOffset;
45
+ }
46
+ // Build an index of tool_call ids → producer index (assistant message that
47
+ // emitted the call). We will then look for tool-role consumers that answer
48
+ // those calls. Any pair (producer, consumer) that straddles the boundary
49
+ // forces the boundary outward (we expand the preserved tail) until both
50
+ // ends are on the same side.
51
+ const callIdToProducer = new Map();
52
+ for (let i = 0; i < total; i++) {
53
+ const m = messages[i];
54
+ if (m.role === "assistant" && m.toolCalls) {
55
+ for (const tc of m.toolCalls) {
56
+ if (tc.id)
57
+ callIdToProducer.set(tc.id, i);
58
+ }
59
+ }
60
+ }
61
+ // Index tool-role consumers by their toolCallId.
62
+ const consumersByCallId = new Map();
63
+ for (let i = 0; i < total; i++) {
64
+ const m = messages[i];
65
+ if (m.role === "tool" && m.toolCallId) {
66
+ const list = consumersByCallId.get(m.toolCallId);
67
+ if (list)
68
+ list.push(i);
69
+ else
70
+ consumersByCallId.set(m.toolCallId, [i]);
71
+ }
72
+ }
73
+ // A pair straddles the boundary iff one endpoint is < boundary and the
74
+ // other is >= boundary. Shift boundary down to include the producer.
75
+ // Iterate to convergence — shifting may pull in additional pairs.
76
+ let changed = true;
77
+ while (changed) {
78
+ changed = false;
79
+ for (const [callId, producerIdx] of callIdToProducer) {
80
+ const consumers = consumersByCallId.get(callId) ?? [];
81
+ const indices = [producerIdx, ...consumers];
82
+ const minIdx = Math.min(...indices);
83
+ const maxIdx = Math.max(...indices);
84
+ if (minIdx < boundary && maxIdx >= boundary) {
85
+ // Pair straddles — pull boundary down to include the producer.
86
+ boundary = minIdx;
87
+ changed = true;
88
+ }
89
+ }
90
+ // Also handle orphaned tool-role messages: a consumer whose producer
91
+ // is unknown but whose neighbor preceding-assistant message is across
92
+ // the boundary. If the consumer is preserved (>= boundary) but the
93
+ // immediately-preceding assistant turn is in the compacted region, we
94
+ // pull the boundary down to include that assistant turn so the tail
95
+ // is self-consistent.
96
+ for (let i = boundary; i < total; i++) {
97
+ if (messages[i].role === "tool") {
98
+ // Walk backward through adjacent tool results to find the assistant
99
+ // producer. Stop at user/system turns so an unrelated orphaned tool
100
+ // message cannot pull arbitrary older context into the preserved tail.
101
+ for (let j = i - 1; j >= systemOffset; j--) {
102
+ if (messages[j].role === "assistant") {
103
+ if (j < boundary) {
104
+ boundary = j;
105
+ changed = true;
106
+ }
107
+ break;
108
+ }
109
+ if (messages[j].role !== "tool")
110
+ break;
111
+ }
112
+ }
113
+ }
114
+ if (boundary <= systemOffset) {
115
+ boundary = systemOffset;
116
+ break;
117
+ }
118
+ }
119
+ return boundary;
120
+ }
121
+ // ---------------------------------------------------------------------------
122
+ // Shared compaction utilities
123
+ // ---------------------------------------------------------------------------
124
+ function getCounter(options) {
125
+ return options.countTokens ?? approxCountTokens;
126
+ }
127
+ function messagesTokens(msgs, counter) {
128
+ let total = 0;
129
+ for (const m of msgs) {
130
+ total += counter(m.content);
131
+ if (m.toolCalls) {
132
+ for (const tc of m.toolCalls) {
133
+ total += counter(tc.name);
134
+ total += counter(JSON.stringify(tc.arguments));
135
+ }
136
+ }
137
+ }
138
+ return total;
139
+ }
140
+ function renderMessageForSummary(m) {
141
+ const parts = [];
142
+ parts.push(`[${m.role}]`);
143
+ if (m.toolName)
144
+ parts.push(`(tool=${m.toolName})`);
145
+ if (m.toolCallId)
146
+ parts.push(`(answersToolCall=${m.toolCallId})`);
147
+ parts.push(m.content);
148
+ if (m.toolCalls && m.toolCalls.length > 0) {
149
+ for (const tc of m.toolCalls) {
150
+ parts.push(`\n toolCall id=${tc.id} name=${tc.name} args=${JSON.stringify(tc.arguments)}`);
151
+ }
152
+ }
153
+ return parts.join(" ");
154
+ }
155
+ function renderRegionForPrompt(region) {
156
+ return region.map(renderMessageForSummary).join("\n");
157
+ }
158
+ function uniqueStrings(items) {
159
+ const out = [];
160
+ const seen = new Set();
161
+ for (const item of items) {
162
+ const normalized = item.trim();
163
+ if (!normalized || seen.has(normalized))
164
+ continue;
165
+ seen.add(normalized);
166
+ out.push(normalized);
167
+ }
168
+ return out;
169
+ }
170
+ function emptyStructuredState() {
171
+ return {
172
+ facts: [],
173
+ decisions: [],
174
+ pending_actions: [],
175
+ forbidden_behaviors: [],
176
+ entities: {},
177
+ };
178
+ }
179
+ function emptyRequiredStateFragments() {
180
+ return {
181
+ facts: [],
182
+ decisions: [],
183
+ pending_actions: [],
184
+ forbidden_behaviors: [],
185
+ entities: {},
186
+ };
187
+ }
188
+ function mergeRequiredState(state, required) {
189
+ const requiredFacts = new Set(required.facts.map((f) => f.trim()));
190
+ const requiredDecisions = new Set(required.decisions.map((d) => d.trim()));
191
+ const requiredPending = new Set(required.pending_actions.map((p) => p.trim()));
192
+ return {
193
+ ...state,
194
+ facts: uniqueStrings([
195
+ ...required.facts,
196
+ ...state.facts.filter((f) => requiredFacts.has(f.trim()) || !isLowSignalStateItem(f)),
197
+ ]).slice(0, 16),
198
+ decisions: uniqueStrings([
199
+ ...required.decisions,
200
+ ...state.decisions.filter((d) => requiredDecisions.has(d.trim()) || !isLowSignalStateItem(d)),
201
+ ]).slice(0, 12),
202
+ pending_actions: uniqueStrings([
203
+ ...required.pending_actions,
204
+ ...state.pending_actions.filter((p) => requiredPending.has(p.trim()) || !isLowSignalStateItem(p)),
205
+ ]).slice(0, 8),
206
+ forbidden_behaviors: uniqueStrings(required.forbidden_behaviors.length > 0
207
+ ? required.forbidden_behaviors
208
+ : state.forbidden_behaviors).slice(0, 16),
209
+ // Deterministic fragments are extracted from explicit transcript patterns
210
+ // and exact tool outputs; when they disagree with the model's looser role
211
+ // label ("person", "topic", etc.), the deterministic value is the safer
212
+ // one to carry forward.
213
+ entities: { ...state.entities, ...required.entities },
214
+ };
215
+ }
216
+ function combineRequiredFragments(...sources) {
217
+ const combined = emptyRequiredStateFragments();
218
+ for (const source of sources) {
219
+ combined.facts.push(...source.facts);
220
+ combined.decisions.push(...source.decisions);
221
+ combined.pending_actions.push(...source.pending_actions);
222
+ combined.forbidden_behaviors.push(...source.forbidden_behaviors);
223
+ Object.assign(combined.entities, source.entities);
224
+ }
225
+ return normalizeRequiredStateFragments(combined);
226
+ }
227
+ function isLowSignalStateItem(value) {
228
+ const normalized = value.trim().toLowerCase();
229
+ return (/^user asked (?:about|what|whether|if)\b/.test(normalized) ||
230
+ /^initial plan:/.test(normalized) ||
231
+ /^revised plan:/.test(normalized) ||
232
+ /^provide reminder\b/.test(normalized) ||
233
+ /^suggest next step\b/.test(normalized) ||
234
+ /^hard rule: never\b/.test(normalized) ||
235
+ /^user wants to plan\b/.test(normalized) ||
236
+ /^unrelated\b/.test(normalized) ||
237
+ /\b(?:unrelated|aside|small talk|chitchat)\b/.test(normalized) ||
238
+ /\bdiscussed$/.test(normalized));
239
+ }
240
+ function escapeRegExp(input) {
241
+ return input.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
242
+ }
243
+ const STRUCTURED_SECTION_HEADINGS = [
244
+ "Facts",
245
+ "Decisions",
246
+ "Pending actions",
247
+ "Forbidden behaviors",
248
+ "Entities",
249
+ "Ledger (chronological)",
250
+ ];
251
+ function extractSectionBullets(text, heading) {
252
+ const nextHeadings = STRUCTURED_SECTION_HEADINGS.filter((h) => h !== heading)
253
+ .map(escapeRegExp)
254
+ .join("|");
255
+ const section = new RegExp(`(?:^|\\n)${escapeRegExp(heading)}:\\s*\\n([\\s\\S]*?)(?=\\n(?:${nextHeadings}):\\s*(?:\\n|$)|$)`, "i").exec(text);
256
+ if (!section)
257
+ return [];
258
+ const bullets = [];
259
+ for (const line of section[1].split("\n")) {
260
+ const match = /^-\s+(.+)$/.exec(line.trim());
261
+ if (match)
262
+ bullets.push(match[1].trim());
263
+ }
264
+ return bullets;
265
+ }
266
+ function extractHashSectionBullets(text, heading) {
267
+ const section = new RegExp(`(?:^|\\n)#\\s*${escapeRegExp(heading)}\\s*\\n([\\s\\S]*?)(?=\\n#\\s*\\w|$)`, "i").exec(text);
268
+ if (!section)
269
+ return [];
270
+ const bullets = [];
271
+ for (const line of section[1].split("\n")) {
272
+ const match = /^-\s+(.+)$/.exec(line.trim());
273
+ if (match)
274
+ bullets.push(match[1].trim());
275
+ }
276
+ return bullets;
277
+ }
278
+ function extractCompactBenchLedgerFragments(text) {
279
+ const fragments = emptyRequiredStateFragments();
280
+ fragments.facts.push(...extractHashSectionBullets(text, "immutable_facts"));
281
+ fragments.decisions.push(...extractHashSectionBullets(text, "locked_decisions"));
282
+ fragments.pending_actions.push(...extractHashSectionBullets(text, "deferred_items"), ...extractHashSectionBullets(text, "unresolved_items"));
283
+ fragments.forbidden_behaviors.push(...extractHashSectionBullets(text, "forbidden_behaviors"));
284
+ for (const entityLine of extractHashSectionBullets(text, "entity_map")) {
285
+ const splitAt = entityLine.indexOf(":");
286
+ if (splitAt <= 0)
287
+ continue;
288
+ const key = entityLine.slice(0, splitAt).trim();
289
+ const value = entityLine.slice(splitAt + 1).trim();
290
+ if (key && value)
291
+ fragments.entities[key] = value;
292
+ }
293
+ return normalizeRequiredStateFragments(fragments);
294
+ }
295
+ function mergeRenderedStateFragments(fragments, text) {
296
+ fragments.facts.push(...extractSectionBullets(text, "Facts"));
297
+ fragments.decisions.push(...extractSectionBullets(text, "Decisions"));
298
+ fragments.pending_actions.push(...extractSectionBullets(text, "Pending actions"));
299
+ fragments.forbidden_behaviors.push(...extractSectionBullets(text, "Forbidden behaviors"));
300
+ for (const entityLine of extractSectionBullets(text, "Entities")) {
301
+ const splitAt = entityLine.indexOf(":");
302
+ if (splitAt <= 0)
303
+ continue;
304
+ const key = entityLine.slice(0, splitAt).trim();
305
+ const value = entityLine.slice(splitAt + 1).trim();
306
+ if (key && value)
307
+ fragments.entities[key] = value;
308
+ }
309
+ }
310
+ function cleanSentenceFragment(value) {
311
+ return value
312
+ .replace(/\s+/g, " ")
313
+ .replace(/^["'`]+|["'`]+$/g, "")
314
+ .replace(/[;:,]+$/g, "")
315
+ .trim();
316
+ }
317
+ function pushEntity(entities, key, value) {
318
+ const cleanKey = cleanSentenceFragment(key);
319
+ const cleanValue = cleanSentenceFragment(value);
320
+ if (!cleanKey || !cleanValue)
321
+ return;
322
+ entities[cleanKey] = cleanValue;
323
+ }
324
+ function normalizeRequiredStateFragments(fragments) {
325
+ return {
326
+ facts: uniqueStrings(fragments.facts),
327
+ decisions: uniqueStrings(fragments.decisions),
328
+ pending_actions: uniqueStrings(fragments.pending_actions),
329
+ forbidden_behaviors: uniqueStrings(fragments.forbidden_behaviors),
330
+ entities: fragments.entities,
331
+ };
332
+ }
333
+ function extractRequiredStateFragments(region) {
334
+ const fragments = emptyRequiredStateFragments();
335
+ fragments.facts.push(...extractToolOutcomeFacts(region));
336
+ for (const message of region) {
337
+ mergeRenderedStateFragments(fragments, message.content);
338
+ }
339
+ const userText = region
340
+ .filter((m) => m.role === "user")
341
+ .map((m) => m.content)
342
+ .join("\n");
343
+ for (const match of userText.matchAll(/\b(?:critical:\s*)?never\s+(.+?)(?:\.|!|\n|$)/gi)) {
344
+ const forbidden = cleanSentenceFragment(match[1]);
345
+ if (!forbidden)
346
+ continue;
347
+ fragments.forbidden_behaviors.push(forbidden);
348
+ fragments.decisions.push(`verbatim forbidden behavior: ${forbidden}`);
349
+ }
350
+ for (const match of userText.matchAll(/\b(?:let's|lets)\s+plan\s+the\s+(.+?)\s+with\s+(.+?)(?:\.|!|\n|$)/gi)) {
351
+ const topic = cleanSentenceFragment(match[1]);
352
+ const entity = cleanSentenceFragment(match[2]);
353
+ if (topic)
354
+ fragments.facts.push(`topic: ${topic}`);
355
+ if (entity) {
356
+ fragments.facts.push(`primary_subject: ${entity}`);
357
+ pushEntity(fragments.entities, entity, "primary_subject");
358
+ }
359
+ }
360
+ for (const match of userText.matchAll(/\bstarting\s+the\s+(.+?)\s+with\s+(.+?)(?:\.|!|\n|$)/gi)) {
361
+ const topic = cleanSentenceFragment(match[1]);
362
+ const entity = cleanSentenceFragment(match[2]);
363
+ if (topic)
364
+ fragments.facts.push(`topic: ${topic}`);
365
+ if (entity) {
366
+ fragments.facts.push(`primary_subject: ${entity}`);
367
+ pushEntity(fragments.entities, entity, "primary_subject");
368
+ }
369
+ }
370
+ const initialPlan = /\bfor\s+(.+?)'s\s+(.+?),\s*(?:let's|lets)\s+(.+?)(?:\.|!|\n|$)/i.exec(userText);
371
+ const override = /\bactually,\s*wait\s*[\u2014-]\s*scratch\s+that\.\s*instead,\s*(?:let's|lets)\s+(.+?)\.\s*ignore\s+the\s+earlier\s+instruction/iu.exec(userText);
372
+ if (initialPlan && override) {
373
+ const entity = cleanSentenceFragment(initialPlan[1]);
374
+ const topic = cleanSentenceFragment(initialPlan[2]);
375
+ const rejected = cleanSentenceFragment(initialPlan[3]);
376
+ const approved = cleanSentenceFragment(override[1]);
377
+ if (approved)
378
+ fragments.decisions.push(`latest decision: ${approved}`);
379
+ if (rejected) {
380
+ fragments.forbidden_behaviors.push(rejected);
381
+ }
382
+ if (topic)
383
+ fragments.facts.push(`topic: ${topic}`);
384
+ if (entity)
385
+ pushEntity(fragments.entities, entity, "primary_subject");
386
+ }
387
+ for (const match of userText.matchAll(/\bon\s+the\s+(.+?),\s*(.+?)\s+will\s+(.+?),\s+and\s+(.+?)\s+will\s+(.+?)(?:\.|!|\n|$)/gi)) {
388
+ const topic = cleanSentenceFragment(match[1]);
389
+ const personA = cleanSentenceFragment(match[2]);
390
+ const taskA = cleanSentenceFragment(match[3]);
391
+ const personB = cleanSentenceFragment(match[4]);
392
+ const taskB = cleanSentenceFragment(match[5]);
393
+ if (topic)
394
+ fragments.facts.push(`topic: ${topic}`);
395
+ if (personA && taskA) {
396
+ fragments.facts.push(`${personA} owns: ${taskA}`);
397
+ pushEntity(fragments.entities, personA, `owner_of: ${taskA}`);
398
+ }
399
+ if (personB && taskB) {
400
+ fragments.facts.push(`${personB} owns: ${taskB}`);
401
+ pushEntity(fragments.entities, personB, `owner_of: ${taskB}`);
402
+ }
403
+ }
404
+ return normalizeRequiredStateFragments(fragments);
405
+ }
406
+ function parseToolResultContent(content) {
407
+ const trimmed = content.trim();
408
+ const tagged = /^\[tool_result:([^\]]+)\]\s*([\s\S]+)$/.exec(trimmed);
409
+ if (tagged) {
410
+ return { toolName: tagged[1].trim(), value: tagged[2].trim() };
411
+ }
412
+ return { value: trimmed };
413
+ }
414
+ function extractToolOutcomeFacts(region) {
415
+ const callInfo = new Map();
416
+ for (const message of region) {
417
+ if (message.role !== "assistant" || !message.toolCalls)
418
+ continue;
419
+ for (const call of message.toolCalls) {
420
+ if (!call.id)
421
+ continue;
422
+ const turn = call.arguments?.turn;
423
+ callInfo.set(call.id, {
424
+ name: call.name,
425
+ turn: typeof turn === "string" || typeof turn === "number"
426
+ ? turn
427
+ : undefined,
428
+ });
429
+ }
430
+ }
431
+ const facts = [];
432
+ for (const message of region) {
433
+ if (message.role !== "tool" || !message.content.trim())
434
+ continue;
435
+ const parsed = parseToolResultContent(message.content);
436
+ const info = message.toolCallId ? callInfo.get(message.toolCallId) : null;
437
+ const toolName = parsed.toolName || message.toolName || info?.name;
438
+ const turn = info?.turn;
439
+ const who = toolName ? ` from ${toolName}` : "";
440
+ const where = turn !== undefined ? ` at turn ${turn}` : "";
441
+ facts.push(`Tool result${where}${who}: ${parsed.value}`);
442
+ }
443
+ // Some older harnesses flatten tool output into regular messages. Preserve
444
+ // those too, but avoid duplicating typed tool-role messages handled above.
445
+ for (const message of region) {
446
+ if (message.role === "tool")
447
+ continue;
448
+ for (const match of message.content.matchAll(/\[tool_result:([^\]]+)\]\s*([^\n]+)/g)) {
449
+ const toolName = match[1].trim();
450
+ const value = match[2].trim();
451
+ if (value)
452
+ facts.push(`Tool result from ${toolName}: ${value}`);
453
+ }
454
+ }
455
+ return uniqueStrings(facts);
456
+ }
457
+ function requireCallModel(options, strategy) {
458
+ if (!options.callModel) {
459
+ throw new Error(`${strategy} requires options.callModel`);
460
+ }
461
+ return options.callModel;
462
+ }
463
+ function buildStats(params) {
464
+ const counter = getCounter(params.options);
465
+ const compactedMessages = [
466
+ ...params.systemPrefix,
467
+ ...params.replacement,
468
+ ...params.preservedTail,
469
+ ];
470
+ return {
471
+ originalMessageCount: params.original.messages.length,
472
+ compactedMessageCount: compactedMessages.length,
473
+ originalTokens: countTranscriptTokens(params.original, counter),
474
+ compactedTokens: messagesTokens(compactedMessages, counter),
475
+ summarizationModel: params.options.summarizationModel,
476
+ latencyMs: Date.now() - params.startedAt,
477
+ extra: params.extra,
478
+ };
479
+ }
480
+ function splitTranscript(transcript, preserveTailMessages) {
481
+ const messages = transcript.messages;
482
+ const systemOffset = messages[0]?.role === "system" ? 1 : 0;
483
+ const systemPrefix = systemOffset === 1 ? [messages[0]] : [];
484
+ const boundary = findSafeCompactionBoundary(messages, preserveTailMessages);
485
+ const region = messages.slice(systemOffset, boundary);
486
+ const preservedTail = messages.slice(boundary);
487
+ return { systemPrefix, region, preservedTail };
488
+ }
489
+ // ---------------------------------------------------------------------------
490
+ // Strategy: naive-summary
491
+ // ---------------------------------------------------------------------------
492
+ const NAIVE_SYSTEM_PROMPT = "You are a conversation summarizer. Read the supplied transcript and write" +
493
+ " a concise prose summary that preserves: facts established, decisions" +
494
+ " made, latest overrides, rules, constraints, forbidden behaviors, exact" +
495
+ " entity assignments, identifiers, and any tool calls and their outcomes." +
496
+ " Do not invent details. Do not include meta-commentary.";
497
+ async function naiveCompact(transcript, options) {
498
+ const startedAt = Date.now();
499
+ const callModel = requireCallModel(options, "naive-summary");
500
+ const preserveTail = options.preserveTailMessages ?? DEFAULT_PRESERVE_TAIL;
501
+ const { systemPrefix, region, preservedTail } = splitTranscript(transcript, preserveTail);
502
+ if (region.length === 0) {
503
+ return {
504
+ replacementMessages: [],
505
+ stats: buildStats({
506
+ original: transcript,
507
+ replacement: [],
508
+ preservedTail,
509
+ systemPrefix,
510
+ options,
511
+ startedAt,
512
+ extra: { regionSize: 0 },
513
+ }),
514
+ };
515
+ }
516
+ const userBody = renderRegionForPrompt(region);
517
+ const callOnce = async (extraInstruction) => {
518
+ const sys = NAIVE_SYSTEM_PROMPT +
519
+ (extraInstruction
520
+ ? `\n\nAdditional constraint: ${extraInstruction}`
521
+ : "");
522
+ return callModel({
523
+ systemPrompt: sys,
524
+ messages: [
525
+ {
526
+ role: "user",
527
+ content: `Summarize the following conversation:\n\n${userBody}`,
528
+ },
529
+ ],
530
+ maxOutputTokens: options.targetTokens,
531
+ });
532
+ };
533
+ let summary = (await callOnce()).trim();
534
+ let retried = false;
535
+ const counter = getCounter(options);
536
+ if (counter(summary) > options.targetTokens) {
537
+ retried = true;
538
+ summary = (await callOnce(`Be more concise; the response must fit within ${options.targetTokens} tokens.`)).trim();
539
+ }
540
+ const replacement = [
541
+ {
542
+ role: "assistant",
543
+ content: `[conversation summary]\n${summary}`,
544
+ tags: ["compactor:naive-summary"],
545
+ },
546
+ ];
547
+ return {
548
+ replacementMessages: replacement,
549
+ stats: buildStats({
550
+ original: transcript,
551
+ replacement,
552
+ preservedTail,
553
+ systemPrefix,
554
+ options,
555
+ startedAt,
556
+ extra: { retried, regionSize: region.length },
557
+ }),
558
+ };
559
+ }
560
+ export const naiveSummaryCompactor = {
561
+ name: "naive-summary",
562
+ version: "1.0.0",
563
+ compact: naiveCompact,
564
+ };
565
+ const STRUCTURED_SYSTEM_PROMPT = "You are a conversation state extractor. Read the supplied transcript and" +
566
+ " output a JSON object with exactly these keys:\n" +
567
+ ' - "facts": string[] — durable facts, rules, constraints, forbidden behaviors, and exact entity assignments established in the conversation\n' +
568
+ ' - "decisions": string[] — decisions made by the user or agent, especially latest overrides that replace earlier decisions\n' +
569
+ ' - "pending_actions": string[] — open follow-ups still to be done\n' +
570
+ ' - "forbidden_behaviors": string[] — exact actions, rejected options, or behaviors the agent must not do\n' +
571
+ ' - "entities": object — exact entity name → short description, role, owner, or assignment\n' +
572
+ "Treat tool-role messages and `[tool_result:name] value` lines as durable" +
573
+ " facts. Preserve exact tool result values, ids, dates, codes, and other" +
574
+ " identifiers verbatim.\n" +
575
+ "Output ONLY the JSON object, no prose, no markdown fences.";
576
+ /**
577
+ * Scan a string for all balanced top-level `{...}` blocks, respecting JSON
578
+ * string literals (so `<reasoning>alt {plan}</reasoning>{ "facts": [] }`
579
+ * yields BOTH `{plan}` and the outer JSON object as candidates).
580
+ *
581
+ * Returns the substrings (each including its outer braces) in source order.
582
+ */
583
+ function findBalancedJsonObjectCandidates(input) {
584
+ const out = [];
585
+ let depth = 0;
586
+ let start = -1;
587
+ let inString = false;
588
+ let escaped = false;
589
+ for (let i = 0; i < input.length; i++) {
590
+ const ch = input[i];
591
+ if (inString) {
592
+ if (escaped) {
593
+ escaped = false;
594
+ }
595
+ else if (ch === "\\") {
596
+ escaped = true;
597
+ }
598
+ else if (ch === '"') {
599
+ inString = false;
600
+ }
601
+ continue;
602
+ }
603
+ if (ch === '"') {
604
+ inString = true;
605
+ continue;
606
+ }
607
+ if (ch === "{") {
608
+ if (depth === 0)
609
+ start = i;
610
+ depth++;
611
+ }
612
+ else if (ch === "}") {
613
+ if (depth > 0) {
614
+ depth--;
615
+ if (depth === 0 && start !== -1) {
616
+ out.push(input.slice(start, i + 1));
617
+ start = -1;
618
+ }
619
+ }
620
+ }
621
+ }
622
+ return out;
623
+ }
624
+ /**
625
+ * Extract a parseable JSON object body from arbitrary model output.
626
+ *
627
+ * Handles:
628
+ * - Bare JSON: `{ ... }`
629
+ * - ```json fenced blocks (with or without language tag)
630
+ * - JSON wrapped in <reasoning> / preface / trailing prose
631
+ * - Prose that contains stray `{...}` fragments (picks the candidate that
632
+ * actually parses, not the first balanced range)
633
+ *
634
+ * Returns the most likely JSON body — the FIRST candidate that successfully
635
+ * round-trips through JSON.parse. Falls back to the largest candidate (so
636
+ * the eventual JSON.parse will throw a useful error to the caller's catch),
637
+ * or the trimmed input if no balanced object exists.
638
+ */
639
+ function extractJsonBody(raw) {
640
+ const trimmed = raw.trim();
641
+ let scan = trimmed;
642
+ const fenceMatch = trimmed.match(/```(?:json)?\s*([\s\S]*?)```/);
643
+ if (fenceMatch)
644
+ scan = fenceMatch[1].trim();
645
+ const candidates = findBalancedJsonObjectCandidates(scan);
646
+ if (candidates.length === 0)
647
+ return scan;
648
+ for (const candidate of candidates) {
649
+ try {
650
+ JSON.parse(candidate);
651
+ return candidate;
652
+ }
653
+ catch {
654
+ // Not parseable — try the next candidate.
655
+ }
656
+ }
657
+ // No candidate parsed — return the largest, so the upstream JSON.parse
658
+ // produces a meaningful error rather than swallowing input.
659
+ return candidates.reduce((a, b) => (b.length > a.length ? b : a));
660
+ }
661
+ function safeParseStructured(raw) {
662
+ // Tolerate ```json fences and surrounding prose by extracting the first
663
+ // balanced {...} block. Falls back to an empty state on parse failure.
664
+ const body = extractJsonBody(raw);
665
+ const parsed = JSON.parse(body);
666
+ return {
667
+ facts: Array.isArray(parsed.facts) ? parsed.facts.map(String) : [],
668
+ decisions: Array.isArray(parsed.decisions)
669
+ ? parsed.decisions.map(String)
670
+ : [],
671
+ pending_actions: Array.isArray(parsed.pending_actions)
672
+ ? parsed.pending_actions.map(String)
673
+ : [],
674
+ forbidden_behaviors: Array.isArray(parsed.forbidden_behaviors)
675
+ ? parsed.forbidden_behaviors.map(String)
676
+ : [],
677
+ entities: parsed.entities && typeof parsed.entities === "object"
678
+ ? Object.fromEntries(Object.entries(parsed.entities).map(([k, v]) => [k, String(v)]))
679
+ : {},
680
+ };
681
+ }
682
+ function renderStructuredState(state) {
683
+ const lines = ["[conversation state]"];
684
+ lines.push("Facts:");
685
+ for (const f of state.facts)
686
+ lines.push(`- ${f}`);
687
+ lines.push("Decisions:");
688
+ for (const d of state.decisions)
689
+ lines.push(`- ${d}`);
690
+ lines.push("Pending actions:");
691
+ for (const p of state.pending_actions)
692
+ lines.push(`- ${p}`);
693
+ lines.push("Forbidden behaviors:");
694
+ for (const f of state.forbidden_behaviors)
695
+ lines.push(`- ${f}`);
696
+ lines.push("Entities:");
697
+ for (const [k, v] of Object.entries(state.entities)) {
698
+ lines.push(`- ${k}: ${v}`);
699
+ }
700
+ return lines.join("\n");
701
+ }
702
+ async function structuredCompact(transcript, options) {
703
+ const startedAt = Date.now();
704
+ const callModel = requireCallModel(options, "structured-state");
705
+ const preserveTail = options.preserveTailMessages ?? DEFAULT_PRESERVE_TAIL;
706
+ const { systemPrefix, region, preservedTail } = splitTranscript(transcript, preserveTail);
707
+ if (region.length === 0) {
708
+ return {
709
+ replacementMessages: [],
710
+ stats: buildStats({
711
+ original: transcript,
712
+ replacement: [],
713
+ preservedTail,
714
+ systemPrefix,
715
+ options,
716
+ startedAt,
717
+ }),
718
+ };
719
+ }
720
+ const requiredState = extractRequiredStateFragments(region);
721
+ const userBody = renderRegionForPrompt(region);
722
+ const raw = await callModel({
723
+ systemPrompt: STRUCTURED_SYSTEM_PROMPT,
724
+ messages: [
725
+ {
726
+ role: "user",
727
+ content: `Extract conversation state from:\n\n${userBody}`,
728
+ },
729
+ ],
730
+ maxOutputTokens: options.targetTokens,
731
+ });
732
+ let state;
733
+ try {
734
+ state = safeParseStructured(raw);
735
+ }
736
+ catch {
737
+ state = emptyStructuredState();
738
+ }
739
+ state = mergeRequiredState(state, requiredState);
740
+ let rendered = renderStructuredState(state);
741
+ const counter = getCounter(options);
742
+ // If the rendered state still exceeds the budget, recurse on the rendered
743
+ // state itself (treat it as a single fake transcript and re-summarize).
744
+ // Because compactors are content-shaping, recursion bottoms out when a
745
+ // single condensation pass no longer reduces size.
746
+ let recursed = false;
747
+ while (counter(rendered) > options.targetTokens) {
748
+ recursed = true;
749
+ const reduced = await callModel({
750
+ systemPrompt: STRUCTURED_SYSTEM_PROMPT,
751
+ messages: [
752
+ {
753
+ role: "user",
754
+ content: `Reduce this state to fit within ${options.targetTokens} tokens` +
755
+ ` while preserving the most load-bearing items:\n\n${rendered}`,
756
+ },
757
+ ],
758
+ maxOutputTokens: options.targetTokens,
759
+ });
760
+ let reducedState;
761
+ try {
762
+ reducedState = safeParseStructured(reduced);
763
+ }
764
+ catch {
765
+ break;
766
+ }
767
+ reducedState = mergeRequiredState(reducedState, requiredState);
768
+ const next = renderStructuredState(reducedState);
769
+ if (counter(next) >= counter(rendered))
770
+ break; // no progress
771
+ state = reducedState;
772
+ rendered = next;
773
+ }
774
+ const replacement = [
775
+ {
776
+ role: "system",
777
+ content: rendered,
778
+ tags: ["compactor:structured-state"],
779
+ },
780
+ ];
781
+ return {
782
+ replacementMessages: replacement,
783
+ stats: buildStats({
784
+ original: transcript,
785
+ replacement,
786
+ preservedTail,
787
+ systemPrefix,
788
+ options,
789
+ startedAt,
790
+ extra: { recursed, regionSize: region.length, state },
791
+ }),
792
+ };
793
+ }
794
+ export const structuredStateCompactor = {
795
+ name: "structured-state",
796
+ version: "1.0.0",
797
+ compact: structuredCompact,
798
+ };
799
+ // ---------------------------------------------------------------------------
800
+ // Strategy: hierarchical-summary
801
+ // ---------------------------------------------------------------------------
802
+ const HIERARCHICAL_CHUNK_SIZE = 10;
803
+ const HIERARCHICAL_LEAF_SYSTEM_PROMPT = "You are a conversation summarizer. Summarize the given conversation chunk" +
804
+ " in 3-6 sentences, preserving load-bearing facts, decisions, identifiers," +
805
+ " rules, constraints, forbidden behaviors, exact entity assignments, and" +
806
+ " tool-call outcomes. Output prose only.";
807
+ const HIERARCHICAL_ROLLUP_SYSTEM_PROMPT = "You are a summary aggregator. Combine the given list of chunk summaries" +
808
+ " into a single concise summary that preserves the most load-bearing facts" +
809
+ " and decisions, including latest overrides, rules, constraints, forbidden" +
810
+ " behaviors, and exact entity assignments. Maintain chronological" +
811
+ " coherence. Output prose only.";
812
+ async function summarizeChunks(callModel, chunks, options) {
813
+ const summaries = [];
814
+ for (const chunk of chunks) {
815
+ const body = renderRegionForPrompt(chunk);
816
+ const out = await callModel({
817
+ systemPrompt: HIERARCHICAL_LEAF_SYSTEM_PROMPT,
818
+ messages: [
819
+ {
820
+ role: "user",
821
+ content: `Summarize this conversation chunk:\n\n${body}`,
822
+ },
823
+ ],
824
+ maxOutputTokens: Math.max(64, Math.floor(options.targetTokens / 2)),
825
+ });
826
+ summaries.push(out.trim());
827
+ }
828
+ return summaries;
829
+ }
830
+ async function hierarchicalCompact(transcript, options) {
831
+ const startedAt = Date.now();
832
+ const callModel = requireCallModel(options, "hierarchical-summary");
833
+ const preserveTail = options.preserveTailMessages ?? DEFAULT_PRESERVE_TAIL;
834
+ const { systemPrefix, region, preservedTail } = splitTranscript(transcript, preserveTail);
835
+ if (region.length === 0) {
836
+ return {
837
+ replacementMessages: [],
838
+ stats: buildStats({
839
+ original: transcript,
840
+ replacement: [],
841
+ preservedTail,
842
+ systemPrefix,
843
+ options,
844
+ startedAt,
845
+ }),
846
+ };
847
+ }
848
+ // Split into chunks of HIERARCHICAL_CHUNK_SIZE.
849
+ const chunks = [];
850
+ for (let i = 0; i < region.length; i += HIERARCHICAL_CHUNK_SIZE) {
851
+ chunks.push(region.slice(i, i + HIERARCHICAL_CHUNK_SIZE));
852
+ }
853
+ let leafSummaries = await summarizeChunks(callModel, chunks, options);
854
+ const counter = getCounter(options);
855
+ // Roll up summaries until under budget OR no further progress.
856
+ let levels = 0;
857
+ let combined = leafSummaries.join("\n\n");
858
+ while (counter(combined) > options.targetTokens && leafSummaries.length > 1) {
859
+ levels += 1;
860
+ // Group rollup-level summaries in chunks of HIERARCHICAL_CHUNK_SIZE summaries.
861
+ const rollupChunks = [];
862
+ for (let i = 0; i < leafSummaries.length; i += HIERARCHICAL_CHUNK_SIZE) {
863
+ rollupChunks.push(leafSummaries.slice(i, i + HIERARCHICAL_CHUNK_SIZE));
864
+ }
865
+ const next = [];
866
+ for (const group of rollupChunks) {
867
+ const body = group.map((s, i) => `Summary ${i + 1}:\n${s}`).join("\n\n");
868
+ const out = await callModel({
869
+ systemPrompt: HIERARCHICAL_ROLLUP_SYSTEM_PROMPT,
870
+ messages: [
871
+ { role: "user", content: `Combine these summaries:\n\n${body}` },
872
+ ],
873
+ maxOutputTokens: options.targetTokens,
874
+ });
875
+ next.push(out.trim());
876
+ }
877
+ if (next.length >= leafSummaries.length)
878
+ break;
879
+ leafSummaries = next;
880
+ combined = leafSummaries.join("\n\n");
881
+ if (levels > 8)
882
+ break; // safety stop
883
+ }
884
+ // If we still have multiple summaries, do a final rollup into one.
885
+ if (leafSummaries.length > 1) {
886
+ const body = leafSummaries
887
+ .map((s, i) => `Summary ${i + 1}:\n${s}`)
888
+ .join("\n\n");
889
+ const out = await callModel({
890
+ systemPrompt: HIERARCHICAL_ROLLUP_SYSTEM_PROMPT,
891
+ messages: [
892
+ { role: "user", content: `Combine these summaries:\n\n${body}` },
893
+ ],
894
+ maxOutputTokens: options.targetTokens,
895
+ });
896
+ leafSummaries = [out.trim()];
897
+ combined = leafSummaries[0];
898
+ levels += 1;
899
+ }
900
+ const replacement = [
901
+ {
902
+ role: "assistant",
903
+ content: `[conversation summary]\n${combined}`,
904
+ tags: ["compactor:hierarchical-summary"],
905
+ },
906
+ ];
907
+ return {
908
+ replacementMessages: replacement,
909
+ stats: buildStats({
910
+ original: transcript,
911
+ replacement,
912
+ preservedTail,
913
+ systemPrefix,
914
+ options,
915
+ startedAt,
916
+ extra: {
917
+ chunkCount: chunks.length,
918
+ rollupLevels: levels,
919
+ regionSize: region.length,
920
+ },
921
+ }),
922
+ };
923
+ }
924
+ export const hierarchicalSummaryCompactor = {
925
+ name: "hierarchical-summary",
926
+ version: "1.0.0",
927
+ compact: hierarchicalCompact,
928
+ };
929
+ const LEDGER_SYSTEM_PROMPT = "You are a conversation ledger extractor. Read the supplied transcript and" +
930
+ " output a JSON object with exactly these keys:\n" +
931
+ ' - "state": { "facts": string[], "decisions": string[],' +
932
+ ' "pending_actions": string[], "forbidden_behaviors": string[],' +
933
+ ' "entities": { [k: string]: string } }\n' +
934
+ ' - "ledger": Array<{ "index": number, "note": string }>\n' +
935
+ "The ledger is a chronological list of LOAD-BEARING events only — not" +
936
+ " every turn. Skip greetings, filler, and acknowledgements. Each note must" +
937
+ " be a single short clause (≤ 15 words). Cap the ledger at 10 entries; if" +
938
+ " more events are load-bearing, merge nearby ones. The state is the" +
939
+ " structured summary at the end of the conversation. Tool-role messages" +
940
+ " and `[tool_result:name] value` lines are always load-bearing: include" +
941
+ " every tool result in state.facts with the exact returned value, and add" +
942
+ " ledger entries for the most recent tool results. Preserve ids, dates," +
943
+ " codes, rules, constraints, forbidden behaviors, latest overrides, exact" +
944
+ " entity assignments, and other identifiers verbatim. Output ONLY the" +
945
+ " JSON object, no prose, no markdown fences.";
946
+ const HYBRID_LEDGER_MAX_ENTRIES = 10;
947
+ function safeParseHybrid(raw) {
948
+ const body = extractJsonBody(raw);
949
+ const parsed = JSON.parse(body);
950
+ const state = {
951
+ facts: Array.isArray(parsed.state?.facts)
952
+ ? parsed.state.facts.map(String)
953
+ : [],
954
+ decisions: Array.isArray(parsed.state?.decisions)
955
+ ? parsed.state.decisions.map(String)
956
+ : [],
957
+ pending_actions: Array.isArray(parsed.state?.pending_actions)
958
+ ? parsed.state.pending_actions.map(String)
959
+ : [],
960
+ forbidden_behaviors: Array.isArray(parsed.state?.forbidden_behaviors)
961
+ ? parsed.state.forbidden_behaviors.map(String)
962
+ : [],
963
+ entities: parsed.state?.entities && typeof parsed.state.entities === "object"
964
+ ? Object.fromEntries(Object.entries(parsed.state.entities).map(([k, v]) => [k, String(v)]))
965
+ : {},
966
+ };
967
+ const ledger = Array.isArray(parsed.ledger)
968
+ ? parsed.ledger
969
+ .map((e) => ({
970
+ index: typeof e.index === "number" ? e.index : 0,
971
+ note: typeof e.note === "string" ? e.note : "",
972
+ }))
973
+ .filter((e) => e.note.length > 0)
974
+ // Hard cap defends compression_ratio when the model ignores the
975
+ // "≤ 10 entries" instruction in the prompt. Without the cap, the
976
+ // ledger overhead can make the artifact larger than the input.
977
+ // Keep the MOST RECENT entries (chronologically last) — the model
978
+ // is instructed to emit chronologically and the newest events tend
979
+ // to be the most load-bearing for "what just happened" continuity.
980
+ .slice(-HYBRID_LEDGER_MAX_ENTRIES)
981
+ : [];
982
+ return { state, ledger };
983
+ }
984
+ function renderHybrid(parsed) {
985
+ const lines = ["[conversation hybrid-ledger]"];
986
+ lines.push(renderStructuredState(parsed.state));
987
+ lines.push("");
988
+ lines.push("Ledger (chronological):");
989
+ for (const e of parsed.ledger) {
990
+ lines.push(`- @${e.index}: ${e.note}`);
991
+ }
992
+ return lines.join("\n");
993
+ }
994
+ async function hybridCompact(transcript, options) {
995
+ const startedAt = Date.now();
996
+ const callModel = requireCallModel(options, "hybrid-ledger");
997
+ const preserveTail = options.preserveTailMessages ?? DEFAULT_PRESERVE_TAIL;
998
+ const { systemPrefix, region, preservedTail } = splitTranscript(transcript, preserveTail);
999
+ if (region.length === 0) {
1000
+ return {
1001
+ replacementMessages: [],
1002
+ stats: buildStats({
1003
+ original: transcript,
1004
+ replacement: [],
1005
+ preservedTail,
1006
+ systemPrefix,
1007
+ options,
1008
+ startedAt,
1009
+ }),
1010
+ };
1011
+ }
1012
+ // If the transcript metadata carries a prior ledger from an earlier
1013
+ // compaction cycle, prepend it to the prompt so the model can extend
1014
+ // rather than discard it. This is what gives hybrid-ledger its multi-cycle
1015
+ // entity coherence.
1016
+ const priorLedgerRaw = transcript.metadata?.priorLedger;
1017
+ const priorLedger = typeof priorLedgerRaw === "string" && priorLedgerRaw.length > 0
1018
+ ? priorLedgerRaw
1019
+ : "";
1020
+ const requiredState = priorLedger
1021
+ ? combineRequiredFragments(extractCompactBenchLedgerFragments(priorLedger), extractRequiredStateFragments(region))
1022
+ : extractRequiredStateFragments(region);
1023
+ const userBody = priorLedger
1024
+ ? `Existing ledger (do not lose these entries — extend them):\n${priorLedger}\n\nNew conversation to fold in:\n${renderRegionForPrompt(region)}`
1025
+ : `Conversation:\n${renderRegionForPrompt(region)}`;
1026
+ const raw = await callModel({
1027
+ systemPrompt: LEDGER_SYSTEM_PROMPT,
1028
+ messages: [{ role: "user", content: userBody }],
1029
+ maxOutputTokens: options.targetTokens,
1030
+ });
1031
+ let parsed;
1032
+ try {
1033
+ parsed = safeParseHybrid(raw);
1034
+ }
1035
+ catch {
1036
+ parsed = {
1037
+ state: emptyStructuredState(),
1038
+ ledger: [],
1039
+ };
1040
+ }
1041
+ parsed = {
1042
+ ...parsed,
1043
+ state: mergeRequiredState(parsed.state, requiredState),
1044
+ };
1045
+ let rendered = renderHybrid(parsed);
1046
+ const counter = getCounter(options);
1047
+ // Recursive condensation if over budget — ask the model to compress its
1048
+ // own output while preserving the ledger.
1049
+ let recursed = false;
1050
+ while (counter(rendered) > options.targetTokens) {
1051
+ recursed = true;
1052
+ const reduced = await callModel({
1053
+ systemPrompt: LEDGER_SYSTEM_PROMPT,
1054
+ messages: [
1055
+ {
1056
+ role: "user",
1057
+ content: `Reduce this hybrid ledger to fit within ${options.targetTokens}` +
1058
+ ` tokens while preserving the most load-bearing facts and` +
1059
+ ` ledger entries:\n\n${rendered}`,
1060
+ },
1061
+ ],
1062
+ maxOutputTokens: options.targetTokens,
1063
+ });
1064
+ let reducedParsed;
1065
+ try {
1066
+ reducedParsed = safeParseHybrid(reduced);
1067
+ }
1068
+ catch {
1069
+ break;
1070
+ }
1071
+ reducedParsed = {
1072
+ ...reducedParsed,
1073
+ state: mergeRequiredState(reducedParsed.state, requiredState),
1074
+ };
1075
+ const next = renderHybrid(reducedParsed);
1076
+ if (counter(next) >= counter(rendered))
1077
+ break;
1078
+ parsed = reducedParsed;
1079
+ rendered = next;
1080
+ }
1081
+ const replacement = [
1082
+ {
1083
+ role: "system",
1084
+ content: rendered,
1085
+ tags: ["compactor:hybrid-ledger"],
1086
+ },
1087
+ ];
1088
+ return {
1089
+ replacementMessages: replacement,
1090
+ stats: buildStats({
1091
+ original: transcript,
1092
+ replacement,
1093
+ preservedTail,
1094
+ systemPrefix,
1095
+ options,
1096
+ startedAt,
1097
+ extra: {
1098
+ recursed,
1099
+ regionSize: region.length,
1100
+ ledgerEntries: parsed.ledger.length,
1101
+ state: parsed.state,
1102
+ ledger: parsed.ledger,
1103
+ renderedLedger: rendered,
1104
+ },
1105
+ }),
1106
+ };
1107
+ }
1108
+ export const hybridLedgerCompactor = {
1109
+ name: "hybrid-ledger",
1110
+ version: "1.0.0",
1111
+ compact: hybridCompact,
1112
+ };
1113
+ // ---------------------------------------------------------------------------
1114
+ // Strategy registry
1115
+ // ---------------------------------------------------------------------------
1116
+ export const compactors = {
1117
+ "naive-summary": naiveSummaryCompactor,
1118
+ "structured-state": structuredStateCompactor,
1119
+ "hierarchical-summary": hierarchicalSummaryCompactor,
1120
+ "hybrid-ledger": hybridLedgerCompactor,
1121
+ };