intentkit 0.7.5.dev20__py3-none-any.whl → 0.7.5.dev21__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 (54) hide show
  1. intentkit/__init__.py +1 -1
  2. intentkit/config/config.py +1 -0
  3. intentkit/core/engine.py +10 -11
  4. intentkit/models/llm.csv +5 -0
  5. intentkit/models/llm.py +32 -0
  6. intentkit/skills/acolyt/schema.json +4 -3
  7. intentkit/skills/aixbt/schema.json +4 -4
  8. intentkit/skills/allora/schema.json +3 -2
  9. intentkit/skills/basename/schema.json +2 -1
  10. intentkit/skills/carv/schema.json +134 -137
  11. intentkit/skills/casino/schema.json +0 -1
  12. intentkit/skills/cdp/schema.json +2 -1
  13. intentkit/skills/chainlist/schema.json +3 -5
  14. intentkit/skills/common/schema.json +2 -2
  15. intentkit/skills/cookiefun/schema.json +2 -4
  16. intentkit/skills/cryptocompare/schema.json +3 -3
  17. intentkit/skills/cryptopanic/schema.json +105 -103
  18. intentkit/skills/dapplooker/schema.json +3 -5
  19. intentkit/skills/defillama/schema.json +5 -1
  20. intentkit/skills/dexscreener/schema.json +91 -93
  21. intentkit/skills/dune_analytics/schema.json +104 -99
  22. intentkit/skills/elfa/schema.json +3 -2
  23. intentkit/skills/enso/schema.json +3 -2
  24. intentkit/skills/erc20/schema.json +2 -1
  25. intentkit/skills/erc721/schema.json +2 -1
  26. intentkit/skills/firecrawl/schema.json +2 -6
  27. intentkit/skills/github/schema.json +3 -4
  28. intentkit/skills/heurist/schema.json +2 -2
  29. intentkit/skills/http/schema.json +4 -5
  30. intentkit/skills/lifi/schema.json +17 -8
  31. intentkit/skills/moralis/schema.json +7 -2
  32. intentkit/skills/morpho/schema.json +1 -1
  33. intentkit/skills/nation/schema.json +4 -3
  34. intentkit/skills/openai/schema.json +2 -3
  35. intentkit/skills/portfolio/schema.json +3 -5
  36. intentkit/skills/pyth/schema.json +3 -1
  37. intentkit/skills/slack/schema.json +2 -2
  38. intentkit/skills/supabase/schema.json +2 -3
  39. intentkit/skills/superfluid/schema.json +1 -1
  40. intentkit/skills/system/schema.json +2 -4
  41. intentkit/skills/tavily/schema.json +3 -5
  42. intentkit/skills/token/schema.json +3 -6
  43. intentkit/skills/twitter/schema.json +2 -2
  44. intentkit/skills/unrealspeech/schema.json +2 -5
  45. intentkit/skills/venice_audio/schema.json +151 -152
  46. intentkit/skills/venice_image/schema.json +267 -267
  47. intentkit/skills/web_scraper/schema.json +2 -6
  48. intentkit/skills/weth/schema.json +2 -1
  49. intentkit/skills/wow/schema.json +1 -1
  50. intentkit/skills/xmtp/schema.json +69 -71
  51. {intentkit-0.7.5.dev20.dist-info → intentkit-0.7.5.dev21.dist-info}/METADATA +1 -1
  52. {intentkit-0.7.5.dev20.dist-info → intentkit-0.7.5.dev21.dist-info}/RECORD +54 -54
  53. {intentkit-0.7.5.dev20.dist-info → intentkit-0.7.5.dev21.dist-info}/WHEEL +0 -0
  54. {intentkit-0.7.5.dev20.dist-info → intentkit-0.7.5.dev21.dist-info}/licenses/LICENSE +0 -0
intentkit/__init__.py CHANGED
@@ -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.7.5-dev20"
6
+ __version__ = "0.7.5-dev21"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -92,6 +92,7 @@ class Config:
92
92
  self.eternal_api_key = self.load("ETERNAL_API_KEY")
