powercontext 0.0.1__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.
- powercontext-0.0.1/.agents/plugins/marketplace.json +19 -0
- powercontext-0.0.1/.dockerignore +28 -0
- powercontext-0.0.1/.env.example +39 -0
- powercontext-0.0.1/.github/ISSUE_TEMPLATE/1-bug-report.yml +66 -0
- powercontext-0.0.1/.github/ISSUE_TEMPLATE/2-feature-request.yml +51 -0
- powercontext-0.0.1/.github/ISSUE_TEMPLATE/config.yml +5 -0
- powercontext-0.0.1/.github/actions/setup-python-env/action.yml +30 -0
- powercontext-0.0.1/.github/pull_request_template.md +41 -0
- powercontext-0.0.1/.github/workflows/build-artifacts.yml +422 -0
- powercontext-0.0.1/.github/workflows/build-docker.yml +128 -0
- powercontext-0.0.1/.github/workflows/e2e-harness.yml +185 -0
- powercontext-0.0.1/.github/workflows/master.yml +66 -0
- powercontext-0.0.1/.github/workflows/release.yml +103 -0
- powercontext-0.0.1/.gitignore +217 -0
- powercontext-0.0.1/.pre-commit-config.yaml +23 -0
- powercontext-0.0.1/AGENTS.md +68 -0
- powercontext-0.0.1/CONTRIBUTING.md +117 -0
- powercontext-0.0.1/LICENSE +202 -0
- powercontext-0.0.1/Makefile +132 -0
- powercontext-0.0.1/PKG-INFO +149 -0
- powercontext-0.0.1/README.md +92 -0
- powercontext-0.0.1/benchmark/README.md +7 -0
- powercontext-0.0.1/benchmark/__init__.py +1 -0
- powercontext-0.0.1/benchmark/locomo/.env.example +22 -0
- powercontext-0.0.1/benchmark/locomo/.gitignore +2 -0
- powercontext-0.0.1/benchmark/locomo/LICENSE +206 -0
- powercontext-0.0.1/benchmark/locomo/README.md +190 -0
- powercontext-0.0.1/benchmark/locomo/__init__.py +1 -0
- powercontext-0.0.1/benchmark/locomo/__main__.py +6 -0
- powercontext-0.0.1/benchmark/locomo/cli.py +298 -0
- powercontext-0.0.1/benchmark/locomo/dataset/locomo10.json +66751 -0
- powercontext-0.0.1/benchmark/locomo/dataset.py +255 -0
- powercontext-0.0.1/benchmark/locomo/metrics.py +282 -0
- powercontext-0.0.1/benchmark/locomo/prompts.py +176 -0
- powercontext-0.0.1/benchmark/locomo/results/.gitkeep +0 -0
- powercontext-0.0.1/benchmark/locomo/runner.py +1316 -0
- powercontext-0.0.1/docker/Dockerfile +57 -0
- powercontext-0.0.1/docker/README.md +31 -0
- powercontext-0.0.1/docs/en/blog/index.md +21 -0
- powercontext-0.0.1/docs/en/changelog/index.md +24 -0
- powercontext-0.0.1/docs/en/development/core-protocol.md +139 -0
- powercontext-0.0.1/docs/en/development/memory-layer.md +161 -0
- powercontext-0.0.1/docs/en/development/pydantic-ai-inference.md +116 -0
- powercontext-0.0.1/docs/en/development/remote-access-implementation.md +177 -0
- powercontext-0.0.1/docs/en/development/server-web-ui.md +136 -0
- powercontext-0.0.1/docs/en/docs/how-to/configure-codex.md +89 -0
- powercontext-0.0.1/docs/en/docs/how-to/install-and-run.md +78 -0
- powercontext-0.0.1/docs/en/docs/how-to/trace-with-phoenix.md +107 -0
- powercontext-0.0.1/docs/en/docs/how-to/troubleshoot.md +137 -0
- powercontext-0.0.1/docs/en/docs/index.md +23 -0
- powercontext-0.0.1/docs/en/docs/reference/configuration.md +227 -0
- powercontext-0.0.1/docs/en/docs/reference/interfaces.md +200 -0
- powercontext-0.0.1/docs/en/docs/tutorials/codex-quickstart.md +83 -0
- powercontext-0.0.1/docs/en/index.md +9 -0
- powercontext-0.0.1/docs/en/modules.md +36 -0
- powercontext-0.0.1/docs/en/rfcs/0000_example.md +63 -0
- powercontext-0.0.1/docs/en/rfcs/0001_product_definition_and_vision.md +445 -0
- powercontext-0.0.1/docs/en/rfcs/0002_core_sdk_product_model.md +266 -0
- powercontext-0.0.1/docs/en/rfcs/0011_remote_access_architecture.md +211 -0
- powercontext-0.0.1/docs/en/rfcs/0014_memory_layer_design.md +1269 -0
- powercontext-0.0.1/docs/en/rfcs/0016_pydantic_ai_inference_integration.md +301 -0
- powercontext-0.0.1/docs/en/rfcs/0019_local_source_memory_runtime.md +582 -0
- powercontext-0.0.1/docs/en/rfcs/0020_runtime_backed_memory_remote_access.md +571 -0
- powercontext-0.0.1/docs/en/rfcs/0028_context_pack.md +785 -0
- powercontext-0.0.1/docs/en/rfcs/0046_observability_foundations.md +331 -0
- powercontext-0.0.1/docs/en/rfcs/0048_handoff_artifact.md +380 -0
- powercontext-0.0.1/docs/en/rfcs/0050_artifact_candidate_review_inbox.md +339 -0
- powercontext-0.0.1/docs/en/rfcs/0051_experience_skill_artifact_families.md +616 -0
- powercontext-0.0.1/docs/en/rfcs/0072_scoped_statistics_and_usage.md +210 -0
- powercontext-0.0.1/docs/en/rfcs/0080_memory_search_reranking.md +210 -0
- powercontext-0.0.1/docs/en/rfcs/0081_end_to_end_evaluation_architecture.md +280 -0
- powercontext-0.0.1/docs/en/rfcs/0082_handoff_report.md +941 -0
- powercontext-0.0.1/docs/en/rfcs/README.md +67 -0
- powercontext-0.0.1/docs/index.md +9 -0
- powercontext-0.0.1/docs/zh/blog/index.md +21 -0
- powercontext-0.0.1/docs/zh/changelog/index.md +24 -0
- powercontext-0.0.1/docs/zh/development/core-protocol.md +132 -0
- powercontext-0.0.1/docs/zh/development/memory-layer.md +156 -0
- powercontext-0.0.1/docs/zh/development/pydantic-ai-inference.md +110 -0
- powercontext-0.0.1/docs/zh/development/remote-access-implementation.md +175 -0
- powercontext-0.0.1/docs/zh/development/server-web-ui.md +132 -0
- powercontext-0.0.1/docs/zh/docs/how-to/configure-codex.md +86 -0
- powercontext-0.0.1/docs/zh/docs/how-to/install-and-run.md +75 -0
- powercontext-0.0.1/docs/zh/docs/how-to/trace-with-phoenix.md +101 -0
- powercontext-0.0.1/docs/zh/docs/how-to/troubleshoot.md +131 -0
- powercontext-0.0.1/docs/zh/docs/index.md +23 -0
- powercontext-0.0.1/docs/zh/docs/reference/configuration.md +222 -0
- powercontext-0.0.1/docs/zh/docs/reference/interfaces.md +192 -0
- powercontext-0.0.1/docs/zh/docs/tutorials/codex-quickstart.md +76 -0
- powercontext-0.0.1/docs/zh/index.md +9 -0
- powercontext-0.0.1/docs/zh/modules.md +35 -0
- powercontext-0.0.1/docs/zh/rfcs/0000_example.md +63 -0
- powercontext-0.0.1/docs/zh/rfcs/0001_product_definition_and_vision.md +445 -0
- powercontext-0.0.1/docs/zh/rfcs/0002_core_sdk_product_model.md +245 -0
- powercontext-0.0.1/docs/zh/rfcs/0011_remote_access_architecture.md +197 -0
- powercontext-0.0.1/docs/zh/rfcs/0014_memory_layer_design.md +1109 -0
- powercontext-0.0.1/docs/zh/rfcs/0016_pydantic_ai_inference_integration.md +267 -0
- powercontext-0.0.1/docs/zh/rfcs/0019_local_source_memory_runtime.md +542 -0
- powercontext-0.0.1/docs/zh/rfcs/0020_runtime_backed_memory_remote_access.md +559 -0
- powercontext-0.0.1/docs/zh/rfcs/0028_context_pack.md +710 -0
- powercontext-0.0.1/docs/zh/rfcs/0046_observability_foundations.md +321 -0
- powercontext-0.0.1/docs/zh/rfcs/0048_handoff_artifact.md +348 -0
- powercontext-0.0.1/docs/zh/rfcs/0050_artifact_candidate_review_inbox.md +308 -0
- powercontext-0.0.1/docs/zh/rfcs/0051_experience_skill_artifact_families.md +573 -0
- powercontext-0.0.1/docs/zh/rfcs/0072_scoped_statistics_and_usage.md +203 -0
- powercontext-0.0.1/docs/zh/rfcs/0080_memory_search_reranking.md +191 -0
- powercontext-0.0.1/docs/zh/rfcs/0081_end_to_end_evaluation_architecture.md +261 -0
- powercontext-0.0.1/docs/zh/rfcs/0082_handoff_report.md +953 -0
- powercontext-0.0.1/docs/zh/rfcs/README.md +66 -0
- powercontext-0.0.1/e2e/bub/Dockerfile +22 -0
- powercontext-0.0.1/e2e/bub/README.md +57 -0
- powercontext-0.0.1/e2e/bub/compose.oceanbase.yaml +35 -0
- powercontext-0.0.1/e2e/bub/compose.yaml +65 -0
- powercontext-0.0.1/e2e/bub/pyproject.toml +48 -0
- powercontext-0.0.1/e2e/bub/run.sh +140 -0
- powercontext-0.0.1/e2e/bub/scenarios/locomo-support-group.yaml +45 -0
- powercontext-0.0.1/e2e/bub/scenarios/project-database-decision.yaml +20 -0
- powercontext-0.0.1/e2e/bub/src/powercontext_e2e/__init__.py +1 -0
- powercontext-0.0.1/e2e/bub/src/powercontext_e2e/__main__.py +45 -0
- powercontext-0.0.1/e2e/bub/src/powercontext_e2e/models.py +110 -0
- powercontext-0.0.1/e2e/bub/src/powercontext_e2e/runner.py +467 -0
- powercontext-0.0.1/e2e/bub/src/powercontext_e2e/tracing.py +59 -0
- powercontext-0.0.1/e2e/bub/tests/test_evidence_redaction.py +205 -0
- powercontext-0.0.1/e2e/bub/tests/test_run_script.py +199 -0
- powercontext-0.0.1/e2e/bub/uv.lock +1746 -0
- powercontext-0.0.1/integrations/bub/README.md +26 -0
- powercontext-0.0.1/integrations/bub/pyproject.toml +19 -0
- powercontext-0.0.1/integrations/bub/src/powercontext_bub/__init__.py +6 -0
- powercontext-0.0.1/integrations/bub/src/powercontext_bub/plugin.py +137 -0
- powercontext-0.0.1/integrations/bub/src/powercontext_bub/tools.py +90 -0
- powercontext-0.0.1/integrations/codex/.agents/plugins/marketplace.json +19 -0
- powercontext-0.0.1/integrations/codex/README.md +36 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/.codex-plugin/plugin.json +40 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/.mcp.json +12 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/README.md +90 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/hooks/hooks.json +17 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/hooks/prepared_context.py +49 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/hooks/recall.py +348 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/pyproject.toml +10 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/scripts/project_scope.py +109 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/settings.py +150 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/skills/project-context/SKILL.md +78 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/skills/project-context/agents/openai.yaml +4 -0
- powercontext-0.0.1/integrations/codex/plugins/powercontext/uv.lock +184 -0
- powercontext-0.0.1/openapi/powercontext.yaml +4072 -0
- powercontext-0.0.1/pyproject.toml +159 -0
- powercontext-0.0.1/scripts/generate_api.py +372 -0
- powercontext-0.0.1/skills-lock.json +38 -0
- powercontext-0.0.1/src/powercontext/__init__.py +72 -0
- powercontext-0.0.1/src/powercontext/_logging.py +25 -0
- powercontext-0.0.1/src/powercontext/artifacts/__init__.py +13 -0
- powercontext-0.0.1/src/powercontext/artifacts/models.py +86 -0
- powercontext-0.0.1/src/powercontext/artifacts/protocols.py +45 -0
- powercontext-0.0.1/src/powercontext/builtin/__init__.py +8 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/__init__.py +1 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/__init__.py +73 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/generation.py +49 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/incubation.py +176 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/models.py +48 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/prompts.py +46 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/experience/search.py +42 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/generation.py +42 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/__init__.py +117 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/errors.py +65 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/generation.py +239 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/models.py +412 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/prompts.py +24 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/protocols.py +67 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/handoff/service.py +305 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/__init__.py +148 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/canonical.py +294 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/errors.py +85 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/extraction.py +243 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/fusion.py +99 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/models.py +162 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/prompts.py +95 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/protocols.py +163 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/reranking.py +180 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/memory/service.py +1297 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/search.py +86 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/__init__.py +77 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/external.py +316 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/generation.py +49 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/models.py +74 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/prompts.py +22 -0
- powercontext-0.0.1/src/powercontext/builtin/artifacts/skill/registry.py +109 -0
- powercontext-0.0.1/src/powercontext/builtin/context.py +42 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/__init__.py +174 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/adapters.py +55 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/application.py +443 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/canonical.py +139 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/catalog.py +209 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/catalog_store.py +734 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/errors.py +182 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/models.py +469 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/protocols.py +40 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/rendering.py +357 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/report.py +321 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/repository.py +135 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/selection.py +77 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/service.py +238 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/sqlite.py +440 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/workspace.py +87 -0
- powercontext-0.0.1/src/powercontext/builtin/handoff_report/workspace_store.py +307 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/__init__.py +38 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/errors.py +39 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/models.py +32 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/protocols.py +33 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/pydantic_ai.py +312 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/tokens.py +59 -0
- powercontext-0.0.1/src/powercontext/builtin/inference/usage.py +91 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/__init__.py +43 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/artifacts.py +401 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/candidates.py +429 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/codec.py +35 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/cursors.py +129 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/database.py +103 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/errors.py +84 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/experience_index.py +230 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/external_skills.py +129 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/handoff.py +143 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/memory.py +601 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/memory_index.py +208 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/oceanbase/__init__.py +13 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/oceanbase/experience_index.py +100 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/oceanbase/memory_index.py +407 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/oceanbase/profile.py +142 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/schema.py +25 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/sources.py +268 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/sqlite/__init__.py +5 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/sqlite/experience_index.py +137 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/sqlite/memory_index.py +544 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/sqlite/profile.py +151 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/statistics.py +299 -0
- powercontext-0.0.1/src/powercontext/builtin/persistence/tables.py +421 -0
- powercontext-0.0.1/src/powercontext/builtin/review/__init__.py +35 -0
- powercontext-0.0.1/src/powercontext/builtin/review/errors.py +55 -0
- powercontext-0.0.1/src/powercontext/builtin/review/generation.py +216 -0
- powercontext-0.0.1/src/powercontext/builtin/review/models.py +88 -0
- powercontext-0.0.1/src/powercontext/builtin/review/service.py +423 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/__init__.py +265 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/application.py +1207 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/composition.py +529 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/config.py +136 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/errors.py +25 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/models.py +336 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/prepared_context.py +273 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/protocols.py +30 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/readiness.py +174 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/recall.py +128 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/relational.py +818 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/scheduler.py +193 -0
- powercontext-0.0.1/src/powercontext/builtin/runtime/statistics.py +364 -0
- powercontext-0.0.1/src/powercontext/builtin/sources/__init__.py +39 -0
- powercontext-0.0.1/src/powercontext/builtin/sources/content.py +60 -0
- powercontext-0.0.1/src/powercontext/builtin/sources/external_skill.py +79 -0
- powercontext-0.0.1/src/powercontext/builtin/sources/journal.py +33 -0
- powercontext-0.0.1/src/powercontext/builtin/statistics/__init__.py +53 -0
- powercontext-0.0.1/src/powercontext/builtin/statistics/models.py +251 -0
- powercontext-0.0.1/src/powercontext/builtin/triggers/__init__.py +23 -0
- powercontext-0.0.1/src/powercontext/builtin/triggers/handoff.py +45 -0
- powercontext-0.0.1/src/powercontext/builtin/triggers/source_window.py +46 -0
- powercontext-0.0.1/src/powercontext/cli/__init__.py +1 -0
- powercontext-0.0.1/src/powercontext/cli/app.py +99 -0
- powercontext-0.0.1/src/powercontext/cli/system.py +443 -0
- powercontext-0.0.1/src/powercontext/client/__init__.py +12 -0
- powercontext-0.0.1/src/powercontext/client/cli.py +829 -0
- powercontext-0.0.1/src/powercontext/client/client.py +589 -0
- powercontext-0.0.1/src/powercontext/client/errors.py +49 -0
- powercontext-0.0.1/src/powercontext/client/projections/__init__.py +38 -0
- powercontext-0.0.1/src/powercontext/client/projections/codex.py +84 -0
- powercontext-0.0.1/src/powercontext/client/settings.py +38 -0
- powercontext-0.0.1/src/powercontext/client/tracing.py +72 -0
- powercontext-0.0.1/src/powercontext/context.py +103 -0
- powercontext-0.0.1/src/powercontext/errors.py +128 -0
- powercontext-0.0.1/src/powercontext/http/__init__.py +319 -0
- powercontext-0.0.1/src/powercontext/http/_generated/__init__.py +20 -0
- powercontext-0.0.1/src/powercontext/http/_generated/models.py +1642 -0
- powercontext-0.0.1/src/powercontext/http/_generated/operations.py +1222 -0
- powercontext-0.0.1/src/powercontext/http/_generated/schema.py +3327 -0
- powercontext-0.0.1/src/powercontext/limits.py +12 -0
- powercontext-0.0.1/src/powercontext/paths.py +46 -0
- powercontext-0.0.1/src/powercontext/py.typed +0 -0
- powercontext-0.0.1/src/powercontext/server/__init__.py +1 -0
- powercontext-0.0.1/src/powercontext/server/access.py +143 -0
- powercontext-0.0.1/src/powercontext/server/app.py +1556 -0
- powercontext-0.0.1/src/powercontext/server/cli.py +57 -0
- powercontext-0.0.1/src/powercontext/server/context.py +42 -0
- powercontext-0.0.1/src/powercontext/server/factory.py +255 -0
- powercontext-0.0.1/src/powercontext/server/logging.py +116 -0
- powercontext-0.0.1/src/powercontext/server/mapping.py +823 -0
- powercontext-0.0.1/src/powercontext/server/mcp.py +138 -0
- powercontext-0.0.1/src/powercontext/server/metrics.py +177 -0
- powercontext-0.0.1/src/powercontext/server/middleware.py +67 -0
- powercontext-0.0.1/src/powercontext/server/settings.py +166 -0
- powercontext-0.0.1/src/powercontext/server/static/LICENSE.oceanbase-design +22 -0
- powercontext-0.0.1/src/powercontext/server/static/auth.js +37 -0
- powercontext-0.0.1/src/powercontext/server/static/dashboard.js +592 -0
- powercontext-0.0.1/src/powercontext/server/static/handoff-period.js +144 -0
- powercontext-0.0.1/src/powercontext/server/static/handoff-report.js +834 -0
- powercontext-0.0.1/src/powercontext/server/static/oceanbase-logo.svg +10 -0
- powercontext-0.0.1/src/powercontext/server/static/page-ui.js +104 -0
- powercontext-0.0.1/src/powercontext/server/static/site.css +1347 -0
- powercontext-0.0.1/src/powercontext/server/templates/base.html +40 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/activity_heatmap.html +19 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/footer.html +11 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/header.html +21 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/login.html +12 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/recall_trend.html +28 -0
- powercontext-0.0.1/src/powercontext/server/templates/components/status.html +7 -0
- powercontext-0.0.1/src/powercontext/server/templates/pages/dashboard.html +82 -0
- powercontext-0.0.1/src/powercontext/server/templates/pages/handoff_report.html +149 -0
- powercontext-0.0.1/src/powercontext/server/tracing.py +310 -0
- powercontext-0.0.1/src/powercontext/server/web.py +113 -0
- powercontext-0.0.1/src/powercontext/sources/__init__.py +14 -0
- powercontext-0.0.1/src/powercontext/sources/adapters.py +32 -0
- powercontext-0.0.1/src/powercontext/sources/catalog.py +105 -0
- powercontext-0.0.1/src/powercontext/sources/models.py +46 -0
- powercontext-0.0.1/src/powercontext/sources/protocols.py +26 -0
- powercontext-0.0.1/src/powercontext/triggers/__init__.py +9 -0
- powercontext-0.0.1/src/powercontext/triggers/models.py +17 -0
- powercontext-0.0.1/src/powercontext/triggers/protocols.py +30 -0
- powercontext-0.0.1/tests/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/artifacts/experience/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/artifacts/experience/test_incubation.py +114 -0
- powercontext-0.0.1/tests/builtin/artifacts/experience/test_models.py +50 -0
- powercontext-0.0.1/tests/builtin/artifacts/handoff/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/artifacts/handoff/test_generation.py +138 -0
- powercontext-0.0.1/tests/builtin/artifacts/handoff/test_models.py +201 -0
- powercontext-0.0.1/tests/builtin/artifacts/handoff/test_service.py +388 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/__init__.py +16 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_canonical.py +160 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_extraction.py +85 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_fusion.py +100 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_models.py +58 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_prompts.py +29 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_reranking.py +75 -0
- powercontext-0.0.1/tests/builtin/artifacts/memory/test_service.py +168 -0
- powercontext-0.0.1/tests/builtin/artifacts/skill/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/artifacts/skill/test_external.py +112 -0
- powercontext-0.0.1/tests/builtin/artifacts/skill/test_models.py +37 -0
- powercontext-0.0.1/tests/builtin/artifacts/skill/test_registry.py +98 -0
- powercontext-0.0.1/tests/builtin/inference/__init__.py +0 -0
- powercontext-0.0.1/tests/builtin/inference/test_pydantic_ai.py +383 -0
- powercontext-0.0.1/tests/builtin/inference/test_tokens.py +14 -0
- powercontext-0.0.1/tests/builtin/persistence/__init__.py +1 -0
- powercontext-0.0.1/tests/builtin/persistence/contract.py +116 -0
- powercontext-0.0.1/tests/builtin/persistence/test_artifacts.py +155 -0
- powercontext-0.0.1/tests/builtin/persistence/test_cursors.py +44 -0
- powercontext-0.0.1/tests/builtin/persistence/test_experience_index.py +188 -0
- powercontext-0.0.1/tests/builtin/persistence/test_external_skills.py +86 -0
- powercontext-0.0.1/tests/builtin/persistence/test_memory.py +177 -0
- powercontext-0.0.1/tests/builtin/persistence/test_mysql_schema.py +65 -0
- powercontext-0.0.1/tests/builtin/persistence/test_oceanbase_profile.py +151 -0
- powercontext-0.0.1/tests/builtin/persistence/test_provider.py +153 -0
- powercontext-0.0.1/tests/builtin/persistence/test_sources.py +137 -0
- powercontext-0.0.1/tests/builtin/persistence/test_sqlite_profile.py +66 -0
- powercontext-0.0.1/tests/builtin/review/__init__.py +0 -0
- powercontext-0.0.1/tests/builtin/review/test_generation.py +243 -0
- powercontext-0.0.1/tests/builtin/review/test_models.py +43 -0
- powercontext-0.0.1/tests/builtin/review/test_persistence.py +71 -0
- powercontext-0.0.1/tests/builtin/review/test_service.py +491 -0
- powercontext-0.0.1/tests/builtin/runtime/test_experience_incubation.py +179 -0
- powercontext-0.0.1/tests/builtin/runtime/test_external_skills.py +195 -0
- powercontext-0.0.1/tests/builtin/runtime/test_prepared_context.py +211 -0
- powercontext-0.0.1/tests/builtin/runtime/test_readiness.py +29 -0
- powercontext-0.0.1/tests/builtin/runtime/test_scheduler.py +228 -0
- powercontext-0.0.1/tests/builtin/runtime/test_statistics.py +137 -0
- powercontext-0.0.1/tests/codex_plugin/__init__.py +1 -0
- powercontext-0.0.1/tests/codex_plugin/conftest.py +34 -0
- powercontext-0.0.1/tests/codex_plugin/test_contract.py +137 -0
- powercontext-0.0.1/tests/codex_plugin/test_recall.py +523 -0
- powercontext-0.0.1/tests/codex_plugin/test_skill_projection.py +77 -0
- powercontext-0.0.1/tests/conftest.py +45 -0
- powercontext-0.0.1/tests/e2e/__init__.py +1 -0
- powercontext-0.0.1/tests/e2e/real_experience_skill/__init__.py +1 -0
- powercontext-0.0.1/tests/e2e/real_experience_skill/harness.py +2299 -0
- powercontext-0.0.1/tests/e2e/real_experience_skill/recall_evaluation.py +507 -0
- powercontext-0.0.1/tests/e2e/real_experience_skill/test_journey.py +28 -0
- powercontext-0.0.1/tests/e2e/real_experience_skill/test_recall_evaluation.py +21 -0
- powercontext-0.0.1/tests/e2e/test_builtin_runtime.py +108 -0
- powercontext-0.0.1/tests/e2e/test_candidate_review.py +434 -0
- powercontext-0.0.1/tests/e2e/test_codex_service_chain.py +245 -0
- powercontext-0.0.1/tests/e2e/test_external_skill_registry.py +140 -0
- powercontext-0.0.1/tests/e2e/test_handoff_runtime.py +332 -0
- powercontext-0.0.1/tests/e2e/test_mcp_transport.py +241 -0
- powercontext-0.0.1/tests/e2e/test_observability.py +170 -0
- powercontext-0.0.1/tests/e2e/test_reviewed_generation.py +128 -0
- powercontext-0.0.1/tests/e2e/test_runtime_server.py +576 -0
- powercontext-0.0.1/tests/e2e/test_scheduled_experience_incubation.py +117 -0
- powercontext-0.0.1/tests/e2e/test_server_cli.py +67 -0
- powercontext-0.0.1/tests/e2e/test_sqlite_vec1.py +87 -0
- powercontext-0.0.1/tests/e2e/test_statistics_flow.py +284 -0
- powercontext-0.0.1/tests/evaluation/test_locomo_benchmark.py +360 -0
- powercontext-0.0.1/tests/evaluation/test_locomo_prompts.py +46 -0
- powercontext-0.0.1/tests/test_api_contract.py +439 -0
- powercontext-0.0.1/tests/test_artifacts.py +142 -0
- powercontext-0.0.1/tests/test_capabilities.py +28 -0
- powercontext-0.0.1/tests/test_cli.py +602 -0
- powercontext-0.0.1/tests/test_client.py +190 -0
- powercontext-0.0.1/tests/test_dashboard.py +120 -0
- powercontext-0.0.1/tests/test_handoff_report_canonical.py +72 -0
- powercontext-0.0.1/tests/test_handoff_report_catalog.py +234 -0
- powercontext-0.0.1/tests/test_handoff_report_http.py +248 -0
- powercontext-0.0.1/tests/test_handoff_report_models.py +185 -0
- powercontext-0.0.1/tests/test_handoff_report_repository.py +266 -0
- powercontext-0.0.1/tests/test_handoff_report_selection.py +194 -0
- powercontext-0.0.1/tests/test_handoff_report_service.py +420 -0
- powercontext-0.0.1/tests/test_handoff_report_workspace.py +159 -0
- powercontext-0.0.1/tests/test_mcp.py +190 -0
- powercontext-0.0.1/tests/test_server.py +619 -0
- powercontext-0.0.1/tests/test_server_embedding.py +56 -0
- powercontext-0.0.1/tests/test_server_logging.py +68 -0
- powercontext-0.0.1/tests/test_server_metrics.py +125 -0
- powercontext-0.0.1/tests/test_server_tracing.py +145 -0
- powercontext-0.0.1/tests/test_sources.py +270 -0
- powercontext-0.0.1/tests/test_system_cli.py +344 -0
- powercontext-0.0.1/theme/powercontext/assets/images/LICENSE.oceanbase-design +22 -0
- powercontext-0.0.1/theme/powercontext/assets/images/oceanbase-logo.svg +10 -0
- powercontext-0.0.1/theme/powercontext/assets/javascripts/landing-visual.js +477 -0
- powercontext-0.0.1/theme/powercontext/assets/javascripts/language-switcher.js +38 -0
- powercontext-0.0.1/theme/powercontext/assets/stylesheets/powercontext.css +1007 -0
- powercontext-0.0.1/theme/powercontext/assets/stylesheets/pygments-github-dark.css +87 -0
- powercontext-0.0.1/theme/powercontext/home.html +57 -0
- powercontext-0.0.1/theme/powercontext/listing.html +23 -0
- powercontext-0.0.1/theme/powercontext/main.html +12 -0
- powercontext-0.0.1/theme/powercontext/partials/footer.html +67 -0
- powercontext-0.0.1/theme/powercontext/partials/header.html +51 -0
- powercontext-0.0.1/theme/powercontext/partials/language.html +4 -0
- powercontext-0.0.1/theme/powercontext/partials/logo.html +1 -0
- powercontext-0.0.1/theme/powercontext/partials/nav.html +50 -0
- powercontext-0.0.1/theme/powercontext/partials/path.html +14 -0
- powercontext-0.0.1/theme/powercontext/partials/source.html +7 -0
- powercontext-0.0.1/tox.ini +18 -0
- powercontext-0.0.1/uv.lock +3525 -0
- powercontext-0.0.1/zensical.toml +161 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "powercontext",
|
|
3
|
+
"interface": {
|
|
4
|
+
"displayName": "PowerContext"
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "powercontext",
|
|
9
|
+
"source": {
|
|
10
|
+
"source": "local",
|
|
11
|
+
"path": "./integrations/codex/plugins/powercontext"
|
|
12
|
+
},
|
|
13
|
+
"policy": {
|
|
14
|
+
"installation": "AVAILABLE"
|
|
15
|
+
},
|
|
16
|
+
"category": "Productivity"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.git
|
|
2
|
+
.github
|
|
3
|
+
.agents
|
|
4
|
+
.venv
|
|
5
|
+
**/.venv
|
|
6
|
+
.tox
|
|
7
|
+
.pytest_cache
|
|
8
|
+
**/.pytest_cache
|
|
9
|
+
.ruff_cache
|
|
10
|
+
**/.ruff_cache
|
|
11
|
+
.mypy_cache
|
|
12
|
+
.powercontext
|
|
13
|
+
__pycache__
|
|
14
|
+
**/__pycache__
|
|
15
|
+
*.py[cod]
|
|
16
|
+
*.db
|
|
17
|
+
*.sqlite*
|
|
18
|
+
.env
|
|
19
|
+
.env.*
|
|
20
|
+
build
|
|
21
|
+
dist
|
|
22
|
+
site
|
|
23
|
+
docs
|
|
24
|
+
integrations/*
|
|
25
|
+
!integrations/bub
|
|
26
|
+
!integrations/bub/**
|
|
27
|
+
openapi
|
|
28
|
+
tests
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Copy this file to .env, replace the API key, then load it with:
|
|
2
|
+
# set -a; . ./.env; set +a
|
|
3
|
+
|
|
4
|
+
# Server transport
|
|
5
|
+
POWERCONTEXT_SERVER_HTTP_HOST=127.0.0.1
|
|
6
|
+
POWERCONTEXT_SERVER_HTTP_PORT=8000
|
|
7
|
+
POWERCONTEXT_SERVER_MCP_ENABLED=true
|
|
8
|
+
POWERCONTEXT_SERVER_MCP_PATH=/mcp
|
|
9
|
+
|
|
10
|
+
# Built-in SQLite database. Use an absolute Vec1 path in deployed environments.
|
|
11
|
+
POWERCONTEXT_SERVER_DATABASE_KIND=sqlite
|
|
12
|
+
POWERCONTEXT_SERVER_DATABASE_URL=sqlite+aiosqlite:///.powercontext/powercontext.db
|
|
13
|
+
POWERCONTEXT_SERVER_DATABASE_VEC1_EXTENSION=.powercontext/vec1.so
|
|
14
|
+
|
|
15
|
+
# To use OceanBase instead, replace the SQLite database values:
|
|
16
|
+
# POWERCONTEXT_SERVER_DATABASE_KIND=oceanbase
|
|
17
|
+
# POWERCONTEXT_SERVER_DATABASE_URL=mysql+aoceanbase://user:password@host:2881/powercontext?charset=utf8mb4
|
|
18
|
+
|
|
19
|
+
# Source windows are flushed explicitly unless the optional interval is set.
|
|
20
|
+
POWERCONTEXT_SERVER_RUNTIME_SOURCE_WINDOW_LIMIT=100
|
|
21
|
+
# POWERCONTEXT_SERVER_RUNTIME_SCHEDULE_SECONDS=60
|
|
22
|
+
|
|
23
|
+
# OpenRouter generation and embeddings
|
|
24
|
+
POWERCONTEXT_SERVER_INFERENCE_GENERATION_MODEL=openrouter:deepseek/deepseek-v4-pro
|
|
25
|
+
POWERCONTEXT_SERVER_INFERENCE_GENERATION_TIMEOUT_SECONDS=30
|
|
26
|
+
POWERCONTEXT_SERVER_INFERENCE_GENERATION_MAX_REQUESTS=2
|
|
27
|
+
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_MODEL=openrouter:qwen/qwen3-embedding-4b
|
|
28
|
+
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_PROFILE_ID=openrouter-qwen3-embedding-4b-2560-unit
|
|
29
|
+
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_DIMENSION=2560
|
|
30
|
+
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_NORMALIZATION=unit
|
|
31
|
+
POWERCONTEXT_SERVER_INFERENCE_EMBEDDING_TIMEOUT_SECONDS=30
|
|
32
|
+
|
|
33
|
+
OPENROUTER_API_KEY=replace-me
|
|
34
|
+
OPENROUTER_APP_TITLE=PowerContext
|
|
35
|
+
# OPENROUTER_APP_URL=https://your-application.example
|
|
36
|
+
|
|
37
|
+
# Client CLI
|
|
38
|
+
POWERCONTEXT_CLIENT_SERVER_URL=http://127.0.0.1:8000
|
|
39
|
+
POWERCONTEXT_CLIENT_TIMEOUT=10
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a reproducible problem in PowerContext
|
|
3
|
+
title: "bug: "
|
|
4
|
+
labels: ["bug"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: "Thank you for taking the time to report a bug. Please provide enough detail for maintainers to reproduce and diagnose the issue."
|
|
9
|
+
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: describe-bug
|
|
12
|
+
attributes:
|
|
13
|
+
label: Describe the bug
|
|
14
|
+
description: "A clear and concise description of the problem."
|
|
15
|
+
placeholder: "Describe what went wrong..."
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: steps-to-reproduce
|
|
21
|
+
attributes:
|
|
22
|
+
label: Steps to reproduce
|
|
23
|
+
description: "List the exact steps, commands, inputs, or environment state needed to reproduce the behavior."
|
|
24
|
+
placeholder: |
|
|
25
|
+
1. ...
|
|
26
|
+
2. ...
|
|
27
|
+
3. ...
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
- type: textarea
|
|
32
|
+
id: expected-behavior
|
|
33
|
+
attributes:
|
|
34
|
+
label: Expected behavior
|
|
35
|
+
description: "Describe what you expected to happen."
|
|
36
|
+
placeholder: "Explain the expected result..."
|
|
37
|
+
validations:
|
|
38
|
+
required: true
|
|
39
|
+
|
|
40
|
+
- type: textarea
|
|
41
|
+
id: actual-behavior
|
|
42
|
+
attributes:
|
|
43
|
+
label: Actual behavior
|
|
44
|
+
description: "Describe what actually happened. Include relevant logs, stack traces, or screenshots."
|
|
45
|
+
placeholder: "Paste logs or error output here..."
|
|
46
|
+
validations:
|
|
47
|
+
required: false
|
|
48
|
+
|
|
49
|
+
- type: textarea
|
|
50
|
+
id: environment
|
|
51
|
+
attributes:
|
|
52
|
+
label: Environment
|
|
53
|
+
description: "Share the version, Python runtime, operating system, and any relevant dependency versions."
|
|
54
|
+
placeholder: |
|
|
55
|
+
- PowerContext version:
|
|
56
|
+
- Python version:
|
|
57
|
+
- OS:
|
|
58
|
+
validations:
|
|
59
|
+
required: false
|
|
60
|
+
|
|
61
|
+
- type: checkboxes
|
|
62
|
+
id: willing-to-submit-pr
|
|
63
|
+
attributes:
|
|
64
|
+
label: Are you willing to submit a PR to fix this bug?
|
|
65
|
+
options:
|
|
66
|
+
- label: "Yes, I would like to submit a PR."
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest an improvement or new capability for PowerContext
|
|
3
|
+
title: "feat: "
|
|
4
|
+
labels: ["enhancement"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: "Thank you for suggesting an improvement. Substantial changes may be asked to go through the RFC process under `docs/rfcs` before implementation."
|
|
9
|
+
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: feature-description
|
|
12
|
+
attributes:
|
|
13
|
+
label: Feature description
|
|
14
|
+
description: "Describe the capability you would like to see."
|
|
15
|
+
placeholder: "Describe the feature..."
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: problem-solution
|
|
21
|
+
attributes:
|
|
22
|
+
label: Problem and proposed solution
|
|
23
|
+
description: "Explain the problem this solves and how you expect the solution to work."
|
|
24
|
+
placeholder: "What problem does this solve? What should the user experience or API look like?"
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
- type: textarea
|
|
29
|
+
id: alternatives
|
|
30
|
+
attributes:
|
|
31
|
+
label: Alternatives considered
|
|
32
|
+
description: "List any alternative designs, workarounds, or tradeoffs you have considered."
|
|
33
|
+
placeholder: "Describe alternatives or explain why they are not enough..."
|
|
34
|
+
validations:
|
|
35
|
+
required: false
|
|
36
|
+
|
|
37
|
+
- type: textarea
|
|
38
|
+
id: additional-context
|
|
39
|
+
attributes:
|
|
40
|
+
label: Additional context
|
|
41
|
+
description: "Add any other context, examples, screenshots, or links."
|
|
42
|
+
placeholder: "Add supporting details here..."
|
|
43
|
+
validations:
|
|
44
|
+
required: false
|
|
45
|
+
|
|
46
|
+
- type: checkboxes
|
|
47
|
+
id: willing-to-contribute
|
|
48
|
+
attributes:
|
|
49
|
+
label: Are you willing to contribute to this feature?
|
|
50
|
+
options:
|
|
51
|
+
- label: "Yes, I am willing to contribute code, docs, or design feedback."
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "Setup Python Environment"
|
|
2
|
+
description: "Set up Python environment for the given Python version"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
python-version:
|
|
6
|
+
description: "Python version to use"
|
|
7
|
+
required: true
|
|
8
|
+
default: "3.12"
|
|
9
|
+
uv-version:
|
|
10
|
+
description: "uv version to use"
|
|
11
|
+
required: true
|
|
12
|
+
default: "0.10.12"
|
|
13
|
+
|
|
14
|
+
runs:
|
|
15
|
+
using: "composite"
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/setup-python@v6
|
|
18
|
+
with:
|
|
19
|
+
python-version: ${{ inputs.python-version }}
|
|
20
|
+
|
|
21
|
+
- name: Install uv
|
|
22
|
+
uses: astral-sh/setup-uv@v9.0.0
|
|
23
|
+
with:
|
|
24
|
+
version: ${{ inputs.uv-version }}
|
|
25
|
+
enable-cache: 'true'
|
|
26
|
+
cache-suffix: ${{ matrix.python-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install Python dependencies
|
|
29
|
+
run: uv sync --frozen
|
|
30
|
+
shell: bash
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Which issue or RFC does this PR close?
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
Link the related issue or RFC using GitHub syntax.
|
|
5
|
+
For example, `Closes #123` indicates that this PR will close issue #123.
|
|
6
|
+
If this PR implements an RFC, link the RFC and any existing tracking issue.
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
Closes #.
|
|
10
|
+
|
|
11
|
+
# Rationale for this change
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
Explain why this change is needed. If the linked issue or RFC already explains the rationale clearly, a short summary is enough.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
# What changes are included in this PR?
|
|
18
|
+
|
|
19
|
+
<!--
|
|
20
|
+
Summarize the important changes. Focus on behavior, API, docs, tests, and migration impact.
|
|
21
|
+
-->
|
|
22
|
+
|
|
23
|
+
# Are there any user-facing changes?
|
|
24
|
+
|
|
25
|
+
<!--
|
|
26
|
+
If there are user-facing changes, documentation may need to be updated before approval.
|
|
27
|
+
If there are breaking changes to public APIs or persisted formats, call them out explicitly.
|
|
28
|
+
-->
|
|
29
|
+
|
|
30
|
+
# How was this change tested?
|
|
31
|
+
|
|
32
|
+
<!--
|
|
33
|
+
List commands run, tests added or updated, and any manual validation performed.
|
|
34
|
+
-->
|
|
35
|
+
|
|
36
|
+
# AI usage statement
|
|
37
|
+
|
|
38
|
+
<!--
|
|
39
|
+
If AI tools were used to build this PR, describe the tool and model where possible.
|
|
40
|
+
If not applicable, write `Not used`.
|
|
41
|
+
-->
|