@nookplot/runtime 0.5.123 → 0.5.124

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/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 +235 -0
  20. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -0
  21. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts +2 -0
  22. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts.map +1 -0
  23. package/dist/__tests__/autonomous.goalBootstrap.test.js +148 -0
  24. package/dist/__tests__/autonomous.goalBootstrap.test.js.map +1 -0
  25. package/dist/__tests__/autonomous.guardrails.test.d.ts +2 -0
  26. package/dist/__tests__/autonomous.guardrails.test.d.ts.map +1 -0
  27. package/dist/__tests__/autonomous.guardrails.test.js +215 -0
  28. package/dist/__tests__/autonomous.guardrails.test.js.map +1 -0
  29. package/dist/__tests__/autonomous.hooks.test.d.ts +2 -0
  30. package/dist/__tests__/autonomous.hooks.test.d.ts.map +1 -0
  31. package/dist/__tests__/autonomous.hooks.test.js +107 -0
  32. package/dist/__tests__/autonomous.hooks.test.js.map +1 -0
  33. package/dist/__tests__/autonomous.latentSpace.test.d.ts +2 -0
  34. package/dist/__tests__/autonomous.latentSpace.test.d.ts.map +1 -0
  35. package/dist/__tests__/autonomous.latentSpace.test.js +224 -0
  36. package/dist/__tests__/autonomous.latentSpace.test.js.map +1 -0
  37. package/dist/__tests__/autonomous.lifecycle.test.d.ts +2 -0
  38. package/dist/__tests__/autonomous.lifecycle.test.d.ts.map +1 -0
  39. package/dist/__tests__/autonomous.lifecycle.test.js +147 -0
  40. package/dist/__tests__/autonomous.lifecycle.test.js.map +1 -0
  41. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +2 -0
  42. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +1 -0
  43. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +150 -0
  44. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +1 -0
  45. package/dist/__tests__/autonomous.miningTrack.test.d.ts +2 -0
  46. package/dist/__tests__/autonomous.miningTrack.test.d.ts.map +1 -0
  47. package/dist/__tests__/autonomous.miningTrack.test.js +38 -0
  48. package/dist/__tests__/autonomous.miningTrack.test.js.map +1 -0
  49. package/dist/__tests__/chatEngine.episodicHook.test.d.ts +2 -0
  50. package/dist/__tests__/chatEngine.episodicHook.test.d.ts.map +1 -0
  51. package/dist/__tests__/chatEngine.episodicHook.test.js +160 -0
  52. package/dist/__tests__/chatEngine.episodicHook.test.js.map +1 -0
  53. package/dist/__tests__/chatEngine.test.d.ts +2 -0
  54. package/dist/__tests__/chatEngine.test.d.ts.map +1 -0
  55. package/dist/__tests__/chatEngine.test.js +482 -0
  56. package/dist/__tests__/chatEngine.test.js.map +1 -0
  57. package/dist/__tests__/codegen-drift.test.d.ts +23 -0
  58. package/dist/__tests__/codegen-drift.test.d.ts.map +1 -0
  59. package/dist/__tests__/codegen-drift.test.js +187 -0
  60. package/dist/__tests__/codegen-drift.test.js.map +1 -0
  61. package/dist/__tests__/contentSafety.test.d.ts +2 -0
  62. package/dist/__tests__/contentSafety.test.d.ts.map +1 -0
  63. package/dist/__tests__/contentSafety.test.js +90 -0
  64. package/dist/__tests__/contentSafety.test.js.map +1 -0
  65. package/dist/__tests__/conversation/compactionMemory.test.d.ts +2 -0
  66. package/dist/__tests__/conversation/compactionMemory.test.d.ts.map +1 -0
  67. package/dist/__tests__/conversation/compactionMemory.test.js +447 -0
  68. package/dist/__tests__/conversation/compactionMemory.test.js.map +1 -0
  69. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts +2 -0
  70. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts.map +1 -0
  71. package/dist/__tests__/conversation/modelThresholdsParity.test.js +74 -0
  72. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +1 -0
  73. package/dist/__tests__/doomLoop.test.d.ts +6 -0
  74. package/dist/__tests__/doomLoop.test.d.ts.map +1 -0
  75. package/dist/__tests__/doomLoop.test.js +144 -0
  76. package/dist/__tests__/doomLoop.test.js.map +1 -0
  77. package/dist/__tests__/goalLoop.test.d.ts +2 -0
  78. package/dist/__tests__/goalLoop.test.d.ts.map +1 -0
  79. package/dist/__tests__/goalLoop.test.js +335 -0
  80. package/dist/__tests__/goalLoop.test.js.map +1 -0
  81. package/dist/__tests__/guardrails.test.d.ts +2 -0
  82. package/dist/__tests__/guardrails.test.d.ts.map +1 -0
  83. package/dist/__tests__/guardrails.test.js +236 -0
  84. package/dist/__tests__/guardrails.test.js.map +1 -0
  85. package/dist/__tests__/helpers/mockRuntime.d.ts +11 -0
  86. package/dist/__tests__/helpers/mockRuntime.d.ts.map +1 -0
  87. package/dist/__tests__/helpers/mockRuntime.js +153 -0
  88. package/dist/__tests__/helpers/mockRuntime.js.map +1 -0
  89. package/dist/__tests__/hooks.test.d.ts +9 -0
  90. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  91. package/dist/__tests__/hooks.test.js +192 -0
  92. package/dist/__tests__/hooks.test.js.map +1 -0
  93. package/dist/__tests__/loadProfile.test.d.ts +8 -0
  94. package/dist/__tests__/loadProfile.test.d.ts.map +1 -0
  95. package/dist/__tests__/loadProfile.test.js +134 -0
  96. package/dist/__tests__/loadProfile.test.js.map +1 -0
  97. package/dist/__tests__/manifestActivationHook.test.d.ts +2 -0
  98. package/dist/__tests__/manifestActivationHook.test.d.ts.map +1 -0
  99. package/dist/__tests__/manifestActivationHook.test.js +312 -0
  100. package/dist/__tests__/manifestActivationHook.test.js.map +1 -0
  101. package/dist/__tests__/memory.test.d.ts +2 -0
  102. package/dist/__tests__/memory.test.d.ts.map +1 -0
  103. package/dist/__tests__/memory.test.js +192 -0
  104. package/dist/__tests__/memory.test.js.map +1 -0
  105. package/dist/__tests__/mining.test.d.ts +2 -0
  106. package/dist/__tests__/mining.test.d.ts.map +1 -0
  107. package/dist/__tests__/mining.test.js +306 -0
  108. package/dist/__tests__/mining.test.js.map +1 -0
  109. package/dist/__tests__/onChainActions.parity.test.d.ts +12 -0
  110. package/dist/__tests__/onChainActions.parity.test.d.ts.map +1 -0
  111. package/dist/__tests__/onChainActions.parity.test.js +104 -0
  112. package/dist/__tests__/onChainActions.parity.test.js.map +1 -0
  113. package/dist/__tests__/presetLoader.test.d.ts +2 -0
  114. package/dist/__tests__/presetLoader.test.d.ts.map +1 -0
  115. package/dist/__tests__/presetLoader.test.js +749 -0
  116. package/dist/__tests__/presetLoader.test.js.map +1 -0
  117. package/dist/__tests__/querySegmentation.test.d.ts +2 -0
  118. package/dist/__tests__/querySegmentation.test.d.ts.map +1 -0
  119. package/dist/__tests__/querySegmentation.test.js +187 -0
  120. package/dist/__tests__/querySegmentation.test.js.map +1 -0
  121. package/dist/__tests__/sandbox.test.d.ts +13 -0
  122. package/dist/__tests__/sandbox.test.d.ts.map +1 -0
  123. package/dist/__tests__/sandbox.test.js +413 -0
  124. package/dist/__tests__/sandbox.test.js.map +1 -0
  125. package/dist/__tests__/signing.test.d.ts +2 -0
  126. package/dist/__tests__/signing.test.d.ts.map +1 -0
  127. package/dist/__tests__/signing.test.js +260 -0
  128. package/dist/__tests__/signing.test.js.map +1 -0
  129. package/dist/__tests__/wakeUpStack.test.d.ts +2 -0
  130. package/dist/__tests__/wakeUpStack.test.d.ts.map +1 -0
  131. package/dist/__tests__/wakeUpStack.test.js +239 -0
  132. package/dist/__tests__/wakeUpStack.test.js.map +1 -0
  133. package/dist/actionCatalog.d.ts +57 -0
  134. package/dist/actionCatalog.d.ts.map +1 -0
  135. package/dist/actionCatalog.generated.d.ts +4 -0
  136. package/dist/actionCatalog.generated.d.ts.map +1 -0
  137. package/dist/actionCatalog.generated.js +2234 -0
  138. package/dist/actionCatalog.generated.js.map +1 -0
  139. package/dist/actionCatalog.js +210 -0
  140. package/dist/actionCatalog.js.map +1 -0
  141. package/dist/api-marketplace.d.ts +111 -0
  142. package/dist/api-marketplace.d.ts.map +1 -0
  143. package/dist/api-marketplace.js +154 -0
  144. package/dist/api-marketplace.js.map +1 -0
  145. package/dist/artifactEmbeddings.d.ts +69 -0
  146. package/dist/artifactEmbeddings.d.ts.map +1 -0
  147. package/dist/artifactEmbeddings.js +52 -0
  148. package/dist/artifactEmbeddings.js.map +1 -0
  149. package/dist/autonomous.d.ts +285 -0
  150. package/dist/autonomous.d.ts.map +1 -0
  151. package/dist/autonomous.js +3659 -0
  152. package/dist/autonomous.js.map +1 -0
  153. package/dist/bounties.d.ts +112 -0
  154. package/dist/bounties.d.ts.map +1 -0
  155. package/dist/bounties.js +140 -0
  156. package/dist/bounties.js.map +1 -0
  157. package/dist/bundles.d.ts +174 -0
  158. package/dist/bundles.d.ts.map +1 -0
  159. package/dist/bundles.js +208 -0
  160. package/dist/bundles.js.map +1 -0
  161. package/dist/channels.d.ts +131 -0
  162. package/dist/channels.d.ts.map +1 -0
  163. package/dist/channels.js +227 -0
  164. package/dist/channels.js.map +1 -0
  165. package/dist/chat/chatEngine.d.ts +138 -0
  166. package/dist/chat/chatEngine.d.ts.map +1 -0
  167. package/dist/chat/chatEngine.js +605 -0
  168. package/dist/chat/chatEngine.js.map +1 -0
  169. package/dist/chat/index.d.ts +30 -0
  170. package/dist/chat/index.d.ts.map +1 -0
  171. package/dist/chat/index.js +29 -0
  172. package/dist/chat/index.js.map +1 -0
  173. package/dist/chat/terminal.d.ts +19 -0
  174. package/dist/chat/terminal.d.ts.map +1 -0
  175. package/dist/chat/terminal.js +17 -0
  176. package/dist/chat/terminal.js.map +1 -0
  177. package/dist/chat/terminals/discordTerminal.d.ts +22 -0
  178. package/dist/chat/terminals/discordTerminal.d.ts.map +1 -0
  179. package/dist/chat/terminals/discordTerminal.js +132 -0
  180. package/dist/chat/terminals/discordTerminal.js.map +1 -0
  181. package/dist/chat/terminals/openclawTerminal.d.ts +43 -0
  182. package/dist/chat/terminals/openclawTerminal.d.ts.map +1 -0
  183. package/dist/chat/terminals/openclawTerminal.js +186 -0
  184. package/dist/chat/terminals/openclawTerminal.js.map +1 -0
  185. package/dist/chat/terminals/stdinTerminal.d.ts +18 -0
  186. package/dist/chat/terminals/stdinTerminal.d.ts.map +1 -0
  187. package/dist/chat/terminals/stdinTerminal.js +58 -0
  188. package/dist/chat/terminals/stdinTerminal.js.map +1 -0
  189. package/dist/chat/terminals/telegramTerminal.d.ts +27 -0
  190. package/dist/chat/terminals/telegramTerminal.d.ts.map +1 -0
  191. package/dist/chat/terminals/telegramTerminal.js +123 -0
  192. package/dist/chat/terminals/telegramTerminal.js.map +1 -0
  193. package/dist/cognitiveWorkspace.d.ts +107 -0
  194. package/dist/cognitiveWorkspace.d.ts.map +1 -0
  195. package/dist/cognitiveWorkspace.js +94 -0
  196. package/dist/cognitiveWorkspace.js.map +1 -0
  197. package/dist/communities.d.ts +40 -0
  198. package/dist/communities.d.ts.map +1 -0
  199. package/dist/communities.js +53 -0
  200. package/dist/communities.js.map +1 -0
  201. package/dist/connection.d.ts +90 -0
  202. package/dist/connection.d.ts.map +1 -0
  203. package/dist/connection.js +428 -0
  204. package/dist/connection.js.map +1 -0
  205. package/dist/contentSafety.d.ts +64 -0
  206. package/dist/contentSafety.d.ts.map +1 -0
  207. package/dist/contentSafety.js +123 -0
  208. package/dist/contentSafety.js.map +1 -0
  209. package/dist/conversation/compactionMemory.d.ts +124 -0
  210. package/dist/conversation/compactionMemory.d.ts.map +1 -0
  211. package/dist/conversation/compactionMemory.js +379 -0
  212. package/dist/conversation/compactionMemory.js.map +1 -0
  213. package/dist/conversation/conversationLogStore.d.ts +111 -0
  214. package/dist/conversation/conversationLogStore.d.ts.map +1 -0
  215. package/dist/conversation/conversationLogStore.js +248 -0
  216. package/dist/conversation/conversationLogStore.js.map +1 -0
  217. package/dist/conversation/conversationMemory.d.ts +59 -0
  218. package/dist/conversation/conversationMemory.d.ts.map +1 -0
  219. package/dist/conversation/conversationMemory.js +32 -0
  220. package/dist/conversation/conversationMemory.js.map +1 -0
  221. package/dist/conversation/index.d.ts +16 -0
  222. package/dist/conversation/index.d.ts.map +1 -0
  223. package/dist/conversation/index.js +5 -0
  224. package/dist/conversation/index.js.map +1 -0
  225. package/dist/conversation/modelLimits.d.ts +43 -0
  226. package/dist/conversation/modelLimits.d.ts.map +1 -0
  227. package/dist/conversation/modelLimits.js +67 -0
  228. package/dist/conversation/modelLimits.js.map +1 -0
  229. package/dist/cro.d.ts +243 -0
  230. package/dist/cro.d.ts.map +1 -0
  231. package/dist/cro.js +263 -0
  232. package/dist/cro.js.map +1 -0
  233. package/dist/defaultGuardrails.d.ts +21 -0
  234. package/dist/defaultGuardrails.d.ts.map +1 -0
  235. package/dist/defaultGuardrails.js +90 -0
  236. package/dist/defaultGuardrails.js.map +1 -0
  237. package/dist/delegations.d.ts +63 -0
  238. package/dist/delegations.d.ts.map +1 -0
  239. package/dist/delegations.js +41 -0
  240. package/dist/delegations.js.map +1 -0
  241. package/dist/discovery.d.ts +172 -0
  242. package/dist/discovery.d.ts.map +1 -0
  243. package/dist/discovery.js +300 -0
  244. package/dist/discovery.js.map +1 -0
  245. package/dist/doomLoop.d.ts +52 -0
  246. package/dist/doomLoop.d.ts.map +1 -0
  247. package/dist/doomLoop.js +173 -0
  248. package/dist/doomLoop.js.map +1 -0
  249. package/dist/economy.d.ts +244 -0
  250. package/dist/economy.d.ts.map +1 -0
  251. package/dist/economy.js +263 -0
  252. package/dist/economy.js.map +1 -0
  253. package/dist/email.d.ts +125 -0
  254. package/dist/email.d.ts.map +1 -0
  255. package/dist/email.js +91 -0
  256. package/dist/email.js.map +1 -0
  257. package/dist/embeddingExchange.d.ts +141 -0
  258. package/dist/embeddingExchange.d.ts.map +1 -0
  259. package/dist/embeddingExchange.js +95 -0
  260. package/dist/embeddingExchange.js.map +1 -0
  261. package/dist/episodicMemoryHook.d.ts +39 -0
  262. package/dist/episodicMemoryHook.d.ts.map +1 -0
  263. package/dist/episodicMemoryHook.js +58 -0
  264. package/dist/episodicMemoryHook.js.map +1 -0
  265. package/dist/evaluator.d.ts +113 -0
  266. package/dist/evaluator.d.ts.map +1 -0
  267. package/dist/evaluator.js +144 -0
  268. package/dist/evaluator.js.map +1 -0
  269. package/dist/events.d.ts +58 -0
  270. package/dist/events.d.ts.map +1 -0
  271. package/dist/events.js +86 -0
  272. package/dist/events.js.map +1 -0
  273. package/dist/formatters.d.ts +31 -0
  274. package/dist/formatters.d.ts.map +1 -0
  275. package/dist/formatters.js +227 -0
  276. package/dist/formatters.js.map +1 -0
  277. package/dist/goal/goalLoop.d.ts +78 -0
  278. package/dist/goal/goalLoop.d.ts.map +1 -0
  279. package/dist/goal/goalLoop.js +376 -0
  280. package/dist/goal/goalLoop.js.map +1 -0
  281. package/dist/goal/goalPrompts.d.ts +20 -0
  282. package/dist/goal/goalPrompts.d.ts.map +1 -0
  283. package/dist/goal/goalPrompts.js +54 -0
  284. package/dist/goal/goalPrompts.js.map +1 -0
  285. package/dist/goal/types.d.ts +98 -0
  286. package/dist/goal/types.d.ts.map +1 -0
  287. package/dist/goal/types.js +7 -0
  288. package/dist/goal/types.js.map +1 -0
  289. package/dist/gpu.d.ts +137 -0
  290. package/dist/gpu.d.ts.map +1 -0
  291. package/dist/gpu.js +166 -0
  292. package/dist/gpu.js.map +1 -0
  293. package/dist/guardrails.d.ts +182 -0
  294. package/dist/guardrails.d.ts.map +1 -0
  295. package/dist/guardrails.js +277 -0
  296. package/dist/guardrails.js.map +1 -0
  297. package/dist/guilds.d.ts +158 -0
  298. package/dist/guilds.d.ts.map +1 -0
  299. package/dist/guilds.js +205 -0
  300. package/dist/guilds.js.map +1 -0
  301. package/dist/heartbeat.d.ts +43 -0
  302. package/dist/heartbeat.d.ts.map +1 -0
  303. package/dist/heartbeat.js +72 -0
  304. package/dist/heartbeat.js.map +1 -0
  305. package/dist/hooks.d.ts +172 -0
  306. package/dist/hooks.d.ts.map +1 -0
  307. package/dist/hooks.js +91 -0
  308. package/dist/hooks.js.map +1 -0
  309. package/dist/identity.d.ts +112 -0
  310. package/dist/identity.d.ts.map +1 -0
  311. package/dist/identity.js +126 -0
  312. package/dist/identity.js.map +1 -0
  313. package/dist/inbox.d.ts +77 -0
  314. package/dist/inbox.d.ts.map +1 -0
  315. package/dist/inbox.js +98 -0
  316. package/dist/inbox.js.map +1 -0
  317. package/dist/index.d.ts +329 -0
  318. package/dist/index.d.ts.map +1 -0
  319. package/dist/index.js +366 -0
  320. package/dist/index.js.map +1 -0
  321. package/dist/insights.d.ts +166 -0
  322. package/dist/insights.d.ts.map +1 -0
  323. package/dist/insights.js +100 -0
  324. package/dist/insights.js.map +1 -0
  325. package/dist/intents.d.ts +132 -0
  326. package/dist/intents.d.ts.map +1 -0
  327. package/dist/intents.js +81 -0
  328. package/dist/intents.js.map +1 -0
  329. package/dist/knowledgeContext.d.ts +68 -0
  330. package/dist/knowledgeContext.d.ts.map +1 -0
  331. package/dist/knowledgeContext.js +109 -0
  332. package/dist/knowledgeContext.js.map +1 -0
  333. package/dist/leaderboard.d.ts +30 -0
  334. package/dist/leaderboard.d.ts.map +1 -0
  335. package/dist/leaderboard.js +34 -0
  336. package/dist/leaderboard.js.map +1 -0
  337. package/dist/loadProfile.d.ts +100 -0
  338. package/dist/loadProfile.d.ts.map +1 -0
  339. package/dist/loadProfile.js +221 -0
  340. package/dist/loadProfile.js.map +1 -0
  341. package/dist/manifest.d.ts +127 -0
  342. package/dist/manifest.d.ts.map +1 -0
  343. package/dist/manifest.js +123 -0
  344. package/dist/manifest.js.map +1 -0
  345. package/dist/manifestActivationHook.d.ts +72 -0
  346. package/dist/manifestActivationHook.d.ts.map +1 -0
  347. package/dist/manifestActivationHook.js +180 -0
  348. package/dist/manifestActivationHook.js.map +1 -0
  349. package/dist/marketplace.d.ts +156 -0
  350. package/dist/marketplace.d.ts.map +1 -0
  351. package/dist/marketplace.js +215 -0
  352. package/dist/marketplace.js.map +1 -0
  353. package/dist/matching.d.ts +192 -0
  354. package/dist/matching.d.ts.map +1 -0
  355. package/dist/matching.js +138 -0
  356. package/dist/matching.js.map +1 -0
  357. package/dist/memory.d.ts +287 -0
  358. package/dist/memory.d.ts.map +1 -0
  359. package/dist/memory.js +379 -0
  360. package/dist/memory.js.map +1 -0
  361. package/dist/mining.d.ts +155 -0
  362. package/dist/mining.d.ts.map +1 -0
  363. package/dist/mining.js +365 -0
  364. package/dist/mining.js.map +1 -0
  365. package/dist/oracle.d.ts +30 -0
  366. package/dist/oracle.d.ts.map +1 -0
  367. package/dist/oracle.js +31 -0
  368. package/dist/oracle.js.map +1 -0
  369. package/dist/policies.d.ts +132 -0
  370. package/dist/policies.d.ts.map +1 -0
  371. package/dist/policies.js +62 -0
  372. package/dist/policies.js.map +1 -0
  373. package/dist/presetLoader.d.ts +130 -0
  374. package/dist/presetLoader.d.ts.map +1 -0
  375. package/dist/presetLoader.js +734 -0
  376. package/dist/presetLoader.js.map +1 -0
  377. package/dist/proactive.d.ts +197 -0
  378. package/dist/proactive.d.ts.map +1 -0
  379. package/dist/proactive.js +229 -0
  380. package/dist/proactive.js.map +1 -0
  381. package/dist/projects.d.ts +307 -0
  382. package/dist/projects.d.ts.map +1 -0
  383. package/dist/projects.js +438 -0
  384. package/dist/projects.js.map +1 -0
  385. package/dist/querySegmentation.d.ts +54 -0
  386. package/dist/querySegmentation.d.ts.map +1 -0
  387. package/dist/querySegmentation.js +80 -0
  388. package/dist/querySegmentation.js.map +1 -0
  389. package/dist/sandbox.d.ts +156 -0
  390. package/dist/sandbox.d.ts.map +1 -0
  391. package/dist/sandbox.js +425 -0
  392. package/dist/sandbox.js.map +1 -0
  393. package/dist/signalActionMap.d.ts +59 -0
  394. package/dist/signalActionMap.d.ts.map +1 -0
  395. package/dist/signalActionMap.js +302 -0
  396. package/dist/signalActionMap.js.map +1 -0
  397. package/dist/signing.d.ts +94 -0
  398. package/dist/signing.d.ts.map +1 -0
  399. package/dist/signing.js +158 -0
  400. package/dist/signing.js.map +1 -0
  401. package/dist/social.d.ts +176 -0
  402. package/dist/social.d.ts.map +1 -0
  403. package/dist/social.js +232 -0
  404. package/dist/social.js.map +1 -0
  405. package/dist/specialization.d.ts +108 -0
  406. package/dist/specialization.d.ts.map +1 -0
  407. package/dist/specialization.js +104 -0
  408. package/dist/specialization.js.map +1 -0
  409. package/dist/swarms.d.ts +119 -0
  410. package/dist/swarms.d.ts.map +1 -0
  411. package/dist/swarms.js +103 -0
  412. package/dist/swarms.js.map +1 -0
  413. package/dist/teaching.d.ts +171 -0
  414. package/dist/teaching.d.ts.map +1 -0
  415. package/dist/teaching.js +87 -0
  416. package/dist/teaching.js.map +1 -0
  417. package/dist/tools.d.ts +223 -0
  418. package/dist/tools.d.ts.map +1 -0
  419. package/dist/tools.js +325 -0
  420. package/dist/tools.js.map +1 -0
  421. package/dist/treasury-ops.d.ts +101 -0
  422. package/dist/treasury-ops.d.ts.map +1 -0
  423. package/dist/treasury-ops.js +59 -0
  424. package/dist/treasury-ops.js.map +1 -0
  425. package/dist/types.d.ts +1193 -0
  426. package/dist/types.d.ts.map +1 -0
  427. package/dist/types.js +7 -0
  428. package/dist/types.js.map +1 -0
  429. package/dist/wakeUpStack.d.ts +94 -0
  430. package/dist/wakeUpStack.d.ts.map +1 -0
  431. package/dist/wakeUpStack.js +215 -0
  432. package/dist/wakeUpStack.js.map +1 -0
  433. package/dist/workspace.d.ts +318 -0
  434. package/dist/workspace.d.ts.map +1 -0
  435. package/dist/workspace.js +207 -0
  436. package/dist/workspace.js.map +1 -0
  437. package/dist/xmtp.d.ts +85 -0
  438. package/dist/xmtp.d.ts.map +1 -0
  439. package/dist/xmtp.js +250 -0
  440. package/dist/xmtp.js.map +1 -0
  441. package/package.json +1 -1
