tinybird 0.0.1.dev285__py3-none-any.whl → 0.0.1.dev287__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 tinybird might be problematic. Click here for more details.
- tinybird/datafile/common.py +7 -0
- tinybird/service_datasources.py +911 -0
- tinybird/sql_template.py +16 -2
- tinybird/tb/__cli__.py +2 -2
- tinybird/tb/modules/agent/agent.py +5 -2
- tinybird/tb/modules/agent/explore_agent.py +5 -0
- tinybird/tb/modules/agent/prompts.py +59 -11
- tinybird/tb/modules/agent/utils.py +0 -1
- tinybird/tb/modules/workspace.py +1 -1
- {tinybird-0.0.1.dev285.dist-info → tinybird-0.0.1.dev287.dist-info}/METADATA +2 -1
- {tinybird-0.0.1.dev285.dist-info → tinybird-0.0.1.dev287.dist-info}/RECORD +14 -13
- {tinybird-0.0.1.dev285.dist-info → tinybird-0.0.1.dev287.dist-info}/WHEEL +0 -0
- {tinybird-0.0.1.dev285.dist-info → tinybird-0.0.1.dev287.dist-info}/entry_points.txt +0 -0
- {tinybird-0.0.1.dev285.dist-info → tinybird-0.0.1.dev287.dist-info}/top_level.txt +0 -0
tinybird/sql_template.py
CHANGED
|
@@ -1411,7 +1411,7 @@ def generate(self, **kwargs) -> Tuple[str, TemplateExecutionResults]:
|
|
|
1411
1411
|
if TB_SECRET_IN_TEST_MODE in kwargs:
|
|
1412
1412
|
template_execution_results[TB_SECRET_IN_TEST_MODE] = None
|
|
1413
1413
|
|
|
1414
|
-
def set_tb_secret(x):
|
|
1414
|
+
def set_tb_secret(x, default=None):
|
|
1415
1415
|
try:
|
|
1416
1416
|
key = secret_template_key(x)
|
|
1417
1417
|
if key in template_execution_results.template_params:
|
|
@@ -1419,8 +1419,10 @@ def generate(self, **kwargs) -> Tuple[str, TemplateExecutionResults]:
|
|
|
1419
1419
|
return Symbol("{" + sqlescape(x) + ": String}")
|
|
1420
1420
|
else:
|
|
1421
1421
|
is_test_mode = TB_SECRET_IN_TEST_MODE in template_execution_results
|
|
1422
|
-
if is_test_mode:
|
|
1422
|
+
if is_test_mode and default is None:
|
|
1423
1423
|
return Symbol("{" + sqlescape(x) + ": String}")
|
|
1424
|
+
elif default is not None:
|
|
1425
|
+
return default
|
|
1424
1426
|
else:
|
|
1425
1427
|
raise SQLTemplateException(
|
|
1426
1428
|
f"Cannot access secret '{x}'. Check the secret exists in the Workspace and the token has the required scope."
|
|
@@ -2266,6 +2268,18 @@ def render_sql_template(
|
|
|
2266
2268
|
Traceback (most recent call last):
|
|
2267
2269
|
...
|
|
2268
2270
|
tinybird.sql_template.SQLTemplateException: Template Syntax Error: Cannot access secret 'test'. Check the secret exists in the Workspace and the token has the required scope.
|
|
2271
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [])
|
|
2272
|
+
("select * from table where str = 'default_value'", {}, [])
|
|
2273
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [ 'tb_secret_test' ])
|
|
2274
|
+
('select * from table where str = {test: String}', {}, [])
|
|
2275
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', '')}}")
|
|
2276
|
+
("select * from table where str = ''", {}, [])
|
|
2277
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", test_mode=True)
|
|
2278
|
+
("select * from table where str = 'default_value'", {}, [])
|
|
2279
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', '')}}", test_mode=True)
|
|
2280
|
+
("select * from table where str = ''", {}, [])
|
|
2281
|
+
>>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [ 'tb_secret_test' ], test_mode=True)
|
|
2282
|
+
('select * from table where str = {test: String}', {}, [])
|
|
2269
2283
|
>>> render_sql_template("select * from table where str = {{String(test)}} and category = {{String(category, 'shirts')}} and color = {{ Int32(color)}}", test_mode=False)
|
|
2270
2284
|
Traceback (most recent call last):
|
|
2271
2285
|
...
|
tinybird/tb/__cli__.py
CHANGED
|
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
|
|
|
4
4
|
__url__ = 'https://www.tinybird.co/docs/forward/commands'
|
|
5
5
|
__author__ = 'Tinybird'
|
|
6
6
|
__author_email__ = 'support@tinybird.co'
|
|
7
|
-
__version__ = '0.0.1.
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '0.0.1.dev287'
|
|
8
|
+
__revision__ = 'f35d4e1'
|
|
@@ -35,6 +35,7 @@ from tinybird.tb.modules.agent.prompts import (
|
|
|
35
35
|
load_custom_project_rules,
|
|
36
36
|
resources_prompt,
|
|
37
37
|
secrets_prompt,
|
|
38
|
+
service_datasources_prompt,
|
|
38
39
|
)
|
|
39
40
|
from tinybird.tb.modules.agent.testing_agent import TestingAgent
|
|
40
41
|
from tinybird.tb.modules.agent.tools.analyze import analyze_file, analyze_url
|
|
@@ -285,6 +286,10 @@ class TinybirdAgent:
|
|
|
285
286
|
def get_project_files(ctx: RunContext[TinybirdAgentContext]) -> str:
|
|
286
287
|
return resources_prompt(self.project)
|
|
287
288
|
|
|
289
|
+
@self.agent.instructions
|
|
290
|
+
def get_service_datasources(ctx: RunContext[TinybirdAgentContext]) -> str:
|
|
291
|
+
return service_datasources_prompt()
|
|
292
|
+
|
|
288
293
|
@self.agent.instructions
|
|
289
294
|
def get_secrets(ctx: RunContext[TinybirdAgentContext]) -> str:
|
|
290
295
|
return secrets_prompt(self.project)
|
|
@@ -293,14 +298,12 @@ class TinybirdAgent:
|
|
|
293
298
|
self.messages.append(message)
|
|
294
299
|
|
|
295
300
|
def _build_agent_deps(self, config: dict[str, Any], run_id: Optional[str] = None) -> TinybirdAgentContext:
|
|
296
|
-
client = TinyB(token=self.token, host=self.host)
|
|
297
301
|
project = self.project
|
|
298
302
|
folder = self.project.folder
|
|
299
303
|
local_client = get_tinybird_local_client(config, test=False, silent=False)
|
|
300
304
|
test_client = get_tinybird_local_client(config, test=True, silent=True)
|
|
301
305
|
return TinybirdAgentContext(
|
|
302
306
|
# context does not support the whole client, so we need to pass only the functions we need
|
|
303
|
-
explore_data=client.explore_data,
|
|
304
307
|
build_project=partial(build_project, project=project, config=config),
|
|
305
308
|
deploy_project=partial(deploy_project, project=project, config=config),
|
|
306
309
|
deploy_check_project=partial(deploy_check_project, project=project, config=config),
|
|
@@ -10,6 +10,7 @@ from tinybird.tb.modules.agent.models import create_model
|
|
|
10
10
|
from tinybird.tb.modules.agent.prompts import (
|
|
11
11
|
explore_data_instructions,
|
|
12
12
|
resources_prompt,
|
|
13
|
+
service_datasources_prompt,
|
|
13
14
|
tone_and_style_instructions,
|
|
14
15
|
)
|
|
15
16
|
from tinybird.tb.modules.agent.tools.diff_resource import diff_resource
|
|
@@ -75,6 +76,10 @@ Once you finish the task, return a valid response for the task to complete.
|
|
|
75
76
|
def get_project_files(ctx: RunContext[TinybirdAgentContext]) -> str:
|
|
76
77
|
return resources_prompt(self.project)
|
|
77
78
|
|
|
79
|
+
@self.agent.instructions
|
|
80
|
+
def get_service_datasources(ctx: RunContext[TinybirdAgentContext]) -> str:
|
|
81
|
+
return service_datasources_prompt()
|
|
82
|
+
|
|
78
83
|
def run(self, task: str, deps: TinybirdAgentContext, usage: Usage):
|
|
79
84
|
result = self.agent.run_sync(
|
|
80
85
|
task,
|
|
@@ -12,6 +12,7 @@ from tinybird.prompts import (
|
|
|
12
12
|
pipe_instructions,
|
|
13
13
|
sink_pipe_instructions,
|
|
14
14
|
)
|
|
15
|
+
from tinybird.service_datasources import get_organization_service_datasources, get_tinybird_service_datasources
|
|
15
16
|
from tinybird.tb.modules.project import Project
|
|
16
17
|
|
|
17
18
|
available_commands = [
|
|
@@ -118,11 +119,6 @@ sql_instructions = """
|
|
|
118
119
|
- When you use defined function with a paremeter inside, do NOT add quotes around the parameter:
|
|
119
120
|
<invalid_defined_function_with_parameter>{% if defined('my_param') %}</invalid_defined_function_with_parameter>
|
|
120
121
|
<valid_defined_function_without_parameter>{% if defined(my_param) %}</valid_defined_function_without_parameter>
|
|
121
|
-
- Use datasource names as table names when doing SELECT statements.
|
|
122
|
-
- Do not use pipe names as table names.
|
|
123
|
-
- The available datasource names to use in the SQL are the ones present in the existing_resources section or the ones you will create.
|
|
124
|
-
- Use node names as table names only when nodes are present in the same file.
|
|
125
|
-
- Do not reference the current node name in the SQL.
|
|
126
122
|
- SQL queries only accept SELECT statements with conditions, aggregations, joins, etc.
|
|
127
123
|
- ONLY SELECT statements are allowed in any sql query.
|
|
128
124
|
- When using functions try always ClickHouse functions first, then SQL functions.
|
|
@@ -133,7 +129,7 @@ sql_instructions = """
|
|
|
133
129
|
datafile_instructions = """
|
|
134
130
|
<datafile_instructions>
|
|
135
131
|
- Endpoint files will be created under the `/endpoints` folder.
|
|
136
|
-
- Materialized pipe files will be created under the `/
|
|
132
|
+
- Materialized pipe files will be created under the `/materializations` folder.
|
|
137
133
|
- Sink pipe files will be created under the `/sinks` folder.
|
|
138
134
|
- Copy pipe files will be created under the `/copies` folder.
|
|
139
135
|
- Connection files will be created under the `/connections` folder.
|
|
@@ -184,7 +180,7 @@ def resources_prompt(project: Project) -> str:
|
|
|
184
180
|
"content": file_path.read_text(),
|
|
185
181
|
}
|
|
186
182
|
resources.append(resource)
|
|
187
|
-
resources_content
|
|
183
|
+
resources_content += format_as_xml(resources, root_tag="resources", item_tag="resource")
|
|
188
184
|
else:
|
|
189
185
|
resources_content += "No resources found"
|
|
190
186
|
|
|
@@ -198,7 +194,7 @@ def resources_prompt(project: Project) -> str:
|
|
|
198
194
|
"name": file_path.stem,
|
|
199
195
|
}
|
|
200
196
|
fixtures.append(fixture)
|
|
201
|
-
fixture_content
|
|
197
|
+
fixture_content += format_as_xml(fixtures, root_tag="fixtures", item_tag="fixture")
|
|
202
198
|
|
|
203
199
|
else:
|
|
204
200
|
fixture_content += "No fixture files found"
|
|
@@ -206,6 +202,50 @@ def resources_prompt(project: Project) -> str:
|
|
|
206
202
|
return resources_content + "\n" + fixture_content
|
|
207
203
|
|
|
208
204
|
|
|
205
|
+
def service_datasources_prompt() -> str:
|
|
206
|
+
def build_content(ds: dict[str, Any]) -> str:
|
|
207
|
+
content = "DESCRIPTION >\n"
|
|
208
|
+
content += f" {ds.get('description', 'No description')}\n"
|
|
209
|
+
|
|
210
|
+
content += "SCHEMA >\n"
|
|
211
|
+
for column in ds.get("columns", []):
|
|
212
|
+
content += f" `{column.get('name', '')}` {column.get('type', '')}\n"
|
|
213
|
+
|
|
214
|
+
if engine := ds.get("engine", {}).get("engine", ""):
|
|
215
|
+
content += f"ENGINE {engine}\n"
|
|
216
|
+
if sorting_key := ds.get("engine", {}).get("sorting_key", ""):
|
|
217
|
+
content += f"ENGINE_SORTING_KEY {sorting_key}\n"
|
|
218
|
+
if partition_key := ds.get("engine", {}).get("partition_key", ""):
|
|
219
|
+
content += f"ENGINE_PARTITION_KEY {partition_key}\n"
|
|
220
|
+
|
|
221
|
+
return content
|
|
222
|
+
|
|
223
|
+
skip_datasources = ["tinybird.bi_stats", "tinybird.bi_stats_rt", "tinybird.releases_log", "tinybird.hook_log"]
|
|
224
|
+
service_datasources = [
|
|
225
|
+
{"name": ds["name"], "content": build_content(ds)}
|
|
226
|
+
for ds in get_tinybird_service_datasources()
|
|
227
|
+
if ds["name"] not in skip_datasources
|
|
228
|
+
]
|
|
229
|
+
content = "# Service datasources:\n"
|
|
230
|
+
content += format_as_xml(
|
|
231
|
+
service_datasources, root_tag="workspace_service_datasources", item_tag="service_datasource"
|
|
232
|
+
)
|
|
233
|
+
content += "\n#Organization service datasources:\n"
|
|
234
|
+
skip_datasources = ["organization.bi_stats", "organization.bi_stats_rt"]
|
|
235
|
+
org_service_datasources = [
|
|
236
|
+
{"name": ds["name"], "content": build_content(ds)}
|
|
237
|
+
for ds in get_organization_service_datasources()
|
|
238
|
+
if ds["name"] not in skip_datasources
|
|
239
|
+
]
|
|
240
|
+
content += format_as_xml(
|
|
241
|
+
org_service_datasources,
|
|
242
|
+
root_tag="organization_service_datasources",
|
|
243
|
+
item_tag="service_datasource",
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
return content
|
|
247
|
+
|
|
248
|
+
|
|
209
249
|
def secrets_prompt(project: Project) -> str:
|
|
210
250
|
"""Generate a prompt showing available secrets from .env.local file."""
|
|
211
251
|
secrets = project.get_secrets()
|
|
@@ -224,7 +264,7 @@ def secrets_prompt(project: Project) -> str:
|
|
|
224
264
|
secrets_list.append(secret)
|
|
225
265
|
|
|
226
266
|
if secrets_list:
|
|
227
|
-
secrets_content
|
|
267
|
+
secrets_content += format_as_xml(secrets_list, root_tag="secrets", item_tag="secret")
|
|
228
268
|
|
|
229
269
|
return secrets_content
|
|
230
270
|
|
|
@@ -245,7 +285,7 @@ def tests_files_prompt(project: Project) -> str:
|
|
|
245
285
|
"content": file_path.read_text(),
|
|
246
286
|
}
|
|
247
287
|
resources.append(resource)
|
|
248
|
-
resources_content
|
|
288
|
+
resources_content += format_as_xml(resources, root_tag="resources", item_tag="resource")
|
|
249
289
|
else:
|
|
250
290
|
resources_content += "No resources found"
|
|
251
291
|
|
|
@@ -260,7 +300,7 @@ def tests_files_prompt(project: Project) -> str:
|
|
|
260
300
|
"content": file_path.read_text(),
|
|
261
301
|
}
|
|
262
302
|
tests.append(test)
|
|
263
|
-
test_content
|
|
303
|
+
test_content += format_as_xml(tests, root_tag="tests", item_tag="test")
|
|
264
304
|
else:
|
|
265
305
|
test_content += "No test files found"
|
|
266
306
|
|
|
@@ -957,6 +997,14 @@ They can be run on a schedule, or executed on demand.
|
|
|
957
997
|
{sql_agent_instructions}
|
|
958
998
|
{sql_instructions}
|
|
959
999
|
|
|
1000
|
+
## Referencing tables in SQL queries:
|
|
1001
|
+
The following resources can be used as tables in SQL queries:
|
|
1002
|
+
- Datasources (.datasource files)
|
|
1003
|
+
- Materialized views (.datasource files target of .pipe files with `TYPE MATERIALIZED` defined)
|
|
1004
|
+
- Endpoints (.pipe files with `TYPE ENDPOINT` defined)
|
|
1005
|
+
- Default pipes (.pipe files with no `TYPE` defined)
|
|
1006
|
+
- Node names present in the same .pipe file
|
|
1007
|
+
|
|
960
1008
|
{secrets_instructions}
|
|
961
1009
|
|
|
962
1010
|
{external_tables_instructions}
|
|
@@ -40,7 +40,6 @@ class TinybirdAgentContext(BaseModel):
|
|
|
40
40
|
workspace_name: str
|
|
41
41
|
thinking_animation: Any
|
|
42
42
|
get_project_files: Callable[[], List[str]]
|
|
43
|
-
explore_data: Callable[[str], str]
|
|
44
43
|
build_project: Callable[..., None]
|
|
45
44
|
build_project_test: Callable[..., None]
|
|
46
45
|
deploy_project: Callable[..., None]
|
tinybird/tb/modules/workspace.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tinybird
|
|
3
|
-
Version: 0.0.1.
|
|
3
|
+
Version: 0.0.1.dev287
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/forward/commands
|
|
6
6
|
Author: Tinybird
|
|
@@ -21,6 +21,7 @@ Requires-Dist: GitPython~=3.1.32
|
|
|
21
21
|
Requires-Dist: humanfriendly~=8.2
|
|
22
22
|
Requires-Dist: plotext==5.3.2
|
|
23
23
|
Requires-Dist: prompt_toolkit==3.0.48
|
|
24
|
+
Requires-Dist: logfire-api==4.2.0
|
|
24
25
|
Requires-Dist: pydantic~=2.11.7
|
|
25
26
|
Requires-Dist: pydantic-ai-slim[anthropic]~=0.5.0
|
|
26
27
|
Requires-Dist: pydantic-ai-slim[retries]~=0.5.0
|
|
@@ -4,20 +4,21 @@ tinybird/datatypes.py,sha256=r4WCvspmrXTJHiPjjyOTiZyZl31FO3Ynkwq4LQsYm6E,11059
|
|
|
4
4
|
tinybird/feedback_manager.py,sha256=XY8d83pRlq-LH7xHMApkaEebfXEWLjDzrGe1prpcTHE,69778
|
|
5
5
|
tinybird/git_settings.py,sha256=Sw_8rGmribEFJ4Z_6idrVytxpFYk7ez8ei0qHULzs3E,3934
|
|
6
6
|
tinybird/prompts.py,sha256=HoDv9TxPiP8v2XoGTWYxP133dK9CEbXVv4XE5IT339c,45483
|
|
7
|
+
tinybird/service_datasources.py,sha256=o6Az3T6OvcChR_7GXRu7sJH173KzGg1Gv-dNd0bI_vY,46085
|
|
7
8
|
tinybird/sql.py,sha256=UZJLop6zA9tTPEaS-Fq7M-QyzmC5uV_tIeXZzkjnhso,48299
|
|
8
|
-
tinybird/sql_template.py,sha256=
|
|
9
|
+
tinybird/sql_template.py,sha256=kaF5pi-f2JiWSYXEF8JsU1OIxvdu2homHnw4MYjq0n8,101953
|
|
9
10
|
tinybird/sql_template_fmt.py,sha256=KUHdj5rYCYm_rKKdXYSJAE9vIyXUQLB0YSZnUXHeBlY,10196
|
|
10
11
|
tinybird/sql_toolset.py,sha256=19WPr4S3SR--Iw-VPgmDnLmhOZyHhTxnj3-_Yq3OgEU,19767
|
|
11
12
|
tinybird/syncasync.py,sha256=IPnOx6lMbf9SNddN1eBtssg8vCLHMt76SuZ6YNYm-Yk,27761
|
|
12
13
|
tinybird/tornado_template.py,sha256=jjNVDMnkYFWXflmT8KU_Ssbo5vR8KQq3EJMk5vYgXRw,41959
|
|
13
14
|
tinybird/ch_utils/constants.py,sha256=v5-nkXHUhysu4i9Z4WVv0-sBbh6xSYUH5q5xHSY2xTI,4194
|
|
14
15
|
tinybird/ch_utils/engine.py,sha256=4X1B-iuhdW_mxKnX_m3iCsxgP9RPVgR75g7yH1vsJ6A,40851
|
|
15
|
-
tinybird/datafile/common.py,sha256=
|
|
16
|
+
tinybird/datafile/common.py,sha256=euJAKSu6GA67oIcRvrrBGsGI1nZtkSWM45ikjLUlJz0,106049
|
|
16
17
|
tinybird/datafile/exceptions.py,sha256=8rw2umdZjtby85QbuRKFO5ETz_eRHwUY5l7eHsy1wnI,556
|
|
17
18
|
tinybird/datafile/parse_connection.py,sha256=tRyn2Rpr1TeWet5BXmMoQgaotbGdYep1qiTak_OqC5E,1825
|
|
18
19
|
tinybird/datafile/parse_datasource.py,sha256=ssW8QeFSgglVFi3sDZj_HgkJiTJ2069v2JgqnH3CkDE,1825
|
|
19
20
|
tinybird/datafile/parse_pipe.py,sha256=xf4m0Tw44QWJzHzAm7Z7FwUoUUtr7noMYjU1NiWnX0k,3880
|
|
20
|
-
tinybird/tb/__cli__.py,sha256=
|
|
21
|
+
tinybird/tb/__cli__.py,sha256=nZRxzzjaWGhmlgqsxUdTdtORhtemm6OdxvjRGKVVdbc,247
|
|
21
22
|
tinybird/tb/check_pypi.py,sha256=Gp0HkHHDFMSDL6nxKlOY51z7z1Uv-2LRexNTZSHHGmM,552
|
|
22
23
|
tinybird/tb/cli.py,sha256=FdDFEIayjmsZEVsVSSvRiVYn_FHOVg_zWQzchnzfWho,1008
|
|
23
24
|
tinybird/tb/client.py,sha256=IQRaInDjOwr9Fzaz3_xXc3aUGqh94tM2lew7IZbB9eM,53733
|
|
@@ -66,21 +67,21 @@ tinybird/tb/modules/test.py,sha256=O2-mS4uMU6nPi7yWPpWzshAgOlYKiGS-tkM12pXQGMI,1
|
|
|
66
67
|
tinybird/tb/modules/test_common.py,sha256=7EpwGVs3SQTVUOM4fX3iq2fITquYvLtsEz599mN6Eqc,14525
|
|
67
68
|
tinybird/tb/modules/token.py,sha256=ZhW_o7XCr90wJRhMN6816vyo_TVfnzPXyIhrhzQ7oZ0,13807
|
|
68
69
|
tinybird/tb/modules/watch.py,sha256=No0bK1M1_3CYuMaIgylxf7vYFJ72lTJe3brz6xQ-mJo,8819
|
|
69
|
-
tinybird/tb/modules/workspace.py,sha256=
|
|
70
|
+
tinybird/tb/modules/workspace.py,sha256=tCP1zZMwBhLRGm22TGfpSd4cHvQLAS1o_azIXv_r6uw,11172
|
|
70
71
|
tinybird/tb/modules/workspace_members.py,sha256=5JdkJgfuEwbq-t6vxkBhYwgsiTDxF790wsa6Xfif9nk,8608
|
|
71
72
|
tinybird/tb/modules/agent/__init__.py,sha256=i3oe3vDIWWPaicdCM0zs7D7BJ1W0k7th93ooskHAV00,54
|
|
72
|
-
tinybird/tb/modules/agent/agent.py,sha256=
|
|
73
|
+
tinybird/tb/modules/agent/agent.py,sha256=ZoqV5kTwUVoJ4B2pJZSaooAKztEV6CBUoyeSrxLmusI,35341
|
|
73
74
|
tinybird/tb/modules/agent/animations.py,sha256=4WOC5_2BracttmMCrV0H91tXfWcUzQHBUaIJc5FA7tE,3490
|
|
74
75
|
tinybird/tb/modules/agent/banner.py,sha256=l6cO5Fi7lbVKp-GsBP8jf3IkjOWxg2jpAt9NBCy0WR8,4085
|
|
75
76
|
tinybird/tb/modules/agent/command_agent.py,sha256=0Z08rQsir59zQAr-kkOvsKIFpIBsBSTGJJ1VgqqF5WA,3654
|
|
76
77
|
tinybird/tb/modules/agent/compactor.py,sha256=BK5AxZFhrp3xWnsRnYaleiYoIWtVNc-_m650Hsopt8g,13841
|
|
77
|
-
tinybird/tb/modules/agent/explore_agent.py,sha256=
|
|
78
|
+
tinybird/tb/modules/agent/explore_agent.py,sha256=gyD5uV5TJwV24eeQiSwhkgfNPb4mtbeH7t2qSdoc18U,4100
|
|
78
79
|
tinybird/tb/modules/agent/memory.py,sha256=vBewB_64L_wHoT4tLT6UX2uxcHwSY880QZ26F9rPqXs,3793
|
|
79
80
|
tinybird/tb/modules/agent/mock_agent.py,sha256=zbAZfAqdSLUtMr2VqO0erWpzjT2F1tTcuYjvHb-gvbA,8023
|
|
80
81
|
tinybird/tb/modules/agent/models.py,sha256=eokO8XlY-kVJOsbqiVporGUAOCyKAXCO5xgTEK9SM6Y,2208
|
|
81
|
-
tinybird/tb/modules/agent/prompts.py,sha256=
|
|
82
|
+
tinybird/tb/modules/agent/prompts.py,sha256=QG_lj0QHRo8oLlJroPEGoG9_fbPN7sRA7e8jlEmmUok,44033
|
|
82
83
|
tinybird/tb/modules/agent/testing_agent.py,sha256=AtwtJViH7805i7djyBgDb7SSUtDyJnw0TWJu6lBFsrg,2953
|
|
83
|
-
tinybird/tb/modules/agent/utils.py,sha256=
|
|
84
|
+
tinybird/tb/modules/agent/utils.py,sha256=3v8cZCx4D8rSvziWMCnqdK54yPXd7a2DfACUkxCC5vY,31705
|
|
84
85
|
tinybird/tb/modules/agent/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
86
|
tinybird/tb/modules/agent/tools/analyze.py,sha256=CR5LXg4fou-zYEksqnjpJ0icvxJVoKnTctoI1NRvqCM,3873
|
|
86
87
|
tinybird/tb/modules/agent/tools/append.py,sha256=6uByExBpb9rVzB0tebWyLFbfkjEPSNxIGFbZrJTaGVI,8056
|
|
@@ -118,8 +119,8 @@ tinybird/tb_cli_modules/config.py,sha256=IsgdtFRnUrkY8-Zo32lmk6O7u3bHie1QCxLwgp4
|
|
|
118
119
|
tinybird/tb_cli_modules/exceptions.py,sha256=pmucP4kTF4irIt7dXiG-FcnI-o3mvDusPmch1L8RCWk,3367
|
|
119
120
|
tinybird/tb_cli_modules/regions.py,sha256=QjsL5H6Kg-qr0aYVLrvb1STeJ5Sx_sjvbOYO0LrEGMk,166
|
|
120
121
|
tinybird/tb_cli_modules/telemetry.py,sha256=Hh2Io8ZPROSunbOLuMvuIFU4TqwWPmQTqal4WS09K1A,10449
|
|
121
|
-
tinybird-0.0.1.
|
|
122
|
-
tinybird-0.0.1.
|
|
123
|
-
tinybird-0.0.1.
|
|
124
|
-
tinybird-0.0.1.
|
|
125
|
-
tinybird-0.0.1.
|
|
122
|
+
tinybird-0.0.1.dev287.dist-info/METADATA,sha256=7KJm2mX3vjlPwyqJ8Ov6y8cNd-LqFewBwvDxTIXgDgg,1845
|
|
123
|
+
tinybird-0.0.1.dev287.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
124
|
+
tinybird-0.0.1.dev287.dist-info/entry_points.txt,sha256=LwdHU6TfKx4Qs7BqqtaczEZbImgU7Abe9Lp920zb_fo,43
|
|
125
|
+
tinybird-0.0.1.dev287.dist-info/top_level.txt,sha256=VqqqEmkAy7UNaD8-V51FCoMMWXjLUlR0IstvK7tJYVY,54
|
|
126
|
+
tinybird-0.0.1.dev287.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|