agent-tty 0.1.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.
- agent_tty-0.1.0/.github/workflows/ci.yml +104 -0
- agent_tty-0.1.0/.github/workflows/release.yml +111 -0
- agent_tty-0.1.0/.gitignore +7 -0
- agent_tty-0.1.0/EXAMPLES.md +613 -0
- agent_tty-0.1.0/LICENSE +21 -0
- agent_tty-0.1.0/PKG-INFO +182 -0
- agent_tty-0.1.0/README.md +162 -0
- agent_tty-0.1.0/SKILL.md +252 -0
- agent_tty-0.1.0/pyproject.toml +31 -0
- agent_tty-0.1.0/scripts/k +6 -0
- agent_tty-0.1.0/scripts/km +6 -0
- agent_tty-0.1.0/src/agent_tty/__init__.py +2 -0
- agent_tty-0.1.0/src/agent_tty/__main__.py +3 -0
- agent_tty-0.1.0/src/agent_tty/cli.py +840 -0
- agent_tty-0.1.0/src/agent_tty/monitor.py +222 -0
- agent_tty-0.1.0/tests/run_all.py +29 -0
- agent_tty-0.1.0/tests/test.sh +204 -0
- agent_tty-0.1.0/tests/test_contracts.py +222 -0
- agent_tty-0.1.0/tests/test_docs.py +124 -0
- agent_tty-0.1.0/tests/test_regressions.py +177 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
static-package:
|
|
13
|
+
name: static + package (${{ matrix.os }})
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
timeout-minutes: 15
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
20
|
+
python-version: ["3.12"]
|
|
21
|
+
defaults:
|
|
22
|
+
run:
|
|
23
|
+
shell: bash
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v6
|
|
26
|
+
with:
|
|
27
|
+
persist-credentials: false
|
|
28
|
+
|
|
29
|
+
- uses: actions/setup-python@v6
|
|
30
|
+
with:
|
|
31
|
+
python-version: ${{ matrix.python-version }}
|
|
32
|
+
cache: pip
|
|
33
|
+
|
|
34
|
+
- name: Upgrade packaging tools
|
|
35
|
+
run: python -m pip install --upgrade pip build twine
|
|
36
|
+
|
|
37
|
+
- name: Compile source and tests
|
|
38
|
+
run: python -m compileall src tests
|
|
39
|
+
|
|
40
|
+
- name: Static contract tests
|
|
41
|
+
run: python tests/test_contracts.py
|
|
42
|
+
|
|
43
|
+
- name: Documentation drift tests
|
|
44
|
+
run: python tests/test_docs.py
|
|
45
|
+
|
|
46
|
+
- name: Build distributions
|
|
47
|
+
run: python -m build
|
|
48
|
+
|
|
49
|
+
- name: Check distributions
|
|
50
|
+
run: python -m twine check dist/*
|
|
51
|
+
|
|
52
|
+
- name: Install built wheel
|
|
53
|
+
run: python -m pip install --force-reinstall dist/*.whl
|
|
54
|
+
|
|
55
|
+
- name: Installed CLI smoke
|
|
56
|
+
run: |
|
|
57
|
+
python -m agent_tty --help >/dev/null
|
|
58
|
+
k --help >/dev/null
|
|
59
|
+
km --help >/dev/null
|
|
60
|
+
python -c "import agent_tty; print(agent_tty.__version__)"
|
|
61
|
+
|
|
62
|
+
runtime:
|
|
63
|
+
name: runtime tmux (${{ matrix.os }})
|
|
64
|
+
runs-on: ${{ matrix.os }}
|
|
65
|
+
timeout-minutes: 20
|
|
66
|
+
strategy:
|
|
67
|
+
fail-fast: false
|
|
68
|
+
matrix:
|
|
69
|
+
os: [ubuntu-latest, macos-latest]
|
|
70
|
+
python-version: ["3.12"]
|
|
71
|
+
defaults:
|
|
72
|
+
run:
|
|
73
|
+
shell: bash
|
|
74
|
+
steps:
|
|
75
|
+
- uses: actions/checkout@v6
|
|
76
|
+
with:
|
|
77
|
+
persist-credentials: false
|
|
78
|
+
|
|
79
|
+
- uses: actions/setup-python@v6
|
|
80
|
+
with:
|
|
81
|
+
python-version: ${{ matrix.python-version }}
|
|
82
|
+
cache: pip
|
|
83
|
+
|
|
84
|
+
- name: Install tmux on Ubuntu
|
|
85
|
+
if: runner.os == 'Linux'
|
|
86
|
+
run: |
|
|
87
|
+
sudo apt-get update
|
|
88
|
+
sudo apt-get install -y tmux
|
|
89
|
+
|
|
90
|
+
- name: Install tmux on macOS
|
|
91
|
+
if: runner.os == 'macOS'
|
|
92
|
+
run: brew install tmux
|
|
93
|
+
|
|
94
|
+
- name: Build and install package
|
|
95
|
+
run: |
|
|
96
|
+
python -m pip install --upgrade pip build
|
|
97
|
+
python -m build
|
|
98
|
+
python -m pip install --force-reinstall dist/*.whl
|
|
99
|
+
|
|
100
|
+
- name: Verify tmux
|
|
101
|
+
run: tmux -V
|
|
102
|
+
|
|
103
|
+
- name: Full runtime suite against installed k
|
|
104
|
+
run: python tests/run_all.py k
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
name: Build distributions
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
timeout-minutes: 10
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
with:
|
|
18
|
+
persist-credentials: false
|
|
19
|
+
|
|
20
|
+
- uses: actions/setup-python@v6
|
|
21
|
+
with:
|
|
22
|
+
python-version: "3.12"
|
|
23
|
+
|
|
24
|
+
- name: Install build tools
|
|
25
|
+
run: python -m pip install --upgrade pip build twine
|
|
26
|
+
|
|
27
|
+
- name: Build sdist and wheel
|
|
28
|
+
run: python -m build
|
|
29
|
+
|
|
30
|
+
- name: Validate distributions
|
|
31
|
+
run: python -m twine check dist/*
|
|
32
|
+
|
|
33
|
+
- name: Verify version matches tag
|
|
34
|
+
run: |
|
|
35
|
+
PKG_VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")
|
|
36
|
+
TAG_VERSION="${GITHUB_REF_NAME#v}"
|
|
37
|
+
if [ "$PKG_VERSION" != "$TAG_VERSION" ]; then
|
|
38
|
+
echo "::error::Version mismatch: pyproject.toml=$PKG_VERSION tag=$TAG_VERSION"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
- name: Upload distributions
|
|
43
|
+
uses: actions/upload-artifact@v6
|
|
44
|
+
with:
|
|
45
|
+
name: dist
|
|
46
|
+
path: dist/
|
|
47
|
+
|
|
48
|
+
test-wheel:
|
|
49
|
+
name: Test wheel (${{ matrix.os }})
|
|
50
|
+
needs: build
|
|
51
|
+
runs-on: ${{ matrix.os }}
|
|
52
|
+
timeout-minutes: 15
|
|
53
|
+
strategy:
|
|
54
|
+
fail-fast: true
|
|
55
|
+
matrix:
|
|
56
|
+
os: [ubuntu-latest, macos-latest]
|
|
57
|
+
defaults:
|
|
58
|
+
run:
|
|
59
|
+
shell: bash
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v6
|
|
62
|
+
with:
|
|
63
|
+
persist-credentials: false
|
|
64
|
+
|
|
65
|
+
- uses: actions/setup-python@v6
|
|
66
|
+
with:
|
|
67
|
+
python-version: "3.12"
|
|
68
|
+
|
|
69
|
+
- name: Download distributions
|
|
70
|
+
uses: actions/download-artifact@v6
|
|
71
|
+
with:
|
|
72
|
+
name: dist
|
|
73
|
+
path: dist/
|
|
74
|
+
|
|
75
|
+
- name: Install tmux
|
|
76
|
+
run: |
|
|
77
|
+
if [ "$RUNNER_OS" = "Linux" ]; then
|
|
78
|
+
sudo apt-get update && sudo apt-get install -y tmux
|
|
79
|
+
else
|
|
80
|
+
brew install tmux
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
- name: Install wheel
|
|
84
|
+
run: python -m pip install dist/*.whl
|
|
85
|
+
|
|
86
|
+
- name: CLI smoke
|
|
87
|
+
run: |
|
|
88
|
+
k --help >/dev/null
|
|
89
|
+
km --help >/dev/null
|
|
90
|
+
python -m agent_tty --help >/dev/null
|
|
91
|
+
|
|
92
|
+
- name: Full test suite
|
|
93
|
+
run: python tests/run_all.py k
|
|
94
|
+
|
|
95
|
+
publish:
|
|
96
|
+
name: Publish to PyPI
|
|
97
|
+
needs: [build, test-wheel]
|
|
98
|
+
runs-on: ubuntu-latest
|
|
99
|
+
timeout-minutes: 10
|
|
100
|
+
environment: pypi
|
|
101
|
+
permissions:
|
|
102
|
+
id-token: write
|
|
103
|
+
steps:
|
|
104
|
+
- name: Download distributions
|
|
105
|
+
uses: actions/download-artifact@v6
|
|
106
|
+
with:
|
|
107
|
+
name: dist
|
|
108
|
+
path: dist/
|
|
109
|
+
|
|
110
|
+
- name: Publish to PyPI
|
|
111
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|