@nookplot/runtime 0.5.122 → 0.5.123

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/package.json +60 -60
  2. package/dist/__tests__/apiMarketplace.test.d.ts +0 -2
  3. package/dist/__tests__/apiMarketplace.test.d.ts.map +0 -1
  4. package/dist/__tests__/apiMarketplace.test.js +0 -102
  5. package/dist/__tests__/apiMarketplace.test.js.map +0 -1
  6. package/dist/__tests__/autonomous.actionDispatch.test.d.ts +0 -2
  7. package/dist/__tests__/autonomous.actionDispatch.test.d.ts.map +0 -1
  8. package/dist/__tests__/autonomous.actionDispatch.test.js +0 -287
  9. package/dist/__tests__/autonomous.actionDispatch.test.js.map +0 -1
  10. package/dist/__tests__/autonomous.dedup.test.d.ts +0 -2
  11. package/dist/__tests__/autonomous.dedup.test.d.ts.map +0 -1
  12. package/dist/__tests__/autonomous.dedup.test.js +0 -125
  13. package/dist/__tests__/autonomous.dedup.test.js.map +0 -1
  14. package/dist/__tests__/autonomous.doomLoop.test.d.ts +0 -2
  15. package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +0 -1
  16. package/dist/__tests__/autonomous.doomLoop.test.js +0 -126
  17. package/dist/__tests__/autonomous.doomLoop.test.js.map +0 -1
  18. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts +0 -2
  19. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts.map +0 -1
  20. package/dist/__tests__/autonomous.getAvailableActions.test.js +0 -232
  21. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +0 -1
  22. package/dist/__tests__/autonomous.guardrails.test.d.ts +0 -2
  23. package/dist/__tests__/autonomous.guardrails.test.d.ts.map +0 -1
  24. package/dist/__tests__/autonomous.guardrails.test.js +0 -215
  25. package/dist/__tests__/autonomous.guardrails.test.js.map +0 -1
  26. package/dist/__tests__/autonomous.hooks.test.d.ts +0 -2
  27. package/dist/__tests__/autonomous.hooks.test.d.ts.map +0 -1
  28. package/dist/__tests__/autonomous.hooks.test.js +0 -107
  29. package/dist/__tests__/autonomous.hooks.test.js.map +0 -1
  30. package/dist/__tests__/autonomous.latentSpace.test.d.ts +0 -2
  31. package/dist/__tests__/autonomous.latentSpace.test.d.ts.map +0 -1
  32. package/dist/__tests__/autonomous.latentSpace.test.js +0 -224
  33. package/dist/__tests__/autonomous.latentSpace.test.js.map +0 -1
  34. package/dist/__tests__/autonomous.lifecycle.test.d.ts +0 -2
  35. package/dist/__tests__/autonomous.lifecycle.test.d.ts.map +0 -1
  36. package/dist/__tests__/autonomous.lifecycle.test.js +0 -147
  37. package/dist/__tests__/autonomous.lifecycle.test.js.map +0 -1
  38. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +0 -2
  39. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +0 -1
  40. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +0 -150
  41. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +0 -1
  42. package/dist/__tests__/chatEngine.episodicHook.test.d.ts +0 -2
  43. package/dist/__tests__/chatEngine.episodicHook.test.d.ts.map +0 -1
  44. package/dist/__tests__/chatEngine.episodicHook.test.js +0 -160
  45. package/dist/__tests__/chatEngine.episodicHook.test.js.map +0 -1
  46. package/dist/__tests__/chatEngine.test.d.ts +0 -2
  47. package/dist/__tests__/chatEngine.test.d.ts.map +0 -1
  48. package/dist/__tests__/chatEngine.test.js +0 -482
  49. package/dist/__tests__/chatEngine.test.js.map +0 -1
  50. package/dist/__tests__/codegen-drift.test.d.ts +0 -23
  51. package/dist/__tests__/codegen-drift.test.d.ts.map +0 -1
  52. package/dist/__tests__/codegen-drift.test.js +0 -185
  53. package/dist/__tests__/codegen-drift.test.js.map +0 -1
  54. package/dist/__tests__/contentSafety.test.d.ts +0 -2
  55. package/dist/__tests__/contentSafety.test.d.ts.map +0 -1
  56. package/dist/__tests__/contentSafety.test.js +0 -90
  57. package/dist/__tests__/contentSafety.test.js.map +0 -1
  58. package/dist/__tests__/conversation/compactionMemory.test.d.ts +0 -2
  59. package/dist/__tests__/conversation/compactionMemory.test.d.ts.map +0 -1
  60. package/dist/__tests__/conversation/compactionMemory.test.js +0 -447
  61. package/dist/__tests__/conversation/compactionMemory.test.js.map +0 -1
  62. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts +0 -2
  63. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts.map +0 -1
  64. package/dist/__tests__/conversation/modelThresholdsParity.test.js +0 -79
  65. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +0 -1
  66. package/dist/__tests__/doomLoop.test.d.ts +0 -6
  67. package/dist/__tests__/doomLoop.test.d.ts.map +0 -1
  68. package/dist/__tests__/doomLoop.test.js +0 -144
  69. package/dist/__tests__/doomLoop.test.js.map +0 -1
  70. package/dist/__tests__/guardrails.test.d.ts +0 -2
  71. package/dist/__tests__/guardrails.test.d.ts.map +0 -1
  72. package/dist/__tests__/guardrails.test.js +0 -236
  73. package/dist/__tests__/guardrails.test.js.map +0 -1
  74. package/dist/__tests__/helpers/mockRuntime.d.ts +0 -11
  75. package/dist/__tests__/helpers/mockRuntime.d.ts.map +0 -1
  76. package/dist/__tests__/helpers/mockRuntime.js +0 -146
  77. package/dist/__tests__/helpers/mockRuntime.js.map +0 -1
  78. package/dist/__tests__/hooks.test.d.ts +0 -9
  79. package/dist/__tests__/hooks.test.d.ts.map +0 -1
  80. package/dist/__tests__/hooks.test.js +0 -192
  81. package/dist/__tests__/hooks.test.js.map +0 -1
  82. package/dist/__tests__/manifestActivationHook.test.d.ts +0 -2
  83. package/dist/__tests__/manifestActivationHook.test.d.ts.map +0 -1
  84. package/dist/__tests__/manifestActivationHook.test.js +0 -312
  85. package/dist/__tests__/manifestActivationHook.test.js.map +0 -1
  86. package/dist/__tests__/memory.test.d.ts +0 -2
  87. package/dist/__tests__/memory.test.d.ts.map +0 -1
  88. package/dist/__tests__/memory.test.js +0 -192
  89. package/dist/__tests__/memory.test.js.map +0 -1
  90. package/dist/__tests__/onChainActions.parity.test.d.ts +0 -12
  91. package/dist/__tests__/onChainActions.parity.test.d.ts.map +0 -1
  92. package/dist/__tests__/onChainActions.parity.test.js +0 -104
  93. package/dist/__tests__/onChainActions.parity.test.js.map +0 -1
  94. package/dist/__tests__/querySegmentation.test.d.ts +0 -2
  95. package/dist/__tests__/querySegmentation.test.d.ts.map +0 -1
  96. package/dist/__tests__/querySegmentation.test.js +0 -187
  97. package/dist/__tests__/querySegmentation.test.js.map +0 -1
  98. package/dist/__tests__/sandbox.test.d.ts +0 -13
  99. package/dist/__tests__/sandbox.test.d.ts.map +0 -1
  100. package/dist/__tests__/sandbox.test.js +0 -413
  101. package/dist/__tests__/sandbox.test.js.map +0 -1
  102. package/dist/__tests__/signing.test.d.ts +0 -2
  103. package/dist/__tests__/signing.test.d.ts.map +0 -1
  104. package/dist/__tests__/signing.test.js +0 -260
  105. package/dist/__tests__/signing.test.js.map +0 -1
  106. package/dist/__tests__/wakeUpStack.test.d.ts +0 -2
  107. package/dist/__tests__/wakeUpStack.test.d.ts.map +0 -1
  108. package/dist/__tests__/wakeUpStack.test.js +0 -239
  109. package/dist/__tests__/wakeUpStack.test.js.map +0 -1
  110. package/dist/actionCatalog.d.ts +0 -57
  111. package/dist/actionCatalog.d.ts.map +0 -1
  112. package/dist/actionCatalog.generated.d.ts +0 -4
  113. package/dist/actionCatalog.generated.d.ts.map +0 -1
  114. package/dist/actionCatalog.generated.js +0 -2149
  115. package/dist/actionCatalog.generated.js.map +0 -1
  116. package/dist/actionCatalog.js +0 -210
  117. package/dist/actionCatalog.js.map +0 -1
  118. package/dist/api-marketplace.d.ts +0 -111
  119. package/dist/api-marketplace.d.ts.map +0 -1
  120. package/dist/api-marketplace.js +0 -154
  121. package/dist/api-marketplace.js.map +0 -1
  122. package/dist/artifactEmbeddings.d.ts +0 -69
  123. package/dist/artifactEmbeddings.d.ts.map +0 -1
  124. package/dist/artifactEmbeddings.js +0 -52
  125. package/dist/artifactEmbeddings.js.map +0 -1
  126. package/dist/autonomous.d.ts +0 -271
  127. package/dist/autonomous.d.ts.map +0 -1
  128. package/dist/autonomous.js +0 -3515
  129. package/dist/autonomous.js.map +0 -1
  130. package/dist/bounties.d.ts +0 -112
  131. package/dist/bounties.d.ts.map +0 -1
  132. package/dist/bounties.js +0 -140
  133. package/dist/bounties.js.map +0 -1
  134. package/dist/bundles.d.ts +0 -174
  135. package/dist/bundles.d.ts.map +0 -1
  136. package/dist/bundles.js +0 -208
  137. package/dist/bundles.js.map +0 -1
  138. package/dist/channels.d.ts +0 -131
  139. package/dist/channels.d.ts.map +0 -1
  140. package/dist/channels.js +0 -227
  141. package/dist/channels.js.map +0 -1
  142. package/dist/chat/chatEngine.d.ts +0 -138
  143. package/dist/chat/chatEngine.d.ts.map +0 -1
  144. package/dist/chat/chatEngine.js +0 -605
  145. package/dist/chat/chatEngine.js.map +0 -1
  146. package/dist/chat/index.d.ts +0 -30
  147. package/dist/chat/index.d.ts.map +0 -1
  148. package/dist/chat/index.js +0 -29
  149. package/dist/chat/index.js.map +0 -1
  150. package/dist/chat/terminal.d.ts +0 -19
  151. package/dist/chat/terminal.d.ts.map +0 -1
  152. package/dist/chat/terminal.js +0 -17
  153. package/dist/chat/terminal.js.map +0 -1
  154. package/dist/chat/terminals/discordTerminal.d.ts +0 -22
  155. package/dist/chat/terminals/discordTerminal.d.ts.map +0 -1
  156. package/dist/chat/terminals/discordTerminal.js +0 -132
  157. package/dist/chat/terminals/discordTerminal.js.map +0 -1
  158. package/dist/chat/terminals/openclawTerminal.d.ts +0 -43
  159. package/dist/chat/terminals/openclawTerminal.d.ts.map +0 -1
  160. package/dist/chat/terminals/openclawTerminal.js +0 -186
  161. package/dist/chat/terminals/openclawTerminal.js.map +0 -1
  162. package/dist/chat/terminals/stdinTerminal.d.ts +0 -18
  163. package/dist/chat/terminals/stdinTerminal.d.ts.map +0 -1
  164. package/dist/chat/terminals/stdinTerminal.js +0 -58
  165. package/dist/chat/terminals/stdinTerminal.js.map +0 -1
  166. package/dist/chat/terminals/telegramTerminal.d.ts +0 -27
  167. package/dist/chat/terminals/telegramTerminal.d.ts.map +0 -1
  168. package/dist/chat/terminals/telegramTerminal.js +0 -123
  169. package/dist/chat/terminals/telegramTerminal.js.map +0 -1
  170. package/dist/cognitiveWorkspace.d.ts +0 -107
  171. package/dist/cognitiveWorkspace.d.ts.map +0 -1
  172. package/dist/cognitiveWorkspace.js +0 -94
  173. package/dist/cognitiveWorkspace.js.map +0 -1
  174. package/dist/communities.d.ts +0 -40
  175. package/dist/communities.d.ts.map +0 -1
  176. package/dist/communities.js +0 -53
  177. package/dist/communities.js.map +0 -1
  178. package/dist/connection.d.ts +0 -90
  179. package/dist/connection.d.ts.map +0 -1
  180. package/dist/connection.js +0 -427
  181. package/dist/connection.js.map +0 -1
  182. package/dist/contentSafety.d.ts +0 -64
  183. package/dist/contentSafety.d.ts.map +0 -1
  184. package/dist/contentSafety.js +0 -119
  185. package/dist/contentSafety.js.map +0 -1
  186. package/dist/conversation/compactionMemory.d.ts +0 -124
  187. package/dist/conversation/compactionMemory.d.ts.map +0 -1
  188. package/dist/conversation/compactionMemory.js +0 -379
  189. package/dist/conversation/compactionMemory.js.map +0 -1
  190. package/dist/conversation/conversationLogStore.d.ts +0 -111
  191. package/dist/conversation/conversationLogStore.d.ts.map +0 -1
  192. package/dist/conversation/conversationLogStore.js +0 -248
  193. package/dist/conversation/conversationLogStore.js.map +0 -1
  194. package/dist/conversation/conversationMemory.d.ts +0 -59
  195. package/dist/conversation/conversationMemory.d.ts.map +0 -1
  196. package/dist/conversation/conversationMemory.js +0 -32
  197. package/dist/conversation/conversationMemory.js.map +0 -1
  198. package/dist/conversation/index.d.ts +0 -16
  199. package/dist/conversation/index.d.ts.map +0 -1
  200. package/dist/conversation/index.js +0 -5
  201. package/dist/conversation/index.js.map +0 -1
  202. package/dist/conversation/modelLimits.d.ts +0 -43
  203. package/dist/conversation/modelLimits.d.ts.map +0 -1
  204. package/dist/conversation/modelLimits.js +0 -67
  205. package/dist/conversation/modelLimits.js.map +0 -1
  206. package/dist/cro.d.ts +0 -243
  207. package/dist/cro.d.ts.map +0 -1
  208. package/dist/cro.js +0 -263
  209. package/dist/cro.js.map +0 -1
  210. package/dist/defaultGuardrails.d.ts +0 -21
  211. package/dist/defaultGuardrails.d.ts.map +0 -1
  212. package/dist/defaultGuardrails.js +0 -90
  213. package/dist/defaultGuardrails.js.map +0 -1
  214. package/dist/delegations.d.ts +0 -63
  215. package/dist/delegations.d.ts.map +0 -1
  216. package/dist/delegations.js +0 -41
  217. package/dist/delegations.js.map +0 -1
  218. package/dist/discovery.d.ts +0 -172
  219. package/dist/discovery.d.ts.map +0 -1
  220. package/dist/discovery.js +0 -300
  221. package/dist/discovery.js.map +0 -1
  222. package/dist/doomLoop.d.ts +0 -52
  223. package/dist/doomLoop.d.ts.map +0 -1
  224. package/dist/doomLoop.js +0 -173
  225. package/dist/doomLoop.js.map +0 -1
  226. package/dist/economy.d.ts +0 -244
  227. package/dist/economy.d.ts.map +0 -1
  228. package/dist/economy.js +0 -263
  229. package/dist/economy.js.map +0 -1
  230. package/dist/email.d.ts +0 -125
  231. package/dist/email.d.ts.map +0 -1
  232. package/dist/email.js +0 -91
  233. package/dist/email.js.map +0 -1
  234. package/dist/embeddingExchange.d.ts +0 -141
  235. package/dist/embeddingExchange.d.ts.map +0 -1
  236. package/dist/embeddingExchange.js +0 -95
  237. package/dist/embeddingExchange.js.map +0 -1
  238. package/dist/episodicMemoryHook.d.ts +0 -39
  239. package/dist/episodicMemoryHook.d.ts.map +0 -1
  240. package/dist/episodicMemoryHook.js +0 -58
  241. package/dist/episodicMemoryHook.js.map +0 -1
  242. package/dist/evaluator.d.ts +0 -113
  243. package/dist/evaluator.d.ts.map +0 -1
  244. package/dist/evaluator.js +0 -144
  245. package/dist/evaluator.js.map +0 -1
  246. package/dist/events.d.ts +0 -58
  247. package/dist/events.d.ts.map +0 -1
  248. package/dist/events.js +0 -86
  249. package/dist/events.js.map +0 -1
  250. package/dist/formatters.d.ts +0 -31
  251. package/dist/formatters.d.ts.map +0 -1
  252. package/dist/formatters.js +0 -227
  253. package/dist/formatters.js.map +0 -1
  254. package/dist/gpu.d.ts +0 -137
  255. package/dist/gpu.d.ts.map +0 -1
  256. package/dist/gpu.js +0 -166
  257. package/dist/gpu.js.map +0 -1
  258. package/dist/guardrails.d.ts +0 -182
  259. package/dist/guardrails.d.ts.map +0 -1
  260. package/dist/guardrails.js +0 -277
  261. package/dist/guardrails.js.map +0 -1
  262. package/dist/guilds.d.ts +0 -158
  263. package/dist/guilds.d.ts.map +0 -1
  264. package/dist/guilds.js +0 -205
  265. package/dist/guilds.js.map +0 -1
  266. package/dist/heartbeat.d.ts +0 -43
  267. package/dist/heartbeat.d.ts.map +0 -1
  268. package/dist/heartbeat.js +0 -72
  269. package/dist/heartbeat.js.map +0 -1
  270. package/dist/hooks.d.ts +0 -172
  271. package/dist/hooks.d.ts.map +0 -1
  272. package/dist/hooks.js +0 -91
  273. package/dist/hooks.js.map +0 -1
  274. package/dist/identity.d.ts +0 -61
  275. package/dist/identity.d.ts.map +0 -1
  276. package/dist/identity.js +0 -76
  277. package/dist/identity.js.map +0 -1
  278. package/dist/inbox.d.ts +0 -77
  279. package/dist/inbox.d.ts.map +0 -1
  280. package/dist/inbox.js +0 -98
  281. package/dist/inbox.js.map +0 -1
  282. package/dist/index.d.ts +0 -321
  283. package/dist/index.d.ts.map +0 -1
  284. package/dist/index.js +0 -361
  285. package/dist/index.js.map +0 -1
  286. package/dist/insights.d.ts +0 -166
  287. package/dist/insights.d.ts.map +0 -1
  288. package/dist/insights.js +0 -100
  289. package/dist/insights.js.map +0 -1
  290. package/dist/intents.d.ts +0 -132
  291. package/dist/intents.d.ts.map +0 -1
  292. package/dist/intents.js +0 -81
  293. package/dist/intents.js.map +0 -1
  294. package/dist/knowledgeContext.d.ts +0 -68
  295. package/dist/knowledgeContext.d.ts.map +0 -1
  296. package/dist/knowledgeContext.js +0 -109
  297. package/dist/knowledgeContext.js.map +0 -1
  298. package/dist/leaderboard.d.ts +0 -30
  299. package/dist/leaderboard.d.ts.map +0 -1
  300. package/dist/leaderboard.js +0 -34
  301. package/dist/leaderboard.js.map +0 -1
  302. package/dist/manifest.d.ts +0 -127
  303. package/dist/manifest.d.ts.map +0 -1
  304. package/dist/manifest.js +0 -123
  305. package/dist/manifest.js.map +0 -1
  306. package/dist/manifestActivationHook.d.ts +0 -72
  307. package/dist/manifestActivationHook.d.ts.map +0 -1
  308. package/dist/manifestActivationHook.js +0 -180
  309. package/dist/manifestActivationHook.js.map +0 -1
  310. package/dist/marketplace.d.ts +0 -156
  311. package/dist/marketplace.d.ts.map +0 -1
  312. package/dist/marketplace.js +0 -215
  313. package/dist/marketplace.js.map +0 -1
  314. package/dist/matching.d.ts +0 -192
  315. package/dist/matching.d.ts.map +0 -1
  316. package/dist/matching.js +0 -138
  317. package/dist/matching.js.map +0 -1
  318. package/dist/memory.d.ts +0 -287
  319. package/dist/memory.d.ts.map +0 -1
  320. package/dist/memory.js +0 -379
  321. package/dist/memory.js.map +0 -1
  322. package/dist/mining.d.ts +0 -155
  323. package/dist/mining.d.ts.map +0 -1
  324. package/dist/mining.js +0 -365
  325. package/dist/mining.js.map +0 -1
  326. package/dist/oracle.d.ts +0 -30
  327. package/dist/oracle.d.ts.map +0 -1
  328. package/dist/oracle.js +0 -31
  329. package/dist/oracle.js.map +0 -1
  330. package/dist/policies.d.ts +0 -132
  331. package/dist/policies.d.ts.map +0 -1
  332. package/dist/policies.js +0 -62
  333. package/dist/policies.js.map +0 -1
  334. package/dist/proactive.d.ts +0 -197
  335. package/dist/proactive.d.ts.map +0 -1
  336. package/dist/proactive.js +0 -229
  337. package/dist/proactive.js.map +0 -1
  338. package/dist/projects.d.ts +0 -307
  339. package/dist/projects.d.ts.map +0 -1
  340. package/dist/projects.js +0 -438
  341. package/dist/projects.js.map +0 -1
  342. package/dist/querySegmentation.d.ts +0 -54
  343. package/dist/querySegmentation.d.ts.map +0 -1
  344. package/dist/querySegmentation.js +0 -80
  345. package/dist/querySegmentation.js.map +0 -1
  346. package/dist/sandbox.d.ts +0 -156
  347. package/dist/sandbox.d.ts.map +0 -1
  348. package/dist/sandbox.js +0 -425
  349. package/dist/sandbox.js.map +0 -1
  350. package/dist/signalActionMap.d.ts +0 -59
  351. package/dist/signalActionMap.d.ts.map +0 -1
  352. package/dist/signalActionMap.js +0 -299
  353. package/dist/signalActionMap.js.map +0 -1
  354. package/dist/signing.d.ts +0 -94
  355. package/dist/signing.d.ts.map +0 -1
  356. package/dist/signing.js +0 -158
  357. package/dist/signing.js.map +0 -1
  358. package/dist/social.d.ts +0 -176
  359. package/dist/social.d.ts.map +0 -1
  360. package/dist/social.js +0 -232
  361. package/dist/social.js.map +0 -1
  362. package/dist/specialization.d.ts +0 -108
  363. package/dist/specialization.d.ts.map +0 -1
  364. package/dist/specialization.js +0 -104
  365. package/dist/specialization.js.map +0 -1
  366. package/dist/swarms.d.ts +0 -106
  367. package/dist/swarms.d.ts.map +0 -1
  368. package/dist/swarms.js +0 -99
  369. package/dist/swarms.js.map +0 -1
  370. package/dist/teaching.d.ts +0 -171
  371. package/dist/teaching.d.ts.map +0 -1
  372. package/dist/teaching.js +0 -87
  373. package/dist/teaching.js.map +0 -1
  374. package/dist/tools.d.ts +0 -223
  375. package/dist/tools.d.ts.map +0 -1
  376. package/dist/tools.js +0 -320
  377. package/dist/tools.js.map +0 -1
  378. package/dist/treasury-ops.d.ts +0 -101
  379. package/dist/treasury-ops.d.ts.map +0 -1
  380. package/dist/treasury-ops.js +0 -59
  381. package/dist/treasury-ops.js.map +0 -1
  382. package/dist/types.d.ts +0 -1193
  383. package/dist/types.d.ts.map +0 -1
  384. package/dist/types.js +0 -7
  385. package/dist/types.js.map +0 -1
  386. package/dist/wakeUpStack.d.ts +0 -94
  387. package/dist/wakeUpStack.d.ts.map +0 -1
  388. package/dist/wakeUpStack.js +0 -215
  389. package/dist/wakeUpStack.js.map +0 -1
  390. package/dist/workspace.d.ts +0 -318
  391. package/dist/workspace.d.ts.map +0 -1
  392. package/dist/workspace.js +0 -207
  393. package/dist/workspace.js.map +0 -1
  394. package/dist/xmtp.d.ts +0 -85
  395. package/dist/xmtp.d.ts.map +0 -1
  396. package/dist/xmtp.js +0 -250
  397. package/dist/xmtp.js.map +0 -1
