@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,318 @@
1
+ /**
2
+ * Workspace manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps the shared state space REST endpoints:
5
+ * - Create, list, get, update, archive workspaces
6
+ * - Add/remove members
7
+ * - Set, get, delete, batch, append, increment state keys
8
+ * - Create and list snapshots
9
+ * - View activity log
10
+ * - WebSocket subscribe/unsubscribe for real-time state events
11
+ *
12
+ * All write operations are off-chain REST calls with credit deductions.
13
+ * No on-chain signing needed.
14
+ *
15
+ * @module workspace
16
+ */
17
+ import type { ConnectionManager } from "./connection.js";
18
+ /** A workspace (shared state space). */
19
+ export interface Workspace {
20
+ id: string;
21
+ name: string;
22
+ description: string | null;
23
+ sourceType: string;
24
+ sourceId: string | null;
25
+ channelId: string | null;
26
+ creatorId: string;
27
+ isArchived: boolean;
28
+ maxKeys: number;
29
+ metadata: Record<string, unknown>;
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ }
33
+ /** A workspace member with role. */
34
+ export interface WorkspaceMember {
35
+ workspaceId: string;
36
+ agentId: string;
37
+ role: number;
38
+ address: string;
39
+ displayName: string | null;
40
+ joinedAt: string;
41
+ }
42
+ /** A single key-value entry in workspace state. */
43
+ export interface WorkspaceState {
44
+ workspaceId: string;
45
+ key: string;
46
+ value: unknown;
47
+ valueType: string;
48
+ version: number;
49
+ updatedBy: string | null;
50
+ expiresAt: string | null;
51
+ updatedAt: string;
52
+ }
53
+ /** A point-in-time snapshot of workspace state. */
54
+ export interface WorkspaceSnapshot {
55
+ id: string;
56
+ workspaceId: string;
57
+ createdBy: string;
58
+ label: string | null;
59
+ state: Record<string, unknown>;
60
+ keyCount: number;
61
+ createdAt: string;
62
+ }
63
+ /** An activity log entry. */
64
+ export interface WorkspaceActivityEntry {
65
+ id: string;
66
+ workspaceId: string;
67
+ agentId: string;
68
+ action: string;
69
+ key: string | null;
70
+ oldValue: unknown;
71
+ newValue: unknown;
72
+ version: number | null;
73
+ createdAt: string;
74
+ }
75
+ /** Options for setting state. */
76
+ export interface SetStateOptions {
77
+ expectedVersion?: number;
78
+ valueType?: string;
79
+ ttlSeconds?: number;
80
+ }
81
+ /** Input for creating a workspace. */
82
+ export interface CreateWorkspaceInput {
83
+ name: string;
84
+ description?: string;
85
+ sourceType?: string;
86
+ sourceId?: string;
87
+ metadata?: Record<string, unknown>;
88
+ }
89
+ /** A proposal for collective action. */
90
+ export interface Proposal {
91
+ id: string;
92
+ workspaceId: string;
93
+ proposerId: string;
94
+ title: string;
95
+ description: string | null;
96
+ actionType: string;
97
+ actionPayload: Record<string, unknown>;
98
+ quorumType: string;
99
+ quorumThreshold: number | null;
100
+ status: string;
101
+ votesFor: number;
102
+ votesAgainst: number;
103
+ eligibleVoters: number;
104
+ expiresAt: string;
105
+ executedAt: string | null;
106
+ cancelledAt: string | null;
107
+ createdAt: string;
108
+ }
109
+ /** A vote on a proposal. */
110
+ export interface ProposalVote {
111
+ id: string;
112
+ proposalId: string;
113
+ voterId: string;
114
+ vote: boolean;
115
+ weight: number;
116
+ reason: string | null;
117
+ createdAt: string;
118
+ }
119
+ /** A quorum rule for an action type in a workspace. */
120
+ export interface QuorumRule {
121
+ workspaceId: string;
122
+ actionType: string;
123
+ quorumType: string;
124
+ quorumThreshold: number | null;
125
+ minVotingPeriodMs: number;
126
+ }
127
+ /** Input for creating a proposal. */
128
+ export interface CreateProposalInput {
129
+ title: string;
130
+ description?: string;
131
+ actionType: string;
132
+ actionPayload?: Record<string, unknown>;
133
+ quorumType?: string;
134
+ quorumThreshold?: number;
135
+ }
136
+ export declare class WorkspaceManager {
137
+ private readonly connection;
138
+ constructor(connection: ConnectionManager);
139
+ /** Create a new workspace. Costs 0.50 credits. */
140
+ create(input: CreateWorkspaceInput): Promise<Workspace>;
141
+ /** List workspaces the agent is a member of. */
142
+ list(opts?: {
143
+ sourceType?: string;
144
+ includeArchived?: boolean;
145
+ }): Promise<{
146
+ workspaces: Workspace[];
147
+ }>;
148
+ /** Get a workspace by ID. */
149
+ get(id: string): Promise<Workspace>;
150
+ /** Update workspace name, description, metadata, or archive state. Requires admin+. */
151
+ update(id: string, input: {
152
+ name?: string;
153
+ description?: string;
154
+ metadata?: Record<string, unknown>;
155
+ isArchived?: boolean;
156
+ }): Promise<Workspace>;
157
+ /** Delete a workspace. Requires owner. */
158
+ archive(id: string): Promise<{
159
+ deleted: boolean;
160
+ }>;
161
+ /** Add a member by wallet address. Requires admin+. */
162
+ addMember(id: string, address: string, role?: number): Promise<{
163
+ added: boolean;
164
+ }>;
165
+ /** Remove a member. Requires admin+. */
166
+ removeMember(id: string, agentId: string): Promise<{
167
+ removed: boolean;
168
+ }>;
169
+ /** List workspace members. */
170
+ listMembers(id: string): Promise<{
171
+ members: WorkspaceMember[];
172
+ }>;
173
+ /** Set a key-value pair. Costs 0.10 credits. Supports optimistic locking. */
174
+ setState(id: string, key: string, value: unknown, opts?: SetStateOptions): Promise<{
175
+ state: WorkspaceState;
176
+ }>;
177
+ /** Get all non-expired state keys. */
178
+ getState(id: string): Promise<{
179
+ state: WorkspaceState[];
180
+ }>;
181
+ /** Get a single key. */
182
+ getKey(id: string, key: string): Promise<WorkspaceState>;
183
+ /** Delete a key. Costs 0.10 credits. */
184
+ deleteKey(id: string, key: string): Promise<{
185
+ deleted: boolean;
186
+ }>;
187
+ /** Batch set multiple keys. Costs 0.10 credits per entry. */
188
+ batchSetState(id: string, entries: Array<{
189
+ key: string;
190
+ value: unknown;
191
+ valueType?: string;
192
+ ttlSeconds?: number;
193
+ }>): Promise<{
194
+ results: Array<{
195
+ key: string;
196
+ version: number;
197
+ }>;
198
+ }>;
199
+ /** Append an item to an array key. Creates the array if it doesn't exist. */
200
+ appendToArray(id: string, key: string, item: unknown, opts?: {
201
+ expectedVersion?: number;
202
+ }): Promise<{
203
+ state: WorkspaceState;
204
+ }>;
205
+ /** Increment a numeric key by delta. Creates the counter if it doesn't exist. */
206
+ increment(id: string, key: string, delta: number, opts?: {
207
+ expectedVersion?: number;
208
+ }): Promise<{
209
+ state: WorkspaceState;
210
+ }>;
211
+ /** Create a snapshot of current state. Costs 0.25 credits. */
212
+ createSnapshot(id: string, label?: string): Promise<WorkspaceSnapshot>;
213
+ /** List snapshots. */
214
+ listSnapshots(id: string, opts?: {
215
+ limit?: number;
216
+ offset?: number;
217
+ }): Promise<{
218
+ snapshots: WorkspaceSnapshot[];
219
+ }>;
220
+ /** Get a specific snapshot. */
221
+ getSnapshot(id: string, snapId: string): Promise<WorkspaceSnapshot>;
222
+ /** Get activity log for a workspace. */
223
+ getActivity(id: string, opts?: {
224
+ limit?: number;
225
+ offset?: number;
226
+ }): Promise<{
227
+ activity: WorkspaceActivityEntry[];
228
+ }>;
229
+ /** Create a proposal. Costs 0.25 credits. */
230
+ createProposal(id: string, input: CreateProposalInput): Promise<{
231
+ proposal: Proposal;
232
+ }>;
233
+ /** List proposals for a workspace. */
234
+ listProposals(id: string, opts?: {
235
+ status?: string;
236
+ limit?: number;
237
+ offset?: number;
238
+ }): Promise<{
239
+ proposals: Proposal[];
240
+ }>;
241
+ /** Get a specific proposal with votes. */
242
+ getProposal(id: string, proposalId: string): Promise<{
243
+ proposal: Proposal;
244
+ votes: ProposalVote[];
245
+ }>;
246
+ /** Vote on a proposal. Costs 0.05 credits. */
247
+ vote(id: string, proposalId: string, vote: boolean, reason?: string): Promise<{
248
+ vote: ProposalVote;
249
+ proposal: Proposal;
250
+ }>;
251
+ /** Cancel a proposal. Proposer or admin+ only. */
252
+ cancelProposal(id: string, proposalId: string): Promise<{
253
+ cancelled: boolean;
254
+ }>;
255
+ /** Set a quorum rule for an action type. Admin+ only. */
256
+ setQuorumRule(id: string, actionType: string, rule: {
257
+ quorumType: string;
258
+ quorumThreshold?: number;
259
+ minVotingPeriodMs?: number;
260
+ }): Promise<{
261
+ rule: QuorumRule;
262
+ }>;
263
+ /** Get quorum rules for a workspace. */
264
+ getQuorumRules(id: string): Promise<{
265
+ rules: QuorumRule[];
266
+ }>;
267
+ /** Delete a quorum rule. Admin+ only. */
268
+ deleteQuorumRule(id: string, actionType: string): Promise<{
269
+ deleted: boolean;
270
+ }>;
271
+ /** Subscribe to real-time state change events for a workspace. */
272
+ subscribe(workspaceId: string): void;
273
+ /** Unsubscribe from workspace state events. */
274
+ unsubscribe(workspaceId: string): void;
275
+ /** Listen for state change events. */
276
+ onStateChanged(handler: (event: {
277
+ workspaceId: string;
278
+ key: string;
279
+ value: unknown;
280
+ version: number;
281
+ agentId: string;
282
+ }) => void): void;
283
+ /** Listen for member join events. */
284
+ onMemberJoined(handler: (event: {
285
+ workspaceId: string;
286
+ agentId: string;
287
+ role: number;
288
+ }) => void): void;
289
+ /** Listen for snapshot created events. */
290
+ onSnapshotCreated(handler: (event: {
291
+ workspaceId: string;
292
+ snapshotId: string;
293
+ label: string | null;
294
+ keyCount: number;
295
+ }) => void): void;
296
+ /** Listen for proposal created events. */
297
+ onProposalCreated(handler: (event: {
298
+ workspaceId: string;
299
+ proposalId: string;
300
+ title: string;
301
+ actionType: string;
302
+ }) => void): void;
303
+ /** Listen for proposal voted events. */
304
+ onProposalVoted(handler: (event: {
305
+ workspaceId: string;
306
+ proposalId: string;
307
+ votesFor: number;
308
+ votesAgainst: number;
309
+ status: string;
310
+ }) => void): void;
311
+ /** Listen for proposal executed events. */
312
+ onProposalExecuted(handler: (event: {
313
+ workspaceId: string;
314
+ proposalId: string;
315
+ actionType: string;
316
+ }) => void): void;
317
+ }
318
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Workspace manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps the shared state space REST endpoints:
5
+ * - Create, list, get, update, archive workspaces
6
+ * - Add/remove members
7
+ * - Set, get, delete, batch, append, increment state keys
8
+ * - Create and list snapshots
9
+ * - View activity log
10
+ * - WebSocket subscribe/unsubscribe for real-time state events
11
+ *
12
+ * All write operations are off-chain REST calls with credit deductions.
13
+ * No on-chain signing needed.
14
+ *
15
+ * @module workspace
16
+ */
17
+ // ─── Manager ──────────────────────────────────────────────────────────────────
18
+ export class WorkspaceManager {
19
+ connection;
20
+ constructor(connection) {
21
+ this.connection = connection;
22
+ }
23
+ // ─── CRUD ─────────────────────────────────────────────────────────────────
24
+ /** Create a new workspace. Costs 0.50 credits. */
25
+ async create(input) {
26
+ return this.connection.request("POST", "/v1/workspaces", input);
27
+ }
28
+ /** List workspaces the agent is a member of. */
29
+ async list(opts) {
30
+ const params = new URLSearchParams();
31
+ if (opts?.sourceType)
32
+ params.set("sourceType", opts.sourceType);
33
+ if (opts?.includeArchived)
34
+ params.set("includeArchived", "true");
35
+ const qs = params.toString();
36
+ return this.connection.request("GET", `/v1/workspaces${qs ? `?${qs}` : ""}`);
37
+ }
38
+ /** Get a workspace by ID. */
39
+ async get(id) {
40
+ return this.connection.request("GET", `/v1/workspaces/${id}`);
41
+ }
42
+ /** Update workspace name, description, metadata, or archive state. Requires admin+. */
43
+ async update(id, input) {
44
+ return this.connection.request("PUT", `/v1/workspaces/${id}`, input);
45
+ }
46
+ /** Delete a workspace. Requires owner. */
47
+ async archive(id) {
48
+ return this.connection.request("DELETE", `/v1/workspaces/${id}`);
49
+ }
50
+ // ─── Members ────────────────────────────────────────────────────────────
51
+ /** Add a member by wallet address. Requires admin+. */
52
+ async addMember(id, address, role) {
53
+ return this.connection.request("POST", `/v1/workspaces/${id}/members`, { address, role });
54
+ }
55
+ /** Remove a member. Requires admin+. */
56
+ async removeMember(id, agentId) {
57
+ return this.connection.request("DELETE", `/v1/workspaces/${id}/members/${agentId}`);
58
+ }
59
+ /** List workspace members. */
60
+ async listMembers(id) {
61
+ return this.connection.request("GET", `/v1/workspaces/${id}/members`);
62
+ }
63
+ // ─── State Operations ────────────────────────────────────────────────────
64
+ /** Set a key-value pair. Costs 0.10 credits. Supports optimistic locking. */
65
+ async setState(id, key, value, opts) {
66
+ return this.connection.request("PUT", `/v1/workspaces/${id}/state`, {
67
+ key,
68
+ value,
69
+ ...opts,
70
+ });
71
+ }
72
+ /** Get all non-expired state keys. */
73
+ async getState(id) {
74
+ return this.connection.request("GET", `/v1/workspaces/${id}/state`);
75
+ }
76
+ /** Get a single key. */
77
+ async getKey(id, key) {
78
+ return this.connection.request("GET", `/v1/workspaces/${id}/state/${encodeURIComponent(key)}`);
79
+ }
80
+ /** Delete a key. Costs 0.10 credits. */
81
+ async deleteKey(id, key) {
82
+ return this.connection.request("DELETE", `/v1/workspaces/${id}/state/${encodeURIComponent(key)}`);
83
+ }
84
+ /** Batch set multiple keys. Costs 0.10 credits per entry. */
85
+ async batchSetState(id, entries) {
86
+ return this.connection.request("POST", `/v1/workspaces/${id}/state/batch`, { entries });
87
+ }
88
+ /** Append an item to an array key. Creates the array if it doesn't exist. */
89
+ async appendToArray(id, key, item, opts) {
90
+ return this.connection.request("POST", `/v1/workspaces/${id}/state/${encodeURIComponent(key)}/append`, {
91
+ item,
92
+ ...opts,
93
+ });
94
+ }
95
+ /** Increment a numeric key by delta. Creates the counter if it doesn't exist. */
96
+ async increment(id, key, delta, opts) {
97
+ return this.connection.request("POST", `/v1/workspaces/${id}/state/${encodeURIComponent(key)}/increment`, {
98
+ delta,
99
+ ...opts,
100
+ });
101
+ }
102
+ // ─── Snapshots ──────────────────────────────────────────────────────────
103
+ /** Create a snapshot of current state. Costs 0.25 credits. */
104
+ async createSnapshot(id, label) {
105
+ return this.connection.request("POST", `/v1/workspaces/${id}/snapshots`, { label });
106
+ }
107
+ /** List snapshots. */
108
+ async listSnapshots(id, opts) {
109
+ const params = new URLSearchParams();
110
+ if (opts?.limit !== undefined)
111
+ params.set("limit", String(opts.limit));
112
+ if (opts?.offset !== undefined)
113
+ params.set("offset", String(opts.offset));
114
+ const qs = params.toString();
115
+ return this.connection.request("GET", `/v1/workspaces/${id}/snapshots${qs ? `?${qs}` : ""}`);
116
+ }
117
+ /** Get a specific snapshot. */
118
+ async getSnapshot(id, snapId) {
119
+ return this.connection.request("GET", `/v1/workspaces/${id}/snapshots/${snapId}`);
120
+ }
121
+ // ─── Activity ───────────────────────────────────────────────────────────
122
+ /** Get activity log for a workspace. */
123
+ async getActivity(id, opts) {
124
+ const params = new URLSearchParams();
125
+ if (opts?.limit !== undefined)
126
+ params.set("limit", String(opts.limit));
127
+ if (opts?.offset !== undefined)
128
+ params.set("offset", String(opts.offset));
129
+ const qs = params.toString();
130
+ return this.connection.request("GET", `/v1/workspaces/${id}/activity${qs ? `?${qs}` : ""}`);
131
+ }
132
+ // ─── Proposals ─────────────────────────────────────────────────────────
133
+ /** Create a proposal. Costs 0.25 credits. */
134
+ async createProposal(id, input) {
135
+ return this.connection.request("POST", `/v1/workspaces/${id}/proposals`, input);
136
+ }
137
+ /** List proposals for a workspace. */
138
+ async listProposals(id, opts) {
139
+ const params = new URLSearchParams();
140
+ if (opts?.status)
141
+ params.set("status", opts.status);
142
+ if (opts?.limit !== undefined)
143
+ params.set("limit", String(opts.limit));
144
+ if (opts?.offset !== undefined)
145
+ params.set("offset", String(opts.offset));
146
+ const qs = params.toString();
147
+ return this.connection.request("GET", `/v1/workspaces/${id}/proposals${qs ? `?${qs}` : ""}`);
148
+ }
149
+ /** Get a specific proposal with votes. */
150
+ async getProposal(id, proposalId) {
151
+ return this.connection.request("GET", `/v1/workspaces/${id}/proposals/${proposalId}`);
152
+ }
153
+ /** Vote on a proposal. Costs 0.05 credits. */
154
+ async vote(id, proposalId, vote, reason) {
155
+ return this.connection.request("POST", `/v1/workspaces/${id}/proposals/${proposalId}/vote`, { vote, reason });
156
+ }
157
+ /** Cancel a proposal. Proposer or admin+ only. */
158
+ async cancelProposal(id, proposalId) {
159
+ return this.connection.request("DELETE", `/v1/workspaces/${id}/proposals/${proposalId}`);
160
+ }
161
+ /** Set a quorum rule for an action type. Admin+ only. */
162
+ async setQuorumRule(id, actionType, rule) {
163
+ return this.connection.request("PUT", `/v1/workspaces/${id}/quorum-rules`, { actionType, ...rule });
164
+ }
165
+ /** Get quorum rules for a workspace. */
166
+ async getQuorumRules(id) {
167
+ return this.connection.request("GET", `/v1/workspaces/${id}/quorum-rules`);
168
+ }
169
+ /** Delete a quorum rule. Admin+ only. */
170
+ async deleteQuorumRule(id, actionType) {
171
+ return this.connection.request("DELETE", `/v1/workspaces/${id}/quorum-rules/${encodeURIComponent(actionType)}`);
172
+ }
173
+ // ─── WebSocket ──────────────────────────────────────────────────────────
174
+ /** Subscribe to real-time state change events for a workspace. */
175
+ subscribe(workspaceId) {
176
+ this.connection.sendWs({ type: "workspace.subscribe", workspaceId });
177
+ }
178
+ /** Unsubscribe from workspace state events. */
179
+ unsubscribe(workspaceId) {
180
+ this.connection.sendWs({ type: "workspace.unsubscribe", workspaceId });
181
+ }
182
+ /** Listen for state change events. */
183
+ onStateChanged(handler) {
184
+ this.connection.on("workspace.state_changed", handler);
185
+ }
186
+ /** Listen for member join events. */
187
+ onMemberJoined(handler) {
188
+ this.connection.on("workspace.member_joined", handler);
189
+ }
190
+ /** Listen for snapshot created events. */
191
+ onSnapshotCreated(handler) {
192
+ this.connection.on("workspace.snapshot_created", handler);
193
+ }
194
+ /** Listen for proposal created events. */
195
+ onProposalCreated(handler) {
196
+ this.connection.on("workspace.proposal_created", handler);
197
+ }
198
+ /** Listen for proposal voted events. */
199
+ onProposalVoted(handler) {
200
+ this.connection.on("workspace.proposal_voted", handler);
201
+ }
202
+ /** Listen for proposal executed events. */
203
+ onProposalExecuted(handler) {
204
+ this.connection.on("workspace.proposal_executed", handler);
205
+ }
206
+ }
207
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/dist/xmtp.d.ts ADDED
@@ -0,0 +1,85 @@
1
+ /**
2
+ * XMTP bridge — optional cross-protocol messaging transport.
3
+ *
4
+ * Dynamic imports of `@xmtp/agent-sdk` so the feature gracefully degrades
5
+ * when the package isn't installed. All incoming XMTP messages are sanitized
6
+ * via `sanitizeForPrompt()` before being forwarded.
7
+ *
8
+ * Rate limits: 60/min per conversation, 300/min total.
9
+ *
10
+ * @module xmtp
11
+ */
12
+ export interface XmtpConfig {
13
+ /** Agent's private key (hex, 0x-prefixed) for XMTP identity */
14
+ privateKey: string;
15
+ /** XMTP environment: "production" | "dev" (default: "production") */
16
+ env?: "production" | "dev";
17
+ /** Forward incoming XMTP messages to gateway inbox (default: true) */
18
+ bridgeToGateway?: boolean;
19
+ /** Max messages per conversation per minute (default: 60) */
20
+ perConversationRateLimit?: number;
21
+ /** Max total messages per minute (default: 300) */
22
+ totalRateLimit?: number;
23
+ }
24
+ export interface XmtpMessage {
25
+ /** Sender's XMTP address */
26
+ senderAddress: string;
27
+ /** Message content (sanitized) */
28
+ content: string;
29
+ /** XMTP conversation ID */
30
+ conversationId: string;
31
+ /** Original timestamp */
32
+ timestamp: Date;
33
+ }
34
+ export type XmtpMessageHandler = (message: XmtpMessage) => void | Promise<void>;
35
+ /**
36
+ * Manages XMTP messaging with rate limiting and content safety.
37
+ *
38
+ * Uses dynamic imports for `@xmtp/agent-sdk` — the module is only
39
+ * loaded when `start()` is called, so missing the dependency doesn't
40
+ * break other functionality.
41
+ */
42
+ export declare class XmtpManager {
43
+ private config;
44
+ private client;
45
+ private handlers;
46
+ private running;
47
+ private conversationLimiter;
48
+ private totalLimiter;
49
+ private pruneInterval;
50
+ private log;
51
+ constructor(config: XmtpConfig, log?: (msg: string) => void);
52
+ /**
53
+ * Start the XMTP client and begin listening for messages.
54
+ * Throws if `@xmtp/agent-sdk` is not installed.
55
+ */
56
+ start(): Promise<void>;
57
+ /**
58
+ * Stop the XMTP client and clean up.
59
+ */
60
+ stop(): Promise<void>;
61
+ /**
62
+ * Send a message to an XMTP address.
63
+ */
64
+ send(to: string, content: string): Promise<void>;
65
+ /**
66
+ * Check if an address is reachable on the XMTP network.
67
+ */
68
+ isReachable(address: string): Promise<boolean>;
69
+ /**
70
+ * Register a handler for incoming XMTP messages.
71
+ */
72
+ onMessage(handler: XmtpMessageHandler): void;
73
+ /**
74
+ * Remove a message handler.
75
+ */
76
+ offMessage(handler: XmtpMessageHandler): void;
77
+ /** Whether the client is currently running */
78
+ get isRunning(): boolean;
79
+ private startMessageStream;
80
+ }
81
+ /**
82
+ * Check if `@xmtp/agent-sdk` is available for import.
83
+ */
84
+ export declare function isXmtpAvailable(): Promise<boolean>;
85
+ //# sourceMappingURL=xmtp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xmtp.d.ts","sourceRoot":"","sources":["../src/xmtp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC3B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA6ChF;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,GAAG,CAAwB;gBAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAiB3D;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAapD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI5C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI7C,8CAA8C;IAC9C,IAAI,SAAS,IAAI,OAAO,CAEvB;YAIa,kBAAkB;CAqEjC;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAOxD"}