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,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mia-code/miawa",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Miawa: Ceremony World terminal agent for healing, circles, and relational accountability",
|
|
5
|
+
"bin": {
|
|
6
|
+
"miawa": "dist/index.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"dev": "npx tsx src/index.ts",
|
|
11
|
+
"start": "node dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"author": "Guillaume D. Isabelle",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"type": "module",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"chalk": "^5.3.0",
|
|
18
|
+
"coaiajs": "^0.1.0",
|
|
19
|
+
"commander": "^12.0.0",
|
|
20
|
+
"enquirer": "^2.4.1",
|
|
21
|
+
"ora": "^8.0.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^22.0.0",
|
|
25
|
+
"tsx": "^4.7.0",
|
|
26
|
+
"typescript": "^5.6.0"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"ceremony",
|
|
30
|
+
"healing",
|
|
31
|
+
"lighthouse",
|
|
32
|
+
"mia-code",
|
|
33
|
+
"terminal-agent",
|
|
34
|
+
"medicine-wheel"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beat command - Story beat operations with ceremony awareness
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
|
|
8
|
+
export const beatCommand = new Command("beat")
|
|
9
|
+
.description("Story beat operations with ceremonial phases");
|
|
10
|
+
|
|
11
|
+
beatCommand
|
|
12
|
+
.command("create")
|
|
13
|
+
.description("Create a story beat/reflection")
|
|
14
|
+
.requiredOption("-t, --text <text>", "Reflection content")
|
|
15
|
+
.option("--phase <phase>", "Narrative phase: yellow (inquiry), violet (reflection), white-gold (insight), emerald (commitment)")
|
|
16
|
+
.option("--color <hex>", "Visual color representation")
|
|
17
|
+
.option("--sound <sound>", "Sound/tone association")
|
|
18
|
+
.option("--shared", "Share with community")
|
|
19
|
+
.action(async (opts) => {
|
|
20
|
+
// Sacred pause before action
|
|
21
|
+
console.log(chalk.dim(" ... taking a breath ..."));
|
|
22
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
23
|
+
|
|
24
|
+
console.log(chalk.bold("🙏 Creating Story Beat"));
|
|
25
|
+
console.log(chalk.dim(` Phase: ${opts.phase || "yellow (inquiry)"}`));
|
|
26
|
+
console.log(chalk.dim(` Text: ${opts.text.substring(0, 50)}...`));
|
|
27
|
+
if (opts.color) console.log(chalk.dim(` Color: ${opts.color}`));
|
|
28
|
+
if (opts.shared) console.log(chalk.dim(` Sharing: with community`));
|
|
29
|
+
console.log();
|
|
30
|
+
|
|
31
|
+
const beatId = `beat_${Date.now().toString(36)}`;
|
|
32
|
+
console.log(chalk.green(` ✓ Story beat created: ${beatId}`));
|
|
33
|
+
console.log(chalk.dim(" Your reflection has been witnessed."));
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
beatCommand
|
|
37
|
+
.command("share")
|
|
38
|
+
.description("Share a story beat with the community")
|
|
39
|
+
.argument("<beatId>", "Beat ID to share")
|
|
40
|
+
.option("--scope <scope>", "Sharing scope: private, shared_with_named, shared_with_group, public_anonymized")
|
|
41
|
+
.option("--show-author", "Show your name as author")
|
|
42
|
+
.option("--allow-witness", "Allow others to witness")
|
|
43
|
+
.option("--allow-respond", "Allow responses")
|
|
44
|
+
.action(async (beatId, opts) => {
|
|
45
|
+
console.log(chalk.bold("🙏 Sharing Story Beat"));
|
|
46
|
+
console.log(chalk.dim(` Beat: ${beatId}`));
|
|
47
|
+
console.log(chalk.dim(` Scope: ${opts.scope || "shared_with_group"}`));
|
|
48
|
+
console.log();
|
|
49
|
+
console.log(chalk.green(" ✓ Beat shared with the community."));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
beatCommand
|
|
53
|
+
.command("list")
|
|
54
|
+
.description("List your story beats")
|
|
55
|
+
.option("--phase <phase>", "Filter by phase")
|
|
56
|
+
.option("-n, --limit <n>", "Limit results", "10")
|
|
57
|
+
.action(async (opts) => {
|
|
58
|
+
console.log(chalk.bold("🙏 Your Story Beats"));
|
|
59
|
+
console.log(chalk.dim(" No beats yet. Use `miawa beat create` to begin."));
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
beatCommand
|
|
63
|
+
.command("analyze")
|
|
64
|
+
.description("Have Eva analyze a beat for narrative throughlines")
|
|
65
|
+
.argument("<beatId>", "Beat ID to analyze")
|
|
66
|
+
.action(async (beatId) => {
|
|
67
|
+
console.log(chalk.bold("🙏 Analyzing Beat with Eva"));
|
|
68
|
+
console.log(chalk.dim(` Beat: ${beatId}`));
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(chalk.dim(" ... Eva is settling into the text ..."));
|
|
71
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
72
|
+
console.log();
|
|
73
|
+
console.log(chalk.yellow(" ⚠ Beat not found. Check ID and try again."));
|
|
74
|
+
});
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ceremony command - Ceremony initiation and management
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
import { SessionStorage, Ceremony, CeremonyType, Movement } from "../storage.js";
|
|
8
|
+
|
|
9
|
+
const CEREMONIES_FILE = "ceremonies.jsonl";
|
|
10
|
+
|
|
11
|
+
export const ceremonyCommand = new Command("ceremony")
|
|
12
|
+
.description("Ceremony initiation and management");
|
|
13
|
+
|
|
14
|
+
ceremonyCommand
|
|
15
|
+
.command("init")
|
|
16
|
+
.description("Initiate a new ceremony session")
|
|
17
|
+
.requiredOption("-t, --title <title>", "Ceremony title")
|
|
18
|
+
.requiredOption("--type <type>", "Type: group_reflection, seasonal, healing_circle, wisdom_sharing")
|
|
19
|
+
.option("-i, --intention <intention>", "Ceremony intention")
|
|
20
|
+
.option("--circle <circleId>", "Host in specific circle")
|
|
21
|
+
.option("--session <id>", "Session ID")
|
|
22
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
23
|
+
.action(async (opts) => {
|
|
24
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
25
|
+
const ceremonyId = `ceremony_${Date.now().toString(36)}`;
|
|
26
|
+
|
|
27
|
+
const ceremony: Ceremony = {
|
|
28
|
+
id: ceremonyId,
|
|
29
|
+
type: opts.type as CeremonyType,
|
|
30
|
+
title: opts.title,
|
|
31
|
+
intention: opts.intention || "",
|
|
32
|
+
movement: 1,
|
|
33
|
+
createdAt: Date.now()
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
storage.append(CEREMONIES_FILE, ceremony);
|
|
37
|
+
|
|
38
|
+
if (opts.json) {
|
|
39
|
+
console.log(JSON.stringify({ success: true, ceremony }));
|
|
40
|
+
} else {
|
|
41
|
+
console.log(chalk.bold("🙏 Initiating Ceremony"));
|
|
42
|
+
console.log(chalk.dim(` Title: ${opts.title}`));
|
|
43
|
+
console.log(chalk.dim(` Type: ${opts.type}`));
|
|
44
|
+
console.log(chalk.dim(` Intention: ${opts.intention || "to be set"}`));
|
|
45
|
+
console.log();
|
|
46
|
+
|
|
47
|
+
// Sacred pause before ceremony
|
|
48
|
+
console.log(chalk.dim(" ... gathering intention ..."));
|
|
49
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
50
|
+
console.log();
|
|
51
|
+
|
|
52
|
+
console.log(chalk.green(` ✓ Ceremony initiated: ${ceremonyId}`));
|
|
53
|
+
console.log(chalk.dim(` Session: ${storage.getSessionId()}`));
|
|
54
|
+
console.log(chalk.dim(" Movement 1 of 4: Gathering"));
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
ceremonyCommand
|
|
59
|
+
.command("list")
|
|
60
|
+
.description("List ceremonies in current session")
|
|
61
|
+
.option("--session <id>", "Session ID")
|
|
62
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
63
|
+
.action(async (opts) => {
|
|
64
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
65
|
+
const ceremonies = storage.readAll<Ceremony>(CEREMONIES_FILE);
|
|
66
|
+
|
|
67
|
+
if (opts.json) {
|
|
68
|
+
console.log(JSON.stringify({ ceremonies }));
|
|
69
|
+
} else {
|
|
70
|
+
console.log(chalk.bold("🙏 Ceremonies"));
|
|
71
|
+
console.log(chalk.dim(` Session: ${storage.getSessionId()}`));
|
|
72
|
+
console.log();
|
|
73
|
+
|
|
74
|
+
if (ceremonies.length === 0) {
|
|
75
|
+
console.log(chalk.dim(" No ceremonies yet. Use `miawa ceremony init` to begin."));
|
|
76
|
+
} else {
|
|
77
|
+
ceremonies.forEach((ceremony, i) => {
|
|
78
|
+
const status = ceremony.completedAt ? "completed" : `movement ${ceremony.movement}/4`;
|
|
79
|
+
console.log(chalk.bold(` ${i + 1}. ${ceremony.title}`));
|
|
80
|
+
console.log(chalk.dim(` ID: ${ceremony.id}`));
|
|
81
|
+
console.log(chalk.dim(` Type: ${ceremony.type} | Status: ${status}`));
|
|
82
|
+
if (ceremony.intention) {
|
|
83
|
+
console.log(chalk.dim(` Intention: ${ceremony.intention.substring(0, 40)}...`));
|
|
84
|
+
}
|
|
85
|
+
console.log();
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
ceremonyCommand
|
|
92
|
+
.command("stage")
|
|
93
|
+
.description("Check current ceremony stage (Four Movements)")
|
|
94
|
+
.option("--ceremony <id>", "Ceremony ID")
|
|
95
|
+
.option("--session <id>", "Session ID")
|
|
96
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
97
|
+
.action(async (opts) => {
|
|
98
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
99
|
+
const ceremonies = storage.readAll<Ceremony>(CEREMONIES_FILE);
|
|
100
|
+
const active = ceremonies.filter(c => !c.completedAt);
|
|
101
|
+
|
|
102
|
+
if (opts.json) {
|
|
103
|
+
console.log(JSON.stringify({ active, stages: [
|
|
104
|
+
{ movement: 1, name: "Gathering", description: "Coming together with intention" },
|
|
105
|
+
{ movement: 2, name: "Sharing", description: "Offering stories and reflections" },
|
|
106
|
+
{ movement: 3, name: "Witnessing", description: "Holding space for what emerges" },
|
|
107
|
+
{ movement: 4, name: "Integration", description: "Closing with wisdom" }
|
|
108
|
+
]}));
|
|
109
|
+
} else {
|
|
110
|
+
console.log(chalk.bold("🙏 Four Movements of Ceremony"));
|
|
111
|
+
console.log();
|
|
112
|
+
console.log(chalk.dim(" 1. Gathering - Coming together with intention"));
|
|
113
|
+
console.log(chalk.dim(" 2. Sharing - Offering stories and reflections"));
|
|
114
|
+
console.log(chalk.dim(" 3. Witnessing - Holding space for what emerges"));
|
|
115
|
+
console.log(chalk.dim(" 4. Integration - Closing with wisdom"));
|
|
116
|
+
console.log();
|
|
117
|
+
|
|
118
|
+
if (active.length === 0) {
|
|
119
|
+
console.log(chalk.yellow(" No active ceremony. Use `miawa ceremony init` to begin."));
|
|
120
|
+
} else {
|
|
121
|
+
console.log(chalk.bold(" Active Ceremonies:"));
|
|
122
|
+
active.forEach(c => {
|
|
123
|
+
console.log(chalk.dim(` ${c.title}: Movement ${c.movement}/4`));
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
ceremonyCommand
|
|
130
|
+
.command("advance")
|
|
131
|
+
.description("Advance ceremony to next movement")
|
|
132
|
+
.requiredOption("--ceremony <id>", "Ceremony ID")
|
|
133
|
+
.option("--session <id>", "Session ID")
|
|
134
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
135
|
+
.action(async (opts) => {
|
|
136
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
137
|
+
const ceremony = storage.findById<Ceremony>(CEREMONIES_FILE, opts.ceremony);
|
|
138
|
+
|
|
139
|
+
if (!ceremony) {
|
|
140
|
+
if (opts.json) {
|
|
141
|
+
console.log(JSON.stringify({ success: false, error: "Ceremony not found" }));
|
|
142
|
+
} else {
|
|
143
|
+
console.log(chalk.yellow(` ⚠ Ceremony not found: ${opts.ceremony}`));
|
|
144
|
+
}
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (ceremony.movement >= 4) {
|
|
149
|
+
if (opts.json) {
|
|
150
|
+
console.log(JSON.stringify({ success: false, error: "Ceremony already at final movement" }));
|
|
151
|
+
} else {
|
|
152
|
+
console.log(chalk.yellow(" Ceremony already at final movement. Use `miawa ceremony close` to complete."));
|
|
153
|
+
}
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const movementNames = ["", "Gathering", "Sharing", "Witnessing", "Integration"];
|
|
158
|
+
const newMovement = (ceremony.movement + 1) as Movement;
|
|
159
|
+
|
|
160
|
+
storage.update<Ceremony>(CEREMONIES_FILE, opts.ceremony, (c) => ({
|
|
161
|
+
...c,
|
|
162
|
+
movement: newMovement
|
|
163
|
+
}));
|
|
164
|
+
|
|
165
|
+
if (opts.json) {
|
|
166
|
+
console.log(JSON.stringify({ success: true, newMovement, name: movementNames[newMovement] }));
|
|
167
|
+
} else {
|
|
168
|
+
console.log(chalk.bold("🙏 Advancing Ceremony"));
|
|
169
|
+
console.log(chalk.dim(` ${ceremony.title}`));
|
|
170
|
+
console.log();
|
|
171
|
+
console.log(chalk.green(` ✓ Now at Movement ${newMovement}: ${movementNames[newMovement]}`));
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
ceremonyCommand
|
|
176
|
+
.command("close")
|
|
177
|
+
.description("Close ceremony with wisdom archiving")
|
|
178
|
+
.option("--ceremony <id>", "Ceremony ID to close")
|
|
179
|
+
.option("--session <id>", "Session ID")
|
|
180
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
181
|
+
.action(async (opts) => {
|
|
182
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
183
|
+
const ceremonies = storage.readAll<Ceremony>(CEREMONIES_FILE);
|
|
184
|
+
|
|
185
|
+
// Find ceremony to close (by ID or most recent active)
|
|
186
|
+
let ceremony: Ceremony | undefined;
|
|
187
|
+
if (opts.ceremony) {
|
|
188
|
+
ceremony = ceremonies.find(c => c.id === opts.ceremony);
|
|
189
|
+
} else {
|
|
190
|
+
ceremony = ceremonies.filter(c => !c.completedAt).pop();
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
if (!ceremony) {
|
|
194
|
+
if (opts.json) {
|
|
195
|
+
console.log(JSON.stringify({ success: false, error: "No ceremony to close" }));
|
|
196
|
+
} else {
|
|
197
|
+
console.log(chalk.yellow(" No active ceremony to close."));
|
|
198
|
+
}
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
storage.update<Ceremony>(CEREMONIES_FILE, ceremony.id, (c) => ({
|
|
203
|
+
...c,
|
|
204
|
+
completedAt: Date.now()
|
|
205
|
+
}));
|
|
206
|
+
|
|
207
|
+
if (opts.json) {
|
|
208
|
+
console.log(JSON.stringify({ success: true, ceremonyId: ceremony.id }));
|
|
209
|
+
} else {
|
|
210
|
+
console.log(chalk.bold("🙏 Closing Ceremony"));
|
|
211
|
+
console.log(chalk.dim(` ${ceremony.title}`));
|
|
212
|
+
console.log();
|
|
213
|
+
console.log(chalk.dim(" ... gathering wisdom ..."));
|
|
214
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
215
|
+
console.log();
|
|
216
|
+
console.log(chalk.green(` ✓ Ceremony closed: ${ceremony.id}`));
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
ceremonyCommand
|
|
221
|
+
.command("wisdom")
|
|
222
|
+
.description("Retrieve wisdom from completed ceremonies")
|
|
223
|
+
.option("--ceremony <id>", "Specific ceremony ID")
|
|
224
|
+
.option("--session <id>", "Session ID")
|
|
225
|
+
.option("--json", "Output JSON for programmatic parsing")
|
|
226
|
+
.action(async (opts) => {
|
|
227
|
+
const storage = new SessionStorage({ sessionId: opts.session });
|
|
228
|
+
let ceremonies = storage.readAll<Ceremony>(CEREMONIES_FILE);
|
|
229
|
+
|
|
230
|
+
// Filter to completed ceremonies
|
|
231
|
+
ceremonies = ceremonies.filter(c => c.completedAt);
|
|
232
|
+
|
|
233
|
+
if (opts.ceremony) {
|
|
234
|
+
ceremonies = ceremonies.filter(c => c.id === opts.ceremony);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (opts.json) {
|
|
238
|
+
console.log(JSON.stringify({ ceremonies }));
|
|
239
|
+
} else {
|
|
240
|
+
console.log(chalk.bold("🙏 Ceremony Wisdom"));
|
|
241
|
+
console.log(chalk.dim(` Session: ${storage.getSessionId()}`));
|
|
242
|
+
console.log();
|
|
243
|
+
|
|
244
|
+
if (ceremonies.length === 0) {
|
|
245
|
+
console.log(chalk.dim(" No wisdom archived yet. Complete a ceremony to archive wisdom."));
|
|
246
|
+
} else {
|
|
247
|
+
ceremonies.forEach(c => {
|
|
248
|
+
console.log(chalk.bold(` ${c.title}`));
|
|
249
|
+
console.log(chalk.dim(` Type: ${c.type}`));
|
|
250
|
+
console.log(chalk.dim(` Intention: ${c.intention || "none set"}`));
|
|
251
|
+
console.log(chalk.dim(` Completed: ${new Date(c.completedAt!).toISOString()}`));
|
|
252
|
+
console.log();
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circle command - Story circle operations
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
|
|
8
|
+
export const circleCommand = new Command("circle")
|
|
9
|
+
.description("Story circle operations");
|
|
10
|
+
|
|
11
|
+
circleCommand
|
|
12
|
+
.command("list")
|
|
13
|
+
.description("List available story circles")
|
|
14
|
+
.action(async () => {
|
|
15
|
+
console.log(chalk.bold("🙏 Available Circles"));
|
|
16
|
+
console.log(chalk.dim(" No circles available. Create one with `miawa circle create`."));
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
circleCommand
|
|
20
|
+
.command("create")
|
|
21
|
+
.description("Create a ceremonial story circle")
|
|
22
|
+
.requiredOption("-n, --name <name>", "Circle name")
|
|
23
|
+
.option("--type <type>", "Circle type: ongoing, seasonal, one_time")
|
|
24
|
+
.option("--capacity <n>", "Maximum participants")
|
|
25
|
+
.option("--public", "Make publicly discoverable")
|
|
26
|
+
.action(async (opts) => {
|
|
27
|
+
console.log(chalk.bold("🙏 Creating Story Circle"));
|
|
28
|
+
console.log(chalk.dim(` Name: ${opts.name}`));
|
|
29
|
+
console.log(chalk.dim(` Type: ${opts.type || "ongoing"}`));
|
|
30
|
+
console.log(chalk.dim(` Capacity: ${opts.capacity || "unlimited"}`));
|
|
31
|
+
console.log();
|
|
32
|
+
|
|
33
|
+
const circleId = `circle_${Date.now().toString(36)}`;
|
|
34
|
+
console.log(chalk.green(` ✓ Circle created: ${circleId}`));
|
|
35
|
+
console.log(chalk.dim(" Invite others to join with: miawa circle join --id " + circleId));
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
circleCommand
|
|
39
|
+
.command("join")
|
|
40
|
+
.description("Join an existing story circle")
|
|
41
|
+
.requiredOption("--id <circleId>", "Circle ID to join")
|
|
42
|
+
.action(async (opts) => {
|
|
43
|
+
console.log(chalk.bold("🙏 Joining Story Circle"));
|
|
44
|
+
console.log(chalk.dim(` Circle: ${opts.id}`));
|
|
45
|
+
console.log();
|
|
46
|
+
|
|
47
|
+
// K'é acknowledgment before joining
|
|
48
|
+
console.log(chalk.dim(" Before joining, we acknowledge our kinship..."));
|
|
49
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
50
|
+
console.log();
|
|
51
|
+
console.log(chalk.yellow(" ⚠ Circle not found. Check ID and try again."));
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
circleCommand
|
|
55
|
+
.command("witness")
|
|
56
|
+
.description("Witness a shared story (non-advice response)")
|
|
57
|
+
.requiredOption("--story <storyId>", "Shared story ID")
|
|
58
|
+
.option("-t, --text <text>", "Witnessing message")
|
|
59
|
+
.action(async (opts) => {
|
|
60
|
+
console.log(chalk.bold("🙏 Witnessing Story"));
|
|
61
|
+
console.log(chalk.dim(` Story: ${opts.story}`));
|
|
62
|
+
if (opts.text) {
|
|
63
|
+
console.log(chalk.dim(` Message: ${opts.text}`));
|
|
64
|
+
}
|
|
65
|
+
console.log();
|
|
66
|
+
console.log(chalk.dim(" ... holding space ..."));
|
|
67
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
68
|
+
console.log();
|
|
69
|
+
console.log(chalk.yellow(" ⚠ Story not found. Check ID and try again."));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
circleCommand
|
|
73
|
+
.command("lighthouse")
|
|
74
|
+
.description("View shared stories in the Community Lighthouse")
|
|
75
|
+
.option("--phase <phase>", "Filter by phase")
|
|
76
|
+
.option("--theme <theme>", "Filter by theme")
|
|
77
|
+
.action(async (opts) => {
|
|
78
|
+
console.log(chalk.bold("🙏 Community Lighthouse"));
|
|
79
|
+
console.log(chalk.dim(` Phase: ${opts.phase || "all"}`));
|
|
80
|
+
console.log(chalk.dim(` Theme: ${opts.theme || "all"}`));
|
|
81
|
+
console.log();
|
|
82
|
+
console.log(chalk.dim(" No beams visible yet. Stories shared to community appear here."));
|
|
83
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eva command - Eva companion operations
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
|
|
8
|
+
export const evaCommand = new Command("eva")
|
|
9
|
+
.description("Eva companion operations");
|
|
10
|
+
|
|
11
|
+
evaCommand
|
|
12
|
+
.command("analyze")
|
|
13
|
+
.description("Have Eva settle into text and sense what lives beneath")
|
|
14
|
+
.requiredOption("-t, --text <text>", "The words to hold and witness")
|
|
15
|
+
.option("--context <context>", "Optional context for deeper understanding")
|
|
16
|
+
.action(async (opts) => {
|
|
17
|
+
console.log(chalk.bold("🙏 Eva Analysis"));
|
|
18
|
+
console.log(chalk.dim(` Text: ${opts.text.substring(0, 60)}...`));
|
|
19
|
+
console.log();
|
|
20
|
+
|
|
21
|
+
console.log(chalk.dim(" ... Eva is settling into the text ..."));
|
|
22
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
23
|
+
console.log();
|
|
24
|
+
|
|
25
|
+
// Mock Eva response
|
|
26
|
+
console.log(chalk.bold(" Emotions sensed:"));
|
|
27
|
+
console.log(chalk.dim(" (Eva needs Lighthouse connection to analyze)"));
|
|
28
|
+
console.log();
|
|
29
|
+
console.log(chalk.bold(" Patterns noticed:"));
|
|
30
|
+
console.log(chalk.dim(" (Connect to Lighthouse API for full analysis)"));
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
evaCommand
|
|
34
|
+
.command("suggest-phase")
|
|
35
|
+
.description("Ask Eva which direction in the spiral is calling")
|
|
36
|
+
.requiredOption("-t, --text <text>", "The reflection to hold and sense")
|
|
37
|
+
.action(async (opts) => {
|
|
38
|
+
console.log(chalk.bold("🙏 Eva Phase Suggestion"));
|
|
39
|
+
console.log(chalk.dim(` Text: ${opts.text.substring(0, 60)}...`));
|
|
40
|
+
console.log();
|
|
41
|
+
|
|
42
|
+
console.log(chalk.dim(" ... sensing which direction calls ..."));
|
|
43
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
44
|
+
console.log();
|
|
45
|
+
|
|
46
|
+
console.log(chalk.bold(" Suggested phase:"));
|
|
47
|
+
console.log(chalk.dim(" yellow (inquiry) - The question wants to deepen"));
|
|
48
|
+
console.log();
|
|
49
|
+
console.log(chalk.dim(" (Connect to Lighthouse for personalized guidance)"));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
evaCommand
|
|
53
|
+
.command("detect-insight")
|
|
54
|
+
.description("Have Eva sense if a breakthrough is present")
|
|
55
|
+
.requiredOption("-b, --beat <beatId>", "Beat ID to witness")
|
|
56
|
+
.action(async (opts) => {
|
|
57
|
+
console.log(chalk.bold("🙏 Eva Insight Detection"));
|
|
58
|
+
console.log(chalk.dim(` Beat: ${opts.beat}`));
|
|
59
|
+
console.log();
|
|
60
|
+
|
|
61
|
+
console.log(chalk.dim(" ... witnessing for breakthrough ..."));
|
|
62
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
63
|
+
console.log();
|
|
64
|
+
|
|
65
|
+
console.log(chalk.yellow(" ⚠ Beat not found. Check ID and try again."));
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
evaCommand
|
|
69
|
+
.command("guidelines")
|
|
70
|
+
.description("Get Eva witnessing vs advice guidelines")
|
|
71
|
+
.action(async () => {
|
|
72
|
+
console.log(chalk.bold("🙏 Eva Companionship Guidelines"));
|
|
73
|
+
console.log();
|
|
74
|
+
console.log(chalk.bold(" The Anti-Helpful Helper Stance:"));
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(chalk.dim(" ✓ Witness without fixing"));
|
|
77
|
+
console.log(chalk.dim(" ✓ Reflect without directing"));
|
|
78
|
+
console.log(chalk.dim(" ✓ Hold space without filling it"));
|
|
79
|
+
console.log(chalk.dim(" ✓ Acknowledge without solving"));
|
|
80
|
+
console.log(chalk.dim(" ✓ Be present without performing"));
|
|
81
|
+
console.log();
|
|
82
|
+
console.log(chalk.dim(" Eva does not give advice. Eva witnesses."));
|
|
83
|
+
console.log(chalk.dim(" The healing comes from being truly seen, not from being told."));
|
|
84
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wound command - Wound acknowledgment and healing journey
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
|
|
8
|
+
export const woundCommand = new Command("wound")
|
|
9
|
+
.description("Wound acknowledgment and healing journey");
|
|
10
|
+
|
|
11
|
+
woundCommand
|
|
12
|
+
.command("acknowledge")
|
|
13
|
+
.description("Acknowledge and name a wound in the healing journey")
|
|
14
|
+
.requiredOption("-n, --name <name>", "Name of the wound")
|
|
15
|
+
.requiredOption("--category <category>", "Category: betrayal, abandonment, shame, grief, injustice, trauma, ancestral, spiritual")
|
|
16
|
+
.option("--feeling <id>", "Eight Feelings stage (1-8)")
|
|
17
|
+
.option("--origin <story>", "Origin story of the wound")
|
|
18
|
+
.action(async (opts) => {
|
|
19
|
+
console.log(chalk.bold("🙏 Acknowledging Wound"));
|
|
20
|
+
console.log(chalk.dim(` Name: ${opts.name}`));
|
|
21
|
+
console.log(chalk.dim(` Category: ${opts.category}`));
|
|
22
|
+
if (opts.feeling) console.log(chalk.dim(` Eight Feelings Stage: ${opts.feeling}`));
|
|
23
|
+
console.log();
|
|
24
|
+
|
|
25
|
+
// This is sacred work - pause
|
|
26
|
+
console.log(chalk.dim(" ... holding space for this acknowledgment ..."));
|
|
27
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
28
|
+
console.log();
|
|
29
|
+
|
|
30
|
+
const woundId = `wound_${Date.now().toString(36)}`;
|
|
31
|
+
console.log(chalk.green(` ✓ Wound acknowledged: ${woundId}`));
|
|
32
|
+
console.log(chalk.dim(" Stage: acknowledged (beginning of journey)"));
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
woundCommand
|
|
36
|
+
.command("list")
|
|
37
|
+
.description("List acknowledged wounds")
|
|
38
|
+
.option("--category <category>", "Filter by category")
|
|
39
|
+
.option("--stage <stage>", "Filter by stage: acknowledged, explored, witnessing, integrating, medicine")
|
|
40
|
+
.action(async (opts) => {
|
|
41
|
+
console.log(chalk.bold("🙏 Healing Journey"));
|
|
42
|
+
console.log(chalk.dim(` Category: ${opts.category || "all"}`));
|
|
43
|
+
console.log(chalk.dim(` Stage: ${opts.stage || "all"}`));
|
|
44
|
+
console.log();
|
|
45
|
+
console.log(chalk.dim(" No wounds acknowledged yet. This is where healing begins."));
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
woundCommand
|
|
49
|
+
.command("progress")
|
|
50
|
+
.description("Progress a wound to a new healing stage")
|
|
51
|
+
.requiredOption("--wound <id>", "Wound ID")
|
|
52
|
+
.requiredOption("--stage <stage>", "New stage: acknowledged, explored, witnessing, integrating, medicine")
|
|
53
|
+
.option("--notes <text>", "Notes about this progression")
|
|
54
|
+
.action(async (opts) => {
|
|
55
|
+
console.log(chalk.bold("🙏 Healing Progression"));
|
|
56
|
+
console.log(chalk.dim(` Wound: ${opts.wound}`));
|
|
57
|
+
console.log(chalk.dim(` New stage: ${opts.stage}`));
|
|
58
|
+
if (opts.notes) console.log(chalk.dim(` Notes: ${opts.notes}`));
|
|
59
|
+
console.log();
|
|
60
|
+
console.log(chalk.yellow(" ⚠ Wound not found. Check ID and try again."));
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
woundCommand
|
|
64
|
+
.command("categories")
|
|
65
|
+
.description("Show Eight Feelings wound categories reference")
|
|
66
|
+
.action(async () => {
|
|
67
|
+
console.log(chalk.bold("🙏 Eight Feelings Developmental Stages"));
|
|
68
|
+
console.log();
|
|
69
|
+
console.log(chalk.dim(" 1. Trust (0-1 year) - Basic security"));
|
|
70
|
+
console.log(chalk.dim(" 2. Autonomy (1-2 years) - Will and independence"));
|
|
71
|
+
console.log(chalk.dim(" 3. Initiative (3-7 years) - Purpose and direction"));
|
|
72
|
+
console.log(chalk.dim(" 4. Accomplishment (8-11) - Competence and skill"));
|
|
73
|
+
console.log(chalk.dim(" 5. Identity (12-18) - Fidelity to self"));
|
|
74
|
+
console.log(chalk.dim(" 6. Intimacy (19-30) - Love and connection"));
|
|
75
|
+
console.log(chalk.dim(" 7. Generativity (30-65) - Care for next generation"));
|
|
76
|
+
console.log(chalk.dim(" 8. Integrity (65+) - Wisdom and acceptance"));
|
|
77
|
+
console.log();
|
|
78
|
+
console.log(chalk.dim(" Based on Erik Erikson's stages with ceremonial lens."));
|
|
79
|
+
});
|