package/dist/gpu.d.ts ADDED
@@ -0,0 +1,137 @@
1
+ /**
2
+ * GPU marketplace manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps GPU-specific operations: attestation (prepare+sign+relay),
5
+ * availability (heartbeats), and buyer challenges. Also provides
6
+ * read access to GPU listings and provider stats.
7
+ *
8
+ * @module gpu
9
+ */
10
+ import type { ConnectionManager } from "./connection.js";
11
+ /** Options for searching available GPUs. */
12
+ export interface GpuSearchOptions {
13
+ gpuModel?: string;
14
+ minVram?: number;
15
+ status?: "online" | "degraded" | "any";
16
+ limit?: number;
17
+ offset?: number;
18
+ }
19
+ /** Input for submitting a GPU benchmark attestation. */
20
+ export interface GpuAttestInput {
21
+ benchmarkHash: string;
22
+ gpuModel: string;
23
+ vramGb: number;
24
+ computeCapability?: string;
25
+ cudaVersion?: string;
26
+ }
27
+ /** Input for sending a heartbeat. */
28
+ export interface GpuHeartbeatInput {
29
+ listingId: number;
30
+ status?: "idle" | "busy";
31
+ gpuModel?: string;
32
+ vramGb?: number;
33
+ gpuTempC?: number;
34
+ gpuUtilization?: number;
35
+ vramUsedGb?: number;
36
+ currentAgreementId?: number;
37
+ }
38
+ /** Input for renting a GPU (creating a service agreement). */
39
+ export interface GpuRentInput {
40
+ listingId: number;
41
+ terms?: string;
42
+ durationHours?: number;
43
+ tokenAmount?: string;
44
+ tokenAddress?: string;
45
+ }
46
+ /** Input for batch GPU rental for swarms. */
47
+ export interface GpuSwarmRentInput {
48
+ count: number;
49
+ minVram?: number;
50
+ gpuModel?: string;
51
+ terms?: string;
52
+ durationHours?: number;
53
+ tokenAmount?: string;
54
+ }
55
+ /** Input for creating a buyer challenge. */
56
+ export interface GpuChallengeInput {
57
+ listingId: number;
58
+ providerAddress: string;
59
+ challengeInputCid: string;
60
+ expectedMinTflops?: number;
61
+ }
62
+ /** Input for submitting challenge results (provider). */
63
+ export interface GpuChallengeSubmitInput {
64
+ challengeId: string;
65
+ challengeOutputCid: string;
66
+ actualTflops?: number;
67
+ wallTimeMs?: number;
68
+ }
69
+ export declare class GpuManager {
70
+ private readonly connection;
71
+ constructor(connection: ConnectionManager);
72
+ /**
73
+ * Search available GPUs with live status.
74
+ */
75
+ searchAvailable(opts?: GpuSearchOptions): Promise<unknown>;
76
+ /**
77
+ * Get availability for a specific listing.
78
+ */
79
+ getAvailability(listingId: number): Promise<unknown>;
80
+ /**
81
+ * Get a challenge by ID.
82
+ */
83
+ getChallenge(challengeId: string): Promise<unknown>;
84
+ /**
85
+ * Get a provider's challenge history and stats.
86
+ */
87
+ getProviderChallenges(address: string, limit?: number, offset?: number): Promise<unknown>;
88
+ /**
89
+ * Send a GPU heartbeat (provider).
90
+ */
91
+ heartbeat(input: GpuHeartbeatInput): Promise<unknown>;
92
+ /**
93
+ * Create a buyer challenge.
94
+ */
95
+ createChallenge(input: GpuChallengeInput): Promise<unknown>;
96
+ /**
97
+ * Submit challenge results (provider).
98
+ */
99
+ submitChallengeResult(input: GpuChallengeSubmitInput): Promise<unknown>;
100
+ /**
101
+ * Submit a GPU benchmark attestation on-chain.
102
+ */
103
+ submitAttestation(input: GpuAttestInput): Promise<{
104
+ txHash: string;
105
+ }>;
106
+ /**
107
+ * Update attestation with a new benchmark hash.
108
+ */
109
+ updateAttestation(benchmarkHash: string): Promise<{
110
+ txHash: string;
111
+ }>;
112
+ /**
113
+ * Revoke GPU attestation (voluntarily delist).
114
+ */
115
+ revokeAttestation(): Promise<{
116
+ txHash: string;
117
+ }>;
118
+ /**
119
+ * Rent a GPU by creating a ServiceMarketplace agreement.
120
+ * This is a convenience wrapper around the marketplace agreement flow
121
+ * specifically for GPU listings.
122
+ */
123
+ rentGpu(input: GpuRentInput): Promise<{
124
+ txHash: string;
125
+ agreementId?: string;
126
+ }>;
127
+ /**
128
+ * Rent multiple GPUs for a research swarm.
129
+ * Finds available GPUs matching criteria and creates agreements for each.
130
+ */
131
+ rentSwarmGpus(input: GpuSwarmRentInput): Promise<Array<{
132
+ listingId: number;
133
+ txHash: string;
134
+ error?: string;
135
+ }>>;
136
+ }
137
+ //# sourceMappingURL=gpu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../src/gpu.ts"],"names":[],"mappings":"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"}
package/dist/gpu.js ADDED
@@ -0,0 +1,166 @@
1
+ /**
2
+ * GPU marketplace manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps GPU-specific operations: attestation (prepare+sign+relay),
5
+ * availability (heartbeats), and buyer challenges. Also provides
6
+ * read access to GPU listings and provider stats.
7
+ *
8
+ * @module gpu
9
+ */
10
+ import { prepareSignRelay } from "./signing.js";
11
+ export class GpuManager {
12
+ connection;
13
+ constructor(connection) {
14
+ this.connection = connection;
15
+ }
16
+ // ============================================================
17
+ // Read Operations
18
+ // ============================================================
19
+ /**
20
+ * Search available GPUs with live status.
21
+ */
22
+ async searchAvailable(opts) {
23
+ const params = new URLSearchParams();
24
+ if (opts?.gpuModel)
25
+ params.set("gpuModel", opts.gpuModel);
26
+ if (opts?.minVram !== undefined)
27
+ params.set("minVram", String(opts.minVram));
28
+ if (opts?.status)
29
+ params.set("status", opts.status);
30
+ if (opts?.limit !== undefined)
31
+ params.set("limit", String(opts.limit));
32
+ if (opts?.offset !== undefined)
33
+ params.set("offset", String(opts.offset));
34
+ const qs = params.toString();
35
+ return this.connection.request("GET", `/v1/gpu/availability${qs ? `?${qs}` : ""}`);
36
+ }
37
+ /**
38
+ * Get availability for a specific listing.
39
+ */
40
+ async getAvailability(listingId) {
41
+ return this.connection.request("GET", `/v1/gpu/availability/${listingId}`);
42
+ }
43
+ /**
44
+ * Get a challenge by ID.
45
+ */
46
+ async getChallenge(challengeId) {
47
+ return this.connection.request("GET", `/v1/gpu/challenge/${challengeId}`);
48
+ }
49
+ /**
50
+ * Get a provider's challenge history and stats.
51
+ */
52
+ async getProviderChallenges(address, limit = 20, offset = 0) {
53
+ return this.connection.request("GET", `/v1/gpu/providers/${address}/challenges?limit=${limit}&offset=${offset}`);
54
+ }
55
+ // ============================================================
56
+ // Write Operations (off-chain)
57
+ // ============================================================
58
+ /**
59
+ * Send a GPU heartbeat (provider).
60
+ */
61
+ async heartbeat(input) {
62
+ return this.connection.request("POST", "/v1/gpu/heartbeat", input);
63
+ }
64
+ /**
65
+ * Create a buyer challenge.
66
+ */
67
+ async createChallenge(input) {
68
+ return this.connection.request("POST", "/v1/gpu/challenge", input);
69
+ }
70
+ /**
71
+ * Submit challenge results (provider).
72
+ */
73
+ async submitChallengeResult(input) {
74
+ return this.connection.request("POST", `/v1/gpu/challenge/${input.challengeId}/submit`, {
75
+ challengeOutputCid: input.challengeOutputCid,
76
+ actualTflops: input.actualTflops,
77
+ wallTimeMs: input.wallTimeMs,
78
+ });
79
+ }
80
+ // ============================================================
81
+ // On-Chain Operations (prepare + sign + relay)
82
+ // ============================================================
83
+ /**
84
+ * Submit a GPU benchmark attestation on-chain.
85
+ */
86
+ async submitAttestation(input) {
87
+ return prepareSignRelay(this.connection, "/v1/prepare/gpu/attest", {
88
+ benchmarkHash: input.benchmarkHash,
89
+ gpuModel: input.gpuModel,
90
+ vramGb: input.vramGb,
91
+ computeCapability: input.computeCapability ?? "",
92
+ cudaVersion: input.cudaVersion ?? "",
93
+ });
94
+ }
95
+ /**
96
+ * Update attestation with a new benchmark hash.
97
+ */
98
+ async updateAttestation(benchmarkHash) {
99
+ return prepareSignRelay(this.connection, "/v1/prepare/gpu/update-attest", {
100
+ benchmarkHash,
101
+ });
102
+ }
103
+ /**
104
+ * Revoke GPU attestation (voluntarily delist).
105
+ */
106
+ async revokeAttestation() {
107
+ return prepareSignRelay(this.connection, "/v1/prepare/gpu/revoke", {});
108
+ }
109
+ // ============================================================
110
+ // GPU Rental (convenience wrappers over ServiceMarketplace)
111
+ // ============================================================
112
+ /**
113
+ * Rent a GPU by creating a ServiceMarketplace agreement.
114
+ * This is a convenience wrapper around the marketplace agreement flow
115
+ * specifically for GPU listings.
116
+ */
117
+ async rentGpu(input) {
118
+ const deadline = Math.floor(Date.now() / 1000) + (input.durationHours ?? 24) * 3600;
119
+ return prepareSignRelay(this.connection, "/v1/prepare/service/agree", {
120
+ listingId: input.listingId,
121
+ terms: input.terms ?? "GPU rental via Nookplot marketplace",
122
+ deadline: String(deadline),
123
+ tokenAmount: input.tokenAmount ?? "0",
124
+ tokenAddress: input.tokenAddress,
125
+ });
126
+ }
127
+ /**
128
+ * Rent multiple GPUs for a research swarm.
129
+ * Finds available GPUs matching criteria and creates agreements for each.
130
+ */
131
+ async rentSwarmGpus(input) {
132
+ // Search for available GPUs
133
+ const result = await this.searchAvailable({
134
+ minVram: input.minVram,
135
+ gpuModel: input.gpuModel,
136
+ status: "online",
137
+ limit: input.count,
138
+ });
139
+ const gpus = result.gpus || [];
140
+ if (gpus.length < input.count) {
141
+ throw new Error(`Only ${gpus.length} GPUs available matching criteria (need ${input.count}). ` +
142
+ `Try reducing minVram or changing gpuModel.`);
143
+ }
144
+ const results = [];
145
+ for (const gpu of gpus.slice(0, input.count)) {
146
+ try {
147
+ const rental = await this.rentGpu({
148
+ listingId: gpu.listing_id,
149
+ terms: input.terms ?? `Swarm GPU rental (${input.count} GPUs)`,
150
+ durationHours: input.durationHours,
151
+ tokenAmount: input.tokenAmount,
152
+ });
153
+ results.push({ listingId: gpu.listing_id, txHash: rental.txHash });
154
+ }
155
+ catch (err) {
156
+ results.push({
157
+ listingId: gpu.listing_id,
158
+ txHash: "",
159
+ error: err instanceof Error ? err.message : String(err),
160
+ });
161
+ }
162
+ }
163
+ return results;
164
+ }
165
+ }
166
+ //# sourceMappingURL=gpu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu.js","sourceRoot":"","sources":["../src/gpu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Guardrails — declarative per-action parameter validation.
3
+ *
4
+ * A guardrail is a function attached to a specific `actionType`. It can:
5
+ * - **Pass** by returning `undefined` / nothing.
6
+ * - **Mutate args** by returning `Partial<TArgs>` — declared keys overwrite,
7
+ * undeclared keys are preserved.
8
+ * - **Block** by throwing `InputGuardrailTripped` (input) or
9
+ * `OutputGuardrailTripped` (output). The wrapped dispatcher converts any
10
+ * other error into an `InputGuardrailTripped` so callers always observe
11
+ * a single error class for "validation failure".
12
+ *
13
+ * This is a SEPARATE concern from `contentSafety` (string sanitizers) and
14
+ * `ContentScanner` (gateway threat-detection) — guardrails operate on typed
15
+ * arg objects scoped to a specific action, see those args, and can short-
16
+ * circuit the dispatch. All three layers can run on the same call.
17
+ *
18
+ * Composition order at the dispatcher (`runtime/src/autonomous.ts`
19
+ * `handleActionRequest`):
20
+ * 1. `action_start` hook fires.
21
+ * 2. `tool_input` hook fires.
22
+ * 3. Input guardrails run in declared order; first throw → `action_error`.
23
+ * 4. Action body executes.
24
+ * 5. `tool_output` hook fires.
25
+ * 6. Output guardrails run; first throw → `action_error`.
26
+ * 7. `action_end` hook fires.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * runtime.guardrails.register("send_dm", {
31
+ * input: [
32
+ * ({ to }) => {
33
+ * if (!/^0x[0-9a-fA-F]{40}$/.test(to as string)) {
34
+ * throw new InputGuardrailTripped("`to` must be a 0x-prefixed 40-hex address");
35
+ * }
36
+ * },
37
+ * ({ content }) => ({ content: sanitizeForPrompt(content as string, 2000) }),
38
+ * ],
39
+ * });
40
+ * ```
41
+ *
42
+ * @module guardrails
43
+ */
44
+ import { type HookRegistry } from "./hooks.js";
45
+ /** Base class for guardrail short-circuits. Catch this to handle either side. */
46
+ export declare class GuardrailTripped extends Error {
47
+ constructor(message: string, options?: {
48
+ cause?: unknown;
49
+ });
50
+ }
51
+ /** Thrown when an input guardrail rejects or any guardrail callback throws
52
+ * during the input phase. The dispatcher converts this into `action_error`. */
53
+ export declare class InputGuardrailTripped extends GuardrailTripped {
54
+ constructor(message: string, options?: {
55
+ cause?: unknown;
56
+ });
57
+ }
58
+ /** Thrown when an output guardrail rejects. The dispatcher converts this
59
+ * into `action_error` after the action body has already executed. */
60
+ export declare class OutputGuardrailTripped extends GuardrailTripped {
61
+ constructor(message: string, options?: {
62
+ cause?: unknown;
63
+ });
64
+ }
65
+ /**
66
+ * An input guardrail. Receives the (possibly mutated) args from prior
67
+ * guardrails. Returns `void` to pass, `Partial<TArgs>` to mutate, or throws
68
+ * `InputGuardrailTripped` to block.
69
+ *
70
+ * TS does not introspect parameter names — the caller declares which keys
71
+ * the guardrail accepts via the `Pick<TArgs, …>` type. Returned objects are
72
+ * shallow-merged onto args; undeclared keys in the return value are still
73
+ * applied (TS can't enforce param-binding at runtime), but agents should
74
+ * stick to the declared keys for parity with the Python `inspect.signature`
75
+ * extraction.
76
+ */
77
+ export type InputGuardrail<TArgs extends Record<string, unknown> = Record<string, unknown>> = (args: TArgs) => void | undefined | Partial<TArgs> | Promise<void | undefined | Partial<TArgs>>;
78
+ /**
79
+ * An output guardrail. Receives the action result. Returns `void` to pass,
80
+ * `Partial<TResult>` to mutate, or throws `OutputGuardrailTripped` to block.
81
+ *
82
+ * Output guardrails CANNOT replace the entire result — the merge is shallow
83
+ * AND `undefined` values in the return are filtered out before merge. This
84
+ * means a guardrail cannot silently drop security-critical fields (`txHash`,
85
+ * `signature`) by returning `{ txHash: undefined }`. To intentionally clear
86
+ * a field, throw `OutputGuardrailTripped` instead.
87
+ */
88
+ export type OutputGuardrail<TResult = unknown> = (result: TResult) => void | undefined | Partial<TResult> | Promise<void | undefined | Partial<TResult>>;
89
+ export interface GuardrailSet<TArgs extends Record<string, unknown> = Record<string, unknown>, TResult = unknown> {
90
+ input?: InputGuardrail<TArgs>[];
91
+ output?: OutputGuardrail<TResult>[];
92
+ }
93
+ /**
94
+ * Per-action guardrail registry. Keyed on `actionType` (the same string the
95
+ * dispatcher uses, e.g. `"send_dm"` or `"create_bounty"`). Multiple `register`
96
+ * calls APPEND — guardrails compose in registration order so an early
97
+ * mutation is visible to later validators.
98
+ *
99
+ * `runInput` / `runOutput` are the dispatcher integration points. They:
100
+ * - Apply guardrails sequentially (not in parallel — order matters).
101
+ * - Shallow-merge any returned `Partial<>` onto the working args.
102
+ * - Re-throw `InputGuardrailTripped` / `OutputGuardrailTripped` as-is.
103
+ * - Wrap any other thrown error in `InputGuardrailTripped` / `OutputGuardrailTripped`
104
+ * with the original attached as `cause`.
105
+ *
106
+ * Tool hooks (`tool_input` / `tool_output`) are emitted by the dispatcher,
107
+ * not by the registry — keeps the emit point next to the action boundary.
108
+ */
109
+ export declare class GuardrailRegistry {
110
+ private readonly inputs;
111
+ private readonly outputs;
112
+ private readonly hooks;
113
+ constructor(hooks?: HookRegistry);
114
+ /**
115
+ * Register one or more guardrails for an action. Returns a disposer that
116
+ * removes only the guardrails added by this call.
117
+ *
118
+ * `actionType` is deliberately typed as `string`, not a union of known
119
+ * action names. The registry does NOT validate against `ON_CHAIN_ACTIONS`
120
+ * — agents can attach guardrails to custom off-chain handlers, to internal
121
+ * action names, or to third-party actions added via SDK extension. The
122
+ * dispatcher only invokes guardrails whose key matches the actionType it's
123
+ * currently handling, so registering for an unknown key is harmless (the
124
+ * guardrail simply never runs).
125
+ *
126
+ * If you need strict validation — e.g. a CI check that a guardrail is
127
+ * actually wired to a real action — use {@link countInput} /
128
+ * {@link countOutput} in a test that asserts against the exported
129
+ * `ON_CHAIN_ACTIONS` set from `autonomous.ts`.
130
+ */
131
+ register<TArgs extends Record<string, unknown> = Record<string, unknown>, TResult = unknown>(actionType: string, set: GuardrailSet<TArgs, TResult>): () => void;
132
+ /** Number of registered input guardrails for an action (test inspection). */
133
+ countInput(actionType: string): number;
134
+ /** Number of registered output guardrails for an action (test inspection). */
135
+ countOutput(actionType: string): number;
136
+ /** Test helper. With no arg, clears all guardrails. */
137
+ clear(actionType?: string): void;
138
+ /**
139
+ * Run input guardrails in declared order and return the (possibly mutated)
140
+ * args. Throws `InputGuardrailTripped` if any guardrail rejects.
141
+ *
142
+ * The original `args` object is not mutated — a new shallow copy is
143
+ * returned even when no mutations occurred, to keep caller semantics
144
+ * predictable.
145
+ */
146
+ runInput<TArgs extends Record<string, unknown>>(actionType: string, args: TArgs): Promise<TArgs>;
147
+ /**
148
+ * Run output guardrails in declared order and return the (possibly
149
+ * mutated) result. Throws `OutputGuardrailTripped` on rejection. Like
150
+ * `runInput`, the working object is shallow-cloned for each mutation so
151
+ * the caller's `result` reference is untouched until the call returns.
152
+ */
153
+ runOutput<TResult>(actionType: string, result: TResult): Promise<TResult>;
154
+ }
155
+ /**
156
+ * Decorator-style wrapper for a single action handler. Convenient when an
157
+ * agent wants to attach guardrails to a one-off handler (a custom CLI tool,
158
+ * a unit-test fixture) without registering them globally.
159
+ *
160
+ * For the dispatcher integration, prefer `GuardrailRegistry.register()` +
161
+ * `registry.runInput` / `registry.runOutput` — that path is what
162
+ * `runtime/src/autonomous.ts:handleActionRequest` calls.
163
+ *
164
+ * @example
165
+ * ```ts
166
+ * const sendDm = withGuardrails(rawSendDm, {
167
+ * input: [({ to }) => { if (!to.startsWith("0x")) throw new InputGuardrailTripped("bad addr"); }],
168
+ * output: [({ messageId }) => { if (!messageId) throw new OutputGuardrailTripped("missing id"); }],
169
+ * });
170
+ * ```
171
+ */
172
+ export declare function withGuardrails<TArgs extends Record<string, unknown>, TResult>(handler: (args: TArgs) => Promise<TResult> | TResult, opts: {
173
+ input?: InputGuardrail<TArgs>[];
174
+ output?: OutputGuardrail<TResult>[];
175
+ }): (args: TArgs) => Promise<TResult>;
176
+ /**
177
+ * Module singleton. `NookplotRuntime` exposes its own `runtime.guardrails`
178
+ * which is the same object as this — `import { guardrails } from
179
+ * "@nookplot/runtime"` and `runtime.guardrails` are interchangeable.
180
+ */
181
+ export declare const guardrails: GuardrailRegistry;
182
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../src/guardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAItE,iFAAiF;AACjF,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO3D;AAED;gFACgF;AAChF,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;sEACsE;AACtE,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAID;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAC5F,IAAI,EAAE,KAAK,KACR,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpF;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,OAAO,GAAG,OAAO,IAAI,CAC/C,MAAM,EAAE,OAAO,KACZ,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,WAAW,YAAY,CAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,GAAG,OAAO;IAEjB,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;CACrC;AAID;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,KAAK,GAAE,YAA2B;IAI9C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EACzF,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GAChC,MAAM,IAAI;IAgCb,6EAA6E;IAC7E,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAItC,8EAA8E;IAC9E,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIvC,uDAAuD;IACvD,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAUhC;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,KAAK,CAAC;IAuBjB;;;;;OAKG;IACG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBhF;AAsBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EAEP,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACpD,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;CACrC,GACA,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CASnC;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,mBAA0B,CAAC"}