akgentic-tool 1.2.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.
- akgentic_tool-1.2.2/.github/workflows/ci.yml +65 -0
- akgentic_tool-1.2.2/.github/workflows/release.yml +69 -0
- akgentic_tool-1.2.2/.gitignore +27 -0
- akgentic_tool-1.2.2/LICENSE +661 -0
- akgentic_tool-1.2.2/PKG-INFO +650 -0
- akgentic_tool-1.2.2/README.md +611 -0
- akgentic_tool-1.2.2/examples/README.md +59 -0
- akgentic_tool-1.2.2/examples/knowledge_agent.md +57 -0
- akgentic_tool-1.2.2/examples/knowledge_agent.py +393 -0
- akgentic_tool-1.2.2/examples/planning_agent.md +71 -0
- akgentic_tool-1.2.2/examples/planning_agent.py +328 -0
- akgentic_tool-1.2.2/pyproject.toml +78 -0
- akgentic_tool-1.2.2/src/akgentic/__init__.py +10 -0
- akgentic_tool-1.2.2/src/akgentic/tool/__init__.py +91 -0
- akgentic_tool-1.2.2/src/akgentic/tool/core.py +377 -0
- akgentic_tool-1.2.2/src/akgentic/tool/errors.py +22 -0
- akgentic_tool-1.2.2/src/akgentic/tool/event.py +149 -0
- akgentic_tool-1.2.2/src/akgentic/tool/knowledge_graph/__init__.py +94 -0
- akgentic_tool-1.2.2/src/akgentic/tool/knowledge_graph/kg_actor.py +1114 -0
- akgentic_tool-1.2.2/src/akgentic/tool/knowledge_graph/kg_tool.py +378 -0
- akgentic_tool-1.2.2/src/akgentic/tool/knowledge_graph/models.py +379 -0
- akgentic_tool-1.2.2/src/akgentic/tool/mcp/__init__.py +31 -0
- akgentic_tool-1.2.2/src/akgentic/tool/mcp/mcp.py +269 -0
- akgentic_tool-1.2.2/src/akgentic/tool/mcp/oauth_handler.py +250 -0
- akgentic_tool-1.2.2/src/akgentic/tool/planning/README.md +32 -0
- akgentic_tool-1.2.2/src/akgentic/tool/planning/__init__.py +17 -0
- akgentic_tool-1.2.2/src/akgentic/tool/planning/planning.py +334 -0
- akgentic_tool-1.2.2/src/akgentic/tool/planning/planning_actor.py +425 -0
- akgentic_tool-1.2.2/src/akgentic/tool/py.typed +2 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/__init__.py +33 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/actor.py +231 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/bwrap.py +114 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/docker.py +113 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/local.py +148 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/sandbox.Dockerfile +24 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/seatbelt.py +172 -0
- akgentic_tool-1.2.2/src/akgentic/tool/sandbox/tool.py +213 -0
- akgentic_tool-1.2.2/src/akgentic/tool/search/__init__.py +10 -0
- akgentic_tool-1.2.2/src/akgentic/tool/search/search.py +250 -0
- akgentic_tool-1.2.2/src/akgentic/tool/team/__init__.py +17 -0
- akgentic_tool-1.2.2/src/akgentic/tool/team/team.py +544 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector.py +267 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/__init__.py +57 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/actor.py +552 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/embedding_actor.py +192 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/inmemory.py +286 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/protocol.py +202 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/tool.py +113 -0
- akgentic_tool-1.2.2/src/akgentic/tool/vector_store/weaviate.py +287 -0
- akgentic_tool-1.2.2/src/akgentic/tool/workspace/__init__.py +73 -0
- akgentic_tool-1.2.2/src/akgentic/tool/workspace/edit.py +373 -0
- akgentic_tool-1.2.2/src/akgentic/tool/workspace/readers.py +182 -0
- akgentic_tool-1.2.2/src/akgentic/tool/workspace/tool.py +1220 -0
- akgentic_tool-1.2.2/src/akgentic/tool/workspace/workspace.py +160 -0
- akgentic_tool-1.2.2/tests/__init__.py +1 -0
- akgentic_tool-1.2.2/tests/conftest.py +61 -0
- akgentic_tool-1.2.2/tests/sandbox/__init__.py +0 -0
- akgentic_tool-1.2.2/tests/sandbox/test_bwrap_sandbox.py +285 -0
- akgentic_tool-1.2.2/tests/sandbox/test_docker_sandbox.py +564 -0
- akgentic_tool-1.2.2/tests/sandbox/test_exec_tool.py +766 -0
- akgentic_tool-1.2.2/tests/sandbox/test_local_sandbox.py +642 -0
- akgentic_tool-1.2.2/tests/sandbox/test_sandbox_actor.py +376 -0
- akgentic_tool-1.2.2/tests/sandbox/test_seatbelt_sandbox.py +386 -0
- akgentic_tool-1.2.2/tests/search/__init__.py +0 -0
- akgentic_tool-1.2.2/tests/search/test_search_graceful.py +357 -0
- akgentic_tool-1.2.2/tests/test_command_registry_weak_observer.py +136 -0
- akgentic_tool-1.2.2/tests/test_core_factory.py +875 -0
- akgentic_tool-1.2.2/tests/test_example.py +17 -0
- akgentic_tool-1.2.2/tests/test_kg_actor.py +1913 -0
- akgentic_tool-1.2.2/tests/test_kg_imports.py +90 -0
- akgentic_tool-1.2.2/tests/test_kg_integration.py +328 -0
- akgentic_tool-1.2.2/tests/test_kg_models.py +432 -0
- akgentic_tool-1.2.2/tests/test_kg_query.py +864 -0
- akgentic_tool-1.2.2/tests/test_kg_state_event.py +448 -0
- akgentic_tool-1.2.2/tests/test_kg_tool.py +1067 -0
- akgentic_tool-1.2.2/tests/test_kg_vector_index.py +266 -0
- akgentic_tool-1.2.2/tests/test_knowledge_agent_example.py +113 -0
- akgentic_tool-1.2.2/tests/test_planning_actor.py +622 -0
- akgentic_tool-1.2.2/tests/test_planning_agent_example.py +104 -0
- akgentic_tool-1.2.2/tests/test_planning_prompt.py +509 -0
- akgentic_tool-1.2.2/tests/test_planning_search.py +564 -0
- akgentic_tool-1.2.2/tests/test_planning_search_score.py +675 -0
- akgentic_tool-1.2.2/tests/test_planning_semantic.py +457 -0
- akgentic_tool-1.2.2/tests/test_team_tool.py +715 -0
- akgentic_tool-1.2.2/tests/test_team_tool_weak_observer.py +182 -0
- akgentic_tool-1.2.2/tests/test_tool_state_event.py +159 -0
- akgentic_tool-1.2.2/tests/test_toolcard_weak_observer.py +93 -0
- akgentic_tool-1.2.2/tests/test_vector.py +270 -0
- akgentic_tool-1.2.2/tests/vector_store/__init__.py +1 -0
- akgentic_tool-1.2.2/tests/vector_store/test_actor.py +1153 -0
- akgentic_tool-1.2.2/tests/vector_store/test_embedding_actor.py +293 -0
- akgentic_tool-1.2.2/tests/vector_store/test_inmemory.py +375 -0
- akgentic_tool-1.2.2/tests/vector_store/test_integration.py +403 -0
- akgentic_tool-1.2.2/tests/vector_store/test_protocol.py +260 -0
- akgentic_tool-1.2.2/tests/vector_store/test_public_api.py +38 -0
- akgentic_tool-1.2.2/tests/vector_store/test_tool.py +413 -0
- akgentic_tool-1.2.2/tests/vector_store/test_weaviate.py +502 -0
- akgentic_tool-1.2.2/tests/workspace/__init__.py +0 -0
- akgentic_tool-1.2.2/tests/workspace/test_edit_matcher.py +321 -0
- akgentic_tool-1.2.2/tests/workspace/test_patch.py +312 -0
- akgentic_tool-1.2.2/tests/workspace/test_read_tool.py +1451 -0
- akgentic_tool-1.2.2/tests/workspace/test_view_tool.py +413 -0
- akgentic_tool-1.2.2/tests/workspace/test_workspace.py +326 -0
- akgentic_tool-1.2.2/tests/workspace/test_workspace_tool.py +1000 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
branches: [master]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
NO_COLOR: "1"
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
quality:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout workspace
|
|
17
|
+
uses: actions/checkout@v6
|
|
18
|
+
with:
|
|
19
|
+
repository: b12consulting/akgentic-quick-start
|
|
20
|
+
submodules: recursive
|
|
21
|
+
token: ${{ secrets.GH_PAT }}
|
|
22
|
+
|
|
23
|
+
- name: Override tool submodule with current branch
|
|
24
|
+
working-directory: packages/akgentic-tool
|
|
25
|
+
run: |
|
|
26
|
+
git fetch origin ${{ github.head_ref || github.ref_name }}
|
|
27
|
+
git checkout FETCH_HEAD
|
|
28
|
+
|
|
29
|
+
- name: Install uv
|
|
30
|
+
uses: astral-sh/setup-uv@v8.1.0
|
|
31
|
+
with:
|
|
32
|
+
version: "latest"
|
|
33
|
+
|
|
34
|
+
- name: Set up Python 3.12
|
|
35
|
+
run: uv python install 3.12
|
|
36
|
+
|
|
37
|
+
- name: Install dependencies
|
|
38
|
+
run: uv sync --all-packages --all-extras
|
|
39
|
+
|
|
40
|
+
- name: Type checking
|
|
41
|
+
run: uv run mypy packages/akgentic-tool/src/
|
|
42
|
+
|
|
43
|
+
- name: Linting
|
|
44
|
+
run: uv run ruff check packages/akgentic-tool/src/
|
|
45
|
+
|
|
46
|
+
- name: Run tests with coverage
|
|
47
|
+
run: >
|
|
48
|
+
uv run pytest packages/akgentic-tool/tests/
|
|
49
|
+
--cov=akgentic.tool
|
|
50
|
+
--cov-report=term-missing
|
|
51
|
+
--cov-report=json:coverage.json
|
|
52
|
+
--cov-fail-under=80
|
|
53
|
+
|
|
54
|
+
- name: Update coverage badge
|
|
55
|
+
if: github.ref_name == 'master' && github.event_name == 'push'
|
|
56
|
+
run: |
|
|
57
|
+
COVERAGE=$(python -c "import json; print(int(json.load(open('coverage.json'))['totals']['percent_covered_display']))")
|
|
58
|
+
if [ "$COVERAGE" -ge 90 ]; then COLOR="brightgreen"
|
|
59
|
+
elif [ "$COVERAGE" -ge 80 ]; then COLOR="green"
|
|
60
|
+
elif [ "$COVERAGE" -ge 70 ]; then COLOR="yellow"
|
|
61
|
+
else COLOR="red"; fi
|
|
62
|
+
echo "{\"schemaVersion\":1,\"label\":\"coverage\",\"message\":\"${COVERAGE}%\",\"color\":\"${COLOR}\"}" > badge.json
|
|
63
|
+
gh gist edit c0f2e0aa0a8c184ee8823dd4feefddd5 -f coverage.json badge.json
|
|
64
|
+
env:
|
|
65
|
+
GH_TOKEN: ${{ secrets.GH_PAT }}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
# Manual release: reads version from pyproject.toml on master, tags master HEAD,
|
|
4
|
+
# builds the wheel, and creates a GitHub Release with the wheel attached.
|
|
5
|
+
#
|
|
6
|
+
# Bumping the version is a separate maintainer action via a normal PR. This
|
|
7
|
+
# workflow does NOT push commits to master — branch protection blocks that.
|
|
8
|
+
# The release flow is therefore two-step:
|
|
9
|
+
# 1. Open a "chore: bump version to X.Y.Z" PR; merge it.
|
|
10
|
+
# 2. Trigger this workflow from the Actions tab.
|
|
11
|
+
|
|
12
|
+
on:
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
release:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
permissions:
|
|
19
|
+
contents: write
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout master
|
|
22
|
+
uses: actions/checkout@v6
|
|
23
|
+
with:
|
|
24
|
+
ref: master
|
|
25
|
+
fetch-depth: 0
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@v8.1.0
|
|
29
|
+
with:
|
|
30
|
+
version: "latest"
|
|
31
|
+
|
|
32
|
+
- name: Set up Python 3.12
|
|
33
|
+
run: uv python install 3.12
|
|
34
|
+
|
|
35
|
+
- name: Read version from pyproject.toml
|
|
36
|
+
id: version
|
|
37
|
+
run: |
|
|
38
|
+
VERSION=$(grep -E '^version = ' pyproject.toml | sed -E 's/version = "(.*)"/\1/')
|
|
39
|
+
echo "Releasing version: $VERSION"
|
|
40
|
+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
41
|
+
|
|
42
|
+
- name: Verify tag does not already exist
|
|
43
|
+
env:
|
|
44
|
+
VERSION: ${{ steps.version.outputs.version }}
|
|
45
|
+
run: |
|
|
46
|
+
if git rev-parse "v$VERSION" >/dev/null 2>&1; then
|
|
47
|
+
echo "::error::Tag v$VERSION already exists. Bump the version in pyproject.toml first."
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: Tag master HEAD
|
|
52
|
+
env:
|
|
53
|
+
VERSION: ${{ steps.version.outputs.version }}
|
|
54
|
+
run: |
|
|
55
|
+
git config user.name "github-actions[bot]"
|
|
56
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
57
|
+
git tag "v$VERSION"
|
|
58
|
+
git push origin "v$VERSION"
|
|
59
|
+
|
|
60
|
+
- name: Build wheel
|
|
61
|
+
run: uv build --wheel --out-dir dist/
|
|
62
|
+
|
|
63
|
+
- name: Create GitHub Release
|
|
64
|
+
uses: softprops/action-gh-release@v2
|
|
65
|
+
with:
|
|
66
|
+
tag_name: "v${{ steps.version.outputs.version }}"
|
|
67
|
+
name: "v${{ steps.version.outputs.version }}"
|
|
68
|
+
files: dist/*.whl
|
|
69
|
+
generate_release_notes: true
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Distribution / packaging
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.egg-info/
|
|
10
|
+
**/settings.local.json
|
|
11
|
+
|
|
12
|
+
# Testing
|
|
13
|
+
.pytest_cache/
|
|
14
|
+
.coverage
|
|
15
|
+
htmlcov/
|
|
16
|
+
|
|
17
|
+
# Type checking
|
|
18
|
+
.mypy_cache/
|
|
19
|
+
.dmypy.json
|
|
20
|
+
|
|
21
|
+
# Virtual environments
|
|
22
|
+
.venv/
|
|
23
|
+
venv/
|
|
24
|
+
|
|
25
|
+
# IDE
|
|
26
|
+
.vscode/
|
|
27
|
+
.idea/
|