Commit graph

680 commits

Author SHA1 Message Date
Adil Hafeez
c3c213b2fd
Fix request closures during long-running streaming (#899) 2026-04-18 21:20:34 -07:00
Adil Hafeez
78d8c90184
Add claude-opus-4-7 to anthropic provider models (#901)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-18 19:10:57 -07:00
Adil Hafeez
ffea891dba
fix: prevent index-out-of-bounds panic in signal analyzer follow-up (#896) 2026-04-18 16:24:02 -07:00
Adil Hafeez
e7464b817a
fix(anthropic-stream): avoid bare/duplicate message_stop on OpenAI upstream (#898) 2026-04-18 15:57:34 -07:00
Adil Hafeez
254d2b03bc
release: bump version to 0.4.20 (#897)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-17 21:16:12 -07:00
Adil Hafeez
95a7beaab3
fix: truncate oversized user messages in orchestrator routing prompt (#895) 2026-04-17 21:01:30 -07:00
Adil Hafeez
37600fd07a
fix: passthrough_auth accepts Anthropic x-api-key and normalizes to upstream format (#892)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-17 17:23:05 -07:00
Adil Hafeez
0f67b2c806
planoai obs: live LLM observability TUI (#891) 2026-04-17 14:03:47 -07:00
Adil Hafeez
1f701258cb
Zero-config planoai up: pass-through proxy with auto-detected providers (#890) 2026-04-17 13:11:12 -07:00
Adil Hafeez
711e4dd07d
Add DigitalOcean as a first-class LLM provider (#889) 2026-04-17 12:25:34 -07:00
Musa
743d074184
add Plano agent skills framework and rule set (#797)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
* feat: add initial documentation for Plano Agent Skills

* feat: readme with examples

* feat: add detailed skills documentation and examples for Plano

---------

Co-authored-by: Adil Hafeez <adil.hafeez@gmail.com>
2026-04-16 13:16:51 -07:00
Adil Hafeez
d39d7ddd1c
release 0.4.19 (#887)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-15 16:49:50 -07:00
Adil Hafeez
90b926c2ce
use plano-orchestrator for LLM routing, remove arch-router (#886) 2026-04-15 16:41:42 -07:00
Musa
980faef6be
Redis-backed session cache for cross-replica model affinity (#879)
Some checks failed
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
CI / security-scan (push) Has been cancelled
CI / test-prompt-gateway (push) Has been cancelled
CI / test-model-alias-routing (push) Has been cancelled
CI / test-responses-api-with-state (push) Has been cancelled
CI / e2e-plano-tests (3.10) (push) Has been cancelled
CI / e2e-plano-tests (3.11) (push) Has been cancelled
CI / e2e-plano-tests (3.12) (push) Has been cancelled
CI / e2e-plano-tests (3.13) (push) Has been cancelled
CI / e2e-plano-tests (3.14) (push) Has been cancelled
CI / e2e-demo-preference (push) Has been cancelled
CI / e2e-demo-currency (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
* add pluggable session cache with Redis backend

* add Redis session affinity demos (Docker Compose and Kubernetes)

* address PR review feedback on session cache

* document Redis session cache backend for model affinity

* sync rendered config reference with session_cache addition

* add tenant-scoped Redis session cache keys and remove dead log_affinity_hit

- Add tenant_header to SessionCacheConfig; when set, cache keys are scoped
  as plano:affinity:{tenant_id}:{session_id} for multi-tenant isolation
- Thread tenant_id through RouterService, routing_service, and llm handlers
- Use Cow<'_, str> in session_key to avoid allocation when no tenant is set
- Remove unused log_affinity_hit (logging was already inlined at call sites)

* remove session_affinity_redis and session_affinity_redis_k8s demos
2026-04-13 19:30:47 -07:00
Musa
128059e7c1
release 0.4.18 (#878)
Some checks failed
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
2026-04-09 13:12:45 -07:00
Adil Hafeez
8dedf0bec1
Model affinity for consistent model selection in agentic loops (#827)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-08 17:32:02 -07:00
Musa
978b1ea722
Add first-class Xiaomi provider support (#863)
Some checks failed
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
CI / security-scan (push) Has been cancelled
CI / test-prompt-gateway (push) Has been cancelled
CI / test-model-alias-routing (push) Has been cancelled
CI / test-responses-api-with-state (push) Has been cancelled
CI / e2e-plano-tests (3.10) (push) Has been cancelled
CI / e2e-plano-tests (3.11) (push) Has been cancelled
CI / e2e-plano-tests (3.12) (push) Has been cancelled
CI / e2e-plano-tests (3.13) (push) Has been cancelled
CI / e2e-plano-tests (3.14) (push) Has been cancelled
CI / e2e-demo-preference (push) Has been cancelled
CI / e2e-demo-currency (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
* feat(provider): add xiaomi as first-class provider

* feat(demos): add xiaomi mimo integration demo

* refactor(demos): remove Xiaomi MiMo integration demo and update documentation

* updating model list and adding the xiamoi models

---------

Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-389.local>
2026-04-04 09:58:36 -07:00
Adil Hafeez
9406af3a09
release 0.4.17 (#869)
Some checks are pending
CI / pre-commit (push) Waiting to run
CI / plano-tools-tests (push) Waiting to run
CI / native-smoke-test (push) Waiting to run
CI / docker-build (push) Waiting to run
CI / validate-config (push) Waiting to run
CI / security-scan (push) Blocked by required conditions
CI / test-prompt-gateway (push) Blocked by required conditions
CI / test-model-alias-routing (push) Blocked by required conditions
CI / test-responses-api-with-state (push) Blocked by required conditions
CI / e2e-plano-tests (3.10) (push) Blocked by required conditions
CI / e2e-plano-tests (3.11) (push) Blocked by required conditions
CI / e2e-plano-tests (3.12) (push) Blocked by required conditions
CI / e2e-plano-tests (3.13) (push) Blocked by required conditions
CI / e2e-plano-tests (3.14) (push) Blocked by required conditions
CI / e2e-demo-preference (push) Blocked by required conditions
CI / e2e-demo-currency (push) Blocked by required conditions
Publish docker image (latest) / build-arm64 (push) Waiting to run
Publish docker image (latest) / build-amd64 (push) Waiting to run
Publish docker image (latest) / create-manifest (push) Blocked by required conditions
Build and Deploy Documentation / build (push) Waiting to run
2026-04-03 10:05:33 -07:00
Musa
aa16a6dc4b
ci(e2e): stabilize preference demo test execution (#865) 2026-04-02 21:32:20 -04:00
Adil Hafeez
7606c55b4b
support developer role in chat completions API (#867) 2026-04-02 18:10:32 -07:00
Adil Hafeez
1d3f4d6c05
Publish docker images to DigitalOcean Container Registry (#868) 2026-04-02 18:08:49 -07:00
Adil Hafeez
5d79e7a7d4
fix: resolve all open Dependabot security alerts (#866) 2026-04-02 18:00:28 -07:00
Musa
76ff353c1e
fix(web): refresh blog content and featured post selection (#862) 2026-04-02 06:18:19 -07:00
Musa
39b430d74b
feat(web): merge DigitalOcean release announcement updates (#860)
* feat(web): announce DigitalOcean acquisition across sites

* fix(web): make blog routes resilient without Sanity config

* fix(web): add mobile arrow cue to announcement banner

* fix(web): point acquisition links to announcement post
2026-04-02 06:03:52 -07:00
Musa
0857cfafbf
release 0.4.16 (#859) 2026-03-31 17:45:28 -07:00
Musa
f68c21f8df
Handle null prefer in inline routing policy (#856)
* Handle null prefer in inline routing policy

* Use serde defaulting for null selection preference

* Add tests for default selection policy behavior in routing preferences
2026-03-31 17:41:25 -07:00
Musa
3dbda9741e
fix: route Perplexity OpenAI endpoints without /v1 (#854)
* fix: route Perplexity OpenAI paths without /v1

* add tests for Perplexity provider handling in LLM module

* refactor: use constant for Perplexity provider prefix in LLM module

* moving const to top of file
2026-03-31 17:40:42 -07:00
Adil Hafeez
d8f4fd76e3
replace production panics with graceful error handling in common crate (#844) 2026-03-31 14:28:11 -07:00
Musa
36fa42b364
Improve planoai up/down CLI progress output (#858) 2026-03-31 14:26:32 -07:00
Musa
82f34f82f2
Update black hook for Python 3.14 (#857)
* Update pre-commit black to latest release

* Reformat Python files for new black version
2026-03-31 13:18:45 -07:00
Adil Hafeez
f019f05738
release 0.4.15 (#853) 2026-03-30 17:33:40 -07:00
Adil Hafeez
af98c11a6d
restructure model_metrics_sources to type + provider (#855) 2026-03-30 17:12:20 -07:00
Adil Hafeez
e5751d6b13
model routing: cost/latency ranking with ranked fallback list (#849) 2026-03-30 13:46:52 -07:00
Musa
3a531ce22a
expand configuration reference with missing fields (#851) 2026-03-30 12:25:05 -07:00
Adil Hafeez
406fa92802
release 0.4.14 (#840) 2026-03-20 00:51:37 -07:00
Salman Paracha
69df124c47
the orchestrator had a bug where it was setting the wrong headers for archfc.katanemo.dev (#839)
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-389.local>
2026-03-20 00:40:47 -07:00
Adil Hafeez
180a9cb748
separate config generation from process startup in supervisord (#838) 2026-03-19 22:37:56 -07:00
Adil Hafeez
cdad02c5ee
release 0.4.13 (#837) 2026-03-19 19:51:58 -07:00
Adil Hafeez
1ad3e0f64e
refactor brightstaff (#736) 2026-03-19 17:58:33 -07:00
Adil Hafeez
1f23c573bf
add output filter chain (#822) 2026-03-18 17:58:20 -07:00
Adil Hafeez
de2d8847f3
fix CVE-2026-0861: upgrade glibc via apt-get upgrade in Dockerfile (#832) 2026-03-16 13:27:37 -07:00
Adil Hafeez
5388c6777f
add k8s deployment manifests and docs for self-hosted Arch-Router (#831) 2026-03-16 12:05:30 -07:00
Adil Hafeez
f1b8c03e2f
release 0.4.12 (#830) 2026-03-15 13:03:32 -07:00
Salman Paracha
4bb5c6404f
adding new supported models to plano (#829)
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-389.local>
2026-03-15 12:37:20 -07:00
Adil Hafeez
5d85829bc2
Improve config validation error messages (#825)
* improve config validation error messages and update getting started demo

* fix black formatting
2026-03-15 09:36:58 -07:00
Adil Hafeez
bc059aed4d
Unified overrides for custom router and orchestrator models (#820)
* support configurable orchestrator model via orchestration config section

* add self-hosting docs and demo for Plano-Orchestrator

* list all Plano-Orchestrator model variants in docs

* use overrides for custom routing and orchestration model

* update docs

* update orchestrator model name

* rename arch provider to plano, use llm_routing_model and agent_orchestration_model

* regenerate rendered config reference
2026-03-15 09:36:11 -07:00
Adil Hafeez
785bf7e021
add build-cli and build-brightstaff skills (#824) 2026-03-13 00:28:35 -07:00
Adil Hafeez
2f52774c0e
Add Claude Code skills and streamline CLAUDE.md (#823)
* add claude code skills and streamline CLAUDE.md

* remove claude code attribution from PR skill

* update pr skill
2026-03-13 00:18:41 -07:00
Adil Hafeez
5400b0a2fa
add instructions on hosting arch-router locally (#819) 2026-03-11 15:28:50 -07:00
Adil Hafeez
b4313d93a4
Run demos without Docker (#809) 2026-03-11 12:49:36 -07:00