aicp-cli 0.20.2__tar.gz → 0.20.4__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 (64) hide show
  1. aicp_cli-0.20.4/.github/dependabot.yml +19 -0
  2. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.github/workflows/ci.yml +2 -2
  3. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.github/workflows/release.yml +2 -2
  4. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/CHANGELOG.md +14 -0
  5. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/PKG-INFO +2 -2
  6. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/pyproject.toml +2 -2
  7. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/commit.md +1 -0
  8. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_skills.py +14 -0
  9. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/uv.lock +24 -24
  10. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/.gitignore +0 -0
  11. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/CLAUDE.md +0 -0
  12. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/LICENSE +0 -0
  13. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/README.md +0 -0
  14. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/TODO.md +0 -0
  15. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/config.example.json +0 -0
  16. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/docs/images/aicp-run.png +0 -0
  17. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/safe-git-push/SKILL.md +0 -0
  18. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/skills/safe-git-push/scripts/safe_push.py +0 -0
  19. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/__init__.py +0 -0
  20. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/_keyreader.py +0 -0
  21. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/_utils.py +0 -0
  22. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agentcfg.py +0 -0
  23. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agents.json +0 -0
  24. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/agents.py +0 -0
  25. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/budget.py +0 -0
  26. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/cli.py +0 -0
  27. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/config.py +0 -0
  28. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/contracts.py +0 -0
  29. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/gitflow.py +0 -0
  30. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/i18n.py +0 -0
  31. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/logo.py +0 -0
  32. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/menu.py +0 -0
  33. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/notify.py +0 -0
  34. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/present.py +0 -0
  35. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/quota.py +0 -0
  36. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/runner.py +0 -0
  37. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/secrets.py +0 -0
  38. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/skills.py +0 -0
  39. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/telegram_store.py +0 -0
  40. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/timing.py +0 -0
  41. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/src/aicp/update_check.py +0 -0
  42. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/conftest.py +0 -0
  43. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_agentcfg.py +0 -0
  44. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_agents.py +0 -0
  45. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_budget.py +0 -0
  46. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_cli.py +0 -0
  47. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_config.py +0 -0
  48. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_cross_platform.py +0 -0
  49. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_gitflow.py +0 -0
  50. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_i18n.py +0 -0
  51. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_logo.py +0 -0
  52. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu.py +0 -0
  53. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_settings_io.py +0 -0
  54. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_skills.py +0 -0
  55. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_menu_telegram.py +0 -0
  56. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_notify.py +0 -0
  57. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_present.py +0 -0
  58. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_quota.py +0 -0
  59. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_runner.py +0 -0
  60. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_secrets.py +0 -0
  61. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_telegram_store.py +0 -0
  62. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_timing.py +0 -0
  63. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_undo.py +0 -0
  64. {aicp_cli-0.20.2 → aicp_cli-0.20.4}/tests/test_update_check.py +0 -0
@@ -0,0 +1,19 @@
1
+ version: 2
2
+ updates:
3
+ # Actions stay pinned by commit SHA with a "# vX.Y.Z" comment; Dependabot
4
+ # understands that form and bumps both the SHA and the comment.
5
+ - package-ecosystem: github-actions
6
+ directory: /
7
+ schedule:
8
+ interval: weekly
9
+ commit-message:
10
+ prefix: "chore(deps)"
11
+ - package-ecosystem: uv
12
+ directory: /
13
+ schedule:
14
+ interval: weekly
15
+ commit-message:
16
+ prefix: "chore(deps)"
17
+ groups:
18
+ minor-and-patch:
19
+ update-types: [minor, patch]
@@ -24,10 +24,10 @@ jobs:
24
24
  os: [macos-latest, ubuntu-latest, windows-latest]
25
25
  runs-on: ${{ matrix.os }}
26
26
  steps:
27
- - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
27
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
28
28
  with:
29
29
  persist-credentials: false
30
- - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
30
+ - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
31
31
  with:
32
32
  python-version: "3.10"
33
33
  enable-cache: true
@@ -20,10 +20,10 @@ jobs:
20
20
  runs-on: ubuntu-latest
21
21
  timeout-minutes: 15
22
22
  steps:
23
- - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
23
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
24
24
  with:
25
25
  persist-credentials: false
