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.
Files changed (410) hide show
  1. {minima_cli-0.4.9 → minima_cli-0.4.10}/.github/workflows/prod.yml +33 -0
  2. {minima_cli-0.4.9 → minima_cli-0.4.10}/CHANGELOG.md +15 -0
  3. {minima_cli-0.4.9 → minima_cli-0.4.10}/PKG-INFO +1 -1
  4. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/api-reference.mdx +9 -7
  5. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/client-sdk.mdx +8 -0
  6. {minima_cli-0.4.9 → minima_cli-0.4.10}/pyproject.toml +1 -1
  7. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/version.py +1 -1
  8. minima_cli-0.4.9/.claude/settings.local.json +0 -12
  9. {minima_cli-0.4.9 → minima_cli-0.4.10}/.dockerignore +0 -0
  10. {minima_cli-0.4.9 → minima_cli-0.4.10}/.env.example +0 -0
  11. {minima_cli-0.4.9 → minima_cli-0.4.10}/.github/workflows/staging.yml +0 -0
  12. {minima_cli-0.4.9 → minima_cli-0.4.10}/.gitignore +0 -0
  13. {minima_cli-0.4.9 → minima_cli-0.4.10}/AGENTS.md +0 -0
  14. {minima_cli-0.4.9 → minima_cli-0.4.10}/Dockerfile +0 -0
  15. {minima_cli-0.4.9 → minima_cli-0.4.10}/LICENSE +0 -0
  16. {minima_cli-0.4.9 → minima_cli-0.4.10}/Makefile +0 -0
  17. {minima_cli-0.4.9 → minima_cli-0.4.10}/README.md +0 -0
  18. {minima_cli-0.4.9 → minima_cli-0.4.10}/agent/task_set.py +0 -0
  19. {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/__init__.py +0 -0
  20. {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/autocapture.py +0 -0
  21. {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/client.py +0 -0
  22. {minima_cli-0.4.9 → minima_cli-0.4.10}/client_sdk/minima_client/errors.py +0 -0
  23. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/README.md +0 -0
  24. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/api-reference.md +0 -0
  25. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/client-sdk.md +0 -0
  26. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/concepts.md +0 -0
  27. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/configuration.md +0 -0
  28. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/examples.md +0 -0
  29. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/getting-started.md +0 -0
  30. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/goals-feature-plan.md +0 -0
  31. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/harness.md +0 -0
  32. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/multi-tenancy.md +0 -0
  33. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/operations.md +0 -0
  34. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/publishing.md +0 -0
  35. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs/seeding.md +0 -0
  36. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/Dockerfile +0 -0
  37. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/astro.config.mjs +0 -0
  38. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/netlify.toml +0 -0
  39. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/nginx.conf +0 -0
  40. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/package-lock.json +0 -0
  41. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/package.json +0 -0
  42. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/public/favicon.svg +0 -0
  43. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/assets/logo.svg +0 -0
  44. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/config.ts +0 -0
  45. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/concepts.mdx +0 -0
  46. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/examples.mdx +0 -0
  47. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/getting-started.mdx +0 -0
  48. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/content/docs/index.mdx +0 -0
  49. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/src/styles/custom.css +0 -0
  50. {minima_cli-0.4.9 → minima_cli-0.4.10}/docs-site/tsconfig.json +0 -0
  51. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/01_quickstart.sh +0 -0
  52. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/02_recommend_and_feedback.py +0 -0
  53. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/03_constraints_and_tradeoff.py +0 -0
  54. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/04_workflow.py +0 -0
  55. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/05_autocapture.py +0 -0
  56. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/06_routed_llm_call.py +0 -0
  57. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/07_multitenant_admin.py +0 -0
  58. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/README.md +0 -0
  59. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_escalation.py +0 -0
  60. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_escalation_learn.py +0 -0
  61. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_gemini.py +0 -0
  62. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_retention.py +0 -0
  63. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_warmup.py +0 -0
  64. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/agent_warmup_vary.py +0 -0
  65. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/harness_warmup.py +0 -0
  66. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/metrics_demo.py +0 -0
  67. {minima_cli-0.4.9 → minima_cli-0.4.10}/examples/smoke_test.py +0 -0
  68. {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/README.md +0 -0
  69. {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/gen_resources.py +0 -0
  70. {minima_cli-0.4.9 → minima_cli-0.4.10}/packaging/homebrew/minima.rb +0 -0
  71. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/recall_debug.jsonl +0 -0
  72. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run1.json +0 -0
  73. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run2.json +0 -0
  74. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/strategies_run3.json +0 -0
  75. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_125009/tasks.jsonl +0 -0
  76. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/REPORT.md +0 -0
  77. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/recall_debug.jsonl +0 -0
  78. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run1.json +0 -0
  79. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run2.json +0 -0
  80. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run3.json +0 -0
  81. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run4.json +0 -0
  82. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/strategies_run5.json +0 -0
  83. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/summary.json +0 -0
  84. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_130252/tasks.jsonl +0 -0
  85. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/recall_debug.jsonl +0 -0
  86. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/strategies_run1.json +0 -0
  87. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/strategies_run2.json +0 -0
  88. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_182838/tasks.jsonl +0 -0
  89. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/REPORT.md +0 -0
  90. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/memory_audit.json +0 -0
  91. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/recall_debug.jsonl +0 -0
  92. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run1.json +0 -0
  93. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run2.json +0 -0
  94. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run3.json +0 -0
  95. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run4.json +0 -0
  96. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/strategies_run5.json +0 -0
  97. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/summary.json +0 -0
  98. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260612_183343/tasks.jsonl +0 -0
  99. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/REPORT.md +0 -0
  100. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/memory_audit.json +0 -0
  101. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/recall_debug.jsonl +0 -0
  102. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run1.json +0 -0
  103. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run2.json +0 -0
  104. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run3.json +0 -0
  105. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run4.json +0 -0
  106. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/strategies_run5.json +0 -0
  107. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/summary.json +0 -0
  108. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/20260615_101732/tasks.jsonl +0 -0
  109. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/cold_probe.json +0 -0
  110. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/summary.json +0 -0
  111. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
  112. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/REPORT.md +0 -0
  113. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/cold_probe.json +0 -0
  114. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/summary.json +0 -0
  115. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
  116. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/REPORT.md +0 -0
  117. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/results.jsonl +0 -0
  118. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/escalation_20260612_201825/summary.json +0 -0
  119. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/REPORT.md +0 -0
  120. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/results.jsonl +0 -0
  121. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/retention_20260612_201828/summary.json +0 -0
  122. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
  123. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/summary.json +0 -0
  124. {minima_cli-0.4.9 → minima_cli-0.4.10}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
  125. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/__init__.py +0 -0
  126. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/__init__.py +0 -0
  127. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/auth.py +0 -0
  128. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/errors.py +0 -0
  129. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/__init__.py +0 -0
  130. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/calibration.py +0 -0
  131. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/feedback.py +0 -0
  132. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/health.py +0 -0
  133. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/models.py +0 -0
  134. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/recommend.py +0 -0
  135. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/savings.py +0 -0
  136. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/api/routers/strategies.py +0 -0
  137. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/__init__.py +0 -0
  138. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/data/capability_priors.json +0 -0
  139. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/data/model_aliases.json +0 -0
  140. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/merge.py +0 -0
  141. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/refresh.py +0 -0
  142. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/__init__.py +0 -0
  143. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/litellm.py +0 -0
  144. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/sources/openrouter.py +0 -0
  145. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/catalog/store.py +0 -0
  146. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/config.py +0 -0
  147. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/deps.py +0 -0
  148. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/__init__.py +0 -0
  149. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/anthropic.py +0 -0
  150. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/base.py +0 -0
  151. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/gemini.py +0 -0
  152. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/llm/registry.py +0 -0
  153. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/logging.py +0 -0
  154. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/main.py +0 -0
  155. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/__init__.py +0 -0
  156. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/adapter.py +0 -0
  157. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/keys.py +0 -0
  158. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/records.py +0 -0
  159. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/memory/threadpool.py +0 -0
  160. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/__init__.py +0 -0
  161. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/calibration.py +0 -0
  162. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/report.py +0 -0
  163. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/metrics/savings.py +0 -0
  164. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/__init__.py +0 -0
  165. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/_pg_pool.py +0 -0
  166. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/_redis_client.py +0 -0
  167. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/aggregate.py +0 -0
  168. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/classify.py +0 -0
  169. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/decisionlog.py +0 -0
  170. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/durablerefs.py +0 -0
  171. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/engine.py +0 -0
  172. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/escalation.py +0 -0
  173. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/propensity.py +0 -0
  174. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/recstore.py +0 -0
  175. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/score.py +0 -0
  176. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/recommender/types.py +0 -0
  177. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/__init__.py +0 -0
  178. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/common.py +0 -0
  179. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/feedback.py +0 -0
  180. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/models_catalog.py +0 -0
  181. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/recommend.py +0 -0
  182. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/savings.py +0 -0
  183. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/strategies.py +0 -0
  184. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/schemas/workflow.py +0 -0
  185. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/__init__.py +0 -0
  186. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/items.py +0 -0
  187. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/llmrouterbench.py +0 -0
  188. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/routerbench.py +0 -0
  189. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/run_seed.py +0 -0
  190. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/seeding/synthetic.py +0 -0
  191. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/__init__.py +0 -0
  192. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/context.py +0 -0
  193. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima/tenancy/passthrough.py +0 -0
  194. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/LICENSE_PI +0 -0
  195. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/__init__.py +0 -0
  196. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/__init__.py +0 -0
  197. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/agent.py +0 -0
  198. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/events.py +0 -0
  199. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/loop.py +0 -0
  200. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/state.py +0 -0
  201. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/agent/tools.py +0 -0
  202. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/__init__.py +0 -0
  203. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/compat.py +0 -0
  204. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/errors.py +0 -0
  205. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/events.py +0 -0
  206. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/openrouter_catalog.py +0 -0
  207. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/provider_catalog.py +0 -0
  208. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/provider_quirks.py +0 -0
  209. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/__init__.py +0 -0
  210. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/_common.py +0 -0
  211. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/anthropic.py +0 -0
  212. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/base.py +0 -0
  213. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/faux.py +0 -0
  214. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/google.py +0 -0
  215. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/providers/openai_compat.py +0 -0
  216. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/registry.py +0 -0
  217. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/stream.py +0 -0
  218. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/tools.py +0 -0
  219. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/types.py +0 -0
  220. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/ai/usage.py +0 -0
  221. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/__init__.py +0 -0
  222. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/cache.py +0 -0
  223. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/config.py +0 -0
  224. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/goals.py +0 -0
  225. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/judge.py +0 -0
  226. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/mapping.py +0 -0
  227. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/meter.py +0 -0
  228. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/router.py +0 -0
  229. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/runtime.py +0 -0
  230. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/minima/signals.py +0 -0
  231. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/__init__.py +0 -0
  232. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/format.py +0 -0
  233. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/session/store.py +0 -0
  234. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tasks/__init__.py +0 -0
  235. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tasks/task_set.py +0 -0
  236. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/__init__.py +0 -0
  237. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/_io.py +0 -0
  238. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/bash.py +0 -0
  239. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/builtin.py +0 -0
  240. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/edit.py +0 -0
  241. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/find.py +0 -0
  242. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/grep.py +0 -0
  243. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/ls.py +0 -0
  244. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/read.py +0 -0
  245. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/tasks.py +0 -0
  246. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tools/write.py +0 -0
  247. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/__init__.py +0 -0
  248. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/analytics.py +0 -0
  249. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/app.py +0 -0
  250. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/bridge.py +0 -0
  251. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/cli.py +0 -0
  252. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/clipboard.py +0 -0
  253. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/commands.py +0 -0
  254. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/compaction.py +0 -0
  255. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/config_cli.py +0 -0
  256. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/config_store.py +0 -0
  257. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/context.py +0 -0
  258. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/customize.py +0 -0
  259. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/diff.py +0 -0
  260. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/editor.py +0 -0
  261. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/extensions.py +0 -0
  262. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/extra_models.py +0 -0
  263. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/history.py +0 -0
  264. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/mubit.py +0 -0
  265. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/overlays.py +0 -0
  266. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/packages.py +0 -0
  267. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/run_modes.py +0 -0
  268. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/theme.py +0 -0
  269. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/welcome.py +0 -0
  270. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/__init__.py +0 -0
  271. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/banner.py +0 -0
  272. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/editor.py +0 -0
  273. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/footer.py +0 -0
  274. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/messages.py +0 -0
  275. {minima_cli-0.4.9 → minima_cli-0.4.10}/src/minima_harness/tui/widgets/status.py +0 -0
  276. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/__init__.py +0 -0
  277. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/conftest.py +0 -0
  278. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/BENCHMARKS.md +0 -0
  279. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/CRITERIA.md +0 -0
  280. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/RESULTS.md +0 -0
  281. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/__init__.py +0 -0
  282. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/harness.py +0 -0
  283. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/llmrouterbench_config.py +0 -0
  284. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/test_llmrouterbench_savings.py +0 -0
  285. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/eval/test_routerbench_savings.py +0 -0
  286. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/factories.py +0 -0
  287. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/__init__.py +0 -0
  288. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/__init__.py +0 -0
  289. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_format.py +0 -0
  290. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_manager.py +0 -0
  291. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/session/test_store.py +0 -0
  292. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_agent_loop.py +0 -0
  293. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_anthropic_mapping.py +0 -0
  294. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_auth_reroute.py +0 -0
  295. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_cache.py +0 -0
  296. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_catalog_overlay.py +0 -0
  297. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_common_and_wire.py +0 -0
  298. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_compat.py +0 -0
  299. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_errors.py +0 -0
  300. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_goals.py +0 -0
  301. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_google_mapping.py +0 -0
  302. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_judge.py +0 -0
  303. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_live.py +0 -0
  304. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_mapping.py +0 -0
  305. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_minima_e2e.py +0 -0
  306. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_openai_compat_sse.py +0 -0
  307. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_openrouter_catalog.py +0 -0
  308. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase0_smoke.py +0 -0
  309. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_a.py +0 -0
  310. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_b.py +0 -0
  311. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_phase_c.py +0 -0
  312. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_catalog.py +0 -0
  313. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_quirks.py +0 -0
  314. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_registration.py +0 -0
  315. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_provider_wiring.py +0 -0
  316. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_runtime.py +0 -0
  317. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/test_signals.py +0 -0
  318. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/__init__.py +0 -0
  319. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_agent_smoke.py +0 -0
  320. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_bash.py +0 -0
  321. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_builtin.py +0 -0
  322. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_edit.py +0 -0
  323. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_find.py +0 -0
  324. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_grep.py +0 -0
  325. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_io.py +0 -0
  326. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_ls.py +0 -0
  327. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_read.py +0 -0
  328. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tools/test_write.py +0 -0
  329. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/__init__.py +0 -0
  330. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_analytics.py +0 -0
  331. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_app_pilot.py +0 -0
  332. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_bridge.py +0 -0
  333. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_clipboard.py +0 -0
  334. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_command_popup.py +0 -0
  335. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_commands.py +0 -0
  336. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_config.py +0 -0
  337. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_context.py +0 -0
  338. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_customize.py +0 -0
  339. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_decision_card.py +0 -0
  340. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_diff.py +0 -0
  341. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_editor.py +0 -0
  342. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_editor_widget.py +0 -0
  343. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_export.py +0 -0
  344. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_extensions.py +0 -0
  345. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_goals_tui.py +0 -0
  346. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_history_sessions.py +0 -0
  347. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_messages.py +0 -0
  348. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_mouse_copy.py +0 -0
  349. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_mubit.py +0 -0
  350. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_optimize.py +0 -0
  351. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_overlays.py +0 -0
  352. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p2.py +0 -0
  353. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p3.py +0 -0
  354. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_p5.py +0 -0
  355. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_permissions.py +0 -0
  356. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_predictability.py +0 -0
  357. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_prompt_layers.py +0 -0
  358. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_queue.py +0 -0
  359. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_run_modes.py +0 -0
  360. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_status.py +0 -0
  361. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_status_bar.py +0 -0
  362. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_theme.py +0 -0
  363. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_thoughts.py +0 -0
  364. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_tool_render.py +0 -0
  365. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_ux.py +0 -0
  366. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_welcome.py +0 -0
  367. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/harness/tui/test_widgets.py +0 -0
  368. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_escalation_reasoner.py +0 -0
  369. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_feedback_loop.py +0 -0
  370. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_lesson_promotion.py +0 -0
  371. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_measurement_api.py +0 -0
  372. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_observed_cost_ranking.py +0 -0
  373. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_recommend_api.py +0 -0
  374. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_strategies_api.py +0 -0
  375. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/integration/test_workflow_models_health.py +0 -0
  376. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
  377. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_escalation_fixes.py +0 -0
  378. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_full_surface_live.py +0 -0
  379. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_mubit_roundtrip.py +0 -0
  380. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_phase3_live.py +0 -0
  381. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_reasoner_live.py +0 -0
  382. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/live/test_recall_params_live.py +0 -0
  383. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_aggregate.py +0 -0
  384. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_aggregate_decay.py +0 -0
  385. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_autocapture.py +0 -0
  386. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_calibration_fit.py +0 -0
  387. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_classify_keys.py +0 -0
  388. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_cluster.py +0 -0
  389. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_collapse_guard.py +0 -0
  390. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_cost_band.py +0 -0
  391. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_decisionlog.py +0 -0
  392. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_escalation.py +0 -0
  393. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_exploration.py +0 -0
  394. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_ipw.py +0 -0
  395. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_iterations.py +0 -0
  396. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_latency_quality.py +0 -0
  397. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_lever_cost.py +0 -0
  398. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_metrics.py +0 -0
  399. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_metrics_demo.py +0 -0
  400. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_neighbor_classify.py +0 -0
  401. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_reasoner.py +0 -0
  402. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_records_catalog.py +0 -0
  403. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_recstore_sqlite.py +0 -0
  404. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_score.py +0 -0
  405. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_shadow_bandit.py +0 -0
  406. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_store_backends.py +0 -0
  407. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_strategies.py +0 -0
  408. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_tenancy.py +0 -0
  409. {minima_cli-0.4.9 → minima_cli-0.4.10}/tests/unit/test_thompson.py +0 -0
  410. {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.9
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 `0–365` | `30` | Lookback window. |
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 | Same shape over the **reconciled** subset (feedback received with `actual_cost_usd`), using your realized cost against the estimated baselines. |
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 `0–365` | `30` | Lookback window. |
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
- "memory": {"reachable": true, "latency_ms": 12},
370
- "catalog": {"version": "…", "stale": false, "models": 42},
371
- "version": "0.1.0"
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 the memory backend is unreachable. In that state `/recommend` still serves prior-only recommendations.
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"
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,3 +1,3 @@
1
1
  # Keep in sync with [project].version in pyproject.toml — this is what /v1/health and the
2
2
  # FastAPI app report at runtime.
3
- __version__ = "0.4.9"
3
+ __version__ = "0.4.10"
@@ -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