@with-logic/elwood 0.1.0 → 0.1.2

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 (777) hide show
  1. package/CHANGELOG.md +182 -3
  2. package/CONTRIBUTING.md +104 -0
  3. package/LICENSE +1 -1
  4. package/README.md +295 -26
  5. package/SECURITY.md +42 -0
  6. package/dist/claude/command.d.ts +9 -2
  7. package/dist/claude/command.d.ts.map +1 -1
  8. package/dist/claude/command.js +23 -16
  9. package/dist/claude/command.js.map +1 -1
  10. package/dist/claude/model-picker.d.ts.map +1 -1
  11. package/dist/claude/model-picker.js +4 -3
  12. package/dist/claude/model-picker.js.map +1 -1
  13. package/dist/claude/model-switch-confirmation.js +9 -1
  14. package/dist/claude/model-switch-confirmation.js.map +1 -1
  15. package/dist/claude/screen-table.js +1 -1
  16. package/dist/claude/screen-table.js.map +1 -1
  17. package/dist/claude/session/build.d.ts.map +1 -1
  18. package/dist/claude/session/build.js +3 -0
  19. package/dist/claude/session/build.js.map +1 -1
  20. package/dist/claude/session/index.d.ts.map +1 -1
  21. package/dist/claude/session/index.js +5 -2
  22. package/dist/claude/session/index.js.map +1 -1
  23. package/dist/claude/session/resume.d.ts +1 -1
  24. package/dist/claude/session/resume.d.ts.map +1 -1
  25. package/dist/claude/session/resume.js +5 -1
  26. package/dist/claude/session/resume.js.map +1 -1
  27. package/dist/claude/session/start-or-resume.js +1 -0
  28. package/dist/claude/session/start-or-resume.js.map +1 -1
  29. package/dist/claude/simple.d.ts.map +1 -1
  30. package/dist/claude/simple.js +4 -0
  31. package/dist/claude/simple.js.map +1 -1
  32. package/dist/cli/args/index.d.ts +3 -1
  33. package/dist/cli/args/index.d.ts.map +1 -1
  34. package/dist/cli/args/index.js +10 -2
  35. package/dist/cli/args/index.js.map +1 -1
  36. package/dist/cli/args/options.d.ts.map +1 -1
  37. package/dist/cli/args/options.js +2 -0
  38. package/dist/cli/args/options.js.map +1 -1
  39. package/dist/cli/args-commands.d.ts +10 -0
  40. package/dist/cli/args-commands.d.ts.map +1 -0
  41. package/dist/cli/args-commands.js +113 -0
  42. package/dist/cli/args-commands.js.map +1 -0
  43. package/dist/cli/command-types.d.ts +26 -0
  44. package/dist/cli/command-types.d.ts.map +1 -0
  45. package/dist/cli/command-types.js +9 -0
  46. package/dist/cli/command-types.js.map +1 -0
  47. package/dist/cli/config/codec-primitives.d.ts +20 -0
  48. package/dist/cli/config/codec-primitives.d.ts.map +1 -0
  49. package/dist/cli/config/codec-primitives.js +51 -0
  50. package/dist/cli/config/codec-primitives.js.map +1 -0
  51. package/dist/cli/config/codec.d.ts.map +1 -1
  52. package/dist/cli/config/codec.js +4 -46
  53. package/dist/cli/config/codec.js.map +1 -1
  54. package/dist/cli/config/effective.d.ts.map +1 -1
  55. package/dist/cli/config/effective.js +1 -0
  56. package/dist/cli/config/effective.js.map +1 -1
  57. package/dist/cli/config/keys.d.ts +1 -1
  58. package/dist/cli/config/keys.d.ts.map +1 -1
  59. package/dist/cli/config/keys.js +1 -0
  60. package/dist/cli/config/keys.js.map +1 -1
  61. package/dist/cli/entry.d.ts +4 -2
  62. package/dist/cli/entry.d.ts.map +1 -1
  63. package/dist/cli/entry.js +2 -1
  64. package/dist/cli/entry.js.map +1 -1
  65. package/dist/cli/help.d.ts +2 -2
  66. package/dist/cli/help.d.ts.map +1 -1
  67. package/dist/cli/help.js +40 -1
  68. package/dist/cli/help.js.map +1 -1
  69. package/dist/cli/interactive/index.d.ts +26 -0
  70. package/dist/cli/interactive/index.d.ts.map +1 -0
  71. package/dist/cli/interactive/index.js +33 -0
  72. package/dist/cli/interactive/index.js.map +1 -0
  73. package/dist/cli/interactive/launch.d.ts +14 -0
  74. package/dist/cli/interactive/launch.d.ts.map +1 -0
  75. package/dist/cli/interactive/launch.js +66 -0
  76. package/dist/cli/interactive/launch.js.map +1 -0
  77. package/dist/cli/interactive/spawn.d.ts +18 -0
  78. package/dist/cli/interactive/spawn.d.ts.map +1 -0
  79. package/dist/cli/interactive/spawn.js +53 -0
  80. package/dist/cli/interactive/spawn.js.map +1 -0
  81. package/dist/cli/main-failure.d.ts +28 -0
  82. package/dist/cli/main-failure.d.ts.map +1 -0
  83. package/dist/cli/main-failure.js +78 -0
  84. package/dist/cli/main-failure.js.map +1 -0
  85. package/dist/cli/main.d.ts +12 -4
  86. package/dist/cli/main.d.ts.map +1 -1
  87. package/dist/cli/main.js +27 -73
  88. package/dist/cli/main.js.map +1 -1
  89. package/dist/cli/models/index.d.ts +20 -0
  90. package/dist/cli/models/index.d.ts.map +1 -0
  91. package/dist/cli/models/index.js +63 -0
  92. package/dist/cli/models/index.js.map +1 -0
  93. package/dist/cli/models/render.d.ts +9 -0
  94. package/dist/cli/models/render.d.ts.map +1 -0
  95. package/dist/cli/models/render.js +33 -0
  96. package/dist/cli/models/render.js.map +1 -0
  97. package/dist/cli/request/index.d.ts.map +1 -1
  98. package/dist/cli/request/index.js +8 -2
  99. package/dist/cli/request/index.js.map +1 -1
  100. package/dist/cli/request/layers.d.ts +2 -0
  101. package/dist/cli/request/layers.d.ts.map +1 -1
  102. package/dist/cli/request/layers.js +9 -5
  103. package/dist/cli/request/layers.js.map +1 -1
  104. package/dist/cli/request/posture.d.ts +28 -0
  105. package/dist/cli/request/posture.d.ts.map +1 -0
  106. package/dist/cli/request/posture.js +70 -0
  107. package/dist/cli/request/posture.js.map +1 -0
  108. package/dist/cli/request/resolution-types.d.ts +1 -0
  109. package/dist/cli/request/resolution-types.d.ts.map +1 -1
  110. package/dist/cli/request/settings.d.ts +2 -12
  111. package/dist/cli/request/settings.d.ts.map +1 -1
  112. package/dist/cli/request/settings.js +2 -25
  113. package/dist/cli/request/settings.js.map +1 -1
  114. package/dist/cli/request/validation.d.ts +12 -0
  115. package/dist/cli/request/validation.d.ts.map +1 -1
  116. package/dist/cli/request/validation.js +30 -10
  117. package/dist/cli/request/validation.js.map +1 -1
  118. package/dist/cli/request/values.d.ts +1 -0
  119. package/dist/cli/request/values.d.ts.map +1 -1
  120. package/dist/cli/request/values.js +1 -0
  121. package/dist/cli/request/values.js.map +1 -1
  122. package/dist/cli/run/index.d.ts.map +1 -1
  123. package/dist/cli/run/index.js +5 -41
  124. package/dist/cli/run/index.js.map +1 -1
  125. package/dist/cli/run/subscribe.d.ts +19 -0
  126. package/dist/cli/run/subscribe.d.ts.map +1 -0
  127. package/dist/cli/run/subscribe.js +47 -0
  128. package/dist/cli/run/subscribe.js.map +1 -0
  129. package/dist/cli/session/launch.d.ts +3 -0
  130. package/dist/cli/session/launch.d.ts.map +1 -1
  131. package/dist/cli/session/launch.js +11 -0
  132. package/dist/cli/session/launch.js.map +1 -1
  133. package/dist/cli/sessions/index.d.ts +30 -0
  134. package/dist/cli/sessions/index.d.ts.map +1 -0
  135. package/dist/cli/sessions/index.js +61 -0
  136. package/dist/cli/sessions/index.js.map +1 -0
  137. package/dist/cli/sessions/list.d.ts +28 -0
  138. package/dist/cli/sessions/list.d.ts.map +1 -0
  139. package/dist/cli/sessions/list.js +63 -0
  140. package/dist/cli/sessions/list.js.map +1 -0
  141. package/dist/cli/sessions/settings.d.ts +11 -0
  142. package/dist/cli/sessions/settings.d.ts.map +1 -0
  143. package/dist/cli/sessions/settings.js +26 -0
  144. package/dist/cli/sessions/settings.js.map +1 -0
  145. package/dist/cli/table.d.ts +7 -0
  146. package/dist/cli/table.d.ts.map +1 -0
  147. package/dist/cli/table.js +14 -0
  148. package/dist/cli/table.js.map +1 -0
  149. package/dist/cli/types.d.ts +5 -1
  150. package/dist/cli/types.d.ts.map +1 -1
  151. package/dist/cli/types.js.map +1 -1
  152. package/dist/codex/command.d.ts +18 -2
  153. package/dist/codex/command.d.ts.map +1 -1
  154. package/dist/codex/command.js +39 -24
  155. package/dist/codex/command.js.map +1 -1
  156. package/dist/codex/model-picker.d.ts.map +1 -1
  157. package/dist/codex/model-picker.js +3 -2
  158. package/dist/codex/model-picker.js.map +1 -1
  159. package/dist/codex/session/build.d.ts.map +1 -1
  160. package/dist/codex/session/build.js +5 -7
  161. package/dist/codex/session/build.js.map +1 -1
  162. package/dist/codex/session/index.d.ts.map +1 -1
  163. package/dist/codex/session/index.js +5 -2
  164. package/dist/codex/session/index.js.map +1 -1
  165. package/dist/codex/session/resume.d.ts +1 -1
  166. package/dist/codex/session/resume.d.ts.map +1 -1
  167. package/dist/codex/session/resume.js +5 -1
  168. package/dist/codex/session/resume.js.map +1 -1
  169. package/dist/codex/session/start-or-resume.js +1 -0
  170. package/dist/codex/session/start-or-resume.js.map +1 -1
  171. package/dist/codex/session/types.d.ts +3 -0
  172. package/dist/codex/session/types.d.ts.map +1 -1
  173. package/dist/codex/simple.d.ts.map +1 -1
  174. package/dist/codex/simple.js +4 -0
  175. package/dist/codex/simple.js.map +1 -1
  176. package/dist/core/errors.d.ts +1 -1
  177. package/dist/core/errors.d.ts.map +1 -1
  178. package/dist/core/errors.js.map +1 -1
  179. package/dist/core/high-trust.d.ts +41 -0
  180. package/dist/core/high-trust.d.ts.map +1 -0
  181. package/dist/core/high-trust.js +50 -0
  182. package/dist/core/high-trust.js.map +1 -0
  183. package/dist/core/input/index.d.ts.map +1 -1
  184. package/dist/core/input/index.js +15 -3
  185. package/dist/core/input/index.js.map +1 -1
  186. package/dist/core/models/input.d.ts +3 -0
  187. package/dist/core/models/input.d.ts.map +1 -0
  188. package/dist/core/models/input.js +9 -0
  189. package/dist/core/models/input.js.map +1 -0
  190. package/dist/core/models/picker.d.ts +2 -1
  191. package/dist/core/models/picker.d.ts.map +1 -1
  192. package/dist/core/models/picker.js +6 -5
  193. package/dist/core/models/picker.js.map +1 -1
  194. package/dist/core/models/tui-screen.d.ts +1 -1
  195. package/dist/core/models/tui-screen.d.ts.map +1 -1
  196. package/dist/core/models/tui-screen.js +26 -3
  197. package/dist/core/models/tui-screen.js.map +1 -1
  198. package/dist/core/trust/allowlist.d.ts +56 -0
  199. package/dist/core/trust/allowlist.d.ts.map +1 -0
  200. package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
  201. package/dist/core/trust/allowlist.js.map +1 -0
  202. package/dist/core/trust/prompts.d.ts +4 -46
  203. package/dist/core/trust/prompts.d.ts.map +1 -1
  204. package/dist/core/trust/prompts.js +2 -73
  205. package/dist/core/trust/prompts.js.map +1 -1
  206. package/dist/core/trust/responder.d.ts +2 -0
  207. package/dist/core/trust/responder.d.ts.map +1 -1
  208. package/dist/core/trust/responder.js +4 -0
  209. package/dist/core/trust/responder.js.map +1 -1
  210. package/dist/core/types.d.ts +3 -0
  211. package/dist/core/types.d.ts.map +1 -1
  212. package/dist/runtime/launch-arguments.d.ts +12 -0
  213. package/dist/runtime/launch-arguments.d.ts.map +1 -0
  214. package/dist/runtime/launch-arguments.js +15 -0
  215. package/dist/runtime/launch-arguments.js.map +1 -0
  216. package/dist/runtime/session/base.d.ts.map +1 -1
  217. package/dist/runtime/session/base.js +4 -1
  218. package/dist/runtime/session/base.js.map +1 -1
  219. package/dist/runtime/session/commands.d.ts +2 -1
  220. package/dist/runtime/session/commands.d.ts.map +1 -1
  221. package/dist/runtime/session/commands.js +10 -4
  222. package/dist/runtime/session/commands.js.map +1 -1
  223. package/dist/runtime/session/lifecycle.d.ts +3 -4
  224. package/dist/runtime/session/lifecycle.d.ts.map +1 -1
  225. package/dist/runtime/session/lifecycle.js +6 -5
  226. package/dist/runtime/session/lifecycle.js.map +1 -1
  227. package/dist/state/directories.d.ts +4 -0
  228. package/dist/state/directories.d.ts.map +1 -0
  229. package/dist/state/directories.js +41 -0
  230. package/dist/state/directories.js.map +1 -0
  231. package/dist/state/files.d.ts.map +1 -1
  232. package/dist/state/files.js +25 -11
  233. package/dist/state/files.js.map +1 -1
  234. package/dist/state/private-session.d.ts.map +1 -1
  235. package/dist/state/private-session.js +2 -0
  236. package/dist/state/private-session.js.map +1 -1
  237. package/dist/state/store.d.ts.map +1 -1
  238. package/dist/state/store.js +7 -1
  239. package/dist/state/store.js.map +1 -1
  240. package/docs/cli-behavior.md +89 -1
  241. package/docs/cli-output.md +60 -0
  242. package/docs/cli.md +10 -2
  243. package/docs/codex/cli.md +57 -0
  244. package/docs/codex/config.md +47 -0
  245. package/docs/codex/hooks.md +70 -0
  246. package/examples/README.md +56 -0
  247. package/examples/full.ts +113 -0
  248. package/examples/minimal.ts +15 -0
  249. package/examples/stream.ts +39 -0
  250. package/examples/support.ts +71 -0
  251. package/package.json +17 -10
  252. package/prd/01-overview.md +21 -0
  253. package/prd/02-goals.md +47 -0
  254. package/prd/03-terminology.md +32 -0
  255. package/prd/04-architecture.md +121 -0
  256. package/prd/05-api/5.1-starting-claude.md +108 -0
  257. package/prd/05-api/5.2-resuming-claude.md +86 -0
  258. package/prd/05-api/5.3-claude-session-api.md +658 -0
  259. package/prd/05-api/5.4-events.md +145 -0
  260. package/prd/05-api/5.5-starting-codex.md +106 -0
  261. package/prd/05-api/5.6-resuming-codex.md +48 -0
  262. package/prd/05-api/5.7-codex-session-api.md +425 -0
  263. package/prd/05-api/5.8-session-api.md +122 -0
  264. package/prd/05-api/5.9-loops.md +170 -0
  265. package/prd/05-api/README.md +19 -0
  266. package/prd/06-claude-hook-bridge.md +164 -0
  267. package/prd/07-claude-policy.md +15 -0
  268. package/prd/07a-codex-hook-bridge.md +76 -0
  269. package/prd/08-state.md +127 -0
  270. package/prd/09-lifecycle.md +222 -0
  271. package/prd/10-errors.md +55 -0
  272. package/prd/11-test-app.md +53 -0
  273. package/prd/12-e2e.md +23 -0
  274. package/prd/12a-cli.md +375 -0
  275. package/prd/13-latitude.md +12 -0
  276. package/prd/14-conformance.md +333 -0
  277. package/prd/15-open-notes.md +8 -0
  278. package/prd/README.md +45 -0
  279. package/dist/claude/hook-dispatch.d.ts +0 -9
  280. package/dist/claude/hook-dispatch.d.ts.map +0 -1
  281. package/dist/claude/hook-dispatch.js +0 -12
  282. package/dist/claude/hook-dispatch.js.map +0 -1
  283. package/dist/claude/hook-events-extra.d.ts +0 -81
  284. package/dist/claude/hook-events-extra.d.ts.map +0 -1
  285. package/dist/claude/hook-events-extra.js +0 -6
  286. package/dist/claude/hook-events-extra.js.map +0 -1
  287. package/dist/claude/hook-events.d.ts +0 -101
  288. package/dist/claude/hook-events.d.ts.map +0 -1
  289. package/dist/claude/hook-events.js +0 -6
  290. package/dist/claude/hook-events.js.map +0 -1
  291. package/dist/claude/hook-names.d.ts +0 -24
  292. package/dist/claude/hook-names.d.ts.map +0 -1
  293. package/dist/claude/hook-names.js +0 -45
  294. package/dist/claude/hook-names.js.map +0 -1
  295. package/dist/claude/hooks.d.ts +0 -78
  296. package/dist/claude/hooks.d.ts.map +0 -1
  297. package/dist/claude/hooks.js +0 -6
  298. package/dist/claude/hooks.js.map +0 -1
  299. package/dist/claude/session-bridge.d.ts +0 -11
  300. package/dist/claude/session-bridge.d.ts.map +0 -1
  301. package/dist/claude/session-bridge.js +0 -18
  302. package/dist/claude/session-bridge.js.map +0 -1
  303. package/dist/claude/session-build.d.ts +0 -15
  304. package/dist/claude/session-build.d.ts.map +0 -1
  305. package/dist/claude/session-build.js +0 -147
  306. package/dist/claude/session-build.js.map +0 -1
  307. package/dist/claude/session-hook-handler.d.ts +0 -34
  308. package/dist/claude/session-hook-handler.d.ts.map +0 -1
  309. package/dist/claude/session-hook-handler.js +0 -42
  310. package/dist/claude/session-hook-handler.js.map +0 -1
  311. package/dist/claude/session-instance.d.ts +0 -42
  312. package/dist/claude/session-instance.d.ts.map +0 -1
  313. package/dist/claude/session-instance.js +0 -146
  314. package/dist/claude/session-instance.js.map +0 -1
  315. package/dist/claude/session-interface.d.ts +0 -49
  316. package/dist/claude/session-interface.d.ts.map +0 -1
  317. package/dist/claude/session-interface.js +0 -10
  318. package/dist/claude/session-interface.js.map +0 -1
  319. package/dist/claude/session-resume.d.ts +0 -8
  320. package/dist/claude/session-resume.d.ts.map +0 -1
  321. package/dist/claude/session-resume.js +0 -47
  322. package/dist/claude/session-resume.js.map +0 -1
  323. package/dist/claude/session-runtime.d.ts +0 -43
  324. package/dist/claude/session-runtime.d.ts.map +0 -1
  325. package/dist/claude/session-runtime.js +0 -105
  326. package/dist/claude/session-runtime.js.map +0 -1
  327. package/dist/claude/session-transcript.d.ts +0 -62
  328. package/dist/claude/session-transcript.d.ts.map +0 -1
  329. package/dist/claude/session-transcript.js +0 -88
  330. package/dist/claude/session-transcript.js.map +0 -1
  331. package/dist/claude/session.d.ts +0 -18
  332. package/dist/claude/session.d.ts.map +0 -1
  333. package/dist/claude/session.js +0 -58
  334. package/dist/claude/session.js.map +0 -1
  335. package/dist/claude/start-or-resume.d.ts +0 -12
  336. package/dist/claude/start-or-resume.d.ts.map +0 -1
  337. package/dist/claude/start-or-resume.js +0 -32
  338. package/dist/claude/start-or-resume.js.map +0 -1
  339. package/dist/claude/tool-hook-events.d.ts +0 -10
  340. package/dist/claude/tool-hook-events.d.ts.map +0 -1
  341. package/dist/claude/tool-hook-events.js +0 -18
  342. package/dist/claude/tool-hook-events.js.map +0 -1
  343. package/dist/claude/tool-types.d.ts +0 -158
  344. package/dist/claude/tool-types.d.ts.map +0 -1
  345. package/dist/claude/tool-types.js +0 -6
  346. package/dist/claude/tool-types.js.map +0 -1
  347. package/dist/claude/validate-input.d.ts +0 -8
  348. package/dist/claude/validate-input.d.ts.map +0 -1
  349. package/dist/claude/validate-input.js +0 -137
  350. package/dist/claude/validate-input.js.map +0 -1
  351. package/dist/claude/validate-permission-update.d.ts +0 -10
  352. package/dist/claude/validate-permission-update.d.ts.map +0 -1
  353. package/dist/claude/validate-permission-update.js +0 -72
  354. package/dist/claude/validate-permission-update.js.map +0 -1
  355. package/dist/claude/validate-result.d.ts +0 -7
  356. package/dist/claude/validate-result.d.ts.map +0 -1
  357. package/dist/claude/validate-result.js +0 -118
  358. package/dist/claude/validate-result.js.map +0 -1
  359. package/dist/claude/validate-shapes.d.ts +0 -22
  360. package/dist/claude/validate-shapes.d.ts.map +0 -1
  361. package/dist/claude/validate-shapes.js +0 -15
  362. package/dist/claude/validate-shapes.js.map +0 -1
  363. package/dist/claude/validate-tool-update.d.ts +0 -15
  364. package/dist/claude/validate-tool-update.d.ts.map +0 -1
  365. package/dist/claude/validate-tool-update.js +0 -122
  366. package/dist/claude/validate-tool-update.js.map +0 -1
  367. package/dist/cli/agent-detect.d.ts +0 -44
  368. package/dist/cli/agent-detect.d.ts.map +0 -1
  369. package/dist/cli/agent-detect.js +0 -66
  370. package/dist/cli/agent-detect.js.map +0 -1
  371. package/dist/cli/arg-errors.d.ts +0 -6
  372. package/dist/cli/arg-errors.d.ts.map +0 -1
  373. package/dist/cli/arg-errors.js +0 -44
  374. package/dist/cli/arg-errors.js.map +0 -1
  375. package/dist/cli/arg-options.d.ts +0 -26
  376. package/dist/cli/arg-options.d.ts.map +0 -1
  377. package/dist/cli/arg-options.js +0 -50
  378. package/dist/cli/arg-options.js.map +0 -1
  379. package/dist/cli/args.d.ts +0 -7
  380. package/dist/cli/args.d.ts.map +0 -1
  381. package/dist/cli/args.js +0 -70
  382. package/dist/cli/args.js.map +0 -1
  383. package/dist/cli/lifecycle-outcome.d.ts +0 -13
  384. package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
  385. package/dist/cli/lifecycle-outcome.js +0 -20
  386. package/dist/cli/lifecycle-outcome.js.map +0 -1
  387. package/dist/cli/lifecycle.d.ts +0 -61
  388. package/dist/cli/lifecycle.d.ts.map +0 -1
  389. package/dist/cli/lifecycle.js +0 -152
  390. package/dist/cli/lifecycle.js.map +0 -1
  391. package/dist/cli/request-finalize.d.ts +0 -10
  392. package/dist/cli/request-finalize.d.ts.map +0 -1
  393. package/dist/cli/request-finalize.js +0 -135
  394. package/dist/cli/request-finalize.js.map +0 -1
  395. package/dist/cli/request-layers.d.ts +0 -30
  396. package/dist/cli/request-layers.d.ts.map +0 -1
  397. package/dist/cli/request-layers.js +0 -44
  398. package/dist/cli/request-layers.js.map +0 -1
  399. package/dist/cli/request-settings.d.ts +0 -34
  400. package/dist/cli/request-settings.d.ts.map +0 -1
  401. package/dist/cli/request-settings.js +0 -66
  402. package/dist/cli/request-settings.js.map +0 -1
  403. package/dist/cli/request-sources.d.ts +0 -13
  404. package/dist/cli/request-sources.d.ts.map +0 -1
  405. package/dist/cli/request-sources.js +0 -23
  406. package/dist/cli/request-sources.js.map +0 -1
  407. package/dist/cli/request-validation.d.ts +0 -18
  408. package/dist/cli/request-validation.d.ts.map +0 -1
  409. package/dist/cli/request-validation.js +0 -84
  410. package/dist/cli/request-validation.js.map +0 -1
  411. package/dist/cli/request-values.d.ts +0 -33
  412. package/dist/cli/request-values.d.ts.map +0 -1
  413. package/dist/cli/request-values.js +0 -73
  414. package/dist/cli/request-values.js.map +0 -1
  415. package/dist/cli/request.d.ts +0 -12
  416. package/dist/cli/request.d.ts.map +0 -1
  417. package/dist/cli/request.js +0 -103
  418. package/dist/cli/request.js.map +0 -1
  419. package/dist/cli/resolution-types.d.ts +0 -35
  420. package/dist/cli/resolution-types.d.ts.map +0 -1
  421. package/dist/cli/resolution-types.js +0 -6
  422. package/dist/cli/resolution-types.js.map +0 -1
  423. package/dist/cli/run-output-lines.d.ts +0 -14
  424. package/dist/cli/run-output-lines.d.ts.map +0 -1
  425. package/dist/cli/run-output-lines.js +0 -42
  426. package/dist/cli/run-output-lines.js.map +0 -1
  427. package/dist/cli/run-output.d.ts +0 -48
  428. package/dist/cli/run-output.d.ts.map +0 -1
  429. package/dist/cli/run-output.js +0 -150
  430. package/dist/cli/run-output.js.map +0 -1
  431. package/dist/cli/run.d.ts +0 -20
  432. package/dist/cli/run.d.ts.map +0 -1
  433. package/dist/cli/run.js +0 -126
  434. package/dist/cli/run.js.map +0 -1
  435. package/dist/cli/session-launch.d.ts +0 -23
  436. package/dist/cli/session-launch.d.ts.map +0 -1
  437. package/dist/cli/session-launch.js +0 -57
  438. package/dist/cli/session-launch.js.map +0 -1
  439. package/dist/cli/session.d.ts +0 -68
  440. package/dist/cli/session.d.ts.map +0 -1
  441. package/dist/cli/session.js +0 -124
  442. package/dist/cli/session.js.map +0 -1
  443. package/dist/codex/attach-images.d.ts +0 -20
  444. package/dist/codex/attach-images.d.ts.map +0 -1
  445. package/dist/codex/attach-images.js +0 -66
  446. package/dist/codex/attach-images.js.map +0 -1
  447. package/dist/codex/clipboard-lock.d.ts +0 -15
  448. package/dist/codex/clipboard-lock.d.ts.map +0 -1
  449. package/dist/codex/clipboard-lock.js +0 -16
  450. package/dist/codex/clipboard-lock.js.map +0 -1
  451. package/dist/codex/clipboard.d.ts +0 -32
  452. package/dist/codex/clipboard.d.ts.map +0 -1
  453. package/dist/codex/clipboard.js +0 -92
  454. package/dist/codex/clipboard.js.map +0 -1
  455. package/dist/codex/config-lock.d.ts +0 -21
  456. package/dist/codex/config-lock.d.ts.map +0 -1
  457. package/dist/codex/config-lock.js +0 -22
  458. package/dist/codex/config-lock.js.map +0 -1
  459. package/dist/codex/config-restore.d.ts +0 -33
  460. package/dist/codex/config-restore.d.ts.map +0 -1
  461. package/dist/codex/config-restore.js +0 -90
  462. package/dist/codex/config-restore.js.map +0 -1
  463. package/dist/codex/config-transaction.d.ts +0 -26
  464. package/dist/codex/config-transaction.d.ts.map +0 -1
  465. package/dist/codex/config-transaction.js +0 -47
  466. package/dist/codex/config-transaction.js.map +0 -1
  467. package/dist/codex/hook-dispatch.d.ts +0 -9
  468. package/dist/codex/hook-dispatch.d.ts.map +0 -1
  469. package/dist/codex/hook-dispatch.js +0 -14
  470. package/dist/codex/hook-dispatch.js.map +0 -1
  471. package/dist/codex/hook-names.d.ts +0 -19
  472. package/dist/codex/hook-names.d.ts.map +0 -1
  473. package/dist/codex/hook-names.js +0 -17
  474. package/dist/codex/hook-names.js.map +0 -1
  475. package/dist/codex/hooks.d.ts +0 -99
  476. package/dist/codex/hooks.d.ts.map +0 -1
  477. package/dist/codex/hooks.js +0 -6
  478. package/dist/codex/hooks.js.map +0 -1
  479. package/dist/codex/initial-ready.d.ts +0 -19
  480. package/dist/codex/initial-ready.d.ts.map +0 -1
  481. package/dist/codex/initial-ready.js +0 -19
  482. package/dist/codex/initial-ready.js.map +0 -1
  483. package/dist/codex/serialize.d.ts +0 -8
  484. package/dist/codex/serialize.d.ts.map +0 -1
  485. package/dist/codex/serialize.js +0 -48
  486. package/dist/codex/serialize.js.map +0 -1
  487. package/dist/codex/session-bridge.d.ts +0 -14
  488. package/dist/codex/session-bridge.d.ts.map +0 -1
  489. package/dist/codex/session-bridge.js +0 -20
  490. package/dist/codex/session-bridge.js.map +0 -1
  491. package/dist/codex/session-build.d.ts +0 -15
  492. package/dist/codex/session-build.d.ts.map +0 -1
  493. package/dist/codex/session-build.js +0 -144
  494. package/dist/codex/session-build.js.map +0 -1
  495. package/dist/codex/session-cleanup.d.ts +0 -12
  496. package/dist/codex/session-cleanup.d.ts.map +0 -1
  497. package/dist/codex/session-cleanup.js +0 -15
  498. package/dist/codex/session-cleanup.js.map +0 -1
  499. package/dist/codex/session-hooks.d.ts +0 -13
  500. package/dist/codex/session-hooks.d.ts.map +0 -1
  501. package/dist/codex/session-hooks.js +0 -54
  502. package/dist/codex/session-hooks.js.map +0 -1
  503. package/dist/codex/session-instance.d.ts +0 -50
  504. package/dist/codex/session-instance.d.ts.map +0 -1
  505. package/dist/codex/session-instance.js +0 -117
  506. package/dist/codex/session-instance.js.map +0 -1
  507. package/dist/codex/session-resume.d.ts +0 -7
  508. package/dist/codex/session-resume.d.ts.map +0 -1
  509. package/dist/codex/session-resume.js +0 -44
  510. package/dist/codex/session-resume.js.map +0 -1
  511. package/dist/codex/session-runtime.d.ts +0 -7
  512. package/dist/codex/session-runtime.d.ts.map +0 -1
  513. package/dist/codex/session-runtime.js +0 -10
  514. package/dist/codex/session-runtime.js.map +0 -1
  515. package/dist/codex/session-transcript.d.ts +0 -30
  516. package/dist/codex/session-transcript.d.ts.map +0 -1
  517. package/dist/codex/session-transcript.js +0 -53
  518. package/dist/codex/session-transcript.js.map +0 -1
  519. package/dist/codex/session-types.d.ts +0 -87
  520. package/dist/codex/session-types.d.ts.map +0 -1
  521. package/dist/codex/session-types.js +0 -6
  522. package/dist/codex/session-types.js.map +0 -1
  523. package/dist/codex/session-warnings.d.ts +0 -27
  524. package/dist/codex/session-warnings.d.ts.map +0 -1
  525. package/dist/codex/session-warnings.js +0 -54
  526. package/dist/codex/session-warnings.js.map +0 -1
  527. package/dist/codex/session.d.ts +0 -16
  528. package/dist/codex/session.d.ts.map +0 -1
  529. package/dist/codex/session.js +0 -61
  530. package/dist/codex/session.js.map +0 -1
  531. package/dist/codex/start-or-resume.d.ts +0 -12
  532. package/dist/codex/start-or-resume.d.ts.map +0 -1
  533. package/dist/codex/start-or-resume.js +0 -31
  534. package/dist/codex/start-or-resume.js.map +0 -1
  535. package/dist/codex/transcript/cursor-io.d.ts +0 -7
  536. package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
  537. package/dist/codex/transcript/cursor-io.js +0 -7
  538. package/dist/codex/transcript/cursor-io.js.map +0 -1
  539. package/dist/codex/transcript/cursor.d.ts +0 -8
  540. package/dist/codex/transcript/cursor.d.ts.map +0 -1
  541. package/dist/codex/transcript/cursor.js +0 -8
  542. package/dist/codex/transcript/cursor.js.map +0 -1
  543. package/dist/codex/transcript/drops.d.ts +0 -9
  544. package/dist/codex/transcript/drops.d.ts.map +0 -1
  545. package/dist/codex/transcript/drops.js +0 -9
  546. package/dist/codex/transcript/drops.js.map +0 -1
  547. package/dist/codex/transcript.d.ts +0 -12
  548. package/dist/codex/transcript.d.ts.map +0 -1
  549. package/dist/codex/transcript.js +0 -10
  550. package/dist/codex/transcript.js.map +0 -1
  551. package/dist/codex/validate-result.d.ts +0 -7
  552. package/dist/codex/validate-result.d.ts.map +0 -1
  553. package/dist/codex/validate-result.js +0 -84
  554. package/dist/codex/validate-result.js.map +0 -1
  555. package/dist/codex/validate.d.ts +0 -11
  556. package/dist/codex/validate.d.ts.map +0 -1
  557. package/dist/codex/validate.js +0 -88
  558. package/dist/codex/validate.js.map +0 -1
  559. package/dist/core/activity-lifecycle.d.ts +0 -21
  560. package/dist/core/activity-lifecycle.d.ts.map +0 -1
  561. package/dist/core/activity-lifecycle.js +0 -45
  562. package/dist/core/activity-lifecycle.js.map +0 -1
  563. package/dist/core/activity-meta.d.ts +0 -13
  564. package/dist/core/activity-meta.d.ts.map +0 -1
  565. package/dist/core/activity-meta.js +0 -67
  566. package/dist/core/activity-meta.js.map +0 -1
  567. package/dist/core/activity-transcript.d.ts +0 -19
  568. package/dist/core/activity-transcript.d.ts.map +0 -1
  569. package/dist/core/activity-transcript.js +0 -60
  570. package/dist/core/activity-transcript.js.map +0 -1
  571. package/dist/core/activity.d.ts +0 -51
  572. package/dist/core/activity.d.ts.map +0 -1
  573. package/dist/core/activity.js +0 -81
  574. package/dist/core/activity.js.map +0 -1
  575. package/dist/core/control-queue-state.d.ts +0 -29
  576. package/dist/core/control-queue-state.d.ts.map +0 -1
  577. package/dist/core/control-queue-state.js +0 -95
  578. package/dist/core/control-queue-state.js.map +0 -1
  579. package/dist/core/control-queue-traits.d.ts +0 -54
  580. package/dist/core/control-queue-traits.d.ts.map +0 -1
  581. package/dist/core/control-queue-traits.js +0 -118
  582. package/dist/core/control-queue-traits.js.map +0 -1
  583. package/dist/core/control-queue-types.d.ts +0 -45
  584. package/dist/core/control-queue-types.d.ts.map +0 -1
  585. package/dist/core/control-queue-types.js +0 -7
  586. package/dist/core/control-queue-types.js.map +0 -1
  587. package/dist/core/control-queue.d.ts +0 -21
  588. package/dist/core/control-queue.d.ts.map +0 -1
  589. package/dist/core/control-queue.js +0 -98
  590. package/dist/core/control-queue.js.map +0 -1
  591. package/dist/core/list-models.d.ts +0 -44
  592. package/dist/core/list-models.d.ts.map +0 -1
  593. package/dist/core/list-models.js +0 -73
  594. package/dist/core/list-models.js.map +0 -1
  595. package/dist/core/model-picker.d.ts +0 -22
  596. package/dist/core/model-picker.d.ts.map +0 -1
  597. package/dist/core/model-picker.js +0 -58
  598. package/dist/core/model-picker.js.map +0 -1
  599. package/dist/core/model-rows.d.ts +0 -21
  600. package/dist/core/model-rows.d.ts.map +0 -1
  601. package/dist/core/model-rows.js +0 -57
  602. package/dist/core/model-rows.js.map +0 -1
  603. package/dist/core/probe-state.d.ts +0 -21
  604. package/dist/core/probe-state.d.ts.map +0 -1
  605. package/dist/core/probe-state.js +0 -39
  606. package/dist/core/probe-state.js.map +0 -1
  607. package/dist/core/session-input-abort.d.ts +0 -10
  608. package/dist/core/session-input-abort.d.ts.map +0 -1
  609. package/dist/core/session-input-abort.js +0 -44
  610. package/dist/core/session-input-abort.js.map +0 -1
  611. package/dist/core/session-input.d.ts +0 -37
  612. package/dist/core/session-input.d.ts.map +0 -1
  613. package/dist/core/session-input.js +0 -154
  614. package/dist/core/session-input.js.map +0 -1
  615. package/dist/core/session-warnings.d.ts +0 -20
  616. package/dist/core/session-warnings.d.ts.map +0 -1
  617. package/dist/core/session-warnings.js +0 -32
  618. package/dist/core/session-warnings.js.map +0 -1
  619. package/dist/core/simple/loop-controls.d.ts +0 -7
  620. package/dist/core/simple/loop-controls.d.ts.map +0 -1
  621. package/dist/core/simple/loop-controls.js +0 -7
  622. package/dist/core/simple/loop-controls.js.map +0 -1
  623. package/dist/core/startup-automation.d.ts +0 -54
  624. package/dist/core/startup-automation.d.ts.map +0 -1
  625. package/dist/core/startup-automation.js +0 -40
  626. package/dist/core/startup-automation.js.map +0 -1
  627. package/dist/core/startup-frame.d.ts +0 -39
  628. package/dist/core/startup-frame.d.ts.map +0 -1
  629. package/dist/core/startup-frame.js +0 -60
  630. package/dist/core/startup-frame.js.map +0 -1
  631. package/dist/core/startup-write.d.ts +0 -47
  632. package/dist/core/startup-write.d.ts.map +0 -1
  633. package/dist/core/startup-write.js +0 -73
  634. package/dist/core/startup-write.js.map +0 -1
  635. package/dist/core/trust-blocking.d.ts +0 -22
  636. package/dist/core/trust-blocking.d.ts.map +0 -1
  637. package/dist/core/trust-blocking.js +0 -38
  638. package/dist/core/trust-blocking.js.map +0 -1
  639. package/dist/core/trust-prompts.d.ts +0 -135
  640. package/dist/core/trust-prompts.d.ts.map +0 -1
  641. package/dist/core/trust-prompts.js.map +0 -1
  642. package/dist/core/trust-responder.d.ts +0 -48
  643. package/dist/core/trust-responder.d.ts.map +0 -1
  644. package/dist/core/trust-responder.js +0 -119
  645. package/dist/core/trust-responder.js.map +0 -1
  646. package/dist/core/tui-screen.d.ts +0 -21
  647. package/dist/core/tui-screen.d.ts.map +0 -1
  648. package/dist/core/tui-screen.js +0 -56
  649. package/dist/core/tui-screen.js.map +0 -1
  650. package/dist/core/update-warning.d.ts +0 -25
  651. package/dist/core/update-warning.d.ts.map +0 -1
  652. package/dist/core/update-warning.js +0 -33
  653. package/dist/core/update-warning.js.map +0 -1
  654. package/dist/core/warning-lifecycle.d.ts +0 -23
  655. package/dist/core/warning-lifecycle.d.ts.map +0 -1
  656. package/dist/core/warning-lifecycle.js +0 -6
  657. package/dist/core/warning-lifecycle.js.map +0 -1
  658. package/dist/core/warning-reasons.d.ts +0 -62
  659. package/dist/core/warning-reasons.d.ts.map +0 -1
  660. package/dist/core/warning-reasons.js +0 -121
  661. package/dist/core/warning-reasons.js.map +0 -1
  662. package/dist/core/warnings.d.ts +0 -145
  663. package/dist/core/warnings.d.ts.map +0 -1
  664. package/dist/core/warnings.js +0 -12
  665. package/dist/core/warnings.js.map +0 -1
  666. package/dist/runtime/cleanup-latch.d.ts +0 -27
  667. package/dist/runtime/cleanup-latch.d.ts.map +0 -1
  668. package/dist/runtime/cleanup-latch.js +0 -43
  669. package/dist/runtime/cleanup-latch.js.map +0 -1
  670. package/dist/runtime/initial-ready-advance.d.ts +0 -22
  671. package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
  672. package/dist/runtime/initial-ready-advance.js +0 -39
  673. package/dist/runtime/initial-ready-advance.js.map +0 -1
  674. package/dist/runtime/initial-ready-fallback.d.ts +0 -12
  675. package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
  676. package/dist/runtime/initial-ready-fallback.js +0 -20
  677. package/dist/runtime/initial-ready-fallback.js.map +0 -1
  678. package/dist/runtime/initial-ready.d.ts +0 -49
  679. package/dist/runtime/initial-ready.d.ts.map +0 -1
  680. package/dist/runtime/initial-ready.js +0 -81
  681. package/dist/runtime/initial-ready.js.map +0 -1
  682. package/dist/runtime/reap-tree.d.ts +0 -62
  683. package/dist/runtime/reap-tree.d.ts.map +0 -1
  684. package/dist/runtime/reap-tree.js +0 -108
  685. package/dist/runtime/reap-tree.js.map +0 -1
  686. package/dist/runtime/session-base-types.d.ts +0 -36
  687. package/dist/runtime/session-base-types.d.ts.map +0 -1
  688. package/dist/runtime/session-base-types.js +0 -14
  689. package/dist/runtime/session-base-types.js.map +0 -1
  690. package/dist/runtime/session-base.d.ts +0 -48
  691. package/dist/runtime/session-base.d.ts.map +0 -1
  692. package/dist/runtime/session-base.js +0 -76
  693. package/dist/runtime/session-base.js.map +0 -1
  694. package/dist/runtime/session-commands.d.ts +0 -43
  695. package/dist/runtime/session-commands.d.ts.map +0 -1
  696. package/dist/runtime/session-commands.js +0 -52
  697. package/dist/runtime/session-commands.js.map +0 -1
  698. package/dist/runtime/session-exit.d.ts +0 -16
  699. package/dist/runtime/session-exit.d.ts.map +0 -1
  700. package/dist/runtime/session-exit.js +0 -32
  701. package/dist/runtime/session-exit.js.map +0 -1
  702. package/dist/runtime/session-image-attach.d.ts +0 -45
  703. package/dist/runtime/session-image-attach.d.ts.map +0 -1
  704. package/dist/runtime/session-image-attach.js +0 -82
  705. package/dist/runtime/session-image-attach.js.map +0 -1
  706. package/dist/runtime/session-lifecycle.d.ts +0 -61
  707. package/dist/runtime/session-lifecycle.d.ts.map +0 -1
  708. package/dist/runtime/session-lifecycle.js +0 -164
  709. package/dist/runtime/session-lifecycle.js.map +0 -1
  710. package/dist/runtime/session-loops.d.ts +0 -32
  711. package/dist/runtime/session-loops.d.ts.map +0 -1
  712. package/dist/runtime/session-loops.js +0 -62
  713. package/dist/runtime/session-loops.js.map +0 -1
  714. package/dist/runtime/session-readiness.d.ts +0 -18
  715. package/dist/runtime/session-readiness.d.ts.map +0 -1
  716. package/dist/runtime/session-readiness.js +0 -22
  717. package/dist/runtime/session-readiness.js.map +0 -1
  718. package/dist/runtime/session-reap.d.ts +0 -28
  719. package/dist/runtime/session-reap.d.ts.map +0 -1
  720. package/dist/runtime/session-reap.js +0 -51
  721. package/dist/runtime/session-reap.js.map +0 -1
  722. package/dist/runtime/session-resize.d.ts +0 -20
  723. package/dist/runtime/session-resize.d.ts.map +0 -1
  724. package/dist/runtime/session-resize.js +0 -26
  725. package/dist/runtime/session-resize.js.map +0 -1
  726. package/dist/runtime/session-shutdown-binding.d.ts +0 -30
  727. package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
  728. package/dist/runtime/session-shutdown-binding.js +0 -37
  729. package/dist/runtime/session-shutdown-binding.js.map +0 -1
  730. package/dist/runtime/session-shutdown.d.ts +0 -60
  731. package/dist/runtime/session-shutdown.d.ts.map +0 -1
  732. package/dist/runtime/session-shutdown.js +0 -140
  733. package/dist/runtime/session-shutdown.js.map +0 -1
  734. package/dist/runtime/session-status-wiring.d.ts +0 -38
  735. package/dist/runtime/session-status-wiring.d.ts.map +0 -1
  736. package/dist/runtime/session-status-wiring.js +0 -41
  737. package/dist/runtime/session-status-wiring.js.map +0 -1
  738. package/dist/runtime/session-status.d.ts +0 -7
  739. package/dist/runtime/session-status.d.ts.map +0 -1
  740. package/dist/runtime/session-status.js +0 -22
  741. package/dist/runtime/session-status.js.map +0 -1
  742. package/dist/runtime/shutdown-coordinator.d.ts +0 -57
  743. package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
  744. package/dist/runtime/shutdown-coordinator.js +0 -77
  745. package/dist/runtime/shutdown-coordinator.js.map +0 -1
  746. package/dist/runtime/startup-buffer.d.ts +0 -33
  747. package/dist/runtime/startup-buffer.d.ts.map +0 -1
  748. package/dist/runtime/startup-buffer.js +0 -53
  749. package/dist/runtime/startup-buffer.js.map +0 -1
  750. package/dist/runtime/startup-cleanup.d.ts +0 -43
  751. package/dist/runtime/startup-cleanup.d.ts.map +0 -1
  752. package/dist/runtime/startup-cleanup.js +0 -89
  753. package/dist/runtime/startup-cleanup.js.map +0 -1
  754. package/dist/runtime/startup.d.ts +0 -17
  755. package/dist/runtime/startup.d.ts.map +0 -1
  756. package/dist/runtime/startup.js +0 -47
  757. package/dist/runtime/startup.js.map +0 -1
  758. package/dist/runtime/status-emit.d.ts +0 -14
  759. package/dist/runtime/status-emit.d.ts.map +0 -1
  760. package/dist/runtime/status-emit.js +0 -15
  761. package/dist/runtime/status-emit.js.map +0 -1
  762. package/dist/runtime/teardown.d.ts +0 -15
  763. package/dist/runtime/teardown.d.ts.map +0 -1
  764. package/dist/runtime/teardown.js +0 -40
  765. package/dist/runtime/teardown.js.map +0 -1
  766. package/dist/runtime/terminate.d.ts +0 -22
  767. package/dist/runtime/terminate.d.ts.map +0 -1
  768. package/dist/runtime/terminate.js +0 -129
  769. package/dist/runtime/terminate.js.map +0 -1
  770. package/dist/runtime/update-lock.d.ts +0 -19
  771. package/dist/runtime/update-lock.d.ts.map +0 -1
  772. package/dist/runtime/update-lock.js +0 -183
  773. package/dist/runtime/update-lock.js.map +0 -1
  774. package/dist/runtime/update-once.d.ts +0 -40
  775. package/dist/runtime/update-once.d.ts.map +0 -1
  776. package/dist/runtime/update-once.js +0 -88
  777. package/dist/runtime/update-once.js.map +0 -1