93
93
  self.reigent_api_key = self.load("REIGENT_API_KEY")
94
94
  self.venice_api_key = self.load("VENICE_API_KEY")
95
+ self.gatewayz_api_key = self.load("GATEWAYZ_API_KEY")
95
96
  # LLM Config
96
97
  self.system_prompt = self.load("SYSTEM_PROMPT")
97
98
  self.intentkit_prompt = self.load("INTENTKIT_PROMPT")
intentkit/core/engine.py CHANGED
@@ -422,8 +422,8 @@ async def stream_agent_raw(
422
422
  input_message = re.sub(r"\b@web\b", "", input_message).strip()
423
423
 
424
424
  # content to llm
425
- content = [
426
- {"type": "text", "text": input_message},
425
+ messages = [
426
+ HumanMessage(content=input_message),
427
427
  ]
428
428
  # if the model doesn't natively support image parsing, add the image URLs to the message
429
429
  if image_urls:
@@ -431,23 +431,22 @@ async def stream_agent_raw(
431
431
  agent.has_image_parser_skill(is_private=is_private)
432
432
  and not model.supports_image_input
433
433
  ):
434
- input_message += f"\n\nImages:\n{'\n'.join(image_urls)}"
435
- content = [
436
- {"type": "text", "text": input_message},
434
+ image_urls_text = "\n".join(image_urls)
435
+ input_message += f"\n\nImages:\n{image_urls_text}"
436
+ messages = [
437
+ HumanMessage(content=input_message),
437
438
  ]
438
439
  else:
439
440
  # anyway, pass it directly to LLM
440
- content.extend(
441
+ messages.extend(
441
442
  [
442
- {"type": "image_url", "image_url": {"url": image_url}}
443
+ HumanMessage(
444
+ content={"type": "image_url", "image_url": {"url": image_url}}
445
+ )
443
446
  for image_url in image_urls
444
447
  ]
445
448
  )
446
449
 
447
- messages = [
448
- HumanMessage(content=content),
449
- ]
450
-
451
450
  # stream config
452
451
  thread_id = f"{user_message.agent_id}-{user_message.chat_id}"
453
452
  stream_config = {
intentkit/models/llm.csv CHANGED
@@ -1,4 +1,9 @@
1
1
  id,name,provider,enabled,input_price,output_price,price_level,context_length,output_length,intelligence,speed,supports_image_input,supports_skill_calls,supports_structured_output,has_reasoning,supports_search,supports_temperature,supports_frequency_penalty,supports_presence_penalty,api_base,timeout
2
+ qwen/qwen3-235b-a22b-2507,Qwen3 235B A22B Instruct 2507,gatewayz,TRUE,0.1,0.6,1,262000,262000,4,2,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,https://api.gatewayz.ai/v1,300
3
+ google/gemini-2.5-flash,Grok 4 Fast,gatewayz,TRUE,0.2,0.5,1,128000,30000,4,2,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,https://api.gatewayz.ai/v1,300
4
+ x-ai/grok-4-fast:free,Grok 4 Fast,gatewayz,TRUE,0.2,0.5,1,128000,30000,4,2,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,https://api.gatewayz.ai/v1,300
5
+ x-ai/grok-code-fast-1,Grok Code Fast 1,gatewayz,TRUE,3,15,5,200000,64000,5,1,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,https://api.gatewayz.ai/v1,300
6
+ anthropic/claude-sonnet-4,Anthropic Claude Sonnet 4,gatewayz,TRUE,3,15,5,200000,64000,5,1,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,https://api.gatewayz.ai/v1,300
2
7
  gpt-4o,GPT-4o,openai,FALSE,2.5,10,4,128000,4096,4,3,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,,180
3
8
  gpt-4o-mini,GPT-4o Mini,openai,FALSE,0.15,0.6,1,128000,4096,3,4,FALSE,TRUE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,,180
4
9
  gpt-4.1-nano,GPT-4.1 Nano,openai,TRUE,0.1,0.4,1,128000,4096,3,5,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,,180
intentkit/models/llm.py CHANGED
@@ -95,6 +95,7 @@ class LLMProvider(str, Enum):
95
95
  OPENAI = "openai"
96
96
  DEEPSEEK = "deepseek"
97
97
  XAI = "xai"
98
+ GATEWAYZ = "gatewayz"
98
99
  ETERNAL = "eternal"
99
100
  REIGENT = "reigent"
100
101
  VENICE = "venice"
@@ -462,6 +463,35 @@ class XAILLM(LLMModel):
462
463
  return ChatXAI(**kwargs)
463
464
 
464
465
 
466
+ class GatewayzLLM(LLMModel):
467
+ """Gatewayz AI LLM configuration."""
468
+
469
+ async def create_instance(self, config: Any) -> BaseChatModel:
470
+ """Create and return a ChatOpenAI instance configured for Eternal AI."""
471
+ from langchain_openai import ChatOpenAI
472
+
473
+ info = await self.model_info()
474
+
475
+ kwargs = {
476
+ "model": self.model_name,
477
+ "api_key": config.gatewayz_api_key,
478
+ "base_url": info.api_base,
479
+ "timeout": info.timeout,
480
+ }
481
+
482
+ # Add optional parameters based on model support
483
+ if info.supports_temperature:
484
+ kwargs["temperature"] = self.temperature
485
+
486
+ if info.supports_frequency_penalty:
487
+ kwargs["frequency_penalty"] = self.frequency_penalty
488
+
489
+ if info.supports_presence_penalty:
490
+ kwargs["presence_penalty"] = self.presence_penalty
491
+
492
+ return ChatOpenAI(**kwargs)
493
+
494
+
465
495
  class EternalLLM(LLMModel):
466
496
  """Eternal AI LLM configuration."""
467
497
 
@@ -575,6 +605,8 @@ async def create_llm_model(
575
605
  return ReigentLLM(**base_params)
576
606
  elif provider == LLMProvider.VENICE:
577
607
  return VeniceLLM(**base_params)
608
+ elif provider == LLMProvider.GATEWAYZ:
609
+ return GatewayzLLM(**base_params)
578
610
  else:
579
611
  # Default to OpenAI
580
612
  return OpenAILLM(**base_params)
@@ -5,8 +5,9 @@
5
5
  "description": "Integration with Acolyt Oracle providing blockchain oracle services for accessing and verifying off-chain data with secure API connections",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/acolyt/acolyt.jpg",
7
7
  "x-tags": [
8
- "Blockchain",
9
- "Oracle"
8
+ "Analytics",
9
+ "Crypto",
10
+ "DeFi"
10
11
  ],
11
12
  "properties": {
12
13
  "enabled": {
@@ -86,4 +87,4 @@
86
87
  }
87
88
  },
88
89
  "additionalProperties": true
89
- }
90
+ }
@@ -5,9 +5,9 @@
5
5
  "description": "Cryptocurrency project data and analytics through the AIXBT API",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/aixbt/aixbt.jpg",
7
7
  "x-tags": [
8
- "Cryptocurrency",
9
- "Research",
10
- "Analytics"
8
+ "Analytics",
9
+ "Crypto",
10
+ "Knowledge Base"
11
11
  ],
12
12
  "properties": {
13
13
  "enabled": {
@@ -96,4 +96,4 @@
96
96
  }
97
97
  },
98
98
  "additionalProperties": true
99
- }
99
+ }
@@ -5,7 +5,8 @@
5
5
  "description": "Integration with Allora API for blockchain-based price predictions and market forecasting services via Upshot's prediction markets",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/allora/allora.jpeg",
7
7
  "x-tags": [
8
- "Blockchain"
8
+ "Analytics",
9
+ "Crypto"
9
10
  ],
10
11
  "properties": {
11
12
  "enabled": {
@@ -86,4 +87,4 @@
86
87
  }
87
88
  },
88
89
  "additionalProperties": true
89
- }
90
+ }
@@ -5,7 +5,8 @@
5
5
  "description": "Basename ENS-style name registration via Coinbase AgentKit",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/basename/basename.svg",
