@agimon-ai/doompi-config 0.0.1-alpha.67 → 0.0.1-alpha.69

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 (438) hide show
  1. package/README.md +10 -0
  2. package/dist/agentPluginMcp.cjs +1 -1
  3. package/dist/agentPluginMcp.d.cts +1 -1
  4. package/dist/agentPluginMcp.d.mts +1 -1
  5. package/dist/agentPluginMcp.mjs +1 -1
  6. package/dist/api-contracts.cjs +1 -0
  7. package/dist/api-contracts.d.cts +2 -0
  8. package/dist/api-contracts.d.mts +2 -0
  9. package/dist/api-contracts.mjs +1 -0
  10. package/dist/atomicJson.cjs +1 -1
  11. package/dist/atomicJson.d.cts +1 -1
  12. package/dist/atomicJson.d.mts +1 -1
  13. package/dist/atomicJson.mjs +1 -1
  14. package/dist/config.cjs +1 -1
  15. package/dist/config.d.cts +4 -4
  16. package/dist/config.d.mts +4 -4
  17. package/dist/config.mjs +1 -1
  18. package/dist/configSchema.d.cts +2 -0
  19. package/dist/configSchema.d.mts +2 -0
  20. package/dist/configWriter.cjs +1 -1
  21. package/dist/configWriter.d.cts +1 -1
  22. package/dist/configWriter.d.mts +1 -1
  23. package/dist/configWriter.mjs +1 -1
  24. package/dist/constants/config.cjs +2 -0
  25. package/dist/constants/config.cjs.map +1 -0
  26. package/dist/{adapters/pi/helpContribution.mjs → constants/config.mjs} +2 -2
  27. package/dist/constants/config.mjs.map +1 -0
  28. package/dist/constants/settings.cjs +2 -0
  29. package/dist/constants/settings.cjs.map +1 -0
  30. package/dist/constants/settings.mjs +2 -0
  31. package/dist/constants/settings.mjs.map +1 -0
  32. package/dist/controllers/settingsApi.cjs +2 -0
  33. package/dist/controllers/settingsApi.cjs.map +1 -0
  34. package/dist/controllers/settingsApi.mjs +2 -0
  35. package/dist/controllers/settingsApi.mjs.map +1 -0
  36. package/dist/domains.cjs +1 -1
  37. package/dist/domains.d.cts +4 -4
  38. package/dist/domains.d.mts +4 -4
  39. package/dist/domains.mjs +1 -1
  40. package/dist/extensions/pi.cjs +2 -1
  41. package/dist/extensions/pi.cjs.map +1 -0
  42. package/dist/extensions/pi.d.cts +5 -2
  43. package/dist/extensions/pi.d.cts.map +1 -0
  44. package/dist/extensions/pi.d.mts +5 -2
  45. package/dist/extensions/pi.d.mts.map +1 -0
  46. package/dist/extensions/pi.mjs +2 -1
  47. package/dist/extensions/pi.mjs.map +1 -0
  48. package/dist/extensions/server.cjs +2 -0
  49. package/dist/extensions/server.cjs.map +1 -0
  50. package/dist/extensions/server.d.cts +5 -0
  51. package/dist/extensions/server.d.cts.map +1 -0
  52. package/dist/extensions/server.d.mts +5 -0
  53. package/dist/extensions/server.d.mts.map +1 -0
  54. package/dist/extensions/server.mjs +2 -0
  55. package/dist/extensions/server.mjs.map +1 -0
  56. package/dist/harnessState.cjs +1 -1
  57. package/dist/harnessState.d.cts +1 -1
  58. package/dist/harnessState.d.mts +1 -1
  59. package/dist/harnessState.mjs +1 -1
  60. package/dist/harnessStore.cjs +1 -1
  61. package/dist/harnessStore.d.cts +2 -1
  62. package/dist/harnessStore.d.mts +2 -1
  63. package/dist/harnessStore.mjs +1 -1
  64. package/dist/index.cjs +1 -1
  65. package/dist/index.d.cts +20 -19
  66. package/dist/index.d.mts +20 -19
  67. package/dist/index.mjs +1 -1
  68. package/dist/init.cjs +1 -1
  69. package/dist/init.d.cts +1 -1
  70. package/dist/init.d.mts +1 -1
  71. package/dist/init.mjs +1 -1
  72. package/dist/layeredConfig.cjs +1 -1
  73. package/dist/layeredConfig.d.cts +1 -1
  74. package/dist/layeredConfig.d.mts +1 -1
  75. package/dist/layeredConfig.mjs +1 -1
  76. package/dist/majorModes.cjs +1 -1
  77. package/dist/majorModes.d.cts +2 -2
  78. package/dist/majorModes.d.mts +2 -2
  79. package/dist/majorModes.mjs +1 -1
  80. package/dist/models/harnessCache.cjs +2 -0
  81. package/dist/models/harnessCache.cjs.map +1 -0
  82. package/dist/models/harnessCache.d.cts +10 -0
  83. package/dist/models/harnessCache.d.cts.map +1 -0
  84. package/dist/models/harnessCache.d.mts +10 -0
  85. package/dist/models/harnessCache.d.mts.map +1 -0
  86. package/dist/models/harnessCache.mjs +2 -0
  87. package/dist/models/harnessCache.mjs.map +1 -0
  88. package/dist/piConfig.cjs +1 -0
  89. package/dist/{config/piConfig.d.cts → piConfig.d.cts} +2 -2
  90. package/dist/{config/piConfig.d.mts → piConfig.d.mts} +2 -2
  91. package/dist/piConfig.mjs +1 -0
  92. package/dist/piContext.cjs +1 -1
  93. package/dist/piContext.d.cts +1 -1
  94. package/dist/piContext.d.mts +1 -1
  95. package/dist/piContext.mjs +1 -1
  96. package/dist/profiles.cjs +1 -1
  97. package/dist/profiles.d.cts +4 -3
  98. package/dist/profiles.d.mts +4 -3
  99. package/dist/profiles.mjs +1 -1
  100. package/dist/schemas/apiContracts.cjs +2 -0
  101. package/dist/schemas/apiContracts.cjs.map +1 -0
  102. package/dist/schemas/apiContracts.d.cts +53 -0
  103. package/dist/schemas/apiContracts.d.cts.map +1 -0
  104. package/dist/schemas/apiContracts.d.mts +53 -0
  105. package/dist/schemas/apiContracts.d.mts.map +1 -0
  106. package/dist/schemas/apiContracts.mjs +2 -0
  107. package/dist/schemas/apiContracts.mjs.map +1 -0
  108. package/dist/selectionSwitch.cjs +1 -1
  109. package/dist/selectionSwitch.d.cts +1 -1
  110. package/dist/selectionSwitch.d.mts +1 -1
  111. package/dist/selectionSwitch.mjs +1 -1
  112. package/dist/services/agentPluginMcp/index.cjs +2 -0
  113. package/dist/services/agentPluginMcp/index.cjs.map +1 -0
  114. package/dist/{adapters/agentPluginMcp.d.mts → services/agentPluginMcp/index.d.cts} +3 -3
  115. package/dist/services/agentPluginMcp/index.d.cts.map +1 -0
  116. package/dist/{adapters/agentPluginMcp.d.cts → services/agentPluginMcp/index.d.mts} +3 -3
  117. package/dist/services/agentPluginMcp/index.d.mts.map +1 -0
  118. package/dist/services/agentPluginMcp/index.mjs +2 -0
  119. package/dist/services/agentPluginMcp/index.mjs.map +1 -0
  120. package/dist/services/atomicJson/index.cjs +2 -0
  121. package/dist/services/atomicJson/index.cjs.map +1 -0
  122. package/dist/{adapters/atomicJson.d.cts → services/atomicJson/index.d.cts} +2 -2
  123. package/dist/services/atomicJson/index.d.cts.map +1 -0
  124. package/dist/{adapters/atomicJson.d.mts → services/atomicJson/index.d.mts} +2 -2
  125. package/dist/services/atomicJson/index.d.mts.map +1 -0
  126. package/dist/{adapters/atomicJson.mjs → services/atomicJson/index.mjs} +1 -1
  127. package/dist/services/atomicJson/index.mjs.map +1 -0
  128. package/dist/services/config/index.cjs +2 -0
  129. package/dist/services/config/index.cjs.map +1 -0
  130. package/dist/{adapters/config.d.cts → services/config/index.d.cts} +12 -3
  131. package/dist/services/config/index.d.cts.map +1 -0
  132. package/dist/{adapters/config.d.mts → services/config/index.d.mts} +12 -3
  133. package/dist/services/config/index.d.mts.map +1 -0
  134. package/dist/services/config/index.mjs +2 -0
  135. package/dist/services/config/index.mjs.map +1 -0
  136. package/dist/services/configPolicy/index.cjs +2 -0
  137. package/dist/services/configPolicy/index.cjs.map +1 -0
  138. package/dist/services/{configPolicy.d.cts → configPolicy/index.d.cts} +17 -6
  139. package/dist/services/configPolicy/index.d.cts.map +1 -0
  140. package/dist/services/{configPolicy.d.mts → configPolicy/index.d.mts} +17 -6
  141. package/dist/services/configPolicy/index.d.mts.map +1 -0
  142. package/dist/services/configPolicy/index.mjs +2 -0
  143. package/dist/services/configPolicy/index.mjs.map +1 -0
  144. package/dist/services/configResources/index.cjs +2 -0
  145. package/dist/services/configResources/index.cjs.map +1 -0
  146. package/dist/services/configResources/index.mjs +2 -0
  147. package/dist/services/configResources/index.mjs.map +1 -0
  148. package/dist/services/configRuntime/index.cjs +2 -0
  149. package/dist/services/configRuntime/index.cjs.map +1 -0
  150. package/dist/services/configRuntime/index.mjs +2 -0
  151. package/dist/services/configRuntime/index.mjs.map +1 -0
  152. package/dist/{adapters/configWriter.cjs → services/configWriter/index.cjs} +2 -2
  153. package/dist/services/configWriter/index.cjs.map +1 -0
  154. package/dist/{adapters/configWriter.d.cts → services/configWriter/index.d.cts} +2 -2
  155. package/dist/services/configWriter/index.d.cts.map +1 -0
  156. package/dist/{adapters/configWriter.d.mts → services/configWriter/index.d.mts} +2 -2
  157. package/dist/services/configWriter/index.d.mts.map +1 -0
  158. package/dist/services/configWriter/index.mjs +2 -0
  159. package/dist/services/configWriter/index.mjs.map +1 -0
  160. package/dist/services/{domains.cjs → domains/completion.cjs} +1 -1
  161. package/dist/services/domains/completion.cjs.map +1 -0
  162. package/dist/services/{domains.d.cts → domains/completion.d.cts} +3 -3
  163. package/dist/services/domains/completion.d.cts.map +1 -0
  164. package/dist/services/{domains.d.mts → domains/completion.d.mts} +3 -3
  165. package/dist/services/domains/completion.d.mts.map +1 -0
  166. package/dist/services/{domains.mjs → domains/completion.mjs} +1 -1
  167. package/dist/services/domains/completion.mjs.map +1 -0
  168. package/dist/services/domains/index.cjs +2 -0
  169. package/dist/services/domains/index.cjs.map +1 -0
  170. package/dist/{adapters/domains.d.cts → services/domains/index.d.cts} +4 -4
  171. package/dist/services/domains/index.d.cts.map +1 -0
  172. package/dist/{adapters/domains.d.mts → services/domains/index.d.mts} +4 -4
  173. package/dist/services/domains/index.d.mts.map +1 -0
  174. package/dist/services/domains/index.mjs +2 -0
  175. package/dist/services/domains/index.mjs.map +1 -0
  176. package/dist/services/doomConfigService/index.cjs +2 -0
  177. package/dist/services/doomConfigService/index.cjs.map +1 -0
  178. package/dist/services/doomConfigService/index.mjs +2 -0
  179. package/dist/services/doomConfigService/index.mjs.map +1 -0
  180. package/dist/services/harnessState/index.cjs +2 -0
  181. package/dist/services/harnessState/index.cjs.map +1 -0
  182. package/dist/{adapters/harnessState.d.cts → services/harnessState/index.d.cts} +3 -3
  183. package/dist/services/harnessState/index.d.cts.map +1 -0
  184. package/dist/{adapters/harnessState.d.mts → services/harnessState/index.d.mts} +3 -3
  185. package/dist/services/harnessState/index.d.mts.map +1 -0
  186. package/dist/{adapters/harnessState.mjs → services/harnessState/index.mjs} +1 -1
  187. package/dist/services/harnessState/index.mjs.map +1 -0
  188. package/dist/services/harnessStore/index.cjs +2 -0
  189. package/dist/services/harnessStore/index.cjs.map +1 -0
  190. package/dist/{adapters/harnessStore.d.mts → services/harnessStore/index.d.cts} +5 -10
  191. package/dist/services/harnessStore/index.d.cts.map +1 -0
  192. package/dist/{adapters/harnessStore.d.cts → services/harnessStore/index.d.mts} +5 -10
  193. package/dist/services/harnessStore/index.d.mts.map +1 -0
  194. package/dist/services/harnessStore/index.mjs +2 -0
  195. package/dist/services/harnessStore/index.mjs.map +1 -0
  196. package/dist/services/{imageSettings.cjs → imageSettings/index.cjs} +1 -1
  197. package/dist/services/imageSettings/index.cjs.map +1 -0
  198. package/dist/services/{imageSettings.d.cts → imageSettings/index.d.cts} +3 -3
  199. package/dist/services/imageSettings/index.d.cts.map +1 -0
  200. package/dist/services/{imageSettings.d.mts → imageSettings/index.d.mts} +3 -3
  201. package/dist/services/imageSettings/index.d.mts.map +1 -0
  202. package/dist/services/{imageSettings.mjs → imageSettings/index.mjs} +1 -1
  203. package/dist/services/imageSettings/index.mjs.map +1 -0
  204. package/dist/{adapters/init.cjs → services/init/index.cjs} +2 -2
  205. package/dist/services/init/index.cjs.map +1 -0
  206. package/dist/{adapters/init.d.cts → services/init/index.d.cts} +2 -2
  207. package/dist/services/init/index.d.cts.map +1 -0
  208. package/dist/{adapters/init.d.mts → services/init/index.d.mts} +2 -2
  209. package/dist/services/init/index.d.mts.map +1 -0
  210. package/dist/{adapters/init.mjs → services/init/index.mjs} +2 -2
  211. package/dist/services/init/index.mjs.map +1 -0
  212. package/dist/services/layeredConfig/index.cjs +2 -0
  213. package/dist/services/layeredConfig/index.cjs.map +1 -0
  214. package/dist/{adapters/layeredConfig.d.mts → services/layeredConfig/index.d.cts} +2 -2
  215. package/dist/services/layeredConfig/index.d.cts.map +1 -0
  216. package/dist/{adapters/layeredConfig.d.cts → services/layeredConfig/index.d.mts} +2 -2
  217. package/dist/services/layeredConfig/index.d.mts.map +1 -0
  218. package/dist/services/layeredConfig/index.mjs +2 -0
  219. package/dist/services/layeredConfig/index.mjs.map +1 -0
  220. package/dist/services/majorModes/index.cjs +2 -0
  221. package/dist/services/majorModes/index.cjs.map +1 -0
  222. package/dist/{adapters/majorModes.d.cts → services/majorModes/index.d.cts} +15 -3
  223. package/dist/services/majorModes/index.d.cts.map +1 -0
  224. package/dist/{adapters/majorModes.d.mts → services/majorModes/index.d.mts} +15 -3
  225. package/dist/services/majorModes/index.d.mts.map +1 -0
  226. package/dist/services/majorModes/index.mjs +2 -0
  227. package/dist/services/majorModes/index.mjs.map +1 -0
  228. package/dist/services/{personaFrontMatter.cjs → personaFrontMatter/index.cjs} +1 -1
  229. package/dist/services/personaFrontMatter/index.cjs.map +1 -0
  230. package/dist/services/personaFrontMatter/index.d.cts +11 -0
  231. package/dist/services/personaFrontMatter/index.d.cts.map +1 -0
  232. package/dist/services/personaFrontMatter/index.d.mts +11 -0
  233. package/dist/services/personaFrontMatter/index.d.mts.map +1 -0
  234. package/dist/services/{personaFrontMatter.mjs → personaFrontMatter/index.mjs} +1 -1
  235. package/dist/services/personaFrontMatter/index.mjs.map +1 -0
  236. package/dist/services/personaIcon/index.cjs +2 -0
  237. package/dist/services/personaIcon/index.cjs.map +1 -0
  238. package/dist/{adapters/personaIcon.d.cts → services/personaIcon/index.d.cts} +2 -2
  239. package/dist/services/personaIcon/index.d.cts.map +1 -0
  240. package/dist/{adapters/personaIcon.d.mts → services/personaIcon/index.d.mts} +2 -2
  241. package/dist/services/personaIcon/index.d.mts.map +1 -0
  242. package/dist/services/personaIcon/index.mjs +2 -0
  243. package/dist/{adapters/personaIcon.cjs.map → services/personaIcon/index.mjs.map} +1 -1
  244. package/dist/services/piConfig/index.cjs +2 -0
  245. package/dist/services/piConfig/index.cjs.map +1 -0
  246. package/dist/{adapters/piConfig.d.mts → services/piConfig/index.d.cts} +4 -4
  247. package/dist/services/piConfig/index.d.cts.map +1 -0
  248. package/dist/{adapters/piConfig.d.cts → services/piConfig/index.d.mts} +4 -4
  249. package/dist/services/piConfig/index.d.mts.map +1 -0
  250. package/dist/services/piConfig/index.mjs +2 -0
  251. package/dist/services/piConfig/index.mjs.map +1 -0
  252. package/dist/services/pluginCatalog/index.cjs +2 -0
  253. package/dist/services/pluginCatalog/index.cjs.map +1 -0
  254. package/dist/{adapters/pluginCatalog.d.cts → services/pluginCatalog/index.d.cts} +3 -3
  255. package/dist/services/pluginCatalog/index.d.cts.map +1 -0
  256. package/dist/{adapters/pluginCatalog.d.mts → services/pluginCatalog/index.d.mts} +3 -3
  257. package/dist/services/pluginCatalog/index.d.mts.map +1 -0
  258. package/dist/{adapters/pluginCatalog.mjs → services/pluginCatalog/index.mjs} +1 -1
  259. package/dist/services/pluginCatalog/index.mjs.map +1 -0
  260. package/dist/services/profiles/index.cjs +4 -0
  261. package/dist/services/profiles/index.cjs.map +1 -0
  262. package/dist/{adapters/profiles.d.cts → services/profiles/index.d.cts} +3 -7
  263. package/dist/services/profiles/index.d.cts.map +1 -0
  264. package/dist/{adapters/profiles.d.mts → services/profiles/index.d.mts} +3 -7
  265. package/dist/services/profiles/index.d.mts.map +1 -0
  266. package/dist/services/profiles/index.mjs +4 -0
  267. package/dist/services/profiles/index.mjs.map +1 -0
  268. package/dist/services/selectionSwitch/index.cjs +2 -0
  269. package/dist/services/selectionSwitch/index.cjs.map +1 -0
  270. package/dist/{adapters/selectionSwitch.d.cts → services/selectionSwitch/index.d.cts} +5 -5
  271. package/dist/services/selectionSwitch/index.d.cts.map +1 -0
  272. package/dist/{adapters/selectionSwitch.d.mts → services/selectionSwitch/index.d.mts} +5 -5
  273. package/dist/services/selectionSwitch/index.d.mts.map +1 -0
  274. package/dist/services/selectionSwitch/index.mjs +2 -0
  275. package/dist/services/selectionSwitch/index.mjs.map +1 -0
  276. package/dist/services/sessionConfig/index.cjs +2 -0
  277. package/dist/services/sessionConfig/index.cjs.map +1 -0
  278. package/dist/{adapters/pi/piContext.d.cts → services/sessionConfig/index.d.cts} +3 -3
  279. package/dist/services/sessionConfig/index.d.cts.map +1 -0
  280. package/dist/{adapters/pi/piContext.d.mts → services/sessionConfig/index.d.mts} +2 -2
  281. package/dist/services/sessionConfig/index.d.mts.map +1 -0
  282. package/dist/services/sessionConfig/index.mjs +2 -0
  283. package/dist/services/sessionConfig/index.mjs.map +1 -0
  284. package/dist/services/settings/index.cjs +2 -0
  285. package/dist/services/settings/index.cjs.map +1 -0
  286. package/dist/services/settings/index.mjs +2 -0
  287. package/dist/services/settings/index.mjs.map +1 -0
  288. package/dist/types/config.cjs +1 -1
  289. package/dist/types/config.d.cts +30 -14
  290. package/dist/types/config.d.cts.map +1 -1
  291. package/dist/types/config.d.mts +30 -14
  292. package/dist/types/config.d.mts.map +1 -1
  293. package/dist/types/config.mjs +1 -1
  294. package/dist/{schemas/config/schema.d.cts → types/piConfig.d.cts} +2 -2
  295. package/dist/types/piConfig.d.cts.map +1 -0
  296. package/dist/{schemas/config/schema.d.mts → types/piConfig.d.mts} +2 -2
  297. package/dist/types/piConfig.d.mts.map +1 -0
  298. package/dist/types/profiles.d.cts +26 -0
  299. package/dist/types/profiles.d.cts.map +1 -0
  300. package/dist/types/profiles.d.mts +26 -0
  301. package/dist/types/profiles.d.mts.map +1 -0
  302. package/dist/types.cjs +1 -1
  303. package/dist/types.d.cts +2 -2
  304. package/dist/types.d.mts +2 -2
  305. package/package.json +39 -15
  306. package/src/prompts/doompi-author-config/SKILL.md +4 -1
  307. package/dist/adapters/agentPluginMcp.cjs +0 -2
  308. package/dist/adapters/agentPluginMcp.cjs.map +0 -1
  309. package/dist/adapters/agentPluginMcp.d.cts.map +0 -1
  310. package/dist/adapters/agentPluginMcp.d.mts.map +0 -1
  311. package/dist/adapters/agentPluginMcp.mjs +0 -2
  312. package/dist/adapters/agentPluginMcp.mjs.map +0 -1
  313. package/dist/adapters/atomicJson.cjs +0 -2
  314. package/dist/adapters/atomicJson.cjs.map +0 -1
  315. package/dist/adapters/atomicJson.d.cts.map +0 -1
  316. package/dist/adapters/atomicJson.d.mts.map +0 -1
  317. package/dist/adapters/atomicJson.mjs.map +0 -1
  318. package/dist/adapters/config.cjs +0 -2
  319. package/dist/adapters/config.cjs.map +0 -1
  320. package/dist/adapters/config.d.cts.map +0 -1
  321. package/dist/adapters/config.d.mts.map +0 -1
  322. package/dist/adapters/config.mjs +0 -2
  323. package/dist/adapters/config.mjs.map +0 -1
  324. package/dist/adapters/configWriter.cjs.map +0 -1
  325. package/dist/adapters/configWriter.d.cts.map +0 -1
  326. package/dist/adapters/configWriter.d.mts.map +0 -1
  327. package/dist/adapters/configWriter.mjs +0 -2
  328. package/dist/adapters/configWriter.mjs.map +0 -1
  329. package/dist/adapters/domains.cjs +0 -2
  330. package/dist/adapters/domains.cjs.map +0 -1
  331. package/dist/adapters/domains.d.cts.map +0 -1
  332. package/dist/adapters/domains.d.mts.map +0 -1
  333. package/dist/adapters/domains.mjs +0 -2
  334. package/dist/adapters/domains.mjs.map +0 -1
  335. package/dist/adapters/harnessState.cjs +0 -2
  336. package/dist/adapters/harnessState.cjs.map +0 -1
  337. package/dist/adapters/harnessState.d.cts.map +0 -1
  338. package/dist/adapters/harnessState.d.mts.map +0 -1
  339. package/dist/adapters/harnessState.mjs.map +0 -1
  340. package/dist/adapters/harnessStore.cjs +0 -2
  341. package/dist/adapters/harnessStore.cjs.map +0 -1
  342. package/dist/adapters/harnessStore.d.cts.map +0 -1
  343. package/dist/adapters/harnessStore.d.mts.map +0 -1
  344. package/dist/adapters/harnessStore.mjs +0 -2
  345. package/dist/adapters/harnessStore.mjs.map +0 -1
  346. package/dist/adapters/init.cjs.map +0 -1
  347. package/dist/adapters/init.d.cts.map +0 -1
  348. package/dist/adapters/init.d.mts.map +0 -1
  349. package/dist/adapters/init.mjs.map +0 -1
  350. package/dist/adapters/layeredConfig.cjs +0 -2
  351. package/dist/adapters/layeredConfig.cjs.map +0 -1
  352. package/dist/adapters/layeredConfig.d.cts.map +0 -1
  353. package/dist/adapters/layeredConfig.d.mts.map +0 -1
  354. package/dist/adapters/layeredConfig.mjs +0 -2
  355. package/dist/adapters/layeredConfig.mjs.map +0 -1
  356. package/dist/adapters/majorModes.cjs +0 -2
  357. package/dist/adapters/majorModes.cjs.map +0 -1
  358. package/dist/adapters/majorModes.d.cts.map +0 -1
  359. package/dist/adapters/majorModes.d.mts.map +0 -1
  360. package/dist/adapters/majorModes.mjs +0 -2
  361. package/dist/adapters/majorModes.mjs.map +0 -1
  362. package/dist/adapters/personaIcon.cjs +0 -2
  363. package/dist/adapters/personaIcon.d.cts.map +0 -1
  364. package/dist/adapters/personaIcon.d.mts.map +0 -1
  365. package/dist/adapters/personaIcon.mjs +0 -2
  366. package/dist/adapters/personaIcon.mjs.map +0 -1
  367. package/dist/adapters/pi/configExtension.cjs +0 -2
  368. package/dist/adapters/pi/configExtension.cjs.map +0 -1
  369. package/dist/adapters/pi/configExtension.d.cts +0 -7
  370. package/dist/adapters/pi/configExtension.d.cts.map +0 -1
  371. package/dist/adapters/pi/configExtension.d.mts +0 -7
  372. package/dist/adapters/pi/configExtension.d.mts.map +0 -1
  373. package/dist/adapters/pi/configExtension.mjs +0 -2
  374. package/dist/adapters/pi/configExtension.mjs.map +0 -1
  375. package/dist/adapters/pi/helpContribution.cjs +0 -2
  376. package/dist/adapters/pi/helpContribution.cjs.map +0 -1
  377. package/dist/adapters/pi/helpContribution.mjs.map +0 -1
  378. package/dist/adapters/pi/piContext.cjs +0 -2
  379. package/dist/adapters/pi/piContext.cjs.map +0 -1
  380. package/dist/adapters/pi/piContext.d.cts.map +0 -1
  381. package/dist/adapters/pi/piContext.d.mts.map +0 -1
  382. package/dist/adapters/pi/piContext.mjs +0 -2
  383. package/dist/adapters/pi/piContext.mjs.map +0 -1
  384. package/dist/adapters/piConfig.cjs +0 -2
  385. package/dist/adapters/piConfig.cjs.map +0 -1
  386. package/dist/adapters/piConfig.d.cts.map +0 -1
  387. package/dist/adapters/piConfig.d.mts.map +0 -1
  388. package/dist/adapters/piConfig.mjs +0 -2
  389. package/dist/adapters/piConfig.mjs.map +0 -1
  390. package/dist/adapters/pluginCatalog.cjs +0 -2
  391. package/dist/adapters/pluginCatalog.cjs.map +0 -1
  392. package/dist/adapters/pluginCatalog.d.cts.map +0 -1
  393. package/dist/adapters/pluginCatalog.d.mts.map +0 -1
  394. package/dist/adapters/pluginCatalog.mjs.map +0 -1
  395. package/dist/adapters/profiles.cjs +0 -4
  396. package/dist/adapters/profiles.cjs.map +0 -1
  397. package/dist/adapters/profiles.d.cts.map +0 -1
  398. package/dist/adapters/profiles.d.mts.map +0 -1
  399. package/dist/adapters/profiles.mjs +0 -4
  400. package/dist/adapters/profiles.mjs.map +0 -1
  401. package/dist/adapters/selectionSwitch.cjs +0 -2
  402. package/dist/adapters/selectionSwitch.cjs.map +0 -1
  403. package/dist/adapters/selectionSwitch.d.cts.map +0 -1
  404. package/dist/adapters/selectionSwitch.d.mts.map +0 -1
  405. package/dist/adapters/selectionSwitch.mjs +0 -2
  406. package/dist/adapters/selectionSwitch.mjs.map +0 -1
  407. package/dist/config/piConfig.cjs +0 -1
  408. package/dist/config/piConfig.mjs +0 -1
  409. package/dist/config/schema.d.cts +0 -2
  410. package/dist/config/schema.d.mts +0 -2
  411. package/dist/providers/doomConfigService.cjs +0 -2
  412. package/dist/providers/doomConfigService.cjs.map +0 -1
  413. package/dist/providers/doomConfigService.mjs +0 -2
  414. package/dist/providers/doomConfigService.mjs.map +0 -1
  415. package/dist/schemas/config/schema.d.cts.map +0 -1
  416. package/dist/schemas/config/schema.d.mts.map +0 -1
  417. package/dist/services/configPolicy.cjs +0 -2
  418. package/dist/services/configPolicy.cjs.map +0 -1
  419. package/dist/services/configPolicy.d.cts.map +0 -1
  420. package/dist/services/configPolicy.d.mts.map +0 -1
  421. package/dist/services/configPolicy.mjs +0 -2
  422. package/dist/services/configPolicy.mjs.map +0 -1
  423. package/dist/services/domains.cjs.map +0 -1
  424. package/dist/services/domains.d.cts.map +0 -1
  425. package/dist/services/domains.d.mts.map +0 -1
  426. package/dist/services/domains.mjs.map +0 -1
  427. package/dist/services/imageSettings.cjs.map +0 -1
  428. package/dist/services/imageSettings.d.cts.map +0 -1
  429. package/dist/services/imageSettings.d.mts.map +0 -1
  430. package/dist/services/imageSettings.mjs.map +0 -1
  431. package/dist/services/personaFrontMatter.cjs.map +0 -1
  432. package/dist/services/personaFrontMatter.d.cts +0 -44
  433. package/dist/services/personaFrontMatter.d.cts.map +0 -1
  434. package/dist/services/personaFrontMatter.d.mts +0 -44
  435. package/dist/services/personaFrontMatter.d.mts.map +0 -1
  436. package/dist/services/personaFrontMatter.mjs.map +0 -1
  437. /package/dist/{config/schema.cjs → configSchema.cjs} +0 -0
  438. /package/dist/{config/schema.mjs → configSchema.mjs} +0 -0
