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.
Files changed (410) hide show
  1. package/.miette/260321.md +1 -0
  2. package/.miette/260323.md +9 -0
  3. package/.miette/260331.md +2 -0
  4. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--d3417f2c-df12-4f0f-8a1b-d88e7968f822/d3417f2c-df12-4f0f-8a1b-d88e7968f822.md +63 -0
  5. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--e6c3fc5d-4a70-4523-ba7d-a3250da4c235/e6c3fc5d-4a70-4523-ba7d-a3250da4c235.md +72 -0
  6. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--efeb00a2-b17a-4d32-b1f0-b90c37a8d24e/efeb00a2-b17a-4d32-b1f0-b90c37a8d24e.md +62 -0
  7. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.json +302 -0
  8. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.md +149 -0
  9. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/AGENTS.md +31 -0
  10. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/meta-decomposition-3-children.md +67 -0
  11. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/61f9dd4d-7aa6-45e6-a58b-e480b1aa6737--from-mia-openclaw-workspace.md +125 -0
  12. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/STATUS.md +1 -0
  13. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.json +177 -0
  14. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.md +77 -0
  15. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.json +222 -0
  16. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.md +99 -0
  17. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.json +111 -0
  18. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.md +67 -0
  19. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.json +349 -0
  20. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.md +147 -0
  21. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.json +118 -0
  22. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.md +64 -0
  23. package/GUILLAUME.md +8 -0
  24. package/KINSHIP.md +9 -0
  25. package/MIA_CODE_ARCHITECTURE_REPORT.md +718 -0
  26. package/contextual_research/260119-MIA-CODE--98090899-8aff-4e11-9dc3-8b99466d1.md +1101 -0
  27. package/contextual_research/MIA.md +38 -0
  28. package/contextual_research/MIAWAPASCONE.md +59 -0
  29. package/contextual_research/MIETTE.md +38 -0
  30. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2504.00218v2.pdf +7483 -12
  31. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2505.00212v3.pdf +0 -0
  32. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/CONTENT.md +1014 -0
  33. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/DESIGN.gemini.md +242 -0
  34. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/INDEX.md +45 -0
  35. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.md +2025 -0
  36. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.pdf +7483 -12
  37. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.md +1755 -0
  38. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.pdf +0 -0
  39. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_12_decomposed_prompting.pdf +0 -0
  40. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_19_hugginggpt_planning.pdf +0 -0
  41. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.md +766 -0
  42. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.pdf +3431 -4
  43. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.md +260 -0
  44. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.pdf +0 -0
  45. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.md +558 -0
  46. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.pdf +0 -0
  47. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_34_hierarchical_multi_agent.pdf +0 -0
  48. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_5_open_intent_extraction.pdf +0 -0
  49. package/contextual_research/PODCAST.md +109 -0
  50. package/contextual_research/langchain-principles-roadmap.md +157 -0
  51. package/contextual_research/persona-to-narrative-character-inquiry_260201.md +50 -0
  52. package/dist/cli.js +35 -11
  53. package/dist/geminiHeadless.js +8 -2
  54. package/dist/index.js +2 -1
  55. package/dist/mcp/miaco-server.js +10 -1
  56. package/dist/mcp/miatel-server.js +10 -1
  57. package/dist/mcp/miawa-server.js +10 -1
  58. package/dist/mcp/utils.d.ts +6 -1
  59. package/dist/mcp/utils.js +24 -3
  60. package/dist/sessionStore.d.ts +8 -2
  61. package/dist/sessionStore.js +39 -3
  62. package/dist/types.d.ts +1 -0
  63. package/miaco/README.md +124 -0
  64. package/miaco/dist/commands/chart.d.ts +6 -0
  65. package/miaco/dist/commands/chart.d.ts.map +1 -0
  66. package/miaco/dist/commands/chart.js +222 -0
  67. package/miaco/dist/commands/chart.js.map +1 -0
  68. package/miaco/dist/commands/decompose.d.ts +6 -0
  69. package/miaco/dist/commands/decompose.d.ts.map +1 -0
  70. package/miaco/dist/commands/decompose.js +98 -0
  71. package/miaco/dist/commands/decompose.js.map +1 -0
  72. package/miaco/dist/commands/schema.d.ts +6 -0
  73. package/miaco/dist/commands/schema.d.ts.map +1 -0
  74. package/miaco/dist/commands/schema.js +66 -0
  75. package/miaco/dist/commands/schema.js.map +1 -0
  76. package/miaco/dist/commands/stc.d.ts +11 -0
  77. package/miaco/dist/commands/stc.d.ts.map +1 -0
  78. package/miaco/dist/commands/stc.js +590 -0
  79. package/miaco/dist/commands/stc.js.map +1 -0
  80. package/miaco/dist/commands/trace.d.ts +6 -0
  81. package/miaco/dist/commands/trace.d.ts.map +1 -0
  82. package/miaco/dist/commands/trace.js +83 -0
  83. package/miaco/dist/commands/trace.js.map +1 -0
  84. package/miaco/dist/commands/validate.d.ts +6 -0
  85. package/miaco/dist/commands/validate.d.ts.map +1 -0
  86. package/miaco/dist/commands/validate.js +58 -0
  87. package/miaco/dist/commands/validate.js.map +1 -0
  88. package/miaco/dist/decompose.d.ts +93 -0
  89. package/miaco/dist/decompose.d.ts.map +1 -0
  90. package/miaco/dist/decompose.js +562 -0
  91. package/miaco/dist/decompose.js.map +1 -0
  92. package/miaco/dist/index.d.ts +18 -0
  93. package/miaco/dist/index.d.ts.map +1 -0
  94. package/miaco/dist/index.js +83 -0
  95. package/miaco/dist/index.js.map +1 -0
  96. package/miaco/dist/storage.d.ts +60 -0
  97. package/miaco/dist/storage.d.ts.map +1 -0
  98. package/miaco/dist/storage.js +100 -0
  99. package/miaco/dist/storage.js.map +1 -0
  100. package/miaco/package-lock.json +4103 -0
  101. package/miaco/package.json +40 -0
  102. package/miaco/tsconfig.json +18 -0
  103. package/miaco/version-patch-commit-and-publish.sh +1 -0
  104. package/miatel/MISSION_251231.md +3 -0
  105. package/miatel/README.md +107 -0
  106. package/miatel/dist/commands/analyze.d.ts +6 -0
  107. package/miatel/dist/commands/analyze.d.ts.map +1 -0
  108. package/miatel/dist/commands/analyze.js +100 -0
  109. package/miatel/dist/commands/analyze.js.map +1 -0
  110. package/miatel/dist/commands/arc.d.ts +6 -0
  111. package/miatel/dist/commands/arc.d.ts.map +1 -0
  112. package/miatel/dist/commands/arc.js +71 -0
  113. package/miatel/dist/commands/arc.js.map +1 -0
  114. package/miatel/dist/commands/beat.d.ts +6 -0
  115. package/miatel/dist/commands/beat.d.ts.map +1 -0
  116. package/miatel/dist/commands/beat.js +165 -0
  117. package/miatel/dist/commands/beat.js.map +1 -0
  118. package/miatel/dist/commands/theme.d.ts +6 -0
  119. package/miatel/dist/commands/theme.d.ts.map +1 -0
  120. package/miatel/dist/commands/theme.js +54 -0
  121. package/miatel/dist/commands/theme.js.map +1 -0
  122. package/miatel/dist/index.d.ts +18 -0
  123. package/miatel/dist/index.d.ts.map +1 -0
  124. package/miatel/dist/index.js +80 -0
  125. package/miatel/dist/index.js.map +1 -0
  126. package/miatel/dist/storage.d.ts +55 -0
  127. package/miatel/dist/storage.d.ts.map +1 -0
  128. package/miatel/dist/storage.js +100 -0
  129. package/miatel/dist/storage.js.map +1 -0
  130. package/miatel/package-lock.json +4103 -0
  131. package/miatel/package.json +35 -0
  132. package/miatel/src/commands/analyze.ts +109 -0
  133. package/miatel/src/commands/arc.ts +78 -0
  134. package/miatel/src/commands/beat.ts +176 -0
  135. package/miatel/src/commands/theme.ts +60 -0
  136. package/miatel/src/index.ts +94 -0
  137. package/miatel/src/storage.ts +156 -0
  138. package/miatel/tsconfig.json +18 -0
  139. package/miawa/MISSION_251231.md +144 -0
  140. package/miawa/README.md +133 -0
  141. package/miawa/dist/commands/beat.d.ts +6 -0
  142. package/miawa/dist/commands/beat.d.ts.map +1 -0
  143. package/miawa/dist/commands/beat.js +69 -0
  144. package/miawa/dist/commands/beat.js.map +1 -0
  145. package/miawa/dist/commands/ceremony.d.ts +6 -0
  146. package/miawa/dist/commands/ceremony.d.ts.map +1 -0
  147. package/miawa/dist/commands/ceremony.js +239 -0
  148. package/miawa/dist/commands/ceremony.js.map +1 -0
  149. package/miawa/dist/commands/circle.d.ts +6 -0
  150. package/miawa/dist/commands/circle.d.ts.map +1 -0
  151. package/miawa/dist/commands/circle.js +75 -0
  152. package/miawa/dist/commands/circle.js.map +1 -0
  153. package/miawa/dist/commands/eva.d.ts +6 -0
  154. package/miawa/dist/commands/eva.d.ts.map +1 -0
  155. package/miawa/dist/commands/eva.js +73 -0
  156. package/miawa/dist/commands/eva.js.map +1 -0
  157. package/miawa/dist/commands/wound.d.ts +6 -0
  158. package/miawa/dist/commands/wound.d.ts.map +1 -0
  159. package/miawa/dist/commands/wound.js +74 -0
  160. package/miawa/dist/commands/wound.js.map +1 -0
  161. package/miawa/dist/index.d.ts +19 -0
  162. package/miawa/dist/index.d.ts.map +1 -0
  163. package/miawa/dist/index.js +91 -0
  164. package/miawa/dist/index.js.map +1 -0
  165. package/miawa/dist/storage.d.ts +73 -0
  166. package/miawa/dist/storage.d.ts.map +1 -0
  167. package/miawa/dist/storage.js +100 -0
  168. package/miawa/dist/storage.js.map +1 -0
  169. package/miawa/package-lock.json +4103 -0
  170. package/miawa/package.json +36 -0
  171. package/miawa/src/commands/beat.ts +74 -0
  172. package/miawa/src/commands/ceremony.ts +256 -0
  173. package/miawa/src/commands/circle.ts +83 -0
  174. package/miawa/src/commands/eva.ts +84 -0
  175. package/miawa/src/commands/wound.ts +79 -0
  176. package/miawa/src/index.ts +108 -0
  177. package/miawa/src/storage.ts +179 -0
  178. package/miawa/tsconfig.json +18 -0
  179. package/package.json +7 -5
  180. package/references/acp/CLAUDE.md +7 -0
  181. package/references/acp/agent-plan.md +84 -0
  182. package/references/acp/clients.md +31 -0
  183. package/references/acp/extensibility.md +137 -0
  184. package/references/acp/initialization.md +225 -0
  185. package/references/acp/prompt-turn.md +321 -0
  186. package/references/acp/proxy-chains.md +562 -0
  187. package/references/acp/schema.md +3171 -0
  188. package/references/acp/session-list.md +334 -0
  189. package/references/acp/session-modes.md +170 -0
  190. package/references/acp/slash-commands.md +99 -0
  191. package/references/acp/terminals.md +281 -0
  192. package/references/acp/tool-calls.md +311 -0
  193. package/references/acp/typescript.md +29 -0
  194. package/references/claude/agent-teams.md +399 -0
  195. package/references/claude/chrome.md +231 -0
  196. package/references/claude/headless.md +158 -0
  197. package/references/claude/hooks-guide.md +708 -0
  198. package/references/claude/output-styles.md +112 -0
  199. package/references/claude/plugins.md +432 -0
  200. package/references/claude/skills.md +693 -0
  201. package/references/claude/sub-agents.md +816 -0
  202. package/references/copilot/acp/agents.md +32 -0
  203. package/references/copilot/acp/architecture.md +37 -0
  204. package/references/copilot/acp/clients.md +31 -0
  205. package/references/copilot/acp/introduction.md +42 -0
  206. package/references/copilot/acp/registry.md +339 -0
  207. package/references/copilot/acp-server.md +117 -0
  208. package/references/copilot/create-copilot-instructions.md +840 -0
  209. package/references/langchain/llms.txt +833 -0
  210. package/references/langchain/python/agents.md +677 -0
  211. package/references/langchain/python/context-engineering.md +1195 -0
  212. package/references/langchain/python/human-in-the-loop.md +326 -0
  213. package/references/langchain/python/long-term-memory.md +168 -0
  214. package/references/langchain/python/mcp.md +949 -0
  215. package/references/langchain/python/multi-agents/custom-workflow.md +187 -0
  216. package/references/langchain/python/multi-agents/handoffs.md +436 -0
  217. package/references/langchain/python/multi-agents/overview.md +295 -0
  218. package/references/langchain/python/multi-agents/router.md +150 -0
  219. package/references/langchain/python/multi-agents/skills.md +92 -0
  220. package/references/langchain/python/multi-agents/subagents.md +486 -0
  221. package/references/langchain/python/retrieval.md +320 -0
  222. package/references/langchain/python/runtime.md +141 -0
  223. package/references/langchain/python/short-term-memory.md +658 -0
  224. package/references/langchain/python/structured-output.md +712 -0
  225. package/references/langfuse/llms.txt +148 -0
  226. package/references/langgraph/javascript/llms.txt +275 -0
  227. package/references/skills/home.md +259 -0
  228. package/references/skills/integrate-skills.md +103 -0
  229. package/references/skills/specification.md +254 -0
  230. package/references/skills/what-are-skills.md +74 -0
  231. package/rispecs/README.md +164 -0
  232. package/rispecs/_sync_/miadi-code/SPEC.md +313 -0
  233. package/rispecs/_sync_/miadi-code/STATUS.md +177 -0
  234. package/rispecs/_sync_/miadi-code/dashboard/SPEC.md +465 -0
  235. package/rispecs/_sync_/miadi-code/dashboard/STATUS.md +212 -0
  236. package/rispecs/_sync_/miadi-code/multiline-input/SPEC.md +232 -0
  237. package/rispecs/_sync_/miadi-code/multiline-input/STATUS.md +108 -0
  238. package/rispecs/_sync_/miadi-code/pde/SPEC.md +253 -0
  239. package/rispecs/_sync_/miadi-code/pde/STATUS.md +56 -0
  240. package/rispecs/_sync_/miadi-code/stc/SPEC.md +397 -0
  241. package/rispecs/_sync_/miadi-code/stc/STATUS.md +70 -0
  242. package/rispecs/ava-langstack/inquiry-routing-upgrade.spec.md +119 -0
  243. package/rispecs/borrowed_from_opencode/001-client-server-architecture.rispec.md +98 -0
  244. package/rispecs/borrowed_from_opencode/002-event-bus-system.rispec.md +125 -0
  245. package/rispecs/borrowed_from_opencode/003-instance-state-pattern.rispec.md +136 -0
  246. package/rispecs/borrowed_from_opencode/004-namespace-module-pattern.rispec.md +151 -0
  247. package/rispecs/borrowed_from_opencode/005-zod-schema-validation.rispec.md +139 -0
  248. package/rispecs/borrowed_from_opencode/006-named-error-system.rispec.md +155 -0
  249. package/rispecs/borrowed_from_opencode/007-structured-logging.rispec.md +138 -0
  250. package/rispecs/borrowed_from_opencode/008-lazy-initialization.rispec.md +127 -0
  251. package/rispecs/borrowed_from_opencode/009-multi-agent-system.rispec.md +97 -0
  252. package/rispecs/borrowed_from_opencode/010-agent-definition-config.rispec.md +135 -0
  253. package/rispecs/borrowed_from_opencode/011-agent-permission-rulesets.rispec.md +151 -0
  254. package/rispecs/borrowed_from_opencode/012-agent-prompt-templates.rispec.md +141 -0
  255. package/rispecs/borrowed_from_opencode/013-agent-generation.rispec.md +142 -0
  256. package/rispecs/borrowed_from_opencode/014-plan-build-mode-toggle.rispec.md +155 -0
  257. package/rispecs/borrowed_from_opencode/015-subagent-task-delegation.rispec.md +146 -0
  258. package/rispecs/borrowed_from_opencode/016-agent-model-selection.rispec.md +151 -0
  259. package/rispecs/borrowed_from_opencode/017-compaction-agent.rispec.md +150 -0
  260. package/rispecs/borrowed_from_opencode/018-session-persistence.rispec.md +125 -0
  261. package/rispecs/borrowed_from_opencode/019-session-compaction.rispec.md +132 -0
  262. package/rispecs/borrowed_from_opencode/020-session-forking.rispec.md +134 -0
  263. package/rispecs/borrowed_from_opencode/021-session-revert-snapshot.rispec.md +135 -0
  264. package/rispecs/borrowed_from_opencode/022-session-sharing.rispec.md +165 -0
  265. package/rispecs/borrowed_from_opencode/023-session-summary-diffs.rispec.md +165 -0
  266. package/rispecs/borrowed_from_opencode/024-child-sessions.rispec.md +164 -0
  267. package/rispecs/borrowed_from_opencode/025-session-title-generation.rispec.md +162 -0
  268. package/rispecs/borrowed_from_opencode/026-message-parts-model.rispec.md +201 -0
  269. package/rispecs/borrowed_from_opencode/027-streaming-message-deltas.rispec.md +212 -0
  270. package/rispecs/borrowed_from_opencode/028-multi-provider-architecture.rispec.md +184 -0
  271. package/rispecs/borrowed_from_opencode/029-provider-authentication.rispec.md +225 -0
  272. package/rispecs/borrowed_from_opencode/030-model-registry.rispec.md +222 -0
  273. package/rispecs/borrowed_from_opencode/031-cost-tracking.rispec.md +243 -0
  274. package/rispecs/borrowed_from_opencode/032-provider-transform-pipeline.rispec.md +282 -0
  275. package/rispecs/borrowed_from_opencode/033-provider-sdk-abstraction.rispec.md +338 -0
  276. package/rispecs/borrowed_from_opencode/034-tool-registry.rispec.md +110 -0
  277. package/rispecs/borrowed_from_opencode/035-tool-context-injection.rispec.md +155 -0
  278. package/rispecs/borrowed_from_opencode/036-tool-output-truncation.rispec.md +138 -0
  279. package/rispecs/borrowed_from_opencode/037-batch-tool.rispec.md +129 -0
  280. package/rispecs/borrowed_from_opencode/038-multi-edit-tool.rispec.md +167 -0
  281. package/rispecs/borrowed_from_opencode/039-apply-patch-tool.rispec.md +161 -0
  282. package/rispecs/borrowed_from_opencode/040-code-search-tool.rispec.md +143 -0
  283. package/rispecs/borrowed_from_opencode/041-web-fetch-tool.rispec.md +131 -0
  284. package/rispecs/borrowed_from_opencode/042-web-search-tool.rispec.md +159 -0
  285. package/rispecs/borrowed_from_opencode/043-todo-tool.rispec.md +156 -0
  286. package/rispecs/borrowed_from_opencode/044-plan-mode-tool.rispec.md +139 -0
  287. package/rispecs/borrowed_from_opencode/045-task-tool.rispec.md +146 -0
  288. package/rispecs/borrowed_from_opencode/046-question-tool.rispec.md +170 -0
  289. package/rispecs/borrowed_from_opencode/047-external-directory-tool.rispec.md +166 -0
  290. package/rispecs/borrowed_from_opencode/048-file-read-write-tools.rispec.md +205 -0
  291. package/rispecs/borrowed_from_opencode/049-lsp-server-management.rispec.md +104 -0
  292. package/rispecs/borrowed_from_opencode/050-lsp-hover-completion.rispec.md +102 -0
  293. package/rispecs/borrowed_from_opencode/051-lsp-diagnostics.rispec.md +86 -0
  294. package/rispecs/borrowed_from_opencode/052-lsp-root-detection.rispec.md +109 -0
  295. package/rispecs/borrowed_from_opencode/053-remote-mcp-servers.rispec.md +119 -0
  296. package/rispecs/borrowed_from_opencode/054-mcp-oauth-flow.rispec.md +107 -0
  297. package/rispecs/borrowed_from_opencode/055-mcp-tool-conversion.rispec.md +118 -0
  298. package/rispecs/borrowed_from_opencode/056-mcp-connection-monitoring.rispec.md +106 -0
  299. package/rispecs/borrowed_from_opencode/057-local-mcp-servers.rispec.md +116 -0
  300. package/rispecs/borrowed_from_opencode/058-rich-tui.rispec.md +108 -0
  301. package/rispecs/borrowed_from_opencode/059-streaming-display.rispec.md +116 -0
  302. package/rispecs/borrowed_from_opencode/060-permission-prompts.rispec.md +130 -0
  303. package/rispecs/borrowed_from_opencode/061-session-navigation.rispec.md +155 -0
  304. package/rispecs/borrowed_from_opencode/062-syntax-highlighting.rispec.md +151 -0
  305. package/rispecs/borrowed_from_opencode/063-keybinding-system.rispec.md +181 -0
  306. package/rispecs/borrowed_from_opencode/064-multi-level-config.rispec.md +155 -0
  307. package/rispecs/borrowed_from_opencode/065-jsonc-config.rispec.md +190 -0
  308. package/rispecs/borrowed_from_opencode/066-config-env-variables.rispec.md +153 -0
  309. package/rispecs/borrowed_from_opencode/067-config-deep-merging.rispec.md +178 -0
  310. package/rispecs/borrowed_from_opencode/068-remote-org-config.rispec.md +183 -0
  311. package/rispecs/borrowed_from_opencode/069-config-markdown-frontmatter.rispec.md +206 -0
  312. package/rispecs/borrowed_from_opencode/070-managed-config-directory.rispec.md +232 -0
  313. package/rispecs/borrowed_from_opencode/071-plugin-architecture.rispec.md +104 -0
  314. package/rispecs/borrowed_from_opencode/072-plugin-hooks.rispec.md +123 -0
  315. package/rispecs/borrowed_from_opencode/073-plugin-auto-install.rispec.md +115 -0
  316. package/rispecs/borrowed_from_opencode/074-permission-system.rispec.md +133 -0
  317. package/rispecs/borrowed_from_opencode/075-git-worktree-management.rispec.md +126 -0
  318. package/rispecs/borrowed_from_opencode/076-snapshot-system.rispec.md +124 -0
  319. package/rispecs/borrowed_from_opencode/077-snapshot-diff.rispec.md +117 -0
  320. package/rispecs/borrowed_from_opencode/078-snapshot-restore.rispec.md +128 -0
  321. package/rispecs/borrowed_from_opencode/079-worktree-branch-naming.rispec.md +122 -0
  322. package/rispecs/borrowed_from_opencode/080-sqlite-storage.rispec.md +134 -0
  323. package/rispecs/borrowed_from_opencode/081-database-migrations.rispec.md +148 -0
  324. package/rispecs/borrowed_from_opencode/082-database-transactions.rispec.md +138 -0
  325. package/rispecs/borrowed_from_opencode/083-deferred-effects.rispec.md +148 -0
  326. package/rispecs/borrowed_from_opencode/084-permission-rules.rispec.md +123 -0
  327. package/rispecs/borrowed_from_opencode/085-permission-glob-patterns.rispec.md +113 -0
  328. package/rispecs/borrowed_from_opencode/086-permission-merging.rispec.md +134 -0
  329. package/rispecs/borrowed_from_opencode/087-permission-modes.rispec.md +145 -0
  330. package/rispecs/borrowed_from_opencode/088-http-api-server.rispec.md +165 -0
  331. package/rispecs/borrowed_from_opencode/089-openapi-spec-generation.rispec.md +164 -0
  332. package/rispecs/borrowed_from_opencode/090-websocket-support.rispec.md +136 -0
  333. package/rispecs/borrowed_from_opencode/091-sse-streaming.rispec.md +168 -0
  334. package/rispecs/borrowed_from_opencode/092-mdns-discovery.rispec.md +145 -0
  335. package/rispecs/borrowed_from_opencode/093-javascript-sdk.rispec.md +200 -0
  336. package/rispecs/borrowed_from_opencode/094-skill-system.rispec.md +187 -0
  337. package/rispecs/borrowed_from_opencode/095-skill-discovery.rispec.md +182 -0
  338. package/rispecs/borrowed_from_opencode/096-desktop-remote-driving.rispec.md +175 -0
  339. package/rispecs/borrowed_from_opencode/INDEX.md +255 -0
  340. package/rispecs/core.rispecs.md +261 -0
  341. package/rispecs/engines.rispecs.md +241 -0
  342. package/rispecs/formatting.rispecs.md +252 -0
  343. package/rispecs/living-specifications.rispecs.md +361 -0
  344. package/rispecs/mcp.rispecs.md +197 -0
  345. package/rispecs/pde.rispecs.md +399 -0
  346. package/rispecs/pi-mono-envisionning/ENVISIONING.md +366 -0
  347. package/rispecs/pi-mono-envisionning/storytelling-horizon.rispecs.md +76 -0
  348. package/rispecs/pi-mono-envisionning/widget.rispecs.md +2 -0
  349. package/rispecs/relation-to-mcp-structural-thinking.kin.md +72 -0
  350. package/rispecs/research-for-better-framework/CLAUDE.md +7 -0
  351. package/rispecs/research-for-better-framework/survey-pi-openclaw-opencode-openhands.md +210 -0
  352. package/rispecs/session.rispecs.md +277 -0
  353. package/rispecs/stc.rispecs.md +138 -0
  354. package/rispecs/unifier.rispecs.md +317 -0
  355. package/scripts/LAUNCH--mcp-mia-code--testing--2603141315--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +2 -0
  356. package/scripts/RESUME--mia-code--mcps--260313--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +1 -0
  357. package/scripts/install-widget-in-home-pi-agent-extensions.sh +4 -0
  358. package/scripts/sample-decompose--2604011535-prompt.sh +1 -0
  359. package/skills/deep-search/AGENTS.md +17 -0
  360. package/skills/deep-search/SKILL.md +281 -0
  361. package/skills/deep-search/agent-templates.md +224 -0
  362. package/skills/deep-search/orchestration-patterns.md +95 -0
  363. package/skills/miaco-pde-inquiry-routing-deep-search/AGENTS.md +13 -0
  364. package/skills/miaco-pde-inquiry-routing-deep-search/SKILL.md +136 -0
  365. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/AGENTS.md +4 -0
  366. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/SKILL.md +157 -0
  367. package/skills/miaco-pde-inquiry-routing-local-qmd/AGENTS.md +42 -0
  368. package/skills/miaco-pde-inquiry-routing-local-qmd/SKILL.md +135 -0
  369. package/skills/qmd/AGENTS.md +3 -0
  370. package/skills/qmd/SKILL.md +144 -0
  371. package/skills/qmd/references/mcp-setup.md +102 -0
  372. package/skills/rise-pde-inquiry-session-multi-agents-v3/SKILL.md +234 -0
  373. package/skills/rise-pde-inquiry-session-multi-agents-v3/agent-templates.md +436 -0
  374. package/skills/rise-pde-inquiry-session-multi-agents-v3/orchestration-patterns.md +197 -0
  375. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/ceremonial-technology.md +102 -0
  376. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/creative-orientation.md +99 -0
  377. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/prompt-decomposition.md +73 -0
  378. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/rise-framework.md +74 -0
  379. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/structural-tension.md +82 -0
  380. package/src/cli.ts +35 -11
  381. package/src/geminiHeadless.ts +7 -2
  382. package/src/index.ts +2 -1
  383. package/src/mcp/miaco-server.ts +13 -1
  384. package/src/mcp/miatel-server.ts +13 -1
  385. package/src/mcp/miawa-server.ts +13 -1
  386. package/src/mcp/utils.ts +41 -8
  387. package/src/sessionStore.ts +44 -4
  388. package/src/types.ts +2 -1
  389. package/widget/mia-ceremony/README.md +36 -0
  390. package/widget/mia-ceremony/index.ts +143 -0
  391. package/widget/mia-interceptor/README.md +39 -0
  392. package/widget/mia-interceptor/index.ts +221 -0
  393. package/widget/mia-tools/README.md +37 -0
  394. package/widget/mia-tools/index.ts +569 -0
  395. package/widget/miette-echo/README.md +44 -0
  396. package/widget/miette-echo/index.ts +164 -0
  397. package/.claude/settings.local.json +0 -9
  398. package/.hch/issue_.env +0 -4
  399. package/.hch/issue_add__2601211715.json +0 -77
  400. package/.hch/issue_add__2601211715.md +0 -4
  401. package/.hch/issue_add__2602242020.json +0 -78
  402. package/.hch/issue_add__2602242020.md +0 -7
  403. package/.hch/issues.json +0 -2312
  404. package/.hch/issues.md +0 -30
  405. package/WS__mia-code__260214__IAIP_PDE.code-workspace +0 -29
  406. package/WS__mia-code__src332__260122.code-workspace +0 -23
  407. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/checkpoints/index.md +0 -6
  408. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/events.jsonl +0 -213
  409. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/plan.md +0 -243
  410. 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
+ });