@matheuskrumenauer/tanya 0.10.0-beta.0 → 0.13.0-beta.0

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.
package/README.md CHANGED
@@ -267,6 +267,35 @@ schema-invalid tool responses before they reach model history.
267
267
  See [docs/mcp.md](./docs/mcp.md) for the full schema, transports, server tools,
268
268
  and security model.
269
269
 
270
+ ## Multi-model routing
271
+
272
+ Tanya can route each agent step to a different provider/model. Planning and
273
+ simple tool-call turns can use cheap chat models, while synthesis,
274
+ verification, and reasoning turns can use stronger models only when needed.
275
+
276
+ Default route profile:
277
+
278
+ | Step | Route | Fallback |
279
+ | --- | --- | --- |
280
+ | `planning` | `deepseek/deepseek-chat` | `qwen/qwen3-coder-plus` |
281
+ | `tool_call` | `deepseek/deepseek-chat` | `groq/llama-3.3-70b-versatile` |
282
+ | `synthesis` | `deepseek/deepseek-reasoner` | `openai/gpt-4.1-mini` |
283
+ | `verification` | `deepseek/deepseek-reasoner` | `openai/gpt-4.1-mini` |
284
+ | `reasoning` | `deepseek/deepseek-reasoner` | `qwen/qwen3-coder-plus` |
285
+
286
+ Project routes live in `.tania/routes.json`; user-global routes live in
287
+ `~/.tanya/routes.json` with a legacy read fallback from `~/.tania/routes.json`.
288
+ Use `/route` in the REPL to inspect the effective table, `/route show
289
+ <stepType>` to inspect one step, `/route set <stepType> <provider>/<model>` for
290
+ a session-only patch, and `/route reset` to clear session patches.
291
+
292
+ Escalations are visible: if a cheap route exhausts the malformed tool-call
293
+ repair budget, Tanya emits `escalation_event` and uses the route fallback once,
294
+ up to `TANYA_ESCALATION_CAP` per session.
295
+
296
+ See [docs/routing.md](./docs/routing.md) for schema, examples, context-window
297
+ guards, per-tool model overrides, and sub-agent model pins.
298
+
270
299
  `--verify` adds required verification commands to the run context. Tanya must run and report each exact command before finishing the coding task.
271
300
 
272
301
  `tanya benchmark run --all` currently exercises 27 executable low-to-medium regression fixtures: targeted edits, new files, dependency/lockfile updates, framework-style migrations, failing-test repair, frontend smoke checks, artifact/context reuse, streaming long-tool execution, compaction-boundary recovery, run-history logging, dirty worktrees, report repair, and the CosmoHQ mobile/backend smoke profiles.
@@ -332,6 +361,30 @@ Tanya trims model-visible tokens while keeping state reversible and auditable.
332
361
 
333
362
  See [docs/token-economy.md](./docs/token-economy.md) for the full model, cache locations, and tool-definition knobs.
334
363
 
364
+ ## Structural repo-map
365
+
366
+ Lite prompts can include a generated structural map from
367
+ `.tania/index/repo-map.json`. The map lists workspace-relative files, language,
368
+ parser provenance, top-level symbols, imports, and exports so cheap providers
369
+ can target likely files before spending turns on blind reads.
370
+
371
+ Tanya indexes TypeScript/JavaScript, Python, Go, Swift, and Kotlin with a
372
+ lightweight ripgrep-style parser and falls back to path-only entries when file
373
+ content cannot be read. Generated, binary, ignored, and oversized files are
374
+ skipped. The repo-map is advisory context only: agents must still read files
375
+ before editing, and the verifier remains the final authority.
376
+
377
+ Use `TANYA_LITE_PROMPT=1` to inject a ranked repo-map excerpt. Tune the default
378
+ 1000-token section budget with `TANYA_REPO_MAP_PROMPT_BUDGET`; the legacy
379
+ `TANIA_*` alias is also accepted. If the prompt budget is tight, the repo-map
380
+ drops before skill packs because it is generated and recoverable.
381
+
382
+ Use `inspect_repo_map` when the model needs more structural detail by file,
383
+ symbol, or language without burning prompt tokens on the whole map.
384
+
385
+ See [docs/repo-map.md](./docs/repo-map.md) for schema, parser status, ranking,
386
+ budget interaction, and cache invalidation.
387
+
335
388
  Context files are generic JSON envelopes for caller-supplied task metadata, artifacts, instructions, and verification commands.
336
389
 
337
390
  ## Current Tools
@@ -339,6 +392,7 @@ Context files are generic JSON envelopes for caller-supplied task metadata, arti
339
392
  - `list_files`
340
393
  - `read_file`
341
394
  - `search`
395
+ - `inspect_repo_map`
342
396
  - `inspect_project_context`
343
397
  - `find_reusable_artifacts`
344
398
  - `build_task_brief`