intentkit 0.7.5.dev17__py3-none-any.whl → 0.7.5.dev19__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.

@@ -4,23 +4,13 @@ import httpx
4
4
  from langchain.tools.base import ToolException
5
5
  from pydantic import BaseModel, Field
6
6
 
7
- from .base import EnsoBaseTool, base_url, default_chain_id
7
+ from .base import EnsoBaseTool, base_url
8
8
 
9
9
 
10
10
  class EnsoGetBalancesInput(BaseModel):
11
- """
12
- Input model for retrieving wallet balances.
13
- """
11
+ """Input model for retrieving wallet balances."""
14
12
 
15
- chainId: int = Field(
16
- default_chain_id, description="Chain ID of the blockchain network"
17
- )
18
- # eoaAddress: str = Field(
19
- # description="Address of the eoa with which to associate the ensoWallet for balances"
20
- # )
21
- # useEoa: bool = Field(
22
- # description="If true returns balances for the provided eoaAddress, instead of the associated ensoWallet"
23
- # )
13
+ chainId: int | None = Field(None, description="Chain ID of the blockchain network")
24
14
 
25
15
 
26
16
  class WalletBalance(BaseModel):
@@ -31,9 +21,7 @@ class WalletBalance(BaseModel):
31
21
 
32
22
 
33
23
  class EnsoGetBalancesOutput(BaseModel):
34
- """
35
- Output model for retrieving wallet balances.
36
- """
24
+ """Output model for retrieving wallet balances."""
37
25
 
