@with-logic/elwood 0.1.0 → 0.1.1

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 (673) hide show
  1. package/CHANGELOG.md +166 -1
  2. package/LICENSE +1 -1
  3. package/README.md +276 -13
  4. package/dist/claude/command.d.ts +9 -2
  5. package/dist/claude/command.d.ts.map +1 -1
  6. package/dist/claude/command.js +23 -16
  7. package/dist/claude/command.js.map +1 -1
  8. package/dist/claude/session/index.d.ts.map +1 -1
  9. package/dist/claude/session/index.js +5 -2
  10. package/dist/claude/session/index.js.map +1 -1
  11. package/dist/claude/session/resume.d.ts +1 -1
  12. package/dist/claude/session/resume.d.ts.map +1 -1
  13. package/dist/claude/session/resume.js +5 -1
  14. package/dist/claude/session/resume.js.map +1 -1
  15. package/dist/claude/simple.d.ts.map +1 -1
  16. package/dist/claude/simple.js +4 -0
  17. package/dist/claude/simple.js.map +1 -1
  18. package/dist/cli/args/index.d.ts +3 -1
  19. package/dist/cli/args/index.d.ts.map +1 -1
  20. package/dist/cli/args/index.js +10 -2
  21. package/dist/cli/args/index.js.map +1 -1
  22. package/dist/cli/args/options.d.ts.map +1 -1
  23. package/dist/cli/args/options.js +2 -0
  24. package/dist/cli/args/options.js.map +1 -1
  25. package/dist/cli/args-commands.d.ts +10 -0
  26. package/dist/cli/args-commands.d.ts.map +1 -0
  27. package/dist/cli/args-commands.js +113 -0
  28. package/dist/cli/args-commands.js.map +1 -0
  29. package/dist/cli/command-types.d.ts +26 -0
  30. package/dist/cli/command-types.d.ts.map +1 -0
  31. package/dist/cli/command-types.js +9 -0
  32. package/dist/cli/command-types.js.map +1 -0
  33. package/dist/cli/config/codec-primitives.d.ts +20 -0
  34. package/dist/cli/config/codec-primitives.d.ts.map +1 -0
  35. package/dist/cli/config/codec-primitives.js +51 -0
  36. package/dist/cli/config/codec-primitives.js.map +1 -0
  37. package/dist/cli/config/codec.d.ts.map +1 -1
  38. package/dist/cli/config/codec.js +4 -46
  39. package/dist/cli/config/codec.js.map +1 -1
  40. package/dist/cli/config/effective.d.ts.map +1 -1
  41. package/dist/cli/config/effective.js +1 -0
  42. package/dist/cli/config/effective.js.map +1 -1
  43. package/dist/cli/config/keys.d.ts +1 -1
  44. package/dist/cli/config/keys.d.ts.map +1 -1
  45. package/dist/cli/config/keys.js +1 -0
  46. package/dist/cli/config/keys.js.map +1 -1
  47. package/dist/cli/entry.d.ts +4 -2
  48. package/dist/cli/entry.d.ts.map +1 -1
  49. package/dist/cli/entry.js +2 -1
  50. package/dist/cli/entry.js.map +1 -1
  51. package/dist/cli/help.d.ts +2 -2
  52. package/dist/cli/help.d.ts.map +1 -1
  53. package/dist/cli/help.js +40 -1
  54. package/dist/cli/help.js.map +1 -1
  55. package/dist/cli/interactive/index.d.ts +26 -0
  56. package/dist/cli/interactive/index.d.ts.map +1 -0
  57. package/dist/cli/interactive/index.js +33 -0
  58. package/dist/cli/interactive/index.js.map +1 -0
  59. package/dist/cli/interactive/launch.d.ts +14 -0
  60. package/dist/cli/interactive/launch.d.ts.map +1 -0
  61. package/dist/cli/interactive/launch.js +66 -0
  62. package/dist/cli/interactive/launch.js.map +1 -0
  63. package/dist/cli/interactive/spawn.d.ts +18 -0
  64. package/dist/cli/interactive/spawn.d.ts.map +1 -0
  65. package/dist/cli/interactive/spawn.js +32 -0
  66. package/dist/cli/interactive/spawn.js.map +1 -0
  67. package/dist/cli/main-failure.d.ts +28 -0
  68. package/dist/cli/main-failure.d.ts.map +1 -0
  69. package/dist/cli/main-failure.js +78 -0
  70. package/dist/cli/main-failure.js.map +1 -0
  71. package/dist/cli/main.d.ts +12 -4
  72. package/dist/cli/main.d.ts.map +1 -1
  73. package/dist/cli/main.js +27 -73
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/cli/models/index.d.ts +20 -0
  76. package/dist/cli/models/index.d.ts.map +1 -0
  77. package/dist/cli/models/index.js +60 -0
  78. package/dist/cli/models/index.js.map +1 -0
  79. package/dist/cli/models/render.d.ts +9 -0
  80. package/dist/cli/models/render.d.ts.map +1 -0
  81. package/dist/cli/models/render.js +33 -0
  82. package/dist/cli/models/render.js.map +1 -0
  83. package/dist/cli/request/index.d.ts.map +1 -1
  84. package/dist/cli/request/index.js +8 -2
  85. package/dist/cli/request/index.js.map +1 -1
  86. package/dist/cli/request/posture.d.ts +28 -0
  87. package/dist/cli/request/posture.d.ts.map +1 -0
  88. package/dist/cli/request/posture.js +70 -0
  89. package/dist/cli/request/posture.js.map +1 -0
  90. package/dist/cli/request/resolution-types.d.ts +1 -0
  91. package/dist/cli/request/resolution-types.d.ts.map +1 -1
  92. package/dist/cli/request/settings.d.ts +2 -12
  93. package/dist/cli/request/settings.d.ts.map +1 -1
  94. package/dist/cli/request/settings.js +2 -25
  95. package/dist/cli/request/settings.js.map +1 -1
  96. package/dist/cli/request/validation.d.ts +12 -0
  97. package/dist/cli/request/validation.d.ts.map +1 -1
  98. package/dist/cli/request/validation.js +30 -10
  99. package/dist/cli/request/validation.js.map +1 -1
  100. package/dist/cli/request/values.d.ts +1 -0
  101. package/dist/cli/request/values.d.ts.map +1 -1
  102. package/dist/cli/request/values.js +1 -0
  103. package/dist/cli/request/values.js.map +1 -1
  104. package/dist/cli/run/index.d.ts.map +1 -1
  105. package/dist/cli/run/index.js +5 -41
  106. package/dist/cli/run/index.js.map +1 -1
  107. package/dist/cli/run/subscribe.d.ts +19 -0
  108. package/dist/cli/run/subscribe.d.ts.map +1 -0
  109. package/dist/cli/run/subscribe.js +47 -0
  110. package/dist/cli/run/subscribe.js.map +1 -0
  111. package/dist/cli/session/launch.d.ts +3 -0
  112. package/dist/cli/session/launch.d.ts.map +1 -1
  113. package/dist/cli/session/launch.js +11 -0
  114. package/dist/cli/session/launch.js.map +1 -1
  115. package/dist/cli/sessions/index.d.ts +23 -0
  116. package/dist/cli/sessions/index.d.ts.map +1 -0
  117. package/dist/cli/sessions/index.js +65 -0
  118. package/dist/cli/sessions/index.js.map +1 -0
  119. package/dist/cli/sessions/list.d.ts +28 -0
  120. package/dist/cli/sessions/list.d.ts.map +1 -0
  121. package/dist/cli/sessions/list.js +63 -0
  122. package/dist/cli/sessions/list.js.map +1 -0
  123. package/dist/cli/table.d.ts +7 -0
  124. package/dist/cli/table.d.ts.map +1 -0
  125. package/dist/cli/table.js +14 -0
  126. package/dist/cli/table.js.map +1 -0
  127. package/dist/cli/types.d.ts +5 -1
  128. package/dist/cli/types.d.ts.map +1 -1
  129. package/dist/cli/types.js.map +1 -1
  130. package/dist/codex/command.d.ts +18 -2
  131. package/dist/codex/command.d.ts.map +1 -1
  132. package/dist/codex/command.js +39 -24
  133. package/dist/codex/command.js.map +1 -1
  134. package/dist/codex/session/index.d.ts.map +1 -1
  135. package/dist/codex/session/index.js +5 -2
  136. package/dist/codex/session/index.js.map +1 -1
  137. package/dist/codex/session/resume.d.ts +1 -1
  138. package/dist/codex/session/resume.d.ts.map +1 -1
  139. package/dist/codex/session/resume.js +5 -1
  140. package/dist/codex/session/resume.js.map +1 -1
  141. package/dist/codex/session/types.d.ts +3 -0
  142. package/dist/codex/session/types.d.ts.map +1 -1
  143. package/dist/codex/simple.d.ts.map +1 -1
  144. package/dist/codex/simple.js +4 -0
  145. package/dist/codex/simple.js.map +1 -1
  146. package/dist/core/errors.d.ts +1 -1
  147. package/dist/core/errors.d.ts.map +1 -1
  148. package/dist/core/errors.js.map +1 -1
  149. package/dist/core/high-trust.d.ts +41 -0
  150. package/dist/core/high-trust.d.ts.map +1 -0
  151. package/dist/core/high-trust.js +50 -0
  152. package/dist/core/high-trust.js.map +1 -0
  153. package/dist/core/trust/allowlist.d.ts +56 -0
  154. package/dist/core/trust/allowlist.d.ts.map +1 -0
  155. package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
  156. package/dist/core/trust/allowlist.js.map +1 -0
  157. package/dist/core/trust/prompts.d.ts +4 -46
  158. package/dist/core/trust/prompts.d.ts.map +1 -1
  159. package/dist/core/trust/prompts.js +2 -73
  160. package/dist/core/trust/prompts.js.map +1 -1
  161. package/dist/core/trust/responder.d.ts +2 -0
  162. package/dist/core/trust/responder.d.ts.map +1 -1
  163. package/dist/core/trust/responder.js +4 -0
  164. package/dist/core/trust/responder.js.map +1 -1
  165. package/dist/core/types.d.ts +3 -0
  166. package/dist/core/types.d.ts.map +1 -1
  167. package/dist/runtime/launch-arguments.d.ts +12 -0
  168. package/dist/runtime/launch-arguments.d.ts.map +1 -0
  169. package/dist/runtime/launch-arguments.js +15 -0
  170. package/dist/runtime/launch-arguments.js.map +1 -0
  171. package/docs/cli-behavior.md +88 -0
  172. package/docs/cli-output.md +60 -0
  173. package/docs/cli.md +10 -2
  174. package/package.json +8 -6
  175. package/dist/claude/hook-dispatch.d.ts +0 -9
  176. package/dist/claude/hook-dispatch.d.ts.map +0 -1
  177. package/dist/claude/hook-dispatch.js +0 -12
  178. package/dist/claude/hook-dispatch.js.map +0 -1
  179. package/dist/claude/hook-events-extra.d.ts +0 -81
  180. package/dist/claude/hook-events-extra.d.ts.map +0 -1
  181. package/dist/claude/hook-events-extra.js +0 -6
  182. package/dist/claude/hook-events-extra.js.map +0 -1
  183. package/dist/claude/hook-events.d.ts +0 -101
  184. package/dist/claude/hook-events.d.ts.map +0 -1
  185. package/dist/claude/hook-events.js +0 -6
  186. package/dist/claude/hook-events.js.map +0 -1
  187. package/dist/claude/hook-names.d.ts +0 -24
  188. package/dist/claude/hook-names.d.ts.map +0 -1
  189. package/dist/claude/hook-names.js +0 -45
  190. package/dist/claude/hook-names.js.map +0 -1
  191. package/dist/claude/hooks.d.ts +0 -78
  192. package/dist/claude/hooks.d.ts.map +0 -1
  193. package/dist/claude/hooks.js +0 -6
  194. package/dist/claude/hooks.js.map +0 -1
  195. package/dist/claude/session-bridge.d.ts +0 -11
  196. package/dist/claude/session-bridge.d.ts.map +0 -1
  197. package/dist/claude/session-bridge.js +0 -18
  198. package/dist/claude/session-bridge.js.map +0 -1
  199. package/dist/claude/session-build.d.ts +0 -15
  200. package/dist/claude/session-build.d.ts.map +0 -1
  201. package/dist/claude/session-build.js +0 -147
  202. package/dist/claude/session-build.js.map +0 -1
  203. package/dist/claude/session-hook-handler.d.ts +0 -34
  204. package/dist/claude/session-hook-handler.d.ts.map +0 -1
  205. package/dist/claude/session-hook-handler.js +0 -42
  206. package/dist/claude/session-hook-handler.js.map +0 -1
  207. package/dist/claude/session-instance.d.ts +0 -42
  208. package/dist/claude/session-instance.d.ts.map +0 -1
  209. package/dist/claude/session-instance.js +0 -146
  210. package/dist/claude/session-instance.js.map +0 -1
  211. package/dist/claude/session-interface.d.ts +0 -49
  212. package/dist/claude/session-interface.d.ts.map +0 -1
  213. package/dist/claude/session-interface.js +0 -10
  214. package/dist/claude/session-interface.js.map +0 -1
  215. package/dist/claude/session-resume.d.ts +0 -8
  216. package/dist/claude/session-resume.d.ts.map +0 -1
  217. package/dist/claude/session-resume.js +0 -47
  218. package/dist/claude/session-resume.js.map +0 -1
  219. package/dist/claude/session-runtime.d.ts +0 -43
  220. package/dist/claude/session-runtime.d.ts.map +0 -1
  221. package/dist/claude/session-runtime.js +0 -105
  222. package/dist/claude/session-runtime.js.map +0 -1
  223. package/dist/claude/session-transcript.d.ts +0 -62
  224. package/dist/claude/session-transcript.d.ts.map +0 -1
  225. package/dist/claude/session-transcript.js +0 -88
  226. package/dist/claude/session-transcript.js.map +0 -1
  227. package/dist/claude/session.d.ts +0 -18
  228. package/dist/claude/session.d.ts.map +0 -1
  229. package/dist/claude/session.js +0 -58
  230. package/dist/claude/session.js.map +0 -1
  231. package/dist/claude/start-or-resume.d.ts +0 -12
  232. package/dist/claude/start-or-resume.d.ts.map +0 -1
  233. package/dist/claude/start-or-resume.js +0 -32
  234. package/dist/claude/start-or-resume.js.map +0 -1
  235. package/dist/claude/tool-hook-events.d.ts +0 -10
  236. package/dist/claude/tool-hook-events.d.ts.map +0 -1
  237. package/dist/claude/tool-hook-events.js +0 -18
  238. package/dist/claude/tool-hook-events.js.map +0 -1
  239. package/dist/claude/tool-types.d.ts +0 -158
  240. package/dist/claude/tool-types.d.ts.map +0 -1
  241. package/dist/claude/tool-types.js +0 -6
  242. package/dist/claude/tool-types.js.map +0 -1
  243. package/dist/claude/validate-input.d.ts +0 -8
  244. package/dist/claude/validate-input.d.ts.map +0 -1
  245. package/dist/claude/validate-input.js +0 -137
  246. package/dist/claude/validate-input.js.map +0 -1
  247. package/dist/claude/validate-permission-update.d.ts +0 -10
  248. package/dist/claude/validate-permission-update.d.ts.map +0 -1
  249. package/dist/claude/validate-permission-update.js +0 -72
  250. package/dist/claude/validate-permission-update.js.map +0 -1
  251. package/dist/claude/validate-result.d.ts +0 -7
  252. package/dist/claude/validate-result.d.ts.map +0 -1
  253. package/dist/claude/validate-result.js +0 -118
  254. package/dist/claude/validate-result.js.map +0 -1
  255. package/dist/claude/validate-shapes.d.ts +0 -22
  256. package/dist/claude/validate-shapes.d.ts.map +0 -1
  257. package/dist/claude/validate-shapes.js +0 -15
  258. package/dist/claude/validate-shapes.js.map +0 -1
  259. package/dist/claude/validate-tool-update.d.ts +0 -15
  260. package/dist/claude/validate-tool-update.d.ts.map +0 -1
  261. package/dist/claude/validate-tool-update.js +0 -122
  262. package/dist/claude/validate-tool-update.js.map +0 -1
  263. package/dist/cli/agent-detect.d.ts +0 -44
  264. package/dist/cli/agent-detect.d.ts.map +0 -1
  265. package/dist/cli/agent-detect.js +0 -66
  266. package/dist/cli/agent-detect.js.map +0 -1
  267. package/dist/cli/arg-errors.d.ts +0 -6
  268. package/dist/cli/arg-errors.d.ts.map +0 -1
  269. package/dist/cli/arg-errors.js +0 -44
  270. package/dist/cli/arg-errors.js.map +0 -1
  271. package/dist/cli/arg-options.d.ts +0 -26
  272. package/dist/cli/arg-options.d.ts.map +0 -1
  273. package/dist/cli/arg-options.js +0 -50
  274. package/dist/cli/arg-options.js.map +0 -1
  275. package/dist/cli/args.d.ts +0 -7
  276. package/dist/cli/args.d.ts.map +0 -1
  277. package/dist/cli/args.js +0 -70
  278. package/dist/cli/args.js.map +0 -1
  279. package/dist/cli/lifecycle-outcome.d.ts +0 -13
  280. package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
  281. package/dist/cli/lifecycle-outcome.js +0 -20
  282. package/dist/cli/lifecycle-outcome.js.map +0 -1
  283. package/dist/cli/lifecycle.d.ts +0 -61
  284. package/dist/cli/lifecycle.d.ts.map +0 -1
  285. package/dist/cli/lifecycle.js +0 -152
  286. package/dist/cli/lifecycle.js.map +0 -1
  287. package/dist/cli/request-finalize.d.ts +0 -10
  288. package/dist/cli/request-finalize.d.ts.map +0 -1
  289. package/dist/cli/request-finalize.js +0 -135
  290. package/dist/cli/request-finalize.js.map +0 -1
  291. package/dist/cli/request-layers.d.ts +0 -30
  292. package/dist/cli/request-layers.d.ts.map +0 -1
  293. package/dist/cli/request-layers.js +0 -44
  294. package/dist/cli/request-layers.js.map +0 -1
  295. package/dist/cli/request-settings.d.ts +0 -34
  296. package/dist/cli/request-settings.d.ts.map +0 -1
  297. package/dist/cli/request-settings.js +0 -66
  298. package/dist/cli/request-settings.js.map +0 -1
  299. package/dist/cli/request-sources.d.ts +0 -13
  300. package/dist/cli/request-sources.d.ts.map +0 -1
  301. package/dist/cli/request-sources.js +0 -23
  302. package/dist/cli/request-sources.js.map +0 -1
  303. package/dist/cli/request-validation.d.ts +0 -18
  304. package/dist/cli/request-validation.d.ts.map +0 -1
  305. package/dist/cli/request-validation.js +0 -84
  306. package/dist/cli/request-validation.js.map +0 -1
  307. package/dist/cli/request-values.d.ts +0 -33
  308. package/dist/cli/request-values.d.ts.map +0 -1
  309. package/dist/cli/request-values.js +0 -73
  310. package/dist/cli/request-values.js.map +0 -1
  311. package/dist/cli/request.d.ts +0 -12
  312. package/dist/cli/request.d.ts.map +0 -1
  313. package/dist/cli/request.js +0 -103
  314. package/dist/cli/request.js.map +0 -1
  315. package/dist/cli/resolution-types.d.ts +0 -35
  316. package/dist/cli/resolution-types.d.ts.map +0 -1
  317. package/dist/cli/resolution-types.js +0 -6
  318. package/dist/cli/resolution-types.js.map +0 -1
  319. package/dist/cli/run-output-lines.d.ts +0 -14
  320. package/dist/cli/run-output-lines.d.ts.map +0 -1
  321. package/dist/cli/run-output-lines.js +0 -42
  322. package/dist/cli/run-output-lines.js.map +0 -1
  323. package/dist/cli/run-output.d.ts +0 -48
  324. package/dist/cli/run-output.d.ts.map +0 -1
  325. package/dist/cli/run-output.js +0 -150
  326. package/dist/cli/run-output.js.map +0 -1
  327. package/dist/cli/run.d.ts +0 -20
  328. package/dist/cli/run.d.ts.map +0 -1
  329. package/dist/cli/run.js +0 -126
  330. package/dist/cli/run.js.map +0 -1
  331. package/dist/cli/session-launch.d.ts +0 -23
  332. package/dist/cli/session-launch.d.ts.map +0 -1
  333. package/dist/cli/session-launch.js +0 -57
  334. package/dist/cli/session-launch.js.map +0 -1
  335. package/dist/cli/session.d.ts +0 -68
  336. package/dist/cli/session.d.ts.map +0 -1
  337. package/dist/cli/session.js +0 -124
  338. package/dist/cli/session.js.map +0 -1
  339. package/dist/codex/attach-images.d.ts +0 -20
  340. package/dist/codex/attach-images.d.ts.map +0 -1
  341. package/dist/codex/attach-images.js +0 -66
  342. package/dist/codex/attach-images.js.map +0 -1
  343. package/dist/codex/clipboard-lock.d.ts +0 -15
  344. package/dist/codex/clipboard-lock.d.ts.map +0 -1
  345. package/dist/codex/clipboard-lock.js +0 -16
  346. package/dist/codex/clipboard-lock.js.map +0 -1
  347. package/dist/codex/clipboard.d.ts +0 -32
  348. package/dist/codex/clipboard.d.ts.map +0 -1
  349. package/dist/codex/clipboard.js +0 -92
  350. package/dist/codex/clipboard.js.map +0 -1
  351. package/dist/codex/config-lock.d.ts +0 -21
  352. package/dist/codex/config-lock.d.ts.map +0 -1
  353. package/dist/codex/config-lock.js +0 -22
  354. package/dist/codex/config-lock.js.map +0 -1
  355. package/dist/codex/config-restore.d.ts +0 -33
  356. package/dist/codex/config-restore.d.ts.map +0 -1
  357. package/dist/codex/config-restore.js +0 -90
  358. package/dist/codex/config-restore.js.map +0 -1
  359. package/dist/codex/config-transaction.d.ts +0 -26
  360. package/dist/codex/config-transaction.d.ts.map +0 -1
  361. package/dist/codex/config-transaction.js +0 -47
  362. package/dist/codex/config-transaction.js.map +0 -1
  363. package/dist/codex/hook-dispatch.d.ts +0 -9
  364. package/dist/codex/hook-dispatch.d.ts.map +0 -1
  365. package/dist/codex/hook-dispatch.js +0 -14
  366. package/dist/codex/hook-dispatch.js.map +0 -1
  367. package/dist/codex/hook-names.d.ts +0 -19
  368. package/dist/codex/hook-names.d.ts.map +0 -1
  369. package/dist/codex/hook-names.js +0 -17
  370. package/dist/codex/hook-names.js.map +0 -1
  371. package/dist/codex/hooks.d.ts +0 -99
  372. package/dist/codex/hooks.d.ts.map +0 -1
  373. package/dist/codex/hooks.js +0 -6
  374. package/dist/codex/hooks.js.map +0 -1
  375. package/dist/codex/initial-ready.d.ts +0 -19
  376. package/dist/codex/initial-ready.d.ts.map +0 -1
  377. package/dist/codex/initial-ready.js +0 -19
  378. package/dist/codex/initial-ready.js.map +0 -1
  379. package/dist/codex/serialize.d.ts +0 -8
  380. package/dist/codex/serialize.d.ts.map +0 -1
  381. package/dist/codex/serialize.js +0 -48
  382. package/dist/codex/serialize.js.map +0 -1
  383. package/dist/codex/session-bridge.d.ts +0 -14
  384. package/dist/codex/session-bridge.d.ts.map +0 -1
  385. package/dist/codex/session-bridge.js +0 -20
  386. package/dist/codex/session-bridge.js.map +0 -1
  387. package/dist/codex/session-build.d.ts +0 -15
  388. package/dist/codex/session-build.d.ts.map +0 -1
  389. package/dist/codex/session-build.js +0 -144
  390. package/dist/codex/session-build.js.map +0 -1
  391. package/dist/codex/session-cleanup.d.ts +0 -12
  392. package/dist/codex/session-cleanup.d.ts.map +0 -1
  393. package/dist/codex/session-cleanup.js +0 -15
  394. package/dist/codex/session-cleanup.js.map +0 -1
  395. package/dist/codex/session-hooks.d.ts +0 -13
  396. package/dist/codex/session-hooks.d.ts.map +0 -1
  397. package/dist/codex/session-hooks.js +0 -54
  398. package/dist/codex/session-hooks.js.map +0 -1
  399. package/dist/codex/session-instance.d.ts +0 -50
  400. package/dist/codex/session-instance.d.ts.map +0 -1
  401. package/dist/codex/session-instance.js +0 -117
  402. package/dist/codex/session-instance.js.map +0 -1
  403. package/dist/codex/session-resume.d.ts +0 -7
  404. package/dist/codex/session-resume.d.ts.map +0 -1
  405. package/dist/codex/session-resume.js +0 -44
  406. package/dist/codex/session-resume.js.map +0 -1
  407. package/dist/codex/session-runtime.d.ts +0 -7
  408. package/dist/codex/session-runtime.d.ts.map +0 -1
  409. package/dist/codex/session-runtime.js +0 -10
  410. package/dist/codex/session-runtime.js.map +0 -1
  411. package/dist/codex/session-transcript.d.ts +0 -30
  412. package/dist/codex/session-transcript.d.ts.map +0 -1
  413. package/dist/codex/session-transcript.js +0 -53
  414. package/dist/codex/session-transcript.js.map +0 -1
  415. package/dist/codex/session-types.d.ts +0 -87
  416. package/dist/codex/session-types.d.ts.map +0 -1
  417. package/dist/codex/session-types.js +0 -6
  418. package/dist/codex/session-types.js.map +0 -1
  419. package/dist/codex/session-warnings.d.ts +0 -27
  420. package/dist/codex/session-warnings.d.ts.map +0 -1
  421. package/dist/codex/session-warnings.js +0 -54
  422. package/dist/codex/session-warnings.js.map +0 -1
  423. package/dist/codex/session.d.ts +0 -16
  424. package/dist/codex/session.d.ts.map +0 -1
  425. package/dist/codex/session.js +0 -61
  426. package/dist/codex/session.js.map +0 -1
  427. package/dist/codex/start-or-resume.d.ts +0 -12
  428. package/dist/codex/start-or-resume.d.ts.map +0 -1
  429. package/dist/codex/start-or-resume.js +0 -31
  430. package/dist/codex/start-or-resume.js.map +0 -1
  431. package/dist/codex/transcript/cursor-io.d.ts +0 -7
  432. package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
  433. package/dist/codex/transcript/cursor-io.js +0 -7
  434. package/dist/codex/transcript/cursor-io.js.map +0 -1
  435. package/dist/codex/transcript/cursor.d.ts +0 -8
  436. package/dist/codex/transcript/cursor.d.ts.map +0 -1
  437. package/dist/codex/transcript/cursor.js +0 -8
  438. package/dist/codex/transcript/cursor.js.map +0 -1
  439. package/dist/codex/transcript/drops.d.ts +0 -9
  440. package/dist/codex/transcript/drops.d.ts.map +0 -1
  441. package/dist/codex/transcript/drops.js +0 -9
  442. package/dist/codex/transcript/drops.js.map +0 -1
  443. package/dist/codex/transcript.d.ts +0 -12
  444. package/dist/codex/transcript.d.ts.map +0 -1
  445. package/dist/codex/transcript.js +0 -10
  446. package/dist/codex/transcript.js.map +0 -1
  447. package/dist/codex/validate-result.d.ts +0 -7
  448. package/dist/codex/validate-result.d.ts.map +0 -1
  449. package/dist/codex/validate-result.js +0 -84
  450. package/dist/codex/validate-result.js.map +0 -1
  451. package/dist/codex/validate.d.ts +0 -11
  452. package/dist/codex/validate.d.ts.map +0 -1
  453. package/dist/codex/validate.js +0 -88
  454. package/dist/codex/validate.js.map +0 -1
  455. package/dist/core/activity-lifecycle.d.ts +0 -21
  456. package/dist/core/activity-lifecycle.d.ts.map +0 -1
  457. package/dist/core/activity-lifecycle.js +0 -45
  458. package/dist/core/activity-lifecycle.js.map +0 -1
  459. package/dist/core/activity-meta.d.ts +0 -13
  460. package/dist/core/activity-meta.d.ts.map +0 -1
  461. package/dist/core/activity-meta.js +0 -67
  462. package/dist/core/activity-meta.js.map +0 -1
  463. package/dist/core/activity-transcript.d.ts +0 -19
  464. package/dist/core/activity-transcript.d.ts.map +0 -1
  465. package/dist/core/activity-transcript.js +0 -60
  466. package/dist/core/activity-transcript.js.map +0 -1
  467. package/dist/core/activity.d.ts +0 -51
  468. package/dist/core/activity.d.ts.map +0 -1
  469. package/dist/core/activity.js +0 -81
  470. package/dist/core/activity.js.map +0 -1
  471. package/dist/core/control-queue-state.d.ts +0 -29
  472. package/dist/core/control-queue-state.d.ts.map +0 -1
  473. package/dist/core/control-queue-state.js +0 -95
  474. package/dist/core/control-queue-state.js.map +0 -1
  475. package/dist/core/control-queue-traits.d.ts +0 -54
  476. package/dist/core/control-queue-traits.d.ts.map +0 -1
  477. package/dist/core/control-queue-traits.js +0 -118
  478. package/dist/core/control-queue-traits.js.map +0 -1
  479. package/dist/core/control-queue-types.d.ts +0 -45
  480. package/dist/core/control-queue-types.d.ts.map +0 -1
  481. package/dist/core/control-queue-types.js +0 -7
  482. package/dist/core/control-queue-types.js.map +0 -1
  483. package/dist/core/control-queue.d.ts +0 -21
  484. package/dist/core/control-queue.d.ts.map +0 -1
  485. package/dist/core/control-queue.js +0 -98
  486. package/dist/core/control-queue.js.map +0 -1
  487. package/dist/core/list-models.d.ts +0 -44
  488. package/dist/core/list-models.d.ts.map +0 -1
  489. package/dist/core/list-models.js +0 -73
  490. package/dist/core/list-models.js.map +0 -1
  491. package/dist/core/model-picker.d.ts +0 -22
  492. package/dist/core/model-picker.d.ts.map +0 -1
  493. package/dist/core/model-picker.js +0 -58
  494. package/dist/core/model-picker.js.map +0 -1
  495. package/dist/core/model-rows.d.ts +0 -21
  496. package/dist/core/model-rows.d.ts.map +0 -1
  497. package/dist/core/model-rows.js +0 -57
  498. package/dist/core/model-rows.js.map +0 -1
  499. package/dist/core/probe-state.d.ts +0 -21
  500. package/dist/core/probe-state.d.ts.map +0 -1
  501. package/dist/core/probe-state.js +0 -39
  502. package/dist/core/probe-state.js.map +0 -1
  503. package/dist/core/session-input-abort.d.ts +0 -10
  504. package/dist/core/session-input-abort.d.ts.map +0 -1
  505. package/dist/core/session-input-abort.js +0 -44
  506. package/dist/core/session-input-abort.js.map +0 -1
  507. package/dist/core/session-input.d.ts +0 -37
  508. package/dist/core/session-input.d.ts.map +0 -1
  509. package/dist/core/session-input.js +0 -154
  510. package/dist/core/session-input.js.map +0 -1
  511. package/dist/core/session-warnings.d.ts +0 -20
  512. package/dist/core/session-warnings.d.ts.map +0 -1
  513. package/dist/core/session-warnings.js +0 -32
  514. package/dist/core/session-warnings.js.map +0 -1
  515. package/dist/core/simple/loop-controls.d.ts +0 -7
  516. package/dist/core/simple/loop-controls.d.ts.map +0 -1
  517. package/dist/core/simple/loop-controls.js +0 -7
  518. package/dist/core/simple/loop-controls.js.map +0 -1
  519. package/dist/core/startup-automation.d.ts +0 -54
  520. package/dist/core/startup-automation.d.ts.map +0 -1
  521. package/dist/core/startup-automation.js +0 -40
  522. package/dist/core/startup-automation.js.map +0 -1
  523. package/dist/core/startup-frame.d.ts +0 -39
  524. package/dist/core/startup-frame.d.ts.map +0 -1
  525. package/dist/core/startup-frame.js +0 -60
  526. package/dist/core/startup-frame.js.map +0 -1
  527. package/dist/core/startup-write.d.ts +0 -47
  528. package/dist/core/startup-write.d.ts.map +0 -1
  529. package/dist/core/startup-write.js +0 -73
  530. package/dist/core/startup-write.js.map +0 -1
  531. package/dist/core/trust-blocking.d.ts +0 -22
  532. package/dist/core/trust-blocking.d.ts.map +0 -1
  533. package/dist/core/trust-blocking.js +0 -38
  534. package/dist/core/trust-blocking.js.map +0 -1
  535. package/dist/core/trust-prompts.d.ts +0 -135
  536. package/dist/core/trust-prompts.d.ts.map +0 -1
  537. package/dist/core/trust-prompts.js.map +0 -1
  538. package/dist/core/trust-responder.d.ts +0 -48
  539. package/dist/core/trust-responder.d.ts.map +0 -1
  540. package/dist/core/trust-responder.js +0 -119
  541. package/dist/core/trust-responder.js.map +0 -1
  542. package/dist/core/tui-screen.d.ts +0 -21
  543. package/dist/core/tui-screen.d.ts.map +0 -1
  544. package/dist/core/tui-screen.js +0 -56
  545. package/dist/core/tui-screen.js.map +0 -1
  546. package/dist/core/update-warning.d.ts +0 -25
  547. package/dist/core/update-warning.d.ts.map +0 -1
  548. package/dist/core/update-warning.js +0 -33
  549. package/dist/core/update-warning.js.map +0 -1
  550. package/dist/core/warning-lifecycle.d.ts +0 -23
  551. package/dist/core/warning-lifecycle.d.ts.map +0 -1
  552. package/dist/core/warning-lifecycle.js +0 -6
  553. package/dist/core/warning-lifecycle.js.map +0 -1
  554. package/dist/core/warning-reasons.d.ts +0 -62
  555. package/dist/core/warning-reasons.d.ts.map +0 -1
  556. package/dist/core/warning-reasons.js +0 -121
  557. package/dist/core/warning-reasons.js.map +0 -1
  558. package/dist/core/warnings.d.ts +0 -145
  559. package/dist/core/warnings.d.ts.map +0 -1
  560. package/dist/core/warnings.js +0 -12
  561. package/dist/core/warnings.js.map +0 -1
  562. package/dist/runtime/cleanup-latch.d.ts +0 -27
  563. package/dist/runtime/cleanup-latch.d.ts.map +0 -1
  564. package/dist/runtime/cleanup-latch.js +0 -43
  565. package/dist/runtime/cleanup-latch.js.map +0 -1
  566. package/dist/runtime/initial-ready-advance.d.ts +0 -22
  567. package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
  568. package/dist/runtime/initial-ready-advance.js +0 -39
  569. package/dist/runtime/initial-ready-advance.js.map +0 -1
  570. package/dist/runtime/initial-ready-fallback.d.ts +0 -12
  571. package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
  572. package/dist/runtime/initial-ready-fallback.js +0 -20
  573. package/dist/runtime/initial-ready-fallback.js.map +0 -1
  574. package/dist/runtime/initial-ready.d.ts +0 -49
  575. package/dist/runtime/initial-ready.d.ts.map +0 -1
  576. package/dist/runtime/initial-ready.js +0 -81
  577. package/dist/runtime/initial-ready.js.map +0 -1
  578. package/dist/runtime/reap-tree.d.ts +0 -62
  579. package/dist/runtime/reap-tree.d.ts.map +0 -1
  580. package/dist/runtime/reap-tree.js +0 -108
  581. package/dist/runtime/reap-tree.js.map +0 -1
  582. package/dist/runtime/session-base-types.d.ts +0 -36
  583. package/dist/runtime/session-base-types.d.ts.map +0 -1
  584. package/dist/runtime/session-base-types.js +0 -14
  585. package/dist/runtime/session-base-types.js.map +0 -1
  586. package/dist/runtime/session-base.d.ts +0 -48
  587. package/dist/runtime/session-base.d.ts.map +0 -1
  588. package/dist/runtime/session-base.js +0 -76
  589. package/dist/runtime/session-base.js.map +0 -1
  590. package/dist/runtime/session-commands.d.ts +0 -43
  591. package/dist/runtime/session-commands.d.ts.map +0 -1
  592. package/dist/runtime/session-commands.js +0 -52
  593. package/dist/runtime/session-commands.js.map +0 -1
  594. package/dist/runtime/session-exit.d.ts +0 -16
  595. package/dist/runtime/session-exit.d.ts.map +0 -1
  596. package/dist/runtime/session-exit.js +0 -32
  597. package/dist/runtime/session-exit.js.map +0 -1
  598. package/dist/runtime/session-image-attach.d.ts +0 -45
  599. package/dist/runtime/session-image-attach.d.ts.map +0 -1
  600. package/dist/runtime/session-image-attach.js +0 -82
  601. package/dist/runtime/session-image-attach.js.map +0 -1
  602. package/dist/runtime/session-lifecycle.d.ts +0 -61
  603. package/dist/runtime/session-lifecycle.d.ts.map +0 -1
  604. package/dist/runtime/session-lifecycle.js +0 -164
  605. package/dist/runtime/session-lifecycle.js.map +0 -1
  606. package/dist/runtime/session-loops.d.ts +0 -32
  607. package/dist/runtime/session-loops.d.ts.map +0 -1
  608. package/dist/runtime/session-loops.js +0 -62
  609. package/dist/runtime/session-loops.js.map +0 -1
  610. package/dist/runtime/session-readiness.d.ts +0 -18
  611. package/dist/runtime/session-readiness.d.ts.map +0 -1
  612. package/dist/runtime/session-readiness.js +0 -22
  613. package/dist/runtime/session-readiness.js.map +0 -1
  614. package/dist/runtime/session-reap.d.ts +0 -28
  615. package/dist/runtime/session-reap.d.ts.map +0 -1
  616. package/dist/runtime/session-reap.js +0 -51
  617. package/dist/runtime/session-reap.js.map +0 -1
  618. package/dist/runtime/session-resize.d.ts +0 -20
  619. package/dist/runtime/session-resize.d.ts.map +0 -1
  620. package/dist/runtime/session-resize.js +0 -26
  621. package/dist/runtime/session-resize.js.map +0 -1
  622. package/dist/runtime/session-shutdown-binding.d.ts +0 -30
  623. package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
  624. package/dist/runtime/session-shutdown-binding.js +0 -37
  625. package/dist/runtime/session-shutdown-binding.js.map +0 -1
  626. package/dist/runtime/session-shutdown.d.ts +0 -60
  627. package/dist/runtime/session-shutdown.d.ts.map +0 -1
  628. package/dist/runtime/session-shutdown.js +0 -140
  629. package/dist/runtime/session-shutdown.js.map +0 -1
  630. package/dist/runtime/session-status-wiring.d.ts +0 -38
  631. package/dist/runtime/session-status-wiring.d.ts.map +0 -1
  632. package/dist/runtime/session-status-wiring.js +0 -41
  633. package/dist/runtime/session-status-wiring.js.map +0 -1
  634. package/dist/runtime/session-status.d.ts +0 -7
  635. package/dist/runtime/session-status.d.ts.map +0 -1
  636. package/dist/runtime/session-status.js +0 -22
  637. package/dist/runtime/session-status.js.map +0 -1
  638. package/dist/runtime/shutdown-coordinator.d.ts +0 -57
  639. package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
  640. package/dist/runtime/shutdown-coordinator.js +0 -77
  641. package/dist/runtime/shutdown-coordinator.js.map +0 -1
  642. package/dist/runtime/startup-buffer.d.ts +0 -33
  643. package/dist/runtime/startup-buffer.d.ts.map +0 -1
  644. package/dist/runtime/startup-buffer.js +0 -53
  645. package/dist/runtime/startup-buffer.js.map +0 -1
  646. package/dist/runtime/startup-cleanup.d.ts +0 -43
  647. package/dist/runtime/startup-cleanup.d.ts.map +0 -1
  648. package/dist/runtime/startup-cleanup.js +0 -89
  649. package/dist/runtime/startup-cleanup.js.map +0 -1
  650. package/dist/runtime/startup.d.ts +0 -17
  651. package/dist/runtime/startup.d.ts.map +0 -1
  652. package/dist/runtime/startup.js +0 -47
  653. package/dist/runtime/startup.js.map +0 -1
  654. package/dist/runtime/status-emit.d.ts +0 -14
  655. package/dist/runtime/status-emit.d.ts.map +0 -1
  656. package/dist/runtime/status-emit.js +0 -15
  657. package/dist/runtime/status-emit.js.map +0 -1
  658. package/dist/runtime/teardown.d.ts +0 -15
  659. package/dist/runtime/teardown.d.ts.map +0 -1
  660. package/dist/runtime/teardown.js +0 -40
  661. package/dist/runtime/teardown.js.map +0 -1
  662. package/dist/runtime/terminate.d.ts +0 -22
  663. package/dist/runtime/terminate.d.ts.map +0 -1
  664. package/dist/runtime/terminate.js +0 -129
  665. package/dist/runtime/terminate.js.map +0 -1
  666. package/dist/runtime/update-lock.d.ts +0 -19
  667. package/dist/runtime/update-lock.d.ts.map +0 -1
  668. package/dist/runtime/update-lock.js +0 -183
  669. package/dist/runtime/update-lock.js.map +0 -1
  670. package/dist/runtime/update-once.d.ts +0 -40
  671. package/dist/runtime/update-once.d.ts.map +0 -1
  672. package/dist/runtime/update-once.js +0 -88
  673. package/dist/runtime/update-once.js.map +0 -1
