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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +139 -14
  2. package/dist/adapters/atomicJson.cjs +2 -0
  3. package/dist/adapters/atomicJson.cjs.map +1 -0
  4. package/dist/adapters/atomicJson.d.cts +6 -0
  5. package/dist/adapters/atomicJson.d.cts.map +1 -0
  6. package/dist/adapters/atomicJson.d.mts +6 -0
  7. package/dist/adapters/atomicJson.d.mts.map +1 -0
  8. package/dist/adapters/atomicJson.mjs +2 -0
  9. package/dist/adapters/atomicJson.mjs.map +1 -0
  10. package/dist/adapters/config.cjs +2 -0
  11. package/dist/adapters/config.cjs.map +1 -0
  12. package/dist/adapters/config.d.cts +11 -0
  13. package/dist/adapters/config.d.cts.map +1 -0
  14. package/dist/adapters/config.d.mts +11 -0
  15. package/dist/adapters/config.d.mts.map +1 -0
  16. package/dist/adapters/config.mjs +2 -0
  17. package/dist/adapters/config.mjs.map +1 -0
  18. package/dist/adapters/configWriter.cjs +2 -0
  19. package/dist/adapters/configWriter.cjs.map +1 -0
  20. package/dist/adapters/configWriter.d.cts +52 -0
  21. package/dist/adapters/configWriter.d.cts.map +1 -0
  22. package/dist/adapters/configWriter.d.mts +52 -0
  23. package/dist/adapters/configWriter.d.mts.map +1 -0
  24. package/dist/adapters/configWriter.mjs +2 -0
  25. package/dist/adapters/configWriter.mjs.map +1 -0
  26. package/dist/adapters/domains.cjs +2 -0
  27. package/dist/adapters/domains.cjs.map +1 -0
  28. package/dist/adapters/domains.d.cts +25 -0
  29. package/dist/adapters/domains.d.cts.map +1 -0
  30. package/dist/adapters/domains.d.mts +25 -0
  31. package/dist/adapters/domains.d.mts.map +1 -0
  32. package/dist/adapters/domains.mjs +2 -0
  33. package/dist/adapters/domains.mjs.map +1 -0
  34. package/dist/adapters/harnessState.cjs +2 -0
  35. package/dist/adapters/harnessState.cjs.map +1 -0
  36. package/dist/adapters/harnessState.d.cts +50 -0
  37. package/dist/adapters/harnessState.d.cts.map +1 -0
  38. package/dist/adapters/harnessState.d.mts +50 -0
  39. package/dist/adapters/harnessState.d.mts.map +1 -0
  40. package/dist/adapters/harnessState.mjs +2 -0
  41. package/dist/adapters/harnessState.mjs.map +1 -0
  42. package/dist/adapters/harnessStore.cjs +2 -0
  43. package/dist/adapters/harnessStore.cjs.map +1 -0
  44. package/dist/adapters/harnessStore.d.cts +102 -0
  45. package/dist/adapters/harnessStore.d.cts.map +1 -0
  46. package/dist/adapters/harnessStore.d.mts +102 -0
  47. package/dist/adapters/harnessStore.d.mts.map +1 -0
  48. package/dist/adapters/harnessStore.mjs +2 -0
  49. package/dist/adapters/harnessStore.mjs.map +1 -0
  50. package/dist/adapters/init.cjs +178 -0
  51. package/dist/adapters/init.cjs.map +1 -0
  52. package/dist/adapters/init.d.cts +39 -0
  53. package/dist/adapters/init.d.cts.map +1 -0
  54. package/dist/adapters/init.d.mts +39 -0
  55. package/dist/adapters/init.d.mts.map +1 -0
  56. package/dist/adapters/init.mjs +178 -0
  57. package/dist/adapters/init.mjs.map +1 -0
  58. package/dist/adapters/layeredConfig.cjs +2 -0
  59. package/dist/adapters/layeredConfig.cjs.map +1 -0
  60. package/dist/adapters/layeredConfig.d.cts +49 -0
  61. package/dist/adapters/layeredConfig.d.cts.map +1 -0
  62. package/dist/adapters/layeredConfig.d.mts +49 -0
  63. package/dist/adapters/layeredConfig.d.mts.map +1 -0
  64. package/dist/adapters/layeredConfig.mjs +2 -0
  65. package/dist/adapters/layeredConfig.mjs.map +1 -0
  66. package/dist/adapters/majorModes.cjs +2 -0
  67. package/dist/adapters/majorModes.cjs.map +1 -0
  68. package/dist/adapters/majorModes.d.cts +88 -0
  69. package/dist/adapters/majorModes.d.cts.map +1 -0
  70. package/dist/adapters/majorModes.d.mts +88 -0
  71. package/dist/adapters/majorModes.d.mts.map +1 -0
  72. package/dist/adapters/majorModes.mjs +2 -0
  73. package/dist/adapters/majorModes.mjs.map +1 -0
  74. package/dist/adapters/pi/configExtension.cjs +2 -0
  75. package/dist/adapters/pi/configExtension.cjs.map +1 -0
  76. package/dist/adapters/pi/configExtension.d.cts +8 -0
  77. package/dist/adapters/pi/configExtension.d.cts.map +1 -0
  78. package/dist/adapters/pi/configExtension.d.mts +8 -0
  79. package/dist/adapters/pi/configExtension.d.mts.map +1 -0
  80. package/dist/adapters/pi/configExtension.mjs +2 -0
  81. package/dist/adapters/pi/configExtension.mjs.map +1 -0
  82. package/dist/adapters/pi/doomConfigExtension.cjs +2 -0
  83. package/dist/adapters/pi/doomConfigExtension.cjs.map +1 -0
  84. package/dist/adapters/pi/doomConfigExtension.d.cts +8 -0
  85. package/dist/adapters/pi/doomConfigExtension.d.cts.map +1 -0
  86. package/dist/adapters/pi/doomConfigExtension.d.mts +8 -0
  87. package/dist/adapters/pi/doomConfigExtension.d.mts.map +1 -0
  88. package/dist/adapters/pi/doomConfigExtension.mjs +2 -0
  89. package/dist/adapters/pi/doomConfigExtension.mjs.map +1 -0
  90. package/dist/adapters/pi/helpContribution.cjs +2 -0
  91. package/dist/adapters/pi/helpContribution.cjs.map +1 -0
  92. package/dist/adapters/pi/helpContribution.mjs +2 -0
  93. package/dist/adapters/pi/helpContribution.mjs.map +1 -0
  94. package/dist/adapters/pi/piContext.cjs +2 -0
  95. package/dist/adapters/pi/piContext.cjs.map +1 -0
  96. package/dist/adapters/pi/piContext.d.cts +20 -0
  97. package/dist/adapters/pi/piContext.d.cts.map +1 -0
  98. package/dist/adapters/pi/piContext.d.mts +20 -0
  99. package/dist/adapters/pi/piContext.d.mts.map +1 -0
  100. package/dist/adapters/pi/piContext.mjs +2 -0
  101. package/dist/adapters/pi/piContext.mjs.map +1 -0
  102. package/dist/adapters/piConfig.cjs +2 -0
  103. package/dist/adapters/piConfig.cjs.map +1 -0
  104. package/dist/adapters/piConfig.d.cts +8 -0
  105. package/dist/adapters/piConfig.d.cts.map +1 -0
  106. package/dist/adapters/piConfig.d.mts +8 -0
  107. package/dist/adapters/piConfig.d.mts.map +1 -0
  108. package/dist/adapters/piConfig.mjs +2 -0
  109. package/dist/adapters/piConfig.mjs.map +1 -0
  110. package/dist/adapters/pluginCatalog.cjs +2 -0
  111. package/dist/adapters/pluginCatalog.cjs.map +1 -0
  112. package/dist/adapters/pluginCatalog.d.cts +12 -0
  113. package/dist/adapters/pluginCatalog.d.cts.map +1 -0
  114. package/dist/adapters/pluginCatalog.d.mts +12 -0
  115. package/dist/adapters/pluginCatalog.d.mts.map +1 -0
  116. package/dist/adapters/pluginCatalog.mjs +2 -0
  117. package/dist/adapters/pluginCatalog.mjs.map +1 -0
  118. package/dist/adapters/profiles.cjs +4 -0
  119. package/dist/adapters/profiles.cjs.map +1 -0
  120. package/dist/adapters/profiles.d.cts +36 -0
  121. package/dist/adapters/profiles.d.cts.map +1 -0
  122. package/dist/adapters/profiles.d.mts +36 -0
  123. package/dist/adapters/profiles.d.mts.map +1 -0
  124. package/dist/adapters/profiles.mjs +4 -0
  125. package/dist/adapters/profiles.mjs.map +1 -0
  126. package/dist/atomicJson.cjs +1 -2
  127. package/dist/atomicJson.d.cts +2 -6
  128. package/dist/atomicJson.d.mts +2 -6
  129. package/dist/atomicJson.mjs +1 -2
  130. package/dist/config/piConfig.cjs +1 -2
  131. package/dist/config/piConfig.d.cts +2 -7
  132. package/dist/config/piConfig.d.mts +2 -7
  133. package/dist/config/piConfig.mjs +1 -2
  134. package/dist/config/schema.d.cts +2 -33
  135. package/dist/config/schema.d.mts +2 -33
  136. package/dist/config.cjs +1 -2
  137. package/dist/config.d.cts +3 -24
  138. package/dist/config.d.mts +3 -24
  139. package/dist/config.mjs +1 -2
  140. package/dist/configWriter.cjs +1 -2
  141. package/dist/configWriter.d.cts +2 -52
  142. package/dist/configWriter.d.mts +2 -52
  143. package/dist/configWriter.mjs +1 -2
  144. package/dist/container/doomConfigContainer.cjs +2 -0
  145. package/dist/container/doomConfigContainer.cjs.map +1 -0
  146. package/dist/container/doomConfigContainer.d.cts +12 -0
  147. package/dist/container/doomConfigContainer.d.cts.map +1 -0
  148. package/dist/container/doomConfigContainer.d.mts +12 -0
  149. package/dist/container/doomConfigContainer.d.mts.map +1 -0
  150. package/dist/container/doomConfigContainer.mjs +2 -0
  151. package/dist/container/doomConfigContainer.mjs.map +1 -0
  152. package/dist/container.cjs +1 -2
  153. package/dist/container.d.cts +2 -12
  154. package/dist/container.d.mts +2 -12
  155. package/dist/container.mjs +1 -2
  156. package/dist/domains.cjs +1 -2
  157. package/dist/domains.d.cts +6 -77
  158. package/dist/domains.d.mts +6 -77
  159. package/dist/domains.mjs +1 -2
  160. package/dist/extensions/doom.cjs +1 -2
  161. package/dist/extensions/doom.d.cts +2 -8
  162. package/dist/extensions/doom.d.mts +2 -8
  163. package/dist/extensions/doom.mjs +1 -2
  164. package/dist/extensions/pi.cjs +1 -2
  165. package/dist/extensions/pi.d.cts +2 -8
  166. package/dist/extensions/pi.d.mts +2 -8
  167. package/dist/extensions/pi.mjs +1 -2
  168. package/dist/harnessState.cjs +1 -2
  169. package/dist/harnessState.d.cts +2 -50
  170. package/dist/harnessState.d.mts +2 -50
  171. package/dist/harnessState.mjs +1 -2
  172. package/dist/harnessStore.cjs +1 -2
  173. package/dist/harnessStore.d.cts +2 -102
  174. package/dist/harnessStore.d.mts +2 -102
  175. package/dist/harnessStore.mjs +1 -2
  176. package/dist/index.cjs +1 -1
  177. package/dist/index.d.cts +20 -16
  178. package/dist/index.d.mts +20 -16
  179. package/dist/index.mjs +1 -1
  180. package/dist/init.cjs +1 -76
  181. package/dist/init.d.cts +2 -33
  182. package/dist/init.d.mts +2 -33
  183. package/dist/init.mjs +1 -76
  184. package/dist/layeredConfig.cjs +1 -2
  185. package/dist/layeredConfig.d.cts +2 -49
  186. package/dist/layeredConfig.d.mts +2 -49
  187. package/dist/layeredConfig.mjs +1 -2
  188. package/dist/majorModes.cjs +1 -2
  189. package/dist/majorModes.d.cts +2 -75
  190. package/dist/majorModes.d.mts +2 -75
  191. package/dist/majorModes.mjs +1 -2
  192. package/dist/pi.cjs +1 -1
  193. package/dist/pi.d.cts +1 -1
  194. package/dist/pi.d.mts +1 -1
  195. package/dist/pi.mjs +1 -1
  196. package/dist/piContext.cjs +1 -2
  197. package/dist/piContext.d.cts +2 -19
  198. package/dist/piContext.d.mts +2 -19
  199. package/dist/piContext.mjs +1 -2
  200. package/dist/profiles.cjs +1 -4
  201. package/dist/profiles.d.cts +2 -35
  202. package/dist/profiles.d.mts +2 -35
  203. package/dist/profiles.mjs +1 -4
  204. package/dist/schemas/config/schema.d.cts +33 -0
  205. package/dist/schemas/config/schema.d.cts.map +1 -0
  206. package/dist/schemas/config/schema.d.mts +33 -0
  207. package/dist/schemas/config/schema.d.mts.map +1 -0
  208. package/dist/services/configPolicy.cjs +2 -0
  209. package/dist/services/configPolicy.cjs.map +1 -0
  210. package/dist/services/configPolicy.d.cts +19 -0
  211. package/dist/services/configPolicy.d.cts.map +1 -0
  212. package/dist/services/configPolicy.d.mts +19 -0
  213. package/dist/services/configPolicy.d.mts.map +1 -0
  214. package/dist/services/configPolicy.mjs +2 -0
  215. package/dist/services/configPolicy.mjs.map +1 -0
  216. package/dist/services/domains.cjs +2 -0
  217. package/dist/services/domains.cjs.map +1 -0
  218. package/dist/services/domains.d.cts +12 -0
  219. package/dist/services/domains.d.cts.map +1 -0
  220. package/dist/services/domains.d.mts +12 -0
  221. package/dist/services/domains.d.mts.map +1 -0
  222. package/dist/services/domains.mjs +2 -0
  223. package/dist/services/domains.mjs.map +1 -0
  224. package/dist/types/config.cjs +2 -0
  225. package/dist/types/config.cjs.map +1 -0
  226. package/dist/types/config.d.cts +136 -0
  227. package/dist/types/config.d.cts.map +1 -0
  228. package/dist/types/config.d.mts +136 -0
  229. package/dist/types/config.d.mts.map +1 -0
  230. package/dist/types/config.mjs +2 -0
  231. package/dist/types/config.mjs.map +1 -0
  232. package/dist/types/domains.d.cts +89 -0
  233. package/dist/types/domains.d.cts.map +1 -0
  234. package/dist/types/domains.d.mts +89 -0
  235. package/dist/types/domains.d.mts.map +1 -0
  236. package/dist/types.cjs +1 -2
  237. package/dist/types.d.cts +2 -132
  238. package/dist/types.d.mts +2 -132
  239. package/dist/types.mjs +1 -2
  240. package/llms.txt +9 -0
  241. package/package.json +18 -6
  242. package/skills/doom-pi-config/SKILL.md +6 -3
  243. package/skills/doom-pi-config/references/config-contract.md +123 -8
  244. package/dist/atomicJson.cjs.map +0 -1
  245. package/dist/atomicJson.d.cts.map +0 -1
  246. package/dist/atomicJson.d.mts.map +0 -1
  247. package/dist/atomicJson.mjs.map +0 -1
  248. package/dist/config/piConfig.cjs.map +0 -1
  249. package/dist/config/piConfig.d.cts.map +0 -1
  250. package/dist/config/piConfig.d.mts.map +0 -1
  251. package/dist/config/piConfig.mjs.map +0 -1
  252. package/dist/config/schema.d.cts.map +0 -1
  253. package/dist/config/schema.d.mts.map +0 -1
  254. package/dist/config.cjs.map +0 -1
  255. package/dist/config.d.cts.map +0 -1
  256. package/dist/config.d.mts.map +0 -1
  257. package/dist/config.mjs.map +0 -1
  258. package/dist/configWriter.cjs.map +0 -1
  259. package/dist/configWriter.d.cts.map +0 -1
  260. package/dist/configWriter.d.mts.map +0 -1
  261. package/dist/configWriter.mjs.map +0 -1
  262. package/dist/container.cjs.map +0 -1
  263. package/dist/container.d.cts.map +0 -1
  264. package/dist/container.d.mts.map +0 -1
  265. package/dist/container.mjs.map +0 -1
  266. package/dist/domains.cjs.map +0 -1
  267. package/dist/domains.d.cts.map +0 -1
  268. package/dist/domains.d.mts.map +0 -1
  269. package/dist/domains.mjs.map +0 -1
  270. package/dist/extensions/doom.cjs.map +0 -1
  271. package/dist/extensions/doom.d.cts.map +0 -1
  272. package/dist/extensions/doom.d.mts.map +0 -1
  273. package/dist/extensions/doom.mjs.map +0 -1
  274. package/dist/extensions/pi.cjs.map +0 -1
  275. package/dist/extensions/pi.d.cts.map +0 -1
  276. package/dist/extensions/pi.d.mts.map +0 -1
  277. package/dist/extensions/pi.mjs.map +0 -1
  278. package/dist/harnessState.cjs.map +0 -1
  279. package/dist/harnessState.d.cts.map +0 -1
  280. package/dist/harnessState.d.mts.map +0 -1
  281. package/dist/harnessState.mjs.map +0 -1
  282. package/dist/harnessStore.cjs.map +0 -1
  283. package/dist/harnessStore.d.cts.map +0 -1
  284. package/dist/harnessStore.d.mts.map +0 -1
  285. package/dist/harnessStore.mjs.map +0 -1
  286. package/dist/init.cjs.map +0 -1
  287. package/dist/init.d.cts.map +0 -1
  288. package/dist/init.d.mts.map +0 -1
  289. package/dist/init.mjs.map +0 -1
  290. package/dist/layeredConfig.cjs.map +0 -1
  291. package/dist/layeredConfig.d.cts.map +0 -1
  292. package/dist/layeredConfig.d.mts.map +0 -1
  293. package/dist/layeredConfig.mjs.map +0 -1
  294. package/dist/majorModes.cjs.map +0 -1
  295. package/dist/majorModes.d.cts.map +0 -1
  296. package/dist/majorModes.d.mts.map +0 -1
  297. package/dist/majorModes.mjs.map +0 -1
  298. package/dist/piContext.cjs.map +0 -1
  299. package/dist/piContext.d.cts.map +0 -1
  300. package/dist/piContext.d.mts.map +0 -1
  301. package/dist/piContext.mjs.map +0 -1
  302. package/dist/profiles.cjs.map +0 -1
  303. package/dist/profiles.d.cts.map +0 -1
  304. package/dist/profiles.d.mts.map +0 -1
  305. package/dist/profiles.mjs.map +0 -1
  306. package/dist/types.cjs.map +0 -1
  307. package/dist/types.d.cts.map +0 -1
  308. package/dist/types.d.mts.map +0 -1
  309. package/dist/types.mjs.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,16 +1,20 @@
