intentkit 0.6.0.dev12__tar.gz → 0.6.0.dev13__tar.gz

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.

Potentially problematic release.


This version of intentkit might be problematic. Click here for more details.

Files changed (380) hide show
  1. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/PKG-INFO +1 -1
  2. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/__init__.py +1 -1
  3. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/skill.py +12 -0
  4. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/skill.py +11 -0
  5. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/skill.py +19 -0
  6. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/pyproject.toml +1 -1
  7. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/README.md +35 -2
  8. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/__init__.py +8 -0
  9. intentkit-0.6.0.dev13/skills/firecrawl/clear.py +87 -0
  10. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/schema.json +16 -0
  11. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/utils.py +63 -44
  12. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/.gitignore +0 -0
  13. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/LICENSE +0 -0
  14. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/MANIFEST.in +0 -0
  15. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/README.md +0 -0
  16. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/__init__.py +0 -0
  17. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/agent.py +0 -0
  18. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/api.py +0 -0
  19. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/engine.py +0 -0
  20. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/exception.py +0 -0
  21. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/graph.py +0 -0
  22. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/abstracts/twitter.py +0 -0
  23. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/__init__.py +0 -0
  24. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/cdp.py +0 -0
  25. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/clients/twitter.py +0 -0
  26. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/config/__init__.py +0 -0
  27. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/config/config.py +0 -0
  28. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/__init__.py +0 -0
  29. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/agent.py +0 -0
  30. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/api.py +0 -0
  31. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/client.py +0 -0
  32. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/credit.py +0 -0
  33. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/engine.py +0 -0
  34. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/node.py +0 -0
  35. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/core/prompt.py +0 -0
  36. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent.py +0 -0
  37. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent_data.py +0 -0
  38. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/agent_schema.json +0 -0
  39. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/app_setting.py +0 -0
  40. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/base.py +0 -0
  41. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/chat.py +0 -0
  42. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/conversation.py +0 -0
  43. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/credit.py +0 -0
  44. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/db.py +0 -0
  45. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/db_mig.py +0 -0
  46. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/generator.py +0 -0
  47. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/llm.py +0 -0
  48. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/redis.py +0 -0
  49. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/models/user.py +0 -0
  50. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/__init__.py +0 -0
  51. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/__init__.py +0 -0
  52. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/acolyt.jpg +0 -0
  53. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/ask.py +0 -0
  54. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/base.py +0 -0
  55. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/acolyt/schema.json +0 -0
  56. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/README.md +0 -0
  57. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/__init__.py +0 -0
  58. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/aixbt.jpg +0 -0
  59. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/base.py +0 -0
  60. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/projects.py +0 -0
  61. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/aixbt/schema.json +0 -0
  62. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/__init__.py +0 -0
  63. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/allora.jpeg +0 -0
  64. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/base.py +0 -0
  65. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/price.py +0 -0
  66. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/allora/schema.json +0 -0
  67. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/base.py +0 -0
  68. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/README.md +0 -0
  69. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/__init__.py +0 -0
  70. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/base.py +0 -0
  71. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/carv.webp +0 -0
  72. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/fetch_news.py +0 -0
  73. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/onchain_query.py +0 -0
  74. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/schema.json +0 -0
  75. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/carv/token_info_and_price.py +0 -0
  76. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/__init__.py +0 -0
  77. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/base.py +0 -0
  78. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/cdp.png +0 -0
  79. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/get_balance.py +0 -0
  80. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cdp/schema.json +0 -0
  81. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/README.md +0 -0
  82. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/__init__.py +0 -0
  83. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/base.py +0 -0
  84. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/chain_lookup.py +0 -0
  85. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/chainlist.png +0 -0
  86. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/chainlist/schema.json +0 -0
  87. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/__init__.py +0 -0
  88. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/base.py +0 -0
  89. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/common.jpg +0 -0
  90. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/current_time.py +0 -0
  91. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/common/schema.json +0 -0
  92. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/README.md +0 -0
  93. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/__init__.py +0 -0
  94. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/base.py +0 -0
  95. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/constants.py +0 -0
  96. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/cookiefun.png +0 -0
  97. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_details.py +0 -0
  98. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_feed.py +0 -0
  99. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_account_smart_followers.py +0 -0
  100. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/get_sectors.py +0 -0
  101. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/schema.json +0 -0
  102. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cookiefun/search_accounts.py +0 -0
  103. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/__init__.py +0 -0
  104. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/api.py +0 -0
  105. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/base.py +0 -0
  106. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/cryptocompare.png +0 -0
  107. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_news.py +0 -0
  108. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_price.py +0 -0
  109. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  110. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  111. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_top_volume.py +0 -0
  112. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/fetch_trading_signals.py +0 -0
  113. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptocompare/schema.json +0 -0
  114. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/__init__.py +0 -0
  115. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/base.py +0 -0
  116. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/cryptopanic.png +0 -0
  117. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/fetch_crypto_news.py +0 -0
  118. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/fetch_crypto_sentiment.py +0 -0
  119. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/cryptopanic/schema.json +0 -0
  120. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/README.md +0 -0
  121. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/__init__.py +0 -0
  122. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/base.py +0 -0
  123. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/dapplooker.jpg +0 -0
  124. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/dapplooker_token_data.py +0 -0
  125. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dapplooker/schema.json +0 -0
  126. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/__init__.py +0 -0
  127. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/api.py +0 -0
  128. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/base.py +0 -0
  129. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/__init__.py +0 -0
  130. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_batch_historical_prices.py +0 -0
  131. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_block.py +0 -0
  132. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_current_prices.py +0 -0
  133. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_first_price.py +0 -0
  134. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_historical_prices.py +0 -0
  135. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_price_chart.py +0 -0
  136. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/coins/fetch_price_percentage.py +0 -0
  137. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/config/__init__.py +0 -0
  138. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/config/chains.py +0 -0
  139. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/defillama.jpeg +0 -0
  140. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/fees/__init__.py +0 -0
  141. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/fees/fetch_fees_overview.py +0 -0
  142. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/schema.json +0 -0
  143. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/__init__.py +0 -0
  144. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +0 -0
  145. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +0 -0
  146. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +0 -0
  147. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/stablecoins/fetch_stablecoins.py +0 -0
  148. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/__init__.py +0 -0
  149. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/api_integration.test.py +0 -0
  150. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tests/api_unit.test.py +0 -0
  151. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/__init__.py +0 -0
  152. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_chain_historical_tvl.py +0 -0
  153. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_chains.py +0 -0
  154. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_historical_tvl.py +0 -0
  155. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocol.py +0 -0
  156. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocol_current_tvl.py +0 -0
  157. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/tvl/fetch_protocols.py +0 -0
  158. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/__init__.py +0 -0
  159. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_dex_overview.py +0 -0
  160. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_dex_summary.py +0 -0
  161. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/volumes/fetch_options_overview.py +0 -0
  162. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/__init__.py +0 -0
  163. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/fetch_pool_chart.py +0 -0
  164. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/defillama/yields/fetch_pools.py +0 -0
  165. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/__init__.py +0 -0
  166. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/base.py +0 -0
  167. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/dexscreener.png +0 -0
  168. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/model/__init__.py +0 -0
  169. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/model/search_token_response.py +0 -0
  170. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/schema.json +0 -0
  171. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dexscreener/search_token.py +0 -0
  172. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/__init__.py +0 -0
  173. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/base.py +0 -0
  174. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/dune.png +0 -0
  175. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/fetch_kol_buys.py +0 -0
  176. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/fetch_nation_metrics.py +0 -0
  177. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/dune_analytics/schema.json +0 -0
  178. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/README.md +0 -0
  179. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/__init__.py +0 -0
  180. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/base.py +0 -0
  181. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/elfa.jpg +0 -0
  182. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/mention.py +0 -0
  183. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/schema.json +0 -0
  184. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/stats.py +0 -0
  185. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/elfa/tokens.py +0 -0
  186. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/README.md +0 -0
  187. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/__init__.py +0 -0
  188. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/__init__.py +0 -0
  189. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/approval.py +0 -0
  190. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/erc20.py +0 -0
  191. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/abi/route.py +0 -0
  192. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/base.py +0 -0
  193. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/best_yield.py +0 -0
  194. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/enso.jpg +0 -0
  195. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/networks.py +0 -0
  196. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/prices.py +0 -0
  197. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/route.py +0 -0
  198. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/schema.json +0 -0
  199. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/tokens.py +0 -0
  200. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/enso/wallet.py +0 -0
  201. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/base.py +0 -0
  202. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/crawl.py +0 -0
  203. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/firecrawl.png +0 -0
  204. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/query.py +0 -0
  205. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/firecrawl/scrape.py +0 -0
  206. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/README.md +0 -0
  207. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/__init__.py +0 -0
  208. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/base.py +0 -0
  209. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/github.jpg +0 -0
  210. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/github_search.py +0 -0
  211. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/github/schema.json +0 -0
  212. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/__init__.py +0 -0
  213. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/base.py +0 -0
  214. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/heurist.png +0 -0
  215. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_animagine_xl.py +0 -0
  216. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_arthemy_comics.py +0 -0
  217. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_arthemy_real.py +0 -0
  218. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_braindance.py +0 -0
  219. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_cyber_realistic_xl.py +0 -0
  220. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_flux_1_dev.py +0 -0
  221. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/image_generation_sdxl.py +0 -0
  222. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/heurist/schema.json +0 -0
  223. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/README.md +0 -0
  224. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/__init__.py +0 -0
  225. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/base.py +0 -0
  226. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/lifi.png +0 -0
  227. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/schema.json +0 -0
  228. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/token_execute.py +0 -0
  229. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/token_quote.py +0 -0
  230. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/lifi/utils.py +0 -0
  231. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/README.md +0 -0
  232. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/__init__.py +0 -0
  233. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/api.py +0 -0
  234. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/base.py +0 -0
  235. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_chain_portfolio.py +0 -0
  236. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_nft_portfolio.py +0 -0
  237. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_solana_portfolio.py +0 -0
  238. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/fetch_wallet_portfolio.py +0 -0
  239. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/moralis.png +0 -0
  240. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/schema.json +0 -0
  241. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/tests/__init__.py +0 -0
  242. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/moralis/tests/test_wallet.py +0 -0
  243. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/__init__.py +0 -0
  244. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/base.py +0 -0
  245. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/nation.png +0 -0
  246. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/nft_check.py +0 -0
  247. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/nation/schema.json +0 -0
  248. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/__init__.py +0 -0
  249. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/base.py +0 -0
  250. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/dalle_image_generation.py +0 -0
  251. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/gpt_image_generation.py +0 -0
  252. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/gpt_image_to_image.py +0 -0
  253. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/image_to_text.py +0 -0
  254. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/openai.png +0 -0
  255. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/openai/schema.json +0 -0
  256. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/README.md +0 -0
  257. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/__init__.py +0 -0
  258. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/base.py +0 -0
  259. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/constants.py +0 -0
  260. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/moralis.png +0 -0
  261. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/schema.json +0 -0
  262. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/token_balances.py +0 -0
  263. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_approvals.py +0 -0
  264. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_defi_positions.py +0 -0
  265. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_history.py +0 -0
  266. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_net_worth.py +0 -0
  267. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_nfts.py +0 -0
  268. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_profitability.py +0 -0
  269. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_profitability_summary.py +0 -0
  270. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_stats.py +0 -0
  271. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/portfolio/wallet_swaps.py +0 -0
  272. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/skills.toml +0 -0
  273. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/__init__.py +0 -0
  274. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/base.py +0 -0
  275. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/get_channel.py +0 -0
  276. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/get_message.py +0 -0
  277. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/schedule_message.py +0 -0
  278. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/schema.json +0 -0
  279. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/send_message.py +0 -0
  280. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/slack/slack.jpg +0 -0
  281. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/__init__.py +0 -0
  282. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/base.py +0 -0
  283. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/read_agent_api_key.py +0 -0
  284. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/regenerate_agent_api_key.py +0 -0
  285. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/schema.json +0 -0
  286. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/system/system.svg +0 -0
  287. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/README.md +0 -0
  288. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/__init__.py +0 -0
  289. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/base.py +0 -0
  290. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/schema.json +0 -0
  291. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily.jpg +0 -0
  292. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily_extract.py +0 -0
  293. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/tavily/tavily_search.py +0 -0
  294. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/README.md +0 -0
  295. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/__init__.py +0 -0
  296. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/base.py +0 -0
  297. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/constants.py +0 -0
  298. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/erc20_transfers.py +0 -0
  299. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/moralis.png +0 -0
  300. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/schema.json +0 -0
  301. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_analytics.py +0 -0
  302. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_price.py +0 -0
  303. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/token/token_search.py +0 -0
  304. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/__init__.py +0 -0
  305. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/base.py +0 -0
  306. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/follow_user.py +0 -0
  307. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_mentions.py +0 -0
  308. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_timeline.py +0 -0
  309. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_user_by_username.py +0 -0
  310. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/get_user_tweets.py +0 -0
  311. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/like_tweet.py +0 -0
  312. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/post_tweet.py +0 -0
  313. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/reply_tweet.py +0 -0
  314. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/retweet.py +0 -0
  315. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/schema.json +0 -0
  316. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/search_tweets.py +0 -0
  317. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/twitter/twitter.png +0 -0
  318. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/__init__.py +0 -0
  319. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/base.py +0 -0
  320. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/schema.json +0 -0
  321. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/text_to_speech.py +0 -0
  322. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/unrealspeech/unrealspeech.jpg +0 -0
  323. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/__init__.py +0 -0
  324. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/base.py +0 -0
  325. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/input.py +0 -0
  326. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/schema.json +0 -0
  327. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/venice_audio.py +0 -0
  328. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_audio/venice_logo.jpg +0 -0
  329. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/README.md +0 -0
  330. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/__init__.py +0 -0
  331. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/api.py +0 -0
  332. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/base.py +0 -0
  333. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/config.py +0 -0
  334. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/README.md +0 -0
  335. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/__init__.py +0 -0
  336. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance.py +0 -0
  337. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  338. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  339. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/README.md +0 -0
  340. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/__init__.py +0 -0
  341. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_base.py +0 -0
  342. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  343. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  344. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  345. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_input.py +0 -0
  346. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  347. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  348. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  349. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  350. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/README.md +0 -0
  351. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/__init__.py +0 -0
  352. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale.py +0 -0
  353. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  354. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  355. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/README.md +0 -0
  356. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/__init__.py +0 -0
  357. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision.py +0 -0
  358. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision_base.py +0 -0
  359. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/image_vision/image_vision_input.py +0 -0
  360. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/schema.json +0 -0
  361. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/utils.py +0 -0
  362. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/venice_image/venice_image.jpg +0 -0
  363. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/README.md +0 -0
  364. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/__init__.py +0 -0
  365. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/base.py +0 -0
  366. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/document_indexer.py +0 -0
  367. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/langchain.png +0 -0
  368. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/schema.json +0 -0
  369. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/scrape_and_index.py +0 -0
  370. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/utils.py +0 -0
  371. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/skills/web_scraper/website_indexer.py +0 -0
  372. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/__init__.py +0 -0
  373. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/chain.py +0 -0
  374. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/error.py +0 -0
  375. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/logging.py +0 -0
  376. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/middleware.py +0 -0
  377. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/random.py +0 -0
  378. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/s3.py +0 -0
  379. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/slack_alert.py +0 -0
  380. {intentkit-0.6.0.dev12 → intentkit-0.6.0.dev13}/utils/tx.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.6.0.dev12
