phoson-engine-minimal 0.3.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 (194) hide show
  1. phoson_engine_minimal-0.3.0/.github/.gitleaks.toml +11 -0
  2. phoson_engine_minimal-0.3.0/.github/workflows/ci.yml +68 -0
  3. phoson_engine_minimal-0.3.0/.github/workflows/publish.yml +44 -0
  4. phoson_engine_minimal-0.3.0/.github/workflows/security.yml +48 -0
  5. phoson_engine_minimal-0.3.0/.gitignore +16 -0
  6. phoson_engine_minimal-0.3.0/.pre-commit-config.yaml +21 -0
  7. phoson_engine_minimal-0.3.0/.python-version +1 -0
  8. phoson_engine_minimal-0.3.0/2026-05-13-ai-providers-expansion.md +976 -0
  9. phoson_engine_minimal-0.3.0/CHANGELOG.md +125 -0
  10. phoson_engine_minimal-0.3.0/CONTRIBUTING.md +127 -0
  11. phoson_engine_minimal-0.3.0/LICENSE +21 -0
  12. phoson_engine_minimal-0.3.0/PKG-INFO +484 -0
  13. phoson_engine_minimal-0.3.0/README.md +455 -0
  14. phoson_engine_minimal-0.3.0/ROADMAP.md +65 -0
  15. phoson_engine_minimal-0.3.0/TODO.md +710 -0
  16. phoson_engine_minimal-0.3.0/docker-compose.test.yml +36 -0
  17. phoson_engine_minimal-0.3.0/docs/api/index.md +44 -0
  18. phoson_engine_minimal-0.3.0/docs/api/phoson_agent.md +321 -0
  19. phoson_engine_minimal-0.3.0/docs/api/phoson_cli.md +217 -0
  20. phoson_engine_minimal-0.3.0/docs/api/phoson_llm.md +335 -0
  21. phoson_engine_minimal-0.3.0/docs/mcp-cli.md +631 -0
  22. phoson_engine_minimal-0.3.0/docs/plugins.md +331 -0
  23. phoson_engine_minimal-0.3.0/examples/PLUGIN_EXAMPLES.md +255 -0
  24. phoson_engine_minimal-0.3.0/examples/agent_demo.py +310 -0
  25. phoson_engine_minimal-0.3.0/examples/llm_smoke_tests.py +193 -0
  26. phoson_engine_minimal-0.3.0/examples/mcp_plugin_example.py +211 -0
  27. phoson_engine_minimal-0.3.0/examples/mcp_transports_example.py +308 -0
  28. phoson_engine_minimal-0.3.0/examples/plugin_example_memory.py +157 -0
  29. phoson_engine_minimal-0.3.0/examples/plugin_usage_example.py +180 -0
  30. phoson_engine_minimal-0.3.0/examples/simple_plugin_demo.py +96 -0
  31. phoson_engine_minimal-0.3.0/examples/usage_as_requested.py +136 -0
  32. phoson_engine_minimal-0.3.0/mcps.json.example +52 -0
  33. phoson_engine_minimal-0.3.0/phoson_agent/__init__.py +89 -0
  34. phoson_engine_minimal-0.3.0/phoson_agent/_internals.py +187 -0
  35. phoson_engine_minimal-0.3.0/phoson_agent/_loop.py +236 -0
  36. phoson_engine_minimal-0.3.0/phoson_agent/_tool_runner.py +284 -0
  37. phoson_engine_minimal-0.3.0/phoson_agent/agent.py +398 -0
  38. phoson_engine_minimal-0.3.0/phoson_agent/context.py +89 -0
  39. phoson_engine_minimal-0.3.0/phoson_agent/exceptions.py +148 -0
  40. phoson_engine_minimal-0.3.0/phoson_agent/middleware.py +113 -0
  41. phoson_engine_minimal-0.3.0/phoson_agent/models.py +154 -0
  42. phoson_engine_minimal-0.3.0/phoson_agent/plugin.py +127 -0
  43. phoson_engine_minimal-0.3.0/phoson_agent/plugin_loader.py +264 -0
  44. phoson_engine_minimal-0.3.0/phoson_agent/plugins/__init__.py +1 -0
  45. phoson_engine_minimal-0.3.0/phoson_agent/plugins/context_window.py +226 -0
  46. phoson_engine_minimal-0.3.0/phoson_agent/plugins/summarizer.py +342 -0
  47. phoson_engine_minimal-0.3.0/phoson_agent/sessions/__init__.py +10 -0
  48. phoson_engine_minimal-0.3.0/phoson_agent/sessions/models.py +383 -0
  49. phoson_engine_minimal-0.3.0/phoson_agent/sessions/serialization.py +196 -0
  50. phoson_engine_minimal-0.3.0/phoson_agent/sessions/storage_jsonl.py +199 -0
  51. phoson_engine_minimal-0.3.0/phoson_agent/tool.py +195 -0
  52. phoson_engine_minimal-0.3.0/phoson_cli/__init__.py +10 -0
  53. phoson_engine_minimal-0.3.0/phoson_cli/__main__.py +113 -0
  54. phoson_engine_minimal-0.3.0/phoson_cli/_mcp_commands.py +230 -0
  55. phoson_engine_minimal-0.3.0/phoson_cli/_session.py +126 -0
  56. phoson_engine_minimal-0.3.0/phoson_cli/_views.py +143 -0
  57. phoson_engine_minimal-0.3.0/phoson_cli/attachments.py +134 -0
  58. phoson_engine_minimal-0.3.0/phoson_cli/commands.py +446 -0
  59. phoson_engine_minimal-0.3.0/phoson_cli/config.py +439 -0
  60. phoson_engine_minimal-0.3.0/phoson_cli/installer.py +625 -0
  61. phoson_engine_minimal-0.3.0/phoson_cli/model_picker.py +257 -0
  62. phoson_engine_minimal-0.3.0/phoson_cli/model_selector.py +645 -0
  63. phoson_engine_minimal-0.3.0/phoson_cli/phos-ascii.txt +17 -0
  64. phoson_engine_minimal-0.3.0/phoson_cli/pickers/__init__.py +10 -0
  65. phoson_engine_minimal-0.3.0/phoson_cli/pickers/_base.py +250 -0
  66. phoson_engine_minimal-0.3.0/phoson_cli/provider_picker.py +111 -0
  67. phoson_engine_minimal-0.3.0/phoson_cli/renderer.py +691 -0
  68. phoson_engine_minimal-0.3.0/phoson_cli/repl.py +577 -0
  69. phoson_engine_minimal-0.3.0/phoson_cli/session_picker.py +126 -0
  70. phoson_engine_minimal-0.3.0/phoson_cli/tools/__init__.py +38 -0
  71. phoson_engine_minimal-0.3.0/phoson_cli/tools/bash.py +86 -0
  72. phoson_engine_minimal-0.3.0/phoson_cli/tools/files.py +132 -0
  73. phoson_engine_minimal-0.3.0/phoson_cli/tools/search.py +101 -0
  74. phoson_engine_minimal-0.3.0/phoson_cli/tools/subagent.py +248 -0
  75. phoson_engine_minimal-0.3.0/phoson_cli/tools/subagent_panel.py +286 -0
  76. phoson_engine_minimal-0.3.0/phoson_llm/__init__.py +133 -0
  77. phoson_engine_minimal-0.3.0/phoson_llm/chats/__init__.py +45 -0
  78. phoson_engine_minimal-0.3.0/phoson_llm/chats/_openai_compatible.py +503 -0
  79. phoson_engine_minimal-0.3.0/phoson_llm/chats/anthropic.py +406 -0
  80. phoson_engine_minimal-0.3.0/phoson_llm/chats/azure.py +51 -0
  81. phoson_engine_minimal-0.3.0/phoson_llm/chats/base.py +174 -0
  82. phoson_engine_minimal-0.3.0/phoson_llm/chats/bedrock.py +123 -0
  83. phoson_engine_minimal-0.3.0/phoson_llm/chats/cohere.py +18 -0
  84. phoson_engine_minimal-0.3.0/phoson_llm/chats/deepseek.py +18 -0
  85. phoson_engine_minimal-0.3.0/phoson_llm/chats/fireworks.py +18 -0
  86. phoson_engine_minimal-0.3.0/phoson_llm/chats/gemini.py +197 -0
  87. phoson_engine_minimal-0.3.0/phoson_llm/chats/github_models.py +18 -0
  88. phoson_engine_minimal-0.3.0/phoson_llm/chats/grok.py +18 -0
  89. phoson_engine_minimal-0.3.0/phoson_llm/chats/groq.py +18 -0
  90. phoson_engine_minimal-0.3.0/phoson_llm/chats/lmstudio.py +20 -0
  91. phoson_engine_minimal-0.3.0/phoson_llm/chats/mistral.py +103 -0
  92. phoson_engine_minimal-0.3.0/phoson_llm/chats/nvidia.py +18 -0
  93. phoson_engine_minimal-0.3.0/phoson_llm/chats/ollama.py +330 -0
  94. phoson_engine_minimal-0.3.0/phoson_llm/chats/openai.py +89 -0
  95. phoson_engine_minimal-0.3.0/phoson_llm/chats/openai_compatible.py +77 -0
  96. phoson_engine_minimal-0.3.0/phoson_llm/chats/openrouter.py +81 -0
  97. phoson_engine_minimal-0.3.0/phoson_llm/chats/perplexity.py +18 -0
  98. phoson_engine_minimal-0.3.0/phoson_llm/chats/together.py +18 -0
  99. phoson_engine_minimal-0.3.0/phoson_llm/chats/vllm.py +27 -0
  100. phoson_engine_minimal-0.3.0/phoson_llm/exceptions.py +53 -0
  101. phoson_engine_minimal-0.3.0/phoson_llm/factory.py +87 -0
  102. phoson_engine_minimal-0.3.0/phoson_llm/pricing.py +171 -0
  103. phoson_engine_minimal-0.3.0/phoson_llm/retry.py +222 -0
  104. phoson_engine_minimal-0.3.0/phoson_llm/schemas/__init__.py +59 -0
  105. phoson_engine_minimal-0.3.0/phoson_llm/schemas/inputs.py +168 -0
  106. phoson_engine_minimal-0.3.0/phoson_llm/schemas/outputs.py +142 -0
  107. phoson_engine_minimal-0.3.0/phoson_llm/utils.py +71 -0
  108. phoson_engine_minimal-0.3.0/phoson_plugin_checkpoint/README.md +59 -0
  109. phoson_engine_minimal-0.3.0/phoson_plugin_checkpoint/__init__.py +16 -0
  110. phoson_engine_minimal-0.3.0/phoson_plugin_checkpoint/plugin.py +75 -0
  111. phoson_engine_minimal-0.3.0/phoson_plugin_checkpoint/storage.py +285 -0
  112. phoson_engine_minimal-0.3.0/phoson_plugin_mcp/README.md +403 -0
  113. phoson_engine_minimal-0.3.0/phoson_plugin_mcp/__init__.py +15 -0
  114. phoson_engine_minimal-0.3.0/phoson_plugin_mcp/plugin.py +631 -0
  115. phoson_engine_minimal-0.3.0/phoson_plugin_memory/README.md +167 -0
  116. phoson_engine_minimal-0.3.0/phoson_plugin_memory/__init__.py +35 -0
  117. phoson_engine_minimal-0.3.0/phoson_plugin_memory/backend.py +43 -0
  118. phoson_engine_minimal-0.3.0/phoson_plugin_memory/plugin.py +276 -0
  119. phoson_engine_minimal-0.3.0/phoson_plugin_memory/postgres_backend.py +163 -0
  120. phoson_engine_minimal-0.3.0/phoson_plugin_memory/qdrant_backend.py +160 -0
  121. phoson_engine_minimal-0.3.0/phoson_plugin_memory/redis_backend.py +75 -0
  122. phoson_engine_minimal-0.3.0/phoson_plugin_memory/semantic_backend.py +54 -0
  123. phoson_engine_minimal-0.3.0/phoson_plugin_memory/semantic_plugin.py +219 -0
  124. phoson_engine_minimal-0.3.0/pyproject.toml +107 -0
  125. phoson_engine_minimal-0.3.0/scripts/benchmark_mcp_pooling.py +96 -0
  126. phoson_engine_minimal-0.3.0/scripts/install.sh +57 -0
  127. phoson_engine_minimal-0.3.0/scripts/phoson-installer.sh +290 -0
  128. phoson_engine_minimal-0.3.0/scripts/uninstall.sh +40 -0
  129. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_agent_engine_integration.py +726 -0
  130. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_agent_split.py +280 -0
  131. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_agent_unit.py +20 -0
  132. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_context_unit.py +102 -0
  133. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_context_window.py +90 -0
  134. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_middleware_unit.py +209 -0
  135. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_plugin_system.py +311 -0
  136. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_serialization_unit.py +230 -0
  137. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_session_storage.py +271 -0
  138. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_summarizer.py +305 -0
  139. phoson_engine_minimal-0.3.0/tests/phoson_agent/test_tool_unit.py +225 -0
  140. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_attachments_unit.py +47 -0
  141. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_bash_tool.py +117 -0
  142. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_commands_model_unit.py +162 -0
  143. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_commands_unit.py +150 -0
  144. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_config_unit.py +76 -0
  145. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_files_tool_unit.py +155 -0
  146. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_installer_unit.py +65 -0
  147. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_main_unit.py +51 -0
  148. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_model_persistence_unit.py +95 -0
  149. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_model_picker_unit.py +70 -0
  150. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_model_selector_unit.py +50 -0
  151. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_picker_base.py +96 -0
  152. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_provider_command_unit.py +140 -0
  153. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_provider_persistence_unit.py +22 -0
  154. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_renderer_unit.py +256 -0
  155. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_repl_helpers_unit.py +29 -0
  156. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_repl_unit.py +223 -0
  157. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_subagent_metrics.py +118 -0
  158. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_subagent_tool.py +253 -0
  159. phoson_engine_minimal-0.3.0/tests/phoson_cli/test_views_unit.py +123 -0
  160. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_azure_unit.py +46 -0
  161. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_base_chat_integration.py +92 -0
  162. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_bedrock_unit.py +21 -0
  163. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_cohere_unit.py +11 -0
  164. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_deepseek_unit.py +9 -0
  165. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_fireworks_unit.py +9 -0
  166. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_gemini_unit.py +27 -0
  167. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_github_models_unit.py +27 -0
  168. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_grok_unit.py +27 -0
  169. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_groq_unit.py +9 -0
  170. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_lmstudio_unit.py +22 -0
  171. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_mistral_unit.py +21 -0
  172. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_multimodal.py +367 -0
  173. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_nvidia_unit.py +27 -0
  174. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_ollama_unit.py +344 -0
  175. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_openai_compatible_stream.py +418 -0
  176. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_openai_compatible_unit.py +112 -0
  177. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_openrouter_unit.py +89 -0
  178. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_perplexity_unit.py +9 -0
  179. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_pricing_unit.py +65 -0
  180. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_retry.py +256 -0
  181. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_schemas_unit.py +188 -0
  182. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_together_unit.py +9 -0
  183. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_utils_unit.py +82 -0
  184. phoson_engine_minimal-0.3.0/tests/phoson_llm/test_vllm_unit.py +14 -0
  185. phoson_engine_minimal-0.3.0/tests/phoson_plugin_checkpoint/test_postgres_storage.py +199 -0
  186. phoson_engine_minimal-0.3.0/tests/phoson_plugin_mcp/fixtures/echo_server.py +34 -0
  187. phoson_engine_minimal-0.3.0/tests/phoson_plugin_mcp/test_mcp_plugin.py +223 -0
  188. phoson_engine_minimal-0.3.0/tests/phoson_plugin_mcp/test_session_pooling.py +135 -0
  189. phoson_engine_minimal-0.3.0/tests/phoson_plugin_memory/test_memory_plugin.py +306 -0
  190. phoson_engine_minimal-0.3.0/tests/phoson_plugin_memory/test_postgres_backend.py +203 -0
  191. phoson_engine_minimal-0.3.0/tests/phoson_plugin_memory/test_qdrant_backend.py +171 -0
  192. phoson_engine_minimal-0.3.0/tests/phoson_plugin_memory/test_redis_backend.py +112 -0
  193. phoson_engine_minimal-0.3.0/tests/phoson_plugin_memory/test_semantic_plugin.py +187 -0
  194. phoson_engine_minimal-0.3.0/uv.lock +2380 -0
