minima-cli 0.4.9__tar.gz → 0.4.10__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.4.9 → minima_cli-0.4.10}/.github/workflows/prod.yml +33 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/CHANGELOG.md +15 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/PKG-INFO +1 -1
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/api-reference.mdx +9 -7
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/client-sdk.mdx +8 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/pyproject.toml +1 -1
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/version.py +1 -1
- minima_cli-0.4.9/.claude/settings.local.json +0 -12
- {minima_cli-0.4.9 → minima_cli-0.4.10}/.dockerignore +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/.env.example +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/.github/workflows/staging.yml +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/.gitignore +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/AGENTS.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/Dockerfile +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/LICENSE +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/Makefile +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/README.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/agent/task_set.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/autocapture.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/client.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/errors.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/README.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/api-reference.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/client-sdk.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/concepts.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/configuration.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/examples.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/getting-started.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/goals-feature-plan.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/harness.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/multi-tenancy.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/operations.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/publishing.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/seeding.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/Dockerfile +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/astro.config.mjs +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/netlify.toml +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/nginx.conf +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/package-lock.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/package.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/public/favicon.svg +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/assets/logo.svg +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/config.ts +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/concepts.mdx +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/examples.mdx +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/getting-started.mdx +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/index.mdx +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/styles/custom.css +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/tsconfig.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/01_quickstart.sh +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/02_recommend_and_feedback.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/03_constraints_and_tradeoff.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/04_workflow.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/05_autocapture.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/06_routed_llm_call.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/07_multitenant_admin.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/README.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_escalation.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_escalation_learn.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_gemini.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_retention.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_warmup.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_warmup_vary.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/harness_warmup.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/metrics_demo.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/smoke_test.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/README.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/gen_resources.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/minima.rb +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/recall_debug.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run1.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run2.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run3.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/recall_debug.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run1.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run2.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run3.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run4.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run5.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/recall_debug.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/strategies_run1.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/strategies_run2.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/memory_audit.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/recall_debug.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run1.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run2.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run3.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run4.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run5.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/memory_audit.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/recall_debug.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run1.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run2.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run3.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run4.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run5.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/cold_probe.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/cold_probe.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/results.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/results.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/summary.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/auth.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/errors.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/calibration.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/feedback.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/health.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/models.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/recommend.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/savings.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/strategies.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/data/capability_priors.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/data/model_aliases.json +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/merge.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/refresh.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/litellm.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/openrouter.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/store.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/config.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/deps.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/anthropic.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/base.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/gemini.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/registry.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/logging.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/main.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/adapter.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/keys.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/records.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/threadpool.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/calibration.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/report.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/savings.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/_pg_pool.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/_redis_client.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/aggregate.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/classify.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/decisionlog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/durablerefs.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/engine.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/escalation.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/propensity.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/recstore.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/score.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/types.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/common.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/feedback.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/models_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/recommend.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/savings.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/strategies.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/workflow.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/items.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/llmrouterbench.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/routerbench.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/run_seed.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/synthetic.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/context.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/passthrough.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/LICENSE_PI +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/agent.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/events.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/loop.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/state.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/tools.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/compat.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/errors.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/events.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/openrouter_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/provider_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/provider_quirks.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/_common.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/anthropic.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/base.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/faux.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/google.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/openai_compat.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/registry.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/stream.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/tools.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/types.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/usage.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/cache.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/config.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/goals.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/judge.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/mapping.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/meter.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/router.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/runtime.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/signals.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/format.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/store.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tasks/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tasks/task_set.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/_io.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/bash.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/builtin.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/edit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/find.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/grep.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/ls.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/read.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/tasks.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/write.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/analytics.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/app.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/bridge.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/cli.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/clipboard.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/commands.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/compaction.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/config_cli.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/config_store.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/context.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/customize.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/diff.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/editor.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/extensions.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/extra_models.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/history.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/mubit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/overlays.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/packages.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/run_modes.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/theme.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/welcome.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/banner.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/editor.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/footer.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/messages.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/status.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/conftest.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/BENCHMARKS.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/CRITERIA.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/RESULTS.md +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/harness.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/llmrouterbench_config.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/test_llmrouterbench_savings.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/test_routerbench_savings.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/factories.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_format.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_manager.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_store.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_agent_loop.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_anthropic_mapping.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_auth_reroute.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_cache.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_catalog_overlay.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_common_and_wire.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_compat.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_errors.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_goals.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_google_mapping.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_judge.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_mapping.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_minima_e2e.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_openai_compat_sse.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_openrouter_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase0_smoke.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_a.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_b.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_c.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_quirks.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_registration.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_wiring.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_runtime.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_signals.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_agent_smoke.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_bash.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_builtin.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_edit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_find.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_grep.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_io.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_ls.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_read.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_write.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/__init__.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_analytics.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_app_pilot.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_bridge.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_clipboard.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_command_popup.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_commands.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_config.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_context.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_customize.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_decision_card.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_diff.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_editor.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_editor_widget.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_export.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_extensions.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_goals_tui.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_history_sessions.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_messages.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_mouse_copy.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_mubit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_optimize.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_overlays.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p2.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p3.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p5.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_permissions.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_predictability.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_prompt_layers.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_queue.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_run_modes.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_status.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_status_bar.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_theme.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_thoughts.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_tool_render.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_ux.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_welcome.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_widgets.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_escalation_reasoner.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_feedback_loop.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_lesson_promotion.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_measurement_api.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_observed_cost_ranking.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_recommend_api.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_strategies_api.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_workflow_models_health.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_escalation_fixes.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_full_surface_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_mubit_roundtrip.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_phase3_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_reasoner_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_recall_params_live.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_aggregate.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_aggregate_decay.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_autocapture.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_calibration_fit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_classify_keys.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_cluster.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_collapse_guard.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_cost_band.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_decisionlog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_escalation.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_exploration.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_ipw.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_iterations.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_latency_quality.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_lever_cost.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_metrics.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_metrics_demo.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_neighbor_classify.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_reasoner.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_records_catalog.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_recstore_sqlite.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_score.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_shadow_bandit.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_store_backends.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_strategies.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_tenancy.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_thompson.py +0 -0
- {minima_cli-0.4.9 → minima_cli-0.4.10}/uv.lock +0 -0
|
@@ -156,3 +156,36 @@ jobs:
|
|
|
156
156
|
--region ${{ env.REGION }} \
|
|
157
157
|
--format 'value(status.url)')
|
|
158
158
|
echo "::notice::Minima docs (prod) deployed to: $URL"
|
|
159
|
+
|
|
160
|
+
# ── 3. Publish minima-cli to PyPI ────────────────────────────────────────────
|
|
161
|
+
# Builds the sdist+wheel at the release tag and uploads to PyPI (the dist bundles the
|
|
162
|
+
# `minima_client` SDK). --skip-existing makes a manual re-deploy of an already-published
|
|
163
|
+
# version a no-op instead of an error. Needs no GCP — only the PYPI_API_TOKEN secret.
|
|
164
|
+
publish-pypi:
|
|
165
|
+
name: Publish → PyPI
|
|
166
|
+
runs-on: ubuntu-latest
|
|
167
|
+
|
|
168
|
+
steps:
|
|
169
|
+
- name: Checkout @ release tag
|
|
170
|
+
uses: actions/checkout@v5
|
|
171
|
+
with:
|
|
172
|
+
ref: ${{ env.RELEASE_TAG }}
|
|
173
|
+
|
|
174
|
+
- name: Set up Python
|
|
175
|
+
uses: actions/setup-python@v5
|
|
176
|
+
with:
|
|
177
|
+
python-version: "3.13"
|
|
178
|
+
|
|
179
|
+
- name: Build sdist + wheel
|
|
180
|
+
run: |
|
|
181
|
+
python -m pip install --upgrade build twine
|
|
182
|
+
python -m build
|
|
183
|
+
|
|
184
|
+
- name: Check metadata
|
|
185
|
+
run: python -m twine check dist/*
|
|
186
|
+
|
|
187
|
+
- name: Publish to PyPI
|
|
188
|
+
env:
|
|
189
|
+
TWINE_USERNAME: __token__
|
|
190
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
191
|
+
run: python -m twine upload --skip-existing dist/*
|
|
@@ -4,6 +4,21 @@ 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.4.10] - 2026-06-26
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- **`minima-cli` is now published to PyPI automatically on every release** — `pip install minima-cli`
|
|
11
|
+
is the official install (it bundles the `minima_client` SDK). A new CI job builds + uploads the
|
|
12
|
+
sdist/wheel alongside the GitHub release and prod deploy.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **Docs (API reference):** corrected the `GET /v1/health` response example (it returns `mubit`
|
|
16
|
+
not `memory`, `version 0.4.9`, plus `auth`/`reasoner` blocks and `catalog.cost_source`) and
|
|
17
|
+
clarified `status` is only `degraded` on a key-bearing probe; documented the real
|
|
18
|
+
`summary.realized` field set (it differs from `summary.estimated`); and fixed the `days`
|
|
19
|
+
parameter bound (`>0–365`) on `/v1/savings` and `/v1/calibration`. Added a PyPI install link to
|
|
20
|
+
the Client SDK page.
|
|
21
|
+
|
|
7
22
|
## [0.4.9] - 2026-06-26
|
|
8
23
|
|
|
9
24
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: minima-cli
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.10
|
|
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
|
|
@@ -310,7 +310,7 @@ Two baselines are always reported side by side, explicitly labeled: **`vs premiu
|
|
|
310
310
|
| Param | Type | Default | Notes |
|
|
311
311
|
|-------|------|---------|-------|
|
|
312
312
|
| `namespace` | string | — | Restrict to one namespace. |
|
|
313
|
-
| `days` | float
|
|
313
|
+
| `days` | float `>0–365` | `30` | Lookback window (must be greater than 0). |
|
|
314
314
|
| `group_by` | enum | — | `cluster` \| `task_type` \| `lane` — optional breakdown. |
|
|
315
315
|
|
|
316
316
|
### Response
|
|
@@ -318,7 +318,7 @@ Two baselines are always reported side by side, explicitly labeled: **`vs premiu
|
|
|
318
318
|
| Field | Type | Notes |
|
|
319
319
|
|-------|------|-------|
|
|
320
320
|
| `summary.estimated` | object | `n`, `cost_recommended_usd`, `cost_premium_usd`, `savings_vs_premium_usd`, plus `n_declared` / `cost_declared_usd` / `savings_vs_declared_usd` over the declared-baseline subset. |
|
|
321
|
-
| `summary.realized` | object |
|
|
321
|
+
| `summary.realized` | object | A **different** field set over the **reconciled** subset (feedback received with `actual_cost_usd`): `n_reconciled`, `realized_cost_usd`, `est_cost_recommended_usd`, `est_cost_premium_usd`, `savings_vs_premium_est_usd`, plus `n_declared` / `est_cost_declared_usd` / `savings_vs_declared_est_usd` — your realized cost measured against the estimated baselines. |
|
|
322
322
|
| `health` | object | `recommendations`, `feedback_coverage` (share of recommendations that ever got feedback — the number that decides how much to trust `realized`), `late_feedback_share`, `escalation_rate`, `exploration_share`, `epsilon_policy_share`. |
|
|
323
323
|
| `groups` | array | Per-`group_by` key: the same `summary` + `health`. |
|
|
324
324
|
|
|
@@ -342,7 +342,7 @@ Is `predicted_success` telling the truth for your traffic? Compares each recomme
|
|
|
342
342
|
| Param | Type | Default | Notes |
|
|
343
343
|
|-------|------|---------|-------|
|
|
344
344
|
| `namespace` | string | — | Restrict to one namespace. |
|
|
345
|
-
| `days` | float
|
|
345
|
+
| `days` | float `>0–365` | `30` | Lookback window (must be greater than 0). |
|
|
346
346
|
|
|
347
347
|
### Response
|
|
348
348
|
|
|
@@ -366,10 +366,12 @@ Always returns `200`; reports degraded state in the body. The only endpoint that
|
|
|
366
366
|
```json
|
|
367
367
|
{
|
|
368
368
|
"status": "ok",
|
|
369
|
-
"
|
|
370
|
-
"
|
|
371
|
-
"version": "
|
|
369
|
+
"mubit": {"reachable": true, "latency_ms": 12, "endpoint": "https://api.mubit.ai", "org_id": "…"},
|
|
370
|
+
"auth": "passthrough",
|
|
371
|
+
"catalog": {"version": "…", "cost_source": "litellm", "stale": false, "models": 42},
|
|
372
|
+
"reasoner": {"provider": "gemini", "configured": true},
|
|
373
|
+
"version": "0.4.9"
|
|
372
374
|
}
|
|
373
375
|
```
|
|
374
376
|
|
|
375
|
-
`status` is `degraded` when
|
|
377
|
+
An unauthenticated probe (no key) returns `"mubit": {"reachable": null, "scope": "unauthenticated"}` and `status: "ok"` — liveness only. `status` is `degraded` only when a **key-bearing** probe finds your memory backend unreachable (`mubit.reachable == false`); in that state `/recommend` still serves prior-only recommendations.
|
|
@@ -9,6 +9,14 @@ import { Aside, Code } from '@astrojs/starlight/components';
|
|
|
9
9
|
|
|
10
10
|
The `minima_client` package is the official thin, typed Python client for the hosted Minima API, plus an optional zero-code intake helper.
|
|
11
11
|
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install minima-cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The SDK is published on PyPI as part of [**`minima-cli`**](https://pypi.org/project/minima-cli/) — one package that ships both the CLI agent and the `minima_client` SDK (also available via `brew install mubit-ai/minima/minima`). Import it as `minima_client`:
|
|
19
|
+
|
|
12
20
|
```python
|
|
13
21
|
from minima_client import MinimaClient, AsyncMinimaClient, MinimaError, autocapture
|
|
14
22
|
```
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
# Distribution name on PyPI (the `minima` name is taken by an unrelated project). The import
|
|
7
7
|
# package stays `minima`; the CLI is `minima` / `minima-harness`.
|
|
8
8
|
name = "minima-cli"
|
|
9
|
-
version = "0.4.
|
|
9
|
+
version = "0.4.10"
|
|
10
10
|
description = "Minima CLI: cost-aware LLM model routing — recommend cheaper models, backed by Mubit memory."
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(gcloud sql instances describe *)",
|
|
5
|
-
"Bash(gcloud redis *)",
|
|
6
|
-
"Bash(gcloud run services describe *)",
|
|
7
|
-
"Bash(curl -s -H 'Authorization: Bearer GkqgKc3c0eFMK1LwgNhXV60GuXNJYXE1gDulAIyuWOuerymE' https://minima-staging-ftvjoyasma-ez.a.run.app/v1/health)",
|
|
8
|
-
"Bash(python3 -m json.tool)",
|
|
9
|
-
"Bash(curl -s -H 'Authorization: Bearer mbt_shankha-dev_cavgtceg2cyxzzkb_Omvp2p4l3bGxhoxzYBDoCYYyzylKM8hmyYzarJuzfduf1NdlDBL5pXgR86IodpGz' https://minima-staging-ftvjoyasma-ez.a.run.app/v1/health)"
|
|
10
|
-
]
|
|
11
|
-
}
|
|
12
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|