3
+ Version: 0.6.0.dev13
4
4
  Summary: Intent-based AI Agent Platform - Core Package
5
5
  Project-URL: Homepage, https://github.com/crestal-network/intentkit
6
6
  Project-URL: Repository, https://github.com/crestal-network/intentkit
@@ -3,7 +3,7 @@
3
3
  A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
4
  """
5
5
 
6
- __version__ = "0.6.0-dev.12"
6
+ __version__ = "0.6.0-dev.13"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -91,6 +91,18 @@ class SkillStoreABC(ABC):
91
91
  """
92
92
  pass
93
93
 
94
+ @staticmethod
95
+ @abstractmethod
96
+ async def delete_agent_skill_data(agent_id: str, skill: str, key: str) -> None:
97
+ """Delete skill data for an agent.
98
+
99
+ Args:
100
+ agent_id: ID of the agent
101
+ skill: Name of the skill
102
+ key: Data key
103
+ """
104
+ pass
105
+
94
106
  @staticmethod
95
107
  @abstractmethod
96
108
  async def get_thread_skill_data(
@@ -78,6 +78,17 @@ class SkillStore(SkillStoreABC):
78
78
  )
79
79
  await skill_data.save()
80
80
 
81
+ @staticmethod
82
+ async def delete_agent_skill_data(agent_id: str, skill: str, key: str) -> None:
83
+ """Delete skill data for an agent.
84
+
85
+ Args:
86
+ agent_id: ID of the agent
87
+ skill: Name of the skill
88
+ key: Data key
89
+ """
90
+ await AgentSkillData.delete(agent_id, skill, key)
91
+
81
92
  @staticmethod
