@agimon-ai/doompi 0.0.1-alpha.27 → 0.0.1-alpha.29

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 (671) hide show
  1. package/README.md +225 -95
  2. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  3. package/dist/bin/cli.cjs +3 -0
  4. package/dist/bin/cli.cjs.map +1 -0
  5. package/dist/bin/cli.d.cts +1 -0
  6. package/dist/bin/cli.d.mts +1 -0
  7. package/dist/bin/cli.mjs +3 -0
  8. package/dist/bin/cli.mjs.map +1 -0
  9. package/dist/bin/doomRunner.cjs +3 -0
  10. package/dist/bin/doomRunner.cjs.map +1 -0
  11. package/dist/bin/doomRunner.d.cts +13 -0
  12. package/dist/bin/doomRunner.d.cts.map +1 -0
  13. package/dist/bin/doomRunner.d.mts +13 -0
  14. package/dist/bin/doomRunner.d.mts.map +1 -0
  15. package/dist/bin/doomRunner.mjs +3 -0
  16. package/dist/bin/doomRunner.mjs.map +1 -0
  17. package/dist/bin/dpi.cjs +3 -0
  18. package/dist/bin/dpi.cjs.map +1 -0
  19. package/dist/bin/dpi.d.cts +1 -0
  20. package/dist/bin/dpi.d.mts +1 -0
  21. package/dist/bin/dpi.mjs +3 -0
  22. package/dist/bin/dpi.mjs.map +1 -0
  23. package/dist/cli/cliApp.cjs +1 -0
  24. package/dist/cli/cliApp.d.cts +2 -0
  25. package/dist/cli/cliApp.d.mts +2 -0
  26. package/dist/cli/cliApp.mjs +1 -0
  27. package/dist/cli/compatibilityOptions.cjs +1 -0
  28. package/dist/cli/compatibilityOptions.d.cts +2 -0
  29. package/dist/cli/compatibilityOptions.d.mts +2 -0
  30. package/dist/cli/compatibilityOptions.mjs +1 -0
  31. package/dist/cli/help.cjs +1 -0
  32. package/dist/cli/help.d.cts +2 -0
  33. package/dist/cli/help.d.mts +2 -0
  34. package/dist/cli/help.mjs +1 -0
  35. package/dist/cli/index.cjs +1 -0
  36. package/dist/cli/index.d.cts +5 -0
  37. package/dist/cli/index.d.mts +5 -0
  38. package/dist/cli/index.mjs +1 -0
  39. package/dist/cli/matrixOptions.cjs +1 -0
  40. package/dist/cli/matrixOptions.d.cts +2 -0
  41. package/dist/cli/matrixOptions.d.mts +2 -0
  42. package/dist/cli/matrixOptions.mjs +1 -0
  43. package/dist/cli/options.cjs +1 -0
  44. package/dist/cli/options.d.cts +2 -0
  45. package/dist/cli/options.d.mts +2 -0
  46. package/dist/cli/options.mjs +1 -0
  47. package/dist/commands/baseCommand.cjs +1 -0
  48. package/dist/commands/baseCommand.d.cts +2 -0
  49. package/dist/commands/baseCommand.d.mts +2 -0
  50. package/dist/commands/baseCommand.mjs +1 -0
  51. package/dist/commands/compatibilityCommand.cjs +1 -0
  52. package/dist/commands/compatibilityCommand.d.cts +2 -0
  53. package/dist/commands/compatibilityCommand.d.mts +2 -0
  54. package/dist/commands/compatibilityCommand.mjs +1 -0
  55. package/dist/commands/emitMcpCommand.cjs +1 -0
  56. package/dist/commands/emitMcpCommand.d.cts +2 -0
  57. package/dist/commands/emitMcpCommand.d.mts +2 -0
  58. package/dist/commands/emitMcpCommand.mjs +1 -0
  59. package/dist/commands/explainCommand.cjs +1 -0
  60. package/dist/commands/explainCommand.d.cts +2 -0
  61. package/dist/commands/explainCommand.d.mts +2 -0
  62. package/dist/commands/explainCommand.mjs +1 -0
  63. package/dist/commands/index.cjs +1 -0
  64. package/dist/commands/index.d.cts +8 -0
  65. package/dist/commands/index.d.mts +8 -0
  66. package/dist/commands/index.mjs +1 -0
  67. package/dist/commands/initCommand.cjs +1 -0
  68. package/dist/commands/initCommand.d.cts +2 -0
  69. package/dist/commands/initCommand.d.mts +2 -0
  70. package/dist/commands/initCommand.mjs +1 -0
  71. package/dist/commands/launchCommand.cjs +1 -0
  72. package/dist/commands/launchCommand.d.cts +2 -0
  73. package/dist/commands/launchCommand.d.mts +2 -0
  74. package/dist/commands/launchCommand.mjs +1 -0
  75. package/dist/commands/syncCommand.cjs +1 -0
  76. package/dist/commands/syncCommand.d.cts +2 -0
  77. package/dist/commands/syncCommand.d.mts +2 -0
  78. package/dist/commands/syncCommand.mjs +1 -0
  79. package/dist/config/harnessState.cjs +1 -0
  80. package/dist/config/harnessState.d.cts +2 -0
  81. package/dist/config/harnessState.d.mts +2 -0
  82. package/dist/config/harnessState.mjs +1 -0
  83. package/dist/config/index.cjs +1 -0
  84. package/dist/config/index.d.cts +7 -0
  85. package/dist/config/index.d.mts +7 -0
  86. package/dist/config/index.mjs +1 -0
  87. package/dist/config/projectTrust.cjs +1 -0
  88. package/dist/config/projectTrust.d.cts +2 -0
  89. package/dist/config/projectTrust.d.mts +2 -0
  90. package/dist/config/projectTrust.mjs +1 -0
  91. package/dist/entries/cordisFinalizer.cjs +1 -0
  92. package/dist/entries/cordisFinalizer.d.cts +2 -0
  93. package/dist/entries/cordisFinalizer.d.mts +2 -0
  94. package/dist/entries/cordisFinalizer.mjs +1 -0
  95. package/dist/entries/cordisHost.cjs +1 -0
  96. package/dist/entries/cordisHost.d.cts +2 -0
  97. package/dist/entries/cordisHost.d.mts +2 -0
  98. package/dist/entries/cordisHost.mjs +1 -0
  99. package/dist/entries/domains.cjs +1 -0
  100. package/dist/entries/domains.d.cts +2 -0
  101. package/dist/entries/domains.d.mts +2 -0
  102. package/dist/entries/domains.mjs +1 -0
  103. package/dist/entries/doom.cjs +1 -0
  104. package/dist/entries/doom.d.cts +2 -0
  105. package/dist/entries/doom.d.mts +2 -0
  106. package/dist/entries/doom.mjs +1 -0
  107. package/dist/entries/effort.cjs +1 -0
  108. package/dist/entries/effort.d.cts +2 -0
  109. package/dist/entries/effort.d.mts +2 -0
  110. package/dist/entries/effort.mjs +1 -0
  111. package/dist/entries/modeCatalog.cjs +1 -0
  112. package/dist/entries/modeCatalog.d.cts +2 -0
  113. package/dist/entries/modeCatalog.d.mts +2 -0
  114. package/dist/entries/modeCatalog.mjs +1 -0
  115. package/dist/entries/ollamaProvider.cjs +1 -0
  116. package/dist/entries/ollamaProvider.d.cts +2 -0
  117. package/dist/entries/ollamaProvider.d.mts +2 -0
  118. package/dist/entries/ollamaProvider.mjs +1 -0
  119. package/dist/entries/styleSystem.cjs +1 -0
  120. package/dist/entries/styleSystem.d.cts +2 -0
  121. package/dist/entries/styleSystem.d.mts +2 -0
  122. package/dist/entries/styleSystem.mjs +1 -0
  123. package/dist/extensions/pi.cjs +1 -0
  124. package/dist/extensions/pi.d.cts +2 -0
  125. package/dist/extensions/pi.d.mts +2 -0
  126. package/dist/extensions/pi.mjs +1 -0
  127. package/dist/index.cjs +1 -0
  128. package/dist/index.d.cts +42 -0
  129. package/dist/index.d.mts +42 -0
  130. package/dist/index.mjs +1 -0
  131. package/dist/logSinkTelemetry.cjs +1 -0
  132. package/dist/logSinkTelemetry.d.cts +2 -0
  133. package/dist/logSinkTelemetry.d.mts +2 -0
  134. package/dist/logSinkTelemetry.mjs +1 -0
  135. package/dist/pi-cache-optimizer-DcFaM4WB.mjs +47 -0
  136. package/dist/pi-cache-optimizer-DcFaM4WB.mjs.map +1 -0
  137. package/dist/services/compatibility/antigravity.cjs +1 -0
  138. package/dist/services/compatibility/antigravity.d.cts +2 -0
  139. package/dist/services/compatibility/antigravity.d.mts +2 -0
  140. package/dist/services/compatibility/antigravity.mjs +1 -0
  141. package/dist/services/compatibility/codex.cjs +1 -0
  142. package/dist/services/compatibility/codex.d.cts +2 -0
  143. package/dist/services/compatibility/codex.d.mts +2 -0
  144. package/dist/services/compatibility/codex.mjs +1 -0
  145. package/dist/services/compatibility/index.cjs +1 -0
  146. package/dist/services/compatibility/index.d.cts +6 -0
  147. package/dist/services/compatibility/index.d.mts +6 -0
  148. package/dist/services/compatibility/index.mjs +1 -0
  149. package/dist/services/compatibility/process.cjs +1 -0
  150. package/dist/services/compatibility/process.d.cts +2 -0
  151. package/dist/services/compatibility/process.d.mts +2 -0
  152. package/dist/services/compatibility/process.mjs +1 -0
  153. package/dist/services/compatibility/shared.cjs +1 -0
  154. package/dist/services/compatibility/shared.d.cts +2 -0
  155. package/dist/services/compatibility/shared.d.mts +2 -0
  156. package/dist/services/compatibility/shared.mjs +1 -0
  157. package/dist/services/compatibilityContext.cjs +1 -0
  158. package/dist/services/compatibilityContext.d.cts +2 -0
  159. package/dist/services/compatibilityContext.d.mts +2 -0
  160. package/dist/services/compatibilityContext.mjs +1 -0
  161. package/dist/services/composer.cjs +1 -0
  162. package/dist/services/composer.d.cts +4 -0
  163. package/dist/services/composer.d.mts +4 -0
  164. package/dist/services/composer.mjs +1 -0
  165. package/dist/services/harnessContext.cjs +1 -0
  166. package/dist/services/harnessContext.d.cts +2 -0
  167. package/dist/services/harnessContext.d.mts +2 -0
  168. package/dist/services/harnessContext.mjs +1 -0
  169. package/dist/services/index.cjs +1 -0
  170. package/dist/services/index.d.cts +18 -0
  171. package/dist/services/index.d.mts +18 -0
  172. package/dist/services/index.mjs +1 -0
  173. package/dist/services/matrixSwitcher.cjs +1 -0
  174. package/dist/services/matrixSwitcher.d.cts +3 -0
  175. package/dist/services/matrixSwitcher.d.mts +3 -0
  176. package/dist/services/matrixSwitcher.mjs +1 -0
  177. package/dist/services/mcpFilter.cjs +1 -0
  178. package/dist/services/mcpFilter.d.cts +1 -0
  179. package/dist/services/mcpFilter.d.mts +1 -0
  180. package/dist/services/mcpFilter.mjs +1 -0
  181. package/dist/services/modeCatalog.cjs +1 -0
  182. package/dist/services/modeCatalog.d.cts +2 -0
  183. package/dist/services/modeCatalog.d.mts +2 -0
  184. package/dist/services/modeCatalog.mjs +1 -0
  185. package/dist/services/piSettings.cjs +1 -0
  186. package/dist/services/piSettings.d.cts +2 -0
  187. package/dist/services/piSettings.d.mts +2 -0
  188. package/dist/services/piSettings.mjs +1 -0
  189. package/dist/services/resourceCollector.cjs +1 -0
  190. package/dist/services/resourceCollector.d.cts +1 -0
  191. package/dist/services/resourceCollector.d.mts +1 -0
  192. package/dist/services/resourceCollector.mjs +1 -0
  193. package/dist/services/syncState.cjs +1 -0
  194. package/dist/services/syncState.d.cts +3 -0
  195. package/dist/services/syncState.d.mts +3 -0
  196. package/dist/services/syncState.mjs +1 -0
  197. package/dist/src/adapters/bootstrapClaim.cjs +2 -0
  198. package/dist/src/adapters/bootstrapClaim.cjs.map +1 -0
  199. package/dist/src/adapters/bootstrapClaim.mjs +2 -0
  200. package/dist/src/adapters/bootstrapClaim.mjs.map +1 -0
  201. package/dist/src/adapters/bootstrapLocator.cjs +2 -0
  202. package/dist/src/adapters/bootstrapLocator.cjs.map +1 -0
  203. package/dist/src/adapters/bootstrapLocator.d.cts +6 -0
  204. package/dist/src/adapters/bootstrapLocator.d.cts.map +1 -0
  205. package/dist/src/adapters/bootstrapLocator.d.mts +6 -0
  206. package/dist/src/adapters/bootstrapLocator.d.mts.map +1 -0
  207. package/dist/src/adapters/bootstrapLocator.mjs +2 -0
  208. package/dist/src/adapters/bootstrapLocator.mjs.map +1 -0
  209. package/dist/src/adapters/compatibility/antigravity.cjs +2 -0
  210. package/dist/src/adapters/compatibility/antigravity.cjs.map +1 -0
  211. package/dist/src/adapters/compatibility/antigravity.d.cts +10 -0
  212. package/dist/src/adapters/compatibility/antigravity.d.cts.map +1 -0
  213. package/dist/src/adapters/compatibility/antigravity.d.mts +10 -0
  214. package/dist/src/adapters/compatibility/antigravity.d.mts.map +1 -0
  215. package/dist/src/adapters/compatibility/antigravity.mjs +2 -0
  216. package/dist/src/adapters/compatibility/antigravity.mjs.map +1 -0
  217. package/dist/src/adapters/compatibility/codex.cjs +2 -0
  218. package/dist/src/adapters/compatibility/codex.cjs.map +1 -0
  219. package/dist/src/adapters/compatibility/codex.d.cts +18 -0
  220. package/dist/src/adapters/compatibility/codex.d.cts.map +1 -0
  221. package/dist/src/adapters/compatibility/codex.d.mts +18 -0
  222. package/dist/src/adapters/compatibility/codex.d.mts.map +1 -0
  223. package/dist/src/adapters/compatibility/codex.mjs +2 -0
  224. package/dist/src/adapters/compatibility/codex.mjs.map +1 -0
  225. package/dist/src/adapters/compatibility/index.cjs +2 -0
  226. package/dist/src/adapters/compatibility/index.cjs.map +1 -0
  227. package/dist/src/adapters/compatibility/index.d.cts +15 -0
  228. package/dist/src/adapters/compatibility/index.d.cts.map +1 -0
  229. package/dist/src/adapters/compatibility/index.d.mts +15 -0
  230. package/dist/src/adapters/compatibility/index.d.mts.map +1 -0
  231. package/dist/src/adapters/compatibility/index.mjs +2 -0
  232. package/dist/src/adapters/compatibility/index.mjs.map +1 -0
  233. package/dist/src/adapters/compatibility/process.cjs +2 -0
  234. package/dist/src/adapters/compatibility/process.cjs.map +1 -0
  235. package/dist/src/adapters/compatibility/process.d.cts +34 -0
  236. package/dist/src/adapters/compatibility/process.d.cts.map +1 -0
  237. package/dist/src/adapters/compatibility/process.d.mts +34 -0
  238. package/dist/src/adapters/compatibility/process.d.mts.map +1 -0
  239. package/dist/src/adapters/compatibility/process.mjs +2 -0
  240. package/dist/src/adapters/compatibility/process.mjs.map +1 -0
  241. package/dist/src/adapters/compatibility/shared.cjs +2 -0
  242. package/dist/src/adapters/compatibility/shared.cjs.map +1 -0
  243. package/dist/src/adapters/compatibility/shared.d.cts +32 -0
  244. package/dist/src/adapters/compatibility/shared.d.cts.map +1 -0
  245. package/dist/src/adapters/compatibility/shared.d.mts +32 -0
  246. package/dist/src/adapters/compatibility/shared.d.mts.map +1 -0
  247. package/dist/src/adapters/compatibility/shared.mjs +2 -0
  248. package/dist/src/adapters/compatibility/shared.mjs.map +1 -0
  249. package/dist/src/adapters/compatibilityContext.cjs +2 -0
  250. package/dist/src/adapters/compatibilityContext.cjs.map +1 -0
  251. package/dist/src/adapters/compatibilityContext.d.cts +23 -0
  252. package/dist/src/adapters/compatibilityContext.d.cts.map +1 -0
  253. package/dist/src/adapters/compatibilityContext.d.mts +23 -0
  254. package/dist/src/adapters/compatibilityContext.d.mts.map +1 -0
  255. package/dist/src/adapters/compatibilityContext.mjs +2 -0
  256. package/dist/src/adapters/compatibilityContext.mjs.map +1 -0
  257. package/dist/src/adapters/composer.cjs +2 -0
  258. package/dist/src/adapters/composer.cjs.map +1 -0
  259. package/dist/src/adapters/composer.d.cts +119 -0
  260. package/dist/src/adapters/composer.d.cts.map +1 -0
  261. package/dist/src/adapters/composer.d.mts +119 -0
  262. package/dist/src/adapters/composer.d.mts.map +1 -0
  263. package/dist/src/adapters/composer.mjs +2 -0
  264. package/dist/src/adapters/composer.mjs.map +1 -0
  265. package/dist/src/adapters/compositionState.cjs +2 -0
  266. package/dist/src/adapters/compositionState.cjs.map +1 -0
  267. package/dist/src/adapters/compositionState.d.cts +10 -0
  268. package/dist/src/adapters/compositionState.d.cts.map +1 -0
  269. package/dist/src/adapters/compositionState.d.mts +10 -0
  270. package/dist/src/adapters/compositionState.d.mts.map +1 -0
  271. package/dist/src/adapters/compositionState.mjs +2 -0
  272. package/dist/src/adapters/compositionState.mjs.map +1 -0
  273. package/dist/src/adapters/config/harnessState.cjs +2 -0
  274. package/dist/src/adapters/config/harnessState.cjs.map +1 -0
  275. package/dist/src/adapters/config/harnessState.d.cts +19 -0
  276. package/dist/src/adapters/config/harnessState.d.cts.map +1 -0
  277. package/dist/src/adapters/config/harnessState.d.mts +19 -0
  278. package/dist/src/adapters/config/harnessState.d.mts.map +1 -0
  279. package/dist/src/adapters/config/harnessState.mjs +2 -0
  280. package/dist/src/adapters/config/harnessState.mjs.map +1 -0
  281. package/dist/src/adapters/doomPackage.cjs +2 -0
  282. package/dist/src/adapters/doomPackage.cjs.map +1 -0
  283. package/dist/src/adapters/doomPackage.mjs +2 -0
  284. package/dist/src/adapters/doomPackage.mjs.map +1 -0
  285. package/dist/src/adapters/dpiRunner.cjs +3 -0
  286. package/dist/src/adapters/dpiRunner.cjs.map +1 -0
  287. package/dist/src/adapters/dpiRunner.mjs +3 -0
  288. package/dist/src/adapters/dpiRunner.mjs.map +1 -0
  289. package/dist/src/adapters/dpiSettings.cjs +2 -0
  290. package/dist/src/adapters/dpiSettings.cjs.map +1 -0
  291. package/dist/src/adapters/dpiSettings.mjs +2 -0
  292. package/dist/src/adapters/dpiSettings.mjs.map +1 -0
  293. package/dist/src/adapters/extensionCompiler.cjs +3 -0
  294. package/dist/src/adapters/extensionCompiler.cjs.map +1 -0
  295. package/dist/src/adapters/extensionCompiler.mjs +3 -0
  296. package/dist/src/adapters/extensionCompiler.mjs.map +1 -0
  297. package/dist/src/adapters/harnessContext.cjs +2 -0
  298. package/dist/src/adapters/harnessContext.cjs.map +1 -0
  299. package/dist/src/adapters/harnessContext.d.cts +52 -0
  300. package/dist/src/adapters/harnessContext.d.cts.map +1 -0
  301. package/dist/src/adapters/harnessContext.d.mts +52 -0
  302. package/dist/src/adapters/harnessContext.d.mts.map +1 -0
  303. package/dist/src/adapters/harnessContext.mjs +2 -0
  304. package/dist/src/adapters/harnessContext.mjs.map +1 -0
  305. package/dist/src/adapters/layerPackageInstaller.cjs +2 -0
  306. package/dist/src/adapters/layerPackageInstaller.cjs.map +1 -0
  307. package/dist/src/adapters/layerPackageInstaller.mjs +2 -0
  308. package/dist/src/adapters/layerPackageInstaller.mjs.map +1 -0
  309. package/dist/src/adapters/modules/moduleResolution.cjs +2 -0
  310. package/dist/src/adapters/modules/moduleResolution.cjs.map +1 -0
  311. package/dist/src/adapters/modules/moduleResolution.d.cts +74 -0
  312. package/dist/src/adapters/modules/moduleResolution.d.cts.map +1 -0
  313. package/dist/src/adapters/modules/moduleResolution.d.mts +74 -0
  314. package/dist/src/adapters/modules/moduleResolution.d.mts.map +1 -0
  315. package/dist/src/adapters/modules/moduleResolution.mjs +2 -0
  316. package/dist/src/adapters/modules/moduleResolution.mjs.map +1 -0
  317. package/dist/src/adapters/packageBootstrap.cjs +2 -0
  318. package/dist/src/adapters/packageBootstrap.cjs.map +1 -0
  319. package/dist/src/adapters/packageBootstrap.d.cts +7 -0
  320. package/dist/src/adapters/packageBootstrap.d.cts.map +1 -0
  321. package/dist/src/adapters/packageBootstrap.d.mts +7 -0
  322. package/dist/src/adapters/packageBootstrap.d.mts.map +1 -0
  323. package/dist/src/adapters/packageBootstrap.mjs +2 -0
  324. package/dist/src/adapters/packageBootstrap.mjs.map +1 -0
  325. package/dist/src/adapters/piExtensionAlias.cjs +2 -0
  326. package/dist/src/adapters/piExtensionAlias.cjs.map +1 -0
  327. package/dist/src/adapters/piExtensionAlias.mjs +2 -0
  328. package/dist/src/adapters/piExtensionAlias.mjs.map +1 -0
  329. package/dist/src/adapters/piSettings.cjs +2 -0
  330. package/dist/src/adapters/piSettings.cjs.map +1 -0
  331. package/dist/src/adapters/piSettings.d.cts +24 -0
  332. package/dist/src/adapters/piSettings.d.cts.map +1 -0
  333. package/dist/src/adapters/piSettings.d.mts +24 -0
  334. package/dist/src/adapters/piSettings.d.mts.map +1 -0
  335. package/dist/src/adapters/piSettings.mjs +2 -0
  336. package/dist/src/adapters/piSettings.mjs.map +1 -0
  337. package/dist/src/adapters/projectPiSettings.cjs +2 -0
  338. package/dist/src/adapters/projectPiSettings.cjs.map +1 -0
  339. package/dist/src/adapters/projectPiSettings.d.cts +28 -0
  340. package/dist/src/adapters/projectPiSettings.d.cts.map +1 -0
  341. package/dist/src/adapters/projectPiSettings.d.mts +28 -0
  342. package/dist/src/adapters/projectPiSettings.d.mts.map +1 -0
  343. package/dist/src/adapters/projectPiSettings.mjs +2 -0
  344. package/dist/src/adapters/projectPiSettings.mjs.map +1 -0
  345. package/dist/src/adapters/repository/repository.cjs +2 -0
  346. package/dist/src/adapters/repository/repository.cjs.map +1 -0
  347. package/dist/src/adapters/repository/repository.d.cts +21 -0
  348. package/dist/src/adapters/repository/repository.d.cts.map +1 -0
  349. package/dist/src/adapters/repository/repository.d.mts +21 -0
  350. package/dist/src/adapters/repository/repository.d.mts.map +1 -0
  351. package/dist/src/adapters/repository/repository.mjs +2 -0
  352. package/dist/src/adapters/repository/repository.mjs.map +1 -0
  353. package/dist/src/adapters/runtimeBundle.cjs +2 -0
  354. package/dist/src/adapters/runtimeBundle.cjs.map +1 -0
  355. package/dist/src/adapters/runtimeBundle.mjs +2 -0
  356. package/dist/src/adapters/runtimeBundle.mjs.map +1 -0
  357. package/dist/src/adapters/runtimeIdentity.cjs +2 -0
  358. package/dist/src/adapters/runtimeIdentity.cjs.map +1 -0
  359. package/dist/src/adapters/runtimeIdentity.d.cts +8 -0
  360. package/dist/src/adapters/runtimeIdentity.d.cts.map +1 -0
  361. package/dist/src/adapters/runtimeIdentity.d.mts +8 -0
  362. package/dist/src/adapters/runtimeIdentity.d.mts.map +1 -0
  363. package/dist/src/adapters/runtimeIdentity.mjs +2 -0
  364. package/dist/src/adapters/runtimeIdentity.mjs.map +1 -0
  365. package/dist/src/adapters/serialization/json.cjs +2 -0
  366. package/dist/src/adapters/serialization/json.cjs.map +1 -0
  367. package/dist/src/adapters/serialization/json.d.cts +23 -0
  368. package/dist/src/adapters/serialization/json.d.cts.map +1 -0
  369. package/dist/src/adapters/serialization/json.d.mts +23 -0
  370. package/dist/src/adapters/serialization/json.d.mts.map +1 -0
  371. package/dist/src/adapters/serialization/json.mjs +2 -0
  372. package/dist/src/adapters/serialization/json.mjs.map +1 -0
  373. package/dist/src/adapters/sharedBuildCache.cjs +2 -0
  374. package/dist/src/adapters/sharedBuildCache.cjs.map +1 -0
  375. package/dist/src/adapters/sharedBuildCache.mjs +2 -0
  376. package/dist/src/adapters/sharedBuildCache.mjs.map +1 -0
  377. package/dist/src/adapters/syncLocation.cjs +2 -0
  378. package/dist/src/adapters/syncLocation.cjs.map +1 -0
  379. package/dist/src/adapters/syncLocation.d.cts +19 -0
  380. package/dist/src/adapters/syncLocation.d.cts.map +1 -0
  381. package/dist/src/adapters/syncLocation.d.mts +19 -0
  382. package/dist/src/adapters/syncLocation.d.mts.map +1 -0
  383. package/dist/src/adapters/syncLocation.mjs +2 -0
  384. package/dist/src/adapters/syncLocation.mjs.map +1 -0
  385. package/dist/src/adapters/syncState.cjs +2 -0
  386. package/dist/src/adapters/syncState.cjs.map +1 -0
  387. package/dist/src/adapters/syncState.d.cts +155 -0
  388. package/dist/src/adapters/syncState.d.cts.map +1 -0
  389. package/dist/src/adapters/syncState.d.mts +155 -0
  390. package/dist/src/adapters/syncState.d.mts.map +1 -0
  391. package/dist/src/adapters/syncState.mjs +2 -0
  392. package/dist/src/adapters/syncState.mjs.map +1 -0
  393. package/dist/src/adapters/syncStateContract.cjs +2 -0
  394. package/dist/src/adapters/syncStateContract.cjs.map +1 -0
  395. package/dist/src/adapters/syncStateContract.d.cts +12 -0
  396. package/dist/src/adapters/syncStateContract.d.cts.map +1 -0
  397. package/dist/src/adapters/syncStateContract.d.mts +12 -0
  398. package/dist/src/adapters/syncStateContract.d.mts.map +1 -0
  399. package/dist/src/adapters/syncStateContract.mjs +2 -0
  400. package/dist/src/adapters/syncStateContract.mjs.map +1 -0
  401. package/dist/src/adapters/syncedRuntimeBuilder.cjs +2 -0
  402. package/dist/src/adapters/syncedRuntimeBuilder.cjs.map +1 -0
  403. package/dist/src/adapters/syncedRuntimeBuilder.d.cts +11 -0
  404. package/dist/src/adapters/syncedRuntimeBuilder.d.cts.map +1 -0
  405. package/dist/src/adapters/syncedRuntimeBuilder.d.mts +11 -0
  406. package/dist/src/adapters/syncedRuntimeBuilder.d.mts.map +1 -0
  407. package/dist/src/adapters/syncedRuntimeBuilder.mjs +2 -0
  408. package/dist/src/adapters/syncedRuntimeBuilder.mjs.map +1 -0
  409. package/dist/src/adapters/telemetry/logSinkTelemetry.cjs +2 -0
  410. package/dist/src/adapters/telemetry/logSinkTelemetry.cjs.map +1 -0
  411. package/dist/src/adapters/telemetry/logSinkTelemetry.d.cts +50 -0
  412. package/dist/src/adapters/telemetry/logSinkTelemetry.d.cts.map +1 -0
  413. package/dist/src/adapters/telemetry/logSinkTelemetry.d.mts +50 -0
  414. package/dist/src/adapters/telemetry/logSinkTelemetry.d.mts.map +1 -0
  415. package/dist/src/adapters/telemetry/logSinkTelemetry.mjs +2 -0
  416. package/dist/src/adapters/telemetry/logSinkTelemetry.mjs.map +1 -0
  417. package/dist/src/commands/baseCommand.cjs +2 -0
  418. package/dist/src/commands/baseCommand.cjs.map +1 -0
  419. package/dist/src/commands/baseCommand.d.cts +36 -0
  420. package/dist/src/commands/baseCommand.d.cts.map +1 -0
  421. package/dist/src/commands/baseCommand.d.mts +36 -0
  422. package/dist/src/commands/baseCommand.d.mts.map +1 -0
  423. package/dist/src/commands/baseCommand.mjs +2 -0
  424. package/dist/src/commands/baseCommand.mjs.map +1 -0
  425. package/dist/src/commands/buildCommand.cjs +3 -0
  426. package/dist/src/commands/buildCommand.cjs.map +1 -0
  427. package/dist/src/commands/buildCommand.mjs +3 -0
  428. package/dist/src/commands/buildCommand.mjs.map +1 -0
  429. package/dist/src/commands/cli/cliApp.cjs +2 -0
  430. package/dist/src/commands/cli/cliApp.cjs.map +1 -0
  431. package/dist/src/commands/cli/cliApp.d.cts +44 -0
  432. package/dist/src/commands/cli/cliApp.d.cts.map +1 -0
  433. package/dist/src/commands/cli/cliApp.d.mts +44 -0
  434. package/dist/src/commands/cli/cliApp.d.mts.map +1 -0
  435. package/dist/src/commands/cli/cliApp.mjs +2 -0
  436. package/dist/src/commands/cli/cliApp.mjs.map +1 -0
  437. package/dist/src/commands/cli/compatibilityOptions.cjs +2 -0
  438. package/dist/src/commands/cli/compatibilityOptions.cjs.map +1 -0
  439. package/dist/src/commands/cli/compatibilityOptions.d.cts +14 -0
  440. package/dist/src/commands/cli/compatibilityOptions.d.cts.map +1 -0
  441. package/dist/src/commands/cli/compatibilityOptions.d.mts +14 -0
  442. package/dist/src/commands/cli/compatibilityOptions.d.mts.map +1 -0
  443. package/dist/src/commands/cli/compatibilityOptions.mjs +2 -0
  444. package/dist/src/commands/cli/compatibilityOptions.mjs.map +1 -0
  445. package/dist/src/commands/cli/help.cjs +68 -0
  446. package/dist/src/commands/cli/help.cjs.map +1 -0
  447. package/dist/src/commands/cli/help.d.cts +6 -0
  448. package/dist/src/commands/cli/help.d.cts.map +1 -0
  449. package/dist/src/commands/cli/help.d.mts +6 -0
  450. package/dist/src/commands/cli/help.d.mts.map +1 -0
  451. package/dist/src/commands/cli/help.mjs +68 -0
  452. package/dist/src/commands/cli/help.mjs.map +1 -0
  453. package/dist/src/commands/cli/matrixOptions.cjs +2 -0
  454. package/dist/src/commands/cli/matrixOptions.cjs.map +1 -0
  455. package/dist/src/commands/cli/matrixOptions.d.cts +91 -0
  456. package/dist/src/commands/cli/matrixOptions.d.cts.map +1 -0
  457. package/dist/src/commands/cli/matrixOptions.d.mts +91 -0
  458. package/dist/src/commands/cli/matrixOptions.d.mts.map +1 -0
  459. package/dist/src/commands/cli/matrixOptions.mjs +2 -0
  460. package/dist/src/commands/cli/matrixOptions.mjs.map +1 -0
  461. package/dist/src/commands/cli/options.cjs +2 -0
  462. package/dist/src/commands/cli/options.cjs.map +1 -0
  463. package/dist/src/commands/cli/options.d.cts +6 -0
  464. package/dist/src/commands/cli/options.d.cts.map +1 -0
  465. package/dist/src/commands/cli/options.d.mts +6 -0
  466. package/dist/src/commands/cli/options.d.mts.map +1 -0
  467. package/dist/src/commands/cli/options.mjs +2 -0
  468. package/dist/src/commands/cli/options.mjs.map +1 -0
  469. package/dist/src/commands/compatibilityCommand.cjs +2 -0
  470. package/dist/src/commands/compatibilityCommand.cjs.map +1 -0
  471. package/dist/src/commands/compatibilityCommand.d.cts +13 -0
  472. package/dist/src/commands/compatibilityCommand.d.cts.map +1 -0
  473. package/dist/src/commands/compatibilityCommand.d.mts +13 -0
  474. package/dist/src/commands/compatibilityCommand.d.mts.map +1 -0
  475. package/dist/src/commands/compatibilityCommand.mjs +2 -0
  476. package/dist/src/commands/compatibilityCommand.mjs.map +1 -0
  477. package/dist/src/commands/emitMcpCommand.cjs +2 -0
  478. package/dist/src/commands/emitMcpCommand.cjs.map +1 -0
  479. package/dist/src/commands/emitMcpCommand.d.cts +18 -0
  480. package/dist/src/commands/emitMcpCommand.d.cts.map +1 -0
  481. package/dist/src/commands/emitMcpCommand.d.mts +18 -0
  482. package/dist/src/commands/emitMcpCommand.d.mts.map +1 -0
  483. package/dist/src/commands/emitMcpCommand.mjs +2 -0
  484. package/dist/src/commands/emitMcpCommand.mjs.map +1 -0
  485. package/dist/src/commands/explainCommand.cjs +21 -0
  486. package/dist/src/commands/explainCommand.cjs.map +1 -0
  487. package/dist/src/commands/explainCommand.d.cts +62 -0
  488. package/dist/src/commands/explainCommand.d.cts.map +1 -0
  489. package/dist/src/commands/explainCommand.d.mts +62 -0
  490. package/dist/src/commands/explainCommand.d.mts.map +1 -0
  491. package/dist/src/commands/explainCommand.mjs +21 -0
  492. package/dist/src/commands/explainCommand.mjs.map +1 -0
  493. package/dist/src/commands/initCommand.cjs +2 -0
  494. package/dist/src/commands/initCommand.cjs.map +1 -0
  495. package/dist/src/commands/initCommand.d.cts +11 -0
  496. package/dist/src/commands/initCommand.d.cts.map +1 -0
  497. package/dist/src/commands/initCommand.d.mts +11 -0
  498. package/dist/src/commands/initCommand.d.mts.map +1 -0
  499. package/dist/src/commands/initCommand.mjs +2 -0
  500. package/dist/src/commands/initCommand.mjs.map +1 -0
  501. package/dist/src/commands/initPresenter.cjs +3 -0
  502. package/dist/src/commands/initPresenter.cjs.map +1 -0
  503. package/dist/src/commands/initPresenter.d.cts +9 -0
  504. package/dist/src/commands/initPresenter.d.cts.map +1 -0
  505. package/dist/src/commands/initPresenter.d.mts +9 -0
  506. package/dist/src/commands/initPresenter.d.mts.map +1 -0
  507. package/dist/src/commands/initPresenter.mjs +3 -0
  508. package/dist/src/commands/initPresenter.mjs.map +1 -0
  509. package/dist/src/commands/launchCommand.cjs +2 -0
  510. package/dist/src/commands/launchCommand.cjs.map +1 -0
  511. package/dist/src/commands/launchCommand.d.cts +32 -0
  512. package/dist/src/commands/launchCommand.d.cts.map +1 -0
  513. package/dist/src/commands/launchCommand.d.mts +32 -0
  514. package/dist/src/commands/launchCommand.d.mts.map +1 -0
  515. package/dist/src/commands/launchCommand.mjs +2 -0
  516. package/dist/src/commands/launchCommand.mjs.map +1 -0
  517. package/dist/src/commands/syncCommand.cjs +7 -0
  518. package/dist/src/commands/syncCommand.cjs.map +1 -0
  519. package/dist/src/commands/syncCommand.d.cts +49 -0
  520. package/dist/src/commands/syncCommand.d.cts.map +1 -0
  521. package/dist/src/commands/syncCommand.d.mts +49 -0
  522. package/dist/src/commands/syncCommand.d.mts.map +1 -0
  523. package/dist/src/commands/syncCommand.mjs +7 -0
  524. package/dist/src/commands/syncCommand.mjs.map +1 -0
  525. package/dist/src/commands/syncPipeline.cjs +2 -0
  526. package/dist/src/commands/syncPipeline.cjs.map +1 -0
  527. package/dist/src/commands/syncPipeline.mjs +2 -0
  528. package/dist/src/commands/syncPipeline.mjs.map +1 -0
  529. package/dist/src/extensions/entries/cacheOptimizer.mjs +2 -0
  530. package/dist/src/extensions/entries/cacheOptimizer.mjs.map +1 -0
  531. package/dist/src/extensions/entries/cordisFinalizer.cjs +2 -0
  532. package/dist/src/extensions/entries/cordisFinalizer.cjs.map +1 -0
  533. package/dist/src/extensions/entries/cordisFinalizer.d.cts +7 -0
  534. package/dist/src/extensions/entries/cordisFinalizer.d.cts.map +1 -0
  535. package/dist/src/extensions/entries/cordisFinalizer.d.mts +7 -0
  536. package/dist/src/extensions/entries/cordisFinalizer.d.mts.map +1 -0
  537. package/dist/src/extensions/entries/cordisFinalizer.mjs +2 -0
  538. package/dist/src/extensions/entries/cordisFinalizer.mjs.map +1 -0
  539. package/dist/src/extensions/entries/cordisHost.cjs +2 -0
  540. package/dist/src/extensions/entries/cordisHost.cjs.map +1 -0
  541. package/dist/src/extensions/entries/cordisHost.d.cts +7 -0
  542. package/dist/src/extensions/entries/cordisHost.d.cts.map +1 -0
  543. package/dist/src/extensions/entries/cordisHost.d.mts +7 -0
  544. package/dist/src/extensions/entries/cordisHost.d.mts.map +1 -0
  545. package/dist/src/extensions/entries/cordisHost.mjs +2 -0
  546. package/dist/src/extensions/entries/cordisHost.mjs.map +1 -0
  547. package/dist/src/extensions/entries/doom.cjs +2 -0
  548. package/dist/src/extensions/entries/doom.cjs.map +1 -0
  549. package/dist/src/extensions/entries/doom.d.cts +13 -0
  550. package/dist/src/extensions/entries/doom.d.cts.map +1 -0
  551. package/dist/src/extensions/entries/doom.d.mts +13 -0
  552. package/dist/src/extensions/entries/doom.d.mts.map +1 -0
  553. package/dist/src/extensions/entries/doom.mjs +2 -0
  554. package/dist/src/extensions/entries/doom.mjs.map +1 -0
  555. package/dist/src/extensions/entries/effort.cjs +2 -0
  556. package/dist/src/extensions/entries/effort.cjs.map +1 -0
  557. package/dist/src/extensions/entries/effort.d.cts +9 -0
  558. package/dist/src/extensions/entries/effort.d.cts.map +1 -0
  559. package/dist/src/extensions/entries/effort.d.mts +9 -0
  560. package/dist/src/extensions/entries/effort.d.mts.map +1 -0
  561. package/dist/src/extensions/entries/effort.mjs +2 -0
  562. package/dist/src/extensions/entries/effort.mjs.map +1 -0
  563. package/dist/src/extensions/entries/modeCatalog.cjs +2 -0
  564. package/dist/src/extensions/entries/modeCatalog.cjs.map +1 -0
  565. package/dist/src/extensions/entries/modeCatalog.d.cts +6 -0
  566. package/dist/src/extensions/entries/modeCatalog.d.cts.map +1 -0
  567. package/dist/src/extensions/entries/modeCatalog.d.mts +6 -0
  568. package/dist/src/extensions/entries/modeCatalog.d.mts.map +1 -0
  569. package/dist/src/extensions/entries/modeCatalog.mjs +2 -0
  570. package/dist/src/extensions/entries/modeCatalog.mjs.map +1 -0
  571. package/dist/src/extensions/entries/ollamaProvider.cjs +2 -0
  572. package/dist/src/extensions/entries/ollamaProvider.cjs.map +1 -0
  573. package/dist/src/extensions/entries/ollamaProvider.d.cts +5 -0
  574. package/dist/src/extensions/entries/ollamaProvider.d.cts.map +1 -0
  575. package/dist/src/extensions/entries/ollamaProvider.d.mts +6 -0
  576. package/dist/src/extensions/entries/ollamaProvider.d.mts.map +1 -0
  577. package/dist/src/extensions/entries/ollamaProvider.mjs +2 -0
  578. package/dist/src/extensions/entries/ollamaProvider.mjs.map +1 -0
  579. package/dist/src/extensions/entries/styleSystem.cjs +4 -0
  580. package/dist/src/extensions/entries/styleSystem.cjs.map +1 -0
  581. package/dist/src/extensions/entries/styleSystem.d.cts +33 -0
  582. package/dist/src/extensions/entries/styleSystem.d.cts.map +1 -0
  583. package/dist/src/extensions/entries/styleSystem.d.mts +33 -0
  584. package/dist/src/extensions/entries/styleSystem.d.mts.map +1 -0
  585. package/dist/src/extensions/entries/styleSystem.mjs +4 -0
  586. package/dist/src/extensions/entries/styleSystem.mjs.map +1 -0
  587. package/dist/src/extensions/entries/transitionCoordinator.cjs +2 -0
  588. package/dist/src/extensions/entries/transitionCoordinator.cjs.map +1 -0
  589. package/dist/src/extensions/entries/transitionCoordinator.d.cts +8 -0
  590. package/dist/src/extensions/entries/transitionCoordinator.d.cts.map +1 -0
  591. package/dist/src/extensions/entries/transitionCoordinator.d.mts +8 -0
  592. package/dist/src/extensions/entries/transitionCoordinator.d.mts.map +1 -0
  593. package/dist/src/extensions/entries/transitionCoordinator.mjs +2 -0
  594. package/dist/src/extensions/entries/transitionCoordinator.mjs.map +1 -0
  595. package/dist/src/services/config/projectTrust.cjs +2 -0
  596. package/dist/src/services/config/projectTrust.cjs.map +1 -0
  597. package/dist/src/services/config/projectTrust.d.cts +13 -0
  598. package/dist/src/services/config/projectTrust.d.cts.map +1 -0
  599. package/dist/src/services/config/projectTrust.d.mts +13 -0
  600. package/dist/src/services/config/projectTrust.d.mts.map +1 -0
  601. package/dist/src/services/config/projectTrust.mjs +2 -0
  602. package/dist/src/services/config/projectTrust.mjs.map +1 -0
  603. package/dist/src/services/extensionAssembler.cjs +2 -0
  604. package/dist/src/services/extensionAssembler.cjs.map +1 -0
  605. package/dist/src/services/extensionAssembler.d.cts +96 -0
  606. package/dist/src/services/extensionAssembler.d.cts.map +1 -0
  607. package/dist/src/services/extensionAssembler.d.mts +96 -0
  608. package/dist/src/services/extensionAssembler.d.mts.map +1 -0
  609. package/dist/src/services/extensionAssembler.mjs +2 -0
  610. package/dist/src/services/extensionAssembler.mjs.map +1 -0
  611. package/dist/src/services/modeCatalog.cjs +2 -0
  612. package/dist/src/services/modeCatalog.cjs.map +1 -0
  613. package/dist/src/services/modeCatalog.d.cts +15 -0
  614. package/dist/src/services/modeCatalog.d.cts.map +1 -0
  615. package/dist/src/services/modeCatalog.d.mts +15 -0
  616. package/dist/src/services/modeCatalog.d.mts.map +1 -0
  617. package/dist/src/services/modeCatalog.mjs +2 -0
  618. package/dist/src/services/modeCatalog.mjs.map +1 -0
  619. package/dist/src/services/tools/toolNames.cjs +2 -0
  620. package/dist/src/services/tools/toolNames.cjs.map +1 -0
  621. package/dist/src/services/tools/toolNames.d.cts +25 -0
  622. package/dist/src/services/tools/toolNames.d.cts.map +1 -0
  623. package/dist/src/services/tools/toolNames.d.mts +25 -0
  624. package/dist/src/services/tools/toolNames.d.mts.map +1 -0
  625. package/dist/src/services/tools/toolNames.mjs +2 -0
  626. package/dist/src/services/tools/toolNames.mjs.map +1 -0
  627. package/dist/src/services/transitionClassifier.cjs +2 -0
  628. package/dist/src/services/transitionClassifier.cjs.map +1 -0
  629. package/dist/src/services/transitionClassifier.d.cts +8 -0
  630. package/dist/src/services/transitionClassifier.d.cts.map +1 -0
  631. package/dist/src/services/transitionClassifier.d.mts +8 -0
  632. package/dist/src/services/transitionClassifier.d.mts.map +1 -0
  633. package/dist/src/services/transitionClassifier.mjs +2 -0
  634. package/dist/src/services/transitionClassifier.mjs.map +1 -0
  635. package/dist/src/services/transitionCoordinator.cjs +2 -0
  636. package/dist/src/services/transitionCoordinator.cjs.map +1 -0
  637. package/dist/src/services/transitionCoordinator.mjs +2 -0
  638. package/dist/src/services/transitionCoordinator.mjs.map +1 -0
  639. package/dist/src/types/interfaces/compatibility.d.cts +23 -0
  640. package/dist/src/types/interfaces/compatibility.d.cts.map +1 -0
  641. package/dist/src/types/interfaces/compatibility.d.mts +23 -0
  642. package/dist/src/types/interfaces/compatibility.d.mts.map +1 -0
  643. package/dist/src/types/interfaces/harness.d.cts +48 -0
  644. package/dist/src/types/interfaces/harness.d.cts.map +1 -0
  645. package/dist/src/types/interfaces/harness.d.mts +48 -0
  646. package/dist/src/types/interfaces/harness.d.mts.map +1 -0
  647. package/dist/utils/index.cjs +1 -0
  648. package/dist/utils/index.d.cts +6 -0
  649. package/dist/utils/index.d.mts +6 -0
  650. package/dist/utils/index.mjs +1 -0
  651. package/dist/utils/json.cjs +1 -0
  652. package/dist/utils/json.d.cts +2 -0
  653. package/dist/utils/json.d.mts +2 -0
  654. package/dist/utils/json.mjs +1 -0
  655. package/dist/utils/moduleResolution.cjs +1 -0
  656. package/dist/utils/moduleResolution.d.cts +2 -0
  657. package/dist/utils/moduleResolution.d.mts +2 -0
  658. package/dist/utils/moduleResolution.mjs +1 -0
  659. package/dist/utils/repository.cjs +1 -0
  660. package/dist/utils/repository.d.cts +2 -0
  661. package/dist/utils/repository.d.mts +2 -0
  662. package/dist/utils/repository.mjs +1 -0
  663. package/dist/utils/toolNames.cjs +1 -0
  664. package/dist/utils/toolNames.d.cts +2 -0
  665. package/dist/utils/toolNames.d.mts +2 -0
  666. package/dist/utils/toolNames.mjs +1 -0
  667. package/llms.txt +12 -0
  668. package/package.json +25 -37
  669. package/src/prompts/doompi-author-extension/SKILL.md +32 -0
  670. package/src/prompts/doompi-author-extension/references/extension-contract.md +180 -0
  671. package/docs/architecture.md +0 -162
