ya-claw 0.58.6__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.
Files changed (44) hide show
  1. ya_claw-0.58.6/.env.example +23 -0
  2. ya_claw-0.58.6/.gitignore +153 -0
  3. ya_claw-0.58.6/PKG-INFO +163 -0
  4. ya_claw-0.58.6/README.md +135 -0
  5. ya_claw-0.58.6/pyproject.toml +77 -0
  6. ya_claw-0.58.6/spec/00-overview.md +184 -0
  7. ya_claw-0.58.6/spec/01-configuration-and-workspace-provider.md +128 -0
  8. ya_claw-0.58.6/spec/02-execution-and-session.md +249 -0
  9. ya_claw-0.58.6/spec/03-storage-and-streaming.md +174 -0
  10. ya_claw-0.58.6/spec/04-api.md +179 -0
  11. ya_claw-0.58.6/spec/05-web-ui-and-operations.md +140 -0
  12. ya_claw-0.58.6/spec/README.md +44 -0
  13. ya_claw-0.58.6/start.sh +8 -0
  14. ya_claw-0.58.6/tests/test_app.py +92 -0
  15. ya_claw-0.58.6/tests/test_cli.py +130 -0
  16. ya_claw-0.58.6/tests/test_session_api.py +141 -0
  17. ya_claw-0.58.6/tests/test_session_controller.py +127 -0
  18. ya_claw-0.58.6/ya_claw/__init__.py +4 -0
  19. ya_claw-0.58.6/ya_claw/__main__.py +3 -0
  20. ya_claw-0.58.6/ya_claw/alembic/env.py +64 -0
  21. ya_claw-0.58.6/ya_claw/alembic/script.py.mako +27 -0
  22. ya_claw-0.58.6/ya_claw/alembic/versions/20260421_000001_create_sessions_and_runs.py +55 -0
  23. ya_claw-0.58.6/ya_claw/alembic/versions/__init__.py +1 -0
  24. ya_claw-0.58.6/ya_claw/alembic.ini +44 -0
  25. ya_claw-0.58.6/ya_claw/api/__init__.py +1 -0
  26. ya_claw-0.58.6/ya_claw/api/health.py +26 -0
  27. ya_claw-0.58.6/ya_claw/api/runs.py +47 -0
  28. ya_claw-0.58.6/ya_claw/api/sessions.py +70 -0
  29. ya_claw-0.58.6/ya_claw/app.py +178 -0
  30. ya_claw-0.58.6/ya_claw/bridge/__init__.py +3 -0
  31. ya_claw-0.58.6/ya_claw/bridge/cli.py +25 -0
  32. ya_claw-0.58.6/ya_claw/cli.py +131 -0
  33. ya_claw-0.58.6/ya_claw/config.py +93 -0
  34. ya_claw-0.58.6/ya_claw/controller/__init__.py +3 -0
  35. ya_claw-0.58.6/ya_claw/controller/health.py +40 -0
  36. ya_claw-0.58.6/ya_claw/controller/models.py +104 -0
  37. ya_claw-0.58.6/ya_claw/controller/run.py +71 -0
  38. ya_claw-0.58.6/ya_claw/controller/session.py +135 -0
  39. ya_claw-0.58.6/ya_claw/db/__init__.py +4 -0
  40. ya_claw-0.58.6/ya_claw/db/engine.py +53 -0
  41. ya_claw-0.58.6/ya_claw/orm/__init__.py +3 -0
  42. ya_claw-0.58.6/ya_claw/orm/base.py +7 -0
  43. ya_claw-0.58.6/ya_claw/orm/tables.py +60 -0
  44. ya_claw-0.58.6/ya_claw/runtime_state.py +19 -0
@@ -0,0 +1,23 @@
1
+ # YA Claw runtime environment variables
2
+ # Copy this file to packages/ya-claw/.env and uncomment the variables you need.
3
+ # SDK and tool environment variables live in packages/ya-agent-sdk/.env.example.
4
+
5
+ # =============================================================================
6
+ # YA Claw Configuration (YA_CLAW_ prefix)
7
+ # =============================================================================
8
+
9
+ # YA_CLAW_ENVIRONMENT=development
10
+ # YA_CLAW_HOST=127.0.0.1
11
+ # YA_CLAW_PORT=9042
12
+ # YA_CLAW_PUBLIC_BASE_URL=http://127.0.0.1:9042
13
+ # YA_CLAW_API_TOKEN=replace-with-a-long-random-token
14
+ # YA_CLAW_AUTO_MIGRATE=true
15
+ # YA_CLAW_DATA_DIR=~/.ya-claw/data
16
+ # YA_CLAW_WORKSPACE_ROOT=~/.ya-claw/workspace
17
+ # Default SQLite path: ~/.ya-claw/ya_claw.sqlite3
18
+ # YA_CLAW_DATABASE_URL=postgresql+psycopg://ya_claw:ya_claw@localhost:15433/ya_claw
19
+ # YA_CLAW_DATABASE_ECHO=false
20
+ # YA_CLAW_DATABASE_POOL_SIZE=5
21
+ # YA_CLAW_DATABASE_MAX_OVERFLOW=10
22
+ # YA_CLAW_DATABASE_POOL_RECYCLE_SECONDS=3600
23
+ # YA_CLAW_WEB_DIST_DIR=apps/ya-claw-web/dist
@@ -0,0 +1,153 @@
1
+ docs/source
2
+
3
+ # From https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ .Python
15
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ downloads/
19
+ eggs/
20
+ .eggs/
21
+ lib/
22
+ lib64/
23
+ parts/
24
+ sdist/
25
+ var/
26
+ wheels/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ # Installer logs
40
+ pip-log.txt
41
+ pip-delete-this-directory.txt
42
+
43
+ # Unit test / coverage reports
44
+ htmlcov/
45
+ .tox/
46
+ .nox/
47
+ .coverage
48
+ .coverage.*
49
+ .cache
50
+ nosetests.xml
51
+ coverage.xml
52
+ *.cover
53
+ *.py,cover
54
+ .hypothesis/
55
+ .pytest_cache/
56
+ cover/
57
+
58
+ # Translations
59
+ *.mo
60
+ *.pot
61
+
62
+ # Django stuff:
63
+ *.log
64
+ local_settings.py
65
+ db.sqlite3
66
+ db.sqlite3-journal
67
+
68
+ # Flask stuff:
69
+ instance/
70
+ .webassets-cache
71
+
72
+ # Scrapy stuff:
73
+ .scrapy
74
+
75
+ # Sphinx documentation
76
+ docs/_build/
77
+
78
+ # PyBuilder
79
+ .pybuilder/
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints
84
+
85
+ # IPython
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
90
+ __pypackages__/
91
+
92
+ # Celery stuff
93
+ celerybeat-schedule
94
+ celerybeat.pid
95
+
96
+ # SageMath parsed files
97
+ *.sage.py
98
+
99
+ # Environments
100
+ .env
101
+ .venv
102
+ env/
103
+ venv/
104
+ ENV/
105
+ env.bak/
106
+ venv.bak/
107
+
108
+ # Spyder project settings
109
+ .spyderproject
110
+ .spyproject
111
+
112
+ # Rope project settings
113
+ .ropeproject
114
+
115
+ # mkdocs documentation
116
+ /site
117
+
118
+ # mypy
119
+ .mypy_cache/
120
+ .pyright/
121
+ .dmypy.json
122
+ dmypy.json
123
+
124
+ # Pyre type checker
125
+ .pyre/
126
+
127
+ # pytype static type analyzer
128
+ .pytype/
129
+
130
+ # Cython debug symbols
131
+ cython_debug/
132
+
133
+ # Vscode config files
134
+ # .vscode/
135
+
136
+ # PyCharm
137
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
138
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
139
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
140
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
141
+ #.idea/
142
+
143
+ TO-DO.json
144
+ dev/
145
+ ya_agent_sdk/sandbox/shell/templates/public
146
+
147
+ # Sync automaticlly
148
+ yaacli/yaacli/skills/building-agents
149
+
150
+ # Frontend
151
+ node_modules/
152
+ apps/*/dist/
153
+ *.tsbuildinfo
@@ -0,0 +1,163 @@
1
+ Metadata-Version: 2.4
2
+ Name: ya-claw
3
+ Version: 0.58.6
4
+ Summary: Workspace-native local-first agent runtime built on top of ya-agent-sdk
5
+ Project-URL: Repository, https://github.com/wh1isper/ya-mono
6
+ Author-email: wh1isper <jizhongsheng957@gmail.com>
7
+ Keywords: agent-runtime,ai-agent,fastapi,python,workspace
8
+ Classifier: Framework :: FastAPI
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Programming Language :: Python
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Requires-Python: <3.14,>=3.11
17
+ Requires-Dist: aiosqlite>=0.21.0
18
+ Requires-Dist: alembic>=1.16.0
19
+ Requires-Dist: click>=8.0
20
+ Requires-Dist: fastapi>=0.116.0
21
+ Requires-Dist: pydantic-settings>=2.0.0
22
+ Requires-Dist: pydantic>=2.12.0
23
+ Requires-Dist: sqlalchemy>=2.0.0
24
+ Requires-Dist: sse-starlette>=3.0.0
25
+ Requires-Dist: uvicorn[standard]>=0.35.0
26
+ Requires-Dist: ya-agent-sdk[all]==0.58.6
27
+ Description-Content-Type: text/markdown
28
+
29
+ # YA Claw
30
+
31
+ Workspace-native single-node agent runtime and web service for the `ya-mono` workspace.
32
+
33
+ ## Scope
34
+
35
+ YA Claw packages a durable runtime shell around `ya-agent-sdk` with:
36
+
37
+ - registered workspaces resolved through `WorkspaceProvider`
38
+ - reusable agent profiles
39
+ - resumable sessions and runs
40
+ - in-process active state and async task coordination
41
+ - session schedules for timed execution
42
+ - SQLite-first durable state with optional PostgreSQL
43
+ - local filesystem session continuity and exported state
44
+ - a bundled web shell for local and self-hosted use
45
+ - bridge adapters that connect IM channels to the YA Claw service
46
+
47
+ ## Current Direction
48
+
49
+ The target single-node shape runs as one web service.
50
+ The runtime keeps active session state, live delivery, async tasks, schedule dispatch, and bridge coordination inside one runtime process.
51
+ SQLite is the default durable store.
52
+ PostgreSQL remains an optional storage backend for deployments that prefer an external relational database.
53
+
54
+ ## Layout
55
+
56
+ Key areas in this package:
57
+
58
+ - `.env.example` — runtime environment example
59
+ - `spec/` — architecture and runtime design documents
60
+ - `tests/` — runtime tests
61
+ - `ya_claw/api/` — HTTP API surface
62
+ - `ya_claw/bridge/` — IM bridge adapters and relay logic
63
+ - `ya_claw/app.py` and `ya_claw/cli.py` — application entrypoints
64
+ - `ya_claw/config.py` — runtime configuration
65
+
66
+ ## Runtime Shape
67
+
68
+ The runtime shape is:
69
+
70
+ - one YA Claw web service
71
+ - one in-process runtime state manager
72
+ - one session scheduler
73
+ - one bridge subsystem for external channels
74
+ - one shared bearer token for HTTP access
75
+ - one SQLite database by default
76
+ - optional PostgreSQL
77
+ - one runtime data directory for sensitive session continuity
78
+ - one workspace root for project data
79
+ - one bundled web shell
80
+
81
+ ## Quick Start
82
+
83
+ From the workspace root, start the default runtime flow:
84
+
85
+ ```bash
86
+ uv sync --all-packages
87
+ cp packages/ya-claw/.env.example packages/ya-claw/.env
88
+ uv run --package ya-claw ya-claw serve --reload
89
+ ```
90
+
91
+ Set `YA_CLAW_API_TOKEN` before starting the service.
92
+ The development server listens on `http://127.0.0.1:9042` by default.
93
+ YA Claw loads `YA_CLAW_*` settings from `packages/ya-claw/.env` and the process environment.
94
+ Use [`packages/ya-agent-sdk/.env.example`](../ya-agent-sdk/.env.example) for SDK and tool environment variables.
95
+
96
+ Default local paths:
97
+
98
+ - SQLite database: `~/.ya-claw/ya_claw.sqlite3`
99
+ - runtime data root: `~/.ya-claw/data`
100
+ - workspace root: `~/.ya-claw/workspace`
101
+
102
+ ## External Database
103
+
104
+ Set `YA_CLAW_DATABASE_URL` in `packages/ya-claw/.env` when you want an external PostgreSQL database.
105
+ The default SQLite file stays at `~/.ya-claw/ya_claw.sqlite3`.
106
+
107
+ ## Database Commands
108
+
109
+ ```bash
110
+ uv run --package ya-claw ya-claw db upgrade
111
+ uv run --package ya-claw ya-claw db current
112
+ uv run --package ya-claw ya-claw db history
113
+ uv run --package ya-claw ya-claw db revision "add session tables"
114
+ ```
115
+
116
+ ## Bridge Commands
117
+
118
+ The CLI owns a top-level bridge command group.
119
+
120
+ ```bash
121
+ uv run --package ya-claw ya-claw bridge ls
122
+ uv run --package ya-claw ya-claw bridge run lark
123
+ uv run --package ya-claw ya-claw bridge serve lark
124
+ ```
125
+
126
+ ### Bridge Relay Modes
127
+
128
+ - `task relay` — a bridge submits work to YA Claw as an async session flow and delivers agent output back through the channel adapter or channel CLI
129
+ - `stream relay` — a bridge opens a foreground run, consumes SSE from the YA Claw service, and streams channel-ready output directly
130
+
131
+ ## Web Shell
132
+
133
+ Run the web shell from the repository root:
134
+
135
+ ```bash
136
+ make web-dev
137
+ ```
138
+
139
+ ## Docker
140
+
141
+ Build from the repository root:
142
+
143
+ ```bash
144
+ docker build -f Dockerfile.ya-claw -t ya-claw:dev .
145
+ ```
146
+
147
+ ## Initial API Surface
148
+
149
+ Every HTTP route except `/healthz` expects `Authorization: Bearer <YA_CLAW_API_TOKEN>`.
150
+
151
+ - `GET /healthz` — service health probe with storage and runtime component status
152
+ - `GET /api/v1/schedules` — session schedule inspection surface
153
+ - `POST /api/v1/bridges/{bridge_id}/dispatch` — bridge ingress surface
154
+
155
+ ## Spec Set
156
+
157
+ - [`spec/README.md`](spec/README.md)
158
+ - [`spec/00-overview.md`](spec/00-overview.md)
159
+ - [`spec/01-configuration-and-workspace-provider.md`](spec/01-configuration-and-workspace-provider.md)
160
+ - [`spec/02-execution-and-session.md`](spec/02-execution-and-session.md)
161
+ - [`spec/03-storage-and-streaming.md`](spec/03-storage-and-streaming.md)
162
+ - [`spec/04-api.md`](spec/04-api.md)
163
+ - [`spec/05-web-ui-and-operations.md`](spec/05-web-ui-and-operations.md)
@@ -0,0 +1,135 @@
1
+ # YA Claw
2
+
3
+ Workspace-native single-node agent runtime and web service for the `ya-mono` workspace.
4
+
5
+ ## Scope
6
+
7
+ YA Claw packages a durable runtime shell around `ya-agent-sdk` with:
8
+
9
+ - registered workspaces resolved through `WorkspaceProvider`
10
+ - reusable agent profiles
11
+ - resumable sessions and runs
12
+ - in-process active state and async task coordination
13
+ - session schedules for timed execution
14
+ - SQLite-first durable state with optional PostgreSQL
15
+ - local filesystem session continuity and exported state
16
+ - a bundled web shell for local and self-hosted use
17
+ - bridge adapters that connect IM channels to the YA Claw service
18
+
19
+ ## Current Direction
20
+
21
+ The target single-node shape runs as one web service.
22
+ The runtime keeps active session state, live delivery, async tasks, schedule dispatch, and bridge coordination inside one runtime process.
23
+ SQLite is the default durable store.
24
+ PostgreSQL remains an optional storage backend for deployments that prefer an external relational database.
25
+
26
+ ## Layout
27
+
28
+ Key areas in this package:
29
+
30
+ - `.env.example` — runtime environment example
31
+ - `spec/` — architecture and runtime design documents
32
+ - `tests/` — runtime tests
33
+ - `ya_claw/api/` — HTTP API surface
34
+ - `ya_claw/bridge/` — IM bridge adapters and relay logic
35
+ - `ya_claw/app.py` and `ya_claw/cli.py` — application entrypoints
36
+ - `ya_claw/config.py` — runtime configuration
37
+
38
+ ## Runtime Shape
39
+
40
+ The runtime shape is:
41
+
42
+ - one YA Claw web service
43
+ - one in-process runtime state manager
44
+ - one session scheduler
45
+ - one bridge subsystem for external channels
46
+ - one shared bearer token for HTTP access
47
+ - one SQLite database by default
48
+ - optional PostgreSQL
49
+ - one runtime data directory for sensitive session continuity
50
+ - one workspace root for project data
51
+ - one bundled web shell
52
+
53
+ ## Quick Start
54
+
55
+ From the workspace root, start the default runtime flow:
56
+
57
+ ```bash
58
+ uv sync --all-packages
59
+ cp packages/ya-claw/.env.example packages/ya-claw/.env
60
+ uv run --package ya-claw ya-claw serve --reload
61
+ ```
62
+
63
+ Set `YA_CLAW_API_TOKEN` before starting the service.
64
+ The development server listens on `http://127.0.0.1:9042` by default.
65
+ YA Claw loads `YA_CLAW_*` settings from `packages/ya-claw/.env` and the process environment.
66
+ Use [`packages/ya-agent-sdk/.env.example`](../ya-agent-sdk/.env.example) for SDK and tool environment variables.
67
+
68
+ Default local paths:
69
+
70
+ - SQLite database: `~/.ya-claw/ya_claw.sqlite3`
71
+ - runtime data root: `~/.ya-claw/data`
72
+ - workspace root: `~/.ya-claw/workspace`
73
+
74
+ ## External Database
75
+
76
+ Set `YA_CLAW_DATABASE_URL` in `packages/ya-claw/.env` when you want an external PostgreSQL database.
77
+ The default SQLite file stays at `~/.ya-claw/ya_claw.sqlite3`.
78
+
79
+ ## Database Commands
80
+
81
+ ```bash
82
+ uv run --package ya-claw ya-claw db upgrade
83
+ uv run --package ya-claw ya-claw db current
84
+ uv run --package ya-claw ya-claw db history
85
+ uv run --package ya-claw ya-claw db revision "add session tables"
86
+ ```
87
+
88
+ ## Bridge Commands
89
+
90
+ The CLI owns a top-level bridge command group.
91
+
92
+ ```bash
93
+ uv run --package ya-claw ya-claw bridge ls
94
+ uv run --package ya-claw ya-claw bridge run lark
95
+ uv run --package ya-claw ya-claw bridge serve lark
96
+ ```
97
+
98
+ ### Bridge Relay Modes
99
+
100
+ - `task relay` — a bridge submits work to YA Claw as an async session flow and delivers agent output back through the channel adapter or channel CLI
101
+ - `stream relay` — a bridge opens a foreground run, consumes SSE from the YA Claw service, and streams channel-ready output directly
102
+
103
+ ## Web Shell
104
+
105
+ Run the web shell from the repository root:
106
+
107
+ ```bash
108
+ make web-dev
109
+ ```
110
+
111
+ ## Docker
112
+
113
+ Build from the repository root:
114
+
115
+ ```bash
116
+ docker build -f Dockerfile.ya-claw -t ya-claw:dev .
117
+ ```
118
+
119
+ ## Initial API Surface
120
+
121
+ Every HTTP route except `/healthz` expects `Authorization: Bearer <YA_CLAW_API_TOKEN>`.
122
+
123
+ - `GET /healthz` — service health probe with storage and runtime component status
124
+ - `GET /api/v1/schedules` — session schedule inspection surface
125
+ - `POST /api/v1/bridges/{bridge_id}/dispatch` — bridge ingress surface
126
+
127
+ ## Spec Set
128
+
129
+ - [`spec/README.md`](spec/README.md)
130
+ - [`spec/00-overview.md`](spec/00-overview.md)
131
+ - [`spec/01-configuration-and-workspace-provider.md`](spec/01-configuration-and-workspace-provider.md)
132
+ - [`spec/02-execution-and-session.md`](spec/02-execution-and-session.md)
133
+ - [`spec/03-storage-and-streaming.md`](spec/03-storage-and-streaming.md)
134
+ - [`spec/04-api.md`](spec/04-api.md)
135
+ - [`spec/05-web-ui-and-operations.md`](spec/05-web-ui-and-operations.md)
@@ -0,0 +1,77 @@
1
+ [project]
2
+ name = "ya-claw"
3
+ dynamic = ["version", "dependencies"]
4
+ description = "Workspace-native local-first agent runtime built on top of ya-agent-sdk"
5
+ authors = [{ name = "wh1isper", email = "jizhongsheng957@gmail.com" }]
6
+ readme = "README.md"
7
+ keywords = ["python", "fastapi", "agent-runtime", "workspace", "ai-agent"]
8
+ requires-python = ">=3.11,<3.14"
9
+ classifiers = [
10
+ "Intended Audience :: Developers",
11
+ "Programming Language :: Python",
12
+ "Programming Language :: Python :: 3",
13
+ "Programming Language :: Python :: 3.11",
14
+ "Programming Language :: Python :: 3.12",
15
+ "Programming Language :: Python :: 3.13",
16
+ "Framework :: FastAPI",
17
+ "Topic :: Software Development :: Libraries :: Python Modules",
18
+ ]
19
+
20
+ [project.urls]
21
+ Repository = "https://github.com/wh1isper/ya-mono"
22
+
23
+ [project.scripts]
24
+ ya-claw = "ya_claw.cli:cli"
25
+
26
+ [build-system]
27
+ requires = ["hatchling", "uv-dynamic-versioning>=0.7.0"]
28
+ build-backend = "hatchling.build"
29
+
30
+ [tool.hatch.version]
31
+ source = "uv-dynamic-versioning"
32
+
33
+ [tool.uv-dynamic-versioning]
34
+ vcs = "git"
35
+ style = "pep440"
36
+ bump = true
37
+
38
+ [tool.hatch.metadata.hooks.uv-dynamic-versioning]
39
+ dependencies = [
40
+ "alembic>=1.16.0",
41
+ "click>=8.0",
42
+ "fastapi>=0.116.0",
43
+ "aiosqlite>=0.21.0",
44
+ "pydantic>=2.12.0",
45
+ "pydantic-settings>=2.0.0",
46
+ "sqlalchemy>=2.0.0",
47
+ "sse-starlette>=3.0.0",
48
+ "uvicorn[standard]>=0.35.0",
49
+ "ya-agent-sdk[all]=={{ version }}",
50
+ ]
51
+
52
+ [tool.hatch.build.targets.wheel]
53
+ packages = ["ya_claw"]
54
+ include = [
55
+ "ya_claw/alembic.ini",
56
+ "ya_claw/alembic/**/*.py",
57
+ "ya_claw/alembic/script.py.mako",
58
+ ]
59
+
60
+ [tool.uv.sources]
61
+ ya-agent-sdk = { workspace = true }
62
+
63
+ [dependency-groups]
64
+ dev = [
65
+ "deptry>=0.22.0",
66
+ "httpx>=0.28.1",
67
+ "pre-commit>=2.20.0",
68
+ "pyright>=1.1.0",
69
+ "pytest>=7.2.0",
70
+ "pytest-asyncio>=0.25.3",
71
+ "ruff>=0.9.2",
72
+ ]
73
+
74
+ [tool.deptry]
75
+ ignore = ["DEP001"]
76
+ package_module_name_map = { "aiosqlite" = "aiosqlite", "alembic" = "alembic", "click" = "click", "fastapi" = "fastapi", "httpx" = "httpx", "pre-commit" = "pre_commit", "pydantic" = "pydantic", "pydantic-settings" = "pydantic_settings", "pytest" = "pytest", "pytest-asyncio" = "pytest_asyncio", "pyright" = "pyright", "ruff" = "ruff", "sqlalchemy" = "sqlalchemy", "sse-starlette" = "sse_starlette", "uvicorn" = "uvicorn", "ya-agent-sdk" = "ya_agent_sdk" }
77
+ per_rule_ignores = { DEP003 = ["aiosqlite", "alembic", "click", "fastapi", "pydantic", "pydantic_settings", "sqlalchemy", "uvicorn", "ya_agent_sdk", "ya_claw"], DEP004 = ["pytest"] }