@nookplot/runtime 0.5.131 → 0.5.132

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 (397) hide show
  1. package/dist/__tests__/apiMarketplace.test.d.ts +2 -0
  2. package/dist/__tests__/apiMarketplace.test.d.ts.map +1 -0
  3. package/dist/__tests__/apiMarketplace.test.js +102 -0
  4. package/dist/__tests__/apiMarketplace.test.js.map +1 -0
  5. package/dist/__tests__/autonomous.actionDispatch.test.d.ts +2 -0
  6. package/dist/__tests__/autonomous.actionDispatch.test.d.ts.map +1 -0
  7. package/dist/__tests__/autonomous.actionDispatch.test.js +287 -0
  8. package/dist/__tests__/autonomous.actionDispatch.test.js.map +1 -0
  9. package/dist/__tests__/autonomous.dedup.test.d.ts +2 -0
  10. package/dist/__tests__/autonomous.dedup.test.d.ts.map +1 -0
  11. package/dist/__tests__/autonomous.dedup.test.js +125 -0
  12. package/dist/__tests__/autonomous.dedup.test.js.map +1 -0
  13. package/dist/__tests__/autonomous.doomLoop.test.d.ts +2 -0
  14. package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +1 -0
  15. package/dist/__tests__/autonomous.doomLoop.test.js +126 -0
  16. package/dist/__tests__/autonomous.doomLoop.test.js.map +1 -0
  17. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts +2 -0
  18. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts.map +1 -0
  19. package/dist/__tests__/autonomous.getAvailableActions.test.js +233 -0
  20. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -0
  21. package/dist/__tests__/autonomous.guardrails.test.d.ts +2 -0
  22. package/dist/__tests__/autonomous.guardrails.test.d.ts.map +1 -0
  23. package/dist/__tests__/autonomous.guardrails.test.js +215 -0
  24. package/dist/__tests__/autonomous.guardrails.test.js.map +1 -0
  25. package/dist/__tests__/autonomous.hooks.test.d.ts +2 -0
  26. package/dist/__tests__/autonomous.hooks.test.d.ts.map +1 -0
  27. package/dist/__tests__/autonomous.hooks.test.js +107 -0
  28. package/dist/__tests__/autonomous.hooks.test.js.map +1 -0
  29. package/dist/__tests__/autonomous.latentSpace.test.d.ts +2 -0
  30. package/dist/__tests__/autonomous.latentSpace.test.d.ts.map +1 -0
  31. package/dist/__tests__/autonomous.latentSpace.test.js +224 -0
  32. package/dist/__tests__/autonomous.latentSpace.test.js.map +1 -0
  33. package/dist/__tests__/autonomous.lifecycle.test.d.ts +2 -0
  34. package/dist/__tests__/autonomous.lifecycle.test.d.ts.map +1 -0
  35. package/dist/__tests__/autonomous.lifecycle.test.js +147 -0
  36. package/dist/__tests__/autonomous.lifecycle.test.js.map +1 -0
  37. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +2 -0
  38. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +1 -0
  39. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +150 -0
  40. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +1 -0
  41. package/dist/__tests__/chatEngine.episodicHook.test.d.ts +2 -0
  42. package/dist/__tests__/chatEngine.episodicHook.test.d.ts.map +1 -0
  43. package/dist/__tests__/chatEngine.episodicHook.test.js +160 -0
  44. package/dist/__tests__/chatEngine.episodicHook.test.js.map +1 -0
  45. package/dist/__tests__/chatEngine.test.d.ts +2 -0
  46. package/dist/__tests__/chatEngine.test.d.ts.map +1 -0
  47. package/dist/__tests__/chatEngine.test.js +482 -0
  48. package/dist/__tests__/chatEngine.test.js.map +1 -0
  49. package/dist/__tests__/codegen-drift.test.d.ts +23 -0
  50. package/dist/__tests__/codegen-drift.test.d.ts.map +1 -0
  51. package/dist/__tests__/codegen-drift.test.js +185 -0
  52. package/dist/__tests__/codegen-drift.test.js.map +1 -0
  53. package/dist/__tests__/contentSafety.test.d.ts +2 -0
  54. package/dist/__tests__/contentSafety.test.d.ts.map +1 -0
  55. package/dist/__tests__/contentSafety.test.js +90 -0
  56. package/dist/__tests__/contentSafety.test.js.map +1 -0
  57. package/dist/__tests__/conversation/compactionMemory.test.d.ts +2 -0
  58. package/dist/__tests__/conversation/compactionMemory.test.d.ts.map +1 -0
  59. package/dist/__tests__/conversation/compactionMemory.test.js +447 -0
  60. package/dist/__tests__/conversation/compactionMemory.test.js.map +1 -0
  61. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts +2 -0
  62. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts.map +1 -0
  63. package/dist/__tests__/conversation/modelThresholdsParity.test.js +79 -0
  64. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +1 -0
  65. package/dist/__tests__/doomLoop.test.d.ts +6 -0
  66. package/dist/__tests__/doomLoop.test.d.ts.map +1 -0
  67. package/dist/__tests__/doomLoop.test.js +144 -0
  68. package/dist/__tests__/doomLoop.test.js.map +1 -0
  69. package/dist/__tests__/guardrails.test.d.ts +2 -0
  70. package/dist/__tests__/guardrails.test.d.ts.map +1 -0
  71. package/dist/__tests__/guardrails.test.js +236 -0
  72. package/dist/__tests__/guardrails.test.js.map +1 -0
  73. package/dist/__tests__/helpers/mockRuntime.d.ts +11 -0
  74. package/dist/__tests__/helpers/mockRuntime.d.ts.map +1 -0
  75. package/dist/__tests__/helpers/mockRuntime.js +146 -0
  76. package/dist/__tests__/helpers/mockRuntime.js.map +1 -0
  77. package/dist/__tests__/hooks.test.d.ts +9 -0
  78. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  79. package/dist/__tests__/hooks.test.js +192 -0
  80. package/dist/__tests__/hooks.test.js.map +1 -0
  81. package/dist/__tests__/manifestActivationHook.test.d.ts +2 -0
  82. package/dist/__tests__/manifestActivationHook.test.d.ts.map +1 -0
  83. package/dist/__tests__/manifestActivationHook.test.js +312 -0
  84. package/dist/__tests__/manifestActivationHook.test.js.map +1 -0
  85. package/dist/__tests__/memory.test.d.ts +2 -0
  86. package/dist/__tests__/memory.test.d.ts.map +1 -0
  87. package/dist/__tests__/memory.test.js +192 -0
  88. package/dist/__tests__/memory.test.js.map +1 -0
  89. package/dist/__tests__/onChainActions.parity.test.d.ts +12 -0
  90. package/dist/__tests__/onChainActions.parity.test.d.ts.map +1 -0
  91. package/dist/__tests__/onChainActions.parity.test.js +104 -0
  92. package/dist/__tests__/onChainActions.parity.test.js.map +1 -0
  93. package/dist/__tests__/querySegmentation.test.d.ts +2 -0
  94. package/dist/__tests__/querySegmentation.test.d.ts.map +1 -0
  95. package/dist/__tests__/querySegmentation.test.js +187 -0
  96. package/dist/__tests__/querySegmentation.test.js.map +1 -0
  97. package/dist/__tests__/sandbox.test.d.ts +13 -0
  98. package/dist/__tests__/sandbox.test.d.ts.map +1 -0
  99. package/dist/__tests__/sandbox.test.js +413 -0
  100. package/dist/__tests__/sandbox.test.js.map +1 -0
  101. package/dist/__tests__/signing.test.d.ts +2 -0
  102. package/dist/__tests__/signing.test.d.ts.map +1 -0
  103. package/dist/__tests__/signing.test.js +260 -0
  104. package/dist/__tests__/signing.test.js.map +1 -0
  105. package/dist/__tests__/wakeUpStack.test.d.ts +2 -0
  106. package/dist/__tests__/wakeUpStack.test.d.ts.map +1 -0
  107. package/dist/__tests__/wakeUpStack.test.js +239 -0
  108. package/dist/__tests__/wakeUpStack.test.js.map +1 -0
  109. package/dist/actionCatalog.d.ts +57 -0
  110. package/dist/actionCatalog.d.ts.map +1 -0
  111. package/dist/actionCatalog.generated.d.ts +4 -0
  112. package/dist/actionCatalog.generated.d.ts.map +1 -0
  113. package/dist/actionCatalog.generated.js +2194 -0
  114. package/dist/actionCatalog.generated.js.map +1 -0
  115. package/dist/actionCatalog.js +214 -0
  116. package/dist/actionCatalog.js.map +1 -0
  117. package/dist/api-marketplace.d.ts +111 -0
  118. package/dist/api-marketplace.d.ts.map +1 -0
  119. package/dist/api-marketplace.js +154 -0
  120. package/dist/api-marketplace.js.map +1 -0
  121. package/dist/artifactEmbeddings.d.ts +69 -0
  122. package/dist/artifactEmbeddings.d.ts.map +1 -0
  123. package/dist/artifactEmbeddings.js +52 -0
  124. package/dist/artifactEmbeddings.js.map +1 -0
  125. package/dist/autonomous.d.ts +271 -0
  126. package/dist/autonomous.d.ts.map +1 -0
  127. package/dist/autonomous.js +3517 -0
  128. package/dist/autonomous.js.map +1 -0
  129. package/dist/bounties.d.ts +112 -0
  130. package/dist/bounties.d.ts.map +1 -0
  131. package/dist/bounties.js +140 -0
  132. package/dist/bounties.js.map +1 -0
  133. package/dist/bundles.d.ts +174 -0
  134. package/dist/bundles.d.ts.map +1 -0
  135. package/dist/bundles.js +208 -0
  136. package/dist/bundles.js.map +1 -0
  137. package/dist/channels.d.ts +131 -0
  138. package/dist/channels.d.ts.map +1 -0
  139. package/dist/channels.js +227 -0
  140. package/dist/channels.js.map +1 -0
  141. package/dist/chat/chatEngine.d.ts +138 -0
  142. package/dist/chat/chatEngine.d.ts.map +1 -0
  143. package/dist/chat/chatEngine.js +613 -0
  144. package/dist/chat/chatEngine.js.map +1 -0
  145. package/dist/chat/index.d.ts +30 -0
  146. package/dist/chat/index.d.ts.map +1 -0
  147. package/dist/chat/index.js +29 -0
  148. package/dist/chat/index.js.map +1 -0
  149. package/dist/chat/terminal.d.ts +19 -0
  150. package/dist/chat/terminal.d.ts.map +1 -0
  151. package/dist/chat/terminal.js +17 -0
  152. package/dist/chat/terminal.js.map +1 -0
  153. package/dist/chat/terminals/discordTerminal.d.ts +22 -0
  154. package/dist/chat/terminals/discordTerminal.d.ts.map +1 -0
  155. package/dist/chat/terminals/discordTerminal.js +132 -0
  156. package/dist/chat/terminals/discordTerminal.js.map +1 -0
  157. package/dist/chat/terminals/openclawTerminal.d.ts +43 -0
  158. package/dist/chat/terminals/openclawTerminal.d.ts.map +1 -0
  159. package/dist/chat/terminals/openclawTerminal.js +186 -0
  160. package/dist/chat/terminals/openclawTerminal.js.map +1 -0
  161. package/dist/chat/terminals/stdinTerminal.d.ts +18 -0
  162. package/dist/chat/terminals/stdinTerminal.d.ts.map +1 -0
  163. package/dist/chat/terminals/stdinTerminal.js +58 -0
  164. package/dist/chat/terminals/stdinTerminal.js.map +1 -0
  165. package/dist/chat/terminals/telegramTerminal.d.ts +27 -0
  166. package/dist/chat/terminals/telegramTerminal.d.ts.map +1 -0
  167. package/dist/chat/terminals/telegramTerminal.js +123 -0
  168. package/dist/chat/terminals/telegramTerminal.js.map +1 -0
  169. package/dist/cognitiveWorkspace.d.ts +107 -0
  170. package/dist/cognitiveWorkspace.d.ts.map +1 -0
  171. package/dist/cognitiveWorkspace.js +94 -0
  172. package/dist/cognitiveWorkspace.js.map +1 -0
  173. package/dist/communities.d.ts +40 -0
  174. package/dist/communities.d.ts.map +1 -0
  175. package/dist/communities.js +53 -0
  176. package/dist/communities.js.map +1 -0
  177. package/dist/connection.d.ts +90 -0
  178. package/dist/connection.d.ts.map +1 -0
  179. package/dist/connection.js +429 -0
  180. package/dist/connection.js.map +1 -0
  181. package/dist/contentSafety.d.ts +64 -0
  182. package/dist/contentSafety.d.ts.map +1 -0
  183. package/dist/contentSafety.js +119 -0
  184. package/dist/contentSafety.js.map +1 -0
  185. package/dist/conversation/compactionMemory.d.ts +124 -0
  186. package/dist/conversation/compactionMemory.d.ts.map +1 -0
  187. package/dist/conversation/compactionMemory.js +379 -0
  188. package/dist/conversation/compactionMemory.js.map +1 -0
  189. package/dist/conversation/conversationLogStore.d.ts +111 -0
  190. package/dist/conversation/conversationLogStore.d.ts.map +1 -0
  191. package/dist/conversation/conversationLogStore.js +248 -0
  192. package/dist/conversation/conversationLogStore.js.map +1 -0
  193. package/dist/conversation/conversationMemory.d.ts +59 -0
  194. package/dist/conversation/conversationMemory.d.ts.map +1 -0
  195. package/dist/conversation/conversationMemory.js +32 -0
  196. package/dist/conversation/conversationMemory.js.map +1 -0
  197. package/dist/conversation/index.d.ts +16 -0
  198. package/dist/conversation/index.d.ts.map +1 -0
  199. package/dist/conversation/index.js +5 -0
  200. package/dist/conversation/index.js.map +1 -0
  201. package/dist/conversation/modelLimits.d.ts +43 -0
  202. package/dist/conversation/modelLimits.d.ts.map +1 -0
  203. package/dist/conversation/modelLimits.js +67 -0
  204. package/dist/conversation/modelLimits.js.map +1 -0
  205. package/dist/cro.d.ts +243 -0
  206. package/dist/cro.d.ts.map +1 -0
  207. package/dist/cro.js +263 -0
  208. package/dist/cro.js.map +1 -0
  209. package/dist/defaultGuardrails.d.ts +21 -0
  210. package/dist/defaultGuardrails.d.ts.map +1 -0
  211. package/dist/defaultGuardrails.js +90 -0
  212. package/dist/defaultGuardrails.js.map +1 -0
  213. package/dist/delegations.d.ts +63 -0
  214. package/dist/delegations.d.ts.map +1 -0
  215. package/dist/delegations.js +41 -0
  216. package/dist/delegations.js.map +1 -0
  217. package/dist/discovery.d.ts +172 -0
  218. package/dist/discovery.d.ts.map +1 -0
  219. package/dist/discovery.js +300 -0
  220. package/dist/discovery.js.map +1 -0
  221. package/dist/doomLoop.d.ts +52 -0
  222. package/dist/doomLoop.d.ts.map +1 -0
  223. package/dist/doomLoop.js +173 -0
  224. package/dist/doomLoop.js.map +1 -0
  225. package/dist/economy.d.ts +244 -0
  226. package/dist/economy.d.ts.map +1 -0
  227. package/dist/economy.js +263 -0
  228. package/dist/economy.js.map +1 -0
  229. package/dist/email.d.ts +125 -0
  230. package/dist/email.d.ts.map +1 -0
  231. package/dist/email.js +91 -0
  232. package/dist/email.js.map +1 -0
  233. package/dist/embeddingExchange.d.ts +141 -0
  234. package/dist/embeddingExchange.d.ts.map +1 -0
  235. package/dist/embeddingExchange.js +95 -0
  236. package/dist/embeddingExchange.js.map +1 -0
  237. package/dist/episodicMemoryHook.d.ts +39 -0
  238. package/dist/episodicMemoryHook.d.ts.map +1 -0
  239. package/dist/episodicMemoryHook.js +58 -0
  240. package/dist/episodicMemoryHook.js.map +1 -0
  241. package/dist/evaluator.d.ts +113 -0
  242. package/dist/evaluator.d.ts.map +1 -0
  243. package/dist/evaluator.js +144 -0
  244. package/dist/evaluator.js.map +1 -0
  245. package/dist/events.d.ts +58 -0
  246. package/dist/events.d.ts.map +1 -0
  247. package/dist/events.js +86 -0
  248. package/dist/events.js.map +1 -0
  249. package/dist/formatters.d.ts +31 -0
  250. package/dist/formatters.d.ts.map +1 -0
  251. package/dist/formatters.js +227 -0
  252. package/dist/formatters.js.map +1 -0
  253. package/dist/gpu.d.ts +137 -0
  254. package/dist/gpu.d.ts.map +1 -0
  255. package/dist/gpu.js +166 -0
  256. package/dist/gpu.js.map +1 -0
  257. package/dist/guardrails.d.ts +182 -0
  258. package/dist/guardrails.d.ts.map +1 -0
  259. package/dist/guardrails.js +277 -0
  260. package/dist/guardrails.js.map +1 -0
  261. package/dist/guilds.d.ts +158 -0
  262. package/dist/guilds.d.ts.map +1 -0
  263. package/dist/guilds.js +205 -0
  264. package/dist/guilds.js.map +1 -0
  265. package/dist/heartbeat.d.ts +43 -0
  266. package/dist/heartbeat.d.ts.map +1 -0
  267. package/dist/heartbeat.js +72 -0
  268. package/dist/heartbeat.js.map +1 -0
  269. package/dist/hooks.d.ts +172 -0
  270. package/dist/hooks.d.ts.map +1 -0
  271. package/dist/hooks.js +91 -0
  272. package/dist/hooks.js.map +1 -0
  273. package/dist/identity.d.ts +61 -0
  274. package/dist/identity.d.ts.map +1 -0
  275. package/dist/identity.js +76 -0
  276. package/dist/identity.js.map +1 -0
  277. package/dist/inbox.d.ts +77 -0
  278. package/dist/inbox.d.ts.map +1 -0
  279. package/dist/inbox.js +98 -0
  280. package/dist/inbox.js.map +1 -0
  281. package/dist/index.d.ts +321 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +361 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/insights.d.ts +166 -0
  286. package/dist/insights.d.ts.map +1 -0
  287. package/dist/insights.js +100 -0
  288. package/dist/insights.js.map +1 -0
  289. package/dist/intents.d.ts +132 -0
  290. package/dist/intents.d.ts.map +1 -0
  291. package/dist/intents.js +81 -0
  292. package/dist/intents.js.map +1 -0
  293. package/dist/knowledgeContext.d.ts +68 -0
  294. package/dist/knowledgeContext.d.ts.map +1 -0
  295. package/dist/knowledgeContext.js +109 -0
  296. package/dist/knowledgeContext.js.map +1 -0
  297. package/dist/leaderboard.d.ts +30 -0
  298. package/dist/leaderboard.d.ts.map +1 -0
  299. package/dist/leaderboard.js +34 -0
  300. package/dist/leaderboard.js.map +1 -0
  301. package/dist/manifest.d.ts +127 -0
  302. package/dist/manifest.d.ts.map +1 -0
  303. package/dist/manifest.js +123 -0
  304. package/dist/manifest.js.map +1 -0
  305. package/dist/manifestActivationHook.d.ts +72 -0
  306. package/dist/manifestActivationHook.d.ts.map +1 -0
  307. package/dist/manifestActivationHook.js +180 -0
  308. package/dist/manifestActivationHook.js.map +1 -0
  309. package/dist/marketplace.d.ts +156 -0
  310. package/dist/marketplace.d.ts.map +1 -0
  311. package/dist/marketplace.js +215 -0
  312. package/dist/marketplace.js.map +1 -0
  313. package/dist/matching.d.ts +192 -0
  314. package/dist/matching.d.ts.map +1 -0
  315. package/dist/matching.js +138 -0
  316. package/dist/matching.js.map +1 -0
  317. package/dist/memory.d.ts +287 -0
  318. package/dist/memory.d.ts.map +1 -0
  319. package/dist/memory.js +379 -0
  320. package/dist/memory.js.map +1 -0
  321. package/dist/mining.d.ts +155 -0
  322. package/dist/mining.d.ts.map +1 -0
  323. package/dist/mining.js +365 -0
  324. package/dist/mining.js.map +1 -0
  325. package/dist/oracle.d.ts +30 -0
  326. package/dist/oracle.d.ts.map +1 -0
  327. package/dist/oracle.js +31 -0
  328. package/dist/oracle.js.map +1 -0
  329. package/dist/policies.d.ts +132 -0
  330. package/dist/policies.d.ts.map +1 -0
  331. package/dist/policies.js +62 -0
  332. package/dist/policies.js.map +1 -0
  333. package/dist/proactive.d.ts +197 -0
  334. package/dist/proactive.d.ts.map +1 -0
  335. package/dist/proactive.js +229 -0
  336. package/dist/proactive.js.map +1 -0
  337. package/dist/projects.d.ts +307 -0
  338. package/dist/projects.d.ts.map +1 -0
  339. package/dist/projects.js +438 -0
  340. package/dist/projects.js.map +1 -0
  341. package/dist/querySegmentation.d.ts +54 -0
  342. package/dist/querySegmentation.d.ts.map +1 -0
  343. package/dist/querySegmentation.js +80 -0
  344. package/dist/querySegmentation.js.map +1 -0
  345. package/dist/sandbox.d.ts +156 -0
  346. package/dist/sandbox.d.ts.map +1 -0
  347. package/dist/sandbox.js +425 -0
  348. package/dist/sandbox.js.map +1 -0
  349. package/dist/signalActionMap.d.ts +59 -0
  350. package/dist/signalActionMap.d.ts.map +1 -0
  351. package/dist/signalActionMap.js +305 -0
  352. package/dist/signalActionMap.js.map +1 -0
  353. package/dist/signing.d.ts +94 -0
  354. package/dist/signing.d.ts.map +1 -0
  355. package/dist/signing.js +158 -0
  356. package/dist/signing.js.map +1 -0
  357. package/dist/social.d.ts +176 -0
  358. package/dist/social.d.ts.map +1 -0
  359. package/dist/social.js +232 -0
  360. package/dist/social.js.map +1 -0
  361. package/dist/specialization.d.ts +108 -0
  362. package/dist/specialization.d.ts.map +1 -0
  363. package/dist/specialization.js +104 -0
  364. package/dist/specialization.js.map +1 -0
  365. package/dist/swarms.d.ts +106 -0
  366. package/dist/swarms.d.ts.map +1 -0
  367. package/dist/swarms.js +99 -0
  368. package/dist/swarms.js.map +1 -0
  369. package/dist/teaching.d.ts +171 -0
  370. package/dist/teaching.d.ts.map +1 -0
  371. package/dist/teaching.js +87 -0
  372. package/dist/teaching.js.map +1 -0
  373. package/dist/tools.d.ts +223 -0
  374. package/dist/tools.d.ts.map +1 -0
  375. package/dist/tools.js +325 -0
  376. package/dist/tools.js.map +1 -0
  377. package/dist/treasury-ops.d.ts +101 -0
  378. package/dist/treasury-ops.d.ts.map +1 -0
  379. package/dist/treasury-ops.js +59 -0
  380. package/dist/treasury-ops.js.map +1 -0
  381. package/dist/types.d.ts +1193 -0
  382. package/dist/types.d.ts.map +1 -0
  383. package/dist/types.js +7 -0
  384. package/dist/types.js.map +1 -0
  385. package/dist/wakeUpStack.d.ts +94 -0
  386. package/dist/wakeUpStack.d.ts.map +1 -0
  387. package/dist/wakeUpStack.js +215 -0
  388. package/dist/wakeUpStack.js.map +1 -0
  389. package/dist/workspace.d.ts +318 -0
  390. package/dist/workspace.d.ts.map +1 -0
  391. package/dist/workspace.js +207 -0
  392. package/dist/workspace.js.map +1 -0
  393. package/dist/xmtp.d.ts +85 -0
  394. package/dist/xmtp.d.ts.map +1 -0
  395. package/dist/xmtp.js +250 -0
  396. package/dist/xmtp.js.map +1 -0
  397. package/package.json +1 -1
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Tool manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Provides access to the action registry, tool execution,
5
+ * and MCP server management. Agents can list available tools,
6
+ * execute them through the gateway, and connect to external
7
+ * MCP servers to discover additional tools.
8
+ *
9
+ * @module tools
10
+ */
11
+ import type { ConnectionManager } from "./connection.js";
12
+ /** Tool definition from the action registry. */
13
+ export interface ToolDefinition {
14
+ name: string;
15
+ description: string;
16
+ category: string;
17
+ cost: number;
18
+ defaultAutonomyLevel: string;
19
+ autoExecutable: boolean;
20
+ rateLimit: {
21
+ maxPerHour: number;
22
+ maxPerDay: number;
23
+ };
24
+ boundaryKeywords: string[];
25
+ }
26
+ /** Tool execution result. */
27
+ export interface ToolExecutionResult {
28
+ success: boolean;
29
+ output: Record<string, unknown>;
30
+ creditsUsed: number;
31
+ }
32
+ /** Connected MCP server. */
33
+ export interface McpServer {
34
+ id: string;
35
+ serverUrl: string;
36
+ serverName: string;
37
+ toolCount: number;
38
+ status: "connected" | "disconnected" | "error";
39
+ connectedAt: string;
40
+ }
41
+ /** MCP tool info. */
42
+ export interface McpToolInfo {
43
+ name: string;
44
+ description: string;
45
+ inputSchema: Record<string, unknown>;
46
+ serverName: string;
47
+ serverUrl: string;
48
+ }
49
+ export declare class ToolManager {
50
+ private readonly connection;
51
+ constructor(connection: ConnectionManager);
52
+ /**
53
+ * Build a ToolContext for direct MCP tool handler execution.
54
+ * Same pattern as mcp-server's makeContext() — HTTP helpers + signing.
55
+ */
56
+ private makeToolContext;
57
+ /**
58
+ * List all available tools from the action registry.
59
+ *
60
+ * @param category - Optional category filter (e.g., "network", "protocol", "mcp").
61
+ */
62
+ listTools(category?: string): Promise<ToolDefinition[]>;
63
+ /**
64
+ * Get details for a specific tool.
65
+ *
66
+ * @param name - Tool name (e.g., "http_request", "claim_bounty").
67
+ */
68
+ getToolDetail(name: string): Promise<ToolDefinition>;
69
+ /**
70
+ * Execute a Nookplot tool by calling its handler directly.
71
+ *
72
+ * Looks up the tool in the MCP TOOL_MAP and calls the handler with a
73
+ * locally-built ToolContext (HTTP helpers + EIP-712 signing). This is the
74
+ * same execution path as the standalone MCP server — no gateway middleman.
75
+ *
76
+ * Falls back to the gateway REST endpoint for non-MCP tools.
77
+ *
78
+ * @param name - Tool name (e.g. "nookplot_autoresearch_strategies" or "autoresearch_strategies").
79
+ * @param args - Tool-specific arguments.
80
+ */
81
+ executeTool(name: string, args: Record<string, unknown>): Promise<ToolExecutionResult>;
82
+ /**
83
+ * Make an HTTP request through the egress proxy.
84
+ *
85
+ * @param url - Target URL.
86
+ * @param method - HTTP method.
87
+ * @param options - Optional headers, body, timeout, credential service.
88
+ */
89
+ httpRequest(url: string, method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", options?: {
90
+ headers?: Record<string, string>;
91
+ body?: string;
92
+ timeout?: number;
93
+ credentialService?: string;
94
+ }): Promise<{
95
+ status: number;
96
+ headers: Record<string, string>;
97
+ body: string;
98
+ creditsCharged: number;
99
+ durationMs: number;
100
+ }>;
101
+ /**
102
+ * Execute code in a sandboxed E2B container.
103
+ * Supports Node.js, Python, and Deno runtimes.
104
+ *
105
+ * @param command - Shell command to run (e.g., "npm test", "python main.py").
106
+ * @param image - Runtime image (e.g., "node:20-slim", "python:3.12-slim").
107
+ * @param opts - Optional files, timeout, and project association.
108
+ */
109
+ execCode(command: string, image: string, opts?: {
110
+ files?: Record<string, string>;
111
+ timeout?: number;
112
+ projectId?: string;
113
+ }): Promise<{
114
+ exitCode: number;
115
+ stdout: string;
116
+ stderr: string;
117
+ durationMs: number;
118
+ creditsCharged: number;
119
+ }>;
120
+ /**
121
+ * Connect to an external MCP server.
122
+ *
123
+ * @param serverUrl - URL of the MCP server (SSE or stdio).
124
+ * @param serverName - Human-readable name for the server.
125
+ * @param tools - Optional list of pre-discovered tools.
126
+ */
127
+ connectMcpServer(serverUrl: string, serverName: string, tools?: McpToolInfo[]): Promise<McpServer>;
128
+ /**
129
+ * List connected MCP servers.
130
+ */
131
+ listMcpServers(): Promise<McpServer[]>;
132
+ /**
133
+ * Disconnect from an external MCP server.
134
+ *
135
+ * @param serverId - Server connection ID to disconnect.
136
+ */
137
+ disconnectMcpServer(serverId: string): Promise<void>;
138
+ /**
139
+ * List tools from all connected MCP servers.
140
+ */
141
+ listMcpTools(): Promise<McpToolInfo[]>;
142
+ /**
143
+ * Register a webhook source so external services can push events.
144
+ *
145
+ * @param source - Webhook source identifier (e.g., "github", "stripe").
146
+ * @param config - Optional configuration (secret, signature header, event mapping).
147
+ * @returns Registration details including the webhook URL.
148
+ */
149
+ registerWebhook(source: string, config?: {
150
+ secret?: string;
151
+ signatureHeader?: string;
152
+ timestampHeader?: string;
153
+ maxAgeSeconds?: number;
154
+ eventMapping?: Record<string, string>;
155
+ }): Promise<{
156
+ source: string;
157
+ webhookUrl: string;
158
+ [key: string]: unknown;
159
+ }>;
160
+ /**
161
+ * List registered webhook sources.
162
+ */
163
+ listWebhooks(): Promise<Array<{
164
+ source: string;
165
+ webhookUrl: string;
166
+ [key: string]: unknown;
167
+ }>>;
168
+ /**
169
+ * Remove a webhook registration.
170
+ *
171
+ * @param source - Webhook source identifier to remove.
172
+ */
173
+ removeWebhook(source: string): Promise<void>;
174
+ /**
175
+ * Get webhook event log (recent deliveries).
176
+ *
177
+ * @param page - Page number (0-indexed).
178
+ */
179
+ getWebhookLog(page?: number): Promise<Array<Record<string, unknown>>>;
180
+ /**
181
+ * Get the egress allowlist (domains this agent is allowed to call).
182
+ */
183
+ getEgressAllowlist(): Promise<Array<{
184
+ id: number;
185
+ domain: string;
186
+ max_requests_per_hour: number;
187
+ created_at: string;
188
+ }>>;
189
+ /**
190
+ * Add or update a domain on the egress allowlist.
191
+ *
192
+ * @param domain - Domain to allow (e.g., "api.github.com").
193
+ * @param maxRequestsPerHour - Optional rate limit.
194
+ */
195
+ addEgressDomain(domain: string, maxRequestsPerHour?: number): Promise<Record<string, unknown>>;
196
+ /**
197
+ * Remove a domain from the egress allowlist.
198
+ *
199
+ * @param domain - Domain to remove.
200
+ */
201
+ removeEgressDomain(domain: string): Promise<void>;
202
+ /**
203
+ * Store an encrypted API credential for use with egress requests.
204
+ *
205
+ * @param service - Service name (e.g., "openai", "github").
206
+ * @param apiKey - The API key/credential to store.
207
+ */
208
+ storeCredential(service: string, apiKey: string): Promise<void>;
209
+ /**
210
+ * List stored credential services (names only — keys are never exposed).
211
+ */
212
+ listCredentials(): Promise<Array<{
213
+ service: string;
214
+ createdAt: string;
215
+ }>>;
216
+ /**
217
+ * Remove a stored credential.
218
+ *
219
+ * @param service - Service name to remove.
220
+ */
221
+ removeCredential(service: string): Promise<void>;
222
+ }
223
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js ADDED
@@ -0,0 +1,325 @@
1
+ /**
2
+ * Tool manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Provides access to the action registry, tool execution,
5
+ * and MCP server management. Agents can list available tools,
6
+ * execute them through the gateway, and connect to external
7
+ * MCP servers to discover additional tools.
8
+ *
9
+ * @module tools
10
+ */
11
+ import { TOOL_MAP } from "@nookplot/mcp/tools";
12
+ import { gatewayRequestWithRetry, isGatewayError } from "@nookplot/mcp/gateway";
13
+ import { prepareSignRelay, preparePermitStakeRelay, prepareSignSend } from "@nookplot/mcp/signing";
14
+ // ============================================================
15
+ // ToolManager
16
+ // ============================================================
17
+ export class ToolManager {
18
+ connection;
19
+ constructor(connection) {
20
+ this.connection = connection;
21
+ }
22
+ // ============================================================
23
+ // Direct Tool Context (mirrors mcp-server/src/server.ts)
24
+ // ============================================================
25
+ /**
26
+ * Build a ToolContext for direct MCP tool handler execution.
27
+ * Same pattern as mcp-server's makeContext() — HTTP helpers + signing.
28
+ */
29
+ makeToolContext() {
30
+ const gatewayUrl = this.connection.gatewayUrl;
31
+ const apiKey = this.connection.apiKey;
32
+ const privateKey = this.connection.privateKey ?? "";
33
+ const address = this.connection.address ?? "";
34
+ const get = async (path) => {
35
+ const result = await gatewayRequestWithRetry(gatewayUrl, "GET", path, { apiKey });
36
+ if (isGatewayError(result))
37
+ throw new Error(result.error);
38
+ return result.data;
39
+ };
40
+ const post = async (path, body, opts) => {
41
+ const result = await gatewayRequestWithRetry(gatewayUrl, "POST", path, { apiKey, body, timeoutMs: opts?.timeoutMs });
42
+ if (isGatewayError(result))
43
+ throw new Error(result.error);
44
+ return result.data;
45
+ };
46
+ const put = async (path, body) => {
47
+ const result = await gatewayRequestWithRetry(gatewayUrl, "PUT", path, { apiKey, body });
48
+ if (isGatewayError(result))
49
+ throw new Error(result.error);
50
+ return result.data;
51
+ };
52
+ const patch = async (path, body) => {
53
+ const result = await gatewayRequestWithRetry(gatewayUrl, "PATCH", path, { apiKey, body });
54
+ if (isGatewayError(result))
55
+ throw new Error(result.error);
56
+ return result.data;
57
+ };
58
+ const del = async (path) => {
59
+ const result = await gatewayRequestWithRetry(gatewayUrl, "DELETE", path, { apiKey });
60
+ if (isGatewayError(result))
61
+ throw new Error(result.error);
62
+ return result.data;
63
+ };
64
+ const psr = async (preparePath, body) => prepareSignRelay(gatewayUrl, apiKey, privateKey, preparePath, body);
65
+ const ppsr = async (body) => preparePermitStakeRelay(gatewayUrl, apiKey, privateKey, body);
66
+ const pss = async (preparePath, body) => prepareSignSend(gatewayUrl, apiKey, privateKey, process.env.NOOKPLOT_RPC_URL ?? "https://mainnet.base.org", preparePath, body);
67
+ return {
68
+ address, apiKey, gatewayUrl, get, post, put, patch, delete: del,
69
+ prepareSignRelay: psr,
70
+ preparePermitStakeRelay: ppsr,
71
+ prepareSignSend: pss,
72
+ privateKey,
73
+ rpcUrl: process.env.NOOKPLOT_RPC_URL,
74
+ };
75
+ }
76
+ /**
77
+ * List all available tools from the action registry.
78
+ *
79
+ * @param category - Optional category filter (e.g., "network", "protocol", "mcp").
80
+ */
81
+ async listTools(category) {
82
+ const params = new URLSearchParams();
83
+ if (category)
84
+ params.set("category", category);
85
+ const qs = params.toString();
86
+ const path = qs ? `/v1/actions/tools?${qs}` : "/v1/actions/tools";
87
+ const result = await this.connection.request("GET", path);
88
+ return result.data;
89
+ }
90
+ /**
91
+ * Get details for a specific tool.
92
+ *
93
+ * @param name - Tool name (e.g., "http_request", "claim_bounty").
94
+ */
95
+ async getToolDetail(name) {
96
+ const result = await this.connection.request("GET", `/v1/actions/tools/${encodeURIComponent(name)}`);
97
+ return result.data;
98
+ }
99
+ /**
100
+ * Execute a Nookplot tool by calling its handler directly.
101
+ *
102
+ * Looks up the tool in the MCP TOOL_MAP and calls the handler with a
103
+ * locally-built ToolContext (HTTP helpers + EIP-712 signing). This is the
104
+ * same execution path as the standalone MCP server — no gateway middleman.
105
+ *
106
+ * Falls back to the gateway REST endpoint for non-MCP tools.
107
+ *
108
+ * @param name - Tool name (e.g. "nookplot_autoresearch_strategies" or "autoresearch_strategies").
109
+ * @param args - Tool-specific arguments.
110
+ */
111
+ async executeTool(name, args) {
112
+ // Normalize: ensure nookplot_ prefix for TOOL_MAP lookup
113
+ const toolName = name.startsWith("nookplot_") ? name : `nookplot_${name}`;
114
+ const tool = TOOL_MAP.get(toolName);
115
+ if (!tool) {
116
+ // Fallback: gateway REST path for non-MCP tools (execute_tool, http_request aliases, etc.)
117
+ const result = await this.connection.request("POST", "/v1/mcp/tools/call", {
118
+ name,
119
+ arguments: args,
120
+ });
121
+ return {
122
+ success: true,
123
+ output: (result.data ?? result),
124
+ creditsUsed: 0,
125
+ };
126
+ }
127
+ // Direct execution: build context and call handler locally
128
+ const ctx = this.makeToolContext();
129
+ const result = await tool.handler(args, ctx);
130
+ return {
131
+ success: true,
132
+ output: (result ?? {}),
133
+ creditsUsed: 0,
134
+ };
135
+ }
136
+ /**
137
+ * Make an HTTP request through the egress proxy.
138
+ *
139
+ * @param url - Target URL.
140
+ * @param method - HTTP method.
141
+ * @param options - Optional headers, body, timeout, credential service.
142
+ */
143
+ async httpRequest(url, method = "GET", options) {
144
+ return this.connection.request("POST", "/v1/actions/http", {
145
+ url,
146
+ method,
147
+ ...(options ?? {}),
148
+ });
149
+ }
150
+ /**
151
+ * Execute code in a sandboxed E2B container.
152
+ * Supports Node.js, Python, and Deno runtimes.
153
+ *
154
+ * @param command - Shell command to run (e.g., "npm test", "python main.py").
155
+ * @param image - Runtime image (e.g., "node:20-slim", "python:3.12-slim").
156
+ * @param opts - Optional files, timeout, and project association.
157
+ */
158
+ async execCode(command, image, opts) {
159
+ // Normalize files — handle case where files arrives as a JSON string
160
+ // (some callers may serialize the object before passing it).
161
+ let files = opts?.files;
162
+ if (typeof files === "string") {
163
+ try {
164
+ files = JSON.parse(files);
165
+ }
166
+ catch {
167
+ try {
168
+ // Escape control characters that break JSON parsing
169
+ // eslint-disable-next-line no-control-regex
170
+ const normalized = files.replace(/[\x00-\x1f\x7f]/g, (ch) => "\\u" + ch.charCodeAt(0).toString(16).padStart(4, "0"));
171
+ files = JSON.parse(normalized);
172
+ }
173
+ catch {
174
+ throw new Error("Invalid files: must be a JSON object mapping filenames to content");
175
+ }
176
+ }
177
+ }
178
+ return this.connection.request("POST", "/v1/exec", {
179
+ command,
180
+ image,
181
+ files,
182
+ timeout: opts?.timeout,
183
+ projectId: opts?.projectId,
184
+ });
185
+ }
186
+ // ============================================================
187
+ // MCP Server Management
188
+ // ============================================================
189
+ /**
190
+ * Connect to an external MCP server.
191
+ *
192
+ * @param serverUrl - URL of the MCP server (SSE or stdio).
193
+ * @param serverName - Human-readable name for the server.
194
+ * @param tools - Optional list of pre-discovered tools.
195
+ */
196
+ async connectMcpServer(serverUrl, serverName, tools) {
197
+ const result = await this.connection.request("POST", "/v1/agents/me/mcp/servers", { serverUrl, serverName, tools: tools ?? [] });
198
+ return result.data;
199
+ }
200
+ /**
201
+ * List connected MCP servers.
202
+ */
203
+ async listMcpServers() {
204
+ const result = await this.connection.request("GET", "/v1/agents/me/mcp/servers");
205
+ return result.data;
206
+ }
207
+ /**
208
+ * Disconnect from an external MCP server.
209
+ *
210
+ * @param serverId - Server connection ID to disconnect.
211
+ */
212
+ async disconnectMcpServer(serverId) {
213
+ await this.connection.request("DELETE", `/v1/agents/me/mcp/servers/${encodeURIComponent(serverId)}`);
214
+ }
215
+ /**
216
+ * List tools from all connected MCP servers.
217
+ */
218
+ async listMcpTools() {
219
+ const result = await this.connection.request("GET", "/v1/agents/me/mcp/tools");
220
+ return result.data;
221
+ }
222
+ // ============================================================
223
+ // Webhook Management
224
+ // ============================================================
225
+ /**
226
+ * Register a webhook source so external services can push events.
227
+ *
228
+ * @param source - Webhook source identifier (e.g., "github", "stripe").
229
+ * @param config - Optional configuration (secret, signature header, event mapping).
230
+ * @returns Registration details including the webhook URL.
231
+ */
232
+ async registerWebhook(source, config) {
233
+ const result = await this.connection.request("POST", "/v1/agents/me/webhooks", { source, config: config ?? {} });
234
+ return result.data;
235
+ }
236
+ /**
237
+ * List registered webhook sources.
238
+ */
239
+ async listWebhooks() {
240
+ const result = await this.connection.request("GET", "/v1/agents/me/webhooks");
241
+ return result.data;
242
+ }
243
+ /**
244
+ * Remove a webhook registration.
245
+ *
246
+ * @param source - Webhook source identifier to remove.
247
+ */
248
+ async removeWebhook(source) {
249
+ await this.connection.request("DELETE", `/v1/agents/me/webhooks/${encodeURIComponent(source)}`);
250
+ }
251
+ /**
252
+ * Get webhook event log (recent deliveries).
253
+ *
254
+ * @param page - Page number (0-indexed).
255
+ */
256
+ async getWebhookLog(page) {
257
+ const qs = page !== undefined ? `?page=${page}` : "";
258
+ const result = await this.connection.request("GET", `/v1/agents/me/webhooks/log${qs}`);
259
+ return result.data;
260
+ }
261
+ // ============================================================
262
+ // Egress Allowlist Management
263
+ // ============================================================
264
+ /**
265
+ * Get the egress allowlist (domains this agent is allowed to call).
266
+ */
267
+ async getEgressAllowlist() {
268
+ const result = await this.connection.request("GET", "/v1/agents/me/egress");
269
+ return result.allowlist;
270
+ }
271
+ /**
272
+ * Add or update a domain on the egress allowlist.
273
+ *
274
+ * @param domain - Domain to allow (e.g., "api.github.com").
275
+ * @param maxRequestsPerHour - Optional rate limit.
276
+ */
277
+ async addEgressDomain(domain, maxRequestsPerHour) {
278
+ return this.connection.request("PUT", "/v1/agents/me/egress", {
279
+ domain,
280
+ maxRequestsPerHour,
281
+ });
282
+ }
283
+ /**
284
+ * Remove a domain from the egress allowlist.
285
+ *
286
+ * @param domain - Domain to remove.
287
+ */
288
+ async removeEgressDomain(domain) {
289
+ await this.connection.request("PUT", "/v1/agents/me/egress", {
290
+ domain,
291
+ remove: true,
292
+ });
293
+ }
294
+ // ============================================================
295
+ // Credential Management
296
+ // ============================================================
297
+ /**
298
+ * Store an encrypted API credential for use with egress requests.
299
+ *
300
+ * @param service - Service name (e.g., "openai", "github").
301
+ * @param apiKey - The API key/credential to store.
302
+ */
303
+ async storeCredential(service, apiKey) {
304
+ await this.connection.request("POST", "/v1/agents/me/credentials", {
305
+ service,
306
+ apiKey,
307
+ });
308
+ }
309
+ /**
310
+ * List stored credential services (names only — keys are never exposed).
311
+ */
312
+ async listCredentials() {
313
+ const result = await this.connection.request("GET", "/v1/agents/me/credentials");
314
+ return result.credentials;
315
+ }
316
+ /**
317
+ * Remove a stored credential.
318
+ *
319
+ * @param service - Service name to remove.
320
+ */
321
+ async removeCredential(service) {
322
+ await this.connection.request("DELETE", `/v1/agents/me/credentials/${encodeURIComponent(service)}`);
323
+ }
324
+ }
325
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,QAAQ,EAAoB,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA4CnG,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D,MAAM,OAAO,WAAW;IACL,UAAU,CAAoB;IAE/C,YAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,+DAA+D;IAC/D,0DAA0D;IAC1D,+DAA+D;IAE/D;;;OAGG;IACK,eAAe;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QAE9C,MAAM,GAAG,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAClF,IAAI,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAE,IAAa,EAAE,IAA6B,EAAE,EAAE;YAChF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrH,IAAI,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,KAAK,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACxF,IAAI,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,IAAI,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrF,IAAI,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,KAAK,EAAE,WAAmB,EAAE,IAA6B,EAAE,EAAE,CACvE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,KAAK,EAAE,IAA6B,EAAE,EAAE,CACnD,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,KAAK,EAAE,WAAmB,EAAE,IAA6B,EAAE,EAAE,CACvE,eAAe,CACb,UAAU,EACV,MAAM,EACN,UAAU,EACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,EAC1D,WAAW,EACX,IAAI,CACL,CAAC;QAEJ,OAAO;YACL,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG;YAC/D,gBAAgB,EAAE,GAAG;YACrB,uBAAuB,EAAE,IAAI;YAC7B,eAAe,EAAE,GAAG;YACpB,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;SACrC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,QAAiB;QAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAA6B,KAAK,EAAE,IAAI,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,EACL,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAChD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,IAA6B;QAE7B,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,2FAA2F;YAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAoB,MAAM,EAAE,oBAAoB,EAAE;gBAC5F,IAAI;gBACJ,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,CAAE,MAAkC,CAAC,IAAI,IAAI,MAAM,CAA4B;gBACvF,WAAW,EAAE,CAAC;aACf,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAA4B;YACjD,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,GAAW,EACX,SAAsD,KAAK,EAC3D,OAKC;QAQD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE;YACzD,GAAG;YACH,MAAM;YACN,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,KAAa,EACb,IAIC;QAQD,qEAAqE;QACrE,6DAA6D;QAC7D,IAAI,KAAK,GAAuC,IAAI,EAAE,KAAK,CAAC;QAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAA0B,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,oDAAoD;oBACpD,4CAA4C;oBAC5C,MAAM,UAAU,GAAI,KAA2B,CAAC,OAAO,CACrD,kBAAkB,EAClB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/D,CAAC;oBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;YACjD,OAAO;YACP,KAAK;YACL,KAAK;YACL,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,SAAS,EAAE,IAAI,EAAE,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;IACzB,+DAA+D;IAE/D;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,UAAkB,EAClB,KAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,MAAM,EACN,2BAA2B,EAC3B,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAC9C,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,EACL,2BAA2B,CAC5B,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,EACL,yBAAyB,CAC1B,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAE/D;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,MAMC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAEzC,MAAM,EAAE,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAEzC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAa;QAC/B,MAAM,EAAE,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAEzC,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAEzC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,kBAA2B;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE;YAC5D,MAAM;YACN,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE;YAC3D,MAAM;YACN,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;IACzB,+DAA+D;IAE/D;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAAc;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE;YACjE,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAEzC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;CACF"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * TreasuryOpsManager — scheduled treasury operations + budget earmarks.
3
+ *
4
+ * @module treasury-ops
5
+ */
6
+ import type { ConnectionManager } from "./connection.js";
7
+ export type OpType = "auto_sweep" | "scheduled_transfer" | "auto_distribute" | "balance_alert";
8
+ export interface ScheduleConfig {
9
+ intervalMinutes?: number;
10
+ cronHour?: number;
11
+ cronDayOfWeek?: number;
12
+ }
13
+ export interface ScheduledOp {
14
+ id: string;
15
+ agentId: string;
16
+ guildId: string | null;
17
+ opType: OpType;
18
+ schedule: ScheduleConfig;
19
+ rules: Record<string, unknown>;
20
+ enabled: boolean;
21
+ nextRunAt: string | null;
22
+ lastRunAt: string | null;
23
+ runCount: number;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ }
27
+ export interface BudgetEarmark {
28
+ id: string;
29
+ agentId: string;
30
+ label: string;
31
+ allocated: number;
32
+ spent: number;
33
+ description: string | null;
34
+ createdAt: string;
35
+ updatedAt: string;
36
+ }
37
+ export interface CreateOpInput {
38
+ opType: OpType;
39
+ schedule: ScheduleConfig;
40
+ rules: Record<string, unknown>;
41
+ guildId?: string;
42
+ }
43
+ export interface UpdateOpInput {
44
+ schedule?: ScheduleConfig;
45
+ rules?: Record<string, unknown>;
46
+ enabled?: boolean;
47
+ }
48
+ export interface CreateEarmarkInput {
49
+ label: string;
50
+ allocated: number;
51
+ description?: string;
52
+ }
53
+ export interface UpdateEarmarkInput {
54
+ allocated?: number;
55
+ description?: string;
56
+ }
57
+ export interface OpHistoryEntry {
58
+ id: string;
59
+ status: string;
60
+ details: Record<string, unknown>;
61
+ errorMessage: string | null;
62
+ createdAt: string;
63
+ }
64
+ export declare class TreasuryOpsManager {
65
+ private readonly connection;
66
+ constructor(connection: ConnectionManager);
67
+ /** Create a scheduled treasury operation. */
68
+ createOp(input: CreateOpInput): Promise<ScheduledOp>;
69
+ /** List scheduled operations. */
70
+ listOps(guildId?: string): Promise<{
71
+ operations: ScheduledOp[];
72
+ }>;
73
+ /** Update a scheduled operation. */
74
+ updateOp(opId: string, input: UpdateOpInput): Promise<ScheduledOp>;
75
+ /** Delete a scheduled operation. */
76
+ deleteOp(opId: string): Promise<{
77
+ deleted: boolean;
78
+ }>;
79
+ /** Manually trigger an operation. */
80
+ runOp(opId: string): Promise<{
81
+ status: string;
82
+ details: Record<string, unknown>;
83
+ }>;
84
+ /** Get execution history for an operation. */
85
+ getHistory(opId: string, limit?: number): Promise<{
86
+ history: OpHistoryEntry[];
87
+ }>;
88
+ /** Create a budget earmark. */
89
+ createEarmark(input: CreateEarmarkInput): Promise<BudgetEarmark>;
90
+ /** List budget earmarks. */
91
+ listEarmarks(): Promise<{
92
+ earmarks: BudgetEarmark[];
93
+ }>;
94
+ /** Update a budget earmark. */
95
+ updateEarmark(earmarkId: string, input: UpdateEarmarkInput): Promise<BudgetEarmark>;
96
+ /** Delete a budget earmark. */
97
+ deleteEarmark(earmarkId: string): Promise<{
98
+ deleted: boolean;
99
+ }>;
100
+ }
101
+ //# sourceMappingURL=treasury-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treasury-ops.d.ts","sourceRoot":"","sources":["../src/treasury-ops.ts"],"names":[],"mappings":"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"}