1
- import { writePrivateAtomicJson } from "./atomicJson.cjs";
2
- import { DOOM_CONFIG_TYPES, DeepReadonly, DoomConfig, DoomConfigContext, DoomHarnessContext, DoomSelectionConfig, EditorConfig, HarnessState, IDoomConfigService, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, PluginHookSource, ProjectTrust, ResolvedVoiceAutoCaptureConfig, ResolvedVoiceConfig, VoiceAdapterConfig, VoiceAutoCaptureConfig, VoiceConfig, VoiceEngine, VoiceModelConfig, VoiceTtsConfig, VoiceTtsEngine } from "./types.cjs";
3
- import { DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig } from "./config.cjs";
4
- import { ConfigAdapterRegistrationOptions, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./config/schema.cjs";
5
- import { loadPiConfig, piConfigPaths } from "./config/piConfig.cjs";
6
- import { DoomConfigEdit, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./configWriter.cjs";
7
- import { DoomConfigService, createDoomConfigContainer, createDoomConfigModule } from "./container.cjs";
8
- import { DOOM_DIR } from "./layeredConfig.cjs";
9
- import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, PluginEntry, ResolvedDomain, domainCompletionItems, domainCompletionPrefix, expandDomainNames, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./domains.cjs";
10
- import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./harnessState.cjs";
11
- import { HARNESS_STATE_POINTER, HarnessStateFile, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, updateHarnessState } from "./harnessStore.cjs";
12
- import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitResult, initializeGlobalDoomConfig } from "./init.cjs";
13
- import { LayerCustomizationConfig, LayerDefinition, LayerPackage, LayerResolvers, MajorModesConfig, ResolvedLayerDefinition, SubagentLayerConfig, SubagentLayerModelConfig, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayerCustomization, resolveLayers } from "./majorModes.cjs";
14
- import { DOOM_CONFIG_ENTRY_TYPE, DoomConfigSelection, appendDoomConfigSelection, createDoomConfigContext, provideDoomConfigContext, readDoomConfigSelection, requireDoomConfigContext } from "./piContext.cjs";
15
- import { AgentProfile, PERSONA_FILES, applyProfileEnvironment, buildPersonaPrompt, listProfileNames, loadProfiles, replaceProfileEnvironment, resolveProfile } from "./profiles.cjs";
16
- export { AgentProfile, type ConfigAdapterRegistrationOptions, DOOM_CONFIG_ENTRY_TYPE, DOOM_CONFIG_TEMPLATES, DOOM_CONFIG_TYPES, DOOM_DIR, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DeepReadonly, DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, type DoomConfig, type DoomConfigContext, type DoomConfigEdit, type DoomConfigSelection, DoomConfigService, type DoomHarnessContext, type DoomSelectionConfig, type EditorConfig, FILE_ONLY_STATE_FIELDS, GLOBAL_DOOM_SEED_FILES, type GlobalDoomInitResult, HARNESS_STATE_KEYS, HARNESS_STATE_POINTER, type HarnessState, type HarnessStateFile, type HarnessStateParseReporter, type IDoomConfigService, LayerCustomizationConfig, LayerDefinition, LayerPackage, LayerResolvers, type LoadedHarnessState, MajorModesConfig, PERSONA_FILES, type PiConfig, type PiConfigLoadOptions, type PiConfigPaths, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, PluginEntry, type PluginHookSource, type ProjectTrust, ResolvedDomain, ResolvedLayerDefinition, type ResolvedVoiceAutoCaptureConfig, type ResolvedVoiceConfig, SubagentLayerConfig, SubagentLayerModelConfig, type VoiceAdapterConfig, type VoiceAutoCaptureConfig, type VoiceConfig, type VoiceEngine, type VoiceModelConfig, type VoiceTtsConfig, type VoiceTtsEngine, type WriteDoomConfigOptions, appendDoomConfigSelection, applyProfileEnvironment, buildPersonaPrompt, createDoomConfigContainer, createDoomConfigContext, createDoomConfigModule, createHarnessSession, disposeHarnessState, domainCompletionItems, domainCompletionPrefix, expandDomainNames, getHarnessState, globalDoomConfigDirectory, globalDoomConfigPath, harnessRoot, initializeGlobalDoomConfig, isLocalPackageSpecifier, layerEntries, layerHookGroups, listDomainNames, listProfileNames, loadDomains, loadDoomConfig, loadHarnessState, loadMajorModesConfig, loadPiConfig, loadProfiles, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, piConfigPaths, projectHarnessEnvironment, provideDoomConfigContext, readDoomConfigSelection, readHarnessState, replaceProfileEnvironment, repositoryDoomConfigPath, requireDoomConfigContext, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, resolveLayerCustomization, resolveLayers, resolvePlanningPlansDirectory, resolvePluginDirectories, resolvePluginEntries, resolveProfile, resolveSharedSkills, resolveVoiceConfig, setDoomConfigValue, unsetDoomConfigValue, updateHarnessState, writeDoomConfigValues, writePrivateAtomicJson };
1
+ import { writePrivateAtomicJson } from "./adapters/atomicJson.cjs";
2
+ import { DOOM_CONFIG_TYPES, DeepReadonly, DoomConfig, DoomConfigContext, DoomHarnessContext, DoomSelectionConfig, EditorConfig, HarnessState, IDoomConfigService, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, PluginHookSource, ProjectTrust, ResolvedVoiceAutoCaptureConfig, ResolvedVoiceConfig, VoiceAdapterConfig, VoiceAutoCaptureConfig, VoiceConfig, VoiceEngine, VoiceModelConfig, VoiceTtsConfig, VoiceTtsEngine } from "./types/config.cjs";
3
+ import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./adapters/config.cjs";
4
+ import { DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig } from "./services/configPolicy.cjs";
5
+ import { ConfigAdapterRegistrationOptions, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./schemas/config/schema.cjs";
6
+ import { loadPiConfig, loadPiConfigAsync, piConfigPaths } from "./adapters/piConfig.cjs";
7
+ import { DoomConfigEdit, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./adapters/configWriter.cjs";
8
+ import { DoomConfigService, createDoomConfigContainer, createDoomConfigModule } from "./container/doomConfigContainer.cjs";
9
+ import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, GitPluginSource, LocalPluginSource, NpmPluginSource, PluginCatalog, PluginCatalogEntry, PluginEntry, PluginManifestMetadata, PluginSkillDiscovery, PluginSource, ResolvedDomain } from "./types/domains.cjs";
10
+ import { DOOM_DIR } from "./adapters/layeredConfig.cjs";
11
+ import { listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./adapters/domains.cjs";
12
+ import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./adapters/pluginCatalog.cjs";
13
+ import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains.cjs";
14
+ import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./adapters/harnessState.cjs";
15
+ import { HARNESS_STATE_POINTER, HarnessStateFile, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, updateHarnessState } from "./adapters/harnessStore.cjs";
16
+ import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, RepositoryDoomInitOptions, RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig } from "./adapters/init.cjs";
17
+ import { LayerDefinition, LayerPackage, LayerPackageConfig, LayerResolvers, MajorModeDefinition, MajorModesConfig, ResolvedLayerDefinition, ResolvedPackageConfiguration, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayers, resolvePackageConfigurations } from "./adapters/majorModes.cjs";
18
+ import { DOOM_CONFIG_ENTRY_TYPE, DoomConfigSelection, appendDoomConfigSelection, createDoomConfigContext, createDoomConfigContextAsync, provideDoomConfigContext, readDoomConfigSelection, requireDoomConfigContext } from "./adapters/pi/piContext.cjs";
19
+ import { AgentProfile, PERSONA_FILES, applyProfileEnvironment, buildPersonaPrompt, listProfileNames, loadProfiles, replaceProfileEnvironment, resolveProfile } from "./adapters/profiles.cjs";
20
+ export { type AgentProfile, type ConfigAdapterRegistrationOptions, DOOM_CONFIG_ENTRY_TYPE, DOOM_CONFIG_TEMPLATES, DOOM_CONFIG_TYPES, DOOM_DIR, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DeepReadonly, type DomainDefinition, type DomainManifest, type DomainMcpAllowlist, type DomainPlugin, type DoomConfig, type DoomConfigContext, type DoomConfigEdit, type DoomConfigSelection, DoomConfigService, type DoomHarnessContext, type DoomSelectionConfig, type EditorConfig, FILE_ONLY_STATE_FIELDS, GLOBAL_DOOM_SEED_FILES, type GitPluginSource, type GlobalDoomInitResult, HARNESS_STATE_KEYS, HARNESS_STATE_POINTER, type HarnessState, type HarnessStateFile, type HarnessStateParseReporter, type IDoomConfigService, type LayerDefinition, type LayerPackage, type LayerPackageConfig, type LayerResolvers, type LoadedHarnessState, type LocalPluginSource, MARKETPLACE_MANIFEST_RELATIVE_PATHS, type MajorModeDefinition, type MajorModesConfig, type NpmPluginSource, PERSONA_FILES, type PiConfig, type PiConfigLoadOptions, type PiConfigPaths, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, type PluginCatalog, type PluginCatalogEntry, type PluginEntry, type PluginHookSource, type PluginManifestMetadata, type PluginSkillDiscovery, type PluginSource, type ProjectTrust, REPOSITORY_DOOM_CONFIG_TEMPLATES, type RepositoryDoomInitOptions, type RepositoryDoomInitResult, type ResolvedDomain, type ResolvedLayerDefinition, type ResolvedPackageConfiguration, type ResolvedVoiceAutoCaptureConfig, type ResolvedVoiceConfig, type VoiceAdapterConfig, type VoiceAutoCaptureConfig, type VoiceConfig, type VoiceEngine, type VoiceModelConfig, type VoiceTtsConfig, type VoiceTtsEngine, type WriteDoomConfigOptions, appendDoomConfigSelection, applyProfileEnvironment, buildPersonaPrompt, createDoomConfigContainer, createDoomConfigContext, createDoomConfigContextAsync, createDoomConfigModule, createHarnessSession, disposeHarnessState, domainCompletionItems, domainCompletionPrefix, expandDomainNames, findPluginManifestPath, getHarnessState, globalDoomConfigDirectory, globalDoomConfigPath, harnessRoot, initializeGlobalDoomConfig, initializeRepositoryDoomConfig, isLocalPackageSpecifier, isRemotePluginSource, layerEntries, layerHookGroups, listDomainNames, listProfileNames, loadDomains, loadDoomConfig, loadDoomConfigAsync, loadHarnessState, loadMajorModesConfig, loadPiConfig, loadPiConfigAsync, loadProfiles, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, piConfigPaths, pluginDirectoryForSource, projectHarnessEnvironment, provideDoomConfigContext, readDoomConfigSelection, readHarnessState, replaceProfileEnvironment, repositoryDoomConfigPath, requireDoomConfigContext, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, resolveLayers, resolvePackageConfigurations, resolvePlanningPlansDirectory, resolvePluginDirectories, resolvePluginEntries, resolveProfile, resolveSharedSkills, resolveVoiceConfig, setDoomConfigValue, unsetDoomConfigValue, updateHarnessState, writeDoomConfigValues, writePrivateAtomicJson };
package/dist/index.d.mts CHANGED
@@ -1,16 +1,20 @@
1
- import { writePrivateAtomicJson } from "./atomicJson.mjs";
2
- import { DOOM_CONFIG_TYPES, DeepReadonly, DoomConfig, DoomConfigContext, DoomHarnessContext, DoomSelectionConfig, EditorConfig, HarnessState, IDoomConfigService, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, PluginHookSource, ProjectTrust, ResolvedVoiceAutoCaptureConfig, ResolvedVoiceConfig, VoiceAdapterConfig, VoiceAutoCaptureConfig, VoiceConfig, VoiceEngine, VoiceModelConfig, VoiceTtsConfig, VoiceTtsEngine } from "./types.mjs";
3
- import { DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory, resolveVoiceConfig } from "./config.mjs";
4
- import { ConfigAdapterRegistrationOptions, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./config/schema.mjs";
5
- import { loadPiConfig, piConfigPaths } from "./config/piConfig.mjs";
6
- import { DoomConfigEdit, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./configWriter.mjs";
7
- import { DoomConfigService, createDoomConfigContainer, createDoomConfigModule } from "./container.mjs";
8
- import { DOOM_DIR } from "./layeredConfig.mjs";
9
- import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, PluginEntry, ResolvedDomain, domainCompletionItems, domainCompletionPrefix, expandDomainNames, listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./domains.mjs";
10
- import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./harnessState.mjs";
11
- import { HARNESS_STATE_POINTER, HarnessStateFile, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, updateHarnessState } from "./harnessStore.mjs";
12
- import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitResult, initializeGlobalDoomConfig } from "./init.mjs";
13
- import { LayerCustomizationConfig, LayerDefinition, LayerPackage, LayerResolvers, MajorModesConfig, ResolvedLayerDefinition, SubagentLayerConfig, SubagentLayerModelConfig, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayerCustomization, resolveLayers } from "./majorModes.mjs";
14
- import { DOOM_CONFIG_ENTRY_TYPE, DoomConfigSelection, appendDoomConfigSelection, createDoomConfigContext, provideDoomConfigContext, readDoomConfigSelection, requireDoomConfigContext } from "./piContext.mjs";
15
- import { AgentProfile, PERSONA_FILES, applyProfileEnvironment, buildPersonaPrompt, listProfileNames, loadProfiles, replaceProfileEnvironment, resolveProfile } from "./profiles.mjs";
16
- export { AgentProfile, type ConfigAdapterRegistrationOptions, DOOM_CONFIG_ENTRY_TYPE, DOOM_CONFIG_TEMPLATES, DOOM_CONFIG_TYPES, DOOM_DIR, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DeepReadonly, DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, type DoomConfig, type DoomConfigContext, type DoomConfigEdit, type DoomConfigSelection, DoomConfigService, type DoomHarnessContext, type DoomSelectionConfig, type EditorConfig, FILE_ONLY_STATE_FIELDS, GLOBAL_DOOM_SEED_FILES, type GlobalDoomInitResult, HARNESS_STATE_KEYS, HARNESS_STATE_POINTER, type HarnessState, type HarnessStateFile, type HarnessStateParseReporter, type IDoomConfigService, LayerCustomizationConfig, LayerDefinition, LayerPackage, LayerResolvers, type LoadedHarnessState, MajorModesConfig, PERSONA_FILES, type PiConfig, type PiConfigLoadOptions, type PiConfigPaths, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, PluginEntry, type PluginHookSource, type ProjectTrust, ResolvedDomain, ResolvedLayerDefinition, type ResolvedVoiceAutoCaptureConfig, type ResolvedVoiceConfig, SubagentLayerConfig, SubagentLayerModelConfig, type VoiceAdapterConfig, type VoiceAutoCaptureConfig, type VoiceConfig, type VoiceEngine, type VoiceModelConfig, type VoiceTtsConfig, type VoiceTtsEngine, type WriteDoomConfigOptions, appendDoomConfigSelection, applyProfileEnvironment, buildPersonaPrompt, createDoomConfigContainer, createDoomConfigContext, createDoomConfigModule, createHarnessSession, disposeHarnessState, domainCompletionItems, domainCompletionPrefix, expandDomainNames, getHarnessState, globalDoomConfigDirectory, globalDoomConfigPath, harnessRoot, initializeGlobalDoomConfig, isLocalPackageSpecifier, layerEntries, layerHookGroups, listDomainNames, listProfileNames, loadDomains, loadDoomConfig, loadHarnessState, loadMajorModesConfig, loadPiConfig, loadProfiles, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, piConfigPaths, projectHarnessEnvironment, provideDoomConfigContext, readDoomConfigSelection, readHarnessState, replaceProfileEnvironment, repositoryDoomConfigPath, requireDoomConfigContext, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, resolveLayerCustomization, resolveLayers, resolvePlanningPlansDirectory, resolvePluginDirectories, resolvePluginEntries, resolveProfile, resolveSharedSkills, resolveVoiceConfig, setDoomConfigValue, unsetDoomConfigValue, updateHarnessState, writeDoomConfigValues, writePrivateAtomicJson };
1
+ import { writePrivateAtomicJson } from "./adapters/atomicJson.mjs";
2
+ import { DOOM_CONFIG_TYPES, DeepReadonly, DoomConfig, DoomConfigContext, DoomHarnessContext, DoomSelectionConfig, EditorConfig, HarnessState, IDoomConfigService, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, PluginHookSource, ProjectTrust, ResolvedVoiceAutoCaptureConfig, ResolvedVoiceConfig, VoiceAdapterConfig, VoiceAutoCaptureConfig, VoiceConfig, VoiceEngine, VoiceModelConfig, VoiceTtsConfig, VoiceTtsEngine } from "./types/config.mjs";
3
+ import { globalDoomConfigDirectory, globalDoomConfigPath, loadDoomConfig, loadDoomConfigAsync, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./adapters/config.mjs";
4
+ import { DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, resolveVoiceConfig } from "./services/configPolicy.mjs";
5
+ import { ConfigAdapterRegistrationOptions, PiConfig, PiConfigLoadOptions, PiConfigPaths } from "./schemas/config/schema.mjs";
6
+ import { loadPiConfig, loadPiConfigAsync, piConfigPaths } from "./adapters/piConfig.mjs";
7
+ import { DoomConfigEdit, WriteDoomConfigOptions, setDoomConfigValue, unsetDoomConfigValue, writeDoomConfigValues } from "./adapters/configWriter.mjs";
8
+ import { DoomConfigService, createDoomConfigContainer, createDoomConfigModule } from "./container/doomConfigContainer.mjs";
9
+ import { DomainDefinition, DomainManifest, DomainMcpAllowlist, DomainPlugin, GitPluginSource, LocalPluginSource, NpmPluginSource, PluginCatalog, PluginCatalogEntry, PluginEntry, PluginManifestMetadata, PluginSkillDiscovery, PluginSource, ResolvedDomain } from "./types/domains.mjs";
10
+ import { DOOM_DIR } from "./adapters/layeredConfig.mjs";
11
+ import { listDomainNames, loadDomains, resolvePluginDirectories, resolvePluginEntries, resolveSharedSkills } from "./adapters/domains.mjs";
12
+ import { MARKETPLACE_MANIFEST_RELATIVE_PATHS, findPluginManifestPath, isRemotePluginSource, pluginDirectoryForSource } from "./adapters/pluginCatalog.mjs";
13
+ import { domainCompletionItems, domainCompletionPrefix, expandDomainNames } from "./services/domains.mjs";
14
+ import { FILE_ONLY_STATE_FIELDS, HARNESS_STATE_KEYS, HarnessStateParseReporter, projectHarnessEnvironment, readHarnessState } from "./adapters/harnessState.mjs";
15
+ import { HARNESS_STATE_POINTER, HarnessStateFile, LoadedHarnessState, createHarnessSession, disposeHarnessState, getHarnessState, harnessRoot, loadHarnessState, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, updateHarnessState } from "./adapters/harnessStore.mjs";
16
+ import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, RepositoryDoomInitOptions, RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig } from "./adapters/init.mjs";
17
+ import { LayerDefinition, LayerPackage, LayerPackageConfig, LayerResolvers, MajorModeDefinition, MajorModesConfig, ResolvedLayerDefinition, ResolvedPackageConfiguration, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayers, resolvePackageConfigurations } from "./adapters/majorModes.mjs";
18
+ import { DOOM_CONFIG_ENTRY_TYPE, DoomConfigSelection, appendDoomConfigSelection, createDoomConfigContext, createDoomConfigContextAsync, provideDoomConfigContext, readDoomConfigSelection, requireDoomConfigContext } from "./adapters/pi/piContext.mjs";
19
+ import { AgentProfile, PERSONA_FILES, applyProfileEnvironment, buildPersonaPrompt, listProfileNames, loadProfiles, replaceProfileEnvironment, resolveProfile } from "./adapters/profiles.mjs";
20
+ export { type AgentProfile, type ConfigAdapterRegistrationOptions, DOOM_CONFIG_ENTRY_TYPE, DOOM_CONFIG_TEMPLATES, DOOM_CONFIG_TYPES, DOOM_DIR, DOOM_PLANNING_THINKING_LEVELS, DOOM_VOICE_ENGINES, DOOM_VOICE_TTS_ENGINES, type DeepReadonly, type DomainDefinition, type DomainManifest, type DomainMcpAllowlist, type DomainPlugin, type DoomConfig, type DoomConfigContext, type DoomConfigEdit, type DoomConfigSelection, DoomConfigService, type DoomHarnessContext, type DoomSelectionConfig, type EditorConfig, FILE_ONLY_STATE_FIELDS, GLOBAL_DOOM_SEED_FILES, type GitPluginSource, type GlobalDoomInitResult, HARNESS_STATE_KEYS, HARNESS_STATE_POINTER, type HarnessState, type HarnessStateFile, type HarnessStateParseReporter, type IDoomConfigService, type LayerDefinition, type LayerPackage, type LayerPackageConfig, type LayerResolvers, type LoadedHarnessState, type LocalPluginSource, MARKETPLACE_MANIFEST_RELATIVE_PATHS, type MajorModeDefinition, type MajorModesConfig, type NpmPluginSource, PERSONA_FILES, type PiConfig, type PiConfigLoadOptions, type PiConfigPaths, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, type PluginCatalog, type PluginCatalogEntry, type PluginEntry, type PluginHookSource, type PluginManifestMetadata, type PluginSkillDiscovery, type PluginSource, type ProjectTrust, REPOSITORY_DOOM_CONFIG_TEMPLATES, type RepositoryDoomInitOptions, type RepositoryDoomInitResult, type ResolvedDomain, type ResolvedLayerDefinition, type ResolvedPackageConfiguration, type ResolvedVoiceAutoCaptureConfig, type ResolvedVoiceConfig, type VoiceAdapterConfig, type VoiceAutoCaptureConfig, type VoiceConfig, type VoiceEngine, type VoiceModelConfig, type VoiceTtsConfig, type VoiceTtsEngine, type WriteDoomConfigOptions, appendDoomConfigSelection, applyProfileEnvironment, buildPersonaPrompt, createDoomConfigContainer, createDoomConfigContext, createDoomConfigContextAsync, createDoomConfigModule, createHarnessSession, disposeHarnessState, domainCompletionItems, domainCompletionPrefix, expandDomainNames, findPluginManifestPath, getHarnessState, globalDoomConfigDirectory, globalDoomConfigPath, harnessRoot, initializeGlobalDoomConfig, initializeRepositoryDoomConfig, isLocalPackageSpecifier, isRemotePluginSource, layerEntries, layerHookGroups, listDomainNames, listProfileNames, loadDomains, loadDoomConfig, loadDoomConfigAsync, loadHarnessState, loadMajorModesConfig, loadPiConfig, loadPiConfigAsync, loadProfiles, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, piConfigPaths, pluginDirectoryForSource, projectHarnessEnvironment, provideDoomConfigContext, readDoomConfigSelection, readHarnessState, replaceProfileEnvironment, repositoryDoomConfigPath, requireDoomConfigContext, requireHarnessPaths, requireHarnessRoot, resetHarnessStore, resolveLayers, resolvePackageConfigurations, resolvePlanningPlansDirectory, resolvePluginDirectories, resolvePluginEntries, resolveProfile, resolveSharedSkills, resolveVoiceConfig, setDoomConfigValue, unsetDoomConfigValue, updateHarnessState, writeDoomConfigValues, writePrivateAtomicJson };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{DOOM_PLANNING_THINKING_LEVELS as e,DOOM_VOICE_ENGINES as t,DOOM_VOICE_TTS_ENGINES as n,globalDoomConfigDirectory as r,globalDoomConfigPath as i,loadDoomConfig as a,mergeDoomConfigs as o,parseDoomConfig as s,parsePlanningModeConfig as c,repositoryDoomConfigPath as l,resolvePlanningPlansDirectory as u,resolveVoiceConfig as d}from"./config.mjs";import{setDoomConfigValue as f,unsetDoomConfigValue as p,writeDoomConfigValues as m}from"./configWriter.mjs";import{DOOM_CONFIG_TEMPLATES as h,GLOBAL_DOOM_SEED_FILES as g,initializeGlobalDoomConfig as _}from"./init.mjs";import{DOOM_CONFIG_TYPES as v}from"./types.mjs";import{DoomConfigService as y,createDoomConfigContainer as b,createDoomConfigModule as x}from"./container.mjs";import{DOOM_DIR as S}from"./layeredConfig.mjs";import{domainCompletionItems as C,domainCompletionPrefix as w,expandDomainNames as T,listDomainNames as E,loadDomains as D,resolvePluginDirectories as O,resolvePluginEntries as k,resolveSharedSkills as A}from"./domains.mjs";import{loadPiConfig as j,piConfigPaths as M}from"./config/piConfig.mjs";import{writePrivateAtomicJson as N}from"./atomicJson.mjs";import{FILE_ONLY_STATE_FIELDS as P,HARNESS_STATE_KEYS as F,projectHarnessEnvironment as I,readHarnessState as L}from"./harnessState.mjs";import{HARNESS_STATE_POINTER as R,createHarnessSession as z,disposeHarnessState as B,getHarnessState as V,harnessRoot as H,loadHarnessState as U,requireHarnessPaths as W,requireHarnessRoot as G,resetHarnessStore as K,updateHarnessState as q}from"./harnessStore.mjs";import{isLocalPackageSpecifier as J,layerEntries as Y,layerHookGroups as X,loadMajorModesConfig as Z,resolveLayerCustomization as Q,resolveLayers as $}from"./majorModes.mjs";import{DOOM_CONFIG_ENTRY_TYPE as ee,appendDoomConfigSelection as te,createDoomConfigContext as ne,provideDoomConfigContext as re,readDoomConfigSelection as ie,requireDoomConfigContext as ae}from"./piContext.mjs";import{PERSONA_FILES as oe,applyProfileEnvironment as se,buildPersonaPrompt as ce,listProfileNames as le,loadProfiles as ue,replaceProfileEnvironment as de,resolveProfile as fe}from"./profiles.mjs";export{ee as DOOM_CONFIG_ENTRY_TYPE,h as DOOM_CONFIG_TEMPLATES,v as DOOM_CONFIG_TYPES,S as DOOM_DIR,e as DOOM_PLANNING_THINKING_LEVELS,t as DOOM_VOICE_ENGINES,n as DOOM_VOICE_TTS_ENGINES,y as DoomConfigService,P as FILE_ONLY_STATE_FIELDS,g as GLOBAL_DOOM_SEED_FILES,F as HARNESS_STATE_KEYS,R as HARNESS_STATE_POINTER,oe as PERSONA_FILES,te as appendDoomConfigSelection,se as applyProfileEnvironment,ce as buildPersonaPrompt,b as createDoomConfigContainer,ne as createDoomConfigContext,x as createDoomConfigModule,z as createHarnessSession,B as disposeHarnessState,C as domainCompletionItems,w as domainCompletionPrefix,T as expandDomainNames,V as getHarnessState,r as globalDoomConfigDirectory,i as globalDoomConfigPath,H as harnessRoot,_ as initializeGlobalDoomConfig,J as isLocalPackageSpecifier,Y as layerEntries,X as layerHookGroups,E as listDomainNames,le as listProfileNames,D as loadDomains,a as loadDoomConfig,U as loadHarnessState,Z as loadMajorModesConfig,j as loadPiConfig,ue as loadProfiles,o as mergeDoomConfigs,s as parseDoomConfig,c as parsePlanningModeConfig,M as piConfigPaths,I as projectHarnessEnvironment,re as provideDoomConfigContext,ie as readDoomConfigSelection,L as readHarnessState,de as replaceProfileEnvironment,l as repositoryDoomConfigPath,ae as requireDoomConfigContext,W as requireHarnessPaths,G as requireHarnessRoot,K as resetHarnessStore,Q as resolveLayerCustomization,$ as resolveLayers,u as resolvePlanningPlansDirectory,O as resolvePluginDirectories,k as resolvePluginEntries,fe as resolveProfile,A as resolveSharedSkills,d as resolveVoiceConfig,f as setDoomConfigValue,p as unsetDoomConfigValue,q as updateHarnessState,m as writeDoomConfigValues,N as writePrivateAtomicJson};
1
+ import{writePrivateAtomicJson as e}from"./adapters/atomicJson.mjs";import{DOOM_PLANNING_THINKING_LEVELS as t,DOOM_VOICE_ENGINES as n,DOOM_VOICE_TTS_ENGINES as r,mergeDoomConfigs as i,parseDoomConfig as a,parsePlanningModeConfig as o,resolveVoiceConfig as s}from"./services/configPolicy.mjs";import{globalDoomConfigDirectory as c,globalDoomConfigPath as l,loadDoomConfig as u,loadDoomConfigAsync as d,repositoryDoomConfigPath as f,resolvePlanningPlansDirectory as p}from"./adapters/config.mjs";import{setDoomConfigValue as m,unsetDoomConfigValue as h,writeDoomConfigValues as g}from"./adapters/configWriter.mjs";import{DOOM_CONFIG_TYPES as _}from"./types/config.mjs";import{DoomConfigService as v,createDoomConfigContainer as y,createDoomConfigModule as b}from"./container/doomConfigContainer.mjs";import{domainCompletionItems as x,domainCompletionPrefix as S,expandDomainNames as C}from"./services/domains.mjs";import{DOOM_DIR as w}from"./adapters/layeredConfig.mjs";import{MARKETPLACE_MANIFEST_RELATIVE_PATHS as T,findPluginManifestPath as E,isRemotePluginSource as D,pluginDirectoryForSource as O}from"./adapters/pluginCatalog.mjs";import{listDomainNames as k,loadDomains as A,resolvePluginDirectories as j,resolvePluginEntries as M,resolveSharedSkills as N}from"./adapters/domains.mjs";import{FILE_ONLY_STATE_FIELDS as P,HARNESS_STATE_KEYS as F,projectHarnessEnvironment as I,readHarnessState as L}from"./adapters/harnessState.mjs";import{HARNESS_STATE_POINTER as R,createHarnessSession as z,disposeHarnessState as B,getHarnessState as V,harnessRoot as H,loadHarnessState as U,requireHarnessPaths as W,requireHarnessRoot as G,resetHarnessStore as K,updateHarnessState as q}from"./adapters/harnessStore.mjs";import{DOOM_CONFIG_TEMPLATES as J,GLOBAL_DOOM_SEED_FILES as Y,REPOSITORY_DOOM_CONFIG_TEMPLATES as X,initializeGlobalDoomConfig as Z,initializeRepositoryDoomConfig as Q}from"./adapters/init.mjs";import{isLocalPackageSpecifier as $,layerEntries as ee,layerHookGroups as te,loadMajorModesConfig as ne,resolveLayers as re,resolvePackageConfigurations as ie}from"./adapters/majorModes.mjs";import{DOOM_CONFIG_ENTRY_TYPE as ae,appendDoomConfigSelection as oe,createDoomConfigContext as se,createDoomConfigContextAsync as ce,provideDoomConfigContext as le,readDoomConfigSelection as ue,requireDoomConfigContext as de}from"./adapters/pi/piContext.mjs";import{loadPiConfig as fe,loadPiConfigAsync as pe,piConfigPaths as me}from"./adapters/piConfig.mjs";import{PERSONA_FILES as he,applyProfileEnvironment as ge,buildPersonaPrompt as _e,listProfileNames as ve,loadProfiles as ye,replaceProfileEnvironment as be,resolveProfile as xe}from"./adapters/profiles.mjs";export{ae as DOOM_CONFIG_ENTRY_TYPE,J as DOOM_CONFIG_TEMPLATES,_ as DOOM_CONFIG_TYPES,w as DOOM_DIR,t as DOOM_PLANNING_THINKING_LEVELS,n as DOOM_VOICE_ENGINES,r as DOOM_VOICE_TTS_ENGINES,v as DoomConfigService,P as FILE_ONLY_STATE_FIELDS,Y as GLOBAL_DOOM_SEED_FILES,F as HARNESS_STATE_KEYS,R as HARNESS_STATE_POINTER,T as MARKETPLACE_MANIFEST_RELATIVE_PATHS,he as PERSONA_FILES,X as REPOSITORY_DOOM_CONFIG_TEMPLATES,oe as appendDoomConfigSelection,ge as applyProfileEnvironment,_e as buildPersonaPrompt,y as createDoomConfigContainer,se as createDoomConfigContext,ce as createDoomConfigContextAsync,b as createDoomConfigModule,z as createHarnessSession,B as disposeHarnessState,x as domainCompletionItems,S as domainCompletionPrefix,C as expandDomainNames,E as findPluginManifestPath,V as getHarnessState,c as globalDoomConfigDirectory,l as globalDoomConfigPath,H as harnessRoot,Z as initializeGlobalDoomConfig,Q as initializeRepositoryDoomConfig,$ as isLocalPackageSpecifier,D as isRemotePluginSource,ee as layerEntries,te as layerHookGroups,k as listDomainNames,ve as listProfileNames,A as loadDomains,u as loadDoomConfig,d as loadDoomConfigAsync,U as loadHarnessState,ne as loadMajorModesConfig,fe as loadPiConfig,pe as loadPiConfigAsync,ye as loadProfiles,i as mergeDoomConfigs,a as parseDoomConfig,o as parsePlanningModeConfig,me as piConfigPaths,O as pluginDirectoryForSource,I as projectHarnessEnvironment,le as provideDoomConfigContext,ue as readDoomConfigSelection,L as readHarnessState,be as replaceProfileEnvironment,f as repositoryDoomConfigPath,de as requireDoomConfigContext,W as requireHarnessPaths,G as requireHarnessRoot,K as resetHarnessStore,re as resolveLayers,ie as resolvePackageConfigurations,p as resolvePlanningPlansDirectory,j as resolvePluginDirectories,M as resolvePluginEntries,xe as resolveProfile,N as resolveSharedSkills,s as resolveVoiceConfig,m as setDoomConfigValue,h as unsetDoomConfigValue,q as updateHarnessState,g as writeDoomConfigValues,e as writePrivateAtomicJson};
package/dist/init.cjs CHANGED
@@ -1,76 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./_virtual/_rolldown/runtime.cjs"),t=require("./config.cjs");let n=require("node:fs");n=e.__toESM(n,1);let r=require("node:os");r=e.__toESM(r,1);let i=require("node:path");i=e.__toESM(i,1);let a=require("node:crypto");const o=`utf8`,s=`EEXIST`,c=`ENOENT`,l=[`config.yaml`,`modes.yaml`,`domains.yaml`,`profiles.yaml`,`hooks.yaml`],u={"config.yaml":`projectTrust: ask
2
-
3
- # Autonomous voice is opt-in and uses an explicitly configured Pi model.
4
- # voice:
5
- # autoCapture:
6
- # model: provider/model-id
7
- # startPhrases:
8
- # - hey doom
9
- # stopPhrases:
10
- # - stop speaking
11
- # tts:
12
- # engine: macos-say
13
- # voice: Samantha
14
- # rate: 190
15
- `,"modes.yaml":`# Seeded defaults. Every layer here resolves from what Doom Pi installs or
16
- # from a public package, so a fresh install works with no extra setup.
17
- #
18
- # Layers and modes defined here apply to every repository. A repository's own
19
- # .doom/modes.yaml is read after this file and replaces any layer or mode of the
20
- # same name, so a repository can override one entry without restating the rest.
21
- #
22
- # A layer package is an npm specifier, or a path if it was never published:
23
- # packages: ['./extensions/my-ext']
24
- # A path is relative to the config that declares it, so it resolves beside this
25
- # file here (~/.pi/.doom) and against the repository root in a repository copy.
26
- layers:
27
- guardrails:
28
- # repositoryHooks ships with Doom Pi, so the layer steers the agent toward
29
- # the governing skill and scaffolding before it writes.
30
- extensions: [repositoryHooks]
31
- hookGroups: [guardrails, scaffolding]
32
- vibe-lint:
33
- packages:
34
- - '@agimon-ai/vibe-lint/extensions/pi'
35
- team:
36
- packages:
37
- - '@agimon-ai/doompi-team/extensions/doom'
38
- plan-mode:
39
- packages:
40
- - '@agimon-ai/doompi-plan/extensions/doom'
41
- runner:
42
- packages:
43
- - '@agimon-ai/doompi-runner/extensions/pi'
44
- style-system:
45
- extensions: [styleSystem]
46
- goal:
47
- packages:
48
- - '@narumitw/pi-goal/src/index.ts'
49
- ask-user:
50
- packages:
51
- - '@juicesharp/rpiv-ask-user-question'
52
- # A mode is a named set of the layers above. The default keeps its real mode
53
- # name; it is selected only when neither --major-mode nor DOOMPI_MAJOR_MODE is set.
54
- defaultMajorMode: copilot
55
- majorMode:
56
- minimal: [guardrails, team]
57
- copilot: [guardrails, vibe-lint, team, plan-mode, runner, style-system, goal, ask-user]
58
- `,"domains.yaml":`# A domain is a named set of plugin directories loaded for a session.
59
- # Add your own alongside default; aliases map short names onto them.
60
- # Defaults are a list because one session may combine several domains.
61
- defaultDomains: [default]
62
- #
63
- # Each plugin path is written in full and is relative to the config that
64
- # declares it, so it resolves beside this file here (~/.pi/.doom) and against
65
- # the repository root in a repository copy:
66
- # plugins: ['plugins/my-plugin']
67
- # A repository's own .doom/domains.yaml is read after this file, replaces any
68
- # domain of the same name, and can replace defaultDomains.
69
- domains:
70
- default:
71
- plugins: []
72
- aliases: {}
73
- `,"profiles.yaml":`profiles: {}
74
- `,"hooks.yaml":`groups: {}
75
- `};function d(e){if(!(e instanceof Error))return;let t=e.code;return typeof t==`string`?t:void 0}function f(e){let t;try{t=n.default.lstatSync(e)}catch(r){if(d(r)!==c)throw r;try{n.default.mkdirSync(e,{mode:448}),t=n.default.lstatSync(e)}catch(r){if(d(r)!==s)throw r;t=n.default.lstatSync(e)}}if(t.isSymbolicLink())throw Error(`Refusing to initialize through symlinked directory: ${e}`);if(!t.isDirectory())throw Error(`Doom config path is not a directory: ${e}`)}function p(e){f(i.default.dirname(e)),f(e)}function m(e){let t;try{t=n.default.lstatSync(e)}catch(e){if(d(e)===c)return`missing`;throw e}if(t.isFile())return`file`;if(t.isSymbolicLink())try{if(n.default.statSync(e).isFile())return`file`}catch(t){throw Error(`Doom config seed symlink is not file-like: ${e}`,{cause:t})}throw Error(`Doom config seed path is not file-like: ${e}`)}function h(e){try{n.default.unlinkSync(e)}catch(e){if(d(e)!==c)throw e}}function g(e,t){let r=`${e}.${process.pid}.${(0,a.randomUUID)()}.tmp`,i;try{i=n.default.openSync(r,`wx`,384),n.default.writeFileSync(i,t,o),n.default.fchmodSync(i,384),n.default.fsyncSync(i);let a=i;i=void 0,n.default.closeSync(a);try{return n.default.linkSync(r,e),!0}catch(t){if(d(t)===s&&m(e)===`file`)return!1;throw t}}finally{if(i!==void 0){let e=i;i=void 0,n.default.closeSync(e)}h(r)}}function _(e,t){let r=`${e}.${process.pid}.${(0,a.randomUUID)()}.tmp`,i;try{i=n.default.openSync(r,`wx`,384),n.default.writeFileSync(i,t,o),n.default.fchmodSync(i,384),n.default.fsyncSync(i);let a=i;i=void 0,n.default.closeSync(a),n.default.renameSync(r,e)}finally{if(i!==void 0){let e=i;i=void 0,n.default.closeSync(e)}h(r)}}function v(e=r.default.homedir(),n={}){let a=t.globalDoomConfigDirectory(e);p(a);let o=[],s=[],c=[];for(let e of l){let t=i.default.join(a,e),r=m(t)===`file`;if(n.force){_(t,u[e]),(r?c:o).push(e);continue}if(r){s.push(e);continue}g(t,u[e])?o.push(e):s.push(e)}return{directory:a,created:o,preserved:s,replaced:c}}exports.DOOM_CONFIG_TEMPLATES=u,exports.GLOBAL_DOOM_SEED_FILES=l,exports.initializeGlobalDoomConfig=v;
76
- //# sourceMappingURL=init.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/init.cjs");exports.DOOM_CONFIG_TEMPLATES=e.DOOM_CONFIG_TEMPLATES,exports.GLOBAL_DOOM_SEED_FILES=e.GLOBAL_DOOM_SEED_FILES,exports.REPOSITORY_DOOM_CONFIG_TEMPLATES=e.REPOSITORY_DOOM_CONFIG_TEMPLATES,exports.initializeGlobalDoomConfig=e.initializeGlobalDoomConfig,exports.initializeRepositoryDoomConfig=e.initializeRepositoryDoomConfig;
package/dist/init.d.cts CHANGED
@@ -1,33 +1,2 @@
1
- //#region src/init.d.ts
2
- /** The global seed files are processed in this fixed order. */
3
- declare const GLOBAL_DOOM_SEED_FILES: readonly ["config.yaml", "modes.yaml", "domains.yaml", "profiles.yaml", "hooks.yaml"];
4
- type GlobalDoomSeedFile = (typeof GLOBAL_DOOM_SEED_FILES)[number];
5
- /** Portable defaults for a new global Doom configuration directory. */
6
- declare const DOOM_CONFIG_TEMPLATES: Readonly<Record<GlobalDoomSeedFile, string>>;
7
- /** Result of filling the global seed directory. File arrays contain names in seed order. */
8
- interface GlobalDoomInitResult {
9
- directory: string;
10
- created: string[];
11
- preserved: string[];
12
- /** Existing files overwritten from the template. Only ever non-empty under `force`. */
13
- replaced: string[];
14
- }
15
- interface GlobalDoomInitOptions {
16
- /**
17
- * Overwrite existing seed files instead of preserving them.
18
- *
19
- * Off by default: init is safe to re-run, and hand-edited config is the
20
- * normal case rather than the exception.
21
- */
22
- force?: boolean;
23
- }
24
- /**
25
- * Fills missing global seed files.
26
- *
27
- * Existing files are left alone so that re-running init never discards
28
- * hand-edited config; pass `force` to overwrite them from the template.
29
- */
30
- declare function initializeGlobalDoomConfig(homeDirectory?: string, options?: GlobalDoomInitOptions): GlobalDoomInitResult;
31
- //#endregion
32
- export { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitOptions, GlobalDoomInitResult, initializeGlobalDoomConfig };
33
- //# sourceMappingURL=init.d.cts.map
1
+ import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitOptions, GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, RepositoryDoomInitOptions, RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig } from "./adapters/init.cjs";
2
+ export { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, type GlobalDoomInitOptions, type GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, type RepositoryDoomInitOptions, type RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig };
package/dist/init.d.mts CHANGED
@@ -1,33 +1,2 @@
1
- //#region src/init.d.ts
2
- /** The global seed files are processed in this fixed order. */
3
- declare const GLOBAL_DOOM_SEED_FILES: readonly ["config.yaml", "modes.yaml", "domains.yaml", "profiles.yaml", "hooks.yaml"];
4
- type GlobalDoomSeedFile = (typeof GLOBAL_DOOM_SEED_FILES)[number];
5
- /** Portable defaults for a new global Doom configuration directory. */
6
- declare const DOOM_CONFIG_TEMPLATES: Readonly<Record<GlobalDoomSeedFile, string>>;
7
- /** Result of filling the global seed directory. File arrays contain names in seed order. */
8
- interface GlobalDoomInitResult {
9
- directory: string;
10
- created: string[];
11
- preserved: string[];
12
- /** Existing files overwritten from the template. Only ever non-empty under `force`. */
13
- replaced: string[];
14
- }
15
- interface GlobalDoomInitOptions {
16
- /**
17
- * Overwrite existing seed files instead of preserving them.
18
- *
19
- * Off by default: init is safe to re-run, and hand-edited config is the
20
- * normal case rather than the exception.
21
- */
22
- force?: boolean;
23
- }
24
- /**
25
- * Fills missing global seed files.
26
- *
27
- * Existing files are left alone so that re-running init never discards
28
- * hand-edited config; pass `force` to overwrite them from the template.
29
- */
30
- declare function initializeGlobalDoomConfig(homeDirectory?: string, options?: GlobalDoomInitOptions): GlobalDoomInitResult;
31
- //#endregion
32
- export { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitOptions, GlobalDoomInitResult, initializeGlobalDoomConfig };
33
- //# sourceMappingURL=init.d.mts.map
1
+ import { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, GlobalDoomInitOptions, GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, RepositoryDoomInitOptions, RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig } from "./adapters/init.mjs";
2
+ export { DOOM_CONFIG_TEMPLATES, GLOBAL_DOOM_SEED_FILES, type GlobalDoomInitOptions, type GlobalDoomInitResult, REPOSITORY_DOOM_CONFIG_TEMPLATES, type RepositoryDoomInitOptions, type RepositoryDoomInitResult, initializeGlobalDoomConfig, initializeRepositoryDoomConfig };
package/dist/init.mjs CHANGED
@@ -1,76 +1 @@
1
- import{globalDoomConfigDirectory as e}from"./config.mjs";import t from"node:fs";import n from"node:os";import r from"node:path";import{randomUUID as i}from"node:crypto";const a=`utf8`,o=`EEXIST`,s=`ENOENT`,c=[`config.yaml`,`modes.yaml`,`domains.yaml`,`profiles.yaml`,`hooks.yaml`],l={"config.yaml":`projectTrust: ask
2
-
3
- # Autonomous voice is opt-in and uses an explicitly configured Pi model.
4
- # voice:
5
- # autoCapture:
6
- # model: provider/model-id
7
- # startPhrases:
8
- # - hey doom
9
- # stopPhrases:
10
- # - stop speaking
11
- # tts:
12
- # engine: macos-say
13
- # voice: Samantha
14
- # rate: 190
15
- `,"modes.yaml":`# Seeded defaults. Every layer here resolves from what Doom Pi installs or
16
- # from a public package, so a fresh install works with no extra setup.
17
- #
18
- # Layers and modes defined here apply to every repository. A repository's own
19
- # .doom/modes.yaml is read after this file and replaces any layer or mode of the
20
- # same name, so a repository can override one entry without restating the rest.
21
- #
22
- # A layer package is an npm specifier, or a path if it was never published:
23
- # packages: ['./extensions/my-ext']
24
- # A path is relative to the config that declares it, so it resolves beside this
25
- # file here (~/.pi/.doom) and against the repository root in a repository copy.
26
- layers:
27
- guardrails:
28
- # repositoryHooks ships with Doom Pi, so the layer steers the agent toward
29
- # the governing skill and scaffolding before it writes.
30
- extensions: [repositoryHooks]
31
- hookGroups: [guardrails, scaffolding]
32
- vibe-lint:
33
- packages:
34
- - '@agimon-ai/vibe-lint/extensions/pi'
35
- team:
36
- packages:
37
- - '@agimon-ai/doompi-team/extensions/doom'
38
- plan-mode:
39
- packages:
40
- - '@agimon-ai/doompi-plan/extensions/doom'
41
- runner:
42
- packages:
43
- - '@agimon-ai/doompi-runner/extensions/pi'
44
- style-system:
45
- extensions: [styleSystem]
46
- goal:
47
- packages:
48
- - '@narumitw/pi-goal/src/index.ts'
49
- ask-user:
50
- packages:
51
- - '@juicesharp/rpiv-ask-user-question'
52
- # A mode is a named set of the layers above. The default keeps its real mode
53
- # name; it is selected only when neither --major-mode nor DOOMPI_MAJOR_MODE is set.
54
- defaultMajorMode: copilot
55
- majorMode:
56
- minimal: [guardrails, team]
57
- copilot: [guardrails, vibe-lint, team, plan-mode, runner, style-system, goal, ask-user]
58
- `,"domains.yaml":`# A domain is a named set of plugin directories loaded for a session.
59
- # Add your own alongside default; aliases map short names onto them.
60
- # Defaults are a list because one session may combine several domains.
61
- defaultDomains: [default]
62
- #
63
- # Each plugin path is written in full and is relative to the config that
64
- # declares it, so it resolves beside this file here (~/.pi/.doom) and against
65
- # the repository root in a repository copy:
66
- # plugins: ['plugins/my-plugin']
67
- # A repository's own .doom/domains.yaml is read after this file, replaces any
68
- # domain of the same name, and can replace defaultDomains.
69
- domains:
70
- default:
71
- plugins: []
72
- aliases: {}
73
- `,"profiles.yaml":`profiles: {}
74
- `,"hooks.yaml":`groups: {}
75
- `};function u(e){if(!(e instanceof Error))return;let t=e.code;return typeof t==`string`?t:void 0}function d(e){let n;try{n=t.lstatSync(e)}catch(r){if(u(r)!==s)throw r;try{t.mkdirSync(e,{mode:448}),n=t.lstatSync(e)}catch(r){if(u(r)!==o)throw r;n=t.lstatSync(e)}}if(n.isSymbolicLink())throw Error(`Refusing to initialize through symlinked directory: ${e}`);if(!n.isDirectory())throw Error(`Doom config path is not a directory: ${e}`)}function f(e){d(r.dirname(e)),d(e)}function p(e){let n;try{n=t.lstatSync(e)}catch(e){if(u(e)===s)return`missing`;throw e}if(n.isFile())return`file`;if(n.isSymbolicLink())try{if(t.statSync(e).isFile())return`file`}catch(t){throw Error(`Doom config seed symlink is not file-like: ${e}`,{cause:t})}throw Error(`Doom config seed path is not file-like: ${e}`)}function m(e){try{t.unlinkSync(e)}catch(e){if(u(e)!==s)throw e}}function h(e,n){let r=`${e}.${process.pid}.${i()}.tmp`,s;try{s=t.openSync(r,`wx`,384),t.writeFileSync(s,n,a),t.fchmodSync(s,384),t.fsyncSync(s);let i=s;s=void 0,t.closeSync(i);try{return t.linkSync(r,e),!0}catch(t){if(u(t)===o&&p(e)===`file`)return!1;throw t}}finally{if(s!==void 0){let e=s;s=void 0,t.closeSync(e)}m(r)}}function g(e,n){let r=`${e}.${process.pid}.${i()}.tmp`,o;try{o=t.openSync(r,`wx`,384),t.writeFileSync(o,n,a),t.fchmodSync(o,384),t.fsyncSync(o);let i=o;o=void 0,t.closeSync(i),t.renameSync(r,e)}finally{if(o!==void 0){let e=o;o=void 0,t.closeSync(e)}m(r)}}function _(t=n.homedir(),i={}){let a=e(t);f(a);let o=[],s=[],u=[];for(let e of c){let t=r.join(a,e),n=p(t)===`file`;if(i.force){g(t,l[e]),(n?u:o).push(e);continue}if(n){s.push(e);continue}h(t,l[e])?o.push(e):s.push(e)}return{directory:a,created:o,preserved:s,replaced:u}}export{l as DOOM_CONFIG_TEMPLATES,c as GLOBAL_DOOM_SEED_FILES,_ as initializeGlobalDoomConfig};
76
- //# sourceMappingURL=init.mjs.map
1
+ import{DOOM_CONFIG_TEMPLATES as e,GLOBAL_DOOM_SEED_FILES as t,REPOSITORY_DOOM_CONFIG_TEMPLATES as n,initializeGlobalDoomConfig as r,initializeRepositoryDoomConfig as i}from"./adapters/init.mjs";export{e as DOOM_CONFIG_TEMPLATES,t as GLOBAL_DOOM_SEED_FILES,n as REPOSITORY_DOOM_CONFIG_TEMPLATES,r as initializeGlobalDoomConfig,i as initializeRepositoryDoomConfig};
@@ -1,2 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./_virtual/_rolldown/runtime.cjs"),t=require("./config.cjs");let n=require("node:fs");n=e.__toESM(n,1);let r=require("node:os");r=e.__toESM(r,1);let i=require("node:path");i=e.__toESM(i,1);let a=require("yaml");const o=`.doom`;function s(e,n,a=r.default.homedir()){let s=t.globalDoomConfigDirectory(a);return[{filePath:i.default.join(s,e),baseDirectory:s},{filePath:i.default.join(n,o,e),baseDirectory:n}]}function c(e,t,i=r.default.homedir()){let o=s(e,t,i),c=[];for(let e of o){if(!n.default.existsSync(e.filePath))continue;let t=n.default.readFileSync(e.filePath,`utf8`),r=(0,a.parse)(t);r!=null&&c.push({...e,text:t,document:r})}return c}function l(e,t){let n={};for(let r of e)for(let[e,i]of Object.entries(t(r.document)??{}))n[e]={...i,baseDirectory:r.baseDirectory};return n}exports.DOOM_DIR=o,exports.doomConfigCandidates=s,exports.mergeNamedSources=l,exports.readDoomConfigSources=c;
2
- //# sourceMappingURL=layeredConfig.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/layeredConfig.cjs");exports.DOOM_DIR=e.DOOM_DIR,exports.doomConfigCandidates=e.doomConfigCandidates,exports.mergeNamedSources=e.mergeNamedSources,exports.readDoomConfigSources=e.readDoomConfigSources;
@@ -1,49 +1,2 @@
1
- //#region src/layeredConfig.d.ts
2
- /** Repository-local doom-pi configuration directory, committed to git. */
3
- declare const DOOM_DIR = ".doom";
4
- /** One `.doom` document plus the root its relative paths resolve against. */
5
- interface DoomConfigSource<TDocument> {
6
- /** Absolute path of the file the document was read from. */
7
- filePath: string;
8
- /**
9
- * Where relative paths inside this document point.
10
- *
11
- * A repository document resolves against the repository root, so `plugins/x`
12
- * keeps meaning the same thing it always has. A global document resolves
13
- * against the global `.doom` directory, so it can name plugins and extensions
14
- * that live beside it in `~/.pi/.doom` rather than inside whichever
15
- * repository happens to be open.
16
- */
17
- baseDirectory: string;
18
- /** Raw file contents, for callers that cache parsed results by source text. */
19
- text: string;
20
- document: TDocument;
21
- }
22
- /**
23
- * Reads one named `.doom` document from the global and repository config
24
- * directories, lowest precedence first.
25
- *
26
- * A missing or empty file contributes nothing, so either location on its own is
27
- * a complete configuration. Documents are deliberately returned unmerged:
28
- * merging is by name, and only the caller knows what a name means in its own
29
- * document, so each one folds the sources itself with the repository last.
30
- */
31
- declare function doomConfigCandidates(fileName: string, repoRoot: string, homeDirectory?: string): Array<{
32
- filePath: string;
33
- baseDirectory: string;
34
- }>;
35
- declare function readDoomConfigSources<TDocument>(fileName: string, repoRoot: string, homeDirectory?: string): Array<DoomConfigSource<TDocument>>;
36
- /**
37
- * Merges same-named records across sources, tagging each entry with the base
38
- * directory of the document that supplied it.
39
- *
40
- * Later sources win outright rather than being deep-merged: a repository that
41
- * redefines a name is replacing it, and a half-inherited definition whose paths
42
- * straddle two roots would be impossible to resolve.
43
- */
44
- declare function mergeNamedSources<TDocument, TEntry>(sources: ReadonlyArray<DoomConfigSource<TDocument>>, select: (document: TDocument) => Record<string, TEntry> | undefined): Record<string, TEntry & {
45
- baseDirectory: string;
46
- }>;
47
- //#endregion
48
- export { DOOM_DIR, DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources };
49
- //# sourceMappingURL=layeredConfig.d.cts.map
1
+ import { DOOM_DIR, DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources } from "./adapters/layeredConfig.cjs";
2
+ export { DOOM_DIR, type DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources };
@@ -1,49 +1,2 @@
1
- //#region src/layeredConfig.d.ts
2
- /** Repository-local doom-pi configuration directory, committed to git. */
3
- declare const DOOM_DIR = ".doom";
4
- /** One `.doom` document plus the root its relative paths resolve against. */
5
- interface DoomConfigSource<TDocument> {
6
- /** Absolute path of the file the document was read from. */
7
- filePath: string;
8
- /**
9
- * Where relative paths inside this document point.
10
- *
11
- * A repository document resolves against the repository root, so `plugins/x`
12
- * keeps meaning the same thing it always has. A global document resolves
13
- * against the global `.doom` directory, so it can name plugins and extensions
14
- * that live beside it in `~/.pi/.doom` rather than inside whichever
15
- * repository happens to be open.
16
- */
17
- baseDirectory: string;
18
- /** Raw file contents, for callers that cache parsed results by source text. */
19
- text: string;
20
- document: TDocument;
21
- }
22
- /**
23
- * Reads one named `.doom` document from the global and repository config
24
- * directories, lowest precedence first.
25
- *
26
- * A missing or empty file contributes nothing, so either location on its own is
27
- * a complete configuration. Documents are deliberately returned unmerged:
28
- * merging is by name, and only the caller knows what a name means in its own
29
- * document, so each one folds the sources itself with the repository last.
30
- */
31
- declare function doomConfigCandidates(fileName: string, repoRoot: string, homeDirectory?: string): Array<{
32
- filePath: string;
33
- baseDirectory: string;
34
- }>;
35
- declare function readDoomConfigSources<TDocument>(fileName: string, repoRoot: string, homeDirectory?: string): Array<DoomConfigSource<TDocument>>;
36
- /**
37
- * Merges same-named records across sources, tagging each entry with the base
38
- * directory of the document that supplied it.
39
- *
40
- * Later sources win outright rather than being deep-merged: a repository that
41
- * redefines a name is replacing it, and a half-inherited definition whose paths
42
- * straddle two roots would be impossible to resolve.
43
- */
44
- declare function mergeNamedSources<TDocument, TEntry>(sources: ReadonlyArray<DoomConfigSource<TDocument>>, select: (document: TDocument) => Record<string, TEntry> | undefined): Record<string, TEntry & {
45
- baseDirectory: string;
46
- }>;
47
- //#endregion
48
- export { DOOM_DIR, DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources };
49
- //# sourceMappingURL=layeredConfig.d.mts.map
1
+ import { DOOM_DIR, DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources } from "./adapters/layeredConfig.mjs";
2
+ export { DOOM_DIR, type DoomConfigSource, doomConfigCandidates, mergeNamedSources, readDoomConfigSources };
@@ -1,2 +1 @@
1
- import{globalDoomConfigDirectory as e}from"./config.mjs";import t from"node:fs";import n from"node:os";import r from"node:path";import{parse as i}from"yaml";const a=`.doom`;function o(t,i,o=n.homedir()){let s=e(o);return[{filePath:r.join(s,t),baseDirectory:s},{filePath:r.join(i,a,t),baseDirectory:i}]}function s(e,r,a=n.homedir()){let s=o(e,r,a),c=[];for(let e of s){if(!t.existsSync(e.filePath))continue;let n=t.readFileSync(e.filePath,`utf8`),r=i(n);r!=null&&c.push({...e,text:n,document:r})}return c}function c(e,t){let n={};for(let r of e)for(let[e,i]of Object.entries(t(r.document)??{}))n[e]={...i,baseDirectory:r.baseDirectory};return n}export{a as DOOM_DIR,o as doomConfigCandidates,c as mergeNamedSources,s as readDoomConfigSources};
2
- //# sourceMappingURL=layeredConfig.mjs.map
1
+ import{DOOM_DIR as e,doomConfigCandidates as t,mergeNamedSources as n,readDoomConfigSources as r}from"./adapters/layeredConfig.mjs";export{e as DOOM_DIR,t as doomConfigCandidates,n as mergeNamedSources,r as readDoomConfigSources};
@@ -1,2 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./_virtual/_rolldown/runtime.cjs"),t=require("./layeredConfig.cjs");let n=require("node:os");n=e.__toESM(n,1);let r=require("node:path");r=e.__toESM(r,1);const i=`modes.yaml`,a=r.default.join(t.DOOM_DIR,i),o=[`./`,`../`];function s(e){return r.default.isAbsolute(e)||o.some(t=>e.startsWith(t))}const c=[`subagents`],l=[`models`,`excludeTools`],u=[`model`,`thinking`],d=new Set([`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]);function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e,t,n){let r=Object.keys(e).filter(e=>!t.includes(e));if(r.length>0)throw Error(`${n} has unsupported field(s): ${r.join(`, `)}`)}function m(e,t){if(t===void 0)return;let n=`Layer "${e}" config in ${a}`;if(!f(t))throw Error(`${n} must be a mapping`);if(p(t,c,n),t.subagents===void 0)return{};if(!f(t.subagents))throw Error(`${n}.subagents must be a mapping`);p(t.subagents,l,`${n}.subagents`);let r=Object.hasOwn(t.subagents,`models`),i=Object.hasOwn(t.subagents,`excludeTools`);if(!r&&!i)throw Error(`${n}.subagents must define models or excludeTools`);let o;if(r){if(!Array.isArray(t.subagents.models)||t.subagents.models.length===0)throw Error(`${n}.subagents.models must be a non-empty array`);o=t.subagents.models.map((e,t)=>{let r=`${n}.subagents.models[${t}]`;if(!f(e))throw Error(`${r} must be a mapping`);if(p(e,u,r),typeof e.model!=`string`||!e.model.trim())throw Error(`${r}.model must be a non-empty string`);if(e.thinking!==void 0&&(typeof e.thinking!=`string`||!d.has(e.thinking)))throw Error(`${r}.thinking must be one of: ${[...d].join(`, `)}`);return{model:e.model.trim(),...e.thinking?{thinking:e.thinking}:{}}})}let s;if(i){let e=t.subagents.excludeTools;if(!Array.isArray(e)||e.length===0)throw Error(`${n}.subagents.excludeTools must be a non-empty array`);s=[...new Set(e.map((e,t)=>{let r=`${n}.subagents.excludeTools[${t}]`;if(typeof e!=`string`||!e.trim())throw Error(`${r} must be a non-empty string`);return e.trim()}))]}return{subagents:{...o?{models:o}:{},...s?{excludeTools:s}:{}}}}function h(e){if(typeof e!=`string`||!e.trim())throw Error(`defaultMajorMode in ${a} must be a non-empty string`);return e.trim()}function g(e,t){if(!f(t))throw Error(`Layer "${e}" in ${a} must be a mapping`);if(`targets`in t)throw Error(`Layer "${e}" in ${a} uses removed field "targets"; select availability through major modes`);let n=m(e,t.config);return n===void 0?t:{...t,config:n}}function _(e,r=n.default.homedir()){let o=t.readDoomConfigSources(i,e,r),s={},c={},l=`copilot`,u=!1;for(let e of o){for(let[t,n]of Object.entries(e.document.layers??{}))s[t]={...g(t,n),baseDirectory:e.baseDirectory};Object.hasOwn(e.document,`defaultMajorMode`)&&(l=h(e.document.defaultMajorMode),u=!0),Object.assign(c,e.document.majorMode??{})}for(let[e,t]of Object.entries(c))for(let n of t)if(!s[n])throw Error(`Unknown layer "${n}" in majorMode.${e} of ${a}`);if(u&&!Object.hasOwn(c,l))throw Error(`Unknown default major mode "${l}" in ${a}`);return{layers:s,defaultMajorMode:l,majorMode:c}}function v(e,t){let n,r=new Set,i=!1;for(let a of t){let t=e.layers[a];if(!t)throw Error(`Unknown layer: ${a}`);let o=t.config?.subagents;if(o){if(o.excludeTools!==void 0){i=!0;for(let e of o.excludeTools)r.add(e)}n={...n,...o.models?{models:o.models.map(e=>({...e}))}:{},...i?{excludeTools:[...r]}:{}}}}return n?{subagents:n}:{}}function y(e,t){if(!Object.hasOwn(e.majorMode,t))throw Error(`Unknown major mode: ${t}. Known major modes: ${Object.keys(e.majorMode).sort().join(`, `)}`);return[...e.majorMode[t]]}function b(e,t,n){let r=e.layers[t];if(!r)throw Error(`Unknown layer: ${t}`);let i=[];for(let e of r.extensions??[])i.push(n.ownEntry(e));for(let e of r.packages??[]){let a=typeof e==`string`?e:e.name,o=typeof e!=`string`&&e.optional===!0;if(s(a)){let e=n.localEntry(a,r.baseDirectory);if(e)i.push(e);else if(!o)throw Error(`Layer "${t}" package "${a}" does not resolve under ${r.baseDirectory}. Point it at an extension file, or a directory whose package.json names one.`);continue}if(o){let e=n.optionalPackageEntry(a);e&&i.push(e);continue}i.push(n.packageEntry(a))}return i}function x(e,t){let n=new Set;for(let r of t)for(let t of e.layers[r]?.hookGroups??[])n.add(t);return[...n]}exports.isLocalPackageSpecifier=s,exports.layerEntries=b,exports.layerHookGroups=x,exports.loadMajorModesConfig=_,exports.resolveLayerCustomization=v,exports.resolveLayers=y;
2
- //# sourceMappingURL=majorModes.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/majorModes.cjs");exports.isLocalPackageSpecifier=e.isLocalPackageSpecifier,exports.layerEntries=e.layerEntries,exports.layerHookGroups=e.layerHookGroups,exports.loadMajorModesConfig=e.loadMajorModesConfig,exports.resolveLayers=e.resolveLayers,exports.resolvePackageConfigurations=e.resolvePackageConfigurations;
@@ -1,75 +1,2 @@
1
- import { PlanningThinkingLevel } from "./types.cjs";
2
- //#region src/majorModes.d.ts
3
- interface LayerPackage {
4
- name: string;
5
- optional?: boolean;
6
- }
7
- interface SubagentLayerModelConfig {
8
- model: string;
9
- thinking?: PlanningThinkingLevel;
10
- }
11
- interface SubagentLayerConfig {
12
- models?: SubagentLayerModelConfig[];
13
- excludeTools?: string[];
14
- }
15
- interface LayerCustomizationConfig {
16
- subagents?: SubagentLayerConfig;
17
- }
18
- interface LayerDefinition {
19
- extensions?: string[];
20
- /**
21
- * npm specifiers, or paths relative to the config that declares the layer.
22
- * A path (`./`, `../`, or absolute) is resolved against the repository root
23
- * for `.doom/modes.yaml` and against the global `.doom` directory for
24
- * `~/.pi/.doom/modes.yaml`, which is how an extension that was never
25
- * published to npm gets loaded.
26
- */
27
- packages?: Array<string | LayerPackage>;
28
- hookGroups?: string[];
29
- config?: LayerCustomizationConfig;
30
- }
31
- /** A layer plus the root its relative package paths resolve against. */
32
- interface ResolvedLayerDefinition extends LayerDefinition {
33
- baseDirectory: string;
34
- }
35
- interface MajorModesConfig {
36
- layers: Record<string, ResolvedLayerDefinition>;
37
- /** The mode selected when neither a flag nor the environment names one. */
38
- defaultMajorMode: string;
39
- /** Named major modes, each one a set of layer names. */
40
- majorMode: Record<string, string[]>;
41
- }
42
- interface LayerResolvers {
43
- ownEntry: (name: string) => string;
44
- packageEntry: (name: string) => string;
45
- optionalPackageEntry: (name: string) => string | undefined;
46
- /** Resolves a path-style layer package against the config that declared it. */
47
- localEntry: (specifier: string, baseDirectory: string) => string | undefined;
48
- }
49
- /**
50
- * Whether a layer package names a path rather than an installed package.
51
- *
52
- * The same rule Node applies to import specifiers, so a bare name is always an
53
- * npm package and a path always looks like one.
54
- */
55
- declare function isLocalPackageSpecifier(specifier: string): boolean;
56
- /**
57
- * Reads layers and major modes from the global and repository configs.
58
- *
59
- * The repository is read last, so it replaces a global layer or major mode of
60
- * the same name. Layers keep the root they were declared under so that a
61
- * global layer naming `./extensions/x` still points beside the global config
62
- * once it is loaded from inside some other repository.
63
- */
64
- declare function loadMajorModesConfig(repoRoot: string, homeDirectory?: string): MajorModesConfig;
65
- /** Merges selected layer customization in order, with later models winning and exclusions unioned. */
66
- declare function resolveLayerCustomization(config: MajorModesConfig, names: string[]): LayerCustomizationConfig;
67
- /** Resolves one named major mode into its configured layer components. */
68
- declare function resolveLayers(config: MajorModesConfig, majorMode: string): string[];
69
- /** Resolves one layer's extension and package entries to absolute paths. */
70
- declare function layerEntries(config: MajorModesConfig, name: string, resolvers: LayerResolvers): string[];
71
- /** Hook group ids contributed by the selected layers, deduped. */
72
- declare function layerHookGroups(config: MajorModesConfig, names: string[]): string[];
73
- //#endregion
74
- export { LayerCustomizationConfig, LayerDefinition, LayerPackage, LayerResolvers, MajorModesConfig, ResolvedLayerDefinition, SubagentLayerConfig, SubagentLayerModelConfig, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayerCustomization, resolveLayers };
75
- //# sourceMappingURL=majorModes.d.cts.map
1
+ import { LayerDefinition, LayerPackage, LayerPackageConfig, LayerResolvers, MajorModeDefinition, MajorModesConfig, ResolvedLayerDefinition, ResolvedPackageConfiguration, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayers, resolvePackageConfigurations } from "./adapters/majorModes.cjs";
2
+ export { type LayerDefinition, type LayerPackage, type LayerPackageConfig, type LayerResolvers, type MajorModeDefinition, type MajorModesConfig, type ResolvedLayerDefinition, type ResolvedPackageConfiguration, isLocalPackageSpecifier, layerEntries, layerHookGroups, loadMajorModesConfig, resolveLayers, resolvePackageConfigurations };