petfishframework 0.2.2__tar.gz → 0.2.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.
- petfishframework-0.2.4/.github/workflows/publish.yml +57 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/.gitignore +44 -44
- {petfishframework-0.2.2 → petfishframework-0.2.4}/AGENTS.md +370 -370
- {petfishframework-0.2.2 → petfishframework-0.2.4}/AGENTS.md.new +100 -100
- {petfishframework-0.2.2 → petfishframework-0.2.4}/PKG-INFO +1 -1
- {petfishframework-0.2.2 → petfishframework-0.2.4}/README.md +230 -230
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/development.md +7 -7
- petfishframework-0.2.4/docs/feedbacks/petfishframework_v0_2_2_review.md +305 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/initialization-report.md +91 -91
- {petfishframework-0.2.2 → petfishframework-0.2.4}/mcp/README.md +7 -7
- {petfishframework-0.2.2 → petfishframework-0.2.4}/mcp/connection-checklist.md +7 -7
- {petfishframework-0.2.2 → petfishframework-0.2.4}/mcp/mcp-config.example.json +27 -27
- {petfishframework-0.2.2 → petfishframework-0.2.4}/opencode.json +67 -67
- {petfishframework-0.2.2 → petfishframework-0.2.4}/pyproject.toml +77 -77
- {petfishframework-0.2.2 → petfishframework-0.2.4}/qa/code-review-checklist.md +7 -7
- {petfishframework-0.2.2 → petfishframework-0.2.4}/qa/test-plan.md +7 -7
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/__init__.py +33 -33
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/timeout.py +2 -1
- {petfishframework-0.2.2 → petfishframework-0.2.4}/uv.lock +5 -5
- {petfishframework-0.2.2 → petfishframework-0.2.4}/.env.example +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/.github/workflows/ci.yml +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/.sisyphus/plans/v0.1.6-plan.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/.sisyphus/plans/v0.2.0-plan.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/CHANGELOG.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/CONTRIBUTING.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/LICENSE +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/SECURITY.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/conftest.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/api.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/architecture.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/benchmark-results.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/development-plan.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/enterprise-expense-demo.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_0_1_4_playground_recommendations.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_playground_report.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_production_readiness_roadmap.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_recommendations.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_v0_1_6_playground_review.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_v0_1_7_review.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/feedbacks/archives/petfishframework_v0_1_8_review.md +0 -0
- {petfishframework-0.2.2/docs/feedbacks → petfishframework-0.2.4/docs/feedbacks/archives}/petfishframework_v0_2_1_review.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/competitor-analysis/README.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/competitor-analysis/competitor-matrix.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/competitor-analysis/market-brief.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/competitor-analysis/positioning-map.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/competitor-analysis/swot-analysis.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/literature-review/inclusion-exclusion-criteria.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/literature-review/literature-matrix.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/literature-review/literature-review.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/literature-review/search-strategy.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/research/reference-repos-absorption.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/skeleton-completeness-checklist.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/test-results-report.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/usage-guide.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/docs/validation-roadmap.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/qa/qa-review.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/qa/qc-gate-decision.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/config.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/agent.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/compiled.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/contracts.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/conversation.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/environment.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/events.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/session.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/structured.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/core/types.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/mcp/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/mcp/client.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/mcp/server.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/mcp/stdio_transport.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/mcp/wrapper.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/models/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/models/anthropic.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/models/fake.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/models/openai.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/observability/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/observability/sinks.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/permissions/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/permissions/model.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reasoning/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reasoning/lats.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reasoning/llm_plus_p.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reasoning/react.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/audit_report.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/cost.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/cost_report.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/pass_at_k.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/replay.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/reliability/retry.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/retrieval/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/retrieval/adaptive.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/retrieval/crag.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/retrieval/memory_store.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/agent_tool.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/base.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/calculator.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/path_planner.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/registry.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/src/petfishframework/tools/word_sorter.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tasks/backlog.md +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/integration/__init__.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/integration/test_anthropic_integration.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/integration/test_openai_integration.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_agent_tool.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_anthropic_adapter.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_api_agent_lifecycle.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_api_edge_cases.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_api_integration.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_api_public_surface.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_api_type_safety.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_async.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_audit_report_v2.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_conversation.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_degrade.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_degrade_failclosed.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_enterprise_demo.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_m2_m3_m4.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_mcp.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_openai_adapter.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_pass_at_k.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_permission_semantics.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_quickstart_smoke.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_replay.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_retrieval.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_retry.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_skeleton.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_stdio_transport.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_streaming.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_structured.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_tool_registry.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v016_semantics.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v018.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v019.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v2_interface_compatibility.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v2_lats.py +0 -0
- {petfishframework-0.2.2 → petfishframework-0.2.4}/tests/test_v2_llm_plus_p.py +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
|
|
14
|
+
- name: Install uv
|
|
15
|
+
uses: astral-sh/setup-uv@v3
|
|
16
|
+
|
|
17
|
+
- name: Set up Python
|
|
18
|
+
run: uv python install 3.12
|
|
19
|
+
|
|
20
|
+
- name: Install dependencies
|
|
21
|
+
run: uv sync --all-extras
|
|
22
|
+
|
|
23
|
+
- name: Run tests
|
|
24
|
+
run: uv run pytest tests/ -q --tb=short
|
|
25
|
+
|
|
26
|
+
- name: Lint
|
|
27
|
+
run: uv run ruff check src/ tests/
|
|
28
|
+
|
|
29
|
+
- name: Build package
|
|
30
|
+
run: uv build
|
|
31
|
+
|
|
32
|
+
- name: Upload artifacts
|
|
33
|
+
uses: actions/upload-artifact@v4
|
|
34
|
+
with:
|
|
35
|
+
name: dist
|
|
36
|
+
path: dist/
|
|
37
|
+
|
|
38
|
+
publish:
|
|
39
|
+
needs: build
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
environment: pypi
|
|
42
|
+
|
|
43
|
+
# OIDC permissions — this is what enables Trusted Publishing
|
|
44
|
+
# No API token needed. PyPI verifies the GitHub OIDC token.
|
|
45
|
+
permissions:
|
|
46
|
+
id-token: write
|
|
47
|
+
|
|
48
|
+
steps:
|
|
49
|
+
- name: Download artifacts
|
|
50
|
+
uses: actions/download-artifact@v4
|
|
51
|
+
with:
|
|
52
|
+
name: dist
|
|
53
|
+
path: dist/
|
|
54
|
+
|
|
55
|
+
- name: Publish to PyPI
|
|
56
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
57
|
+
# No password/token — Trusted Publishing uses OIDC
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# OS
|
|
2
|
-
Thumbs.db
|
|
3
|
-
Desktop.ini
|
|
4
|
-
.DS_Store
|
|
5
|
-
|
|
6
|
-
# Editors
|
|
7
|
-
.vscode/
|
|
8
|
-
.idea/
|
|
9
|
-
*.swp
|
|
10
|
-
*.swo
|
|
11
|
-
|
|
12
|
-
# Python
|
|
13
|
-
__pycache__/
|
|
14
|
-
*.pyc
|
|
15
|
-
.venv/
|
|
16
|
-
|
|
17
|
-
# Environment secrets — NEVER commit
|
|
18
|
-
.env
|
|
19
|
-
.env.*
|
|
20
|
-
!.env.example
|
|
21
|
-
.uv/
|
|
22
|
-
|
|
23
|
-
# Installed skills — derived from packs, regenerated by the installer.
|
|
24
|
-
# Source of truth is the skill pack repo; installed copies must not be tracked.
|
|
25
|
-
.opencode/skills/
|
|
26
|
-
.opencode/commands/
|
|
27
|
-
.opencode/agents/
|
|
28
|
-
.opencode/installed-packs.json
|
|
29
|
-
.claude/skills/
|
|
30
|
-
.claude/installed-packs.json
|
|
31
|
-
.cursor/skills/
|
|
32
|
-
.cursor/installed-packs.json
|
|
33
|
-
.github/skills/
|
|
34
|
-
.github/installed-packs.json
|
|
35
|
-
.windsurf/skills/
|
|
36
|
-
.windsurf/installed-packs.json
|
|
37
|
-
.agents/skills/
|
|
38
|
-
.agents/installed-packs.json
|
|
39
|
-
|
|
40
|
-
# PetFish local state
|
|
41
|
-
.petfish/
|
|
1
|
+
# OS
|
|
2
|
+
Thumbs.db
|
|
3
|
+
Desktop.ini
|
|
4
|
+
.DS_Store
|
|
5
|
+
|
|
6
|
+
# Editors
|
|
7
|
+
.vscode/
|
|
8
|
+
.idea/
|
|
9
|
+
*.swp
|
|
10
|
+
*.swo
|
|
11
|
+
|
|
12
|
+
# Python
|
|
13
|
+
__pycache__/
|
|
14
|
+
*.pyc
|
|
15
|
+
.venv/
|
|
16
|
+
|
|
17
|
+
# Environment secrets — NEVER commit
|
|
18
|
+
.env
|
|
19
|
+
.env.*
|
|
20
|
+
!.env.example
|
|
21
|
+
.uv/
|
|
22
|
+
|
|
23
|
+
# Installed skills — derived from packs, regenerated by the installer.
|
|
24
|
+
# Source of truth is the skill pack repo; installed copies must not be tracked.
|
|
25
|
+
.opencode/skills/
|
|
26
|
+
.opencode/commands/
|
|
27
|
+
.opencode/agents/
|
|
28
|
+
.opencode/installed-packs.json
|
|
29
|
+
.claude/skills/
|
|
30
|
+
.claude/installed-packs.json
|
|
31
|
+
.cursor/skills/
|
|
32
|
+
.cursor/installed-packs.json
|
|
33
|
+
.github/skills/
|
|
34
|
+
.github/installed-packs.json
|
|
35
|
+
.windsurf/skills/
|
|
36
|
+
.windsurf/installed-packs.json
|
|
37
|
+
.agents/skills/
|
|
38
|
+
.agents/installed-packs.json
|
|
39
|
+
|
|
40
|
+
# PetFish local state
|
|
41
|
+
.petfish/
|
|
42
42
|
|
|
43
43
|
# Temp/backup files
|
|
44
44
|
*.bak
|
|
45
45
|
extract.py
|
|
46
46
|
install_extracted.py
|
|
47
47
|
.opencode/mcp/
|
|
48
|
-
.opencode/plugin/
|
|
48
|
+
.opencode/plugin/
|
|
49
49
|
|
|
50
50
|
# Build artifacts
|
|
51
|
-
dist/
|
|
52
|
-
.env.pypi
|
|
51
|
+
dist/
|
|
52
|
+
.env.pypi
|