@@ -0,0 +1,11 @@
1
+ title = "gitleaks config"
2
+
3
+ [allowlist]
4
+ description = "Allowlist for documentation examples"
5
+
6
+ # Ignore Slack bot token in documentation files (examples only)
7
+ [[allowlist.rules]]
8
+ description = "Slack token in documentation"
9
+ regex = '''xoxb-[0-9a-zA-Z]+'''
10
+ files = ['''.*\.md$''']
11
+ tags = ["key", "Slack"]
@@ -0,0 +1,68 @@
1
+ name: ci
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ concurrency:
9
+ group: ci-${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+
19
+ - name: Setup uv
20
+ uses: astral-sh/setup-uv@v6
21
+
22
+ - name: Setup Python
23
+ run: uv python install 3.12
24
+
25
+ - name: Install dependencies
26
+ run: uv sync --dev --locked
27
+
28
+ - name: Ruff format check
29
+ run: uv run ruff format --check .
30
+
31
+ - name: Ruff lint
32
+ run: uv run ruff check .
33
+
34
+ smoke:
35
+ runs-on: ubuntu-latest
36
+ steps:
37
+ - name: Checkout
38
+ uses: actions/checkout@v4
39
+
40
+ - name: Setup uv
41
+ uses: astral-sh/setup-uv@v6
42
+
43
+ - name: Setup Python
44
+ run: uv python install 3.12
45
+
46
+ - name: Install dependencies
47
+ run: uv sync --dev --locked
48
+
49
+ - name: Compile package
50
+ run: uv run python -m compileall phoson_llm
51
+
52
+ tests:
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - name: Checkout
56
+ uses: actions/checkout@v4
57
+
58
+ - name: Setup uv
59
+ uses: astral-sh/setup-uv@v6
60
+
61
+ - name: Setup Python
62
+ run: uv python install 3.12
63
+
64
+ - name: Install dependencies
65
+ run: uv sync --dev --locked
66
+
67
+ - name: Run tests
68
+ run: uv run pytest -q || [ $? -eq 5 ]
@@ -0,0 +1,44 @@
1
+ name: publish
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v4
14
+
15
+ - name: Setup uv
16
+ uses: astral-sh/setup-uv@v6
17
+
18
+ - name: Setup Python
19
+ run: uv python install 3.12
20
+
21
+ - name: Build sdist and wheel
22
+ run: uv build
23
+
24
+ - name: Upload build artifacts
25
+ uses: actions/upload-artifact@v4
26
+ with:
27
+ name: dist
28
+ path: dist/
29
+
30
+ publish:
31
+ needs: build
32
+ runs-on: ubuntu-latest
33
+ environment: pypi
34
+ permissions:
35
+ id-token: write # required for PyPI trusted publishing (OIDC) — no API token stored
36
+ steps:
37
+ - name: Download build artifacts
38
+ uses: actions/download-artifact@v4
39
+ with:
40
+ name: dist
41
+ path: dist/
42
+
43
+ - name: Publish to PyPI
44
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,48 @@
1
+ name: security
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+ schedule:
8
+ - cron: "0 7 * * 1"
9
+
10
+ permissions:
11
+ contents: read
12
+ pull-requests: read
13
+
14
+ jobs:
15
+ dependency-audit:
16
+ runs-on: ubuntu-latest
17
+ continue-on-error: true
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Setup uv
23
+ uses: astral-sh/setup-uv@v6
24
+
25
+ - name: Setup Python
26
+ run: uv python install 3.12
27
+
28
+ - name: Install dependencies
29
+ run: uv sync --dev --locked
30
+
31
+ # pip is a build-time dependency of pip-audit itself, not a runtime dependency.
32
+ # CVE-2026-3219 affects pip install operations, not our application runtime.
33
+ - name: Run pip-audit
34
+ run: uv run pip-audit --ignore-vuln CVE-2026-3219
35
+
36
+ secret-scan:
37
+ runs-on: ubuntu-latest
38
+ continue-on-error: true
39
+ steps:
40
+ - name: Checkout
41
+ uses: actions/checkout@v4
42
+ with:
43
+ fetch-depth: 0
44
+
45
+ - name: Run gitleaks
46
+ uses: gitleaks/gitleaks-action@v1
47
+ env:
48
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,16 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv
11
+
12
+ # Summary and completion files
13
+ SUMMARY.md
14
+ PLUGIN_COMPLETION_SUMMARY.txt
15
+ FINAL_SUMMARY.txt
16
+ docs/superpowers
@@ -0,0 +1,21 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.15.12
4
+ hooks:
5
+ - id: ruff-format
6
+ - id: ruff-check
7
+
8
+ - repo: local
9
+ hooks:
10
+ - id: pre-push-quality
11
+ name: pre-push-quality
12
+ entry: uv run sh -c 'ruff check . && python -m compileall phoson_llm'
13
+ language: system
14
+ pass_filenames: false
15
+ stages: [pre-push]
16
+
17
+ - repo: https://github.com/commitizen-tools/commitizen
18
+ rev: v4.13.0
19
+ hooks:
20
+ - id: commitizen
21
+ stages: [commit-msg]
@@ -0,0 +1 @@
1
+ 3.12