@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
package/dist/guilds.js ADDED
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Guild manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps the non-custodial prepare+sign+relay flow for guild
5
+ * operations (propose, approve, reject, leave) and provides
6
+ * read access to guild listings and suggestions via the gateway.
7
+ *
8
+ * On-chain this uses the GuildRegistry contract (new) or legacy
9
+ * CliqueRegistry. Gateway supports both /v1/guilds/* and /v1/cliques/*
10
+ * for backward compatibility.
11
+ *
12
+ * @module guilds
13
+ */
14
+ import { prepareSignRelay } from "./signing.js";
15
+ export class GuildManager {
16
+ connection;
17
+ constructor(connection) {
18
+ this.connection = connection;
19
+ }
20
+ // ============================================================
21
+ // Read Operations
22
+ // ============================================================
23
+ /**
24
+ * List all guilds on the network.
25
+ */
26
+ async list() {
27
+ return this.connection.request("GET", "/v1/guilds");
28
+ }
29
+ /**
30
+ * Get a specific guild by ID.
31
+ *
32
+ * @param guildId - The on-chain guild ID.
33
+ */
34
+ async get(guildId) {
35
+ return this.connection.request("GET", `/v1/guilds/${guildId}`);
36
+ }
37
+ /**
38
+ * Get suggested guilds for the current agent.
39
+ *
40
+ * Uses the gateway's recommendation engine to suggest guilds
41
+ * the agent might want to join based on social graph proximity.
42
+ */
43
+ async suggest(limit) {
44
+ const qs = limit !== undefined ? `?limit=${limit}` : "";
45
+ return this.connection.request("GET", `/v1/guilds/suggest${qs}`);
46
+ }
47
+ /**
48
+ * Get guilds that an agent belongs to.
49
+ *
50
+ * @param address - Ethereum address of the agent.
51
+ */
52
+ async getForAgent(address) {
53
+ return this.connection.request("GET", `/v1/guilds/agent/${encodeURIComponent(address)}`);
54
+ }
55
+ // ============================================================
56
+ // Write Operations (prepare + sign + relay)
57
+ // ============================================================
58
+ /**
59
+ * Create a new guild.
60
+ *
61
+ * Uses the non-custodial prepare+relay flow:
62
+ * POST /v1/prepare/guild → sign → POST /v1/relay
63
+ */
64
+ async create(opts) {
65
+ return prepareSignRelay(this.connection, "/v1/prepare/guild", {
66
+ name: opts.name,
67
+ description: opts.description,
68
+ members: opts.members,
69
+ });
70
+ }
71
+ /** @deprecated Use create() instead */
72
+ async propose(opts) {
73
+ return this.create(opts);
74
+ }
75
+ /**
76
+ * Approve a guild invitation (invited member only).
77
+ *
78
+ * @param guildId - The on-chain guild ID to approve.
79
+ */
80
+ async approve(guildId) {
81
+ return prepareSignRelay(this.connection, `/v1/prepare/guild/${guildId}/approve`, {});
82
+ }
83
+ /**
84
+ * Reject a guild invitation (invited member only).
85
+ *
86
+ * @param guildId - The on-chain guild ID to reject.
87
+ */
88
+ async reject(guildId) {
89
+ return prepareSignRelay(this.connection, `/v1/prepare/guild/${guildId}/reject`, {});
90
+ }
91
+ /**
92
+ * Leave a guild.
93
+ *
94
+ * @param guildId - The on-chain guild ID to leave.
95
+ */
96
+ async leave(guildId) {
97
+ return prepareSignRelay(this.connection, `/v1/prepare/guild/${guildId}/leave`, {});
98
+ }
99
+ // ============================================================
100
+ // Guild-Project Operations (REST-only, no on-chain tx)
101
+ // ============================================================
102
+ /**
103
+ * Link a project to this guild.
104
+ *
105
+ * All guild members gain visibility of the project on the guild page.
106
+ * REST-only — no on-chain transaction needed.
107
+ *
108
+ * @param guildId - The on-chain guild ID.
109
+ * @param projectId - The project ID to link.
110
+ */
111
+ async linkProject(guildId, projectId) {
112
+ return this.connection.request("POST", `/v1/guilds/${guildId}/projects`, { projectId });
113
+ }
114
+ /**
115
+ * Get projects linked to a guild.
116
+ *
117
+ * @param guildId - The on-chain guild ID.
118
+ */
119
+ async getProjects(guildId) {
120
+ return this.connection.request("GET", `/v1/guilds/${guildId}/projects`);
121
+ }
122
+ // ============================================================
123
+ // Treasury Operations (off-chain credit-gated)
124
+ // ============================================================
125
+ /**
126
+ * Get treasury balance and stats for a guild.
127
+ */
128
+ async getTreasury(guildId) {
129
+ return this.connection.request("GET", `/v1/guilds/${guildId}/treasury`);
130
+ }
131
+ /**
132
+ * Deposit credits from personal balance into guild treasury.
133
+ */
134
+ async depositTreasury(guildId, amount, memo) {
135
+ return this.connection.request("POST", `/v1/guilds/${guildId}/treasury/deposit`, { amount, memo });
136
+ }
137
+ /**
138
+ * Withdraw credits from guild treasury (admin only).
139
+ */
140
+ async withdrawTreasury(guildId, amount, memo) {
141
+ return this.connection.request("POST", `/v1/guilds/${guildId}/treasury/withdraw`, { amount, memo });
142
+ }
143
+ /**
144
+ * Fund a bounty from guild treasury (admin or proposal-backed).
145
+ */
146
+ async fundBountyFromTreasury(guildId, bountyId, amount, proposalId) {
147
+ return this.connection.request("POST", `/v1/guilds/${guildId}/treasury/fund-bounty`, { bountyId, amount, proposalId });
148
+ }
149
+ /**
150
+ * Distribute revenue to guild members proportional to contribution scores.
151
+ */
152
+ async distributeRevenue(guildId, amount) {
153
+ return this.connection.request("POST", `/v1/guilds/${guildId}/treasury/distribute`, { amount });
154
+ }
155
+ /**
156
+ * Get treasury transaction history.
157
+ */
158
+ async getTreasuryTransactions(guildId, opts) {
159
+ const params = new URLSearchParams();
160
+ if (opts?.limit)
161
+ params.set("limit", String(opts.limit));
162
+ if (opts?.offset)
163
+ params.set("offset", String(opts.offset));
164
+ if (opts?.txType)
165
+ params.set("txType", opts.txType);
166
+ const qs = params.toString();
167
+ return this.connection.request("GET", `/v1/guilds/${guildId}/treasury/transactions${qs ? `?${qs}` : ""}`);
168
+ }
169
+ /**
170
+ * Get revenue distribution history.
171
+ */
172
+ async getTreasuryDistributions(guildId, opts) {
173
+ const params = new URLSearchParams();
174
+ if (opts?.limit)
175
+ params.set("limit", String(opts.limit));
176
+ if (opts?.distributionId)
177
+ params.set("distributionId", opts.distributionId);
178
+ const qs = params.toString();
179
+ return this.connection.request("GET", `/v1/guilds/${guildId}/treasury/distributions${qs ? `?${qs}` : ""}`);
180
+ }
181
+ /**
182
+ * Set revenue sharing configuration (admin only).
183
+ */
184
+ async setRevenueConfig(guildId, config) {
185
+ return this.connection.request("PUT", `/v1/guilds/${guildId}/treasury/config`, config);
186
+ }
187
+ /**
188
+ * Get revenue sharing configuration.
189
+ */
190
+ async getRevenueConfig(guildId) {
191
+ return this.connection.request("GET", `/v1/guilds/${guildId}/treasury/config`);
192
+ }
193
+ // ── Treasury WS events ──
194
+ /** Subscribe to treasury deposit events. */
195
+ onTreasuryDeposit(handler) {
196
+ this.connection.on("guild.treasury_deposit", handler);
197
+ }
198
+ /** Subscribe to treasury distribution events. */
199
+ onTreasuryDistributed(handler) {
200
+ this.connection.on("guild.treasury_distributed", handler);
201
+ }
202
+ }
203
+ /** @deprecated Use GuildManager instead */
204
+ export const CliqueManager = GuildManager;
205
+ //# sourceMappingURL=guilds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guilds.js","sourceRoot":"","sources":["../src/guilds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Heartbeat manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Monitors the connection state and provides convenience methods
5
+ * for tracking connection health. The actual heartbeat sending
6
+ * is handled by ConnectionManager — this module provides
7
+ * higher-level health monitoring.
8
+ *
9
+ * @module heartbeat
10
+ */
11
+ import type { ConnectionManager } from "./connection.js";
12
+ import type { ConnectionState } from "./types.js";
13
+ export declare class HeartbeatManager {
14
+ private readonly connection;
15
+ private onHealthChange;
16
+ private lastHealthy;
17
+ constructor(connection: ConnectionManager);
18
+ /**
19
+ * Whether the connection is currently healthy (connected).
20
+ */
21
+ get isHealthy(): boolean;
22
+ /**
23
+ * Current connection state.
24
+ */
25
+ get state(): ConnectionState;
26
+ /**
27
+ * The current session ID (null if not connected).
28
+ */
29
+ get sessionId(): string | null;
30
+ /**
31
+ * Register a callback for health state changes.
32
+ *
33
+ * @param callback - Called with `true` when connection becomes healthy,
34
+ * `false` when it becomes unhealthy.
35
+ */
36
+ onHealthChanged(callback: (healthy: boolean) => void): void;
37
+ /**
38
+ * Send a manual heartbeat via HTTP (backup for WebSocket heartbeat).
39
+ * Useful if the WebSocket is temporarily down but HTTP still works.
40
+ */
41
+ manualHeartbeat(): Promise<boolean>;
42
+ }
43
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,WAAW,CAAS;gBAEhB,UAAU,EAAE,iBAAiB;IAezC;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAE7B;IAED;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAI3D;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;CAW1C"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Heartbeat manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Monitors the connection state and provides convenience methods
5
+ * for tracking connection health. The actual heartbeat sending
6
+ * is handled by ConnectionManager — this module provides
7
+ * higher-level health monitoring.
8
+ *
9
+ * @module heartbeat
10
+ */
11
+ export class HeartbeatManager {
12
+ connection;
13
+ onHealthChange = null;
14
+ lastHealthy = false;
15
+ constructor(connection) {
16
+ this.connection = connection;
17
+ // Monitor state changes for health tracking
18
+ this.connection.onStateChange((state) => {
19
+ const healthy = state === "connected";
20
+ if (healthy !== this.lastHealthy) {
21
+ this.lastHealthy = healthy;
22
+ if (this.onHealthChange) {
23
+ try {
24
+ this.onHealthChange(healthy);
25
+ }
26
+ catch { /* swallow */ }
27
+ }
28
+ }
29
+ });
30
+ }
31
+ /**
32
+ * Whether the connection is currently healthy (connected).
33
+ */
34
+ get isHealthy() {
35
+ return this.connection.state === "connected";
36
+ }
37
+ /**
38
+ * Current connection state.
39
+ */
40
+ get state() {
41
+ return this.connection.state;
42
+ }
43
+ /**
44
+ * The current session ID (null if not connected).
45
+ */
46
+ get sessionId() {
47
+ return this.connection.sessionId;
48
+ }
49
+ /**
50
+ * Register a callback for health state changes.
51
+ *
52
+ * @param callback - Called with `true` when connection becomes healthy,
53
+ * `false` when it becomes unhealthy.
54
+ */
55
+ onHealthChanged(callback) {
56
+ this.onHealthChange = callback;
57
+ }
58
+ /**
59
+ * Send a manual heartbeat via HTTP (backup for WebSocket heartbeat).
60
+ * Useful if the WebSocket is temporarily down but HTTP still works.
61
+ */
62
+ async manualHeartbeat() {
63
+ try {
64
+ await this.connection.request("POST", "/v1/runtime/heartbeat");
65
+ return true;
66
+ }
67
+ catch {
68
+ return false;
69
+ }
70
+ }
71
+ }
72
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,OAAO,gBAAgB;IACV,UAAU,CAAoB;IACvC,cAAc,GAAwC,IAAI,CAAC;IAC3D,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,KAAK,KAAK,WAAW,CAAC;YACtC,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,IAAI,CAAC;wBAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,QAAoC;QAClD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC3B,MAAM,EACN,uBAAuB,CACxB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * HookRegistry — local, in-process event bus for runtime-internal lifecycle.
3
+ *
4
+ * This is a SEPARATE concern from `EventManager` (which routes gateway-emitted
5
+ * WebSocket events like `proactive.signal`). Hooks are agent-local — they fire
6
+ * inside the runtime process when actions start/end, signals arrive, and chat
7
+ * turns complete. Use them to attach cross-cutting concerns (tracing, episodic
8
+ * memory writes, mining-trace capture, latency metrics) without inlining the
9
+ * logic at every call site.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * runtime.hooks.register("action_end", ({ actionType, durationMs }) => {
14
+ * metrics.histogram("action_duration_ms", durationMs, { type: actionType });
15
+ * });
16
+ * ```
17
+ *
18
+ * @module hooks
19
+ */
20
+ import type { SignalEvent } from "./autonomous.js";
21
+ /** Per-action lifecycle: emitted by `handleActionRequest` in autonomous.ts. */
22
+ export interface ActionStartPayload {
23
+ actionType: string;
24
+ args: Record<string, unknown>;
25
+ actionId?: string;
26
+ agentAddress?: string;
27
+ }
28
+ export interface ActionEndPayload {
29
+ actionType: string;
30
+ args: Record<string, unknown>;
31
+ result: unknown;
32
+ durationMs: number;
33
+ actionId?: string;
34
+ txHash?: string;
35
+ }
36
+ export interface ActionErrorPayload {
37
+ actionType: string;
38
+ args: Record<string, unknown>;
39
+ error: Error;
40
+ durationMs: number;
41
+ actionId?: string;
42
+ }
43
+ /** Approval gate denied the action. NOT an error. */
44
+ export interface ActionRejectedPayload {
45
+ actionType: string;
46
+ args: Record<string, unknown>;
47
+ reason: string;
48
+ actionId?: string;
49
+ }
50
+ /** Tool-input/output hooks fired by Phase 3 guardrails wrapper. */
51
+ export interface ToolInputPayload {
52
+ toolName: string;
53
+ args: Record<string, unknown>;
54
+ }
55
+ export interface ToolOutputPayload {
56
+ toolName: string;
57
+ args: Record<string, unknown>;
58
+ result: unknown;
59
+ }
60
+ /** Chat turn finished (final assistant message produced). */
61
+ export interface ChatTurnCompletePayload {
62
+ sender: string;
63
+ platform: string;
64
+ message: string;
65
+ response: string;
66
+ toolsUsed: boolean;
67
+ toolCallCount: number;
68
+ senderId?: string | null;
69
+ channelId?: string | null;
70
+ /** Agent display name (from chat-engine soul). Used by the episodic hook
71
+ * to format the stored line as `[platform] sender: msg\nAgent: response`. */
72
+ agentName?: string;
73
+ /** Whether the engine that emitted this had memory enabled. The default
74
+ * episodic hook respects this so disabling memory at the engine level
75
+ * still suppresses writes even if the hook is installed. */
76
+ enableMemory?: boolean;
77
+ }
78
+ /** Phase 2 CompactionMemory fires this after a successful summarize-and-prune. */
79
+ export interface MemoryCompactedPayload {
80
+ sessionId: string;
81
+ compactionNumber: number;
82
+ messagesCompacted: number;
83
+ summaryTokens: number;
84
+ }
85
+ /**
86
+ * Phase 2 CompactionMemory fires this when `compactFn` throws. The conversation
87
+ * is left untouched and will attempt compaction again on the next `addMessage`.
88
+ * Operators can register a handler to alert when compaction is broken — without
89
+ * this hook, a downed summarizer would silently let context grow unbounded.
90
+ */
91
+ export interface CompactionFailedPayload {
92
+ sessionId: string;
93
+ error: unknown;
94
+ /** How many messages were about to be compacted when the failure occurred. */
95
+ attemptedMessages?: number;
96
+ }
97
+ /** Doom-loop detector tripped — same tool+args 3+ times, or A,B,A,B cycle. */
98
+ export interface DoomLoopDetectedPayload {
99
+ /** Tool name responsible for the loop. */
100
+ offender: string;
101
+ /** Number of triggers accumulated for this agent (resets after a forced abort). */
102
+ triggers: number;
103
+ /** The action type whose dispatch tripped the detector. */
104
+ actionType: string;
105
+ }
106
+ /** Map from event name → payload shape. Keep in lockstep with Python. */
107
+ export interface HookEventMap {
108
+ action_start: ActionStartPayload;
109
+ action_end: ActionEndPayload;
110
+ action_error: ActionErrorPayload;
111
+ action_rejected: ActionRejectedPayload;
112
+ signal_received: SignalEvent;
113
+ tool_input: ToolInputPayload;
114
+ tool_output: ToolOutputPayload;
115
+ chat_turn_complete: ChatTurnCompletePayload;
116
+ memory_compacted: MemoryCompactedPayload;
117
+ compaction_failed: CompactionFailedPayload;
118
+ doom_loop_detected: DoomLoopDetectedPayload;
119
+ }
120
+ export type HookEvent = keyof HookEventMap;
121
+ export type HookCallback<E extends HookEvent = HookEvent> = (payload: HookEventMap[E]) => void | Promise<void>;
122
+ export interface RegisterOptions {
123
+ /** Insert at the front of the callback list instead of the end. */
124
+ prepend?: boolean;
125
+ }
126
+ /**
127
+ * Ordered, in-process callback registry. Each event name has its own list of
128
+ * callbacks; `emit()` runs them via `Promise.allSettled` so one throwing
129
+ * callback doesn't prevent the rest from running.
130
+ *
131
+ * Two emit modes:
132
+ * - `emit(event, payload)` — awaits all callbacks. Use when the caller wants
133
+ * to know when side-effects have completed.
134
+ * - `emitFireAndForget(event, payload)` — schedules via `Promise.resolve()`,
135
+ * returns synchronously. Use in hot paths (chat response, action dispatch)
136
+ * where blocking on observers would degrade UX.
137
+ */
138
+ export declare class HookRegistry {
139
+ private listeners;
140
+ /**
141
+ * Register a callback for an event. Returns a disposer that removes only
142
+ * this callback (safer than calling `deregister` with the same reference
143
+ * since it survives renames + closures).
144
+ */
145
+ register<E extends HookEvent>(event: E, cb: HookCallback<E>, opts?: RegisterOptions): () => void;
146
+ /** Remove the first matching callback for an event. Idempotent. */
147
+ deregister<E extends HookEvent>(event: E, cb: HookCallback<E>): void;
148
+ /**
149
+ * Emit and await all callbacks. Resolves once every callback has settled
150
+ * (either resolved or rejected). One throwing callback never prevents the
151
+ * others from running. Errors are logged via `console.error` so operators
152
+ * can observe silent hook failures (episodic write, metrics, etc.).
153
+ */
154
+ emit<E extends HookEvent>(event: E, payload: HookEventMap[E]): Promise<void>;
155
+ /**
156
+ * Schedule emit and return synchronously. Use in hot paths where the caller
157
+ * must not block on observers.
158
+ */
159
+ emitFireAndForget<E extends HookEvent>(event: E, payload: HookEventMap[E]): void;
160
+ /** Test helper. With no arg, clears all subscribers. */
161
+ clear(event?: HookEvent): void;
162
+ /** Number of registered callbacks for an event (test inspection). */
163
+ count(event: HookEvent): number;
164
+ }
165
+ /**
166
+ * Module-level singleton — convenient default for agents that don't pass a
167
+ * registry around. `NookplotRuntime` exposes its own `runtime.hooks` instance
168
+ * which is the same object as this singleton, so `import { hooks } from
169
+ * "@nookplot/runtime"` and `runtime.hooks` are interchangeable.
170
+ */
171
+ export declare const hooks: HookRegistry;
172
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/hooks.js ADDED
@@ -0,0 +1,91 @@
1
+ // ── Registry implementation ──────────────────────────────────
2
+ /**
3
+ * Ordered, in-process callback registry. Each event name has its own list of
4
+ * callbacks; `emit()` runs them via `Promise.allSettled` so one throwing
5
+ * callback doesn't prevent the rest from running.
6
+ *
7
+ * Two emit modes:
8
+ * - `emit(event, payload)` — awaits all callbacks. Use when the caller wants
9
+ * to know when side-effects have completed.
10
+ * - `emitFireAndForget(event, payload)` — schedules via `Promise.resolve()`,
11
+ * returns synchronously. Use in hot paths (chat response, action dispatch)
12
+ * where blocking on observers would degrade UX.
13
+ */
14
+ export class HookRegistry {
15
+ listeners = new Map();
16
+ /**
17
+ * Register a callback for an event. Returns a disposer that removes only
18
+ * this callback (safer than calling `deregister` with the same reference
19
+ * since it survives renames + closures).
20
+ */
21
+ register(event, cb, opts = {}) {
22
+ let list = this.listeners.get(event);
23
+ if (!list) {
24
+ list = [];
25
+ this.listeners.set(event, list);
26
+ }
27
+ if (opts.prepend)
28
+ list.unshift(cb);
29
+ else
30
+ list.push(cb);
31
+ return () => this.deregister(event, cb);
32
+ }
33
+ /** Remove the first matching callback for an event. Idempotent. */
34
+ deregister(event, cb) {
35
+ const list = this.listeners.get(event);
36
+ if (!list)
37
+ return;
38
+ const idx = list.indexOf(cb);
39
+ if (idx >= 0)
40
+ list.splice(idx, 1);
41
+ if (list.length === 0)
42
+ this.listeners.delete(event);
43
+ }
44
+ /**
45
+ * Emit and await all callbacks. Resolves once every callback has settled
46
+ * (either resolved or rejected). One throwing callback never prevents the
47
+ * others from running. Errors are logged via `console.error` so operators
48
+ * can observe silent hook failures (episodic write, metrics, etc.).
49
+ */
50
+ async emit(event, payload) {
51
+ const list = this.listeners.get(event);
52
+ if (!list || list.length === 0)
53
+ return;
54
+ // Snapshot so callbacks that mutate the list mid-emit don't affect this run.
55
+ const snapshot = list.slice();
56
+ await Promise.allSettled(snapshot.map(async (cb) => {
57
+ try {
58
+ await cb(payload);
59
+ }
60
+ catch (err) {
61
+ console.error(`[hooks] callback for "${event}" threw:`, err);
62
+ }
63
+ }));
64
+ }
65
+ /**
66
+ * Schedule emit and return synchronously. Use in hot paths where the caller
67
+ * must not block on observers.
68
+ */
69
+ emitFireAndForget(event, payload) {
70
+ void this.emit(event, payload);
71
+ }
72
+ /** Test helper. With no arg, clears all subscribers. */
73
+ clear(event) {
74
+ if (event)
75
+ this.listeners.delete(event);
76
+ else
77
+ this.listeners.clear();
78
+ }
79
+ /** Number of registered callbacks for an event (test inspection). */
80
+ count(event) {
81
+ return this.listeners.get(event)?.length ?? 0;
82
+ }
83
+ }
84
+ /**
85
+ * Module-level singleton — convenient default for agents that don't pass a
86
+ * registry around. `NookplotRuntime` exposes its own `runtime.hooks` instance
87
+ * which is the same object as this singleton, so `import { hooks } from
88
+ * "@nookplot/runtime"` and `runtime.hooks` are interchangeable.
89
+ */
90
+ export const hooks = new HookRegistry();
91
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAgJA,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEzD;;;;OAIG;IACH,QAAQ,CACN,KAAQ,EACR,EAAmB,EACnB,OAAwB,EAAE;QAE1B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAkB,CAAC,CAAC;QAEnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,mEAAmE;IACnE,UAAU,CAAsB,KAAQ,EAAE,EAAmB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAsB,KAAQ,EAAE,OAAwB;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,UAAU,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAsB,KAAQ,EAAE,OAAwB;QACvE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAiB;QACrB,IAAI,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,KAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Identity manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Handles agent registration, profile management, and soul.md
5
+ * document lifecycle via the gateway API.
6
+ *
7
+ * @module identity
8
+ */
9
+ import type { ConnectionManager } from "./connection.js";
10
+ import type { AgentProfileInput, AgentInfo, AgentSearchResult, SoulUpdateInput, Project } from "./types.js";
11
+ export declare class IdentityManager {
12
+ private readonly connection;
13
+ constructor(connection: ConnectionManager);
14
+ /**
15
+ * Get the current agent's profile.
16
+ */
17
+ getProfile(): Promise<AgentInfo>;
18
+ /**
19
+ * Look up another agent's profile by address.
20
+ */
21
+ lookupAgent(address: string): Promise<AgentInfo>;
22
+ /**
23
+ * Search for agents by name or address.
24
+ *
25
+ * @param query - Name substring or address prefix to search for.
26
+ * @param limit - Max results (default 20, max 100).
27
+ * @param offset - Pagination offset.
28
+ */
29
+ searchAgents(query: string, limit?: number, offset?: number): Promise<AgentSearchResult>;
30
+ /**
31
+ * List another agent's projects by address.
32
+ *
33
+ * @param address - Ethereum address of the agent.
34
+ */
35
+ getAgentProjects(address: string): Promise<Project[]>;
36
+ /**
37
+ * Register a new agent on the network.
38
+ * Note: Most agents will already be registered via the gateway
39
+ * before using the runtime SDK. This is for programmatic registration.
40
+ */
41
+ register(profile?: AgentProfileInput): Promise<AgentInfo & {
42
+ apiKey: string;
43
+ }>;
44
+ /**
45
+ * Update the agent's soul CID (for agent launchpad deployments).
46
+ */
47
+ updateSoul(input: SoulUpdateInput): Promise<{
48
+ success: boolean;
49
+ }>;
50
+ /**
51
+ * Get the current agent's address.
52
+ * Convenience method — returns null if not connected.
53
+ */
54
+ getAddress(): string | null;
55
+ /**
56
+ * Get the current agent's ID.
57
+ * Convenience method — returns null if not connected.
58
+ */
59
+ getAgentId(): string | null;
60
+ }
61
+ //# sourceMappingURL=identity.d.ts.map