intentkit 0.8.12rc0__py3-none-any.whl → 0.8.13__py3-none-any.whl

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 (188) hide show
  1. intentkit/__init__.py +1 -1
  2. intentkit/abstracts/skill.py +2 -59
  3. intentkit/clients/__init__.py +3 -2
  4. intentkit/clients/cdp.py +63 -44
  5. intentkit/clients/twitter.py +35 -28
  6. intentkit/config/config.py +1 -0
  7. intentkit/core/agent.py +2 -279
  8. intentkit/core/asset.py +63 -16
  9. intentkit/core/engine.py +9 -5
  10. intentkit/core/scheduler.py +8 -8
  11. intentkit/models/agent.py +138 -94
  12. intentkit/models/agent_schema.json +6 -9
  13. intentkit/models/chat.py +1 -0
  14. intentkit/models/llm.csv +15 -12
  15. intentkit/models/skills.csv +5 -4
  16. intentkit/skills/acolyt/__init__.py +2 -9
  17. intentkit/skills/acolyt/base.py +2 -5
  18. intentkit/skills/aixbt/__init__.py +2 -13
  19. intentkit/skills/aixbt/base.py +0 -4
  20. intentkit/skills/aixbt/projects.py +1 -2
  21. intentkit/skills/allora/__init__.py +2 -9
  22. intentkit/skills/allora/base.py +2 -5
  23. intentkit/skills/base.py +101 -37
  24. intentkit/skills/basename/__init__.py +1 -3
  25. intentkit/skills/carv/__init__.py +116 -121
  26. intentkit/skills/carv/base.py +184 -185
  27. intentkit/skills/casino/__init__.py +4 -15
  28. intentkit/skills/casino/base.py +0 -4
  29. intentkit/skills/casino/deck_draw.py +1 -2
  30. intentkit/skills/casino/deck_shuffle.py +1 -2
  31. intentkit/skills/casino/dice_roll.py +1 -2
  32. intentkit/skills/cdp/__init__.py +0 -5
  33. intentkit/skills/cdp/base.py +0 -4
  34. intentkit/skills/cdp/schema.json +1 -17
  35. intentkit/skills/chainlist/__init__.py +2 -7
  36. intentkit/skills/chainlist/base.py +0 -4
  37. intentkit/skills/common/__init__.py +2 -9
  38. intentkit/skills/common/base.py +0 -4
  39. intentkit/skills/cookiefun/__init__.py +6 -9
  40. intentkit/skills/cookiefun/base.py +0 -4
  41. intentkit/skills/cryptocompare/__init__.py +7 -24
  42. intentkit/skills/cryptocompare/base.py +0 -5
  43. intentkit/skills/cryptopanic/__init__.py +3 -6
  44. intentkit/skills/cryptopanic/base.py +53 -55
  45. intentkit/skills/cryptopanic/fetch_crypto_news.py +0 -2
  46. intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +1 -3
  47. intentkit/skills/dapplooker/__init__.py +2 -9
  48. intentkit/skills/dapplooker/base.py +2 -5
  49. intentkit/skills/defillama/__init__.py +24 -74
  50. intentkit/skills/defillama/base.py +0 -4
  51. intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +2 -2
  52. intentkit/skills/defillama/coins/fetch_block.py +2 -2
  53. intentkit/skills/defillama/coins/fetch_current_prices.py +2 -2
  54. intentkit/skills/defillama/coins/fetch_first_price.py +2 -2
  55. intentkit/skills/defillama/coins/fetch_historical_prices.py +2 -2
  56. intentkit/skills/defillama/coins/fetch_price_chart.py +2 -2
  57. intentkit/skills/defillama/coins/fetch_price_percentage.py +2 -2
  58. intentkit/skills/defillama/fees/fetch_fees_overview.py +2 -2
  59. intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +2 -2
  60. intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +2 -2
  61. intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +2 -2
  62. intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +2 -2
  63. intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +2 -2
  64. intentkit/skills/defillama/tvl/fetch_chains.py +2 -2
  65. intentkit/skills/defillama/tvl/fetch_historical_tvl.py +2 -2
  66. intentkit/skills/defillama/tvl/fetch_protocol.py +2 -2
  67. intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +2 -2
  68. intentkit/skills/defillama/tvl/fetch_protocols.py +2 -2
  69. intentkit/skills/defillama/volumes/fetch_dex_overview.py +2 -2
  70. intentkit/skills/defillama/volumes/fetch_dex_summary.py +2 -2
  71. intentkit/skills/defillama/volumes/fetch_options_overview.py +2 -2
  72. intentkit/skills/defillama/yields/fetch_pool_chart.py +2 -2
  73. intentkit/skills/defillama/yields/fetch_pools.py +2 -2
  74. intentkit/skills/dexscreener/__init__.py +97 -102
  75. intentkit/skills/dexscreener/base.py +125 -130
  76. intentkit/skills/dexscreener/get_pair_info.py +2 -3
  77. intentkit/skills/dexscreener/get_token_pairs.py +2 -3
  78. intentkit/skills/dexscreener/get_tokens_info.py +2 -3
  79. intentkit/skills/dexscreener/search_token.py +2 -4
  80. intentkit/skills/dune_analytics/__init__.py +4 -6
  81. intentkit/skills/dune_analytics/base.py +50 -52
  82. intentkit/skills/dune_analytics/fetch_kol_buys.py +0 -2
  83. intentkit/skills/dune_analytics/fetch_nation_metrics.py +0 -2
  84. intentkit/skills/elfa/__init__.py +5 -18
  85. intentkit/skills/elfa/base.py +8 -10
  86. intentkit/skills/enso/__init__.py +9 -29
  87. intentkit/skills/enso/base.py +3 -6
  88. intentkit/skills/enso/route.py +1 -3
  89. intentkit/skills/erc20/__init__.py +1 -5
  90. intentkit/skills/erc721/__init__.py +1 -3
  91. intentkit/skills/firecrawl/__init__.py +5 -18
  92. intentkit/skills/firecrawl/base.py +2 -5
  93. intentkit/skills/firecrawl/crawl.py +10 -9
  94. intentkit/skills/firecrawl/query.py +3 -1
  95. intentkit/skills/firecrawl/scrape.py +8 -10
  96. intentkit/skills/firecrawl/utils.py +25 -26
  97. intentkit/skills/github/__init__.py +2 -7
  98. intentkit/skills/github/base.py +0 -4
  99. intentkit/skills/heurist/__init__.py +8 -27
  100. intentkit/skills/heurist/base.py +2 -5
  101. intentkit/skills/heurist/image_generation_animagine_xl.py +5 -5
  102. intentkit/skills/heurist/image_generation_arthemy_comics.py +5 -5
  103. intentkit/skills/heurist/image_generation_arthemy_real.py +5 -5
  104. intentkit/skills/heurist/image_generation_braindance.py +5 -5
  105. intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +5 -5
  106. intentkit/skills/heurist/image_generation_flux_1_dev.py +5 -5
  107. intentkit/skills/heurist/image_generation_sdxl.py +5 -5
  108. intentkit/skills/http/__init__.py +4 -15
  109. intentkit/skills/http/base.py +0 -4
  110. intentkit/skills/lifi/__init__.py +1 -6
  111. intentkit/skills/lifi/base.py +0 -4
  112. intentkit/skills/lifi/token_execute.py +1 -4
  113. intentkit/skills/lifi/token_quote.py +1 -3
  114. intentkit/skills/moralis/__init__.py +3 -7
  115. intentkit/skills/moralis/base.py +2 -5
  116. intentkit/skills/morpho/__init__.py +1 -3
  117. intentkit/skills/nation/__init__.py +2 -7
  118. intentkit/skills/nation/base.py +4 -7
  119. intentkit/skills/onchain.py +27 -0
  120. intentkit/skills/openai/__init__.py +5 -18
  121. intentkit/skills/openai/base.py +8 -10
  122. intentkit/skills/openai/dalle_image_generation.py +2 -5
  123. intentkit/skills/openai/gpt_image_generation.py +2 -5
  124. intentkit/skills/openai/gpt_image_to_image.py +2 -5
  125. intentkit/skills/openai/image_to_text.py +2 -5
  126. intentkit/skills/portfolio/__init__.py +11 -35
  127. intentkit/skills/portfolio/base.py +2 -5
  128. intentkit/skills/pyth/__init__.py +1 -5
  129. intentkit/skills/skills.toml +4 -0
  130. intentkit/skills/slack/__init__.py +5 -17
  131. intentkit/skills/slack/base.py +0 -4
  132. intentkit/skills/supabase/__init__.py +7 -23
  133. intentkit/skills/supabase/base.py +0 -4
  134. intentkit/skills/superfluid/__init__.py +1 -3
  135. intentkit/skills/system/__init__.py +7 -24
  136. intentkit/skills/system/add_autonomous_task.py +2 -2
  137. intentkit/skills/system/delete_autonomous_task.py +2 -2
  138. intentkit/skills/system/edit_autonomous_task.py +2 -4
  139. intentkit/skills/system/list_autonomous_tasks.py +2 -2
  140. intentkit/skills/system/read_agent_api_key.py +6 -4
  141. intentkit/skills/system/regenerate_agent_api_key.py +6 -4
  142. intentkit/skills/tavily/__init__.py +3 -12
  143. intentkit/skills/tavily/base.py +2 -5
  144. intentkit/skills/tavily/tavily_extract.py +1 -2
  145. intentkit/skills/tavily/tavily_search.py +3 -3
  146. intentkit/skills/token/__init__.py +5 -10
  147. intentkit/skills/token/base.py +2 -6
  148. intentkit/skills/twitter/__init__.py +11 -35
  149. intentkit/skills/twitter/base.py +14 -16
  150. intentkit/skills/twitter/follow_user.py +0 -1
  151. intentkit/skills/twitter/get_mentions.py +0 -1
  152. intentkit/skills/twitter/get_timeline.py +0 -1
  153. intentkit/skills/twitter/get_user_by_username.py +0 -1
  154. intentkit/skills/twitter/get_user_tweets.py +0 -1
  155. intentkit/skills/twitter/like_tweet.py +0 -1
  156. intentkit/skills/twitter/post_tweet.py +2 -2
  157. intentkit/skills/twitter/reply_tweet.py +2 -2
  158. intentkit/skills/twitter/retweet.py +0 -1
  159. intentkit/skills/twitter/search_tweets.py +0 -1
  160. intentkit/skills/unrealspeech/__init__.py +2 -7
  161. intentkit/skills/unrealspeech/base.py +0 -4
  162. intentkit/skills/venice_audio/__init__.py +99 -106
  163. intentkit/skills/venice_audio/base.py +118 -121
  164. intentkit/skills/venice_audio/venice_audio.py +1 -5
  165. intentkit/skills/venice_image/__init__.py +147 -154
  166. intentkit/skills/venice_image/base.py +185 -192
  167. intentkit/skills/web_scraper/__init__.py +5 -18
  168. intentkit/skills/web_scraper/base.py +20 -4
  169. intentkit/skills/web_scraper/document_indexer.py +6 -4
  170. intentkit/skills/web_scraper/scrape_and_index.py +11 -8
  171. intentkit/skills/web_scraper/utils.py +31 -27
  172. intentkit/skills/web_scraper/website_indexer.py +7 -8
  173. intentkit/skills/weth/__init__.py +1 -5
  174. intentkit/skills/wow/__init__.py +1 -5
  175. intentkit/skills/x402/__init__.py +53 -0
  176. intentkit/skills/x402/ask_agent.py +141 -0
  177. intentkit/skills/x402/base.py +9 -0
  178. intentkit/skills/x402/schema.json +40 -0
  179. intentkit/skills/x402/x402.png +0 -0
  180. intentkit/skills/xmtp/__init__.py +4 -15
  181. intentkit/skills/xmtp/base.py +2 -2
  182. intentkit/skills/xmtp/price.py +3 -3
  183. intentkit/skills/xmtp/swap.py +4 -4
  184. intentkit/utils/schema.py +100 -0
  185. {intentkit-0.8.12rc0.dist-info → intentkit-0.8.13.dist-info}/METADATA +1 -1
  186. {intentkit-0.8.12rc0.dist-info → intentkit-0.8.13.dist-info}/RECORD +188 -181
  187. {intentkit-0.8.12rc0.dist-info → intentkit-0.8.13.dist-info}/WHEEL +0 -0
  188. {intentkit-0.8.12rc0.dist-info → intentkit-0.8.13.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,100 @@
1
+ """JSON Schema utilities for IntentKit.
2
+
3
+ This module provides utilities for working with JSON schemas, including
4
+ resolving $defs references and generating nested schemas.
5
+ """
6
+
7
+ import copy
8
+ from typing import Any, Dict
9
+
10
+
11
+ def resolve_schema_refs(schema: Dict[str, Any]) -> Dict[str, Any]:
12
+ """Recursively resolve $defs references in a JSON schema.
13
+
14
+ This function takes a JSON schema with $defs references and returns
15
+ a fully nested schema without any $ref pointers. This is useful for
16
+ creating schemas that can be easily consumed by external systems
17
+ that don't support JSON Schema references.
18
+
19
+ Args:
20
+ schema: The JSON schema dictionary that may contain $defs and $ref
21
+
22
+ Returns:
23
+ dict: A new schema with all $ref resolved to nested objects
24
+
25
+ Example:
26
+ >>> schema = {
27
+ ... "type": "object",
28
+ ... "properties": {
29
+ ... "user": {"$ref": "#/$defs/User"}
30
+ ... },
31
+ ... "$defs": {
32
+ ... "User": {
33
+ ... "type": "object",
34
+ ... "properties": {"name": {"type": "string"}}
35
+ ... }
36
+ ... }
37
+ ... }
38
+ >>> resolved = resolve_schema_refs(schema)
39
+ >>> # resolved will have the User definition inlined
40
+ """
41
+ # Deep copy to avoid modifying the original
42
+ resolved_schema = copy.deepcopy(schema)
43
+
44
+ # Extract $defs if they exist
45
+ defs = resolved_schema.pop("$defs", {})
46
+
47
+ def resolve_refs(obj: Any, defs_dict: Dict[str, Any]) -> Any:
48
+ """Recursively resolve $ref in an object."""
49
+ if isinstance(obj, dict):
50
+ if "$ref" in obj:
51
+ ref_path = obj["$ref"]
52
+ if ref_path.startswith("#/$defs/"):
53
+ def_name = ref_path.replace("#/$defs/", "")
54
+ if def_name in defs_dict:
55
+ # Recursively resolve the referenced definition
56
+ resolved_def = resolve_refs(defs_dict[def_name], defs_dict)
57
+ return resolved_def
58
+ else:
59
+ # Keep the reference if definition not found
60
+ return obj
61
+ else:
62
+ # Keep non-$defs references as is
63
+ return obj
64
+ else:
65
+ # Recursively process all values in the dictionary
66
+ return {
67
+ key: resolve_refs(value, defs_dict) for key, value in obj.items()
68
+ }
69
+ elif isinstance(obj, list):
70
+ # Recursively process all items in the list
71
+ return [resolve_refs(item, defs_dict) for item in obj]
72
+ else:
73
+ # Return primitive values as is
74
+ return obj
75
+
76
+ # Resolve all references in the schema
77
+ return resolve_refs(resolved_schema, defs)
78
+
79
+
80
+ def create_array_schema(
81
+ item_schema: Dict[str, Any], resolve_refs: bool = True
82
+ ) -> Dict[str, Any]:
83
+ """Create an array schema with the given item schema.
84
+
85
+ Args:
86
+ item_schema: The schema for array items
87
+ resolve_refs: Whether to resolve $defs references in the item schema
88
+
89
+ Returns:
90
+ dict: Array schema with resolved item schema
91
+ """
92
+ if resolve_refs:
93
+ resolved_item_schema = resolve_schema_refs(item_schema)
94
+ else:
95
+ resolved_item_schema = item_schema
96
+
97
+ return {
98
+ "type": "array",
99
+ "items": resolved_item_schema,
100
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.8.12rc0
3
+ Version: 0.8.13
4
4
  Summary: Intent-based AI Agent Platform - Core Package
5
5
  Project-URL: Homepage, https://github.com/crestalnetwork/intentkit
6
6
  Project-URL: Repository, https://github.com/crestalnetwork/intentkit