7
7
  "x-tags": [
8
- "Blockchain"
8
+ "Crypto",
9
+ "Identity"
9
10
  ],
10
11
  "properties": {
11
12
  "enabled": {
@@ -1,137 +1,134 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "CARV",
4
- "description": "Configuration for the CARV skill.",
5
- "type": "object",
6
- "x-icon": "https://ai.service.crestal.dev/skills/carv/carv.webp",
7
- "x-tags": [
8
- "AI",
9
- "Data",
10
- "Information",
11
- "Analytics",
12
- "Market Data"
13
- ],
14
- "properties": {
15
- "enabled": {
16
- "type": "boolean",
17
- "description": "Enable or disable the CARV skill.",
18
- "default": false
19
- },
20
- "states": {
21
- "type": "object",
22
- "title": "Skill States",
23
- "description": "Enable/disable specific tools for CARV",
24
- "properties": {
25
- "onchain_query": {
26
- "type": "string",
27
- "title": "On-Chain Query",
28
- "enum": [
29
- "disabled",
30
- "public",
31
- "private"
32
- ],
33
- "x-enum-title": [
34
- "Disabled",
35
- "Agent Owner + All Users",
36
- "Agent Owner Only"
37
- ],
38
- "description": "allows you to use the nature language to query the on-chain data. Behind the scean, CARV will use LLM model to interpreate the nature language input and convert into the sql query based on the above schemas",
39
- "default": "public"
40
- },
41
- "token_info_and_price": {
42
- "type": "string",
43
- "title": "Token Information and Price",
44
- "enum": [
45
- "disabled",
46
- "public",
47
- "private"
48
- ],
49
- "x-enum-title": [
50
- "Disabled",
51
- "Agent Owner + All Users",
52
- "Agent Owner Only"
53
- ],
54
- "description": "Fetches detailed information and current USD price of a cryptocurrency token from CARV API using its ticker symbol (e.g., 'eth', 'btc'), returning metadata like name, symbol, platform, categories, and contract addresses, useful for understanding its identity, ecosystem, market value, and for obtaining comprehensive token data with live pricing.",
55
- "default": "public"
56
- },
57
- "fetch_news": {
58
- "type": "string",
59
- "title": "Fetch News",
60
- "enum": [
61
- "disabled",
62
- "public",
63
- "private"
64
- ],
65
- "x-enum-title": [
66
- "Disabled",
67
- "Agent Owner + All Users",
68
- "Agent Owner Only"
69
- ],
70
- "description": "retrieves a list of recent news items, each including a title, URL, and a short description",
71
- "default": "disabled"
72
- }
73
- }
74
- },
75
- "api_key_provider": {
76
- "type": "string",
77
- "title": "API Key Provider",
78
- "description": "Provider of the API key",
79
- "enum": [
80
- "agent_owner",
81
- "platform"
82
- ],
83
- "x-enum-title": [
84
- "Owner Provided",
85
- "Nation Hosted"
86
- ],
87
- "default": "platform"
88
- }
89
- },
90
- "required": [
91
- "enabled",
92
- "states"
93
- ],
94
- "if": {
95
- "allOf": [
96
- {
97
- "properties": {
98
- "enabled": {
99
- "const": true
100
- }
101
- }
102
- },
103
- {
104
- "properties": {
105
- "api_key_provider": {
106
- "const": "agent_owner"
107
- }
108
- }
109
- }
110
- ]
111
- },
112
- "then": {
113
- "properties": {
114
- "api_key": {
115
- "type": "string",
116
- "title": "CARV API Key",
117
- "x-link": "[Get your API key](https://docs.carv.io/d.a.t.a.-ai-framework/api-documentation#authentication)",
118
- "x-sensitive": true,
119
- "description": "API Key for authenticating with the CARV API."
120
- },
121
- "rate_limit_number": {
122
- "type": "integer",
123
- "title": "Rate Limit Number",
124
- "description": "Number of requests allowed per time window."
125
- },
126
- "rate_limit_minutes": {
127
- "type": "integer",
128
- "title": "Rate Limit Minutes",
129
- "description": "Time window in minutes for rate limiting."
130
- }
131
- },
132
- "required": [
133
- "api_key"
134
- ]
135
- },
136
- "additionalProperties": true
137
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CARV",
4
+ "description": "Configuration for the CARV skill.",
5
+ "type": "object",
6
+ "x-icon": "https://ai.service.crestal.dev/skills/carv/carv.webp",
7
+ "x-tags": [
8
+ "Analytics",
9
+ "Crypto"
10
+ ],
11
+ "properties": {
12
+ "enabled": {
13
+ "type": "boolean",
14
+ "description": "Enable or disable the CARV skill.",
15
+ "default": false
16
+ },
17
+ "states": {
18
+ "type": "object",
19
+ "title": "Skill States",
20
+ "description": "Enable/disable specific tools for CARV",
21
+ "properties": {
22
+ "onchain_query": {
23
+ "type": "string",
24
+ "title": "On-Chain Query",
25
+ "enum": [
26
+ "disabled",
27
+ "public",
28
+ "private"
29
+ ],
30
+ "x-enum-title": [
31
+ "Disabled",
32
+ "Agent Owner + All Users",
33
+ "Agent Owner Only"
34
+ ],
35
+ "description": "allows you to use the nature language to query the on-chain data. Behind the scean, CARV will use LLM model to interpreate the nature language input and convert into the sql query based on the above schemas",
36
+ "default": "public"
37
+ },
38
+ "token_info_and_price": {
39
+ "type": "string",
40
+ "title": "Token Information and Price",
41
+ "enum": [
42
+ "disabled",
43
+ "public",
44
+ "private"
45
+ ],
46
+ "x-enum-title": [
47
+ "Disabled",
48
+ "Agent Owner + All Users",
49
+ "Agent Owner Only"
50
+ ],
51
+ "description": "Fetches detailed information and current USD price of a cryptocurrency token from CARV API using its ticker symbol (e.g., 'eth', 'btc'), returning metadata like name, symbol, platform, categories, and contract addresses, useful for understanding its identity, ecosystem, market value, and for obtaining comprehensive token data with live pricing.",
52
+ "default": "public"
53
+ },
54
+ "fetch_news": {
55
+ "type": "string",
56
+ "title": "Fetch News",
57
+ "enum": [
58
+ "disabled",
59
+ "public",
60
+ "private"
61
+ ],
62
+ "x-enum-title": [
63
+ "Disabled",
64
+ "Agent Owner + All Users",
65
+ "Agent Owner Only"
66
+ ],
67
+ "description": "retrieves a list of recent news items, each including a title, URL, and a short description",
68
+ "default": "disabled"
69
+ }
70
+ }
71
+ },
72
+ "api_key_provider": {
73
+ "type": "string",
74
+ "title": "API Key Provider",
75
+ "description": "Provider of the API key",
76
+ "enum": [
77
+ "agent_owner",
78
+ "platform"
79
+ ],
80
+ "x-enum-title": [
81
+ "Owner Provided",
82
+ "Nation Hosted"
83
+ ],
84
+ "default": "platform"
85
+ }
86
+ },
87
+ "required": [
88
+ "enabled",
89
+ "states"
90
+ ],
91
+ "if": {
92
+ "allOf": [
93
+ {
94
+ "properties": {
95
+ "enabled": {
96
+ "const": true
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "properties": {
102
+ "api_key_provider": {
103
+ "const": "agent_owner"
104
+ }
105
+ }
106
+ }
107
+ ]
108
+ },
109
+ "then": {
110
+ "properties": {
111
+ "api_key": {
112
+ "type": "string",
113
+ "title": "CARV API Key",
114
+ "x-link": "[Get your API key](https://docs.carv.io/d.a.t.a.-ai-framework/api-documentation#authentication)",
115
+ "x-sensitive": true,
116
+ "description": "API Key for authenticating with the CARV API."
117
+ },
118
+ "rate_limit_number": {
119
+ "type": "integer",
120
+ "title": "Rate Limit Number",
121
+ "description": "Number of requests allowed per time window."
122
+ },
123
+ "rate_limit_minutes": {
124
+ "type": "integer",
125
+ "title": "Rate Limit Minutes",
126
+ "description": "Time window in minutes for rate limiting."
127
+ }
128
+ },
129
+ "required": [
130
+ "api_key"
131
+ ]
132
+ },
133
+ "additionalProperties": true
134
+ }
@@ -5,7 +5,6 @@
5
5
  "description": "Casino gaming skills including card decks and quantum dice rolling for interactive games with users",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/casino/casino.png",
7
7
  "x-tags": [
8
- "Gaming",
9
8
  "Entertainment"
10
9
  ],
11
10
  "properties": {
@@ -5,7 +5,8 @@
5
5
  "description": "Integration with Coinbase Wallet (CDP) providing blockchain wallet functionality including balance checking and native transfers",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/cdp/cdp.png",
7
7
  "x-tags": [
8
- "Blockchain"
8
+ "Crypto",
9
+ "DeFi"
9
10
  ],
10
11
  "properties": {
11
12
  "enabled": {
@@ -5,10 +5,8 @@
5
5
  "description": "Access blockchain RPC endpoints and network information from chainlist.org. Enable this skill to look up EVM-compatible networks by name, symbol, or chain ID and get their RPC endpoints, native currencies, and explorer links.",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/chainlist/chainlist.png",
7
7
  "x-tags": [
8
- "Blockchain",
9
- "RPC",
10
- "EVM",
11
- "Network"
8
+ "Crypto",
9
+ "Infrastructure"
12
10
  ],
13
11
  "properties": {
14
12
  "enabled": {
@@ -44,4 +42,4 @@
44
42
  "states"
45
43
  ],
46
44
  "additionalProperties": true
47
- }
45
+ }
@@ -5,7 +5,7 @@
5
5
  "description": "Utility skills",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/common/common.jpg",
7
7
  "x-tags": [
8
- "Utility"
8
+ "Infrastructure"
9
9
  ],
10
10
  "properties": {
11
11
  "enabled": {
@@ -54,4 +54,4 @@
54
54
  "enabled"
55
55
  ],
56
56
  "additionalProperties": true
57
- }
57
+ }
@@ -5,10 +5,8 @@
5
5
  "description": "Access Twitter/X analytics and insights using CookieFun API. Get data about accounts, tweets, followers, and trends across different industry sectors.",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/cookiefun/cookiefun.png",
7
7
  "x-tags": [
8
- "Twitter",
9
- "Social Media",
10
8
  "Analytics",
11
- "X"
9
+ "Communication"
12
10
  ],
13
11
  "x-nft-requirement": 10,
14
12
  "properties": {
@@ -152,4 +150,4 @@
152
150
  }
153
151
  },
154
152
  "additionalProperties": true
155
- }
153
+ }
@@ -5,8 +5,8 @@
5
5
  "description": "Integration with CryptoCompare API providing cryptocurrency market data, price information, and crypto news with rate limiting capabilities",
6
6
  "x-icon": "https://ai.service.crestal.dev/skills/cryptocompare/cryptocompare.png",
7
7
  "x-tags": [
8
- "Blockchain",
9
- "Finance"
8
+ "Analytics",
9
+ "Crypto"
10
10
  ],
11
11
  "properties": {
12
12
  "enabled": {
@@ -165,4 +165,4 @@
165
165
  }
166
166
  },
167
167
  "additionalProperties": true
168
- }
168
+ }