pisama-claude-code 0.3.2__tar.gz → 0.3.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 (39) hide show
  1. pisama_claude_code-0.3.4/.github/ISSUE_TEMPLATE/bug_report.yml +117 -0
  2. pisama_claude_code-0.3.4/.github/ISSUE_TEMPLATE/config.yml +8 -0
  3. pisama_claude_code-0.3.4/.github/ISSUE_TEMPLATE/feature_request.yml +93 -0
  4. pisama_claude_code-0.3.4/.github/PULL_REQUEST_TEMPLATE.md +61 -0
  5. pisama_claude_code-0.3.4/.github/workflows/ci.yml +80 -0
  6. pisama_claude_code-0.3.4/.github/workflows/publish.yml +68 -0
  7. pisama_claude_code-0.3.4/.gitignore +103 -0
  8. pisama_claude_code-0.3.4/CHANGELOG.md +94 -0
  9. pisama_claude_code-0.3.4/CODE_OF_CONDUCT.md +133 -0
  10. pisama_claude_code-0.3.4/CONTRIBUTING.md +168 -0
  11. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/LICENSE +1 -1
  12. pisama_claude_code-0.3.4/PKG-INFO +276 -0
  13. pisama_claude_code-0.3.4/README.md +229 -0
  14. pisama_claude_code-0.3.4/SECURITY.md +97 -0
  15. pisama_claude_code-0.3.4/demo/README.md +78 -0
  16. pisama_claude_code-0.3.4/demo/demo-simulated.sh +131 -0
  17. pisama_claude_code-0.3.4/demo/record-demo.sh +82 -0
  18. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/pyproject.toml +22 -2
  19. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/__init__.py +1 -1
  20. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/cli.py +53 -9
  21. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/hooks/capture_hook.py +179 -23
  22. pisama_claude_code-0.3.4/src/pisama_claude_code/py.typed +0 -0
  23. pisama_claude_code-0.3.2/.gitignore +0 -1
  24. pisama_claude_code-0.3.2/PKG-INFO +0 -211
  25. pisama_claude_code-0.3.2/README.md +0 -176
  26. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/adapter.py +0 -0
  27. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/guardian.py +0 -0
  28. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/hooks/__init__.py +0 -0
  29. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/hooks/guardian_hook.py +0 -0
  30. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/install.py +0 -0
  31. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/storage.py +0 -0
  32. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/trace_converter.py +0 -0
  33. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/src/pisama_claude_code/trace_types.py +0 -0
  34. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/__init__.py +0 -0
  35. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/conftest.py +0 -0
  36. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/test_adapter.py +0 -0
  37. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/test_cli.py +0 -0
  38. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/test_guardian.py +0 -0
  39. {pisama_claude_code-0.3.2 → pisama_claude_code-0.3.4}/tests/test_storage.py +0 -0