package/README.md CHANGED
@@ -83,6 +83,14 @@ The snapshot is deeply frozen. It contains validated `settings`, active `harness
83
83
  `pendingSelection`, and `requiresRelaunch`. Do not mutate it or retain it across provider or session
84
84
  replacement. The next session publishes a new snapshot.
85
85
 
86
+ ## Plugin structure and lifecycle
87
+
88
+ Pi and server entries live directly in `src/extensions`. HTTP request handling lives in `src/controllers`, package behavior in `src/services/{serviceName}`, and cached harness state in `src/models`. Public consumption modules remain flat under `src/exports`.
89
+
90
+ The Pi entry uses `definePiExtension` with a Config service contribution and a typed `session_start` event. The shared helper owns mounting and disposal. Config publishes its readiness coordinator synchronously, loads configuration asynchronously, and waits at the session-start barrier before later features run. Session replacement cancels the prior generation and removes its Config and MCP projection services. Help contributions follow their optional provider without restarting Config.
91
+
92
+ This session readiness barrier is separate from plugin `onStart`. Awaiting configuration during plugin mounting would block publication of the services that startup consumers need.
93
+
86
94
  ## Selection transitions
87
95
 
88
96
  Major-mode, domain, and profile packages resolve their own requested changes, then use the shared
@@ -108,6 +116,8 @@ import { loadDoomConfig } from '@agimon-ai/doompi-config';
108
116
  const settings = loadDoomConfig(process.cwd());
109
117
  ```