package/dist/xmtp.js DELETED
@@ -1,250 +0,0 @@
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
- import { sanitizeForPrompt } from "./contentSafety.js";
13
- // ── Rate limiter ──────────────────────────────────────────────
14
- class SlidingWindowRateLimiter {
15
- maxPerWindow;
16
- windowMs;
17
- windows = new Map();
18
- constructor(maxPerWindow, windowMs = 60_000) {
19
- this.maxPerWindow = maxPerWindow;
20
- this.windowMs = windowMs;
21
- }
22
- allow(key) {
23
- const now = Date.now();
24
- const cutoff = now - this.windowMs;
25
- let timestamps = this.windows.get(key) || [];
26
- timestamps = timestamps.filter((t) => t > cutoff);
27
- if (timestamps.length >= this.maxPerWindow) {
28
- this.windows.set(key, timestamps);
29
- return false;
30
- }
31
- timestamps.push(now);
32
- this.windows.set(key, timestamps);
33
- return true;
34
- }
35
- /** Prune stale entries to prevent memory growth */
36
- prune() {
37
- const now = Date.now();
38
- const cutoff = now - this.windowMs;
39
- for (const [key, timestamps] of this.windows) {
40
- const active = timestamps.filter((t) => t > cutoff);
41
- if (active.length === 0) {
42
- this.windows.delete(key);
43
- }
44
- else {
45
- this.windows.set(key, active);
46
- }
47
- }
48
- }
49
- }
50
- // ── XmtpManager ───────────────────────────────────────────────
51
- /**
52
- * Manages XMTP messaging with rate limiting and content safety.
53
- *
54
- * Uses dynamic imports for `@xmtp/agent-sdk` — the module is only
55
- * loaded when `start()` is called, so missing the dependency doesn't
56
- * break other functionality.
57
- */
58
- export class XmtpManager {
59
- config;
60
- client = null;
61
- handlers = [];
62
- running = false;
63
- conversationLimiter;
64
- totalLimiter;
65
- pruneInterval = null;
66
- log;
67
- constructor(config, log) {
68
- this.config = {
69
- env: "production",
70
- bridgeToGateway: true,
71
- perConversationRateLimit: 60,
72
- totalRateLimit: 300,
73
- ...config,
74
- };
75
- this.log = log || (() => { });
76
- this.conversationLimiter = new SlidingWindowRateLimiter(this.config.perConversationRateLimit);
77
- this.totalLimiter = new SlidingWindowRateLimiter(this.config.totalRateLimit);
78
- }
79
- /**
80
- * Start the XMTP client and begin listening for messages.
81
- * Throws if `@xmtp/agent-sdk` is not installed.
82
- */
83
- async start() {
84
- if (this.running)
85
- return;
86
- // Dynamic import — will throw if not installed
87
- let xmtpModule;
88
- try {
89
- xmtpModule = await import("@xmtp/agent-sdk");
90
- }
91
- catch {
92
- throw new Error("XMTP bridge requires @xmtp/agent-sdk. Install it with: npm install @xmtp/agent-sdk");
93
- }
94
- // Create XMTP client from private key
95
- const { ethers } = await import("ethers");
96
- const wallet = new ethers.Wallet(this.config.privateKey);
97
- this.log(`Starting XMTP client for ${wallet.address}...`);
98
- try {
99
- this.client = await xmtpModule.Client.create(wallet, {
100
- env: this.config.env,
101
- });
102
- }
103
- catch (err) {
104
- throw new Error(`Failed to create XMTP client: ${err instanceof Error ? err.message : String(err)}`);
105
- }
106
- this.running = true;
107
- this.log(`XMTP client started (env: ${this.config.env})`);
108
- // Prune rate limiter windows every 5 minutes
109
- this.pruneInterval = setInterval(() => {
110
- this.conversationLimiter.prune();
111
- this.totalLimiter.prune();
112
- }, 5 * 60_000);
113
- // Start message stream
114
- this.startMessageStream().catch((err) => {
115
- this.log(`XMTP message stream error: ${err instanceof Error ? err.message : String(err)}`);
116
- });
117
- }
118
- /**
119
- * Stop the XMTP client and clean up.
120
- */
121
- async stop() {
122
- this.running = false;
123
- if (this.pruneInterval) {
124
- clearInterval(this.pruneInterval);
125
- this.pruneInterval = null;
126
- }
127
- this.client = null;
128
- this.log("XMTP client stopped");
129
- }
130
- /**
131
- * Send a message to an XMTP address.
132
- */
133
- async send(to, content) {
134
- if (!this.client) {
135
- throw new Error("XMTP client not started. Call start() first.");
136
- }
137
- // Rate limit outgoing too
138
- if (!this.totalLimiter.allow("_outgoing_total")) {
139
- this.log(`XMTP send rate limited (total)`);
140
- return;
141
- }
142
- try {
143
- const client = this.client;
144
- const conversation = await client.conversations.newConversation(to);
145
- await conversation.send(content);
146
- this.log(`XMTP sent to ${to.slice(0, 10)}...`);
147
- }
148
- catch (err) {
149
- this.log(`XMTP send failed: ${err instanceof Error ? err.message : String(err)}`);
150
- throw err;
151
- }
152
- }
153
- /**
154
- * Check if an address is reachable on the XMTP network.
155
- */
156
- async isReachable(address) {
157
- if (!this.client)
158
- return false;
159
- try {
160
- const client = this.client;
161
- return await client.canMessage(address);
162
- }
163
- catch {
164
- return false;
165
- }
166
- }
167
- /**
168
- * Register a handler for incoming XMTP messages.
169
- */
170
- onMessage(handler) {
171
- this.handlers.push(handler);
172
- }
173
- /**
174
- * Remove a message handler.
175
- */
176
- offMessage(handler) {
177
- this.handlers = this.handlers.filter((h) => h !== handler);
178
- }
179
- /** Whether the client is currently running */
180
- get isRunning() {
181
- return this.running;
182
- }
183
- // ── Internal ──────────────────────────────────────────────
184
- async startMessageStream() {
185
- if (!this.client || !this.running)
186
- return;
187
- try {
188
- const client = this.client;
189
- const stream = client.conversations.streamAllMessages();
190
- for await (const message of stream) {
191
- if (!this.running)
192
- break;
193
- // Skip own messages
194
- const clientAddr = this.client.address;
195
- if (message.senderAddress === clientAddr)
196
- continue;
197
- const conversationId = message.conversationId || message.id || "unknown";
198
- // Rate limit
199
- if (!this.totalLimiter.allow("_incoming_total")) {
200
- this.log(`XMTP rate limited (total) — dropping message from ${message.senderAddress.slice(0, 10)}...`);
201
- continue;
202
- }
203
- if (!this.conversationLimiter.allow(conversationId)) {
204
- this.log(`XMTP rate limited (conversation ${conversationId.slice(0, 8)}...) — dropping`);
205
- continue;
206
- }
207
- // Content safety
208
- const sanitizedContent = sanitizeForPrompt(typeof message.content === "string" ? message.content : JSON.stringify(message.content));
209
- const xmtpMsg = {
210
- senderAddress: message.senderAddress,
211
- content: sanitizedContent,
212
- conversationId,
213
- timestamp: message.sent || new Date(),
214
- };
215
- // Notify handlers
216
- for (const handler of this.handlers) {
217
- try {
218
- await handler(xmtpMsg);
219
- }
220
- catch (err) {
221
- this.log(`XMTP handler error: ${err instanceof Error ? err.message : String(err)}`);
222
- }
223
- }
224
- }
225
- }
226
- catch (err) {
227
- if (this.running) {
228
- this.log(`XMTP stream error: ${err instanceof Error ? err.message : String(err)}`);
229
- // Retry after delay
230
- await new Promise((resolve) => setTimeout(resolve, 5000));
231
- if (this.running) {
232
- this.startMessageStream().catch(() => { });
233
- }
234
- }
235
- }
236
- }
237
- }
238
- /**
239
- * Check if `@xmtp/agent-sdk` is available for import.
240
- */
241
- export async function isXmtpAvailable() {
242
- try {
243
- await import("@xmtp/agent-sdk");
244
- return true;
245
- }
246
- catch {
247
- return false;
248
- }
249
- }
250
- //# sourceMappingURL=xmtp.js.map
package/dist/xmtp.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"xmtp.js","sourceRoot":"","sources":["../src/xmtp.ts"],"names":[],"mappings":"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"}