chartagent 0.0.1__tar.gz → 0.1.0__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.
- chartagent-0.1.0/.gitignore +27 -0
- chartagent-0.1.0/PKG-INFO +45 -0
- chartagent-0.1.0/README.md +11 -0
- chartagent-0.1.0/pyproject.toml +116 -0
- chartagent-0.1.0/src/chartagent/__init__.py +79 -0
- chartagent-0.1.0/src/chartagent/_bundle/flint.iife.js +41218 -0
- chartagent-0.1.0/src/chartagent/_flint.py +45 -0
- chartagent-0.1.0/src/chartagent/_palette.py +140 -0
- chartagent-0.1.0/src/chartagent/_pixels.py +122 -0
- chartagent-0.1.0/src/chartagent/bind.py +342 -0
- chartagent-0.1.0/src/chartagent/critique.py +161 -0
- chartagent-0.1.0/src/chartagent/envelope.py +40 -0
- chartagent-0.1.0/src/chartagent/errors.py +258 -0
- chartagent-0.1.0/src/chartagent/frame/__init__.py +22 -0
- chartagent-0.1.0/src/chartagent/frame/_generated.py +1004 -0
- chartagent-0.1.0/src/chartagent/frame/capability.py +80 -0
- chartagent-0.1.0/src/chartagent/frame/input.py +324 -0
- chartagent-0.1.0/src/chartagent/frame/vocab.json +10481 -0
- chartagent-0.1.0/src/chartagent/frame/vocabulary.py +212 -0
- chartagent-0.1.0/src/chartagent/harness/__init__.py +1 -0
- chartagent-0.1.0/src/chartagent/harness/artifacts.py +37 -0
- chartagent-0.1.0/src/chartagent/harness/langchain/__init__.py +32 -0
- chartagent-0.1.0/src/chartagent/harness/langchain/client.py +152 -0
- chartagent-0.1.0/src/chartagent/harness/langchain/skills.py +75 -0
- chartagent-0.1.0/src/chartagent/harness/langchain/trace.py +38 -0
- chartagent-0.1.0/src/chartagent/harness/langchain/workspace.py +185 -0
- chartagent-0.1.0/src/chartagent/harness/ports.py +134 -0
- chartagent-0.1.0/src/chartagent/harness/pydantic_ai/__init__.py +1 -0
- chartagent-0.1.0/src/chartagent/harness/pydantic_ai/client.py +170 -0
- chartagent-0.1.0/src/chartagent/harness/pydantic_ai/skills.py +142 -0
- chartagent-0.1.0/src/chartagent/harness/pydantic_ai/trace.py +28 -0
- chartagent-0.1.0/src/chartagent/harness/workspace.py +165 -0
- chartagent-0.1.0/src/chartagent/plan/__init__.py +9 -0
- chartagent-0.1.0/src/chartagent/plan/agent.py +1003 -0
- chartagent-0.1.0/src/chartagent/plan/assemble.py +92 -0
- chartagent-0.1.0/src/chartagent/plan/client.py +10 -0
- chartagent-0.1.0/src/chartagent/plan/emit.py +58 -0
- chartagent-0.1.0/src/chartagent/plan/escalate.py +63 -0
- chartagent-0.1.0/src/chartagent/plan/prompt.py +439 -0
- chartagent-0.1.0/src/chartagent/plan/prompts/document.system.md +30 -0
- chartagent-0.1.0/src/chartagent/plan/prompts/step1.system.md +28 -0
- chartagent-0.1.0/src/chartagent/plan/prompts/step2.system.md +8 -0
- chartagent-0.1.0/src/chartagent/plan/prompts/transform.section.md +5 -0
- chartagent-0.1.0/src/chartagent/plan/recipe.py +254 -0
- chartagent-0.1.0/src/chartagent/plan/repair.py +97 -0
- chartagent-0.1.0/src/chartagent/plan/schema.py +133 -0
- chartagent-0.1.0/src/chartagent/plan/select.py +53 -0
- chartagent-0.1.0/src/chartagent/profile/__init__.py +23 -0
- chartagent-0.1.0/src/chartagent/profile/ladder.py +147 -0
- chartagent-0.1.0/src/chartagent/profile/models.py +216 -0
- chartagent-0.1.0/src/chartagent/profile/source.py +427 -0
- chartagent-0.1.0/src/chartagent/py.typed +0 -0
- chartagent-0.1.0/src/chartagent/rasterise.py +448 -0
- chartagent-0.1.0/src/chartagent/recipe.py +275 -0
- chartagent-0.1.0/src/chartagent/result.py +72 -0
- chartagent-0.1.0/src/chartagent/review.py +600 -0
- chartagent-0.1.0/src/chartagent/session.py +28 -0
- chartagent-0.1.0/src/chartagent/shell.py +388 -0
- chartagent-0.1.0/src/chartagent/style.py +87 -0
- chartagent-0.1.0/src/chartagent/transform/__init__.py +1 -0
- chartagent-0.1.0/src/chartagent/transform/drift.py +167 -0
- chartagent-0.1.0/src/chartagent/transform/engine.py +182 -0
- chartagent-0.1.0/src/chartagent/transform/expr.py +542 -0
- chartagent-0.1.0/src/chartagent/transform/menu.py +311 -0
- chartagent-0.1.0/src/chartagent/transform/model.py +446 -0
- chartagent-0.1.0/src/chartagent/transform/raw_sql.py +199 -0
- chartagent-0.1.0/src/chartagent/transform/schema.py +53 -0
- chartagent-0.1.0/src/chartagent/transform/serialize.py +81 -0
- chartagent-0.1.0/tests/conftest.py +153 -0
- chartagent-0.1.0/tests/data/chart_properties.json +213 -0
- chartagent-0.1.0/tests/data/first_ask/instructions.json +152 -0
- chartagent-0.1.0/tests/data/orders_dated.csv +24 -0
- chartagent-0.1.0/tests/data/prereg/empty.json +1 -0
- chartagent-0.1.0/tests/data/prereg/legal.json +1676 -0
- chartagent-0.1.0/tests/data/prompt/step1.txt +35 -0
- chartagent-0.1.0/tests/data/prompt/step2.txt +17 -0
- chartagent-0.1.0/tests/data/sales.csv +3 -0
- chartagent-0.1.0/tests/data/sales.parquet +0 -0
- chartagent-0.1.0/tests/data/sales_by_region.csv +13 -0
- chartagent-0.1.0/tests/test_authored_cases_1.py +125 -0
- chartagent-0.1.0/tests/test_bind.py +457 -0
- chartagent-0.1.0/tests/test_bind_recipe.py +119 -0
- chartagent-0.1.0/tests/test_capability.py +112 -0
- chartagent-0.1.0/tests/test_chart_session.py +353 -0
- chartagent-0.1.0/tests/test_check_bump.py +292 -0
- chartagent-0.1.0/tests/test_check_eval_freeze.py +496 -0
- chartagent-0.1.0/tests/test_check_prereg.py +574 -0
- chartagent-0.1.0/tests/test_ci_langchain.py +262 -0
- chartagent-0.1.0/tests/test_critique.py +140 -0
- chartagent-0.1.0/tests/test_errors.py +80 -0
- chartagent-0.1.0/tests/test_eval_cases_cell4.py +72 -0
- chartagent-0.1.0/tests/test_eval_freeze_real.py +138 -0
- chartagent-0.1.0/tests/test_facade.py +208 -0
- chartagent-0.1.0/tests/test_first_ask_fixture.py +162 -0
- chartagent-0.1.0/tests/test_first_ask_legality.py +393 -0
- chartagent-0.1.0/tests/test_flint_bundle.py +84 -0
- chartagent-0.1.0/tests/test_flint_predicates.py +111 -0
- chartagent-0.1.0/tests/test_harness.py +141 -0
- chartagent-0.1.0/tests/test_host_spans.py +240 -0
- chartagent-0.1.0/tests/test_import_surface.py +74 -0
- chartagent-0.1.0/tests/test_join_corpus.py +712 -0
- chartagent-0.1.0/tests/test_langchain_harness.py +822 -0
- chartagent-0.1.0/tests/test_paint_corpus.py +765 -0
- chartagent-0.1.0/tests/test_plan_agent.py +2750 -0
- chartagent-0.1.0/tests/test_plan_assemble.py +404 -0
- chartagent-0.1.0/tests/test_plan_client.py +100 -0
- chartagent-0.1.0/tests/test_plan_escalate.py +152 -0
- chartagent-0.1.0/tests/test_plan_live.py +55 -0
- chartagent-0.1.0/tests/test_plan_prompt.py +430 -0
- chartagent-0.1.0/tests/test_plan_recipe.py +669 -0
- chartagent-0.1.0/tests/test_plan_schema.py +272 -0
- chartagent-0.1.0/tests/test_plan_select.py +123 -0
- chartagent-0.1.0/tests/test_profile.py +515 -0
- chartagent-0.1.0/tests/test_profile_large.py +61 -0
- chartagent-0.1.0/tests/test_rasterise.py +348 -0
- chartagent-0.1.0/tests/test_raw_sql.py +234 -0
- chartagent-0.1.0/tests/test_recipe_json.py +127 -0
- chartagent-0.1.0/tests/test_record_corpus.py +707 -0
- chartagent-0.1.0/tests/test_result.py +150 -0
- chartagent-0.1.0/tests/test_review.py +1085 -0
- chartagent-0.1.0/tests/test_schema_drift.py +481 -0
- chartagent-0.1.0/tests/test_score_corpus.py +783 -0
- chartagent-0.1.0/tests/test_score_eval.py +1926 -0
- chartagent-0.1.0/tests/test_shell.py +1219 -0
- chartagent-0.1.0/tests/test_step1_schema_smoke.py +56 -0
- chartagent-0.1.0/tests/test_style_pack.py +379 -0
- chartagent-0.1.0/tests/test_transform_menu.py +920 -0
- chartagent-0.1.0/tests/test_transform_model.py +531 -0
- chartagent-0.0.1/PKG-INFO +0 -22
- chartagent-0.0.1/README.md +0 -5
- chartagent-0.0.1/pyproject.toml +0 -21
- chartagent-0.0.1/src/chartagent/__init__.py +0 -3
- {chartagent-0.0.1 → chartagent-0.1.0}/LICENSE +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Session working files — regenerated per session, deliberately not tracked
|
|
2
|
+
HANDOFF.md
|
|
3
|
+
/tmp/*
|
|
4
|
+
!/tmp/.gitkeep
|
|
5
|
+
|
|
6
|
+
# here.now local claim tokens — never commit
|
|
7
|
+
.herenow/
|
|
8
|
+
|
|
9
|
+
# Fixture corpus and bump-gate scratch — fetched at job time, never vendored
|
|
10
|
+
/build/
|
|
11
|
+
|
|
12
|
+
# macOS
|
|
13
|
+
.DS_Store
|
|
14
|
+
|
|
15
|
+
# Python
|
|
16
|
+
__pycache__/
|
|
17
|
+
*.py[cod]
|
|
18
|
+
.venv/
|
|
19
|
+
venv/
|
|
20
|
+
.mypy_cache/
|
|
21
|
+
.ruff_cache/
|
|
22
|
+
.pytest_cache/
|
|
23
|
+
dist/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
|
|
26
|
+
# Draft ticket backups and other session scratch
|
|
27
|
+
.scratch/
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: chartagent
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Alpha release. Testing is in progress. An embeddable agentic chart-creation library for Python.
|
|
5
|
+
Author: Sharim Raza
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
|
+
Classifier: Typing :: Typed
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
|
+
Requires-Dist: duckdb>=1
|
|
18
|
+
Requires-Dist: pyarrow>=14
|
|
19
|
+
Requires-Dist: pydantic>=2
|
|
20
|
+
Requires-Dist: tzdata>=2024; sys_platform == 'win32'
|
|
21
|
+
Provides-Extra: anthropic
|
|
22
|
+
Requires-Dist: pydantic-ai-slim[anthropic]>=2.40.0; extra == 'anthropic'
|
|
23
|
+
Provides-Extra: langchain
|
|
24
|
+
Requires-Dist: deepagents==0.7.28; extra == 'langchain'
|
|
25
|
+
Requires-Dist: langchain==1.4.6; extra == 'langchain'
|
|
26
|
+
Requires-Dist: langgraph==1.2.16; extra == 'langchain'
|
|
27
|
+
Provides-Extra: openai
|
|
28
|
+
Requires-Dist: pydantic-ai-slim[openai]>=2.40.0; extra == 'openai'
|
|
29
|
+
Provides-Extra: pydantic-ai
|
|
30
|
+
Requires-Dist: pydantic-ai-harness[skills]==0.57.0; extra == 'pydantic-ai'
|
|
31
|
+
Provides-Extra: review
|
|
32
|
+
Requires-Dist: playwright>=1.47; extra == 'review'
|
|
33
|
+
Description-Content-Type: text/markdown
|
|
34
|
+
|
|
35
|
+
# chartagent
|
|
36
|
+
|
|
37
|
+
**Alpha release. Testing is in progress.** The API can change.
|
|
38
|
+
|
|
39
|
+
An embeddable agentic chart-creation library for Python.
|
|
40
|
+
|
|
41
|
+
Requires **Python 3.11+**. Alpine / musl is unsupported: DuckDB publishes no musllinux wheels.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install chartagent
|
|
45
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# chartagent
|
|
2
|
+
|
|
3
|
+
**Alpha release. Testing is in progress.** The API can change.
|
|
4
|
+
|
|
5
|
+
An embeddable agentic chart-creation library for Python.
|
|
6
|
+
|
|
7
|
+
Requires **Python 3.11+**. Alpine / musl is unsupported: DuckDB publishes no musllinux wheels.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install chartagent
|
|
11
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "chartagent"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Alpha release. Testing is in progress. An embeddable agentic chart-creation library for Python."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "Apache-2.0"
|
|
11
|
+
requires-python = ">=3.11"
|
|
12
|
+
authors = [{ name = "Sharim Raza" }]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Development Status :: 3 - Alpha",
|
|
15
|
+
"License :: OSI Approved :: Apache Software License",
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
20
|
+
"Programming Language :: Python :: 3.14",
|
|
21
|
+
"Typing :: Typed",
|
|
22
|
+
]
|
|
23
|
+
dependencies = [
|
|
24
|
+
"pydantic>=2",
|
|
25
|
+
"duckdb>=1",
|
|
26
|
+
"pyarrow>=14",
|
|
27
|
+
"tzdata>=2024; sys_platform == 'win32'",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.optional-dependencies]
|
|
31
|
+
anthropic = [
|
|
32
|
+
"pydantic-ai-slim[anthropic]>=2.40.0",
|
|
33
|
+
]
|
|
34
|
+
openai = [
|
|
35
|
+
"pydantic-ai-slim[openai]>=2.40.0",
|
|
36
|
+
]
|
|
37
|
+
review = [
|
|
38
|
+
"playwright>=1.47",
|
|
39
|
+
]
|
|
40
|
+
pydantic-ai = [
|
|
41
|
+
"pydantic-ai-harness[skills]==0.57.0",
|
|
42
|
+
]
|
|
43
|
+
langchain = [
|
|
44
|
+
"langchain==1.4.6",
|
|
45
|
+
"langgraph==1.2.16",
|
|
46
|
+
"deepagents==0.7.28",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
[dependency-groups]
|
|
50
|
+
dev = [
|
|
51
|
+
"pytest>=8",
|
|
52
|
+
"ruff>=0.8",
|
|
53
|
+
"mypy>=1.13",
|
|
54
|
+
"pydantic-ai-slim>=2.40.0",
|
|
55
|
+
"pydantic-ai-harness[skills]==0.57.0",
|
|
56
|
+
"playwright>=1.47",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[tool.hatch.build.targets.sdist]
|
|
60
|
+
include = [
|
|
61
|
+
"/src",
|
|
62
|
+
"/tests",
|
|
63
|
+
"/LICENSE",
|
|
64
|
+
"/README.md",
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
[tool.hatch.build.targets.wheel.force-include]
|
|
68
|
+
"src/chartagent/_bundle/flint.iife.js" = "chartagent/_bundle/flint.iife.js"
|
|
69
|
+
"src/chartagent/frame/vocab.json" = "chartagent/frame/vocab.json"
|
|
70
|
+
"src/chartagent/plan/prompts/step1.system.md" = "chartagent/plan/prompts/step1.system.md"
|
|
71
|
+
"src/chartagent/plan/prompts/step2.system.md" = "chartagent/plan/prompts/step2.system.md"
|
|
72
|
+
"src/chartagent/py.typed" = "chartagent/py.typed"
|
|
73
|
+
|
|
74
|
+
[tool.ruff]
|
|
75
|
+
target-version = "py311"
|
|
76
|
+
src = ["src", "tests"]
|
|
77
|
+
extend-exclude = [
|
|
78
|
+
"prototypes",
|
|
79
|
+
"design",
|
|
80
|
+
"explainers",
|
|
81
|
+
"src/chartagent/frame/_generated.py",
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
[tool.ruff.lint]
|
|
85
|
+
select = ["E", "F", "I", "UP"]
|
|
86
|
+
|
|
87
|
+
[tool.pytest.ini_options]
|
|
88
|
+
testpaths = ["tests"]
|
|
89
|
+
markers = [
|
|
90
|
+
"large: 10 GB-class source; excluded from the default run",
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
[tool.mypy]
|
|
94
|
+
strict = true
|
|
95
|
+
mypy_path = "src"
|
|
96
|
+
explicit_package_bases = true
|
|
97
|
+
files = ["src", "tests"]
|
|
98
|
+
|
|
99
|
+
[[tool.mypy.overrides]]
|
|
100
|
+
module = ["pyarrow", "pyarrow.*"]
|
|
101
|
+
ignore_missing_imports = true
|
|
102
|
+
|
|
103
|
+
[[tool.mypy.overrides]]
|
|
104
|
+
module = [
|
|
105
|
+
"langchain",
|
|
106
|
+
"langchain.*",
|
|
107
|
+
"langchain_core",
|
|
108
|
+
"langchain_core.*",
|
|
109
|
+
"langgraph",
|
|
110
|
+
"langgraph.*",
|
|
111
|
+
"deepagents",
|
|
112
|
+
"deepagents.*",
|
|
113
|
+
"langsmith",
|
|
114
|
+
"langsmith.*",
|
|
115
|
+
]
|
|
116
|
+
ignore_missing_imports = true
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""chartagent — embeddable agentic chart-creation library."""
|
|
2
|
+
|
|
3
|
+
from chartagent._flint import FlintBundle, flint_bundle
|
|
4
|
+
from chartagent.bind import DataSource, bind
|
|
5
|
+
from chartagent.envelope import Advisory, Envelope
|
|
6
|
+
from chartagent.errors import ChartAgentError, DocumentAssemblyError
|
|
7
|
+
from chartagent.frame import (
|
|
8
|
+
Backend,
|
|
9
|
+
ChartVocabulary,
|
|
10
|
+
EncodingActionDef,
|
|
11
|
+
InputFrame,
|
|
12
|
+
PropertyDef,
|
|
13
|
+
canonical_json,
|
|
14
|
+
vocabulary,
|
|
15
|
+
)
|
|
16
|
+
from chartagent.frame._generated import * # noqa: F403
|
|
17
|
+
from chartagent.frame._generated import __all__ as _GENERATED_ALL
|
|
18
|
+
from chartagent.plan.agent import ChartAgent, create_chart_agent
|
|
19
|
+
from chartagent.rasterise import Rasteriser
|
|
20
|
+
from chartagent.recipe import (
|
|
21
|
+
BoundDocument,
|
|
22
|
+
BoundRecipe,
|
|
23
|
+
ChartDocument,
|
|
24
|
+
ChartRecipe,
|
|
25
|
+
EscapeReason,
|
|
26
|
+
LibraryPin,
|
|
27
|
+
bind_recipe,
|
|
28
|
+
)
|
|
29
|
+
from chartagent.result import ChartResult
|
|
30
|
+
from chartagent.review import CheckResult, ReviewReport
|
|
31
|
+
from chartagent.session import ChartSession
|
|
32
|
+
from chartagent.shell import Shell, build_shell
|
|
33
|
+
from chartagent.transform.serialize import serialize_rows
|
|
34
|
+
|
|
35
|
+
_GENERATED_MODELS = tuple(
|
|
36
|
+
name
|
|
37
|
+
for name in _GENERATED_ALL
|
|
38
|
+
if name.endswith("Properties") and name != "GeneratedProperties"
|
|
39
|
+
)
|
|
40
|
+
for _name in _GENERATED_ALL:
|
|
41
|
+
if _name not in _GENERATED_MODELS:
|
|
42
|
+
del globals()[_name]
|
|
43
|
+
del _name
|
|
44
|
+
|
|
45
|
+
__all__ = [
|
|
46
|
+
"bind",
|
|
47
|
+
"bind_recipe",
|
|
48
|
+
"ChartRecipe",
|
|
49
|
+
"BoundRecipe",
|
|
50
|
+
"ChartDocument",
|
|
51
|
+
"BoundDocument",
|
|
52
|
+
"LibraryPin",
|
|
53
|
+
"EscapeReason",
|
|
54
|
+
"build_shell",
|
|
55
|
+
"Shell",
|
|
56
|
+
"DocumentAssemblyError",
|
|
57
|
+
"serialize_rows",
|
|
58
|
+
"Envelope",
|
|
59
|
+
"ChartResult",
|
|
60
|
+
"ChartSession",
|
|
61
|
+
"ReviewReport",
|
|
62
|
+
"CheckResult",
|
|
63
|
+
"Rasteriser",
|
|
64
|
+
"create_chart_agent",
|
|
65
|
+
"ChartAgent",
|
|
66
|
+
"DataSource",
|
|
67
|
+
"Advisory",
|
|
68
|
+
"flint_bundle",
|
|
69
|
+
"FlintBundle",
|
|
70
|
+
"ChartAgentError",
|
|
71
|
+
"canonical_json",
|
|
72
|
+
"vocabulary",
|
|
73
|
+
"ChartVocabulary",
|
|
74
|
+
"PropertyDef",
|
|
75
|
+
"EncodingActionDef",
|
|
76
|
+
"InputFrame",
|
|
77
|
+
"Backend",
|
|
78
|
+
*_GENERATED_MODELS,
|
|
79
|
+
]
|