110
118
 
119
+ Pi-specific JSON settings are exposed through `/pi-config`; their types are exposed through `/config-schema`. The removed `/config/piConfig` and `/config/schema` paths have no aliases.
120
+
111
121
  The package also exposes lower-level loaders used by the fixed axis packages. User-facing guidance
112
122
  for defining modes, domains, and profiles is intentionally owned by those packages instead of this
113
123
  runtime Config authoring skill.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/agentPluginMcp.cjs");exports.normalizeAgentPluginMcpSource=e.normalizeAgentPluginMcpSource;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/agentPluginMcp/index.cjs");exports.normalizeAgentPluginMcpSource=e.normalizeAgentPluginMcpSource;
@@ -1,2 +1,2 @@
1
- import { AgentPluginMcpConfigSource, NormalizeAgentPluginMcpOptions, NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource } from "./adapters/agentPluginMcp.cjs";
1
+ import { AgentPluginMcpConfigSource, NormalizeAgentPluginMcpOptions, NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource } from "./services/agentPluginMcp/index.cjs";
2
2
  export { type AgentPluginMcpConfigSource, type NormalizeAgentPluginMcpOptions, type NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource };
@@ -1,2 +1,2 @@
1
- import { AgentPluginMcpConfigSource, NormalizeAgentPluginMcpOptions, NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource } from "./adapters/agentPluginMcp.mjs";
1
+ import { AgentPluginMcpConfigSource, NormalizeAgentPluginMcpOptions, NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource } from "./services/agentPluginMcp/index.mjs";
2
2
  export { type AgentPluginMcpConfigSource, type NormalizeAgentPluginMcpOptions, type NormalizedAgentPluginMcpSource, normalizeAgentPluginMcpSource };
@@ -1 +1 @@
1
- import{normalizeAgentPluginMcpSource as e}from"./adapters/agentPluginMcp.mjs";export{e as normalizeAgentPluginMcpSource};
1
+ import{normalizeAgentPluginMcpSource as e}from"./services/agentPluginMcp/index.mjs";export{e as normalizeAgentPluginMcpSource};
@@ -0,0 +1 @@
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./schemas/apiContracts.cjs");exports.apiContracts=e.apiContracts,exports.default=e.apiContracts;
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./schemas/apiContracts.cjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1 @@
1
+ import{apiContracts as e}from"./schemas/apiContracts.mjs";export{e as apiContracts,e as default};
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/atomicJson.cjs");exports.writePrivateAtomicJson=e.writePrivateAtomicJson;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/atomicJson/index.cjs");exports.writePrivateAtomicJson=e.writePrivateAtomicJson;
@@ -1,2 +1,2 @@
1
- import { writePrivateAtomicJson } from "./adapters/atomicJson.cjs";
1
+ import { writePrivateAtomicJson } from "./services/atomicJson/index.cjs";
2
2
  export { writePrivateAtomicJson };
@@ -1,2 +1,2 @@
1
- import { writePrivateAtomicJson } from "./adapters/atomicJson.mjs";
1
+ import { writePrivateAtomicJson } from "./services/atomicJson/index.mjs";
2
2
  export { writePrivateAtomicJson };