@@ -0,0 +1,117 @@
1
+ name: Bug Report
2
+ description: Report a bug or unexpected behavior
3
+ title: "[Bug]: "
4
+ labels: ["bug", "triage"]
5
+ assignees: []
6
+
7
+ body:
8
+ - type: markdown
9
+ attributes:
10
+ value: |
11
+ Thanks for taking the time to report a bug! Please fill out the form below.
12
+
13
+ - type: textarea
14
+ id: description
15
+ attributes:
16
+ label: Bug Description
17
+ description: A clear and concise description of what the bug is.
18
+ placeholder: Describe the bug...
19
+ validations:
20
+ required: true
21
+
22
+ - type: textarea
23
+ id: reproduction
24
+ attributes:
25
+ label: Steps to Reproduce
26
+ description: Steps to reproduce the behavior.
27
+ placeholder: |
28
+ 1. Run `pisama-cc install`
29
+ 2. Execute a Claude Code session
30
+ 3. Run `pisama-cc traces`
31
+ 4. See error...
32
+ validations:
33
+ required: true
34
+
35
+ - type: textarea
36
+ id: expected
37
+ attributes:
38
+ label: Expected Behavior
39
+ description: What did you expect to happen?
40
+ placeholder: Describe what you expected...
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ id: actual
46
+ attributes:
47
+ label: Actual Behavior
48
+ description: What actually happened?
49
+ placeholder: Describe what actually happened...
50
+ validations:
51
+ required: true
52
+
53
+ - type: input
54
+ id: version
55
+ attributes:
56
+ label: pisama-claude-code Version
57
+ description: Run `pip show pisama-claude-code` to find the version.
58
+ placeholder: "0.3.2"
59
+ validations:
60
+ required: true
61
+
62
+ - type: dropdown
63
+ id: os
64
+ attributes:
65
+ label: Operating System
66
+ options:
67
+ - macOS
68
+ - Linux
69
+ - Windows
70
+ - Other
71
+ validations:
72
+ required: true
73
+
74
+ - type: input
75
+ id: python-version
76
+ attributes:
77
+ label: Python Version
78
+ description: Run `python --version` to find the version.
79
+ placeholder: "3.11.0"
80
+ validations:
81
+ required: true
82
+
83
+ - type: input
84
+ id: claude-code-version
85
+ attributes:
86
+ label: Claude Code Version
87
+ description: Run `claude --version` to find the version.
88
+ placeholder: "1.0.0"
89
+ validations:
90
+ required: false
91
+
92
+ - type: textarea
93
+ id: logs
94
+ attributes:
95
+ label: Relevant Logs
96
+ description: Please copy and paste any relevant log output.
97
+ render: shell
98
+ validations:
99
+ required: false
100
+
101
+ - type: textarea
102
+ id: additional
103
+ attributes:
104
+ label: Additional Context
105
+ description: Add any other context about the problem here.
106
+ validations:
107
+ required: false
108
+
109
+ - type: checkboxes
110
+ id: terms
111
+ attributes:
112
+ label: Checklist
113
+ options:
114
+ - label: I have searched existing issues to ensure this bug hasn't been reported
115
+ required: true
116
+ - label: I have included all relevant information above
117
+ required: true
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Documentation
4
+ url: https://pisama.dev/docs/claude-code
5
+ about: Check the documentation for usage guides and examples
6
+ - name: Discussions
7
+ url: https://github.com/tn-pisama/pisama-claude-code/discussions
8
+ about: Ask questions and discuss ideas with the community
@@ -0,0 +1,93 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or enhancement
3
+ title: "[Feature]: "
4
+ labels: ["enhancement", "triage"]
5
+ assignees: []
6
+
7
+ body:
8
+ - type: markdown
9
+ attributes:
10
+ value: |
11
+ Thanks for suggesting a feature! Please fill out the form below.
12
+
13
+ - type: textarea
14
+ id: problem
15
+ attributes:
16
+ label: Problem Statement
17
+ description: Is your feature request related to a problem? Please describe.
18
+ placeholder: I'm always frustrated when...
19
+ validations:
20
+ required: true
21
+
22
+ - type: textarea
23
+ id: solution
24
+ attributes:
25
+ label: Proposed Solution
26
+ description: Describe the solution you'd like to see.
27
+ placeholder: I would like pisama-cc to...
28
+ validations:
29
+ required: true
30
+
31
+ - type: textarea
32
+ id: alternatives
33
+ attributes:
34
+ label: Alternatives Considered
35
+ description: Have you considered any alternative solutions or workarounds?
36
+ placeholder: I've also thought about...
37
+ validations:
38
+ required: false
39
+
40
+ - type: dropdown
41
+ id: category
42
+ attributes:
43
+ label: Feature Category
44
+ options:
45
+ - CLI Commands
46
+ - Trace Capture
47
+ - Token/Cost Tracking
48
+ - Export/Import
49
+ - Platform Integration
50
+ - Documentation
51
+ - Other
52
+ validations:
53
+ required: true
54
+
55
+ - type: dropdown
56
+ id: priority
57
+ attributes:
58
+ label: How important is this feature to you?
59
+ options:
60
+ - Nice to have
61
+ - Would be helpful
62
+ - Important for my workflow
63
+ - Critical blocker
64
+ validations:
65
+ required: true
66
+
67
+ - type: textarea
68
+ id: use-case
69
+ attributes:
70
+ label: Use Case
71
+ description: Describe a specific scenario where this feature would be useful.
72
+ placeholder: |
73
+ When I'm debugging a long Claude Code session, I want to...
74
+ validations:
75
+ required: false
76
+
77
+ - type: textarea
78
+ id: additional
79
+ attributes:
80
+ label: Additional Context
81
+ description: Add any other context, mockups, or examples here.
82
+ validations:
83
+ required: false
84
+
85
+ - type: checkboxes
86
+ id: terms
87
+ attributes:
88
+ label: Checklist
89
+ options:
90
+ - label: I have searched existing issues to ensure this feature hasn't been requested
91
+ required: true
92
+ - label: This feature aligns with the project's scope (lightweight trace capture for Claude Code)
93
+ required: true
@@ -0,0 +1,61 @@
1
+ ## Description
2
+
3
+ <!-- Provide a brief description of the changes in this PR -->
4
+
5
+ ## Type of Change
6
+
7
+ <!-- Mark the relevant option with an "x" -->
8
+
9
+ - [ ] Bug fix (non-breaking change that fixes an issue)
10
+ - [ ] New feature (non-breaking change that adds functionality)
11
+ - [ ] Breaking change (fix or feature that would cause existing functionality to change)
12
+ - [ ] Documentation update
13
+ - [ ] Refactoring (no functional changes)
14
+ - [ ] Test improvements
15
+
16
+ ## Related Issues
17
+
18
+ <!-- Link any related issues using "Fixes #123" or "Relates to #123" -->
19
+
20
+ Fixes #
21
+
22
+ ## Changes Made
23
+
24
+ <!-- List the specific changes made in this PR -->
25
+
26
+ -
27
+ -
28
+ -
29
+
30
+ ## Testing
31
+
32
+ <!-- Describe how you tested these changes -->
33
+
34
+ - [ ] Added/updated unit tests
35
+ - [ ] All existing tests pass (`pytest tests/`)
36
+ - [ ] Tested manually with Claude Code
37
+
38
+ ### Manual Testing Steps
39
+
40
+ <!-- If applicable, describe how to manually test the changes -->
41
+
42
+ 1.
43
+ 2.
44
+ 3.
45
+
46
+ ## Checklist
47
+
48
+ - [ ] My code follows the project's code style
49
+ - [ ] I have run `ruff check src/` and fixed any issues
50
+ - [ ] I have added tests for my changes (if applicable)
51
+ - [ ] I have updated the documentation (if applicable)
52
+ - [ ] I have updated the CHANGELOG.md (if applicable)
53
+ - [ ] My changes don't introduce new warnings
54
+
55
+ ## Screenshots
56
+
57
+ <!-- If applicable, add screenshots to demonstrate the changes -->
58
+
59
+ ## Additional Notes
60
+
61
+ <!-- Any additional information that reviewers should know -->
@@ -0,0 +1,80 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ python-version: ["3.10", "3.11", "3.12"]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+ cache: 'pip'
26
+
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ pip install -e ".[dev]"
31
+
32
+ - name: Run linting
33
+ run: |
34
+ pip install ruff
35
+ ruff check src/
36
+
37
+ - name: Run type checking
38
+ run: |
39
+ pip install mypy
40
+ mypy src/pisama_claude_code/ --ignore-missing-imports || true
41
+
42
+ - name: Run tests
43
+ run: |
44
+ pytest tests/ -v --cov=pisama_claude_code --cov-report=xml
45
+
46
+ - name: Upload coverage
47
+ uses: codecov/codecov-action@v4
48
+ if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
49
+ with:
50
+ files: ./coverage.xml
51
+ fail_ci_if_error: false
52
+
53
+ build:
54
+ runs-on: ubuntu-latest
55
+ needs: test
56
+
57
+ steps:
58
+ - uses: actions/checkout@v4
59
+
60
+ - name: Set up Python
61
+ uses: actions/setup-python@v5
62
+ with:
63
+ python-version: "3.11"
64
+
65
+ - name: Install build tools
66
+ run: |
67
+ python -m pip install --upgrade pip
68
+ pip install build twine
69
+
70
+ - name: Build package
71
+ run: python -m build
72
+
73
+ - name: Check package
74
+ run: twine check dist/*
75
+
76
+ - name: Upload artifacts
77
+ uses: actions/upload-artifact@v4
78
+ with:
79
+ name: dist
80
+ path: dist/
@@ -0,0 +1,68 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Set up Python
15
+ uses: actions/setup-python@v5
16
+ with:
17
+ python-version: "3.11"
18
+
19
+ - name: Install build tools
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ pip install build
23
+
24
+ - name: Build package
25
+ run: python -m build
26
+
27
+ - name: Upload artifacts
28
+ uses: actions/upload-artifact@v4
29
+ with:
30
+ name: dist
31
+ path: dist/
32
+
33
+ publish-pypi:
34
+ runs-on: ubuntu-latest
35
+ needs: build
36
+ environment: pypi
37
+ permissions:
38
+ id-token: write # Required for trusted publishing
39
+
40
+ steps:
41
+ - name: Download artifacts
42
+ uses: actions/download-artifact@v4
43
+ with:
44
+ name: dist
45
+ path: dist/
46
+
47
+ - name: Publish to PyPI
48
+ uses: pypa/gh-action-pypi-publish@release/v1
49
+ # No token needed - uses Trusted Publishers
50
+ # Configure at: https://pypi.org/manage/project/pisama-claude-code/settings/publishing/
51
+
52
+ publish-github:
53
+ runs-on: ubuntu-latest
54
+ needs: build
55
+ permissions:
56
+ contents: write
57
+
58
+ steps:
59
+ - name: Download artifacts
60
+ uses: actions/download-artifact@v4
61
+ with:
62
+ name: dist
63
+ path: dist/
64
+
65
+ - name: Upload to GitHub Release
66
+ uses: softprops/action-gh-release@v1
67
+ with:
68
+ files: dist/*
@@ -0,0 +1,103 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .nox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *.cover
47
+ *.py,cover
48
+ .hypothesis/
49
+ .pytest_cache/
50
+ cover/
51
+
52
+ # Translations
53
+ *.mo
54
+ *.pot
55
+
56
+ # Environments
57
+ .env
58
+ .venv
59
+ env/
60
+ venv/
61
+ ENV/
62
+ env.bak/
63
+ venv.bak/
64
+
65
+ # Spyder project settings
66
+ .spyderproject
67
+ .spyproject
68
+
69
+ # Rope project settings
70
+ .ropeproject
71
+
72
+ # mkdocs documentation
73
+ /site
74
+
75
+ # mypy
76
+ .mypy_cache/
77
+ .dmypy.json
78
+ dmypy.json
79
+
80
+ # Pyre type checker
81
+ .pyre/
82
+
83
+ # pytype static type analyzer
84
+ .pytype/
85
+
86
+ # Cython debug symbols
87
+ cython_debug/
88
+
89
+ # IDE
90
+ .idea/
91
+ .vscode/
92
+ *.swp
93
+ *.swo
94
+ *~
95
+
96
+ # OS
97
+ .DS_Store
98
+ Thumbs.db
99
+
100
+ # Project specific
101
+ *.log
102
+ *.sqlite
103
+ *.db
@@ -0,0 +1,94 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.3.4] - 2025-01-05
11
+
12
+ ### Fixed
13
+ - Version string in CLI now matches package version
14
+
15
+ ## [0.3.3] - 2025-01-04
16
+
17
+ ### Added
18
+ - Full content capture for input, reasoning (extended thinking), and output
19
+ - PII tokenization for captured content (via pisama-core)
20
+ - `--content` flag to show input/reasoning/output in `traces` command
21
+ - `--reasoning` flag to show reasoning (thinking) content only
22
+ - Export and sync now include user_input, reasoning, ai_output fields
23
+
24
+ ### Changed
25
+ - Improved failure detection accuracy with full context capture
26
+ - Database schema updated with new content columns
27
+
28
+ ## [0.3.2] - 2025-01-04
29
+
30
+ ### Added
31
+ - Token usage tracking with input, output, and cache read tokens
32
+ - Cost calculation per trace and session totals
33
+ - Model-aware pricing (Opus 4.5, Sonnet 4, Haiku 3.5)
34
+ - `pisama-cc usage` command with `--by-model` and `--by-tool` grouping
35
+ - Export to gzip format with `--compress` flag
36
+
37
+ ### Changed
38
+ - Improved status output with token and cost summaries
39
+ - Better formatting for large numbers in CLI output
40
+
41
+ ### Fixed
42
+ - Cache token counting for long sessions
43
+
44
+ ## [0.3.1] - 2025-01-03
45
+
46
+ ### Added
47
+ - Verbose trace output with `-v` flag
48
+ - Filter traces by tool type
49
+
50
+ ### Fixed
51
+ - SQLite connection handling in async contexts
52
+
53
+ ## [0.3.0] - 2025-01-02
54
+
55
+ ### Added
56
+ - SQLite storage backend for local traces
57
+ - JSONL export format
58
+ - `pisama-cc export` command
59
+ - Automatic secret redaction (API keys, passwords, tokens)
60
+ - File path anonymization (home directory replacement)
61
+
62
+ ### Changed
63
+ - Migrated from file-based to SQLite storage
64
+ - Improved hook installation reliability
65
+
66
+ ## [0.2.0] - 2024-12-30
67
+
68
+ ### Added
69
+ - Platform sync functionality (`pisama-cc sync`)
70
+ - `pisama-cc connect` for platform authentication
71
+ - `pisama-cc analyze` for remote failure detection
72
+
73
+ ### Changed
74
+ - Restructured CLI with subcommands
75
+
76
+ ## [0.1.0] - 2024-12-28
77
+
78
+ ### Added
79
+ - Initial release
80
+ - Hook-based trace capture for Claude Code
81
+ - `pisama-cc install` and `pisama-cc uninstall` commands
82
+ - `pisama-cc status` command
83
+ - `pisama-cc traces` command for viewing recent traces
84
+ - Support for Bash, Read, Write, Edit, Grep, Glob tools
85
+ - Local storage in `~/.claude/pisama/traces/`
86
+
87
+ [Unreleased]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.3.4...HEAD
88
+ [0.3.4]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.3.3...v0.3.4
89
+ [0.3.3]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.3.2...v0.3.3
90
+ [0.3.2]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.3.1...v0.3.2
91
+ [0.3.1]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.3.0...v0.3.1
92
+ [0.3.0]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.2.0...v0.3.0
93
+ [0.2.0]: https://github.com/tn-pisama/pisama-claude-code/compare/v0.1.0...v0.2.0
94
+ [0.1.0]: https://github.com/tn-pisama/pisama-claude-code/releases/tag/v0.1.0