manyagent 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.
- manyagent-0.1.0/.devcontainer/devcontainer.json +24 -0
- manyagent-0.1.0/.github/actions/setup-python-env/action.yml +30 -0
- manyagent-0.1.0/.github/workflows/docs.yml +38 -0
- manyagent-0.1.0/.github/workflows/main.yml +64 -0
- manyagent-0.1.0/.github/workflows/release.yml +43 -0
- manyagent-0.1.0/.gitignore +115 -0
- manyagent-0.1.0/.pre-commit-config.yaml +25 -0
- manyagent-0.1.0/.python-version +1 -0
- manyagent-0.1.0/AGENTS.md +7 -0
- manyagent-0.1.0/BUILD_NOTES.md +509 -0
- manyagent-0.1.0/CLAUDE.md +125 -0
- manyagent-0.1.0/LICENSE +21 -0
- manyagent-0.1.0/Makefile +197 -0
- manyagent-0.1.0/PKG-INFO +286 -0
- manyagent-0.1.0/README.md +255 -0
- manyagent-0.1.0/codecov.yaml +9 -0
- manyagent-0.1.0/docker-compose.yml +14 -0
- manyagent-0.1.0/docs/design/ManyAgent - Design Principles.md +69 -0
- manyagent-0.1.0/docs/design/ManyAgent - Open Questions & TODOs.md +55 -0
- manyagent-0.1.0/docs/design/ManyAgent - Overview.md +266 -0
- manyagent-0.1.0/docs/design/ManyAgent - Package Structure & Workflow.md +119 -0
- manyagent-0.1.0/docs/design/ManyAgent - Trace Renditions & Mining (M12-M14).md +292 -0
- manyagent-0.1.0/docs/design/components/manyagent.adapters.md +116 -0
- manyagent-0.1.0/docs/design/components/manyagent.bank.md +108 -0
- manyagent-0.1.0/docs/design/components/manyagent.capture.md +113 -0
- manyagent-0.1.0/docs/design/components/manyagent.cli.md +87 -0
- manyagent-0.1.0/docs/design/components/manyagent.core.md +118 -0
- manyagent-0.1.0/docs/design/components/manyagent.distill.md +125 -0
- manyagent-0.1.0/docs/design/components/manyagent.forum.md +100 -0
- manyagent-0.1.0/docs/design/components/manyagent.procedures.md +292 -0
- manyagent-0.1.0/docs/design/components/manyagent.utils.md +93 -0
- manyagent-0.1.0/docs/design/components/manyagent.web.md +118 -0
- manyagent-0.1.0/docs/design/components/manyagent.web.viewer.md +243 -0
- manyagent-0.1.0/docs/getting-started/installation.md +32 -0
- manyagent-0.1.0/docs/guide/authoring-an-installer.md +247 -0
- manyagent-0.1.0/docs/guide/curation.md +27 -0
- manyagent-0.1.0/docs/guide/quickstart.md +31 -0
- manyagent-0.1.0/docs/guide/remote-access.md +107 -0
- manyagent-0.1.0/docs/guide/viewer.md +26 -0
- manyagent-0.1.0/docs/index.md +12 -0
- manyagent-0.1.0/infra/cloudflared/README.md +43 -0
- manyagent-0.1.0/manyagent.env.example +56 -0
- manyagent-0.1.0/mkdocs.yml +88 -0
- manyagent-0.1.0/pyproject.toml +195 -0
- manyagent-0.1.0/scripts/simulate_story.py +488 -0
- manyagent-0.1.0/scripts/smoke_m11.py +269 -0
- manyagent-0.1.0/src/manyagent/__init__.py +120 -0
- manyagent-0.1.0/src/manyagent/__init__.pyi +25 -0
- manyagent-0.1.0/src/manyagent/_handlers.py +489 -0
- manyagent-0.1.0/src/manyagent/_hook.py +114 -0
- manyagent-0.1.0/src/manyagent/_installer.py +1031 -0
- manyagent-0.1.0/src/manyagent/_mcp.py +302 -0
- manyagent-0.1.0/src/manyagent/adapters/__init__.py +32 -0
- manyagent-0.1.0/src/manyagent/adapters/base.py +273 -0
- manyagent-0.1.0/src/manyagent/adapters/builtin/__init__.py +161 -0
- manyagent-0.1.0/src/manyagent/adapters/builtin/claude.py +96 -0
- manyagent-0.1.0/src/manyagent/adapters/builtin/codex.py +71 -0
- manyagent-0.1.0/src/manyagent/adapters/builtin/gemini.py +76 -0
- manyagent-0.1.0/src/manyagent/adapters/builtin/qwen.py +28 -0
- manyagent-0.1.0/src/manyagent/adapters/miners/__init__.py +14 -0
- manyagent-0.1.0/src/manyagent/adapters/miners/claude.py +247 -0
- manyagent-0.1.0/src/manyagent/adapters/registry.py +78 -0
- manyagent-0.1.0/src/manyagent/adapters/skills/__init__.py +21 -0
- manyagent-0.1.0/src/manyagent/adapters/skills/claude.py +296 -0
- manyagent-0.1.0/src/manyagent/adapters/skills/codex.py +223 -0
- manyagent-0.1.0/src/manyagent/adapters/skills/gemini.py +308 -0
- manyagent-0.1.0/src/manyagent/bank/__init__.py +43 -0
- manyagent-0.1.0/src/manyagent/bank/base.py +74 -0
- manyagent-0.1.0/src/manyagent/bank/fake.py +243 -0
- manyagent-0.1.0/src/manyagent/bank/retry.py +48 -0
- manyagent-0.1.0/src/manyagent/bank/supabase_bank.py +239 -0
- manyagent-0.1.0/src/manyagent/capture/__init__.py +84 -0
- manyagent-0.1.0/src/manyagent/capture/bound.py +114 -0
- manyagent-0.1.0/src/manyagent/capture/conformance.py +40 -0
- manyagent-0.1.0/src/manyagent/capture/models.py +63 -0
- manyagent-0.1.0/src/manyagent/capture/scrub.py +64 -0
- manyagent-0.1.0/src/manyagent/cli.py +1191 -0
- manyagent-0.1.0/src/manyagent/core/__init__.py +28 -0
- manyagent-0.1.0/src/manyagent/core/collection.py +56 -0
- manyagent-0.1.0/src/manyagent/core/models.py +232 -0
- manyagent-0.1.0/src/manyagent/distill/__init__.py +53 -0
- manyagent-0.1.0/src/manyagent/distill/curator.py +173 -0
- manyagent-0.1.0/src/manyagent/distill/parse.py +178 -0
- manyagent-0.1.0/src/manyagent/distill/prompts.py +149 -0
- manyagent-0.1.0/src/manyagent/distill/resolve.py +157 -0
- manyagent-0.1.0/src/manyagent/distill/schema.py +53 -0
- manyagent-0.1.0/src/manyagent/distill/server.py +54 -0
- manyagent-0.1.0/src/manyagent/distill/weighting.py +85 -0
- manyagent-0.1.0/src/manyagent/forum/__init__.py +40 -0
- manyagent-0.1.0/src/manyagent/forum/anti_meta.py +181 -0
- manyagent-0.1.0/src/manyagent/forum/discuss.py +69 -0
- manyagent-0.1.0/src/manyagent/forum/parser.py +117 -0
- manyagent-0.1.0/src/manyagent/forum/prompt.py +107 -0
- manyagent-0.1.0/src/manyagent/forum/schema.py +53 -0
- manyagent-0.1.0/src/manyagent/preflight.py +132 -0
- manyagent-0.1.0/src/manyagent/py.typed +0 -0
- manyagent-0.1.0/src/manyagent/testing.py +613 -0
- manyagent-0.1.0/src/manyagent/utils/__init__.py +32 -0
- manyagent-0.1.0/src/manyagent/utils/config.py +107 -0
- manyagent-0.1.0/src/manyagent/utils/log.py +28 -0
- manyagent-0.1.0/src/manyagent/utils/messages.py +125 -0
- manyagent-0.1.0/src/manyagent/utils/provider.py +276 -0
- manyagent-0.1.0/src/manyagent/utils/sid.py +71 -0
- manyagent-0.1.0/src/manyagent/utils/ui.py +313 -0
- manyagent-0.1.0/src/manyagent/web/__init__.py +13 -0
- manyagent-0.1.0/src/manyagent/web/api.py +535 -0
- manyagent-0.1.0/src/manyagent/web/server.py +126 -0
- manyagent-0.1.0/supabase/.gitignore +8 -0
- manyagent-0.1.0/supabase/config.toml +406 -0
- manyagent-0.1.0/supabase/migrations/00001_initial_schema.sql +58 -0
- manyagent-0.1.0/supabase/migrations/00002_packet_quarantine.sql +9 -0
- manyagent-0.1.0/supabase/migrations/00003_trace_scrub_meta.sql +6 -0
- manyagent-0.1.0/supabase/migrations/00004_three_role_rls.sql +67 -0
- manyagent-0.1.0/supabase/migrations/00005_preference.sql +9 -0
- manyagent-0.1.0/supabase/migrations/00006_swarms_taxonomy.sql +63 -0
- manyagent-0.1.0/supabase/migrations/00007_injection_ledger.sql +68 -0
- manyagent-0.1.0/supabase/migrations/00008_public_traces.sql +21 -0
- manyagent-0.1.0/supabase/migrations/00009_trace_renditions.sql +41 -0
- manyagent-0.1.0/supabase/rollbacks/00008_revoke_public_traces.sql +15 -0
- manyagent-0.1.0/supabase/rollbacks/00009_revoke_public_renditions.sql +10 -0
- manyagent-0.1.0/supabase/seed.sql +1 -0
- manyagent-0.1.0/tests/conftest.py +88 -0
- manyagent-0.1.0/tests/fixtures/adapter_samples/claude.json +7 -0
- manyagent-0.1.0/tests/fixtures/adapter_samples/codex.json +5 -0
- manyagent-0.1.0/tests/fixtures/adapter_samples/gemini.json +3 -0
- manyagent-0.1.0/tests/test_adapter_install.py +564 -0
- manyagent-0.1.0/tests/test_adapters.py +284 -0
- manyagent-0.1.0/tests/test_bank.py +204 -0
- manyagent-0.1.0/tests/test_bank_integration.py +209 -0
- manyagent-0.1.0/tests/test_capture.py +268 -0
- manyagent-0.1.0/tests/test_cli.py +899 -0
- manyagent-0.1.0/tests/test_core.py +225 -0
- manyagent-0.1.0/tests/test_distill.py +380 -0
- manyagent-0.1.0/tests/test_e2e.py +239 -0
- manyagent-0.1.0/tests/test_forum.py +299 -0
- manyagent-0.1.0/tests/test_handlers.py +499 -0
- manyagent-0.1.0/tests/test_hook.py +144 -0
- manyagent-0.1.0/tests/test_installer.py +688 -0
- manyagent-0.1.0/tests/test_mcp.py +297 -0
- manyagent-0.1.0/tests/test_miners.py +196 -0
- manyagent-0.1.0/tests/test_package.py +87 -0
- manyagent-0.1.0/tests/test_preflight.py +81 -0
- manyagent-0.1.0/tests/test_testing.py +203 -0
- manyagent-0.1.0/tests/test_utils.py +501 -0
- manyagent-0.1.0/tests/test_web.py +765 -0
- manyagent-0.1.0/tox.ini +15 -0
- manyagent-0.1.0/uv.lock +2726 -0
- manyagent-0.1.0/web/app/index.html +120 -0
- manyagent-0.1.0/web/viewer/jsconfig.json +8 -0
- manyagent-0.1.0/web/viewer/package-lock.json +2058 -0
- manyagent-0.1.0/web/viewer/package.json +28 -0
- manyagent-0.1.0/web/viewer/src/app.html +16 -0
- manyagent-0.1.0/web/viewer/src/components/AgentLink.svelte +31 -0
- manyagent-0.1.0/web/viewer/src/components/BundleCard.svelte +130 -0
- manyagent-0.1.0/web/viewer/src/components/CrumbBar.svelte +85 -0
- manyagent-0.1.0/web/viewer/src/components/QuarantineBanner.svelte +49 -0
- manyagent-0.1.0/web/viewer/src/components/QuickstartCard.svelte +157 -0
- manyagent-0.1.0/web/viewer/src/components/SiteHeader.svelte +78 -0
- manyagent-0.1.0/web/viewer/src/components/Stars.svelte +35 -0
- manyagent-0.1.0/web/viewer/src/components/StructuredView.svelte +311 -0
- manyagent-0.1.0/web/viewer/src/components/ThreadRow.svelte +195 -0
- manyagent-0.1.0/web/viewer/src/components/TraceView.svelte +405 -0
- manyagent-0.1.0/web/viewer/src/lib/api.js +168 -0
- manyagent-0.1.0/web/viewer/src/lib/explorer.js +0 -0
- manyagent-0.1.0/web/viewer/src/routes/+layout.js +5 -0
- manyagent-0.1.0/web/viewer/src/routes/+layout.svelte +52 -0
- manyagent-0.1.0/web/viewer/src/routes/+page.svelte +324 -0
- manyagent-0.1.0/web/viewer/src/routes/a/[session]/[agent]/+page.svelte +390 -0
- manyagent-0.1.0/web/viewer/src/routes/g/[goal]/+page.svelte +342 -0
- manyagent-0.1.0/web/viewer/src/routes/s/[session]/+page.svelte +189 -0
- manyagent-0.1.0/web/viewer/src/routes/t/[session]/[uuid]/+page.svelte +537 -0
- manyagent-0.1.0/web/viewer/src/styles/app.css +148 -0
- manyagent-0.1.0/web/viewer/src/styles/reset.css +80 -0
- manyagent-0.1.0/web/viewer/src/styles/variables.css +89 -0
- manyagent-0.1.0/web/viewer/static/favicon.svg +5 -0
- manyagent-0.1.0/web/viewer/svelte.config.js +24 -0
- manyagent-0.1.0/web/viewer/vite.config.js +31 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
// ManyAgent dev container. Python via uv, Node for `npx supabase`,
|
|
3
|
+
// docker-in-docker so the local Bank (Supabase) can run inside the container.
|
|
4
|
+
"name": "manyagent",
|
|
5
|
+
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bookworm",
|
|
6
|
+
"features": {
|
|
7
|
+
"ghcr.io/devcontainers/features/node:1": { "version": "lts" },
|
|
8
|
+
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
|
|
9
|
+
"ghcr.io/va-h/devcontainers-features/uv:1": { "version": "latest" }
|
|
10
|
+
},
|
|
11
|
+
"postCreateCommand": "make install",
|
|
12
|
+
"remoteEnv": {
|
|
13
|
+
"PATH": "${containerEnv:PATH}:${containerWorkspaceFolder}/.venv/bin"
|
|
14
|
+
},
|
|
15
|
+
"customizations": {
|
|
16
|
+
"vscode": {
|
|
17
|
+
"extensions": [
|
|
18
|
+
"ms-python.python",
|
|
19
|
+
"ms-python.mypy-type-checker",
|
|
20
|
+
"charliermarsh.ruff"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "Setup Python Environment"
|
|
2
|
+
description: "Set up Python environment for the given Python version"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
python-version:
|
|
6
|
+
description: "Python version to use"
|
|
7
|
+
required: true
|
|
8
|
+
default: "3.12"
|
|
9
|
+
uv-version:
|
|
10
|
+
description: "uv version to use"
|
|
11
|
+
required: true
|
|
12
|
+
default: "0.6.14"
|
|
13
|
+
|
|
14
|
+
runs:
|
|
15
|
+
using: "composite"
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: ${{ inputs.python-version }}
|
|
20
|
+
|
|
21
|
+
- name: Install uv
|
|
22
|
+
uses: astral-sh/setup-uv@v2
|
|
23
|
+
with:
|
|
24
|
+
version: ${{ inputs.uv-version }}
|
|
25
|
+
enable-cache: 'true'
|
|
26
|
+
cache-suffix: ${{ matrix.python-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install Python dependencies
|
|
29
|
+
run: uv sync --frozen
|
|
30
|
+
shell: bash
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
# Build-only: `mkdocs build --strict` keeps the docs honest on every push.
|
|
4
|
+
# The GitHub Pages deploy job was removed 2026-06-10 — Pages cannot be
|
|
5
|
+
# enabled on a private repo under the org's free plan, so deploy-pages@v4
|
|
6
|
+
# hard-failed every run with "Failed to create deployment (status: 404)".
|
|
7
|
+
# Restore the upload-pages-artifact + deploy-pages jobs (plus `pages: write`
|
|
8
|
+
# / `id-token: write` permissions and the `pages` concurrency group) when
|
|
9
|
+
# the repo goes public or the org moves to a paid plan.
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
push:
|
|
13
|
+
branches:
|
|
14
|
+
- main
|
|
15
|
+
paths:
|
|
16
|
+
- "docs/**"
|
|
17
|
+
- "mkdocs.yml"
|
|
18
|
+
- "src/**"
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Check out
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Set up the environment
|
|
32
|
+
uses: ./.github/actions/setup-python-env
|
|
33
|
+
|
|
34
|
+
- name: Install docs dependencies
|
|
35
|
+
run: uv sync --frozen --group docs
|
|
36
|
+
|
|
37
|
+
- name: Build docs
|
|
38
|
+
run: uv run mkdocs build --strict
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Main
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
# Lint/format/typecheck/deptry. Single OS (canonical) — these tools are
|
|
12
|
+
# platform-independent in result, and `make` + a tightly-versioned
|
|
13
|
+
# `pre-commit` cache is most reliable on Linux.
|
|
14
|
+
quality:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- name: Check out
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- uses: actions/cache@v4
|
|
21
|
+
with:
|
|
22
|
+
path: ~/.cache/pre-commit
|
|
23
|
+
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
|
24
|
+
|
|
25
|
+
- name: Set up the environment
|
|
26
|
+
uses: ./.github/actions/setup-python-env
|
|
27
|
+
|
|
28
|
+
- name: Run checks
|
|
29
|
+
run: make check
|
|
30
|
+
|
|
31
|
+
# The behaviour matrix: every OS × Python combination runs pytest and mypy.
|
|
32
|
+
# `make` isn't standard on Windows; we invoke `uv run` directly so the job
|
|
33
|
+
# doesn't need a separate `chocolatey install make` step.
|
|
34
|
+
tests-and-type-check:
|
|
35
|
+
name: tests (${{ matrix.os }}, py${{ matrix.python-version }})
|
|
36
|
+
runs-on: ${{ matrix.os }}
|
|
37
|
+
strategy:
|
|
38
|
+
matrix:
|
|
39
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
40
|
+
python-version: ["3.12"]
|
|
41
|
+
fail-fast: false
|
|
42
|
+
defaults:
|
|
43
|
+
run:
|
|
44
|
+
shell: bash
|
|
45
|
+
steps:
|
|
46
|
+
- name: Check out
|
|
47
|
+
uses: actions/checkout@v4
|
|
48
|
+
|
|
49
|
+
- name: Set up the environment
|
|
50
|
+
uses: ./.github/actions/setup-python-env
|
|
51
|
+
with:
|
|
52
|
+
python-version: ${{ matrix.python-version }}
|
|
53
|
+
|
|
54
|
+
- name: Run tests
|
|
55
|
+
run: uv run python -m pytest --cov --cov-config=pyproject.toml --cov-report=xml
|
|
56
|
+
|
|
57
|
+
- name: Check typing
|
|
58
|
+
run: uv run mypy
|
|
59
|
+
|
|
60
|
+
- name: Upload coverage reports to Codecov
|
|
61
|
+
uses: codecov/codecov-action@v4
|
|
62
|
+
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' }}
|
|
63
|
+
env:
|
|
64
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
# Publish to PyPI via Trusted Publishing (OIDC — no API tokens stored).
|
|
4
|
+
# Fires when a GitHub Release is published. To cut a release:
|
|
5
|
+
# gh release create v0.1.0 --generate-notes
|
|
6
|
+
# One-time PyPI setup (https://pypi.org/manage/account/publishing/):
|
|
7
|
+
# add a pending publisher → owner: manyagent · repo: manyagent ·
|
|
8
|
+
# workflow: release.yml · environment: pypi
|
|
9
|
+
# The bundled build is checked with `twine check` before the upload step.
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
pypi-publish:
|
|
17
|
+
name: Build and publish to PyPI
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
if: github.repository == 'manyagent/manyagent'
|
|
20
|
+
environment: pypi
|
|
21
|
+
permissions:
|
|
22
|
+
id-token: write # OIDC token for Trusted Publishing
|
|
23
|
+
steps:
|
|
24
|
+
- name: Check out
|
|
25
|
+
uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@v6
|
|
29
|
+
|
|
30
|
+
- name: Build sdist + wheel
|
|
31
|
+
run: uv build
|
|
32
|
+
|
|
33
|
+
- name: Verify the version tag matches pyproject
|
|
34
|
+
run: |
|
|
35
|
+
PKG=$(uv run --no-project python -c "import tomllib;print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")
|
|
36
|
+
TAG="${GITHUB_REF_NAME#v}"
|
|
37
|
+
test "$PKG" = "$TAG" || { echo "tag $TAG != pyproject version $PKG"; exit 1; }
|
|
38
|
+
|
|
39
|
+
- name: Validate distribution metadata
|
|
40
|
+
run: uv run --no-project --with twine twine check dist/*
|
|
41
|
+
|
|
42
|
+
- name: Publish to PyPI
|
|
43
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
# Anchored to the repo root: the bare `lib/`/`lib64/` Python-build rules were
|
|
18
|
+
# greedily swallowing the SvelteKit `web/viewer/src/lib/` data layer.
|
|
19
|
+
/lib/
|
|
20
|
+
/lib64/
|
|
21
|
+
parts/
|
|
22
|
+
sdist/
|
|
23
|
+
var/
|
|
24
|
+
wheels/
|
|
25
|
+
share/python-wheels/
|
|
26
|
+
*.egg-info/
|
|
27
|
+
.installed.cfg
|
|
28
|
+
*.egg
|
|
29
|
+
MANIFEST
|
|
30
|
+
|
|
31
|
+
# Installer logs
|
|
32
|
+
pip-log.txt
|
|
33
|
+
pip-delete-this-directory.txt
|
|
34
|
+
|
|
35
|
+
# Unit test / coverage reports
|
|
36
|
+
htmlcov/
|
|
37
|
+
.tox/
|
|
38
|
+
.nox/
|
|
39
|
+
.coverage
|
|
40
|
+
.coverage.*
|
|
41
|
+
.cache
|
|
42
|
+
nosetests.xml
|
|
43
|
+
coverage.xml
|
|
44
|
+
*.cover
|
|
45
|
+
*.py,cover
|
|
46
|
+
.hypothesis/
|
|
47
|
+
.pytest_cache/
|
|
48
|
+
cover/
|
|
49
|
+
|
|
50
|
+
# Logs
|
|
51
|
+
*.log
|
|
52
|
+
|
|
53
|
+
# Environments
|
|
54
|
+
.env
|
|
55
|
+
.venv
|
|
56
|
+
env/
|
|
57
|
+
venv/
|
|
58
|
+
ENV/
|
|
59
|
+
env.bak/
|
|
60
|
+
venv.bak/
|
|
61
|
+
|
|
62
|
+
# manyagent local config (committed template is manyagent.env.example)
|
|
63
|
+
manyagent.env
|
|
64
|
+
|
|
65
|
+
# Reference / scratch asciinema recordings dropped into the repo root
|
|
66
|
+
*.cast
|
|
67
|
+
|
|
68
|
+
# Rope project settings
|
|
69
|
+
.ropeproject
|
|
70
|
+
|
|
71
|
+
# mypy
|
|
72
|
+
.mypy_cache/
|
|
73
|
+
.dmypy.json
|
|
74
|
+
dmypy.json
|
|
75
|
+
|
|
76
|
+
# Pyre type checker
|
|
77
|
+
.pyre/
|
|
78
|
+
|
|
79
|
+
# pytype static type analyzer
|
|
80
|
+
.pytype/
|
|
81
|
+
|
|
82
|
+
# Cython debug symbols
|
|
83
|
+
cython_debug/
|
|
84
|
+
|
|
85
|
+
# Ruff stuff:
|
|
86
|
+
.ruff_cache/
|
|
87
|
+
|
|
88
|
+
# PyPI configuration file
|
|
89
|
+
.pypirc
|
|
90
|
+
|
|
91
|
+
# Supabase
|
|
92
|
+
supabase/.temp/
|
|
93
|
+
supabase/.branches/
|
|
94
|
+
|
|
95
|
+
# Cloudflare Tunnel — rendered ingress configs + credentials are machine-specific
|
|
96
|
+
# / secret; only infra/cloudflared/README.md is committed (see Makefile *-tunnel-*).
|
|
97
|
+
infra/cloudflared/*.yml
|
|
98
|
+
infra/cloudflared/*.json
|
|
99
|
+
infra/cloudflared/cert.pem
|
|
100
|
+
|
|
101
|
+
# MkDocs build output
|
|
102
|
+
site/
|
|
103
|
+
|
|
104
|
+
# Node / SvelteKit viewer (manyagent.web; web/viewer/)
|
|
105
|
+
node_modules/
|
|
106
|
+
web/viewer/build/
|
|
107
|
+
web/viewer/.svelte-kit/
|
|
108
|
+
# legacy paths kept in ignore in case stale local artifacts exist
|
|
109
|
+
src/manyagent/web/app/build/
|
|
110
|
+
src/manyagent/web/app/.svelte-kit/
|
|
111
|
+
|
|
112
|
+
# Local artifacts
|
|
113
|
+
.claude/
|
|
114
|
+
scratch/
|
|
115
|
+
*.db
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: "v5.0.0"
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-case-conflict
|
|
6
|
+
- id: check-merge-conflict
|
|
7
|
+
- id: check-toml
|
|
8
|
+
- id: check-yaml
|
|
9
|
+
args: [--unsafe]
|
|
10
|
+
- id: check-json
|
|
11
|
+
# JSONL adapter fixtures (one JSON object per line) aren't single-doc JSON.
|
|
12
|
+
exclude: ^(\.devcontainer/devcontainer\.json|tests/fixtures/adapter_samples/.*\.json)$
|
|
13
|
+
- id: pretty-format-json
|
|
14
|
+
# JSONL adapter fixtures (one JSON object per line) aren't single-doc JSON.
|
|
15
|
+
exclude: ^(\.devcontainer/devcontainer\.json|tests/fixtures/adapter_samples/.*\.json)$
|
|
16
|
+
args: [--autofix, --no-sort-keys]
|
|
17
|
+
- id: end-of-file-fixer
|
|
18
|
+
- id: trailing-whitespace
|
|
19
|
+
|
|
20
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
21
|
+
rev: "v0.11.5"
|
|
22
|
+
hooks:
|
|
23
|
+
- id: ruff
|
|
24
|
+
args: [--exit-non-zero-on-fix]
|
|
25
|
+
- id: ruff-format
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
This repo's operational guide for coding agents is **`CLAUDE.md`** (same content
|
|
4
|
+
applies regardless of agent). See `CLAUDE.md` for commands, build conventions
|
|
5
|
+
(milestone-ordered, per-milestone deps, new-migration-only schema changes,
|
|
6
|
+
`MANYAGENT_`-prefixed tunables, no per-instance `__getattr__`, tests mirror `src/`),
|
|
7
|
+
and the target architecture. Design rationale lives in `docs/design/`.
|