yandex-cli 0.2.1__tar.gz → 0.4.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.
Files changed (118) hide show
  1. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/.gitignore +3 -0
  2. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/CHANGELOG.md +17 -0
  3. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/PKG-INFO +1 -1
  4. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/pyproject.toml +31 -1
  5. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/LICENSE +0 -0
  6. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/README.md +0 -0
  7. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/__init__.py +0 -0
  8. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/cli.py +0 -0
  9. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/log.py +0 -0
  10. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/mcp.py +0 -0
  11. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/output.py +0 -0
  12. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/py.typed +0 -0
  13. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/__init__.py +0 -0
  14. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/base.py +0 -0
  15. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/__init__.py +0 -0
  16. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/_base.py +0 -0
  17. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/_clideps.py +0 -0
  18. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/_deps.py +0 -0
  19. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/_models.py +0 -0
  20. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/answers/__init__.py +0 -0
  21. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/answers/cli.py +0 -0
  22. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/answers/client.py +0 -0
  23. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/answers/mcp.py +0 -0
  24. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/answers/models.py +0 -0
  25. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/cli.py +0 -0
  26. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/client.py +0 -0
  27. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/mcp.py +0 -0
  28. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/me/__init__.py +0 -0
  29. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/me/cli.py +0 -0
  30. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/me/client.py +0 -0
  31. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/me/mcp.py +0 -0
  32. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/me/models.py +0 -0
  33. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/questions/__init__.py +0 -0
  34. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/questions/cli.py +0 -0
  35. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/questions/client.py +0 -0
  36. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/questions/mcp.py +0 -0
  37. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/questions/models.py +0 -0
  38. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/surveys/__init__.py +0 -0
  39. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/surveys/cli.py +0 -0
  40. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/surveys/client.py +0 -0
  41. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/surveys/mcp.py +0 -0
  42. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/forms/surveys/models.py +0 -0
  43. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/__init__.py +0 -0
  44. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/_base.py +0 -0
  45. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/_clideps.py +0 -0
  46. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/_deps.py +0 -0
  47. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/_models.py +0 -0
  48. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/changelog/__init__.py +0 -0
  49. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/changelog/cli.py +0 -0
  50. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/changelog/client.py +0 -0
  51. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/changelog/mcp.py +0 -0
  52. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/changelog/models.py +0 -0
  53. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/cli.py +0 -0
  54. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/client.py +0 -0
  55. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/comments/__init__.py +0 -0
  56. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/comments/cli.py +0 -0
  57. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/comments/client.py +0 -0
  58. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/comments/mcp.py +0 -0
  59. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/comments/models.py +0 -0
  60. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issues/__init__.py +0 -0
  61. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issues/cli.py +0 -0
  62. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issues/client.py +0 -0
  63. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issues/mcp.py +0 -0
  64. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issues/models.py +0 -0
  65. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issuetypes/__init__.py +0 -0
  66. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issuetypes/cli.py +0 -0
  67. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issuetypes/client.py +0 -0
  68. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issuetypes/mcp.py +0 -0
  69. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/issuetypes/models.py +0 -0
  70. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/links/__init__.py +0 -0
  71. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/links/cli.py +0 -0
  72. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/links/client.py +0 -0
  73. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/links/mcp.py +0 -0
  74. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/links/models.py +0 -0
  75. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/linktypes/__init__.py +0 -0
  76. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/linktypes/cli.py +0 -0
  77. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/linktypes/client.py +0 -0
  78. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/linktypes/mcp.py +0 -0
  79. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/linktypes/models.py +0 -0
  80. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/mcp.py +0 -0
  81. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/priorities/__init__.py +0 -0
  82. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/priorities/cli.py +0 -0
  83. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/priorities/client.py +0 -0
  84. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/priorities/mcp.py +0 -0
  85. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/priorities/models.py +0 -0
  86. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/transitions/__init__.py +0 -0
  87. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/transitions/cli.py +0 -0
  88. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/transitions/client.py +0 -0
  89. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/transitions/mcp.py +0 -0
  90. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/transitions/models.py +0 -0
  91. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/worklog/__init__.py +0 -0
  92. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/worklog/cli.py +0 -0
  93. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/worklog/client.py +0 -0
  94. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/worklog/mcp.py +0 -0
  95. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/tracker/worklog/models.py +0 -0
  96. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/transport.py +0 -0
  97. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/__init__.py +0 -0
  98. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/_base.py +0 -0
  99. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/_clideps.py +0 -0
  100. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/_deps.py +0 -0
  101. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/attachments/__init__.py +0 -0
  102. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/attachments/cli.py +0 -0
  103. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/attachments/client.py +0 -0
  104. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/attachments/mcp.py +0 -0
  105. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/attachments/models.py +0 -0
  106. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/cli.py +0 -0
  107. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/client.py +0 -0
  108. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/comments/__init__.py +0 -0
  109. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/comments/cli.py +0 -0
  110. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/comments/client.py +0 -0
  111. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/comments/mcp.py +0 -0
  112. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/comments/models.py +0 -0
  113. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/mcp.py +0 -0
  114. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/pages/__init__.py +0 -0
  115. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/pages/cli.py +0 -0
  116. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/pages/client.py +0 -0
  117. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/pages/mcp.py +0 -0
  118. {yandex_cli-0.2.1 → yandex_cli-0.4.0}/src/ycli/yandex/wiki/pages/models.py +0 -0