@@ -1,152 +0,0 @@
1
- /**
2
- * Single owner for CLI deadlines, SIGINT escalation, primary outcomes, and cleanup.
3
- * Implements PRD §12A.2/§12A.5 and C-CLI-07 through C-CLI-09/C-CLI-17.
4
- */
5
- import { cleanupAction, executionFailure } from "./lifecycle-outcome.js";
6
- const MAX_TIMER_MS = 2_147_483_647;
7
- const realClock = {
8
- now: Date.now,
9
- setTimer: (handler, delayMs) => setTimeout(handler, delayMs),
10
- clearTimer: (timer) => clearTimeout(timer),
11
- };
12
- export class CliLifecycle {
13
- request;
14
- session;
15
- signals;
16
- clock;
17
- startedAt;
18
- stopped;
19
- stop;
20
- failureValue;
21
- consumerClosedValue = false;
22
- launchStarted = false;
23
- cleaning = false;
24
- sigints = 0;
25
- timer;
26
- unbind;
27
- cleanupPromise;
28
- constructor(request, session, signals, clock = realClock) {
29
- this.request = request;
30
- this.session = session;
31
- this.signals = signals;
32
- this.clock = clock;
33
- this.startedAt = clock.now();
34
- this.stopped = new Promise((resolve) => {
35
- this.stop = resolve;
36
- });
37
- }
38
- start() {
39
- this.unbind = this.signals.onSigint(() => this.onSigint());
40
- if (this.request.timeoutMs !== undefined)
41
- this.armDeadline(this.request.timeoutMs);
42
- }
43
- beginLaunch() {
44
- this.launchStarted = true;
45
- }
46
- get failure() {
47
- return this.failureValue;
48
- }
49
- get consumerClosed() {
50
- return this.consumerClosedValue;
51
- }
52
- durationMs() {
53
- return Math.max(0, Math.trunc(this.clock.now() - this.startedAt));
54
- }
55
- race(operation) {
56
- return Promise.race([
57
- operation.then((value) => ({ completed: true, value })),
58
- this.stopped.then(() => ({ completed: false })),
59
- ]);
60
- }
61
- block(label) {
62
- if (this.record({ code: "blocked_prompt", message: `Blocked prompt: ${label}.`, exitCode: 1 }))
63
- this.requestControl("kill");
64
- }
65
- agentExited() {
66
- if (this.cleaning)
67
- return;
68
- this.record({
69
- code: "agent_exited",
70
- message: "Agent exited before completing the turn.",
71
- exitCode: 1,
72
- });
73
- }
74
- fail(error) {
75
- this.record(executionFailure(error));
76
- }
77
- closeConsumer() {
78
- if (this.failureValue !== undefined || this.consumerClosedValue)
79
- return;
80
- this.consumerClosedValue = true;
81
- this.stop();
82
- this.requestControl("interrupt");
83
- }
84
- cleanup() {
85
- this.cleanupPromise ??= this.performCleanup();
86
- return this.cleanupPromise;
87
- }
88
- dispose() {
89
- this.unbind?.();
90
- this.unbind = undefined;
91
- this.clearDeadline();
92
- }
93
- interrupt() {
94
- this.onSigint();
95
- }
96
- record(failure) {
97
- if (this.failureValue !== undefined || this.consumerClosedValue)
98
- return false;
99
- this.failureValue = failure;
100
- this.stop();
101
- return true;
102
- }
103
- onSigint() {
104
- this.sigints += 1;
105
- if (this.sigints === 1) {
106
- this.record({ code: "interrupted", message: "Interrupted.", exitCode: 130 });
107
- this.requestControl("interrupt");
108
- }
109
- else
110
- this.requestControl("kill");
111
- }
112
- requestControl(action) {
113
- if (!this.launchStarted)
114
- return;
115
- void this.session
116
- .start()
117
- .then(() => (action === "interrupt" ? this.session.interrupt() : this.session.kill()))
118
- .catch(() => undefined);
119
- }
120
- armDeadline(timeoutMs) {
121
- const deadline = Math.min(Number.MAX_SAFE_INTEGER, this.startedAt + timeoutMs);
122
- const tick = () => {
123
- const remaining = deadline - this.clock.now();
124
- if (remaining > 0) {
125
- this.timer = this.clock.setTimer(tick, Math.min(remaining, MAX_TIMER_MS));
126
- return;
127
- }
128
- if (this.record({ code: "timeout", message: "Timed out.", exitCode: 124 }))
129
- this.requestControl("interrupt");
130
- };
131
- this.timer = this.clock.setTimer(tick, Math.min(timeoutMs, MAX_TIMER_MS));
132
- }
133
- clearDeadline() {
134
- if (this.timer !== undefined)
135
- this.clock.clearTimer(this.timer);
136
- this.timer = undefined;
137
- }
138
- async performCleanup() {
139
- this.cleaning = true;
140
- this.clearDeadline();
141
- const action = cleanupAction(this.request);
142
- try {
143
- await (action === "teardown" ? this.session.teardown() : this.session.close());
144
- return { action, status: "succeeded" };
145
- }
146
- catch {
147
- this.record({ code: "cleanup_failed", message: "Cleanup failed.", exitCode: 1 });
148
- return { action, status: "failed", error: "Cleanup failed." };
149
- }
150
- }
151
- }
152
- //# sourceMappingURL=lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/cli/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Finalizes adapter-dependent resume options, workspace, and images.
3
- * Implements PRD §12A.1/§12A.2 and C-CLI-03/C-CLI-04/C-CLI-06/C-CLI-08.
4
- */
5
- import { type CliAgent, type EffectiveRunRequest, type ResolvedRunRequest } from "./types.ts";
6
- export declare function finalizeRunRequest(draft: ResolvedRunRequest, stored?: {
7
- readonly agent: CliAgent;
8
- readonly cwd: string;
9
- }): Promise<EffectiveRunRequest>;
10
- //# sourceMappingURL=request-finalize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-finalize.d.ts","sourceRoot":"","sources":["../../src/cli/request-finalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,kBAAkB,EACzB,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,mBAAmB,CAAC,CAgB9B"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Finalizes adapter-dependent resume options, workspace, and images.
3
- * Implements PRD §12A.1/§12A.2 and C-CLI-03/C-CLI-04/C-CLI-06/C-CLI-08.
4
- */
5
- import { stat } from "node:fs/promises";
6
- import { isAbsolute, resolve } from "node:path";
7
- import { errnoCode } from "../core/errors.js";
8
- import { validateImages } from "../core/images/resolve.js";
9
- import { claudeReasoningEfforts, codexReasoningEfforts } from "../core/reasoning-effort.js";
10
- import { settingConflict } from "./request-validation.js";
11
- import { choice, nonBlank, optional, usage } from "./request-values.js";
12
- import { agentDisplayName, } from "./types.js";
13
- export async function finalizeRunRequest(draft, stored) {
14
- validateStored(draft, stored);
15
- const agent = stored?.agent ?? draft.agent;
16
- validateEffectiveAgent(draft, agent);
17
- const cwd = stored?.cwd ?? draft.cwd;
18
- if (cwd === undefined)
19
- throw usage("The effective workspace could not be resolved.");
20
- if (!isAbsolute(cwd))
21
- throw usage(`Workspace '${cwd}' must be an absolute path.`);
22
- const info = await workspaceStat(cwd);
23
- if (!info.isDirectory())
24
- throw usage(`Workspace '${cwd}' is not a directory.`);
25
- const uid = process.getuid?.();
26
- if (uid !== undefined && info.uid !== uid)
27
- throw usage(`Workspace '${cwd}' must be owned by the current user.`);
28
- const images = await validateImages(draft.imagePaths.map((path) => ({ path: resolve(cwd, nonBlank(path, "image")) })));
29
- return effectiveRequest(draft, agent, cwd, images, stored !== undefined);
30
- }
31
- async function workspaceStat(cwd) {
32
- try {
33
- return await stat(cwd);
34
- }
35
- catch (error) {
36
- if (errnoCode(error) === "ENOENT")
37
- throw usage(`Workspace '${cwd}' does not exist.`);
38
- throw usage(`Workspace '${cwd}' could not be inspected.`);
39
- }
40
- }
41
- function validateStored(draft, stored) {
42
- if (draft.resume !== undefined && stored === undefined)
43
- throw usage("Stored session data is required to resolve a resume.");
44
- if (stored !== undefined && draft.cwdExplicit === true)
45
- throw usage("--cwd cannot be used with --resume; resume uses the stored workspace.");
46
- if (stored !== undefined &&
47
- draft.explicitAgent !== undefined &&
48
- draft.explicitAgent !== stored.agent) {
49
- const sources = invocationSources(draft.resolution?.sources.agent);
50
- throw usage(sources.length === 0
51
- ? "The explicit agent conflicts with the stored session adapter."
52
- : settingConflict(sources, `the stored ${agentDisplayName(stored.agent)} session`));
53
- }
54
- }
55
- function validateEffectiveAgent(draft, agent) {
56
- if (agent === "codex" && draft.claudeOptionsExplicit === true) {
57
- const sources = invocationSources(draft.resolution?.sources.permissionMode);
58
- throw usage(sources.length === 0
59
- ? "Claude permission mode is incompatible with Codex."
60
- : settingConflict(sources, "Codex"));
61
- }
62
- if (agent === "claude" && draft.codexOptionsExplicit === true) {
63
- const sources = invocationSources(draft.resolution?.sources.sandbox, draft.resolution?.sources.approvalPolicy);
64
- throw usage(sources.length === 0
65
- ? "Codex launch options are incompatible with Claude."
66
- : settingConflict(sources, "Claude"));
67
- }
68
- }
69
- function invocationSources(...sources) {
70
- return sources.filter((source) => source?.startsWith("--") === true || source?.startsWith("ELWOOD_") === true);
71
- }
72
- function effectiveRequest(draft, agent, cwd, images, resumed) {
73
- const selected = draft.agentOptions?.[agent] ?? {
74
- ...(draft.model === undefined ? {} : { model: draft.model }),
75
- ...(draft.reasoningEffort === undefined ? {} : { reasoningEffort: draft.reasoningEffort }),
76
- };
77
- const { agent: _agent, imagePaths: _imagePaths, cwd: _cwd, model: _model, reasoningEffort: _effort, permissionMode: _permission, sandbox: _sandbox, approvalPolicy: _approval, agentOptions: _agentOptions, claudeOptionsExplicit: _claudeExplicit, codexOptionsExplicit: _codexExplicit, head: _head, ...rest } = draft;
78
- const resolution = effectiveResolution(draft, agent, resumed);
79
- return {
80
- ...rest,
81
- cwd,
82
- images,
83
- ...optional(selected.model, "model"),
84
- ...agentEffort(agent, selected.reasoningEffort),
85
- ...(agent === "claude" && { permissionMode: draft.permissionMode ?? "dontAsk" }),
86
- ...(agent === "codex" && {
87
- sandbox: draft.sandbox ?? "workspace-write",
88
- approvalPolicy: draft.approvalPolicy ?? "never",
89
- }),
90
- ...optional(resolution, "resolution"),
91
- };
92
- }
93
- /** Narrow the effort to the effective adapter's vocabulary before launch (C-CLI-06). */
94
- function agentEffort(agent, value) {
95
- return agent === "claude"
96
- ? {
97
- agent,
98
- ...optional(choice(value, claudeReasoningEfforts, "reasoningEffort"), "reasoningEffort"),
99
- }
100
- : {
101
- agent,
102
- ...optional(choice(value, codexReasoningEfforts, "reasoningEffort"), "reasoningEffort"),
103
- };
104
- }
105
- function effectiveResolution(draft, agent, resumed) {
106
- const resolution = draft.resolution;
107
- if (resolution === undefined)
108
- return undefined;
109
- return {
110
- ...resolution,
111
- sources: {
112
- ...resolution.sources,
113
- agent: resumed ? `stored session ${draft.resume}` : resolution.sources.agent,
114
- workspace: resumed ? `stored session ${draft.resume}` : resolution.sources.workspace,
115
- model: resolution.agentOptionSources[agent].model,
116
- reasoningEffort: resolution.agentOptionSources[agent].reasoningEffort,
117
- permissionMode: agent === "claude"
118
- ? draft.permissionMode === undefined
119
- ? "built-in"
120
- : resolution.sources.permissionMode
121
- : "not applicable",
122
- sandbox: agent === "codex"
123
- ? draft.sandbox === undefined
124
- ? "built-in"
125
- : resolution.sources.sandbox
126
- : "not applicable",
127
- approvalPolicy: agent === "codex"
128
- ? draft.approvalPolicy === undefined
129
- ? "built-in"
130
- : resolution.sources.approvalPolicy
131
- : "not applicable",
132
- },
133
- };
134
- }
135
- //# sourceMappingURL=request-finalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-finalize.js","sourceRoot":"","sources":["../../src/cli/request-finalize.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -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"}