@agimon-ai/doompi 0.0.1-alpha.2 → 0.0.1-alpha.21

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 (944) hide show
  1. package/README.md +437 -452
  2. package/assets/doompi-tui.png +0 -0
  3. package/dist/adapters/bootstrapClaim.cjs +2 -0
  4. package/dist/adapters/bootstrapClaim.cjs.map +1 -0
  5. package/dist/adapters/bootstrapClaim.mjs +2 -0
  6. package/dist/adapters/bootstrapClaim.mjs.map +1 -0
  7. package/dist/adapters/bootstrapLocator.cjs +2 -0
  8. package/dist/adapters/bootstrapLocator.cjs.map +1 -0
  9. package/dist/adapters/bootstrapLocator.d.cts +6 -0
  10. package/dist/adapters/bootstrapLocator.d.cts.map +1 -0
  11. package/dist/adapters/bootstrapLocator.d.mts +6 -0
  12. package/dist/adapters/bootstrapLocator.d.mts.map +1 -0
  13. package/dist/adapters/bootstrapLocator.mjs +2 -0
  14. package/dist/adapters/bootstrapLocator.mjs.map +1 -0
  15. package/dist/adapters/compatibility/antigravity.cjs +2 -0
  16. package/dist/{services → adapters}/compatibility/antigravity.cjs.map +1 -1
  17. package/dist/adapters/compatibility/antigravity.d.cts +11 -0
  18. package/dist/{services → adapters}/compatibility/antigravity.d.cts.map +1 -1
  19. package/dist/adapters/compatibility/antigravity.d.mts +11 -0
  20. package/dist/{services → adapters}/compatibility/antigravity.d.mts.map +1 -1
  21. package/dist/adapters/compatibility/antigravity.mjs +2 -0
  22. package/dist/{services → adapters}/compatibility/antigravity.mjs.map +1 -1
  23. package/dist/adapters/compatibility/codex.cjs +2 -0
  24. package/dist/{services → adapters}/compatibility/codex.cjs.map +1 -1
  25. package/dist/adapters/compatibility/codex.d.cts +19 -0
  26. package/dist/{services → adapters}/compatibility/codex.d.cts.map +1 -1
  27. package/dist/adapters/compatibility/codex.d.mts +19 -0
  28. package/dist/{services → adapters}/compatibility/codex.d.mts.map +1 -1
  29. package/dist/adapters/compatibility/codex.mjs +2 -0
  30. package/dist/{services → adapters}/compatibility/codex.mjs.map +1 -1
  31. package/dist/adapters/compatibility/index.cjs +2 -0
  32. package/dist/adapters/compatibility/index.cjs.map +1 -0
  33. package/dist/adapters/compatibility/index.d.cts +16 -0
  34. package/dist/{services → adapters}/compatibility/index.d.cts.map +1 -1
  35. package/dist/adapters/compatibility/index.d.mts +16 -0
  36. package/dist/{services → adapters}/compatibility/index.d.mts.map +1 -1
  37. package/dist/adapters/compatibility/index.mjs +2 -0
  38. package/dist/adapters/compatibility/index.mjs.map +1 -0
  39. package/dist/adapters/compatibility/process.cjs +2 -0
  40. package/dist/{services → adapters}/compatibility/process.cjs.map +1 -1
  41. package/dist/adapters/compatibility/process.d.cts +35 -0
  42. package/dist/{services → adapters}/compatibility/process.d.cts.map +1 -1
  43. package/dist/adapters/compatibility/process.d.mts +35 -0
  44. package/dist/{services → adapters}/compatibility/process.d.mts.map +1 -1
  45. package/dist/adapters/compatibility/process.mjs +2 -0
  46. package/dist/{services → adapters}/compatibility/process.mjs.map +1 -1
  47. package/dist/adapters/compatibility/shared.cjs +2 -0
  48. package/dist/{services → adapters}/compatibility/shared.cjs.map +1 -1
  49. package/dist/adapters/compatibility/shared.d.cts +33 -0
  50. package/dist/{services → adapters}/compatibility/shared.d.cts.map +1 -1
  51. package/dist/adapters/compatibility/shared.d.mts +33 -0
  52. package/dist/{services → adapters}/compatibility/shared.d.mts.map +1 -1
  53. package/dist/adapters/compatibility/shared.mjs +2 -0
  54. package/dist/{services → adapters}/compatibility/shared.mjs.map +1 -1
  55. package/dist/adapters/compatibilityContext.cjs +2 -0
  56. package/dist/adapters/compatibilityContext.cjs.map +1 -0
  57. package/dist/adapters/compatibilityContext.d.cts +23 -0
  58. package/dist/{services → adapters}/compatibilityContext.d.cts.map +1 -1
  59. package/dist/adapters/compatibilityContext.d.mts +23 -0
  60. package/dist/{services → adapters}/compatibilityContext.d.mts.map +1 -1
  61. package/dist/adapters/compatibilityContext.mjs +2 -0
  62. package/dist/adapters/compatibilityContext.mjs.map +1 -0
  63. package/dist/adapters/composer.cjs +2 -0
  64. package/dist/adapters/composer.cjs.map +1 -0
  65. package/dist/adapters/composer.d.cts +113 -0
  66. package/dist/adapters/composer.d.cts.map +1 -0
  67. package/dist/adapters/composer.d.mts +113 -0
  68. package/dist/adapters/composer.d.mts.map +1 -0
  69. package/dist/adapters/composer.mjs +2 -0
  70. package/dist/adapters/composer.mjs.map +1 -0
  71. package/dist/adapters/compositionState.cjs +2 -0
  72. package/dist/adapters/compositionState.cjs.map +1 -0
  73. package/dist/adapters/compositionState.d.cts +12 -0
  74. package/dist/adapters/compositionState.d.cts.map +1 -0
  75. package/dist/adapters/compositionState.d.mts +12 -0
  76. package/dist/adapters/compositionState.d.mts.map +1 -0
  77. package/dist/adapters/compositionState.mjs +2 -0
  78. package/dist/adapters/compositionState.mjs.map +1 -0
  79. package/dist/adapters/config/harnessState.cjs +2 -0
  80. package/dist/adapters/config/harnessState.cjs.map +1 -0
  81. package/dist/adapters/config/harnessState.d.cts +26 -0
  82. package/dist/adapters/config/harnessState.d.cts.map +1 -0
  83. package/dist/adapters/config/harnessState.d.mts +26 -0
  84. package/dist/adapters/config/harnessState.d.mts.map +1 -0
  85. package/dist/adapters/config/harnessState.mjs +2 -0
  86. package/dist/adapters/config/harnessState.mjs.map +1 -0
  87. package/dist/adapters/deferredSkills.cjs +12 -0
  88. package/dist/adapters/deferredSkills.cjs.map +1 -0
  89. package/dist/adapters/deferredSkills.mjs +12 -0
  90. package/dist/adapters/deferredSkills.mjs.map +1 -0
  91. package/dist/adapters/doomPackage.cjs +2 -0
  92. package/dist/adapters/doomPackage.cjs.map +1 -0
  93. package/dist/adapters/doomPackage.mjs +2 -0
  94. package/dist/adapters/doomPackage.mjs.map +1 -0
  95. package/dist/adapters/dpiRunner.cjs +3 -0
  96. package/dist/adapters/dpiRunner.cjs.map +1 -0
  97. package/dist/adapters/dpiRunner.mjs +3 -0
  98. package/dist/adapters/dpiRunner.mjs.map +1 -0
  99. package/dist/adapters/dpiSettings.cjs +2 -0
  100. package/dist/adapters/dpiSettings.cjs.map +1 -0
  101. package/dist/adapters/dpiSettings.mjs +2 -0
  102. package/dist/adapters/dpiSettings.mjs.map +1 -0
  103. package/dist/adapters/extensionCompiler.cjs +3 -0
  104. package/dist/adapters/extensionCompiler.cjs.map +1 -0
  105. package/dist/adapters/extensionCompiler.mjs +3 -0
  106. package/dist/adapters/extensionCompiler.mjs.map +1 -0
  107. package/dist/adapters/harnessContext.cjs +2 -0
  108. package/dist/adapters/harnessContext.cjs.map +1 -0
  109. package/dist/adapters/harnessContext.d.cts +61 -0
  110. package/dist/{services → adapters}/harnessContext.d.cts.map +1 -1
  111. package/dist/adapters/harnessContext.d.mts +61 -0
  112. package/dist/{services → adapters}/harnessContext.d.mts.map +1 -1
  113. package/dist/adapters/harnessContext.mjs +2 -0
  114. package/dist/adapters/harnessContext.mjs.map +1 -0
  115. package/dist/adapters/helpSkills.cjs +2 -0
  116. package/dist/adapters/helpSkills.cjs.map +1 -0
  117. package/dist/adapters/helpSkills.mjs +2 -0
  118. package/dist/adapters/helpSkills.mjs.map +1 -0
  119. package/dist/adapters/layerPackageInstaller.cjs +2 -0
  120. package/dist/adapters/layerPackageInstaller.cjs.map +1 -0
  121. package/dist/adapters/layerPackageInstaller.mjs +2 -0
  122. package/dist/adapters/layerPackageInstaller.mjs.map +1 -0
  123. package/dist/adapters/matrixSwitcher.cjs +2 -0
  124. package/dist/adapters/matrixSwitcher.cjs.map +1 -0
  125. package/dist/adapters/matrixSwitcher.d.cts +46 -0
  126. package/dist/{services → adapters}/matrixSwitcher.d.cts.map +1 -1
  127. package/dist/adapters/matrixSwitcher.d.mts +46 -0
  128. package/dist/{services → adapters}/matrixSwitcher.d.mts.map +1 -1
  129. package/dist/adapters/matrixSwitcher.mjs +2 -0
  130. package/dist/adapters/matrixSwitcher.mjs.map +1 -0
  131. package/dist/adapters/mcpFilter.cjs +3 -0
  132. package/dist/adapters/mcpFilter.cjs.map +1 -0
  133. package/dist/adapters/mcpFilter.d.cts +40 -0
  134. package/dist/adapters/mcpFilter.d.cts.map +1 -0
  135. package/dist/adapters/mcpFilter.d.mts +40 -0
  136. package/dist/adapters/mcpFilter.d.mts.map +1 -0
  137. package/dist/adapters/mcpFilter.mjs +3 -0
  138. package/dist/adapters/mcpFilter.mjs.map +1 -0
  139. package/dist/adapters/modules/moduleResolution.cjs +2 -0
  140. package/dist/adapters/modules/moduleResolution.cjs.map +1 -0
  141. package/dist/adapters/modules/moduleResolution.d.cts +69 -0
  142. package/dist/adapters/modules/moduleResolution.d.cts.map +1 -0
  143. package/dist/adapters/modules/moduleResolution.d.mts +69 -0
  144. package/dist/adapters/modules/moduleResolution.d.mts.map +1 -0
  145. package/dist/adapters/modules/moduleResolution.mjs +2 -0
  146. package/dist/adapters/modules/moduleResolution.mjs.map +1 -0
  147. package/dist/adapters/packageBootstrap.cjs +2 -0
  148. package/dist/adapters/packageBootstrap.cjs.map +1 -0
  149. package/dist/adapters/packageBootstrap.d.cts +8 -0
  150. package/dist/adapters/packageBootstrap.d.cts.map +1 -0
  151. package/dist/adapters/packageBootstrap.d.mts +8 -0
  152. package/dist/adapters/packageBootstrap.d.mts.map +1 -0
  153. package/dist/adapters/packageBootstrap.mjs +2 -0
  154. package/dist/adapters/packageBootstrap.mjs.map +1 -0
  155. package/dist/adapters/piExtensionAlias.cjs +2 -0
  156. package/dist/adapters/piExtensionAlias.cjs.map +1 -0
  157. package/dist/adapters/piExtensionAlias.mjs +2 -0
  158. package/dist/adapters/piExtensionAlias.mjs.map +1 -0
  159. package/dist/adapters/piSettings.cjs +2 -0
  160. package/dist/adapters/piSettings.cjs.map +1 -0
  161. package/dist/adapters/piSettings.d.cts +25 -0
  162. package/dist/adapters/piSettings.d.cts.map +1 -0
  163. package/dist/adapters/piSettings.d.mts +25 -0
  164. package/dist/adapters/piSettings.d.mts.map +1 -0
  165. package/dist/adapters/piSettings.mjs +2 -0
  166. package/dist/adapters/piSettings.mjs.map +1 -0
  167. package/dist/adapters/pluginMaterializer.cjs +2 -0
  168. package/dist/adapters/pluginMaterializer.cjs.map +1 -0
  169. package/dist/adapters/pluginMaterializer.mjs +2 -0
  170. package/dist/adapters/pluginMaterializer.mjs.map +1 -0
  171. package/dist/adapters/projectPiSettings.cjs +2 -0
  172. package/dist/adapters/projectPiSettings.cjs.map +1 -0
  173. package/dist/adapters/projectPiSettings.d.cts +29 -0
  174. package/dist/adapters/projectPiSettings.d.cts.map +1 -0
  175. package/dist/adapters/projectPiSettings.d.mts +29 -0
  176. package/dist/adapters/projectPiSettings.d.mts.map +1 -0
  177. package/dist/adapters/projectPiSettings.mjs +2 -0
  178. package/dist/adapters/projectPiSettings.mjs.map +1 -0
  179. package/dist/adapters/repository/repository.cjs +2 -0
  180. package/dist/adapters/repository/repository.cjs.map +1 -0
  181. package/dist/adapters/repository/repository.d.cts +21 -0
  182. package/dist/adapters/repository/repository.d.cts.map +1 -0
  183. package/dist/adapters/repository/repository.d.mts +21 -0
  184. package/dist/adapters/repository/repository.d.mts.map +1 -0
  185. package/dist/adapters/repository/repository.mjs +2 -0
  186. package/dist/adapters/repository/repository.mjs.map +1 -0
  187. package/dist/adapters/resourceCollector.cjs +3 -0
  188. package/dist/adapters/resourceCollector.cjs.map +1 -0
  189. package/dist/adapters/resourceCollector.d.cts +25 -0
  190. package/dist/adapters/resourceCollector.d.cts.map +1 -0
  191. package/dist/adapters/resourceCollector.d.mts +25 -0
  192. package/dist/adapters/resourceCollector.d.mts.map +1 -0
  193. package/dist/adapters/resourceCollector.mjs +3 -0
  194. package/dist/adapters/resourceCollector.mjs.map +1 -0
  195. package/dist/adapters/runtimeBundle.cjs +2 -0
  196. package/dist/adapters/runtimeBundle.cjs.map +1 -0
  197. package/dist/{services → adapters}/runtimeBundle.d.cts +4 -2
  198. package/dist/adapters/runtimeBundle.d.cts.map +1 -0
  199. package/dist/{services → adapters}/runtimeBundle.d.mts +4 -2
  200. package/dist/adapters/runtimeBundle.d.mts.map +1 -0
  201. package/dist/adapters/runtimeBundle.mjs +2 -0
  202. package/dist/adapters/runtimeBundle.mjs.map +1 -0
  203. package/dist/adapters/serialization/json.cjs +2 -0
  204. package/dist/adapters/serialization/json.cjs.map +1 -0
  205. package/dist/adapters/serialization/json.d.cts +23 -0
  206. package/dist/adapters/serialization/json.d.cts.map +1 -0
  207. package/dist/adapters/serialization/json.d.mts +23 -0
  208. package/dist/adapters/serialization/json.d.mts.map +1 -0
  209. package/dist/adapters/serialization/json.mjs +2 -0
  210. package/dist/adapters/serialization/json.mjs.map +1 -0
  211. package/dist/adapters/sharedBuildCache.cjs +2 -0
  212. package/dist/adapters/sharedBuildCache.cjs.map +1 -0
  213. package/dist/adapters/sharedBuildCache.mjs +2 -0
  214. package/dist/adapters/sharedBuildCache.mjs.map +1 -0
  215. package/dist/adapters/skillCatalog.cjs +2 -0
  216. package/dist/adapters/skillCatalog.cjs.map +1 -0
  217. package/dist/adapters/skillCatalog.d.cts +61 -0
  218. package/dist/adapters/skillCatalog.d.cts.map +1 -0
  219. package/dist/adapters/skillCatalog.d.mts +61 -0
  220. package/dist/adapters/skillCatalog.d.mts.map +1 -0
  221. package/dist/adapters/skillCatalog.mjs +2 -0
  222. package/dist/adapters/skillCatalog.mjs.map +1 -0
  223. package/dist/adapters/skillSources.cjs +2 -0
  224. package/dist/{services → adapters}/skillSources.cjs.map +1 -1
  225. package/dist/adapters/skillSources.d.cts +24 -0
  226. package/dist/{services → adapters}/skillSources.d.cts.map +1 -1
  227. package/dist/adapters/skillSources.d.mts +24 -0
  228. package/dist/{services → adapters}/skillSources.d.mts.map +1 -1
  229. package/dist/adapters/skillSources.mjs +2 -0
  230. package/dist/{services → adapters}/skillSources.mjs.map +1 -1
  231. package/dist/adapters/startupPrecompiler.cjs +2 -0
  232. package/dist/adapters/startupPrecompiler.cjs.map +1 -0
  233. package/dist/adapters/startupPrecompiler.d.cts +13 -0
  234. package/dist/adapters/startupPrecompiler.d.cts.map +1 -0
  235. package/dist/adapters/startupPrecompiler.d.mts +13 -0
  236. package/dist/adapters/startupPrecompiler.d.mts.map +1 -0
  237. package/dist/adapters/startupPrecompiler.mjs +2 -0
  238. package/dist/adapters/startupPrecompiler.mjs.map +1 -0
  239. package/dist/adapters/syncLocation.cjs +2 -0
  240. package/dist/adapters/syncLocation.cjs.map +1 -0
  241. package/dist/adapters/syncLocation.d.cts +19 -0
  242. package/dist/adapters/syncLocation.d.cts.map +1 -0
  243. package/dist/adapters/syncLocation.d.mts +19 -0
  244. package/dist/adapters/syncLocation.d.mts.map +1 -0
  245. package/dist/adapters/syncLocation.mjs +2 -0
  246. package/dist/adapters/syncLocation.mjs.map +1 -0
  247. package/dist/adapters/syncState.cjs +2 -0
  248. package/dist/adapters/syncState.cjs.map +1 -0
  249. package/dist/adapters/syncState.d.cts +153 -0
  250. package/dist/adapters/syncState.d.cts.map +1 -0
  251. package/dist/adapters/syncState.d.mts +153 -0
  252. package/dist/adapters/syncState.d.mts.map +1 -0
  253. package/dist/adapters/syncState.mjs +2 -0
  254. package/dist/adapters/syncState.mjs.map +1 -0
  255. package/dist/adapters/syncStateContract.cjs +2 -0
  256. package/dist/adapters/syncStateContract.cjs.map +1 -0
  257. package/dist/adapters/syncStateContract.d.cts +13 -0
  258. package/dist/adapters/syncStateContract.d.cts.map +1 -0
  259. package/dist/adapters/syncStateContract.d.mts +13 -0
  260. package/dist/adapters/syncStateContract.d.mts.map +1 -0
  261. package/dist/adapters/syncStateContract.mjs +2 -0
  262. package/dist/adapters/syncStateContract.mjs.map +1 -0
  263. package/dist/adapters/syncedRuntimeBuilder.cjs +2 -0
  264. package/dist/adapters/syncedRuntimeBuilder.cjs.map +1 -0
  265. package/dist/adapters/syncedRuntimeBuilder.d.cts +11 -0
  266. package/dist/adapters/syncedRuntimeBuilder.d.cts.map +1 -0
  267. package/dist/adapters/syncedRuntimeBuilder.d.mts +11 -0
  268. package/dist/adapters/syncedRuntimeBuilder.d.mts.map +1 -0
  269. package/dist/adapters/syncedRuntimeBuilder.mjs +2 -0
  270. package/dist/adapters/syncedRuntimeBuilder.mjs.map +1 -0
  271. package/dist/adapters/telemetry/logSinkTelemetry.cjs +2 -0
  272. package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +1 -0
  273. package/dist/adapters/telemetry/logSinkTelemetry.d.cts +51 -0
  274. package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +1 -0
  275. package/dist/adapters/telemetry/logSinkTelemetry.d.mts +51 -0
  276. package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +1 -0
  277. package/dist/adapters/telemetry/logSinkTelemetry.mjs +2 -0
  278. package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +1 -0
  279. package/dist/bin/cli.cjs +1 -1
  280. package/dist/bin/cli.cjs.map +1 -1
  281. package/dist/bin/cli.mjs +1 -1
  282. package/dist/bin/cli.mjs.map +1 -1
  283. package/dist/bin/dpi.cjs +3 -0
  284. package/dist/bin/dpi.cjs.map +1 -0
  285. package/dist/bin/dpi.d.cts +1 -0
  286. package/dist/bin/dpi.d.mts +1 -0
  287. package/dist/bin/dpi.mjs +3 -0
  288. package/dist/bin/dpi.mjs.map +1 -0
  289. package/dist/cli/cliApp.cjs +1 -2
  290. package/dist/cli/cliApp.d.cts +2 -45
  291. package/dist/cli/cliApp.d.mts +2 -45
  292. package/dist/cli/cliApp.mjs +1 -2
  293. package/dist/cli/compatibilityOptions.cjs +1 -2
  294. package/dist/cli/compatibilityOptions.d.cts +2 -15
  295. package/dist/cli/compatibilityOptions.d.mts +2 -15
  296. package/dist/cli/compatibilityOptions.mjs +1 -2
  297. package/dist/cli/help.cjs +1 -63
  298. package/dist/cli/help.d.cts +2 -6
  299. package/dist/cli/help.d.mts +2 -6
  300. package/dist/cli/help.mjs +1 -63
  301. package/dist/cli/index.cjs +1 -1
  302. package/dist/cli/index.d.cts +4 -4
  303. package/dist/cli/index.d.mts +4 -4
  304. package/dist/cli/index.mjs +1 -1
  305. package/dist/cli/matrixOptions.cjs +1 -2
  306. package/dist/cli/matrixOptions.d.cts +2 -99
  307. package/dist/cli/matrixOptions.d.mts +2 -99
  308. package/dist/cli/matrixOptions.mjs +1 -2
  309. package/dist/cli/options.cjs +1 -2
  310. package/dist/cli/options.d.cts +2 -7
  311. package/dist/cli/options.d.mts +2 -7
  312. package/dist/cli/options.mjs +1 -2
  313. package/dist/commands/baseCommand.cjs.map +1 -1
  314. package/dist/commands/baseCommand.d.cts +3 -3
  315. package/dist/commands/baseCommand.d.mts +3 -3
  316. package/dist/commands/baseCommand.mjs.map +1 -1
  317. package/dist/commands/buildCommand.cjs +2 -2
  318. package/dist/commands/buildCommand.cjs.map +1 -1
  319. package/dist/commands/buildCommand.mjs +2 -2
  320. package/dist/commands/buildCommand.mjs.map +1 -1
  321. package/dist/commands/cli/cliApp.cjs +2 -0
  322. package/dist/commands/cli/cliApp.cjs.map +1 -0
  323. package/dist/commands/cli/cliApp.d.cts +45 -0
  324. package/dist/commands/cli/cliApp.d.cts.map +1 -0
  325. package/dist/commands/cli/cliApp.d.mts +45 -0
  326. package/dist/commands/cli/cliApp.d.mts.map +1 -0
  327. package/dist/commands/cli/cliApp.mjs +2 -0
  328. package/dist/commands/cli/cliApp.mjs.map +1 -0
  329. package/dist/commands/cli/compatibilityOptions.cjs +2 -0
  330. package/dist/commands/cli/compatibilityOptions.cjs.map +1 -0
  331. package/dist/commands/cli/compatibilityOptions.d.cts +15 -0
  332. package/dist/commands/cli/compatibilityOptions.d.cts.map +1 -0
  333. package/dist/commands/cli/compatibilityOptions.d.mts +15 -0
  334. package/dist/commands/cli/compatibilityOptions.d.mts.map +1 -0
  335. package/dist/commands/cli/compatibilityOptions.mjs +2 -0
  336. package/dist/commands/cli/compatibilityOptions.mjs.map +1 -0
  337. package/dist/commands/cli/help.cjs +68 -0
  338. package/dist/{cli → commands/cli}/help.cjs.map +1 -1
  339. package/dist/commands/cli/help.d.cts +6 -0
  340. package/dist/commands/cli/help.d.cts.map +1 -0
  341. package/dist/commands/cli/help.d.mts +6 -0
  342. package/dist/commands/cli/help.d.mts.map +1 -0
  343. package/dist/commands/cli/help.mjs +68 -0
  344. package/dist/{cli → commands/cli}/help.mjs.map +1 -1
  345. package/dist/commands/cli/index.cjs +1 -0
  346. package/dist/commands/cli/index.d.cts +4 -0
  347. package/dist/commands/cli/index.d.mts +4 -0
  348. package/dist/commands/cli/index.mjs +1 -0
  349. package/dist/commands/cli/matrixOptions.cjs +2 -0
  350. package/dist/commands/cli/matrixOptions.cjs.map +1 -0
  351. package/dist/commands/cli/matrixOptions.d.cts +99 -0
  352. package/dist/commands/cli/matrixOptions.d.cts.map +1 -0
  353. package/dist/commands/cli/matrixOptions.d.mts +99 -0
  354. package/dist/commands/cli/matrixOptions.d.mts.map +1 -0
  355. package/dist/commands/cli/matrixOptions.mjs +2 -0
  356. package/dist/commands/cli/matrixOptions.mjs.map +1 -0
  357. package/dist/commands/cli/options.cjs +2 -0
  358. package/dist/commands/cli/options.cjs.map +1 -0
  359. package/dist/commands/cli/options.d.cts +7 -0
  360. package/dist/commands/cli/options.d.cts.map +1 -0
  361. package/dist/commands/cli/options.d.mts +7 -0
  362. package/dist/commands/cli/options.d.mts.map +1 -0
  363. package/dist/commands/cli/options.mjs +2 -0
  364. package/dist/commands/cli/options.mjs.map +1 -0
  365. package/dist/commands/compatibilityCommand.cjs +1 -1
  366. package/dist/commands/compatibilityCommand.cjs.map +1 -1
  367. package/dist/commands/compatibilityCommand.d.cts +1 -1
  368. package/dist/commands/compatibilityCommand.d.cts.map +1 -1
  369. package/dist/commands/compatibilityCommand.d.mts +1 -1
  370. package/dist/commands/compatibilityCommand.d.mts.map +1 -1
  371. package/dist/commands/compatibilityCommand.mjs +1 -1
  372. package/dist/commands/compatibilityCommand.mjs.map +1 -1
  373. package/dist/commands/emitMcpCommand.cjs +1 -1
  374. package/dist/commands/emitMcpCommand.cjs.map +1 -1
  375. package/dist/commands/emitMcpCommand.d.cts +2 -2
  376. package/dist/commands/emitMcpCommand.d.mts +2 -2
  377. package/dist/commands/emitMcpCommand.mjs +1 -1
  378. package/dist/commands/emitMcpCommand.mjs.map +1 -1
  379. package/dist/commands/explainCommand.cjs +2 -2
  380. package/dist/commands/explainCommand.cjs.map +1 -1
  381. package/dist/commands/explainCommand.d.cts +2 -2
  382. package/dist/commands/explainCommand.d.mts +2 -2
  383. package/dist/commands/explainCommand.mjs +2 -2
  384. package/dist/commands/explainCommand.mjs.map +1 -1
  385. package/dist/commands/index.cjs +1 -1
  386. package/dist/commands/index.d.cts +2 -3
  387. package/dist/commands/index.d.mts +2 -3
  388. package/dist/commands/index.mjs +1 -1
  389. package/dist/commands/initCommand.cjs +1 -2
  390. package/dist/commands/initCommand.cjs.map +1 -1
  391. package/dist/commands/initCommand.d.cts +4 -3
  392. package/dist/commands/initCommand.d.cts.map +1 -1
  393. package/dist/commands/initCommand.d.mts +4 -3
  394. package/dist/commands/initCommand.d.mts.map +1 -1
  395. package/dist/commands/initCommand.mjs +1 -2
  396. package/dist/commands/initCommand.mjs.map +1 -1
  397. package/dist/commands/initPresenter.cjs +3 -0
  398. package/dist/commands/initPresenter.cjs.map +1 -0
  399. package/dist/commands/initPresenter.d.cts +8 -0
  400. package/dist/commands/initPresenter.d.cts.map +1 -0
  401. package/dist/commands/initPresenter.d.mts +8 -0
  402. package/dist/commands/initPresenter.d.mts.map +1 -0
  403. package/dist/commands/initPresenter.mjs +3 -0
  404. package/dist/commands/initPresenter.mjs.map +1 -0
  405. package/dist/commands/launchCommand.cjs +1 -1
  406. package/dist/commands/launchCommand.cjs.map +1 -1
  407. package/dist/commands/launchCommand.d.cts +6 -4
  408. package/dist/commands/launchCommand.d.cts.map +1 -1
  409. package/dist/commands/launchCommand.d.mts +6 -4
  410. package/dist/commands/launchCommand.d.mts.map +1 -1
  411. package/dist/commands/launchCommand.mjs +1 -1
  412. package/dist/commands/launchCommand.mjs.map +1 -1
  413. package/dist/commands/syncCommand.cjs +5 -5
  414. package/dist/commands/syncCommand.cjs.map +1 -1
  415. package/dist/commands/syncCommand.d.cts +19 -7
  416. package/dist/commands/syncCommand.d.cts.map +1 -1
  417. package/dist/commands/syncCommand.d.mts +19 -7
  418. package/dist/commands/syncCommand.d.mts.map +1 -1
  419. package/dist/commands/syncCommand.mjs +5 -5
  420. package/dist/commands/syncCommand.mjs.map +1 -1
  421. package/dist/commands/syncPipeline.cjs +2 -0
  422. package/dist/commands/syncPipeline.cjs.map +1 -0
  423. package/dist/commands/syncPipeline.mjs +2 -0
  424. package/dist/commands/syncPipeline.mjs.map +1 -0
  425. package/dist/config/harnessState.cjs +1 -2
  426. package/dist/config/harnessState.d.cts +2 -24
  427. package/dist/config/harnessState.d.mts +2 -24
  428. package/dist/config/harnessState.mjs +1 -2
  429. package/dist/config/index.cjs +1 -1
  430. package/dist/config/index.d.cts +4 -7
  431. package/dist/config/index.d.mts +4 -7
  432. package/dist/config/index.mjs +1 -1
  433. package/dist/config/projectTrust.cjs +1 -2
  434. package/dist/config/projectTrust.d.cts +2 -14
  435. package/dist/config/projectTrust.d.mts +2 -14
  436. package/dist/config/projectTrust.mjs +1 -2
  437. package/dist/entries/autoStop.cjs +1 -2
  438. package/dist/entries/autoStop.d.cts +2 -6
  439. package/dist/entries/autoStop.d.mts +2 -7
  440. package/dist/entries/autoStop.mjs +1 -2
  441. package/dist/entries/components/matrixPicker.cjs +1 -2
  442. package/dist/entries/components/matrixPicker.d.cts +2 -55
  443. package/dist/entries/components/matrixPicker.d.mts +2 -55
  444. package/dist/entries/components/matrixPicker.mjs +1 -2
  445. package/dist/entries/components/skillsOverlay.cjs +1 -4
  446. package/dist/entries/components/skillsOverlay.d.cts +2 -58
  447. package/dist/entries/components/skillsOverlay.d.mts +2 -58
  448. package/dist/entries/components/skillsOverlay.mjs +1 -4
  449. package/dist/entries/domains.cjs +1 -2
  450. package/dist/entries/domains.d.cts +2 -10
  451. package/dist/entries/domains.d.mts +2 -10
  452. package/dist/entries/domains.mjs +1 -2
  453. package/dist/entries/doom.cjs +1 -2
  454. package/dist/entries/doom.d.cts +2 -13
  455. package/dist/entries/doom.d.mts +2 -14
  456. package/dist/entries/doom.mjs +1 -2
  457. package/dist/entries/effort.cjs +1 -2
  458. package/dist/entries/effort.d.cts +2 -10
  459. package/dist/entries/effort.d.mts +2 -10
  460. package/dist/entries/effort.mjs +1 -2
  461. package/dist/entries/majorMode.cjs +1 -6
  462. package/dist/entries/majorMode.d.cts +2 -29
  463. package/dist/entries/majorMode.d.mts +2 -29
  464. package/dist/entries/majorMode.mjs +1 -6
  465. package/dist/entries/modeCatalog.cjs +1 -0
  466. package/dist/entries/modeCatalog.d.cts +2 -0
  467. package/dist/entries/modeCatalog.d.mts +2 -0
  468. package/dist/entries/modeCatalog.mjs +1 -0
  469. package/dist/entries/notifications.cjs +1 -2
  470. package/dist/entries/notifications.d.cts +2 -13
  471. package/dist/entries/notifications.d.mts +2 -13
  472. package/dist/entries/notifications.mjs +1 -2
  473. package/dist/entries/ollamaProvider.cjs +1 -2
  474. package/dist/entries/ollamaProvider.d.cts +2 -6
  475. package/dist/entries/ollamaProvider.d.mts +2 -7
  476. package/dist/entries/ollamaProvider.mjs +1 -2
  477. package/dist/entries/persona.cjs +1 -2
  478. package/dist/entries/persona.d.cts +2 -14
  479. package/dist/entries/persona.d.mts +2 -15
  480. package/dist/entries/persona.mjs +1 -2
  481. package/dist/entries/profile.cjs +1 -3
  482. package/dist/entries/profile.d.cts +2 -16
  483. package/dist/entries/profile.d.mts +2 -16
  484. package/dist/entries/profile.mjs +1 -3
  485. package/dist/entries/repositoryHooks.cjs +1 -9
  486. package/dist/entries/repositoryHooks.d.cts +2 -7
  487. package/dist/entries/repositoryHooks.d.mts +2 -8
  488. package/dist/entries/repositoryHooks.mjs +1 -9
  489. package/dist/entries/skills.cjs +1 -2
  490. package/dist/entries/skills.d.cts +2 -34
  491. package/dist/entries/skills.d.mts +2 -34
  492. package/dist/entries/skills.mjs +1 -2
  493. package/dist/entries/styleSystem.cjs +1 -4
  494. package/dist/entries/styleSystem.d.cts +2 -32
  495. package/dist/entries/styleSystem.d.mts +2 -32
  496. package/dist/entries/styleSystem.mjs +1 -4
  497. package/dist/extensions/entries/autoStop.cjs +2 -0
  498. package/dist/extensions/entries/autoStop.cjs.map +1 -0
  499. package/dist/extensions/entries/autoStop.d.cts +7 -0
  500. package/dist/extensions/entries/autoStop.d.cts.map +1 -0
  501. package/dist/extensions/entries/autoStop.d.mts +7 -0
  502. package/dist/extensions/entries/autoStop.d.mts.map +1 -0
  503. package/dist/extensions/entries/autoStop.mjs +2 -0
  504. package/dist/extensions/entries/autoStop.mjs.map +1 -0
  505. package/dist/extensions/entries/cacheOptimizer.mjs +2 -0
  506. package/dist/extensions/entries/cacheOptimizer.mjs.map +1 -0
  507. package/dist/extensions/entries/components/matrixPicker.cjs +2 -0
  508. package/dist/extensions/entries/components/matrixPicker.cjs.map +1 -0
  509. package/dist/extensions/entries/components/matrixPicker.d.cts +55 -0
  510. package/dist/extensions/entries/components/matrixPicker.d.cts.map +1 -0
  511. package/dist/extensions/entries/components/matrixPicker.d.mts +55 -0
  512. package/dist/extensions/entries/components/matrixPicker.d.mts.map +1 -0
  513. package/dist/extensions/entries/components/matrixPicker.mjs +2 -0
  514. package/dist/extensions/entries/components/matrixPicker.mjs.map +1 -0
  515. package/dist/extensions/entries/components/skillsOverlay.cjs +4 -0
  516. package/dist/extensions/entries/components/skillsOverlay.cjs.map +1 -0
  517. package/dist/extensions/entries/components/skillsOverlay.d.cts +58 -0
  518. package/dist/extensions/entries/components/skillsOverlay.d.cts.map +1 -0
  519. package/dist/extensions/entries/components/skillsOverlay.d.mts +58 -0
  520. package/dist/extensions/entries/components/skillsOverlay.d.mts.map +1 -0
  521. package/dist/extensions/entries/components/skillsOverlay.mjs +4 -0
  522. package/dist/extensions/entries/components/skillsOverlay.mjs.map +1 -0
  523. package/dist/extensions/entries/domains.cjs +2 -0
  524. package/dist/extensions/entries/domains.cjs.map +1 -0
  525. package/dist/extensions/entries/domains.d.cts +18 -0
  526. package/dist/extensions/entries/domains.d.cts.map +1 -0
  527. package/dist/extensions/entries/domains.d.mts +18 -0
  528. package/dist/extensions/entries/domains.d.mts.map +1 -0
  529. package/dist/extensions/entries/domains.mjs +2 -0
  530. package/dist/extensions/entries/domains.mjs.map +1 -0
  531. package/dist/extensions/entries/doom.cjs +2 -0
  532. package/dist/extensions/entries/doom.cjs.map +1 -0
  533. package/dist/extensions/entries/doom.d.cts +14 -0
  534. package/dist/extensions/entries/doom.d.cts.map +1 -0
  535. package/dist/extensions/entries/doom.d.mts +14 -0
  536. package/dist/extensions/entries/doom.d.mts.map +1 -0
  537. package/dist/extensions/entries/doom.mjs +2 -0
  538. package/dist/extensions/entries/doom.mjs.map +1 -0
  539. package/dist/extensions/entries/effort.cjs +2 -0
  540. package/dist/extensions/entries/effort.cjs.map +1 -0
  541. package/dist/extensions/entries/effort.d.cts +10 -0
  542. package/dist/extensions/entries/effort.d.cts.map +1 -0
  543. package/dist/extensions/entries/effort.d.mts +10 -0
  544. package/dist/extensions/entries/effort.d.mts.map +1 -0
  545. package/dist/extensions/entries/effort.mjs +2 -0
  546. package/dist/extensions/entries/effort.mjs.map +1 -0
  547. package/dist/extensions/entries/majorMode.cjs +6 -0
  548. package/dist/extensions/entries/majorMode.cjs.map +1 -0
  549. package/dist/extensions/entries/majorMode.d.cts +27 -0
  550. package/dist/extensions/entries/majorMode.d.cts.map +1 -0
  551. package/dist/extensions/entries/majorMode.d.mts +27 -0
  552. package/dist/extensions/entries/majorMode.d.mts.map +1 -0
  553. package/dist/extensions/entries/majorMode.mjs +6 -0
  554. package/dist/extensions/entries/majorMode.mjs.map +1 -0
  555. package/dist/extensions/entries/modeCatalog.cjs +2 -0
  556. package/dist/extensions/entries/modeCatalog.cjs.map +1 -0
  557. package/dist/extensions/entries/modeCatalog.d.cts +7 -0
  558. package/dist/extensions/entries/modeCatalog.d.cts.map +1 -0
  559. package/dist/extensions/entries/modeCatalog.d.mts +7 -0
  560. package/dist/extensions/entries/modeCatalog.d.mts.map +1 -0
  561. package/dist/extensions/entries/modeCatalog.mjs +2 -0
  562. package/dist/extensions/entries/modeCatalog.mjs.map +1 -0
  563. package/dist/extensions/entries/notifications.cjs +2 -0
  564. package/dist/extensions/entries/notifications.cjs.map +1 -0
  565. package/dist/extensions/entries/notifications.d.cts +14 -0
  566. package/dist/extensions/entries/notifications.d.cts.map +1 -0
  567. package/dist/extensions/entries/notifications.d.mts +14 -0
  568. package/dist/extensions/entries/notifications.d.mts.map +1 -0
  569. package/dist/extensions/entries/notifications.mjs +2 -0
  570. package/dist/extensions/entries/notifications.mjs.map +1 -0
  571. package/dist/extensions/entries/ollamaProvider.cjs +2 -0
  572. package/dist/extensions/entries/ollamaProvider.cjs.map +1 -0
  573. package/dist/extensions/entries/ollamaProvider.d.cts +7 -0
  574. package/dist/extensions/entries/ollamaProvider.d.cts.map +1 -0
  575. package/dist/extensions/entries/ollamaProvider.d.mts +7 -0
  576. package/dist/extensions/entries/ollamaProvider.d.mts.map +1 -0
  577. package/dist/extensions/entries/ollamaProvider.mjs +2 -0
  578. package/dist/extensions/entries/ollamaProvider.mjs.map +1 -0
  579. package/dist/extensions/entries/persona.cjs +2 -0
  580. package/dist/extensions/entries/persona.cjs.map +1 -0
  581. package/dist/extensions/entries/persona.d.cts +15 -0
  582. package/dist/extensions/entries/persona.d.cts.map +1 -0
  583. package/dist/extensions/entries/persona.d.mts +15 -0
  584. package/dist/extensions/entries/persona.d.mts.map +1 -0
  585. package/dist/extensions/entries/persona.mjs +2 -0
  586. package/dist/extensions/entries/persona.mjs.map +1 -0
  587. package/dist/extensions/entries/profile.cjs +3 -0
  588. package/dist/extensions/entries/profile.cjs.map +1 -0
  589. package/dist/extensions/entries/profile.d.cts +18 -0
  590. package/dist/extensions/entries/profile.d.cts.map +1 -0
  591. package/dist/extensions/entries/profile.d.mts +18 -0
  592. package/dist/extensions/entries/profile.d.mts.map +1 -0
  593. package/dist/extensions/entries/profile.mjs +3 -0
  594. package/dist/extensions/entries/profile.mjs.map +1 -0
  595. package/dist/extensions/entries/repositoryHooks.cjs +9 -0
  596. package/dist/extensions/entries/repositoryHooks.cjs.map +1 -0
  597. package/dist/extensions/entries/repositoryHooks.d.cts +8 -0
  598. package/dist/extensions/entries/repositoryHooks.d.cts.map +1 -0
  599. package/dist/extensions/entries/repositoryHooks.d.mts +8 -0
  600. package/dist/extensions/entries/repositoryHooks.d.mts.map +1 -0
  601. package/dist/extensions/entries/repositoryHooks.mjs +9 -0
  602. package/dist/extensions/entries/repositoryHooks.mjs.map +1 -0
  603. package/dist/extensions/entries/shellTitleController.cjs +27 -0
  604. package/dist/extensions/entries/shellTitleController.cjs.map +1 -0
  605. package/dist/extensions/entries/shellTitleController.d.cts +11 -0
  606. package/dist/extensions/entries/shellTitleController.d.cts.map +1 -0
  607. package/dist/extensions/entries/shellTitleController.d.mts +11 -0
  608. package/dist/extensions/entries/shellTitleController.d.mts.map +1 -0
  609. package/dist/extensions/entries/shellTitleController.mjs +27 -0
  610. package/dist/extensions/entries/shellTitleController.mjs.map +1 -0
  611. package/dist/extensions/entries/skills.cjs +4 -0
  612. package/dist/extensions/entries/skills.cjs.map +1 -0
  613. package/dist/extensions/entries/skills.d.cts +34 -0
  614. package/dist/extensions/entries/skills.d.cts.map +1 -0
  615. package/dist/extensions/entries/skills.d.mts +34 -0
  616. package/dist/extensions/entries/skills.d.mts.map +1 -0
  617. package/dist/extensions/entries/skills.mjs +4 -0
  618. package/dist/extensions/entries/skills.mjs.map +1 -0
  619. package/dist/extensions/entries/styleSystem.cjs +4 -0
  620. package/dist/extensions/entries/styleSystem.cjs.map +1 -0
  621. package/dist/extensions/entries/styleSystem.d.cts +32 -0
  622. package/dist/extensions/entries/styleSystem.d.cts.map +1 -0
  623. package/dist/extensions/entries/styleSystem.d.mts +32 -0
  624. package/dist/extensions/entries/styleSystem.d.mts.map +1 -0
  625. package/dist/extensions/entries/styleSystem.mjs +4 -0
  626. package/dist/{entries/styleSystem.cjs.map → extensions/entries/styleSystem.mjs.map} +1 -1
  627. package/dist/extensions/pi.cjs +1 -0
  628. package/dist/extensions/pi.d.cts +2 -0
  629. package/dist/extensions/pi.d.mts +2 -0
  630. package/dist/extensions/pi.mjs +1 -0
  631. package/dist/extensions/services/domainSwitchHandoff.cjs +2 -0
  632. package/dist/extensions/services/domainSwitchHandoff.cjs.map +1 -0
  633. package/dist/extensions/services/domainSwitchHandoff.mjs +2 -0
  634. package/dist/extensions/services/domainSwitchHandoff.mjs.map +1 -0
  635. package/dist/index.cjs +1 -1
  636. package/dist/index.d.cts +33 -29
  637. package/dist/index.d.mts +33 -29
  638. package/dist/index.mjs +1 -1
  639. package/dist/logSinkTelemetry.cjs +1 -2
  640. package/dist/logSinkTelemetry.d.cts +2 -51
  641. package/dist/logSinkTelemetry.d.mts +2 -51
  642. package/dist/logSinkTelemetry.mjs +1 -2
  643. package/dist/pi-cache-optimizer-D9beVnnH.mjs +50 -0
  644. package/dist/pi-cache-optimizer-D9beVnnH.mjs.map +1 -0
  645. package/dist/schemas/domainVoiceTools.cjs +2 -0
  646. package/dist/schemas/domainVoiceTools.cjs.map +1 -0
  647. package/dist/schemas/domainVoiceTools.mjs +2 -0
  648. package/dist/schemas/domainVoiceTools.mjs.map +1 -0
  649. package/dist/schemas/majorModeVoiceTools.cjs +2 -0
  650. package/dist/schemas/majorModeVoiceTools.cjs.map +1 -0
  651. package/dist/schemas/majorModeVoiceTools.mjs +2 -0
  652. package/dist/schemas/majorModeVoiceTools.mjs.map +1 -0
  653. package/dist/services/compatibility/antigravity.cjs +1 -2
  654. package/dist/services/compatibility/antigravity.d.cts +2 -11
  655. package/dist/services/compatibility/antigravity.d.mts +2 -11
  656. package/dist/services/compatibility/antigravity.mjs +1 -2
  657. package/dist/services/compatibility/codex.cjs +1 -2
  658. package/dist/services/compatibility/codex.d.cts +2 -19
  659. package/dist/services/compatibility/codex.d.mts +2 -19
  660. package/dist/services/compatibility/codex.mjs +1 -2
  661. package/dist/services/compatibility/index.cjs +1 -2
  662. package/dist/services/compatibility/index.d.cts +6 -16
  663. package/dist/services/compatibility/index.d.mts +6 -16
  664. package/dist/services/compatibility/index.mjs +1 -2
  665. package/dist/services/compatibility/process.cjs +1 -2
  666. package/dist/services/compatibility/process.d.cts +2 -35
  667. package/dist/services/compatibility/process.d.mts +2 -35
  668. package/dist/services/compatibility/process.mjs +1 -2
  669. package/dist/services/compatibility/shared.cjs +1 -2
  670. package/dist/services/compatibility/shared.d.cts +2 -33
  671. package/dist/services/compatibility/shared.d.mts +2 -33
  672. package/dist/services/compatibility/shared.mjs +1 -2
  673. package/dist/services/compatibilityContext.cjs +1 -2
  674. package/dist/services/compatibilityContext.d.cts +2 -23
  675. package/dist/services/compatibilityContext.d.mts +2 -23
  676. package/dist/services/compatibilityContext.mjs +1 -2
  677. package/dist/services/composer.cjs +1 -2
  678. package/dist/services/composer.d.cts +4 -135
  679. package/dist/services/composer.d.mts +4 -135
  680. package/dist/services/composer.mjs +1 -2
  681. package/dist/services/config/index.cjs +1 -0
  682. package/dist/services/config/index.d.cts +7 -0
  683. package/dist/services/config/index.d.mts +7 -0
  684. package/dist/services/config/index.mjs +1 -0
  685. package/dist/services/config/projectTrust.cjs +2 -0
  686. package/dist/services/config/projectTrust.cjs.map +1 -0
  687. package/dist/services/config/projectTrust.d.cts +14 -0
  688. package/dist/services/config/projectTrust.d.cts.map +1 -0
  689. package/dist/services/config/projectTrust.d.mts +14 -0
  690. package/dist/services/config/projectTrust.d.mts.map +1 -0
  691. package/dist/services/config/projectTrust.mjs +2 -0
  692. package/dist/services/config/projectTrust.mjs.map +1 -0
  693. package/dist/services/extensionAssembler.cjs +1 -1
  694. package/dist/services/extensionAssembler.cjs.map +1 -1
  695. package/dist/services/extensionAssembler.d.cts +13 -6
  696. package/dist/services/extensionAssembler.d.cts.map +1 -1
  697. package/dist/services/extensionAssembler.d.mts +13 -6
  698. package/dist/services/extensionAssembler.d.mts.map +1 -1
  699. package/dist/services/extensionAssembler.mjs +1 -1
  700. package/dist/services/extensionAssembler.mjs.map +1 -1
  701. package/dist/services/harnessContext.cjs +1 -2
  702. package/dist/services/harnessContext.d.cts +2 -61
  703. package/dist/services/harnessContext.d.mts +2 -61
  704. package/dist/services/harnessContext.mjs +1 -2
  705. package/dist/services/index.cjs +1 -1
  706. package/dist/services/index.d.cts +18 -14
  707. package/dist/services/index.d.mts +18 -14
  708. package/dist/services/index.mjs +1 -1
  709. package/dist/services/matrixSwitcher.cjs +1 -2
  710. package/dist/services/matrixSwitcher.d.cts +2 -46
  711. package/dist/services/matrixSwitcher.d.mts +2 -46
  712. package/dist/services/matrixSwitcher.mjs +1 -2
  713. package/dist/services/mcpFilter.cjs +1 -3
  714. package/dist/services/mcpFilter.d.cts +2 -40
  715. package/dist/services/mcpFilter.d.mts +2 -40
  716. package/dist/services/mcpFilter.mjs +1 -3
  717. package/dist/services/modeCatalog.cjs +2 -0
  718. package/dist/services/modeCatalog.cjs.map +1 -0
  719. package/dist/services/modeCatalog.d.cts +18 -0
  720. package/dist/services/modeCatalog.d.cts.map +1 -0
  721. package/dist/services/modeCatalog.d.mts +18 -0
  722. package/dist/services/modeCatalog.d.mts.map +1 -0
  723. package/dist/services/modeCatalog.mjs +2 -0
  724. package/dist/services/modeCatalog.mjs.map +1 -0
  725. package/dist/services/piSettings.cjs +1 -2
  726. package/dist/services/piSettings.d.cts +2 -24
  727. package/dist/services/piSettings.d.mts +2 -24
  728. package/dist/services/piSettings.mjs +1 -2
  729. package/dist/services/resourceCollector.cjs +1 -3
  730. package/dist/services/resourceCollector.d.cts +2 -23
  731. package/dist/services/resourceCollector.d.mts +2 -23
  732. package/dist/services/resourceCollector.mjs +1 -3
  733. package/dist/services/skillCatalog.cjs +1 -2
  734. package/dist/services/skillCatalog.d.cts +2 -56
  735. package/dist/services/skillCatalog.d.mts +2 -56
  736. package/dist/services/skillCatalog.mjs +1 -2
  737. package/dist/services/skillSources.cjs +1 -2
  738. package/dist/services/skillSources.d.cts +2 -24
  739. package/dist/services/skillSources.d.mts +2 -24
  740. package/dist/services/skillSources.mjs +1 -2
  741. package/dist/services/syncState.cjs +1 -2
  742. package/dist/services/syncState.d.cts +3 -133
  743. package/dist/services/syncState.d.mts +3 -133
  744. package/dist/services/syncState.mjs +1 -2
  745. package/dist/services/tools/toolNames.cjs +2 -0
  746. package/dist/services/tools/toolNames.cjs.map +1 -0
  747. package/dist/services/tools/toolNames.d.cts +25 -0
  748. package/dist/services/tools/toolNames.d.cts.map +1 -0
  749. package/dist/services/tools/toolNames.d.mts +25 -0
  750. package/dist/services/tools/toolNames.d.mts.map +1 -0
  751. package/dist/services/tools/toolNames.mjs +2 -0
  752. package/dist/services/tools/toolNames.mjs.map +1 -0
  753. package/dist/{interfaces → types/interfaces}/compatibility.d.cts +1 -1
  754. package/dist/types/interfaces/compatibility.d.cts.map +1 -0
  755. package/dist/{interfaces → types/interfaces}/compatibility.d.mts +1 -1
  756. package/dist/types/interfaces/compatibility.d.mts.map +1 -0
  757. package/dist/{interfaces → types/interfaces}/harness.d.cts +6 -2
  758. package/dist/types/interfaces/harness.d.cts.map +1 -0
  759. package/dist/{interfaces → types/interfaces}/harness.d.mts +6 -2
  760. package/dist/types/interfaces/harness.d.mts.map +1 -0
  761. package/dist/utils/index.cjs +1 -1
  762. package/dist/utils/index.d.cts +5 -5
  763. package/dist/utils/index.d.mts +5 -5
  764. package/dist/utils/index.mjs +1 -1
  765. package/dist/utils/json.cjs +1 -2
  766. package/dist/utils/json.d.cts +2 -23
  767. package/dist/utils/json.d.mts +2 -23
  768. package/dist/utils/json.mjs +1 -2
  769. package/dist/utils/moduleResolution.cjs +1 -2
  770. package/dist/utils/moduleResolution.d.cts +2 -56
  771. package/dist/utils/moduleResolution.d.mts +2 -56
  772. package/dist/utils/moduleResolution.mjs +1 -2
  773. package/dist/utils/repository.cjs +1 -2
  774. package/dist/utils/repository.d.cts +2 -21
  775. package/dist/utils/repository.d.mts +2 -21
  776. package/dist/utils/repository.mjs +1 -2
  777. package/dist/utils/toolNames.cjs +1 -2
  778. package/dist/utils/toolNames.d.cts +2 -25
  779. package/dist/utils/toolNames.d.mts +2 -25
  780. package/dist/utils/toolNames.mjs +1 -2
  781. package/package.json +59 -37
  782. package/dist/cli/cliApp.cjs.map +0 -1
  783. package/dist/cli/cliApp.d.cts.map +0 -1
  784. package/dist/cli/cliApp.d.mts.map +0 -1
  785. package/dist/cli/cliApp.mjs.map +0 -1
  786. package/dist/cli/compatibilityOptions.cjs.map +0 -1
  787. package/dist/cli/compatibilityOptions.d.cts.map +0 -1
  788. package/dist/cli/compatibilityOptions.d.mts.map +0 -1
  789. package/dist/cli/compatibilityOptions.mjs.map +0 -1
  790. package/dist/cli/help.d.cts.map +0 -1
  791. package/dist/cli/help.d.mts.map +0 -1
  792. package/dist/cli/matrixOptions.cjs.map +0 -1
  793. package/dist/cli/matrixOptions.d.cts.map +0 -1
  794. package/dist/cli/matrixOptions.d.mts.map +0 -1
  795. package/dist/cli/matrixOptions.mjs.map +0 -1
  796. package/dist/cli/options.cjs.map +0 -1
  797. package/dist/cli/options.d.cts.map +0 -1
  798. package/dist/cli/options.d.mts.map +0 -1
  799. package/dist/cli/options.mjs.map +0 -1
  800. package/dist/commands/buildCommand.d.cts +0 -23
  801. package/dist/commands/buildCommand.d.cts.map +0 -1
  802. package/dist/commands/buildCommand.d.mts +0 -23
  803. package/dist/commands/buildCommand.d.mts.map +0 -1
  804. package/dist/config/harnessState.cjs.map +0 -1
  805. package/dist/config/harnessState.d.cts.map +0 -1
  806. package/dist/config/harnessState.d.mts.map +0 -1
  807. package/dist/config/harnessState.mjs.map +0 -1
  808. package/dist/config/projectTrust.cjs.map +0 -1
  809. package/dist/config/projectTrust.d.cts.map +0 -1
  810. package/dist/config/projectTrust.d.mts.map +0 -1
  811. package/dist/config/projectTrust.mjs.map +0 -1
  812. package/dist/entries/addDirCompatibility.cjs +0 -2
  813. package/dist/entries/addDirCompatibility.cjs.map +0 -1
  814. package/dist/entries/addDirCompatibility.d.cts +0 -13
  815. package/dist/entries/addDirCompatibility.d.cts.map +0 -1
  816. package/dist/entries/addDirCompatibility.d.mts +0 -14
  817. package/dist/entries/addDirCompatibility.d.mts.map +0 -1
  818. package/dist/entries/addDirCompatibility.mjs +0 -2
  819. package/dist/entries/addDirCompatibility.mjs.map +0 -1
  820. package/dist/entries/autoStop.cjs.map +0 -1
  821. package/dist/entries/autoStop.d.cts.map +0 -1
  822. package/dist/entries/autoStop.d.mts.map +0 -1
  823. package/dist/entries/autoStop.mjs.map +0 -1
  824. package/dist/entries/components/matrixPicker.cjs.map +0 -1
  825. package/dist/entries/components/matrixPicker.d.cts.map +0 -1
  826. package/dist/entries/components/matrixPicker.d.mts.map +0 -1
  827. package/dist/entries/components/matrixPicker.mjs.map +0 -1
  828. package/dist/entries/components/skillsOverlay.cjs.map +0 -1
  829. package/dist/entries/components/skillsOverlay.d.cts.map +0 -1
  830. package/dist/entries/components/skillsOverlay.d.mts.map +0 -1
  831. package/dist/entries/components/skillsOverlay.mjs.map +0 -1
  832. package/dist/entries/domains.cjs.map +0 -1
  833. package/dist/entries/domains.d.cts.map +0 -1
  834. package/dist/entries/domains.d.mts.map +0 -1
  835. package/dist/entries/domains.mjs.map +0 -1
  836. package/dist/entries/doom.cjs.map +0 -1
  837. package/dist/entries/doom.d.cts.map +0 -1
  838. package/dist/entries/doom.d.mts.map +0 -1
  839. package/dist/entries/doom.mjs.map +0 -1
  840. package/dist/entries/effort.cjs.map +0 -1
  841. package/dist/entries/effort.d.cts.map +0 -1
  842. package/dist/entries/effort.d.mts.map +0 -1
  843. package/dist/entries/effort.mjs.map +0 -1
  844. package/dist/entries/majorMode.cjs.map +0 -1
  845. package/dist/entries/majorMode.d.cts.map +0 -1
  846. package/dist/entries/majorMode.d.mts.map +0 -1
  847. package/dist/entries/majorMode.mjs.map +0 -1
  848. package/dist/entries/notifications.cjs.map +0 -1
  849. package/dist/entries/notifications.d.cts.map +0 -1
  850. package/dist/entries/notifications.d.mts.map +0 -1
  851. package/dist/entries/notifications.mjs.map +0 -1
  852. package/dist/entries/ollamaProvider.cjs.map +0 -1
  853. package/dist/entries/ollamaProvider.d.cts.map +0 -1
  854. package/dist/entries/ollamaProvider.d.mts.map +0 -1
  855. package/dist/entries/ollamaProvider.mjs.map +0 -1
  856. package/dist/entries/persona.cjs.map +0 -1
  857. package/dist/entries/persona.d.cts.map +0 -1
  858. package/dist/entries/persona.d.mts.map +0 -1
  859. package/dist/entries/persona.mjs.map +0 -1
  860. package/dist/entries/profile.cjs.map +0 -1
  861. package/dist/entries/profile.d.cts.map +0 -1
  862. package/dist/entries/profile.d.mts.map +0 -1
  863. package/dist/entries/profile.mjs.map +0 -1
  864. package/dist/entries/repositoryHooks.cjs.map +0 -1
  865. package/dist/entries/repositoryHooks.d.cts.map +0 -1
  866. package/dist/entries/repositoryHooks.d.mts.map +0 -1
  867. package/dist/entries/repositoryHooks.mjs.map +0 -1
  868. package/dist/entries/skills.cjs.map +0 -1
  869. package/dist/entries/skills.d.cts.map +0 -1
  870. package/dist/entries/skills.d.mts.map +0 -1
  871. package/dist/entries/skills.mjs.map +0 -1
  872. package/dist/entries/styleSystem.d.cts.map +0 -1
  873. package/dist/entries/styleSystem.d.mts.map +0 -1
  874. package/dist/entries/styleSystem.mjs.map +0 -1
  875. package/dist/interfaces/compatibility.d.cts.map +0 -1
  876. package/dist/interfaces/compatibility.d.mts.map +0 -1
  877. package/dist/interfaces/harness.d.cts.map +0 -1
  878. package/dist/interfaces/harness.d.mts.map +0 -1
  879. package/dist/logSinkTelemetry.cjs.map +0 -1
  880. package/dist/logSinkTelemetry.d.cts.map +0 -1
  881. package/dist/logSinkTelemetry.d.mts.map +0 -1
  882. package/dist/logSinkTelemetry.mjs.map +0 -1
  883. package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs +0 -2
  884. package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs.map +0 -1
  885. package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs +0 -2
  886. package/dist/node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs.map +0 -1
  887. package/dist/services/compatibility/index.cjs.map +0 -1
  888. package/dist/services/compatibility/index.mjs.map +0 -1
  889. package/dist/services/compatibilityContext.cjs.map +0 -1
  890. package/dist/services/compatibilityContext.mjs.map +0 -1
  891. package/dist/services/composer.cjs.map +0 -1
  892. package/dist/services/composer.d.cts.map +0 -1
  893. package/dist/services/composer.d.mts.map +0 -1
  894. package/dist/services/composer.mjs.map +0 -1
  895. package/dist/services/extensionCompiler.cjs +0 -3
  896. package/dist/services/extensionCompiler.cjs.map +0 -1
  897. package/dist/services/extensionCompiler.mjs +0 -3
  898. package/dist/services/extensionCompiler.mjs.map +0 -1
  899. package/dist/services/harnessContext.cjs.map +0 -1
  900. package/dist/services/harnessContext.mjs.map +0 -1
  901. package/dist/services/matrixSwitcher.cjs.map +0 -1
  902. package/dist/services/matrixSwitcher.mjs.map +0 -1
  903. package/dist/services/mcpFilter.cjs.map +0 -1
  904. package/dist/services/mcpFilter.d.cts.map +0 -1
  905. package/dist/services/mcpFilter.d.mts.map +0 -1
  906. package/dist/services/mcpFilter.mjs.map +0 -1
  907. package/dist/services/piSettings.cjs.map +0 -1
  908. package/dist/services/piSettings.d.cts.map +0 -1
  909. package/dist/services/piSettings.d.mts.map +0 -1
  910. package/dist/services/piSettings.mjs.map +0 -1
  911. package/dist/services/resourceCollector.cjs.map +0 -1
  912. package/dist/services/resourceCollector.d.cts.map +0 -1
  913. package/dist/services/resourceCollector.d.mts.map +0 -1
  914. package/dist/services/resourceCollector.mjs.map +0 -1
  915. package/dist/services/runtimeBundle.cjs +0 -2
  916. package/dist/services/runtimeBundle.cjs.map +0 -1
  917. package/dist/services/runtimeBundle.d.cts.map +0 -1
  918. package/dist/services/runtimeBundle.d.mts.map +0 -1
  919. package/dist/services/runtimeBundle.mjs +0 -2
  920. package/dist/services/runtimeBundle.mjs.map +0 -1
  921. package/dist/services/skillCatalog.cjs.map +0 -1
  922. package/dist/services/skillCatalog.d.cts.map +0 -1
  923. package/dist/services/skillCatalog.d.mts.map +0 -1
  924. package/dist/services/skillCatalog.mjs.map +0 -1
  925. package/dist/services/syncState.cjs.map +0 -1
  926. package/dist/services/syncState.d.cts.map +0 -1
  927. package/dist/services/syncState.d.mts.map +0 -1
  928. package/dist/services/syncState.mjs.map +0 -1
  929. package/dist/utils/json.cjs.map +0 -1
  930. package/dist/utils/json.d.cts.map +0 -1
  931. package/dist/utils/json.d.mts.map +0 -1
  932. package/dist/utils/json.mjs.map +0 -1
  933. package/dist/utils/moduleResolution.cjs.map +0 -1
  934. package/dist/utils/moduleResolution.d.cts.map +0 -1
  935. package/dist/utils/moduleResolution.d.mts.map +0 -1
  936. package/dist/utils/moduleResolution.mjs.map +0 -1
  937. package/dist/utils/repository.cjs.map +0 -1
  938. package/dist/utils/repository.d.cts.map +0 -1
  939. package/dist/utils/repository.d.mts.map +0 -1
  940. package/dist/utils/repository.mjs.map +0 -1
  941. package/dist/utils/toolNames.cjs.map +0 -1
  942. package/dist/utils/toolNames.d.cts.map +0 -1
  943. package/dist/utils/toolNames.d.mts.map +0 -1
  944. package/dist/utils/toolNames.mjs.map +0 -1