38
26
  res: list[WalletBalance] | None = Field(
39
27
  None, description="The wallet's balances along with token details."
@@ -41,15 +29,7 @@ class EnsoGetBalancesOutput(BaseModel):
41
29
 
42
30
 
43
31
  class EnsoGetWalletBalances(EnsoBaseTool):
44
- """
45
- This tool allows querying for first 20 token balances of a specific wallet
46
- and blockchain network.
47
-
48
- Attributes:
49
- name (str): Name of the tool, specifically "enso_get_wallet_balances".
50
- description (str): Comprehensive description of the tool's purpose and functionality.
51
- args_schema (Type[BaseModel]): Schema for input arguments, specifying expected parameters.
52
- """
32
+ """Retrieve token balances of a wallet on a specified blockchain network."""
53
33
 
54
34
  name: str = "enso_get_wallet_balances"
55
35
  description: str = (
@@ -59,61 +39,48 @@ class EnsoGetWalletBalances(EnsoBaseTool):
59
39
 
60
40
  async def _arun(
61
41
  self,
62
- chainId: int = default_chain_id,
63
- **kwargs,
42
+ chainId: int | None = None,
43
+ **_: object,
64
44
  ) -> EnsoGetBalancesOutput:
65
- """
66
- Run the tool to get token balances of a wallet.
67
-
68
- Args:
69
- chainId (int): Chain ID of the blockchain network.
70
-
71
- Returns:
72
- EnsoGetBalancesOutput: The list of balances or an error message.
73
- """
74
- url = f"{base_url}/api/v1/wallet/balances"
75
-
76
45
  context = self.get_context()
46
+ resolved_chain_id = self.resolve_chain_id(context, chainId)
77
47
  api_token = self.get_api_token(context)
78
- account = await self.get_account(context)
48
+ wallet_address = await self.get_wallet_address(context)
49
+
79
50
  headers = {
80
51
  "accept": "application/json",
81
52
  "Authorization": f"Bearer {api_token}",
82
53
  }
83
54
 
84
- params = EnsoGetBalancesInput(chainId=chainId).model_dump(exclude_none=True)
85
- params["eoaAddress"] = account.address
55
+ params = EnsoGetBalancesInput(chainId=resolved_chain_id).model_dump(
56
+ exclude_none=True
57
+ )
58
+ params["eoaAddress"] = wallet_address
86
59
  params["useEoa"] = True
87
60
 
88
61
  async with httpx.AsyncClient() as client:
89
62
  try:
90
- # Send the GET request
91
- response = await client.get(url, headers=headers, params=params)
63
+ response = await client.get(
64
+ f"{base_url}/api/v1/wallet/balances",
65
+ headers=headers,
66
+ params=params,
67
+ )
92
68
  response.raise_for_status()
93
-
94
- # Map the response JSON into the WalletBalance model
95
69
  json_dict = response.json()[:20]
96
70
  res = [WalletBalance(**item) for item in json_dict]
97
-
98
- # Return the parsed response
99
71
  return EnsoGetBalancesOutput(res=res)
100
72
  except httpx.RequestError as req_err:
101
73
  raise ToolException("request error from Enso API") from req_err
102
74
  except httpx.HTTPStatusError as http_err:
103
75
  raise ToolException("http error from Enso API") from http_err
104
- except Exception as e:
105
- raise ToolException(f"error from Enso API: {e}") from e
76
+ except Exception as exc: # pragma: no cover - defensive
77
+ raise ToolException(f"error from Enso API: {exc}") from exc
106
78
 
107
79
 
108
80
  class EnsoGetApprovalsInput(BaseModel):
109
- """
110
- Input model for retrieving wallet approvals.
111
- """
81
+ """Input model for retrieving wallet approvals."""
112
82
 
113
- chainId: int = Field(
114
- default_chain_id, description="Chain ID of the blockchain network"
115
- )
116
- fromAddress: str = Field(description="Address of the wallet")
83
+ chainId: int | None = Field(None, description="Chain ID of the blockchain network")
117
84
  routingStrategy: Literal["ensowallet", "router", "delegate"] | None = Field(
118
85
  None, description="Routing strategy to use"
119
86
  )
@@ -126,9 +93,7 @@ class WalletAllowance(BaseModel):
126
93
 
127
94
 
128
95
  class EnsoGetApprovalsOutput(BaseModel):
129
- """
130
- Output model for retrieving wallet approvals.
131
- """
96
+ """Output model for retrieving wallet approvals."""
132
97
 
133
98
  res: list[WalletAllowance] | None = Field(
134
99
  None, description="Response containing the list of token approvals."
@@ -136,42 +101,24 @@ class EnsoGetApprovalsOutput(BaseModel):
136
101
 
137
102
 
138
103
  class EnsoGetWalletApprovals(EnsoBaseTool):
139
- """
140
- This tool allows querying for first 50 token spend approvals associated with a specific wallet
141
- and blockchain network.
142
-
143
- Attributes:
144
- name (str): Name of the tool, specifically "enso_get_wallet_approvals".
145
- description (str): Comprehensive description of the tool's purpose and functionality.
146
- args_schema (Type[BaseModel]): Schema for input arguments, specifying expected parameters.
147
- """
104
+ """Retrieve token spend approvals for a wallet on a specified blockchain network."""
148
105
 
149
106
  name: str = "enso_get_wallet_approvals"
150
107
  description: str = (
151
108
  "Retrieve token spend approvals for a wallet on a specified blockchain network."
152
109
  )
153
- args_schema: Type[BaseModel] = EnsoGetApprovalsOutput
110
+ args_schema: Type[BaseModel] = EnsoGetApprovalsInput
154
111
 
155
112
  async def _arun(
156
113
  self,
157
- chainId: int = default_chain_id,
158
- **kwargs,
114
+ chainId: int | None = None,
115
+ routingStrategy: Literal["ensowallet", "router", "delegate"] | None = None,
116
+ **_: object,
159
117
  ) -> EnsoGetApprovalsOutput:
160
- """
161
- Run the tool to get token approvals for a wallet.
162
-
163
- Args:
164
- chainId (int): Chain ID of the blockchain network.
165
- **kwargs: optional kwargs for the tool with args schema defined in EnsoGetApprovalsInput.
166
-
167
- Returns:
168
- EnsoGetApprovalsOutput: The list of approvals or an error message.
169
- """
170
- url = f"{base_url}/api/v1/wallet/approvals"
171
-
172
118
  context = self.get_context()
119
+ resolved_chain_id = self.resolve_chain_id(context, chainId)
173
120
  api_token = self.get_api_token(context)
174
- account = await self.get_account(context)
121
+ wallet_address = await self.get_wallet_address(context)
175
122
 
176
123
  headers = {
177
124
  "accept": "application/json",
@@ -179,26 +126,21 @@ class EnsoGetWalletApprovals(EnsoBaseTool):
179
126
  }
180
127
 
181
128
  params = EnsoGetApprovalsInput(
182
- chainId=chainId,
183
- fromAddress=account.address,
184
- )
185
-
186
- if kwargs.get("routingStrategy"):
187
- params.routingStrategy = kwargs["routingStrategy"]
129
+ chainId=resolved_chain_id,
130
+ routingStrategy=routingStrategy,
131
+ ).model_dump(exclude_none=True)
132
+ params["fromAddress"] = wallet_address
188
133
 
189
134
  async with httpx.AsyncClient() as client:
190
135
  try:
191
- # Send the GET request
192
136
  response = await client.get(
193
- url, headers=headers, params=params.model_dump(exclude_none=True)
137
+ f"{base_url}/api/v1/wallet/approvals",
138
+ headers=headers,
139
+ params=params,
194
140
  )
195
141
  response.raise_for_status()
196
-
197
- # Map the response JSON into the ApprovalsResponse model
198
142
  json_dict = response.json()[:50]
199
143
  res = [WalletAllowance(**item) for item in json_dict]
200
-
201
- # Return the parsed response
202
144
  return EnsoGetApprovalsOutput(res=res)
203
145
  except httpx.RequestError as req_err:
204
146
  raise ToolException(
@@ -208,29 +150,23 @@ class EnsoGetWalletApprovals(EnsoBaseTool):
208
150
  raise ToolException(
209
151
  f"http error from Enso API: {http_err}"
210
152
  ) from http_err
211
- except Exception as e:
212
- raise ToolException(f"error from Enso API: {e}") from e
153
+ except Exception as exc: # pragma: no cover - defensive
154
+ raise ToolException(f"error from Enso API: {exc}") from exc
213
155
 
214
156
 
215
157
  class EnsoWalletApproveInput(BaseModel):
216
- """
217
- Input model for approve the wallet.
218
- """
158
+ """Input model for approving token spend for the wallet."""
219
159
 
220
160
  tokenAddress: str = Field(description="ERC20 token address of the token to approve")
221
161
  amount: int = Field(description="Amount of tokens to approve in wei")
222
- chainId: int = Field(
223
- default_chain_id, description="Chain ID of the blockchain network"
224
- )
162
+ chainId: int | None = Field(None, description="Chain ID of the blockchain network")
225
163
  routingStrategy: Literal["ensowallet", "router", "delegate"] | None = Field(
226
164
  None, description="Routing strategy to use"
227
165
  )
228
166
 
229
167
 
230
168
  class EnsoWalletApproveOutput(BaseModel):
231
- """
232
- Output model for approve token for the wallet.
233
- """
169
+ """Output model for approve token for the wallet."""
234
170
 
235
171
  gas: str | None = Field(None, description="The gas estimate for the transaction")
236
172
  token: str | None = Field(None, description="The token address to approve")
@@ -239,133 +175,82 @@ class EnsoWalletApproveOutput(BaseModel):
239
175
 
240
176
 
241
177
  class EnsoWalletApproveArtifact(BaseModel):
242
- """
243
- Output model for approve token for the wallet.
244
- """
178
+ """Artifact returned after broadcasting an approval transaction."""
245
179
 
246
- tx: object | None = Field(None, description="The tx object to use in `ethers`")
180
+ tx: object | None = Field(
181
+ None, description="The transaction object to use in `ethers`"
182
+ )
247
183
  txHash: str | None = Field(None, description="The transaction hash")
248
184
 
249
185
 
250
186
  class EnsoWalletApprove(EnsoBaseTool):
251
- """
252
- This tool is used specifically for broadcasting a ERC20 token spending approval transaction to the network.
253
- It should only be used when the user explicitly requests to broadcast an approval transaction with a specific amount for a certain token.
254
-
255
- **Example Usage:**
256
-
257
- "Broadcast an approval transaction for 10 USDC to the wallet."
258
-
259
- **Important:**
260
- - This tool should be used with extreme caution.
261
- - Approving token spending grants another account permission to spend your tokens.
262
-
263
- Attributes:
264
- name (str): Name of the tool, specifically "enso_wallet_approve".
265
- description (str): Comprehensive description of the tool's purpose and functionality.
266
- args_schema (Type[BaseModel]): Schema for input arguments, specifying expected parameters.
267
- """
187
+ """Broadcast an ERC20 token spending approval transaction."""
268
188
 
269
189
  name: str = "enso_wallet_approve"
270
- description: str = "This tool is used specifically for broadcasting a ERC20 token spending approval transaction to the network. It should only be used when the user explicitly requests to broadcast an approval transaction with a specific amount for a certain token."
190
+ description: str = (
191
+ "This tool is used specifically for broadcasting a ERC20 token spending approval transaction to the "
192
+ "network. It should only be used when the user explicitly requests to broadcast an approval transaction "
193
+ "with a specific amount for a certain token."
194
+ )
271
195
  args_schema: Type[BaseModel] = EnsoWalletApproveInput
272
196
  response_format: str = "content_and_artifact"
273
197
 
274
- # def _run(
275
- # self,
276
- # tokenAddress: str,
277
- # amount: int,
278
- # chainId: int = default_chain_id,
279
- # **kwargs,
280
- # ) -> Tuple[EnsoBroadcastWalletApproveOutput, EnsoBroadcastWalletApproveArtifact]:
281
- # """Run the tool to approve enso router for a wallet.
282
-
283
- # Returns:
284
- # Tuple[EnsoBroadcastWalletApproveOutput, EnsoBroadcastWalletApproveArtifact]: A structured output containing the result of token approval.
285
-
286
- # Raises:
287
- # Exception: If there's an error accessing the Enso API.
288
- # """
289
- # raise NotImplementedError("Use _arun instead")
290
-
291
198
  async def _arun(
292
199
  self,
293
200
  tokenAddress: str,
294
201
  amount: int,
295
- chainId: int = default_chain_id,
296
- **kwargs,
202
+ chainId: int | None = None,
203
+ routingStrategy: Literal["ensowallet", "router", "delegate"] | None = None,
204
+ **_: object,
297
205
  ) -> Tuple[EnsoWalletApproveOutput, EnsoWalletApproveArtifact]:
298
- """
299
- Run the tool to approve enso router for a wallet.
300
-
301
- Args:
302
- tokenAddress (str): ERC20 token address of the token to approve.
303
- amount (int): Amount of tokens to approve in wei.
304
- chainId (int): Chain ID of the blockchain network.
305
- **kwargs: optional kwargs for the tool with args schema defined in EnsoGetApproveInput.
306
-
307
- Returns:
308
- Tuple[EnsoBroadcastWalletApproveOutput, EnsoBroadcastWalletApproveArtifact]: The list of approve transaction output or an error message.
309
- """
310
- url = f"{base_url}/api/v1/wallet/approve"
311
206
  context = self.get_context()
207
+ resolved_chain_id = self.resolve_chain_id(context, chainId)
312
208
  api_token = self.get_api_token(context)
313
- account = await self.get_account(context)
209
+ wallet_address = await self.get_wallet_address(context)
314
210
 
315
211
  headers = {
316
212
  "accept": "application/json",
317
213
  "Authorization": f"Bearer {api_token}",
318
214
  }
319
215
 
320
- from_address = account.address
321
-
322
216
  params = EnsoWalletApproveInput(
323
217
  tokenAddress=tokenAddress,
324
218
  amount=amount,
325
- chainId=chainId,
326
- )
327
-
328
- if kwargs.get("routingStrategy"):
329
- params.routingStrategy = kwargs["routingStrategy"]
330
-
331
- params = params.model_dump(exclude_none=True)
219
+ chainId=resolved_chain_id,
220
+ routingStrategy=routingStrategy,
221
+ ).model_dump(exclude_none=True)
222
+ params["fromAddress"] = wallet_address
332
223
 
333
- params["fromAddress"] = from_address
334
-
335
- with httpx.Client() as client:
224
+ async with httpx.AsyncClient() as client:
336
225
  try:
337
- # Send the GET request
338
- response = client.get(url, headers=headers, params=params)
226
+ response = await client.get(
227
+ f"{base_url}/api/v1/wallet/approve",
228
+ headers=headers,
229
+ params=params,
230
+ )
339
231
  response.raise_for_status()
340
232
 
341
- # Map the response JSON into the WalletApproveTransaction model
342
233
  json_dict = response.json()
343
234
  content = EnsoWalletApproveOutput(**json_dict)
344
235
  artifact = EnsoWalletApproveArtifact(**json_dict)
345
236
 
346
- # Use the wallet provider to send the transaction
347
237
  wallet_provider = await self.get_wallet_provider(context)
348
-
349
- # Extract transaction data from the Enso API response
350
238
  tx_data = json_dict.get("tx", {})
351
239
  if tx_data:
352
- # Send the transaction using the wallet provider
353
240
  tx_hash = wallet_provider.send_transaction(
354
241
  {
355
242
  "to": tx_data.get("to"),
356
243
  "data": tx_data.get("data", "0x"),
357
244
  "value": tx_data.get("value", 0),
245
+ "from": wallet_address,
358
246
  }
359
247
  )
360
248
 
361
- # Wait for transaction confirmation
362
249
  wallet_provider.wait_for_transaction_receipt(tx_hash)
363
250
  artifact.txHash = tx_hash
364
251
  else:
365
- # For now, return without executing the transaction if no tx data
366
252
  artifact.txHash = "0x0000000000000000000000000000000000000000000000000000000000000000"
367
253
 
368
- # Return the parsed response
369
254
  return (content, artifact)
370
255
  except httpx.RequestError as req_err:
371
256
  raise ToolException(
@@ -375,5 +260,5 @@ class EnsoWalletApprove(EnsoBaseTool):
375
260
  raise ToolException(
376
261
  f"http error from Enso API: {http_err}"
377
262
  ) from http_err
378
- except Exception as e:
379
- raise ToolException(f"error from Enso API: {e}") from e
263
+ except Exception as exc: # pragma: no cover - defensive
264
+ raise ToolException(f"error from Enso API: {exc}") from exc
@@ -12,7 +12,7 @@ class VeniceAudioInput(BaseModel):
12
12
  Defines parameters controllable by the user when invoking the tool.
13
13
  """
14
14
 
15
- input: str = Field(
15
+ voice_input: str = Field(
16
16
  ..., # Ellipsis (...) indicates this field is required
17
17
  description="The text to generate audio for. Maximum length is 4096 characters.",
18
18
  min_length=1, # As per API docs: Required string length: 1
@@ -40,7 +40,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
40
40
 
41
41
  async def _arun(
42
42
  self,
43
- input: str,
43
+ voice_input: str,
44
44
  voice_model: str,
45
45
  speed: Optional[float] = 1.0,
46
46
  response_format: Optional[AllowedAudioFormat] = "mp3",
@@ -98,7 +98,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
98
98
  # --- Prepare API Call ---
99
99
  payload: Dict[str, Any] = {
100
100
  "model": tts_model_id,
101
- "input": input,
101
+ "input": voice_input,
102
102
  "voice": voice_model,
103
103
  "response_format": final_response_format,
104
104
  "speed": speed if speed is not None else 1.0,
@@ -208,7 +208,7 @@ class VeniceAudioTool(VeniceAudioBaseTool):
208
208
  "tts_engine": tts_model_id,
209
209
  "speed": speed if speed is not None else 1.0,
210
210
  "response_format": final_response_format,
211
- "input_text_length": len(input),
211
+ "input_text_length": len(voice_input),
212
212
  "error": False,
213
213
  "status_code": response.status_code,
214
214
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.7.5.dev17
3
+ Version: 0.7.5.dev19
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
@@ -1,9 +1,9 @@
1
- intentkit/__init__.py,sha256=zzYPe38hldbmSqiTWyKK_F_D4FWBcbvtkt2-n4h0zDU,384
1
+ intentkit/__init__.py,sha256=vC3AH1dexdHSEV7Bq6Rn5KTbRiLuFt0PZkhsTwoz-Qk,384
2
2
  intentkit/abstracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  intentkit/abstracts/agent.py,sha256=108gb5W8Q1Sy4G55F2_ZFv2-_CnY76qrBtpIr0Oxxqk,1489
4
4
  intentkit/abstracts/api.py,sha256=ZUc24vaQvQVbbjznx7bV0lbbQxdQPfEV8ZxM2R6wZWo,166
5
5
  intentkit/abstracts/engine.py,sha256=C5C9d8vVMePhkKWURKIAbZSDZnmjxj5epL_04E6RpxQ,1449
6
- intentkit/abstracts/graph.py,sha256=sX5hVemXsODvwIYLHufaf-zSXmW97bXRoZuyxYqaEV4,1128
6
+ intentkit/abstracts/graph.py,sha256=j43cNpWouXLmWl80gLDs8gCLcHkiaWAJNbT2vQuXcpg,1137
7
7
  intentkit/abstracts/skill.py,sha256=cIJ6BkASD31U1IEkE8rdAawq99w_xsg0lt3oalqa1ZA,5071
8
8
  intentkit/abstracts/twitter.py,sha256=cEtP7ygR_b-pHdc9i8kBuyooz1cPoGUGwsBHDpowJyY,1262
9
9
  intentkit/clients/__init__.py,sha256=pT_4I7drnuiNWPvYAU_CUAv50PjyaqEAsm_kp-vMPW4,372
@@ -11,15 +11,15 @@ intentkit/clients/cdp.py,sha256=KzRaT1z9iiQicYRLmC8QSz6KMqoPQY9W5UPUSC2Gz7w,6527
11
11
  intentkit/clients/twitter.py,sha256=Lfa7srHOFnY96SXcElW0jfg7XKS_WliWnXjPZEe6SQc,18976
12
12
  intentkit/clients/web3.py,sha256=A-w4vBPXHpDh8svsEFj_LkmvRgoDTZw4E-84S-UC9ws,1023
13
13
  intentkit/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- intentkit/config/config.py,sha256=raZi4bISv3g0-5Ze_uaLj5ks6MBQUjFwy7BSChkaydQ,8921
14
+ intentkit/config/config.py,sha256=qtAU5XdPJSCrDPPIN-232RlSYEGgHvYbNALvabvd7zQ,8806
15
15
  intentkit/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  intentkit/core/agent.py,sha256=d7P116dG4rmBu0zUF_WuHhcUgUOnaOhhYVzgKymOKZI,32047
17
17
  intentkit/core/api.py,sha256=WfoaHNquujYJIpNPuTR1dSaaxog0S3X2W4lG9Ehmkm4,3284
18
18
  intentkit/core/chat.py,sha256=YN20CnDazWLjiOZFOHgV6uHmA2DKkvPCsD5Q5sfNcZg,1685
19
19
  intentkit/core/client.py,sha256=J5K7f08-ucszBKAbn9K3QNOFKIC__7amTbKYii1jFkI,3056
20
20
  intentkit/core/credit.py,sha256=b4f4T6G6eeBTMe0L_r8awWtXgUnqiog4IUaymDPYym0,75587
21
- intentkit/core/engine.py,sha256=Ecwt-ZuPrJmFcN69P6dsEs_NeCyp52HJ9TL_8X2cP34,36086
22
- intentkit/core/node.py,sha256=7h9zgDSd928bzUi3m3EZnKkhbwqlbRAQUr_uz7gKB5Y,8880
21
+ intentkit/core/engine.py,sha256=SnYBwcZli2Sn0yRaoQ-Okc3zJt86hxhaXqjwIgTKKiw,37226
22
+ intentkit/core/node.py,sha256=P0LiBrjFtNBVC0JpQntTgDVfaLJM8aqhJZCJfPx6MJ0,8880
23
23
  intentkit/core/prompt.py,sha256=idNx1ono4Maz2i6IBKfaKOBBbEQiWbaSxr2Eb1vZTI4,15482
24
24
  intentkit/models/agent.py,sha256=yXulE5vlOOku6DSiid_Jp6OCfqy3-XN47rmKax5xX1w,67582
25
25
  intentkit/models/agent_data.py,sha256=5zq3EPKnygT2P1OHc2IfEmL8hXkjeBND6sJ0JJsvQJg,28370
@@ -34,7 +34,7 @@ intentkit/models/db.py,sha256=1uX1DJZGMx9A3lq6WKSTSwpXhWgWaiki55-iiED8BYM,5082
34
34
  intentkit/models/db_mig.py,sha256=vT6Tanm-BHC2T7dTztuB1UG494EFBAlHADKsNzR6xaQ,3577
35
35
  intentkit/models/generator.py,sha256=lyZu9U9rZUGkqd_QT5SAhay9DY358JJY8EhDSpN8I1M,10298
36
36
  intentkit/models/llm.csv,sha256=J2DsXgnmkPeOw-3OBKRg4q8uGlFYxNW8ebwi4OrOupw,2598
37
- intentkit/models/llm.py,sha256=veuUmJ-tkFQjaXTYRm5p3WQjGw83m-QUdzv9531nzzU,20372
37
+ intentkit/models/llm.py,sha256=-RkShXkUyz1zec892zve2SvPktVl7its1l3O8cLuMrM,20336
38
38
  intentkit/models/redis.py,sha256=UoN8jqLREO1VO9_w6m-JhldpP19iEHj4TiGVCMutQW4,3702
39
39
  intentkit/models/skill.py,sha256=-6FYzjnh2OL-l-K69dBUhmQZ-acJnXTRYBSOcjzy5mI,20329
40
40
  intentkit/models/skills.csv,sha256=lvQg_1byPvJaHToQbEqRZarfYDuXpP4EXeVJVMc8aDs,19132
@@ -195,16 +195,16 @@ intentkit/skills/elfa/stats.py,sha256=aCu-EklosttykdRRP-R5yZGsokm-SCZ55xNZGy97ET
195
195
  intentkit/skills/elfa/tokens.py,sha256=bgOuP83d16APpmKl_-2Yha-_diurG3ArYZknRYjCZhs,4537
196
196
  intentkit/skills/elfa/utils.py,sha256=y6hfiWBu31vMXc4rrdUpbWQzmMQLk_L-iaAQLUs8dJM,4388
197
197
  intentkit/skills/enso/README.md,sha256=jsLXPjW16rvBDd7soVms0IpH2LmQLRjtbRlzDMOLkso,1998
198
- intentkit/skills/enso/__init__.py,sha256=WLds5RVOMdswAtO8Dwkzl2H18gym0vpfa-CeF19PC0I,3076
199
- intentkit/skills/enso/base.py,sha256=6AcmvFzzK0EXlXrf1GiaZI0FJQhktuQmKbh6OH8hqOc,2992
200
- intentkit/skills/enso/best_yield.py,sha256=rwACME3iY9BU3r-bOF16YFikGV5038skjuVU0gqfPo4,9996
198
+ intentkit/skills/enso/__init__.py,sha256=yrOZ9rxsnz73WgRGN1rJC22trd7APmh4SnhKdpN5gb8,3089
199
+ intentkit/skills/enso/base.py,sha256=81U-uXVDLLO4IfgXWf-g6V_W_vwLn0W4WdT4lDxy-oY,3887
200
+ intentkit/skills/enso/best_yield.py,sha256=-dxvrqf6IltKRd3KyCQ6BdB2JoTgBAG361LxCWO0-ww,10009
201
201
  intentkit/skills/enso/enso.jpg,sha256=QID1rD7c3YVbIgzJeLD7HnNdCJfDy8mItYV784g7wWM,10741
202
- intentkit/skills/enso/networks.py,sha256=Qenyjc_4n1m9y5qxA1YWWzNniDrGSbs-YsXs3ViL5sk,3249
203
- intentkit/skills/enso/prices.py,sha256=zvXAiAejtOF7qLCzLvF_JqtsMX9imxxM0TzBm6E-RuU,3161
204
- intentkit/skills/enso/route.py,sha256=VJrGTLktg7BqKtGftlnkTtFZSCyeUGnEfzMn_01s8E8,12320
202
+ intentkit/skills/enso/networks.py,sha256=SQecevnoqJ7_GDEV94pOsyHc6QP15izdWIcn1lBK1Uk,3250
203
+ intentkit/skills/enso/prices.py,sha256=v2zinSbSCgVzDoMRIjvcUVpWEu4DrehlblB8evhpSto,3288
204
+ intentkit/skills/enso/route.py,sha256=uxdCiGLT7abu6lXyq-XOgTLxq1D70JPhSA-J5LdFB_U,12670
205
205
  intentkit/skills/enso/schema.json,sha256=MvEms4RqX5jT4gs8veYisXGz40K_2d9lkhDBh89viHA,6062
206
- intentkit/skills/enso/tokens.py,sha256=g16cTdK1irdGqrPwpZqw3kybarMinree97YxElmh80E,9569
207
- intentkit/skills/enso/wallet.py,sha256=Tv1FSMnI6fWtX5Jnfk_hyb2CzypvaYbacihaNnwazpQ,14119
206
+ intentkit/skills/enso/tokens.py,sha256=5o6C00J3JmzX4hSlZB3hPej9Ng0JDwLsrFNQeIre7aY,9848
207
+ intentkit/skills/enso/wallet.py,sha256=Wk6MVkr8crpuRS8kcu5QwhhAVG4gixmI8VhfHh_I7U8,10273
208
208
  intentkit/skills/enso/abi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
209
  intentkit/skills/enso/abi/approval.py,sha256=IsyQLFxzAttocrtCB2PhbgprA7Vqujzpxvg0hJbeJ00,9867
210
210
  intentkit/skills/enso/abi/erc20.py,sha256=IScqZhHpMt_eFfYtMXw0-w5jptkAK0xsqqUDjbWdb2s,439
@@ -379,9 +379,9 @@ intentkit/skills/unrealspeech/text_to_speech.py,sha256=QsCeOdPtlObQKCVNm6A9jKK55
379
379
  intentkit/skills/unrealspeech/unrealspeech.jpg,sha256=t-6RkYflJrL3Pvf5aA_VPAR_QlGyKUImXZBJLiyR3xY,8201
380
380
  intentkit/skills/venice_audio/__init__.py,sha256=E39CeSUHRoGV9IxNUtwo-nCp0Yfq5rvcrq1N61ygwGc,3309
381
381
  intentkit/skills/venice_audio/base.py,sha256=1oxHrmDXpBZbA7q2BqatlpuY-X3uwhK22T8QZjKmkqw,4845
382
- intentkit/skills/venice_audio/input.py,sha256=nWsbW40Bd-Q331PpBZ-NBcsgw3pqEWsWIvY0lsbNR4A,1887
382
+ intentkit/skills/venice_audio/input.py,sha256=3pXfgkXuS4ezAVPJMY-XQwgd2Mas58BQnJph1Af8QkA,1893
383
383
  intentkit/skills/venice_audio/schema.json,sha256=g3cb9zJvinnRrilvNIAdG8qivgGyB7sHCEC8392MXhY,5268
384
- intentkit/skills/venice_audio/venice_audio.py,sha256=3xIUbNZ_ZZ5J2FYJzGaJ0ZCwX_IpAouVuoTyl0JI72Q,11305
384
+ intentkit/skills/venice_audio/venice_audio.py,sha256=h03Lf3t58CRDq2U6Lb1Y_Hp8oZ-FBlp0fxUF-hpxPbE,11323
385
385
  intentkit/skills/venice_audio/venice_logo.jpg,sha256=XDnVdh3V8UuJjAeSmp4rbqhTKn0yjRI6M_6z1DSs8cA,13342
386
386
  intentkit/skills/venice_image/README.md,sha256=79NWUOaYWeFLOhR7m424pLIZ7VT0fhkxSBcohoy8Oh0,5017
387
387
  intentkit/skills/venice_image/__init__.py,sha256=fPq9OS8er67cn3zyo9H_7iEj5cSUu7nOmqhhjwG9xNs,5841
@@ -450,7 +450,7 @@ intentkit/utils/random.py,sha256=DymMxu9g0kuQLgJUqalvgksnIeLdS-v0aRk5nQU0mLI,452
450
450
  intentkit/utils/s3.py,sha256=A8Nsx5QJyLsxhj9g7oHNy2-m24tjQUhC9URm8Qb1jFw,10057
451
451
  intentkit/utils/slack_alert.py,sha256=s7UpRgyzLW7Pbmt8cKzTJgMA9bm4EP-1rQ5KXayHu6E,2264
452
452
  intentkit/utils/tx.py,sha256=2yLLGuhvfBEY5n_GJ8wmIWLCzn0FsYKv5kRNzw_sLUI,1454
453
- intentkit-0.7.5.dev17.dist-info/METADATA,sha256=hm_zrcP_dUGiGA9ezniXpGahyR9Io4Aj4YHW_9Mtnrs,6360
454
- intentkit-0.7.5.dev17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
455
- intentkit-0.7.5.dev17.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
456
- intentkit-0.7.5.dev17.dist-info/RECORD,,
453
+ intentkit-0.7.5.dev19.dist-info/METADATA,sha256=mKeFmE8ZlUdWm6hR1TGH2h2omjKJg6mOcT8DjpjkCiw,6360
454
+ intentkit-0.7.5.dev19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
455
+ intentkit-0.7.5.dev19.dist-info/licenses/LICENSE,sha256=Bln6DhK-LtcO4aXy-PBcdZv2f24MlJFm_qn222biJtE,1071
456
+ intentkit-0.7.5.dev19.dist-info/RECORD,,