@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/cro.d.ts ADDED
@@ -0,0 +1,243 @@
1
+ /**
2
+ * CRO Builder — fluent API for constructing Compressed Reasoning Objects.
3
+ *
4
+ * Phase 2 of Latent Space Coordination: structured reasoning DAGs that agents
5
+ * can produce, share, load, fork, merge, and compose for high-bandwidth
6
+ * knowledge transfer.
7
+ *
8
+ * Usage:
9
+ * const cro = new CROBuilder("smart-contracts", "Analyze reentrancy vectors")
10
+ * .addAssumption("a1", "Standard ERC-20 behavior", 0.95)
11
+ * .addNode({ id: "obs1", type: "observation", content: "...", confidence: 0.9 })
12
+ * .addNode({ id: "hyp1", type: "hypothesis", content: "...", confidence: 0.7 })
13
+ * .addEdge("obs1", "hyp1", "supports", 0.8)
14
+ * .conclude("No critical reentrancy found", 0.85, ["obs1", "hyp1"])
15
+ * .build();
16
+ *
17
+ * @module cro
18
+ */
19
+ import type { ConnectionManager } from "./connection.js";
20
+ export type CRONodeType = "observation" | "hypothesis" | "evidence" | "inference" | "conclusion" | "counterargument" | "experiment" | "dead-end" | "open-question" | "external-input";
21
+ export type CROEdgeType = "supports" | "contradicts" | "refines" | "depends-on" | "enables" | "blocks" | "subsumes" | "analogous-to" | "derived-from" | "tested-by";
22
+ export interface CRONode {
23
+ id: string;
24
+ type: CRONodeType;
25
+ content: string;
26
+ confidence: number;
27
+ sources?: Array<{
28
+ type: "content-cid" | "bundle" | "url" | "agent" | "on-chain";
29
+ ref: string;
30
+ description?: string;
31
+ }>;
32
+ metadata?: {
33
+ addedBy?: string;
34
+ addedAt?: string;
35
+ revisedFrom?: string;
36
+ };
37
+ }
38
+ export interface CROEdge {
39
+ from: string;
40
+ to: string;
41
+ type: CROEdgeType;
42
+ strength?: number;
43
+ explanation?: string;
44
+ }
45
+ export interface CROConclusion {
46
+ statement: string;
47
+ confidence: number;
48
+ supportingNodes: string[];
49
+ }
50
+ export interface CROAlternative {
51
+ statement: string;
52
+ confidence: number;
53
+ conditions: string;
54
+ supportingNodes?: string[];
55
+ }
56
+ export interface CROSensitivity {
57
+ assumptionId: string;
58
+ ifChanged: string;
59
+ conclusionImpact: "unchanged" | "weakened" | "invalidated" | "reversed" | "strengthened";
60
+ newConfidence: number;
61
+ }
62
+ export interface CROAssumption {
63
+ id: string;
64
+ statement: string;
65
+ confidence: number;
66
+ basis?: string;
67
+ falsifiable?: boolean;
68
+ testMethod?: string;
69
+ }
70
+ export interface CROConstraint {
71
+ id: string;
72
+ statement: string;
73
+ type: "hard" | "soft" | "preference";
74
+ source?: string;
75
+ weight?: number;
76
+ }
77
+ export interface ReasoningObject {
78
+ context: {
79
+ domain: string;
80
+ goal: {
81
+ statement: string;
82
+ successCriteria?: string[];
83
+ scope?: {
84
+ includes?: string[];
85
+ excludes?: string[];
86
+ };
87
+ };
88
+ assumptions?: CROAssumption[];
89
+ constraints?: CROConstraint[];
90
+ };
91
+ graph: {
92
+ nodes: CRONode[];
93
+ edges: CROEdge[];
94
+ };
95
+ conclusions: {
96
+ primary: CROConclusion;
97
+ alternatives?: CROAlternative[];
98
+ sensitivity?: CROSensitivity[];
99
+ };
100
+ openItems?: {
101
+ questions?: Array<{
102
+ question: string;
103
+ valueOfResolution?: number;
104
+ suggestedApproach?: string;
105
+ relatedNodes?: string[];
106
+ }>;
107
+ blockedOn?: Array<{
108
+ description: string;
109
+ type: "data" | "computation" | "expertise" | "decision" | "external";
110
+ estimatedImpact?: number;
111
+ }>;
112
+ suggestedExperiments?: Array<{
113
+ description: string;
114
+ expectedOutcome?: string;
115
+ costEstimate?: string;
116
+ informationGain?: number;
117
+ }>;
118
+ };
119
+ }
120
+ export declare class CROBuilder {
121
+ private domain;
122
+ private goalStatement;
123
+ private successCriteria;
124
+ private scopeIncludes;
125
+ private scopeExcludes;
126
+ private assumptions;
127
+ private constraints;
128
+ private nodes;
129
+ private edges;
130
+ private primaryConclusion;
131
+ private alternatives;
132
+ private sensitivity;
133
+ private questions;
134
+ private blockers;
135
+ private experiments;
136
+ constructor(domain: string, goalStatement: string);
137
+ /** Add a success criterion for the goal. */
138
+ addCriterion(criterion: string): this;
139
+ /** Set scope boundaries. */
140
+ setScope(includes?: string[], excludes?: string[]): this;
141
+ /** Add an assumption with confidence. */
142
+ addAssumption(id: string, statement: string, confidence: number, opts?: {
143
+ basis?: string;
144
+ falsifiable?: boolean;
145
+ testMethod?: string;
146
+ }): this;
147
+ /** Add a constraint. */
148
+ addConstraint(id: string, statement: string, type: "hard" | "soft" | "preference", opts?: {
149
+ source?: string;
150
+ weight?: number;
151
+ }): this;
152
+ /** Add a reasoning node to the graph. */
153
+ addNode(node: CRONode): this;
154
+ /** Shortcut: add an observation node. */
155
+ observe(id: string, content: string, confidence: number): this;
156
+ /** Shortcut: add a hypothesis node. */
157
+ hypothesize(id: string, content: string, confidence: number): this;
158
+ /** Shortcut: add an evidence node. */
159
+ evidence(id: string, content: string, confidence: number): this;
160
+ /** Shortcut: add an inference node. */
161
+ infer(id: string, content: string, confidence: number): this;
162
+ /** Shortcut: add a counterargument node. */
163
+ counter(id: string, content: string, confidence: number): this;
164
+ /** Shortcut: mark a dead end. */
165
+ deadEnd(id: string, content: string): this;
166
+ /** Add an edge (relationship) between two nodes. */
167
+ addEdge(from: string, to: string, type: CROEdgeType, strength?: number, explanation?: string): this;
168
+ /** Shortcut: node A supports node B. */
169
+ supports(from: string, to: string, strength?: number): this;
170
+ /** Shortcut: node A contradicts node B. */
171
+ contradicts(from: string, to: string, strength?: number): this;
172
+ /** Shortcut: node A refines node B. */
173
+ refines(from: string, to: string, strength?: number): this;
174
+ /** Shortcut: node A depends on node B. */
175
+ dependsOn(from: string, to: string): this;
176
+ /** Set the primary conclusion. */
177
+ conclude(statement: string, confidence: number, supportingNodes: string[]): this;
178
+ /** Add an alternative conclusion. */
179
+ alternative(statement: string, confidence: number, conditions: string, supportingNodes?: string[]): this;
180
+ /** Add a sensitivity analysis entry. */
181
+ addSensitivity(assumptionId: string, ifChanged: string, impact: CROSensitivity["conclusionImpact"], newConfidence: number): this;
182
+ /** Add an open question. */
183
+ addQuestion(question: string, opts?: {
184
+ value?: number;
185
+ approach?: string;
186
+ nodes?: string[];
187
+ }): this;
188
+ /** Add a blocker. */
189
+ addBlocker(description: string, type: "data" | "computation" | "expertise" | "decision" | "external", impact?: number): this;
190
+ /** Add a suggested experiment. */
191
+ addExperiment(description: string, opts?: {
192
+ expected?: string;
193
+ cost?: string;
194
+ infoGain?: number;
195
+ }): this;
196
+ /** Build the ReasoningObject. Throws if primary conclusion is missing. */
197
+ build(): ReasoningObject;
198
+ }
199
+ export declare class CROManager {
200
+ private readonly connection;
201
+ constructor(connection: ConnectionManager);
202
+ /**
203
+ * Load a validated CRO from a bundle.
204
+ */
205
+ load(bundleId: number): Promise<unknown>;
206
+ /**
207
+ * Get a human-readable summary of a CRO.
208
+ */
209
+ summarize(bundleId: number): Promise<{
210
+ bundleId: number;
211
+ summary: string;
212
+ }>;
213
+ /**
214
+ * Validate a CRO structure without creating a bundle.
215
+ */
216
+ validate(cro: ReasoningObject): Promise<unknown>;
217
+ /**
218
+ * Diff two CRO bundles.
219
+ */
220
+ diff(bundleIdA: number, bundleIdB: number): Promise<unknown>;
221
+ /**
222
+ * Merge two CRO bundles (returns merged CRO payload, does not create a bundle).
223
+ */
224
+ merge(bundleIdA: number, bundleIdB: number, strategy?: "union" | "prefer-a" | "prefer-b" | "highest-confidence"): Promise<unknown>;
225
+ /**
226
+ * Extend a CRO with new nodes and edges (returns extended payload).
227
+ */
228
+ extend(bundleId: number, nodes: CRONode[], edges?: CROEdge[]): Promise<unknown>;
229
+ /**
230
+ * Send a message with artifact references attached.
231
+ */
232
+ sendMessageWithArtifacts(channelId: string, content: string, artifacts: Array<{
233
+ bundleId: number;
234
+ artifactType?: string;
235
+ relationship?: string;
236
+ nodeHighlights?: string[];
237
+ summary?: string;
238
+ }>, opts?: {
239
+ messageType?: string;
240
+ metadata?: Record<string, unknown>;
241
+ }): Promise<unknown>;
242
+ }
243
+ //# sourceMappingURL=cro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cro.d.ts","sourceRoot":"","sources":["../src/cro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMzD,MAAM,MAAM,WAAW,GACnB,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GACtE,iBAAiB,GAAG,YAAY,GAAG,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEvF,MAAM,MAAM,WAAW,GACnB,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GACjE,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;QAC9D,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;IACzF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM,CAAC;YAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC;SACtD,CAAC;QACF,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,KAAK,EAAE,OAAO,EAAE,CAAC;KAClB,CAAC;IACF,WAAW,EAAE;QACX,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;QAChC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;KAChC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;YACrE,eAAe,CAAC,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;QACH,oBAAoB,CAAC,EAAE,KAAK,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAC;YACpB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,eAAe,CAAC,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC;CACH;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,SAAS,CAA2E;IAC5F,OAAO,CAAC,QAAQ,CAA2E;IAC3F,OAAO,CAAC,WAAW,CAAsF;gBAE7F,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAKjD,4CAA4C;IAC5C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxD,yCAAyC;IACzC,aAAa,CACX,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACpE,IAAI;IAKP,wBAAwB;IACxB,aAAa,CACX,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,EACpC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,IAAI;IAKP,yCAAyC;IACzC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAK5B,yCAAyC;IACzC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI9D,uCAAuC;IACvC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIlE,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI/D,uCAAuC;IACvC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5D,4CAA4C;IAC5C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI9D,iCAAiC;IACjC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1C,oDAAoD;IACpD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAKnG,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAIxD,2CAA2C;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAI3D,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAIvD,0CAA0C;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIzC,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhF,qCAAqC;IACrC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAKxG,wCAAwC;IACxC,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAC1C,aAAa,EAAE,MAAM,GACpB,IAAI;IAKP,4BAA4B;IAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAUnG,qBAAqB;IACrB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5H,kCAAkC;IAClC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUxG,0EAA0E;IAC1E,KAAK,IAAI,eAAe;CA6CzB;AAMD,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,iBAAiB;IAE1D;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9C;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjF;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,oBAA8B,GAC3E,OAAO,CAAC,OAAO,CAAC;IAQnB;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF;;OAEG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,EACF,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAClE,OAAO,CAAC,OAAO,CAAC;CAQpB"}
package/dist/cro.js ADDED
@@ -0,0 +1,263 @@
1
+ /**
2
+ * CRO Builder — fluent API for constructing Compressed Reasoning Objects.
3
+ *
4
+ * Phase 2 of Latent Space Coordination: structured reasoning DAGs that agents
5
+ * can produce, share, load, fork, merge, and compose for high-bandwidth
6
+ * knowledge transfer.
7
+ *
8
+ * Usage:
9
+ * const cro = new CROBuilder("smart-contracts", "Analyze reentrancy vectors")
10
+ * .addAssumption("a1", "Standard ERC-20 behavior", 0.95)
11
+ * .addNode({ id: "obs1", type: "observation", content: "...", confidence: 0.9 })
12
+ * .addNode({ id: "hyp1", type: "hypothesis", content: "...", confidence: 0.7 })
13
+ * .addEdge("obs1", "hyp1", "supports", 0.8)
14
+ * .conclude("No critical reentrancy found", 0.85, ["obs1", "hyp1"])
15
+ * .build();
16
+ *
17
+ * @module cro
18
+ */
19
+ /* ------------------------------------------------------------------ */
20
+ /* CROBuilder — fluent API */
21
+ /* ------------------------------------------------------------------ */
22
+ export class CROBuilder {
23
+ domain;
24
+ goalStatement;
25
+ successCriteria = [];
26
+ scopeIncludes = [];
27
+ scopeExcludes = [];
28
+ assumptions = [];
29
+ constraints = [];
30
+ nodes = [];
31
+ edges = [];
32
+ primaryConclusion = null;
33
+ alternatives = [];
34
+ sensitivity = [];
35
+ questions = [];
36
+ blockers = [];
37
+ experiments = [];
38
+ constructor(domain, goalStatement) {
39
+ this.domain = domain;
40
+ this.goalStatement = goalStatement;
41
+ }
42
+ /** Add a success criterion for the goal. */
43
+ addCriterion(criterion) {
44
+ this.successCriteria.push(criterion);
45
+ return this;
46
+ }
47
+ /** Set scope boundaries. */
48
+ setScope(includes, excludes) {
49
+ if (includes)
50
+ this.scopeIncludes.push(...includes);
51
+ if (excludes)
52
+ this.scopeExcludes.push(...excludes);
53
+ return this;
54
+ }
55
+ /** Add an assumption with confidence. */
56
+ addAssumption(id, statement, confidence, opts) {
57
+ this.assumptions.push({ id, statement, confidence, ...opts });
58
+ return this;
59
+ }
60
+ /** Add a constraint. */
61
+ addConstraint(id, statement, type, opts) {
62
+ this.constraints.push({ id, statement, type, ...opts });
63
+ return this;
64
+ }
65
+ /** Add a reasoning node to the graph. */
66
+ addNode(node) {
67
+ this.nodes.push(node);
68
+ return this;
69
+ }
70
+ /** Shortcut: add an observation node. */
71
+ observe(id, content, confidence) {
72
+ return this.addNode({ id, type: "observation", content, confidence });
73
+ }
74
+ /** Shortcut: add a hypothesis node. */
75
+ hypothesize(id, content, confidence) {
76
+ return this.addNode({ id, type: "hypothesis", content, confidence });
77
+ }
78
+ /** Shortcut: add an evidence node. */
79
+ evidence(id, content, confidence) {
80
+ return this.addNode({ id, type: "evidence", content, confidence });
81
+ }
82
+ /** Shortcut: add an inference node. */
83
+ infer(id, content, confidence) {
84
+ return this.addNode({ id, type: "inference", content, confidence });
85
+ }
86
+ /** Shortcut: add a counterargument node. */
87
+ counter(id, content, confidence) {
88
+ return this.addNode({ id, type: "counterargument", content, confidence });
89
+ }
90
+ /** Shortcut: mark a dead end. */
91
+ deadEnd(id, content) {
92
+ return this.addNode({ id, type: "dead-end", content, confidence: 0 });
93
+ }
94
+ /** Add an edge (relationship) between two nodes. */
95
+ addEdge(from, to, type, strength, explanation) {
96
+ this.edges.push({ from, to, type, strength, explanation });
97
+ return this;
98
+ }
99
+ /** Shortcut: node A supports node B. */
100
+ supports(from, to, strength = 0.8) {
101
+ return this.addEdge(from, to, "supports", strength);
102
+ }
103
+ /** Shortcut: node A contradicts node B. */
104
+ contradicts(from, to, strength = 0.8) {
105
+ return this.addEdge(from, to, "contradicts", strength);
106
+ }
107
+ /** Shortcut: node A refines node B. */
108
+ refines(from, to, strength = 0.8) {
109
+ return this.addEdge(from, to, "refines", strength);
110
+ }
111
+ /** Shortcut: node A depends on node B. */
112
+ dependsOn(from, to) {
113
+ return this.addEdge(from, to, "depends-on", 1.0);
114
+ }
115
+ /** Set the primary conclusion. */
116
+ conclude(statement, confidence, supportingNodes) {
117
+ this.primaryConclusion = { statement, confidence, supportingNodes };
118
+ return this;
119
+ }
120
+ /** Add an alternative conclusion. */
121
+ alternative(statement, confidence, conditions, supportingNodes) {
122
+ this.alternatives.push({ statement, confidence, conditions, supportingNodes });
123
+ return this;
124
+ }
125
+ /** Add a sensitivity analysis entry. */
126
+ addSensitivity(assumptionId, ifChanged, impact, newConfidence) {
127
+ this.sensitivity.push({ assumptionId, ifChanged, conclusionImpact: impact, newConfidence });
128
+ return this;
129
+ }
130
+ /** Add an open question. */
131
+ addQuestion(question, opts) {
132
+ this.questions.push({
133
+ question,
134
+ valueOfResolution: opts?.value,
135
+ suggestedApproach: opts?.approach,
136
+ relatedNodes: opts?.nodes,
137
+ });
138
+ return this;
139
+ }
140
+ /** Add a blocker. */
141
+ addBlocker(description, type, impact) {
142
+ this.blockers.push({ description, type, estimatedImpact: impact });
143
+ return this;
144
+ }
145
+ /** Add a suggested experiment. */
146
+ addExperiment(description, opts) {
147
+ this.experiments.push({
148
+ description,
149
+ expectedOutcome: opts?.expected,
150
+ costEstimate: opts?.cost,
151
+ informationGain: opts?.infoGain,
152
+ });
153
+ return this;
154
+ }
155
+ /** Build the ReasoningObject. Throws if primary conclusion is missing. */
156
+ build() {
157
+ if (!this.primaryConclusion) {
158
+ throw new Error("CRO must have a primary conclusion — call .conclude() before .build()");
159
+ }
160
+ const cro = {
161
+ context: {
162
+ domain: this.domain,
163
+ goal: {
164
+ statement: this.goalStatement,
165
+ ...(this.successCriteria.length > 0 ? { successCriteria: this.successCriteria } : {}),
166
+ ...((this.scopeIncludes.length > 0 || this.scopeExcludes.length > 0)
167
+ ? {
168
+ scope: {
169
+ ...(this.scopeIncludes.length > 0 ? { includes: this.scopeIncludes } : {}),
170
+ ...(this.scopeExcludes.length > 0 ? { excludes: this.scopeExcludes } : {}),
171
+ },
172
+ }
173
+ : {}),
174
+ },
175
+ ...(this.assumptions.length > 0 ? { assumptions: this.assumptions } : {}),
176
+ ...(this.constraints.length > 0 ? { constraints: this.constraints } : {}),
177
+ },
178
+ graph: {
179
+ nodes: this.nodes,
180
+ edges: this.edges,
181
+ },
182
+ conclusions: {
183
+ primary: this.primaryConclusion,
184
+ ...(this.alternatives.length > 0 ? { alternatives: this.alternatives } : {}),
185
+ ...(this.sensitivity.length > 0 ? { sensitivity: this.sensitivity } : {}),
186
+ },
187
+ };
188
+ // Only include openItems if there's at least one entry
189
+ if (this.questions.length > 0 || this.blockers.length > 0 || this.experiments.length > 0) {
190
+ cro.openItems = {
191
+ ...(this.questions.length > 0 ? { questions: this.questions } : {}),
192
+ ...(this.blockers.length > 0 ? { blockedOn: this.blockers } : {}),
193
+ ...(this.experiments.length > 0 ? { suggestedExperiments: this.experiments } : {}),
194
+ };
195
+ }
196
+ return cro;
197
+ }
198
+ }
199
+ /* ------------------------------------------------------------------ */
200
+ /* CROManager — gateway integration */
201
+ /* ------------------------------------------------------------------ */
202
+ export class CROManager {
203
+ connection;
204
+ constructor(connection) {
205
+ this.connection = connection;
206
+ }
207
+ /**
208
+ * Load a validated CRO from a bundle.
209
+ */
210
+ async load(bundleId) {
211
+ return this.connection.request("GET", `/v1/artifacts/cro/${bundleId}`);
212
+ }
213
+ /**
214
+ * Get a human-readable summary of a CRO.
215
+ */
216
+ async summarize(bundleId) {
217
+ return this.connection.request("GET", `/v1/artifacts/cro/${bundleId}/summary`);
218
+ }
219
+ /**
220
+ * Validate a CRO structure without creating a bundle.
221
+ */
222
+ async validate(cro) {
223
+ return this.connection.request("POST", "/v1/artifacts/cro/validate", { cro });
224
+ }
225
+ /**
226
+ * Diff two CRO bundles.
227
+ */
228
+ async diff(bundleIdA, bundleIdB) {
229
+ return this.connection.request("POST", "/v1/artifacts/cro/diff", { bundleIdA, bundleIdB });
230
+ }
231
+ /**
232
+ * Merge two CRO bundles (returns merged CRO payload, does not create a bundle).
233
+ */
234
+ async merge(bundleIdA, bundleIdB, strategy = "union") {
235
+ return this.connection.request("POST", "/v1/artifacts/cro/merge", {
236
+ bundleIdA,
237
+ bundleIdB,
238
+ resolution: { strategy },
239
+ });
240
+ }
241
+ /**
242
+ * Extend a CRO with new nodes and edges (returns extended payload).
243
+ */
244
+ async extend(bundleId, nodes, edges) {
245
+ return this.connection.request("POST", "/v1/artifacts/cro/extend", {
246
+ bundleId,
247
+ nodes,
248
+ edges: edges ?? [],
249
+ });
250
+ }
251
+ /**
252
+ * Send a message with artifact references attached.
253
+ */
254
+ async sendMessageWithArtifacts(channelId, content, artifacts, opts) {
255
+ return this.connection.request("POST", `/v1/channels/${channelId}/messages`, {
256
+ content,
257
+ messageType: opts?.messageType ?? "text",
258
+ metadata: opts?.metadata,
259
+ artifacts,
260
+ });
261
+ }
262
+ }
263
+ //# sourceMappingURL=cro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cro.js","sourceRoot":"","sources":["../src/cro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Default guardrails — installed automatically by `NookplotRuntime.connect()`.
3
+ *
4
+ * Two real-action examples chosen from `ON_CHAIN_ACTIONS` to prove the two
5
+ * patterns the registry supports:
6
+ * - `send_dm` — string mutation path (sanitize content, validate address).
7
+ * - `create_bounty` — typed/numeric validation + rejection path.
8
+ *
9
+ * Adding more wirings is intentionally a follow-up — see the punchlist in
10
+ * `COORDINATION.md` ("Guardrails coverage expansion"). The plan was to land
11
+ * the registry plus two illustrative examples; agents who want stricter
12
+ * validation register their own via `runtime.guardrails.register(...)`.
13
+ */
14
+ import { GuardrailRegistry } from "./guardrails.js";
15
+ /**
16
+ * Register all default guardrails on a registry. Returns a single disposer
17
+ * that removes every guardrail this call added — useful for tests and for
18
+ * `NookplotRuntime.disconnect()`.
19
+ */
20
+ export declare function registerDefaultGuardrails(registry: GuardrailRegistry): () => void;
21
+ //# sourceMappingURL=defaultGuardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultGuardrails.d.ts","sourceRoot":"","sources":["../src/defaultGuardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,iBAAiB,EAGlB,MAAM,iBAAiB,CAAC;AAgFzB;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAYjF"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Default guardrails — installed automatically by `NookplotRuntime.connect()`.
3
+ *
4
+ * Two real-action examples chosen from `ON_CHAIN_ACTIONS` to prove the two
5
+ * patterns the registry supports:
6
+ * - `send_dm` — string mutation path (sanitize content, validate address).
7
+ * - `create_bounty` — typed/numeric validation + rejection path.
8
+ *
9
+ * Adding more wirings is intentionally a follow-up — see the punchlist in
10
+ * `COORDINATION.md` ("Guardrails coverage expansion"). The plan was to land
11
+ * the registry plus two illustrative examples; agents who want stricter
12
+ * validation register their own via `runtime.guardrails.register(...)`.
13
+ */
14
+ import { InputGuardrailTripped, } from "./guardrails.js";
15
+ import { sanitizeForPrompt } from "./contentSafety.js";
16
+ /** 0x-prefixed 40-hex-character Ethereum address. */
17
+ const ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
18
+ /** DM payloads larger than this are pre-sanitized to keep prompt budgets sane. */
19
+ const DM_CONTENT_MAX = 2000;
20
+ const validateDmRecipient = ({ to }) => {
21
+ if (typeof to !== "string" || !ADDRESS_RE.test(to)) {
22
+ throw new InputGuardrailTripped("`to` must be a 0x-prefixed 40-hex Ethereum address");
23
+ }
24
+ // Normalize to lowercase so downstream dedup / cache keys are stable.
25
+ return { to: to.toLowerCase() };
26
+ };
27
+ const sanitizeDmContent = ({ content }) => {
28
+ if (typeof content !== "string") {
29
+ throw new InputGuardrailTripped("`content` must be a string");
30
+ }
31
+ if (content.length === 0) {
32
+ throw new InputGuardrailTripped("`content` must be non-empty");
33
+ }
34
+ // sanitizeForPrompt strips injection delimiters AND clamps to maxLength.
35
+ // Run it even on short content — the strip is cheap and consistent.
36
+ return { content: sanitizeForPrompt(content, DM_CONTENT_MAX) };
37
+ };
38
+ const validateBountyReward = ({ reward, amount }) => {
39
+ // The gateway accepts both `reward` and `amount` historically — validate
40
+ // whichever is present. If neither, that's a separate "missing required"
41
+ // error the gateway will return; guardrails only check what's there.
42
+ const value = reward ?? amount;
43
+ if (value === undefined || value === null)
44
+ return;
45
+ const numeric = typeof value === "bigint" ? value : Number(value);
46
+ if (typeof numeric === "number" && !Number.isFinite(numeric)) {
47
+ throw new InputGuardrailTripped("`reward` must be a finite number");
48
+ }
49
+ if (numeric <= 0) {
50
+ throw new InputGuardrailTripped("`reward` must be > 0");
51
+ }
52
+ };
53
+ const validateBountyDeadline = ({ deadline }) => {
54
+ if (deadline === undefined || deadline === null)
55
+ return;
56
+ const epoch = typeof deadline === "string" ? Number(deadline) : Number(deadline);
57
+ if (!Number.isFinite(epoch)) {
58
+ throw new InputGuardrailTripped("`deadline` must be a unix-epoch number (seconds or ms)");
59
+ }
60
+ // Accept seconds OR milliseconds. We only require it to be in the future
61
+ // by at least a minute — anything more aggressive would reject legitimate
62
+ // gateway clock-skew cases.
63
+ const nowSec = Math.floor(Date.now() / 1000);
64
+ const nowMs = Date.now();
65
+ const futureBySec = epoch > nowSec + 60;
66
+ const futureByMs = epoch > nowMs + 60_000;
67
+ if (!futureBySec && !futureByMs) {
68
+ throw new InputGuardrailTripped("`deadline` must be at least 60s in the future");
69
+ }
70
+ };
71
+ /**
72
+ * Register all default guardrails on a registry. Returns a single disposer
73
+ * that removes every guardrail this call added — useful for tests and for
74
+ * `NookplotRuntime.disconnect()`.
75
+ */
76
+ export function registerDefaultGuardrails(registry) {
77
+ const disposers = [
78
+ registry.register("send_dm", {
79
+ input: [validateDmRecipient, sanitizeDmContent],
80
+ }),
81
+ registry.register("create_bounty", {
82
+ input: [validateBountyReward, validateBountyDeadline],
83
+ }),
84
+ ];
85
+ return () => {
86
+ for (const dispose of disposers)
87
+ dispose();
88
+ };
89
+ }
90
+ //# sourceMappingURL=defaultGuardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultGuardrails.js","sourceRoot":"","sources":["../src/defaultGuardrails.ts"],"names":[],"mappings":"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"}