Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/black-baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,6 @@ test/test_acp_true_provider_error.py
test/test_acp_turn_lock.py
test/test_admission_gate.py
test/test_agent_default_model.py
test/test_agent_delete_reference_guard.py
test/test_agent_discovery.py
test/test_agent_import_hoist.py
test/test_agent_source_ownership_durability.py
Expand Down
14 changes: 0 additions & 14 deletions config-baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -7639,20 +7639,6 @@
"enumValues": null,
"defaultValue": true
},
{
"path": "agent_template_pane",
"kind": "core",
"type": "boolean",
"required": false,
"deprecated": false,
"sensitive": false,
"tags": [],
"label": "Agent template pane",
"help": "Show the crew definition panel with private fork-on-edit (soak; see #8567).",
"hasChildren": false,
"enumValues": null,
"defaultValue": false
},
{
"path": "timezone",
"kind": "core",
Expand Down
6 changes: 3 additions & 3 deletions docs/feature-map/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ stay wired, but it is entered from the topbar bell rather than a rail row.

## Agent Capabilities

One destination, pinned to the bottom of the rail, hosting nine tabs. Every tab
One destination, pinned to the bottom of the rail, hosting eight tabs. Every tab
is a `?tab=` value on `/capabilities` (`pages/CapabilitiesPage.tsx`).

Any one of those tabs can also be **promoted to its own top-level rail row**, so
Expand All @@ -112,9 +112,9 @@ no endpoint: the preference never leaves the browser.

| Tab | What it is | Reach it | Page | Handler | Endpoints |
|---|---|---|---|---|---|
| Crews | Named agent bindings — which agent, model and workspace; per-crew custom avatar (hand-picked ghost traits or an uploaded picture, edited in the crew editor's avatar builder; a crew can also wear an appearance pack, picked on the builder's Library tab — see Crew appearance library); the definition panel forks a private template copy on first edit (`components/crew/AgentTemplateDetail.tsx`, behind `agent_template_pane`) | `/capabilities?tab=crews` | `pages/KiroCrewAgentsPage.tsx`, `components/CrewAvatarBuilder.tsx`, `components/CrewAvatarLibraryTab.tsx`, `components/CrewAvatar.tsx`, `lib/appearancePacks/` | `handlers/agents.py` | `GET /api/agent/config`, `GET,PUT /api/config/default-agent`, `POST /api/agents`, `PUT,DELETE /api/agents/{name}`, `GET,POST /api/agents/{name}/avatar`, `POST /api/agents/detail/{name}/fork`, `POST /api/agents/detail/{name}/publish`, `POST /api/agents/detail/{name}/reset` |
| Crews | Named agent bindings — which agent, model and workspace; per-crew custom avatar (hand-picked ghost traits or an uploaded picture, edited in the crew editor's avatar builder; a crew can also wear an appearance pack, picked on the builder's Library tab — see Crew appearance library); the definition panel forks a private template copy on first edit (`components/crew/AgentTemplateDetail.tsx`) | `/capabilities?tab=crews` | `pages/KiroCrewAgentsPage.tsx`, `components/CrewAvatarBuilder.tsx`, `components/CrewAvatarLibraryTab.tsx`, `components/CrewAvatar.tsx`, `lib/appearancePacks/` | `handlers/agents.py` | `GET,PUT /api/config/default-agent`, `POST /api/agents`, `PUT,DELETE /api/agents/{name}`, `GET,POST /api/agents/{name}/avatar`, `POST /api/agents/detail/{name}/fork`, `POST /api/agents/detail/{name}/publish`, `POST /api/agents/detail/{name}/reset` |
| Crew appearance library | The dashboard's own library of appearance packs (art only in this round; pack-carried sound cues return in a later change) a crew can wear, rooted at `<data home>/appearance-library/`. Separate from Crew Companion's library: that app is independent and keeps its own packs; the two share only the pack format, so a pack exported from the Companion gallery imports here unchanged. A crew record names a pack as `avatar: {"kind":"pack","id":...}`, and the API can list, read, import, PetDex-fetch and delete packs; deleting a pack a crew wears is refused by name unless forced. The crew editor's avatar builder carries the picker on a **Library** tab: a grid of cards (thumbnail read through the per-slot route, name, author, built-in/custom badge, format), an "Import pack (.json)…" control that posts an exported bundle, and a two-click delete on a custom pack whose 409 names the crews still wearing it (`?force=1` is deliberately not offered). **Crews wear SVG packs only in v1** — the face is an `<img>` and core ships no Lottie or sprite player, so a pack in either format lists greyed and unselectable rather than hidden | `/capabilities?tab=crews` → a crew → Edit avatar → Library | `components/CrewAvatarLibraryTab.tsx`, `components/CrewAvatarBuilder.tsx`, `components/CrewAvatar.tsx` (the pack tier), `lib/appearancePacks/library.ts`, `lib/appearancePacks/types.ts` | `handlers/appearances.py`, `dashboard/appearances.py` (crew store), `appearance_packs/store.py` (shared store class), `appearance_packs/transfer.py` (bundle import and PetDex fetch) | `GET /api/appearances`, `GET /api/appearances/{id}`, `GET /api/appearances/{id}/slot/{slot}`, `POST /api/appearances/import`, `POST /api/appearances/petdex/fetch`, `DELETE /api/appearances/{id}` |
| Agent Templates | The harness-level agent definitions crews bind to | `?tab=templates` | `pages/AgentsPage.tsx` | `handlers/agents.py` | `GET /api/agent/config`, `GET /api/config/schema` |
| Agent Templates | The harness-level agent definitions crews bind to — viewed and edited inline in each agent's Template pane (`components/crew/AgentTemplateDetail.tsx`); the standalone tab was removed | `/capabilities?tab=crews` | `pages/KiroCrewAgentsPage.tsx` | `handlers/agents.py` | `GET /api/agents/installed`, `GET,PATCH /api/agents/detail/{name}`, `POST /api/agents/detail/{name}/fork`, `POST /api/agents/detail/{name}/publish`, `POST /api/agents/detail/{name}/reset` |
| Connections | MCP servers: install, sign in, enable, scope tools | `?tab=mcp` | `pages/connections/ConnectionsPage.tsx` | `handlers/mcp.py`, `handlers/connections.py`, `handlers/mcp_discover.py` | `GET /api/mcp`, `GET /api/mcp/discover`, `POST /api/connections/mint`, `POST /api/mcp/custom` |
| Skills | Installed skills, the public registry, pending candidates | `?tab=skills` | `pages/overview/SkillsTab.tsx` | `handlers/prompts.py`, `handlers/discover.py`, `handlers/skill_budget.py` | `GET,POST /api/skills`, `GET /api/skills/-/discover`, `GET /api/skills/-/pending` |
| Knowledge | The document library: sources, sync, entities, graph | `?tab=knowledge` | `pages/knowledge/index.tsx` | `handlers/knowledge.py` | `GET /api/knowledge/items`, `POST /api/knowledge/sources`, `GET /api/knowledge/graph` |
Expand Down
Loading
Loading