26
- - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
26
+ - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
27
27
  with:
28
28
  python-version: "3.10"
29
29
  enable-cache: true
@@ -1,3 +1,17 @@
1
+ ## [0.20.4] - 2026-10-06
2
+
3
+ ### 🐛 Bug Fixes
4
+
5
+ - **skills:** Add name to vendored commit frontmatter
6
+
7
+ ### ⚙️ Miscellaneous Tasks
8
+
9
+ - Add Dependabot config (github-actions, uv)
10
+ ## [0.20.3] - 2026-10-04
11
+
12
+ ### 💼 Other
13
+
14
+ - **deps:** Require telegram-kit 0.2.2
1
15
  ## [0.20.2] - 2026-10-03
2
16
  ## [0.20.1] - 2026-10-03
3
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: aicp-cli
3
- Version: 0.20.2
3
+ Version: 0.20.4
4
4
  Summary: AI commit + push, with a git-verified result summary
5
5
  Project-URL: Repository, https://github.com/weskao/aicp
6
6
  Project-URL: Issues, https://github.com/weskao/aicp/issues
@@ -8,7 +8,7 @@ Author: Wes Kao
8
8
  License: MIT
9
9
  License-File: LICENSE
10
10
  Requires-Python: >=3.10
11
- Requires-Dist: telegram-kit<0.3,>=0.2.0
11
+ Requires-Dist: telegram-kit<0.3,>=0.2.2
12
12
  Description-Content-Type: text/markdown
13
13
 
14
14
  # aicp
@@ -2,14 +2,14 @@
2
2
  # PyPI distribution name only — the `aicp` name was taken in 2021 by an
3
3
  # unrelated project. The command, import path and repo stay `aicp`.
4
4
  name = "aicp-cli"
5
- version = "0.20.2"
5
+ version = "0.20.4"
6
6
  description = "AI commit + push, with a git-verified result summary"
7
7
  readme = "README.md"
8
8
  requires-python = ">=3.10"
9
9
  authors = [{ name = "Wes Kao" }]
10
10
  license = { text = "MIT" }
11
11
  dependencies = [
12
- "telegram-kit>=0.2.0,<0.3",
12
+ "telegram-kit>=0.2.2,<0.3",
13
13
  ]
14
14
 
15
15
  [project.scripts]
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: commit
2
3
  description: Stage and commit all changes, grouped into logical Conventional Commits batches.
3
4
  ---
4
5
 