package/README.md CHANGED
@@ -6,23 +6,32 @@
6
6
  > wakes up with database tools, browser controls, and their small novel of schemas. This
7
7
  > is our config.
8
8
 
9
- DoomPi is an opinionated, composable distribution of [Pi](https://github.com/earendil-works/pi). It is closer
10
- in spirit to Spacemacs, Doom Emacs, or a curated Neovim setup than to a single plugin. It is tailored
11
- for people whose agent has one MCP server too many. It turns extensions, skills,
12
- MCP servers, and system prompts into config instead of background noise.
9
+ DoomPi is an opinionated, composable distribution of
10
+ [Pi](https://github.com/earendil-works/pi). It is closer in spirit to Spacemacs, Doom Emacs, or a
11
+ curated Neovim setup than to a single plugin. It is tailored for people whose agent has one MCP
12
+ server too many. It turns extensions, skills, MCP servers, and system prompts into config instead
13
+ of background noise.
13
14
 
14
15
  ![DoomPi terminal interface showing tasks, Plan mode, and the Leader menu](https://cdn.jsdelivr.net/npm/@agimon-ai/doompi@latest/assets/doompi-tui.png)
15
16
 
16
- Plugin systems scope what an agent knows. Nothing scopes what it can reach. Claude Code's
17
- `enableAllProjectMcpServers` and static denylist are repository-wide. DoomPi draws that
18
- boundary around the session. Pick a major mode and some domains; add a profile if you want
19
- one. Four YAML files decide what loads; `doompi --explain` tells you what got in, why, and
20
- what it costs before launch.
17
+ Plugin systems scope what an agent knows. They do less to scope which configured plugins and MCP
18
+ servers a particular session can load. Claude Code's `enableAllProjectMcpServers` and static
19
+ denylist are repository-wide. DoomPi draws that loading boundary around the session. Pick a major
20
+ mode and some domains; add a profile if you want one. Four YAML files decide what loads;
21
+ `doompi --explain` tells you what got in, why, and what it costs before launch.
21
22
 
22
23
  It borrows its shape from [Doom Emacs Core](https://github.com/doomemacs/core): quick to
23
24
  start, close to Pi, opinionated where defaults help, and easy to pull apart when they do
24
25
  not. Use it as-is, build your own config on top, or raid it for parts.
25
26
 
27
+ ## Contents
28
+
29
+ [Install](#install) · [Try DoomPi](#try-doompi-without-replacing-your-pi-setup) ·
30
+ [Philosophy](#philosophy) · [What this buys you](#what-this-buys-you) · [Features](#features) ·
31
+ [Configuration](#configuration) · [Trust and data boundaries](#trust-and-data-boundaries) ·
32
+ [CLI reference](#cli-reference) · [Troubleshooting](#troubleshooting-and-direct-use) ·
33
+ [Architecture](#architecture) · [Development](#development)
34
+
26
35
  ## Install
27
36
 
28
37
  ```bash
@@ -31,9 +40,13 @@ npm install -g @agimon-ai/doompi
31
40
 
32
41
  The package pins and installs the upstream Pi version used by `dpi`.
33
42
 
43
+ The root package contains the fixed host foundation only. Feature packages are selected by
44
+ `.doom/modes.yaml` and installed into the consumer repository when they are first needed.
45
+
34
46
  ## Status and requirements
35
47
 
36
- DoomPi is alpha software. Configuration and package boundaries may still change between alpha releases.
48
+ DoomPi is alpha software. Configuration and package boundaries may still change between alpha
49
+ releases.
37
50
 
38
51
  - Node.js 22.19.0 or newer
39
52
  - macOS or Linux on arm64 or x64 for the bundled Runner backend
@@ -55,8 +68,10 @@ pi # run your existing Pi setup for comp
55
68
  `.doom/profiles.yaml` in the current repository. It preserves existing files unless you pass
56
69
  `--force` and does not create or change `.pi/settings.json`.
57
70
 
58
- `dpi sync` writes DoomPi's generated state, package alias, and theme resource, but it does
59
- not register DoomPi in either normal Pi settings file.
71
+ `dpi sync` installs missing configured feature packages, writes DoomPi's generated state,
72
+ package alias, and theme resource, but it does not register DoomPi in either normal Pi
73
+ settings file. It prepares every declared layer so switching modes does not depend on the
74
+ root package's dependency closure.
60
75
 
61
76
  ### Sync storage and worktrees
62
77
 
@@ -78,12 +93,12 @@ doompi sync # register DoomPi in normal Pi sett
78
93
  pi # DoomPi now starts through the regular Pi command
79
94
  ```
80
95
 
81
- `doompi` remains available as an explicit harness when you want one-run matrix flags:
96
+ `doompi` remains available as an explicit harness when you want per-run matrix flags:
82
97
 
83
98
  ```bash
84
- doompi --major-mode dev --domains development
85
- doompi --domains marketing --profile marketing
86
- doompi --domains analytics --explain
99
+ doompi --major-mode copilot --no-domains
100
+ doompi --major-mode minimal --no-domains
101
+ doompi --major-mode copilot --no-domains --explain
87
102
  ```
88
103
 
89
104
  ## Philosophy
@@ -98,7 +113,7 @@ A major mode is the base config. It names the extension layers for development,
98
113
  or whatever else you do. Define as many as you like; only one is active at a time, and you
99
114
  can switch it without leaving the session.
100
115
 
101
- Minor modes are battery-included switches inside that base. They start off, stack freely,
116
+ Minor modes are batteries-included switches inside that base. They start off, stack freely,
102
117
  and keep their model tools and skills out of context until turned on. DoomPi ships six:
103
118
 
104
119
  - **Help mode:** expose package-owned guidance only while you need it.
@@ -110,10 +125,10 @@ and keep their model tools and skills out of context until turned on. DoomPi shi
110
125
 
111
126
  ### Domains
112
127
 
113
- A domain is a named group of Pi plugins. It carries the skills and MCP servers for one
128
+ A domain is a named group of agent plugins. It carries the skills and MCP servers for one
114
129
  kind of work, and `/domains` switches it while the session is running.
115
130
 
116
- Plugins are catalogued once and domains refer to their names. A configured root may be a
131
+ Plugins are cataloged once and domains refer to their names. A configured root may be a
117
132
  Codex-compatible marketplace or a folder whose direct children are plugins, so a repository
118
133
  with many plugins does not need one entry per directory:
119
134
 
@@ -194,8 +209,8 @@ Together they can dispatch structured jobs from one live session.
194
209
  #### Workflows
195
210
 
196
211
  GitHub Actions already has a decent vocabulary for long jobs, so DoomPi reuses it. Each job
197
- declares the DoomPi session it wants. Here, implementation gets coding tools; the release
198
- note waits for it and gets marketing context plus a brand voice:
212
+ declares the DoomPi session it wants. Here, implementation gets development tools; an
213
+ article waits for it and gets focused blog-writing context:
199
214
 
200
215
  ```yaml
201
216
  on:
@@ -209,22 +224,77 @@ jobs:
209
224
  timeout-minutes: 180
210
225
  interactiveRun:
211
226
  default: |
212
- doompi --major-mode dev --domains development --auto-stop \
227
+ doompi --major-mode examples --domains development --auto-stop \
213
228
  --cwd "$PWD" "$JOB_SYSTEM_PROMPT"
214
229
 
215
- release-note:
230
+ article:
216
231
  runs-on: ubuntu-latest
217
232
  needs: implement
218
233
  steps:
219
- - name: Write the release note
234
+ - name: Write the article
220
235
  timeout-minutes: 30
221
236
  interactiveRun:
222
237
  default: |
223
- doompi --major-mode marketing --domains marketing \
224
- --profile brand-voice --auto-stop \
238
+ doompi --major-mode examples --domains blog --auto-stop \
225
239
  --cwd "$PWD" "$JOB_SYSTEM_PROMPT"
226
240
  ```
227
241
 
242
+ #### Native plugin and workflow examples
243
+
244
+ This source repository includes a complete, deliberately small example stack:
245
+
246
+ ```text
247
+ plugins/
248
+ development/ implementation skill and developer agent
249
+ testing/ testing and review skills, tester and reviewer agents
250
+ blog-writing/ research, outline, drafting, and editorial skills and agents
251
+ automations/workflows/
252
+ dev-feature.workflow.yml
253
+ dev-fix.workflow.yml
254
+ blog-writing.workflow.yml
255
+ ```
256
+
257
+ Each plugin has both `.codex-plugin/plugin.json` and `.claude-plugin/plugin.json`, while its
258
+ `skills/` and `agents/` content is shared. `.doom/domains.yaml` exposes the `development`,
259
+ `testing`, and `blog` domains plus the `engineering` alias. `.doom/modes.yaml` mirrors the
260
+ standalone package set with workspace-local paths, keeps its canonical modes, and adds a layer-free
261
+ `examples` base mode for the tracked workflows. Inspect the exact session before launch:
262
+
263
+ ```bash
264
+ doompi --major-mode examples --domains engineering --explain
265
+ doompi --major-mode examples --domains blog --explain
266
+ ```
267
+
268
+ The same bundles can be installed directly through either native marketplace:
269
+
270
+ ```bash
271
+ # Codex
272
+ codex plugin marketplace add .
273
+ codex plugin add development@doompi-examples
274
+
275
+ # Claude Code
276
+ claude plugin marketplace add ./ --scope user
277
+ claude plugin install development@doompi-examples --scope user
278
+ ```
279
+
280
+ Substitute `testing` or `blog-writing` to install another bundle. No DoomPi-specific plugin
281
+ schema is involved.
282
+
283
+ List and dry-run the tracked workflows before spending a model call:
284
+
285
+ ```bash
286
+ pnpm exec workflow-mcp list-workflows automations/workflows
287
+ pnpm exec workflow-mcp run-workflow automations/workflows/dev-feature.workflow.yml \
288
+ --dry-run --skip-launch --prompt "Add a health check"
289
+ pnpm exec workflow-mcp run-workflow automations/workflows/blog-writing.workflow.yml \
290
+ --dry-run --skip-launch --prompt "Write a practical guide to scoped agent tooling"
291
+ ```
292
+
293
+ Real runs delegate to tmux by default and accept `WORKFLOW_LAUNCHER=cmux`. Development runs do
294
+ not create branches, commits, or pushes. Blog runs leave review-ready Markdown, sources, and a
295
+ publication checklist in the workflow run directory without writing into a site or calling a CMS.
296
+ These examples live in the source repository and are not part of the published npm tarball.
297
+
228
298
  #### Loop
229
299
 
230
300
  Workflow definitions are exposed like skills, so the agent can choose one for the job. A
@@ -233,24 +303,32 @@ it. One session becomes the dispatcher instead of the place every job has to fit
233
303
 
234
304
  ## Features
235
305
 
236
- DoomPi is a distribution, not one giant extension. Each package owns one job; shared TUI
237
- and session contracts make them behave like one. Use the defaults together or replace
238
- them one at a time.
306
+ DoomPi is a distribution, not one giant extension. Each package owns one job; shared TUI,
307
+ Cordis services, and session contracts make them behave like one. Use the generated
308
+ `default.packages` list together, remove packages you do not want, or replace its entries one
309
+ at a time. Selectable packages are not runtime dependencies of the root package or of one another.
239
310
 
240
311
  ### Foundation and interface
241
312
 
242
313
  #### Configuration and composition
243
314
 
244
- [`@agimon-ai/doompi`][pkg-doompi] is both an extension and the command-line config compiler. `dpi init`
245
- creates repository config for an isolated experiment, while `doompi init` creates the personal
246
- config and registers the permanent Pi integration. The sync commands resolve every major mode and domain into a distribution Pi can load quickly.
315
+ [`@agimon-ai/doompi`][pkg-doompi] is both an extension and the command-line config compiler.
316
+ `dpi init` creates repository config for an isolated experiment, while `doompi init` creates the
317
+ personal config and registers the permanent Pi integration. The sync commands resolve every major
318
+ mode and domain into a distribution Pi can load quickly.
247
319
 
248
320
  #### Supporting packages
249
321
 
250
322
  [`@agimon-ai/doompi-config`][pkg-doompi-config] resolves the four YAML files and exposes the
251
323
  configuration API. [`@agimon-ai/doompi-domain`][pkg-doompi-domain] owns domain selection, plugin
252
- materialization, resource staging, and MCP scoping. [`@agimon-ai/doompi-extension-contracts`][pkg-doompi-extension-contracts]
253
- contains the shared Cordis service and event contracts used by extension authors.
324
+ materialization, resource staging, and MCP scoping.
325
+ [`@agimon-ai/doompi-extension-contracts`][pkg-doompi-extension-contracts] contains the shared
326
+ Cordis service and event contracts used by extension authors.
327
+ [`@agimon-ai/doompi-hashline`][pkg-doompi-hashline] provides the shared snapshot tags and line-anchor
328
+ protocol. [`@agimon-ai/doompi-read`][pkg-doompi-read] and [`@agimon-ai/doompi-grep`][pkg-doompi-grep]
329
+ produce editable anchors for writable files while preserving Pi's native output for non-writable files.
330
+ [`@agimon-ai/doompi-edit`][pkg-doompi-edit] replaces Pi's search-and-replace `edit` tool with
331
+ stale-safe ranges anchored to the file content the model read or searched.
254
332
  [`@agimon-ai/doompi-file-edit`][pkg-doompi-file-edit] opens files in the configured editor and
255
333
  keeps the edit timeline. [`@agimon-ai/doompi-log`][pkg-doompi-log] collects session events, while
256
334
  [`@agimon-ai/doompi-telemetry`][pkg-doompi-telemetry] is the library-level telemetry adapter.
@@ -285,12 +363,14 @@ should not expose the task tool.
285
363
  #### Runner
286
364
 
287
365
  [`@agimon-ai/doompi-runner`][pkg-doompi-runner] replaces Pi's blocking `bash` tool with
288
- supervised command execution in the generated default Copilot mode. Short commands still return
289
- inline; commands that pass the configurable threshold of 60 seconds by default move into the
290
- background with durable logs. Use `background: true` for an immediate detached run or
291
- `interactive: true` when the command needs terminal input. Runner IDs and durable logs remain available to the current session through Runner Space at
292
- `SPC r r` or the `doom-runner` CLI. Platform-specific RMUX binaries are selected automatically, with a fallback
293
- when RMUX is unavailable. Custom modes must include the `runner` layer to replace `bash`.
366
+ supervised command execution. `doompi init` includes Runner in `default.packages`, so every
367
+ generated mode gets it. Short commands still return inline; commands that pass the configurable
368
+ threshold of 60 seconds by default move into the background with durable logs. Use
369
+ `background: true` for an immediate detached run or `interactive: true` when the command needs
370
+ terminal input. Runner IDs and durable logs remain available to the current session through
371
+ Runner Space at `SPC r r` or the `doom-runner` CLI. Platform-specific RMUX binaries are selected
372
+ automatically, with a fallback when RMUX is unavailable. Remove Runner from `default.packages`
373
+ to keep Pi's `bash`, or add it to a named layer when only selected modes should replace `bash`.
294
374
 
295
375
  #### Auto-compact
296
376
 
@@ -310,26 +390,29 @@ being embedded as special snapshots in the compact summary.
310
390
 
311
391
  #### Help mode
312
392
 
313
- [`@agimon-ai/doompi-help`][pkg-doompi-help] keeps package guidance out of the default prompt. A fresh parent
314
- session performs no Help retrieval and exposes no Help skills. Use `SPC h e`, or the existing
315
- `minor_mode` client in headless sessions, to activate the package indexes; use the same action
316
- to deactivate them before the next interaction. The initial contributors expose
317
- `doompi-help`, `workflow-help`, and `doompi-config-help`. Parent and detached-child sessions both
318
- include the Help runtime, while its guidance stays withdrawn until Help mode is activated.
393
+ [`@agimon-ai/doompi-help`][pkg-doompi-help] keeps package guidance out of the default prompt. A
394
+ fresh parent session performs no Help retrieval and exposes no Help skills. Use `SPC h e`, or the
395
+ existing `minor_mode` client in headless sessions, to activate the package indexes; use the same
396
+ action to deactivate them before the next interaction. Help names state their intent: authoring
397
+ guides use `doompi-author-*`, while operational guides use `doompi-use-*`. Core authoring guidance
398
+ covers extensions, runtime config, major modes, domains, profiles, hooks, workflows, and skills.
399
+ Parent and detached-child sessions both include the Help runtime, while root and axis authoring
400
+ guides remain parent-owned and all guidance stays withdrawn until Help mode is activated.
319
401
 
320
402
  #### MCP
321
403
 
322
- [`@agimon-ai/doompi-mcp`][pkg-doompi-mcp] is the gate between a session and its servers. It reads repository
323
- and legacy plugin `.mcp.json` plus Agent Plugins v1 `mcp.json`, then exposes only the servers and
324
- proxy upstreams allowed by the selected domains. A domain switch persists an immutable projection;
325
- after Pi replaces the factories, Config publishes it through the session Cordis registry and MCP
326
- starts a fresh in-memory `mcp-proxy` container. No Hono server or localhost proxy sits in this path.
404
+ [`@agimon-ai/doompi-mcp`][pkg-doompi-mcp] is the gate between a session and its servers. It reads
405
+ repository and legacy plugin `.mcp.json` plus Agent Plugins v1 `mcp.json`, then exposes only the
406
+ servers and proxy upstreams allowed by the selected domains. A domain switch persists an immutable
407
+ projection; after Pi replaces the factories, Config publishes it through the session Cordis
408
+ registry and MCP starts a fresh in-memory `mcp-proxy` container. No Hono server or localhost proxy
409
+ sits in this path.
327
410
 
328
411
  #### Ask user question
329
412
 
330
- [`@agimon-ai/doompi-user-feedback`][pkg-doompi-user-feedback] gives the agent a structured question that actually
331
- waits for an answer. In autonomous Voice mode it skips the modal, narrates the choices,
332
- and accepts the next spoken response as an ordinary user message.
413
+ [`@agimon-ai/doompi-user-feedback`][pkg-doompi-user-feedback] gives the agent a structured question
414
+ that actually waits for an answer. In autonomous Voice mode it skips the modal, narrates the
415
+ choices, and accepts the next spoken response as an ordinary user message.
333
416
 
334
417
  #### Logging and telemetry
335
418
 
@@ -344,39 +427,39 @@ configured.
344
427
 
345
428
  A promise to "only plan" is not a permission boundary. [`@agimon-ai/doompi-plan`][pkg-doompi-plan]
346
429
  removes Pi's `edit` and `write` tools while the agent explores, persists the plan, and hands it back
347
- for approval. It does not sandbox Bash, external tools, or the operating system. Use `SPC p p` for normal planning, `SPC p d` for debug planning, `SPC p f` for
348
- the Fable flow, and `SPC p e` to exit. Turn it on when the approach should be settled
349
- before the files move.
430
+ for approval. It does not sandbox Bash, external tools, or the operating system. Use `SPC p p` for
431
+ normal planning, `SPC p d` for debug planning, `SPC p f` for the Fable flow, and `SPC p e` to exit.
432
+ Turn it on when the approach should be settled before the files move.
350
433
 
351
434
  #### Loop mode
352
435
 
353
- [`@agimon-ai/doompi-loop`][pkg-doompi-loop] is an in-session scheduler. It runs a prompt immediately and then
354
- repeats it on an interval; several loops can coexist. Use `SPC l s` to start one and
355
- `SPC l l` to list or stop them. It is for recurring checks and prompts that belong to the
356
- current session.
436
+ [`@agimon-ai/doompi-loop`][pkg-doompi-loop] is an in-session scheduler. It runs a prompt immediately
437
+ and then repeats it on an interval; several loops can coexist. Use `SPC l s` to start one and
438
+ `SPC l l` to list or stop them. It is for recurring checks and prompts that belong to the current
439
+ session.
357
440
 
358
441
  #### Goal mode
359
442
 
360
- [`@agimon-ai/doompi-goal`][pkg-doompi-goal] pins one objective to the session until it completes or you end
361
- it. Use `SPC g g` for status, `SPC g s` to start, `SPC g e` to end, and `SPC g p` for
362
- history. Finished goals leave the prompt and tools behind but remain in history when you
363
- want to restart one.
443
+ [`@agimon-ai/doompi-goal`][pkg-doompi-goal] pins one objective to the session until it completes or
444
+ you end it. Use `SPC g g` for status, `SPC g s` to start, `SPC g e` to end, and `SPC g p` for
445
+ history. Finished goals stop contributing active instructions and tools but remain in history when
446
+ you want to restart one.
364
447
 
365
448
  #### Workflow mode
366
449
 
367
- [`@agimon-ai/doompi-workflow`][pkg-doompi-workflow] runs GitHub Actions-style job graphs with dependencies,
368
- timeouts, artifacts, and a separate DoomPi session for each step. Use `SPC w w` to launch,
369
- `SPC w l` to manage, `SPC w r` to recover a failed run, and `SPC w e` to give the agent
370
- workflow tools or take them back. It is for work that needs hard job boundaries and
371
- explicit handoffs rather than one long conversation.
450
+ [`@agimon-ai/doompi-workflow`][pkg-doompi-workflow] runs GitHub Actions-style job graphs with
451
+ dependencies, timeouts, artifacts, and a separate DoomPi session for each step. Use `SPC w w` to
452
+ launch, `SPC w l` to manage, `SPC w r` to recover a failed run, and `SPC w e` to give the agent
453
+ workflow tools or take them back. It is for work that needs hard job boundaries and explicit
454
+ handoffs rather than one long conversation.
372
455
 
373
456
  #### Voice mode
374
457
 
375
- [`@agimon-ai/doompi-voice`][pkg-doompi-voice] captures PCM audio through the local platform helper and
376
- can transcribe it locally. Transcript text, session state, and model requests may still cross process
377
- or provider boundaries according to the configured engines. `SPC v v` is one-shot manual dictation and never enables Voice tools. `SPC v a`
378
- toggles autonomous capture; only its exact-active TUI session receives the two Voice
379
- façades plus the standalone `narrate` tool.
458
+ [`@agimon-ai/doompi-voice`][pkg-doompi-voice] captures PCM audio through the local platform helper
459
+ and can transcribe it locally. Transcript text, session state, and model requests may still cross
460
+ process or provider boundaries according to the configured engines. `SPC v v` is one-shot manual
461
+ dictation and never enables Voice tools. `SPC v a` toggles autonomous capture; only its exact-active
462
+ TUI session receives the two Voice façades plus the standalone `narrate` tool.
380
463
 
381
464
  While `narrate` is available, the primary agent calls it before every user-facing final
382
465
  response. One concise spoken answer is enough for a short conversation or clarification;
@@ -398,7 +481,7 @@ available, and the same model continues to provide bounded command correction.
398
481
  DoomPi reads four configuration files:
399
482
 
400
483
  - `config.yaml` defines runtime settings such as trust, editor, planning, and voice behavior.
401
- - `modes.yaml` defines extension layers and major modes.
484
+ - `modes.yaml` defines default packages, extension layers, and major modes.
402
485
  - `domains.yaml` catalogs plugins and sets session access.
403
486
  - `profiles.yaml` supplies persona files and environment defaults.
404
487
 
@@ -411,13 +494,41 @@ from `~/.pi/.doom/`; relative paths in repository config resolve from the reposi
411
494
  ### `modes.yaml`: choose behavior
412
495
 
413
496
  A layer is an ordered bundle of extension packages and hook groups. A major mode names the
414
- layers that should run together. The DoomPi distribution always activates Help, Hooks, Goal,
415
- Voice, Runner, File Edit, Autocompact, Loop, Plan, Workflow, Log, and MCP, so neither
416
- `doompi init` nor `dpi init` repeats them in user configuration. Add layers only for optional,
417
- consumer-owned, or explicitly configured packages. Packages may be bare strings, or mappings
418
- when the package accepts configuration:
497
+ layers that should run together. The top-level `default.packages` list is the ordered package
498
+ baseline for every major mode. `doompi init` and `dpi init` write the distribution's current
499
+ feature packages there so the baseline is visible and replaceable. If `default` is absent,
500
+ DoomPi adds no default feature packages. Use `default.packages: []` for an explicit empty
501
+ baseline. The fixed host core remains active independently of this setting, and named layers
502
+ keep their existing behavior.
503
+
504
+ Launch installs missing required packages from the defaults and selected layers. `doompi sync`
505
+ installs missing required packages from the defaults and every declared layer, then builds the
506
+ synchronized matrix. `doompi sync --check` reports missing packages without modifying the
507
+ repository. Optional packages and local paths are not installed automatically. Removing an
508
+ entry stops activating it but leaves Pi's package cache available for later reuse.
509
+
510
+ Packages in `default` and named layers may be bare strings, or mappings when the package accepts
511
+ configuration:
419
512
 
420
513
  ```yaml
514
+ default:
515
+ packages:
516
+ - '@agimon-ai/doompi-help'
517
+ - '@agimon-ai/doompi-hook'
518
+ - '@agimon-ai/doompi-goal'
519
+ - '@agimon-ai/doompi-voice'
520
+ - '@agimon-ai/doompi-runner'
521
+ - '@agimon-ai/doompi-read'
522
+ - '@agimon-ai/doompi-grep'
523
+ - '@agimon-ai/doompi-edit'
524
+ - '@agimon-ai/doompi-file-edit'
525
+ - '@agimon-ai/doompi-autocompact'
526
+ - '@agimon-ai/doompi-loop'
527
+ - '@agimon-ai/doompi-plan'
528
+ - '@agimon-ai/doompi-workflow'
529
+ - '@agimon-ai/doompi-log'
530
+ - '@agimon-ai/doompi-mcp'
531
+
421
532
  layers:
422
533
  team:
423
534
  packages:
@@ -440,17 +551,23 @@ majorMode:
440
551
  layers: [team, review]
441
552
  ```
442
553
 
443
- Order matters: DoomPi assembles layers and their packages from left to right. Put settings
444
- under the package that consumes them; a layer is composition, not a mystery bag of shared
445
- configuration. Home and repository `layers` and `majorMode` records merge by name, with the
446
- repository definition winning a collision.
554
+ Order matters: DoomPi assembles `default.packages` first, then the selected layers and their
555
+ packages from left to right. Put settings under the package that consumes them; a layer is
556
+ composition, not a mystery bag of shared configuration. Home and repository `layers` and
557
+ `majorMode` records merge by name, with the repository definition winning a collision. If both
558
+ sources declare `default`, the repository block replaces the personal block as one whole package
559
+ list.
560
+
561
+ Configurations created before the hashline tools were split may contain only `doompi-edit`.
562
+ Replace that entry with the ordered `doompi-read`, `doompi-grep`, and `doompi-edit` trio. Init
563
+ preserves existing configuration unless it is run with `--force`.
447
564
 
448
565
  Choose a mode with `--major-mode copilot`, switch it with `/mode`, or change
449
566
  `defaultMajorMode` when one mode should be the ordinary starting point.
450
567
 
451
568
  ### `domains.yaml`: choose content and access
452
569
 
453
- Plugins are catalogued once, then domains refer to their names. A root can be a marketplace,
570
+ Plugins are cataloged once, then domains refer to their names. A root can be a marketplace,
454
571
  a single plugin, or a container whose direct-child folders are plugins. Discovery is
455
572
  intentionally nonrecursive: a tool buried five directories down should not load by accident.
456
573
 
@@ -575,26 +692,34 @@ its owning package's controls; values supplied by callers are not automatically
575
692
 
576
693
  ## Troubleshooting and direct use
577
694
 
578
- - Run `doompi sync --check` to detect drift and `doompi sync` to rebuild synchronized state.
695
+ - Run `doompi sync --check` to detect drift or missing configured packages, and `doompi sync`
696
+ to install them and rebuild synchronized state.
579
697
  - If RMUX is unavailable on a supported target, Runner reports the fallback it uses. Linux native
580
698
  artifacts require a compatible loader and libc environment.
581
699
  - Leader menus and overlays require Pi's interactive TUI. Commands and tools remain the interface
582
700
  for JSON, RPC, and other headless sessions where the owning package supports them.
583
701
  - Install a directly loaded Pi subsystem with `pi install npm:@agimon-ai/<package>`. Library consumers
584
702
  use `npm install`; native RMUX artifacts are selected by Runner and should not be installed directly.
585
- The distribution remains the supported way to get the coordinated defaults.
703
+ The root `doom-runner` command delegates to Runner from the active repository and asks you to add
704
+ Runner to `modes.yaml` when it is absent. The distribution remains the supported way to get the
705
+ coordinated defaults.
586
706
 
587
707
  ## Architecture
588
708
 
589
- See [Architecture](docs/architecture.md) for standard Pi package composition, canonical fingerprints, transition classification, synchronized bundles, shared-host Cordis lifecycle ownership, and parent/child isolation.
709
+ See [Architecture](https://github.com/AgiFlow/doompi/blob/main/docs/architecture.md) for standard Pi
710
+ package composition, canonical fingerprints, transition classification, synchronized bundles,
711
+ shared-host Cordis lifecycle ownership, and parent/child isolation.
590
712
 
591
713
  ## Development
592
714
 
593
715
  ```bash
594
- nx build @agimon-ai/doompi
595
- nx test @agimon-ai/doompi
596
- nx typecheck @agimon-ai/doompi
597
- nx lint @agimon-ai/doompi
716
+ pnpm install
717
+ pnpm build
718
+ pnpm examples:check
719
+ pnpm nx build @agimon-ai/doompi
720
+ pnpm nx test @agimon-ai/doompi
721
+ pnpm nx typecheck @agimon-ai/doompi
722
+ pnpm nx lint @agimon-ai/doompi
598
723
  ```
599
724
 
600
725
  DoomPi is maintained by [Agimon](https://agimon.ai/about).
@@ -603,9 +728,10 @@ DoomPi is maintained by [Agimon](https://agimon.ai/about).
603
728
 
604
729
  MIT
605
730
 
606
- ## Package release order
731
+ ## Maintainer release order
607
732
 
608
- Publish [`@agimon-ai/doompi-extension-contracts`][pkg-doompi-extension-contracts] first, then
733
+ Publish [`@agimon-ai/doompi-extension-contracts`][pkg-doompi-extension-contracts] and
734
+ [`@agimon-ai/doompi-hashline`][pkg-doompi-hashline] first, then
609
735
  [`@agimon-ai/doompi-help`][pkg-doompi-help], and only then the
610
736
  [`@agimon-ai/doompi`][pkg-doompi] runtime that consumes them. Generated changelogs remain owned
611
737
  by the release tooling.
@@ -618,6 +744,10 @@ loaded extension graph inside the same release boundary as the packages that con
618
744
  [pkg-doompi-ui]: https://www.npmjs.com/package/@agimon-ai/doompi-ui
619
745
  [pkg-doompi-config]: https://www.npmjs.com/package/@agimon-ai/doompi-config
620
746
  [pkg-doompi-domain]: https://www.npmjs.com/package/@agimon-ai/doompi-domain
747
+ [pkg-doompi-hashline]: https://www.npmjs.com/package/@agimon-ai/doompi-hashline
748
+ [pkg-doompi-read]: https://www.npmjs.com/package/@agimon-ai/doompi-read
749
+ [pkg-doompi-grep]: https://www.npmjs.com/package/@agimon-ai/doompi-grep
750
+ [pkg-doompi-edit]: https://www.npmjs.com/package/@agimon-ai/doompi-edit
621
751
  [pkg-doompi-file-edit]: https://www.npmjs.com/package/@agimon-ai/doompi-file-edit
622
752
  [pkg-doompi-log]: https://www.npmjs.com/package/@agimon-ai/doompi-log
623
753
  [pkg-doompi-telemetry]: https://www.npmjs.com/package/@agimon-ai/doompi-telemetry
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ const e=require("../src/commands/cli/help.cjs"),t=process.argv.slice(2),n=t[0],r=n===`init`||n===`sync`||n===`compat`,i=!r&&t.some(e=>e===`--help`||e===`-h`)?(e.printHelp(),0):!r&&t.some(e=>e===`--version`||e===`-v`)?(process.stdout.write(`${e.HARNESS_VERSION}\n`),0):void 0;(i===void 0?Promise.resolve().then(()=>require("../src/commands/cli/cliApp.cjs")).then(({runCli:e})=>e(t)):Promise.resolve(i)).then(e=>{process.exitCode=e},e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[doompi] ${t}\n`),process.exitCode=1});
3
+ //# sourceMappingURL=cli.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.cjs","names":["HARNESS_VERSION"],"sources":["../../src/bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * CLI Entry Point for doom-pi\n *\n * The executable installed as the `doom-pi` binary, and the file the repository\n * launchers (pi.sh, claude.sh, codex.sh) invoke directly from source.\n */\n\nimport { HARNESS_VERSION, printHelp } from '../commands/cli/help.ts';\n\nconst args = process.argv.slice(2);\nconst command = args[0];\nconst ownsArguments = command === 'init' || command === 'sync' || command === 'compat';\n\n// Keep informational startup independent from telemetry, configuration, Pi,\n// and the extension compiler. Those graphs are useful for a real command but\n// used to account for almost all of `doompi --help` and `doompi --version`.\nconst informationalExit =\n !ownsArguments && args.some((argument) => argument === '--help' || argument === '-h')\n ? (() => {\n printHelp();\n return 0;\n })()\n : !ownsArguments && args.some((argument) => argument === '--version' || argument === '-v')\n ? (() => {\n process.stdout.write(`${HARNESS_VERSION}\\n`);\n return 0;\n })()\n : undefined;\n\nconst run =\n informationalExit === undefined\n ? import('../commands/cli/cliApp.ts').then(({ runCli }) => runCli(args))\n : Promise.resolve(informationalExit);\n\nrun.then(\n (exitCode) => {\n process.exitCode = exitCode;\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`[doompi] ${message}\\n`);\n process.exitCode = 1;\n },\n);\n"],"mappings":";gDAWM,EAAO,QAAQ,KAAK,MAAM,CAAC,EAC3B,EAAU,EAAK,GACf,EAAgB,IAAY,QAAU,IAAY,QAAU,IAAY,SAKxE,EACJ,CAAC,GAAiB,EAAK,KAAM,GAAa,IAAa,UAAY,IAAa,IAAI,GAE9E,EAAA,UAAU,EACH,GAET,CAAC,GAAiB,EAAK,KAAM,GAAa,IAAa,aAAe,IAAa,IAAI,GAEnF,QAAQ,OAAO,MAAM,GAAGA,EAAAA,gBAAgB,GAAG,EACpC,GAET,IAAA,IAGN,IAAsB,IAAA,GAAA,QAAA,QAAA,CAAA,CAAA,SAAA,QAClB,gCAAA,CAAA,CAAA,CAAoC,MAAM,CAAE,YAAa,EAAO,CAAI,CAAC,EACrE,QAAQ,QAAQ,CAAiB,EAAA,CAEnC,KACD,GAAa,CACZ,QAAQ,SAAW,CACrB,EACC,GAAmB,CAClB,IAAM,EAAU,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,EACrE,QAAQ,OAAO,MAAM,YAAY,EAAQ,GAAG,EAC5C,QAAQ,SAAW,CACrB,CACF"}
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import{HARNESS_VERSION as e,printHelp as t}from"../src/commands/cli/help.mjs";const n=process.argv.slice(2),r=n[0],i=r===`init`||r===`sync`||r===`compat`,a=!i&&n.some(e=>e===`--help`||e===`-h`)?(t(),0):!i&&n.some(e=>e===`--version`||e===`-v`)?(process.stdout.write(`${e}\n`),0):void 0;(a===void 0?import(`../src/commands/cli/cliApp.mjs`).then(({runCli:e})=>e(n)):Promise.resolve(a)).then(e=>{process.exitCode=e},e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[doompi] ${t}\n`),process.exitCode=1});export{};
3
+ //# sourceMappingURL=cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.mjs","names":[],"sources":["../../src/bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * CLI Entry Point for doom-pi\n *\n * The executable installed as the `doom-pi` binary, and the file the repository\n * launchers (pi.sh, claude.sh, codex.sh) invoke directly from source.\n */\n\nimport { HARNESS_VERSION, printHelp } from '../commands/cli/help.ts';\n\nconst args = process.argv.slice(2);\nconst command = args[0];\nconst ownsArguments = command === 'init' || command === 'sync' || command === 'compat';\n\n// Keep informational startup independent from telemetry, configuration, Pi,\n// and the extension compiler. Those graphs are useful for a real command but\n// used to account for almost all of `doompi --help` and `doompi --version`.\nconst informationalExit =\n !ownsArguments && args.some((argument) => argument === '--help' || argument === '-h')\n ? (() => {\n printHelp();\n return 0;\n })()\n : !ownsArguments && args.some((argument) => argument === '--version' || argument === '-v')\n ? (() => {\n process.stdout.write(`${HARNESS_VERSION}\\n`);\n return 0;\n })()\n : undefined;\n\nconst run =\n informationalExit === undefined\n ? import('../commands/cli/cliApp.ts').then(({ runCli }) => runCli(args))\n : Promise.resolve(informationalExit);\n\nrun.then(\n (exitCode) => {\n process.exitCode = exitCode;\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`[doompi] ${message}\\n`);\n process.exitCode = 1;\n },\n);\n"],"mappings":";8EAWA,MAAM,EAAO,QAAQ,KAAK,MAAM,CAAC,EAC3B,EAAU,EAAK,GACf,EAAgB,IAAY,QAAU,IAAY,QAAU,IAAY,SAKxE,EACJ,CAAC,GAAiB,EAAK,KAAM,GAAa,IAAa,UAAY,IAAa,IAAI,GAE9E,EAAU,EACH,GAET,CAAC,GAAiB,EAAK,KAAM,GAAa,IAAa,aAAe,IAAa,IAAI,GAEnF,QAAQ,OAAO,MAAM,GAAG,EAAgB,GAAG,EACpC,GAET,IAAA,IAGN,IAAsB,IAAA,GAClB,OAAO,iCAA4B,CAAC,MAAM,CAAE,YAAa,EAAO,CAAI,CAAC,EACrE,QAAQ,QAAQ,CAAiB,EAAA,CAEnC,KACD,GAAa,CACZ,QAAQ,SAAW,CACrB,EACC,GAAmB,CAClB,IAAM,EAAU,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,EACrE,QAAQ,OAAO,MAAM,YAAY,EAAQ,GAAG,EAC5C,QAAQ,SAAW,CACrB,CACF"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../src/adapters/repository/repository.cjs"),t=require("../src/adapters/modules/moduleResolution.cjs");let n=require("node:url");const r=`@agimon-ai/doompi-runner/bin/cli`;async function i(i=process.argv.slice(2)){let a;try{a=e.findRepositoryRoot(process.cwd())}catch(e){throw Error(`doom-runner must be invoked inside a configured repository.`,{cause:e})}let o=t.consumerPackageEntry(r,a);if(!o)throw Error(`Doom Runner is not installed for this repository. Add @agimon-ai/doompi-runner to .doom/modes.yaml and run doompi sync.`);let s=await import((0,n.pathToFileURL)(o).href);if(typeof s.main!=`function`)throw Error(`${r} does not export a callable main function.`);return s.main(i)}process.argv[1]&&require("url").pathToFileURL(__filename).href===(0,n.pathToFileURL)(process.argv[1]).href&&i().then(e=>{process.exitCode=e},e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[doom-runner] ${t}\n`),process.exitCode=1}),exports.main=i;
3
+ //# sourceMappingURL=doomRunner.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomRunner.cjs","names":["findRepositoryRoot","consumerPackageEntry","pathToFileURL"],"sources":["../../src/bin/doomRunner.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * CLI Entry Point for doom-runner\n *\n * The Runner package is selectable, so this compatibility executable resolves\n * it from the active repository instead of retaining it in DoomPi's dependency\n * closure. The Runner package's own entry only self-invokes when it is argv[1],\n * which it is not once this shim imports it by absolute path.\n */\n\nimport { pathToFileURL } from 'node:url';\nimport { consumerPackageEntry } from '../adapters/modules/moduleResolution.ts';\nimport { findRepositoryRoot } from '../adapters/repository/repository.ts';\n\nconst RUNNER_CLI_EXPORT = '@agimon-ai/doompi-runner/bin/cli';\n\ninterface RunnerCliModule {\n readonly main?: unknown;\n}\n\nexport async function main(argv: readonly string[] = process.argv.slice(2)): Promise<number> {\n let repoRoot: string;\n try {\n repoRoot = findRepositoryRoot(process.cwd());\n } catch (error) {\n throw new Error('doom-runner must be invoked inside a configured repository.', { cause: error });\n }\n const entry = consumerPackageEntry(RUNNER_CLI_EXPORT, repoRoot);\n if (!entry) {\n throw new Error(\n 'Doom Runner is not installed for this repository. Add @agimon-ai/doompi-runner to .doom/modes.yaml and run doompi sync.',\n );\n }\n const loaded = (await import(pathToFileURL(entry).href)) as RunnerCliModule;\n if (typeof loaded.main !== 'function') {\n throw new Error(`${RUNNER_CLI_EXPORT} does not export a callable main function.`);\n }\n return (loaded.main as (args: readonly string[]) => Promise<number>)(argv);\n}\n\nif (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {\n main().then(\n (exitCode) => {\n process.exitCode = exitCode;\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`[doom-runner] ${message}\\n`);\n process.exitCode = 1;\n },\n );\n}\n"],"mappings":";oNAeA,MAAM,EAAoB,mCAM1B,eAAsB,EAAK,EAA0B,QAAQ,KAAK,MAAM,CAAC,EAAoB,CAC3F,IAAI,EACJ,GAAI,CACF,EAAWA,EAAAA,mBAAmB,QAAQ,IAAI,CAAC,CAC7C,OAAS,EAAO,CACd,MAAU,MAAM,8DAA+D,CAAE,MAAO,CAAM,CAAC,CACjG,CACA,IAAM,EAAQC,EAAAA,qBAAqB,EAAmB,CAAQ,EAC9D,GAAI,CAAC,EACH,MAAU,MACR,yHACF,EAEF,IAAM,EAAU,MAAM,QAAA,EAAOC,EAAAA,cAAAA,CAAc,CAAK,CAAC,CAAC,MAClD,GAAI,OAAO,EAAO,MAAS,WACzB,MAAU,MAAM,GAAG,EAAkB,2CAA2C,EAElF,OAAQ,EAAO,KAAsD,CAAI,CAC3E,CAEI,QAAQ,KAAK,IAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,QAAA,EAA0BA,EAAAA,cAAAA,CAAc,QAAQ,KAAK,EAAE,CAAC,CAAC,MACxE,EAAK,CAAC,CAAC,KACJ,GAAa,CACZ,QAAQ,SAAW,CACrB,EACC,GAAmB,CAClB,IAAM,EAAU,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,EACrE,QAAQ,OAAO,MAAM,iBAAiB,EAAQ,GAAG,EACjD,QAAQ,SAAW,CACrB,CACF"}
@@ -0,0 +1,13 @@
1
+ //#region src/bin/doomRunner.d.ts
2
+ /**
3
+ * CLI Entry Point for doom-runner
4
+ *
5
+ * The Runner package is selectable, so this compatibility executable resolves
6
+ * it from the active repository instead of retaining it in DoomPi's dependency
7
+ * closure. The Runner package's own entry only self-invokes when it is argv[1],
8
+ * which it is not once this shim imports it by absolute path.
9
+ */
10
+ declare function main(argv?: readonly string[]): Promise<number>;
11
+ //#endregion
12
+ export { main };
13
+ //# sourceMappingURL=doomRunner.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomRunner.d.cts","names":[],"sources":["../../src/bin/doomRunner.ts"],"mappings":";;;;;;;;;iBAqBsB,KAAK,2BAAkD"}
@@ -0,0 +1,13 @@
1
+ //#region src/bin/doomRunner.d.ts
2
+ /**
3
+ * CLI Entry Point for doom-runner
4
+ *
5
+ * The Runner package is selectable, so this compatibility executable resolves
6
+ * it from the active repository instead of retaining it in DoomPi's dependency
7
+ * closure. The Runner package's own entry only self-invokes when it is argv[1],
8
+ * which it is not once this shim imports it by absolute path.
9
+ */
10
+ declare function main(argv?: readonly string[]): Promise<number>;
11
+ //#endregion
12
+ export { main };
13
+ //# sourceMappingURL=doomRunner.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomRunner.d.mts","names":[],"sources":["../../src/bin/doomRunner.ts"],"mappings":";;;;;;;;;iBAqBsB,KAAK,2BAAkD"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import{findRepositoryRoot as e}from"../src/adapters/repository/repository.mjs";import{consumerPackageEntry as t}from"../src/adapters/modules/moduleResolution.mjs";import{pathToFileURL as n}from"node:url";const r=`@agimon-ai/doompi-runner/bin/cli`;async function i(i=process.argv.slice(2)){let a;try{a=e(process.cwd())}catch(e){throw Error(`doom-runner must be invoked inside a configured repository.`,{cause:e})}let o=t(r,a);if(!o)throw Error(`Doom Runner is not installed for this repository. Add @agimon-ai/doompi-runner to .doom/modes.yaml and run doompi sync.`);let s=await import(n(o).href);if(typeof s.main!=`function`)throw Error(`${r} does not export a callable main function.`);return s.main(i)}process.argv[1]&&import.meta.url===n(process.argv[1]).href&&i().then(e=>{process.exitCode=e},e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[doom-runner] ${t}\n`),process.exitCode=1});export{i as main};
3
+ //# sourceMappingURL=doomRunner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomRunner.mjs","names":[],"sources":["../../src/bin/doomRunner.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * CLI Entry Point for doom-runner\n *\n * The Runner package is selectable, so this compatibility executable resolves\n * it from the active repository instead of retaining it in DoomPi's dependency\n * closure. The Runner package's own entry only self-invokes when it is argv[1],\n * which it is not once this shim imports it by absolute path.\n */\n\nimport { pathToFileURL } from 'node:url';\nimport { consumerPackageEntry } from '../adapters/modules/moduleResolution.ts';\nimport { findRepositoryRoot } from '../adapters/repository/repository.ts';\n\nconst RUNNER_CLI_EXPORT = '@agimon-ai/doompi-runner/bin/cli';\n\ninterface RunnerCliModule {\n readonly main?: unknown;\n}\n\nexport async function main(argv: readonly string[] = process.argv.slice(2)): Promise<number> {\n let repoRoot: string;\n try {\n repoRoot = findRepositoryRoot(process.cwd());\n } catch (error) {\n throw new Error('doom-runner must be invoked inside a configured repository.', { cause: error });\n }\n const entry = consumerPackageEntry(RUNNER_CLI_EXPORT, repoRoot);\n if (!entry) {\n throw new Error(\n 'Doom Runner is not installed for this repository. Add @agimon-ai/doompi-runner to .doom/modes.yaml and run doompi sync.',\n );\n }\n const loaded = (await import(pathToFileURL(entry).href)) as RunnerCliModule;\n if (typeof loaded.main !== 'function') {\n throw new Error(`${RUNNER_CLI_EXPORT} does not export a callable main function.`);\n }\n return (loaded.main as (args: readonly string[]) => Promise<number>)(argv);\n}\n\nif (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {\n main().then(\n (exitCode) => {\n process.exitCode = exitCode;\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`[doom-runner] ${message}\\n`);\n process.exitCode = 1;\n },\n );\n}\n"],"mappings":";4MAeA,MAAM,EAAoB,mCAM1B,eAAsB,EAAK,EAA0B,QAAQ,KAAK,MAAM,CAAC,EAAoB,CAC3F,IAAI,EACJ,GAAI,CACF,EAAW,EAAmB,QAAQ,IAAI,CAAC,CAC7C,OAAS,EAAO,CACd,MAAU,MAAM,8DAA+D,CAAE,MAAO,CAAM,CAAC,CACjG,CACA,IAAM,EAAQ,EAAqB,EAAmB,CAAQ,EAC9D,GAAI,CAAC,EACH,MAAU,MACR,yHACF,EAEF,IAAM,EAAU,MAAM,OAAO,EAAc,CAAK,CAAC,CAAC,MAClD,GAAI,OAAO,EAAO,MAAS,WACzB,MAAU,MAAM,GAAG,EAAkB,2CAA2C,EAElF,OAAQ,EAAO,KAAsD,CAAI,CAC3E,CAEI,QAAQ,KAAK,IAAM,YAAY,MAAQ,EAAc,QAAQ,KAAK,EAAE,CAAC,CAAC,MACxE,EAAK,CAAC,CAAC,KACJ,GAAa,CACZ,QAAQ,SAAW,CACrB,EACC,GAAmB,CAClB,IAAM,EAAU,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,EACrE,QAAQ,OAAO,MAAM,iBAAiB,EAAQ,GAAG,EACjD,QAAQ,SAAW,CACrB,CACF"}