@@ -1,6 +1 @@
1
- import{HARNESS_EVENT as e,createHarnessTelemetry as t}from"../logSinkTelemetry.mjs";import{persistHarnessSelection as n,requireHarnessRoot as r}from"../config/harnessState.mjs";import{filterHookDisabledLayers as i}from"../services/extensionAssembler.mjs";import{applyMajorMode as a,needsRelaunch as o}from"../services/matrixSwitcher.mjs";import{alreadyComposed as s}from"../services/composer.mjs";import{MatrixPickerComponent as c}from"./components/matrixPicker.mjs";import{requireDoomConfigContext as l}from"@agimon-ai/doompi-config";import{loadMajorModesConfig as u,resolveLayers as d}from"@agimon-ai/doompi-config/majorModes";const f=`doom-major-mode`,p=/^\[[ x]\] /,m=`core only`,h=`--major-mode`;function g(e){return Object.keys(e.majorMode)}function _(e,t){return t.map(t=>({value:t,label:t,description:(e.majorMode[t]??[]).join(`, `)||m}))}function v(e,t,n){return`${e===n?`[x]`:`[ ]`} ${e}: ${t.join(`, `)||m}`}function y(e){return e.replace(p,``).split(`:`)[0]??e}function b(e,t,n){return[n?`*${n}*`:void 0,`[${e}]`,t.join(`,`)].filter(e=>!!e).join(`:`)}function x(e,t,n,r,i){return[r?e.fg(`success`,e.bold(`*${r}*`)):void 0,e.fg(i?`warning`:`accent`,`[${t}]`),n.length>0?e.fg(`muted`,n.join(`,`)):void 0].filter(e=>!!e).join(e.fg(`dim`,`:`))}function S(e,t,n,r=!1){let i=`Switched to ${e}: ${t.join(`, `)||m}`;return!n||r?[i,`Hooks reloaded.`].join(`
2
- `):[i,`Hooks reloaded. Extensions are fixed at launch, so for those:`,` ./pi.sh ${h} ${e}`].join(`
3
- `)}function C(e,t,n,r=!1){let i=`Major mode ${e}: ${t.join(`, `)||m}`;return e!==n&&!r?[i,`Relaunch with:\n ./pi.sh ${h} ${e}`].join(`
4
- `):e===n?[i,`Already using this major mode.`].join(`
5
- `):i}function w(e){let t=l(e).harness,n=u(r(t)),i=d(n,t.majorMode);return{config:n,majorMode:t.majorMode,active:t.layers.length===0?i:[...t.layers],domains:t.domains,profile:t.profile,hooks:t.hooks}}function T(r,u=t()){r.on(`session_start`,(t,n)=>{try{let{majorMode:e,domains:t,profile:r}=w(n);n.ui.setStatus(f,x(n.ui.theme,e,t,r,!1))}catch(t){u.recordWarning(e.majorModeUnavailable,t),n.ui.setStatus(f,`major mode unavailable (${t instanceof Error?t.message:String(t)})`)}}),r.registerCommand(`major-mode`,{description:`Pick a named major mode`,handler:async(t,p)=>{if(t.trim()){p.ui.notify(`Usage: /major-mode`,`warning`);return}let{config:m,majorMode:h,active:b,domains:T,profile:E,hooks:D}=w(p),O=g(m),k=`Major mode (current: ${h})`,A=(p.mode===`tui`?await p.ui.custom((e,t,n,r)=>new c({title:k,items:_(m,O),selected:[h],multi:!1},t,n,r)):[y(await p.ui.select(k,O.map(e=>v(e,m.majorMode[e]??[],h)))??``)])?.[0];if(!A)return;let j=s();if(A===h){p.ui.notify(C(A,d(m,A),h,j),`info`);return}let M=i(d(m,A),D),N=o(m,b,M);n(r,a(m,A,l(p).harness)),u.recordEvent(e.majorModeSwitched,{"harness.major_mode.previous":h,"harness.major_mode":A,"harness.layers":M.join(`,`),"harness.major_mode.stale":N}),p.ui.setStatus(f,x(p.ui.theme,A,T,E,N&&!j)),p.ui.notify(S(A,M,N,j),`info`),await p.waitForIdle(),await p.reload()}})}export{S as applySummary,x as colorStatus,T as default,_ as majorModeItems,g as majorModeNames,v as majorModeOptionLabel,C as majorModeSummary,y as optionName,b as statusText};
6
- //# sourceMappingURL=majorMode.mjs.map
1
+ import e,{applySummary as t,colorStatus as n,majorModeItems as r,majorModeOptionLabel as i,majorModeSummary as a,optionName as o,statusText as s}from"../extensions/entries/majorMode.mjs";export{t as applySummary,n as colorStatus,e as default,r as majorModeItems,i as majorModeOptionLabel,a as majorModeSummary,o as optionName,s as statusText};
@@ -0,0 +1 @@
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../extensions/entries/modeCatalog.cjs`);exports.default=e,exports.modeCatalogExtension=e;
@@ -0,0 +1,2 @@
1
+ import { modeCatalogExtension } from "../extensions/entries/modeCatalog.cjs";
2
+ export { modeCatalogExtension as default, modeCatalogExtension };
@@ -0,0 +1,2 @@
1
+ import { modeCatalogExtension } from "../extensions/entries/modeCatalog.mjs";
2
+ export { modeCatalogExtension as default, modeCatalogExtension };
@@ -0,0 +1 @@
1
+ import e from"../extensions/entries/modeCatalog.mjs";export{e as default,e as modeCatalogExtension};
@@ -1,2 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.cjs`);let n=require(`node:path`);n=e.__toESM(n,1);const r=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function i(e){let t=e.replace(/\s+/g,` `).trim();if(t)return t.length>36?`${t.slice(0,35)}…`:t}function a(e,t,r,i){let a=i?`${i} `:``,o=n.default.basename(t),s=e.getSessionName()??r;return s?`${a}π - ${s} - ${o}`:`${a}π - ${o}`}function o(e){let t=e.replace(/\s+/g,` `).trim();return t.length>240?`${t.slice(0,239)}…`:t}async function s(e,t,n){try{return(await e.exec(t,n,{timeout:3e3})).code===0}catch{return!1}}async function c(e,t,n=process.platform){let r=o(t.body);await s(e,`cmux`,[`notify`,`--title`,t.title,`--subtitle`,t.subtitle,`--body`,r])||n!==`darwin`||await s(e,`osascript`,[`-e`,`on run argv`,`-e`,`display notification (item 3 of argv) with title (item 1 of argv) subtitle (item 2 of argv)`,`-e`,`end run`,t.title,t.subtitle,r])}function l(e,t,n){let r=e.confirm.bind(e);e.confirm=(e,i,a)=>(t()&&n(`${e}: ${i}`),r(e,i,a));let i=e.select.bind(e);e.select=(e,r,a)=>(t()&&n(e),i(e,r,a));let a=e.input.bind(e);e.input=(e,r,i)=>(t()&&n(e),a(e,r,i));let o=e.editor.bind(e);e.editor=(e,r)=>(t()&&n(e),o(e,r))}function u(e){if(process.env.PI_SUBAGENT_CHILD)return;let o=!1,s=!1,u,d=0,f,p=new WeakSet,m=t=>{f&&=(clearInterval(f),void 0),d=0,t.hasUI&&t.ui.setTitle(a(e,t.cwd,u))},h=t=>{if(m(t),!t.hasUI)return;let n=()=>{t.ui.setTitle(a(e,t.cwd,u,r[d%r.length])),d+=1};n(),f=setInterval(n,80)},g=t=>{c(e,{title:`Pi needs your input`,subtitle:`Approval or feedback required`,body:t})};e.events.on(t.ASK_USER_PROMPT_EVENT,e=>{g(e.questions[0]?.question??`The agent is waiting for your feedback.`)}),e.events.on(t.ASK_USER_BLOCKED_EVENT,e=>{s=e.active}),e.on(`input`,(t,n)=>{u||t.source===`extension`||(u=i(t.text),u&&n.hasUI&&n.ui.setTitle(a(e,n.cwd,u)))}),e.on(`session_start`,(e,t)=>{p.has(t.ui)||(p.add(t.ui),l(t.ui,()=>o&&!s,g))}),e.on(`agent_start`,(e,t)=>{o=!0,h(t)}),e.on(`agent_settled`,async(t,r)=>{o=!1,s=!1,m(r),!r.hasPendingMessages()&&await c(e,{title:`Pi finished`,subtitle:e.getSessionName()??n.default.basename(r.cwd),body:`The agent finished its work and is waiting for you.`})}),e.on(`session_shutdown`,(e,t)=>{o=!1,s=!1,m(t)})}exports.default=u,exports.sendSystemNotification=c;
2
- //# sourceMappingURL=notifications.cjs.map
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../extensions/entries/notifications.cjs`);exports.default=e,exports.notifications=e,exports.sendSystemNotification=e.sendSystemNotification;
@@ -1,13 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/notifications.d.ts
4
- interface Notification {
5
- title: string;
6
- subtitle: string;
7
- body: string;
8
- }
9
- declare function sendSystemNotification(pi: ExtensionAPI, notification: Notification, platform?: NodeJS.Platform): Promise<void>;
10
- declare function notifications(pi: ExtensionAPI): void;
11
- //#endregion
12
- export { notifications as default, sendSystemNotification };
13
- //# sourceMappingURL=notifications.d.cts.map
1
+ import { notifications, sendSystemNotification } from "../extensions/entries/notifications.cjs";
2
+ export { notifications as default, notifications, sendSystemNotification };
@@ -1,13 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/notifications.d.ts
4
- interface Notification {
5
- title: string;
6
- subtitle: string;
7
- body: string;
8
- }
9
- declare function sendSystemNotification(pi: ExtensionAPI, notification: Notification, platform?: NodeJS.Platform): Promise<void>;
10
- declare function notifications(pi: ExtensionAPI): void;
11
- //#endregion
12
- export { notifications as default, sendSystemNotification };
13
- //# sourceMappingURL=notifications.d.mts.map
1
+ import { notifications, sendSystemNotification } from "../extensions/entries/notifications.mjs";
2
+ export { notifications as default, notifications, sendSystemNotification };
@@ -1,2 +1 @@
1
- import{ASK_USER_BLOCKED_EVENT as e,ASK_USER_PROMPT_EVENT as t}from"../node_modules/.pnpm/@juicesharp_rpiv-ask-user-question@2.2.0_@earendil-works_pi-coding-agent@0.84.1_support_6ba1249e24a50b62791c1c91c9f324c6/node_modules/@juicesharp/rpiv-ask-user-question/events.mjs";import n from"node:path";const r=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function i(e){let t=e.replace(/\s+/g,` `).trim();if(t)return t.length>36?`${t.slice(0,35)}…`:t}function a(e,t,r,i){let a=i?`${i} `:``,o=n.basename(t),s=e.getSessionName()??r;return s?`${a}π - ${s} - ${o}`:`${a}π - ${o}`}function o(e){let t=e.replace(/\s+/g,` `).trim();return t.length>240?`${t.slice(0,239)}…`:t}async function s(e,t,n){try{return(await e.exec(t,n,{timeout:3e3})).code===0}catch{return!1}}async function c(e,t,n=process.platform){let r=o(t.body);await s(e,`cmux`,[`notify`,`--title`,t.title,`--subtitle`,t.subtitle,`--body`,r])||n!==`darwin`||await s(e,`osascript`,[`-e`,`on run argv`,`-e`,`display notification (item 3 of argv) with title (item 1 of argv) subtitle (item 2 of argv)`,`-e`,`end run`,t.title,t.subtitle,r])}function l(e,t,n){let r=e.confirm.bind(e);e.confirm=(e,i,a)=>(t()&&n(`${e}: ${i}`),r(e,i,a));let i=e.select.bind(e);e.select=(e,r,a)=>(t()&&n(e),i(e,r,a));let a=e.input.bind(e);e.input=(e,r,i)=>(t()&&n(e),a(e,r,i));let o=e.editor.bind(e);e.editor=(e,r)=>(t()&&n(e),o(e,r))}function u(o){if(process.env.PI_SUBAGENT_CHILD)return;let s=!1,u=!1,d,f=0,p,m=new WeakSet,h=e=>{p&&=(clearInterval(p),void 0),f=0,e.hasUI&&e.ui.setTitle(a(o,e.cwd,d))},g=e=>{if(h(e),!e.hasUI)return;let t=()=>{e.ui.setTitle(a(o,e.cwd,d,r[f%r.length])),f+=1};t(),p=setInterval(t,80)},_=e=>{c(o,{title:`Pi needs your input`,subtitle:`Approval or feedback required`,body:e})};o.events.on(t,e=>{_(e.questions[0]?.question??`The agent is waiting for your feedback.`)}),o.events.on(e,e=>{u=e.active}),o.on(`input`,(e,t)=>{d||e.source===`extension`||(d=i(e.text),d&&t.hasUI&&t.ui.setTitle(a(o,t.cwd,d)))}),o.on(`session_start`,(e,t)=>{m.has(t.ui)||(m.add(t.ui),l(t.ui,()=>s&&!u,_))}),o.on(`agent_start`,(e,t)=>{s=!0,g(t)}),o.on(`agent_settled`,async(e,t)=>{s=!1,u=!1,h(t),!t.hasPendingMessages()&&await c(o,{title:`Pi finished`,subtitle:o.getSessionName()??n.basename(t.cwd),body:`The agent finished its work and is waiting for you.`})}),o.on(`session_shutdown`,(e,t)=>{s=!1,u=!1,h(t)})}export{u as default,c as sendSystemNotification};
2
- //# sourceMappingURL=notifications.mjs.map
1
+ import e,{sendSystemNotification as t}from"../extensions/entries/notifications.mjs";export{e as default,e as notifications,t as sendSystemNotification};
@@ -1,2 +1 @@
1
- function e(e){let t=process.argv.find(e=>e.startsWith(`ollama/`))?.slice(7)??`kimi-k2.6:cloud`;e.registerProvider(`ollama`,{name:`Ollama`,baseUrl:process.env.DOOMPI_OLLAMA_BASE_URL??`http://localhost:11434/v1`,apiKey:`$OLLAMA_API_KEY`,api:`openai-completions`,models:[{id:t,name:t,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,supportsReasoningEffort:!1}}]})}module.exports=e;
2
- //# sourceMappingURL=ollamaProvider.cjs.map
1
+ const e=require(`../extensions/entries/ollamaProvider.cjs`);module.exports=e;
@@ -1,6 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/ollamaProvider.d.ts
4
- declare function registerOllama(pi: ExtensionAPI): void;
5
- export = registerOllama;
6
- //# sourceMappingURL=ollamaProvider.d.cts.map
1
+ import { registerOllama } from "../extensions/entries/ollamaProvider.cjs";
2
+ export = registerOllama;
@@ -1,7 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/ollamaProvider.d.ts
4
- declare function registerOllama(pi: ExtensionAPI): void;
5
- //#endregion
6
- export { registerOllama as default };
7
- //# sourceMappingURL=ollamaProvider.d.mts.map
1
+ import { registerOllama } from "../extensions/entries/ollamaProvider.mjs";
2
+ export { registerOllama as default };
@@ -1,2 +1 @@
1
- function e(e){let t=process.argv.find(e=>e.startsWith(`ollama/`))?.slice(7)??`kimi-k2.6:cloud`;e.registerProvider(`ollama`,{name:`Ollama`,baseUrl:process.env.DOOMPI_OLLAMA_BASE_URL??`http://localhost:11434/v1`,apiKey:`$OLLAMA_API_KEY`,api:`openai-completions`,models:[{id:t,name:t,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,supportsReasoningEffort:!1}}]})}export{e as default};
2
- //# sourceMappingURL=ollamaProvider.mjs.map
1
+ import e from"../extensions/entries/ollamaProvider.mjs";export{e as default};
@@ -1,2 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../logSinkTelemetry.cjs`);let n=require(`@agimon-ai/doompi-config`),r=require(`node:fs`);r=e.__toESM(r,1);function i(e,i=t.createHarnessTelemetry()){e.on(`before_agent_start`,async(e,a)=>{let{personaFile:o}=(0,n.requireDoomConfigContext)(a).harness;if(o)try{let t=r.default.readFileSync(o,`utf8`).trim();return t?{systemPrompt:`${e.systemPrompt}\n\n${t}`}:void 0}catch(e){let n=e instanceof Error?e.message:String(e);i.recordError(t.HARNESS_EVENT.personaReadFailed,e),process.stderr.write(`[pi-persona] could not read ${o}: ${n}\n`);return}})}module.exports=i;
2
- //# sourceMappingURL=persona.cjs.map
1
+ const e=require(`../extensions/entries/persona.cjs`);module.exports=e;
@@ -1,14 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.cjs";
2
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/persona.d.ts
5
- /**
6
- * Appends the selected profile's persona to the system prompt.
7
- *
8
- * The harness writes the assembled persona to a file in the run directory and
9
- * records the path in the harness state, so agents/ stays the single source of
10
- * persona material and is never copied into config.
11
- */
12
- declare function persona(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
13
- export = persona;
14
- //# sourceMappingURL=persona.d.cts.map
1
+ import { persona } from "../extensions/entries/persona.cjs";
2
+ export = persona;
@@ -1,15 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.mjs";
2
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/persona.d.ts
5
- /**
6
- * Appends the selected profile's persona to the system prompt.
7
- *
8
- * The harness writes the assembled persona to a file in the run directory and
9
- * records the path in the harness state, so agents/ stays the single source of
10
- * persona material and is never copied into config.
11
- */
12
- declare function persona(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
13
- //#endregion
14
- export { persona as default };
15
- //# sourceMappingURL=persona.d.mts.map
1
+ import { persona } from "../extensions/entries/persona.mjs";
2
+ export { persona as default };
@@ -1,2 +1 @@
1
- import{HARNESS_EVENT as e,createHarnessTelemetry as t}from"../logSinkTelemetry.mjs";import{requireDoomConfigContext as n}from"@agimon-ai/doompi-config";import r from"node:fs";function i(i,a=t()){i.on(`before_agent_start`,async(t,i)=>{let{personaFile:o}=n(i).harness;if(o)try{let e=r.readFileSync(o,`utf8`).trim();return e?{systemPrompt:`${t.systemPrompt}\n\n${e}`}:void 0}catch(t){let n=t instanceof Error?t.message:String(t);a.recordError(e.personaReadFailed,t),process.stderr.write(`[pi-persona] could not read ${o}: ${n}\n`);return}})}export{i as default};
2
- //# sourceMappingURL=persona.mjs.map
1
+ import e from"../extensions/entries/persona.mjs";export{e as default};
@@ -1,3 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../logSinkTelemetry.cjs`),t=require(`../config/harnessState.cjs`),n=require(`../services/matrixSwitcher.cjs`),r=require(`./components/matrixPicker.cjs`);let i=require(`@agimon-ai/doompi-config`),a=require(`@agimon-ai/doompi-config/profiles`);const o=`(none)`,s=`warning`,c=`info`,l=`.doom/profiles.yaml`;function u(e){return e.map(e=>({value:e.name,label:e.name,description:d(e)}))}function d(e){let t=Object.keys(e.env).sort();return t.length>0?`${e.persona} (env: ${t.join(`, `)})`:e.persona}function f(e){let t=Object.keys(e.env).sort();return[`Profile ${e.name}`,`Persona: ${e.persona}`,`Env: ${t.join(`, `)||o}`,`Already loaded.`].join(`
2
- `)}function p(d,p=e.createHarnessTelemetry()){d.registerCommand(`profile`,{description:`Show profiles and load a different persona and environment`,handler:async(m,h)=>{let g=(0,i.requireDoomConfigContext)(h).harness,_=(0,i.requireHarnessRoot)(g),v=g.profile,y;try{y=(0,a.loadProfiles)(_)}catch(t){let n=t instanceof Error?t.message:String(t);p.recordError(e.HARNESS_EVENT.profileLoadFailed,t),h.ui.notify(`Could not load ${l}: ${n}`,s);return}if(y.length===0){h.ui.notify(`No profiles found in ${l}.`,s);return}let b=`Profile (current: ${v??o})`,x=(h.mode===`tui`?await h.ui.custom((e,t,n,i)=>new r.MatrixPickerComponent({title:b,items:u(y),selected:v?[v]:[],multi:!1},t,n,i)):[await h.ui.select(b,y.map(e=>e.name))])?.[0],S=y.find(e=>e.name===x);if(S){if(S.name===v){h.ui.notify(f(S),c);return}h.ui.notify(await n.applyProfile(S,g),c),t.persistHarnessSelection(d,{...g,profile:S.name}),p.recordEvent(e.HARNESS_EVENT.profileApplied,{"harness.profile":S.name,...v?{"harness.profile.previous":v}:{}}),await h.waitForIdle(),await h.reload()}}})}exports.applyProfile=n.applyProfile,exports.default=p,exports.profileDescription=d,exports.profileItems=u,exports.profileSummary=f;
3
- //# sourceMappingURL=profile.cjs.map
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../extensions/entries/profile.cjs`);exports.applyProfile=e.applyProfile,exports.default=e,exports.profileDescription=e.profileDescription,exports.profileItems=e.profileItems,exports.profileSummary=e.profileSummary;
@@ -1,16 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.cjs";
2
- import { applyProfile } from "../services/matrixSwitcher.cjs";
3
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
4
- import { AgentProfile } from "@agimon-ai/doompi-config/profiles";
5
- import { SelectItem } from "@earendil-works/pi-tui";
6
-
7
- //#region src/entries/profile.d.ts
8
- /** Rows for the single-select profile picker. */
9
- declare function profileItems(profiles: AgentProfile[]): SelectItem[];
10
- declare function profileDescription(profile: AgentProfile): string;
11
- /** Shown when the picked profile is already active. */
12
- declare function profileSummary(profile: AgentProfile): string;
13
- declare function profileExtension(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
14
- //#endregion
15
- export { applyProfile, profileExtension as default, profileDescription, profileItems, profileSummary };
16
- //# sourceMappingURL=profile.d.cts.map
1
+ import { applyProfile, profileDescription, profileExtension, profileItems, profileSummary } from "../extensions/entries/profile.cjs";
2
+ export { applyProfile, profileExtension as default, profileDescription, profileItems, profileSummary };
@@ -1,16 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.mjs";
2
- import { applyProfile } from "../services/matrixSwitcher.mjs";
3
- import { AgentProfile } from "@agimon-ai/doompi-config/profiles";
4
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
5
- import { SelectItem } from "@earendil-works/pi-tui";
6
-
7
- //#region src/entries/profile.d.ts
8
- /** Rows for the single-select profile picker. */
9
- declare function profileItems(profiles: AgentProfile[]): SelectItem[];
10
- declare function profileDescription(profile: AgentProfile): string;
11
- /** Shown when the picked profile is already active. */
12
- declare function profileSummary(profile: AgentProfile): string;
13
- declare function profileExtension(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
14
- //#endregion
15
- export { applyProfile, profileExtension as default, profileDescription, profileItems, profileSummary };
16
- //# sourceMappingURL=profile.d.mts.map
1
+ import { applyProfile, profileDescription, profileExtension, profileItems, profileSummary } from "../extensions/entries/profile.mjs";
2
+ export { applyProfile, profileExtension as default, profileDescription, profileItems, profileSummary };
@@ -1,3 +1 @@
1
- import{HARNESS_EVENT as e,createHarnessTelemetry as t}from"../logSinkTelemetry.mjs";import{persistHarnessSelection as n,requireHarnessRoot as r}from"../config/harnessState.mjs";import{applyProfile as i}from"../services/matrixSwitcher.mjs";import{MatrixPickerComponent as a}from"./components/matrixPicker.mjs";import{requireDoomConfigContext as o}from"@agimon-ai/doompi-config";import{loadProfiles as s}from"@agimon-ai/doompi-config/profiles";const c=`(none)`,l=`warning`,u=`info`,d=`.doom/profiles.yaml`;function f(e){return e.map(e=>({value:e.name,label:e.name,description:p(e)}))}function p(e){let t=Object.keys(e.env).sort();return t.length>0?`${e.persona} (env: ${t.join(`, `)})`:e.persona}function m(e){let t=Object.keys(e.env).sort();return[`Profile ${e.name}`,`Persona: ${e.persona}`,`Env: ${t.join(`, `)||c}`,`Already loaded.`].join(`
2
- `)}function h(p,h=t()){p.registerCommand(`profile`,{description:`Show profiles and load a different persona and environment`,handler:async(t,g)=>{let _=o(g).harness,v=r(_),y=_.profile,b;try{b=s(v)}catch(t){let n=t instanceof Error?t.message:String(t);h.recordError(e.profileLoadFailed,t),g.ui.notify(`Could not load ${d}: ${n}`,l);return}if(b.length===0){g.ui.notify(`No profiles found in ${d}.`,l);return}let x=`Profile (current: ${y??c})`,S=(g.mode===`tui`?await g.ui.custom((e,t,n,r)=>new a({title:x,items:f(b),selected:y?[y]:[],multi:!1},t,n,r)):[await g.ui.select(x,b.map(e=>e.name))])?.[0],C=b.find(e=>e.name===S);if(C){if(C.name===y){g.ui.notify(m(C),u);return}g.ui.notify(await i(C,_),u),n(p,{..._,profile:C.name}),h.recordEvent(e.profileApplied,{"harness.profile":C.name,...y?{"harness.profile.previous":y}:{}}),await g.waitForIdle(),await g.reload()}}})}export{i as applyProfile,h as default,p as profileDescription,f as profileItems,m as profileSummary};
3
- //# sourceMappingURL=profile.mjs.map
1
+ import e,{applyProfile as t,profileDescription as n,profileItems as r,profileSummary as i}from"../extensions/entries/profile.mjs";export{t as applyProfile,e as default,n as profileDescription,r as profileItems,i as profileSummary};
@@ -1,9 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../logSinkTelemetry.cjs`),n=require(`../utils/toolNames.cjs`);let r=require(`@agimon-ai/doompi-config`),i=require(`node:fs`);i=e.__toESM(i,1);let a=require(`yaml`),o=require(`node:child_process`),s=require(`@agimon-ai/doompi-config/layeredConfig`);const c=`ESRCH`,l={sessionStart:`SessionStart`,preToolUse:`PreToolUse`,postToolUse:`PostToolUse`,stop:`Stop`,sessionEnd:`SessionEnd`};let u,d=[];const f=new Map;function p(e,t){let n=(0,r.requireDoomConfigContext)(e).harness;return{repoRoot:n.root??e.cwd,harness:n,telemetry:t,failures:[]}}function m(e,t,r,i){return{session_id:i,transcript_path:``,cwd:r,hook_event_name:t,tool_name:n.toClaudeToolName(e.toolName),tool_input:e.input,...e.type===`tool_result`?{tool_response:{success:!e.isError,content:e.content}}:{}}}async function h(e,n,r,i){let{repoRoot:a,telemetry:s}=r;return new Promise(r=>{let l=process.platform!==`win32`,u=(0,o.spawn)(`/bin/bash`,[`-c`,e.command],{cwd:a,env:{...process.env,CLAUDE_PROJECT_DIR:a,CODEX_REPO_ROOT:a,ORIGINAL_REPO_PATH:process.env.ORIGINAL_REPO_PATH??a,...i?{CLAUDE_PLUGIN_ROOT:i}:{}},stdio:[`pipe`,`pipe`,`pipe`],detached:l}),d=``,f=``,p=!1,m=!1,h=!1,g=null,_,v=e=>{try{if(l&&u.pid!==void 0){process.kill(-u.pid,e);return}u.kill(e)}catch(e){(e instanceof Error&&`code`in e?e.code:void 0)!==c&&process.emitWarning(`Could not signal repository hook process: ${String(e)}`)}},y=()=>{if(!l||u.pid===void 0)return!h;try{return process.kill(-u.pid,0),!0}catch(e){return(e instanceof Error&&`code`in e?e.code:void 0)!==c}},b=(e={})=>{p||(p=!0,clearTimeout(S),_&&clearTimeout(_),r(e))},x=()=>{let n=`Hook timed out after ${e.timeout??10} seconds.`;s?.recordWarning(t.HARNESS_EVENT.hookFailed,n,{"hook.reason":`timeout`,"hook.exit_code":g??-1}),process.stderr.write(`[pi-hook] advisory hook timed out: ${e.command}\n${f}`),b({failure:{command:e.command,message:n,reason:`timeout`}})},S=setTimeout(()=>{m=!0,v(`SIGTERM`),_=setTimeout(()=>{y()&&v(`SIGKILL`),x()},2e3)},(e.timeout??10)*1e3);u.stdout.on(`data`,e=>{d+=e.toString()}),u.stderr.on(`data`,e=>{f+=e.toString()}),u.once(`error`,n=>{m||(s?.recordError(t.HARNESS_EVENT.hookFailed,n,{"hook.reason":`spawn_failed`}),process.stderr.write(`[pi-hook] advisory hook failed: ${n.message}\n`),b({failure:{command:e.command,message:n.message,reason:`spawn_failed`}}))}),u.once(`exit`,n=>{if(h=!0,g=n,m)return;if(n!==0){let r=f.trim()||`Advisory hook exited with code ${n??`unknown`}`;s?.recordWarning(t.HARNESS_EVENT.hookFailed,r,{"hook.reason":`non_zero_exit`,"hook.exit_code":n??-1}),process.stderr.write(`[pi-hook] advisory hook failed (${n}): ${e.command}\n${f}`),b({failure:{command:e.command,message:r,reason:`non_zero_exit`}});return}let r=d.trim().split(/\r?\n/).reverse().find(e=>e.startsWith(`{`));if(!r){b();return}try{b({decision:JSON.parse(r)})}catch(n){s?.recordWarning(t.HARNESS_EVENT.hookFailed,n,{"hook.reason":`invalid_json`}),process.stderr.write(`[pi-hook] advisory hook returned invalid JSON: ${e.command}\n`),b({failure:{command:e.command,message:n instanceof Error?n.message:String(n),reason:`invalid_json`}})}}),u.stdin.end(JSON.stringify(n))})}function g(e){return e?.decision===`block`||e?.hookSpecificOutput?.permissionDecision===`deny`}function _(e){return e?.reason??e?.hookSpecificOutput?.reason}function v(e){let t=i.default.readFileSync(e,`utf8`),n=f.get(e);if(n?.source===t)return n.config;let r=JSON.parse(t);return f.set(e,{source:t,config:r}),r}function y(e,t,r){let i=[];for(let a of t.harness.pluginHooks){let o;try{o=v(a.configPath)}catch(e){t.failures.push({command:a.configPath,message:e instanceof Error?e.message:String(e),reason:`plugin_config`});continue}for(let t of o.hooks?.[e]??[])if(!(r&&t.matcher&&!new RegExp(t.matcher).test(n.toClaudeToolName(r))))for(let e of t.hooks??[])i.push({hook:e,root:a.pluginRoot})}return i}function b(e){let t=e.map(e=>`${e.baseDirectory} ${e.text}`).join(` `);if(u===t)return d;let n=new Map,r=0;for(let t of e){let e=(0,a.parse)(t.text)??{};for(let[i,a]of Object.entries(e.groups??{})){let e=[];for(let n of a.hooks??[])r+=1,n.pi&&e.push({...n.pi,event:n.event,order:n.pi.order??0,position:r,groupId:i,core:a.core===!0,baseDirectory:t.baseDirectory});n.set(i,{entries:e})}}let i=[...n.values()].flatMap(e=>e.entries);return i.sort((e,t)=>e.order-t.order||e.position-t.position),u=t,d=i,i}function x(e){let{repoRoot:n,harness:r,telemetry:a}=e,o=(0,s.doomConfigCandidates)(`hooks.yaml`,n),c=o.map(e=>e.filePath).join(` and `);try{let e=r.hookGroups,t=e===void 0?void 0:new Set(e);return b(o.filter(e=>i.default.existsSync(e.filePath)).map(e=>({baseDirectory:e.baseDirectory,text:i.default.readFileSync(e.filePath,`utf8`)}))).filter(e=>e.core||!t||t.has(e.groupId))}catch(n){let r=n instanceof Error?n.message:String(n);return a?.recordError(t.HARNESS_EVENT.hookRegistryReadFailed,n,{"hook.registry.source":`repository`}),process.stderr.write(`[pi-hook] could not read ${c}: ${r}\n`),e.failures.push({command:c,message:r,reason:`registry_read`}),[]}}function S(e,t,r){return x(t).filter(t=>t.event===e).filter(e=>!(e.skipInSubagent&&process.env.PI_SUBAGENT_CHILD)).filter(e=>!r||!e.matcher||new RegExp(e.matcher).test(n.toClaudeToolName(r))).map(e=>({hook:{command:e.command,timeout:e.timeout},root:e.baseDirectory}))}async function C(e,t,n,r,i,a){let o=[];try{for(let[s,c]of e.entries())r.hasUI&&r.ui.setStatus(i,`${a} (${s+1}/${e.length})...`),o.push(await h(c.hook,t,n,c.root))}finally{r.hasUI&&r.ui.setStatus(i,void 0)}return o}function w(e,t,n){return[...S(e,t,n).map(({hook:e,root:t})=>({hook:e,root:t})),...y(e,t,n).map(({hook:e,root:t})=>({hook:e,root:t}))]}function T(e){return e.flatMap(e=>e.decision?[e.decision]:[])}function E(e){return e.map(e=>e.hookSpecificOutput?.additionalContext).filter(e=>!!e)}function D(e,t){return[...e.failures,...t.flatMap(e=>e.failure?[e.failure]:[])]}function O(e){return[`One or more repository hooks did not complete, so their checks were not applied:`,...e.map(e=>`- ${e.command}: ${e.message}`),`Options:`,`- Inspect the hook command or configuration and rerun after correcting it.`,`- Continue only if the missed advisory check is acceptable.`,`- Ask the user before bypassing a hook that may enforce a guardrail.`].join(`
2
- `)}function k(e,t){t.length!==0&&e.sendMessage({customType:`repository-hook-failure`,content:O(t),display:!0},{deliverAs:`steer`})}function A(e,n=t.createHarnessTelemetry()){e.on(`session_start`,async(t,r)=>{let i=p(r,n),a=r.sessionManager.getSessionId(),o={session_id:a,cwd:i.repoRoot},s=await C(w(l.sessionStart,i),o,i,r,`repository-hooks:${a}:start`,`Running session-start hooks`);k(e,D(i,s));let c=E(T(s)).join(`
3
-
4
- `);c&&e.sendMessage({customType:`repository-hook-context`,content:c,display:!0},{deliverAs:`steer`})}),e.on(`tool_call`,async(t,r)=>{let i=p(r,n),a=m(t,l.preToolUse,i.repoRoot,r.sessionManager.getSessionId()),o=await C(w(l.preToolUse,i,t.toolName),a,i,r,`repository-hooks:${t.toolCallId}:pre`,`Running pre-tool hooks for ${t.toolName}`),s=T(o);k(e,D(i,o));let c=s.find(g);if(c)return{block:!0,reason:_(c)??`Blocked by repository hook`};let u=E(s).join(`
5
-
6
- `);if(u)return{block:!0,reason:u}}),e.on(`tool_result`,async(e,t)=>{let r=p(t,n),i=m(e,l.postToolUse,r.repoRoot,t.sessionManager.getSessionId()),a=await C(w(l.postToolUse,r,e.toolName),i,r,t,`repository-hooks:${e.toolCallId}:post`,`Running post-tool hooks for ${e.toolName}`),o=T(a),s=D(r,a),c=o.map(e=>e.hookSpecificOutput?.additionalContext??_(e)).filter(e=>!!e);if(s.length>0&&c.push(O(s)),c.length!==0)return{content:[...e.content,{type:`text`,text:c.join(`
7
-
8
- `)}],isError:e.isError||o.some(g)}}),e.on(`agent_settled`,async(e,t)=>{let r=p(t,n),i=t.sessionManager.getSessionId(),a={session_id:i,cwd:r.repoRoot};await C(w(l.stop,r),a,r,t,`repository-hooks:${i}:stop`,`Running stop hooks`)}),e.on(`session_shutdown`,async(e,t)=>{let r=p(t,n),i=t.sessionManager.getSessionId(),a={session_id:i,cwd:r.repoRoot};await C(y(l.sessionEnd,r).map(({hook:e,root:t})=>({hook:e,root:t})),a,r,t,`repository-hooks:${i}:end`,`Running session-end hooks`)})}module.exports=A;
9
- //# sourceMappingURL=repositoryHooks.cjs.map
1
+ const e=require(`../extensions/entries/repositoryHooks.cjs`);module.exports=e;
@@ -1,7 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.cjs";
2
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/repositoryHooks.d.ts
5
- declare function repositoryHooks(pi: ExtensionAPI, hookTelemetry?: HarnessTelemetry): void;
6
- export = repositoryHooks;
7
- //# sourceMappingURL=repositoryHooks.d.cts.map
1
+ import { repositoryHooks } from "../extensions/entries/repositoryHooks.cjs";
2
+ export = repositoryHooks;
@@ -1,8 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.mjs";
2
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/repositoryHooks.d.ts
5
- declare function repositoryHooks(pi: ExtensionAPI, hookTelemetry?: HarnessTelemetry): void;
6
- //#endregion
7
- export { repositoryHooks as default };
8
- //# sourceMappingURL=repositoryHooks.d.mts.map
1
+ import { repositoryHooks } from "../extensions/entries/repositoryHooks.mjs";
2
+ export { repositoryHooks as default };
@@ -1,9 +1 @@
1
- import{HARNESS_EVENT as e,createHarnessTelemetry as t}from"../logSinkTelemetry.mjs";import{toClaudeToolName as n}from"../utils/toolNames.mjs";import{requireDoomConfigContext as r}from"@agimon-ai/doompi-config";import i from"node:fs";import{parse as a}from"yaml";import{spawn as o}from"node:child_process";import{doomConfigCandidates as s}from"@agimon-ai/doompi-config/layeredConfig";const c=`ESRCH`,l={sessionStart:`SessionStart`,preToolUse:`PreToolUse`,postToolUse:`PostToolUse`,stop:`Stop`,sessionEnd:`SessionEnd`};let u,d=[];const f=new Map;function p(e,t){let n=r(e).harness;return{repoRoot:n.root??e.cwd,harness:n,telemetry:t,failures:[]}}function m(e,t,r,i){return{session_id:i,transcript_path:``,cwd:r,hook_event_name:t,tool_name:n(e.toolName),tool_input:e.input,...e.type===`tool_result`?{tool_response:{success:!e.isError,content:e.content}}:{}}}async function h(t,n,r,i){let{repoRoot:a,telemetry:s}=r;return new Promise(r=>{let l=process.platform!==`win32`,u=o(`/bin/bash`,[`-c`,t.command],{cwd:a,env:{...process.env,CLAUDE_PROJECT_DIR:a,CODEX_REPO_ROOT:a,ORIGINAL_REPO_PATH:process.env.ORIGINAL_REPO_PATH??a,...i?{CLAUDE_PLUGIN_ROOT:i}:{}},stdio:[`pipe`,`pipe`,`pipe`],detached:l}),d=``,f=``,p=!1,m=!1,h=!1,g=null,_,v=e=>{try{if(l&&u.pid!==void 0){process.kill(-u.pid,e);return}u.kill(e)}catch(e){(e instanceof Error&&`code`in e?e.code:void 0)!==c&&process.emitWarning(`Could not signal repository hook process: ${String(e)}`)}},y=()=>{if(!l||u.pid===void 0)return!h;try{return process.kill(-u.pid,0),!0}catch(e){return(e instanceof Error&&`code`in e?e.code:void 0)!==c}},b=(e={})=>{p||(p=!0,clearTimeout(S),_&&clearTimeout(_),r(e))},x=()=>{let n=`Hook timed out after ${t.timeout??10} seconds.`;s?.recordWarning(e.hookFailed,n,{"hook.reason":`timeout`,"hook.exit_code":g??-1}),process.stderr.write(`[pi-hook] advisory hook timed out: ${t.command}\n${f}`),b({failure:{command:t.command,message:n,reason:`timeout`}})},S=setTimeout(()=>{m=!0,v(`SIGTERM`),_=setTimeout(()=>{y()&&v(`SIGKILL`),x()},2e3)},(t.timeout??10)*1e3);u.stdout.on(`data`,e=>{d+=e.toString()}),u.stderr.on(`data`,e=>{f+=e.toString()}),u.once(`error`,n=>{m||(s?.recordError(e.hookFailed,n,{"hook.reason":`spawn_failed`}),process.stderr.write(`[pi-hook] advisory hook failed: ${n.message}\n`),b({failure:{command:t.command,message:n.message,reason:`spawn_failed`}}))}),u.once(`exit`,n=>{if(h=!0,g=n,m)return;if(n!==0){let r=f.trim()||`Advisory hook exited with code ${n??`unknown`}`;s?.recordWarning(e.hookFailed,r,{"hook.reason":`non_zero_exit`,"hook.exit_code":n??-1}),process.stderr.write(`[pi-hook] advisory hook failed (${n}): ${t.command}\n${f}`),b({failure:{command:t.command,message:r,reason:`non_zero_exit`}});return}let r=d.trim().split(/\r?\n/).reverse().find(e=>e.startsWith(`{`));if(!r){b();return}try{b({decision:JSON.parse(r)})}catch(n){s?.recordWarning(e.hookFailed,n,{"hook.reason":`invalid_json`}),process.stderr.write(`[pi-hook] advisory hook returned invalid JSON: ${t.command}\n`),b({failure:{command:t.command,message:n instanceof Error?n.message:String(n),reason:`invalid_json`}})}}),u.stdin.end(JSON.stringify(n))})}function g(e){return e?.decision===`block`||e?.hookSpecificOutput?.permissionDecision===`deny`}function _(e){return e?.reason??e?.hookSpecificOutput?.reason}function v(e){let t=i.readFileSync(e,`utf8`),n=f.get(e);if(n?.source===t)return n.config;let r=JSON.parse(t);return f.set(e,{source:t,config:r}),r}function y(e,t,r){let i=[];for(let a of t.harness.pluginHooks){let o;try{o=v(a.configPath)}catch(e){t.failures.push({command:a.configPath,message:e instanceof Error?e.message:String(e),reason:`plugin_config`});continue}for(let t of o.hooks?.[e]??[])if(!(r&&t.matcher&&!new RegExp(t.matcher).test(n(r))))for(let e of t.hooks??[])i.push({hook:e,root:a.pluginRoot})}return i}function b(e){let t=e.map(e=>`${e.baseDirectory} ${e.text}`).join(` `);if(u===t)return d;let n=new Map,r=0;for(let t of e){let e=a(t.text)??{};for(let[i,a]of Object.entries(e.groups??{})){let e=[];for(let n of a.hooks??[])r+=1,n.pi&&e.push({...n.pi,event:n.event,order:n.pi.order??0,position:r,groupId:i,core:a.core===!0,baseDirectory:t.baseDirectory});n.set(i,{entries:e})}}let i=[...n.values()].flatMap(e=>e.entries);return i.sort((e,t)=>e.order-t.order||e.position-t.position),u=t,d=i,i}function x(t){let{repoRoot:n,harness:r,telemetry:a}=t,o=s(`hooks.yaml`,n),c=o.map(e=>e.filePath).join(` and `);try{let e=r.hookGroups,t=e===void 0?void 0:new Set(e);return b(o.filter(e=>i.existsSync(e.filePath)).map(e=>({baseDirectory:e.baseDirectory,text:i.readFileSync(e.filePath,`utf8`)}))).filter(e=>e.core||!t||t.has(e.groupId))}catch(n){let r=n instanceof Error?n.message:String(n);return a?.recordError(e.hookRegistryReadFailed,n,{"hook.registry.source":`repository`}),process.stderr.write(`[pi-hook] could not read ${c}: ${r}\n`),t.failures.push({command:c,message:r,reason:`registry_read`}),[]}}function S(e,t,r){return x(t).filter(t=>t.event===e).filter(e=>!(e.skipInSubagent&&process.env.PI_SUBAGENT_CHILD)).filter(e=>!r||!e.matcher||new RegExp(e.matcher).test(n(r))).map(e=>({hook:{command:e.command,timeout:e.timeout},root:e.baseDirectory}))}async function C(e,t,n,r,i,a){let o=[];try{for(let[s,c]of e.entries())r.hasUI&&r.ui.setStatus(i,`${a} (${s+1}/${e.length})...`),o.push(await h(c.hook,t,n,c.root))}finally{r.hasUI&&r.ui.setStatus(i,void 0)}return o}function w(e,t,n){return[...S(e,t,n).map(({hook:e,root:t})=>({hook:e,root:t})),...y(e,t,n).map(({hook:e,root:t})=>({hook:e,root:t}))]}function T(e){return e.flatMap(e=>e.decision?[e.decision]:[])}function E(e){return e.map(e=>e.hookSpecificOutput?.additionalContext).filter(e=>!!e)}function D(e,t){return[...e.failures,...t.flatMap(e=>e.failure?[e.failure]:[])]}function O(e){return[`One or more repository hooks did not complete, so their checks were not applied:`,...e.map(e=>`- ${e.command}: ${e.message}`),`Options:`,`- Inspect the hook command or configuration and rerun after correcting it.`,`- Continue only if the missed advisory check is acceptable.`,`- Ask the user before bypassing a hook that may enforce a guardrail.`].join(`
2
- `)}function k(e,t){t.length!==0&&e.sendMessage({customType:`repository-hook-failure`,content:O(t),display:!0},{deliverAs:`steer`})}function A(e,n=t()){e.on(`session_start`,async(t,r)=>{let i=p(r,n),a=r.sessionManager.getSessionId(),o={session_id:a,cwd:i.repoRoot},s=await C(w(l.sessionStart,i),o,i,r,`repository-hooks:${a}:start`,`Running session-start hooks`);k(e,D(i,s));let c=E(T(s)).join(`
3
-
4
- `);c&&e.sendMessage({customType:`repository-hook-context`,content:c,display:!0},{deliverAs:`steer`})}),e.on(`tool_call`,async(t,r)=>{let i=p(r,n),a=m(t,l.preToolUse,i.repoRoot,r.sessionManager.getSessionId()),o=await C(w(l.preToolUse,i,t.toolName),a,i,r,`repository-hooks:${t.toolCallId}:pre`,`Running pre-tool hooks for ${t.toolName}`),s=T(o);k(e,D(i,o));let c=s.find(g);if(c)return{block:!0,reason:_(c)??`Blocked by repository hook`};let u=E(s).join(`
5
-
6
- `);if(u)return{block:!0,reason:u}}),e.on(`tool_result`,async(e,t)=>{let r=p(t,n),i=m(e,l.postToolUse,r.repoRoot,t.sessionManager.getSessionId()),a=await C(w(l.postToolUse,r,e.toolName),i,r,t,`repository-hooks:${e.toolCallId}:post`,`Running post-tool hooks for ${e.toolName}`),o=T(a),s=D(r,a),c=o.map(e=>e.hookSpecificOutput?.additionalContext??_(e)).filter(e=>!!e);if(s.length>0&&c.push(O(s)),c.length!==0)return{content:[...e.content,{type:`text`,text:c.join(`
7
-
8
- `)}],isError:e.isError||o.some(g)}}),e.on(`agent_settled`,async(e,t)=>{let r=p(t,n),i=t.sessionManager.getSessionId(),a={session_id:i,cwd:r.repoRoot};await C(w(l.stop,r),a,r,t,`repository-hooks:${i}:stop`,`Running stop hooks`)}),e.on(`session_shutdown`,async(e,t)=>{let r=p(t,n),i=t.sessionManager.getSessionId(),a={session_id:i,cwd:r.repoRoot};await C(y(l.sessionEnd,r).map(({hook:e,root:t})=>({hook:e,root:t})),a,r,t,`repository-hooks:${i}:end`,`Running session-end hooks`)})}export{A as default};
9
- //# sourceMappingURL=repositoryHooks.mjs.map
1
+ import e from"../extensions/entries/repositoryHooks.mjs";export{e as default};
@@ -1,2 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../_virtual/_rolldown/runtime.cjs`),require(`../config/harnessState.cjs`);const e=require(`../services/skillCatalog.cjs`),t=require(`./components/skillsOverlay.cjs`),n=require(`../services/skillSources.cjs`);let r=require(`@agimon-ai/doompi-config`),i=require(`@agimon-ai/doompi-ui/leader`);const a=`skills`,o={source:`@agimon-ai/doompi`,bindings:[{id:`skills.browse`,path:[{key:`e`,label:`extension`,order:50},{key:`s`,label:`skills`,detail:`browse catalog`}],command:{name:a}}]};function s(e){return`/skill:${e} `}function c(c){let l=n.provideSkillSources(c);(0,i.registerDoomLeaderContribution)(c,o),c.registerCommand(a,{description:`Browse the skills this session loaded, and what other domains would add`,handler:async(n,i)=>{if(!i.hasUI||i.mode!==`tui`){i.ui.notify(`/skills requires interactive mode`,`error`);return}let a=(0,r.requireDoomConfigContext)(i).harness,o=(0,r.requireHarnessRoot)(a),c=await t.openSkillsOverlay(i,{catalog:await e.buildSkillCatalog({repoRoot:o,activeSkillDirectories:a.skillDirectories,extensionSources:l.list()}),repoRoot:o});if(!c)return;let{skill:u}=c;i.ui.setEditorText(s(u.name)),i.ui.notify(`Loaded ${u.name} into the prompt. Press enter to run it.`,`info`)}})}exports.SKILLS_LEADER_CONTRIBUTION=o,exports.default=c,exports.skillInvocation=s;
2
- //# sourceMappingURL=skills.cjs.map
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../extensions/entries/skills.cjs`);exports.SKILLS_LEADER_CONTRIBUTION=e.SKILLS_LEADER_CONTRIBUTION,exports.default=e,exports.skillInvocation=e.skillInvocation,exports.skillsExtension=e;
@@ -1,34 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/skills.d.ts
4
- declare const SKILLS_LEADER_CONTRIBUTION: {
5
- source: string;
6
- bindings: {
7
- id: string;
8
- path: [{
9
- key: string;
10
- label: string;
11
- order: number;
12
- }, {
13
- key: string;
14
- label: string;
15
- detail: string;
16
- }];
17
- command: {
18
- name: string;
19
- };
20
- }[];
21
- };
22
- /**
23
- * Prefills the draft rather than submitting it.
24
- *
25
- * `/skill:<name>` is expanded by Pi inside `prompt()`, which only the editor's
26
- * own submission path reaches: `sendUserMessage` sets `expandPromptTemplates`
27
- * false and would deliver the literal text. Leaving the command in the editor
28
- * keeps the expansion and costs one keystroke.
29
- */
30
- declare function skillInvocation(name: string): string;
31
- declare function skillsExtension(pi: ExtensionAPI): void;
32
- //#endregion
33
- export { SKILLS_LEADER_CONTRIBUTION, skillsExtension as default, skillInvocation };
34
- //# sourceMappingURL=skills.d.cts.map
1
+ import { SKILLS_LEADER_CONTRIBUTION, skillInvocation, skillsExtension } from "../extensions/entries/skills.cjs";
2
+ export { SKILLS_LEADER_CONTRIBUTION, skillsExtension as default, skillInvocation, skillsExtension };
@@ -1,34 +1,2 @@
1
- import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
-
3
- //#region src/entries/skills.d.ts
4
- declare const SKILLS_LEADER_CONTRIBUTION: {
5
- source: string;
6
- bindings: {
7
- id: string;
8
- path: [{
9
- key: string;
10
- label: string;
11
- order: number;
12
- }, {
13
- key: string;
14
- label: string;
15
- detail: string;
16
- }];
17
- command: {
18
- name: string;
19
- };
20
- }[];
21
- };
22
- /**
23
- * Prefills the draft rather than submitting it.
24
- *
25
- * `/skill:<name>` is expanded by Pi inside `prompt()`, which only the editor's
26
- * own submission path reaches: `sendUserMessage` sets `expandPromptTemplates`
27
- * false and would deliver the literal text. Leaving the command in the editor
28
- * keeps the expansion and costs one keystroke.
29
- */
30
- declare function skillInvocation(name: string): string;
31
- declare function skillsExtension(pi: ExtensionAPI): void;
32
- //#endregion
33
- export { SKILLS_LEADER_CONTRIBUTION, skillsExtension as default, skillInvocation };
34
- //# sourceMappingURL=skills.d.mts.map
1
+ import { SKILLS_LEADER_CONTRIBUTION, skillInvocation, skillsExtension } from "../extensions/entries/skills.mjs";
2
+ export { SKILLS_LEADER_CONTRIBUTION, skillsExtension as default, skillInvocation, skillsExtension };
@@ -1,2 +1 @@
1
- import{requireHarnessRoot as e}from"../config/harnessState.mjs";import{buildSkillCatalog as t}from"../services/skillCatalog.mjs";import{openSkillsOverlay as n}from"./components/skillsOverlay.mjs";import{provideSkillSources as r}from"../services/skillSources.mjs";import{requireDoomConfigContext as i}from"@agimon-ai/doompi-config";import{registerDoomLeaderContribution as a}from"@agimon-ai/doompi-ui/leader";const o=`skills`,s={source:`@agimon-ai/doompi`,bindings:[{id:`skills.browse`,path:[{key:`e`,label:`extension`,order:50},{key:`s`,label:`skills`,detail:`browse catalog`}],command:{name:o}}]};function c(e){return`/skill:${e} `}function l(l){let u=r(l);a(l,s),l.registerCommand(o,{description:`Browse the skills this session loaded, and what other domains would add`,handler:async(r,a)=>{if(!a.hasUI||a.mode!==`tui`){a.ui.notify(`/skills requires interactive mode`,`error`);return}let o=i(a).harness,s=e(o),l=await n(a,{catalog:await t({repoRoot:s,activeSkillDirectories:o.skillDirectories,extensionSources:u.list()}),repoRoot:s});if(!l)return;let{skill:d}=l;a.ui.setEditorText(c(d.name)),a.ui.notify(`Loaded ${d.name} into the prompt. Press enter to run it.`,`info`)}})}export{s as SKILLS_LEADER_CONTRIBUTION,l as default,c as skillInvocation};
2
- //# sourceMappingURL=skills.mjs.map
1
+ import e,{SKILLS_LEADER_CONTRIBUTION as t,skillInvocation as n}from"../extensions/entries/skills.mjs";export{t as SKILLS_LEADER_CONTRIBUTION,e as default,n as skillInvocation,e as skillsExtension};
@@ -1,4 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../logSinkTelemetry.cjs`);let n=require(`node:path`);n=e.__toESM(n,1);let r=require(`@agimon-ai/doompi-config`),i=require(`node:fs`);i=e.__toESM(i,1);let a=require(`node:os`);a=e.__toESM(a,1);let o=require(`node:child_process`);const s=`style-system`,c=`${s}.config.yaml`,l=`Playground`,u=/\.stories\.(?:ts|tsx)$/,d=/export\s+const\s+([A-Z][A-Za-z0-9_]*)\b/g;function f(e,t){if(e.isError||e.toolName!==`write`&&e.toolName!==`edit`)return;let r=e.input;if(!(typeof r.path!=`string`||!u.test(r.path)))return n.default.resolve(t,r.path)}function p(e,t){let r=n.default.dirname(e),a=n.default.resolve(t);for(;r.startsWith(a);){if(i.default.existsSync(n.default.join(r,c)))return n.default.relative(a,r)||`.`;let e=n.default.dirname(r);if(e===r)break;r=e}}function m(e,t){return t.match(/title\s*:\s*['"]([^'"]+)['"]/)?.[1]?.trim()||n.default.basename(e).replace(/\.stories\.(?:ts|tsx)$/,``)}function h(e){if(/export\s+const\s+Playground\b/.test(e))return l;let t=d.exec(e)?.[1];return d.lastIndex=0,t??l}function g(e,t){if(!u.test(e)||!i.default.existsSync(e))return;let n=p(e,t);if(!n)return;let r=i.default.readFileSync(e,`utf8`);return{storyPath:e,projectPath:n,componentName:m(e,r),storyName:h(r)}}function _(e){let t=e.trim();if(!t)throw Error(`${s} returned no output`);return JSON.parse(t)}async function v(e,t){let n=[`exec`,s,`get-ui-component`,`--component-name`,e.componentName,`--app-path`,e.projectPath,`--story-name`,e.storyName];return new Promise((e,r)=>{let i=(0,o.spawn)(`pnpm`,n,{cwd:t,env:{...process.env,LOG_LEVEL:process.env.LOG_LEVEL??`info`},stdio:[`ignore`,`pipe`,`pipe`]}),a=``,c=``,l=setTimeout(()=>i.kill(`SIGTERM`),12e4);i.stdout.on(`data`,e=>{a+=e.toString()}),i.stderr.on(`data`,e=>{c+=e.toString()}),i.once(`error`,e=>{clearTimeout(l),r(e)}),i.once(`exit`,t=>{if(clearTimeout(l),t!==0){r(Error(c.trim()||`${s} exited with code ${t??`unknown`}`));return}try{e(_(a))}catch(e){r(e)}})})}async function y(e,t,r=i.default.mkdtempSync(n.default.join(a.default.tmpdir(),`agent-harness-style-system-`))){let o=n.default.join(r,`${s}-visuals`);await i.default.promises.mkdir(o,{recursive:!0,mode:448});let c=n.default.basename(t.storyPath).replace(/[^a-zA-Z0-9.-]/g,`-`).replace(/\.stories\./,`.`),l=n.default.join(o,`${Date.now()}-${c}.png`);return await i.default.promises.copyFile(e,l),await i.default.promises.chmod(l,384),l}function b(e,t,n){return[`Style-system visual generated for the story you just changed.`,...[`Image path: ${n}`,`Story file: ${t.storyFilePath??e.storyPath}`,`Component: ${t.componentTitle??e.componentName}`,`Story: ${t.renderedStory??e.storyName}`,t.colorScheme?`Color scheme: ${t.colorScheme}`:void 0,t.dimensions?`Dimensions: ${t.dimensions}`:void 0].filter(e=>!!e),`The image is saved and ready to inspect: call the read tool on the image path above to view it.`,`If the layout, spacing, color, overflow, or hierarchy looks wrong, adjust the UI and story, then let this hook render it again.`].join(`
2
- `)}function x(e,t){let n=t instanceof Error?t.message:String(t);return[`Your file change was applied, but ${s} could not generate a visual for it.`,`Story file: ${e.storyPath}`,`Command: pnpm exec ${s} get-ui-component --component-name ${JSON.stringify(e.componentName)} --app-path ${JSON.stringify(e.projectPath)} --story-name ${JSON.stringify(e.storyName)}`,`Error: ${n}`,`Do not treat the UI as visually verified. Run the command above to investigate.`].join(`
3
- `)}function S(e,o=t.createHarnessTelemetry()){e.on(`tool_result`,async(e,c)=>{let l=f(e,c.cwd);if(!l)return;let u=(0,r.requireDoomConfigContext)(c).harness,d=u.root??c.cwd,p=g(l,d);if(!p)return;let m=`style-system:${e.toolCallId}`;c.hasUI&&c.ui.setStatus(m,`Rendering ${p.componentName} visual...`);try{let t=await v(p,d);if(!t.imagePath)throw Error(`${s} did not return an imagePath`);let r=await y(t.imagePath,p,u.temporaryDirectory??i.default.mkdtempSync(n.default.join(a.default.tmpdir(),`agent-harness-style-system-`)));return{content:[...e.content,{type:`text`,text:b(p,t,r)}]}}catch(n){return o.recordWarning(t.HARNESS_EVENT.styleSystemRenderFailed,n,{"style_system.component":p.componentName}),{content:[...e.content,{type:`text`,text:x(p,n)}]}}finally{c.hasUI&&c.ui.setStatus(m,void 0)}})}exports.copyImageToHarnessTemp=y,exports.default=S,exports.eventPath=f,exports.failureMessage=x,exports.inferStoryRenderRequest=g,exports.parseStyleSystemOutput=_,exports.successMessage=b;
4
- //# sourceMappingURL=styleSystem.cjs.map
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../extensions/entries/styleSystem.cjs`);exports.copyImageToHarnessTemp=e.copyImageToHarnessTemp,exports.default=e,exports.eventPath=e.eventPath,exports.failureMessage=e.failureMessage,exports.inferStoryRenderRequest=e.inferStoryRenderRequest,exports.parseStyleSystemOutput=e.parseStyleSystemOutput,exports.successMessage=e.successMessage;
@@ -1,32 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.cjs";
2
- import { ExtensionAPI, ToolResultEvent } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/styleSystem.d.ts
5
- interface StoryRenderRequest {
6
- storyPath: string;
7
- projectPath: string;
8
- componentName: string;
9
- storyName: string;
10
- }
11
- interface StyleSystemResult {
12
- imagePath?: string;
13
- storyFilePath?: string;
14
- componentTitle?: string;
15
- renderedStory?: string;
16
- colorScheme?: string;
17
- viewport?: {
18
- width: number;
19
- height: number;
20
- };
21
- dimensions?: string;
22
- }
23
- declare function eventPath(event: ToolResultEvent, cwd: string): string | undefined;
24
- declare function inferStoryRenderRequest(storyPath: string, root: string): StoryRenderRequest | undefined;
25
- declare function parseStyleSystemOutput(stdout: string): StyleSystemResult;
26
- declare function copyImageToHarnessTemp(imagePath: string, request: StoryRenderRequest, outputDirectory?: string): Promise<string>;
27
- declare function successMessage(request: StoryRenderRequest, result: StyleSystemResult, copiedImagePath: string): string;
28
- declare function failureMessage(request: StoryRenderRequest, error: unknown): string;
29
- declare function styleSystemVisuals(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
30
- //#endregion
31
- export { copyImageToHarnessTemp, styleSystemVisuals as default, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, successMessage };
32
- //# sourceMappingURL=styleSystem.d.cts.map
1
+ import { copyImageToHarnessTemp, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, styleSystemVisuals, successMessage } from "../extensions/entries/styleSystem.cjs";
2
+ export { copyImageToHarnessTemp, styleSystemVisuals as default, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, successMessage };
@@ -1,32 +1,2 @@
1
- import { HarnessTelemetry } from "../logSinkTelemetry.mjs";
2
- import { ExtensionAPI, ToolResultEvent } from "@earendil-works/pi-coding-agent";
3
-
4
- //#region src/entries/styleSystem.d.ts
5
- interface StoryRenderRequest {
6
- storyPath: string;
7
- projectPath: string;
8
- componentName: string;
9
- storyName: string;
10
- }
11
- interface StyleSystemResult {
12
- imagePath?: string;
13
- storyFilePath?: string;
14
- componentTitle?: string;
15
- renderedStory?: string;
16
- colorScheme?: string;
17
- viewport?: {
18
- width: number;
19
- height: number;
20
- };
21
- dimensions?: string;
22
- }
23
- declare function eventPath(event: ToolResultEvent, cwd: string): string | undefined;
24
- declare function inferStoryRenderRequest(storyPath: string, root: string): StoryRenderRequest | undefined;
25
- declare function parseStyleSystemOutput(stdout: string): StyleSystemResult;
26
- declare function copyImageToHarnessTemp(imagePath: string, request: StoryRenderRequest, outputDirectory?: string): Promise<string>;
27
- declare function successMessage(request: StoryRenderRequest, result: StyleSystemResult, copiedImagePath: string): string;
28
- declare function failureMessage(request: StoryRenderRequest, error: unknown): string;
29
- declare function styleSystemVisuals(pi: ExtensionAPI, telemetry?: HarnessTelemetry): void;
30
- //#endregion
31
- export { copyImageToHarnessTemp, styleSystemVisuals as default, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, successMessage };
32
- //# sourceMappingURL=styleSystem.d.mts.map
1
+ import { copyImageToHarnessTemp, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, styleSystemVisuals, successMessage } from "../extensions/entries/styleSystem.mjs";
2
+ export { copyImageToHarnessTemp, styleSystemVisuals as default, eventPath, failureMessage, inferStoryRenderRequest, parseStyleSystemOutput, successMessage };
@@ -1,4 +1 @@
1
- import{HARNESS_EVENT as e,createHarnessTelemetry as t}from"../logSinkTelemetry.mjs";import n from"node:path";import{requireDoomConfigContext as r}from"@agimon-ai/doompi-config";import i from"node:fs";import a from"node:os";import{spawn as o}from"node:child_process";const s=`style-system`,c=`${s}.config.yaml`,l=`Playground`,u=/\.stories\.(?:ts|tsx)$/,d=/export\s+const\s+([A-Z][A-Za-z0-9_]*)\b/g;function f(e,t){if(e.isError||e.toolName!==`write`&&e.toolName!==`edit`)return;let r=e.input;if(!(typeof r.path!=`string`||!u.test(r.path)))return n.resolve(t,r.path)}function p(e,t){let r=n.dirname(e),a=n.resolve(t);for(;r.startsWith(a);){if(i.existsSync(n.join(r,c)))return n.relative(a,r)||`.`;let e=n.dirname(r);if(e===r)break;r=e}}function m(e,t){return t.match(/title\s*:\s*['"]([^'"]+)['"]/)?.[1]?.trim()||n.basename(e).replace(/\.stories\.(?:ts|tsx)$/,``)}function h(e){if(/export\s+const\s+Playground\b/.test(e))return l;let t=d.exec(e)?.[1];return d.lastIndex=0,t??l}function g(e,t){if(!u.test(e)||!i.existsSync(e))return;let n=p(e,t);if(!n)return;let r=i.readFileSync(e,`utf8`);return{storyPath:e,projectPath:n,componentName:m(e,r),storyName:h(r)}}function _(e){let t=e.trim();if(!t)throw Error(`${s} returned no output`);return JSON.parse(t)}async function v(e,t){let n=[`exec`,s,`get-ui-component`,`--component-name`,e.componentName,`--app-path`,e.projectPath,`--story-name`,e.storyName];return new Promise((e,r)=>{let i=o(`pnpm`,n,{cwd:t,env:{...process.env,LOG_LEVEL:process.env.LOG_LEVEL??`info`},stdio:[`ignore`,`pipe`,`pipe`]}),a=``,c=``,l=setTimeout(()=>i.kill(`SIGTERM`),12e4);i.stdout.on(`data`,e=>{a+=e.toString()}),i.stderr.on(`data`,e=>{c+=e.toString()}),i.once(`error`,e=>{clearTimeout(l),r(e)}),i.once(`exit`,t=>{if(clearTimeout(l),t!==0){r(Error(c.trim()||`${s} exited with code ${t??`unknown`}`));return}try{e(_(a))}catch(e){r(e)}})})}async function y(e,t,r=i.mkdtempSync(n.join(a.tmpdir(),`agent-harness-style-system-`))){let o=n.join(r,`${s}-visuals`);await i.promises.mkdir(o,{recursive:!0,mode:448});let c=n.basename(t.storyPath).replace(/[^a-zA-Z0-9.-]/g,`-`).replace(/\.stories\./,`.`),l=n.join(o,`${Date.now()}-${c}.png`);return await i.promises.copyFile(e,l),await i.promises.chmod(l,384),l}function b(e,t,n){return[`Style-system visual generated for the story you just changed.`,...[`Image path: ${n}`,`Story file: ${t.storyFilePath??e.storyPath}`,`Component: ${t.componentTitle??e.componentName}`,`Story: ${t.renderedStory??e.storyName}`,t.colorScheme?`Color scheme: ${t.colorScheme}`:void 0,t.dimensions?`Dimensions: ${t.dimensions}`:void 0].filter(e=>!!e),`The image is saved and ready to inspect: call the read tool on the image path above to view it.`,`If the layout, spacing, color, overflow, or hierarchy looks wrong, adjust the UI and story, then let this hook render it again.`].join(`
2
- `)}function x(e,t){let n=t instanceof Error?t.message:String(t);return[`Your file change was applied, but ${s} could not generate a visual for it.`,`Story file: ${e.storyPath}`,`Command: pnpm exec ${s} get-ui-component --component-name ${JSON.stringify(e.componentName)} --app-path ${JSON.stringify(e.projectPath)} --story-name ${JSON.stringify(e.storyName)}`,`Error: ${n}`,`Do not treat the UI as visually verified. Run the command above to investigate.`].join(`
3
- `)}function S(o,c=t()){o.on(`tool_result`,async(t,o)=>{let l=f(t,o.cwd);if(!l)return;let u=r(o).harness,d=u.root??o.cwd,p=g(l,d);if(!p)return;let m=`style-system:${t.toolCallId}`;o.hasUI&&o.ui.setStatus(m,`Rendering ${p.componentName} visual...`);try{let e=await v(p,d);if(!e.imagePath)throw Error(`${s} did not return an imagePath`);let r=await y(e.imagePath,p,u.temporaryDirectory??i.mkdtempSync(n.join(a.tmpdir(),`agent-harness-style-system-`)));return{content:[...t.content,{type:`text`,text:b(p,e,r)}]}}catch(n){return c.recordWarning(e.styleSystemRenderFailed,n,{"style_system.component":p.componentName}),{content:[...t.content,{type:`text`,text:x(p,n)}]}}finally{o.hasUI&&o.ui.setStatus(m,void 0)}})}export{y as copyImageToHarnessTemp,S as default,f as eventPath,x as failureMessage,g as inferStoryRenderRequest,_ as parseStyleSystemOutput,b as successMessage};
4
- //# sourceMappingURL=styleSystem.mjs.map
1
+ import e,{copyImageToHarnessTemp as t,eventPath as n,failureMessage as r,inferStoryRenderRequest as i,parseStyleSystemOutput as a,successMessage as o}from"../extensions/entries/styleSystem.mjs";export{t as copyImageToHarnessTemp,e as default,n as eventPath,r as failureMessage,i as inferStoryRenderRequest,a as parseStyleSystemOutput,o as successMessage};
@@ -0,0 +1,2 @@
1
+ function e(e){let t,n=()=>{t&&=(clearTimeout(t),void 0)};e.on(`input`,()=>{n()}),e.on(`agent_start`,()=>{n()}),e.on(`session_shutdown`,()=>{n()});let r=(e,n)=>{t=setTimeout(()=>{if(t=void 0,!e.hasPendingMessages()){if(e.isIdle()){e.shutdown();return}r(e,100)}},n)};e.on(`agent_settled`,(e,t)=>{n(),!t.hasPendingMessages()&&r(t,5e3)})}exports.default=e;
2
+ //# sourceMappingURL=autoStop.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoStop.cjs","names":[],"sources":["../../../src/extensions/entries/autoStop.ts"],"sourcesContent":["import type { ExtensionAPI, ExtensionContext } from '@earendil-works/pi-coding-agent';\n\nconst AUTO_STOP_COOLDOWN_MS = 5_000;\nconst AUTO_STOP_IDLE_RETRY_MS = 100;\n\nexport function autoStop(pi: ExtensionAPI): void {\n let shutdownTimer: NodeJS.Timeout | undefined;\n\n const cancelScheduledShutdown = () => {\n if (!shutdownTimer) return;\n clearTimeout(shutdownTimer);\n shutdownTimer = undefined;\n };\n\n pi.on('input', () => {\n cancelScheduledShutdown();\n });\n\n pi.on('agent_start', () => {\n cancelScheduledShutdown();\n });\n\n pi.on('session_shutdown', () => {\n cancelScheduledShutdown();\n });\n\n const scheduleShutdown = (context: ExtensionContext, delayMs: number): void => {\n shutdownTimer = setTimeout(() => {\n shutdownTimer = undefined;\n if (context.hasPendingMessages()) return;\n if (context.isIdle()) {\n context.shutdown();\n return;\n }\n scheduleShutdown(context, AUTO_STOP_IDLE_RETRY_MS);\n }, delayMs);\n };\n\n pi.on('agent_settled', (_event, context) => {\n cancelScheduledShutdown();\n if (context.hasPendingMessages()) return;\n scheduleShutdown(context, AUTO_STOP_COOLDOWN_MS);\n });\n}\n\nexport default autoStop;\n"],"mappings":"AAKA,SAAgB,EAAS,EAAwB,CAC/C,IAAI,EAEE,MAAgC,CAC/B,AAEL,KADA,aAAa,EAAc,CACX,IAAA,KAGlB,EAAG,GAAG,YAAe,CACnB,GAAyB,EACzB,CAEF,EAAG,GAAG,kBAAqB,CACzB,GAAyB,EACzB,CAEF,EAAG,GAAG,uBAA0B,CAC9B,GAAyB,EACzB,CAEF,IAAM,GAAoB,EAA2B,IAA0B,CAC7E,EAAgB,eAAiB,CAC/B,KAAgB,IAAA,GACZ,GAAQ,oBAAoB,CAChC,IAAI,EAAQ,QAAQ,CAAE,CACpB,EAAQ,UAAU,CAClB,OAEF,EAAiB,EAAS,IAAwB,GACjD,EAAQ,EAGb,EAAG,GAAG,iBAAkB,EAAQ,IAAY,CAC1C,GAAyB,CACrB,GAAQ,oBAAoB,EAChC,EAAiB,EAAS,IAAsB,EAChD"}
@@ -0,0 +1,7 @@
1
+ import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+
3
+ //#region src/extensions/entries/autoStop.d.ts
4
+ declare function autoStop(pi: ExtensionAPI): void;
5
+ //#endregion
6
+ export { autoStop };
7
+ //# sourceMappingURL=autoStop.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoStop.d.cts","names":[],"sources":["../../../src/extensions/entries/autoStop.ts"],"mappings":";;;iBAKgB,QAAA,CAAS,EAAA,EAAI,YAAA"}
@@ -0,0 +1,7 @@
1
+ import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+
3
+ //#region src/extensions/entries/autoStop.d.ts
4
+ declare function autoStop(pi: ExtensionAPI): void;
5
+ //#endregion
6
+ export { autoStop };
7
+ //# sourceMappingURL=autoStop.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoStop.d.mts","names":[],"sources":["../../../src/extensions/entries/autoStop.ts"],"mappings":";;;iBAKgB,QAAA,CAAS,EAAA,EAAI,YAAA"}
@@ -0,0 +1,2 @@
1
+ function e(e){let t,n=()=>{t&&=(clearTimeout(t),void 0)};e.on(`input`,()=>{n()}),e.on(`agent_start`,()=>{n()}),e.on(`session_shutdown`,()=>{n()});let r=(e,n)=>{t=setTimeout(()=>{if(t=void 0,!e.hasPendingMessages()){if(e.isIdle()){e.shutdown();return}r(e,100)}},n)};e.on(`agent_settled`,(e,t)=>{n(),!t.hasPendingMessages()&&r(t,5e3)})}export{e as default};
2
+ //# sourceMappingURL=autoStop.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoStop.mjs","names":[],"sources":["../../../src/extensions/entries/autoStop.ts"],"sourcesContent":["import type { ExtensionAPI, ExtensionContext } from '@earendil-works/pi-coding-agent';\n\nconst AUTO_STOP_COOLDOWN_MS = 5_000;\nconst AUTO_STOP_IDLE_RETRY_MS = 100;\n\nexport function autoStop(pi: ExtensionAPI): void {\n let shutdownTimer: NodeJS.Timeout | undefined;\n\n const cancelScheduledShutdown = () => {\n if (!shutdownTimer) return;\n clearTimeout(shutdownTimer);\n shutdownTimer = undefined;\n };\n\n pi.on('input', () => {\n cancelScheduledShutdown();\n });\n\n pi.on('agent_start', () => {\n cancelScheduledShutdown();\n });\n\n pi.on('session_shutdown', () => {\n cancelScheduledShutdown();\n });\n\n const scheduleShutdown = (context: ExtensionContext, delayMs: number): void => {\n shutdownTimer = setTimeout(() => {\n shutdownTimer = undefined;\n if (context.hasPendingMessages()) return;\n if (context.isIdle()) {\n context.shutdown();\n return;\n }\n scheduleShutdown(context, AUTO_STOP_IDLE_RETRY_MS);\n }, delayMs);\n };\n\n pi.on('agent_settled', (_event, context) => {\n cancelScheduledShutdown();\n if (context.hasPendingMessages()) return;\n scheduleShutdown(context, AUTO_STOP_COOLDOWN_MS);\n });\n}\n\nexport default autoStop;\n"],"mappings":"AAKA,SAAgB,EAAS,EAAwB,CAC/C,IAAI,EAEE,MAAgC,CAC/B,AAEL,KADA,aAAa,EAAc,CACX,IAAA,KAGlB,EAAG,GAAG,YAAe,CACnB,GAAyB,EACzB,CAEF,EAAG,GAAG,kBAAqB,CACzB,GAAyB,EACzB,CAEF,EAAG,GAAG,uBAA0B,CAC9B,GAAyB,EACzB,CAEF,IAAM,GAAoB,EAA2B,IAA0B,CAC7E,EAAgB,eAAiB,CAC/B,KAAgB,IAAA,GACZ,GAAQ,oBAAoB,CAChC,IAAI,EAAQ,QAAQ,CAAE,CACpB,EAAQ,UAAU,CAClB,OAEF,EAAiB,EAAS,IAAwB,GACjD,EAAQ,EAGb,EAAG,GAAG,iBAAkB,EAAQ,IAAY,CAC1C,GAAyB,CACrB,GAAQ,oBAAoB,EAChC,EAAiB,EAAS,IAAsB,EAChD"}
@@ -0,0 +1,2 @@
1
+ async function e(e){let t=await import(`../../pi-cache-optimizer-D9beVnnH.mjs`);if(typeof t.default!=`function`)throw Error(`Pi Cache Optimizer does not export an extension factory`);await t.default(e)}export{e as cacheOptimizer,e as default};
2
+ //# sourceMappingURL=cacheOptimizer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheOptimizer.mjs","names":[],"sources":["../../../src/extensions/entries/cacheOptimizer.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\ntype ExtensionFactory = (api: ExtensionAPI) => void | Promise<void>;\n\n/** Bundled JavaScript adapter for Pi Cache Optimizer's TypeScript-only package. */\nexport async function cacheOptimizer(pi: ExtensionAPI): Promise<void> {\n const module = (await import('#doompi-cache-optimizer-source')) as { default?: unknown };\n if (typeof module.default !== 'function') {\n throw new Error('Pi Cache Optimizer does not export an extension factory');\n }\n await (module.default as ExtensionFactory)(pi);\n}\n\nexport default cacheOptimizer;\n"],"mappings":"AAKA,eAAsB,EAAe,EAAiC,CACpE,IAAM,EAAU,MAAM,OAAO,yCAC7B,GAAI,OAAO,EAAO,SAAY,WAC5B,MAAU,MAAM,0DAA0D,CAE5E,MAAO,EAAO,QAA6B,EAAG"}
@@ -0,0 +1,2 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`@earendil-works/pi-tui`);function t(e){return{selectedPrefix:t=>e.fg(`accent`,t),selectedText:t=>e.bg(`selectedBg`,e.fg(`text`,t)),description:t=>e.fg(`dim`,t),scrollInfo:t=>e.fg(`muted`,t),noMatch:t=>e.fg(`warning`,t)}}var n=class{constructor(e){this.theme=e}render(e){return e>0?[this.theme.fg(`borderAccent`,`─`.repeat(e))]:[]}invalidate(){}};function r(e,t,n){return n?e.map(e=>({...e,label:`${t.includes(e.value)?`[x]`:`[ ]`} ${e.label}`})):e}function i(e,t){return e.filter(e=>e.value.toLowerCase().startsWith(t.toLowerCase())).map(e=>e.value)}function a(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}var o=class extends e.Container{filterInput=new e.Input;items;multi;title;theme;keybindings;done;list;selected;cursorValue;settled=!1;constructor(e,t,n,r){super(),this.items=e.items,this.multi=e.multi,this.title=e.title,this.theme=t,this.keybindings=n,this.done=r,this.selected=[...e.selected],this.cursorValue=e.selected[0],this.filterInput.focused=!0,this.filterInput.onEscape=()=>this.settle(void 0),this.list=this.buildList(),this.render_()}buildList(){let n=new e.SelectList(r(this.items,this.selected,this.multi),10,t(this.theme)),a=this.filterInput.getValue();a&&n.setFilter(a);let o=i(this.items,a),s=this.cursorValue?o.indexOf(this.cursorValue):-1;return s>=0&&n.setSelectedIndex(s),n.onSelectionChange=e=>{this.cursorValue=e.value},n.onSelect=e=>this.multi?this.settle(this.selected):this.settle([e.value]),n.onCancel=()=>this.settle(void 0),n}render_(){this.clear(),this.addChild(new n(this.theme)),this.addChild(new e.Spacer(1)),this.addChild(new e.Text(this.theme.fg(`mdHeading`,this.theme.bold(this.title)),1,0)),this.addChild(new e.Spacer(1)),this.addChild(this.filterInput),this.addChild(this.list),this.addChild(new e.Spacer(1)),this.addChild(new e.Text(this.theme.fg(`muted`,this.multi?`↑↓ navigate space toggle enter confirm esc cancel type to filter`:`↑↓ navigate enter select esc cancel type to filter`),1,0)),this.addChild(new e.Spacer(1)),this.addChild(new n(this.theme))}rebuild(){this.list=this.buildList(),this.render_()}settle(e){this.settled||(this.settled=!0,this.done(e))}handleInput(e){if(this.multi&&e===` `){let e=this.list.getSelectedItem();e&&(this.selected=a(this.selected,e.value),this.cursorValue=e.value,this.rebuild());return}if(this.keybindings.matches(e,`tui.select.up`)||this.keybindings.matches(e,`tui.select.down`)||this.keybindings.matches(e,`tui.select.confirm`)||this.keybindings.matches(e,`tui.select.cancel`)){this.list.handleInput(e);return}let t=this.filterInput.getValue();this.filterInput.handleInput(e);let n=this.filterInput.getValue();n!==t&&this.list.setFilter(n)}};exports.MatrixPickerComponent=o,exports.markItems=r,exports.toggleValue=a,exports.visibleValues=i;
2
+ //# sourceMappingURL=matrixPicker.cjs.map