mirror of
https://github.com/katanemo/plano.git
synced 2026-06-05 14:45:15 +02:00
release 0.4.23 (#963)
* release 0.4.23 Co-authored-by: Musa <musa@spherrrical.dev> * release 0.4.23 Co-authored-by: Musa <musa@spherrrical.dev> * ci: seed ~/.plano cache for zero-config smoke test on release-bump PRs --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
parent
dbe6632d5f
commit
374966c06e
11 changed files with 33 additions and 14 deletions
23
.github/workflows/ci.yml
vendored
23
.github/workflows/ci.yml
vendored
|
|
@ -110,6 +110,25 @@ jobs:
|
|||
# ── Zero-config path: `planoai up` with no args, no plano.yaml in cwd.
|
||||
# Exercises the synthesize_default_config branch in cli/planoai/main.py
|
||||
# which is otherwise never hit by the smoke test above.
|
||||
#
|
||||
# Pre-seed ~/.plano/ from the freshly-built artifacts so the CLI's
|
||||
# cached-download path hits in step (2) of ensure_wasm_plugins /
|
||||
# ensure_brightstaff_binary. Without this, running from outside the
|
||||
# repo means find_repo_root() returns None, the local-build short-
|
||||
# circuit is skipped, and the CLI tries to download from a GitHub
|
||||
# release that does not yet exist for the in-flight version on
|
||||
# release-bump PRs (e.g. 0.4.23 before publish-binaries has run).
|
||||
- name: Seed ~/.plano cache for zero-config test
|
||||
run: |
|
||||
VERSION=$(sed -nE 's/^__version__ = "(.*)"$/\1/p' cli/planoai/__init__.py)
|
||||
mkdir -p ~/.plano/plugins ~/.plano/bin
|
||||
cp crates/target/wasm32-wasip1/release/prompt_gateway.wasm ~/.plano/plugins/
|
||||
cp crates/target/wasm32-wasip1/release/llm_gateway.wasm ~/.plano/plugins/
|
||||
cp crates/target/release/brightstaff ~/.plano/bin/
|
||||
chmod +x ~/.plano/bin/brightstaff
|
||||
echo "$VERSION" > ~/.plano/plugins/wasm.version
|
||||
echo "$VERSION" > ~/.plano/bin/brightstaff.version
|
||||
|
||||
- name: Zero-config smoke test
|
||||
env:
|
||||
OPENAI_API_KEY: test-key-not-used
|
||||
|
|
@ -164,13 +183,13 @@ jobs:
|
|||
load: true
|
||||
tags: |
|
||||
${{ env.PLANO_DOCKER_IMAGE }}
|
||||
${{ env.DOCKER_IMAGE }}:0.4.22
|
||||
${{ env.DOCKER_IMAGE }}:0.4.23
|
||||
${{ env.DOCKER_IMAGE }}:latest
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Save image as artifact
|
||||
run: docker save ${{ env.PLANO_DOCKER_IMAGE }} ${{ env.DOCKER_IMAGE }}:0.4.22 ${{ env.DOCKER_IMAGE }}:latest -o /tmp/plano-image.tar
|
||||
run: docker save ${{ env.PLANO_DOCKER_IMAGE }} ${{ env.DOCKER_IMAGE }}:0.4.23 ${{ env.DOCKER_IMAGE }}:latest -o /tmp/plano-image.tar
|
||||
|
||||
- name: Upload image artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ export function Hero() {
|
|||
>
|
||||
<div className="inline-flex flex-wrap items-center gap-1.5 sm:gap-2 px-3 sm:px-4 py-1 rounded-full bg-[rgba(185,191,255,0.4)] border border-[var(--secondary)] shadow backdrop-blur hover:bg-[rgba(185,191,255,0.6)] transition-colors cursor-pointer">
|
||||
<span className="text-xs sm:text-sm font-medium text-black/65">
|
||||
v0.4.22
|
||||
v0.4.23
|
||||
</span>
|
||||
<span className="text-xs sm:text-sm font-medium text-black ">
|
||||
—
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.22
|
||||
docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.23
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
"""Plano CLI - Intelligent Prompt Gateway."""
|
||||
|
||||
__version__ = "0.4.22"
|
||||
__version__ = "0.4.23"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ PLANO_COLOR = "#969FF4"
|
|||
|
||||
SERVICE_NAME_ARCHGW = "plano"
|
||||
PLANO_DOCKER_NAME = "plano"
|
||||
PLANO_DOCKER_IMAGE = os.getenv("PLANO_DOCKER_IMAGE", "katanemo/plano:0.4.22")
|
||||
PLANO_DOCKER_IMAGE = os.getenv("PLANO_DOCKER_IMAGE", "katanemo/plano:0.4.23")
|
||||
DEFAULT_OTEL_TRACING_GRPC_ENDPOINT = "http://localhost:4317"
|
||||
|
||||
# Native mode constants
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[project]
|
||||
name = "planoai"
|
||||
version = "0.4.22"
|
||||
version = "0.4.23"
|
||||
description = "Python-based CLI tool to manage Plano."
|
||||
authors = [{name = "Katanemo Labs, Inc."}]
|
||||
readme = "README.md"
|
||||
|
|
|
|||
2
cli/uv.lock
generated
2
cli/uv.lock
generated
|
|
@ -337,7 +337,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "planoai"
|
||||
version = "0.4.22"
|
||||
version = "0.4.23"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "click" },
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ This demo shows how you can use user preferences to route user prompts to approp
|
|||
|
||||
## How to start the demo
|
||||
|
||||
Make sure you have Plano CLI installed (`pip install planoai==0.4.22` or `uv tool install planoai==0.4.22`).
|
||||
Make sure you have Plano CLI installed (`pip install planoai==0.4.23` or `uv tool install planoai==0.4.23`).
|
||||
|
||||
```bash
|
||||
cd demos/llm_routing/preference_based_routing
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ from sphinxawesome_theme.postprocess import Icons
|
|||
project = "Plano Docs"
|
||||
copyright = "2026, Katanemo Labs, a DigitalOcean Company"
|
||||
author = "Katanemo Labs, Inc"
|
||||
release = " v0.4.22"
|
||||
release = " v0.4.23"
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ Plano's CLI allows you to manage and interact with the Plano efficiently. To ins
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
$ uv tool install planoai==0.4.22
|
||||
$ uv tool install planoai==0.4.23
|
||||
|
||||
**Option 2: Install with pip (Traditional)**
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ Plano's CLI allows you to manage and interact with the Plano efficiently. To ins
|
|||
|
||||
$ python -m venv venv
|
||||
$ source venv/bin/activate # On Windows, use: venv\Scripts\activate
|
||||
$ pip install planoai==0.4.22
|
||||
$ pip install planoai==0.4.23
|
||||
|
||||
|
||||
.. _llm_routing_quickstart:
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Create a ``docker-compose.yml`` file with the following configuration:
|
|||
# docker-compose.yml
|
||||
services:
|
||||
plano:
|
||||
image: katanemo/plano:0.4.22
|
||||
image: katanemo/plano:0.4.23
|
||||
container_name: plano
|
||||
ports:
|
||||
- "10000:10000" # ingress (client -> plano)
|
||||
|
|
@ -153,7 +153,7 @@ Create a ``plano-deployment.yaml``:
|
|||
spec:
|
||||
containers:
|
||||
- name: plano
|
||||
image: katanemo/plano:0.4.22
|
||||
image: katanemo/plano:0.4.23
|
||||
ports:
|
||||
- containerPort: 12000 # LLM gateway (chat completions, model routing)
|
||||
name: llm-gateway
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue