@continuumdao/continuum-node-sdk 1.3.41 → 1.3.42

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 (467) hide show
  1. package/dist/agent-host-catalog.json +900 -132
  2. package/dist/browser.d.ts +11 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +9 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/config/mpa-wallet.d.ts +275 -37
  7. package/dist/config/mpa-wallet.d.ts.map +1 -1
  8. package/dist/config/mpa-wallet.js +162 -24
  9. package/dist/config/mpa-wallet.js.map +1 -1
  10. package/dist/core/agent/agent-chart-data-access.d.ts +1 -1
  11. package/dist/core/agent/agent-chart-data-access.d.ts.map +1 -1
  12. package/dist/core/agent/agent-chart-data-access.js +24 -1
  13. package/dist/core/agent/agent-chart-data-access.js.map +1 -1
  14. package/dist/core/agent/cron-jobs.d.ts.map +1 -1
  15. package/dist/core/agent/cron-jobs.js +9 -0
  16. package/dist/core/agent/cron-jobs.js.map +1 -1
  17. package/dist/core/agent/discord-guilds-config.d.ts +39 -0
  18. package/dist/core/agent/discord-guilds-config.d.ts.map +1 -0
  19. package/dist/core/agent/discord-guilds-config.js +213 -0
  20. package/dist/core/agent/discord-guilds-config.js.map +1 -0
  21. package/dist/core/agent/discord-rest-client.d.ts +75 -0
  22. package/dist/core/agent/discord-rest-client.d.ts.map +1 -0
  23. package/dist/core/agent/discord-rest-client.js +183 -0
  24. package/dist/core/agent/discord-rest-client.js.map +1 -0
  25. package/dist/core/agent/discord-search.d.ts +16 -0
  26. package/dist/core/agent/discord-search.d.ts.map +1 -0
  27. package/dist/core/agent/discord-search.js +292 -0
  28. package/dist/core/agent/discord-search.js.map +1 -0
  29. package/dist/core/agent/mcp-servers.d.ts +4 -4
  30. package/dist/core/agent/mcp-servers.d.ts.map +1 -1
  31. package/dist/core/agent/mcp-servers.js +55 -12
  32. package/dist/core/agent/mcp-servers.js.map +1 -1
  33. package/dist/core/agent/reddit-search.d.ts +13 -0
  34. package/dist/core/agent/reddit-search.d.ts.map +1 -0
  35. package/dist/core/agent/reddit-search.js +244 -0
  36. package/dist/core/agent/reddit-search.js.map +1 -0
  37. package/dist/core/agent/skills.d.ts +7 -1
  38. package/dist/core/agent/skills.d.ts.map +1 -1
  39. package/dist/core/agent/skills.js +69 -2
  40. package/dist/core/agent/skills.js.map +1 -1
  41. package/dist/core/agent/social-search-config.d.ts +76 -0
  42. package/dist/core/agent/social-search-config.d.ts.map +1 -0
  43. package/dist/core/agent/social-search-config.js +501 -0
  44. package/dist/core/agent/social-search-config.js.map +1 -0
  45. package/dist/core/agent/telegram-channels-config.d.ts +24 -0
  46. package/dist/core/agent/telegram-channels-config.d.ts.map +1 -0
  47. package/dist/core/agent/telegram-channels-config.js +146 -0
  48. package/dist/core/agent/telegram-channels-config.js.map +1 -0
  49. package/dist/core/agent/telegram-search-auth.d.ts +21 -0
  50. package/dist/core/agent/telegram-search-auth.d.ts.map +1 -0
  51. package/dist/core/agent/telegram-search-auth.js +85 -0
  52. package/dist/core/agent/telegram-search-auth.js.map +1 -0
  53. package/dist/core/agent/telegram-search.d.ts +12 -0
  54. package/dist/core/agent/telegram-search.d.ts.map +1 -0
  55. package/dist/core/agent/telegram-search.js +173 -0
  56. package/dist/core/agent/telegram-search.js.map +1 -0
  57. package/dist/core/agent/telegram.d.ts +15 -0
  58. package/dist/core/agent/telegram.d.ts.map +1 -0
  59. package/dist/core/agent/telegram.js +72 -0
  60. package/dist/core/agent/telegram.js.map +1 -0
  61. package/dist/core/agent/ticker-extract.d.ts +15 -0
  62. package/dist/core/agent/ticker-extract.d.ts.map +1 -0
  63. package/dist/core/agent/ticker-extract.js +124 -0
  64. package/dist/core/agent/ticker-extract.js.map +1 -0
  65. package/dist/core/agent/user-folder-path.d.ts +19 -0
  66. package/dist/core/agent/user-folder-path.d.ts.map +1 -0
  67. package/dist/core/agent/user-folder-path.js +59 -0
  68. package/dist/core/agent/user-folder-path.js.map +1 -0
  69. package/dist/core/agent/user-folder-schemas.d.ts +41 -0
  70. package/dist/core/agent/user-folder-schemas.d.ts.map +1 -0
  71. package/dist/core/agent/user-folder-schemas.js +67 -0
  72. package/dist/core/agent/user-folder-schemas.js.map +1 -0
  73. package/dist/core/agent/user-folder.d.ts.map +1 -1
  74. package/dist/core/agent/user-folder.js +18 -14
  75. package/dist/core/agent/user-folder.js.map +1 -1
  76. package/dist/core/business-latest/fetch.d.ts +9 -0
  77. package/dist/core/business-latest/fetch.d.ts.map +1 -0
  78. package/dist/core/business-latest/fetch.js +138 -0
  79. package/dist/core/business-latest/fetch.js.map +1 -0
  80. package/dist/core/business-latest/index.d.ts +5 -0
  81. package/dist/core/business-latest/index.d.ts.map +1 -0
  82. package/dist/core/business-latest/index.js +5 -0
  83. package/dist/core/business-latest/index.js.map +1 -0
  84. package/dist/core/business-latest/parse-rss.d.ts +10 -0
  85. package/dist/core/business-latest/parse-rss.d.ts.map +1 -0
  86. package/dist/core/business-latest/parse-rss.js +84 -0
  87. package/dist/core/business-latest/parse-rss.js.map +1 -0
  88. package/dist/core/business-latest/schemas.d.ts +115 -0
  89. package/dist/core/business-latest/schemas.d.ts.map +1 -0
  90. package/dist/core/business-latest/schemas.js +61 -0
  91. package/dist/core/business-latest/schemas.js.map +1 -0
  92. package/dist/core/business-latest/sources.d.ts +19 -0
  93. package/dist/core/business-latest/sources.d.ts.map +1 -0
  94. package/dist/core/business-latest/sources.js +65 -0
  95. package/dist/core/business-latest/sources.js.map +1 -0
  96. package/dist/core/chart/alpaca-bars-envelope.d.ts +13 -0
  97. package/dist/core/chart/alpaca-bars-envelope.d.ts.map +1 -0
  98. package/dist/core/chart/alpaca-bars-envelope.js +65 -0
  99. package/dist/core/chart/alpaca-bars-envelope.js.map +1 -0
  100. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
  101. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +32 -0
  102. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
  103. package/dist/core/chart/chart-data-validation.d.ts.map +1 -1
  104. package/dist/core/chart/chart-data-validation.js +32 -6
  105. package/dist/core/chart/chart-data-validation.js.map +1 -1
  106. package/dist/core/chart/fetch-metadata.d.ts +4 -1
  107. package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
  108. package/dist/core/chart/fetch-metadata.js +88 -2
  109. package/dist/core/chart/fetch-metadata.js.map +1 -1
  110. package/dist/core/chart/fetch-result.d.ts.map +1 -1
  111. package/dist/core/chart/fetch-result.js +32 -1
  112. package/dist/core/chart/fetch-result.js.map +1 -1
  113. package/dist/core/chart/index.d.ts +2 -1
  114. package/dist/core/chart/index.d.ts.map +1 -1
  115. package/dist/core/chart/index.js +2 -1
  116. package/dist/core/chart/index.js.map +1 -1
  117. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  118. package/dist/core/chart/live/binding-extract.js +82 -1
  119. package/dist/core/chart/live/binding-extract.js.map +1 -1
  120. package/dist/core/chart/live/fetch-tick.d.ts +3 -0
  121. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
  122. package/dist/core/chart/live/fetch-tick.js +146 -1
  123. package/dist/core/chart/live/fetch-tick.js.map +1 -1
  124. package/dist/core/chart/live/index.d.ts +2 -2
  125. package/dist/core/chart/live/index.d.ts.map +1 -1
  126. package/dist/core/chart/live/index.js +2 -2
  127. package/dist/core/chart/live/index.js.map +1 -1
  128. package/dist/core/chart/live/interval.d.ts.map +1 -1
  129. package/dist/core/chart/live/interval.js +9 -0
  130. package/dist/core/chart/live/interval.js.map +1 -1
  131. package/dist/core/chart/live/schemas.d.ts +2 -0
  132. package/dist/core/chart/live/schemas.d.ts.map +1 -1
  133. package/dist/core/chart/live/schemas.js +2 -0
  134. package/dist/core/chart/live/schemas.js.map +1 -1
  135. package/dist/core/chart/markdown-ohlcv-table.d.ts +11 -0
  136. package/dist/core/chart/markdown-ohlcv-table.d.ts.map +1 -0
  137. package/dist/core/chart/markdown-ohlcv-table.js +153 -0
  138. package/dist/core/chart/markdown-ohlcv-table.js.map +1 -0
  139. package/dist/core/chart/ohlcv-integrity.d.ts +7 -4
  140. package/dist/core/chart/ohlcv-integrity.d.ts.map +1 -1
  141. package/dist/core/chart/ohlcv-integrity.js +34 -10
  142. package/dist/core/chart/ohlcv-integrity.js.map +1 -1
  143. package/dist/core/chart/ohlcv-session-store.d.ts +2 -1
  144. package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
  145. package/dist/core/chart/ohlcv-session-store.js +36 -7
  146. package/dist/core/chart/ohlcv-session-store.js.map +1 -1
  147. package/dist/core/chart/ohlcv-sources.d.ts +157 -0
  148. package/dist/core/chart/ohlcv-sources.d.ts.map +1 -0
  149. package/dist/core/chart/ohlcv-sources.js +206 -0
  150. package/dist/core/chart/ohlcv-sources.js.map +1 -0
  151. package/dist/core/chart/point-normalize.d.ts.map +1 -1
  152. package/dist/core/chart/point-normalize.js +11 -0
  153. package/dist/core/chart/point-normalize.js.map +1 -1
  154. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  155. package/dist/core/chart/prepare-from-rows.js +3 -0
  156. package/dist/core/chart/prepare-from-rows.js.map +1 -1
  157. package/dist/core/coinmarketcap/mcp-server-choice.d.ts.map +1 -1
  158. package/dist/core/coinmarketcap/mcp-server-choice.js +5 -2
  159. package/dist/core/coinmarketcap/mcp-server-choice.js.map +1 -1
  160. package/dist/core/coinmarketcap/schemas.d.ts +17 -17
  161. package/dist/core/keygen-read.d.ts +8 -0
  162. package/dist/core/keygen-read.d.ts.map +1 -1
  163. package/dist/core/keygen-read.js +26 -0
  164. package/dist/core/keygen-read.js.map +1 -1
  165. package/dist/core/keygen.d.ts +1 -8
  166. package/dist/core/keygen.d.ts.map +1 -1
  167. package/dist/core/keygen.js +2 -27
  168. package/dist/core/keygen.js.map +1 -1
  169. package/dist/core/management-signer.d.ts +3 -1
  170. package/dist/core/management-signer.d.ts.map +1 -1
  171. package/dist/core/management-signer.js +4 -4
  172. package/dist/core/management-signer.js.map +1 -1
  173. package/dist/core/mpc/address-kind.d.ts +5 -0
  174. package/dist/core/mpc/address-kind.d.ts.map +1 -0
  175. package/dist/core/mpc/address-kind.js +38 -0
  176. package/dist/core/mpc/address-kind.js.map +1 -0
  177. package/dist/core/mpc/address-kind.test.d.ts +2 -0
  178. package/dist/core/mpc/address-kind.test.d.ts.map +1 -0
  179. package/dist/core/mpc/address-kind.test.js +21 -0
  180. package/dist/core/mpc/address-kind.test.js.map +1 -0
  181. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  182. package/dist/core/mpc/broadcast-sign-result.js +61 -55
  183. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  184. package/dist/core/mpc/compose-eip712-request.d.ts +6 -0
  185. package/dist/core/mpc/compose-eip712-request.d.ts.map +1 -0
  186. package/dist/core/mpc/compose-eip712-request.js +40 -0
  187. package/dist/core/mpc/compose-eip712-request.js.map +1 -0
  188. package/dist/core/mpc/context.js +1 -1
  189. package/dist/core/mpc/context.js.map +1 -1
  190. package/dist/core/mpc/eip712-sign-request.d.ts +17 -1
  191. package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -1
  192. package/dist/core/mpc/eip712-sign-request.js +114 -23
  193. package/dist/core/mpc/eip712-sign-request.js.map +1 -1
  194. package/dist/core/mpc/forge-dry-run-build.js +1 -1
  195. package/dist/core/mpc/forge-dry-run-build.js.map +1 -1
  196. package/dist/core/mpc/gas-preflight-mpa.d.ts +8 -0
  197. package/dist/core/mpc/gas-preflight-mpa.d.ts.map +1 -0
  198. package/dist/core/mpc/gas-preflight-mpa.js +21 -0
  199. package/dist/core/mpc/gas-preflight-mpa.js.map +1 -0
  200. package/dist/core/mpc/gas-preflight.d.ts +0 -5
  201. package/dist/core/mpc/gas-preflight.d.ts.map +1 -1
  202. package/dist/core/mpc/gas-preflight.js +0 -19
  203. package/dist/core/mpc/gas-preflight.js.map +1 -1
  204. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts +48 -0
  205. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts.map +1 -0
  206. package/dist/core/mpc/mpa-authority-vectm-browser.js +210 -0
  207. package/dist/core/mpc/mpa-authority-vectm-browser.js.map +1 -0
  208. package/dist/core/mpc/mpa-authority-vectm-read.d.ts +3314 -0
  209. package/dist/core/mpc/mpa-authority-vectm-read.d.ts.map +1 -0
  210. package/dist/core/mpc/mpa-authority-vectm-read.js +221 -0
  211. package/dist/core/mpc/mpa-authority-vectm-read.js.map +1 -0
  212. package/dist/core/mpc/mpa-authority-vectm.d.ts +63 -0
  213. package/dist/core/mpc/mpa-authority-vectm.d.ts.map +1 -0
  214. package/dist/core/mpc/mpa-authority-vectm.js +331 -0
  215. package/dist/core/mpc/mpa-authority-vectm.js.map +1 -0
  216. package/dist/core/mpc/mpa-billing-actions.d.ts +13 -35
  217. package/dist/core/mpc/mpa-billing-actions.d.ts.map +1 -1
  218. package/dist/core/mpc/mpa-billing-actions.js +154 -207
  219. package/dist/core/mpc/mpa-billing-actions.js.map +1 -1
  220. package/dist/core/mpc/mpa-billing-helpers.d.ts +16 -1
  221. package/dist/core/mpc/mpa-billing-helpers.d.ts.map +1 -1
  222. package/dist/core/mpc/mpa-billing-helpers.js +33 -9
  223. package/dist/core/mpc/mpa-billing-helpers.js.map +1 -1
  224. package/dist/core/mpc/mpa-billing-ops.d.ts +0 -11
  225. package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -1
  226. package/dist/core/mpc/mpa-billing-ops.js +41 -207
  227. package/dist/core/mpc/mpa-billing-ops.js.map +1 -1
  228. package/dist/core/mpc/mpa-fee-status.d.ts +7 -42
  229. package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -1
  230. package/dist/core/mpc/mpa-fee-status.js +174 -229
  231. package/dist/core/mpc/mpa-fee-status.js.map +1 -1
  232. package/dist/core/mpc/mpa-payment-tokens.d.ts +38 -0
  233. package/dist/core/mpc/mpa-payment-tokens.d.ts.map +1 -0
  234. package/dist/core/mpc/mpa-payment-tokens.js +135 -0
  235. package/dist/core/mpc/mpa-payment-tokens.js.map +1 -0
  236. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  237. package/dist/core/mpc/mpa-top-up.js +16 -125
  238. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  239. package/dist/core/mpc/register-keygen.d.ts.map +1 -1
  240. package/dist/core/mpc/register-keygen.js +133 -14
  241. package/dist/core/mpc/register-keygen.js.map +1 -1
  242. package/dist/core/mpc/schemas.d.ts +118 -0
  243. package/dist/core/mpc/schemas.d.ts.map +1 -1
  244. package/dist/core/mpc/schemas.js +106 -2
  245. package/dist/core/mpc/schemas.js.map +1 -1
  246. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  247. package/dist/core/mpc/trigger-sign-result.js +12 -7
  248. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  249. package/dist/core/node-config.d.ts +31 -0
  250. package/dist/core/node-config.d.ts.map +1 -0
  251. package/dist/core/node-config.js +238 -0
  252. package/dist/core/node-config.js.map +1 -0
  253. package/dist/core/node-database/binary.d.ts +12 -0
  254. package/dist/core/node-database/binary.d.ts.map +1 -0
  255. package/dist/core/node-database/binary.js +32 -0
  256. package/dist/core/node-database/binary.js.map +1 -0
  257. package/dist/core/node-database/database-backup.d.ts +13 -0
  258. package/dist/core/node-database/database-backup.d.ts.map +1 -0
  259. package/dist/core/node-database/database-backup.js +236 -0
  260. package/dist/core/node-database/database-backup.js.map +1 -0
  261. package/dist/core/node-database/maintenance-quiescence.d.ts +17 -0
  262. package/dist/core/node-database/maintenance-quiescence.d.ts.map +1 -0
  263. package/dist/core/node-database/maintenance-quiescence.js +42 -0
  264. package/dist/core/node-database/maintenance-quiescence.js.map +1 -0
  265. package/dist/core/node-database/management-key-files.d.ts +11 -0
  266. package/dist/core/node-database/management-key-files.d.ts.map +1 -0
  267. package/dist/core/node-database/management-key-files.js +166 -0
  268. package/dist/core/node-database/management-key-files.js.map +1 -0
  269. package/dist/core/node-database/schemas.d.ts +187 -0
  270. package/dist/core/node-database/schemas.d.ts.map +1 -0
  271. package/dist/core/node-database/schemas.js +212 -0
  272. package/dist/core/node-database/schemas.js.map +1 -0
  273. package/dist/core/node-database/signed-post.d.ts +21 -0
  274. package/dist/core/node-database/signed-post.d.ts.map +1 -0
  275. package/dist/core/node-database/signed-post.js +138 -0
  276. package/dist/core/node-database/signed-post.js.map +1 -0
  277. package/dist/core/node-database/transport.d.ts +5 -0
  278. package/dist/core/node-database/transport.d.ts.map +1 -0
  279. package/dist/core/node-database/transport.js +20 -0
  280. package/dist/core/node-database/transport.js.map +1 -0
  281. package/dist/core/registry/networks-read.d.ts +14 -0
  282. package/dist/core/registry/networks-read.d.ts.map +1 -0
  283. package/dist/core/registry/networks-read.js +117 -0
  284. package/dist/core/registry/networks-read.js.map +1 -0
  285. package/dist/core/registry/networks.d.ts +2 -8
  286. package/dist/core/registry/networks.d.ts.map +1 -1
  287. package/dist/core/registry/networks.js +3 -113
  288. package/dist/core/registry/networks.js.map +1 -1
  289. package/dist/core/rss/parse-rss.d.ts +10 -0
  290. package/dist/core/rss/parse-rss.d.ts.map +1 -0
  291. package/dist/core/rss/parse-rss.js +84 -0
  292. package/dist/core/rss/parse-rss.js.map +1 -0
  293. package/dist/core/vpn/schemas.d.ts +8 -8
  294. package/dist/core/vpn/schemas.js +6 -6
  295. package/dist/core/vpn/schemas.js.map +1 -1
  296. package/dist/core/vpn/vpn-files.d.ts.map +1 -1
  297. package/dist/core/vpn/vpn-files.js +4 -3
  298. package/dist/core/vpn/vpn-files.js.map +1 -1
  299. package/dist/core/vpn/vpn-parse.d.ts +6 -9
  300. package/dist/core/vpn/vpn-parse.d.ts.map +1 -1
  301. package/dist/core/vpn/vpn-parse.js +8 -12
  302. package/dist/core/vpn/vpn-parse.js.map +1 -1
  303. package/dist/core/world-affairs/fetch.d.ts +9 -0
  304. package/dist/core/world-affairs/fetch.d.ts.map +1 -0
  305. package/dist/core/world-affairs/fetch.js +142 -0
  306. package/dist/core/world-affairs/fetch.js.map +1 -0
  307. package/dist/core/world-affairs/index.d.ts +4 -0
  308. package/dist/core/world-affairs/index.d.ts.map +1 -0
  309. package/dist/core/world-affairs/index.js +4 -0
  310. package/dist/core/world-affairs/index.js.map +1 -0
  311. package/dist/core/world-affairs/schemas.d.ts +136 -0
  312. package/dist/core/world-affairs/schemas.d.ts.map +1 -0
  313. package/dist/core/world-affairs/schemas.js +66 -0
  314. package/dist/core/world-affairs/schemas.js.map +1 -0
  315. package/dist/core/world-affairs/sources.d.ts +20 -0
  316. package/dist/core/world-affairs/sources.d.ts.map +1 -0
  317. package/dist/core/world-affairs/sources.js +81 -0
  318. package/dist/core/world-affairs/sources.js.map +1 -0
  319. package/dist/evm/encode-calldata.d.ts +2 -0
  320. package/dist/evm/encode-calldata.d.ts.map +1 -1
  321. package/dist/evm/encode-calldata.js +64 -3
  322. package/dist/evm/encode-calldata.js.map +1 -1
  323. package/dist/evm/forge-dry-run-paths.d.ts +2 -2
  324. package/dist/evm/forge-dry-run-paths.d.ts.map +1 -1
  325. package/dist/evm/forge-dry-run-paths.js +3 -1
  326. package/dist/evm/forge-dry-run-paths.js.map +1 -1
  327. package/dist/evm/join-multisign.d.ts.map +1 -1
  328. package/dist/evm/join-multisign.js +4 -0
  329. package/dist/evm/join-multisign.js.map +1 -1
  330. package/dist/evm/proposal-body.d.ts +19 -0
  331. package/dist/evm/proposal-body.d.ts.map +1 -0
  332. package/dist/evm/proposal-body.js +274 -0
  333. package/dist/evm/proposal-body.js.map +1 -0
  334. package/dist/evm/proposal-builder.d.ts +4 -9
  335. package/dist/evm/proposal-builder.d.ts.map +1 -1
  336. package/dist/evm/proposal-builder.js +9 -265
  337. package/dist/evm/proposal-builder.js.map +1 -1
  338. package/dist/index.d.ts +23 -7
  339. package/dist/index.d.ts.map +1 -1
  340. package/dist/index.js +22 -6
  341. package/dist/index.js.map +1 -1
  342. package/dist/mcp/agent-cron-jobs.js +2 -2
  343. package/dist/mcp/agent-cron-jobs.js.map +1 -1
  344. package/dist/mcp/agent-discord-search.d.ts +4 -0
  345. package/dist/mcp/agent-discord-search.d.ts.map +1 -0
  346. package/dist/mcp/agent-discord-search.js +16 -0
  347. package/dist/mcp/agent-discord-search.js.map +1 -0
  348. package/dist/mcp/agent-host-catalog.d.ts +14 -1
  349. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  350. package/dist/mcp/agent-host-catalog.js +25 -6
  351. package/dist/mcp/agent-host-catalog.js.map +1 -1
  352. package/dist/mcp/agent-input-coerce.d.ts.map +1 -1
  353. package/dist/mcp/agent-input-coerce.js +1 -0
  354. package/dist/mcp/agent-input-coerce.js.map +1 -1
  355. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  356. package/dist/mcp/agent-mcp-servers.js +5 -5
  357. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  358. package/dist/mcp/agent-reddit-search.d.ts +4 -0
  359. package/dist/mcp/agent-reddit-search.d.ts.map +1 -0
  360. package/dist/mcp/agent-reddit-search.js +21 -0
  361. package/dist/mcp/agent-reddit-search.js.map +1 -0
  362. package/dist/mcp/agent-skills.d.ts.map +1 -1
  363. package/dist/mcp/agent-skills.js +9 -3
  364. package/dist/mcp/agent-skills.js.map +1 -1
  365. package/dist/mcp/agent-telegram-search.d.ts +4 -0
  366. package/dist/mcp/agent-telegram-search.d.ts.map +1 -0
  367. package/dist/mcp/agent-telegram-search.js +16 -0
  368. package/dist/mcp/agent-telegram-search.js.map +1 -0
  369. package/dist/mcp/agent-telegram.d.ts +4 -0
  370. package/dist/mcp/agent-telegram.d.ts.map +1 -0
  371. package/dist/mcp/agent-telegram.js +20 -0
  372. package/dist/mcp/agent-telegram.js.map +1 -0
  373. package/dist/mcp/business-latest/register.d.ts +5 -0
  374. package/dist/mcp/business-latest/register.d.ts.map +1 -0
  375. package/dist/mcp/business-latest/register.js +41 -0
  376. package/dist/mcp/business-latest/register.js.map +1 -0
  377. package/dist/mcp/chart.d.ts.map +1 -1
  378. package/dist/mcp/chart.js +3 -0
  379. package/dist/mcp/chart.js.map +1 -1
  380. package/dist/mcp/deferred/discovery-tools.d.ts +5 -0
  381. package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
  382. package/dist/mcp/deferred/discovery-tools.js +69 -25
  383. package/dist/mcp/deferred/discovery-tools.js.map +1 -1
  384. package/dist/mcp/deferred/optional-endpoint-groups.d.ts +2 -2
  385. package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
  386. package/dist/mcp/deferred/optional-endpoint-groups.js +13 -1
  387. package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
  388. package/dist/mcp/deferred/tool-group-map.d.ts +3 -2
  389. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  390. package/dist/mcp/deferred/tool-group-map.js +738 -42
  391. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  392. package/dist/mcp/defi/discovery.js +6 -6
  393. package/dist/mcp/defi/discovery.js.map +1 -1
  394. package/dist/mcp/docs/search-index.json +921 -83
  395. package/dist/mcp/index.d.ts +1 -1
  396. package/dist/mcp/index.d.ts.map +1 -1
  397. package/dist/mcp/index.js +1 -1
  398. package/dist/mcp/index.js.map +1 -1
  399. package/dist/mcp/mpc-gas-docs.d.ts +2 -0
  400. package/dist/mcp/mpc-gas-docs.d.ts.map +1 -1
  401. package/dist/mcp/mpc-gas-docs.js +2 -0
  402. package/dist/mcp/mpc-gas-docs.js.map +1 -1
  403. package/dist/mcp/mpc.d.ts.map +1 -1
  404. package/dist/mcp/mpc.js +70 -33
  405. package/dist/mcp/mpc.js.map +1 -1
  406. package/dist/mcp/node-config.d.ts +4 -0
  407. package/dist/mcp/node-config.d.ts.map +1 -0
  408. package/dist/mcp/node-config.js +34 -0
  409. package/dist/mcp/node-config.js.map +1 -0
  410. package/dist/mcp/node-database.d.ts +4 -0
  411. package/dist/mcp/node-database.d.ts.map +1 -0
  412. package/dist/mcp/node-database.js +74 -0
  413. package/dist/mcp/node-database.js.map +1 -0
  414. package/dist/mcp/ohlcv-sources.d.ts +5 -0
  415. package/dist/mcp/ohlcv-sources.d.ts.map +1 -0
  416. package/dist/mcp/ohlcv-sources.js +54 -0
  417. package/dist/mcp/ohlcv-sources.js.map +1 -0
  418. package/dist/mcp/register.d.ts +5 -0
  419. package/dist/mcp/register.d.ts.map +1 -1
  420. package/dist/mcp/register.js +26 -0
  421. package/dist/mcp/register.js.map +1 -1
  422. package/dist/mcp/resources/agent-cron-jobs.md +3 -1
  423. package/dist/mcp/resources/agent-mcp-servers.md +99 -1
  424. package/dist/mcp/resources/agent-skills.md +10 -6
  425. package/dist/mcp/resources/agent-social-search.md +78 -0
  426. package/dist/mcp/resources/agent-telegram-search.md +24 -0
  427. package/dist/mcp/resources/agent-telegram.md +18 -0
  428. package/dist/mcp/resources/agent-webhooks.md +2 -0
  429. package/dist/mcp/resources/business-latest.md +26 -0
  430. package/dist/mcp/resources/chart-analysis.md +4 -0
  431. package/dist/mcp/resources/chart.md +16 -4
  432. package/dist/mcp/resources/discord-guilds.yaml +46 -0
  433. package/dist/mcp/resources/management-signer.md +2 -1
  434. package/dist/mcp/resources/mpc.md +37 -30
  435. package/dist/mcp/resources/node-config.md +142 -0
  436. package/dist/mcp/resources/node-database.md +64 -0
  437. package/dist/mcp/resources/overview.md +13 -0
  438. package/dist/mcp/resources/social-search.yaml +79 -0
  439. package/dist/mcp/resources/telegram-channels.yaml +47 -0
  440. package/dist/mcp/resources/user-folder.md +44 -0
  441. package/dist/mcp/resources/vpn.md +10 -8
  442. package/dist/mcp/resources/world-affairs.md +28 -0
  443. package/dist/mcp/server/http-transport.d.ts +3 -0
  444. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  445. package/dist/mcp/server/http-transport.js +3 -2
  446. package/dist/mcp/server/http-transport.js.map +1 -1
  447. package/dist/mcp/server/index.js +8 -1
  448. package/dist/mcp/server/index.js.map +1 -1
  449. package/dist/mcp/server/telegram-search-internal.d.ts +3 -0
  450. package/dist/mcp/server/telegram-search-internal.d.ts.map +1 -0
  451. package/dist/mcp/server/telegram-search-internal.js +54 -0
  452. package/dist/mcp/server/telegram-search-internal.js.map +1 -0
  453. package/dist/mcp/user-folder.d.ts +4 -0
  454. package/dist/mcp/user-folder.d.ts.map +1 -0
  455. package/dist/mcp/user-folder.js +32 -0
  456. package/dist/mcp/user-folder.js.map +1 -0
  457. package/dist/mcp/vpn.js +7 -7
  458. package/dist/mcp/vpn.js.map +1 -1
  459. package/dist/mcp/world-affairs/register.d.ts +5 -0
  460. package/dist/mcp/world-affairs/register.d.ts.map +1 -0
  461. package/dist/mcp/world-affairs/register.js +41 -0
  462. package/dist/mcp/world-affairs/register.js.map +1 -0
  463. package/dist/schemas/extended.d.ts +600 -1
  464. package/dist/schemas/extended.d.ts.map +1 -1
  465. package/dist/schemas/extended.js +355 -1
  466. package/dist/schemas/extended.js.map +1 -1
  467. package/package.json +9 -3