82
93
  async def get_thread_skill_data(
83
94
  thread_id: str, skill: str, key: str
@@ -172,6 +172,25 @@ class AgentSkillData(AgentSkillDataCreate):
172
172
  )
173
173
  return result.data if result else None
174
174
 
175
+ @classmethod
176
+ async def delete(cls, agent_id: str, skill: str, key: str) -> None:
177
+ """Delete skill data for an agent.
178
+
179
+ Args:
180
+ agent_id: ID of the agent
181
+ skill: Name of the skill
182
+ key: Data key
183
+ """
184
+ async with get_session() as db:
185
+ await db.execute(
186
+ delete(AgentSkillDataTable).where(
187
+ AgentSkillDataTable.agent_id == agent_id,
188
+ AgentSkillDataTable.skill == skill,
189
+ AgentSkillDataTable.key == key,
190
+ )
191
+ )
192
+ await db.commit()
193
+
175
194
  @classmethod
176
195
  async def clean_data(cls, agent_id: str):
177
196
  """Clean all skill data for an agent.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "intentkit"
3
- version = "0.6.0-dev.12"
3
+ version = "0.6.0-dev.13"
4
4
  description = "Intent-based AI Agent Platform - Core Package"
5
5
  authors = [{ name = "hyacinthus", email = "hyacinthus@gmail.com" }]
6
6
  requires-python = ">=3.12"
@@ -37,6 +37,14 @@ Queries previously indexed Firecrawl content using semantic search.
37
37
  - `query` (required): The search query
38
38
  - `limit` (optional): Maximum number of results to return (1-10, default: 4)
39
39
 
40
+ ### 4. firecrawl_clear_indexed_content
41
+ Clears all previously indexed Firecrawl content from the vector store.
42
+
43
+ **Parameters:**
44
+ - `confirm` (required): Must be set to true to confirm the deletion (default: false)
45
+
46
+ **Note:** This action is permanent and cannot be undone. Use when you want to start fresh with new content.
47
+
40
48
  ## API Key Configuration
41
49
  Set your Firecrawl API key as an environment variable:
42
50
  ```bash
@@ -53,7 +61,8 @@ export FIRECRAWL_API_KEY=fc-your-api-key-here
53
61
  "skills": [
54
62
  "firecrawl_scrape",
55
63
  "firecrawl_crawl",
56
- "firecrawl_query_indexed_content"
64
+ "firecrawl_query_indexed_content",
65
+ "firecrawl_clear_indexed_content"
57
66
  ]
58
67
  }
59
68
  ```
@@ -120,6 +129,30 @@ Prompt: "Use firecrawl_query_indexed_content to search for 'democratize finance'
120
129
  - Results tagged with [Firecrawl Scrape] or [Firecrawl Crawl]
121
130
  - Source URLs and metadata included
122
131
 
132
+ ### Step 7: Test Clear Indexed Content
133
+
134
+ **Test clearing all indexed content:**
135
+ ```
136
+ Prompt: "Use firecrawl_clear_indexed_content with confirm=true to clear all indexed content"
137
+ ```
138
+
139
+ **Expected Result:**
140
+ - All indexed content removed from vector store
141
+ - Confirmation message displayed
142
+ - Subsequent queries return no results
143
+
144
+ ### Step 8: Test Re-indexing After Clear
145
+
146
+ **Test that content can be re-indexed after clearing:**
147
+ ```
148
+ Prompt: "Use firecrawl_scrape to scrape https://example.com and index the content"
149
+ ```
150
+
151
+ **Expected Result:**
152
+ - Content successfully scraped and indexed
153
+ - Fresh vector store created
154
+ - Content available for querying again
155
+
123
156
  ## Common Use Cases
124
157
 
125
158
  ### Documentation Indexing
@@ -175,4 +208,4 @@ Prompt: "Use firecrawl_query_indexed_content to search for 'democratize finance'
175
208
  - **Metadata Rich**: Includes source URLs, timestamps, and content types
176
209
  - **Semantic Search**: Uses OpenAI embeddings for intelligent querying
177
210
  - **Batch Processing**: Efficient handling of multiple pages
178
- - **Content Filtering**: Flexible include/exclude options for targeted scraping
211
+ - **Content Filtering**: Flexible include/exclude options for targeted scraping
@@ -6,6 +6,7 @@ from typing import TypedDict
6
6
  from intentkit.abstracts.skill import SkillStoreABC
7
7
  from intentkit.skills.base import SkillConfig, SkillState
8
8
  from intentkit.skills.firecrawl.base import FirecrawlBaseTool
9
+ from intentkit.skills.firecrawl.clear import FirecrawlClearIndexedContent
9
10
  from intentkit.skills.firecrawl.crawl import FirecrawlCrawl
10
11
  from intentkit.skills.firecrawl.query import FirecrawlQueryIndexedContent
11
12
  from intentkit.skills.firecrawl.scrape import FirecrawlScrape
@@ -20,6 +21,7 @@ class SkillStates(TypedDict):
20
21
  firecrawl_scrape: SkillState
21
22
  firecrawl_crawl: SkillState
22
23
  firecrawl_query_indexed_content: SkillState
24
+ firecrawl_clear_indexed_content: SkillState
23
25
 
24
26
 
25
27
  class Config(SkillConfig):
@@ -95,5 +97,11 @@ def get_firecrawl_skill(
95
97
  skill_store=store,
96
98
  )
97
99
  return _cache[name]
100
+ elif name == "firecrawl_clear_indexed_content":
101
+ if name not in _cache:
102
+ _cache[name] = FirecrawlClearIndexedContent(
103
+ skill_store=store,
104
+ )
105
+ return _cache[name]
98
106
  else:
99
107
  raise ValueError(f"Unknown Firecrawl skill: {name}")
@@ -0,0 +1,87 @@
1
+ import logging
2
+ from typing import Type
3
+
4
+ from langchain_core.runnables import RunnableConfig
5
+ from pydantic import BaseModel, Field
6
+
7
+ from intentkit.skills.firecrawl.base import FirecrawlBaseTool
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+
12
+ class FirecrawlClearInput(BaseModel):
13
+ """Input for Firecrawl clear tool."""
14
+
15
+ confirm: bool = Field(
16
+ description="Confirmation to clear all indexed content (must be true)",
17
+ default=False,
18
+ )
19
+
20
+
21
+ class FirecrawlClearIndexedContent(FirecrawlBaseTool):
22
+ """Tool for clearing all indexed Firecrawl content.
23
+
24
+ This tool removes all previously indexed content from the Firecrawl vector store,
25
+ allowing for a fresh start with new content.
26
+ """
27
+
28
+ name: str = "firecrawl_clear_indexed_content"
29
+ description: str = (
30
+ "Clear all previously indexed Firecrawl content from the vector store.\n"
31
+ "This will permanently delete all indexed content and cannot be undone.\n"
32
+ "Use this tool when you want to start fresh with new content."
33
+ )
34
+ args_schema: Type[BaseModel] = FirecrawlClearInput
35
+
36
+ async def _arun(
37
+ self,
38
+ confirm: bool = False,
39
+ config: RunnableConfig = None,
40
+ **kwargs,
41
+ ) -> str:
42
+ """Clear all indexed Firecrawl content for the agent.
43
+
44
+ Args:
45
+ confirm: Must be True to confirm the deletion
46
+ config: The configuration for the tool call
47
+
48
+ Returns:
49
+ str: Confirmation message
50
+ """
51
+ context = self.context_from_config(config)
52
+ agent_id = context.agent.id if context and context.agent else None
53
+
54
+ if not agent_id:
55
+ return "Error: Agent ID not available for clearing content."
56
+
57
+ if not confirm:
58
+ return "Error: You must set confirm=true to clear all indexed content."
59
+
60
+ logger.info(
61
+ f"firecrawl_clear: Starting clear indexed content operation for agent {agent_id}"
62
+ )
63
+
64
+ try:
65
+ # Delete vector store data (using web_scraper storage format for compatibility)
66
+ vector_store_key = f"vector_store_{agent_id}"
67
+ await self.skill_store.delete_agent_skill_data(
68
+ agent_id, "web_scraper", vector_store_key
69
+ )
70
+
71
+ # Delete metadata
72
+ metadata_key = f"indexed_urls_{agent_id}"
73
+ await self.skill_store.delete_agent_skill_data(
74
+ agent_id, "web_scraper", metadata_key
75
+ )
76
+
77
+ logger.info(
78
+ f"firecrawl_clear: Successfully cleared all indexed content for agent {agent_id}"
79
+ )
80
+ return "Successfully cleared all Firecrawl indexed content. The vector store is now empty and ready for new content."
81
+
82
+ except Exception as e:
83
+ logger.error(
84
+ f"firecrawl_clear: Error clearing indexed content for agent {agent_id}: {e}",
85
+ exc_info=True,
86
+ )
87
+ return f"Error clearing indexed content: {str(e)}"
@@ -68,6 +68,22 @@
68
68
  ],
69
69
  "description": "Query previously indexed Firecrawl content to find relevant information and answer questions. Use this to search through content that was scraped and indexed using Firecrawl tools.",
70
70
  "default": "private"
71
+ },
72
+ "firecrawl_clear_indexed_content": {
73
+ "type": "string",
74
+ "title": "Clear Indexed Content",
75
+ "enum": [
76
+ "disabled",
77
+ "public",
78
+ "private"
79
+ ],
80
+ "x-enum-title": [
81
+ "Disabled",
82
+ "Agent Owner + All Users",
83
+ "Agent Owner Only"
84
+ ],
85
+ "description": "Clear all previously indexed Firecrawl content from the vector store. This will permanently delete all indexed content and cannot be undone. Use this tool when you want to start fresh with new content.",
86
+ "default": "private"
71
87
  }
72
88
  },
73
89
  "description": "States for each Firecrawl skill (disabled, public, or private)"
@@ -1,11 +1,9 @@
1
1
  """Utilities for Firecrawl skill content indexing and querying."""
2
2
 
3
3
  import logging
4
- import pickle
5
4
  import re
6
5
  from typing import Any, Dict, List, Optional, Tuple
7
6
 
8
- import faiss
9
7
  from langchain.text_splitter import RecursiveCharacterTextSplitter
10
8
  from langchain_community.vectorstores import FAISS
11
9
  from langchain_core.documents import Document
@@ -77,46 +75,52 @@ class FirecrawlVectorStoreManager:
77
75
  openai_api_key=openai_api_key, model="text-embedding-3-small"
78
76
  )
79
77
 
80
- def encode_vector_store(self, vector_store: FAISS) -> Dict[str, bytes]:
81
- """Encode FAISS vector store to bytes for storage."""
82
- try:
83
- # Serialize the index
84
- index_bytes = faiss.serialize_index(vector_store.index)
85
-
86
- # Serialize the docstore and index_to_docstore_id
87
- docstore_bytes = pickle.dumps(vector_store.docstore)
88
- index_to_docstore_bytes = pickle.dumps(vector_store.index_to_docstore_id)
78
+ def encode_vector_store(self, vector_store: FAISS) -> Dict[str, str]:
79
+ """Encode FAISS vector store to base64 for storage (compatible with web_scraper)."""
80
+ import base64
81
+ import os
82
+ import tempfile
89
83
 
90
- return {
91
- "index": index_bytes,
92
- "docstore": docstore_bytes,
93
- "index_to_docstore": index_to_docstore_bytes,
94
- }
84
+ try:
85
+ with tempfile.TemporaryDirectory() as temp_dir:
86
+ vector_store.save_local(temp_dir)
87
+
88
+ encoded_files = {}
89
+ for filename in os.listdir(temp_dir):
90
+ file_path = os.path.join(temp_dir, filename)
91
+ if os.path.isfile(file_path):
92
+ with open(file_path, "rb") as f:
93
+ encoded_files[filename] = base64.b64encode(f.read()).decode(
94
+ "utf-8"
95
+ )
96
+
97
+ return encoded_files
95
98
  except Exception as e:
96
99
  logger.error(f"Error encoding vector store: {e}")
97
100
  raise
98
101
 
99
102
  def decode_vector_store(
100
- self, faiss_data: Dict[str, bytes], embeddings: OpenAIEmbeddings
103
+ self, encoded_files: Dict[str, str], embeddings: OpenAIEmbeddings
101
104
  ) -> FAISS:
102
- """Decode FAISS vector store from stored bytes."""
103
- try:
104
- # Deserialize the index
105
- index = faiss.deserialize_index(faiss_data["index"])
106
-
107
- # Deserialize the docstore and index_to_docstore_id
108
- docstore = pickle.loads(faiss_data["docstore"])
109
- index_to_docstore_id = pickle.loads(faiss_data["index_to_docstore"])
110
-
111
- # Create FAISS vector store
112
- vector_store = FAISS(
113
- embedding_function=embeddings,
114
- index=index,
115
- docstore=docstore,
116
- index_to_docstore_id=index_to_docstore_id,
117
- )
105
+ """Decode base64 files back to FAISS vector store (compatible with web_scraper)."""
106
+ import base64
107
+ import os
108
+ import tempfile
118
109
 
119
- return vector_store
110
+ try:
111
+ with tempfile.TemporaryDirectory() as temp_dir:
112
+ # Decode and write files
113
+ for filename, encoded_content in encoded_files.items():
114
+ file_path = os.path.join(temp_dir, filename)
115
+ with open(file_path, "wb") as f:
116
+ f.write(base64.b64decode(encoded_content))
117
+
118
+ # Load vector store
119
+ return FAISS.load_local(
120
+ temp_dir,
121
+ embeddings,
122
+ allow_dangerous_deserialization=True,
123
+ )
120
124
  except Exception as e:
121
125
  logger.error(f"Error decoding vector store: {e}")
122
126
  raise
@@ -124,9 +128,9 @@ class FirecrawlVectorStoreManager:
124
128
  async def load_vector_store(self, agent_id: str) -> Optional[FAISS]:
125
129
  """Load existing vector store for an agent."""
126
130
  try:
127
- vector_store_key = f"firecrawl_vector_store_{agent_id}"
131
+ vector_store_key = f"vector_store_{agent_id}"
128
132
  stored_data = await self.skill_store.get_agent_skill_data(
129
- agent_id, "firecrawl", vector_store_key
133
+ agent_id, "web_scraper", vector_store_key
130
134
  )
131
135
 
132
136
  if not stored_data or "faiss_files" not in stored_data:
@@ -139,14 +143,27 @@ class FirecrawlVectorStoreManager:
139
143
  logger.error(f"Error loading vector store for agent {agent_id}: {e}")
140
144
  return None
141
145
 
142
- async def save_vector_store(self, agent_id: str, vector_store: FAISS) -> None:
143
- """Save vector store for an agent."""
146
+ async def save_vector_store(
147
+ self,
148
+ agent_id: str,
149
+ vector_store: FAISS,
150
+ chunk_size: int = 1000,
151
+ chunk_overlap: int = 200,
152
+ ) -> None:
153
+ """Save vector store for an agent (compatible with web_scraper format)."""
144
154
  try:
145
- vector_store_key = f"firecrawl_vector_store_{agent_id}"
146
- encoded_data = self.encode_vector_store(vector_store)
155
+ vector_store_key = f"vector_store_{agent_id}"
156
+ encoded_files = self.encode_vector_store(vector_store)
157
+
158
+ # Use the same data structure as web_scraper
159
+ storage_data = {
160
+ "faiss_files": encoded_files,
161
+ "chunk_size": chunk_size,
162
+ "chunk_overlap": chunk_overlap,
163
+ }
147
164
 
148
165
  await self.skill_store.save_agent_skill_data(
149
- agent_id, "firecrawl", vector_store_key, {"faiss_files": encoded_data}
166
+ agent_id, "web_scraper", vector_store_key, storage_data
150
167
  )
151
168
 
152
169
  except Exception as e:
@@ -176,9 +193,9 @@ class FirecrawlMetadataManager:
176
193
  ) -> None:
177
194
  """Update metadata for an agent."""
178
195
  try:
179
- metadata_key = f"firecrawl_metadata_{agent_id}"
196
+ metadata_key = f"indexed_urls_{agent_id}"
180
197
  await self.skill_store.save_agent_skill_data(
181
- agent_id, "firecrawl", metadata_key, new_metadata
198
+ agent_id, "web_scraper", metadata_key, new_metadata
182
199
  )
183
200
  except Exception as e:
184
201
  logger.error(f"Error updating metadata for agent {agent_id}: {e}")
@@ -235,7 +252,9 @@ async def index_documents(
235
252
  was_merged = False
236
253
 
237
254
  # Save the vector store
238
- await vs_manager.save_vector_store(agent_id, vector_store)
255
+ await vs_manager.save_vector_store(
256
+ agent_id, vector_store, chunk_size, chunk_overlap
257
+ )
239
258
 
240
259
  logger.info(
241
260
  f"Successfully indexed {len(split_docs)} chunks for agent {agent_id}"
File without changes