@@ -23,6 +23,9 @@ htmlcov/
23
23
  # AI-agent local files
24
24
  PROMPT.md
25
25
  .mcp.json
26
+ # …except the bundled plugin config, which holds only ${VAR} references (not real secrets).
27
+ !plugins/yandex-360/.mcp.json
26
28
 
27
29
  # Secrets
28
30
  .env
31
+
@@ -9,6 +9,23 @@ released sections by hand.
9
9
 
10
10
  <!-- version list -->
11
11
 
12
+ ## v0.4.0 (2026-06-27)
13
+
14
+ ### Features
15
+
16
+ - Track B — AI-infra hardening (CI-skip guard, gitleaks, bundled plugin MCP, release/conventions
17
+ docs)
18
+ ([`5ae61ad`](https://github.com/bim-ba/ycli/commit/5ae61ad938631c76daf6202e1318bbbd6f1d5623))
19
+
20
+
21
+ ## v0.3.0 (2026-06-27)
22
+
23
+ ### Features
24
+
25
+ - Architecture guardrails enforcing the six ARCH invariants
26
+ ([`6bbc381`](https://github.com/bim-ba/ycli/commit/6bbc38148a9a0b930171210351166a7cac51b128))
27
+
28
+
12
29
  ## v0.2.1 (2026-06-27)
13
30
 
14
31
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yandex-cli
3
- Version: 0.2.1
3
+ Version: 0.4.0
4
4
  Summary: Interact with Yandex 360 services (Wiki, Tracker, Forms, …) from a CLI, an MCP server, or a Python SDK.
5
5
  Project-URL: Homepage, https://github.com/bim-ba/ycli
6
6
  Project-URL: Repository, https://github.com/bim-ba/ycli
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "yandex-cli"
3
- version = "0.2.1"
3
+ version = "0.4.0"
4
4
  description = "Interact with Yandex 360 services (Wiki, Tracker, Forms, …) from a CLI, an MCP server, or a Python SDK."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -89,6 +89,8 @@ exclude_also = [
89
89
 
90
90
  [dependency-groups]
91
91
  dev = [
92
+ "import-linter>=2.12",
93
+ "pre-commit>=4.6.0",
92
94
  "pytest>=9.1.1",
93
95
  "pytest-asyncio>=1.4.0",
94
96
  "pytest-cov>=7.1.0",
@@ -110,3 +112,31 @@ mode = "update"
110
112
 
111
113
  [tool.semantic_release.changelog.default_templates]
112
114
  changelog_file = "CHANGELOG.md"
115
+
116
+ [tool.importlinter]
117
+ root_package = "ycli"
118
+ include_external_packages = true
119
+
120
+ [[tool.importlinter.contracts]]
121
+ name = "ARCH-2: cli/mcp/models never import HTTP libraries directly"
122
+ type = "forbidden"
123
+ source_modules = [
124
+ "ycli.yandex.**.cli",
125
+ "ycli.yandex.**.mcp",
126
+ "ycli.yandex.**.models",
127
+ ]
128
+ forbidden_modules = ["requests", "uplink"]
129
+ allow_indirect_imports = true
130
+
131
+ [[tool.importlinter.contracts]]
132
+ name = "ARCH-3: fastmcp is imported only in mcp modules"
133
+ type = "forbidden"
134
+ source_modules = [
135
+ "ycli.cli",
136
+ "ycli.output",
137
+ "ycli.yandex.**.cli",
138
+ "ycli.yandex.**.client",
139
+ "ycli.yandex.**.models",
140
+ ]
141
+ forbidden_modules = ["fastmcp"]
142
+ allow_indirect_imports = true
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes