@nookplot/runtime 0.5.130 → 0.5.131

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 (441) hide show
  1. package/package.json +3 -3
  2. package/dist/__tests__/apiMarketplace.test.d.ts +0 -2
  3. package/dist/__tests__/apiMarketplace.test.d.ts.map +0 -1
  4. package/dist/__tests__/apiMarketplace.test.js +0 -102
  5. package/dist/__tests__/apiMarketplace.test.js.map +0 -1
  6. package/dist/__tests__/autonomous.actionDispatch.test.d.ts +0 -2
  7. package/dist/__tests__/autonomous.actionDispatch.test.d.ts.map +0 -1
  8. package/dist/__tests__/autonomous.actionDispatch.test.js +0 -287
  9. package/dist/__tests__/autonomous.actionDispatch.test.js.map +0 -1
  10. package/dist/__tests__/autonomous.dedup.test.d.ts +0 -2
  11. package/dist/__tests__/autonomous.dedup.test.d.ts.map +0 -1
  12. package/dist/__tests__/autonomous.dedup.test.js +0 -125
  13. package/dist/__tests__/autonomous.dedup.test.js.map +0 -1
  14. package/dist/__tests__/autonomous.doomLoop.test.d.ts +0 -2
  15. package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +0 -1
  16. package/dist/__tests__/autonomous.doomLoop.test.js +0 -126
  17. package/dist/__tests__/autonomous.doomLoop.test.js.map +0 -1
  18. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts +0 -2
  19. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts.map +0 -1
  20. package/dist/__tests__/autonomous.getAvailableActions.test.js +0 -236
  21. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +0 -1
  22. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts +0 -2
  23. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts.map +0 -1
  24. package/dist/__tests__/autonomous.goalBootstrap.test.js +0 -148
  25. package/dist/__tests__/autonomous.goalBootstrap.test.js.map +0 -1
  26. package/dist/__tests__/autonomous.guardrails.test.d.ts +0 -2
  27. package/dist/__tests__/autonomous.guardrails.test.d.ts.map +0 -1
  28. package/dist/__tests__/autonomous.guardrails.test.js +0 -215
  29. package/dist/__tests__/autonomous.guardrails.test.js.map +0 -1
  30. package/dist/__tests__/autonomous.hooks.test.d.ts +0 -2
  31. package/dist/__tests__/autonomous.hooks.test.d.ts.map +0 -1
  32. package/dist/__tests__/autonomous.hooks.test.js +0 -107
  33. package/dist/__tests__/autonomous.hooks.test.js.map +0 -1
  34. package/dist/__tests__/autonomous.latentSpace.test.d.ts +0 -2
  35. package/dist/__tests__/autonomous.latentSpace.test.d.ts.map +0 -1
  36. package/dist/__tests__/autonomous.latentSpace.test.js +0 -224
  37. package/dist/__tests__/autonomous.latentSpace.test.js.map +0 -1
  38. package/dist/__tests__/autonomous.lifecycle.test.d.ts +0 -2
  39. package/dist/__tests__/autonomous.lifecycle.test.d.ts.map +0 -1
  40. package/dist/__tests__/autonomous.lifecycle.test.js +0 -147
  41. package/dist/__tests__/autonomous.lifecycle.test.js.map +0 -1
  42. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +0 -2
  43. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +0 -1
  44. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +0 -150
  45. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +0 -1
  46. package/dist/__tests__/autonomous.miningTrack.test.d.ts +0 -2
  47. package/dist/__tests__/autonomous.miningTrack.test.d.ts.map +0 -1
  48. package/dist/__tests__/autonomous.miningTrack.test.js +0 -38
  49. package/dist/__tests__/autonomous.miningTrack.test.js.map +0 -1
  50. package/dist/__tests__/chatEngine.episodicHook.test.d.ts +0 -2
  51. package/dist/__tests__/chatEngine.episodicHook.test.d.ts.map +0 -1
  52. package/dist/__tests__/chatEngine.episodicHook.test.js +0 -160
  53. package/dist/__tests__/chatEngine.episodicHook.test.js.map +0 -1
  54. package/dist/__tests__/chatEngine.test.d.ts +0 -2
  55. package/dist/__tests__/chatEngine.test.d.ts.map +0 -1
  56. package/dist/__tests__/chatEngine.test.js +0 -482
  57. package/dist/__tests__/chatEngine.test.js.map +0 -1
  58. package/dist/__tests__/codegen-drift.test.d.ts +0 -23
  59. package/dist/__tests__/codegen-drift.test.d.ts.map +0 -1
  60. package/dist/__tests__/codegen-drift.test.js +0 -187
  61. package/dist/__tests__/codegen-drift.test.js.map +0 -1
  62. package/dist/__tests__/contentSafety.test.d.ts +0 -2
  63. package/dist/__tests__/contentSafety.test.d.ts.map +0 -1
  64. package/dist/__tests__/contentSafety.test.js +0 -90
  65. package/dist/__tests__/contentSafety.test.js.map +0 -1
  66. package/dist/__tests__/conversation/compactionMemory.test.d.ts +0 -2
  67. package/dist/__tests__/conversation/compactionMemory.test.d.ts.map +0 -1
  68. package/dist/__tests__/conversation/compactionMemory.test.js +0 -447
  69. package/dist/__tests__/conversation/compactionMemory.test.js.map +0 -1
  70. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts +0 -2
  71. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts.map +0 -1
  72. package/dist/__tests__/conversation/modelThresholdsParity.test.js +0 -74
  73. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +0 -1
  74. package/dist/__tests__/doomLoop.test.d.ts +0 -6
  75. package/dist/__tests__/doomLoop.test.d.ts.map +0 -1
  76. package/dist/__tests__/doomLoop.test.js +0 -144
  77. package/dist/__tests__/doomLoop.test.js.map +0 -1
  78. package/dist/__tests__/goalLoop.test.d.ts +0 -2
  79. package/dist/__tests__/goalLoop.test.d.ts.map +0 -1
  80. package/dist/__tests__/goalLoop.test.js +0 -335
  81. package/dist/__tests__/goalLoop.test.js.map +0 -1
  82. package/dist/__tests__/guardrails.test.d.ts +0 -2
  83. package/dist/__tests__/guardrails.test.d.ts.map +0 -1
  84. package/dist/__tests__/guardrails.test.js +0 -236
  85. package/dist/__tests__/guardrails.test.js.map +0 -1
  86. package/dist/__tests__/helpers/mockRuntime.d.ts +0 -11
  87. package/dist/__tests__/helpers/mockRuntime.d.ts.map +0 -1
  88. package/dist/__tests__/helpers/mockRuntime.js +0 -153
  89. package/dist/__tests__/helpers/mockRuntime.js.map +0 -1
  90. package/dist/__tests__/hooks.test.d.ts +0 -9
  91. package/dist/__tests__/hooks.test.d.ts.map +0 -1
  92. package/dist/__tests__/hooks.test.js +0 -192
  93. package/dist/__tests__/hooks.test.js.map +0 -1
  94. package/dist/__tests__/loadProfile.test.d.ts +0 -8
  95. package/dist/__tests__/loadProfile.test.d.ts.map +0 -1
  96. package/dist/__tests__/loadProfile.test.js +0 -134
  97. package/dist/__tests__/loadProfile.test.js.map +0 -1
  98. package/dist/__tests__/manifestActivationHook.test.d.ts +0 -2
  99. package/dist/__tests__/manifestActivationHook.test.d.ts.map +0 -1
  100. package/dist/__tests__/manifestActivationHook.test.js +0 -312
  101. package/dist/__tests__/manifestActivationHook.test.js.map +0 -1
  102. package/dist/__tests__/memory.test.d.ts +0 -2
  103. package/dist/__tests__/memory.test.d.ts.map +0 -1
  104. package/dist/__tests__/memory.test.js +0 -192
  105. package/dist/__tests__/memory.test.js.map +0 -1
  106. package/dist/__tests__/mining.test.d.ts +0 -2
  107. package/dist/__tests__/mining.test.d.ts.map +0 -1
  108. package/dist/__tests__/mining.test.js +0 -306
  109. package/dist/__tests__/mining.test.js.map +0 -1
  110. package/dist/__tests__/onChainActions.parity.test.d.ts +0 -12
  111. package/dist/__tests__/onChainActions.parity.test.d.ts.map +0 -1
  112. package/dist/__tests__/onChainActions.parity.test.js +0 -104
  113. package/dist/__tests__/onChainActions.parity.test.js.map +0 -1
  114. package/dist/__tests__/presetLoader.test.d.ts +0 -2
  115. package/dist/__tests__/presetLoader.test.d.ts.map +0 -1
  116. package/dist/__tests__/presetLoader.test.js +0 -749
  117. package/dist/__tests__/presetLoader.test.js.map +0 -1
  118. package/dist/__tests__/querySegmentation.test.d.ts +0 -2
  119. package/dist/__tests__/querySegmentation.test.d.ts.map +0 -1
  120. package/dist/__tests__/querySegmentation.test.js +0 -187
  121. package/dist/__tests__/querySegmentation.test.js.map +0 -1
  122. package/dist/__tests__/sandbox.test.d.ts +0 -13
  123. package/dist/__tests__/sandbox.test.d.ts.map +0 -1
  124. package/dist/__tests__/sandbox.test.js +0 -413
  125. package/dist/__tests__/sandbox.test.js.map +0 -1
  126. package/dist/__tests__/signing.test.d.ts +0 -2
  127. package/dist/__tests__/signing.test.d.ts.map +0 -1
  128. package/dist/__tests__/signing.test.js +0 -260
  129. package/dist/__tests__/signing.test.js.map +0 -1
  130. package/dist/__tests__/wakeUpStack.test.d.ts +0 -2
  131. package/dist/__tests__/wakeUpStack.test.d.ts.map +0 -1
  132. package/dist/__tests__/wakeUpStack.test.js +0 -239
  133. package/dist/__tests__/wakeUpStack.test.js.map +0 -1
  134. package/dist/actionCatalog.d.ts +0 -57
  135. package/dist/actionCatalog.d.ts.map +0 -1
  136. package/dist/actionCatalog.generated.d.ts +0 -4
  137. package/dist/actionCatalog.generated.d.ts.map +0 -1
  138. package/dist/actionCatalog.generated.js +0 -2279
  139. package/dist/actionCatalog.generated.js.map +0 -1
  140. package/dist/actionCatalog.js +0 -214
  141. package/dist/actionCatalog.js.map +0 -1
  142. package/dist/api-marketplace.d.ts +0 -111
  143. package/dist/api-marketplace.d.ts.map +0 -1
  144. package/dist/api-marketplace.js +0 -154
  145. package/dist/api-marketplace.js.map +0 -1
  146. package/dist/artifactEmbeddings.d.ts +0 -69
  147. package/dist/artifactEmbeddings.d.ts.map +0 -1
  148. package/dist/artifactEmbeddings.js +0 -52
  149. package/dist/artifactEmbeddings.js.map +0 -1
  150. package/dist/autonomous.d.ts +0 -285
  151. package/dist/autonomous.d.ts.map +0 -1
  152. package/dist/autonomous.js +0 -3661
  153. package/dist/autonomous.js.map +0 -1
  154. package/dist/bounties.d.ts +0 -112
  155. package/dist/bounties.d.ts.map +0 -1
  156. package/dist/bounties.js +0 -140
  157. package/dist/bounties.js.map +0 -1
  158. package/dist/bundles.d.ts +0 -174
  159. package/dist/bundles.d.ts.map +0 -1
  160. package/dist/bundles.js +0 -208
  161. package/dist/bundles.js.map +0 -1
  162. package/dist/channels.d.ts +0 -131
  163. package/dist/channels.d.ts.map +0 -1
  164. package/dist/channels.js +0 -227
  165. package/dist/channels.js.map +0 -1
  166. package/dist/chat/chatEngine.d.ts +0 -138
  167. package/dist/chat/chatEngine.d.ts.map +0 -1
  168. package/dist/chat/chatEngine.js +0 -613
  169. package/dist/chat/chatEngine.js.map +0 -1
  170. package/dist/chat/index.d.ts +0 -30
  171. package/dist/chat/index.d.ts.map +0 -1
  172. package/dist/chat/index.js +0 -29
  173. package/dist/chat/index.js.map +0 -1
  174. package/dist/chat/terminal.d.ts +0 -19
  175. package/dist/chat/terminal.d.ts.map +0 -1
  176. package/dist/chat/terminal.js +0 -17
  177. package/dist/chat/terminal.js.map +0 -1
  178. package/dist/chat/terminals/discordTerminal.d.ts +0 -22
  179. package/dist/chat/terminals/discordTerminal.d.ts.map +0 -1
  180. package/dist/chat/terminals/discordTerminal.js +0 -132
  181. package/dist/chat/terminals/discordTerminal.js.map +0 -1
  182. package/dist/chat/terminals/openclawTerminal.d.ts +0 -43
  183. package/dist/chat/terminals/openclawTerminal.d.ts.map +0 -1
  184. package/dist/chat/terminals/openclawTerminal.js +0 -186
  185. package/dist/chat/terminals/openclawTerminal.js.map +0 -1
  186. package/dist/chat/terminals/stdinTerminal.d.ts +0 -18
  187. package/dist/chat/terminals/stdinTerminal.d.ts.map +0 -1
  188. package/dist/chat/terminals/stdinTerminal.js +0 -58
  189. package/dist/chat/terminals/stdinTerminal.js.map +0 -1
  190. package/dist/chat/terminals/telegramTerminal.d.ts +0 -27
  191. package/dist/chat/terminals/telegramTerminal.d.ts.map +0 -1
  192. package/dist/chat/terminals/telegramTerminal.js +0 -123
  193. package/dist/chat/terminals/telegramTerminal.js.map +0 -1
  194. package/dist/cognitiveWorkspace.d.ts +0 -107
  195. package/dist/cognitiveWorkspace.d.ts.map +0 -1
  196. package/dist/cognitiveWorkspace.js +0 -94
  197. package/dist/cognitiveWorkspace.js.map +0 -1
  198. package/dist/communities.d.ts +0 -40
  199. package/dist/communities.d.ts.map +0 -1
  200. package/dist/communities.js +0 -53
  201. package/dist/communities.js.map +0 -1
  202. package/dist/connection.d.ts +0 -90
  203. package/dist/connection.d.ts.map +0 -1
  204. package/dist/connection.js +0 -430
  205. package/dist/connection.js.map +0 -1
  206. package/dist/contentSafety.d.ts +0 -64
  207. package/dist/contentSafety.d.ts.map +0 -1
  208. package/dist/contentSafety.js +0 -123
  209. package/dist/contentSafety.js.map +0 -1
  210. package/dist/conversation/compactionMemory.d.ts +0 -124
  211. package/dist/conversation/compactionMemory.d.ts.map +0 -1
  212. package/dist/conversation/compactionMemory.js +0 -379
  213. package/dist/conversation/compactionMemory.js.map +0 -1
  214. package/dist/conversation/conversationLogStore.d.ts +0 -111
  215. package/dist/conversation/conversationLogStore.d.ts.map +0 -1
  216. package/dist/conversation/conversationLogStore.js +0 -248
  217. package/dist/conversation/conversationLogStore.js.map +0 -1
  218. package/dist/conversation/conversationMemory.d.ts +0 -59
  219. package/dist/conversation/conversationMemory.d.ts.map +0 -1
  220. package/dist/conversation/conversationMemory.js +0 -32
  221. package/dist/conversation/conversationMemory.js.map +0 -1
  222. package/dist/conversation/index.d.ts +0 -16
  223. package/dist/conversation/index.d.ts.map +0 -1
  224. package/dist/conversation/index.js +0 -5
  225. package/dist/conversation/index.js.map +0 -1
  226. package/dist/conversation/modelLimits.d.ts +0 -43
  227. package/dist/conversation/modelLimits.d.ts.map +0 -1
  228. package/dist/conversation/modelLimits.js +0 -67
  229. package/dist/conversation/modelLimits.js.map +0 -1
  230. package/dist/cro.d.ts +0 -243
  231. package/dist/cro.d.ts.map +0 -1
  232. package/dist/cro.js +0 -263
  233. package/dist/cro.js.map +0 -1
  234. package/dist/defaultGuardrails.d.ts +0 -21
  235. package/dist/defaultGuardrails.d.ts.map +0 -1
  236. package/dist/defaultGuardrails.js +0 -90
  237. package/dist/defaultGuardrails.js.map +0 -1
  238. package/dist/delegations.d.ts +0 -63
  239. package/dist/delegations.d.ts.map +0 -1
  240. package/dist/delegations.js +0 -41
  241. package/dist/delegations.js.map +0 -1
  242. package/dist/discovery.d.ts +0 -172
  243. package/dist/discovery.d.ts.map +0 -1
  244. package/dist/discovery.js +0 -300
  245. package/dist/discovery.js.map +0 -1
  246. package/dist/doomLoop.d.ts +0 -52
  247. package/dist/doomLoop.d.ts.map +0 -1
  248. package/dist/doomLoop.js +0 -173
  249. package/dist/doomLoop.js.map +0 -1
  250. package/dist/economy.d.ts +0 -244
  251. package/dist/economy.d.ts.map +0 -1
  252. package/dist/economy.js +0 -263
  253. package/dist/economy.js.map +0 -1
  254. package/dist/email.d.ts +0 -125
  255. package/dist/email.d.ts.map +0 -1
  256. package/dist/email.js +0 -91
  257. package/dist/email.js.map +0 -1
  258. package/dist/embeddingExchange.d.ts +0 -141
  259. package/dist/embeddingExchange.d.ts.map +0 -1
  260. package/dist/embeddingExchange.js +0 -95
  261. package/dist/embeddingExchange.js.map +0 -1
  262. package/dist/episodicMemoryHook.d.ts +0 -39
  263. package/dist/episodicMemoryHook.d.ts.map +0 -1
  264. package/dist/episodicMemoryHook.js +0 -58
  265. package/dist/episodicMemoryHook.js.map +0 -1
  266. package/dist/evaluator.d.ts +0 -113
  267. package/dist/evaluator.d.ts.map +0 -1
  268. package/dist/evaluator.js +0 -144
  269. package/dist/evaluator.js.map +0 -1
  270. package/dist/events.d.ts +0 -58
  271. package/dist/events.d.ts.map +0 -1
  272. package/dist/events.js +0 -86
  273. package/dist/events.js.map +0 -1
  274. package/dist/formatters.d.ts +0 -31
  275. package/dist/formatters.d.ts.map +0 -1
  276. package/dist/formatters.js +0 -227
  277. package/dist/formatters.js.map +0 -1
  278. package/dist/goal/goalLoop.d.ts +0 -78
  279. package/dist/goal/goalLoop.d.ts.map +0 -1
  280. package/dist/goal/goalLoop.js +0 -376
  281. package/dist/goal/goalLoop.js.map +0 -1
  282. package/dist/goal/goalPrompts.d.ts +0 -20
  283. package/dist/goal/goalPrompts.d.ts.map +0 -1
  284. package/dist/goal/goalPrompts.js +0 -54
  285. package/dist/goal/goalPrompts.js.map +0 -1
  286. package/dist/goal/types.d.ts +0 -98
  287. package/dist/goal/types.d.ts.map +0 -1
  288. package/dist/goal/types.js +0 -7
  289. package/dist/goal/types.js.map +0 -1
  290. package/dist/gpu.d.ts +0 -137
  291. package/dist/gpu.d.ts.map +0 -1
  292. package/dist/gpu.js +0 -166
  293. package/dist/gpu.js.map +0 -1
  294. package/dist/guardrails.d.ts +0 -182
  295. package/dist/guardrails.d.ts.map +0 -1
  296. package/dist/guardrails.js +0 -277
  297. package/dist/guardrails.js.map +0 -1
  298. package/dist/guilds.d.ts +0 -158
  299. package/dist/guilds.d.ts.map +0 -1
  300. package/dist/guilds.js +0 -205
  301. package/dist/guilds.js.map +0 -1
  302. package/dist/heartbeat.d.ts +0 -43
  303. package/dist/heartbeat.d.ts.map +0 -1
  304. package/dist/heartbeat.js +0 -72
  305. package/dist/heartbeat.js.map +0 -1
  306. package/dist/hooks.d.ts +0 -172
  307. package/dist/hooks.d.ts.map +0 -1
  308. package/dist/hooks.js +0 -91
  309. package/dist/hooks.js.map +0 -1
  310. package/dist/identity.d.ts +0 -112
  311. package/dist/identity.d.ts.map +0 -1
  312. package/dist/identity.js +0 -126
  313. package/dist/identity.js.map +0 -1
  314. package/dist/inbox.d.ts +0 -77
  315. package/dist/inbox.d.ts.map +0 -1
  316. package/dist/inbox.js +0 -98
  317. package/dist/inbox.js.map +0 -1
  318. package/dist/index.d.ts +0 -329
  319. package/dist/index.d.ts.map +0 -1
  320. package/dist/index.js +0 -366
  321. package/dist/index.js.map +0 -1
  322. package/dist/insights.d.ts +0 -166
  323. package/dist/insights.d.ts.map +0 -1
  324. package/dist/insights.js +0 -100
  325. package/dist/insights.js.map +0 -1
  326. package/dist/intents.d.ts +0 -132
  327. package/dist/intents.d.ts.map +0 -1
  328. package/dist/intents.js +0 -81
  329. package/dist/intents.js.map +0 -1
  330. package/dist/knowledgeContext.d.ts +0 -68
  331. package/dist/knowledgeContext.d.ts.map +0 -1
  332. package/dist/knowledgeContext.js +0 -109
  333. package/dist/knowledgeContext.js.map +0 -1
  334. package/dist/leaderboard.d.ts +0 -30
  335. package/dist/leaderboard.d.ts.map +0 -1
  336. package/dist/leaderboard.js +0 -34
  337. package/dist/leaderboard.js.map +0 -1
  338. package/dist/loadProfile.d.ts +0 -100
  339. package/dist/loadProfile.d.ts.map +0 -1
  340. package/dist/loadProfile.js +0 -221
  341. package/dist/loadProfile.js.map +0 -1
  342. package/dist/manifest.d.ts +0 -127
  343. package/dist/manifest.d.ts.map +0 -1
  344. package/dist/manifest.js +0 -123
  345. package/dist/manifest.js.map +0 -1
  346. package/dist/manifestActivationHook.d.ts +0 -72
  347. package/dist/manifestActivationHook.d.ts.map +0 -1
  348. package/dist/manifestActivationHook.js +0 -180
  349. package/dist/manifestActivationHook.js.map +0 -1
  350. package/dist/marketplace.d.ts +0 -156
  351. package/dist/marketplace.d.ts.map +0 -1
  352. package/dist/marketplace.js +0 -215
  353. package/dist/marketplace.js.map +0 -1
  354. package/dist/matching.d.ts +0 -192
  355. package/dist/matching.d.ts.map +0 -1
  356. package/dist/matching.js +0 -138
  357. package/dist/matching.js.map +0 -1
  358. package/dist/memory.d.ts +0 -287
  359. package/dist/memory.d.ts.map +0 -1
  360. package/dist/memory.js +0 -379
  361. package/dist/memory.js.map +0 -1
  362. package/dist/mining.d.ts +0 -155
  363. package/dist/mining.d.ts.map +0 -1
  364. package/dist/mining.js +0 -365
  365. package/dist/mining.js.map +0 -1
  366. package/dist/oracle.d.ts +0 -30
  367. package/dist/oracle.d.ts.map +0 -1
  368. package/dist/oracle.js +0 -31
  369. package/dist/oracle.js.map +0 -1
  370. package/dist/policies.d.ts +0 -132
  371. package/dist/policies.d.ts.map +0 -1
  372. package/dist/policies.js +0 -62
  373. package/dist/policies.js.map +0 -1
  374. package/dist/presetLoader.d.ts +0 -130
  375. package/dist/presetLoader.d.ts.map +0 -1
  376. package/dist/presetLoader.js +0 -734
  377. package/dist/presetLoader.js.map +0 -1
  378. package/dist/proactive.d.ts +0 -197
  379. package/dist/proactive.d.ts.map +0 -1
  380. package/dist/proactive.js +0 -229
  381. package/dist/proactive.js.map +0 -1
  382. package/dist/projects.d.ts +0 -307
  383. package/dist/projects.d.ts.map +0 -1
  384. package/dist/projects.js +0 -438
  385. package/dist/projects.js.map +0 -1
  386. package/dist/querySegmentation.d.ts +0 -54
  387. package/dist/querySegmentation.d.ts.map +0 -1
  388. package/dist/querySegmentation.js +0 -80
  389. package/dist/querySegmentation.js.map +0 -1
  390. package/dist/sandbox.d.ts +0 -156
  391. package/dist/sandbox.d.ts.map +0 -1
  392. package/dist/sandbox.js +0 -425
  393. package/dist/sandbox.js.map +0 -1
  394. package/dist/signalActionMap.d.ts +0 -59
  395. package/dist/signalActionMap.d.ts.map +0 -1
  396. package/dist/signalActionMap.js +0 -305
  397. package/dist/signalActionMap.js.map +0 -1
  398. package/dist/signing.d.ts +0 -94
  399. package/dist/signing.d.ts.map +0 -1
  400. package/dist/signing.js +0 -158
  401. package/dist/signing.js.map +0 -1
  402. package/dist/social.d.ts +0 -176
  403. package/dist/social.d.ts.map +0 -1
  404. package/dist/social.js +0 -232
  405. package/dist/social.js.map +0 -1
  406. package/dist/specialization.d.ts +0 -108
  407. package/dist/specialization.d.ts.map +0 -1
  408. package/dist/specialization.js +0 -104
  409. package/dist/specialization.js.map +0 -1
  410. package/dist/swarms.d.ts +0 -119
  411. package/dist/swarms.d.ts.map +0 -1
  412. package/dist/swarms.js +0 -103
  413. package/dist/swarms.js.map +0 -1
  414. package/dist/teaching.d.ts +0 -171
  415. package/dist/teaching.d.ts.map +0 -1
  416. package/dist/teaching.js +0 -87
  417. package/dist/teaching.js.map +0 -1
  418. package/dist/tools.d.ts +0 -223
  419. package/dist/tools.d.ts.map +0 -1
  420. package/dist/tools.js +0 -325
  421. package/dist/tools.js.map +0 -1
  422. package/dist/treasury-ops.d.ts +0 -101
  423. package/dist/treasury-ops.d.ts.map +0 -1
  424. package/dist/treasury-ops.js +0 -59
  425. package/dist/treasury-ops.js.map +0 -1
  426. package/dist/types.d.ts +0 -1193
  427. package/dist/types.d.ts.map +0 -1
  428. package/dist/types.js +0 -7
  429. package/dist/types.js.map +0 -1
  430. package/dist/wakeUpStack.d.ts +0 -94
  431. package/dist/wakeUpStack.d.ts.map +0 -1
  432. package/dist/wakeUpStack.js +0 -215
  433. package/dist/wakeUpStack.js.map +0 -1
  434. package/dist/workspace.d.ts +0 -318
  435. package/dist/workspace.d.ts.map +0 -1
  436. package/dist/workspace.js +0 -207
  437. package/dist/workspace.js.map +0 -1
  438. package/dist/xmtp.d.ts +0 -85
  439. package/dist/xmtp.d.ts.map +0 -1
  440. package/dist/xmtp.js +0 -250
  441. package/dist/xmtp.js.map +0 -1
@@ -1,613 +0,0 @@
1
- /**
2
- * ChatEngine — Central conversational brain for multi-terminal agents.
3
- *
4
- * Loads the agent's soul document, builds personality-driven system prompts,
5
- * recalls memory context, runs an agentic tool-use loop, and stores
6
- * conversation history. All terminals (stdin, Telegram, Discord, OpenClaw)
7
- * call `engine.chat(message, context)` and get back a response.
8
- *
9
- * @module chat/chatEngine
10
- */
11
- import { readFile } from "node:fs/promises";
12
- import { ACTION_CATALOG, formatActionsForPrompt, getCategoryListing, getToolsInCategory, } from "../actionCatalog.js";
13
- import { UNTRUSTED_CONTENT_INSTRUCTION } from "../contentSafety.js";
14
- import { hooks as defaultHooks } from "../hooks.js";
15
- import { BasicConversationMemory, CompactionMemory, } from "../conversation/index.js";
16
- // ── Chat Actions (subset of CORE_ACTIONS suitable for conversations) ──
17
- const CHAT_ACTIONS = [
18
- // Discovery & knowledge
19
- "search_knowledge", "recall_memory", "store_memory", "read_feed",
20
- "find_agents", "discover", "leaderboard",
21
- // Communication
22
- "send_dm", "send_channel_message",
23
- // Identity
24
- "my_profile", "check_balance", "check_reputation",
25
- // Content
26
- "publish_insight", "post_content", "comment_on_content",
27
- // Social
28
- "follow", "vote",
29
- // Building
30
- "create_project", "commit_files", "list_project_files", "read_project_file",
31
- // Coordination
32
- "available_subtasks", "claim_subtask",
33
- // Meta
34
- "browse_tools",
35
- ];
36
- // ── ChatEngine ───────────────────────────────────────────────
37
- export class ChatEngine {
38
- runtime;
39
- options;
40
- soul = null;
41
- conversationHistories = new Map();
42
- loadedCategories = new Set();
43
- compactionConfig;
44
- constructor(runtime, options = {}) {
45
- this.runtime = runtime;
46
- this.options = {
47
- generateResponse: options.generateResponse,
48
- model: options.model ?? "claude-sonnet-4-20250514",
49
- provider: options.provider ?? "nookplot",
50
- temperature: options.temperature ?? 0.7,
51
- maxTokens: options.maxTokens ?? 1024,
52
- soulPath: options.soulPath ?? "./soul.json",
53
- enableMemory: options.enableMemory ?? true,
54
- enableTools: options.enableTools ?? true,
55
- maxToolCalls: options.maxToolCalls ?? 5,
56
- verbose: options.verbose ?? false,
57
- };
58
- this.compactionConfig = options.compaction;
59
- }
60
- /**
61
- * Construct the per-session memory implementation. Defaults to
62
- * `BasicConversationMemory` with the legacy 20-message cap so existing
63
- * callers see no behavior change. Provide `options.compaction` to swap in
64
- * `CompactionMemory`.
65
- */
66
- makeMemory(sessionKey) {
67
- if (this.compactionConfig) {
68
- const hooksRef = this.runtime.hooks ?? defaultHooks;
69
- return new CompactionMemory({
70
- ...this.compactionConfig,
71
- sessionId: sessionKey,
72
- hooks: this.compactionConfig.hooks ?? hooksRef,
73
- });
74
- }
75
- return new BasicConversationMemory({ sessionId: sessionKey, maxMessages: 20 });
76
- }
77
- /** Agent display name (from soul or fallback). */
78
- get agentName() {
79
- return this.soul?.name ?? "Agent";
80
- }
81
- // ── Soul Loading ─────────────────────────────────────────
82
- /**
83
- * Load soul document from a local JSON file.
84
- * Extracts identity, personality, and purpose for the system prompt.
85
- */
86
- async loadSoul(soulPath) {
87
- const path = soulPath ?? this.options.soulPath;
88
- try {
89
- const raw = await readFile(path, "utf-8");
90
- const doc = JSON.parse(raw);
91
- this.soul = {
92
- name: doc.identity?.name ?? "Agent",
93
- tagline: doc.identity?.tagline,
94
- description: doc.identity?.description,
95
- traits: doc.personality?.traits,
96
- communicationStyle: doc.personality?.communication?.style,
97
- communicationTone: doc.personality?.communication?.tone,
98
- verbosity: doc.personality?.communication?.verbosity,
99
- quirks: doc.personality?.quirks,
100
- additionalInstructions: typeof doc.personality?.additional_instructions === "string"
101
- ? doc.personality.additional_instructions.slice(0, 2000)
102
- : undefined,
103
- mission: doc.purpose?.mission ?? "Be helpful and conversational.",
104
- domains: doc.purpose?.domains,
105
- goals: doc.purpose?.goals,
106
- boundaries: doc.autonomy?.boundaries,
107
- };
108
- if (this.options.verbose) {
109
- console.log(`[chat] Loaded soul: ${this.soul.name} — "${this.soul.tagline ?? this.soul.mission}"`);
110
- }
111
- }
112
- catch {
113
- if (this.options.verbose) {
114
- console.log(`[chat] No soul.json found at ${path} — using defaults`);
115
- }
116
- this.soul = {
117
- name: "Agent",
118
- mission: "Be helpful and conversational.",
119
- };
120
- }
121
- }
122
- // ── Intelligence Check ──────────────────────────────────
123
- /**
124
- * Check if this agent has a working inference source configured.
125
- *
126
- * Call this at boot to detect the agent's intelligence status and show
127
- * onboarding guidance. Returns structured status with earning projections.
128
- */
129
- async checkIntelligence() {
130
- const messages = [];
131
- // Path 1: Custom generateResponse callback (local Ollama, etc.)
132
- if (this.options.generateResponse) {
133
- messages.push("Intelligence: custom callback configured (local/external LLM).");
134
- messages.push("Credit cost: zero (you provide your own compute).");
135
- return {
136
- ready: true,
137
- source: "local",
138
- model: this.options.model,
139
- messages,
140
- };
141
- }
142
- // Path 2-4: Gateway-mediated inference — check credits/subscription/BYOK
143
- try {
144
- const balance = await this.runtime.economy.getBalance();
145
- const credits = balance.credits.available;
146
- // Check BYOK keys
147
- let hasByok = false;
148
- try {
149
- const byokResult = await this.runtime.connection.request("GET", "/v1/byok");
150
- hasByok = (byokResult.providers?.length ?? 0) > 0;
151
- }
152
- catch {
153
- // BYOK check failed — proceed without it
154
- }
155
- // Check subscription status
156
- let plan = "free";
157
- let inferenceTokensRemaining = 0;
158
- try {
159
- const subResult = await this.runtime.connection.request("GET", "/v1/subscriptions/status");
160
- plan = subResult.plan;
161
- inferenceTokensRemaining = subResult.inferenceTokensRemaining;
162
- }
163
- catch {
164
- // No subscription info — treat as free
165
- }
166
- // Estimate conversations remaining
167
- const conversationsRemaining = credits > 0
168
- ? Math.floor(credits / this.estimateCreditCostPerConversation())
169
- : 0;
170
- // Earning potential: conservative estimate from mining
171
- const miningPerDay = 15_000; // ~15K credits/day from Tier 1+2 mining
172
- const dailyCost = this.estimateDailyCost();
173
- const breakEvenDays = dailyCost > 0 ? Math.ceil(miningPerDay > 0 ? dailyCost / miningPerDay : Infinity) : 0;
174
- // Determine status
175
- if (plan !== "free" && inferenceTokensRemaining > 0) {
176
- // Has an active subscription with tokens
177
- const daysAtCurrentRate = dailyCost > 0 ? Math.floor(credits / dailyCost) : 999;
178
- messages.push(`Intelligence: ${plan} subscription active.`);
179
- messages.push(`Credits: ${credits.toLocaleString()} (≈${conversationsRemaining} conversations remaining)`);
180
- messages.push(`Inference tokens: ${inferenceTokensRemaining.toLocaleString()} remaining this month`);
181
- if (daysAtCurrentRate < 30) {
182
- messages.push(`⚠ At current usage, credits last ~${daysAtCurrentRate} days. Consider mining to earn more.`);
183
- }
184
- messages.push(`Earning potential: ~${miningPerDay.toLocaleString()} credits/day from mining.`);
185
- if (breakEvenDays > 0) {
186
- messages.push(`Break-even: ~${breakEvenDays} days of active mining.`);
187
- }
188
- return {
189
- ready: true,
190
- source: "subscription",
191
- provider: this.options.provider,
192
- model: this.options.model,
193
- creditsRemaining: credits,
194
- conversationsRemaining,
195
- plan,
196
- estimatedDaysRemaining: daysAtCurrentRate,
197
- earningPotential: {
198
- miningPerDay,
199
- breakEvenDays,
200
- selfSustainingAfterDays: breakEvenDays * 2,
201
- },
202
- messages,
203
- };
204
- }
205
- if (hasByok) {
206
- messages.push("Intelligence: BYOK key configured (you pay the provider directly).");
207
- messages.push(`Credits: ${credits.toLocaleString()} (used for gateway proxy fee, minimal).`);
208
- messages.push("Earning potential: ~15K credits/day from mining — net positive from day 1.");
209
- return {
210
- ready: true,
211
- source: "byok",
212
- provider: this.options.provider,
213
- model: this.options.model,
214
- creditsRemaining: credits,
215
- conversationsRemaining: credits > 0 ? 99999 : 0, // BYOK has minimal credit cost
216
- earningPotential: {
217
- miningPerDay,
218
- breakEvenDays: 1,
219
- selfSustainingAfterDays: 1,
220
- },
221
- messages,
222
- };
223
- }
224
- if (credits > 0) {
225
- // Has credits but no subscription — can still use inference via credits
226
- messages.push(`Intelligence: pay-per-use (${credits.toLocaleString()} credits available).`);
227
- messages.push(`≈${conversationsRemaining} conversations remaining at current credit balance.`);
228
- messages.push("");
229
- messages.push("To extend your agent's lifespan:");
230
- messages.push(" • Subscribe: nookplot subscribe starter (75K credits/month)");
231
- messages.push(" • Add key: nookplot byok add openrouter <key>");
232
- messages.push(" • Mine: your agent earns ~15K credits/day from mining challenges");
233
- return {
234
- ready: true,
235
- source: "credits",
236
- provider: this.options.provider,
237
- model: this.options.model,
238
- creditsRemaining: credits,
239
- conversationsRemaining,
240
- plan: "pay-per-use",
241
- estimatedDaysRemaining: dailyCost > 0 ? Math.floor(credits / dailyCost) : 999,
242
- earningPotential: {
243
- miningPerDay,
244
- breakEvenDays: dailyCost > 0 ? Math.ceil(dailyCost / miningPerDay) : 0,
245
- selfSustainingAfterDays: dailyCost > 0 ? Math.ceil((dailyCost / miningPerDay) * 2) : 0,
246
- },
247
- messages,
248
- };
249
- }
250
- // No intelligence source configured
251
- messages.push("⚠ No inference configured. Your agent has knowledge but cannot think.");
252
- messages.push("");
253
- messages.push("Choose an intelligence source:");
254
- messages.push(" 1. Subscribe (nookplot inference)");
255
- messages.push(" nookplot subscribe starter — 75K credits/month, ≈380 Sonnet conversations");
256
- messages.push(" nookplot subscribe builder — 500K credits/month, ≈2,500 conversations");
257
- messages.push(" nookplot subscribe pro — 2.5M credits/month, ≈12,500 conversations");
258
- messages.push("");
259
- messages.push(" 2. BYOK (bring your own API key)");
260
- messages.push(" nookplot byok add openrouter <key> — use any model via OpenRouter");
261
- messages.push(" nookplot byok add anthropic <key> — direct Anthropic access");
262
- messages.push(" nookplot byok add ollama http://localhost:11434 — local model, zero cost");
263
- messages.push("");
264
- messages.push(" 3. Local model (Ollama)");
265
- messages.push(" Set NOOKPLOT_LLM_PROVIDER=ollama and NOOKPLOT_OLLAMA_URL=http://localhost:11434 in .env");
266
- messages.push(" Or pass { provider: \"ollama\", model: \"llama3.3:70b\" } to ChatEngine");
267
- messages.push("");
268
- messages.push(" 4. Custom callback");
269
- messages.push(" Pass { generateResponse: yourFunction } to ChatEngine constructor");
270
- messages.push("");
271
- messages.push("Your agent can earn its own inference costs:");
272
- messages.push(" • Mining challenges: ~15,000 credits/day");
273
- messages.push(" • Bounty completion: variable (10K-500K per bounty)");
274
- messages.push(" • Service listings: set your own price");
275
- messages.push(` • Break-even: ~${breakEvenDays > 0 ? breakEvenDays : 3} days of mining to cover Starter plan`);
276
- return {
277
- ready: false,
278
- source: "none",
279
- creditsRemaining: 0,
280
- conversationsRemaining: 0,
281
- earningPotential: {
282
- miningPerDay,
283
- breakEvenDays: breakEvenDays > 0 ? breakEvenDays : 3,
284
- selfSustainingAfterDays: breakEvenDays > 0 ? breakEvenDays * 2 : 6,
285
- },
286
- messages,
287
- };
288
- }
289
- catch {
290
- // Can't reach gateway — likely offline or misconfigured
291
- messages.push("⚠ Cannot reach gateway to check intelligence status.");
292
- messages.push("If using a local model, pass { generateResponse: fn } to ChatEngine.");
293
- return {
294
- ready: false,
295
- source: "none",
296
- messages,
297
- };
298
- }
299
- }
300
- /** Rough credit cost per conversation for current model. */
301
- estimateCreditCostPerConversation() {
302
- // Credits per million tokens × estimated tokens per conversation
303
- // Average: ~2000 prompt + ~500 completion tokens
304
- const modelCosts = {
305
- "claude-sonnet-4-20250514": 197, // ~19700/M * 2500 tokens + 98500/M * 500 tokens ≈ 197
306
- "claude-haiku-4-5-20251001": 26,
307
- "gpt-4o": 74,
308
- "gpt-4o-mini": 4,
309
- };
310
- return modelCosts[this.options.model] ?? 100; // conservative default
311
- }
312
- /** Estimated daily credit cost (assuming ~50 conversations/day). */
313
- estimateDailyCost() {
314
- return this.estimateCreditCostPerConversation() * 50;
315
- }
316
- // ── Core Chat Method ─────────────────────────────────────
317
- /**
318
- * Process a user message and return the agent's response.
319
- *
320
- * Runs an agentic loop: build prompt → call LLM → if tool call → execute → feed back → repeat.
321
- * Max iterations controlled by `maxToolCalls`.
322
- */
323
- async chat(message, context) {
324
- // Ensure soul is loaded
325
- if (!this.soul) {
326
- await this.loadSoul();
327
- }
328
- // 1. Recall memory context
329
- let memoryContext = "";
330
- if (this.options.enableMemory) {
331
- try {
332
- const result = await this.runtime.memory.recall(message, { limit: 5 });
333
- const memories = result;
334
- if (Array.isArray(memories) && memories.length > 0) {
335
- memoryContext = memories.map((m) => m.content).join("\n---\n");
336
- }
337
- }
338
- catch {
339
- // Memory recall failure shouldn't block the response
340
- }
341
- }
342
- // 2. Build system prompt
343
- const systemPrompt = this.buildSystemPrompt(memoryContext, context);
344
- // 3. Get per-session conversation memory (isolate concurrent users)
345
- const sessionKey = context?.senderId ?? "__default__";
346
- if (!this.conversationHistories.has(sessionKey)) {
347
- this.conversationHistories.set(sessionKey, this.makeMemory(sessionKey));
348
- }
349
- const memory = this.conversationHistories.get(sessionKey);
350
- // Add user message — memory implementation enforces its own cap/compaction.
351
- await memory.addMessage({ role: "user", content: message });
352
- // 4. Agentic loop
353
- let finalResponse = "";
354
- let toolCallCount = 0;
355
- while (toolCallCount <= this.options.maxToolCalls) {
356
- // Build messages for LLM
357
- const messages = [
358
- { role: "system", content: systemPrompt },
359
- ...memory.getContext(),
360
- ];
361
- // Call LLM
362
- const response = await this.callLLM(messages);
363
- // Check if response contains a tool call
364
- const actionMatch = response.match(/ACTION:\s*(\S+)/i);
365
- if (actionMatch && this.options.enableTools && toolCallCount < this.options.maxToolCalls) {
366
- const actionType = actionMatch[1].toLowerCase();
367
- // Parse params
368
- let payload = {};
369
- const paramsMatch = response.match(/PARAMS:\s*(\{[\s\S]*\})/i);
370
- if (paramsMatch) {
371
- try {
372
- payload = JSON.parse(paramsMatch[1]);
373
- }
374
- catch {
375
- if (this.options.verbose)
376
- console.log("[chat] Failed to parse PARAMS JSON");
377
- }
378
- }
379
- if (this.options.verbose) {
380
- console.log(`[chat] Tool call #${toolCallCount + 1}: ${actionType}`);
381
- }
382
- // Execute tool
383
- const toolResult = await this.executeTool(actionType, payload);
384
- // Record assistant response + tool result. The legacy convention is to
385
- // emit the tool result back as a `user` message (the chat path uses
386
- // string-parsed pseudo tool calls, not structured `toolCalls[]`). We
387
- // preserve that wire shape so existing prompts keep working — agents
388
- // using structured tool calls drive `addMessage` themselves.
389
- await memory.addMessage({ role: "assistant", content: response });
390
- await memory.addMessage({
391
- role: "user",
392
- content: `[Tool Result for ${actionType}]:\n${toolResult}`,
393
- });
394
- toolCallCount++;
395
- continue;
396
- }
397
- // No tool call — this is the final response
398
- // Strip any ACTION/PARAMS artifacts if present but tools disabled
399
- finalResponse = response.replace(/ACTION:\s*\S+\s*\n?/i, "").replace(/PARAMS:\s*\{[\s\S]*\}\s*/i, "").trim();
400
- if (!finalResponse)
401
- finalResponse = response.trim();
402
- break;
403
- }
404
- // 5. Add assistant response to conversation memory
405
- await memory.addMessage({ role: "assistant", content: finalResponse });
406
- // 6. Notify subscribers — observability + episodic-memory hook (fire-and-forget)
407
- // NOTE: emit fires regardless of `enableMemory`. The episodic-memory write
408
- // that used to live here is now installed by `installEpisodicMemoryHook`
409
- // (auto-installed by NookplotRuntime.connect()). The hook itself respects
410
- // `enableMemory` semantics — see episodicMemoryHook.ts.
411
- // TODO(compaction-phase-followup): gateway/src/routes/agentChat.ts:242
412
- // has a near-identical episodic write at the gateway boundary. Sharing a
413
- // single hook across the runtime/gateway split requires publishing this
414
- // package and importing it from gateway/ — out of scope for Phase 1.
415
- {
416
- const platform = context?.platform ?? "unknown";
417
- const sender = context?.senderName ?? context?.senderId ?? "user";
418
- const hooks = this.runtime.hooks ?? defaultHooks;
419
- hooks.emitFireAndForget("chat_turn_complete", {
420
- sender,
421
- platform,
422
- message,
423
- response: finalResponse,
424
- toolsUsed: toolCallCount > 0,
425
- toolCallCount,
426
- senderId: context?.senderId ?? null,
427
- channelId: context?.channelId ?? null,
428
- agentName: this.agentName,
429
- enableMemory: this.options.enableMemory,
430
- });
431
- }
432
- return finalResponse;
433
- }
434
- /** Clear conversation history (e.g. on platform switch or reset). */
435
- clearHistory(senderId) {
436
- if (senderId) {
437
- this.conversationHistories.delete(senderId);
438
- }
439
- else {
440
- this.conversationHistories.clear();
441
- }
442
- this.loadedCategories.clear();
443
- }
444
- // ── Private Methods ──────────────────────────────────────
445
- /**
446
- * Build the system prompt from soul document + memory context + tool list.
447
- */
448
- buildSystemPrompt(memoryContext, context) {
449
- const parts = [];
450
- // Soul identity
451
- if (this.soul) {
452
- parts.push(`You are ${this.soul.name}.`);
453
- if (this.soul.tagline)
454
- parts.push(this.soul.tagline);
455
- if (this.soul.description)
456
- parts.push(this.soul.description);
457
- parts.push("");
458
- // Mission
459
- parts.push(`Mission: ${this.soul.mission}`);
460
- if (this.soul.domains?.length) {
461
- parts.push(`Domains: ${this.soul.domains.join(", ")}`);
462
- }
463
- if (this.soul.goals?.length) {
464
- parts.push(`Goals: ${this.soul.goals.join("; ")}`);
465
- }
466
- parts.push("");
467
- // Personality
468
- if (this.soul.traits?.length) {
469
- parts.push(`Personality traits: ${this.soul.traits.join(", ")}`);
470
- }
471
- if (this.soul.communicationStyle) {
472
- parts.push(`Communication style: ${this.soul.communicationStyle}`);
473
- }
474
- if (this.soul.communicationTone) {
475
- parts.push(`Tone: ${this.soul.communicationTone}`);
476
- }
477
- if (this.soul.verbosity) {
478
- parts.push(`Verbosity: ${this.soul.verbosity}`);
479
- }
480
- if (this.soul.quirks?.length) {
481
- parts.push(`Quirks: ${this.soul.quirks.join("; ")}`);
482
- }
483
- if (this.soul.additionalInstructions) {
484
- parts.push("");
485
- parts.push("Additional persona guidance from your operator:");
486
- parts.push(this.soul.additionalInstructions);
487
- }
488
- parts.push("");
489
- // Boundaries
490
- if (this.soul.boundaries?.length) {
491
- parts.push(`Boundaries: ${this.soul.boundaries.join("; ")}`);
492
- }
493
- }
494
- // Platform context
495
- if (context?.platform) {
496
- parts.push(`You are chatting on ${context.platform}.`);
497
- }
498
- // Memory context
499
- if (memoryContext) {
500
- parts.push("");
501
- parts.push("Relevant memories from previous conversations:");
502
- parts.push(memoryContext);
503
- }
504
- // Tool instructions
505
- if (this.options.enableTools) {
506
- parts.push("");
507
- parts.push(UNTRUSTED_CONTENT_INSTRUCTION);
508
- parts.push("");
509
- parts.push("You have access to Nookplot tools. To use one, respond ONLY with:");
510
- parts.push("ACTION: <tool_name>");
511
- parts.push("PARAMS: <json object>");
512
- parts.push("");
513
- parts.push("Do NOT mix tool calls with regular text. If you need to use a tool, respond with ONLY the ACTION/PARAMS block. After seeing the tool result, you can then respond with text.");
514
- parts.push("");
515
- // Build available actions list
516
- const availableActions = this.getAvailableActions();
517
- parts.push("Available tools:");
518
- parts.push(formatActionsForPrompt(availableActions));
519
- parts.push("");
520
- parts.push("If you don't need a tool, just respond normally with text.");
521
- }
522
- return parts.join("\n");
523
- }
524
- /**
525
- * Get the current set of available actions (core + dynamically loaded categories).
526
- */
527
- getAvailableActions() {
528
- const actions = new Set(CHAT_ACTIONS);
529
- // Add dynamically loaded category tools
530
- for (const category of this.loadedCategories) {
531
- const tools = getToolsInCategory(category);
532
- for (const toolName of tools) {
533
- actions.add(toolName);
534
- }
535
- }
536
- return Array.from(actions);
537
- }
538
- /**
539
- * Call the LLM — via user-provided function or runtime.economy.inference().
540
- */
541
- async callLLM(messages) {
542
- if (this.options.generateResponse) {
543
- return this.options.generateResponse(messages);
544
- }
545
- const result = await this.runtime.economy.inference(messages, {
546
- model: this.options.model,
547
- provider: this.options.provider,
548
- temperature: this.options.temperature,
549
- maxTokens: this.options.maxTokens,
550
- });
551
- return result.content;
552
- }
553
- /**
554
- * Execute a tool via the gateway's unified dispatch pipeline.
555
- *
556
- * Same flow as AutonomousAgent.handleActionRequest():
557
- * - browse_tools → local category expansion
558
- * - POST /v1/actions/execute → completed | sign_required | error
559
- */
560
- async executeTool(actionType, payload) {
561
- try {
562
- // browse_tools is handled locally
563
- if (actionType === "browse_tools") {
564
- const category = payload.category;
565
- if (!category) {
566
- const listing = getCategoryListing();
567
- return `Available tool categories:\n${listing.map((c) => `- ${c.name} (${c.count} tools)`).join("\n")}\n\nUse browse_tools with a category to load those tools.`;
568
- }
569
- this.loadedCategories.add(category);
570
- const tools = getToolsInCategory(category);
571
- const toolDescriptions = tools.map((toolName) => {
572
- const info = ACTION_CATALOG[toolName];
573
- return info ? `- ${toolName}: ${info.description}` : `- ${toolName}`;
574
- });
575
- return `Loaded ${tools.length} tools from "${category}":\n${toolDescriptions.join("\n")}`;
576
- }
577
- // Unified dispatch via gateway
578
- const toolName = `nookplot_${actionType}`;
579
- const dispatchResult = await this.runtime.connection.request("POST", "/v1/actions/execute", { toolName, payload });
580
- switch (dispatchResult.status) {
581
- case "completed": {
582
- const result = dispatchResult.result ?? {};
583
- return typeof result === "string" ? result : JSON.stringify(result, null, 2);
584
- }
585
- case "sign_required": {
586
- // On-chain action: sign locally + relay
587
- if (!dispatchResult.forwardRequest || !dispatchResult.domain || !dispatchResult.types) {
588
- return `Error: sign_required but missing signing data for ${actionType}`;
589
- }
590
- const privateKey = this.runtime.connection.privateKey;
591
- if (!privateKey) {
592
- return `Error: Cannot sign on-chain transaction — no private key configured.`;
593
- }
594
- const { signForwardRequest } = await import("../signing.js");
595
- const signature = await signForwardRequest(privateKey, dispatchResult.domain, dispatchResult.types, dispatchResult.forwardRequest);
596
- const relayResult = await this.runtime.connection.request("POST", "/v1/relay", { ...dispatchResult.forwardRequest, signature });
597
- return `On-chain transaction submitted. TX hash: ${relayResult.txHash}`;
598
- }
599
- default:
600
- return dispatchResult.error
601
- ? `Error: ${dispatchResult.error}`
602
- : `Unexpected status: ${dispatchResult.status}`;
603
- }
604
- }
605
- catch (err) {
606
- const msg = err instanceof Error ? err.message : String(err);
607
- if (this.options.verbose)
608
- console.error(`[chat] Tool execution failed: ${msg}`);
609
- return `Error executing ${actionType}: ${msg}`;
610
- }
611
- }
612
- }
613
- //# sourceMappingURL=chatEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatEngine.js","sourceRoot":"","sources":["../../src/chat/chatEngine.ts"],"names":[],"mappings":"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"}