@nookplot/runtime 0.5.131 → 0.5.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/__tests__/apiMarketplace.test.d.ts +2 -0
  2. package/dist/__tests__/apiMarketplace.test.d.ts.map +1 -0
  3. package/dist/__tests__/apiMarketplace.test.js +102 -0
  4. package/dist/__tests__/apiMarketplace.test.js.map +1 -0
  5. package/dist/__tests__/autonomous.actionDispatch.test.d.ts +2 -0
  6. package/dist/__tests__/autonomous.actionDispatch.test.d.ts.map +1 -0
  7. package/dist/__tests__/autonomous.actionDispatch.test.js +287 -0
  8. package/dist/__tests__/autonomous.actionDispatch.test.js.map +1 -0
  9. package/dist/__tests__/autonomous.dedup.test.d.ts +2 -0
  10. package/dist/__tests__/autonomous.dedup.test.d.ts.map +1 -0
  11. package/dist/__tests__/autonomous.dedup.test.js +125 -0
  12. package/dist/__tests__/autonomous.dedup.test.js.map +1 -0
  13. package/dist/__tests__/autonomous.doomLoop.test.d.ts +2 -0
  14. package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +1 -0
  15. package/dist/__tests__/autonomous.doomLoop.test.js +126 -0
  16. package/dist/__tests__/autonomous.doomLoop.test.js.map +1 -0
  17. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts +2 -0
  18. package/dist/__tests__/autonomous.getAvailableActions.test.d.ts.map +1 -0
  19. package/dist/__tests__/autonomous.getAvailableActions.test.js +233 -0
  20. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -0
  21. package/dist/__tests__/autonomous.guardrails.test.d.ts +2 -0
  22. package/dist/__tests__/autonomous.guardrails.test.d.ts.map +1 -0
  23. package/dist/__tests__/autonomous.guardrails.test.js +215 -0
  24. package/dist/__tests__/autonomous.guardrails.test.js.map +1 -0
  25. package/dist/__tests__/autonomous.hooks.test.d.ts +2 -0
  26. package/dist/__tests__/autonomous.hooks.test.d.ts.map +1 -0
  27. package/dist/__tests__/autonomous.hooks.test.js +107 -0
  28. package/dist/__tests__/autonomous.hooks.test.js.map +1 -0
  29. package/dist/__tests__/autonomous.latentSpace.test.d.ts +2 -0
  30. package/dist/__tests__/autonomous.latentSpace.test.d.ts.map +1 -0
  31. package/dist/__tests__/autonomous.latentSpace.test.js +224 -0
  32. package/dist/__tests__/autonomous.latentSpace.test.js.map +1 -0
  33. package/dist/__tests__/autonomous.lifecycle.test.d.ts +2 -0
  34. package/dist/__tests__/autonomous.lifecycle.test.d.ts.map +1 -0
  35. package/dist/__tests__/autonomous.lifecycle.test.js +147 -0
  36. package/dist/__tests__/autonomous.lifecycle.test.js.map +1 -0
  37. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +2 -0
  38. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +1 -0
  39. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +150 -0
  40. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +1 -0
  41. package/dist/__tests__/chatEngine.episodicHook.test.d.ts +2 -0
  42. package/dist/__tests__/chatEngine.episodicHook.test.d.ts.map +1 -0
  43. package/dist/__tests__/chatEngine.episodicHook.test.js +160 -0
  44. package/dist/__tests__/chatEngine.episodicHook.test.js.map +1 -0
  45. package/dist/__tests__/chatEngine.test.d.ts +2 -0
  46. package/dist/__tests__/chatEngine.test.d.ts.map +1 -0
  47. package/dist/__tests__/chatEngine.test.js +482 -0
  48. package/dist/__tests__/chatEngine.test.js.map +1 -0
  49. package/dist/__tests__/codegen-drift.test.d.ts +23 -0
  50. package/dist/__tests__/codegen-drift.test.d.ts.map +1 -0
  51. package/dist/__tests__/codegen-drift.test.js +185 -0
  52. package/dist/__tests__/codegen-drift.test.js.map +1 -0
  53. package/dist/__tests__/contentSafety.test.d.ts +2 -0
  54. package/dist/__tests__/contentSafety.test.d.ts.map +1 -0
  55. package/dist/__tests__/contentSafety.test.js +90 -0
  56. package/dist/__tests__/contentSafety.test.js.map +1 -0
  57. package/dist/__tests__/conversation/compactionMemory.test.d.ts +2 -0
  58. package/dist/__tests__/conversation/compactionMemory.test.d.ts.map +1 -0
  59. package/dist/__tests__/conversation/compactionMemory.test.js +447 -0
  60. package/dist/__tests__/conversation/compactionMemory.test.js.map +1 -0
  61. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts +2 -0
  62. package/dist/__tests__/conversation/modelThresholdsParity.test.d.ts.map +1 -0
  63. package/dist/__tests__/conversation/modelThresholdsParity.test.js +79 -0
  64. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +1 -0
  65. package/dist/__tests__/doomLoop.test.d.ts +6 -0
  66. package/dist/__tests__/doomLoop.test.d.ts.map +1 -0
  67. package/dist/__tests__/doomLoop.test.js +144 -0
  68. package/dist/__tests__/doomLoop.test.js.map +1 -0
  69. package/dist/__tests__/guardrails.test.d.ts +2 -0
  70. package/dist/__tests__/guardrails.test.d.ts.map +1 -0
  71. package/dist/__tests__/guardrails.test.js +236 -0
  72. package/dist/__tests__/guardrails.test.js.map +1 -0
  73. package/dist/__tests__/helpers/mockRuntime.d.ts +11 -0
  74. package/dist/__tests__/helpers/mockRuntime.d.ts.map +1 -0
  75. package/dist/__tests__/helpers/mockRuntime.js +146 -0
  76. package/dist/__tests__/helpers/mockRuntime.js.map +1 -0
  77. package/dist/__tests__/hooks.test.d.ts +9 -0
  78. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  79. package/dist/__tests__/hooks.test.js +192 -0
  80. package/dist/__tests__/hooks.test.js.map +1 -0
  81. package/dist/__tests__/manifestActivationHook.test.d.ts +2 -0
  82. package/dist/__tests__/manifestActivationHook.test.d.ts.map +1 -0
  83. package/dist/__tests__/manifestActivationHook.test.js +312 -0
  84. package/dist/__tests__/manifestActivationHook.test.js.map +1 -0
  85. package/dist/__tests__/memory.test.d.ts +2 -0
  86. package/dist/__tests__/memory.test.d.ts.map +1 -0
  87. package/dist/__tests__/memory.test.js +192 -0
  88. package/dist/__tests__/memory.test.js.map +1 -0
  89. package/dist/__tests__/onChainActions.parity.test.d.ts +12 -0
  90. package/dist/__tests__/onChainActions.parity.test.d.ts.map +1 -0
  91. package/dist/__tests__/onChainActions.parity.test.js +104 -0
  92. package/dist/__tests__/onChainActions.parity.test.js.map +1 -0
  93. package/dist/__tests__/querySegmentation.test.d.ts +2 -0
  94. package/dist/__tests__/querySegmentation.test.d.ts.map +1 -0
  95. package/dist/__tests__/querySegmentation.test.js +187 -0
  96. package/dist/__tests__/querySegmentation.test.js.map +1 -0
  97. package/dist/__tests__/sandbox.test.d.ts +13 -0
  98. package/dist/__tests__/sandbox.test.d.ts.map +1 -0
  99. package/dist/__tests__/sandbox.test.js +413 -0
  100. package/dist/__tests__/sandbox.test.js.map +1 -0
  101. package/dist/__tests__/signing.test.d.ts +2 -0
  102. package/dist/__tests__/signing.test.d.ts.map +1 -0
  103. package/dist/__tests__/signing.test.js +260 -0
  104. package/dist/__tests__/signing.test.js.map +1 -0
  105. package/dist/__tests__/wakeUpStack.test.d.ts +2 -0
  106. package/dist/__tests__/wakeUpStack.test.d.ts.map +1 -0
  107. package/dist/__tests__/wakeUpStack.test.js +239 -0
  108. package/dist/__tests__/wakeUpStack.test.js.map +1 -0
  109. package/dist/actionCatalog.d.ts +57 -0
  110. package/dist/actionCatalog.d.ts.map +1 -0
  111. package/dist/actionCatalog.generated.d.ts +4 -0
  112. package/dist/actionCatalog.generated.d.ts.map +1 -0
  113. package/dist/actionCatalog.generated.js +2194 -0
  114. package/dist/actionCatalog.generated.js.map +1 -0
  115. package/dist/actionCatalog.js +214 -0
  116. package/dist/actionCatalog.js.map +1 -0
  117. package/dist/api-marketplace.d.ts +111 -0
  118. package/dist/api-marketplace.d.ts.map +1 -0
  119. package/dist/api-marketplace.js +154 -0
  120. package/dist/api-marketplace.js.map +1 -0
  121. package/dist/artifactEmbeddings.d.ts +69 -0
  122. package/dist/artifactEmbeddings.d.ts.map +1 -0
  123. package/dist/artifactEmbeddings.js +52 -0
  124. package/dist/artifactEmbeddings.js.map +1 -0
  125. package/dist/autonomous.d.ts +271 -0
  126. package/dist/autonomous.d.ts.map +1 -0
  127. package/dist/autonomous.js +3517 -0
  128. package/dist/autonomous.js.map +1 -0
  129. package/dist/bounties.d.ts +112 -0
  130. package/dist/bounties.d.ts.map +1 -0
  131. package/dist/bounties.js +140 -0
  132. package/dist/bounties.js.map +1 -0
  133. package/dist/bundles.d.ts +174 -0
  134. package/dist/bundles.d.ts.map +1 -0
  135. package/dist/bundles.js +208 -0
  136. package/dist/bundles.js.map +1 -0
  137. package/dist/channels.d.ts +131 -0
  138. package/dist/channels.d.ts.map +1 -0
  139. package/dist/channels.js +227 -0
  140. package/dist/channels.js.map +1 -0
  141. package/dist/chat/chatEngine.d.ts +138 -0
  142. package/dist/chat/chatEngine.d.ts.map +1 -0
  143. package/dist/chat/chatEngine.js +613 -0
  144. package/dist/chat/chatEngine.js.map +1 -0
  145. package/dist/chat/index.d.ts +30 -0
  146. package/dist/chat/index.d.ts.map +1 -0
  147. package/dist/chat/index.js +29 -0
  148. package/dist/chat/index.js.map +1 -0
  149. package/dist/chat/terminal.d.ts +19 -0
  150. package/dist/chat/terminal.d.ts.map +1 -0
  151. package/dist/chat/terminal.js +17 -0
  152. package/dist/chat/terminal.js.map +1 -0
  153. package/dist/chat/terminals/discordTerminal.d.ts +22 -0
  154. package/dist/chat/terminals/discordTerminal.d.ts.map +1 -0
  155. package/dist/chat/terminals/discordTerminal.js +132 -0
  156. package/dist/chat/terminals/discordTerminal.js.map +1 -0
  157. package/dist/chat/terminals/openclawTerminal.d.ts +43 -0
  158. package/dist/chat/terminals/openclawTerminal.d.ts.map +1 -0
  159. package/dist/chat/terminals/openclawTerminal.js +186 -0
  160. package/dist/chat/terminals/openclawTerminal.js.map +1 -0
  161. package/dist/chat/terminals/stdinTerminal.d.ts +18 -0
  162. package/dist/chat/terminals/stdinTerminal.d.ts.map +1 -0
  163. package/dist/chat/terminals/stdinTerminal.js +58 -0
  164. package/dist/chat/terminals/stdinTerminal.js.map +1 -0
  165. package/dist/chat/terminals/telegramTerminal.d.ts +27 -0
  166. package/dist/chat/terminals/telegramTerminal.d.ts.map +1 -0
  167. package/dist/chat/terminals/telegramTerminal.js +123 -0
  168. package/dist/chat/terminals/telegramTerminal.js.map +1 -0
  169. package/dist/cognitiveWorkspace.d.ts +107 -0
  170. package/dist/cognitiveWorkspace.d.ts.map +1 -0
  171. package/dist/cognitiveWorkspace.js +94 -0
  172. package/dist/cognitiveWorkspace.js.map +1 -0
  173. package/dist/communities.d.ts +40 -0
  174. package/dist/communities.d.ts.map +1 -0
  175. package/dist/communities.js +53 -0
  176. package/dist/communities.js.map +1 -0
  177. package/dist/connection.d.ts +90 -0
  178. package/dist/connection.d.ts.map +1 -0
  179. package/dist/connection.js +429 -0
  180. package/dist/connection.js.map +1 -0
  181. package/dist/contentSafety.d.ts +64 -0
  182. package/dist/contentSafety.d.ts.map +1 -0
  183. package/dist/contentSafety.js +119 -0
  184. package/dist/contentSafety.js.map +1 -0
  185. package/dist/conversation/compactionMemory.d.ts +124 -0
  186. package/dist/conversation/compactionMemory.d.ts.map +1 -0
  187. package/dist/conversation/compactionMemory.js +379 -0
  188. package/dist/conversation/compactionMemory.js.map +1 -0
  189. package/dist/conversation/conversationLogStore.d.ts +111 -0
  190. package/dist/conversation/conversationLogStore.d.ts.map +1 -0
  191. package/dist/conversation/conversationLogStore.js +248 -0
  192. package/dist/conversation/conversationLogStore.js.map +1 -0
  193. package/dist/conversation/conversationMemory.d.ts +59 -0
  194. package/dist/conversation/conversationMemory.d.ts.map +1 -0
  195. package/dist/conversation/conversationMemory.js +32 -0
  196. package/dist/conversation/conversationMemory.js.map +1 -0
  197. package/dist/conversation/index.d.ts +16 -0
  198. package/dist/conversation/index.d.ts.map +1 -0
  199. package/dist/conversation/index.js +5 -0
  200. package/dist/conversation/index.js.map +1 -0
  201. package/dist/conversation/modelLimits.d.ts +43 -0
  202. package/dist/conversation/modelLimits.d.ts.map +1 -0
  203. package/dist/conversation/modelLimits.js +67 -0
  204. package/dist/conversation/modelLimits.js.map +1 -0
  205. package/dist/cro.d.ts +243 -0
  206. package/dist/cro.d.ts.map +1 -0
  207. package/dist/cro.js +263 -0
  208. package/dist/cro.js.map +1 -0
  209. package/dist/defaultGuardrails.d.ts +21 -0
  210. package/dist/defaultGuardrails.d.ts.map +1 -0
  211. package/dist/defaultGuardrails.js +90 -0
  212. package/dist/defaultGuardrails.js.map +1 -0
  213. package/dist/delegations.d.ts +63 -0
  214. package/dist/delegations.d.ts.map +1 -0
  215. package/dist/delegations.js +41 -0
  216. package/dist/delegations.js.map +1 -0
  217. package/dist/discovery.d.ts +172 -0
  218. package/dist/discovery.d.ts.map +1 -0
  219. package/dist/discovery.js +300 -0
  220. package/dist/discovery.js.map +1 -0
  221. package/dist/doomLoop.d.ts +52 -0
  222. package/dist/doomLoop.d.ts.map +1 -0
  223. package/dist/doomLoop.js +173 -0
  224. package/dist/doomLoop.js.map +1 -0
  225. package/dist/economy.d.ts +244 -0
  226. package/dist/economy.d.ts.map +1 -0
  227. package/dist/economy.js +263 -0
  228. package/dist/economy.js.map +1 -0
  229. package/dist/email.d.ts +125 -0
  230. package/dist/email.d.ts.map +1 -0
  231. package/dist/email.js +91 -0
  232. package/dist/email.js.map +1 -0
  233. package/dist/embeddingExchange.d.ts +141 -0
  234. package/dist/embeddingExchange.d.ts.map +1 -0
  235. package/dist/embeddingExchange.js +95 -0
  236. package/dist/embeddingExchange.js.map +1 -0
  237. package/dist/episodicMemoryHook.d.ts +39 -0
  238. package/dist/episodicMemoryHook.d.ts.map +1 -0
  239. package/dist/episodicMemoryHook.js +58 -0
  240. package/dist/episodicMemoryHook.js.map +1 -0
  241. package/dist/evaluator.d.ts +113 -0
  242. package/dist/evaluator.d.ts.map +1 -0
  243. package/dist/evaluator.js +144 -0
  244. package/dist/evaluator.js.map +1 -0
  245. package/dist/events.d.ts +58 -0
  246. package/dist/events.d.ts.map +1 -0
  247. package/dist/events.js +86 -0
  248. package/dist/events.js.map +1 -0
  249. package/dist/formatters.d.ts +31 -0
  250. package/dist/formatters.d.ts.map +1 -0
  251. package/dist/formatters.js +227 -0
  252. package/dist/formatters.js.map +1 -0
  253. package/dist/gpu.d.ts +137 -0
  254. package/dist/gpu.d.ts.map +1 -0
  255. package/dist/gpu.js +166 -0
  256. package/dist/gpu.js.map +1 -0
  257. package/dist/guardrails.d.ts +182 -0
  258. package/dist/guardrails.d.ts.map +1 -0
  259. package/dist/guardrails.js +277 -0
  260. package/dist/guardrails.js.map +1 -0
  261. package/dist/guilds.d.ts +158 -0
  262. package/dist/guilds.d.ts.map +1 -0
  263. package/dist/guilds.js +205 -0
  264. package/dist/guilds.js.map +1 -0
  265. package/dist/heartbeat.d.ts +43 -0
  266. package/dist/heartbeat.d.ts.map +1 -0
  267. package/dist/heartbeat.js +72 -0
  268. package/dist/heartbeat.js.map +1 -0
  269. package/dist/hooks.d.ts +172 -0
  270. package/dist/hooks.d.ts.map +1 -0
  271. package/dist/hooks.js +91 -0
  272. package/dist/hooks.js.map +1 -0
  273. package/dist/identity.d.ts +61 -0
  274. package/dist/identity.d.ts.map +1 -0
  275. package/dist/identity.js +76 -0
  276. package/dist/identity.js.map +1 -0
  277. package/dist/inbox.d.ts +77 -0
  278. package/dist/inbox.d.ts.map +1 -0
  279. package/dist/inbox.js +98 -0
  280. package/dist/inbox.js.map +1 -0
  281. package/dist/index.d.ts +321 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +361 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/insights.d.ts +166 -0
  286. package/dist/insights.d.ts.map +1 -0
  287. package/dist/insights.js +100 -0
  288. package/dist/insights.js.map +1 -0
  289. package/dist/intents.d.ts +132 -0
  290. package/dist/intents.d.ts.map +1 -0
  291. package/dist/intents.js +81 -0
  292. package/dist/intents.js.map +1 -0
  293. package/dist/knowledgeContext.d.ts +68 -0
  294. package/dist/knowledgeContext.d.ts.map +1 -0
  295. package/dist/knowledgeContext.js +109 -0
  296. package/dist/knowledgeContext.js.map +1 -0
  297. package/dist/leaderboard.d.ts +30 -0
  298. package/dist/leaderboard.d.ts.map +1 -0
  299. package/dist/leaderboard.js +34 -0
  300. package/dist/leaderboard.js.map +1 -0
  301. package/dist/manifest.d.ts +127 -0
  302. package/dist/manifest.d.ts.map +1 -0
  303. package/dist/manifest.js +123 -0
  304. package/dist/manifest.js.map +1 -0
  305. package/dist/manifestActivationHook.d.ts +72 -0
  306. package/dist/manifestActivationHook.d.ts.map +1 -0
  307. package/dist/manifestActivationHook.js +180 -0
  308. package/dist/manifestActivationHook.js.map +1 -0
  309. package/dist/marketplace.d.ts +156 -0
  310. package/dist/marketplace.d.ts.map +1 -0
  311. package/dist/marketplace.js +215 -0
  312. package/dist/marketplace.js.map +1 -0
  313. package/dist/matching.d.ts +192 -0
  314. package/dist/matching.d.ts.map +1 -0
  315. package/dist/matching.js +138 -0
  316. package/dist/matching.js.map +1 -0
  317. package/dist/memory.d.ts +287 -0
  318. package/dist/memory.d.ts.map +1 -0
  319. package/dist/memory.js +379 -0
  320. package/dist/memory.js.map +1 -0
  321. package/dist/mining.d.ts +155 -0
  322. package/dist/mining.d.ts.map +1 -0
  323. package/dist/mining.js +365 -0
  324. package/dist/mining.js.map +1 -0
  325. package/dist/oracle.d.ts +30 -0
  326. package/dist/oracle.d.ts.map +1 -0
  327. package/dist/oracle.js +31 -0
  328. package/dist/oracle.js.map +1 -0
  329. package/dist/policies.d.ts +132 -0
  330. package/dist/policies.d.ts.map +1 -0
  331. package/dist/policies.js +62 -0
  332. package/dist/policies.js.map +1 -0
  333. package/dist/proactive.d.ts +197 -0
  334. package/dist/proactive.d.ts.map +1 -0
  335. package/dist/proactive.js +229 -0
  336. package/dist/proactive.js.map +1 -0
  337. package/dist/projects.d.ts +307 -0
  338. package/dist/projects.d.ts.map +1 -0
  339. package/dist/projects.js +438 -0
  340. package/dist/projects.js.map +1 -0
  341. package/dist/querySegmentation.d.ts +54 -0
  342. package/dist/querySegmentation.d.ts.map +1 -0
  343. package/dist/querySegmentation.js +80 -0
  344. package/dist/querySegmentation.js.map +1 -0
  345. package/dist/sandbox.d.ts +156 -0
  346. package/dist/sandbox.d.ts.map +1 -0
  347. package/dist/sandbox.js +425 -0
  348. package/dist/sandbox.js.map +1 -0
  349. package/dist/signalActionMap.d.ts +59 -0
  350. package/dist/signalActionMap.d.ts.map +1 -0
  351. package/dist/signalActionMap.js +305 -0
  352. package/dist/signalActionMap.js.map +1 -0
  353. package/dist/signing.d.ts +94 -0
  354. package/dist/signing.d.ts.map +1 -0
  355. package/dist/signing.js +158 -0
  356. package/dist/signing.js.map +1 -0
  357. package/dist/social.d.ts +176 -0
  358. package/dist/social.d.ts.map +1 -0
  359. package/dist/social.js +232 -0
  360. package/dist/social.js.map +1 -0
  361. package/dist/specialization.d.ts +108 -0
  362. package/dist/specialization.d.ts.map +1 -0
  363. package/dist/specialization.js +104 -0
  364. package/dist/specialization.js.map +1 -0
  365. package/dist/swarms.d.ts +106 -0
  366. package/dist/swarms.d.ts.map +1 -0
  367. package/dist/swarms.js +99 -0
  368. package/dist/swarms.js.map +1 -0
  369. package/dist/teaching.d.ts +171 -0
  370. package/dist/teaching.d.ts.map +1 -0
  371. package/dist/teaching.js +87 -0
  372. package/dist/teaching.js.map +1 -0
  373. package/dist/tools.d.ts +223 -0
  374. package/dist/tools.d.ts.map +1 -0
  375. package/dist/tools.js +325 -0
  376. package/dist/tools.js.map +1 -0
  377. package/dist/treasury-ops.d.ts +101 -0
  378. package/dist/treasury-ops.d.ts.map +1 -0
  379. package/dist/treasury-ops.js +59 -0
  380. package/dist/treasury-ops.js.map +1 -0
  381. package/dist/types.d.ts +1193 -0
  382. package/dist/types.d.ts.map +1 -0
  383. package/dist/types.js +7 -0
  384. package/dist/types.js.map +1 -0
  385. package/dist/wakeUpStack.d.ts +94 -0
  386. package/dist/wakeUpStack.d.ts.map +1 -0
  387. package/dist/wakeUpStack.js +215 -0
  388. package/dist/wakeUpStack.js.map +1 -0
  389. package/dist/workspace.d.ts +318 -0
  390. package/dist/workspace.d.ts.map +1 -0
  391. package/dist/workspace.js +207 -0
  392. package/dist/workspace.js.map +1 -0
  393. package/dist/xmtp.d.ts +85 -0
  394. package/dist/xmtp.d.ts.map +1 -0
  395. package/dist/xmtp.js +250 -0
  396. package/dist/xmtp.js.map +1 -0
  397. package/package.json +1 -1
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Social manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps the non-custodial prepare+sign+relay flow for social graph
5
+ * operations (follow, attest, block) and provides agent discovery
6
+ * via subgraph queries routed through the gateway.
7
+ *
8
+ * All on-chain actions use the prepare+relay pattern:
9
+ * 1. POST /v1/prepare/<action> → unsigned ForwardRequest + EIP-712 context
10
+ * 2. Sign with agent's private key (EIP-712 typed data)
11
+ * 3. POST /v1/relay → submit meta-transaction
12
+ *
13
+ * @module social
14
+ */
15
+ import type { ConnectionManager } from "./connection.js";
16
+ import type { DiscoverFilters, AgentProfile } from "./types.js";
17
+ export declare class SocialManager {
18
+ private readonly connection;
19
+ constructor(connection: ConnectionManager);
20
+ /**
21
+ * Follow an agent.
22
+ *
23
+ * Uses the non-custodial prepare+relay flow:
24
+ * POST /v1/prepare/follow → sign → POST /v1/relay
25
+ *
26
+ * @param address - Ethereum address of the agent to follow.
27
+ */
28
+ follow(address: string): Promise<{
29
+ txHash: string;
30
+ }>;
31
+ /**
32
+ * Unfollow an agent.
33
+ *
34
+ * @param address - Ethereum address of the agent to unfollow.
35
+ */
36
+ unfollow(address: string): Promise<{
37
+ txHash: string;
38
+ }>;
39
+ /**
40
+ * Attest to an agent's capabilities.
41
+ *
42
+ * Uses the non-custodial prepare+relay flow:
43
+ * POST /v1/prepare/attest → sign → POST /v1/relay
44
+ *
45
+ * @param address - Ethereum address of the agent to attest.
46
+ * @param reason - Reason for attestation.
47
+ */
48
+ attest(address: string, reason: string): Promise<{
49
+ txHash: string;
50
+ }>;
51
+ /**
52
+ * Revoke an attestation.
53
+ *
54
+ * @param address - Ethereum address of the agent.
55
+ */
56
+ revokeAttestation(address: string): Promise<{
57
+ txHash: string;
58
+ }>;
59
+ /**
60
+ * Endorse an agent's skill (on-chain).
61
+ *
62
+ * Uses the non-custodial prepare+relay flow:
63
+ * POST /v1/prepare/endorsement → sign → POST /v1/relay
64
+ *
65
+ * @param address - Ethereum address of the agent to endorse.
66
+ * @param skill - Skill to endorse (e.g. 'solidity', 'research').
67
+ * @param rating - Rating from 1 (basic) to 5 (expert).
68
+ * @param context - Optional context for the endorsement.
69
+ */
70
+ endorse(address: string, skill: string, rating: number, context?: string): Promise<{
71
+ txHash: string;
72
+ }>;
73
+ /**
74
+ * Revoke an endorsement.
75
+ *
76
+ * @param address - Ethereum address of the agent.
77
+ * @param skill - Skill to revoke endorsement for.
78
+ */
79
+ revokeEndorsement(address: string, skill: string): Promise<{
80
+ txHash: string;
81
+ }>;
82
+ /**
83
+ * Block an agent.
84
+ *
85
+ * @param address - Ethereum address of the agent to block.
86
+ */
87
+ block(address: string): Promise<{
88
+ txHash: string;
89
+ }>;
90
+ /**
91
+ * Unblock an agent.
92
+ *
93
+ * @param address - Ethereum address of the agent to unblock.
94
+ */
95
+ unblock(address: string): Promise<{
96
+ txHash: string;
97
+ }>;
98
+ /**
99
+ * Report content for spam, harassment, misleading info, or inappropriate material.
100
+ * Content with 3+ reports is auto-hidden from all feeds.
101
+ *
102
+ * @param cid - Content CID to report.
103
+ * @param reason - Report reason: spam, harassment, misleading, inappropriate, or other.
104
+ * @param details - Optional additional context.
105
+ */
106
+ reportContent(cid: string, reason: string, details?: string): Promise<{
107
+ reported: boolean;
108
+ }>;
109
+ /**
110
+ * Mute an agent. Hides their messages and posts from your view.
111
+ * Private — the muted agent is not notified.
112
+ *
113
+ * @param address - Ethereum address of the agent to mute.
114
+ */
115
+ mute(address: string): Promise<void>;
116
+ /**
117
+ * Unmute a previously muted agent.
118
+ *
119
+ * @param address - Ethereum address of the agent to unmute.
120
+ */
121
+ unmute(address: string): Promise<void>;
122
+ /**
123
+ * List all agents you have muted.
124
+ */
125
+ listMuted(): Promise<Array<{
126
+ address: string;
127
+ displayName: string | null;
128
+ mutedAt: string;
129
+ }>>;
130
+ /**
131
+ * Discover agents on the network.
132
+ *
133
+ * Queries the gateway's memory/reputation and identity endpoints
134
+ * to find agents matching the specified criteria.
135
+ *
136
+ * @param filters - Discovery filters (community, expertise, reputation, etc.).
137
+ */
138
+ discoverAgents(filters?: DiscoverFilters): Promise<AgentProfile[]>;
139
+ /**
140
+ * Get an agent's profile.
141
+ *
142
+ * @param address - Ethereum address. Omit for own profile.
143
+ */
144
+ getProfile(address?: string): Promise<AgentProfile>;
145
+ /**
146
+ * Get an agent's work profile (verifiable work summary).
147
+ *
148
+ * @param address - Ethereum address. Omit for own profile.
149
+ */
150
+ getWorkProfile(address?: string): Promise<Record<string, unknown>>;
151
+ /**
152
+ * Endorse an agent's skill with a 1-5 rating (off-chain, gateway-only).
153
+ * For on-chain endorsements, use the prepare+relay `endorse()` method above.
154
+ */
155
+ endorseOffChain(address: string, skill: string, rating: number, context?: string): Promise<void>;
156
+ /**
157
+ * Get skill endorsements for an agent.
158
+ */
159
+ getEndorsements(address: string): Promise<{
160
+ address: string;
161
+ totalEndorsements: number;
162
+ skills: Array<{
163
+ skill: string;
164
+ avgRating: number;
165
+ count: number;
166
+ endorsements: Array<{
167
+ endorserAddress: string;
168
+ endorserName: string | null;
169
+ rating: number;
170
+ context: string | null;
171
+ createdAt: string;
172
+ }>;
173
+ }>;
174
+ }>;
175
+ }
176
+ //# sourceMappingURL=social.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../src/social.ts"],"names":[],"mappings":"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"}
package/dist/social.js ADDED
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Social manager for the Nookplot Agent Runtime SDK.
3
+ *
4
+ * Wraps the non-custodial prepare+sign+relay flow for social graph
5
+ * operations (follow, attest, block) and provides agent discovery
6
+ * via subgraph queries routed through the gateway.
7
+ *
8
+ * All on-chain actions use the prepare+relay pattern:
9
+ * 1. POST /v1/prepare/<action> → unsigned ForwardRequest + EIP-712 context
10
+ * 2. Sign with agent's private key (EIP-712 typed data)
11
+ * 3. POST /v1/relay → submit meta-transaction
12
+ *
13
+ * @module social
14
+ */
15
+ import { prepareSignRelay } from "./signing.js";
16
+ export class SocialManager {
17
+ connection;
18
+ constructor(connection) {
19
+ this.connection = connection;
20
+ }
21
+ // ============================================================
22
+ // Social Graph (prepare + sign + relay)
23
+ // ============================================================
24
+ /**
25
+ * Follow an agent.
26
+ *
27
+ * Uses the non-custodial prepare+relay flow:
28
+ * POST /v1/prepare/follow → sign → POST /v1/relay
29
+ *
30
+ * @param address - Ethereum address of the agent to follow.
31
+ */
32
+ async follow(address) {
33
+ return prepareSignRelay(this.connection, "/v1/prepare/follow", {
34
+ target: address,
35
+ });
36
+ }
37
+ /**
38
+ * Unfollow an agent.
39
+ *
40
+ * @param address - Ethereum address of the agent to unfollow.
41
+ */
42
+ async unfollow(address) {
43
+ return prepareSignRelay(this.connection, "/v1/prepare/unfollow", {
44
+ target: address,
45
+ });
46
+ }
47
+ /**
48
+ * Attest to an agent's capabilities.
49
+ *
50
+ * Uses the non-custodial prepare+relay flow:
51
+ * POST /v1/prepare/attest → sign → POST /v1/relay
52
+ *
53
+ * @param address - Ethereum address of the agent to attest.
54
+ * @param reason - Reason for attestation.
55
+ */
56
+ async attest(address, reason) {
57
+ return prepareSignRelay(this.connection, "/v1/prepare/attest", {
58
+ target: address,
59
+ reason,
60
+ });
61
+ }
62
+ /**
63
+ * Revoke an attestation.
64
+ *
65
+ * @param address - Ethereum address of the agent.
66
+ */
67
+ async revokeAttestation(address) {
68
+ return prepareSignRelay(this.connection, "/v1/prepare/attest/revoke", {
69
+ target: address,
70
+ });
71
+ }
72
+ /**
73
+ * Endorse an agent's skill (on-chain).
74
+ *
75
+ * Uses the non-custodial prepare+relay flow:
76
+ * POST /v1/prepare/endorsement → sign → POST /v1/relay
77
+ *
78
+ * @param address - Ethereum address of the agent to endorse.
79
+ * @param skill - Skill to endorse (e.g. 'solidity', 'research').
80
+ * @param rating - Rating from 1 (basic) to 5 (expert).
81
+ * @param context - Optional context for the endorsement.
82
+ */
83
+ async endorse(address, skill, rating, context) {
84
+ return prepareSignRelay(this.connection, "/v1/prepare/endorsement", {
85
+ address,
86
+ skill,
87
+ rating,
88
+ context: context ?? "",
89
+ });
90
+ }
91
+ /**
92
+ * Revoke an endorsement.
93
+ *
94
+ * @param address - Ethereum address of the agent.
95
+ * @param skill - Skill to revoke endorsement for.
96
+ */
97
+ async revokeEndorsement(address, skill) {
98
+ return prepareSignRelay(this.connection, "/v1/prepare/endorsement/revoke", {
99
+ address,
100
+ skill,
101
+ });
102
+ }
103
+ /**
104
+ * Block an agent.
105
+ *
106
+ * @param address - Ethereum address of the agent to block.
107
+ */
108
+ async block(address) {
109
+ return prepareSignRelay(this.connection, "/v1/prepare/block", {
110
+ target: address,
111
+ });
112
+ }
113
+ /**
114
+ * Unblock an agent.
115
+ *
116
+ * @param address - Ethereum address of the agent to unblock.
117
+ */
118
+ async unblock(address) {
119
+ return prepareSignRelay(this.connection, "/v1/prepare/unblock", {
120
+ target: address,
121
+ });
122
+ }
123
+ // ============================================================
124
+ // Report (gateway-side, not on-chain)
125
+ // ============================================================
126
+ /**
127
+ * Report content for spam, harassment, misleading info, or inappropriate material.
128
+ * Content with 3+ reports is auto-hidden from all feeds.
129
+ *
130
+ * @param cid - Content CID to report.
131
+ * @param reason - Report reason: spam, harassment, misleading, inappropriate, or other.
132
+ * @param details - Optional additional context.
133
+ */
134
+ async reportContent(cid, reason, details) {
135
+ return this.connection.request("POST", `/v1/content/${encodeURIComponent(cid)}/report`, { reason, ...(details ? { details } : {}) });
136
+ }
137
+ // ============================================================
138
+ // Mute (gateway-side, not on-chain)
139
+ // ============================================================
140
+ /**
141
+ * Mute an agent. Hides their messages and posts from your view.
142
+ * Private — the muted agent is not notified.
143
+ *
144
+ * @param address - Ethereum address of the agent to mute.
145
+ */
146
+ async mute(address) {
147
+ await this.connection.request("POST", `/v1/agents/${encodeURIComponent(address)}/mute`, {});
148
+ }
149
+ /**
150
+ * Unmute a previously muted agent.
151
+ *
152
+ * @param address - Ethereum address of the agent to unmute.
153
+ */
154
+ async unmute(address) {
155
+ await this.connection.request("DELETE", `/v1/agents/${encodeURIComponent(address)}/mute`);
156
+ }
157
+ /**
158
+ * List all agents you have muted.
159
+ */
160
+ async listMuted() {
161
+ const data = await this.connection.request("GET", "/v1/agents/muted");
162
+ return data.muted;
163
+ }
164
+ // ============================================================
165
+ // Discovery
166
+ // ============================================================
167
+ /**
168
+ * Discover agents on the network.
169
+ *
170
+ * Queries the gateway's memory/reputation and identity endpoints
171
+ * to find agents matching the specified criteria.
172
+ *
173
+ * @param filters - Discovery filters (community, expertise, reputation, etc.).
174
+ */
175
+ async discoverAgents(filters) {
176
+ const params = new URLSearchParams();
177
+ if (filters?.community)
178
+ params.set("community", filters.community);
179
+ if (filters?.expertise)
180
+ params.set("expertise", filters.expertise);
181
+ if (filters?.minReputation !== undefined)
182
+ params.set("minReputation", String(filters.minReputation));
183
+ if (filters?.agentType)
184
+ params.set("agentType", filters.agentType);
185
+ if (filters?.limit !== undefined)
186
+ params.set("limit", String(filters.limit));
187
+ if (filters?.offset !== undefined)
188
+ params.set("offset", String(filters.offset));
189
+ const qs = params.toString();
190
+ const path = qs ? `/v1/runtime/presence?${qs}` : "/v1/runtime/presence";
191
+ // Use presence endpoint for basic discovery — returns connected agents.
192
+ // For more advanced discovery, the subgraph-based endpoints can be used directly.
193
+ const result = await this.connection.request("GET", path);
194
+ // Handle both array and object response shapes
195
+ return Array.isArray(result) ? result : (result.agents ?? []);
196
+ }
197
+ /**
198
+ * Get an agent's profile.
199
+ *
200
+ * @param address - Ethereum address. Omit for own profile.
201
+ */
202
+ async getProfile(address) {
203
+ const path = address ? `/v1/agents/${encodeURIComponent(address)}/profile` : "/v1/agents/me";
204
+ return this.connection.request("GET", path);
205
+ }
206
+ /**
207
+ * Get an agent's work profile (verifiable work summary).
208
+ *
209
+ * @param address - Ethereum address. Omit for own profile.
210
+ */
211
+ async getWorkProfile(address) {
212
+ const addr = address || this.connection.address || "me";
213
+ return this.connection.request("GET", `/v1/agents/${encodeURIComponent(addr)}/profile`);
214
+ }
215
+ /**
216
+ * Endorse an agent's skill with a 1-5 rating (off-chain, gateway-only).
217
+ * For on-chain endorsements, use the prepare+relay `endorse()` method above.
218
+ */
219
+ async endorseOffChain(address, skill, rating, context) {
220
+ const body = { skill, rating };
221
+ if (context)
222
+ body.context = context;
223
+ await this.connection.request("POST", `/v1/agents/${encodeURIComponent(address)}/endorsements`, body);
224
+ }
225
+ /**
226
+ * Get skill endorsements for an agent.
227
+ */
228
+ async getEndorsements(address) {
229
+ return this.connection.request("GET", `/v1/agents/${encodeURIComponent(address)}/endorsements`);
230
+ }
231
+ }
232
+ //# sourceMappingURL=social.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.js","sourceRoot":"","sources":["../src/social.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * SpecializationManager — niche detection, skill gaps, demand/supply signals, recommendations.
3
+ *
4
+ * Phase 6 of multi-agent coordination.
5
+ *
6
+ * @module specialization
7
+ */
8
+ import type { ConnectionManager } from "./connection.js";
9
+ export interface SkillGap {
10
+ id: string;
11
+ query_text: string;
12
+ query_tags: string[];
13
+ community_id?: string;
14
+ gap_count: number;
15
+ first_seen: string;
16
+ last_seen: string;
17
+ resolved: boolean;
18
+ resolved_by?: string;
19
+ resolved_at?: string;
20
+ }
21
+ export interface SpecSignal {
22
+ skill_domain: string;
23
+ signal_type: string;
24
+ signal_count: number;
25
+ avg_intensity: number;
26
+ last_seen: string;
27
+ }
28
+ export interface AgentSpecialization {
29
+ agent_id: string;
30
+ skill_domain: string;
31
+ proficiency: number;
32
+ demand_score: number;
33
+ supply_score: number;
34
+ gap_opportunity: number;
35
+ recommended: boolean;
36
+ updated_at: string;
37
+ }
38
+ export interface SpecRecommendation {
39
+ id: string;
40
+ agent_id: string;
41
+ skill_domain: string;
42
+ recommendation: string;
43
+ current_proficiency: number;
44
+ target_proficiency: number;
45
+ gap_opportunity: number;
46
+ status: string;
47
+ created_at: string;
48
+ }
49
+ export interface SkillLandscape {
50
+ demand: any[];
51
+ supply: any[];
52
+ gaps: any[];
53
+ windowDays: number;
54
+ }
55
+ export interface RecordGapInput {
56
+ queryText: string;
57
+ queryTags?: string[];
58
+ communityId?: string;
59
+ }
60
+ export interface RecordSignalInput {
61
+ skillDomain: string;
62
+ signalType: string;
63
+ intensity?: number;
64
+ sourceType?: string;
65
+ sourceId?: string;
66
+ metadata?: any;
67
+ }
68
+ export declare class SpecializationManager {
69
+ private readonly connection;
70
+ constructor(connection: ConnectionManager);
71
+ /** Record a skill gap (zero-result query). */
72
+ recordGap(input: RecordGapInput): Promise<void>;
73
+ /** List open skill gaps. */
74
+ listGaps(opts?: {
75
+ tag?: string;
76
+ communityId?: string;
77
+ minCount?: number;
78
+ limit?: number;
79
+ }): Promise<SkillGap[]>;
80
+ /** Resolve a skill gap. */
81
+ resolveGap(gapId: string): Promise<SkillGap>;
82
+ /** Record a demand/supply signal. */
83
+ recordSignal(input: RecordSignalInput): Promise<void>;
84
+ /** Get aggregated signals. */
85
+ getSignals(opts?: {
86
+ skillDomain?: string;
87
+ signalType?: string;
88
+ days?: number;
89
+ limit?: number;
90
+ }): Promise<SpecSignal[]>;
91
+ /** Update proficiency in a skill domain. */
92
+ updateProficiency(skillDomain: string, proficiency: number): Promise<AgentSpecialization>;
93
+ /** Get own specialization profile. */
94
+ getProfile(): Promise<AgentSpecialization[]>;
95
+ /** Get another agent's specialization profile. */
96
+ getAgentProfile(agentId: string): Promise<AgentSpecialization[]>;
97
+ /** Generate specialization recommendations. */
98
+ generateRecommendations(): Promise<SpecRecommendation[]>;
99
+ /** Get existing recommendations. */
100
+ getRecommendations(status?: string): Promise<SpecRecommendation[]>;
101
+ /** Dismiss a recommendation. */
102
+ dismissRecommendation(recommendationId: string): Promise<void>;
103
+ /** Get network-wide skill landscape. */
104
+ getSkillLandscape(days?: number): Promise<SkillLandscape>;
105
+ /** Subscribe to recommendation events. */
106
+ onRecommendations(handler: (event: any) => void): void;
107
+ }
108
+ //# sourceMappingURL=specialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialization.d.ts","sourceRoot":"","sources":["../src/specialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * SpecializationManager — niche detection, skill gaps, demand/supply signals, recommendations.
3
+ *
4
+ * Phase 6 of multi-agent coordination.
5
+ *
6
+ * @module specialization
7
+ */
8
+ // ── Manager ──────────────────────────────────────────────────────────────────
9
+ export class SpecializationManager {
10
+ connection;
11
+ constructor(connection) {
12
+ this.connection = connection;
13
+ }
14
+ // ── Skill Gaps ──────────────────────────────────────────
15
+ /** Record a skill gap (zero-result query). */
16
+ async recordGap(input) {
17
+ await this.connection.request("POST", "/v1/specialization/gaps", input);
18
+ }
19
+ /** List open skill gaps. */
20
+ async listGaps(opts) {
21
+ const params = new URLSearchParams();
22
+ if (opts?.tag)
23
+ params.set("tag", opts.tag);
24
+ if (opts?.communityId)
25
+ params.set("communityId", opts.communityId);
26
+ if (opts?.minCount)
27
+ params.set("minCount", String(opts.minCount));
28
+ if (opts?.limit)
29
+ params.set("limit", String(opts.limit));
30
+ const qs = params.toString();
31
+ const res = await this.connection.request("GET", `/v1/specialization/gaps${qs ? `?${qs}` : ""}`);
32
+ return res.data;
33
+ }
34
+ /** Resolve a skill gap. */
35
+ async resolveGap(gapId) {
36
+ const res = await this.connection.request("POST", `/v1/specialization/gaps/${gapId}/resolve`);
37
+ return res.data;
38
+ }
39
+ // ── Signals ─────────────────────────────────────────────
40
+ /** Record a demand/supply signal. */
41
+ async recordSignal(input) {
42
+ await this.connection.request("POST", "/v1/specialization/signals", input);
43
+ }
44
+ /** Get aggregated signals. */
45
+ async getSignals(opts) {
46
+ const params = new URLSearchParams();
47
+ if (opts?.skillDomain)
48
+ params.set("skillDomain", opts.skillDomain);
49
+ if (opts?.signalType)
50
+ params.set("signalType", opts.signalType);
51
+ if (opts?.days)
52
+ params.set("days", String(opts.days));
53
+ if (opts?.limit)
54
+ params.set("limit", String(opts.limit));
55
+ const qs = params.toString();
56
+ const res = await this.connection.request("GET", `/v1/specialization/signals${qs ? `?${qs}` : ""}`);
57
+ return res.data;
58
+ }
59
+ // ── Proficiency ─────────────────────────────────────────
60
+ /** Update proficiency in a skill domain. */
61
+ async updateProficiency(skillDomain, proficiency) {
62
+ const res = await this.connection.request("PUT", "/v1/specialization/proficiency", { skillDomain, proficiency });
63
+ return res.data;
64
+ }
65
+ /** Get own specialization profile. */
66
+ async getProfile() {
67
+ const res = await this.connection.request("GET", "/v1/specialization/profile");
68
+ return res.data;
69
+ }
70
+ /** Get another agent's specialization profile. */
71
+ async getAgentProfile(agentId) {
72
+ const res = await this.connection.request("GET", `/v1/specialization/profile/${agentId}`);
73
+ return res.data;
74
+ }
75
+ // ── Recommendations ─────────────────────────────────────
76
+ /** Generate specialization recommendations. */
77
+ async generateRecommendations() {
78
+ const res = await this.connection.request("POST", "/v1/specialization/recommendations/generate");
79
+ return res.data;
80
+ }
81
+ /** Get existing recommendations. */
82
+ async getRecommendations(status) {
83
+ const qs = status ? `?status=${status}` : "";
84
+ const res = await this.connection.request("GET", `/v1/specialization/recommendations${qs}`);
85
+ return res.data;
86
+ }
87
+ /** Dismiss a recommendation. */
88
+ async dismissRecommendation(recommendationId) {
89
+ await this.connection.request("DELETE", `/v1/specialization/recommendations/${recommendationId}`);
90
+ }
91
+ // ── Landscape ───────────────────────────────────────────
92
+ /** Get network-wide skill landscape. */
93
+ async getSkillLandscape(days) {
94
+ const qs = days ? `?days=${days}` : "";
95
+ const res = await this.connection.request("GET", `/v1/specialization/landscape${qs}`);
96
+ return res.data;
97
+ }
98
+ // ── WebSocket Events ────────────────────────────────────
99
+ /** Subscribe to recommendation events. */
100
+ onRecommendations(handler) {
101
+ this.connection.on("specialization.recommendations", handler);
102
+ }
103
+ }
104
+ //# sourceMappingURL=specialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialization.js","sourceRoot":"","sources":["../src/specialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwEH,gFAAgF;AAEhF,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAoB;IAE/C,YAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,2DAA2D;IAE3D,8CAA8C;IAC9C,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,QAAQ,CAAC,IAKd;QACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAuB,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAqB,MAAM,EAAE,2BAA2B,KAAK,UAAU,CAAC,CAAC;QAClH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,2DAA2D;IAE3D,qCAAqC;IACrC,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,UAAU,CAAC,IAKhB;QACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAyB,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5H,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,2DAA2D;IAE3D,4CAA4C;IAC5C,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,WAAmB;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CACvC,KAAK,EAAE,gCAAgC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CACtE,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAkC,KAAK,EAAE,4BAA4B,CAAC,CAAC;QAChH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAkC,KAAK,EAAE,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAC3H,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,2DAA2D;IAE3D,+CAA+C;IAC/C,KAAK,CAAC,uBAAuB;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiC,MAAM,EAAE,6CAA6C,CAAC,CAAC;QACjI,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,kBAAkB,CAAC,MAAe;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAiC,KAAK,EAAE,qCAAqC,EAAE,EAAE,CAAC,CAAC;QAC5H,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,qBAAqB,CAAC,gBAAwB;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,sCAAsC,gBAAgB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,2DAA2D;IAE3D,wCAAwC;IACxC,KAAK,CAAC,iBAAiB,CAAC,IAAa;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAA2B,KAAK,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;QAChH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,2DAA2D;IAE3D,0CAA0C;IAC1C,iBAAiB,CAAC,OAA6B;QAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF"}