cloudshellgpt 1.0.0__tar.gz → 1.0.2__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.
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.github/workflows/ci.yml +29 -29
- cloudshellgpt-1.0.2/.github/workflows/publish.yml +31 -0
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.gitignore +67 -67
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/hooks/lint-on-save.json +13 -13
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/hooks/test-mirror-reminder.json +13 -13
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/settings/mcp.json +13 -13
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/skills/pytest-unit-creator.md +336 -336
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/skills/python-module-scaffold.md +138 -138
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/specs/00-overview.md +104 -104
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/specs/01-architecture.md +413 -413
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/specs/02-acceptance-criteria.md +346 -346
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/specs/03-implementation-plan.md +431 -431
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/specs/03-implementation-plan.meta.json +60 -60
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/aws-conventions.md +77 -77
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/code-style.md +79 -79
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/commit-conventions.md +109 -109
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/language.md +20 -20
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/mcp-development.md +90 -90
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/project-context.md +145 -145
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/safety-patterns.md +137 -137
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.kiro/steering/testing-guide.md +186 -186
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/.pre-commit-config.yaml +32 -32
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/LICENSE +198 -198
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/PKG-INFO +8 -7
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/README.md +380 -379
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/docs/IAM_PERMISSIONS.md +552 -552
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/infrastructure/app.py +27 -27
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/infrastructure/lib/cloudshellgpt_stack.py +309 -309
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/pyproject.toml +121 -121
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/__init__.py +11 -11
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/audit.py +175 -175
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/bedrock_translator.py +525 -525
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/cli.py +612 -612
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/config.py +296 -296
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/cost.py +443 -443
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/executor.py +382 -382
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/formatter.py +328 -328
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/i18n.py +203 -203
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/intent.py +1080 -1080
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/learning.py +969 -969
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/mcp_server.py +264 -264
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/src/cloudshellgpt/safety.py +952 -952
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/__init__.py +1 -1
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/conftest.py +265 -265
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/eval/__init__.py +1 -1
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/eval/test_eval.py +401 -401
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/eval/translation_eval.yaml +1086 -1086
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/eval/validate_distribution.py +275 -275
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/integration/__init__.py +1 -1
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/integration/test_e2e.py +476 -476
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/__init__.py +1 -1
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_audit.py +298 -298
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_bedrock.py +1216 -1216
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_bedrock_error.py +543 -543
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_config.py +300 -300
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_cost.py +664 -664
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_executor.py +1243 -1243
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_formatter.py +1081 -1081
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_intent.py +977 -977
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_learning.py +537 -537
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_mcp_serve.py +239 -239
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_mcp_server.py +430 -430
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_mcp_tool_contracts.py +1197 -1197
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_safety.py +1882 -1882
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/tests/unit/test_smoke.py +27 -27
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/uv.lock +2363 -2363
- cloudshellgpt-1.0.0/VIDEO_PITCH.md +0 -385
- cloudshellgpt-1.0.0/docs/DEMO_SCRIPT.md +0 -531
- cloudshellgpt-1.0.0/prueba.pdf +0 -0
- {cloudshellgpt-1.0.0 → cloudshellgpt-1.0.2}/infrastructure/cdk.json +0 -0
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main, dev]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main, dev]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
lint-and-test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
14
|
-
|
|
15
|
-
- uses: astral-sh/setup-uv@v3
|
|
16
|
-
with:
|
|
17
|
-
version: "latest"
|
|
18
|
-
|
|
19
|
-
- name: Install dependencies
|
|
20
|
-
run: uv sync --all-extras
|
|
21
|
-
|
|
22
|
-
- name: Lint (ruff check)
|
|
23
|
-
run: uv run ruff check .
|
|
24
|
-
|
|
25
|
-
- name: Format check (ruff format)
|
|
26
|
-
run: uv run ruff format --check .
|
|
27
|
-
|
|
28
|
-
- name: Unit tests
|
|
29
|
-
run: uv run pytest tests/unit/ --no-cov -q --ignore=tests/unit/test_executor.py -k "not TestLLMIndependence and not TestAssessIntegration and not test_llm_high_stays_high"
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, dev]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, dev]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint-and-test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- uses: astral-sh/setup-uv@v3
|
|
16
|
+
with:
|
|
17
|
+
version: "latest"
|
|
18
|
+
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: uv sync --all-extras
|
|
21
|
+
|
|
22
|
+
- name: Lint (ruff check)
|
|
23
|
+
run: uv run ruff check .
|
|
24
|
+
|
|
25
|
+
- name: Format check (ruff format)
|
|
26
|
+
run: uv run ruff format --check .
|
|
27
|
+
|
|
28
|
+
- name: Unit tests
|
|
29
|
+
run: uv run pytest tests/unit/ --no-cov -q --ignore=tests/unit/test_executor.py -k "not TestLLMIndependence and not TestAssessIntegration and not test_llm_high_stays_high"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build-and-publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
environment: pypi
|
|
11
|
+
permissions:
|
|
12
|
+
id-token: write
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.12"
|
|
20
|
+
|
|
21
|
+
- name: Install build tools
|
|
22
|
+
run: pip install build twine
|
|
23
|
+
|
|
24
|
+
- name: Build package
|
|
25
|
+
run: python -m build
|
|
26
|
+
|
|
27
|
+
- name: Verify package
|
|
28
|
+
run: twine check dist/*
|
|
29
|
+
|
|
30
|
+
- name: Publish to PyPI
|
|
31
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# Python
|
|
2
|
-
__pycache__/
|
|
3
|
-
*.py[cod]
|
|
4
|
-
*$py.class
|
|
5
|
-
*.so
|
|
6
|
-
*.egg-info/
|
|
7
|
-
dist/
|
|
8
|
-
build/
|
|
9
|
-
*.egg
|
|
10
|
-
.eggs/
|
|
11
|
-
|
|
12
|
-
# Virtual environments
|
|
13
|
-
.venv/
|
|
14
|
-
venv/
|
|
15
|
-
env/
|
|
16
|
-
.env
|
|
17
|
-
|
|
18
|
-
# IDE
|
|
19
|
-
.vscode/
|
|
20
|
-
.idea/
|
|
21
|
-
*.swp
|
|
22
|
-
*.swo
|
|
23
|
-
*~
|
|
24
|
-
|
|
25
|
-
# OS
|
|
26
|
-
.DS_Store
|
|
27
|
-
Thumbs.db
|
|
28
|
-
desktop.ini
|
|
29
|
-
|
|
30
|
-
# AWS & Secrets
|
|
31
|
-
.aws/
|
|
32
|
-
*.pem
|
|
33
|
-
*.key
|
|
34
|
-
credentials
|
|
35
|
-
.env*
|
|
36
|
-
!.env.example
|
|
37
|
-
|
|
38
|
-
# Testing
|
|
39
|
-
.coverage
|
|
40
|
-
htmlcov/
|
|
41
|
-
.pytest_cache/
|
|
42
|
-
.mypy_cache/
|
|
43
|
-
|
|
44
|
-
# CDK
|
|
45
|
-
cdk.out/
|
|
46
|
-
*.js
|
|
47
|
-
!infrastructure/cdk.json
|
|
48
|
-
|
|
49
|
-
# Node (if CDK uses node)
|
|
50
|
-
node_modules/
|
|
51
|
-
|
|
52
|
-
# Local config (user-specific)
|
|
53
|
-
~/.csgpt/
|
|
54
|
-
|
|
55
|
-
# Logs
|
|
56
|
-
*.log
|
|
57
|
-
|
|
58
|
-
# Ruff cache
|
|
59
|
-
.ruff_cache/
|
|
60
|
-
|
|
61
|
-
# Temporary output files
|
|
62
|
-
output.txt
|
|
63
|
-
uv_output2.txt
|
|
64
|
-
|
|
65
|
-
# Distribution
|
|
66
|
-
*.tar.gz
|
|
67
|
-
*.whl
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.egg-info/
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.egg
|
|
10
|
+
.eggs/
|
|
11
|
+
|
|
12
|
+
# Virtual environments
|
|
13
|
+
.venv/
|
|
14
|
+
venv/
|
|
15
|
+
env/
|
|
16
|
+
.env
|
|
17
|
+
|
|
18
|
+
# IDE
|
|
19
|
+
.vscode/
|
|
20
|
+
.idea/
|
|
21
|
+
*.swp
|
|
22
|
+
*.swo
|
|
23
|
+
*~
|
|
24
|
+
|
|
25
|
+
# OS
|
|
26
|
+
.DS_Store
|
|
27
|
+
Thumbs.db
|
|
28
|
+
desktop.ini
|
|
29
|
+
|
|
30
|
+
# AWS & Secrets
|
|
31
|
+
.aws/
|
|
32
|
+
*.pem
|
|
33
|
+
*.key
|
|
34
|
+
credentials
|
|
35
|
+
.env*
|
|
36
|
+
!.env.example
|
|
37
|
+
|
|
38
|
+
# Testing
|
|
39
|
+
.coverage
|
|
40
|
+
htmlcov/
|
|
41
|
+
.pytest_cache/
|
|
42
|
+
.mypy_cache/
|
|
43
|
+
|
|
44
|
+
# CDK
|
|
45
|
+
cdk.out/
|
|
46
|
+
*.js
|
|
47
|
+
!infrastructure/cdk.json
|
|
48
|
+
|
|
49
|
+
# Node (if CDK uses node)
|
|
50
|
+
node_modules/
|
|
51
|
+
|
|
52
|
+
# Local config (user-specific)
|
|
53
|
+
~/.csgpt/
|
|
54
|
+
|
|
55
|
+
# Logs
|
|
56
|
+
*.log
|
|
57
|
+
|
|
58
|
+
# Ruff cache
|
|
59
|
+
.ruff_cache/
|
|
60
|
+
|
|
61
|
+
# Temporary output files
|
|
62
|
+
output.txt
|
|
63
|
+
uv_output2.txt
|
|
64
|
+
|
|
65
|
+
# Distribution
|
|
66
|
+
*.tar.gz
|
|
67
|
+
*.whl
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Lint on Save",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Runs ruff check on saved Python files",
|
|
5
|
-
"when": {
|
|
6
|
-
"type": "fileEdited",
|
|
7
|
-
"patterns": ["*.py"]
|
|
8
|
-
},
|
|
9
|
-
"then": {
|
|
10
|
-
"type": "runCommand",
|
|
11
|
-
"command": "ruff check --fix {file}"
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "Lint on Save",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Runs ruff check on saved Python files",
|
|
5
|
+
"when": {
|
|
6
|
+
"type": "fileEdited",
|
|
7
|
+
"patterns": ["*.py"]
|
|
8
|
+
},
|
|
9
|
+
"then": {
|
|
10
|
+
"type": "runCommand",
|
|
11
|
+
"command": "ruff check --fix {file}"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Test Mirror Reminder",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Reminds to update tests when source files change",
|
|
5
|
-
"when": {
|
|
6
|
-
"type": "fileEdited",
|
|
7
|
-
"patterns": ["src/cloudshellgpt/*.py"]
|
|
8
|
-
},
|
|
9
|
-
"then": {
|
|
10
|
-
"type": "askAgent",
|
|
11
|
-
"prompt": "A source file was modified. Check if the corresponding test file in tests/unit/ needs to be updated to match the changes."
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "Test Mirror Reminder",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reminds to update tests when source files change",
|
|
5
|
+
"when": {
|
|
6
|
+
"type": "fileEdited",
|
|
7
|
+
"patterns": ["src/cloudshellgpt/*.py"]
|
|
8
|
+
},
|
|
9
|
+
"then": {
|
|
10
|
+
"type": "askAgent",
|
|
11
|
+
"prompt": "A source file was modified. Check if the corresponding test file in tests/unit/ needs to be updated to match the changes."
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"cloudshellgpt": {
|
|
4
|
-
"command": "csgpt",
|
|
5
|
-
"args": ["mcp", "serve"],
|
|
6
|
-
"env": {
|
|
7
|
-
"AWS_REGION": "us-east-1"
|
|
8
|
-
},
|
|
9
|
-
"disabled": false,
|
|
10
|
-
"autoApprove": ["aws_translate", "aws_explain", "aws_cost_preview"]
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"cloudshellgpt": {
|
|
4
|
+
"command": "csgpt",
|
|
5
|
+
"args": ["mcp", "serve"],
|
|
6
|
+
"env": {
|
|
7
|
+
"AWS_REGION": "us-east-1"
|
|
8
|
+
},
|
|
9
|
+
"disabled": false,
|
|
10
|
+
"autoApprove": ["aws_translate", "aws_explain", "aws_cost_preview"]
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|