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,232 @@
|
|
|
1
|
+
# RISE Specification: Multiline Input Handler
|
|
2
|
+
|
|
3
|
+
## Status: IMPLEMENTED ✅
|
|
4
|
+
|
|
5
|
+
**Version**: 1.0.0
|
|
6
|
+
**Module**: `miadi-code/src/multiline-input.ts`
|
|
7
|
+
**Document ID**: miadi-code-multiline-input-rise-spec-v1
|
|
8
|
+
**Last Updated**: 2026-01-31
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Core Creative Intent
|
|
13
|
+
|
|
14
|
+
The Multiline Input Handler enables CLI agent developers to create **rich, multiline text input experiences** in interactive terminal applications. This pattern supports:
|
|
15
|
+
|
|
16
|
+
- **Ctrl+J** to add new lines without submitting
|
|
17
|
+
- **Enter** to submit the complete multiline input
|
|
18
|
+
- **Pasting** multiline content that gets properly collected
|
|
19
|
+
- **Cursor navigation** with arrow keys
|
|
20
|
+
- **TTY detection** with graceful fallback to readline
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## R - Reverse Engineering
|
|
25
|
+
|
|
26
|
+
### Problem Statement
|
|
27
|
+
|
|
28
|
+
Standard Node.js `readline` fires on every line break, making it impossible to:
|
|
29
|
+
1. Compose multiline prompts interactively
|
|
30
|
+
2. Paste multiline content without immediate submission
|
|
31
|
+
3. Use Ctrl+J (like many chat interfaces) to add lines
|
|
32
|
+
|
|
33
|
+
### Solution Architecture
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
User Types/Pastes
|
|
37
|
+
↓
|
|
38
|
+
┌──────────────────────────────────────────────────────────────────────┐
|
|
39
|
+
│ MultilineInput (Raw Mode) │
|
|
40
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
41
|
+
│ process.stdin.setRawMode(true) │
|
|
42
|
+
│ │
|
|
43
|
+
│ Character-by-character processing: │
|
|
44
|
+
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
|
|
45
|
+
│ │ Ctrl+J │ │ Enter │ │ Paste │ │ Backspace │ │
|
|
46
|
+
│ │ → addLine │ │ → submit │ │ → collect │ │ → delete │ │
|
|
47
|
+
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
|
|
48
|
+
│ │
|
|
49
|
+
│ Line Accumulator: ['line1', 'line2', ...] + currentLine │
|
|
50
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
51
|
+
↓
|
|
52
|
+
onSubmit(fullInput: string) // All lines joined with \n
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Core Dependencies
|
|
56
|
+
|
|
57
|
+
| Dependency | Purpose |
|
|
58
|
+
|------------|---------|
|
|
59
|
+
| Node.js TTY | Raw mode input processing |
|
|
60
|
+
| EventEmitter | State management |
|
|
61
|
+
| chalk | Visual prompt styling |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## I - Intent Extraction
|
|
66
|
+
|
|
67
|
+
### Primary Intent
|
|
68
|
+
|
|
69
|
+
Enable natural multiline input in terminal applications where:
|
|
70
|
+
|
|
71
|
+
1. Users compose complex prompts across multiple lines
|
|
72
|
+
2. Users paste code blocks or structured content
|
|
73
|
+
3. The interface feels like modern chat applications
|
|
74
|
+
|
|
75
|
+
### User Stories
|
|
76
|
+
|
|
77
|
+
1. **As a developer**, I want to write multiline prompts so I can provide detailed context to the AI.
|
|
78
|
+
|
|
79
|
+
2. **As a user pasting code**, I want pasted content to be collected properly so newlines don't trigger premature submission.
|
|
80
|
+
|
|
81
|
+
3. **As a power user**, I want Ctrl+J to add lines like in Slack/Discord so I can compose without reaching for the mouse.
|
|
82
|
+
|
|
83
|
+
### Success Criteria
|
|
84
|
+
|
|
85
|
+
- [x] Ctrl+J adds a new line without submitting
|
|
86
|
+
- [x] Enter submits the complete input
|
|
87
|
+
- [x] Pasted multiline content is collected properly
|
|
88
|
+
- [x] Arrow keys navigate within the current line
|
|
89
|
+
- [x] Backspace works across line boundaries
|
|
90
|
+
- [x] Non-TTY fallback to readline
|
|
91
|
+
- [x] Integration with CLI pause/resume for subcommands
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## S - Specification
|
|
96
|
+
|
|
97
|
+
### Class: MultilineInput
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
interface MultilineInputOptions {
|
|
101
|
+
prompt: string; // Main prompt (e.g., "🌌 you> ")
|
|
102
|
+
continuationPrompt?: string; // Continuation prompt (e.g., "... ")
|
|
103
|
+
maxLines?: number; // Maximum allowed lines (default: 100)
|
|
104
|
+
onSubmit: (input: string) => Promise<void>; // Called with full input
|
|
105
|
+
onClose?: () => void; // Called on Ctrl+D/exit
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class MultilineInput extends EventEmitter {
|
|
109
|
+
// Lifecycle
|
|
110
|
+
start(): void; // Begin listening in raw mode
|
|
111
|
+
stop(): void; // Stop and cleanup
|
|
112
|
+
reset(): void; // Clear state, show prompt
|
|
113
|
+
pause(): void; // Pause for subcommands
|
|
114
|
+
resume(): void; // Resume after pause
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Key Bindings
|
|
119
|
+
|
|
120
|
+
| Key | Char Code | Action |
|
|
121
|
+
|-----|-----------|--------|
|
|
122
|
+
| Enter | 13 | Submit all accumulated lines |
|
|
123
|
+
| Ctrl+J | 10 | Add new line, continue input |
|
|
124
|
+
| Ctrl+C | 3 | Cancel current input / Exit |
|
|
125
|
+
| Ctrl+D | 4 | Exit (if empty) |
|
|
126
|
+
| Ctrl+U | 21 | Clear current line |
|
|
127
|
+
| Ctrl+W | 23 | Delete previous word |
|
|
128
|
+
| Ctrl+L | 12 | Clear screen, redraw |
|
|
129
|
+
| Backspace | 127/8 | Delete character / merge lines |
|
|
130
|
+
| Arrow Left | \x1B[D | Move cursor left |
|
|
131
|
+
| Arrow Right | \x1B[C | Move cursor right |
|
|
132
|
+
|
|
133
|
+
### Paste Detection
|
|
134
|
+
|
|
135
|
+
Paste is detected by receiving multiple characters in a single `data` event:
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
private handleData = async (data: string): Promise<void> => {
|
|
139
|
+
// Paste detection: multiple chars without escape sequence
|
|
140
|
+
if (data.length > 1 && !data.startsWith('\x1B')) {
|
|
141
|
+
this.handlePaste(data);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Single character processing...
|
|
145
|
+
};
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Visual Rendering
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
🌌 you> First line of my prompt
|
|
152
|
+
... and this is a continuation
|
|
153
|
+
... with multiple lines
|
|
154
|
+
... [Enter to submit, Ctrl+J for more lines]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## E - Export Optimization
|
|
160
|
+
|
|
161
|
+
### Integration Pattern
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
import { MultilineInput, supportsMultilineInput } from './multiline-input.js';
|
|
165
|
+
|
|
166
|
+
if (supportsMultilineInput()) {
|
|
167
|
+
const input = new MultilineInput({
|
|
168
|
+
prompt: chalk.yellow('> '),
|
|
169
|
+
onSubmit: async (text) => {
|
|
170
|
+
console.log('Received:', text);
|
|
171
|
+
},
|
|
172
|
+
onClose: () => process.exit(0),
|
|
173
|
+
});
|
|
174
|
+
input.start();
|
|
175
|
+
} else {
|
|
176
|
+
// Fallback to readline
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Pause/Resume for Subcommands
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
// Before launching dashboard or other interactive mode
|
|
184
|
+
multilineInput.pause();
|
|
185
|
+
|
|
186
|
+
await dashboard.start();
|
|
187
|
+
|
|
188
|
+
// After dashboard exits
|
|
189
|
+
multilineInput.resume();
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### TTY Detection
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
export function supportsMultilineInput(): boolean {
|
|
196
|
+
return process.stdin.isTTY === true;
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Testing
|
|
203
|
+
|
|
204
|
+
### Unit Tests
|
|
205
|
+
|
|
206
|
+
| Test | Description |
|
|
207
|
+
|------|-------------|
|
|
208
|
+
| Line accumulation | Combines lines with newlines |
|
|
209
|
+
| Paste handling | Splits by \n and \r\n |
|
|
210
|
+
| Cursor tracking | Insert/delete at position |
|
|
211
|
+
| Character codes | Detects control characters |
|
|
212
|
+
| Escape sequences | Detects arrow keys |
|
|
213
|
+
|
|
214
|
+
### Test Location
|
|
215
|
+
|
|
216
|
+
`miadi-code/src/multiline-input.test.ts` - 16 tests
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Known Limitations
|
|
221
|
+
|
|
222
|
+
1. **History**: Arrow up/down for command history not yet implemented
|
|
223
|
+
2. **Long lines**: No horizontal scrolling for lines exceeding terminal width
|
|
224
|
+
3. **Terminal compatibility**: Some terminal multiplexers may have raw mode issues
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## References
|
|
229
|
+
|
|
230
|
+
- Implementation: `miadi-code/src/multiline-input.ts`
|
|
231
|
+
- Tests: `miadi-code/src/multiline-input.test.ts`
|
|
232
|
+
- CLI Integration: `miadi-code/src/cli.ts` (lines 198-354)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Multiline Input Handler - STATUS
|
|
2
|
+
|
|
3
|
+
**Version**: 1.0
|
|
4
|
+
**Date**: 2026-01-31
|
|
5
|
+
**Status**: ✅ IMPLEMENTED
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Implementation Checklist
|
|
10
|
+
|
|
11
|
+
### ✅ Phase 1: Core Implementation (COMPLETE)
|
|
12
|
+
- [x] Create `src/multiline-input.ts` - Main handler class
|
|
13
|
+
- [x] Implement raw mode input processing
|
|
14
|
+
- [x] Implement Ctrl+J for new line
|
|
15
|
+
- [x] Implement Enter for submit
|
|
16
|
+
- [x] Implement paste detection and collection
|
|
17
|
+
- [x] Implement cursor navigation (left/right)
|
|
18
|
+
- [x] Implement backspace across line boundaries
|
|
19
|
+
- [x] Implement Ctrl+U (clear line), Ctrl+W (delete word)
|
|
20
|
+
- [x] Implement TTY detection with `supportsMultilineInput()`
|
|
21
|
+
|
|
22
|
+
### ✅ Phase 2: CLI Integration (COMPLETE)
|
|
23
|
+
- [x] Update `src/cli.ts` to use MultilineInput when TTY available
|
|
24
|
+
- [x] Implement fallback to readline for non-TTY
|
|
25
|
+
- [x] Implement pause/resume for dashboard integration
|
|
26
|
+
- [x] Add multiline hint to startup message
|
|
27
|
+
|
|
28
|
+
### ✅ Phase 3: Testing (COMPLETE)
|
|
29
|
+
- [x] Create `src/multiline-input.test.ts`
|
|
30
|
+
- [x] Test line accumulation logic
|
|
31
|
+
- [x] Test paste handling
|
|
32
|
+
- [x] Test cursor position tracking
|
|
33
|
+
- [x] Test character code detection
|
|
34
|
+
- [x] Total: 16 tests passing
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Files Created
|
|
39
|
+
|
|
40
|
+
| File | Purpose | Lines |
|
|
41
|
+
|------|---------|-------|
|
|
42
|
+
| `src/multiline-input.ts` | Main handler class | ~310 |
|
|
43
|
+
| `src/multiline-input.test.ts` | Unit tests | ~115 |
|
|
44
|
+
|
|
45
|
+
## Files Modified
|
|
46
|
+
|
|
47
|
+
| File | Changes |
|
|
48
|
+
|------|---------|
|
|
49
|
+
| `src/cli.ts` | Added multiline input integration with fallback |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Feature Summary
|
|
54
|
+
|
|
55
|
+
### Key Bindings
|
|
56
|
+
| Key | Action |
|
|
57
|
+
|-----|--------|
|
|
58
|
+
| Ctrl+J | Add new line |
|
|
59
|
+
| Enter | Submit input |
|
|
60
|
+
| Ctrl+C | Cancel/Exit |
|
|
61
|
+
| Ctrl+U | Clear line |
|
|
62
|
+
| Ctrl+W | Delete word |
|
|
63
|
+
| Backspace | Delete char / merge lines |
|
|
64
|
+
| ← → | Navigate cursor |
|
|
65
|
+
|
|
66
|
+
### Capabilities
|
|
67
|
+
| Feature | Status |
|
|
68
|
+
|---------|--------|
|
|
69
|
+
| Multiline composition | ✅ |
|
|
70
|
+
| Paste handling | ✅ |
|
|
71
|
+
| TTY detection | ✅ |
|
|
72
|
+
| Readline fallback | ✅ |
|
|
73
|
+
| Pause/resume | ✅ |
|
|
74
|
+
| Visual continuation prompt | ✅ |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Test Coverage
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Multiline Input Logic
|
|
82
|
+
Line accumulation
|
|
83
|
+
✓ should combine multiple lines with newlines
|
|
84
|
+
✓ should trim final result
|
|
85
|
+
✓ should handle empty input
|
|
86
|
+
Paste handling simulation
|
|
87
|
+
✓ should split pasted content by newlines
|
|
88
|
+
✓ should handle Windows line endings
|
|
89
|
+
✓ should handle mixed line endings
|
|
90
|
+
Cursor position tracking
|
|
91
|
+
✓ should insert character at cursor position
|
|
92
|
+
✓ should handle backspace at cursor
|
|
93
|
+
✓ should handle delete word
|
|
94
|
+
Character code detection
|
|
95
|
+
✓ should detect Ctrl+J (newline)
|
|
96
|
+
✓ should detect Ctrl+C
|
|
97
|
+
✓ should detect Enter (carriage return)
|
|
98
|
+
✓ should detect Backspace
|
|
99
|
+
✓ should detect printable characters
|
|
100
|
+
Escape sequence detection
|
|
101
|
+
✓ should detect arrow key sequences
|
|
102
|
+
Multiline Input TTY Detection
|
|
103
|
+
✓ should check for isTTY property
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
**Last Updated**: 2026-01-31T20:15:00Z
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# RISE Specification: PDE (Prompt Decomposition Engine)
|
|
2
|
+
|
|
3
|
+
## Status: IMPLEMENTED ✅
|
|
4
|
+
|
|
5
|
+
**Version**: 1.0.0
|
|
6
|
+
**Module**: `miadi-code/src/pde/`
|
|
7
|
+
**Last Updated**: 2026-01-30
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## R - Reverse Engineering
|
|
12
|
+
|
|
13
|
+
### Current State Analysis
|
|
14
|
+
|
|
15
|
+
The PDE module implements a 5-layer decomposition pipeline based on academic research from the PDE Generalization literature survey. It transforms complex, multi-intent prompts into structured, executable workflows.
|
|
16
|
+
|
|
17
|
+
### File Structure
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
miadi-code/src/pde/
|
|
21
|
+
├── pde-types.ts # TypeScript interfaces for all layers
|
|
22
|
+
├── intent-extractor.ts # Layer 1: Intent extraction & classification
|
|
23
|
+
├── dependency-analyzer.ts # Layer 2: Dependency graph construction
|
|
24
|
+
├── medicine-wheel-mapper.ts # Layer 3: Medicine Wheel direction mapping
|
|
25
|
+
├── workflow-generator.ts # Layer 4: Workflow template generation
|
|
26
|
+
├── execution-planner.ts # Layer 5: Execution plan with checkpoints
|
|
27
|
+
├── decomposer.ts # Main orchestrator
|
|
28
|
+
├── pde-commands.ts # CLI command handlers
|
|
29
|
+
└── index.ts # Module exports
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Architecture
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
User Prompt
|
|
36
|
+
↓
|
|
37
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
38
|
+
│ PDE Decomposition Pipeline │
|
|
39
|
+
├─────────────────────────────────────────────────────────────┤
|
|
40
|
+
│ Layer 1: Intent Extraction │
|
|
41
|
+
│ • Extract explicit intents (action verbs + targets) │
|
|
42
|
+
│ • Discover implicit intents (assumptions, expectations) │
|
|
43
|
+
│ • Classify by type (CREATION, MODIFICATION, etc.) │
|
|
44
|
+
├─────────────────────────────────────────────────────────────┤
|
|
45
|
+
│ Layer 2: Dependency Analysis │
|
|
46
|
+
│ • Build dependency graph from intent relationships │
|
|
47
|
+
│ • Detect prerequisite, blocker, data_flow edges │
|
|
48
|
+
│ • Generate topological execution order │
|
|
49
|
+
├─────────────────────────────────────────────────────────────┤
|
|
50
|
+
│ Layer 3: Medicine Wheel Mapping │
|
|
51
|
+
│ • Map intents to Four Directions (EAST/SOUTH/WEST/NORTH) │
|
|
52
|
+
│ • Assign ceremony types (vision_inquiry, wave_counting...)│
|
|
53
|
+
│ • Validate ceremonial order │
|
|
54
|
+
├─────────────────────────────────────────────────────────────┤
|
|
55
|
+
│ Layer 4: Workflow Generation │
|
|
56
|
+
│ • Group intents into workflow stages │
|
|
57
|
+
│ • Mark parallel vs sequential execution │
|
|
58
|
+
│ • Add checkpoint markers │
|
|
59
|
+
├─────────────────────────────────────────────────────────────┤
|
|
60
|
+
│ Layer 5: Execution Planning │
|
|
61
|
+
│ • Generate CLI commands for each task │
|
|
62
|
+
│ • Define success criteria and fallback strategies │
|
|
63
|
+
│ • Create progress checkpoints │
|
|
64
|
+
└─────────────────────────────────────────────────────────────┘
|
|
65
|
+
↓
|
|
66
|
+
Structured DecomposedPrompt Object
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## I - Intent Extraction
|
|
72
|
+
|
|
73
|
+
### Primary Intent
|
|
74
|
+
|
|
75
|
+
Transform complex, multi-intent user prompts into structured, actionable workflows that prevent:
|
|
76
|
+
- Implicit intention blindness
|
|
77
|
+
- Context fragmentation
|
|
78
|
+
- Sequential dependency failures
|
|
79
|
+
|
|
80
|
+
### User Stories
|
|
81
|
+
|
|
82
|
+
1. **As a developer** using miadi-code, I want complex prompts automatically decomposed so I don't miss secondary requirements.
|
|
83
|
+
|
|
84
|
+
2. **As an AI agent**, I need prompt decomposition to understand multi-step tasks and track progress through checkpoints.
|
|
85
|
+
|
|
86
|
+
3. **As a ceremonial practitioner**, I want workflow stages mapped to Medicine Wheel directions for epistemological awareness.
|
|
87
|
+
|
|
88
|
+
### Success Criteria
|
|
89
|
+
|
|
90
|
+
- [x] Extracts both explicit and implicit intents from natural language
|
|
91
|
+
- [x] Builds dependency graphs that identify parallel execution opportunities
|
|
92
|
+
- [x] Maps all intents to ceremonial directions
|
|
93
|
+
- [x] Generates workflow templates with checkpoints
|
|
94
|
+
- [x] Produces execution plans with success criteria and fallbacks
|
|
95
|
+
- [x] CLI accessible via `/pde` commands
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## S - Specification
|
|
100
|
+
|
|
101
|
+
### Layer 1: Intent Extraction
|
|
102
|
+
|
|
103
|
+
**Input**: Raw prompt string
|
|
104
|
+
**Output**: `IntentExtractionResult`
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
interface IntentExtractionResult {
|
|
108
|
+
explicitIntents: ExplicitIntent[]; // Action + target + constraints
|
|
109
|
+
implicitIntents: ImplicitIntent[]; // Inferred requirements
|
|
110
|
+
classifiedIntents: ClassifiedIntent[]; // Typed intents
|
|
111
|
+
originalPrompt: string;
|
|
112
|
+
timestamp: string;
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Intent Types**:
|
|
117
|
+
- `CREATION` - Generate new artifacts
|
|
118
|
+
- `MODIFICATION` - Update existing resources
|
|
119
|
+
- `ANALYSIS` - Investigate, understand
|
|
120
|
+
- `VALIDATION` - Test, verify
|
|
121
|
+
- `INTEGRATION` - Connect, deploy
|
|
122
|
+
- `COMMUNICATION` - Notify, report
|
|
123
|
+
|
|
124
|
+
### Layer 2: Dependency Analysis
|
|
125
|
+
|
|
126
|
+
**Input**: `ClassifiedIntent[]`
|
|
127
|
+
**Output**: `DependencyGraph`
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
interface DependencyGraph {
|
|
131
|
+
nodes: Map<string, DependencyNode>;
|
|
132
|
+
edges: DependencyEdge[];
|
|
133
|
+
hasCycles: boolean;
|
|
134
|
+
maxDepth: number;
|
|
135
|
+
executionOrder: string[][]; // Grouped by parallel stages
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Edge Types**:
|
|
140
|
+
- `prerequisite` - Must complete before
|
|
141
|
+
- `blocker` - Cannot run in parallel
|
|
142
|
+
- `enabler` - Optional path enabler
|
|
143
|
+
- `data_flow` - Output becomes input
|
|
144
|
+
|
|
145
|
+
### Layer 3: Medicine Wheel
|
|
146
|
+
|
|
147
|
+
**Input**: `ClassifiedIntent[]`
|
|
148
|
+
**Output**: `MedicineWheelAssignment[]`
|
|
149
|
+
|
|
150
|
+
| Direction | Ceremony | Focus |
|
|
151
|
+
|-----------|----------|-------|
|
|
152
|
+
| EAST | vision_inquiry | Exploration, questions |
|
|
153
|
+
| SOUTH | wave_counting | Data gathering, building |
|
|
154
|
+
| WEST | talking_circles | Validation, reflection |
|
|
155
|
+
| NORTH | elder_council | Action, completion |
|
|
156
|
+
|
|
157
|
+
### Layer 4: Workflow Generation
|
|
158
|
+
|
|
159
|
+
**Input**: Intents + Graph + Wheel assignments
|
|
160
|
+
**Output**: `WorkflowTemplate`
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
interface WorkflowTemplate {
|
|
164
|
+
workflowId: string;
|
|
165
|
+
name: string;
|
|
166
|
+
stages: WorkflowStage[];
|
|
167
|
+
totalTasks: number;
|
|
168
|
+
createdAt: string;
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Layer 5: Execution Planning
|
|
173
|
+
|
|
174
|
+
**Input**: `WorkflowTemplate`
|
|
175
|
+
**Output**: `ExecutionPlan`
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
interface ExecutionPlan {
|
|
179
|
+
planId: string;
|
|
180
|
+
tasks: ExecutionTask[];
|
|
181
|
+
checkpoints: ExecutionCheckpoint[];
|
|
182
|
+
totalSteps: number;
|
|
183
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
184
|
+
requiredTools: string[];
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## E - Export Optimization
|
|
191
|
+
|
|
192
|
+
### CLI Commands
|
|
193
|
+
|
|
194
|
+
| Command | Description |
|
|
195
|
+
|---------|-------------|
|
|
196
|
+
| `/pde decompose "prompt"` | Full 5-layer decomposition |
|
|
197
|
+
| `/pde quick "prompt"` | Summary workflow view |
|
|
198
|
+
| `/pde intents "prompt"` | Layer 1 only |
|
|
199
|
+
| `/pde deps "prompt"` | Layer 2 only |
|
|
200
|
+
| `/pde wheel "prompt"` | Layer 3 only |
|
|
201
|
+
| `/pde workflow "prompt"` | Layer 4 only |
|
|
202
|
+
| `/pde plan "prompt"` | Layer 5 only |
|
|
203
|
+
| `/pde check "prompt"` | Complexity analysis |
|
|
204
|
+
| `/pde ceremony [type]` | Ceremony requirements |
|
|
205
|
+
| `/pde export [format]` | Export (json/yaml/md) |
|
|
206
|
+
| `/pde last` | Show last decomposition |
|
|
207
|
+
|
|
208
|
+
### Export Formats
|
|
209
|
+
|
|
210
|
+
- **JSON**: Full structured output
|
|
211
|
+
- **YAML**: Workflow-as-code format
|
|
212
|
+
- **Markdown**: Human-readable checklist
|
|
213
|
+
|
|
214
|
+
### Programmatic API
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
import {
|
|
218
|
+
decomposePrompt,
|
|
219
|
+
formatDecomposition,
|
|
220
|
+
isComplexPrompt
|
|
221
|
+
} from './pde/index.js';
|
|
222
|
+
|
|
223
|
+
// Check complexity
|
|
224
|
+
if (isComplexPrompt(userInput)) {
|
|
225
|
+
const result = decomposePrompt(userInput);
|
|
226
|
+
console.log(formatDecomposition(result));
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Implementation Notes
|
|
233
|
+
|
|
234
|
+
### Academic Grounding
|
|
235
|
+
|
|
236
|
+
Based on PDE Generalization literature survey:
|
|
237
|
+
- Chain-of-Thought prompting for reasoning
|
|
238
|
+
- Decomposed Prompting for modularity
|
|
239
|
+
- Tree-of-Thoughts for dependency exploration
|
|
240
|
+
- ReAct pattern for reasoning + action
|
|
241
|
+
|
|
242
|
+
### Integration Points
|
|
243
|
+
|
|
244
|
+
1. **CLI Integration**: `/pde` command in `cli.ts`
|
|
245
|
+
2. **Help Text**: Added to `formatting.ts`
|
|
246
|
+
3. **Module Exports**: Full API via `index.ts`
|
|
247
|
+
|
|
248
|
+
### Future Enhancements
|
|
249
|
+
|
|
250
|
+
- [ ] LLM-powered intent extraction (beyond pattern matching)
|
|
251
|
+
- [ ] Integration with workflow execution engine
|
|
252
|
+
- [ ] Persistent decomposition storage
|
|
253
|
+
- [ ] Interactive workflow editing
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# PDE Module Status
|
|
2
|
+
|
|
3
|
+
## Implementation Status: ✅ COMPLETE
|
|
4
|
+
|
|
5
|
+
**Module**: `miadi-code/src/pde/`
|
|
6
|
+
**Version**: 1.0.0
|
|
7
|
+
**Date**: 2026-01-30
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Files Implemented
|
|
12
|
+
|
|
13
|
+
| File | Purpose | Status |
|
|
14
|
+
|------|---------|--------|
|
|
15
|
+
| `pde-types.ts` | TypeScript interfaces | ✅ Complete |
|
|
16
|
+
| `intent-extractor.ts` | Layer 1: Intent extraction | ✅ Complete |
|
|
17
|
+
| `dependency-analyzer.ts` | Layer 2: Dependency graphs | ✅ Complete |
|
|
18
|
+
| `medicine-wheel-mapper.ts` | Layer 3: Ceremonial mapping | ✅ Complete |
|
|
19
|
+
| `workflow-generator.ts` | Layer 4: Workflow templates | ✅ Complete |
|
|
20
|
+
| `execution-planner.ts` | Layer 5: Execution plans | ✅ Complete |
|
|
21
|
+
| `decomposer.ts` | Main orchestrator | ✅ Complete |
|
|
22
|
+
| `pde-commands.ts` | CLI command handlers | ✅ Complete |
|
|
23
|
+
| `index.ts` | Module exports | ✅ Complete |
|
|
24
|
+
|
|
25
|
+
## CLI Integration
|
|
26
|
+
|
|
27
|
+
- [x] `/pde` command routing in `cli.ts`
|
|
28
|
+
- [x] Help text added to `formatting.ts`
|
|
29
|
+
- [x] Build passes
|
|
30
|
+
|
|
31
|
+
## Commands Available
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
/pde decompose "prompt" - Full 5-layer decomposition
|
|
35
|
+
/pde quick "prompt" - Summary workflow view
|
|
36
|
+
/pde intents "prompt" - Intent extraction only
|
|
37
|
+
/pde deps "prompt" - Dependency graph only
|
|
38
|
+
/pde wheel "prompt" - Medicine Wheel mapping
|
|
39
|
+
/pde workflow "prompt" - Workflow template
|
|
40
|
+
/pde plan "prompt" - Execution plan
|
|
41
|
+
/pde check "prompt" - Complexity check
|
|
42
|
+
/pde ceremony [type] - Ceremony requirements
|
|
43
|
+
/pde export [format] - Export (json/yaml/md)
|
|
44
|
+
/pde last - Show last decomposition
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Testing Status
|
|
48
|
+
|
|
49
|
+
- [ ] Manual testing with sample prompts
|
|
50
|
+
- [ ] Integration with workflow execution
|
|
51
|
+
- [ ] Persistence of decompositions
|
|
52
|
+
|
|
53
|
+
## Related Documentation
|
|
54
|
+
|
|
55
|
+
- RISE Spec: `rispecs/PDE_SPEC.md`
|
|
56
|
+
- Academic grounding: `/src/IAIP/prototypes/artefacts/PDE-generalization--*/CONTENT.md`
|