@@ -205,6 +205,20 @@ def test_memory_file_and_config_dir_rewritten_per_cli(configured, name, dir_ref,
205
205
  assert ".claude" not in text
206
206
 
207
207
 
208
+ @pytest.mark.parametrize("skill", sorted(skills.SKILLS))
209
+ def test_installed_skill_frontmatter_names_the_skill(configured, skill):
210
+ """agy (and codex/opencode) silently drop a SKILL.md whose frontmatter
211
+ has no ``name:`` — the vendored commit.md once shipped with only
212
+ ``description:``, so ``/commit`` vanished from agy."""
213
+ h = configured("agy")
214
+ skills.install([cli("agy")], home=h)
215
+
216
+ target = skills.target_path(cli("agy"), skill, home=h)
217
+ skill_md = target / "SKILL.md" if skills.SKILLS[skill].is_dir else target
218
+ frontmatter = skill_md.read_text(encoding="utf-8").split("---\n", 2)[1]
219
+ assert f"name: {skill}\n" in frontmatter
220
+
221
+
208
222
  def test_claude_install_keeps_its_own_paths(configured):
209
223
  """Rewriting is a no-op for claude itself — nothing to break."""
210
224
  h = configured("claude")
@@ -4,7 +4,7 @@ requires-python = ">=3.10"
4
4
 
5
5
  [[package]]
6
6
  name = "aicp-cli"
7
- version = "0.20.2"
7
+ version = "0.20.4"
8
8
  source = { editable = "." }
9
9
  dependencies = [
10
10
  { name = "telegram-kit" },
@@ -18,7 +18,7 @@ dev = [
18
18
  ]
19
19
 
20
20
  [package.metadata]
21
- requires-dist = [{ name = "telegram-kit", specifier = ">=0.2.0,<0.3" }]
21
+ requires-dist = [{ name = "telegram-kit", specifier = ">=0.2.2,<0.3" }]
22
22
 
23
23
  [package.metadata.requires-dev]
24
24
  dev = [
@@ -132,36 +132,36 @@ wheels = [
132
132
 
133
133
  [[package]]
134
134
  name = "ruff"
135
- version = "0.16.7"
135
+ version = "0.16.10"
136
136
  source = { registry = "https://pypi.org/simple" }
137
- sdist = { url = "https://files.pythonhosted.org/packages/82/bb/5a449b9162e49b139d72f61672bd3ac1d790221f796d3304e2241fff4c58/ruff-0.16.7.tar.gz", hash = "sha256:5f71d004ac1263b22fa39462ac5ae618a4b77d58981af2cc79bf79a29c12b1a6", size = 4924184, upload-time = "2026-09-10T18:04:06.336Z" }
137
+ sdist = { url = "https://files.pythonhosted.org/packages/c4/49/23802c45f093eb14bde54b141d2b2f058edfa63a06db7beed047308cc08f/ruff-0.16.10.tar.gz", hash = "sha256:eff4728c4eaae93f0955cd264d24b2ab348e74bf59986ccf282ba6dc16b3b017", size = 4958724, upload-time = "2026-10-01T18:03:21.697Z" }
138
138
  wheels = [
139
- { url = "https://files.pythonhosted.org/packages/e3/b2/c80aeeb7f9e469c0d63a85d2f1ab6e1ebfbe10ea7a8d2438b7e09e3ff09e/ruff-0.16.7-py3-none-linux_armv6l.whl", hash = "sha256:727307773e7c7f9181d3ed3a2484186e56c1fa1874255911c74585eb2c7c19f9", size = 10048917, upload-time = "2026-09-10T18:03:30.28Z" },
140
- { url = "https://files.pythonhosted.org/packages/7b/96/20bb7bcae008004df52afcb7ac83432d4a467f2c17b672fe46d26be231c5/ruff-0.16.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9d61c258deabf58f34c67bd4bb4d939c7f2e6b5f0e59c1cdd1cf771b11cde929", size = 10242929, upload-time = "2026-09-10T18:03:32.706Z" },
141
- { url = "https://files.pythonhosted.org/packages/90/b2/f184b0d5abec02db69cfd7e49b688ae0237554528ca777136c613bf36bee/ruff-0.16.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7ab81118df8945e0193d0240712aa4496573595b75185c3636ed825592a0f728", size = 9847245, upload-time = "2026-09-10T18:03:34.509Z" },
142
- { url = "https://files.pythonhosted.org/packages/eb/2d/db1633a641866ed801e34cc6b60ef236c5e16f9b2124ab1d49cc24a5fe4f/ruff-0.16.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c196c968874fc8019da8e7163de7a1a370f111e2309b4b7dfea0fce950198d0", size = 9961780, upload-time = "2026-09-10T18:03:36.618Z" },
143
- { url = "https://files.pythonhosted.org/packages/4d/98/edea21e1a3e38dbbc3bf6bb068b863b3b06184cf8533a4c7dbbe208a89d5/ruff-0.16.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac8c3bd0a7e10ad31e6ce51e7a99f3cb772e69aecdd6b9ea7e99b362f62a62c0", size = 9866337, upload-time = "2026-09-10T18:03:38.805Z" },
144
- { url = "https://files.pythonhosted.org/packages/0b/11/a15e60d4c87b214646f116ca9d204475bf993ee1047459bc9a360fd4d6d1/ruff-0.16.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:398d3988edde000b5c75dc1b3f584708da9bc990de069c18909142580fec1af9", size = 10562512, upload-time = "2026-09-10T18:03:40.71Z" },
145
- { url = "https://files.pythonhosted.org/packages/29/42/eaff4c9b6d0c7cdf56df313a17e89ae854f5bbc0b0c8f9cce19be0ab7a8f/ruff-0.16.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce05b62b770a8217c4646a9c4139fca00efe8fe5d71f87df2b243ff20d4584d1", size = 11302938, upload-time = "2026-09-10T18:03:42.607Z" },
146
- { url = "https://files.pythonhosted.org/packages/5d/43/c75aa59a4ec181fe2ec06cab30e198c1c6d107229a9f008ae3a7c16cabd8/ruff-0.16.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af1b576fddb9d9ef2ececfb5fadcd6a624b25070ed85e3cfcfe449fc3ff6a7b9", size = 10840857, upload-time = "2026-09-10T18:03:44.604Z" },
147
- { url = "https://files.pythonhosted.org/packages/21/33/81f3da371942ea031105ba679d8d6e28ec1660ccd690a45f42d381161356/ruff-0.16.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce7f8f22df67c93ed96c717f9128eadb797144ac2bad475cf536f31d6100c55", size = 10370001, upload-time = "2026-09-10T18:03:46.706Z" },
148
- { url = "https://files.pythonhosted.org/packages/fa/0b/6345fb4dbf6dd0ed1cfe5d18391dc9c3f59cc81622a7b0a65b84b3e730ba/ruff-0.16.7-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:06d0e93d04f392996435ebd600c153f65b47d73fbec2415aa99c5ee5756b3a5f", size = 10548735, upload-time = "2026-09-10T18:03:48.658Z" },
149
- { url = "https://files.pythonhosted.org/packages/3f/4d/c5576adf511f92a328e5569dda190ecdd430da51f1a649f3a4a2fd73e21e/ruff-0.16.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:142151a5e7b93c1b11111337142f89dd2fbfee92161225c99a97222f22e32656", size = 10108496, upload-time = "2026-09-10T18:03:50.563Z" },
150
- { url = "https://files.pythonhosted.org/packages/ff/8c/667d83c16199a17a56adc6b0bd4c3beb5b767a2babcd16a56f76f9be7fd6/ruff-0.16.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e6651f97a342d8b35d54d8991544ca22169b86dc54111cb604666940c431b750", size = 9860136, upload-time = "2026-09-10T18:03:52.621Z" },
151
- { url = "https://files.pythonhosted.org/packages/99/75/78d401106731999a1dd20cc5a6961e37e1eb9397a3b589f73f3a5ce146a3/ruff-0.16.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ef140c6eb935fa9a84c9c607dfb2cb1b85843c192e79265b0c54f35f557ea8e5", size = 10286290, upload-time = "2026-09-10T18:03:55.207Z" },
152
- { url = "https://files.pythonhosted.org/packages/68/49/56f9c3a8b755df93a0ad318b2147bf4ef5dae9a7e5ec61c460109c67957f/ruff-0.16.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:53e39506a730fadeee0d998ed5946f30671f0db240c6c7c73bdabbe33604bb6f", size = 10745048, upload-time = "2026-09-10T18:03:57.299Z" },
153
- { url = "https://files.pythonhosted.org/packages/5f/ea/7f9b938a63ece4bec677ad7f9f7fa02df3383db1949ed93a382441c09a87/ruff-0.16.7-py3-none-win32.whl", hash = "sha256:2ea3470fcebcbc5df2fb0c6f3b90333fa9084c534e0111c038fa4a6ab9f1c4b7", size = 10059082, upload-time = "2026-09-10T18:03:59.632Z" },
154
- { url = "https://files.pythonhosted.org/packages/39/11/480a6973a927aa653e1cead6a6416008640e03a99d05b34c0434b8c6c366/ruff-0.16.7-py3-none-win_amd64.whl", hash = "sha256:7ac26aca826e9e21d0f1cb25b54ac660760a9fdd094d3e4df9848232be98cfc6", size = 10593368, upload-time = "2026-09-10T18:04:01.999Z" },
155
- { url = "https://files.pythonhosted.org/packages/8b/4b/51327018d056f0dad2c2238f26d1fb0f53707a9d91b75dea6d1b3039f136/ruff-0.16.7-py3-none-win_arm64.whl", hash = "sha256:aab7f39e2c9df6c596216070f98eef1207b94f8516cca20c808826974971855b", size = 10412401, upload-time = "2026-09-10T18:04:04.098Z" },
139
+ { url = "https://files.pythonhosted.org/packages/2f/21/ebce22e1d90cdb2cd691026b9c6e9bec6499f0b396089481755b5d49efff/ruff-0.16.10-py3-none-linux_armv6l.whl", hash = "sha256:488b0fe3f3574210e5cf80d9f59b9e3ab17a127a8155de3f307b392589cfb511", size = 10095557, upload-time = "2026-10-01T18:02:36.072Z" },
140
+ { url = "https://files.pythonhosted.org/packages/cb/98/a54de85876a8b2612bfa0d84c7b9abfb39c6a3354aee7800b09c1649b9e3/ruff-0.16.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e748ff95c934c4e978783b8e687bc174e7bd84e8ad24e3243e1ecfcda5e0282d", size = 10340577, upload-time = "2026-10-01T18:02:39.258Z" },
141
+ { url = "https://files.pythonhosted.org/packages/9f/16/1a5a4a2657effe4806110f2b907313802f1367fcdbb29e8122766e407fab/ruff-0.16.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3031a4a2e8e7b8a46f70be45f198c35a11ece509a94b80334d8d397a33c67550", size = 9774282, upload-time = "2026-10-01T18:02:41.79Z" },
142
+ { url = "https://files.pythonhosted.org/packages/6e/fb/470085af734da396e68cd80fb0a3e7c109a459716ae59588c0f6fab8a17d/ruff-0.16.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:494401c86df4c4c25f69b9419605d944467ee98c42fb6ad405ef4fa40b8fb67d", size = 9920895, upload-time = "2026-10-01T18:02:44.458Z" },
143
+ { url = "https://files.pythonhosted.org/packages/57/de/f10cffe4f88a37ea6615ec460f01bf76f0bc1477737a35d9ee61a630a78b/ruff-0.16.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d203abc0ff2b773ee33d00ab8df0bb67046fbc7c07b119332f08b9b345cf8221", size = 9902707, upload-time = "2026-10-01T18:02:47.041Z" },
144
+ { url = "https://files.pythonhosted.org/packages/ff/44/3fdcedf83ae60ef837dd239170e480dce606a9142cfa2db911afdf855fd9/ruff-0.16.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd83d1235a5258d318477bc5b576303974cbdef5df0c01a1bff14efcc23bd12a", size = 10619287, upload-time = "2026-10-01T18:02:49.485Z" },
145
+ { url = "https://files.pythonhosted.org/packages/c1/62/02e76a5574002153618eafbb70e159468addc72a5d2c488e65cbb4639d2d/ruff-0.16.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc2610fb269fa56dd8a68669ae470fa6272902668c0fc2ebc3aa112b2633d5b8", size = 11339942, upload-time = "2026-10-01T18:02:52.008Z" },
146
+ { url = "https://files.pythonhosted.org/packages/6b/c4/cde27d47ad8d4126c587e608c67c46e7feac11763f606d261a1bc8a489e6/ruff-0.16.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e70175e29cc94c26ea296c80e470180b744b7419026898e58f520c6ab32578e", size = 10934316, upload-time = "2026-10-01T18:02:54.811Z" },
147
+ { url = "https://files.pythonhosted.org/packages/e4/03/17234145f302a645a123e8c3bb2411ecf4669fbc350de3b0d803230a1729/ruff-0.16.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f33f43a864a8483eebd160e713336c8bab02c934feaff0a33cf5ccb41546d09a", size = 10387968, upload-time = "2026-10-01T18:02:57.497Z" },
148
+ { url = "https://files.pythonhosted.org/packages/71/29/2493af60240ee7644b38a4b821f5f9c3b5a4fa3178770fe1d0c685217395/ruff-0.16.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:1dfc6f0088149fb6a362c1c446bcbb3fd2157b3852fe2fa68409276eab9ad9b3", size = 10537906, upload-time = "2026-10-01T18:03:00.006Z" },
149
+ { url = "https://files.pythonhosted.org/packages/2e/9a/f56b28f3b143bb9e518c34fb89ab191b626bca8b70dbf8af0d2e2d473572/ruff-0.16.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6553498afc35f580f036030795810b9e6bcea31604b0fd9e8d352795473042e3", size = 10012938, upload-time = "2026-10-01T18:03:03.006Z" },
150
+ { url = "https://files.pythonhosted.org/packages/c2/c4/fca37362848ea4d4d80712df13632e645e7c7cfb1bdedf140699ac7a090b/ruff-0.16.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a3b8471dea115d37f123882be852bed13403746d3a76c11de4a19ec5f9ff5a03", size = 9897945, upload-time = "2026-10-01T18:03:05.818Z" },
151
+ { url = "https://files.pythonhosted.org/packages/7d/c7/e0bc57664d6e0c61fd22f620af260fe9662d7e1ddb320ea7f160e76ef165/ruff-0.16.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:92e59a70bcbd9d3a5483656da906ec28edfdacfce00afd99edb8b4e9d15644be", size = 10333134, upload-time = "2026-10-01T18:03:08.25Z" },
152
+ { url = "https://files.pythonhosted.org/packages/21/aa/5c9f3b68737c0e4a33a1db5dfab44f7b786d96ca91a7233112ddab1e6dc2/ruff-0.16.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7ae7375f803b5520dc9f546bed7e3a0acb70b91812e9bb4b19927de22f25b77d", size = 10741702, upload-time = "2026-10-01T18:03:10.775Z" },
153
+ { url = "https://files.pythonhosted.org/packages/78/fa/0f9c2020dc316c53d983be011720b8157cc052b97e3f4dfa7db6d0f880a6/ruff-0.16.10-py3-none-win32.whl", hash = "sha256:2a12e01cb9156c10c466f63b46eaae5ecea28dfbd21b5836353ae498e7d1349a", size = 10139176, upload-time = "2026-10-01T18:03:13.267Z" },
154
+ { url = "https://files.pythonhosted.org/packages/99/29/cfb0df9448d4d4ad48c2de029ada9ebd71baa6da983a6c77ee6c6cd0fe82/ruff-0.16.10-py3-none-win_amd64.whl", hash = "sha256:97f2015c92aa97105b0eab19eb5d224884399281cfc5da86a92db4ab5e7fb2ca", size = 10584734, upload-time = "2026-10-01T18:03:16.006Z" },
155
+ { url = "https://files.pythonhosted.org/packages/fc/05/c16957eb287c3fc062e032619a25868d93d408a844b725bcf514f7a378ff/ruff-0.16.10-py3-none-win_arm64.whl", hash = "sha256:25a65fe998c4e6861ec079ada5826a2fc605e6cbccbe9dcd7fac1f54e791621b", size = 10366440, upload-time = "2026-10-01T18:03:19.04Z" },
156
156
  ]
157
157
 
158
158
  [[package]]
159
159
  name = "telegram-kit"
160
- version = "0.2.1"
160
+ version = "0.2.2"
161
161
  source = { registry = "https://pypi.org/simple" }
162
- sdist = { url = "https://files.pythonhosted.org/packages/1c/a4/a30f1946946d1d9270490b81e6b9b8c586f5a757c71357b548af2abdb1e4/telegram_kit-0.2.1.tar.gz", hash = "sha256:95214e269ad5c3e4ca39b7dad6a0caad1fae6bbe12b911ead0a4d9b00f32f0d9", size = 20780, upload-time = "2026-09-28T04:29:01.812Z" }
162
+ sdist = { url = "https://files.pythonhosted.org/packages/0c/2f/cde074208fc1349be6a20a9bfe1a21a3fc38c5c2075e04156ffa0d8e2c3b/telegram_kit-0.2.2.tar.gz", hash = "sha256:4706da2d145db427ee7a41a382316886e449d52bec6381390186c197a156276d", size = 21395, upload-time = "2026-10-03T20:39:02.228Z" }
163
163
  wheels = [
164
- { url = "https://files.pythonhosted.org/packages/7d/db/0c90963b910c270619570b21e99ceca2190aeb3037bbc6540f568bb5c59f/telegram_kit-0.2.1-py3-none-any.whl", hash = "sha256:0df45c193342fd86261fb23f051edaa0ac00c0b813cfbf3f3fcb83a099ac71e8", size = 10565, upload-time = "2026-09-28T04:29:01.026Z" },
164
+ { url = "https://files.pythonhosted.org/packages/a0/59/841180442f43848a3bb6dd21ad617bb69f15a78be0c7a10947073acd7513/telegram_kit-0.2.2-py3-none-any.whl", hash = "sha256:a73ab2ae1c81a03be359ff50975a311aef4c803b2eda674b8272102616ce305a", size = 10750, upload-time = "2026-10-03T20:39:01.199Z" },
165
165
  ]
166
166
 
167
167
  [[package]]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes