mia-code 0.2.0 → 0.3.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/.miette/260321.md +1 -0
- package/.miette/260323.md +9 -0
- package/.miette/260331.md +2 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--d3417f2c-df12-4f0f-8a1b-d88e7968f822/d3417f2c-df12-4f0f-8a1b-d88e7968f822.md +63 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--e6c3fc5d-4a70-4523-ba7d-a3250da4c235/e6c3fc5d-4a70-4523-ba7d-a3250da4c235.md +72 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--efeb00a2-b17a-4d32-b1f0-b90c37a8d24e/efeb00a2-b17a-4d32-b1f0-b90c37a8d24e.md +62 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.json +302 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.md +149 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/AGENTS.md +31 -0
- package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/meta-decomposition-3-children.md +67 -0
- package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/61f9dd4d-7aa6-45e6-a58b-e480b1aa6737--from-mia-openclaw-workspace.md +125 -0
- package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/STATUS.md +1 -0
- package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.json +177 -0
- package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.md +77 -0
- package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.json +222 -0
- package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.md +99 -0
- package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.json +111 -0
- package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.md +67 -0
- package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.json +349 -0
- package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.md +147 -0
- package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.json +118 -0
- package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.md +64 -0
- package/GUILLAUME.md +8 -0
- package/KINSHIP.md +9 -0
- package/MIA_CODE_ARCHITECTURE_REPORT.md +718 -0
- package/contextual_research/260119-MIA-CODE--98090899-8aff-4e11-9dc3-8b99466d1.md +1101 -0
- package/contextual_research/MIA.md +38 -0
- package/contextual_research/MIAWAPASCONE.md +59 -0
- package/contextual_research/MIETTE.md +38 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2504.00218v2.pdf +7483 -12
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2505.00212v3.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/CONTENT.md +1014 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/DESIGN.gemini.md +242 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/INDEX.md +45 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.md +2025 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.pdf +7483 -12
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.md +1755 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_12_decomposed_prompting.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_19_hugginggpt_planning.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.md +766 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.pdf +3431 -4
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.md +260 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.md +558 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_34_hierarchical_multi_agent.pdf +0 -0
- package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_5_open_intent_extraction.pdf +0 -0
- package/contextual_research/PODCAST.md +109 -0
- package/contextual_research/langchain-principles-roadmap.md +157 -0
- package/contextual_research/persona-to-narrative-character-inquiry_260201.md +50 -0
- package/dist/cli.js +35 -11
- package/dist/geminiHeadless.js +8 -2
- package/dist/index.js +2 -1
- package/dist/mcp/miaco-server.js +10 -1
- package/dist/mcp/miatel-server.js +10 -1
- package/dist/mcp/miawa-server.js +10 -1
- package/dist/mcp/utils.d.ts +6 -1
- package/dist/mcp/utils.js +24 -3
- package/dist/sessionStore.d.ts +8 -2
- package/dist/sessionStore.js +39 -3
- package/dist/types.d.ts +1 -0
- package/miaco/README.md +124 -0
- package/miaco/dist/commands/chart.d.ts +6 -0
- package/miaco/dist/commands/chart.d.ts.map +1 -0
- package/miaco/dist/commands/chart.js +222 -0
- package/miaco/dist/commands/chart.js.map +1 -0
- package/miaco/dist/commands/decompose.d.ts +6 -0
- package/miaco/dist/commands/decompose.d.ts.map +1 -0
- package/miaco/dist/commands/decompose.js +98 -0
- package/miaco/dist/commands/decompose.js.map +1 -0
- package/miaco/dist/commands/schema.d.ts +6 -0
- package/miaco/dist/commands/schema.d.ts.map +1 -0
- package/miaco/dist/commands/schema.js +66 -0
- package/miaco/dist/commands/schema.js.map +1 -0
- package/miaco/dist/commands/stc.d.ts +11 -0
- package/miaco/dist/commands/stc.d.ts.map +1 -0
- package/miaco/dist/commands/stc.js +590 -0
- package/miaco/dist/commands/stc.js.map +1 -0
- package/miaco/dist/commands/trace.d.ts +6 -0
- package/miaco/dist/commands/trace.d.ts.map +1 -0
- package/miaco/dist/commands/trace.js +83 -0
- package/miaco/dist/commands/trace.js.map +1 -0
- package/miaco/dist/commands/validate.d.ts +6 -0
- package/miaco/dist/commands/validate.d.ts.map +1 -0
- package/miaco/dist/commands/validate.js +58 -0
- package/miaco/dist/commands/validate.js.map +1 -0
- package/miaco/dist/decompose.d.ts +93 -0
- package/miaco/dist/decompose.d.ts.map +1 -0
- package/miaco/dist/decompose.js +562 -0
- package/miaco/dist/decompose.js.map +1 -0
- package/miaco/dist/index.d.ts +18 -0
- package/miaco/dist/index.d.ts.map +1 -0
- package/miaco/dist/index.js +83 -0
- package/miaco/dist/index.js.map +1 -0
- package/miaco/dist/storage.d.ts +60 -0
- package/miaco/dist/storage.d.ts.map +1 -0
- package/miaco/dist/storage.js +100 -0
- package/miaco/dist/storage.js.map +1 -0
- package/miaco/package-lock.json +4103 -0
- package/miaco/package.json +40 -0
- package/miaco/tsconfig.json +18 -0
- package/miaco/version-patch-commit-and-publish.sh +1 -0
- package/miatel/MISSION_251231.md +3 -0
- package/miatel/README.md +107 -0
- package/miatel/dist/commands/analyze.d.ts +6 -0
- package/miatel/dist/commands/analyze.d.ts.map +1 -0
- package/miatel/dist/commands/analyze.js +100 -0
- package/miatel/dist/commands/analyze.js.map +1 -0
- package/miatel/dist/commands/arc.d.ts +6 -0
- package/miatel/dist/commands/arc.d.ts.map +1 -0
- package/miatel/dist/commands/arc.js +71 -0
- package/miatel/dist/commands/arc.js.map +1 -0
- package/miatel/dist/commands/beat.d.ts +6 -0
- package/miatel/dist/commands/beat.d.ts.map +1 -0
- package/miatel/dist/commands/beat.js +165 -0
- package/miatel/dist/commands/beat.js.map +1 -0
- package/miatel/dist/commands/theme.d.ts +6 -0
- package/miatel/dist/commands/theme.d.ts.map +1 -0
- package/miatel/dist/commands/theme.js +54 -0
- package/miatel/dist/commands/theme.js.map +1 -0
- package/miatel/dist/index.d.ts +18 -0
- package/miatel/dist/index.d.ts.map +1 -0
- package/miatel/dist/index.js +80 -0
- package/miatel/dist/index.js.map +1 -0
- package/miatel/dist/storage.d.ts +55 -0
- package/miatel/dist/storage.d.ts.map +1 -0
- package/miatel/dist/storage.js +100 -0
- package/miatel/dist/storage.js.map +1 -0
- package/miatel/package-lock.json +4103 -0
- package/miatel/package.json +35 -0
- package/miatel/src/commands/analyze.ts +109 -0
- package/miatel/src/commands/arc.ts +78 -0
- package/miatel/src/commands/beat.ts +176 -0
- package/miatel/src/commands/theme.ts +60 -0
- package/miatel/src/index.ts +94 -0
- package/miatel/src/storage.ts +156 -0
- package/miatel/tsconfig.json +18 -0
- package/miawa/MISSION_251231.md +144 -0
- package/miawa/README.md +133 -0
- package/miawa/dist/commands/beat.d.ts +6 -0
- package/miawa/dist/commands/beat.d.ts.map +1 -0
- package/miawa/dist/commands/beat.js +69 -0
- package/miawa/dist/commands/beat.js.map +1 -0
- package/miawa/dist/commands/ceremony.d.ts +6 -0
- package/miawa/dist/commands/ceremony.d.ts.map +1 -0
- package/miawa/dist/commands/ceremony.js +239 -0
- package/miawa/dist/commands/ceremony.js.map +1 -0
- package/miawa/dist/commands/circle.d.ts +6 -0
- package/miawa/dist/commands/circle.d.ts.map +1 -0
- package/miawa/dist/commands/circle.js +75 -0
- package/miawa/dist/commands/circle.js.map +1 -0
- package/miawa/dist/commands/eva.d.ts +6 -0
- package/miawa/dist/commands/eva.d.ts.map +1 -0
- package/miawa/dist/commands/eva.js +73 -0
- package/miawa/dist/commands/eva.js.map +1 -0
- package/miawa/dist/commands/wound.d.ts +6 -0
- package/miawa/dist/commands/wound.d.ts.map +1 -0
- package/miawa/dist/commands/wound.js +74 -0
- package/miawa/dist/commands/wound.js.map +1 -0
- package/miawa/dist/index.d.ts +19 -0
- package/miawa/dist/index.d.ts.map +1 -0
- package/miawa/dist/index.js +91 -0
- package/miawa/dist/index.js.map +1 -0
- package/miawa/dist/storage.d.ts +73 -0
- package/miawa/dist/storage.d.ts.map +1 -0
- package/miawa/dist/storage.js +100 -0
- package/miawa/dist/storage.js.map +1 -0
- package/miawa/package-lock.json +4103 -0
- package/miawa/package.json +36 -0
- package/miawa/src/commands/beat.ts +74 -0
- package/miawa/src/commands/ceremony.ts +256 -0
- package/miawa/src/commands/circle.ts +83 -0
- package/miawa/src/commands/eva.ts +84 -0
- package/miawa/src/commands/wound.ts +79 -0
- package/miawa/src/index.ts +108 -0
- package/miawa/src/storage.ts +179 -0
- package/miawa/tsconfig.json +18 -0
- package/package.json +7 -5
- package/references/acp/CLAUDE.md +7 -0
- package/references/acp/agent-plan.md +84 -0
- package/references/acp/clients.md +31 -0
- package/references/acp/extensibility.md +137 -0
- package/references/acp/initialization.md +225 -0
- package/references/acp/prompt-turn.md +321 -0
- package/references/acp/proxy-chains.md +562 -0
- package/references/acp/schema.md +3171 -0
- package/references/acp/session-list.md +334 -0
- package/references/acp/session-modes.md +170 -0
- package/references/acp/slash-commands.md +99 -0
- package/references/acp/terminals.md +281 -0
- package/references/acp/tool-calls.md +311 -0
- package/references/acp/typescript.md +29 -0
- package/references/claude/agent-teams.md +399 -0
- package/references/claude/chrome.md +231 -0
- package/references/claude/headless.md +158 -0
- package/references/claude/hooks-guide.md +708 -0
- package/references/claude/output-styles.md +112 -0
- package/references/claude/plugins.md +432 -0
- package/references/claude/skills.md +693 -0
- package/references/claude/sub-agents.md +816 -0
- package/references/copilot/acp/agents.md +32 -0
- package/references/copilot/acp/architecture.md +37 -0
- package/references/copilot/acp/clients.md +31 -0
- package/references/copilot/acp/introduction.md +42 -0
- package/references/copilot/acp/registry.md +339 -0
- package/references/copilot/acp-server.md +117 -0
- package/references/copilot/create-copilot-instructions.md +840 -0
- package/references/langchain/llms.txt +833 -0
- package/references/langchain/python/agents.md +677 -0
- package/references/langchain/python/context-engineering.md +1195 -0
- package/references/langchain/python/human-in-the-loop.md +326 -0
- package/references/langchain/python/long-term-memory.md +168 -0
- package/references/langchain/python/mcp.md +949 -0
- package/references/langchain/python/multi-agents/custom-workflow.md +187 -0
- package/references/langchain/python/multi-agents/handoffs.md +436 -0
- package/references/langchain/python/multi-agents/overview.md +295 -0
- package/references/langchain/python/multi-agents/router.md +150 -0
- package/references/langchain/python/multi-agents/skills.md +92 -0
- package/references/langchain/python/multi-agents/subagents.md +486 -0
- package/references/langchain/python/retrieval.md +320 -0
- package/references/langchain/python/runtime.md +141 -0
- package/references/langchain/python/short-term-memory.md +658 -0
- package/references/langchain/python/structured-output.md +712 -0
- package/references/langfuse/llms.txt +148 -0
- package/references/langgraph/javascript/llms.txt +275 -0
- package/references/skills/home.md +259 -0
- package/references/skills/integrate-skills.md +103 -0
- package/references/skills/specification.md +254 -0
- package/references/skills/what-are-skills.md +74 -0
- package/rispecs/README.md +164 -0
- package/rispecs/_sync_/miadi-code/SPEC.md +313 -0
- package/rispecs/_sync_/miadi-code/STATUS.md +177 -0
- package/rispecs/_sync_/miadi-code/dashboard/SPEC.md +465 -0
- package/rispecs/_sync_/miadi-code/dashboard/STATUS.md +212 -0
- package/rispecs/_sync_/miadi-code/multiline-input/SPEC.md +232 -0
- package/rispecs/_sync_/miadi-code/multiline-input/STATUS.md +108 -0
- package/rispecs/_sync_/miadi-code/pde/SPEC.md +253 -0
- package/rispecs/_sync_/miadi-code/pde/STATUS.md +56 -0
- package/rispecs/_sync_/miadi-code/stc/SPEC.md +397 -0
- package/rispecs/_sync_/miadi-code/stc/STATUS.md +70 -0
- package/rispecs/ava-langstack/inquiry-routing-upgrade.spec.md +119 -0
- package/rispecs/borrowed_from_opencode/001-client-server-architecture.rispec.md +98 -0
- package/rispecs/borrowed_from_opencode/002-event-bus-system.rispec.md +125 -0
- package/rispecs/borrowed_from_opencode/003-instance-state-pattern.rispec.md +136 -0
- package/rispecs/borrowed_from_opencode/004-namespace-module-pattern.rispec.md +151 -0
- package/rispecs/borrowed_from_opencode/005-zod-schema-validation.rispec.md +139 -0
- package/rispecs/borrowed_from_opencode/006-named-error-system.rispec.md +155 -0
- package/rispecs/borrowed_from_opencode/007-structured-logging.rispec.md +138 -0
- package/rispecs/borrowed_from_opencode/008-lazy-initialization.rispec.md +127 -0
- package/rispecs/borrowed_from_opencode/009-multi-agent-system.rispec.md +97 -0
- package/rispecs/borrowed_from_opencode/010-agent-definition-config.rispec.md +135 -0
- package/rispecs/borrowed_from_opencode/011-agent-permission-rulesets.rispec.md +151 -0
- package/rispecs/borrowed_from_opencode/012-agent-prompt-templates.rispec.md +141 -0
- package/rispecs/borrowed_from_opencode/013-agent-generation.rispec.md +142 -0
- package/rispecs/borrowed_from_opencode/014-plan-build-mode-toggle.rispec.md +155 -0
- package/rispecs/borrowed_from_opencode/015-subagent-task-delegation.rispec.md +146 -0
- package/rispecs/borrowed_from_opencode/016-agent-model-selection.rispec.md +151 -0
- package/rispecs/borrowed_from_opencode/017-compaction-agent.rispec.md +150 -0
- package/rispecs/borrowed_from_opencode/018-session-persistence.rispec.md +125 -0
- package/rispecs/borrowed_from_opencode/019-session-compaction.rispec.md +132 -0
- package/rispecs/borrowed_from_opencode/020-session-forking.rispec.md +134 -0
- package/rispecs/borrowed_from_opencode/021-session-revert-snapshot.rispec.md +135 -0
- package/rispecs/borrowed_from_opencode/022-session-sharing.rispec.md +165 -0
- package/rispecs/borrowed_from_opencode/023-session-summary-diffs.rispec.md +165 -0
- package/rispecs/borrowed_from_opencode/024-child-sessions.rispec.md +164 -0
- package/rispecs/borrowed_from_opencode/025-session-title-generation.rispec.md +162 -0
- package/rispecs/borrowed_from_opencode/026-message-parts-model.rispec.md +201 -0
- package/rispecs/borrowed_from_opencode/027-streaming-message-deltas.rispec.md +212 -0
- package/rispecs/borrowed_from_opencode/028-multi-provider-architecture.rispec.md +184 -0
- package/rispecs/borrowed_from_opencode/029-provider-authentication.rispec.md +225 -0
- package/rispecs/borrowed_from_opencode/030-model-registry.rispec.md +222 -0
- package/rispecs/borrowed_from_opencode/031-cost-tracking.rispec.md +243 -0
- package/rispecs/borrowed_from_opencode/032-provider-transform-pipeline.rispec.md +282 -0
- package/rispecs/borrowed_from_opencode/033-provider-sdk-abstraction.rispec.md +338 -0
- package/rispecs/borrowed_from_opencode/034-tool-registry.rispec.md +110 -0
- package/rispecs/borrowed_from_opencode/035-tool-context-injection.rispec.md +155 -0
- package/rispecs/borrowed_from_opencode/036-tool-output-truncation.rispec.md +138 -0
- package/rispecs/borrowed_from_opencode/037-batch-tool.rispec.md +129 -0
- package/rispecs/borrowed_from_opencode/038-multi-edit-tool.rispec.md +167 -0
- package/rispecs/borrowed_from_opencode/039-apply-patch-tool.rispec.md +161 -0
- package/rispecs/borrowed_from_opencode/040-code-search-tool.rispec.md +143 -0
- package/rispecs/borrowed_from_opencode/041-web-fetch-tool.rispec.md +131 -0
- package/rispecs/borrowed_from_opencode/042-web-search-tool.rispec.md +159 -0
- package/rispecs/borrowed_from_opencode/043-todo-tool.rispec.md +156 -0
- package/rispecs/borrowed_from_opencode/044-plan-mode-tool.rispec.md +139 -0
- package/rispecs/borrowed_from_opencode/045-task-tool.rispec.md +146 -0
- package/rispecs/borrowed_from_opencode/046-question-tool.rispec.md +170 -0
- package/rispecs/borrowed_from_opencode/047-external-directory-tool.rispec.md +166 -0
- package/rispecs/borrowed_from_opencode/048-file-read-write-tools.rispec.md +205 -0
- package/rispecs/borrowed_from_opencode/049-lsp-server-management.rispec.md +104 -0
- package/rispecs/borrowed_from_opencode/050-lsp-hover-completion.rispec.md +102 -0
- package/rispecs/borrowed_from_opencode/051-lsp-diagnostics.rispec.md +86 -0
- package/rispecs/borrowed_from_opencode/052-lsp-root-detection.rispec.md +109 -0
- package/rispecs/borrowed_from_opencode/053-remote-mcp-servers.rispec.md +119 -0
- package/rispecs/borrowed_from_opencode/054-mcp-oauth-flow.rispec.md +107 -0
- package/rispecs/borrowed_from_opencode/055-mcp-tool-conversion.rispec.md +118 -0
- package/rispecs/borrowed_from_opencode/056-mcp-connection-monitoring.rispec.md +106 -0
- package/rispecs/borrowed_from_opencode/057-local-mcp-servers.rispec.md +116 -0
- package/rispecs/borrowed_from_opencode/058-rich-tui.rispec.md +108 -0
- package/rispecs/borrowed_from_opencode/059-streaming-display.rispec.md +116 -0
- package/rispecs/borrowed_from_opencode/060-permission-prompts.rispec.md +130 -0
- package/rispecs/borrowed_from_opencode/061-session-navigation.rispec.md +155 -0
- package/rispecs/borrowed_from_opencode/062-syntax-highlighting.rispec.md +151 -0
- package/rispecs/borrowed_from_opencode/063-keybinding-system.rispec.md +181 -0
- package/rispecs/borrowed_from_opencode/064-multi-level-config.rispec.md +155 -0
- package/rispecs/borrowed_from_opencode/065-jsonc-config.rispec.md +190 -0
- package/rispecs/borrowed_from_opencode/066-config-env-variables.rispec.md +153 -0
- package/rispecs/borrowed_from_opencode/067-config-deep-merging.rispec.md +178 -0
- package/rispecs/borrowed_from_opencode/068-remote-org-config.rispec.md +183 -0
- package/rispecs/borrowed_from_opencode/069-config-markdown-frontmatter.rispec.md +206 -0
- package/rispecs/borrowed_from_opencode/070-managed-config-directory.rispec.md +232 -0
- package/rispecs/borrowed_from_opencode/071-plugin-architecture.rispec.md +104 -0
- package/rispecs/borrowed_from_opencode/072-plugin-hooks.rispec.md +123 -0
- package/rispecs/borrowed_from_opencode/073-plugin-auto-install.rispec.md +115 -0
- package/rispecs/borrowed_from_opencode/074-permission-system.rispec.md +133 -0
- package/rispecs/borrowed_from_opencode/075-git-worktree-management.rispec.md +126 -0
- package/rispecs/borrowed_from_opencode/076-snapshot-system.rispec.md +124 -0
- package/rispecs/borrowed_from_opencode/077-snapshot-diff.rispec.md +117 -0
- package/rispecs/borrowed_from_opencode/078-snapshot-restore.rispec.md +128 -0
- package/rispecs/borrowed_from_opencode/079-worktree-branch-naming.rispec.md +122 -0
- package/rispecs/borrowed_from_opencode/080-sqlite-storage.rispec.md +134 -0
- package/rispecs/borrowed_from_opencode/081-database-migrations.rispec.md +148 -0
- package/rispecs/borrowed_from_opencode/082-database-transactions.rispec.md +138 -0
- package/rispecs/borrowed_from_opencode/083-deferred-effects.rispec.md +148 -0
- package/rispecs/borrowed_from_opencode/084-permission-rules.rispec.md +123 -0
- package/rispecs/borrowed_from_opencode/085-permission-glob-patterns.rispec.md +113 -0
- package/rispecs/borrowed_from_opencode/086-permission-merging.rispec.md +134 -0
- package/rispecs/borrowed_from_opencode/087-permission-modes.rispec.md +145 -0
- package/rispecs/borrowed_from_opencode/088-http-api-server.rispec.md +165 -0
- package/rispecs/borrowed_from_opencode/089-openapi-spec-generation.rispec.md +164 -0
- package/rispecs/borrowed_from_opencode/090-websocket-support.rispec.md +136 -0
- package/rispecs/borrowed_from_opencode/091-sse-streaming.rispec.md +168 -0
- package/rispecs/borrowed_from_opencode/092-mdns-discovery.rispec.md +145 -0
- package/rispecs/borrowed_from_opencode/093-javascript-sdk.rispec.md +200 -0
- package/rispecs/borrowed_from_opencode/094-skill-system.rispec.md +187 -0
- package/rispecs/borrowed_from_opencode/095-skill-discovery.rispec.md +182 -0
- package/rispecs/borrowed_from_opencode/096-desktop-remote-driving.rispec.md +175 -0
- package/rispecs/borrowed_from_opencode/INDEX.md +255 -0
- package/rispecs/core.rispecs.md +261 -0
- package/rispecs/engines.rispecs.md +241 -0
- package/rispecs/formatting.rispecs.md +252 -0
- package/rispecs/living-specifications.rispecs.md +361 -0
- package/rispecs/mcp.rispecs.md +197 -0
- package/rispecs/pde.rispecs.md +399 -0
- package/rispecs/pi-mono-envisionning/ENVISIONING.md +366 -0
- package/rispecs/pi-mono-envisionning/storytelling-horizon.rispecs.md +76 -0
- package/rispecs/pi-mono-envisionning/widget.rispecs.md +2 -0
- package/rispecs/relation-to-mcp-structural-thinking.kin.md +72 -0
- package/rispecs/research-for-better-framework/CLAUDE.md +7 -0
- package/rispecs/research-for-better-framework/survey-pi-openclaw-opencode-openhands.md +210 -0
- package/rispecs/session.rispecs.md +277 -0
- package/rispecs/stc.rispecs.md +138 -0
- package/rispecs/unifier.rispecs.md +317 -0
- package/scripts/LAUNCH--mcp-mia-code--testing--2603141315--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +2 -0
- package/scripts/RESUME--mia-code--mcps--260313--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +1 -0
- package/scripts/install-widget-in-home-pi-agent-extensions.sh +4 -0
- package/scripts/sample-decompose--2604011535-prompt.sh +1 -0
- package/skills/deep-search/AGENTS.md +17 -0
- package/skills/deep-search/SKILL.md +281 -0
- package/skills/deep-search/agent-templates.md +224 -0
- package/skills/deep-search/orchestration-patterns.md +95 -0
- package/skills/miaco-pde-inquiry-routing-deep-search/AGENTS.md +13 -0
- package/skills/miaco-pde-inquiry-routing-deep-search/SKILL.md +136 -0
- package/skills/miaco-pde-inquiry-routing-internal-external-relationship/AGENTS.md +4 -0
- package/skills/miaco-pde-inquiry-routing-internal-external-relationship/SKILL.md +157 -0
- package/skills/miaco-pde-inquiry-routing-local-qmd/AGENTS.md +42 -0
- package/skills/miaco-pde-inquiry-routing-local-qmd/SKILL.md +135 -0
- package/skills/qmd/AGENTS.md +3 -0
- package/skills/qmd/SKILL.md +144 -0
- package/skills/qmd/references/mcp-setup.md +102 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/SKILL.md +234 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/agent-templates.md +436 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/orchestration-patterns.md +197 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/references/ceremonial-technology.md +102 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/references/creative-orientation.md +99 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/references/prompt-decomposition.md +73 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/references/rise-framework.md +74 -0
- package/skills/rise-pde-inquiry-session-multi-agents-v3/references/structural-tension.md +82 -0
- package/src/cli.ts +35 -11
- package/src/geminiHeadless.ts +7 -2
- package/src/index.ts +2 -1
- package/src/mcp/miaco-server.ts +13 -1
- package/src/mcp/miatel-server.ts +13 -1
- package/src/mcp/miawa-server.ts +13 -1
- package/src/mcp/utils.ts +41 -8
- package/src/sessionStore.ts +44 -4
- package/src/types.ts +2 -1
- package/widget/mia-ceremony/README.md +36 -0
- package/widget/mia-ceremony/index.ts +143 -0
- package/widget/mia-interceptor/README.md +39 -0
- package/widget/mia-interceptor/index.ts +221 -0
- package/widget/mia-tools/README.md +37 -0
- package/widget/mia-tools/index.ts +569 -0
- package/widget/miette-echo/README.md +44 -0
- package/widget/miette-echo/index.ts +164 -0
- package/.claude/settings.local.json +0 -9
- package/.hch/issue_.env +0 -4
- package/.hch/issue_add__2601211715.json +0 -77
- package/.hch/issue_add__2601211715.md +0 -4
- package/.hch/issue_add__2602242020.json +0 -78
- package/.hch/issue_add__2602242020.md +0 -7
- package/.hch/issues.json +0 -2312
- package/.hch/issues.md +0 -30
- package/WS__mia-code__260214__IAIP_PDE.code-workspace +0 -29
- package/WS__mia-code__src332__260122.code-workspace +0 -23
- package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/checkpoints/index.md +0 -6
- package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/events.jsonl +0 -213
- package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/plan.md +0 -243
- package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/workspace.yaml +0 -5
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
> ## Documentation Index
|
|
2
|
+
> Fetch the complete documentation index at: https://agentclientprotocol.com/llms.txt
|
|
3
|
+
> Use this file to discover all available pages before exploring further.
|
|
4
|
+
|
|
5
|
+
# Terminals
|
|
6
|
+
|
|
7
|
+
> Executing and managing terminal commands
|
|
8
|
+
|
|
9
|
+
The terminal methods allow Agents to execute shell commands within the Client's environment. These methods enable Agents to run build processes, execute scripts, and interact with command-line tools while providing real-time output streaming and process control.
|
|
10
|
+
|
|
11
|
+
## Checking Support
|
|
12
|
+
|
|
13
|
+
Before attempting to use terminal methods, Agents **MUST** verify that the Client supports this capability by checking the [Client Capabilities](./initialization#client-capabilities) field in the `initialize` response:
|
|
14
|
+
|
|
15
|
+
```json highlight={7} theme={null}
|
|
16
|
+
{
|
|
17
|
+
"jsonrpc": "2.0",
|
|
18
|
+
"id": 0,
|
|
19
|
+
"result": {
|
|
20
|
+
"protocolVersion": 1,
|
|
21
|
+
"clientCapabilities": {
|
|
22
|
+
"terminal": true
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If `terminal` is `false` or not present, the Agent **MUST NOT** attempt to call any terminal methods.
|
|
29
|
+
|
|
30
|
+
## Executing Commands
|
|
31
|
+
|
|
32
|
+
The `terminal/create` method starts a command in a new terminal:
|
|
33
|
+
|
|
34
|
+
```json theme={null}
|
|
35
|
+
{
|
|
36
|
+
"jsonrpc": "2.0",
|
|
37
|
+
"id": 5,
|
|
38
|
+
"method": "terminal/create",
|
|
39
|
+
"params": {
|
|
40
|
+
"sessionId": "sess_abc123def456",
|
|
41
|
+
"command": "npm",
|
|
42
|
+
"args": ["test", "--coverage"],
|
|
43
|
+
"env": [
|
|
44
|
+
{
|
|
45
|
+
"name": "NODE_ENV",
|
|
46
|
+
"value": "test"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"cwd": "/home/user/project",
|
|
50
|
+
"outputByteLimit": 1048576
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
<ParamField path="sessionId" type="SessionId" required>
|
|
56
|
+
The [Session ID](./session-setup#session-id) for this request
|
|
57
|
+
</ParamField>
|
|
58
|
+
|
|
59
|
+
<ParamField path="command" type="string" required>
|
|
60
|
+
The command to execute
|
|
61
|
+
</ParamField>
|
|
62
|
+
|
|
63
|
+
<ParamField path="args" type="string[]">
|
|
64
|
+
Array of command arguments
|
|
65
|
+
</ParamField>
|
|
66
|
+
|
|
67
|
+
<ParamField path="env" type="EnvVariable[]">
|
|
68
|
+
Environment variables for the command.
|
|
69
|
+
|
|
70
|
+
Each variable has:
|
|
71
|
+
|
|
72
|
+
* `name`: The environment variable name
|
|
73
|
+
* `value`: The environment variable value
|
|
74
|
+
</ParamField>
|
|
75
|
+
|
|
76
|
+
<ParamField path="cwd" type="string">
|
|
77
|
+
Working directory for the command (absolute path)
|
|
78
|
+
</ParamField>
|
|
79
|
+
|
|
80
|
+
<ParamField path="outputByteLimit" type="number">
|
|
81
|
+
Maximum number of output bytes to retain. Once exceeded, earlier output is
|
|
82
|
+
truncated to stay within this limit.
|
|
83
|
+
|
|
84
|
+
When the limit is exceeded, the Client truncates from the beginning of the output
|
|
85
|
+
to stay within the limit.
|
|
86
|
+
|
|
87
|
+
The Client **MUST** ensure truncation happens at a character boundary to maintain valid
|
|
88
|
+
string output, even if this means the retained output is slightly less than the
|
|
89
|
+
specified limit.
|
|
90
|
+
</ParamField>
|
|
91
|
+
|
|
92
|
+
The Client returns a Terminal ID immediately without waiting for completion:
|
|
93
|
+
|
|
94
|
+
```json theme={null}
|
|
95
|
+
{
|
|
96
|
+
"jsonrpc": "2.0",
|
|
97
|
+
"id": 5,
|
|
98
|
+
"result": {
|
|
99
|
+
"terminalId": "term_xyz789"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This allows the command to run in the background while the Agent performs other operations.
|
|
105
|
+
|
|
106
|
+
After creating the terminal, the Agent can use the `terminal/wait_for_exit` method to wait for the command to complete.
|
|
107
|
+
|
|
108
|
+
<Note>
|
|
109
|
+
The Agent **MUST** release the terminal using `terminal/release` when it's no
|
|
110
|
+
longer needed.
|
|
111
|
+
</Note>
|
|
112
|
+
|
|
113
|
+
## Embedding in Tool Calls
|
|
114
|
+
|
|
115
|
+
Terminals can be embedded directly in [tool calls](./tool-calls) to provide real-time output to users:
|
|
116
|
+
|
|
117
|
+
```json theme={null}
|
|
118
|
+
{
|
|
119
|
+
"jsonrpc": "2.0",
|
|
120
|
+
"method": "session/update",
|
|
121
|
+
"params": {
|
|
122
|
+
"sessionId": "sess_abc123def456",
|
|
123
|
+
"update": {
|
|
124
|
+
"sessionUpdate": "tool_call",
|
|
125
|
+
"toolCallId": "call_002",
|
|
126
|
+
"title": "Running tests",
|
|
127
|
+
"kind": "execute",
|
|
128
|
+
"status": "in_progress",
|
|
129
|
+
"content": [
|
|
130
|
+
{
|
|
131
|
+
"type": "terminal",
|
|
132
|
+
"terminalId": "term_xyz789"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
When a terminal is embedded in a tool call, the Client displays live output as it's generated and continues to display it even after the terminal is released.
|
|
141
|
+
|
|
142
|
+
## Getting Output
|
|
143
|
+
|
|
144
|
+
The `terminal/output` method retrieves the current terminal output without waiting for the command to complete:
|
|
145
|
+
|
|
146
|
+
```json theme={null}
|
|
147
|
+
{
|
|
148
|
+
"jsonrpc": "2.0",
|
|
149
|
+
"id": 6,
|
|
150
|
+
"method": "terminal/output",
|
|
151
|
+
"params": {
|
|
152
|
+
"sessionId": "sess_abc123def456",
|
|
153
|
+
"terminalId": "term_xyz789"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The Client responds with the current output and exit status (if the command has finished):
|
|
159
|
+
|
|
160
|
+
```json theme={null}
|
|
161
|
+
{
|
|
162
|
+
"jsonrpc": "2.0",
|
|
163
|
+
"id": 6,
|
|
164
|
+
"result": {
|
|
165
|
+
"output": "Running tests...\n✓ All tests passed (42 total)\n",
|
|
166
|
+
"truncated": false,
|
|
167
|
+
"exitStatus": {
|
|
168
|
+
"exitCode": 0,
|
|
169
|
+
"signal": null
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
<ResponseField name="output" type="string" required>
|
|
176
|
+
The terminal output captured so far
|
|
177
|
+
</ResponseField>
|
|
178
|
+
|
|
179
|
+
<ResponseField name="truncated" type="boolean" required>
|
|
180
|
+
Whether the output was truncated due to byte limits
|
|
181
|
+
</ResponseField>
|
|
182
|
+
|
|
183
|
+
<ResponseField name="exitStatus" type="TerminalExitStatus">
|
|
184
|
+
Present only if the command has exited. Contains:
|
|
185
|
+
|
|
186
|
+
* `exitCode`: The process exit code (may be null)
|
|
187
|
+
* `signal`: The signal that terminated the process (may be null)
|
|
188
|
+
</ResponseField>
|
|
189
|
+
|
|
190
|
+
## Waiting for Exit
|
|
191
|
+
|
|
192
|
+
The `terminal/wait_for_exit` method returns once the command completes:
|
|
193
|
+
|
|
194
|
+
```json theme={null}
|
|
195
|
+
{
|
|
196
|
+
"jsonrpc": "2.0",
|
|
197
|
+
"id": 7,
|
|
198
|
+
"method": "terminal/wait_for_exit",
|
|
199
|
+
"params": {
|
|
200
|
+
"sessionId": "sess_abc123def456",
|
|
201
|
+
"terminalId": "term_xyz789"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
The Client responds once the command exits:
|
|
207
|
+
|
|
208
|
+
```json theme={null}
|
|
209
|
+
{
|
|
210
|
+
"jsonrpc": "2.0",
|
|
211
|
+
"id": 7,
|
|
212
|
+
"result": {
|
|
213
|
+
"exitCode": 0,
|
|
214
|
+
"signal": null
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
<ResponseField name="exitCode" type="number">
|
|
220
|
+
The process exit code (may be null if terminated by signal)
|
|
221
|
+
</ResponseField>
|
|
222
|
+
|
|
223
|
+
<ResponseField name="signal" type="string">
|
|
224
|
+
The signal that terminated the process (may be null if exited normally)
|
|
225
|
+
</ResponseField>
|
|
226
|
+
|
|
227
|
+
## Killing Commands
|
|
228
|
+
|
|
229
|
+
The `terminal/kill` method terminates a command without releasing the terminal:
|
|
230
|
+
|
|
231
|
+
```json theme={null}
|
|
232
|
+
{
|
|
233
|
+
"jsonrpc": "2.0",
|
|
234
|
+
"id": 8,
|
|
235
|
+
"method": "terminal/kill",
|
|
236
|
+
"params": {
|
|
237
|
+
"sessionId": "sess_abc123def456",
|
|
238
|
+
"terminalId": "term_xyz789"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
After killing a command, the terminal remains valid and can be used with:
|
|
244
|
+
|
|
245
|
+
* `terminal/output` to get the final output
|
|
246
|
+
* `terminal/wait_for_exit` to get the exit status
|
|
247
|
+
|
|
248
|
+
The Agent **MUST** still call `terminal/release` when it's done using it.
|
|
249
|
+
|
|
250
|
+
### Building a Timeout
|
|
251
|
+
|
|
252
|
+
Agents can implement command timeouts by combining terminal methods:
|
|
253
|
+
|
|
254
|
+
1. Create a terminal with `terminal/create`
|
|
255
|
+
2. Start a timer for the desired timeout duration
|
|
256
|
+
3. Concurrently wait for either the timer to expire or `terminal/wait_for_exit` to return
|
|
257
|
+
4. If the timer expires first:
|
|
258
|
+
* Call `terminal/kill` to terminate the command
|
|
259
|
+
* Call `terminal/output` to retrieve any final output
|
|
260
|
+
* Include the output in the response to the model
|
|
261
|
+
5. Call `terminal/release` when done
|
|
262
|
+
|
|
263
|
+
## Releasing Terminals
|
|
264
|
+
|
|
265
|
+
The `terminal/release` kills the command if still running and releases all resources:
|
|
266
|
+
|
|
267
|
+
```json theme={null}
|
|
268
|
+
{
|
|
269
|
+
"jsonrpc": "2.0",
|
|
270
|
+
"id": 9,
|
|
271
|
+
"method": "terminal/release",
|
|
272
|
+
"params": {
|
|
273
|
+
"sessionId": "sess_abc123def456",
|
|
274
|
+
"terminalId": "term_xyz789"
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
After release the terminal ID becomes invalid for all other `terminal/*` methods.
|
|
280
|
+
|
|
281
|
+
If the terminal was added to a tool call, the client **SHOULD** continue to display its output after release.
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
> ## Documentation Index
|
|
2
|
+
> Fetch the complete documentation index at: https://agentclientprotocol.com/llms.txt
|
|
3
|
+
> Use this file to discover all available pages before exploring further.
|
|
4
|
+
|
|
5
|
+
# Tool Calls
|
|
6
|
+
|
|
7
|
+
> How Agents report tool call execution
|
|
8
|
+
|
|
9
|
+
Tool calls represent actions that language models request Agents to perform during a [prompt turn](./prompt-turn). When an LLM determines it needs to interact with external systems—like reading files, running code, or fetching data—it generates tool calls that the Agent executes on its behalf.
|
|
10
|
+
|
|
11
|
+
Agents report tool calls through [`session/update`](./prompt-turn#3-agent-reports-output) notifications, allowing Clients to display real-time progress and results to users.
|
|
12
|
+
|
|
13
|
+
While Agents handle the actual execution, they may leverage Client capabilities like [permission requests](#requesting-permission) or [file system access](./file-system) to provide a richer, more integrated experience.
|
|
14
|
+
|
|
15
|
+
## Creating
|
|
16
|
+
|
|
17
|
+
When the language model requests a tool invocation, the Agent **SHOULD** report it to the Client:
|
|
18
|
+
|
|
19
|
+
```json theme={null}
|
|
20
|
+
{
|
|
21
|
+
"jsonrpc": "2.0",
|
|
22
|
+
"method": "session/update",
|
|
23
|
+
"params": {
|
|
24
|
+
"sessionId": "sess_abc123def456",
|
|
25
|
+
"update": {
|
|
26
|
+
"sessionUpdate": "tool_call",
|
|
27
|
+
"toolCallId": "call_001",
|
|
28
|
+
"title": "Reading configuration file",
|
|
29
|
+
"kind": "read",
|
|
30
|
+
"status": "pending"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
<ParamField path="toolCallId" type="ToolCallId" required>
|
|
37
|
+
A unique identifier for this tool call within the session
|
|
38
|
+
</ParamField>
|
|
39
|
+
|
|
40
|
+
<ParamField path="title" type="string" required>
|
|
41
|
+
A human-readable title describing what the tool is doing
|
|
42
|
+
</ParamField>
|
|
43
|
+
|
|
44
|
+
<ParamField path="kind" type="ToolKind">
|
|
45
|
+
The category of tool being invoked.
|
|
46
|
+
|
|
47
|
+
<Expandable title="kinds">
|
|
48
|
+
* `read` - Reading files or data - `edit` - Modifying files or content -
|
|
49
|
+
`delete` - Removing files or data - `move` - Moving or renaming files -
|
|
50
|
+
`search` - Searching for information - `execute` - Running commands or code -
|
|
51
|
+
`think` - Internal reasoning or planning - `fetch` - Retrieving external data
|
|
52
|
+
* `other` - Other tool types (default)
|
|
53
|
+
</Expandable>
|
|
54
|
+
|
|
55
|
+
Tool kinds help Clients choose appropriate icons and optimize how they display tool execution progress.
|
|
56
|
+
</ParamField>
|
|
57
|
+
|
|
58
|
+
<ParamField path="status" type="ToolCallStatus">
|
|
59
|
+
The current [execution status](#status) (defaults to `pending`)
|
|
60
|
+
</ParamField>
|
|
61
|
+
|
|
62
|
+
<ParamField path="content" type="ToolCallContent[]">
|
|
63
|
+
[Content produced](#content) by the tool call
|
|
64
|
+
</ParamField>
|
|
65
|
+
|
|
66
|
+
<ParamField path="locations" type="ToolCallLocation[]">
|
|
67
|
+
[File locations](#following-the-agent) affected by this tool call
|
|
68
|
+
</ParamField>
|
|
69
|
+
|
|
70
|
+
<ParamField path="rawInput" type="object">
|
|
71
|
+
The raw input parameters sent to the tool
|
|
72
|
+
</ParamField>
|
|
73
|
+
|
|
74
|
+
<ParamField path="rawOutput" type="object">
|
|
75
|
+
The raw output returned by the tool
|
|
76
|
+
</ParamField>
|
|
77
|
+
|
|
78
|
+
## Updating
|
|
79
|
+
|
|
80
|
+
As tools execute, Agents send updates to report progress and results.
|
|
81
|
+
|
|
82
|
+
Updates use the `session/update` notification with `tool_call_update`:
|
|
83
|
+
|
|
84
|
+
```json theme={null}
|
|
85
|
+
{
|
|
86
|
+
"jsonrpc": "2.0",
|
|
87
|
+
"method": "session/update",
|
|
88
|
+
"params": {
|
|
89
|
+
"sessionId": "sess_abc123def456",
|
|
90
|
+
"update": {
|
|
91
|
+
"sessionUpdate": "tool_call_update",
|
|
92
|
+
"toolCallId": "call_001",
|
|
93
|
+
"status": "in_progress",
|
|
94
|
+
"content": [
|
|
95
|
+
{
|
|
96
|
+
"type": "content",
|
|
97
|
+
"content": {
|
|
98
|
+
"type": "text",
|
|
99
|
+
"text": "Found 3 configuration files..."
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
All fields except `toolCallId` are optional in updates. Only the fields being changed need to be included.
|
|
109
|
+
|
|
110
|
+
## Requesting Permission
|
|
111
|
+
|
|
112
|
+
The Agent **MAY** request permission from the user before executing a tool call by calling the `session/request_permission` method:
|
|
113
|
+
|
|
114
|
+
```json theme={null}
|
|
115
|
+
{
|
|
116
|
+
"jsonrpc": "2.0",
|
|
117
|
+
"id": 5,
|
|
118
|
+
"method": "session/request_permission",
|
|
119
|
+
"params": {
|
|
120
|
+
"sessionId": "sess_abc123def456",
|
|
121
|
+
"toolCall": {
|
|
122
|
+
"toolCallId": "call_001"
|
|
123
|
+
},
|
|
124
|
+
"options": [
|
|
125
|
+
{
|
|
126
|
+
"optionId": "allow-once",
|
|
127
|
+
"name": "Allow once",
|
|
128
|
+
"kind": "allow_once"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"optionId": "reject-once",
|
|
132
|
+
"name": "Reject",
|
|
133
|
+
"kind": "reject_once"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
<ParamField path="sessionId" type="SessionId" required>
|
|
141
|
+
The session ID for this request
|
|
142
|
+
</ParamField>
|
|
143
|
+
|
|
144
|
+
<ParamField path="toolCall" type="ToolCallUpdate" required>
|
|
145
|
+
The tool call update containing details about the operation
|
|
146
|
+
</ParamField>
|
|
147
|
+
|
|
148
|
+
<ParamField path="options" type="PermissionOption[]" required>
|
|
149
|
+
Available [permission options](#permission-options) for the user to choose
|
|
150
|
+
from
|
|
151
|
+
</ParamField>
|
|
152
|
+
|
|
153
|
+
The Client responds with the user's decision:
|
|
154
|
+
|
|
155
|
+
```json theme={null}
|
|
156
|
+
{
|
|
157
|
+
"jsonrpc": "2.0",
|
|
158
|
+
"id": 5,
|
|
159
|
+
"result": {
|
|
160
|
+
"outcome": {
|
|
161
|
+
"outcome": "selected",
|
|
162
|
+
"optionId": "allow-once"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Clients **MAY** automatically allow or reject permission requests according to the user settings.
|
|
169
|
+
|
|
170
|
+
If the current prompt turn gets [cancelled](./prompt-turn#cancellation), the Client **MUST** respond with the `"cancelled"` outcome:
|
|
171
|
+
|
|
172
|
+
```json theme={null}
|
|
173
|
+
{
|
|
174
|
+
"jsonrpc": "2.0",
|
|
175
|
+
"id": 5,
|
|
176
|
+
"result": {
|
|
177
|
+
"outcome": {
|
|
178
|
+
"outcome": "cancelled"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
<ResponseField name="outcome" type="RequestPermissionOutcome" required>
|
|
185
|
+
The user's decision, either: - `cancelled` - The [prompt turn was
|
|
186
|
+
cancelled](./prompt-turn#cancellation) - `selected` with an `optionId` - The
|
|
187
|
+
ID of the selected permission option
|
|
188
|
+
</ResponseField>
|
|
189
|
+
|
|
190
|
+
### Permission Options
|
|
191
|
+
|
|
192
|
+
Each permission option provided to the Client contains:
|
|
193
|
+
|
|
194
|
+
<ParamField path="optionId" type="string" required>
|
|
195
|
+
Unique identifier for this option
|
|
196
|
+
</ParamField>
|
|
197
|
+
|
|
198
|
+
<ParamField path="name" type="string" required>
|
|
199
|
+
Human-readable label to display to the user
|
|
200
|
+
</ParamField>
|
|
201
|
+
|
|
202
|
+
<ParamField path="kind" type="PermissionOptionKind" required>
|
|
203
|
+
A hint to help Clients choose appropriate icons and UI treatment for each option.
|
|
204
|
+
|
|
205
|
+
* `allow_once` - Allow this operation only this time
|
|
206
|
+
* `allow_always` - Allow this operation and remember the choice
|
|
207
|
+
* `reject_once` - Reject this operation only this time
|
|
208
|
+
* `reject_always` - Reject this operation and remember the choice
|
|
209
|
+
</ParamField>
|
|
210
|
+
|
|
211
|
+
## Status
|
|
212
|
+
|
|
213
|
+
Tool calls progress through different statuses during their lifecycle:
|
|
214
|
+
|
|
215
|
+
<ResponseField name="pending">
|
|
216
|
+
The tool call hasn't started running yet because the input is either streaming
|
|
217
|
+
or awaiting approval
|
|
218
|
+
</ResponseField>
|
|
219
|
+
|
|
220
|
+
<ResponseField name="in_progress">
|
|
221
|
+
The tool call is currently running
|
|
222
|
+
</ResponseField>
|
|
223
|
+
|
|
224
|
+
<ResponseField name="completed">
|
|
225
|
+
The tool call completed successfully
|
|
226
|
+
</ResponseField>
|
|
227
|
+
|
|
228
|
+
<ResponseField name="failed">The tool call failed with an error</ResponseField>
|
|
229
|
+
|
|
230
|
+
## Content
|
|
231
|
+
|
|
232
|
+
Tool calls can produce different types of content:
|
|
233
|
+
|
|
234
|
+
### Regular Content
|
|
235
|
+
|
|
236
|
+
Standard [content blocks](./content) like text, images, or resources:
|
|
237
|
+
|
|
238
|
+
```json theme={null}
|
|
239
|
+
{
|
|
240
|
+
"type": "content",
|
|
241
|
+
"content": {
|
|
242
|
+
"type": "text",
|
|
243
|
+
"text": "Analysis complete. Found 3 issues."
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Diffs
|
|
249
|
+
|
|
250
|
+
File modifications shown as diffs:
|
|
251
|
+
|
|
252
|
+
```json theme={null}
|
|
253
|
+
{
|
|
254
|
+
"type": "diff",
|
|
255
|
+
"path": "/home/user/project/src/config.json",
|
|
256
|
+
"oldText": "{\n \"debug\": false\n}",
|
|
257
|
+
"newText": "{\n \"debug\": true\n}"
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
<ParamField path="path" type="string" required>
|
|
262
|
+
The absolute file path being modified
|
|
263
|
+
</ParamField>
|
|
264
|
+
|
|
265
|
+
<ParamField path="oldText" type="string">
|
|
266
|
+
The original content (null for new files)
|
|
267
|
+
</ParamField>
|
|
268
|
+
|
|
269
|
+
<ParamField path="newText" type="string" required>
|
|
270
|
+
The new content after modification
|
|
271
|
+
</ParamField>
|
|
272
|
+
|
|
273
|
+
### Terminals
|
|
274
|
+
|
|
275
|
+
Live terminal output from command execution:
|
|
276
|
+
|
|
277
|
+
```json theme={null}
|
|
278
|
+
{
|
|
279
|
+
"type": "terminal",
|
|
280
|
+
"terminalId": "term_xyz789"
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
<ParamField path="terminalId" type="string" required>
|
|
285
|
+
The ID of a terminal created with `terminal/create`
|
|
286
|
+
</ParamField>
|
|
287
|
+
|
|
288
|
+
When a terminal is embedded in a tool call, the Client displays live output as it's generated and continues to display it even after the terminal is released.
|
|
289
|
+
|
|
290
|
+
<Card icon="terminal" horizontal href="./terminals">
|
|
291
|
+
Learn more about Terminals
|
|
292
|
+
</Card>
|
|
293
|
+
|
|
294
|
+
## Following the Agent
|
|
295
|
+
|
|
296
|
+
Tool calls can report file locations they're working with, enabling Clients to implement "follow-along" features that track which files the Agent is accessing or modifying in real-time.
|
|
297
|
+
|
|
298
|
+
```json theme={null}
|
|
299
|
+
{
|
|
300
|
+
"path": "/home/user/project/src/main.py",
|
|
301
|
+
"line": 42
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
<ParamField path="path" type="string" required>
|
|
306
|
+
The absolute file path being accessed or modified
|
|
307
|
+
</ParamField>
|
|
308
|
+
|
|
309
|
+
<ParamField path="line" type="number">
|
|
310
|
+
Optional line number within the file
|
|
311
|
+
</ParamField>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
> ## Documentation Index
|
|
2
|
+
> Fetch the complete documentation index at: https://agentclientprotocol.com/llms.txt
|
|
3
|
+
> Use this file to discover all available pages before exploring further.
|
|
4
|
+
|
|
5
|
+
# TypeScript
|
|
6
|
+
|
|
7
|
+
> TypeScript library for the Agent Client Protocol
|
|
8
|
+
|
|
9
|
+
The [@agentclientprotocol/sdk](https://www.npmjs.com/package/@agentclientprotocol/sdk) npm
|
|
10
|
+
package provides implementations of both sides of the Agent Client Protocol that
|
|
11
|
+
you can use to build your own agent server or client.
|
|
12
|
+
|
|
13
|
+
To get started, add the package as a dependency to your project:
|
|
14
|
+
|
|
15
|
+
```bash theme={null}
|
|
16
|
+
npm install @agentclientprotocol/sdk
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Depending on what kind of tool you're building, you'll need to use either the
|
|
20
|
+
[AgentSideConnection](https://agentclientprotocol.github.io/typescript-sdk/classes/AgentSideConnection.html)
|
|
21
|
+
class or the
|
|
22
|
+
[ClientSideConnection](https://agentclientprotocol.github.io/typescript-sdk/classes/ClientSideConnection.html)
|
|
23
|
+
class to establish communication with the ACP counterpart.
|
|
24
|
+
|
|
25
|
+
You can find example implementations of both sides in the [main repository](https://github.com/agentclientprotocol/typescript-sdk/tree/main/src/examples). These can be run from your terminal or from an ACP Client like [Zed](https://zed.dev), making them great starting points for your own integration!
|
|
26
|
+
|
|
27
|
+
Browse the [TypeScript library reference](https://agentclientprotocol.github.io/typescript-sdk) for detailed API documentation.
|
|
28
|
+
|
|
29
|
+
For a complete, production-ready implementation of an ACP agent, check out [Gemini CLI](https://github.com/google-gemini/gemini-cli/blob/main/packages/cli/src/zed-integration/zedIntegration.ts).
|