@@ -1 +1 @@
1
- import{writePrivateAtomicJson as e}from"./adapters/atomicJson.mjs";export{e as writePrivateAtomicJson};
1
+ import{writePrivateAtomicJson as e}from"./services/atomicJson/index.mjs";export{e as writePrivateAtomicJson};
package/dist/config.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/configPolicy.cjs"),t=require("./adapters/config.cjs");exports.DOOM_PLANNING_THINKING_LEVELS=e.DOOM_PLANNING_THINKING_LEVELS,exports.DOOM_VOICE_ENGINES=e.DOOM_VOICE_ENGINES,exports.DOOM_VOICE_TTS_ENGINES=e.DOOM_VOICE_TTS_ENGINES,exports.configLeafKeys=e.configLeafKeys,exports.configRootKeys=e.configRootKeys,exports.configScopeOf=e.configScopeOf,exports.globalDoomConfigDirectory=t.globalDoomConfigDirectory,exports.globalDoomConfigPath=t.globalDoomConfigPath,exports.loadDoomConfig=t.loadDoomConfig,exports.loadDoomConfigAsync=t.loadDoomConfigAsync,exports.loadDoomConfigLayers=t.loadDoomConfigLayers,exports.mergeDoomConfigs=e.mergeDoomConfigs,exports.parseAutocompactModeConfig=e.parseAutocompactModeConfig,exports.parseDoomConfig=e.parseDoomConfig,exports.parsePlanningModeConfig=e.parsePlanningModeConfig,exports.repositoryDoomConfigPath=t.repositoryDoomConfigPath,exports.resolvePlanningPlansDirectory=t.resolvePlanningPlansDirectory,exports.resolveVoiceConfig=e.resolveVoiceConfig,exports.valueAtKeyPath=e.valueAtKeyPath;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/configPolicy/index.cjs"),t=require("./services/config/index.cjs");exports.DOOM_PLANNING_THINKING_LEVELS=e.DOOM_PLANNING_THINKING_LEVELS,exports.DOOM_VOICE_ENGINES=e.DOOM_VOICE_ENGINES,exports.DOOM_VOICE_MODES=e.DOOM_VOICE_MODES,exports.DOOM_VOICE_TTS_ENGINES=e.DOOM_VOICE_TTS_ENGINES,exports.configLeafKeys=e.configLeafKeys,exports.configRootKeys=e.configRootKeys,exports.configScopeOf=e.configScopeOf,exports.globalDoomConfigDirectory=t.globalDoomConfigDirectory,exports.globalDoomConfigPath=t.globalDoomConfigPath,exports.loadDoomConfig=t.loadDoomConfig,exports.loadDoomConfigAsync=t.loadDoomConfigAsync,exports.loadDoomConfigLayers=t.loadDoomConfigLayers,exports.loadDoomConfigLenient=t.loadDoomConfigLenient,exports.mergeDoomConfigs=e.mergeDoomConfigs,exports.parseAutocompactModeConfig=e.parseAutocompactModeConfig,exports.parseDoomConfig=e.parseDoomConfig,exports.parsePlanningModeConfig=e.parsePlanningModeConfig,exports.repositoryDoomConfigPath=t.repositoryDoomConfigPath,exports.resolvePlanningPlansDirectory=t.resolvePlanningPlansDirectory,exports.resolveVoiceConfig=e.resolveVoiceConfig,exports.valueAtKeyPath=e.valueAtKeyPath;
package/dist/config.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { ConfigValueOrigin, DoomConfigLayer, DoomConfigLayers } from "./types/config.cjs";
2
- import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./adapters/config.cjs";
3
- import { ConfigKeyScope, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, configLeafKeys, configRootKeys, configScopeOf, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig, valueAtKeyPath } from "./services/configPolicy.cjs";
4
- export { type ConfigKeyScope, type ConfigValueOrigin, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DoomConfigLayer, type DoomConfigLayers, configLeafKeys, configRootKeys, configScopeOf, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig, valueAtKeyPath };
1
+ import { ConfigDiagnostic, ConfigValueOrigin, DoomConfigLayer, DoomConfigLayers, LenientParseOptions, LenientParseResult } from "./types/config.cjs";
2
+ import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, loadDoomConfigLenient, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./services/config/index.cjs";
3
+ import { ConfigKeyScope, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_MODES, DOOM_VOICE_TTS_ENGINES, configLeafKeys, configRootKeys, configScopeOf, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig, valueAtKeyPath } from "./services/configPolicy/index.cjs";
4
+ export { type ConfigDiagnostic, type ConfigKeyScope, type ConfigValueOrigin, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_MODES, DOOM_VOICE_TTS_ENGINES, type DoomConfigLayer, type DoomConfigLayers, type LenientParseOptions, type LenientParseResult, configLeafKeys, configRootKeys, configScopeOf, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, loadDoomConfigLenient, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig, valueAtKeyPath };
package/dist/config.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { ConfigValueOrigin, DoomConfigLayer, DoomConfigLayers } from "./types/config.mjs";
2
- import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./adapters/config.mjs";
3
- import { ConfigKeyScope, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, configLeafKeys, configRootKeys, configScopeOf, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig, valueAtKeyPath } from "./services/configPolicy.mjs";
4
- export { type ConfigKeyScope, type ConfigValueOrigin, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DoomConfigLayer, type DoomConfigLayers, configLeafKeys, configRootKeys, configScopeOf, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig, valueAtKeyPath };
1
+ import { ConfigDiagnostic, ConfigValueOrigin, DoomConfigLayer, DoomConfigLayers, LenientParseOptions, LenientParseResult } from "./types/config.mjs";
2
+ import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, loadDoomConfigLenient, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./services/config/index.mjs";
3
+ import { ConfigKeyScope, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_MODES, DOOM_VOICE_TTS_ENGINES, configLeafKeys, configRootKeys, configScopeOf, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig, valueAtKeyPath } from "./services/configPolicy/index.mjs";
4
+ export { type ConfigDiagnostic, type ConfigKeyScope, type ConfigValueOrigin, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_MODES, DOOM_VOICE_TTS_ENGINES, type DoomConfigLayer, type DoomConfigLayers, type LenientParseOptions, type LenientParseResult, configLeafKeys, configRootKeys, configScopeOf, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, loadDoomConfigLayers, loadDoomConfigLenient, mergeDoomConfigs, parseAutocompactModeConfig, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig, valueAtKeyPath };
package/dist/config.mjs CHANGED
@@ -1 +1 @@
1
- import{DOOM_PLANNING_THINKING_LEVELS as e,DOOM_VOICE_ENGINES as t,DOOM_VOICE_TTS_ENGINES as n,configLeafKeys as r,configRootKeys as i,configScopeOf as a,mergeDoomConfigs as o,parseAutocompactModeConfig as s,parseDoomConfig as c,parsePlanningModeConfig as l,resolveVoiceConfig as u,valueAtKeyPath as d}from"./services/configPolicy.mjs";import{globalDoomConfigDirectory as f,globalDoomConfigPath as p,loadDoomConfig as m,loadDoomConfigAsync as h,loadDoomConfigLayers as g,repositoryDoomConfigPath as _,resolvePlanningPlansDirectory as v}from"./adapters/config.mjs";export{e as DOOM_PLANNING_THINKING_LEVELS,t as DOOM_VOICE_ENGINES,n as DOOM_VOICE_TTS_ENGINES,r as configLeafKeys,i as configRootKeys,a as configScopeOf,f as globalDoomConfigDirectory,p as globalDoomConfigPath,m as loadDoomConfig,h as loadDoomConfigAsync,g as loadDoomConfigLayers,o as mergeDoomConfigs,s as parseAutocompactModeConfig,c as parseDoomConfig,l as parsePlanningModeConfig,_ as repositoryDoomConfigPath,v as resolvePlanningPlansDirectory,u as resolveVoiceConfig,d as valueAtKeyPath};
1
+ import{DOOM_PLANNING_THINKING_LEVELS as e,DOOM_VOICE_ENGINES as t,DOOM_VOICE_MODES as n,DOOM_VOICE_TTS_ENGINES as r,configLeafKeys as i,configRootKeys as a,configScopeOf as o,mergeDoomConfigs as s,parseAutocompactModeConfig as c,parseDoomConfig as l,parsePlanningModeConfig as u,resolveVoiceConfig as d,valueAtKeyPath as f}from"./services/configPolicy/index.mjs";import{globalDoomConfigDirectory as p,globalDoomConfigPath as m,loadDoomConfig as h,loadDoomConfigAsync as g,loadDoomConfigLayers as _,loadDoomConfigLenient as v,repositoryDoomConfigPath as y,resolvePlanningPlansDirectory as b}from"./services/config/index.mjs";export{e as DOOM_PLANNING_THINKING_LEVELS,t as DOOM_VOICE_ENGINES,n as DOOM_VOICE_MODES,r as DOOM_VOICE_TTS_ENGINES,i as configLeafKeys,a as configRootKeys,o as configScopeOf,p as globalDoomConfigDirectory,m as globalDoomConfigPath,h as loadDoomConfig,g as loadDoomConfigAsync,_ as loadDoomConfigLayers,v as loadDoomConfigLenient,s as mergeDoomConfigs,c as parseAutocompactModeConfig,l as parseDoomConfig,u as parsePlanningModeConfig,y as repositoryDoomConfigPath,b as resolvePlanningPlansDirectory,d as resolveVoiceConfig,f as valueAtKeyPath};
@@ -0,0 +1,2 @@
1
+ import { ConfigAdapterRegistrationOptions, DoomAdapterSettings, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./types/piConfig.cjs";
2
+ export type { ConfigAdapterRegistrationOptions, DoomAdapterSettings, PiConfig, PiConfigLoadOptions, PiConfigPaths };
@@ -0,0 +1,2 @@
1
+ import { ConfigAdapterRegistrationOptions, DoomAdapterSettings, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./types/piConfig.mjs";
2
+ export type { ConfigAdapterRegistrationOptions, DoomAdapterSettings, PiConfig, PiConfigLoadOptions, PiConfigPaths };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/configWriter.cjs");exports.setDoomConfigValue=e.setDoomConfigValue,exports.unsetDoomConfigValue=e.unsetDoomConfigValue,exports.writeDoomConfigValues=e.writeDoomConfigValues;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/configWriter/index.cjs");exports.setDoomConfigValue=e.setDoomConfigValue,exports.unsetDoomConfigValue=e.unsetDoomConfigValue,exports.writeDoomConfigValues=e.writeDoomConfigValues;
@@ -1,2 +1,2 @@
1
- import { DoomConfigEdit, DoomConfigScope, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./adapters/configWriter.cjs";
1
+ import { DoomConfigEdit, DoomConfigScope, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./services/configWriter/index.cjs";
2
2
  export { type DoomConfigEdit, type DoomConfigScope, type WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues };
@@ -1,2 +1,2 @@
1
- import { DoomConfigEdit, DoomConfigScope, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./adapters/configWriter.mjs";
1
+ import { DoomConfigEdit, DoomConfigScope, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./services/configWriter/index.mjs";
2
2
  export { type DoomConfigEdit, type DoomConfigScope, type WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues };
@@ -1 +1 @@
1
- import{setDoomConfigValue as e,unsetDoomConfigValue as t,writeDoomConfigValues as n}from"./adapters/configWriter.mjs";export{e as setDoomConfigValue,t as unsetDoomConfigValue,n as writeDoomConfigValues};
1
+ import{setDoomConfigValue as e,unsetDoomConfigValue as t,writeDoomConfigValues as n}from"./services/configWriter/index.mjs";export{e as setDoomConfigValue,t as unsetDoomConfigValue,n as writeDoomConfigValues};
@@ -0,0 +1,2 @@
1
+ const e={name:`doompi-author-config`,description:`Configure DoomPi runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.`};exports.CONFIG_HELP_SKILL=e,exports.PACKAGE_SOURCE=`@agimon-ai/doompi-config`;
2
+ //# sourceMappingURL=config.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.cjs","names":[],"sources":["../../src/constants/config.ts"],"sourcesContent":["export const PACKAGE_SOURCE = '@agimon-ai/doompi-config';\nexport const CONFIG_HELP_SKILL = {\n name: 'doompi-author-config',\n description:\n 'Configure DoomPi runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.',\n};\n"],"mappings":"AAAA,MACa,EAAoB,CAC/B,KAAM,uBACN,YACE,oRACJ"}
@@ -1,2 +1,2 @@
1
- function e(e){return e.register({source:`@agimon-ai/doompi-config`,moduleUrl:import.meta.url,skills:[{name:`doompi-author-config`,description:`Configure DoomPi runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.`}]})}export{e as registerDoomConfigHelp};
2
- //# sourceMappingURL=helpContribution.mjs.map
1
+ const e=`@agimon-ai/doompi-config`,t={name:`doompi-author-config`,description:`Configure DoomPi runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.`};export{t as CONFIG_HELP_SKILL,e as PACKAGE_SOURCE};
2
+ //# sourceMappingURL=config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mjs","names":[],"sources":["../../src/constants/config.ts"],"sourcesContent":["export const PACKAGE_SOURCE = '@agimon-ai/doompi-config';\nexport const CONFIG_HELP_SKILL = {\n name: 'doompi-author-config',\n description:\n 'Configure DoomPi runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.',\n};\n"],"mappings":"AAAA,MAAa,EAAiB,2BACjB,EAAoB,CAC/B,KAAM,uBACN,YACE,oRACJ"}
@@ -0,0 +1,2 @@
1
+ const e={majorMode:[`selection`,`majorMode`],domains:[`selection`,`domains`],profile:[`selection`,`profile`]};exports.SELECTION_KEYS=e;
2
+ //# sourceMappingURL=settings.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.cjs","names":[],"sources":["../../src/constants/settings.ts"],"sourcesContent":["export const KEY_SEPARATOR = '.';\n\nexport const SELECTION_KEYS = {\n majorMode: ['selection', 'majorMode'],\n domains: ['selection', 'domains'],\n profile: ['selection', 'profile'],\n} as const;\n"],"mappings":"AAEA,MAAa,EAAiB,CAC5B,UAAW,CAAC,YAAa,WAAW,EACpC,QAAS,CAAC,YAAa,SAAS,EAChC,QAAS,CAAC,YAAa,SAAS,CAClC"}
@@ -0,0 +1,2 @@
1
+ const e={majorMode:[`selection`,`majorMode`],domains:[`selection`,`domains`],profile:[`selection`,`profile`]};export{e as SELECTION_KEYS};
2
+ //# sourceMappingURL=settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.mjs","names":[],"sources":["../../src/constants/settings.ts"],"sourcesContent":["export const KEY_SEPARATOR = '.';\n\nexport const SELECTION_KEYS = {\n majorMode: ['selection', 'majorMode'],\n domains: ['selection', 'domains'],\n profile: ['selection', 'profile'],\n} as const;\n"],"mappings":"AAEA,MAAa,EAAiB,CAC5B,UAAW,CAAC,YAAa,WAAW,EACpC,QAAS,CAAC,YAAa,SAAS,EAChC,QAAS,CAAC,YAAa,SAAS,CAClC"}
@@ -0,0 +1,2 @@
1
+ const e=require("../services/configPolicy/index.cjs"),t=require("../services/config/index.cjs"),n=require("../services/configWriter/index.cjs"),r=require("../services/imageSettings/index.cjs"),i=require("../services/piConfig/index.cjs"),a=require("../services/settings/index.cjs"),o={basePath:`config`,start(o){if(o.scope===`session`)throw Error(`Configuration settings require a global or workspace mount.`);let{homeDirectory:s}=o,c=()=>o.scope===`workspace`&&o.workspaceId&&o.workspaceRoot?{id:o.workspaceId,name:o.workspaceRoot.split(`/`).at(-1)??o.workspaceId,path:o.workspaceRoot,active:o.repositories?.().find(e=>e.id===o.workspaceId)?.active??!1}:void 0,l=()=>({...i.loadPiImageSettings(s),minDimension:256,maxAllowedDimension:r.DEFAULT_IMAGE_MAX_DIMENSION}),u=Promise.resolve(),d=!1,f=async r=>{if(d)return Response.json({error:`Configuration mount is closed.`},{status:503});let u=new URL(r.url),f=c();if(u.pathname===`/config`&&r.method===`GET`)return Response.json(a.configView(o,u.searchParams.getAll(`key`)));if(u.pathname===`/repositories`&&r.method===`GET`)return Response.json({repositories:o.repositories?.()??[]});if(u.pathname===`/repository`&&r.method===`GET`)return f?Response.json(a.repositorySettingsView(f,s)):Response.json({error:`Choose a workspace.`},{status:404});if(u.pathname===`/images`&&o.scope===`global`){if(r.method===`GET`)return Response.json(l());if(r.method===`PUT`){let e=await r.json();return!a.isRecord(e)||e.autoResize!==void 0&&typeof e.autoResize!=`boolean`||e.maxDimension!==void 0&&(typeof e.maxDimension!=`number`||!Number.isFinite(e.maxDimension))?Response.json({error:`Invalid image settings.`},{status:400}):(i.savePiImageSettings({...typeof e.autoResize==`boolean`?{autoResize:e.autoResize}:{},...typeof e.maxDimension==`number`?{maxDimension:e.maxDimension}:{}},s),o.configurationChanged?.(),Response.json(l()))}}if(u.pathname===`/repository/selection`&&r.method===`PUT`){let e=a.parseSelectionWrite(await r.json());if(!e)return Response.json({error:`A selection write needs typed changes and a file hash.`},{status:400});if(!f||e.repositoryId!==f.id)return Response.json({error:`Workspace not found in this mount.`},{status:404});let i=a.repositorySettingsView(f,s);if(i.hash!==e.expectedHash)return Response.json({error:`The repository config changed since it was read.`,hash:i.hash},{status:409});let c=a.validateSelectionChanges(i,e.changes);return c?Response.json({error:c},{status:422}):(await n.writeDoomConfigValues(t.repositoryDoomConfigPath(f.path),a.selectionEdits(e.changes),{scope:`repository`}),o.configurationChanged?.(),Response.json(a.repositorySettingsView(f,s)))}if(u.pathname===`/value`&&r.method===`PUT`){let t=a.parseWrite(await r.json());if(!t)return Response.json({error:`A save requires a scope, key, value and file hash.`},{status:400});let i=o.scope===`global`?`global`:`repository`;if(t.scope!==i||i===`repository`&&t.repoRoot!==f?.path)return Response.json({error:`The write targets a different mount.`},{status:403});if(t.edits.some(t=>{let n=e.configScopeOf(t.keyPath);return n!==`both`&&n!==i}))return Response.json({error:`This key cannot be set at this scope.`},{status:409});let c=a.configView(o,[]);if(c.hashes[i]!==t.expectedHash)return Response.json({error:`The config changed since it was read.`,hash:c.hashes[i]},{status:409});let l=a.pathFor(i,f?.path??``,s);return await n.writeDoomConfigValues(l,t.edits.map(({keyPath:e,value:t})=>({keyPath:e,...t===null?{}:{value:t}})),{scope:i}),o.configurationChanged?.(),Response.json(a.configView(o,t.edits.map(e=>e.keyPath.join(`.`))))}return Response.json({error:`Configuration route not found.`},{status:404})},p=async e=>{try{return await f(e)}catch(e){return Response.json({error:a.describe(e)},{status:e instanceof SyntaxError?400:422})}};return{fetch(e){if(e.method===`GET`||e.method===`HEAD`)return p(e);let t=u.then(()=>p(e));return u=t.catch(()=>void 0),t},close(){d=!0}}}};exports.settingsApi=o;
2
+ //# sourceMappingURL=settingsApi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsApi.cjs","names":["loadPiImageSettings","DEFAULT_IMAGE_MAX_DIMENSION","configView","repositorySettingsView","isRecord","parseSelectionWrite","validateSelectionChanges","writeDoomConfigValues","repositoryDoomConfigPath","selectionEdits","parseWrite","configScopeOf","pathFor","describe"],"sources":["../../src/controllers/settingsApi.ts"],"sourcesContent":["import type { DoomApi } from '@agimon-ai/doompi-core/package-api';\n\nimport { KEY_SEPARATOR } from '../constants/settings';\nimport { repositoryDoomConfigPath } from '../services/config';\nimport { configScopeOf } from '../services/configPolicy';\nimport { writeDoomConfigValues } from '../services/configWriter';\nimport { DEFAULT_IMAGE_MAX_DIMENSION, MIN_IMAGE_MAX_DIMENSION } from '../services/imageSettings';\nimport { loadPiImageSettings, savePiImageSettings } from '../services/piConfig';\nimport {\n configView,\n describe,\n isRecord,\n parseSelectionWrite,\n parseWrite,\n pathFor,\n repositorySettingsView,\n selectionEdits,\n validateSelectionChanges,\n} from '../services/settings';\nimport type { SettingsRepository } from '../types/settings';\n\n/** Config handlers are bound to their mount. Request paths cannot choose a different repository. */\nexport const settingsApi: DoomApi = {\n basePath: 'config',\n start(context) {\n if (context.scope === 'session') throw new Error('Configuration settings require a global or workspace mount.');\n const { homeDirectory } = context;\n const repository = (): SettingsRepository | undefined =>\n context.scope === 'workspace' && context.workspaceId && context.workspaceRoot\n ? {\n id: context.workspaceId,\n name: context.workspaceRoot.split('/').at(-1) ?? context.workspaceId,\n path: context.workspaceRoot,\n active: context.repositories?.().find((entry) => entry.id === context.workspaceId)?.active ?? false,\n }\n : undefined;\n const imageView = () => ({\n ...loadPiImageSettings(homeDirectory),\n minDimension: MIN_IMAGE_MAX_DIMENSION,\n maxAllowedDimension: DEFAULT_IMAGE_MAX_DIMENSION,\n });\n let writes: Promise<unknown> = Promise.resolve();\n let closed = false;\n const dispatch = async (request: Request): Promise<Response> => {\n if (closed) return Response.json({ error: 'Configuration mount is closed.' }, { status: 503 });\n const url = new URL(request.url);\n const currentRepository = repository();\n if (url.pathname === '/config' && request.method === 'GET')\n return Response.json(configView(context, url.searchParams.getAll('key')));\n if (url.pathname === '/repositories' && request.method === 'GET')\n return Response.json({ repositories: context.repositories?.() ?? [] });\n if (url.pathname === '/repository' && request.method === 'GET') {\n return currentRepository\n ? Response.json(repositorySettingsView(currentRepository, homeDirectory))\n : Response.json({ error: 'Choose a workspace.' }, { status: 404 });\n }\n if (url.pathname === '/images' && context.scope === 'global') {\n if (request.method === 'GET') return Response.json(imageView());\n if (request.method === 'PUT') {\n const body: unknown = await request.json();\n if (\n !isRecord(body) ||\n (body.autoResize !== undefined && typeof body.autoResize !== 'boolean') ||\n (body.maxDimension !== undefined &&\n (typeof body.maxDimension !== 'number' || !Number.isFinite(body.maxDimension)))\n )\n return Response.json({ error: 'Invalid image settings.' }, { status: 400 });\n savePiImageSettings(\n {\n ...(typeof body.autoResize === 'boolean' ? { autoResize: body.autoResize } : {}),\n ...(typeof body.maxDimension === 'number' ? { maxDimension: body.maxDimension } : {}),\n },\n homeDirectory,\n );\n context.configurationChanged?.();\n return Response.json(imageView());\n }\n }\n if (url.pathname === '/repository/selection' && request.method === 'PUT') {\n const body = parseSelectionWrite(await request.json());\n if (!body)\n return Response.json({ error: 'A selection write needs typed changes and a file hash.' }, { status: 400 });\n if (!currentRepository || body.repositoryId !== currentRepository.id)\n return Response.json({ error: 'Workspace not found in this mount.' }, { status: 404 });\n const before = repositorySettingsView(currentRepository, homeDirectory);\n if (before.hash !== body.expectedHash)\n return Response.json(\n { error: 'The repository config changed since it was read.', hash: before.hash },\n { status: 409 },\n );\n const invalid = validateSelectionChanges(before, body.changes);\n if (invalid) return Response.json({ error: invalid }, { status: 422 });\n await writeDoomConfigValues(repositoryDoomConfigPath(currentRepository.path), selectionEdits(body.changes), {\n scope: 'repository',\n });\n context.configurationChanged?.();\n return Response.json(repositorySettingsView(currentRepository, homeDirectory));\n }\n if (url.pathname === '/value' && request.method === 'PUT') {\n const body = parseWrite(await request.json());\n if (!body)\n return Response.json({ error: 'A save requires a scope, key, value and file hash.' }, { status: 400 });\n const scope = context.scope === 'global' ? 'global' : 'repository';\n if (body.scope !== scope || (scope === 'repository' && body.repoRoot !== currentRepository?.path))\n return Response.json({ error: 'The write targets a different mount.' }, { status: 403 });\n if (\n body.edits.some((edit) => {\n const allowed = configScopeOf(edit.keyPath);\n return allowed !== 'both' && allowed !== scope;\n })\n )\n return Response.json({ error: 'This key cannot be set at this scope.' }, { status: 409 });\n const before = configView(context, []);\n if (before.hashes[scope] !== body.expectedHash)\n return Response.json(\n { error: 'The config changed since it was read.', hash: before.hashes[scope] },\n { status: 409 },\n );\n const target = pathFor(scope, currentRepository?.path ?? '', homeDirectory);\n await writeDoomConfigValues(\n target,\n body.edits.map(({ keyPath, value }) => ({ keyPath, ...(value === null ? {} : { value }) })),\n { scope },\n );\n context.configurationChanged?.();\n return Response.json(\n configView(\n context,\n body.edits.map((edit) => edit.keyPath.join(KEY_SEPARATOR)),\n ),\n );\n }\n return Response.json({ error: 'Configuration route not found.' }, { status: 404 });\n };\n const guarded = async (request: Request): Promise<Response> => {\n try {\n return await dispatch(request);\n } catch (error) {\n return Response.json({ error: describe(error) }, { status: error instanceof SyntaxError ? 400 : 422 });\n }\n };\n return {\n fetch(request) {\n if (request.method === 'GET' || request.method === 'HEAD') return guarded(request);\n const result = writes.then(() => guarded(request));\n writes = result.catch(() => undefined);\n return result;\n },\n close() {\n closed = true;\n },\n };\n },\n};\n"],"mappings":"yRAsBa,EAAuB,CAClC,SAAU,SACV,MAAM,EAAS,CACb,GAAI,EAAQ,QAAU,UAAW,MAAU,MAAM,6DAA6D,EAC9G,GAAM,CAAE,iBAAkB,EACpB,MACJ,EAAQ,QAAU,aAAe,EAAQ,aAAe,EAAQ,cAC5D,CACE,GAAI,EAAQ,YACZ,KAAM,EAAQ,cAAc,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAK,EAAQ,YACzD,KAAM,EAAQ,cACd,OAAQ,EAAQ,eAAe,CAAC,CAAC,KAAM,GAAU,EAAM,KAAO,EAAQ,WAAW,CAAC,EAAE,QAAU,EAChG,EACA,IAAA,GACA,OAAmB,CACvB,GAAGA,EAAAA,oBAAoB,CAAa,EACpC,aAAA,IACA,oBAAqBC,EAAAA,2BACvB,GACI,EAA2B,QAAQ,QAAQ,EAC3C,EAAS,GACP,EAAW,KAAO,IAAwC,CAC9D,GAAI,EAAQ,OAAO,SAAS,KAAK,CAAE,MAAO,gCAAiC,EAAG,CAAE,OAAQ,GAAI,CAAC,EAC7F,IAAM,EAAM,IAAI,IAAI,EAAQ,GAAG,EACzB,EAAoB,EAAW,EACrC,GAAI,EAAI,WAAa,WAAa,EAAQ,SAAW,MACnD,OAAO,SAAS,KAAKC,EAAAA,WAAW,EAAS,EAAI,aAAa,OAAO,KAAK,CAAC,CAAC,EAC1E,GAAI,EAAI,WAAa,iBAAmB,EAAQ,SAAW,MACzD,OAAO,SAAS,KAAK,CAAE,aAAc,EAAQ,eAAe,GAAK,CAAC,CAAE,CAAC,EACvE,GAAI,EAAI,WAAa,eAAiB,EAAQ,SAAW,MACvD,OAAO,EACH,SAAS,KAAKC,EAAAA,uBAAuB,EAAmB,CAAa,CAAC,EACtE,SAAS,KAAK,CAAE,MAAO,qBAAsB,EAAG,CAAE,OAAQ,GAAI,CAAC,EAErE,GAAI,EAAI,WAAa,WAAa,EAAQ,QAAU,SAAU,CAC5D,GAAI,EAAQ,SAAW,MAAO,OAAO,SAAS,KAAK,EAAU,CAAC,EAC9D,GAAI,EAAQ,SAAW,MAAO,CAC5B,IAAM,EAAgB,MAAM,EAAQ,KAAK,EAgBzC,MAdE,CAACC,EAAAA,SAAS,CAAI,GACb,EAAK,aAAe,IAAA,IAAa,OAAO,EAAK,YAAe,WAC5D,EAAK,eAAiB,IAAA,KACpB,OAAO,EAAK,cAAiB,UAAY,CAAC,OAAO,SAAS,EAAK,YAAY,GAEvE,SAAS,KAAK,CAAE,MAAO,yBAA0B,EAAG,CAAE,OAAQ,GAAI,CAAC,GAC5E,EAAA,oBACE,CACE,GAAI,OAAO,EAAK,YAAe,UAAY,CAAE,WAAY,EAAK,UAAW,EAAI,CAAC,EAC9E,GAAI,OAAO,EAAK,cAAiB,SAAW,CAAE,aAAc,EAAK,YAAa,EAAI,CAAC,CACrF,EACA,CACF,EACA,EAAQ,uBAAuB,EACxB,SAAS,KAAK,EAAU,CAAC,EAClC,CACF,CACA,GAAI,EAAI,WAAa,yBAA2B,EAAQ,SAAW,MAAO,CACxE,IAAM,EAAOC,EAAAA,oBAAoB,MAAM,EAAQ,KAAK,CAAC,EACrD,GAAI,CAAC,EACH,OAAO,SAAS,KAAK,CAAE,MAAO,wDAAyD,EAAG,CAAE,OAAQ,GAAI,CAAC,EAC3G,GAAI,CAAC,GAAqB,EAAK,eAAiB,EAAkB,GAChE,OAAO,SAAS,KAAK,CAAE,MAAO,oCAAqC,EAAG,CAAE,OAAQ,GAAI,CAAC,EACvF,IAAM,EAASF,EAAAA,uBAAuB,EAAmB,CAAa,EACtE,GAAI,EAAO,OAAS,EAAK,aACvB,OAAO,SAAS,KACd,CAAE,MAAO,mDAAoD,KAAM,EAAO,IAAK,EAC/E,CAAE,OAAQ,GAAI,CAChB,EACF,IAAM,EAAUG,EAAAA,yBAAyB,EAAQ,EAAK,OAAO,EAM7D,OALI,EAAgB,SAAS,KAAK,CAAE,MAAO,CAAQ,EAAG,CAAE,OAAQ,GAAI,CAAC,GACrE,MAAMC,EAAAA,sBAAsBC,EAAAA,yBAAyB,EAAkB,IAAI,EAAGC,EAAAA,eAAe,EAAK,OAAO,EAAG,CAC1G,MAAO,YACT,CAAC,EACD,EAAQ,uBAAuB,EACxB,SAAS,KAAKN,EAAAA,uBAAuB,EAAmB,CAAa,CAAC,EAC/E,CACA,GAAI,EAAI,WAAa,UAAY,EAAQ,SAAW,MAAO,CACzD,IAAM,EAAOO,EAAAA,WAAW,MAAM,EAAQ,KAAK,CAAC,EAC5C,GAAI,CAAC,EACH,OAAO,SAAS,KAAK,CAAE,MAAO,oDAAqD,EAAG,CAAE,OAAQ,GAAI,CAAC,EACvG,IAAM,EAAQ,EAAQ,QAAU,SAAW,SAAW,aACtD,GAAI,EAAK,QAAU,GAAU,IAAU,cAAgB,EAAK,WAAa,GAAmB,KAC1F,OAAO,SAAS,KAAK,CAAE,MAAO,sCAAuC,EAAG,CAAE,OAAQ,GAAI,CAAC,EACzF,GACE,EAAK,MAAM,KAAM,GAAS,CACxB,IAAM,EAAUC,EAAAA,cAAc,EAAK,OAAO,EAC1C,OAAO,IAAY,QAAU,IAAY,CAC3C,CAAC,EAED,OAAO,SAAS,KAAK,CAAE,MAAO,uCAAwC,EAAG,CAAE,OAAQ,GAAI,CAAC,EAC1F,IAAM,EAAST,EAAAA,WAAW,EAAS,CAAC,CAAC,EACrC,GAAI,EAAO,OAAO,KAAW,EAAK,aAChC,OAAO,SAAS,KACd,CAAE,MAAO,wCAAyC,KAAM,EAAO,OAAO,EAAO,EAC7E,CAAE,OAAQ,GAAI,CAChB,EACF,IAAM,EAASU,EAAAA,QAAQ,EAAO,GAAmB,MAAQ,GAAI,CAAa,EAO1E,OANA,MAAML,EAAAA,sBACJ,EACA,EAAK,MAAM,KAAK,CAAE,UAAS,YAAa,CAAE,UAAS,GAAI,IAAU,KAAO,CAAC,EAAI,CAAE,OAAM,CAAG,EAAE,EAC1F,CAAE,OAAM,CACV,EACA,EAAQ,uBAAuB,EACxB,SAAS,KACdL,EAAAA,WACE,EACA,EAAK,MAAM,IAAK,GAAS,EAAK,QAAQ,KAAA,GAAkB,CAAC,CAC3D,CACF,CACF,CACA,OAAO,SAAS,KAAK,CAAE,MAAO,gCAAiC,EAAG,CAAE,OAAQ,GAAI,CAAC,CACnF,EACM,EAAU,KAAO,IAAwC,CAC7D,GAAI,CACF,OAAO,MAAM,EAAS,CAAO,CAC/B,OAAS,EAAO,CACd,OAAO,SAAS,KAAK,CAAE,MAAOW,EAAAA,SAAS,CAAK,CAAE,EAAG,CAAE,OAAQ,aAAiB,YAAc,IAAM,GAAI,CAAC,CACvG,CACF,EACA,MAAO,CACL,MAAM,EAAS,CACb,GAAI,EAAQ,SAAW,OAAS,EAAQ,SAAW,OAAQ,OAAO,EAAQ,CAAO,EACjF,IAAM,EAAS,EAAO,SAAW,EAAQ,CAAO,CAAC,EAEjD,MADA,GAAS,EAAO,UAAY,IAAA,EAAS,EAC9B,CACT,EACA,OAAQ,CACN,EAAS,EACX,CACF,CACF,CACF"}
@@ -0,0 +1,2 @@
1
+ import{configScopeOf as e}from"../services/configPolicy/index.mjs";import{repositoryDoomConfigPath as t}from"../services/config/index.mjs";import{writeDoomConfigValues as n}from"../services/configWriter/index.mjs";import{DEFAULT_IMAGE_MAX_DIMENSION as r}from"../services/imageSettings/index.mjs";import{loadPiImageSettings as i,savePiImageSettings as a}from"../services/piConfig/index.mjs";import{configView as o,describe as s,isRecord as c,parseSelectionWrite as l,parseWrite as u,pathFor as d,repositorySettingsView as f,selectionEdits as p,validateSelectionChanges as m}from"../services/settings/index.mjs";const h={basePath:`config`,start(h){if(h.scope===`session`)throw Error(`Configuration settings require a global or workspace mount.`);let{homeDirectory:g}=h,_=()=>h.scope===`workspace`&&h.workspaceId&&h.workspaceRoot?{id:h.workspaceId,name:h.workspaceRoot.split(`/`).at(-1)??h.workspaceId,path:h.workspaceRoot,active:h.repositories?.().find(e=>e.id===h.workspaceId)?.active??!1}:void 0,v=()=>({...i(g),minDimension:256,maxAllowedDimension:r}),y=Promise.resolve(),b=!1,x=async r=>{if(b)return Response.json({error:`Configuration mount is closed.`},{status:503});let i=new URL(r.url),s=_();if(i.pathname===`/config`&&r.method===`GET`)return Response.json(o(h,i.searchParams.getAll(`key`)));if(i.pathname===`/repositories`&&r.method===`GET`)return Response.json({repositories:h.repositories?.()??[]});if(i.pathname===`/repository`&&r.method===`GET`)return s?Response.json(f(s,g)):Response.json({error:`Choose a workspace.`},{status:404});if(i.pathname===`/images`&&h.scope===`global`){if(r.method===`GET`)return Response.json(v());if(r.method===`PUT`){let e=await r.json();return!c(e)||e.autoResize!==void 0&&typeof e.autoResize!=`boolean`||e.maxDimension!==void 0&&(typeof e.maxDimension!=`number`||!Number.isFinite(e.maxDimension))?Response.json({error:`Invalid image settings.`},{status:400}):(a({...typeof e.autoResize==`boolean`?{autoResize:e.autoResize}:{},...typeof e.maxDimension==`number`?{maxDimension:e.maxDimension}:{}},g),h.configurationChanged?.(),Response.json(v()))}}if(i.pathname===`/repository/selection`&&r.method===`PUT`){let e=l(await r.json());if(!e)return Response.json({error:`A selection write needs typed changes and a file hash.`},{status:400});if(!s||e.repositoryId!==s.id)return Response.json({error:`Workspace not found in this mount.`},{status:404});let i=f(s,g);if(i.hash!==e.expectedHash)return Response.json({error:`The repository config changed since it was read.`,hash:i.hash},{status:409});let a=m(i,e.changes);return a?Response.json({error:a},{status:422}):(await n(t(s.path),p(e.changes),{scope:`repository`}),h.configurationChanged?.(),Response.json(f(s,g)))}if(i.pathname===`/value`&&r.method===`PUT`){let t=u(await r.json());if(!t)return Response.json({error:`A save requires a scope, key, value and file hash.`},{status:400});let i=h.scope===`global`?`global`:`repository`;if(t.scope!==i||i===`repository`&&t.repoRoot!==s?.path)return Response.json({error:`The write targets a different mount.`},{status:403});if(t.edits.some(t=>{let n=e(t.keyPath);return n!==`both`&&n!==i}))return Response.json({error:`This key cannot be set at this scope.`},{status:409});let a=o(h,[]);if(a.hashes[i]!==t.expectedHash)return Response.json({error:`The config changed since it was read.`,hash:a.hashes[i]},{status:409});let c=d(i,s?.path??``,g);return await n(c,t.edits.map(({keyPath:e,value:t})=>({keyPath:e,...t===null?{}:{value:t}})),{scope:i}),h.configurationChanged?.(),Response.json(o(h,t.edits.map(e=>e.keyPath.join(`.`))))}return Response.json({error:`Configuration route not found.`},{status:404})},S=async e=>{try{return await x(e)}catch(e){return Response.json({error:s(e)},{status:e instanceof SyntaxError?400:422})}};return{fetch(e){if(e.method===`GET`||e.method===`HEAD`)return S(e);let t=y.then(()=>S(e));return y=t.catch(()=>void 0),t},close(){b=!0}}}};export{h as settingsApi};
2
+ //# sourceMappingURL=settingsApi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsApi.mjs","names":[],"sources":["../../src/controllers/settingsApi.ts"],"sourcesContent":["import type { DoomApi } from '@agimon-ai/doompi-core/package-api';\n\nimport { KEY_SEPARATOR } from '../constants/settings';\nimport { repositoryDoomConfigPath } from '../services/config';\nimport { configScopeOf } from '../services/configPolicy';\nimport { writeDoomConfigValues } from '../services/configWriter';\nimport { DEFAULT_IMAGE_MAX_DIMENSION, MIN_IMAGE_MAX_DIMENSION } from '../services/imageSettings';\nimport { loadPiImageSettings, savePiImageSettings } from '../services/piConfig';\nimport {\n configView,\n describe,\n isRecord,\n parseSelectionWrite,\n parseWrite,\n pathFor,\n repositorySettingsView,\n selectionEdits,\n validateSelectionChanges,\n} from '../services/settings';\nimport type { SettingsRepository } from '../types/settings';\n\n/** Config handlers are bound to their mount. Request paths cannot choose a different repository. */\nexport const settingsApi: DoomApi = {\n basePath: 'config',\n start(context) {\n if (context.scope === 'session') throw new Error('Configuration settings require a global or workspace mount.');\n const { homeDirectory } = context;\n const repository = (): SettingsRepository | undefined =>\n context.scope === 'workspace' && context.workspaceId && context.workspaceRoot\n ? {\n id: context.workspaceId,\n name: context.workspaceRoot.split('/').at(-1) ?? context.workspaceId,\n path: context.workspaceRoot,\n active: context.repositories?.().find((entry) => entry.id === context.workspaceId)?.active ?? false,\n }\n : undefined;\n const imageView = () => ({\n ...loadPiImageSettings(homeDirectory),\n minDimension: MIN_IMAGE_MAX_DIMENSION,\n maxAllowedDimension: DEFAULT_IMAGE_MAX_DIMENSION,\n });\n let writes: Promise<unknown> = Promise.resolve();\n let closed = false;\n const dispatch = async (request: Request): Promise<Response> => {\n if (closed) return Response.json({ error: 'Configuration mount is closed.' }, { status: 503 });\n const url = new URL(request.url);\n const currentRepository = repository();\n if (url.pathname === '/config' && request.method === 'GET')\n return Response.json(configView(context, url.searchParams.getAll('key')));\n if (url.pathname === '/repositories' && request.method === 'GET')\n return Response.json({ repositories: context.repositories?.() ?? [] });\n if (url.pathname === '/repository' && request.method === 'GET') {\n return currentRepository\n ? Response.json(repositorySettingsView(currentRepository, homeDirectory))\n : Response.json({ error: 'Choose a workspace.' }, { status: 404 });\n }\n if (url.pathname === '/images' && context.scope === 'global') {\n if (request.method === 'GET') return Response.json(imageView());\n if (request.method === 'PUT') {\n const body: unknown = await request.json();\n if (\n !isRecord(body) ||\n (body.autoResize !== undefined && typeof body.autoResize !== 'boolean') ||\n (body.maxDimension !== undefined &&\n (typeof body.maxDimension !== 'number' || !Number.isFinite(body.maxDimension)))\n )\n return Response.json({ error: 'Invalid image settings.' }, { status: 400 });\n savePiImageSettings(\n {\n ...(typeof body.autoResize === 'boolean' ? { autoResize: body.autoResize } : {}),\n ...(typeof body.maxDimension === 'number' ? { maxDimension: body.maxDimension } : {}),\n },\n homeDirectory,\n );\n context.configurationChanged?.();\n return Response.json(imageView());\n }\n }\n if (url.pathname === '/repository/selection' && request.method === 'PUT') {\n const body = parseSelectionWrite(await request.json());\n if (!body)\n return Response.json({ error: 'A selection write needs typed changes and a file hash.' }, { status: 400 });\n if (!currentRepository || body.repositoryId !== currentRepository.id)\n return Response.json({ error: 'Workspace not found in this mount.' }, { status: 404 });\n const before = repositorySettingsView(currentRepository, homeDirectory);\n if (before.hash !== body.expectedHash)\n return Response.json(\n { error: 'The repository config changed since it was read.', hash: before.hash },\n { status: 409 },\n );\n const invalid = validateSelectionChanges(before, body.changes);\n if (invalid) return Response.json({ error: invalid }, { status: 422 });\n await writeDoomConfigValues(repositoryDoomConfigPath(currentRepository.path), selectionEdits(body.changes), {\n scope: 'repository',\n });\n context.configurationChanged?.();\n return Response.json(repositorySettingsView(currentRepository, homeDirectory));\n }\n if (url.pathname === '/value' && request.method === 'PUT') {\n const body = parseWrite(await request.json());\n if (!body)\n return Response.json({ error: 'A save requires a scope, key, value and file hash.' }, { status: 400 });\n const scope = context.scope === 'global' ? 'global' : 'repository';\n if (body.scope !== scope || (scope === 'repository' && body.repoRoot !== currentRepository?.path))\n return Response.json({ error: 'The write targets a different mount.' }, { status: 403 });\n if (\n body.edits.some((edit) => {\n const allowed = configScopeOf(edit.keyPath);\n return allowed !== 'both' && allowed !== scope;\n })\n )\n return Response.json({ error: 'This key cannot be set at this scope.' }, { status: 409 });\n const before = configView(context, []);\n if (before.hashes[scope] !== body.expectedHash)\n return Response.json(\n { error: 'The config changed since it was read.', hash: before.hashes[scope] },\n { status: 409 },\n );\n const target = pathFor(scope, currentRepository?.path ?? '', homeDirectory);\n await writeDoomConfigValues(\n target,\n body.edits.map(({ keyPath, value }) => ({ keyPath, ...(value === null ? {} : { value }) })),\n { scope },\n );\n context.configurationChanged?.();\n return Response.json(\n configView(\n context,\n body.edits.map((edit) => edit.keyPath.join(KEY_SEPARATOR)),\n ),\n );\n }\n return Response.json({ error: 'Configuration route not found.' }, { status: 404 });\n };\n const guarded = async (request: Request): Promise<Response> => {\n try {\n return await dispatch(request);\n } catch (error) {\n return Response.json({ error: describe(error) }, { status: error instanceof SyntaxError ? 400 : 422 });\n }\n };\n return {\n fetch(request) {\n if (request.method === 'GET' || request.method === 'HEAD') return guarded(request);\n const result = writes.then(() => guarded(request));\n writes = result.catch(() => undefined);\n return result;\n },\n close() {\n closed = true;\n },\n };\n },\n};\n"],"mappings":"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"}
package/dist/domains.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/domains.cjs"),t=require("./adapters/layeredConfig.cjs"),n=require("./adapters/pluginCatalog.cjs"),r=require("./adapters/domains.cjs");exports.DEFAULT_DOMAIN=r.DEFAULT_DOMAIN,exports.DOOMPI_DOMAINS_ENV=r.DOOMPI_DOMAINS_ENV,exports.DOOM_DIR=t.DOOM_DIR,exports.MARKETPLACE_MANIFEST_RELATIVE_PATHS=n.MARKETPLACE_MANIFEST_RELATIVE_PATHS,exports.defaultDomainsForMajorMode=r.defaultDomainsForMajorMode,exports.domainCompletionItems=e.domainCompletionItems,exports.domainCompletionPrefix=e.domainCompletionPrefix,exports.expandDomainNames=e.expandDomainNames,exports.findPluginManifestPath=n.findPluginManifestPath,exports.isRemotePluginSource=n.isRemotePluginSource,exports.listDomainNames=r.listDomainNames,exports.loadDomains=r.loadDomains,exports.pluginDirectoryForSource=n.pluginDirectoryForSource,exports.resolvePluginDirectories=r.resolvePluginDirectories,exports.resolvePluginEntries=r.resolvePluginEntries,exports.resolveSharedSkills=r.resolveSharedSkills;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/layeredConfig/index.cjs"),t=require("./services/pluginCatalog/index.cjs"),n=require("./services/domains/completion.cjs"),r=require("./services/domains/index.cjs");exports.DEFAULT_DOMAIN=r.DEFAULT_DOMAIN,exports.DOOMPI_DOMAINS_ENV=r.DOOMPI_DOMAINS_ENV,exports.DOOM_DIR=e.DOOM_DIR,exports.MARKETPLACE_MANIFEST_RELATIVE_PATHS=t.MARKETPLACE_MANIFEST_RELATIVE_PATHS,exports.defaultDomainsForMajorMode=r.defaultDomainsForMajorMode,exports.domainCompletionItems=n.domainCompletionItems,exports.domainCompletionPrefix=n.domainCompletionPrefix,exports.expandDomainNames=n.expandDomainNames,exports.findPluginManifestPath=t.findPluginManifestPath,exports.isRemotePluginSource=t.isRemotePluginSource,exports.listDomainNames=r.listDomainNames,exports.loadDomains=r.loadDomains,exports.pluginDirectoryForSource=t.pluginDirectoryForSource,exports.resolvePluginDirectories=r.resolvePluginDirectories,exports.resolvePluginEntries=r.resolvePluginEntries,exports.resolveSharedSkills=r.resolveSharedSkills;
@@ -1,6 +1,6 @@
1
1
  import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, GitPluginSource, LocalPluginSource, NpmPluginSource, PluginCatalog, PluginCatalogEntry, PluginEntry, PluginManifestMetadata, PluginSkillDiscovery, PluginSource, ResolvedDomain } from "./types/domains.cjs";
2
- import { DOOM_DIR } from "./adapters/layeredConfig.cjs";
3
- import { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, defaultDomainsForMajorMode, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./adapters/domains.cjs";
4
- import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./adapters/pluginCatalog.cjs";
5
- import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains.cjs";
2
+ import { DOOM_DIR } from "./services/layeredConfig/index.cjs";
3
+ import { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, defaultDomainsForMajorMode, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./services/domains/index.cjs";
4
+ import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains/completion.cjs";
5
+ import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./services/pluginCatalog/index.cjs";
6
6
  export { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, DOOM_DIR, type DomainDefinition, type DomainManifest, type DomainMcpAllowlist, type DomainPlugin, type GitPluginSource, type LocalPluginSource, MARKETPLACE_MANIFEST_RELATIVE_PATHS, type NpmPluginSource, type PluginCatalog, type PluginCatalogEntry, type PluginEntry, type PluginManifestMetadata, type PluginSkillDiscovery, type PluginSource, type ResolvedDomain, defaultDomainsForMajorMode, domainCompletionItems, domainCompletionPrefix, expandDomainNames, findPluginManifestPath, isRemotePluginSource, listDomainNames, loadDomains, pluginDirectoryForSource, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills };
@@ -1,6 +1,6 @@
1
1
  import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, GitPluginSource, LocalPluginSource, NpmPluginSource, PluginCatalog, PluginCatalogEntry, PluginEntry, PluginManifestMetadata, PluginSkillDiscovery, PluginSource, ResolvedDomain } from "./types/domains.mjs";
2
- import { DOOM_DIR } from "./adapters/layeredConfig.mjs";
3
- import { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, defaultDomainsForMajorMode, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./adapters/domains.mjs";
4
- import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./adapters/pluginCatalog.mjs";
5
- import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains.mjs";
2
+ import { DOOM_DIR } from "./services/layeredConfig/index.mjs";
3
+ import { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, defaultDomainsForMajorMode, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./services/domains/index.mjs";
4
+ import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains/completion.mjs";
5
+ import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./services/pluginCatalog/index.mjs";
6
6
  export { DEFAULT_DOMAIN, DOOMPI_DOMAINS_ENV, DOOM_DIR, type DomainDefinition, type DomainManifest, type DomainMcpAllowlist, type DomainPlugin, type GitPluginSource, type LocalPluginSource, MARKETPLACE_MANIFEST_RELATIVE_PATHS, type NpmPluginSource, type PluginCatalog, type PluginCatalogEntry, type PluginEntry, type PluginManifestMetadata, type PluginSkillDiscovery, type PluginSource, type ResolvedDomain, defaultDomainsForMajorMode, domainCompletionItems, domainCompletionPrefix, expandDomainNames, findPluginManifestPath, isRemotePluginSource, listDomainNames, loadDomains, pluginDirectoryForSource, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills };
package/dist/domains.mjs CHANGED
@@ -1 +1 @@
1
- import{domainCompletionItems as e,domainCompletionPrefix as t,expandDomainNames as n}from"./services/domains.mjs";import{DOOM_DIR as r}from"./adapters/layeredConfig.mjs";import{MARKETPLACE_MANIFEST_RELATIVE_PATHS as i,findPluginManifestPath as a,isRemotePluginSource as o,pluginDirectoryForSource as s}from"./adapters/pluginCatalog.mjs";import{DEFAULT_DOMAIN as c,DOOMPI_DOMAINS_ENV as l,defaultDomainsForMajorMode as u,listDomainNames as d,loadDomains as f,resolvePluginDirectories as p,resolvePluginEntries as m,resolveSharedSkills as h}from"./adapters/domains.mjs";export{c as DEFAULT_DOMAIN,l as DOOMPI_DOMAINS_ENV,r as DOOM_DIR,i as MARKETPLACE_MANIFEST_RELATIVE_PATHS,u as defaultDomainsForMajorMode,e as domainCompletionItems,t as domainCompletionPrefix,n as expandDomainNames,a as findPluginManifestPath,o as isRemotePluginSource,d as listDomainNames,f as loadDomains,s as pluginDirectoryForSource,p as resolvePluginDirectories,m as resolvePluginEntries,h as resolveSharedSkills};
1
+ import{DOOM_DIR as e}from"./services/layeredConfig/index.mjs";import{MARKETPLACE_MANIFEST_RELATIVE_PATHS as t,findPluginManifestPath as n,isRemotePluginSource as r,pluginDirectoryForSource as i}from"./services/pluginCatalog/index.mjs";import{domainCompletionItems as a,domainCompletionPrefix as o,expandDomainNames as s}from"./services/domains/completion.mjs";import{DEFAULT_DOMAIN as c,DOOMPI_DOMAINS_ENV as l,defaultDomainsForMajorMode as u,listDomainNames as d,loadDomains as f,resolvePluginDirectories as p,resolvePluginEntries as m,resolveSharedSkills as h}from"./services/domains/index.mjs";export{c as DEFAULT_DOMAIN,l as DOOMPI_DOMAINS_ENV,e as DOOM_DIR,t as MARKETPLACE_MANIFEST_RELATIVE_PATHS,u as defaultDomainsForMajorMode,a as domainCompletionItems,o as domainCompletionPrefix,s as expandDomainNames,n as findPluginManifestPath,r as isRemotePluginSource,d as listDomainNames,f as loadDomains,i as pluginDirectoryForSource,p as resolvePluginDirectories,m as resolvePluginEntries,h as resolveSharedSkills};
@@ -1 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../adapters/pi/configExtension.cjs");exports.default=e.default,exports.registerConfigExtension=e.default;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../constants/config.cjs"),t=require("../services/configRuntime/index.cjs"),n=(0,require("@agimon-ai/doompi-core/pi-extension").definePiExtension)(e.PACKAGE_SOURCE,({pi:n})=>{let r=t.createConfigRuntime(n);return{services:[r.plugin],resources:[{source:e.PACKAGE_SOURCE,moduleUrl:require("url").pathToFileURL(__filename).href,skills:[e.CONFIG_HELP_SKILL]}],events:{session_start:r.onSessionStart}}});exports.default=n,exports.registerConfigExtension=n;
2
+ //# sourceMappingURL=pi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.cjs","names":["definePiExtension","PACKAGE_SOURCE","createConfigRuntime","CONFIG_HELP_SKILL"],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { definePiExtension } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { CONFIG_HELP_SKILL, PACKAGE_SOURCE } from '../constants/config';\nimport { createConfigRuntime } from '../services/configRuntime';\n\nexport const registerConfigExtension = definePiExtension(PACKAGE_SOURCE, ({ pi }) => {\n const runtime = createConfigRuntime(pi);\n return {\n services: [runtime.plugin],\n resources: [{ source: PACKAGE_SOURCE, moduleUrl: import.meta.url, skills: [CONFIG_HELP_SKILL] }],\n events: { session_start: runtime.onSessionStart },\n };\n});\n\nexport default registerConfigExtension;\n"],"mappings":"2LAKa,GAAA,+CAA0BA,CAAAA,CAAAA,kBAAAA,CAAkBC,EAAAA,gBAAiB,CAAE,QAAS,CACnF,IAAM,EAAUC,EAAAA,oBAAoB,CAAE,EACtC,MAAO,CACL,SAAU,CAAC,EAAQ,MAAM,EACzB,UAAW,CAAC,CAAE,OAAQD,EAAAA,eAAgB,UAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,KAA4B,OAAQ,CAACE,EAAAA,iBAAiB,CAAE,CAAC,EAC/F,OAAQ,CAAE,cAAe,EAAQ,cAAe,CAClD,CACF,CAAC"}
@@ -1,2 +1,5 @@
1
- import registerConfigExtension from "../adapters/pi/configExtension.cjs";
2
- export { registerConfigExtension as default, registerConfigExtension };
1
+ //#region src/extensions/pi.d.ts
2
+ export declare const registerConfigExtension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<undefined>;
3
+ //#endregion
4
+ export { registerConfigExtension as default };
5
+ //# sourceMappingURL=pi.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.cts","names":[],"sources":["../../src/extensions/pi.ts"],"mappings":";qBAKa,+EAAuB"}
@@ -1,2 +1,5 @@
1
- import registerConfigExtension from "../adapters/pi/configExtension.mjs";
2
- export { registerConfigExtension as default, registerConfigExtension };
1
+ //#region src/extensions/pi.d.ts
2
+ export declare const registerConfigExtension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<undefined>;
3
+ //#endregion
4
+ export { registerConfigExtension as default };
5
+ //# sourceMappingURL=pi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.mts","names":[],"sources":["../../src/extensions/pi.ts"],"mappings":";qBAKa,+EAAuB"}
@@ -1 +1,2 @@
1
- import e from"../adapters/pi/configExtension.mjs";export{e as default,e as registerConfigExtension};
1
+ import{CONFIG_HELP_SKILL as e,PACKAGE_SOURCE as t}from"../constants/config.mjs";import{createConfigRuntime as n}from"../services/configRuntime/index.mjs";import{definePiExtension as r}from"@agimon-ai/doompi-core/pi-extension";const i=r(t,({pi:r})=>{let i=n(r);return{services:[i.plugin],resources:[{source:t,moduleUrl:import.meta.url,skills:[e]}],events:{session_start:i.onSessionStart}}});export{i as default,i as registerConfigExtension};
2
+ //# sourceMappingURL=pi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.mjs","names":[],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { definePiExtension } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { CONFIG_HELP_SKILL, PACKAGE_SOURCE } from '../constants/config';\nimport { createConfigRuntime } from '../services/configRuntime';\n\nexport const registerConfigExtension = definePiExtension(PACKAGE_SOURCE, ({ pi }) => {\n const runtime = createConfigRuntime(pi);\n return {\n services: [runtime.plugin],\n resources: [{ source: PACKAGE_SOURCE, moduleUrl: import.meta.url, skills: [CONFIG_HELP_SKILL] }],\n events: { session_start: runtime.onSessionStart },\n };\n});\n\nexport default registerConfigExtension;\n"],"mappings":"kOAKA,MAAa,EAA0B,EAAkB,GAAiB,CAAE,QAAS,CACnF,IAAM,EAAU,EAAoB,CAAE,EACtC,MAAO,CACL,SAAU,CAAC,EAAQ,MAAM,EACzB,UAAW,CAAC,CAAE,OAAQ,EAAgB,UAAW,YAAY,IAAK,OAAQ,CAAC,CAAiB,CAAE,CAAC,EAC/F,OAAQ,CAAE,cAAe,EAAQ,cAAe,CAClD,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../controllers/settingsApi.cjs"),t=require("../services/configResources/index.cjs"),n=(0,require("@agimon-ai/doompi-core/server-facet").defineServerPlugin)({name:`@agimon-ai/doompi-config`,global:{api:[e.settingsApi]},workspace:{api:[e.settingsApi]},session:{resources:[{name:`doompi/config`,kind:`context`,read:t.selectionMetadata},{name:`doompi-author-config`,kind:`skill`,read:()=>t.readPackageResource(`src/prompts/doompi-author-config/SKILL.md`)}]}});exports.configServerFacet=n,exports.default=n;
2
+ //# sourceMappingURL=server.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.cjs","names":["defineServerPlugin","settingsApi","selectionMetadata","readPackageResource"],"sources":["../../src/extensions/server.ts"],"sourcesContent":["import { defineServerPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport { settingsApi } from '../controllers/settingsApi';\nimport { readPackageResource, selectionMetadata } from '../services/configResources';\n\nexport const configServerFacet = defineServerPlugin({\n name: '@agimon-ai/doompi-config',\n global: { api: [settingsApi] },\n workspace: { api: [settingsApi] },\n session: {\n resources: [\n { name: 'doompi/config', kind: 'context', read: selectionMetadata },\n {\n name: 'doompi-author-config',\n kind: 'skill',\n read: () => readPackageResource('src/prompts/doompi-author-config/SKILL.md'),\n },\n ],\n },\n});\n\nexport default configServerFacet;\n"],"mappings":"oMAKa,GAAA,+CAAoBA,CAAAA,CAAAA,mBAAAA,CAAmB,CAClD,KAAM,2BACN,OAAQ,CAAE,IAAK,CAACC,EAAAA,WAAW,CAAE,EAC7B,UAAW,CAAE,IAAK,CAACA,EAAAA,WAAW,CAAE,EAChC,QAAS,CACP,UAAW,CACT,CAAE,KAAM,gBAAiB,KAAM,UAAW,KAAMC,EAAAA,iBAAkB,EAClE,CACE,KAAM,uBACN,KAAM,QACN,SAAYC,EAAAA,oBAAoB,2CAA2C,CAC7E,CACF,CACF,CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ //#region src/extensions/server.d.ts
2
+ export declare const configServerFacet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
+ //#endregion
4
+ export { configServerFacet as default };
5
+ //# sourceMappingURL=server.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.cts","names":[],"sources":["../../src/extensions/server.ts"],"mappings":";qBAKa,iEAAiB"}
@@ -0,0 +1,5 @@
1
+ //#region src/extensions/server.d.ts
2
+ export declare const configServerFacet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
+ //#endregion
4
+ export { configServerFacet as default };
5
+ //# sourceMappingURL=server.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.mts","names":[],"sources":["../../src/extensions/server.ts"],"mappings":";qBAKa,iEAAiB"}
@@ -0,0 +1,2 @@
1
+ import{settingsApi as e}from"../controllers/settingsApi.mjs";import{readPackageResource as t,selectionMetadata as n}from"../services/configResources/index.mjs";import{defineServerPlugin as r}from"@agimon-ai/doompi-core/server-facet";const i=r({name:`@agimon-ai/doompi-config`,global:{api:[e]},workspace:{api:[e]},session:{resources:[{name:`doompi/config`,kind:`context`,read:n},{name:`doompi-author-config`,kind:`skill`,read:()=>t(`src/prompts/doompi-author-config/SKILL.md`)}]}});export{i as configServerFacet,i as default};
2
+ //# sourceMappingURL=server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","names":[],"sources":["../../src/extensions/server.ts"],"sourcesContent":["import { defineServerPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport { settingsApi } from '../controllers/settingsApi';\nimport { readPackageResource, selectionMetadata } from '../services/configResources';\n\nexport const configServerFacet = defineServerPlugin({\n name: '@agimon-ai/doompi-config',\n global: { api: [settingsApi] },\n workspace: { api: [settingsApi] },\n session: {\n resources: [\n { name: 'doompi/config', kind: 'context', read: selectionMetadata },\n {\n name: 'doompi-author-config',\n kind: 'skill',\n read: () => readPackageResource('src/prompts/doompi-author-config/SKILL.md'),\n },\n ],\n },\n});\n\nexport default configServerFacet;\n"],"mappings":"yOAKA,MAAa,EAAoB,EAAmB,CAClD,KAAM,2BACN,OAAQ,CAAE,IAAK,CAAC,CAAW,CAAE,EAC7B,UAAW,CAAE,IAAK,CAAC,CAAW,CAAE,EAChC,QAAS,CACP,UAAW,CACT,CAAE,KAAM,gBAAiB,KAAM,UAAW,KAAM,CAAkB,EAClE,CACE,KAAM,uBACN,KAAM,QACN,SAAY,EAAoB,2CAA2C,CAC7E,CACF,CACF,CACF,CAAC"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/harnessState.cjs");exports.FILE_ONLY_STATE_FIELDS=e.FILE_ONLY_STATE_FIELDS,exports.HARNESS_STATE_KEYS=e.HARNESS_STATE_KEYS,exports.projectHarnessEnvironment=e.projectHarnessEnvironment,exports.readHarnessState=e.readHarnessState;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/harnessState/index.cjs");exports.FILE_ONLY_STATE_FIELDS=e.FILE_ONLY_STATE_FIELDS,exports.HARNESS_STATE_KEYS=e.HARNESS_STATE_KEYS,exports.projectHarnessEnvironment=e.projectHarnessEnvironment,exports.readHarnessState=e.readHarnessState;
@@ -1,2 +1,2 @@
1
- import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./adapters/harnessState.cjs";
1
+ import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./services/harnessState/index.cjs";
2
2
  export { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, type HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState };
@@ -1,2 +1,2 @@
1
- import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./adapters/harnessState.mjs";
1
+ import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./services/harnessState/index.mjs";
2
2
  export { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, type HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState };
@@ -1 +1 @@
1
- import{FILE_ONLY_STATE_FIELDS as e,HARNESS_STATE_KEYS as t,projectHarnessEnvironment as n,readHarnessState as r}from"./adapters/harnessState.mjs";export{e as FILE_ONLY_STATE_FIELDS,t as HARNESS_STATE_KEYS,n as projectHarnessEnvironment,r as readHarnessState};
1
+ import{FILE_ONLY_STATE_FIELDS as e,HARNESS_STATE_KEYS as t,projectHarnessEnvironment as n,readHarnessState as r}from"./services/harnessState/index.mjs";export{e as FILE_ONLY_STATE_FIELDS,t as HARNESS_STATE_KEYS,n as projectHarnessEnvironment,r as readHarnessState};
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/harnessStore.cjs");exports.HARNESS_STATE_POINTER=e.HARNESS_STATE_POINTER,exports.createHarnessSession=e.createHarnessSession,exports.disposeHarnessState=e.disposeHarnessState,exports.getHarnessState=e.getHarnessState,exports.harnessRoot=e.harnessRoot,exports.loadHarnessState=e.loadHarnessState,exports.requireHarnessPaths=e.requireHarnessPaths,exports.requireHarnessRoot=e.requireHarnessRoot,exports.resetHarnessStore=e.resetHarnessStore,exports.restoreHarnessStateSnapshot=e.restoreHarnessStateSnapshot,exports.snapshotHarnessState=e.snapshotHarnessState,exports.updateHarnessState=e.updateHarnessState;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/harnessStore/index.cjs");exports.HARNESS_STATE_POINTER=e.HARNESS_STATE_POINTER,exports.createHarnessSession=e.createHarnessSession,exports.disposeHarnessState=e.disposeHarnessState,exports.getHarnessState=e.getHarnessState,exports.harnessRoot=e.harnessRoot,exports.loadHarnessState=e.loadHarnessState,exports.requireHarnessPaths=e.requireHarnessPaths,exports.requireHarnessRoot=e.requireHarnessRoot,exports.resetHarnessStore=e.resetHarnessStore,exports.restoreHarnessStateSnapshot=e.restoreHarnessStateSnapshot,exports.snapshotHarnessState=e.snapshotHarnessState,exports.updateHarnessState=e.updateHarnessState;
@@ -1,2 +1,3 @@
1
- import { HARNESS_STATE_POINTER, HarnessStateFile, HarnessStateTransactionSnapshot, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState } from "./adapters/harnessStore.cjs";
1
+ import { LoadedHarnessState } from "./models/harnessCache.cjs";
2
+ import { HARNESS_STATE_POINTER, HarnessStateFile, HarnessStateTransactionSnapshot, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState } from "./services/harnessStore/index.cjs";
2
3
  export { HARNESS_STATE_POINTER, type HarnessStateFile, type HarnessStateTransactionSnapshot, type LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState };
@@ -1,2 +1,3 @@
1
- import { HARNESS_STATE_POINTER, HarnessStateFile, HarnessStateTransactionSnapshot, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState } from "./adapters/harnessStore.mjs";
1
+ import { LoadedHarnessState } from "./models/harnessCache.mjs";
2
+ import { HARNESS_STATE_POINTER, HarnessStateFile, HarnessStateTransactionSnapshot, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState } from "./services/harnessStore/index.mjs";
2
3
  export { HARNESS_STATE_POINTER, type HarnessStateFile, type HarnessStateTransactionSnapshot, type LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, restoreHarnessStateSnapshot, snapshotHarnessState, updateHarnessState };
@@ -1 +1 @@
1
- import{HARNESS_STATE_POINTER as e,createHarnessSession as t,disposeHarnessState as n,getHarnessState as r,harnessRoot as i,loadHarnessState as a,requireHarnessPaths as o,requireHarnessRoot as s,resetHarnessStore as c,restoreHarnessStateSnapshot as l,snapshotHarnessState as u,updateHarnessState as d}from"./adapters/harnessStore.mjs";export{e as HARNESS_STATE_POINTER,t as createHarnessSession,n as disposeHarnessState,r as getHarnessState,i as harnessRoot,a as loadHarnessState,o as requireHarnessPaths,s as requireHarnessRoot,c as resetHarnessStore,l as restoreHarnessStateSnapshot,u as snapshotHarnessState,d as updateHarnessState};
1
+ import{HARNESS_STATE_POINTER as e,createHarnessSession as t,disposeHarnessState as n,getHarnessState as r,harnessRoot as i,loadHarnessState as a,requireHarnessPaths as o,requireHarnessRoot as s,resetHarnessStore as c,restoreHarnessStateSnapshot as l,snapshotHarnessState as u,updateHarnessState as d}from"./services/harnessStore/index.mjs";export{e as HARNESS_STATE_POINTER,t as createHarnessSession,n as disposeHarnessState,r as getHarnessState,i as harnessRoot,a as loadHarnessState,o as requireHarnessPaths,s as requireHarnessRoot,c as resetHarnessStore,l as restoreHarnessStateSnapshot,u as snapshotHarnessState,d as updateHarnessState};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/atomicJson.cjs"),t=require("./services/configPolicy.cjs"),n=require("./adapters/config.cjs"),r=require("./adapters/configWriter.cjs"),i=require("./services/domains.cjs"),a=require("./adapters/layeredConfig.cjs"),o=require("./adapters/pluginCatalog.cjs"),s=require("./adapters/domains.cjs"),c=require("./adapters/harnessState.cjs"),l=require("./adapters/harnessStore.cjs"),u=require("./adapters/init.cjs"),d=require("./adapters/majorModes.cjs");require("./types/config.cjs");const f=require("./adapters/pi/piContext.cjs"),p=require("./services/imageSettings.cjs"),m=require("./adapters/piConfig.cjs"),h=require("./adapters/profiles.cjs");let g=require("@agimon-ai/doompi-extension-contracts/config");exports.DEFAULT_IMAGE_MAX_DIMENSION=p.DEFAULT_IMAGE_MAX_DIMENSION,exports.DOOM_CONFIG_ENTRY_TYPE=f.DOOM_CONFIG_ENTRY_TYPE,Object.defineProperty(exports,"DOOM_CONFIG_SERVICE",{enumerable:!0,get:function(){return g.DOOM_CONFIG_SERVICE}}),exports.DOOM_CONFIG_TEMPLATES=u.DOOM_CONFIG_TEMPLATES,exports.DOOM_CONFIG_TRANSITION_ENTRY_TYPE=f.DOOM_CONFIG_TRANSITION_ENTRY_TYPE,exports.DOOM_DIR=a.DOOM_DIR,exports.DOOM_PLANNING_THINKING_LEVELS=t.DOOM_PLANNING_THINKING_LEVELS,exports.DOOM_VOICE_ENGINES=t.DOOM_VOICE_ENGINES,exports.DOOM_VOICE_TTS_ENGINES=t.DOOM_VOICE_TTS_ENGINES,exports.FILE_ONLY_STATE_FIELDS=c.FILE_ONLY_STATE_FIELDS,exports.GLOBAL_DOOM_SEED_FILES=u.GLOBAL_DOOM_SEED_FILES,exports.HARNESS_STATE_KEYS=c.HARNESS_STATE_KEYS,exports.HARNESS_STATE_POINTER=l.HARNESS_STATE_POINTER,exports.MARKETPLACE_MANIFEST_RELATIVE_PATHS=o.MARKETPLACE_MANIFEST_RELATIVE_PATHS,exports.MIN_IMAGE_MAX_DIMENSION=p.MIN_IMAGE_MAX_DIMENSION,exports.PERSONA_FILES=h.PERSONA_FILES,exports.REPOSITORY_DOOM_CONFIG_TEMPLATES=u.REPOSITORY_DOOM_CONFIG_TEMPLATES,exports.acknowledgeDoomConfigTransition=f.acknowledgeDoomConfigTransition,exports.appendDoomConfigSelection=f.appendDoomConfigSelection,exports.appendDoomConfigTransition=f.appendDoomConfigTransition,exports.applyProfileEnvironment=h.applyProfileEnvironment,exports.buildPersonaPrompt=h.buildPersonaPrompt,exports.clampImageMaxDimension=p.clampImageMaxDimension,exports.configLeafKeys=t.configLeafKeys,exports.configRootKeys=t.configRootKeys,exports.configScopeOf=t.configScopeOf,exports.createDoomConfigContext=f.createDoomConfigContext,exports.createDoomConfigContextAsync=f.createDoomConfigContextAsync,exports.createHarnessSession=l.createHarnessSession,exports.disposeHarnessState=l.disposeHarnessState,exports.domainCompletionItems=i.domainCompletionItems,exports.domainCompletionPrefix=i.domainCompletionPrefix,exports.expandDomainNames=i.expandDomainNames,exports.findPluginManifestPath=o.findPluginManifestPath,exports.freezeDoomConfigContext=f.freezeDoomConfigContext,exports.getHarnessState=l.getHarnessState,exports.globalDoomConfigDirectory=n.globalDoomConfigDirectory,exports.globalDoomConfigPath=n.globalDoomConfigPath,exports.harnessRoot=l.harnessRoot,exports.initializeGlobalDoomConfig=u.initializeGlobalDoomConfig,exports.initializeRepositoryDoomConfig=u.initializeRepositoryDoomConfig,exports.isLocalPackageSpecifier=d.isLocalPackageSpecifier,exports.isRemotePluginSource=o.isRemotePluginSource,exports.layerEntries=d.layerEntries,exports.layerHookGroups=d.layerHookGroups,exports.listDomainNames=s.listDomainNames,exports.listProfileNames=h.listProfileNames,exports.loadDomains=s.loadDomains,exports.loadDoomConfig=n.loadDoomConfig,exports.loadDoomConfigAsync=n.loadDoomConfigAsync,exports.loadDoomConfigLayers=n.loadDoomConfigLayers,exports.loadHarnessState=l.loadHarnessState,exports.loadMajorModesConfig=d.loadMajorModesConfig,exports.loadPiConfig=m.loadPiConfig,exports.loadPiConfigAsync=m.loadPiConfigAsync,exports.loadPiImageSettings=m.loadPiImageSettings,exports.loadProfiles=h.loadProfiles,exports.mergeDoomConfigs=t.mergeDoomConfigs,exports.parseAutocompactModeConfig=t.parseAutocompactModeConfig,exports.parseDoomConfig=t.parseDoomConfig,exports.parsePiImageSettings=p.parsePiImageSettings,exports.parsePlanningModeConfig=t.parsePlanningModeConfig,exports.piConfigPaths=m.piConfigPaths,exports.piImageSettingsPath=m.piImageSettingsPath,exports.pluginDirectoryForSource=o.pluginDirectoryForSource,exports.projectHarnessEnvironment=c.projectHarnessEnvironment,exports.provideDoomConfigContext=f.provideDoomConfigContext,exports.readDoomConfigContextGeneration=f.readDoomConfigContextGeneration,exports.readDoomConfigPendingSelection=f.readDoomConfigPendingSelection,exports.readDoomConfigSelection=f.readDoomConfigSelection,exports.readHarnessState=c.readHarnessState,exports.replaceDoomConfigContext=f.replaceDoomConfigContext,exports.replaceProfileEnvironment=h.replaceProfileEnvironment,exports.repositoryDoomConfigPath=n.repositoryDoomConfigPath,exports.requireDoomConfigContext=f.requireDoomConfigContext,exports.requireHarnessPaths=l.requireHarnessPaths,exports.requireHarnessRoot=l.requireHarnessRoot,exports.resetHarnessStore=l.resetHarnessStore,exports.resolveLayers=d.resolveLayers,exports.resolvePackageConfigurations=d.resolvePackageConfigurations,exports.resolvePlanningPlansDirectory=n.resolvePlanningPlansDirectory,exports.resolvePluginDirectories=s.resolvePluginDirectories,exports.resolvePluginEntries=s.resolvePluginEntries,exports.resolveProfile=h.resolveProfile,exports.resolveSharedSkills=s.resolveSharedSkills,exports.resolveVoiceConfig=t.resolveVoiceConfig,exports.restoreHarnessStateSnapshot=l.restoreHarnessStateSnapshot,exports.savePiImageSettings=m.savePiImageSettings,exports.setDoomConfigValue=r.setDoomConfigValue,exports.snapshotHarnessState=l.snapshotHarnessState,exports.supersedeDoomConfigTransition=f.supersedeDoomConfigTransition,exports.unsetDoomConfigValue=r.unsetDoomConfigValue,exports.updateHarnessState=l.updateHarnessState,exports.valueAtKeyPath=t.valueAtKeyPath,exports.writeDoomConfigValues=r.writeDoomConfigValues,exports.writePrivateAtomicJson=e.writePrivateAtomicJson;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./services/atomicJson/index.cjs"),t=require("./services/configPolicy/index.cjs"),n=require("./services/config/index.cjs"),r=require("./services/configWriter/index.cjs"),i=require("./services/layeredConfig/index.cjs"),a=require("./services/pluginCatalog/index.cjs"),o=require("./services/domains/completion.cjs"),s=require("./services/domains/index.cjs"),c=require("./services/harnessState/index.cjs"),l=require("./services/harnessStore/index.cjs"),u=require("./services/imageSettings/index.cjs"),d=require("./services/init/index.cjs"),f=require("./services/majorModes/index.cjs"),p=require("./services/piConfig/index.cjs"),m=require("./services/profiles/index.cjs");require("./types/config.cjs");const h=require("./services/sessionConfig/index.cjs");let g=require("@agimon-ai/doompi-core/config");exports.DEFAULT_IMAGE_MAX_DIMENSION=u.DEFAULT_IMAGE_MAX_DIMENSION,exports.DOOM_CONFIG_ENTRY_TYPE=h.DOOM_CONFIG_ENTRY_TYPE,Object.defineProperty(exports,"DOOM_CONFIG_SERVICE",{enumerable:!0,get:function(){return g.DOOM_CONFIG_SERVICE}}),exports.DOOM_CONFIG_TEMPLATES=d.DOOM_CONFIG_TEMPLATES,exports.DOOM_CONFIG_TRANSITION_ENTRY_TYPE=h.DOOM_CONFIG_TRANSITION_ENTRY_TYPE,exports.DOOM_DIR=i.DOOM_DIR,exports.DOOM_PLANNING_THINKING_LEVELS=t.DOOM_PLANNING_THINKING_LEVELS,exports.DOOM_VOICE_ENGINES=t.DOOM_VOICE_ENGINES,exports.DOOM_VOICE_MODES=t.DOOM_VOICE_MODES,exports.DOOM_VOICE_TTS_ENGINES=t.DOOM_VOICE_TTS_ENGINES,exports.FILE_ONLY_STATE_FIELDS=c.FILE_ONLY_STATE_FIELDS,exports.GLOBAL_DOOM_SEED_FILES=d.GLOBAL_DOOM_SEED_FILES,exports.HARNESS_STATE_KEYS=c.HARNESS_STATE_KEYS,exports.HARNESS_STATE_POINTER=l.HARNESS_STATE_POINTER,exports.MARKETPLACE_MANIFEST_RELATIVE_PATHS=a.MARKETPLACE_MANIFEST_RELATIVE_PATHS,exports.MIN_IMAGE_MAX_DIMENSION=u.MIN_IMAGE_MAX_DIMENSION,exports.PERSONA_FILES=m.PERSONA_FILES,exports.REPOSITORY_DOOM_CONFIG_TEMPLATES=d.REPOSITORY_DOOM_CONFIG_TEMPLATES,exports.acknowledgeDoomConfigTransition=h.acknowledgeDoomConfigTransition,exports.appendDoomConfigSelection=h.appendDoomConfigSelection,exports.appendDoomConfigTransition=h.appendDoomConfigTransition,exports.applyProfileEnvironment=m.applyProfileEnvironment,exports.buildPersonaPrompt=m.buildPersonaPrompt,exports.clampImageMaxDimension=u.clampImageMaxDimension,exports.configLeafKeys=t.configLeafKeys,exports.configRootKeys=t.configRootKeys,exports.configScopeOf=t.configScopeOf,exports.createDoomConfigContext=h.createDoomConfigContext,exports.createDoomConfigContextAsync=h.createDoomConfigContextAsync,exports.createHarnessSession=l.createHarnessSession,exports.disposeHarnessState=l.disposeHarnessState,exports.domainCompletionItems=o.domainCompletionItems,exports.domainCompletionPrefix=o.domainCompletionPrefix,exports.expandDomainNames=o.expandDomainNames,exports.findPluginManifestPath=a.findPluginManifestPath,exports.freezeDoomConfigContext=h.freezeDoomConfigContext,exports.getHarnessState=l.getHarnessState,exports.globalDoomConfigDirectory=n.globalDoomConfigDirectory,exports.globalDoomConfigPath=n.globalDoomConfigPath,exports.harnessRoot=l.harnessRoot,exports.initializeGlobalDoomConfig=d.initializeGlobalDoomConfig,exports.initializeRepositoryDoomConfig=d.initializeRepositoryDoomConfig,exports.isLocalPackageSpecifier=f.isLocalPackageSpecifier,exports.isRemotePluginSource=a.isRemotePluginSource,exports.layerEntries=f.layerEntries,exports.layerHookGroups=f.layerHookGroups,exports.listDomainNames=s.listDomainNames,exports.listProfileNames=m.listProfileNames,exports.loadDomains=s.loadDomains,exports.loadDoomConfig=n.loadDoomConfig,exports.loadDoomConfigAsync=n.loadDoomConfigAsync,exports.loadDoomConfigLayers=n.loadDoomConfigLayers,exports.loadDoomConfigLenient=n.loadDoomConfigLenient,exports.loadHarnessState=l.loadHarnessState,exports.loadMajorModesConfig=f.loadMajorModesConfig,exports.loadMajorModesConfigLenient=f.loadMajorModesConfigLenient,exports.loadPiConfig=p.loadPiConfig,exports.loadPiConfigAsync=p.loadPiConfigAsync,exports.loadPiImageSettings=p.loadPiImageSettings,exports.loadProfiles=m.loadProfiles,exports.mergeDoomConfigs=t.mergeDoomConfigs,exports.parseAutocompactModeConfig=t.parseAutocompactModeConfig,exports.parseDoomConfig=t.parseDoomConfig,exports.parsePiImageSettings=u.parsePiImageSettings,exports.parsePlanningModeConfig=t.parsePlanningModeConfig,exports.piConfigPaths=p.piConfigPaths,exports.piImageSettingsPath=p.piImageSettingsPath,exports.pluginDirectoryForSource=a.pluginDirectoryForSource,exports.projectHarnessEnvironment=c.projectHarnessEnvironment,exports.provideDoomConfigContext=h.provideDoomConfigContext,exports.readDoomConfigContextGeneration=h.readDoomConfigContextGeneration,exports.readDoomConfigPendingSelection=h.readDoomConfigPendingSelection,exports.readDoomConfigSelection=h.readDoomConfigSelection,exports.readHarnessState=c.readHarnessState,exports.replaceDoomConfigContext=h.replaceDoomConfigContext,exports.replaceProfileEnvironment=m.replaceProfileEnvironment,exports.repositoryDoomConfigPath=n.repositoryDoomConfigPath,exports.requireDoomConfigContext=h.requireDoomConfigContext,exports.requireHarnessPaths=l.requireHarnessPaths,exports.requireHarnessRoot=l.requireHarnessRoot,exports.resetHarnessStore=l.resetHarnessStore,exports.resolveLayers=f.resolveLayers,exports.resolvePackageConfigurations=f.resolvePackageConfigurations,exports.resolvePlanningPlansDirectory=n.resolvePlanningPlansDirectory,exports.resolvePluginDirectories=s.resolvePluginDirectories,exports.resolvePluginEntries=s.resolvePluginEntries,exports.resolveProfile=m.resolveProfile,exports.resolveSharedSkills=s.resolveSharedSkills,exports.resolveVoiceConfig=t.resolveVoiceConfig,exports.restoreHarnessStateSnapshot=l.restoreHarnessStateSnapshot,exports.savePiImageSettings=p.savePiImageSettings,exports.setDoomConfigValue=r.setDoomConfigValue,exports.snapshotHarnessState=l.snapshotHarnessState,exports.supersedeDoomConfigTransition=h.supersedeDoomConfigTransition,exports.unsetDoomConfigValue=r.unsetDoomConfigValue,exports.updateHarnessState=l.updateHarnessState,exports.valueAtKeyPath=t.valueAtKeyPath,exports.writeDoomConfigValues=r.writeDoomConfigValues,exports.writePrivateAtomicJson=e.writePrivateAtomicJson;