From 87b0059765aafb0195ae42744290ae5d724a0ca1 Mon Sep 17 00:00:00 2001 From: Robert Shelton Date: Fri, 30 Oct 2026 15:58:10 -0400 Subject: [PATCH] Iris docs: GA consistency pass on the 1.0 release and CLI - Versions: treat the release as 1.0.0. Pin redis-iris and redis-agent-lens at >=1.0.0, drop the npm @beta tags, and drop the "prerelease" note from the Agent Playbooks quickstart. - Agent Playbooks CLI examples on redis-iris 1.0: faqs|skills|proposals show (not get), --min-score, search results in items, and the proposal revision field. - Finish the agent-playbook -> agent-playbooks rename outside content/: the iris-demo shortcode and request-flow script links, the Playbooks docs check workflow and its build tooling, and the pages' diagram references (the files keep their agent-playbook-*.svg names). - Remove the "Documentation review draft." banners from Agent Playbooks and Intent Router. Only Lens and Agent Mesh carry a banner (beta). - Interactive demo: Lens is beta, and the description names the services the tour shows. Link Context Gateway in its table. - SDK and CLI setup: document the Agent Memory database_id profile key. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/check-playbook-docs.yml | 2 +- build/agent_playbook_docs/check_sdk_source.py | 2 +- build/agent_playbook_docs/examples.py | 2 +- .../agent_playbook_docs/prepare_reference.py | 2 +- build/agent_playbook_docs/test_reference.py | 2 +- .../context-engine/agent-playbooks/_index.md | 2 -- .../agent-playbooks/agent-integration.md | 2 +- .../agent-playbooks/concepts.md | 2 +- .../ai/context-engine/agent-playbooks/mcp.md | 2 +- .../agent-playbooks/proposals.md | 2 +- .../agent-playbooks/quickstart.md | 2 +- .../concepts/interactive-demo.md | 6 +++--- .../ai/context-engine/intent-router/_index.md | 6 ++---- .../intent-router/developer-guide.md | 2 +- .../intent-router/quickstart.md | 4 ++-- .../ai/context-engine/lens/read-api.md | 2 +- .../develop/ai/context-engine/sdk-and-cli.md | 1 + content/operate/iris/intent-router/_index.md | 2 -- layouts/shortcodes/iris-demo.html | 2 +- .../iris/playbooks/faqs/faqs.cli.sh | 6 +++--- .../iris/playbooks/proposals/proposals.cli.sh | 20 +++++++++---------- .../playbooks/quickstart/quickstart.cli.sh | 8 ++++---- .../iris/playbooks/retrieval/retrieval.cli.sh | 2 +- .../iris/playbooks/skills/skills.cli.sh | 6 +++--- static/js/iris-request-flow.js | 2 +- 25 files changed, 43 insertions(+), 48 deletions(-) diff --git a/.github/workflows/check-playbook-docs.yml b/.github/workflows/check-playbook-docs.yml index 429df591a3..1fe80b9513 100644 --- a/.github/workflows/check-playbook-docs.yml +++ b/.github/workflows/check-playbook-docs.yml @@ -3,7 +3,7 @@ name: Check Playbooks documentation on: pull_request: paths: - - 'content/develop/ai/context-engine/agent-playbook/**' + - 'content/develop/ai/context-engine/agent-playbooks/**' - 'build/agent_playbook_docs/**' - 'local_examples/iris/playbooks/**' - 'build/components/example.py' diff --git a/build/agent_playbook_docs/check_sdk_source.py b/build/agent_playbook_docs/check_sdk_source.py index f3311afc1f..0e393911ec 100644 --- a/build/agent_playbook_docs/check_sdk_source.py +++ b/build/agent_playbook_docs/check_sdk_source.py @@ -16,7 +16,7 @@ ROOT = Path(__file__).resolve().parents[2] LOCK = Path(__file__).with_name("source-lock.json") -SPEC = ROOT / "content/develop/ai/context-engine/agent-playbook/api-reference/openapi.json" +SPEC = ROOT / "content/develop/ai/context-engine/agent-playbooks/api-reference/openapi.json" def wire_contract(document): diff --git a/build/agent_playbook_docs/examples.py b/build/agent_playbook_docs/examples.py index 6b2b4e82a7..17d552c6bc 100644 --- a/build/agent_playbook_docs/examples.py +++ b/build/agent_playbook_docs/examples.py @@ -16,7 +16,7 @@ from components.example import Example from local_examples import get_example_id_from_file, get_language_from_extension -DOCS = ROOT / "content/develop/ai/context-engine/agent-playbook" +DOCS = ROOT / "content/develop/ai/context-engine/agent-playbooks" SOURCES = ROOT / "local_examples/iris/playbooks" GUIDES = ("quickstart", "faqs", "skills", "proposals", "retrieval", "mcp", "limits") AGENT_GUIDES = ("openai_agent", "langgraph_agent") diff --git a/build/agent_playbook_docs/prepare_reference.py b/build/agent_playbook_docs/prepare_reference.py index eba8322980..e4d27daf81 100644 --- a/build/agent_playbook_docs/prepare_reference.py +++ b/build/agent_playbook_docs/prepare_reference.py @@ -80,6 +80,6 @@ def prepare(source, title, groups): "Redis Agent Playbooks data-plane API", GROUPS, ) - target = ROOT / "content/develop/ai/context-engine/agent-playbook/api-reference/openapi.json" + target = ROOT / "content/develop/ai/context-engine/agent-playbooks/api-reference/openapi.json" target.write_text(json.dumps(result, indent=2) + "\n") print(target.relative_to(ROOT)) diff --git a/build/agent_playbook_docs/test_reference.py b/build/agent_playbook_docs/test_reference.py index ada1f13f0c..bda1fd0d65 100644 --- a/build/agent_playbook_docs/test_reference.py +++ b/build/agent_playbook_docs/test_reference.py @@ -12,7 +12,7 @@ ROOT = Path(__file__).resolve().parents[2] -DOCS = ROOT / "content/develop/ai/context-engine/agent-playbook" +DOCS = ROOT / "content/develop/ai/context-engine/agent-playbooks" def test_public_openapi_is_valid(): diff --git a/content/develop/ai/context-engine/agent-playbooks/_index.md b/content/develop/ai/context-engine/agent-playbooks/_index.md index 200b9e1699..95315eb566 100644 --- a/content/develop/ai/context-engine/agent-playbooks/_index.md +++ b/content/develop/ai/context-engine/agent-playbooks/_index.md @@ -9,8 +9,6 @@ description: Create playbooks of reusable skills and answers that agents can dis linkTitle: Agent Playbooks hideListLinks: true weight: 25 -bannerText: Documentation review draft. -bannerChildren: true --- ## What is Redis Agent Playbooks? diff --git a/content/develop/ai/context-engine/agent-playbooks/agent-integration.md b/content/develop/ai/context-engine/agent-playbooks/agent-integration.md index 06b2424ad5..55cb8dc8b5 100644 --- a/content/develop/ai/context-engine/agent-playbooks/agent-integration.md +++ b/content/develop/ai/context-engine/agent-playbooks/agent-integration.md @@ -19,7 +19,7 @@ Both framework examples use the same task: The request names no skill. The agent selects one from its name and description in the retrieved previews. -![An application discovers published playbook context for a task before the model turn. During the turn, the agent can load skill instructions and files through MCP, then return its response.](/images/ai/context-engine/agent-playbooks-session.svg) +![An application discovers published playbook context for a task before the model turn. During the turn, the agent can load skill instructions and files through MCP, then return its response.](/images/ai/context-engine/agent-playbook-session.svg) {width="700"} Initial SDK discovery replaces routine MCP discovery at the start of the turn. MCP discovery remains available for follow-up questions and publication changes. Progressive disclosure concerns skill instructions and files; the available tool definitions remain the same. diff --git a/content/develop/ai/context-engine/agent-playbooks/concepts.md b/content/develop/ai/context-engine/agent-playbooks/concepts.md index 22cd309f90..b2847ac243 100644 --- a/content/develop/ai/context-engine/agent-playbooks/concepts.md +++ b/content/develop/ai/context-engine/agent-playbooks/concepts.md @@ -55,7 +55,7 @@ A version is a complete, immutable snapshot of an entry's authored content. Upda The latest version and the published version can differ. Version 2 of a refund procedure can remain under review while agents retrieve version 1. Publishing version 2 switches retrieval to the update and retains version 1 for rollback. -![Creating an entry starts an unpublished version 1. Publishing version 1 makes it retrievable. Appending version 2 keeps version 1 published until you publish version 2. You can publish version 1 again to roll back, or withdraw the entry so agents retrieve nothing.](/images/ai/context-engine/agent-playbooks-versions.svg) +![Creating an entry starts an unpublished version 1. Publishing version 1 makes it retrievable. Appending version 2 keeps version 1 published until you publish version 2. You can publish version 1 again to roll back, or withdraw the entry so agents retrieve nothing.](/images/ai/context-engine/agent-playbook-versions.svg) {width="700"} Management operations let you inspect drafts and historical versions with the required permissions. See the [version model]({{< relref "/develop/ai/context-engine/agent-playbooks/api-reference#schema/Version" >}}) for fields and types. diff --git a/content/develop/ai/context-engine/agent-playbooks/mcp.md b/content/develop/ai/context-engine/agent-playbooks/mcp.md index 5e5bb2c3df..5d450fda6d 100644 --- a/content/develop/ai/context-engine/agent-playbooks/mcp.md +++ b/content/develop/ai/context-engine/agent-playbooks/mcp.md @@ -56,7 +56,7 @@ List the tools on an initialized connection to get their input schemas. | `load_skill` | The selected skill's `entry_id` and `version`. | Full instructions and resource descriptors. | | `fetch_resource` | A returned resource `uri`. | File content, media type, and digest. | -![Discovery returns FAQ answers and skill previews. Loading a selected skill adds its instructions to the context. Fetching a resource adds only the file needed for the task.](/images/ai/context-engine/agent-playbooks-disclosure.svg) +![Discovery returns FAQ answers and skill previews. Loading a selected skill adds its instructions to the context. Fetching a resource adds only the file needed for the task.](/images/ai/context-engine/agent-playbook-disclosure.svg) {width="700"} Use the tools in this order: diff --git a/content/develop/ai/context-engine/agent-playbooks/proposals.md b/content/develop/ai/context-engine/agent-playbooks/proposals.md index 1489925781..639b174c25 100644 --- a/content/develop/ai/context-engine/agent-playbooks/proposals.md +++ b/content/develop/ai/context-engine/agent-playbooks/proposals.md @@ -17,7 +17,7 @@ Proposals currently add new FAQs. They do not create skills or revise existing e Start with the walkthrough, or [automate suggestions](/content/develop/ai/context-engine/agent-playbooks/proposals.md#automate-proposal-generation) from Redis Agent Memory or your own application. Suggestions do not affect agent responses until you publish the accepted FAQ. -![A proposal enters the inbox with candidate content and evidence. Acceptance creates an unpublished FAQ, which publication serves to agents. Dismissal or inbox expiration moves the proposal to trash, where it can be restored before its retention deadline.](/images/ai/context-engine/agent-playbooks-proposals.svg) +![A proposal enters the inbox with candidate content and evidence. Acceptance creates an unpublished FAQ, which publication serves to agents. Dismissal or inbox expiration moves the proposal to trash, where it can be restored before its retention deadline.](/images/ai/context-engine/agent-playbook-proposals.svg) {width="700"} ## Before you begin diff --git a/content/develop/ai/context-engine/agent-playbooks/quickstart.md b/content/develop/ai/context-engine/agent-playbooks/quickstart.md index 8f80483fa2..84f72be87d 100644 --- a/content/develop/ai/context-engine/agent-playbooks/quickstart.md +++ b/content/develop/ai/context-engine/agent-playbooks/quickstart.md @@ -19,7 +19,7 @@ Create a playbook API key with `write` and `publish` permissions. Both include ` This walkthrough needs no agent framework or model-provider key. -Follow one tab throughout the page. The Python SDK and command-line interface (CLI) are prereleases. Both require Python 3.11 or later. The cURL and CLI examples use Bash and jq. To connect the CLI to your deployment with a profile, see [SDK and CLI setup](/content/develop/ai/context-engine/sdk-and-cli.md). +Follow one tab throughout the page. The Python SDK and command-line interface (CLI) require Python 3.11 or later. The cURL and CLI examples use Bash and jq. To connect the CLI to your deployment with a profile, see [SDK and CLI setup](/content/develop/ai/context-engine/sdk-and-cli.md). **Python and CLI** diff --git a/content/develop/ai/context-engine/concepts/interactive-demo.md b/content/develop/ai/context-engine/concepts/interactive-demo.md index 3cd09aa93c..16dfde94d8 100644 --- a/content/develop/ai/context-engine/concepts/interactive-demo.md +++ b/content/develop/ai/context-engine/concepts/interactive-demo.md @@ -4,7 +4,7 @@ categories: - docs - develop - ai -description: Step through one agent request across Data Integration, LangCache, Agent Memory, and Context Gateway, then take a service away to see what the agent loses. +description: Step through one agent request across Data Integration, Context Gateway, Agent Memory, and Agent Playbooks, then take a service away to see what the agent loses. hideListLinks: true linktitle: Interactive demo title: Redis Iris interactive demo @@ -24,11 +24,11 @@ The tour runs in your browser and doesn't connect to any service. Each step link | Service | What it does in this request | Without it | |:--|:--|:--| | [Data Integration](/content/develop/ai/context-engine/data-integration/_index.md) | Syncs a change from PostgreSQL to Redis seconds after it happens | The agent reads last night's data and makes a promise it can't keep | -| Context Gateway | Looks up delivery times, alternatives, and past orders through governed tools | The agent can't check whether the food will arrive in time | +| [Context Gateway](/content/develop/ai/context-engine/context-gateway/_index.md) | Looks up delivery times, alternatives, and past orders through governed tools | The agent can't check whether the food will arrive in time | | [Agent Memory](/content/develop/ai/context-engine/agent-memory/_index.md) | Recalls last week's order and the customer's peanut allergy | The agent can find the order, but not the allergy | | [Agent Playbooks](/content/develop/ai/context-engine/agent-playbooks/_index.md) | Answers the general delivery fee question with the frequently asked question (FAQ) the support team published | The model doesn't know the app's fees, so it gives a vague answer, or makes one up | -[Lens](/content/develop/ai/context-engine/lens/_index.md) is in preview. It doesn't change the reply. It records each step of the request, including which memories entered the prompt, so you can see how the agent got there. +[Lens](/content/develop/ai/context-engine/lens/_index.md) is in beta. It doesn't change the reply. It records each step of the request, including which memories entered the prompt, so you can see how the agent got there. ## Next steps diff --git a/content/develop/ai/context-engine/intent-router/_index.md b/content/develop/ai/context-engine/intent-router/_index.md index 78b20c4ea4..bb0e214c05 100644 --- a/content/develop/ai/context-engine/intent-router/_index.md +++ b/content/develop/ai/context-engine/intent-router/_index.md @@ -9,8 +9,6 @@ description: Classify a user's message into a named intent and get back the targ linkTitle: Intent Router hideListLinks: true weight: 27 -bannerText: Documentation review draft. -bannerChildren: true --- ## What is Redis Intent Router? @@ -54,14 +52,14 @@ The Router doesn't run the target. It returns the target, and your application d Install the Redis Iris Python package, which includes the `iris` CLI: ```bash -pip install 'redis-iris>=1.0.0b1' +pip install 'redis-iris>=1.0.0' ``` Set `IRIS_INTENT_ROUTER_URL`, `IRIS_INTENT_ROUTER_ID`, and `IRIS_INTENT_ROUTER_API_KEY` as shown in the [quickstart](/content/develop/ai/context-engine/intent-router/quickstart.md#save-connection-values), connect, and define intents: {{< clients-example set="iris_intent_router_quickstart" step="intents-create" description="" lang_filter="Python (Iris),TypeScript (Iris),cURL (Iris),CLI (Iris)" footer="hide" />}} -The [redis-iris package](https://pypi.org/project/redis-iris/) covers matching, intent authoring, and Router administration in Python and the CLI. For TypeScript, the generated client [@redis-iris/intent-router](https://www.npmjs.com/package/@redis-iris/intent-router) covers the data plane and the control plane. Install it with `npm install @redis-iris/intent-router@beta`. See the [developer guide](/content/develop/ai/context-engine/intent-router/developer-guide.md) to choose a client. +The [redis-iris package](https://pypi.org/project/redis-iris/) covers matching, intent authoring, and Router administration in Python and the CLI. For TypeScript, the generated client [@redis-iris/intent-router](https://www.npmjs.com/package/@redis-iris/intent-router) covers the data plane and the control plane. Install it with `npm install @redis-iris/intent-router`. See the [developer guide](/content/develop/ai/context-engine/intent-router/developer-guide.md) to choose a client. ## Get started diff --git a/content/develop/ai/context-engine/intent-router/developer-guide.md b/content/develop/ai/context-engine/intent-router/developer-guide.md index 4fcd143bf8..84e01800a5 100644 --- a/content/develop/ai/context-engine/intent-router/developer-guide.md +++ b/content/develop/ai/context-engine/intent-router/developer-guide.md @@ -27,7 +27,7 @@ Platform teams create the Router and the agent keys. See [Manage Routers](/conte | Client | Use it when | Package and guide | |:-------|:------------|:------------------| | Python | Your application or agent uses Python. | Install [`redis-iris`](https://pypi.org/project/redis-iris/) and follow the [quickstart](/content/develop/ai/context-engine/intent-router/quickstart.md). `IntentRouter` matches and authors intents with methods such as `match`, `define`, and `add_examples`. Its `client` property exposes the generated data-plane client for anything those methods don't wrap, and its `service` property administers Routers. The generated clients' methods return the response as `.headers` and `.result`. | -| TypeScript | Your application or agent uses JavaScript or TypeScript. | Install [`@redis-iris/intent-router`](https://www.npmjs.com/package/@redis-iris/intent-router) with `npm install @redis-iris/intent-router@beta`. `IntentRouter` calls the data plane, and `IntentRouterService` calls the control plane. Methods take positional arguments with request options last, and return `{ headers, result }`. | +| TypeScript | Your application or agent uses JavaScript or TypeScript. | Install [`@redis-iris/intent-router`](https://www.npmjs.com/package/@redis-iris/intent-router) with `npm install @redis-iris/intent-router`. `IntentRouter` calls the data plane, and `IntentRouterService` calls the control plane. Methods take positional arguments with request options last, and return `{ headers, result }`. | | CLI | You work from a shell, a script, or continuous integration. | The `iris intent-router` commands ship in the same [`redis-iris`](https://pypi.org/project/redis-iris/) package. | | HTTP | You need language-independent access or don't want a package dependency. | No package required. Send requests as shown in the [API reference](/content/develop/ai/context-engine/intent-router/api-reference.md). | diff --git a/content/develop/ai/context-engine/intent-router/quickstart.md b/content/develop/ai/context-engine/intent-router/quickstart.md index 9b63ef05c3..c789cc03ce 100644 --- a/content/develop/ai/context-engine/intent-router/quickstart.md +++ b/content/develop/ai/context-engine/intent-router/quickstart.md @@ -26,13 +26,13 @@ Follow one tab throughout the page. The Python package and the command-line inte ```bash python -m venv .venv source .venv/bin/activate -python -m pip install 'redis-iris>=1.0.0b1' +python -m pip install 'redis-iris>=1.0.0' ``` **TypeScript** ```bash -npm install @redis-iris/intent-router@beta +npm install @redis-iris/intent-router ``` **cURL** diff --git a/content/develop/ai/context-engine/lens/read-api.md b/content/develop/ai/context-engine/lens/read-api.md index 66ee7669ca..35e4ea007e 100644 --- a/content/develop/ai/context-engine/lens/read-api.md +++ b/content/develop/ai/context-engine/lens/read-api.md @@ -14,7 +14,7 @@ weight: 35 Use the Lens read application programming interface (API) to list sessions and read turns from code, for example to export failed turns or build your own reports. The Python examples use the Lens read client: ```bash -python -m pip install 'redis-agent-lens>=0.1.0a4' +python -m pip install 'redis-agent-lens>=1.0.0' ``` The cURL examples use Bash and jq. Every operation is a `GET` request. diff --git a/content/develop/ai/context-engine/sdk-and-cli.md b/content/develop/ai/context-engine/sdk-and-cli.md index 2240a0f235..1992852a3e 100644 --- a/content/develop/ai/context-engine/sdk-and-cli.md +++ b/content/develop/ai/context-engine/sdk-and-cli.md @@ -153,6 +153,7 @@ The CLI takes each setting from the first of these that sets it: a command optio | `service_url` | The service's control plane, which the CLI calls | | `url` | The data plane your agent calls. The CLI writes it into `.env` | | `identity_url` | The Identity Service that mints this service's keys | +| `database_id` | Agent Memory only: the database `service create` puts a store in when neither `--database` nor `service.yaml` names one. Default `1` | | `[profiles..identity]` `url`, `tenant` | An Identity Service shared by every service, and its tenant | `iris.toml` never holds secrets. A token or API key in it stops the CLI with exit code 2. Tokens and keys come only from environment variables or the files the CLI writes. diff --git a/content/operate/iris/intent-router/_index.md b/content/operate/iris/intent-router/_index.md index 3d61f00ced..2f6d370274 100644 --- a/content/operate/iris/intent-router/_index.md +++ b/content/operate/iris/intent-router/_index.md @@ -9,8 +9,6 @@ categories: - iris weight: 24 hideListLinks: true -bannerText: Documentation review draft. -bannerChildren: true --- Deploy Redis Intent Router on Kubernetes to give applications a service that classifies text into intents and returns the target to dispatch to. diff --git a/layouts/shortcodes/iris-demo.html b/layouts/shortcodes/iris-demo.html index 32da6236fd..7497162411 100644 --- a/layouts/shortcodes/iris-demo.html +++ b/layouts/shortcodes/iris-demo.html @@ -44,7 +44,7 @@ data-art="{{ "images/ai/context-engine/iris-diagram/" | relURL }}" data-link-retriever="{{ relref .Page "/develop/ai/context-engine/context-gateway" }}" data-link-memory="{{ relref .Page "/develop/ai/context-engine/agent-memory/interactive-demo" }}" - data-link-cache="{{ relref .Page "/develop/ai/context-engine/agent-playbook" }}" + data-link-cache="{{ relref .Page "/develop/ai/context-engine/agent-playbooks" }}" data-link-lens="{{ relref .Page "/develop/ai/context-engine/lens" }}"> diff --git a/local_examples/iris/playbooks/faqs/faqs.cli.sh b/local_examples/iris/playbooks/faqs/faqs.cli.sh index bd96a42593..db8148c1d0 100644 --- a/local_examples/iris/playbooks/faqs/faqs.cli.sh +++ b/local_examples/iris/playbooks/faqs/faqs.cli.sh @@ -25,7 +25,7 @@ jq . faq-draft.json # STEP_END # STEP_START playbook-faq-publish -iris --json agent-playbooks faqs get "$FAQ_ID" --version "$VERSION" | jq .content +iris --json agent-playbooks faqs show "$FAQ_ID" --version "$VERSION" | jq .content # STEP_END # STEP_START playbook-faq-publication @@ -40,7 +40,7 @@ cat > search.json <<'JSON' "limit": 5 } JSON -iris --json agent-playbooks faqs search --input search.json | jq .matches +iris --json agent-playbooks faqs search --input search.json | jq .items # STEP_END # STEP_START playbook-faq-update @@ -48,7 +48,7 @@ jq '.answer += " Support can check the current stage but cannot guarantee a bank faq.json > faq-update.json iris --json agent-playbooks faqs push faq-update.json > faq-updated.json UPDATED_VERSION=$(jq -er '.results[0].version' faq-updated.json) -iris --json agent-playbooks faqs get "$FAQ_ID" --version "$UPDATED_VERSION" | jq .content +iris --json agent-playbooks faqs show "$FAQ_ID" --version "$UPDATED_VERSION" | jq .content # STEP_END # STEP_START playbook-faq-republish diff --git a/local_examples/iris/playbooks/proposals/proposals.cli.sh b/local_examples/iris/playbooks/proposals/proposals.cli.sh index e4e219db56..6e989e6e5a 100644 --- a/local_examples/iris/playbooks/proposals/proposals.cli.sh +++ b/local_examples/iris/playbooks/proposals/proposals.cli.sh @@ -14,7 +14,7 @@ iris --json agent-playbooks proposals list --view inbox --sort-by updatedAt --so # STEP_START playbook-proposal-search iris --json agent-playbooks proposals search 'Contact support about a missing refund' \ - --minimum-score 0.7 --action-type add --entry-type faq --limit 5 | jq .matches + --min-score 0.7 --action-type add --entry-type faq --limit 5 | jq .items # STEP_END # STEP_START playbook-proposal-create @@ -34,7 +34,7 @@ cat > proposal-source.json <<'JSON' JSON iris --json agent-playbooks proposals create proposal-faq.json --source proposal-source.json > proposal-created.json PROPOSAL_ID=$(jq -er '.proposalId' proposal-created.json) -jq '{proposalId, proposalRevision}' proposal-created.json +jq '{proposalId, revision}' proposal-created.json # STEP_END # STEP_START playbook-proposal-evidence @@ -54,12 +54,12 @@ iris --json agent-playbooks proposals evidence "$PROPOSAL_ID" "$EVIDENCE_ID" --i # STEP_END # STEP_START playbook-proposal-read -iris --json agent-playbooks proposals get "$PROPOSAL_ID" > reviewed.json +iris --json agent-playbooks proposals show "$PROPOSAL_ID" > reviewed.json jq . reviewed.json # STEP_END # STEP_START playbook-proposal-replace -REVISION=$(jq -er '.proposalRevision' reviewed.json) +REVISION=$(jq -er '.revision' reviewed.json) jq ' .action.add.candidate.content | { @@ -77,11 +77,11 @@ if [[ -n "$ENTRY_KEY" ]]; then fi iris --json agent-playbooks proposals replace "$PROPOSAL_ID" proposal-update.json \ --expected-revision "$REVISION" > revised.json -jq '{proposalRevision, action}' revised.json +jq '{revision, action}' revised.json # STEP_END # STEP_START playbook-proposal-trash -REVISION=$(jq -er '.proposalRevision' revised.json) +REVISION=$(jq -er '.revision' revised.json) iris agent-playbooks proposals dismiss "$PROPOSAL_ID" --expected-revision "$REVISION" iris agent-playbooks proposals restore "$PROPOSAL_ID" # To purge a trashed proposal instead of restoring it: @@ -89,16 +89,16 @@ iris agent-playbooks proposals restore "$PROPOSAL_ID" # STEP_END # STEP_START playbook-proposal-final-review -iris --json agent-playbooks proposals get "$PROPOSAL_ID" > final-review.json -jq '{action, evidence, proposalRevision}' final-review.json +iris --json agent-playbooks proposals show "$PROPOSAL_ID" > final-review.json +jq '{action, evidence, revision}' final-review.json # STEP_END # STEP_START playbook-proposal-accept -REVISION=$(jq -er '.proposalRevision' final-review.json) +REVISION=$(jq -er '.revision' final-review.json) iris --json agent-playbooks proposals accept "$PROPOSAL_ID" --expected-revision "$REVISION" > accepted.json ACCEPTED_FAQ_ID=$(jq -er '.result.versionCreated.entryId' accepted.json) ACCEPTED_VERSION=$(jq -er '.result.versionCreated.version' accepted.json) -iris --json agent-playbooks faqs get "$ACCEPTED_FAQ_ID" --version "$ACCEPTED_VERSION" | jq '{entryId, version, content}' +iris --json agent-playbooks faqs show "$ACCEPTED_FAQ_ID" --version "$ACCEPTED_VERSION" | jq '{entryId, version, content}' # STEP_END # STEP_START playbook-proposal-publish diff --git a/local_examples/iris/playbooks/quickstart/quickstart.cli.sh b/local_examples/iris/playbooks/quickstart/quickstart.cli.sh index 64e32983cb..00a4b29699 100644 --- a/local_examples/iris/playbooks/quickstart/quickstart.cli.sh +++ b/local_examples/iris/playbooks/quickstart/quickstart.cli.sh @@ -27,7 +27,7 @@ jq . faq-draft.json # STEP_END # STEP_START playbook-quickstart-publish -iris --json agent-playbooks faqs get "$FAQ_ID" --version "$VERSION" | jq .content +iris --json agent-playbooks faqs show "$FAQ_ID" --version "$VERSION" | jq .content # STEP_END # STEP_START playbook-quickstart-publication @@ -42,7 +42,7 @@ cat > search.json <<'JSON' "limit": 5 } JSON -iris --json agent-playbooks faqs search --input search.json | jq .matches +iris --json agent-playbooks faqs search --input search.json | jq .items # STEP_END # STEP_START playbook-quickstart-discover @@ -61,10 +61,10 @@ jq '.answer += " Support can check the current stage but cannot guarantee a bank faq.json > faq-update.json iris --json agent-playbooks faqs push faq-update.json > faq-updated.json UPDATED_VERSION=$(jq -er '.results[0].version' faq-updated.json) -iris --json agent-playbooks faqs get "$FAQ_ID" --version "$UPDATED_VERSION" | jq .content +iris --json agent-playbooks faqs show "$FAQ_ID" --version "$UPDATED_VERSION" | jq .content # STEP_END # STEP_START playbook-quickstart-republish iris agent-playbooks faqs publish "$FAQ_ID" --version "$UPDATED_VERSION" -iris --json agent-playbooks faqs search --input search.json | jq .matches +iris --json agent-playbooks faqs search --input search.json | jq .items # STEP_END diff --git a/local_examples/iris/playbooks/retrieval/retrieval.cli.sh b/local_examples/iris/playbooks/retrieval/retrieval.cli.sh index 8e8142ab2c..d65693b065 100644 --- a/local_examples/iris/playbooks/retrieval/retrieval.cli.sh +++ b/local_examples/iris/playbooks/retrieval/retrieval.cli.sh @@ -37,7 +37,7 @@ iris --json agent-playbooks skills search 'Draft a reply about a reported refund # STEP_END # STEP_START playbook-retrieval-threshold -iris --json agent-playbooks faqs search 'Where is my refund?' --minimum-score 0.75 --limit 3 | jq .matches +iris --json agent-playbooks faqs search 'Where is my refund?' --min-score 0.75 --limit 3 | jq .items # STEP_END # STEP_START playbook-retrieval-filter diff --git a/local_examples/iris/playbooks/skills/skills.cli.sh b/local_examples/iris/playbooks/skills/skills.cli.sh index 4ebc563954..581f618aa7 100644 --- a/local_examples/iris/playbooks/skills/skills.cli.sh +++ b/local_examples/iris/playbooks/skills/skills.cli.sh @@ -22,7 +22,7 @@ jq . skill-draft.json # STEP_END # STEP_START playbook-skill-review -iris --json agent-playbooks skills get "$SKILL_ID" --version "$SKILL_VERSION" | jq .content +iris --json agent-playbooks skills show "$SKILL_ID" --version "$SKILL_VERSION" | jq .content # STEP_END # STEP_START playbook-skill-publish @@ -34,11 +34,11 @@ jq '.attributes.channel = "chat"' refund-support-reply/.iris-playbook.json > ski mv skill-context.json refund-support-reply/.iris-playbook.json iris --json agent-playbooks skills push refund-support-reply > skill-updated.json UPDATED_VERSION=$(jq -er '.results[0].version' skill-updated.json) -iris --json agent-playbooks skills get "$SKILL_ID" --version "$UPDATED_VERSION" | jq .content +iris --json agent-playbooks skills show "$SKILL_ID" --version "$UPDATED_VERSION" | jq .content # STEP_END # STEP_START playbook-skill-load -iris --json agent-playbooks skills get "$SKILL_ID" --version "$SKILL_VERSION" > selected-skill.json +iris --json agent-playbooks skills show "$SKILL_ID" --version "$SKILL_VERSION" > selected-skill.json jq -r '.content.payload.skill.instructions' selected-skill.json iris agent-playbooks skills resource get "$SKILL_ID" references/reply-template.md \ --version "$SKILL_VERSION" --output reply-template.txt --force diff --git a/static/js/iris-request-flow.js b/static/js/iris-request-flow.js index 0ff9c4a2fd..f72e1c4b19 100644 --- a/static/js/iris-request-flow.js +++ b/static/js/iris-request-flow.js @@ -21,7 +21,7 @@ /* Top to bottom. `along` marks the parts that work alongside the request rather than answering it. */ var STACK = [ { key: "router", name: "Intent Router", role: "Matches the message to an intent you defined" }, // TODO: add doc: "/develop/ai/context-engine/intent-router" when intent-router-docs-align merges - { key: "playbooks", name: "Agent Playbooks", role: "Published answers and procedures", doc: "/develop/ai/context-engine/agent-playbook" }, + { key: "playbooks", name: "Agent Playbooks", role: "Published answers and procedures", doc: "/develop/ai/context-engine/agent-playbooks" }, { key: "memory", name: "Agent Memory", role: "Session and long-term recall", doc: "/develop/ai/context-engine/agent-memory" }, { key: "gateway", name: "Context Gateway", role: "Governed tools over your data and MCP servers", doc: "/develop/ai/context-engine/context-gateway" }, { key: "lens", name: "Lens", role: "Traces each turn", doc: "/develop/ai/context-engine/lens", along: true },