@agents-ensemble/core 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/assets/pi/pi-cli-env-wrapper.cmd +28 -0
  2. package/assets/pi/pi-cli-env-wrapper.sh +19 -0
  3. package/assets/pi/settings.json +4 -0
  4. package/dist/acp/acp-preset-bins.d.ts +3 -3
  5. package/dist/acp/acp-preset-bins.d.ts.map +1 -1
  6. package/dist/acp/acp-preset-bins.js +3 -3
  7. package/dist/acp/acp-preset-bins.js.map +1 -1
  8. package/dist/acp/index.d.ts +3 -1
  9. package/dist/acp/index.d.ts.map +1 -1
  10. package/dist/acp/index.js +2 -1
  11. package/dist/acp/index.js.map +1 -1
  12. package/dist/acp/pi-acp-wrapper.d.ts +3 -0
  13. package/dist/acp/pi-acp-wrapper.d.ts.map +1 -0
  14. package/dist/acp/pi-acp-wrapper.js +41 -0
  15. package/dist/acp/pi-acp-wrapper.js.map +1 -0
  16. package/dist/acp/pi-builtin-config.d.ts +10 -0
  17. package/dist/acp/pi-builtin-config.d.ts.map +1 -0
  18. package/dist/acp/pi-builtin-config.js +36 -0
  19. package/dist/acp/pi-builtin-config.js.map +1 -0
  20. package/dist/acp/pi-runtime.d.ts +23 -0
  21. package/dist/acp/pi-runtime.d.ts.map +1 -0
  22. package/dist/acp/pi-runtime.js +160 -0
  23. package/dist/acp/pi-runtime.js.map +1 -0
  24. package/dist/acp/pi-session-map.d.ts +36 -0
  25. package/dist/acp/pi-session-map.d.ts.map +1 -0
  26. package/dist/acp/pi-session-map.js +266 -0
  27. package/dist/acp/pi-session-map.js.map +1 -0
  28. package/dist/acp/resolve-acp-spawn.d.ts +9 -3
  29. package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
  30. package/dist/acp/resolve-acp-spawn.js +41 -9
  31. package/dist/acp/resolve-acp-spawn.js.map +1 -1
  32. package/dist/acp/resolve-bundled-acp-bin.d.ts +2 -2
  33. package/dist/acp/resolve-bundled-acp-bin.d.ts.map +1 -1
  34. package/dist/acp/resolve-bundled-acp-bin.js +4 -4
  35. package/dist/acp/resolve-bundled-acp-bin.js.map +1 -1
  36. package/dist/acp/validate-acp-preset-prerequisites.d.ts +1 -1
  37. package/dist/acp/validate-acp-preset-prerequisites.d.ts.map +1 -1
  38. package/dist/acp/validate-acp-preset-prerequisites.js +30 -10
  39. package/dist/acp/validate-acp-preset-prerequisites.js.map +1 -1
  40. package/dist/conductor/conductor-agent.d.ts +15 -3
  41. package/dist/conductor/conductor-agent.d.ts.map +1 -1
  42. package/dist/conductor/conductor-auth.d.ts +4 -3
  43. package/dist/conductor/conductor-auth.d.ts.map +1 -1
  44. package/dist/conductor/conductor-auth.js +20 -4
  45. package/dist/conductor/conductor-auth.js.map +1 -1
  46. package/dist/conductor/conductor-dispatch-lifecycle.d.ts +85 -0
  47. package/dist/conductor/conductor-dispatch-lifecycle.d.ts.map +1 -0
  48. package/dist/conductor/conductor-dispatch-lifecycle.js +190 -0
  49. package/dist/conductor/conductor-dispatch-lifecycle.js.map +1 -0
  50. package/dist/conductor/conductor-history.d.ts +15 -0
  51. package/dist/conductor/conductor-history.d.ts.map +1 -1
  52. package/dist/conductor/conductor-history.js +38 -7
  53. package/dist/conductor/conductor-history.js.map +1 -1
  54. package/dist/conductor/conductor-path-safety.d.ts +23 -0
  55. package/dist/conductor/conductor-path-safety.d.ts.map +1 -0
  56. package/dist/conductor/conductor-path-safety.js +319 -0
  57. package/dist/conductor/conductor-path-safety.js.map +1 -0
  58. package/dist/conductor/conductor-pi-auth.d.ts +57 -2
  59. package/dist/conductor/conductor-pi-auth.d.ts.map +1 -1
  60. package/dist/conductor/conductor-pi-auth.js +718 -40
  61. package/dist/conductor/conductor-pi-auth.js.map +1 -1
  62. package/dist/conductor/conductor-recovery-inbox.d.ts +73 -0
  63. package/dist/conductor/conductor-recovery-inbox.d.ts.map +1 -0
  64. package/dist/conductor/conductor-recovery-inbox.js +181 -0
  65. package/dist/conductor/conductor-recovery-inbox.js.map +1 -0
  66. package/dist/conductor/conductor-send-reconnect.d.ts +33 -4
  67. package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
  68. package/dist/conductor/conductor-send-reconnect.js +89 -24
  69. package/dist/conductor/conductor-send-reconnect.js.map +1 -1
  70. package/dist/conductor/conductor-session-driver.d.ts +34 -1
  71. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  72. package/dist/conductor/conductor-session-driver.js +529 -75
  73. package/dist/conductor/conductor-session-driver.js.map +1 -1
  74. package/dist/conductor/conductor-session.d.ts +4 -0
  75. package/dist/conductor/conductor-session.d.ts.map +1 -1
  76. package/dist/conductor/conductor-session.js +416 -145
  77. package/dist/conductor/conductor-session.js.map +1 -1
  78. package/dist/conductor/conductor-setup.d.ts +30 -0
  79. package/dist/conductor/conductor-setup.d.ts.map +1 -0
  80. package/dist/conductor/conductor-setup.js +243 -0
  81. package/dist/conductor/conductor-setup.js.map +1 -0
  82. package/dist/conductor/cursor-bootstrap-state.d.ts +9 -0
  83. package/dist/conductor/cursor-bootstrap-state.d.ts.map +1 -0
  84. package/dist/conductor/cursor-bootstrap-state.js +11 -0
  85. package/dist/conductor/cursor-bootstrap-state.js.map +1 -0
  86. package/dist/conductor/cursor-run-snapshots.d.ts +30 -0
  87. package/dist/conductor/cursor-run-snapshots.d.ts.map +1 -0
  88. package/dist/conductor/cursor-run-snapshots.js +120 -0
  89. package/dist/conductor/cursor-run-snapshots.js.map +1 -0
  90. package/dist/conductor/index.d.ts +18 -7
  91. package/dist/conductor/index.d.ts.map +1 -1
  92. package/dist/conductor/index.js +9 -4
  93. package/dist/conductor/index.js.map +1 -1
  94. package/dist/conductor/operator-command.d.ts +5 -0
  95. package/dist/conductor/operator-command.d.ts.map +1 -1
  96. package/dist/conductor/operator-command.js +6 -0
  97. package/dist/conductor/operator-command.js.map +1 -1
  98. package/dist/conductor/operator-input-binding.d.ts +17 -0
  99. package/dist/conductor/operator-input-binding.d.ts.map +1 -1
  100. package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts +45 -0
  101. package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts.map +1 -0
  102. package/dist/conductor/pi-auth-recovery-snapshot-store.js +116 -0
  103. package/dist/conductor/pi-auth-recovery-snapshot-store.js.map +1 -0
  104. package/dist/conductor/pi-conductor-agent.d.ts +6 -3
  105. package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
  106. package/dist/conductor/pi-conductor-agent.js +276 -53
  107. package/dist/conductor/pi-conductor-agent.js.map +1 -1
  108. package/dist/conductor/pi-conductor-session-file.d.ts +13 -0
  109. package/dist/conductor/pi-conductor-session-file.d.ts.map +1 -0
  110. package/dist/conductor/pi-conductor-session-file.js +21 -0
  111. package/dist/conductor/pi-conductor-session-file.js.map +1 -0
  112. package/dist/conductor/pi-resource-loader.d.ts +6 -0
  113. package/dist/conductor/pi-resource-loader.d.ts.map +1 -1
  114. package/dist/conductor/pi-resource-loader.js +26 -12
  115. package/dist/conductor/pi-resource-loader.js.map +1 -1
  116. package/dist/conductor/pi-user-root-lock.d.ts +8 -0
  117. package/dist/conductor/pi-user-root-lock.d.ts.map +1 -0
  118. package/dist/conductor/pi-user-root-lock.js +53 -0
  119. package/dist/conductor/pi-user-root-lock.js.map +1 -0
  120. package/dist/conductor/recovery-inbox-command.d.ts +29 -0
  121. package/dist/conductor/recovery-inbox-command.d.ts.map +1 -0
  122. package/dist/conductor/recovery-inbox-command.js +248 -0
  123. package/dist/conductor/recovery-inbox-command.js.map +1 -0
  124. package/dist/conductor/session/events/index.d.ts +1 -1
  125. package/dist/conductor/session/events/index.d.ts.map +1 -1
  126. package/dist/conductor/session/events/index.js.map +1 -1
  127. package/dist/conductor/session/events/session-event.d.ts +43 -1
  128. package/dist/conductor/session/events/session-event.d.ts.map +1 -1
  129. package/dist/conductor/session/events/session-log-event-groups.d.ts +1 -1
  130. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  131. package/dist/conductor/session/events/session-log-event-groups.js +2 -0
  132. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  133. package/dist/conductor/session/events/session-log-event.d.ts +4 -0
  134. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  135. package/dist/conductor/session/format-session-event.js +57 -5
  136. package/dist/conductor/session/format-session-event.js.map +1 -1
  137. package/dist/conductor/session/select-dispatch-batch.d.ts +2 -0
  138. package/dist/conductor/session/select-dispatch-batch.d.ts.map +1 -1
  139. package/dist/conductor/session/select-dispatch-batch.js +36 -2
  140. package/dist/conductor/session/select-dispatch-batch.js.map +1 -1
  141. package/dist/conductor/session/session-event-queue.d.ts +14 -0
  142. package/dist/conductor/session/session-event-queue.d.ts.map +1 -1
  143. package/dist/conductor/session/session-event-queue.js +82 -10
  144. package/dist/conductor/session/session-event-queue.js.map +1 -1
  145. package/dist/conductor/session/session-event.d.ts +1 -1
  146. package/dist/conductor/session/session-event.d.ts.map +1 -1
  147. package/dist/conductor/session-policy.d.ts.map +1 -1
  148. package/dist/conductor/session-policy.js +8 -4
  149. package/dist/conductor/session-policy.js.map +1 -1
  150. package/dist/conductor/submit-operator-input.d.ts +3 -0
  151. package/dist/conductor/submit-operator-input.d.ts.map +1 -1
  152. package/dist/conductor/submit-operator-input.js +21 -0
  153. package/dist/conductor/submit-operator-input.js.map +1 -1
  154. package/dist/config/deep-merge.d.ts.map +1 -1
  155. package/dist/config/deep-merge.js +13 -3
  156. package/dist/config/deep-merge.js.map +1 -1
  157. package/dist/config/defaults.d.ts.map +1 -1
  158. package/dist/config/defaults.js +1 -1
  159. package/dist/config/defaults.js.map +1 -1
  160. package/dist/config/doctor-settings.d.ts +59 -0
  161. package/dist/config/doctor-settings.d.ts.map +1 -0
  162. package/dist/config/doctor-settings.js +343 -0
  163. package/dist/config/doctor-settings.js.map +1 -0
  164. package/dist/config/ensemble-config-digest.d.ts +2 -4
  165. package/dist/config/ensemble-config-digest.d.ts.map +1 -1
  166. package/dist/config/ensemble-config-digest.js +2 -4
  167. package/dist/config/ensemble-config-digest.js.map +1 -1
  168. package/dist/config/index.d.ts +3 -1
  169. package/dist/config/index.d.ts.map +1 -1
  170. package/dist/config/index.js +1 -0
  171. package/dist/config/index.js.map +1 -1
  172. package/dist/config/load-ensemble-config.d.ts.map +1 -1
  173. package/dist/config/load-ensemble-config.js +8 -1
  174. package/dist/config/load-ensemble-config.js.map +1 -1
  175. package/dist/config/parse-config.d.ts.map +1 -1
  176. package/dist/config/parse-config.js +34 -14
  177. package/dist/config/parse-config.js.map +1 -1
  178. package/dist/config/resolve-settings.d.ts +3 -1
  179. package/dist/config/resolve-settings.d.ts.map +1 -1
  180. package/dist/config/resolve-settings.js +7 -4
  181. package/dist/config/resolve-settings.js.map +1 -1
  182. package/dist/config/types.d.ts +14 -5
  183. package/dist/config/types.d.ts.map +1 -1
  184. package/dist/dispatch/attach-worker.js +1 -1
  185. package/dist/dispatch/attach-worker.js.map +1 -1
  186. package/dist/dispatch/worker-acp-session.d.ts +21 -3
  187. package/dist/dispatch/worker-acp-session.d.ts.map +1 -1
  188. package/dist/dispatch/worker-acp-session.js +50 -13
  189. package/dist/dispatch/worker-acp-session.js.map +1 -1
  190. package/dist/ensemble-paths.d.ts +19 -19
  191. package/dist/ensemble-paths.d.ts.map +1 -1
  192. package/dist/ensemble-paths.js +40 -22
  193. package/dist/ensemble-paths.js.map +1 -1
  194. package/dist/issue/resolve-issue-url.d.ts +4 -0
  195. package/dist/issue/resolve-issue-url.d.ts.map +1 -1
  196. package/dist/issue/resolve-issue-url.js +2 -2
  197. package/dist/issue/resolve-issue-url.js.map +1 -1
  198. package/dist/operator-runtime.d.ts +19 -4
  199. package/dist/operator-runtime.d.ts.map +1 -1
  200. package/dist/operator-runtime.js +13 -2
  201. package/dist/operator-runtime.js.map +1 -1
  202. package/dist/profile/types.d.ts +4 -0
  203. package/dist/profile/types.d.ts.map +1 -1
  204. package/dist/profile/types.js +29 -12
  205. package/dist/profile/types.js.map +1 -1
  206. package/dist/representation/escape-terminal-control-characters.d.ts +9 -0
  207. package/dist/representation/escape-terminal-control-characters.d.ts.map +1 -0
  208. package/dist/representation/escape-terminal-control-characters.js +34 -0
  209. package/dist/representation/escape-terminal-control-characters.js.map +1 -0
  210. package/dist/representation/index.d.ts +1 -0
  211. package/dist/representation/index.d.ts.map +1 -1
  212. package/dist/representation/index.js +1 -0
  213. package/dist/representation/index.js.map +1 -1
  214. package/dist/runtime/types.d.ts +9 -0
  215. package/dist/runtime/types.d.ts.map +1 -1
  216. package/dist/runtime/worker-runtime.d.ts +14 -1
  217. package/dist/runtime/worker-runtime.d.ts.map +1 -1
  218. package/dist/runtime/worker-runtime.js +197 -50
  219. package/dist/runtime/worker-runtime.js.map +1 -1
  220. package/dist/runtime/worker-session.d.ts +2 -1
  221. package/dist/runtime/worker-session.d.ts.map +1 -1
  222. package/dist/runtime/worker-session.js +1 -0
  223. package/dist/runtime/worker-session.js.map +1 -1
  224. package/dist/session/export-session-bundle.d.ts +77 -0
  225. package/dist/session/export-session-bundle.d.ts.map +1 -0
  226. package/dist/session/export-session-bundle.js +640 -0
  227. package/dist/session/export-session-bundle.js.map +1 -0
  228. package/dist/session/index.d.ts +6 -3
  229. package/dist/session/index.d.ts.map +1 -1
  230. package/dist/session/index.js +4 -1
  231. package/dist/session/index.js.map +1 -1
  232. package/dist/session/open-question-control.d.ts +9 -0
  233. package/dist/session/open-question-control.d.ts.map +1 -1
  234. package/dist/session/open-question-control.js +26 -1
  235. package/dist/session/open-question-control.js.map +1 -1
  236. package/dist/session/open-questions-store.d.ts +1 -1
  237. package/dist/session/open-questions-store.d.ts.map +1 -1
  238. package/dist/session/open-questions-store.js +3 -6
  239. package/dist/session/open-questions-store.js.map +1 -1
  240. package/dist/session/persisted-file.d.ts +5 -0
  241. package/dist/session/persisted-file.d.ts.map +1 -0
  242. package/dist/session/persisted-file.js +56 -0
  243. package/dist/session/persisted-file.js.map +1 -0
  244. package/dist/session/session-resume-store.d.ts +79 -10
  245. package/dist/session/session-resume-store.d.ts.map +1 -1
  246. package/dist/session/session-resume-store.js +353 -83
  247. package/dist/session/session-resume-store.js.map +1 -1
  248. package/dist/session/session-snapshot-paths.d.ts +11 -0
  249. package/dist/session/session-snapshot-paths.d.ts.map +1 -0
  250. package/dist/session/session-snapshot-paths.js +41 -0
  251. package/dist/session/session-snapshot-paths.js.map +1 -0
  252. package/dist/session/session-state-store.d.ts +2 -2
  253. package/dist/session/session-state-store.d.ts.map +1 -1
  254. package/dist/session/session-state-store.js +5 -16
  255. package/dist/session/session-state-store.js.map +1 -1
  256. package/dist/session/tool-call-snapshot-history.d.ts +12 -1
  257. package/dist/session/tool-call-snapshot-history.d.ts.map +1 -1
  258. package/dist/session/tool-call-snapshot-history.js +75 -70
  259. package/dist/session/tool-call-snapshot-history.js.map +1 -1
  260. package/dist/session/worker-session-history.d.ts +51 -0
  261. package/dist/session/worker-session-history.d.ts.map +1 -0
  262. package/dist/session/worker-session-history.js +654 -0
  263. package/dist/session/worker-session-history.js.map +1 -0
  264. package/dist/workspace/index.d.ts +1 -1
  265. package/dist/workspace/index.d.ts.map +1 -1
  266. package/dist/worktree/worktree.d.ts +6 -1
  267. package/dist/worktree/worktree.d.ts.map +1 -1
  268. package/dist/worktree/worktree.js +123 -2
  269. package/dist/worktree/worktree.js.map +1 -1
  270. package/package.json +9 -4