@@ -0,0 +1,124 @@
1
+ /** Token/ticker extraction — mirrors scripts/telegram-search/ticker_extract.py */
2
+ export const DEFAULT_TICKER_EXCLUDE = new Set([
3
+ 'THE',
4
+ 'AND',
5
+ 'FOR',
6
+ 'NOT',
7
+ 'YOU',
8
+ 'ALL',
9
+ 'NEW',
10
+ 'USD',
11
+ 'API',
12
+ 'CEO',
13
+ 'DAO',
14
+ 'TVL',
15
+ 'APR',
16
+ 'APY',
17
+ 'EVM',
18
+ 'NFT',
19
+ 'UTC',
20
+ 'GMT',
21
+ 'AI',
22
+ 'USDT',
23
+ 'USDC',
24
+ 'FAQ',
25
+ 'DM',
26
+ 'PM',
27
+ 'AM',
28
+ 'UK',
29
+ 'US',
30
+ 'EU',
31
+ ]);
32
+ export const DEFAULT_TICKER_DETECTION = {
33
+ minLength: 2,
34
+ maxLength: 10,
35
+ includeBareCaps: true,
36
+ exclude: DEFAULT_TICKER_EXCLUDE,
37
+ };
38
+ export function normalizeTicker(raw) {
39
+ return raw.trim().replace(/^[$#]+/, '').toUpperCase();
40
+ }
41
+ function symbolPattern(minLength, maxLength) {
42
+ const innerMin = Math.max(0, minLength - 1);
43
+ const innerMax = Math.max(0, maxLength - 1);
44
+ return `[A-Za-z][A-Za-z0-9]{${innerMin},${innerMax}}`;
45
+ }
46
+ export function extractTickers(text, config = DEFAULT_TICKER_DETECTION) {
47
+ if (!text) {
48
+ return [];
49
+ }
50
+ const sym = symbolPattern(config.minLength, config.maxLength);
51
+ const found = new Set();
52
+ for (const match of text.matchAll(new RegExp(`\\$(${sym})`, 'g'))) {
53
+ const token = match[1].toUpperCase();
54
+ if (token.length >= config.minLength && token.length <= config.maxLength) {
55
+ found.add(token);
56
+ }
57
+ }
58
+ for (const match of text.matchAll(new RegExp(`#(${sym})`, 'g'))) {
59
+ const token = match[1].toUpperCase();
60
+ if (token.length >= config.minLength && token.length <= config.maxLength) {
61
+ found.add(token);
62
+ }
63
+ }
64
+ if (config.includeBareCaps) {
65
+ for (const match of text.matchAll(new RegExp(`\\b(${sym})\\b`, 'g'))) {
66
+ const token = match[1].toUpperCase();
67
+ if (config.exclude.has(token)) {
68
+ continue;
69
+ }
70
+ if (token.length >= config.minLength && token.length <= config.maxLength) {
71
+ found.add(token);
72
+ }
73
+ }
74
+ }
75
+ return [...found].sort();
76
+ }
77
+ export function findTickersInMessage(text, allowlist, config = DEFAULT_TICKER_DETECTION) {
78
+ if (allowlist && allowlist.length > 0) {
79
+ const matched = new Set();
80
+ for (const raw of allowlist) {
81
+ const sym = normalizeTicker(raw);
82
+ if (!sym || config.exclude.has(sym)) {
83
+ continue;
84
+ }
85
+ const patterns = [`\\$${sym}\\b`, `#${sym}\\b`];
86
+ if (config.includeBareCaps) {
87
+ patterns.push(`\\b${sym}\\b`);
88
+ }
89
+ for (const pattern of patterns) {
90
+ if (new RegExp(pattern, 'i').test(text)) {
91
+ matched.add(sym);
92
+ break;
93
+ }
94
+ }
95
+ }
96
+ return [...matched].sort();
97
+ }
98
+ return extractTickers(text, config);
99
+ }
100
+ export function tickerDetectionFromYaml(raw) {
101
+ if (!raw) {
102
+ return DEFAULT_TICKER_DETECTION;
103
+ }
104
+ const excludeRaw = raw.exclude;
105
+ const extraExclude = Array.isArray(excludeRaw)
106
+ ? excludeRaw.map((x) => String(x).trim().toUpperCase()).filter(Boolean)
107
+ : [];
108
+ const exclude = new Set([...DEFAULT_TICKER_EXCLUDE, ...extraExclude]);
109
+ return {
110
+ minLength: Number(raw.min_length ?? 2),
111
+ maxLength: Number(raw.max_length ?? 10),
112
+ includeBareCaps: raw.include_bare_caps !== false,
113
+ exclude,
114
+ };
115
+ }
116
+ export function tickerDetectionForPython(config) {
117
+ return {
118
+ min_length: config.minLength,
119
+ max_length: config.maxLength,
120
+ include_bare_caps: config.includeBareCaps,
121
+ exclude: [...config.exclude],
122
+ };
123
+ }
124
+ //# sourceMappingURL=ticker-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticker-extract.js","sourceRoot":"","sources":["../../../src/core/agent/ticker-extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** Common writable subtrees under user_folder (node UI + agent guidance). */
2
+ export declare const USER_FOLDER_WRITE_ROOTS: readonly ["evm/", "data/", ".mcp-foundry-workspace/"];
3
+ export type UserFolderPathOptions = {
4
+ /** Allow `.` (list root). Default false. */
5
+ allowDot?: boolean;
6
+ /** Writes must include a subdirectory (not a loose root file). Default false. */
7
+ requireSubtree?: boolean;
8
+ };
9
+ export declare function normalizeUserFolderPath(raw: string): string;
10
+ /** Returns an error message, or null when the path is valid. */
11
+ export declare function userFolderPathError(raw: string, options?: UserFolderPathOptions): string | null;
12
+ export declare function assertUserFolderPath(raw: string, options?: UserFolderPathOptions): {
13
+ ok: true;
14
+ path: string;
15
+ } | {
16
+ ok: false;
17
+ reason: string;
18
+ };
19
+ //# sourceMappingURL=user-folder-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-folder-path.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder-path.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,uDAI1B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GACjC,MAAM,GAAG,IAAI,CAuCf;AAED,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GACjC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAMxD"}
@@ -0,0 +1,59 @@
1
+ /** Common writable subtrees under user_folder (node UI + agent guidance). */
2
+ export const USER_FOLDER_WRITE_ROOTS = [
3
+ 'evm/',
4
+ 'data/',
5
+ '.mcp-foundry-workspace/',
6
+ ];
7
+ export function normalizeUserFolderPath(raw) {
8
+ let path = raw.trim().replace(/\\/g, '/');
9
+ while (path.startsWith('./')) {
10
+ path = path.slice(2);
11
+ }
12
+ path = path.replace(/^\/+/, '');
13
+ path = path.replace(/\/+/g, '/');
14
+ if (path.length > 1) {
15
+ path = path.replace(/\/+$/, '');
16
+ }
17
+ return path;
18
+ }
19
+ /** Returns an error message, or null when the path is valid. */
20
+ export function userFolderPathError(raw, options = {}) {
21
+ const trimmed = raw.trim();
22
+ if (!trimmed) {
23
+ return 'user_folder path is required.';
24
+ }
25
+ if (trimmed.includes('\0')) {
26
+ return 'user_folder path must not contain null bytes.';
27
+ }
28
+ if (/^[a-zA-Z]:/.test(trimmed) || trimmed.startsWith('~')) {
29
+ return 'user_folder path must be relative to user_folder (no drive letters or ~).';
30
+ }
31
+ const path = normalizeUserFolderPath(trimmed);
32
+ if (!path) {
33
+ return 'user_folder path is required.';
34
+ }
35
+ if (path === '.') {
36
+ return options.allowDot ? null : 'user_folder path must name a file or subdirectory.';
37
+ }
38
+ if (path.includes('..')) {
39
+ return 'user_folder path must not contain .. segments.';
40
+ }
41
+ for (const segment of path.split('/')) {
42
+ if (segment === '..') {
43
+ return 'user_folder path must not contain .. segments.';
44
+ }
45
+ }
46
+ if (options.requireSubtree && !path.includes('/')) {
47
+ return ('writes must target a file inside a subdirectory (e.g. evm/src/Contract.sol, ' +
48
+ 'data/out.json), not the user_folder root.');
49
+ }
50
+ return null;
51
+ }
52
+ export function assertUserFolderPath(raw, options = {}) {
53
+ const error = userFolderPathError(raw, options);
54
+ if (error) {
55
+ return { ok: false, reason: error };
56
+ }
57
+ return { ok: true, path: normalizeUserFolderPath(raw) };
58
+ }
59
+ //# sourceMappingURL=user-folder-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-folder-path.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder-path.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,MAAM;IACN,OAAO;IACP,yBAAyB;CAChB,CAAC;AASX,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAClD,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAClC,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,+BAA+B,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,+CAA+C,CAAC;IACxD,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,2EAA2E,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,+BAA+B,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD,CAAC;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,gDAAgD,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,gDAAgD,CAAC;QACzD,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CACN,8EAA8E;YAC9E,2CAA2C,CAC3C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ export declare const ListUserFolderInputSchema: z.ZodObject<{
3
+ path: z.ZodDefault<z.ZodString>;
4
+ }, z.core.$strict>;
5
+ export declare const GetUserFolderFileInputSchema: z.ZodObject<{
6
+ path: z.ZodString;
7
+ }, z.core.$strict>;
8
+ export declare const WriteUserFolderFileInputSchema: z.ZodObject<{
9
+ path: z.ZodString;
10
+ content: z.ZodString;
11
+ }, z.core.$strict>;
12
+ export declare const UserFolderEntrySchema: z.ZodObject<{
13
+ name: z.ZodString;
14
+ type: z.ZodEnum<{
15
+ file: "file";
16
+ dir: "dir";
17
+ }>;
18
+ size: z.ZodNumber;
19
+ mtime: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strict>;
21
+ export declare const ListUserFolderOutputSchema: z.ZodObject<{
22
+ path: z.ZodString;
23
+ entries: z.ZodArray<z.ZodObject<{
24
+ name: z.ZodString;
25
+ type: z.ZodEnum<{
26
+ file: "file";
27
+ dir: "dir";
28
+ }>;
29
+ size: z.ZodNumber;
30
+ mtime: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strict>>;
32
+ }, z.core.$strict>;
33
+ export declare const GetUserFolderFileOutputSchema: z.ZodObject<{
34
+ path: z.ZodString;
35
+ content: z.ZodString;
36
+ size: z.ZodNumber;
37
+ }, z.core.$strict>;
38
+ export declare const WriteUserFolderFileOutputSchema: z.ZodObject<{
39
+ path: z.ZodString;
40
+ }, z.core.$strict>;
41
+ //# sourceMappingURL=user-folder-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-folder-schemas.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AA4BtB,eAAO,MAAM,yBAAyB;;kBAI5B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;kBAI/B,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;kBAKjC,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;kBAOxB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;kBAK7B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;kBAMhC,CAAC;AAEX,eAAO,MAAM,+BAA+B;;kBAIlC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z } from 'zod';
2
+ import { userFolderPathError } from './user-folder-path.js';
3
+ const userFolderListPath = z
4
+ .string()
5
+ .trim()
6
+ .default('.')
7
+ .superRefine((value, ctx) => {
8
+ const error = userFolderPathError(value, { allowDot: true });
9
+ if (error) {
10
+ ctx.addIssue({ code: 'custom', message: error });
11
+ }
12
+ });
13
+ const userFolderReadPath = z.string().trim().min(1).superRefine((value, ctx) => {
14
+ const error = userFolderPathError(value);
15
+ if (error) {
16
+ ctx.addIssue({ code: 'custom', message: error });
17
+ }
18
+ });
19
+ const userFolderWritePath = z.string().trim().min(1).superRefine((value, ctx) => {
20
+ const error = userFolderPathError(value, { requireSubtree: true });
21
+ if (error) {
22
+ ctx.addIssue({ code: 'custom', message: error });
23
+ }
24
+ });
25
+ export const ListUserFolderInputSchema = z
26
+ .object({
27
+ path: userFolderListPath,
28
+ })
29
+ .strict();
30
+ export const GetUserFolderFileInputSchema = z
31
+ .object({
32
+ path: userFolderReadPath,
33
+ })
34
+ .strict();
35
+ export const WriteUserFolderFileInputSchema = z
36
+ .object({
37
+ path: userFolderWritePath,
38
+ content: z.string(),
39
+ })
40
+ .strict();
41
+ export const UserFolderEntrySchema = z
42
+ .object({
43
+ name: z.string(),
44
+ type: z.enum(['file', 'dir']),
45
+ size: z.number().int().nonnegative(),
46
+ mtime: z.string().optional(),
47
+ })
48
+ .strict();
49
+ export const ListUserFolderOutputSchema = z
50
+ .object({
51
+ path: z.string(),
52
+ entries: z.array(UserFolderEntrySchema),
53
+ })
54
+ .strict();
55
+ export const GetUserFolderFileOutputSchema = z
56
+ .object({
57
+ path: z.string(),
58
+ content: z.string(),
59
+ size: z.number().int().nonnegative(),
60
+ })
61
+ .strict();
62
+ export const WriteUserFolderFileOutputSchema = z
63
+ .object({
64
+ path: z.string(),
65
+ })
66
+ .strict();
67
+ //# sourceMappingURL=user-folder-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-folder-schemas.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder-schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-folder.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,SAAM,GACR,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAC,CAAC,CAAC,CAoChE;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CAkBnE;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CA+BpC"}
1
+ {"version":3,"file":"user-folder.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,SAAM,GACR,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAC,CAAC,CAAC,CAuChE;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CAmBnE;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CA6BpC"}
@@ -1,8 +1,12 @@
1
1
  import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
2
2
  import { buildManagementPostRequest, managementSign, DEFAULT_MANAGEMENT_SIGNING, } from '../management-signer.js';
3
+ import { assertUserFolderPath } from './user-folder-path.js';
3
4
  export async function listUserFolder(config, path = '.') {
5
+ const validated = assertUserFolderPath(path || '.', { allowDot: true });
6
+ if (!validated.ok)
7
+ return validated;
4
8
  const apiPath = buildManagementQueryPath('/listUserFolder', {
5
- path: path || '.',
9
+ path: validated.path,
6
10
  });
7
11
  const result = await managementGet(config, apiPath);
8
12
  if (!result.ok)
@@ -32,17 +36,18 @@ export async function listUserFolder(config, path = '.') {
32
36
  return {
33
37
  ok: true,
34
38
  data: {
35
- path: String(data.path ?? data.Path ?? (path || '.')),
39
+ path: String(data.path ?? data.Path ?? validated.path),
36
40
  entries,
37
41
  },
38
42
  };
39
43
  }
40
44
  export async function getUserFolderFile(config, path) {
41
- const trimmed = path.trim();
42
- if (!trimmed) {
43
- return { ok: false, reason: 'user_folder path is required.' };
44
- }
45
- const apiPath = buildManagementQueryPath('/getUserFolderFile', { path: trimmed });
45
+ const validated = assertUserFolderPath(path);
46
+ if (!validated.ok)
47
+ return validated;
48
+ const apiPath = buildManagementQueryPath('/getUserFolderFile', {
49
+ path: validated.path,
50
+ });
46
51
  const result = await managementGet(config, apiPath);
47
52
  if (!result.ok)
48
53
  return result;
@@ -50,20 +55,19 @@ export async function getUserFolderFile(config, path) {
50
55
  return {
51
56
  ok: true,
52
57
  data: {
53
- path: String(data.path ?? data.Path ?? trimmed),
58
+ path: String(data.path ?? data.Path ?? validated.path),
54
59
  content: String(data.content ?? data.Content ?? ''),
55
60
  size: Number(data.size ?? data.Size ?? 0) || 0,
56
61
  },
57
62
  };
58
63
  }
59
64
  export async function writeUserFolderFile(config, path, content, signing = DEFAULT_MANAGEMENT_SIGNING) {
60
- const trimmed = path.trim();
61
- if (!trimmed) {
62
- return { ok: false, reason: 'user_folder path is required.' };
63
- }
65
+ const validated = assertUserFolderPath(path, { requireSubtree: true });
66
+ if (!validated.ok)
67
+ return validated;
64
68
  const built = await buildManagementPostRequest(config, {
65
69
  path: '/writeUserFolderFile',
66
- buildRequestFields: () => ({ path: trimmed, content }),
70
+ buildRequestFields: () => ({ path: validated.path, content }),
67
71
  }, signing);
68
72
  if (!built.ok)
69
73
  return built;
@@ -76,7 +80,7 @@ export async function writeUserFolderFile(config, path, content, signing = DEFAU
76
80
  const data = posted.data;
77
81
  return {
78
82
  ok: true,
79
- data: { path: String(data.path ?? data.Path ?? trimmed) },
83
+ data: { path: String(data.path ?? data.Path ?? validated.path) },
80
84
  };
81
85
  }
82
86
  //# sourceMappingURL=user-folder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-folder.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-folder.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SdkResult } from '../result.js';
2
+ import type { GetBusinessLatestInput, GetBusinessLatestOutput, ListBusinessSourcesOutput, SearchBusinessLatestInput } from './schemas.js';
3
+ export type BusinessLatestFetchDeps = {
4
+ fetchImpl?: typeof fetch;
5
+ };
6
+ export declare function listBusinessSources(): SdkResult<ListBusinessSourcesOutput>;
7
+ export declare function getBusinessLatest(input: GetBusinessLatestInput, deps?: BusinessLatestFetchDeps): Promise<SdkResult<GetBusinessLatestOutput>>;
8
+ export declare function searchBusinessLatest(input: SearchBusinessLatestInput, deps?: BusinessLatestFetchDeps): Promise<SdkResult<GetBusinessLatestOutput>>;
9
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAEX,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,MAAM,cAAc,CAAC;AAWtB,MAAM,MAAM,uBAAuB,GAAG;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACzB,CAAC;AAoGF,wBAAgB,mBAAmB,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAW1E;AAED,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,sBAAsB,EAC7B,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAgB7C;AAED,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,yBAAyB,EAChC,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAqB7C"}
@@ -0,0 +1,138 @@
1
+ import { parseRssItems } from '../rss/parse-rss.js';
2
+ import { BUSINESS_LATEST_SOURCES, resolveBusinessLatestSources, } from './sources.js';
3
+ const FETCH_TIMEOUT_MS = 15_000;
4
+ const DEFAULT_LIMIT = 8;
5
+ const USER_AGENT = 'ContinuumBusinessLatest/1.0 (+https://github.com/ContinuumDAO/continuum-node-sdk)';
6
+ async function fetchFeedXml(url, fetchImpl) {
7
+ const controller = new AbortController();
8
+ const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
9
+ try {
10
+ const resp = await fetchImpl(url, {
11
+ method: 'GET',
12
+ headers: {
13
+ Accept: 'application/rss+xml, application/atom+xml, application/xml, text/xml;q=0.9, */*;q=0.8',
14
+ 'User-Agent': USER_AGENT,
15
+ 'Cache-Control': 'no-cache',
16
+ },
17
+ signal: controller.signal,
18
+ redirect: 'follow',
19
+ });
20
+ const xml = await resp.text();
21
+ if (!resp.ok) {
22
+ return { ok: false, reason: `HTTP ${resp.status} ${resp.statusText}`.trim() };
23
+ }
24
+ if (!xml.trim()) {
25
+ return { ok: false, reason: 'Empty RSS body' };
26
+ }
27
+ return { ok: true, xml };
28
+ }
29
+ catch (error) {
30
+ const message = error instanceof Error ? error.message : String(error);
31
+ return { ok: false, reason: message };
32
+ }
33
+ finally {
34
+ clearTimeout(timer);
35
+ }
36
+ }
37
+ function limitItems(items, limit) {
38
+ return items
39
+ .slice()
40
+ .sort((a, b) => {
41
+ const aMs = a.publishedAt ? Date.parse(a.publishedAt) : Number.NaN;
42
+ const bMs = b.publishedAt ? Date.parse(b.publishedAt) : Number.NaN;
43
+ if (Number.isFinite(aMs) && Number.isFinite(bMs) && aMs !== bMs) {
44
+ return bMs - aMs;
45
+ }
46
+ return 0;
47
+ })
48
+ .slice(0, limit);
49
+ }
50
+ async function loadSources(sources, limit, fetchImpl) {
51
+ const settled = await Promise.all(sources.map(async (source) => {
52
+ const fetched = await fetchFeedXml(source.url, fetchImpl);
53
+ if (!fetched.ok) {
54
+ return {
55
+ feed: {
56
+ sourceId: source.id,
57
+ sourceName: source.displayName,
58
+ ok: false,
59
+ itemCount: 0,
60
+ reason: fetched.reason,
61
+ },
62
+ items: [],
63
+ };
64
+ }
65
+ const parsed = parseRssItems(fetched.xml).map(item => ({
66
+ sourceId: source.id,
67
+ sourceName: source.displayName,
68
+ title: item.title,
69
+ url: item.url,
70
+ publishedAt: item.publishedAt,
71
+ publishedRaw: item.publishedRaw,
72
+ summary: item.summary,
73
+ }));
74
+ return {
75
+ feed: {
76
+ sourceId: source.id,
77
+ sourceName: source.displayName,
78
+ ok: parsed.length > 0,
79
+ itemCount: parsed.length,
80
+ reason: parsed.length > 0 ? undefined : 'No RSS items parsed',
81
+ },
82
+ items: parsed,
83
+ };
84
+ }));
85
+ return {
86
+ items: limitItems(settled.flatMap(row => row.items), limit),
87
+ feeds: settled.map(row => row.feed),
88
+ };
89
+ }
90
+ export function listBusinessSources() {
91
+ return {
92
+ ok: true,
93
+ data: {
94
+ sources: BUSINESS_LATEST_SOURCES.map(source => ({
95
+ id: source.id,
96
+ displayName: source.displayName,
97
+ url: source.url,
98
+ })),
99
+ },
100
+ };
101
+ }
102
+ export async function getBusinessLatest(input, deps = {}) {
103
+ const resolved = resolveBusinessLatestSources(input.sourceId);
104
+ if (!resolved.ok) {
105
+ return resolved;
106
+ }
107
+ const limit = input.limit ?? DEFAULT_LIMIT;
108
+ const data = await loadSources(resolved.sources, limit, deps.fetchImpl ?? fetch);
109
+ if (data.feeds.every(feed => !feed.ok) && data.items.length === 0) {
110
+ return {
111
+ ok: false,
112
+ reason: data.feeds
113
+ .map(feed => `${feed.sourceId}: ${feed.reason ?? 'failed'}`)
114
+ .join('; '),
115
+ };
116
+ }
117
+ return { ok: true, data };
118
+ }
119
+ export async function searchBusinessLatest(input, deps = {}) {
120
+ const fetched = await getBusinessLatest({ sourceId: input.sourceId, limit: 25 }, deps);
121
+ if (!fetched.ok) {
122
+ return fetched;
123
+ }
124
+ const needle = input.query.trim().toLowerCase();
125
+ const matched = fetched.data.items.filter(item => {
126
+ const hay = `${item.title} ${item.summary ?? ''} ${item.sourceName}`.toLowerCase();
127
+ return hay.includes(needle);
128
+ });
129
+ const limit = input.limit ?? DEFAULT_LIMIT;
130
+ return {
131
+ ok: true,
132
+ data: {
133
+ items: matched.slice(0, limit),
134
+ feeds: fetched.data.feeds,
135
+ },
136
+ };
137
+ }
138
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/core/business-latest/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAQlD,OAAO,EACN,uBAAuB,EACvB,4BAA4B,GAE5B,MAAM,cAAc,CAAC;AAEtB,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,UAAU,GAAG,mFAAmF,CAAC;AAMvG,KAAK,UAAU,YAAY,CAC1B,GAAW,EACX,SAAuB;IAEvB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACR,MAAM,EAAE,uFAAuF;gBAC/F,YAAY,EAAE,UAAU;gBACxB,eAAe,EAAE,UAAU;aAC3B;YACD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAC,CAAC;QAC9C,CAAC;QACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,KAA2B,EAAE,KAAa;IAC7D,OAAO,KAAK;SACV,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACnE,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACnE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACjE,OAAO,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,WAAW,CACzB,OAAwC,EACxC,KAAa,EACb,SAAuB;IAEvB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACN,IAAI,EAAE;oBACL,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,UAAU,EAAE,MAAM,CAAC,WAAW;oBAC9B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,OAAO,CAAC,MAAM;iBACtB;gBACD,KAAK,EAAE,EAA0B;aACjC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC,CAAC;QACJ,OAAO;YACN,IAAI,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,UAAU,EAAE,MAAM,CAAC,WAAW;gBAC9B,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,MAAM;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;aAC7D;YACD,KAAK,EAAE,MAAM;SACb,CAAC;IACH,CAAC,CAAC,CACF,CAAC;IAEF,OAAO;QACN,KAAK,EAAE,UAAU,CAChB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EACjC,KAAK,CACL;QACD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;KACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;aACf,CAAC,CAAC;SACH;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,KAA6B,EAC7B,OAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;IACjF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,IAAI,CAAC,KAAK;iBAChB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;iBAC3D,IAAI,CAAC,IAAI,CAAC;SACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,KAAgC,EAChC,OAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACtC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC,EACrC,IAAI,CACJ,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QACnF,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC;IAC3C,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;SACzB;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { BUSINESS_LATEST_SOURCES, BUSINESS_LATEST_SOURCE_IDS, businessLatestSourceById, isBusinessLatestSourceId, resolveBusinessLatestSources, type BusinessLatestSource, type BusinessLatestSourceId, } from './sources.js';
2
+ export { parseRssItems, type ParsedRssItem } from '../rss/parse-rss.js';
3
+ export { BusinessLatestItemSchema, GetBusinessLatestInputSchema, GetBusinessLatestOutputSchema, ListBusinessSourcesInputSchema, ListBusinessSourcesOutputSchema, SearchBusinessLatestInputSchema, type BusinessLatestItem, type GetBusinessLatestInput, type GetBusinessLatestOutput, type ListBusinessSourcesOutput, type SearchBusinessLatestInput, } from './schemas.js';
4
+ export { getBusinessLatest, listBusinessSources, searchBusinessLatest, type BusinessLatestFetchDeps, } from './fetch.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAE,KAAK,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,uBAAuB,GAC5B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { BUSINESS_LATEST_SOURCES, BUSINESS_LATEST_SOURCE_IDS, businessLatestSourceById, isBusinessLatestSourceId, resolveBusinessLatestSources, } from './sources.js';
2
+ export { parseRssItems } from '../rss/parse-rss.js';
3
+ export { BusinessLatestItemSchema, GetBusinessLatestInputSchema, GetBusinessLatestOutputSchema, ListBusinessSourcesInputSchema, ListBusinessSourcesOutputSchema, SearchBusinessLatestInputSchema, } from './schemas.js';
4
+ export { getBusinessLatest, listBusinessSources, searchBusinessLatest, } from './fetch.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/business-latest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,GAG5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,GAM/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GAEpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type ParsedRssItem = {
2
+ title: string;
3
+ url: string;
4
+ publishedAt?: string;
5
+ publishedRaw?: string;
6
+ summary?: string;
7
+ };
8
+ /** Parse RSS 2.0 `<item>` and Atom `<entry>` blocks. */
9
+ export declare function parseRssItems(xml: string): ParsedRssItem[];
10
+ //# sourceMappingURL=parse-rss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-rss.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/parse-rss.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqFF,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAM1D"}