@@ -1,30 +0,0 @@
1
- /**
2
- * Flag > environment > config > fallback layering for the per-run settings that
3
- * have no adapter-specific shape: timeout, state directory, persona, model and
4
- * effort overrides, and the workspace. Implements PRD §12A.4 and C-CLI-03/C-CLI-14.
5
- */
6
- import { type SourcedValue } from "./request-sources.ts";
7
- import { type EnvSettings } from "./request-values.ts";
8
- import type { CliConfig, ParsedRunCommand } from "./types.ts";
9
- export type LayeredSettings = {
10
- readonly timeout: SourcedValue<string>;
11
- /** Absolute state directory; relative flag/env/config values resolve against the invocation cwd. */
12
- readonly stateDir: SourcedValue<string>;
13
- readonly persona: SourcedValue<string>;
14
- readonly model: SourcedValue<string>;
15
- readonly effort: SourcedValue<string>;
16
- /** Absent on resume, which uses the stored workspace (C-CLI-03). */
17
- readonly cwd: SourcedValue<string>;
18
- };
19
- export type LayerContext = {
20
- readonly env: Readonly<Record<string, string | undefined>>;
21
- readonly invocationCwd: string;
22
- readonly homeDir: string;
23
- };
24
- export declare function layeredSettings(parsed: ParsedRunCommand, env: EnvSettings, config: CliConfig, configPath: string, context: LayerContext, resuming: boolean): LayeredSettings;
25
- /** Whether the invocation itself (flag or environment) set adapter-specific options. */
26
- export declare function explicitAdapterOptions(parsed: ParsedRunCommand, env: EnvSettings): {
27
- readonly claudeOptionsExplicit: boolean;
28
- readonly codexOptionsExplicit: boolean;
29
- };
30
- //# sourceMappingURL=request-layers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-layers.d.ts","sourceRoot":"","sources":["../../src/cli/request-layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAsB,KAAK,YAAY,EAAW,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,GAChB,eAAe,CA4CjB;AAYD,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,WAAW,GACf;IAAE,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;CAAE,CAUrF"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Flag > environment > config > fallback layering for the per-run settings that
3
- * have no adapter-specific shape: timeout, state directory, persona, model and
4
- * effort overrides, and the workspace. Implements PRD §12A.4 and C-CLI-03/C-CLI-14.
5
- */
6
- import { resolve } from "node:path";
7
- import { resolveStateLocation } from "./config/paths.js";
8
- import { configKey, layered, sourced } from "./request-sources.js";
9
- import { nonBlank, optionalNonBlank } from "./request-values.js";
10
- export function layeredSettings(parsed, env, config, configPath, context, resuming) {
11
- const flags = parsed.flags;
12
- const key = (name) => configKey(configPath, name);
13
- const stateLocation = resolveStateLocation(context.env, context.homeDir);
14
- const state = layered(sourced(flags.stateDir, "--state-dir"), sourced(env.stateDir, "ELWOOD_STATE_DIR"), sourced(config.stateDir, key("stateDir")), sourced(stateLocation.path, stateLocation.source));
15
- const persona = layered(sourced(flags.persona, "--persona"), sourced(env.persona, "ELWOOD_PERSONA"), sourced(resuming ? undefined : config.persona, key("persona")), sourced(undefined, "unset"));
16
- return {
17
- timeout: layered(sourced(flags.timeout, "--timeout"), sourced(env.timeout, "ELWOOD_TIMEOUT"), sourced(config.timeout, key("timeout")), sourced(undefined, "built-in")),
18
- stateDir: sourced(state.source === stateLocation.source
19
- ? state.value
20
- : resolve(context.invocationCwd, nonBlank(state.value, "stateDir")), state.source),
21
- persona: sourced(optionalNonBlank(persona.value, "persona"), persona.source),
22
- model: layered(sourced(flags.model, "--model"), sourced(env.model, "ELWOOD_MODEL"), sourced(undefined, "unset"), sourced(undefined, "unset")),
23
- effort: layered(sourced(flags.reasoningEffort, "--reasoning-effort"), sourced(env.reasoningEffort, "ELWOOD_REASONING_EFFORT"), sourced(undefined, "unset"), sourced(undefined, "unset")),
24
- cwd: workspaceSetting(flags.cwd, context.invocationCwd, resuming),
25
- };
26
- }
27
- function workspaceSetting(flag, invocationCwd, resuming) {
28
- if (flag !== undefined)
29
- return sourced(resolve(invocationCwd, nonBlank(flag, "cwd")), "--cwd");
30
- if (resuming)
31
- return sourced(undefined, "stored session");
32
- return sourced(resolve(invocationCwd), "invocation cwd");
33
- }
34
- /** Whether the invocation itself (flag or environment) set adapter-specific options. */
35
- export function explicitAdapterOptions(parsed, env) {
36
- return {
37
- claudeOptionsExplicit: parsed.flags.claudePermissionMode !== undefined || env.claudePermissionMode !== undefined,
38
- codexOptionsExplicit: parsed.flags.codexSandbox !== undefined ||
39
- parsed.flags.codexApprovalPolicy !== undefined ||
40
- env.codexSandbox !== undefined ||
41
- env.codexApprovalPolicy !== undefined,
42
- };
43
- }
44
- //# sourceMappingURL=request-layers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-layers.js","sourceRoot":"","sources":["../../src/cli/request-layers.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Resolves adapter-specific CLI options and their effective setting sources.
3
- * Implements PRD §12A.2/§12A.4 and C-CLI-06/C-CLI-14/C-CLI-19.
4
- */
5
- import { type SourcedValue } from "./request-sources.ts";
6
- import { type EnvSettings } from "./request-values.ts";
7
- import { type CliAgent, type CliConfig, type EffectiveAgentOptions, type ParsedRunCommand } from "./types.ts";
8
- type AgentOptionResolution = {
9
- readonly values: Readonly<Record<CliAgent, EffectiveAgentOptions>>;
10
- readonly sources: Readonly<Record<CliAgent, {
11
- readonly model: string;
12
- readonly reasoningEffort: string;
13
- }>>;
14
- };
15
- export declare function optionSettings(config: CliConfig, path: string, model: SourcedValue<string>, effort: SourcedValue<string>): AgentOptionResolution;
16
- /** Output protocol and the three built-in-defaulted booleans, each with provenance (C-CLI-14). */
17
- export declare function ioSettings(parsed: ParsedRunCommand, env: EnvSettings, config: CliConfig, path: string): {
18
- output: SourcedValue<string>;
19
- trust: SourcedValue<boolean>;
20
- stream: SourcedValue<boolean>;
21
- verbose: SourcedValue<boolean>;
22
- };
23
- export declare function resolvePosture(parsed: ParsedRunCommand, env: EnvSettings, config: CliConfig, path: string, agent: CliAgent): {
24
- permissionMode: "default" | "acceptEdits" | "plan" | "auto" | "dontAsk" | "bypassPermissions" | undefined;
25
- sandbox: "read-only" | "workspace-write" | "danger-full-access" | undefined;
26
- approvalPolicy: "untrusted" | "on-request" | "never" | undefined;
27
- sources: {
28
- permissionMode: string;
29
- sandbox: string;
30
- approvalPolicy: string;
31
- };
32
- };
33
- export {};
34
- //# sourceMappingURL=request-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-settings.d.ts","sourceRoot":"","sources":["../../src/cli/request-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmC,KAAK,YAAY,EAAW,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAU,KAAK,WAAW,EAAY,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EAId,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACxB,MAAM,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAC/E,CAAC;CACH,CAAC;AAEF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAC3B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAC3B,qBAAqB,CA2BvB;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CACxB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM;;;;;EA6Bb;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ;;;;;;;;;EAwChB"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Resolves adapter-specific CLI options and their effective setting sources.
3
- * Implements PRD §12A.2/§12A.4 and C-CLI-06/C-CLI-14/C-CLI-19.
4
- */
5
- import { booleanFlag, configKey, layered, sourced } from "./request-sources.js";
6
- import { choice, optional } from "./request-values.js";
7
- import { claudePermissionModes, codexApprovalPolicies, codexSandboxModes, } from "./types.js";
8
- export function optionSettings(config, path, model, effort) {
9
- const resolveAgent = (agent) => {
10
- const agentModel = model.value === undefined
11
- ? sourced(config[agent]?.model, configKey(path, `${agent}.model`))
12
- : model;
13
- const agentEffort = effort.value === undefined
14
- ? sourced(config[agent]?.reasoningEffort, configKey(path, `${agent}.reasoningEffort`))
15
- : effort;
16
- return {
17
- values: {
18
- ...optional(agentModel.value, "model"),
19
- ...optional(agentEffort.value, "reasoningEffort"),
20
- },
21
- sources: {
22
- model: agentModel.value === undefined ? "unset" : agentModel.source,
23
- reasoningEffort: agentEffort.value === undefined ? "unset" : agentEffort.source,
24
- },
25
- };
26
- };
27
- const claude = resolveAgent("claude");
28
- const codex = resolveAgent("codex");
29
- return {
30
- values: { claude: claude.values, codex: codex.values },
31
- sources: { claude: claude.sources, codex: codex.sources },
32
- };
33
- }
34
- /** Output protocol and the three built-in-defaulted booleans, each with provenance (C-CLI-14). */
35
- export function ioSettings(parsed, env, config, path) {
36
- const flags = parsed.flags;
37
- return {
38
- output: layered(sourced(flags.output, "--output"), sourced(env.output, "ELWOOD_OUTPUT"), sourced(config.output, configKey(path, "output")), sourced("text", "built-in")),
39
- trust: layered(booleanFlag(flags.trust, "--trust", "--no-trust"), sourced(env.trust, "ELWOOD_TRUST"), sourced(config.trust, configKey(path, "trust")), sourced(true, "built-in")),
40
- stream: layered(booleanFlag(flags.stream, "--stream", "--no-stream"), sourced(env.stream, "ELWOOD_STREAM"), sourced(config.stream, configKey(path, "stream")), sourced(false, "built-in")),
41
- verbose: layered(booleanFlag(flags.verbose, "--verbose", "--no-verbose"), sourced(env.verbose, "ELWOOD_VERBOSE"), sourced(config.verbose, configKey(path, "verbose")), sourced(false, "built-in")),
42
- };
43
- }
44
- export function resolvePosture(parsed, env, config, path, agent) {
45
- const permission = layered(sourced(parsed.flags.claudePermissionMode, "--claude-permission-mode"), sourced(env.claudePermissionMode, "ELWOOD_CLAUDE_PERMISSION_MODE"), sourced(config.claude?.permissionMode, configKey(path, "claude.permissionMode")), sourced(undefined, "unset"));
46
- const sandbox = layered(sourced(parsed.flags.codexSandbox, "--codex-sandbox"), sourced(env.codexSandbox, "ELWOOD_CODEX_SANDBOX"), sourced(config.codex?.sandbox, configKey(path, "codex.sandbox")), sourced(undefined, "unset"));
47
- const approval = layered(sourced(parsed.flags.codexApprovalPolicy, "--codex-approval-policy"), sourced(env.codexApprovalPolicy, "ELWOOD_CODEX_APPROVAL_POLICY"), sourced(config.codex?.approvalPolicy, configKey(path, "codex.approvalPolicy")), sourced(undefined, "unset"));
48
- const permissionMode = choice(permission.value, claudePermissionModes, "permissionMode");
49
- const sandboxMode = choice(sandbox.value, codexSandboxModes, "sandbox");
50
- const approvalPolicy = choice(approval.value, codexApprovalPolicies, "approvalPolicy");
51
- return {
52
- permissionMode: permissionMode ?? (agent === "claude" ? "dontAsk" : undefined),
53
- sandbox: sandboxMode ?? (agent === "codex" ? "workspace-write" : undefined),
54
- approvalPolicy: approvalPolicy ?? (agent === "codex" ? "never" : undefined),
55
- sources: {
56
- permissionMode: permissionMode === undefined
57
- ? agent === "claude"
58
- ? "built-in"
59
- : "unset"
60
- : permission.source,
61
- sandbox: sandboxMode === undefined ? (agent === "codex" ? "built-in" : "unset") : sandbox.source,
62
- approvalPolicy: approvalPolicy === undefined ? (agent === "codex" ? "built-in" : "unset") : approval.source,
63
- },
64
- };
65
- }
66
- //# sourceMappingURL=request-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-settings.js","sourceRoot":"","sources":["../../src/cli/request-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAqB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAGL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AASpB,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,IAAY,EACZ,KAA2B,EAC3B,MAA4B;IAE5B,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE;QACvC,MAAM,UAAU,GACd,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC;YAClE,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,WAAW,GACf,MAAM,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,kBAAkB,CAAC,CAAC;YACtF,CAAC,CAAC,MAAM,CAAC;QACb,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;gBACtC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC;aAClD;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;gBACnE,eAAe,EAAE,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;aAChF;SACF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO;QACL,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;QACtD,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,UAAU,CACxB,MAAwB,EACxB,GAAgB,EAChB,MAAiB,EACjB,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,OAAO,CACb,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EACjD,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAC5B;QACD,KAAK,EAAE,OAAO,CACZ,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EACjD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAClC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAC/C,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAC1B;QACD,MAAM,EAAE,OAAO,CACb,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EACpD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EACjD,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAC3B;QACD,OAAO,EAAE,OAAO,CACd,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EACvD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EACnD,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAC3B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAwB,EACxB,GAAgB,EAChB,MAAiB,EACjB,IAAY,EACZ,KAAe;IAEf,MAAM,UAAU,GAAG,OAAO,CACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,EACtE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,EAClE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAChF,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAC5B,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,iBAAiB,CAAC,EACrD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACjD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAChE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAC5B,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,EACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,EAChE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,EAC9E,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAC5B,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACvF,OAAO;QACL,cAAc,EAAE,cAAc,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,OAAO,EAAE,WAAW,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,cAAc,EAAE,cAAc,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,OAAO,EAAE;YACP,cAAc,EACZ,cAAc,KAAK,SAAS;gBAC1B,CAAC,CAAC,KAAK,KAAK,QAAQ;oBAClB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,UAAU,CAAC,MAAM;YACvB,OAAO,EACL,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;YACzF,cAAc,EACZ,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;SAC9F;KACF,CAAC;AACJ,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Resolves one CLI setting together with concise, user-facing provenance.
3
- * Implements PRD §12A.4 and C-CLI-14/C-CLI-19/C-CLI-20.
4
- */
5
- export type SourcedValue<T> = {
6
- readonly value: T | undefined;
7
- readonly source: string;
8
- };
9
- export declare function layered<T>(flag: SourcedValue<T>, environment: SourcedValue<T>, config: SourcedValue<T>, fallback: SourcedValue<T>): SourcedValue<T>;
10
- export declare function sourced<T>(value: T | undefined, source: string): SourcedValue<T>;
11
- export declare function booleanFlag(value: boolean | undefined, positive: string, negative: string): SourcedValue<boolean>;
12
- export declare function configKey(path: string, key: string): string;
13
- //# sourceMappingURL=request-sources.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-sources.d.ts","sourceRoot":"","sources":["../../src/cli/request-sources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,YAAY,CAAC,CAAC,CAAC,CAKjB;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAEhF;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,YAAY,CAAC,OAAO,CAAC,CAEvB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Resolves one CLI setting together with concise, user-facing provenance.
3
- * Implements PRD §12A.4 and C-CLI-14/C-CLI-19/C-CLI-20.
4
- */
5
- export function layered(flag, environment, config, fallback) {
6
- if (flag.value !== undefined)
7
- return flag;
8
- if (environment.value !== undefined)
9
- return environment;
10
- if (config.value !== undefined)
11
- return config;
12
- return fallback;
13
- }
14
- export function sourced(value, source) {
15
- return { value, source };
16
- }
17
- export function booleanFlag(value, positive, negative) {
18
- return sourced(value, value === false ? negative : positive);
19
- }
20
- export function configKey(path, key) {
21
- return `${path}#${key}`;
22
- }
23
- //# sourceMappingURL=request-sources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-sources.js","sourceRoot":"","sources":["../../src/cli/request-sources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,OAAO,CACrB,IAAqB,EACrB,WAA4B,EAC5B,MAAuB,EACvB,QAAyB;IAEzB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IACxD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,KAAoB,EAAE,MAAc;IAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAA0B,EAC1B,QAAgB,EAChB,QAAgB;IAEhB,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAW;IACjD,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Validates cross-setting CLI compatibility with actionable recovery guidance.
3
- * Implements PRD §12A.1/§12A.2/§12A.5 and C-CLI-03/C-CLI-06/C-CLI-20.
4
- */
5
- import type { SourcedValue } from "./request-sources.ts";
6
- import type { EnvSettings } from "./request-values.ts";
7
- import { type CliAgent, type CliOutputMode, type ParsedRunCommand } from "./types.ts";
8
- /**
9
- * Reject the other adapter's options for a new session. `agentSource` is the
10
- * agent's provenance: an auto-detected agent is named as such and the recovery
11
- * also offers selecting the other adapter, since nothing chose this one.
12
- */
13
- export declare function validateSpecificFlags(parsed: ParsedRunCommand, env: EnvSettings, agent: CliAgent, agentSource: string): void;
14
- export declare function validateLifecycle(parsed: ParsedRunCommand, env: EnvSettings): void;
15
- export declare function validateOutput(output: CliOutputMode, stream: SourcedValue<boolean>, verbose: SourcedValue<boolean>, debug: boolean, head: boolean): void;
16
- /** Describe incompatible invocation settings and the exact way to remove each source. */
17
- export declare function settingConflict(sources: readonly string[], target: string): string;
18
- //# sourceMappingURL=request-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-validation.d.ts","sourceRoot":"","sources":["../../src/cli/request-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,GAClB,IAAI,CAQN;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAgBlF;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,IAAI,CAaN;AAMD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASlF"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Validates cross-setting CLI compatibility with actionable recovery guidance.
3
- * Implements PRD §12A.1/§12A.2/§12A.5 and C-CLI-03/C-CLI-06/C-CLI-20.
4
- */
5
- import { autoDetectedSource } from "./agent-detect.js";
6
- import { usage } from "./request-values.js";
7
- import { agentDisplayName, } from "./types.js";
8
- /**
9
- * Reject the other adapter's options for a new session. `agentSource` is the
10
- * agent's provenance: an auto-detected agent is named as such and the recovery
11
- * also offers selecting the other adapter, since nothing chose this one.
12
- */
13
- export function validateSpecificFlags(parsed, env, agent, agentSource) {
14
- const sources = adapterConflictSources(parsed, env, agent);
15
- if (sources.length === 0)
16
- return;
17
- const name = agentDisplayName(agent);
18
- if (agentSource !== autoDetectedSource)
19
- throw usage(settingConflict(sources, name));
20
- const other = agent === "claude" ? "codex" : "claude";
21
- const conflict = settingConflict(sources, `the auto-detected ${name} agent`);
22
- throw usage(`${conflict.slice(0, -1)}, or select --agent ${other}.`);
23
- }
24
- export function validateLifecycle(parsed, env) {
25
- if (parsed.flags.keep && parsed.flags.ephemeral)
26
- throw usage("--keep and --ephemeral cannot be combined.");
27
- if (parsed.flags.ephemeral && parsed.flags.resume === undefined)
28
- throw usage("--ephemeral requires --resume.");
29
- if (parsed.flags.keep && parsed.flags.resume !== undefined)
30
- throw usage("--keep is only valid for a new session.");
31
- if (parsed.flags.cwd !== undefined && parsed.flags.resume !== undefined)
32
- throw usage("--cwd cannot be used with --resume; resume uses the stored workspace.");
33
- if (parsed.flags.resume !== undefined) {
34
- const sources = [
35
- ...(parsed.flags.persona === undefined ? [] : ["--persona"]),
36
- ...(env.persona === undefined ? [] : ["ELWOOD_PERSONA"]),
37
- ];
38
- if (sources.length > 0)
39
- throw usage(settingConflict(sources, "--resume"));
40
- }
41
- }
42
- export function validateOutput(output, stream, verbose, debug, head) {
43
- if (stream.value === true && output !== "text") {
44
- throw usage(`Streaming is enabled by ${stream.source}; ${outputName(output)} output requires streaming to be disabled. Use --no-stream.`);
45
- }
46
- if (!head)
47
- return;
48
- if (stream.value === true)
49
- throw usage(`Streaming is enabled by ${stream.source}; --head requires --no-stream.`);
50
- if (verbose.value === true)
51
- throw usage(`Verbose progress is enabled by ${verbose.source}; --head requires --no-verbose.`);
52
- if (debug)
53
- throw usage("--head cannot be combined with --debug.");
54
- if (output === "jsonl")
55
- throw usage("--head cannot be combined with JSONL output.");
56
- }
57
- function outputName(output) {
58
- return output === "json" ? "JSON" : "JSONL";
59
- }
60
- /** Describe incompatible invocation settings and the exact way to remove each source. */
61
- export function settingConflict(sources, target) {
62
- const flags = sources.filter((source) => source.startsWith("--"));
63
- const inherited = sources.filter((source) => source.startsWith("ELWOOD_"));
64
- const subject = sources.join(" and ");
65
- const recovery = [
66
- ...(flags.length === 0 ? [] : [`Remove ${flags.join(" and ")}.`]),
67
- ...(inherited.length === 0 ? [] : [`Use --no-defaults to ignore ${inherited.join(" and ")}.`]),
68
- ].join(" ");
69
- return `${subject} ${sources.length === 1 ? "is" : "are"} incompatible with ${target}. ${recovery}`;
70
- }
71
- function adapterConflictSources(parsed, env, agent) {
72
- if (agent === "codex")
73
- return [
74
- ...(parsed.flags.claudePermissionMode === undefined ? [] : ["--claude-permission-mode"]),
75
- ...(env.claudePermissionMode === undefined ? [] : ["ELWOOD_CLAUDE_PERMISSION_MODE"]),
76
- ];
77
- return [
78
- ...(parsed.flags.codexSandbox === undefined ? [] : ["--codex-sandbox"]),
79
- ...(parsed.flags.codexApprovalPolicy === undefined ? [] : ["--codex-approval-policy"]),
80
- ...(env.codexSandbox === undefined ? [] : ["ELWOOD_CODEX_SANDBOX"]),
81
- ...(env.codexApprovalPolicy === undefined ? [] : ["ELWOOD_CODEX_APPROVAL_POLICY"]),
82
- ];
83
- }
84
- //# sourceMappingURL=request-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-validation.js","sourceRoot":"","sources":["../../src/cli/request-validation.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Environment decoding and typed value helpers for effective CLI requests.
3
- * Implements PRD §12A.2/§12A.4 and C-CLI-06/C-CLI-14.
4
- */
5
- import type { CodexApprovalPolicy, CodexSandboxMode } from "../codex/session-types.ts";
6
- import type { ClaudePermissionMode } from "../core/types.ts";
7
- import { type CliAgent, type CliEnvironment, type CliOutputMode, CliValidationError } from "./types.ts";
8
- export type EnvSettings = {
9
- readonly agent?: CliAgent;
10
- readonly output?: CliOutputMode;
11
- readonly timeout?: string;
12
- readonly trust?: boolean;
13
- readonly stateDir?: string;
14
- readonly verbose?: boolean;
15
- readonly stream?: boolean;
16
- readonly persona?: string;
17
- readonly model?: string;
18
- readonly reasoningEffort?: string;
19
- readonly claudePermissionMode?: ClaudePermissionMode;
20
- readonly codexSandbox?: CodexSandboxMode;
21
- readonly codexApprovalPolicy?: CodexApprovalPolicy;
22
- };
23
- export declare function decodeEnvironment(env: CliEnvironment): EnvSettings;
24
- export declare function reasoning(agent: CliAgent, value: string | undefined): string | undefined;
25
- export declare function choice<V extends string>(value: string | undefined, valid: readonly V[], label: string): V | undefined;
26
- export declare function requiredChoice<V extends string>(value: string, valid: readonly V[], label: string): V;
27
- export declare function nonBlank(value: string, label: string): string;
28
- export declare function optionalNonBlank(value: string | undefined, label: string): string | undefined;
29
- export declare function optional<K extends string, V>(value: V | undefined, key: K): {
30
- readonly [P in K]?: V;
31
- };
32
- export declare function usage(message: string): CliValidationError;
33
- //# sourceMappingURL=request-values.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-values.d.ts","sourceRoot":"","sources":["../../src/cli/request-values.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,kBAAkB,EAMnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACpD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAgBlE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOxF;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EACrC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,SAAS,CAIf;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,CAAC,CAEH;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7F;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC1C,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,GAAG,EAAE,CAAC,GACL;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CAAE,CAE3B;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAEzD"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Environment decoding and typed value helpers for effective CLI requests.
3
- * Implements PRD §12A.2/§12A.4 and C-CLI-06/C-CLI-14.
4
- */
5
- import { claudeReasoningEfforts, codexReasoningEfforts } from "../core/reasoning-effort.js";
6
- import { CliValidationError, claudePermissionModes, cliAgents, cliOutputModes, codexApprovalPolicies, codexSandboxModes, } from "./types.js";
7
- export function decodeEnvironment(env) {
8
- return {
9
- ...envEnum(env, "ELWOOD_AGENT", cliAgents, "agent"),
10
- ...envEnum(env, "ELWOOD_OUTPUT", cliOutputModes, "output"),
11
- ...envString(env, "ELWOOD_TIMEOUT", "timeout"),
12
- ...envBoolean(env, "ELWOOD_TRUST", "trust"),
13
- ...envString(env, "ELWOOD_STATE_DIR", "stateDir"),
14
- ...envBoolean(env, "ELWOOD_VERBOSE", "verbose"),
15
- ...envBoolean(env, "ELWOOD_STREAM", "stream"),
16
- ...envString(env, "ELWOOD_PERSONA", "persona"),
17
- ...envString(env, "ELWOOD_MODEL", "model"),
18
- ...envString(env, "ELWOOD_REASONING_EFFORT", "reasoningEffort"),
19
- ...envEnum(env, "ELWOOD_CLAUDE_PERMISSION_MODE", claudePermissionModes, "claudePermissionMode"),
20
- ...envEnum(env, "ELWOOD_CODEX_SANDBOX", codexSandboxModes, "codexSandbox"),
21
- ...envEnum(env, "ELWOOD_CODEX_APPROVAL_POLICY", codexApprovalPolicies, "codexApprovalPolicy"),
22
- };
23
- }
24
- export function reasoning(agent, value) {
25
- if (value === undefined)
26
- return undefined;
27
- return choice(value, agent === "claude" ? claudeReasoningEfforts : codexReasoningEfforts, "reasoningEffort");
28
- }
29
- export function choice(value, valid, label) {
30
- if (value === undefined)
31
- return undefined;
32
- if (!valid.includes(value))
33
- throw usage(`${label} must be one of: ${valid.join(", ")}.`);
34
- return value;
35
- }
36
- export function requiredChoice(value, valid, label) {
37
- return choice(value, valid, label);
38
- }
39
- export function nonBlank(value, label) {
40
- if (value.trim() === "")
41
- throw usage(`${label} must not be empty.`);
42
- return value;
43
- }
44
- export function optionalNonBlank(value, label) {
45
- return value === undefined ? undefined : nonBlank(value, label);
46
- }
47
- export function optional(value, key) {
48
- return value === undefined ? {} : { [key]: value };
49
- }
50
- export function usage(message) {
51
- return new CliValidationError("invalid_arguments", message);
52
- }
53
- function envString(env, name, key) {
54
- const value = env[name];
55
- return value === undefined
56
- ? {}
57
- : { [key]: nonBlank(value, name) };
58
- }
59
- function envEnum(env, name, valid, key) {
60
- const value = env[name];
61
- return value === undefined
62
- ? {}
63
- : { [key]: choice(value, valid, name) };
64
- }
65
- function envBoolean(env, name, key) {
66
- const value = env[name];
67
- if (value === undefined)
68
- return {};
69
- if (value !== "true" && value !== "false")
70
- throw usage(`${name} must be true or false.`);
71
- return { [key]: value === "true" };
72
- }
73
- //# sourceMappingURL=request-values.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-values.js","sourceRoot":"","sources":["../../src/cli/request-values.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /** Resolves CLI inputs into a launch request (PRD §12A.1/§12A.2/§12A.4, C-CLI-03/04/06/14/19/21). */
2
- import { type AgentDetector } from "./agent-detect.ts";
3
- import { type ParsedRunCommand, type RequestContext, type ResolvedRunRequest } from "./types.ts";
4
- export { finalizeRunRequest } from "./request-finalize.ts";
5
- type SettingsContext = Omit<RequestContext, "stdin">;
6
- export declare function resolveRunRequest(parsed: ParsedRunCommand, context: RequestContext, detectAgent?: AgentDetector): Promise<ResolvedRunRequest>;
7
- /**
8
- * Resolve and validate settings without reading prompt input or starting an agent.
9
- * `detectAgent` runs only when nothing selects the agent for a new session (C-CLI-21).
10
- */
11
- export declare function resolveRunSettings(parsed: ParsedRunCommand, context: SettingsContext, detectAgent?: AgentDetector): Promise<ResolvedRunRequest>;
12
- //# sourceMappingURL=request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/cli/request.ts"],"names":[],"mappings":"AAAA,qGAAqG;AAErG,OAAO,EAAE,KAAK,aAAa,EAAqC,MAAM,mBAAmB,CAAC;AAgB1F,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAErD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,cAAc,EACvB,WAAW,GAAE,aAAoC,GAChD,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,EACxB,WAAW,GAAE,aAAoC,GAChD,OAAO,CAAC,kBAAkB,CAAC,CAmF7B"}
@@ -1,103 +0,0 @@
1
- /** Resolves CLI inputs into a launch request (PRD §12A.1/§12A.2/§12A.4, C-CLI-03/04/06/14/19/21). */
2
- import { detectAvailableAgent, selectAgent } from "./agent-detect.js";
3
- import { resolveConfigLocation } from "./config/paths.js";
4
- import { readConfigWithStatus } from "./config/store.js";
5
- import { parseDuration } from "./duration.js";
6
- import { readPromptInput } from "./input.js";
7
- import { explicitAdapterOptions, layeredSettings } from "./request-layers.js";
8
- import { ioSettings, optionSettings, resolvePosture } from "./request-settings.js";
9
- import { configKey, sourced } from "./request-sources.js";
10
- import { validateLifecycle, validateOutput, validateSpecificFlags } from "./request-validation.js";
11
- import { decodeEnvironment, optional, optionalNonBlank, reasoning, requiredChoice, } from "./request-values.js";
12
- import { cliAgents, cliOutputModes, } from "./types.js";
13
- export { finalizeRunRequest } from "./request-finalize.js";
14
- export async function resolveRunRequest(parsed, context, detectAgent = detectAvailableAgent) {
15
- return {
16
- ...(await resolveRunSettings(parsed, context, detectAgent)),
17
- prompt: await readPromptInput(parsed.promptWords, context.stdin),
18
- };
19
- }
20
- /**
21
- * Resolve and validate settings without reading prompt input or starting an agent.
22
- * `detectAgent` runs only when nothing selects the agent for a new session (C-CLI-21).
23
- */
24
- export async function resolveRunSettings(parsed, context, detectAgent = detectAvailableAgent) {
25
- const useDefaults = parsed.flags.ignoreDefaults !== true;
26
- const configLocation = resolveConfigLocation(context.env, context.invocationCwd, context.homeDir);
27
- const configRead = useDefaults
28
- ? readConfigWithStatus(configLocation.path)
29
- : { config: { schemaVersion: 1 }, loaded: false };
30
- const config = configRead.config;
31
- const env = useDefaults ? decodeEnvironment(context.env) : {};
32
- const resuming = parsed.flags.resume !== undefined;
33
- const agentSetting = await selectAgent({
34
- flag: parsed.flags.agent,
35
- env: env.agent,
36
- config: sourced(config.agent, configKey(configLocation.path, "agent")),
37
- resuming,
38
- }, detectAgent);
39
- const agent = requiredChoice(agentSetting.value, cliAgents, "agent");
40
- if (!resuming)
41
- validateSpecificFlags(parsed, env, agent, agentSetting.source);
42
- validateLifecycle(parsed, env);
43
- const io = ioSettings(parsed, env, config, configLocation.path);
44
- const output = requiredChoice(io.output.value, cliOutputModes, "output");
45
- const debug = parsed.flags.debug ?? false;
46
- const head = parsed.flags.head ?? false;
47
- validateOutput(output, io.stream, io.verbose, debug, head);
48
- const layers = layeredSettings(parsed, env, config, configLocation.path, context, resuming);
49
- const agentOptions = optionSettings(config, configLocation.path, layers.model, layers.effort);
50
- const selected = agentOptions.values[agent];
51
- const posture = resolvePosture(parsed, env, config, configLocation.path, agent);
52
- return {
53
- agent,
54
- ...((parsed.flags.agent !== undefined || env.agent !== undefined) && { explicitAgent: agent }),
55
- output,
56
- outputExplicit: parsed.explicit.has("output"),
57
- ...(layers.timeout.value !== undefined && { timeoutMs: parseDuration(layers.timeout.value) }),
58
- trust: io.trust.value,
59
- stateDir: layers.stateDir.value,
60
- verbose: io.verbose.value,
61
- stream: io.stream.value,
62
- debug,
63
- head,
64
- ...optional(layers.persona.value, "persona"),
65
- ...optional(optionalNonBlank(selected.model, "model"), "model"),
66
- ...optional(resuming ? selected.reasoningEffort : reasoning(agent, selected.reasoningEffort), "reasoningEffort"),
67
- agentOptions: agentOptions.values,
68
- ...explicitAdapterOptions(parsed, env),
69
- ...optional(posture.permissionMode, "permissionMode"),
70
- ...optional(posture.sandbox, "sandbox"),
71
- ...optional(posture.approvalPolicy, "approvalPolicy"),
72
- ...optional(layers.cwd.value, "cwd"),
73
- cwdExplicit: parsed.explicit.has("cwd"),
74
- imagePaths: parsed.flags.images,
75
- prompt: "",
76
- keep: parsed.flags.keep ?? false,
77
- ...optional(optionalNonBlank(parsed.flags.resume, "resume"), "resume"),
78
- ephemeral: parsed.flags.ephemeral ?? false,
79
- resolution: {
80
- config: { ...configLocation, loaded: configRead.loaded },
81
- sources: {
82
- agent: agentSetting.source,
83
- output: io.output.source,
84
- timeoutMs: layers.timeout.source,
85
- trust: io.trust.source,
86
- stateDir: layers.stateDir.source,
87
- verbose: io.verbose.source,
88
- stream: io.stream.source,
89
- debug: debug ? "--debug" : "built-in",
90
- head: head ? "--head" : "built-in",
91
- persona: layers.persona.source,
92
- model: agentOptions.sources[agent].model,
93
- reasoningEffort: agentOptions.sources[agent].reasoningEffort,
94
- permissionMode: posture.sources.permissionMode,
95
- sandbox: posture.sources.sandbox,
96
- approvalPolicy: posture.sources.approvalPolicy,
97
- workspace: layers.cwd.source,
98
- },
99
- agentOptionSources: agentOptions.sources,
100
- },
101
- };
102
- }
103
- //# sourceMappingURL=request.js.map