@@ -0,0 +1,59 @@
1
+ import { type BuiltinAcpPresetId } from '../acp/resolve-acp-spawn.js';
2
+ export declare const DOCTOR_CONFIG_SETTING_PATHS: {
3
+ readonly 'acp.defaultPreset': readonly ["acp", "defaultPreset"];
4
+ readonly 'session.worktree': readonly ["session", "worktree"];
5
+ readonly 'session.lazyWorkers': readonly ["session", "lazyWorkers"];
6
+ readonly 'github.auth.allowGhAuthTokenFallback': readonly ["github", "auth", "allowGhAuthTokenFallback"];
7
+ };
8
+ export type DoctorConfigSettingKey = keyof typeof DOCTOR_CONFIG_SETTING_PATHS;
9
+ export type DoctorConfigSettingValues = {
10
+ 'acp.defaultPreset': BuiltinAcpPresetId;
11
+ 'session.worktree': 'isolated' | 'in_repo';
12
+ 'session.lazyWorkers': boolean;
13
+ 'github.auth.allowGhAuthTokenFallback': boolean;
14
+ };
15
+ export type DoctorConfigSettingValue = DoctorConfigSettingValues[DoctorConfigSettingKey];
16
+ export type DoctorConfigLayer = 'user' | 'project';
17
+ export type DoctorConfigSettingSource = 'default' | 'user' | 'project' | 'environment';
18
+ export interface DoctorConfigSettingSnapshot {
19
+ key: DoctorConfigSettingKey;
20
+ value: DoctorConfigSettingValue;
21
+ source: DoctorConfigSettingSource;
22
+ }
23
+ export interface DoctorConfigSnapshot {
24
+ projectConfigEnabled: boolean;
25
+ settings: DoctorConfigSettingSnapshot[];
26
+ }
27
+ export interface ReadDoctorConfigOptions {
28
+ repoRoot: string;
29
+ userEnsembleRoot?: string;
30
+ env?: NodeJS.ProcessEnv;
31
+ }
32
+ export interface DoctorConfigWriteProposal {
33
+ key: DoctorConfigSettingKey;
34
+ current: DoctorConfigSettingSnapshot;
35
+ value: DoctorConfigSettingValue;
36
+ target: DoctorConfigLayer;
37
+ path: string;
38
+ }
39
+ export interface WriteDoctorConfigOptions extends ReadDoctorConfigOptions {
40
+ key: DoctorConfigSettingKey;
41
+ value: DoctorConfigSettingValue;
42
+ target: DoctorConfigLayer;
43
+ confirm: (proposal: DoctorConfigWriteProposal) => Promise<boolean>;
44
+ }
45
+ export interface WriteDoctorConfigResult {
46
+ written: boolean;
47
+ key: DoctorConfigSettingKey;
48
+ value: DoctorConfigSettingValue;
49
+ target: DoctorConfigLayer;
50
+ path: string;
51
+ }
52
+ /** Read effective values and origins for the small, secret-free doctor allowlist. */
53
+ export declare function readDoctorConfigSettings(options: ReadDoctorConfigOptions): Promise<DoctorConfigSnapshot>;
54
+ /**
55
+ * Write one allowlisted setting. The caller must obtain explicit operator
56
+ * consent through `confirm`; no arbitrary path or config key is accepted.
57
+ */
58
+ export declare function writeDoctorConfigSetting(options: WriteDoctorConfigOptions): Promise<WriteDoctorConfigResult>;
59
+ //# sourceMappingURL=doctor-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-settings.d.ts","sourceRoot":"","sources":["../../src/config/doctor-settings.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAMrC,eAAO,MAAM,2BAA2B;;;;;CAS9B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,MAAM,OAAO,2BAA2B,CAAC;AAE3C,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sCAAsC,EAAE,OAAO,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAClC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,MAAM,GACN,SAAS,GACT,aAAa,CAAC;AAElB,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,OAAO,EAAE,2BAA2B,CAAC;IACrC,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,wBAAwB,CAAC;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,qFAAqF;AACrF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAwE/B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAqGlC"}
@@ -0,0 +1,343 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { chmod, lstat, mkdir, open, readFile, rename, unlink, } from 'node:fs/promises';
3
+ import { basename, dirname, join, resolve } from 'node:path';
4
+ import { isMap, parseDocument } from 'yaml';
5
+ import { ENSEMBLE_CONFIG_FILE, loadEnsembleConfig, } from './load-ensemble-config.js';
6
+ import { parseEnsembleConfig } from './parse-config.js';
7
+ import { ENSEMBLE_DEFAULT_ACP_CLI_ENV, isBuiltinAcpPresetId, } from '../acp/resolve-acp-spawn.js';
8
+ import { isPathWithinAnyRoot, } from '../conductor/conductor-path-safety.js';
9
+ import { resolveUserEnsembleRoot } from '../resolve-user-ensemble-root.js';
10
+ export const DOCTOR_CONFIG_SETTING_PATHS = {
11
+ 'acp.defaultPreset': ['acp', 'defaultPreset'],
12
+ 'session.worktree': ['session', 'worktree'],
13
+ 'session.lazyWorkers': ['session', 'lazyWorkers'],
14
+ 'github.auth.allowGhAuthTokenFallback': [
15
+ 'github',
16
+ 'auth',
17
+ 'allowGhAuthTokenFallback',
18
+ ],
19
+ };
20
+ const SETTING_KEYS = Object.keys(DOCTOR_CONFIG_SETTING_PATHS);
21
+ /** Read effective values and origins for the small, secret-free doctor allowlist. */
22
+ export async function readDoctorConfigSettings(options) {
23
+ const repoRoot = resolve(options.repoRoot);
24
+ const userRoot = resolveUserEnsembleRoot({
25
+ userEnsembleRoot: options.userEnsembleRoot,
26
+ });
27
+ const userConfigPath = join(userRoot, ENSEMBLE_CONFIG_FILE);
28
+ const projectConfigPath = join(repoRoot, '.ensemble', ENSEMBLE_CONFIG_FILE);
29
+ await assertReadableConfigPaths({
30
+ userConfigPath,
31
+ projectConfigPath,
32
+ });
33
+ let config;
34
+ try {
35
+ config = await loadEnsembleConfig(repoRoot, {
36
+ userEnsembleRoot: userRoot,
37
+ writeStderr: () => { },
38
+ });
39
+ }
40
+ catch {
41
+ throw new Error('Could not resolve Ensemble settings. Check the config syntax; doctor did not display any config values.');
42
+ }
43
+ const userLayer = await readConfigLayer(userConfigPath);
44
+ const projectLayer = config.config.loadProjectConfig
45
+ ? await readConfigLayer(projectConfigPath)
46
+ : {};
47
+ const env = options.env ?? process.env;
48
+ const envPresetValue = env[ENSEMBLE_DEFAULT_ACP_CLI_ENV]?.trim();
49
+ let envPreset;
50
+ if (envPresetValue) {
51
+ if (!isBuiltinAcpPresetId(envPresetValue)) {
52
+ throw new Error(`${ENSEMBLE_DEFAULT_ACP_CLI_ENV} is not a supported worker preset. Allowed values: cursor, claude, codex, pi. Its value was not displayed.`);
53
+ }
54
+ envPreset = envPresetValue;
55
+ }
56
+ const effectiveValues = {
57
+ 'acp.defaultPreset': envPreset
58
+ ? envPreset
59
+ : config.acp.defaultPreset,
60
+ 'session.worktree': config.session.worktree,
61
+ 'session.lazyWorkers': config.session.lazyWorkers,
62
+ 'github.auth.allowGhAuthTokenFallback': config.github.auth.allowGhAuthTokenFallback,
63
+ };
64
+ return {
65
+ projectConfigEnabled: config.config.loadProjectConfig,
66
+ settings: SETTING_KEYS.map((key) => ({
67
+ key,
68
+ value: effectiveValues[key],
69
+ source: settingSource({
70
+ key,
71
+ envPreset,
72
+ userLayer,
73
+ projectLayer,
74
+ projectConfigEnabled: config.config.loadProjectConfig,
75
+ }),
76
+ })),
77
+ };
78
+ }
79
+ /**
80
+ * Write one allowlisted setting. The caller must obtain explicit operator
81
+ * consent through `confirm`; no arbitrary path or config key is accepted.
82
+ */
83
+ export async function writeDoctorConfigSetting(options) {
84
+ assertAllowedSetting(options.key, options.value);
85
+ if (options.target !== 'user' && options.target !== 'project') {
86
+ throw new Error('Unsupported config target; no config was changed.');
87
+ }
88
+ const repoRoot = resolve(options.repoRoot);
89
+ const userRoot = resolveUserEnsembleRoot({
90
+ userEnsembleRoot: options.userEnsembleRoot,
91
+ });
92
+ const userConfigPath = join(userRoot, ENSEMBLE_CONFIG_FILE);
93
+ const projectConfigPath = join(repoRoot, '.ensemble', ENSEMBLE_CONFIG_FILE);
94
+ const targetPath = options.target === 'user' ? userConfigPath : projectConfigPath;
95
+ const snapshot = await readDoctorConfigSettings({
96
+ repoRoot,
97
+ userEnsembleRoot: userRoot,
98
+ env: options.env,
99
+ });
100
+ const current = snapshot.settings.find((setting) => setting.key === options.key);
101
+ if (!current) {
102
+ throw new Error('The requested doctor setting is unavailable.');
103
+ }
104
+ if (options.target === 'project' && !snapshot.projectConfigEnabled) {
105
+ throw new Error('Project config is disabled by the user config; doctor did not write anything.');
106
+ }
107
+ await assertWriteTargetSafe({
108
+ repoRoot,
109
+ target: options.target,
110
+ path: targetPath,
111
+ });
112
+ const accepted = await options.confirm({
113
+ key: options.key,
114
+ current,
115
+ value: options.value,
116
+ target: options.target,
117
+ path: targetPath,
118
+ });
119
+ if (!accepted) {
120
+ return {
121
+ written: false,
122
+ key: options.key,
123
+ value: options.value,
124
+ target: options.target,
125
+ path: targetPath,
126
+ };
127
+ }
128
+ await assertWriteTargetSafe({
129
+ repoRoot,
130
+ target: options.target,
131
+ path: targetPath,
132
+ });
133
+ const document = await readConfigDocument(targetPath);
134
+ const configValue = toRecord(document.toJS());
135
+ for (const segment of DOCTOR_CONFIG_SETTING_PATHS[options.key].slice(0, -1)) {
136
+ const existing = configValue[segment];
137
+ if (existing !== undefined && !isRecord(existing)) {
138
+ throw new Error('The target config has an invalid parent section; doctor did not write anything.');
139
+ }
140
+ }
141
+ try {
142
+ document.setIn(DOCTOR_CONFIG_SETTING_PATHS[options.key], options.value);
143
+ const updatedValue = toRecord(document.toJS());
144
+ // Validate the complete target layer before replacing the file.
145
+ parseEnsembleConfig(updatedValue);
146
+ }
147
+ catch {
148
+ throw new Error('The target config could not be updated safely; doctor did not write anything.');
149
+ }
150
+ await atomicWriteConfig(targetPath, document.toString(), async () => {
151
+ await assertWriteTargetSafe({
152
+ repoRoot,
153
+ target: options.target,
154
+ path: targetPath,
155
+ });
156
+ });
157
+ return {
158
+ written: true,
159
+ key: options.key,
160
+ value: options.value,
161
+ target: options.target,
162
+ path: targetPath,
163
+ };
164
+ }
165
+ function settingSource(options) {
166
+ if (options.key === 'acp.defaultPreset' && options.envPreset) {
167
+ return 'environment';
168
+ }
169
+ if (options.projectConfigEnabled &&
170
+ hasSetting(options.projectLayer, options.key)) {
171
+ return 'project';
172
+ }
173
+ if (hasSetting(options.userLayer, options.key)) {
174
+ return 'user';
175
+ }
176
+ return 'default';
177
+ }
178
+ function hasSetting(layer, key) {
179
+ let value = layer;
180
+ for (const segment of DOCTOR_CONFIG_SETTING_PATHS[key]) {
181
+ if (!isRecord(value) || !Object.hasOwn(value, segment))
182
+ return false;
183
+ value = value[segment];
184
+ }
185
+ switch (key) {
186
+ case 'acp.defaultPreset':
187
+ return typeof value === 'string' && isBuiltinAcpPresetId(value);
188
+ case 'session.worktree':
189
+ return value === 'isolated' || value === 'in_repo' || value === 'in-repo';
190
+ case 'session.lazyWorkers':
191
+ case 'github.auth.allowGhAuthTokenFallback':
192
+ return typeof value === 'boolean';
193
+ }
194
+ return false;
195
+ }
196
+ async function readConfigLayer(path) {
197
+ let raw;
198
+ try {
199
+ raw = await readFile(path, 'utf8');
200
+ }
201
+ catch (error) {
202
+ if (isMissingFile(error))
203
+ return {};
204
+ throw new Error('Could not read the configured Ensemble settings file.');
205
+ }
206
+ try {
207
+ const document = parseDocument(raw);
208
+ if (document.errors.length > 0)
209
+ throw document.errors[0];
210
+ return document.contents ? toRecord(document.toJS()) : {};
211
+ }
212
+ catch {
213
+ throw new Error('Could not parse the configured Ensemble settings file; values were not displayed.');
214
+ }
215
+ }
216
+ async function readConfigDocument(path) {
217
+ let raw = '';
218
+ try {
219
+ raw = await readFile(path, 'utf8');
220
+ }
221
+ catch (error) {
222
+ if (!isMissingFile(error)) {
223
+ throw new Error('Could not read the selected config file.');
224
+ }
225
+ }
226
+ try {
227
+ const document = parseDocument(raw);
228
+ if (document.errors.length > 0)
229
+ throw document.errors[0];
230
+ if (!document.contents) {
231
+ document.contents = document.createNode({});
232
+ }
233
+ if (!isMap(document.contents))
234
+ throw new Error('Expected a config map.');
235
+ toRecord(document.toJS());
236
+ return document;
237
+ }
238
+ catch {
239
+ throw new Error('Could not parse the selected config file; doctor did not overwrite it.');
240
+ }
241
+ }
242
+ async function assertReadableConfigPaths(options) {
243
+ const projectDirectory = dirname(options.projectConfigPath);
244
+ const projectDirectoryDetails = await lstatOrMissing(projectDirectory);
245
+ if (projectDirectoryDetails?.isSymbolicLink()) {
246
+ throw new Error('Project config is inside a symbolic-link directory; doctor will not inspect it.');
247
+ }
248
+ for (const path of [options.userConfigPath, options.projectConfigPath]) {
249
+ const details = await lstatOrMissing(path);
250
+ if (details?.isSymbolicLink()) {
251
+ throw new Error('A config file is a symbolic link; doctor will not inspect it.');
252
+ }
253
+ }
254
+ }
255
+ async function assertWriteTargetSafe(options) {
256
+ if (options.target === 'user') {
257
+ if (await isPathWithinAnyRoot(options.path, [
258
+ options.repoRoot,
259
+ join(options.repoRoot, '.ensemble'),
260
+ ])) {
261
+ throw new Error('User config resolves inside the project; doctor did not write project config.');
262
+ }
263
+ const details = await lstatOrMissing(options.path);
264
+ if (details?.isSymbolicLink()) {
265
+ throw new Error('User config is a symbolic link; doctor did not replace it.');
266
+ }
267
+ return;
268
+ }
269
+ const projectDirectory = dirname(options.path);
270
+ const directoryDetails = await lstatOrMissing(projectDirectory);
271
+ if (directoryDetails?.isSymbolicLink()) {
272
+ throw new Error('Project config directory is a symbolic link; doctor did not write anything.');
273
+ }
274
+ if (directoryDetails && !directoryDetails.isDirectory()) {
275
+ throw new Error('Project config directory is not a directory; doctor did not write anything.');
276
+ }
277
+ const fileDetails = await lstatOrMissing(options.path);
278
+ if (fileDetails?.isSymbolicLink()) {
279
+ throw new Error('Project config is a symbolic link; doctor did not replace it.');
280
+ }
281
+ if (fileDetails && !fileDetails.isFile()) {
282
+ throw new Error('Project config is not a regular file; doctor did not write anything.');
283
+ }
284
+ }
285
+ async function atomicWriteConfig(path, contents, beforeReplace) {
286
+ const directory = dirname(path);
287
+ await mkdir(directory, { recursive: true, mode: 0o700 });
288
+ await beforeReplace();
289
+ const temporaryPath = join(directory, `.${basename(path)}.${randomUUID()}.tmp`);
290
+ let file;
291
+ try {
292
+ file = await open(temporaryPath, 'wx', 0o600);
293
+ await file.writeFile(contents, 'utf8');
294
+ await file.sync();
295
+ await file.close();
296
+ file = undefined;
297
+ await beforeReplace();
298
+ await rename(temporaryPath, path);
299
+ await chmod(path, 0o600);
300
+ }
301
+ catch {
302
+ await file?.close().catch(() => undefined);
303
+ await unlink(temporaryPath).catch(() => undefined);
304
+ throw new Error('Could not save the selected config; no other file was changed.');
305
+ }
306
+ }
307
+ async function lstatOrMissing(path) {
308
+ try {
309
+ return await lstat(path);
310
+ }
311
+ catch (error) {
312
+ if (isMissingFile(error))
313
+ return undefined;
314
+ throw new Error('Could not verify the config path safely.');
315
+ }
316
+ }
317
+ function assertAllowedSetting(key, value) {
318
+ const allowedValues = {
319
+ 'acp.defaultPreset': ['cursor', 'claude', 'codex', 'pi'],
320
+ 'session.worktree': ['isolated', 'in_repo'],
321
+ 'session.lazyWorkers': [true, false],
322
+ 'github.auth.allowGhAuthTokenFallback': [true, false],
323
+ };
324
+ if (!SETTING_KEYS.includes(key) ||
325
+ !allowedValues[key].includes(value)) {
326
+ throw new Error('Unsupported doctor config setting or value; no config was changed.');
327
+ }
328
+ }
329
+ function toRecord(value) {
330
+ if (!isRecord(value))
331
+ throw new Error('Expected a config mapping.');
332
+ return value;
333
+ }
334
+ function isRecord(value) {
335
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
336
+ }
337
+ function isMissingFile(error) {
338
+ return (typeof error === 'object' &&
339
+ error !== null &&
340
+ 'code' in error &&
341
+ error.code === 'ENOENT');
342
+ }
343
+ //# sourceMappingURL=doctor-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-settings.js","sourceRoot":"","sources":["../../src/config/doctor-settings.ts"],"names":[],"mappings":"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"}
@@ -15,12 +15,10 @@ export declare const RESUME_FEASIBILITY_CONFIG_CLASSIFICATION: {
15
15
  readonly 'conductor.pi.agentDir': "neutral";
16
16
  readonly 'conductor.pi.projectDir': "neutral";
17
17
  readonly 'acp.defaultPreset': "critical";
18
+ readonly 'acp.pi.runtime': "critical";
18
19
  readonly 'acp.env': "neutral";
19
20
  readonly 'acp.models': "neutral";
20
- readonly 'acp.tags.high': "neutral";
21
- readonly 'acp.tags.default': "neutral";
22
- readonly 'acp.tags.low': "neutral";
23
- readonly 'acp.tags.fast': "neutral";
21
+ readonly 'acp.tags': "neutral";
24
22
  readonly 'session.worktree': "critical";
25
23
  readonly 'session.lazyWorkers': "neutral";
26
24
  readonly 'session.maxTurns.tty': "neutral";
@@ -1 +1 @@
1
- {"version":3,"file":"ensemble-config-digest.d.ts","sourceRoot":"","sources":["../../src/config/ensemble-config-digest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,qCAAqC,GAAG,UAAU,GAAG,SAAS,CAAC;AAoB3E;;;;GAIG;AACH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCpD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAM1E;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,cAAc,GACrB,MAAM,CAOR"}
1
+ {"version":3,"file":"ensemble-config-digest.d.ts","sourceRoot":"","sources":["../../src/config/ensemble-config-digest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,qCAAqC,GAAG,UAAU,GAAG,SAAS,CAAC;AAoB3E;;;;GAIG;AACH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BpD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAM1E;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,cAAc,GACrB,MAAM,CAOR"}
@@ -14,12 +14,10 @@ export const RESUME_FEASIBILITY_CONFIG_CLASSIFICATION = {
14
14
  'conductor.pi.agentDir': 'neutral',
15
15
  'conductor.pi.projectDir': 'neutral',
16
16
  'acp.defaultPreset': 'critical',
17
+ 'acp.pi.runtime': 'critical',
17
18
  'acp.env': 'neutral',
18
19
  'acp.models': 'neutral',
19
- 'acp.tags.high': 'neutral',
20
- 'acp.tags.default': 'neutral',
21
- 'acp.tags.low': 'neutral',
22
- 'acp.tags.fast': 'neutral',
20
+ 'acp.tags': 'neutral',
23
21
  'session.worktree': 'critical',
24
22
  'session.lazyWorkers': 'neutral',
25
23
  'session.maxTurns.tty': 'neutral',
@@ -1 +1 @@
1
- {"version":3,"file":"ensemble-config-digest.js","sourceRoot":"","sources":["../../src/config/ensemble-config-digest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensemble-config-digest.js","sourceRoot":"","sources":["../../src/config/ensemble-config-digest.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ export { DEFAULT_CONDUCTOR_BACKEND, DEFAULT_ENSEMBLE_CONFIG, DEFAULT_SESSION_MAX
2
2
  export { deepMerge } from './deep-merge.js';
3
3
  export { ENSEMBLE_CONFIG_FILE, loadEnsembleConfig, } from './load-ensemble-config.js';
4
4
  export type { LoadEnsembleConfigOptions } from './load-ensemble-config.js';
5
+ export { DOCTOR_CONFIG_SETTING_PATHS, readDoctorConfigSettings, writeDoctorConfigSetting, } from './doctor-settings.js';
6
+ export type { DoctorConfigLayer, DoctorConfigSettingKey, DoctorConfigSettingSnapshot, DoctorConfigSettingSource, DoctorConfigSettingValue, DoctorConfigSettingValues, DoctorConfigSnapshot, DoctorConfigWriteProposal, ReadDoctorConfigOptions, WriteDoctorConfigOptions, WriteDoctorConfigResult, } from './doctor-settings.js';
5
7
  export { parseEnsembleConfig } from './parse-config.js';
6
8
  export { resolveBooleanSetting, resolveConductorBackendSetting, resolveConductorPiResourcePaths, resolveConductorModelSetting, resolveConductorReasoningSetting, resolveConductorVerboseSetting, resolveDefaultAcpPresetSetting, CONDUCTOR_MODEL_ID_ENV, CONDUCTOR_REASONING_ENV, CONDUCTOR_VERBOSE_ENV, ENSEMBLE_DEFAULT_PROFILE_ENV, FORCE_HYPERLINK_ENV, resolveForceHyperlinkSetting, resolveGitHubMonitorActivePollIntervalMs, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveGitHubMonitorPollIntervalMs, resolveGitHubMonitorStopPollWaitMs, resolveNumberSetting, resolveProfileDefaultRef, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, resolveStringSetting, TUI_LAYOUT_ENV, resolveTuiLayoutSetting, } from './resolve-settings.js';
7
9
  export type { ResolveBooleanSettingOptions, ResolveNumberSettingOptions, ResolveStringSettingOptions, } from './resolve-settings.js';
8
- export type { EnsembleConfigControlConfig, EnsembleAcpConfig, AcpModelCatalogEntry, AcpModelCatalogLayerEntry, AcpModelDefinition, AcpModelTag, ConductorBackend, EnsembleConductorConfig, EnsembleConductorPiConfig, EnsembleConfig, EnsembleConfigLayer, EnsembleGitHubAuthConfig, EnsembleGitHubConfig, EnsembleGitHubMonitorConfig, EnsembleProfileConfig, EnsembleSessionConfig, EnsembleSessionMaxTurnsConfig, EnsembleSessionPostLoopConfig, EnsembleTuiConfig, TuiForceHyperlinkMode, TuiLayoutMode, } from './types.js';
10
+ export type { EnsembleConfigControlConfig, EnsembleAcpConfig, AcpModelCatalogEntry, AcpModelCatalogLayerEntry, AcpModelDefinition, AcpModelTag, BuiltinAcpModelTag, ConductorBackend, EnsembleConductorConfig, EnsembleConductorPiConfig, EnsembleConfig, EnsembleConfigLayer, EnsembleGitHubAuthConfig, EnsembleGitHubConfig, EnsembleGitHubMonitorConfig, EnsembleProfileConfig, EnsembleSessionConfig, EnsembleSessionMaxTurnsConfig, EnsembleSessionPostLoopConfig, EnsembleTuiConfig, TuiForceHyperlinkMode, TuiLayoutMode, } from './types.js';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,wCAAwC,EACxC,8BAA8B,EAC9B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,wCAAwC,EACxC,8BAA8B,EAC9B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { DEFAULT_CONDUCTOR_BACKEND, DEFAULT_ENSEMBLE_CONFIG, DEFAULT_SESSION_MAX_TURNS_NON_TTY, } from './defaults.js';
2
2
  export { deepMerge } from './deep-merge.js';
3
3
  export { ENSEMBLE_CONFIG_FILE, loadEnsembleConfig, } from './load-ensemble-config.js';
4
+ export { DOCTOR_CONFIG_SETTING_PATHS, readDoctorConfigSettings, writeDoctorConfigSetting, } from './doctor-settings.js';
4
5
  export { parseEnsembleConfig } from './parse-config.js';
5
6
  export { resolveBooleanSetting, resolveConductorBackendSetting, resolveConductorPiResourcePaths, resolveConductorModelSetting, resolveConductorReasoningSetting, resolveConductorVerboseSetting, resolveDefaultAcpPresetSetting, CONDUCTOR_MODEL_ID_ENV, CONDUCTOR_REASONING_ENV, CONDUCTOR_VERBOSE_ENV, ENSEMBLE_DEFAULT_PROFILE_ENV, FORCE_HYPERLINK_ENV, resolveForceHyperlinkSetting, resolveGitHubMonitorActivePollIntervalMs, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveGitHubMonitorPollIntervalMs, resolveGitHubMonitorStopPollWaitMs, resolveNumberSetting, resolveProfileDefaultRef, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, resolveStringSetting, TUI_LAYOUT_ENV, resolveTuiLayoutSetting, } from './resolve-settings.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,wCAAwC,EACxC,8BAA8B,EAC9B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAc9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,wCAAwC,EACxC,8BAA8B,EAC9B,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-ensemble-config.d.ts","sourceRoot":"","sources":["../../src/config/load-ensemble-config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAqED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
1
+ {"version":3,"file":"load-ensemble-config.d.ts","sourceRoot":"","sources":["../../src/config/load-ensemble-config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAqED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CA2CzB"}
@@ -95,6 +95,13 @@ export async function loadEnsembleConfig(repoRoot, options = {}) {
95
95
  }
96
96
  }
97
97
  assertCompleteModels(merged);
98
- return merged;
98
+ const resolved = merged;
99
+ // The default BYO runtime is represented by omission so pre-existing
100
+ // resolved-config digests remain stable. Keep explicit BYO values through
101
+ // layer merging above so they can override a lower layer's builtin choice.
102
+ if (resolved.acp.pi?.runtime === 'byo') {
103
+ delete resolved.acp.pi;
104
+ }
105
+ return resolved;
99
106
  }
100
107
  //# sourceMappingURL=load-ensemble-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-ensemble-config.js","sourceRoot":"","sources":["../../src/config/load-ensemble-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAWlD,SAAS,cAAc,CAAC,OAAkC;IACxD,MAAM,IAAI,GAAG,uBAAuB,CAAC;QACnC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,QAAQ,GACZ,IAAI,KAAK,GAAG;QACV,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC;IACb,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAQD,SAAS,gBAAgB,CACvB,IAAkB,EAClB,KAA0B;IAE1B,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACnC,IAAI,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CACd,IAA0C,EAC1C,KAA2C,CACjB,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAoB;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,mDAAmD,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,UAAqC,EAAE;IAEvC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,MAAM,GAAiB,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEpE,MAAM,YAAY,GAChB,OAAO,CAAC,UAAU,KAAK,SAAS;QAC9B,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,gBAAgB,GAAG,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,4CAA4C,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACrC,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACrD,yDAAyD;YACzD,6CAA6C;YAC7C,OAAO,YAAY,CAAC,MAAM,CAAC;YAC3B,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAChD,WAAW,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"load-ensemble-config.js","sourceRoot":"","sources":["../../src/config/load-ensemble-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-config.d.ts","sourceRoot":"","sources":["../../src/config/parse-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAOV,mBAAmB,EAYpB,MAAM,YAAY,CAAC;AAkWpB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CA4CrE"}
1
+ {"version":3,"file":"parse-config.d.ts","sourceRoot":"","sources":["../../src/config/parse-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAQV,mBAAmB,EAYpB,MAAM,YAAY,CAAC;AA+XpB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CA4CrE"}