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,102 @@
|
|
|
1
|
+
# Ceremonial Technology Development
|
|
2
|
+
|
|
3
|
+
> Building tools, protocols, and software systems that treat knowledge work as ceremony — where technology serves relational accountability rather than extraction.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What Is Ceremonial Technology?
|
|
8
|
+
|
|
9
|
+
Ceremonial Technology Development is the practice of creating software, frameworks, and workflows that:
|
|
10
|
+
|
|
11
|
+
1. **Honor relational accountability** at every layer — from data types to user interfaces
|
|
12
|
+
2. **Treat code as ceremony** — systematic actions that create collective focus, not just task completion
|
|
13
|
+
3. **Resist extraction** — knowledge belongs to the relationships and communities that created it
|
|
14
|
+
4. **Create rather than eliminate** — oriented toward bringing desired outcomes into being, not removing problems
|
|
15
|
+
|
|
16
|
+
The core insight: Robert Fritz's structural dynamics (Structural Tension, MMOT, Delayed Resolution, Creative Orientation) are not separate from Indigenous paradigm — they **function as ceremonial technology** that bridges systematic Western methodologies with sacred relational Indigenous ways.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## The Medicine Wheel Developer Suite
|
|
21
|
+
|
|
22
|
+
The primary technical manifestation of Ceremonial Technology is the **Medicine Wheel Developer Suite** — seven published npm packages that encode Indigenous relational ontology as first-class code structures:
|
|
23
|
+
|
|
24
|
+
| Package | Role | Direction |
|
|
25
|
+
|---------|------|-----------|
|
|
26
|
+
| `medicine-wheel-ontology-core` | Foundational types, RDF vocab, Zod schemas, Wilson alignment, OCAP | Center |
|
|
27
|
+
| `medicine-wheel-relational-query` | Traverse kinship webs with relational constraints | East |
|
|
28
|
+
| `medicine-wheel-narrative-engine` | Narrative beats and story flow bound to ceremony | South |
|
|
29
|
+
| `medicine-wheel-ceremony-protocol` | Ceremony types, logs, governance, consent workflows | West |
|
|
30
|
+
| `medicine-wheel-graph-viz` | Relational graph visualization | North |
|
|
31
|
+
| `medicine-wheel-ui-components` | Community-facing interface components | Bridge |
|
|
32
|
+
| `medicine-wheel-prompt-decomposition` | PDE — intention exploration as EAST practice | East |
|
|
33
|
+
|
|
34
|
+
See: [Medicine Wheel Research](medicine-wheel-research.md) · [llms-medicine-wheel-packages.txt](../llms-medicine-wheel-packages.txt)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## LangChain & LangGraph Integration
|
|
39
|
+
|
|
40
|
+
### LangChain — Sequential Ceremonial Workflows
|
|
41
|
+
|
|
42
|
+
LangChain tools backed by ontology-core enable:
|
|
43
|
+
|
|
44
|
+
- **RelationalNodeRetriever** — surfaces nodes constrained by direction, ceremony context, or OCAP flags
|
|
45
|
+
- **NarrativeBeatPlanner** — uses Structural Tension Charts and Narrative Beats to generate next steps in research or ceremony
|
|
46
|
+
|
|
47
|
+
### LangGraph — Four Directions Multi-Agent Orchestration
|
|
48
|
+
|
|
49
|
+
LangGraph's stateful graph maps to the Medicine Wheel directions:
|
|
50
|
+
|
|
51
|
+
| Direction | Agent Role | Function |
|
|
52
|
+
|-----------|-----------|----------|
|
|
53
|
+
| 🌅 **East** | Inquiry & bias detection | Nitshkees Thinking — structural tension detection |
|
|
54
|
+
| 🔥 **South** | Planning & consent | OCAP flags, ceremony-protocol guidance |
|
|
55
|
+
| 🌊 **West** | Experiential practice | Data gathering, field notes, transcripts |
|
|
56
|
+
| ❄️ **North** | Reflection & archival | Narrative beats, ceremony logs, Wilson alignment summaries |
|
|
57
|
+
|
|
58
|
+
Graph-level governance ensures that edges touching sacred knowledge are only traversed when appropriate ceremonies have been logged and IKSL conditions are met.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Ceremonial Practices in Software
|
|
63
|
+
|
|
64
|
+
### Coding as Ceremony
|
|
65
|
+
|
|
66
|
+
When working under ceremonial technology principles:
|
|
67
|
+
|
|
68
|
+
- **File creation** is a relational act — every new artifact enters a kinship network
|
|
69
|
+
- **Refactoring** is relational change — positions shift within the kin map
|
|
70
|
+
- **Commits** carry narrative meaning — not just what changed, but what it means relationally
|
|
71
|
+
- **Reviews** use MMOT — truth as a verb, turning discrepancies into learning
|
|
72
|
+
|
|
73
|
+
### The Five Ceremonial Stages
|
|
74
|
+
|
|
75
|
+
The creative process parallels five ceremonial stages:
|
|
76
|
+
|
|
77
|
+
1. **Preparation** — Establishing structural tension (desired outcome + current reality)
|
|
78
|
+
2. **Invitation** — Opening sacred space for inquiry
|
|
79
|
+
3. **Engagement** — Holding tension, resisting premature resolution
|
|
80
|
+
4. **Integration** — Knowledge transforms practice
|
|
81
|
+
5. **Completion** — Ceremony closes; obligations carry forward
|
|
82
|
+
|
|
83
|
+
See: [Creative Orientation](creative-orientation.md) · [Structural Tension](structural-tension.md) · [Delayed Resolution](../llms-delayed-resolution-principle.md)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Relationship to Relational Science
|
|
88
|
+
|
|
89
|
+
[Relational Science](relational-science.md) provides the epistemological ground — **how knowledge works relationally**.
|
|
90
|
+
|
|
91
|
+
Ceremonial Technology Development provides the tools — **software that embodies relational accountability in action**.
|
|
92
|
+
|
|
93
|
+
The braid: *Relational Science names what is true about knowledge. Ceremonial Technology creates tools worthy of that truth.*
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Key Sources
|
|
98
|
+
|
|
99
|
+
- [Medicine Wheel Research](medicine-wheel-research.md) — [llms-inquiry-medicine-wheel](../llms-inquiry-medicine-wheel-abundance-intelligence-research--d971fc13-64ee-41ab-8fcd-bb5900197ab8.md)
|
|
100
|
+
- [Indigenous Research Paradigm](indigenous-research-paradigm.md) — [llms-inquiry-6406eb37](../llms-inquiry-6406eb37-69b1-471d-9cac-07ae69449c35.md)
|
|
101
|
+
- [Kinship Hub System](kinship-hub.md) — [llms-kinship-hub-system-full.md](../llms-kinship-hub-system-full.md)
|
|
102
|
+
- [KINSHIP.md](../KINSHIP.md) — this repo's relational charter
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Creative Orientation
|
|
2
|
+
|
|
3
|
+
> The foundational framework for shifting from reactive problem-solving to generative creation, based on Robert Fritz's structural dynamics.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Core Distinction
|
|
8
|
+
|
|
9
|
+
| Reactive Approach (Elimination) | Creative Approach (Generation) |
|
|
10
|
+
|-------------------------------|-------------------------------|
|
|
11
|
+
| Focuses on removing unwanted conditions | Focuses on bringing desired outcomes into being |
|
|
12
|
+
| Action driven by what you don't want | Action driven by what you want to create |
|
|
13
|
+
| Energy diminishes as problems reduce | Energy sustains through structural tension |
|
|
14
|
+
| Produces **oscillating patterns** | Produces **advancing patterns** |
|
|
15
|
+
|
|
16
|
+
**This is not a preference — it is a structural difference.** The reactive approach oscillates because once the problem is sufficiently reduced, motivation decreases, and the problem returns. The creative approach advances because structural tension drives resolution toward the desired outcome.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Structural Thinking Foundation
|
|
21
|
+
|
|
22
|
+
Before creative orientation can function, **clear reality perception is essential**:
|
|
23
|
+
|
|
24
|
+
- Structural tension cannot form without accurate assessment of "what is"
|
|
25
|
+
- Hidden concepts and biases distort reality perception
|
|
26
|
+
- **The structure of anything determines its behavior** — change the structure, change the pattern
|
|
27
|
+
- Conceptual risk (imagined) vs. actual risk (present) must be distinguished
|
|
28
|
+
|
|
29
|
+
### The Three Steps of Structural Thinking
|
|
30
|
+
|
|
31
|
+
1. **Start with Nothing** — no preconceptions, no imported models
|
|
32
|
+
2. **Picture What Is Said** — visualize the information as presented
|
|
33
|
+
3. **Ask Questions** — Information, Clarification, Implication, Discrepancy
|
|
34
|
+
|
|
35
|
+
See: [llms-structural-thinking.gemini.txt](../llms-structural-thinking.gemini.txt) · [llms-structural-thinking.claude](../llms-structural-thinking.claude.f04dc696-3959-4be4-ad3f-390df0f517d9.txt)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Structural Tension
|
|
40
|
+
|
|
41
|
+
**Structural tension is disequilibrium** — an active, loaded, dynamic force that seeks resolution through advancement. It is **NOT** "a gap to bridge."
|
|
42
|
+
|
|
43
|
+
| ❌ Never say | ✅ Say instead |
|
|
44
|
+
|-------------|---------------|
|
|
45
|
+
| "bridge the gap" | "resolve the tension" |
|
|
46
|
+
| "close the gap" | "advance toward the desired outcome" |
|
|
47
|
+
| "fill the gap" | "the structure seeks resolution" |
|
|
48
|
+
|
|
49
|
+
A structural tension chart has three components:
|
|
50
|
+
|
|
51
|
+
1. **Desired Outcome** — what you want to create (not solve)
|
|
52
|
+
2. **Current Reality** — honest assessment of where you are now
|
|
53
|
+
3. **Action Steps** — strategic secondary choices supporting the primary goal (NOT a to-do list)
|
|
54
|
+
|
|
55
|
+
See: [Structural Tension](structural-tension.md) for the full charting methodology.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## The Three Phases of Creation
|
|
60
|
+
|
|
61
|
+
1. **Germination** — The vision forms; structural tension establishes between desired outcome and current reality
|
|
62
|
+
2. **Assimilation** — Internalizing the vision; living within the tension without premature resolution
|
|
63
|
+
3. **Completion** — The creation resolves; the structure advances to equilibrium
|
|
64
|
+
|
|
65
|
+
These phases parallel the five ceremonial stages described in [Ceremonial Technology](ceremonial-technology.md).
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Delayed Resolution
|
|
70
|
+
|
|
71
|
+
A critical principle: **hold structural tension rather than collapsing it prematurely**.
|
|
72
|
+
|
|
73
|
+
Premature resolution destroys the generative force. When an AI defaults to "Ready to begin" without genuinely assessing current reality, it eliminates the tension that drives creation.
|
|
74
|
+
|
|
75
|
+
See: [llms-delayed-resolution-principle.md](../llms-delayed-resolution-principle.md)
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Creative Orientation as Decolonial Practice
|
|
80
|
+
|
|
81
|
+
The creative orientation is inherently aligned with Indigenous epistemologies because:
|
|
82
|
+
|
|
83
|
+
- **Creation, not elimination** resists Wetigo (consumption/extraction) mentality
|
|
84
|
+
- **Knowledge-to-wisdom transformation** parallels ceremonial knowledge-making
|
|
85
|
+
- **Structural tension as sacred space** — the tension between vision and reality is *mana*
|
|
86
|
+
- **Advancing patterns** honor the relational web rather than extracting from it
|
|
87
|
+
|
|
88
|
+
See: [Relational Science](relational-science.md) · [Indigenous Research Paradigm](indigenous-research-paradigm.md)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Key Sources
|
|
93
|
+
|
|
94
|
+
- [llms-creative-orientation.txt](../llms-creative-orientation.txt) — full framework
|
|
95
|
+
- [llms-structural-thinking.gemini.txt](../llms-structural-thinking.gemini.txt) — diagnostic discipline
|
|
96
|
+
- [llms-delayed-resolution-principle.md](../llms-delayed-resolution-principle.md) — tension maintenance
|
|
97
|
+
- [llms-sccp-patterning.md](../llms-sccp-patterning.md) — macrostructural pattern analysis
|
|
98
|
+
- [llms-leadership.txt](../llms-leadership.txt) — leadership through structural design
|
|
99
|
+
- [llms-non-creative-orientation-approach-to-convert.txt](../llms-non-creative-orientation-approach-to-convert.txt) — reframing reactive methods
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Prompt Decomposition Engine (PDE)
|
|
2
|
+
|
|
3
|
+
> Intention exploration as EAST practice — decomposing prompts into explicit and implicit intents, mapping dependencies, and organizing action through the Four Directions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## PDE as EAST Practice
|
|
8
|
+
|
|
9
|
+
Prompt Decomposition is part of the **EAST** direction in the Medicine Wheel framework — the direction of **Vision**, where:
|
|
10
|
+
|
|
11
|
+
- Intentions are explored before action begins
|
|
12
|
+
- Explicit and implicit needs are surfaced
|
|
13
|
+
- Ambiguities are named rather than assumed away
|
|
14
|
+
- The full scope of what is being asked becomes visible
|
|
15
|
+
|
|
16
|
+
The EAST practice then guides toward **SOUTH** — planning and structured activities with human and AI companions. This is the bridge from vision to embodied action.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## How PDE Works
|
|
21
|
+
|
|
22
|
+
A prompt is decomposed into:
|
|
23
|
+
|
|
24
|
+
### Primary Intent
|
|
25
|
+
The single most important action — what the prompt is fundamentally asking for.
|
|
26
|
+
|
|
27
|
+
### Secondary Intents
|
|
28
|
+
Everything else, distinguished as:
|
|
29
|
+
- **Explicit** — stated directly in the prompt
|
|
30
|
+
- **Implicit** — inferred from hedging language ("probably," "I assume," "somehow")
|
|
31
|
+
|
|
32
|
+
### Four Directions Mapping
|
|
33
|
+
|
|
34
|
+
| Direction | Role | Examples |
|
|
35
|
+
|-----------|------|----------|
|
|
36
|
+
| 🌅 **East** | Vision — what is being asked | Requirements, desired outcomes, vision statements |
|
|
37
|
+
| 🔥 **South** | Analysis — what needs to be learned | Research, investigation, reading, growing |
|
|
38
|
+
| 🌊 **West** | Validation — what needs reflection | Testing, review, accountability checks |
|
|
39
|
+
| ❄️ **North** | Action — what executes the cycle | Implementation, delivery, creation |
|
|
40
|
+
|
|
41
|
+
### Action Stack
|
|
42
|
+
An ordered list of tasks respecting dependencies, each mapped to a direction.
|
|
43
|
+
|
|
44
|
+
### Ambiguities
|
|
45
|
+
Places where the prompt is vague or uses uncertain language — surfaced explicitly rather than resolved by assumption.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## PDE and Delayed Resolution
|
|
50
|
+
|
|
51
|
+
PDE embodies the [delayed resolution principle](../llms-delayed-resolution-principle.md): ambiguities are **named and held** rather than silently resolved. This prevents:
|
|
52
|
+
|
|
53
|
+
- Premature commitment to misunderstood requirements
|
|
54
|
+
- False confidence in AI interpretation
|
|
55
|
+
- Loss of the generative tension between "what was asked" and "what is needed"
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Integration
|
|
60
|
+
|
|
61
|
+
| Framework | Connection |
|
|
62
|
+
|-----------|-----------|
|
|
63
|
+
| [Creative Orientation](creative-orientation.md) | PDE frames decomposition as creation, not analysis |
|
|
64
|
+
| [Structural Tension](structural-tension.md) | Each decomposed intent creates its own tension chart |
|
|
65
|
+
| [Narrative Craft](narrative-craft.md) | Complex prompts contain story — PDE surfaces the narrative structure |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Key Sources
|
|
70
|
+
|
|
71
|
+
- [llms-pde.txt](../llms-pde.txt) — PDE reference (llms-txt format)
|
|
72
|
+
- [medicine-wheel-prompt-decomposition](https://www.npmjs.com/package/medicine-wheel-prompt-decomposition) — npm package
|
|
73
|
+
- [.pde/](../.pde/) — stored decompositions in this repository
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# RISE Framework
|
|
2
|
+
|
|
3
|
+
> **R**everse-engineer, **I**ntent-extract, **S**pecify, **E**xport — a creative-oriented methodology for understanding and generating code architectures through structural tension dynamics.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Foundation: Specifications as Prose Code
|
|
8
|
+
|
|
9
|
+
RISE builds on SpecLang's core insight: **specifications are "prose code"** — natural language representations of computation that still require you to think like a programmer.
|
|
10
|
+
|
|
11
|
+
### SpecLang Principles
|
|
12
|
+
|
|
13
|
+
- **Spec as Source of Truth** — the specification is what you maintain; executable code is secondary
|
|
14
|
+
- **Variable Detail Levels** — offhand remarks may generate dozens of boilerplate lines; exact steps when precision matters
|
|
15
|
+
- **Creating and Adjusting** — start simple, refine against running output, stop when reality matches vision
|
|
16
|
+
- **Bi-directional Ideation** — the model "yes-ands" your intent, extending ideas naturally
|
|
17
|
+
- **Intent-based Expression** — focus on behavior; toolchain handles plumbing
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## The Four Phases
|
|
22
|
+
|
|
23
|
+
### Phase 1: Reverse-engineer (R)
|
|
24
|
+
|
|
25
|
+
**Creative Archaeology** — extracting what exists with respect for what was created.
|
|
26
|
+
|
|
27
|
+
- Map the existing system's structure without importing preconceptions
|
|
28
|
+
- Identify what users *love* about the current prototype
|
|
29
|
+
- Use [Structural Thinking](creative-orientation.md) — start with nothing, picture what is said, ask questions
|
|
30
|
+
|
|
31
|
+
### Phase 2: Intent-extract (I)
|
|
32
|
+
|
|
33
|
+
**Uncovering creative vision** — what the creator wanted to bring into being.
|
|
34
|
+
|
|
35
|
+
- Distinguish between what the code *does* and what the creator *intended*
|
|
36
|
+
- Extract the structural tension: desired outcome vs. current reality of the codebase
|
|
37
|
+
- Preserve the "beloved qualities" that make prototypes valuable
|
|
38
|
+
|
|
39
|
+
### Phase 3: Specify (S)
|
|
40
|
+
|
|
41
|
+
**SpecLang prose-code generation** — writing specifications that capture desired outcomes.
|
|
42
|
+
|
|
43
|
+
- Specifications focus on *what you want to create*, not problems to fix
|
|
44
|
+
- Detail varies: broad strokes for obvious patterns, precision for critical behavior
|
|
45
|
+
- Each spec is a structural tension chart: desired behavior + current state + action plan
|
|
46
|
+
|
|
47
|
+
### Phase 4: Export (E)
|
|
48
|
+
|
|
49
|
+
**Manifesting the creation** — generating implementation from specification.
|
|
50
|
+
|
|
51
|
+
- Code generation follows the spec as source of truth
|
|
52
|
+
- Git-log-driven methodology maintains specs as code evolves
|
|
53
|
+
- The creation advances toward the desired outcome through iterative refinement
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## RISE and the Creative Orientation
|
|
58
|
+
|
|
59
|
+
RISE transforms how reverse engineering is practiced:
|
|
60
|
+
|
|
61
|
+
| Reactive Approach | RISE Approach |
|
|
62
|
+
|------------------|---------------|
|
|
63
|
+
| Find bugs and fix them | Discover creative intent and honor it |
|
|
64
|
+
| Document what's broken | Specify what's desired |
|
|
65
|
+
| Patch problems | Advance toward the vision |
|
|
66
|
+
| Technical debt analysis | Creative archaeology |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Key Sources
|
|
71
|
+
|
|
72
|
+
- [llms-rise-framework.txt](../llms-rise-framework.txt) — full framework (998 lines)
|
|
73
|
+
- [llms-creative-orientation.txt](../llms-creative-orientation.txt) — foundational principles
|
|
74
|
+
- [llms-structural-thinking.gemini.txt](../llms-structural-thinking.gemini.txt) — diagnostic discipline
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Structural Tension Charts
|
|
2
|
+
|
|
3
|
+
> Structural tension is **disequilibrium** — an active, loaded force that resolves through advancement, not a gap to bridge. Action steps are telescoped sub-charts, not a to-do list.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Components
|
|
8
|
+
|
|
9
|
+
Every structural tension chart holds three elements:
|
|
10
|
+
|
|
11
|
+
1. **Desired Outcome** — What you want to create (not what you want to solve or eliminate)
|
|
12
|
+
2. **Current Reality** — An honest, unbiased assessment of what actually exists right now
|
|
13
|
+
3. **Action Steps** — Strategic secondary choices that *support* the primary goal
|
|
14
|
+
|
|
15
|
+
### The Tension Dynamic
|
|
16
|
+
|
|
17
|
+
Structural tension is a state of **disequilibrium** between Desired Outcome and Current Reality. Like a stretched elastic band, it is an energized, causal force that naturally seeks resolution through advancement.
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Desired Outcome ───────────── TENSION ───────────── Current Reality
|
|
21
|
+
(what you want to create) (what actually is)
|
|
22
|
+
│
|
|
23
|
+
┌─────────▼─────────┐
|
|
24
|
+
│ Action Steps │
|
|
25
|
+
│ (each a chart │
|
|
26
|
+
│ in itself) │
|
|
27
|
+
└───────────────────┘
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Action Steps Are NOT a To-Do List
|
|
33
|
+
|
|
34
|
+
This is the most common failure. Action steps are:
|
|
35
|
+
|
|
36
|
+
- ✅ Strategic secondary choices that SUPPORT the primary goal
|
|
37
|
+
- ✅ Understood in the CONTEXT of structural tension
|
|
38
|
+
- ✅ Related to EACH OTHER as part of an overview strategy
|
|
39
|
+
- ✅ A BLUEPRINT for the creative process
|
|
40
|
+
- ❌ NOT items on a checklist
|
|
41
|
+
- ❌ NOT independent tasks
|
|
42
|
+
- ❌ NOT detailed instructions
|
|
43
|
+
|
|
44
|
+
**The Test Question**: "If we took these steps, would we achieve this result?"
|
|
45
|
+
|
|
46
|
+
Each action step is itself a telescoped structural tension chart — with its own desired outcome, current reality, and sub-steps.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Language Discipline
|
|
51
|
+
|
|
52
|
+
| ❌ Never say | ✅ Say instead | Why |
|
|
53
|
+
|-------------|---------------|-----|
|
|
54
|
+
| "bridge the gap" | "resolve the tension" | Tension is a force, not a void |
|
|
55
|
+
| "close the gap" | "advance toward the desired outcome" | The structure advances |
|
|
56
|
+
| "the gap between" | "the tension between" | Gap = emptiness. Tension = loaded energy |
|
|
57
|
+
| "fill the gap" | "the structure seeks resolution" | Nothing is being filled |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Integration with Other Frameworks
|
|
62
|
+
|
|
63
|
+
### As Ceremonial Technology
|
|
64
|
+
|
|
65
|
+
Structural Tension Charting functions as **entering sacred space** — the tension between vision and reality is *mana* (sacred space between things). See: [Ceremonial Technology](ceremonial-technology.md) · [Indigenous Research Paradigm](indigenous-research-paradigm.md)
|
|
66
|
+
|
|
67
|
+
### With MMOT
|
|
68
|
+
|
|
69
|
+
When a discrepancy appears between expectation and delivery, the [Managerial Moment of Truth](performance-truth.md) provides a four-step process for addressing it within the structural tension framework.
|
|
70
|
+
|
|
71
|
+
### With Delayed Resolution
|
|
72
|
+
|
|
73
|
+
The principle of [delayed resolution](../llms-delayed-resolution-principle.md) prevents premature collapse of structural tension. Current reality must be genuinely assessed, not defaulted to comfortable starting positions.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Key Sources
|
|
78
|
+
|
|
79
|
+
- [llms-structural-tension-charts.txt](../llms-structural-tension-charts.txt) — full charting guide
|
|
80
|
+
- [llms-creative-orientation.txt](../llms-creative-orientation.txt) — foundational framework
|
|
81
|
+
- [llms-delayed-resolution-principle.md](../llms-delayed-resolution-principle.md) — tension maintenance
|
|
82
|
+
- [llms-managerial-moment-of-truth.md](../llms-managerial-moment-of-truth.md) — MMOT process
|
package/src/cli.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { createInterface } from "readline";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { loadConfig, saveConfig, ENGINE_MODELS, ENGINES } from "./config.js";
|
|
4
4
|
import { runGeminiHeadless } from "./geminiHeadless.js";
|
|
5
|
-
import { rememberSession, getLastSessionForProject, listSessions, clearSessions, markSessionInitialized, isSessionInitialized, saveChatMessage, loadChatHistory } from "./sessionStore.js";
|
|
5
|
+
import { rememberSession, getLastSessionForProject, listSessions, clearSessions, markSessionInitialized, isSessionInitialized, saveChatMessage, loadChatHistory, getSessionById } from "./sessionStore.js";
|
|
6
6
|
import { MiaCodeSessionMeta, MiaCodeConfig, Engine, ChatMessage } from "./types.js";
|
|
7
7
|
import { renderEventsToText, formatHeader, formatHelpText, formatError, formatSuccess } from "./formatting.js";
|
|
8
8
|
import { runUnifierSession } from "./unifier.js";
|
|
@@ -57,8 +57,10 @@ async function runInteractiveConfig(config: MiaCodeConfig): Promise<void> {
|
|
|
57
57
|
console.log(chalk.green(`\n✓ config updated → engine: ${engine}, model: ${model}`));
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
async function pickSession(projectRoot: string): Promise<string | undefined> {
|
|
61
|
-
const sessions = listSessions().filter(s =>
|
|
60
|
+
async function pickSession(projectRoot: string, engine?: Engine): Promise<string | undefined> {
|
|
61
|
+
const sessions = listSessions().filter(s =>
|
|
62
|
+
s.projectRoot === projectRoot && (!engine || s.engine === engine || !s.engine)
|
|
63
|
+
);
|
|
62
64
|
|
|
63
65
|
if (sessions.length === 0) {
|
|
64
66
|
console.log(chalk.yellow("No saved sessions for this project."));
|
|
@@ -67,7 +69,8 @@ async function pickSession(projectRoot: string): Promise<string | undefined> {
|
|
|
67
69
|
|
|
68
70
|
console.log(chalk.bold("\nAvailable sessions:"));
|
|
69
71
|
sessions.forEach((s, idx) => {
|
|
70
|
-
|
|
72
|
+
const engineLabel = s.engine ? chalk.dim(` [${s.engine}]`) : "";
|
|
73
|
+
console.log(chalk.dim(` ${idx + 1}. ${s.id.slice(0, 12)}...${engineLabel} (${s.startedAt})`));
|
|
71
74
|
});
|
|
72
75
|
console.log(chalk.dim(` 0. Start new session`));
|
|
73
76
|
console.log("");
|
|
@@ -134,13 +137,20 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
134
137
|
|
|
135
138
|
if (options.resume === true) {
|
|
136
139
|
// Interactive session picker
|
|
137
|
-
currentSessionId = await pickSession(projectRoot);
|
|
140
|
+
currentSessionId = await pickSession(projectRoot, config.engine);
|
|
138
141
|
} else if (typeof options.resume === "string") {
|
|
139
|
-
// Explicit session ID provided
|
|
140
|
-
|
|
142
|
+
// Explicit session ID provided — validate engine compatibility
|
|
143
|
+
const session = getSessionById(options.resume);
|
|
144
|
+
if (session && session.engine && session.engine !== config.engine) {
|
|
145
|
+
console.log(chalk.yellow(`⚠ session was created with ${session.engine} engine, current engine is ${config.engine}`));
|
|
146
|
+
console.log(chalk.yellow(" starting a new session instead"));
|
|
147
|
+
currentSessionId = undefined;
|
|
148
|
+
} else {
|
|
149
|
+
currentSessionId = options.resume;
|
|
150
|
+
}
|
|
141
151
|
} else {
|
|
142
|
-
// Auto-resume last session for this project
|
|
143
|
-
currentSessionId = getLastSessionForProject(projectRoot)?.id;
|
|
152
|
+
// Auto-resume last session for this project AND engine
|
|
153
|
+
currentSessionId = getLastSessionForProject(projectRoot, config.engine)?.id;
|
|
144
154
|
}
|
|
145
155
|
|
|
146
156
|
// Print header
|
|
@@ -203,6 +213,7 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
203
213
|
if (currentSessionId) {
|
|
204
214
|
console.log(chalk.dim(`current session: ${currentSessionId}`));
|
|
205
215
|
console.log(chalk.dim(`project: ${projectRoot}`));
|
|
216
|
+
console.log(chalk.dim(`engine: ${config.engine}`));
|
|
206
217
|
console.log(chalk.dim(`model: ${config.model}`));
|
|
207
218
|
} else {
|
|
208
219
|
console.log(chalk.dim("no active session"));
|
|
@@ -217,7 +228,8 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
217
228
|
console.log(chalk.dim(`saved sessions (${sessions.length}):`));
|
|
218
229
|
for (const s of sessions.slice(-10)) {
|
|
219
230
|
const marker = s.id === currentSessionId ? chalk.green("→ ") : " ";
|
|
220
|
-
|
|
231
|
+
const engineLabel = s.engine ? `[${s.engine}] ` : "";
|
|
232
|
+
console.log(chalk.dim(`${marker}${s.id.slice(0, 12)}... | ${engineLabel}${s.projectRoot || "unknown"} | ${s.startedAt}`));
|
|
221
233
|
}
|
|
222
234
|
}
|
|
223
235
|
break;
|
|
@@ -303,6 +315,7 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
303
315
|
id: currentSessionId,
|
|
304
316
|
startedAt: new Date().toISOString(),
|
|
305
317
|
model: config.model,
|
|
318
|
+
engine: config.engine,
|
|
306
319
|
projectRoot,
|
|
307
320
|
initialized: true
|
|
308
321
|
};
|
|
@@ -367,6 +380,7 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
367
380
|
id: currentSessionId,
|
|
368
381
|
startedAt: new Date().toISOString(),
|
|
369
382
|
model: config.model,
|
|
383
|
+
engine: config.engine,
|
|
370
384
|
projectRoot,
|
|
371
385
|
initialized: false
|
|
372
386
|
};
|
|
@@ -389,6 +403,7 @@ export async function runInteractiveCli(options: CliOptions = {}): Promise<void>
|
|
|
389
403
|
id: currentSessionId,
|
|
390
404
|
startedAt: new Date().toISOString(),
|
|
391
405
|
model: config.model,
|
|
406
|
+
engine: config.engine,
|
|
392
407
|
projectRoot,
|
|
393
408
|
initialized: true
|
|
394
409
|
};
|
|
@@ -690,7 +705,15 @@ export async function runSinglePrompt(prompt: string, options: CliOptions = {}):
|
|
|
690
705
|
// Handle session resume (single prompt doesn't support interactive picker)
|
|
691
706
|
let sessionId: string | undefined;
|
|
692
707
|
if (typeof options.resume === "string") {
|
|
693
|
-
|
|
708
|
+
// Validate engine compatibility (mirror runInteractiveCli logic)
|
|
709
|
+
const session = getSessionById(options.resume);
|
|
710
|
+
if (session && session.engine && session.engine !== config.engine) {
|
|
711
|
+
console.log(chalk.yellow(`⚠ session was created with ${session.engine} engine, current engine is ${config.engine}`));
|
|
712
|
+
console.log(chalk.yellow(" starting a new session instead"));
|
|
713
|
+
sessionId = undefined;
|
|
714
|
+
} else {
|
|
715
|
+
sessionId = options.resume;
|
|
716
|
+
}
|
|
694
717
|
} else if (options.resume === true) {
|
|
695
718
|
// Don't auto-resume for single prompts
|
|
696
719
|
sessionId = undefined;
|
|
@@ -713,6 +736,7 @@ export async function runSinglePrompt(prompt: string, options: CliOptions = {}):
|
|
|
713
736
|
id: result.sessionId,
|
|
714
737
|
startedAt: new Date().toISOString(),
|
|
715
738
|
model: config.model,
|
|
739
|
+
engine: config.engine,
|
|
716
740
|
projectRoot
|
|
717
741
|
};
|
|
718
742
|
rememberSession(meta);
|
package/src/geminiHeadless.ts
CHANGED
|
@@ -66,10 +66,15 @@ export function runGeminiHeadless(
|
|
|
66
66
|
args.push("--resume", sessionId);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
// Additional directories
|
|
69
|
+
// Additional directories (engine-specific flag)
|
|
70
70
|
if (additionalDirs) {
|
|
71
71
|
for (const dir of additionalDirs) {
|
|
72
|
-
|
|
72
|
+
if (config.engine === "claude" || config.engine === "copilot") {
|
|
73
|
+
args.push("--add-dir", dir);
|
|
74
|
+
} else {
|
|
75
|
+
// Gemini uses --include-directories
|
|
76
|
+
args.push("--include-directories", dir);
|
|
77
|
+
}
|
|
73
78
|
}
|
|
74
79
|
}
|
|
75
80
|
|
package/src/index.ts
CHANGED
|
@@ -153,7 +153,8 @@ program
|
|
|
153
153
|
}
|
|
154
154
|
console.log(chalk.dim(`saved sessions (${sessions.length}):`));
|
|
155
155
|
for (const s of sessions) {
|
|
156
|
-
|
|
156
|
+
const engineLabel = s.engine ? `[${s.engine}] ` : "";
|
|
157
|
+
console.log(chalk.dim(` ${s.id.slice(0, 12)}... | ${engineLabel}${s.projectRoot || "unknown"} | ${s.startedAt}`));
|
|
157
158
|
}
|
|
158
159
|
});
|
|
159
160
|
|
package/src/mcp/miaco-server.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Exposes chart/schema/validate tools as MCP tools
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { runCLI, parseJSONOutput, createToolResult, buildArgs, MCPTool, MCPToolResult } from "./utils.js";
|
|
7
|
+
import { runCLI, parseJSONOutput, createToolResult, buildArgs, bootstrapMCPServer, MCPTool, MCPToolResult } from "./utils.js";
|
|
8
8
|
import { dirname, join } from "path";
|
|
9
9
|
import { fileURLToPath } from "url";
|
|
10
10
|
|
|
@@ -197,3 +197,15 @@ export const miacoServerConfig = {
|
|
|
197
197
|
tools: miacoTools,
|
|
198
198
|
handleTool: handleMiacoTool
|
|
199
199
|
};
|
|
200
|
+
|
|
201
|
+
// Start MCP server when run directly
|
|
202
|
+
const isMain = process.argv[1] && (
|
|
203
|
+
process.argv[1].endsWith("miaco-server.js") ||
|
|
204
|
+
process.argv[1].endsWith("miaco-server.ts")
|
|
205
|
+
);
|
|
206
|
+
if (isMain) {
|
|
207
|
+
bootstrapMCPServer(miacoServerConfig, handleMiacoTool).catch((err) => {
|
|
208
|
+
process.stderr.write(`miaco MCP server error: ${err.message}\n`);
|
|
209
|
+
process.exit(1);
|
|
210
|
+
});
|
|
211
|
+
}
|
package/src/mcp/miatel-server.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Exposes beat/arc/theme tools as MCP tools
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { runCLI, parseJSONOutput, createToolResult, buildArgs, MCPTool, MCPToolResult } from "./utils.js";
|
|
7
|
+
import { runCLI, parseJSONOutput, createToolResult, buildArgs, bootstrapMCPServer, MCPTool, MCPToolResult } from "./utils.js";
|
|
8
8
|
import { dirname, join } from "path";
|
|
9
9
|
import { fileURLToPath } from "url";
|
|
10
10
|
|
|
@@ -136,3 +136,15 @@ export const miatelServerConfig = {
|
|
|
136
136
|
tools: miatelTools,
|
|
137
137
|
handleTool: handleMiatelTool
|
|
138
138
|
};
|
|
139
|
+
|
|
140
|
+
// Start MCP server when run directly
|
|
141
|
+
const isMain = process.argv[1] && (
|
|
142
|
+
process.argv[1].endsWith("miatel-server.js") ||
|
|
143
|
+
process.argv[1].endsWith("miatel-server.ts")
|
|
144
|
+
);
|
|
145
|
+
if (isMain) {
|
|
146
|
+
bootstrapMCPServer(miatelServerConfig, handleMiatelTool).catch((err) => {
|
|
147
|
+
process.stderr.write(`miatel MCP server error: ${err.message}\n`);
|
|
148
|
+
process.exit(1);
|
|
149
|
+
});
|
|
150
|
+
}
|
package/src/mcp/miawa-server.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Exposes ceremony/wound/eva tools as MCP tools
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { runCLI, parseJSONOutput, createToolResult, buildArgs, MCPTool, MCPToolResult } from "./utils.js";
|
|
7
|
+
import { runCLI, parseJSONOutput, createToolResult, buildArgs, bootstrapMCPServer, MCPTool, MCPToolResult } from "./utils.js";
|
|
8
8
|
import { dirname, join } from "path";
|
|
9
9
|
import { fileURLToPath } from "url";
|
|
10
10
|
|
|
@@ -156,3 +156,15 @@ export const miawaServerConfig = {
|
|
|
156
156
|
tools: miawaTools,
|
|
157
157
|
handleTool: handleMiawaTool
|
|
158
158
|
};
|
|
159
|
+
|
|
160
|
+
// Start MCP server when run directly
|
|
161
|
+
const isMain = process.argv[1] && (
|
|
162
|
+
process.argv[1].endsWith("miawa-server.js") ||
|
|
163
|
+
process.argv[1].endsWith("miawa-server.ts")
|
|
164
|
+
);
|
|
165
|
+
if (isMain) {
|
|
166
|
+
bootstrapMCPServer(miawaServerConfig, handleMiawaTool).catch((err) => {
|
|
167
|
+
process.stderr.write(`miawa MCP server error: ${err.message}\n`);
|
|
168
|
+
process.exit(1);
|
|
169
|
+
});
|
|
170
|
+
}
|