minima-cli 0.12.0__tar.gz → 0.12.1__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.
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.github/workflows/catalog-snapshot.yml +17 -4
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.github/workflows/ci.yml +27 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.github/workflows/release-cli.yml +19 -11
- {minima_cli-0.12.0 → minima_cli-0.12.1}/CHANGELOG.md +42 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/CLAUDE.md +3 -2
- {minima_cli-0.12.0 → minima_cli-0.12.1}/PKG-INFO +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/autocapture.py +2 -2
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/client.py +149 -21
- minima_cli-0.12.1/client_sdk/minima_client/errors.py +49 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/integrations/claude_code.py +8 -5
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/integrations/litellm_router.py +47 -7
- minima_cli-0.12.1/client_sdk/minima_client/integrations/openhands_router.py +184 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/publishing.md +5 -0
- minima_cli-0.12.1/packages/sdk/README.md +54 -0
- minima_cli-0.12.1/packages/sdk/bun.lock +43 -0
- minima_cli-0.12.1/packages/sdk/package.json +22 -0
- minima_cli-0.12.1/packages/sdk/src/client.ts +305 -0
- minima_cli-0.12.1/packages/sdk/src/errors.ts +62 -0
- minima_cli-0.12.1/packages/sdk/src/index.ts +12 -0
- minima_cli-0.12.1/packages/sdk/src/version.ts +9 -0
- minima_cli-0.12.1/packages/sdk/tests/client.test.ts +194 -0
- minima_cli-0.12.1/packages/sdk/tsconfig.json +24 -0
- minima_cli-0.12.1/packages/tui/.gitignore +4 -0
- minima_cli-0.12.1/packages/tui/biome.json +25 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/package.json +1 -1
- minima_cli-0.12.1/packages/tui/src/minima/schemas.ts +326 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/pyproject.toml +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_adapters.py +117 -0
- minima_cli-0.12.1/tests/unit/test_sdk_client.py +153 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_sdk_usage.py +10 -1
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_ts_mirror.py +15 -9
- {minima_cli-0.12.0 → minima_cli-0.12.1}/uv.lock +1 -1
- minima_cli-0.12.0/client_sdk/minima_client/errors.py +0 -23
- minima_cli-0.12.0/client_sdk/minima_client/integrations/openhands_router.py +0 -99
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.dockerignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.env.example +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.github/workflows/prod.yml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.github/workflows/staging.yml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/AGENTS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/Dockerfile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/LICENSE +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/Makefile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/assert/check.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/assert/db.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/driver/env.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/driver/headless.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/driver/mock_server.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/driver/rig.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/driver/scratch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/_example/mathx.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/_example/tests/test_public.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/src/csv.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/src/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/src/object.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/src/stats.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/src/transform.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/tests/csv.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/tests/object.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/tests/stats.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/js-lib/tests/transform.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/js/chunk.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/js/droot.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/js/duration.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/js/wrap.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/py/checksum.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/py/intervals.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/py/rle.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/py/roman.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/js/chunk/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/js/droot/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/js/duration/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/js/wrap/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/py/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/py/test_checksum_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/py/test_intervals_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/py/test_rle_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/py/test_roman_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/ts/brackets/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/ts/drift/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/ts/ordinal/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/tests/ts/slug/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/ts/brackets.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/ts/drift.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/ts/ordinal.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/katas/ts/slug.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/pytest.ini +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/__main__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/cli.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/dates.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/migrations.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/query.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/taskman/storage.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_cli.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_dates.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_query.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/py-cli/tests/test_storage.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/app.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/auth.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/errors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/handlers/admin.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/handlers/links.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/handlers/notes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/handlers/stats.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/persist.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/ratelimit.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/respond.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/router.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/server.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/src/validate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/auth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/health.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/helpers.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/links.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/notes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/persist.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/ratelimit.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/router.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/stats.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/store.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tests/validate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/fixtures/templates/ts-api/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f10_recovery_ladder.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f12_learning_loop.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f1_headless.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f4_cost_budget.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f5_task_dag_worktree.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f6_resume_lineage.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f7_permissions_plan.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/flows/f9_offline_reconnect.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/attempt.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/build_index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/calibrate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/calibrate_all.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/calibration_report.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/materialize.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/savings_ab.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/savings_report.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/gen/validate_task.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/run.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/_example/ex-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/_example/ex-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/_example/ex-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/calibration.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-002/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-003/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-005/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/js-lib/jl-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-001/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-002/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-003/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-004/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-005/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-006/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-007/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-008/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-008/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-008/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-009/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-009/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-009/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-010/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-010/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-010/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-011/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-011/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-011/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-012/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-012/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/katas/ka-012/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-002/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-003/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-005/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-007/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-008/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-008/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/py-cli/pc-008/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/savings_ab.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-001/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-002/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-003/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-005/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-007/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/bench/tasks/ts-api/ta-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/integrations/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/PLAN-retired.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/characteristics-of-successful-plans.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/decision-inline-renderer.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/harness-research.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/inline-rendering-brief.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/inline-ux-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/minima-harness-application-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/plan-loop-audit.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/playbook.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/pr-default-renderer.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/pr-opencode-sidebar.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/pr-prompt-echo.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/q_and_a.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/ab/ab_capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/ab/ab_compare.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b1-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b1-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b2-mode-plan-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b2-mode-plan-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b4-undo-prefill-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b5-rewind-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b5-rewind-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/b5-rewind-picker-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/base-echo-gap.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/base-gt-wide.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/base-inline-default.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/base-narrow.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/base-toc-wide.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/baseline/capture-specs.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/c-prompt-echo.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/boundary-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/capture-specs.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/check_echo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/code-heavy-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/code-heavy-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/echo-gap.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/echo-gap.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/fixture-resume.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/gt-banner.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/gt-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/gt-off-notice.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/narrow-55.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/perf.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/plain-chat.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/plain-chat.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/inline-baseline/toc-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/j1-why-card-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp1-tui-verify-run.log +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-80.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-80.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-tall.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/code-tall.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/md-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/md-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/md-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/md-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/mixed-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/mixed-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/mixed-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/mixed-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/tool-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/tool-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/tool-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp10-render-audit/tool-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-80.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-80.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-tall.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp11-code-wrap/code-tall.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp12-tool-truncate/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/busy-research.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/busy-research.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/busy-synth.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/busy-synth.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp14-council-progress/council-line.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/final-overview.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp16-plan-draft/final-overview.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/approved.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/approved.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/1-council.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/1-council.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/2-draft.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/2-draft.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/4-red-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/4-red-block.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/5-green-close.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/5-green-close.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/7-step-card.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/7-step-card.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp19-acceptance/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp20-stream-reseat/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp4-spike/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp4-spike/mp4-closed.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp4-spike/mp4-open.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp4-spike/mp4-scrolled.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp5-taskpanel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-hidden.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-restart-hidden.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-visible.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp6-gt-taskpanel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-blocked-alert.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-drift-alert.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp7-expand-panel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-closed-draft.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-bottom.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-open.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp8-panel-reader/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp8-panel-reader/mp8-back-to-list.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp8-panel-reader/mp8-reader.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp9-gt-panel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-gate-wins.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-overview.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-step-card.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/p0-badge-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/p0-badge-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/plan-e2e-seeded.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/plan-exit-approval.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/plan-shifttab-workflow.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-docked-toc-focused.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-docked-toc-unfocused.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-narrow-fallback.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-narrow-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-toc-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u2-toc-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u3-gt-card-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u3-gt-docked.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/shots/u3-gt-panel-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/sources.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/spike-inline-panel.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/tui-manual-testing.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/BigPlan/workflow-diagrams.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/agent-core-architecture.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/agent-core-implementation-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/api-reference.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/characteristics_of_a_good_plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/client-sdk.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/concepts.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/configuration.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/examples.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/feature-gap-analysis.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/getting-started.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/goals-feature-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/ground-truth-build-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/ground-truth-tui-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/harness.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/multi-tenancy.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/operations.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/seeding.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/tui-rendering-strategy.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs/tui-stability-input-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/.dockerignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/Dockerfile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Accordion.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Badge.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Card.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/CardGroup.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Frame.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Note.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/PageHeader.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Steps.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/Tabs.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/components/sidebar.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/netlify.toml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/nginx.conf +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/package-lock.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/api-reference/endpoints.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/cli.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/configuration.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/installation.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/interactive.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/overview.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/routing.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/sessions.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/tools.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/harness/troubleshooting.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/index.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/sdk/client-sdk.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/sdk/concepts.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/sdk/examples.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/pages/sdk/getting-started.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/public/images/favicon.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/public/images/logo-dark.svg +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/public/images/logo-light.svg +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/public/styles/global.css +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/docs-site/vocs.config.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/01_quickstart.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/02_recommend_and_feedback.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/03_constraints_and_tradeoff.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/04_workflow.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/05_autocapture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/06_routed_llm_call.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/07_multitenant_admin.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_escalation_learn.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_gemini.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_retention.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_warmup.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/agent_warmup_vary.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/metrics_demo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/examples/smoke_test.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/maybe.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/maybe.ts +0 -0
- {minima_cli-0.12.0/packages/tui → minima_cli-0.12.1/packages/sdk}/.gitignore +0 -0
- {minima_cli-0.12.0/packages/tui → minima_cli-0.12.1/packages/sdk}/biome.json +0 -0
- {minima_cli-0.12.0/packages/tui/src/minima → minima_cli-0.12.1/packages/sdk/src}/schemas.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/bun.lock +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/build-all.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/build.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/gen-fixture-session.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/install.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/mock_openai_sse.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/plan_latency_bench.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/pty_capture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/stub-devtools.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/tui_assert.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/scripts/tui_verify.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/agent.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/events.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/loop.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/modes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/policy.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/state.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/agent/tools.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/compat.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/events.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/provider_catalog.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/provider_quirks.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/_common.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/anthropic.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/base.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/faux.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/google.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/providers/openai_compat.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/registry.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/stream.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/ai/usage.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/cli/main.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/db/metrics.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/db/minima_db.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/db/rehydrate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/db/sink.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/errtext.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/anti_spiral.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/behavior.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/budget.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/catalog.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/check.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/client.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/confidence.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/config.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/errors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/failure_kind.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/ground_truth.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/gt_contract.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/gt_factors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/judge.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/mapping.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/memory.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/meter.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/mubit_memory_factory.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_council.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_finalize.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_lint.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_refute.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_seed.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_session.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/plan_turn.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/router.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/runtime.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/spawn.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/stop_gate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/tool_permissions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/minima/why.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/run_modes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/session/checkpoint.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/session/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/session/rewind.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/session/sections.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/session/store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/_ddg.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/_exa.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/_io.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/_search.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/apply_patch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/at_mentions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/bash.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/builtin.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/edit.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/exit_plan.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/glob.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/grep.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/ls.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/question.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/read.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/schema.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/task.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/todowrite.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/web_fetch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/web_search.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tools/write.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/app.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/auth.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/badge_slot.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/busy.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/child_tree.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/clipboard.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/compact.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/config_store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/context.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/current_action.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/expand_panel.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/footer.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/gt_overview.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/input-filter.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/layout.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/messages.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/mode_prefs.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/model-picker.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/panel_state.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/perf.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/permissions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/plan_draft_view.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/projects.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/reader.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/resume.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/rewind_picker.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/routing-warnings.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/status.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/suspend.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/task_footer.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/text-input.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/tips.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/tui/toc.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/types.d.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/src/version.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/acceptance-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/agent.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/ai.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/anthropic.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/anti-spiral-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/anti-spiral.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/apply_patch.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/auth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/badge_slot.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/bash-group.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/behavior.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/budget.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/busy.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/candidate-filter.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/catalog.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/check.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/checkpoint.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/cli.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/client.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/confidence.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/config_env.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/config_store.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/current_action.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/db.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/db_migrate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/effort.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/error-ux.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/exit_plan.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/failure-kind-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/failure-kind.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/feedback-grounded.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/google.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/ground_truth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/grounded.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt-attribution.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt-contract.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt-footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt_factors.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/gt_overview.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/hooks.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/input-filter.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/isolation.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/j1-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/judge-cost-booking.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/judge.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/ladder.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/layout.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/learning-loop.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/markdown-fence.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/memory.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/minima.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/minima_memory.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/modes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/openai_compat.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/panel_state.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/permissions.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan-lint.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan-loop-audit.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_council.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_draft_view.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_finalize.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_refute.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_session.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/plan_turn.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/policy.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/reader.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/recall-user-id.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/render-buffer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/resume-gt.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/rewind.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/rewind_picker.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/run_modes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/sections.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/session.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/spawn.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/stop-gate-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/stop-gate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/task.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/task_footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/thinking.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/tips.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/toc.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/todowrite.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/tool-permissions.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/tool_marker.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/tools-persistence.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/tools.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/verify-consent.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tests/why.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packages/tui/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packaging/homebrew/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/packaging/homebrew/render_formula.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_125009/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_125009/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_125009/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_125009/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_125009/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_130252/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_182838/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_182838/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_182838/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_182838/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260612_183343/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260615_101732/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260624_103307/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260624_103307/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/20260624_103307/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_133108/cold_probe.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_133108/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_134209/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_134209/cold_probe.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_134209/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalation_20260612_201825/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalation_20260612_201825/results.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/escalation_20260612_201825/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/_manifest.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/calibration.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/feedback.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/health.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/models.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/recommend.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/savings.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/strategies.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/playground_p1/workflow.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/retention_20260612_201828/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/retention_20260612_201828/results.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/retention_20260612_201828/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/warmupvary_20260615_123818/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/scripts/eval/classify_dataset.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/scripts/eval/eval_classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/scripts/test-routing-web.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/scripts/test-routing.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/scripts/test-routing.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/auth.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/errors.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/calibration.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/feedback.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/health.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/recommend.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/api/routers/strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/data/benchmark_priors.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/data/capability_priors.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/data/model_aliases.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/merge.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/refresh.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/sources/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/sources/litellm.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/sources/openrouter.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/catalog/store.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/config.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/deps.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/logging.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/main.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/memory/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/memory/adapter.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/memory/keys.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/memory/records.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/memory/threadpool.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/metrics/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/metrics/calibration.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/metrics/ope.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/metrics/report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/metrics/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/_pg_pool.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/_redis_client.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/aggregate.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/decisionlog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/durablerefs.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/engine.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/recstore.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/score.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/recommender/types.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/common.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/feedback.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/models_catalog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/recommend.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/schemas/workflow.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/items.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/llmrouterbench.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/routerbench.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/run_seed.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/seeding/synthetic.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/tenancy/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/tenancy/context.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/tenancy/passthrough.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/src/minima/version.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/BENCHMARKS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/CRITERIA.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/RESULTS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/harness.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/llmrouterbench_config.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/prompt_length_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/test_llmrouterbench_savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/eval/test_routerbench_savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/factories.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_auth.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_feedback_loop.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_lesson_promotion.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_measurement_api.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_observed_cost_ranking.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_recommend_api.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_strategies_api.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/integration/test_workflow_models_health.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_escalation_fixes.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_full_surface_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_mubit_roundtrip.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_phase3_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/live/test_recall_params_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_accumulating_records.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_aggregate.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_aggregate_decay.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_autocapture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_calibration_fit.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_classify_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_classify_keys.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_cluster.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_cost_band.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_decisionlog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_iterations.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_latency_quality.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_lookup_parse.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_metrics.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_metrics_demo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_neighbor_classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_ope.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_prompt_length_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_records_catalog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_recstore_sqlite.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_score.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_store_backends.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_tenancy.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.1}/tests/unit/test_thompson.py +0 -0
|
@@ -92,9 +92,22 @@ jobs:
|
|
|
92
92
|
git checkout -B "$BRANCH"
|
|
93
93
|
git add "$SNAPSHOT_PATH"
|
|
94
94
|
git commit -m "chore(catalog): refresh vendored model snapshot from live /v1/models"
|
|
95
|
-
|
|
95
|
+
# Plain --force: this branch is automation-owned and rebuilt from main every
|
|
96
|
+
# run, and the fresh checkout has no remote-tracking ref for it, so
|
|
97
|
+
# --force-with-lease always fails with "stale info" once the branch exists.
|
|
98
|
+
git push -u origin "$BRANCH" --force
|
|
96
99
|
|
|
97
|
-
|
|
100
|
+
# Fail LOUD when the PR can't be opened: `|| echo` masked a hard denial
|
|
101
|
+
# ("GitHub Actions is not permitted to create ... pull requests") for days —
|
|
102
|
+
# green runs, branch pushed, no PR, nobody the wiser. An existing open PR is
|
|
103
|
+
# the only benign create-failure; anything else must turn the run red.
|
|
104
|
+
if ! gh pr create --base main --head "$BRANCH" \
|
|
98
105
|
--title "chore(catalog): refresh vendored model snapshot" \
|
|
99
|
-
--body "Automated refresh of \`$SNAPSHOT_PATH\` from the live catalog at \`$CATALOG_URL\` (normalized to the loader's shape). Opened by \`.github/workflows/catalog-snapshot.yml\`. Review the diff — this is the cold-start fallback the server serves when the live cost feed is unreachable."
|
|
100
|
-
|
|
106
|
+
--body "Automated refresh of \`$SNAPSHOT_PATH\` from the live catalog at \`$CATALOG_URL\` (normalized to the loader's shape). Opened by \`.github/workflows/catalog-snapshot.yml\`. Review the diff — this is the cold-start fallback the server serves when the live cost feed is unreachable."; then
|
|
107
|
+
if [ -n "$(gh pr list --base main --head "$BRANCH" --json number --jq '.[0].number // empty')" ]; then
|
|
108
|
+
echo "PR already open for $BRANCH; pushed update."
|
|
109
|
+
else
|
|
110
|
+
echo "::error::pushed $BRANCH but could not open its PR — likely the repo forbids Actions-created PRs (Settings → Actions → General → 'Allow GitHub Actions to create and approve pull requests')"
|
|
111
|
+
exit 1
|
|
112
|
+
fi
|
|
113
|
+
fi
|
|
@@ -67,3 +67,30 @@ jobs:
|
|
|
67
67
|
|
|
68
68
|
- name: Typecheck
|
|
69
69
|
run: bun run check
|
|
70
|
+
|
|
71
|
+
sdk-ts:
|
|
72
|
+
name: TS SDK — bun test + tsc
|
|
73
|
+
runs-on: ubuntu-latest
|
|
74
|
+
defaults:
|
|
75
|
+
run:
|
|
76
|
+
working-directory: packages/sdk
|
|
77
|
+
steps:
|
|
78
|
+
- name: Checkout
|
|
79
|
+
uses: actions/checkout@v5
|
|
80
|
+
|
|
81
|
+
- name: Set up Bun
|
|
82
|
+
uses: oven-sh/setup-bun@v2
|
|
83
|
+
with:
|
|
84
|
+
bun-version: ${{ env.BUN_VERSION }}
|
|
85
|
+
|
|
86
|
+
- name: Install deps
|
|
87
|
+
run: bun install --frozen-lockfile
|
|
88
|
+
|
|
89
|
+
- name: Test
|
|
90
|
+
run: bun test
|
|
91
|
+
|
|
92
|
+
- name: Typecheck
|
|
93
|
+
run: bun run check
|
|
94
|
+
|
|
95
|
+
- name: Lint
|
|
96
|
+
run: bun run lint
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
name: Release — CLI binaries + Homebrew
|
|
2
2
|
|
|
3
3
|
# On a published release, cross-compile the TypeScript/Bun CLI for macOS + Linux,
|
|
4
|
-
# ad-hoc codesign the macOS arches, attach the tarballs to the release, and
|
|
5
|
-
#
|
|
4
|
+
# ad-hoc codesign the macOS arches, attach the tarballs to the release, and push
|
|
5
|
+
# the bumped binary formula straight to the Homebrew tap (mubit-ai/homebrew-minima).
|
|
6
6
|
# PyPI publishing of the Python `minima-cli` (SDK + server tooling) stays in prod.yml.
|
|
7
7
|
on:
|
|
8
8
|
release:
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
path: packages/tui/dist/minima-*.tar.gz
|
|
93
93
|
|
|
94
94
|
publish-and-bump:
|
|
95
|
-
name: Attach assets +
|
|
95
|
+
name: Attach assets + push tap formula
|
|
96
96
|
needs: [build-macos, build-linux]
|
|
97
97
|
runs-on: ubuntu-latest
|
|
98
98
|
steps:
|
|
@@ -116,7 +116,12 @@ jobs:
|
|
|
116
116
|
VER="${RELEASE_TAG#v}"
|
|
117
117
|
python3 packaging/homebrew/render_formula.py --version "$VER" --dist dist --out minima.rb
|
|
118
118
|
echo "----- rendered formula -----"; cat minima.rb
|
|
119
|
-
|
|
119
|
+
# Direct push, not a PR: the formula PRs sat unmerged (0.11.0 AND 0.12.0 —
|
|
120
|
+
# brew served 0.10.0 until 2026-07-20), so a published release silently never
|
|
121
|
+
# reached users. The sha256s come from the just-built release artifacts, so
|
|
122
|
+
# there is nothing for a reviewer to judge that the release itself didn't
|
|
123
|
+
# already gate.
|
|
124
|
+
- name: Push formula to the tap
|
|
120
125
|
env:
|
|
121
126
|
GH_TOKEN: ${{ secrets.GH_PAT }}
|
|
122
127
|
run: |
|
|
@@ -126,15 +131,18 @@ jobs:
|
|
|
126
131
|
cd tap
|
|
127
132
|
git config user.name "mubit-release-bot"
|
|
128
133
|
git config user.email "release-bot@mubit.ai"
|
|
129
|
-
branch="bump-minima-${VER}"
|
|
130
|
-
git checkout -b "$branch"
|
|
131
134
|
if git diff --quiet Formula/minima.rb; then
|
|
132
135
|
echo "formula already up to date for ${VER}; nothing to do"; exit 0
|
|
133
136
|
fi
|
|
134
137
|
git add Formula/minima.rb
|
|
135
138
|
git commit -m "minima ${VER} (prebuilt binary)"
|
|
136
|
-
git push
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
git push origin HEAD:main
|
|
140
|
+
- name: Verify the tap serves the released version
|
|
141
|
+
run: |
|
|
142
|
+
VER="${RELEASE_TAG#v}"
|
|
143
|
+
served=$(curl -fsSL "https://raw.githubusercontent.com/mubit-ai/homebrew-minima/main/Formula/minima.rb" | sed -n 's/^ *version "\(.*\)"/\1/p' | head -1)
|
|
144
|
+
if [ "$served" != "$VER" ]; then
|
|
145
|
+
echo "::error::tap serves ${served:-nothing} but the release is ${VER}"
|
|
146
|
+
exit 1
|
|
147
|
+
fi
|
|
148
|
+
echo "tap serves ${served}"
|
|
@@ -4,6 +4,48 @@ All notable changes to Minima are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and the project aims to follow
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.12.1] - 2026-07-20
|
|
8
|
+
|
|
9
|
+
SDK integrity + a standalone TypeScript SDK. Server wire contract unchanged; all
|
|
10
|
+
changes are client-side and release-pipeline hardening.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **`@mubit-ai/minima-sdk`** (`packages/sdk`) — a standalone TypeScript SDK: pure-fetch
|
|
14
|
+
typed `/v1/*` client with zero runtime dependencies (Node 18+/Deno/Bun/edge), full
|
|
15
|
+
surface including `policyValue()`, typed feedback options, transparent feedback
|
|
16
|
+
retries, and rate-limit-aware errors. Its schema mirror is pinned against the
|
|
17
|
+
Pydantic source of truth alongside the TUI's.
|
|
18
|
+
- Python SDK: `capabilities()` and `policy_value()` (the doubly-robust
|
|
19
|
+
regret-vs-oracle report) on both clients; `recommend()` gains `incumbent_model_id`,
|
|
20
|
+
`max_candidates`, and `phase=` (rides as the `phase:<v>` tag); `feedback()` gains
|
|
21
|
+
typed named params (`quality_score`, `evidence_source`, `error_cause`,
|
|
22
|
+
`chosen_effort`, `iterations`); `x-minima-client`/`User-Agent` headers; feedback
|
|
23
|
+
retries with backoff on transient faults (safe under the reconcile replay guard —
|
|
24
|
+
recommend stays fail-fast); `MinimaRateLimited(retry_after)` and
|
|
25
|
+
`MinimaUnavailable` error subtypes.
|
|
26
|
+
- OpenHands adapter closes the loop: realized cost/tokens/latency auto-reported as
|
|
27
|
+
`evidence_source="none"` telemetry off the selected LLM's metrics, fire-and-forget;
|
|
28
|
+
`minima_timeout` (default 5 s) bounds the hot-path recommend.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- **LiteLLM logger graded outcomes**: quality now maps by the loop thresholds
|
|
32
|
+
(≥ 0.8 success / ≥ 0.4 partial / else **failure** with `error_cause="quality"`) —
|
|
33
|
+
previously a judged-bad response could never be labeled a failure.
|
|
34
|
+
- LiteLLM feedback calls run off the event loop (`asyncio.to_thread`) instead of
|
|
35
|
+
blocking the caller's async app for up to the client timeout per completion.
|
|
36
|
+
- LiteLLM recommendation→completion correlation is exact under concurrent identical
|
|
37
|
+
prompts (`rec_id` carried in-band via request metadata; hash join kept as fallback).
|
|
38
|
+
- `Usage` distinguishes "not measured" (`None`) from a real zero — 0 tokens / $0.00
|
|
39
|
+
are reported instead of dropped.
|
|
40
|
+
- `minima-route feedback --source` defaults to `none` — scripted feedback no longer
|
|
41
|
+
claims human-asserted provenance by default.
|
|
42
|
+
- The dead `allow_llm_escalation` parameter is removed from both Python clients (the
|
|
43
|
+
reasoner it fed was deleted in 0.11.0).
|
|
44
|
+
- Release pipeline: the Homebrew formula now pushes directly to the tap on release
|
|
45
|
+
(formula PRs previously sat unmerged — brew served 0.10.0 while 0.11.0/0.12.0
|
|
46
|
+
shipped) with a serves-the-released-version verification step; the nightly catalog
|
|
47
|
+
snapshot fails loudly when it cannot open its refresh PR instead of reporting green.
|
|
48
|
+
|
|
7
49
|
## [0.12.0] - 2026-07-20
|
|
8
50
|
|
|
9
51
|
The Big Plan harness: the TUI's plan workflow grows verification teeth, and the
|
|
@@ -8,7 +8,8 @@ A Python service + client SDK, and a separate TypeScript harness:
|
|
|
8
8
|
|
|
9
9
|
- **`src/minima/`** — Minima: a **recommend-only** LLM cost-optimization service (FastAPI, Python 3.11+). It never proxies, runs, or caches an LLM call. It answers "which model should I run for this task?" and learns from the outcome you report back. Memory is backed by [Mubit](https://docs.mubit.ai) and is the *only* external dependency of the core recommender. Hosted at `api.minima.sh`; deployed from GitHub releases (publishing a release triggers the prod deploy AND the CLI binary build).
|
|
10
10
|
- **`client_sdk/minima_client/`** — bundled sync + async Python client. Ships in the same wheel as `src/minima` (`minima-cli` on PyPI).
|
|
11
|
-
- **`packages/tui/`** — `minima-tui`: the **active harness** — a TypeScript/Ink agent runtime + TUI run on **Bun** (`bun:sqlite`, `>=1.2`). This is the `minima` CLI users install via Homebrew (`brew tap mubit-ai/minima`). Same `route → run → judge → feedback` loop against the `/v1/*` contract, with its own SQLite persistence spine (`src/db/minima_db.ts`, event-sourced, WAL, append-only migrations) and a `BudgetLedger`. Separate toolchain — not part of the Python wheel or `uv`. The version of record is `packages/tui/package.json` (kept in lockstep with `pyproject.toml`).
|
|
11
|
+
- **`packages/tui/`** — `minima-tui`: the **active harness** — a TypeScript/Ink agent runtime + TUI run on **Bun** (`bun:sqlite`, `>=1.2`). This is the `minima` CLI users install via Homebrew (`brew tap mubit-ai/minima`). Same `route → run → judge → feedback` loop against the `/v1/*` contract, with its own SQLite persistence spine (`src/db/minima_db.ts`, event-sourced, WAL, append-only migrations) and a `BudgetLedger`. Separate toolchain — not part of the Python wheel or `uv`. The version of record is `packages/tui/package.json` (kept in lockstep with `pyproject.toml` and `packages/sdk/package.json`).
|
|
12
|
+
- **`packages/sdk/`** — `@mubit-ai/minima-sdk`: the standalone **TypeScript SDK** — a pure-fetch typed `/v1/*` client (no runtime deps, no Bun APIs), mirroring `client_sdk/minima_client`. Own Bun toolchain for tests/typecheck; its `src/schemas.ts` is a second copy of the wire mirror, pinned by `tests/unit/test_ts_mirror.py`.
|
|
12
13
|
|
|
13
14
|
### The Minima loop (respect this everywhere)
|
|
14
15
|
|
|
@@ -77,7 +78,7 @@ Request flow (`api/routers/recommend.py` → `recommender/engine.py`):
|
|
|
77
78
|
4. **escalation** (`recommender/escalation.py`) — DIAGNOSTIC only: thin/conflicting/tied evidence is surfaced as `escalation_suggested:*` warnings + decision-log reasons. The harness owns the cascade (its recovery ladder re-decides after a VERIFIED failure); the old pre-decision LLM reasoner was deleted.
|
|
78
79
|
5. **feedback** (`api/routers/feedback.py`) — writes the outcome back to Mubit, reinforcing memory.
|
|
79
80
|
|
|
80
|
-
Other packages: `catalog/` (model cost + capability priors), `tenancy/` (multi-tenant runtime — many orgs, per-org Mubit, one deployment; auth is pass-through: the client's Mubit key IS the credential), `seeding/` (`minima-seed` CLI for cold-start history), `schemas/` (Pydantic request/response models — the wire source of truth; every field must also land in
|
|
81
|
+
Other packages: `catalog/` (model cost + capability priors), `tenancy/` (multi-tenant runtime — many orgs, per-org Mubit, one deployment; auth is pass-through: the client's Mubit key IS the credential), `seeding/` (`minima-seed` CLI for cold-start history), `schemas/` (Pydantic request/response models — the wire source of truth; every field must also land in BOTH TS mirrors: `packages/tui/src/minima/schemas.ts` and `packages/sdk/src/schemas.ts`).
|
|
81
82
|
|
|
82
83
|
Everything external is behind a Protocol so it can be faked in tests. The server stack (fastapi/uvicorn/psycopg2/redis) lives in the `[server]` extra — the core recommender + client is dependency-light on purpose.
|
|
83
84
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: minima-cli
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.1
|
|
4
4
|
Summary: Minima CLI: cost-aware LLM model routing — recommend cheaper models, backed by Mubit memory.
|
|
5
5
|
Project-URL: Homepage, https://docs.minima.sh
|
|
6
6
|
Project-URL: Documentation, https://docs.minima.sh
|
|
@@ -7,8 +7,8 @@ OpenAI/Anthropic/LiteLLM/Google-GenAI clients so every LLM call auto-ingests its
|
|
|
7
7
|
and gets relevant lessons injected — no code changes at the call site.
|
|
8
8
|
|
|
9
9
|
What this does and does NOT do:
|
|
10
|
-
- It DOES land traces + lessons in Minima's lane, so they enrich
|
|
11
|
-
|
|
10
|
+
- It DOES land traces + lessons in Minima's lane, so they enrich Mubit's reflection/
|
|
11
|
+
strategy promotion and anything that recalls from that lane (e.g. ``/v1/strategies``).
|
|
12
12
|
- It does NOT, on its own, produce Minima *outcome records* (the ``kind="outcome"``
|
|
13
13
|
rows the deterministic k-NN aggregator scores), and ``mubit.learn`` never fabricates
|
|
14
14
|
a success signal. To close the loop, either call :func:`feedback` (credits the
|
|
@@ -3,18 +3,30 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from
|
|
6
|
+
from importlib import metadata as _importlib_metadata
|
|
7
|
+
from typing import Any, Literal
|
|
7
8
|
|
|
8
9
|
import httpx
|
|
9
|
-
|
|
10
|
+
from tenacity import (
|
|
11
|
+
AsyncRetrying,
|
|
12
|
+
Retrying,
|
|
13
|
+
retry_if_exception,
|
|
14
|
+
stop_after_attempt,
|
|
15
|
+
wait_exponential,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
from minima.schemas.capabilities import CapabilitiesResponse
|
|
10
19
|
from minima.schemas.common import Constraints, OutcomeLabel, TaskInput
|
|
11
20
|
from minima.schemas.feedback import FeedbackRequest, FeedbackResponse
|
|
12
21
|
from minima.schemas.models_catalog import ModelsResponse
|
|
13
22
|
from minima.schemas.recommend import RecommendRequest, RecommendResponse
|
|
14
|
-
from minima.schemas.savings import CalibrationResponse, SavingsResponse
|
|
23
|
+
from minima.schemas.savings import CalibrationResponse, PolicyValueResponse, SavingsResponse
|
|
15
24
|
from minima.schemas.strategies import StrategiesResponse
|
|
16
25
|
from minima.schemas.workflow import WorkflowRequest, WorkflowResponse
|
|
17
|
-
from minima_client.errors import raise_for_status
|
|
26
|
+
from minima_client.errors import MinimaUnavailable, raise_for_status
|
|
27
|
+
|
|
28
|
+
EvidenceSource = Literal["gate", "judge", "human", "none"]
|
|
29
|
+
ErrorCause = Literal["infra", "quality"]
|
|
18
30
|
|
|
19
31
|
|
|
20
32
|
def _report_params(
|
|
@@ -42,8 +54,47 @@ def _coerce_task(task: TaskLike) -> TaskInput:
|
|
|
42
54
|
raise TypeError(f"unsupported task type: {type(task)!r}")
|
|
43
55
|
|
|
44
56
|
|
|
57
|
+
def _client_version() -> str:
|
|
58
|
+
try:
|
|
59
|
+
return _importlib_metadata.version("minima-cli")
|
|
60
|
+
except _importlib_metadata.PackageNotFoundError:
|
|
61
|
+
return "0.0.0-dev"
|
|
62
|
+
|
|
63
|
+
|
|
45
64
|
def _headers(api_key: str | None) -> dict[str, str]:
|
|
46
|
-
|
|
65
|
+
version = _client_version()
|
|
66
|
+
headers = {
|
|
67
|
+
# Server-side compat gating (mirrors the TS client): new servers can
|
|
68
|
+
# version-gate response shapes on this; old servers ignore it.
|
|
69
|
+
"x-minima-client": version,
|
|
70
|
+
"user-agent": f"minima-cli/{version} (python-httpx)",
|
|
71
|
+
}
|
|
72
|
+
if api_key:
|
|
73
|
+
headers["Authorization"] = f"Bearer {api_key}"
|
|
74
|
+
return headers
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# Feedback retries: the server's reconcile replay guard makes /v1/feedback safe to
|
|
78
|
+
# retry, and a transiently lost label is a silent learning loss. Transport faults and
|
|
79
|
+
# 502/503/504 retry; 4xx (including 429) surface immediately.
|
|
80
|
+
_FEEDBACK_RETRY = {
|
|
81
|
+
"retry": retry_if_exception(
|
|
82
|
+
lambda exc: isinstance(exc, httpx.TransportError | MinimaUnavailable)
|
|
83
|
+
),
|
|
84
|
+
"stop": stop_after_attempt(3),
|
|
85
|
+
"wait": wait_exponential(multiplier=0.5, max=4),
|
|
86
|
+
"reraise": True,
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _apply_phase(task: TaskInput, phase: str | None) -> TaskInput:
|
|
91
|
+
"""Reference-client convention: phase rides as a `phase:<value>` tag."""
|
|
92
|
+
if not phase:
|
|
93
|
+
return task
|
|
94
|
+
tag = f"phase:{phase}"
|
|
95
|
+
if tag in task.tags:
|
|
96
|
+
return task
|
|
97
|
+
return task.model_copy(update={"tags": [*task.tags, tag]})
|
|
47
98
|
|
|
48
99
|
|
|
49
100
|
@dataclass(slots=True)
|
|
@@ -52,12 +103,13 @@ class Usage:
|
|
|
52
103
|
|
|
53
104
|
Report what the provider ACTUALLY billed (never echo Minima's own est_cost_usd
|
|
54
105
|
back): these numbers are what let the cost basis climb estimate -> observed ->
|
|
55
|
-
rescaled for your org.
|
|
106
|
+
rescaled for your org. Fields default to None (= not measured); an explicit 0 is
|
|
107
|
+
a real measurement and is reported as such.
|
|
56
108
|
"""
|
|
57
109
|
|
|
58
|
-
input_tokens: int =
|
|
59
|
-
output_tokens: int =
|
|
60
|
-
cost_usd: float =
|
|
110
|
+
input_tokens: int | None = None
|
|
111
|
+
output_tokens: int | None = None
|
|
112
|
+
cost_usd: float | None = None
|
|
61
113
|
latency_ms: int | None = None
|
|
62
114
|
|
|
63
115
|
|
|
@@ -69,10 +121,14 @@ def _feedback_request(
|
|
|
69
121
|
**kwargs: Any,
|
|
70
122
|
) -> FeedbackRequest:
|
|
71
123
|
if usage is not None:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
124
|
+
if usage.input_tokens is not None:
|
|
125
|
+
kwargs.setdefault("input_tokens", usage.input_tokens)
|
|
126
|
+
if usage.output_tokens is not None:
|
|
127
|
+
kwargs.setdefault("output_tokens", usage.output_tokens)
|
|
128
|
+
if usage.cost_usd is not None:
|
|
129
|
+
kwargs.setdefault("actual_cost_usd", usage.cost_usd)
|
|
130
|
+
if usage.latency_ms is not None:
|
|
131
|
+
kwargs.setdefault("latency_ms", usage.latency_ms)
|
|
76
132
|
return FeedbackRequest(
|
|
77
133
|
recommendation_id=recommendation_id,
|
|
78
134
|
chosen_model_id=chosen_model_id,
|
|
@@ -109,19 +165,22 @@ class MinimaClient:
|
|
|
109
165
|
constraints: Constraints | None = None,
|
|
110
166
|
user_id: str | None = None,
|
|
111
167
|
namespace: str | None = None,
|
|
112
|
-
allow_llm_escalation: bool = True,
|
|
113
168
|
explain: bool = True,
|
|
114
169
|
baseline_model_id: str | None = None,
|
|
170
|
+
incumbent_model_id: str | None = None,
|
|
171
|
+
max_candidates: int = 8,
|
|
172
|
+
phase: str | None = None,
|
|
115
173
|
) -> RecommendResponse:
|
|
116
174
|
req = RecommendRequest(
|
|
117
|
-
task=_coerce_task(task),
|
|
175
|
+
task=_apply_phase(_coerce_task(task), phase),
|
|
118
176
|
cost_quality_tradeoff=cost_quality_tradeoff,
|
|
119
177
|
constraints=constraints or Constraints(),
|
|
120
178
|
user_id=user_id,
|
|
121
179
|
namespace=namespace,
|
|
122
|
-
allow_llm_escalation=allow_llm_escalation,
|
|
123
180
|
explain=explain,
|
|
124
181
|
baseline_model_id=baseline_model_id,
|
|
182
|
+
incumbent_model_id=incumbent_model_id,
|
|
183
|
+
max_candidates=max_candidates,
|
|
125
184
|
)
|
|
126
185
|
return RecommendResponse.model_validate(self._post("/v1/recommend", req))
|
|
127
186
|
|
|
@@ -155,10 +214,28 @@ class MinimaClient:
|
|
|
155
214
|
chosen_model_id: str,
|
|
156
215
|
outcome: OutcomeLabel | str,
|
|
157
216
|
usage: Usage | None = None,
|
|
217
|
+
*,
|
|
218
|
+
quality_score: float | None = None,
|
|
219
|
+
evidence_source: EvidenceSource | None = None,
|
|
220
|
+
error_cause: ErrorCause | None = None,
|
|
221
|
+
chosen_effort: str | None = None,
|
|
222
|
+
iterations: int | None = None,
|
|
158
223
|
**kwargs: Any,
|
|
159
224
|
) -> FeedbackResponse:
|
|
225
|
+
for key, value in (
|
|
226
|
+
("quality_score", quality_score),
|
|
227
|
+
("evidence_source", evidence_source),
|
|
228
|
+
("error_cause", error_cause),
|
|
229
|
+
("chosen_effort", chosen_effort),
|
|
230
|
+
("iterations", iterations),
|
|
231
|
+
):
|
|
232
|
+
if value is not None:
|
|
233
|
+
kwargs.setdefault(key, value)
|
|
160
234
|
req = _feedback_request(recommendation_id, chosen_model_id, outcome, usage, **kwargs)
|
|
161
|
-
|
|
235
|
+
for attempt in Retrying(**_FEEDBACK_RETRY):
|
|
236
|
+
with attempt:
|
|
237
|
+
return FeedbackResponse.model_validate(self._post("/v1/feedback", req))
|
|
238
|
+
raise AssertionError("unreachable") # reraise=True guarantees the loop exits by raise
|
|
162
239
|
|
|
163
240
|
def models(
|
|
164
241
|
self,
|
|
@@ -196,6 +273,21 @@ class MinimaClient:
|
|
|
196
273
|
raise_for_status(resp)
|
|
197
274
|
return StrategiesResponse.model_validate(resp.json())
|
|
198
275
|
|
|
276
|
+
def capabilities(self) -> CapabilitiesResponse:
|
|
277
|
+
resp = self._client.get("/v1/capabilities")
|
|
278
|
+
raise_for_status(resp)
|
|
279
|
+
return CapabilitiesResponse.model_validate(resp.json())
|
|
280
|
+
|
|
281
|
+
def policy_value(
|
|
282
|
+
self,
|
|
283
|
+
namespace: str | None = None,
|
|
284
|
+
days: float | None = None,
|
|
285
|
+
) -> PolicyValueResponse:
|
|
286
|
+
"""Regret-vs-oracle: doubly-robust policy values over reconciled decisions."""
|
|
287
|
+
resp = self._client.get("/v1/policy-value", params=_report_params(namespace, days))
|
|
288
|
+
raise_for_status(resp)
|
|
289
|
+
return PolicyValueResponse.model_validate(resp.json())
|
|
290
|
+
|
|
199
291
|
def health(self) -> dict[str, Any]:
|
|
200
292
|
resp = self._client.get("/v1/health")
|
|
201
293
|
raise_for_status(resp)
|
|
@@ -230,19 +322,22 @@ class AsyncMinimaClient:
|
|
|
230
322
|
constraints: Constraints | None = None,
|
|
231
323
|
user_id: str | None = None,
|
|
232
324
|
namespace: str | None = None,
|
|
233
|
-
allow_llm_escalation: bool = True,
|
|
234
325
|
explain: bool = True,
|
|
235
326
|
baseline_model_id: str | None = None,
|
|
327
|
+
incumbent_model_id: str | None = None,
|
|
328
|
+
max_candidates: int = 8,
|
|
329
|
+
phase: str | None = None,
|
|
236
330
|
) -> RecommendResponse:
|
|
237
331
|
req = RecommendRequest(
|
|
238
|
-
task=_coerce_task(task),
|
|
332
|
+
task=_apply_phase(_coerce_task(task), phase),
|
|
239
333
|
cost_quality_tradeoff=cost_quality_tradeoff,
|
|
240
334
|
constraints=constraints or Constraints(),
|
|
241
335
|
user_id=user_id,
|
|
242
336
|
namespace=namespace,
|
|
243
|
-
allow_llm_escalation=allow_llm_escalation,
|
|
244
337
|
explain=explain,
|
|
245
338
|
baseline_model_id=baseline_model_id,
|
|
339
|
+
incumbent_model_id=incumbent_model_id,
|
|
340
|
+
max_candidates=max_candidates,
|
|
246
341
|
)
|
|
247
342
|
return RecommendResponse.model_validate(await self._post("/v1/recommend", req))
|
|
248
343
|
|
|
@@ -278,10 +373,28 @@ class AsyncMinimaClient:
|
|
|
278
373
|
chosen_model_id: str,
|
|
279
374
|
outcome: OutcomeLabel | str,
|
|
280
375
|
usage: Usage | None = None,
|
|
376
|
+
*,
|
|
377
|
+
quality_score: float | None = None,
|
|
378
|
+
evidence_source: EvidenceSource | None = None,
|
|
379
|
+
error_cause: ErrorCause | None = None,
|
|
380
|
+
chosen_effort: str | None = None,
|
|
381
|
+
iterations: int | None = None,
|
|
281
382
|
**kwargs: Any,
|
|
282
383
|
) -> FeedbackResponse:
|
|
384
|
+
for key, value in (
|
|
385
|
+
("quality_score", quality_score),
|
|
386
|
+
("evidence_source", evidence_source),
|
|
387
|
+
("error_cause", error_cause),
|
|
388
|
+
("chosen_effort", chosen_effort),
|
|
389
|
+
("iterations", iterations),
|
|
390
|
+
):
|
|
391
|
+
if value is not None:
|
|
392
|
+
kwargs.setdefault(key, value)
|
|
283
393
|
req = _feedback_request(recommendation_id, chosen_model_id, outcome, usage, **kwargs)
|
|
284
|
-
|
|
394
|
+
async for attempt in AsyncRetrying(**_FEEDBACK_RETRY):
|
|
395
|
+
with attempt:
|
|
396
|
+
return FeedbackResponse.model_validate(await self._post("/v1/feedback", req))
|
|
397
|
+
raise AssertionError("unreachable") # reraise=True guarantees the loop exits by raise
|
|
285
398
|
|
|
286
399
|
async def strategies(
|
|
287
400
|
self,
|
|
@@ -319,6 +432,21 @@ class AsyncMinimaClient:
|
|
|
319
432
|
raise_for_status(resp)
|
|
320
433
|
return ModelsResponse.model_validate(resp.json())
|
|
321
434
|
|
|
435
|
+
async def capabilities(self) -> CapabilitiesResponse:
|
|
436
|
+
resp = await self._client.get("/v1/capabilities")
|
|
437
|
+
raise_for_status(resp)
|
|
438
|
+
return CapabilitiesResponse.model_validate(resp.json())
|
|
439
|
+
|
|
440
|
+
async def policy_value(
|
|
441
|
+
self,
|
|
442
|
+
namespace: str | None = None,
|
|
443
|
+
days: float | None = None,
|
|
444
|
+
) -> PolicyValueResponse:
|
|
445
|
+
"""Regret-vs-oracle: doubly-robust policy values over reconciled decisions."""
|
|
446
|
+
resp = await self._client.get("/v1/policy-value", params=_report_params(namespace, days))
|
|
447
|
+
raise_for_status(resp)
|
|
448
|
+
return PolicyValueResponse.model_validate(resp.json())
|
|
449
|
+
|
|
322
450
|
async def health(self) -> dict[str, Any]:
|
|
323
451
|
resp = await self._client.get("/v1/health")
|
|
324
452
|
raise_for_status(resp)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Client error types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MinimaError(Exception):
|
|
9
|
+
def __init__(self, status: int, detail: str):
|
|
10
|
+
super().__init__(f"minima error {status}: {detail}")
|
|
11
|
+
self.status = status
|
|
12
|
+
self.detail = detail
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MinimaRateLimited(MinimaError):
|
|
16
|
+
"""429 — the server asked us to slow down; retry_after is seconds when provided."""
|
|
17
|
+
|
|
18
|
+
def __init__(self, status: int, detail: str, retry_after: float | None = None):
|
|
19
|
+
super().__init__(status, detail)
|
|
20
|
+
self.retry_after = retry_after
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class MinimaUnavailable(MinimaError):
|
|
24
|
+
"""502/503/504 — transient upstream trouble; safe to retry idempotent calls."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _retry_after_seconds(resp: httpx.Response) -> float | None:
|
|
28
|
+
raw = resp.headers.get("retry-after")
|
|
29
|
+
if raw is None:
|
|
30
|
+
return None
|
|
31
|
+
try:
|
|
32
|
+
return float(raw)
|
|
33
|
+
except ValueError:
|
|
34
|
+
return None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def raise_for_status(resp: httpx.Response) -> None:
|
|
38
|
+
if resp.status_code < 400:
|
|
39
|
+
return
|
|
40
|
+
try:
|
|
41
|
+
body = resp.json()
|
|
42
|
+
detail = body.get("detail") or body.get("title") or str(body)
|
|
43
|
+
except Exception: # noqa: BLE001
|
|
44
|
+
detail = resp.text
|
|
45
|
+
if resp.status_code == 429:
|
|
46
|
+
raise MinimaRateLimited(resp.status_code, detail, _retry_after_seconds(resp))
|
|
47
|
+
if resp.status_code in (502, 503, 504):
|
|
48
|
+
raise MinimaUnavailable(resp.status_code, detail)
|
|
49
|
+
raise MinimaError(resp.status_code, detail)
|
{minima_cli-0.12.0 → minima_cli-0.12.1}/client_sdk/minima_client/integrations/claude_code.py
RENAMED
|
@@ -70,9 +70,9 @@ def _cmd_feedback(args: argparse.Namespace) -> int:
|
|
|
70
70
|
args.model,
|
|
71
71
|
args.outcome,
|
|
72
72
|
usage=Usage(
|
|
73
|
-
input_tokens=args.input_tokens
|
|
74
|
-
output_tokens=args.output_tokens
|
|
75
|
-
cost_usd=args.cost
|
|
73
|
+
input_tokens=args.input_tokens,
|
|
74
|
+
output_tokens=args.output_tokens,
|
|
75
|
+
cost_usd=args.cost,
|
|
76
76
|
latency_ms=args.latency_ms,
|
|
77
77
|
),
|
|
78
78
|
quality_score=args.quality,
|
|
@@ -107,9 +107,12 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
107
107
|
fb.add_argument("--quality", type=float, default=None, help="0..1 if you graded it")
|
|
108
108
|
fb.add_argument(
|
|
109
109
|
"--source",
|
|
110
|
-
default="
|
|
110
|
+
default="none",
|
|
111
111
|
choices=["gate", "judge", "human", "none"],
|
|
112
|
-
help=
|
|
112
|
+
help=(
|
|
113
|
+
"label provenance; default none = cost telemetry only. Pass --source human "
|
|
114
|
+
"ONLY when a human actually verified this outcome — it counts as a real label."
|
|
115
|
+
),
|
|
113
116
|
)
|
|
114
117
|
fb.set_defaults(func=_cmd_feedback)
|
|
115
118
|
return parser
|