@executioncontrolprotocol/cli 0.3.0 → 0.4.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 (279) hide show
  1. package/README.md +77 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +8 -0
  4. package/bin/run.cmd +3 -0
  5. package/bin/run.js +8 -0
  6. package/dist/commands/config/endpoints/add.d.ts +14 -0
  7. package/dist/commands/config/endpoints/add.d.ts.map +1 -0
  8. package/dist/commands/config/endpoints/add.js +29 -0
  9. package/dist/commands/config/endpoints/add.js.map +1 -0
  10. package/dist/commands/config/endpoints/get.d.ts +10 -0
  11. package/dist/commands/config/endpoints/get.d.ts.map +1 -0
  12. package/dist/commands/config/endpoints/get.js +35 -0
  13. package/dist/commands/config/endpoints/get.js.map +1 -0
  14. package/dist/commands/config/endpoints/remove.d.ts +13 -0
  15. package/dist/commands/config/endpoints/remove.d.ts.map +1 -0
  16. package/dist/commands/config/endpoints/remove.js +25 -0
  17. package/dist/commands/config/endpoints/remove.js.map +1 -0
  18. package/dist/commands/config/endpoints/update.d.ts +15 -0
  19. package/dist/commands/config/endpoints/update.d.ts.map +1 -0
  20. package/dist/commands/config/endpoints/update.js +36 -0
  21. package/dist/commands/config/endpoints/update.js.map +1 -0
  22. package/dist/commands/config/get.d.ts +11 -0
  23. package/dist/commands/config/get.d.ts.map +1 -0
  24. package/dist/commands/config/get.js +31 -0
  25. package/dist/commands/config/get.js.map +1 -0
  26. package/dist/commands/config/init.d.ts +13 -0
  27. package/dist/commands/config/init.d.ts.map +1 -0
  28. package/dist/commands/config/init.js +49 -0
  29. package/dist/commands/config/init.js.map +1 -0
  30. package/dist/commands/config/loggers/allow/add.d.ts +13 -0
  31. package/dist/commands/config/loggers/allow/add.d.ts.map +1 -0
  32. package/dist/commands/config/loggers/allow/add.js +25 -0
  33. package/dist/commands/config/loggers/allow/add.js.map +1 -0
  34. package/dist/commands/config/loggers/allow/remove.d.ts +13 -0
  35. package/dist/commands/config/loggers/allow/remove.d.ts.map +1 -0
  36. package/dist/commands/config/loggers/allow/remove.js +26 -0
  37. package/dist/commands/config/loggers/allow/remove.js.map +1 -0
  38. package/dist/commands/config/loggers/default/add.d.ts +13 -0
  39. package/dist/commands/config/loggers/default/add.d.ts.map +1 -0
  40. package/dist/commands/config/loggers/default/add.js +28 -0
  41. package/dist/commands/config/loggers/default/add.js.map +1 -0
  42. package/dist/commands/config/loggers/default/remove.d.ts +13 -0
  43. package/dist/commands/config/loggers/default/remove.d.ts.map +1 -0
  44. package/dist/commands/config/loggers/default/remove.js +25 -0
  45. package/dist/commands/config/loggers/default/remove.js.map +1 -0
  46. package/dist/commands/config/loggers/get.d.ts +10 -0
  47. package/dist/commands/config/loggers/get.d.ts.map +1 -0
  48. package/dist/commands/config/loggers/get.js +35 -0
  49. package/dist/commands/config/loggers/get.js.map +1 -0
  50. package/dist/commands/config/loggers/logger/add.d.ts +15 -0
  51. package/dist/commands/config/loggers/logger/add.d.ts.map +1 -0
  52. package/dist/commands/config/loggers/logger/add.js +55 -0
  53. package/dist/commands/config/loggers/logger/add.js.map +1 -0
  54. package/dist/commands/config/loggers/logger/get.d.ts +13 -0
  55. package/dist/commands/config/loggers/logger/get.d.ts.map +1 -0
  56. package/dist/commands/config/loggers/logger/get.js +30 -0
  57. package/dist/commands/config/loggers/logger/get.js.map +1 -0
  58. package/dist/commands/config/loggers/logger/remove.d.ts +13 -0
  59. package/dist/commands/config/loggers/logger/remove.d.ts.map +1 -0
  60. package/dist/commands/config/loggers/logger/remove.js +27 -0
  61. package/dist/commands/config/loggers/logger/remove.js.map +1 -0
  62. package/dist/commands/config/loggers/logger/update.d.ts +15 -0
  63. package/dist/commands/config/loggers/logger/update.d.ts.map +1 -0
  64. package/dist/commands/config/loggers/logger/update.js +55 -0
  65. package/dist/commands/config/loggers/logger/update.js.map +1 -0
  66. package/dist/commands/config/models/allow/add.d.ts +14 -0
  67. package/dist/commands/config/models/allow/add.d.ts.map +1 -0
  68. package/dist/commands/config/models/allow/add.js +36 -0
  69. package/dist/commands/config/models/allow/add.js.map +1 -0
  70. package/dist/commands/config/models/allow/remove.d.ts +14 -0
  71. package/dist/commands/config/models/allow/remove.d.ts.map +1 -0
  72. package/dist/commands/config/models/allow/remove.js +36 -0
  73. package/dist/commands/config/models/allow/remove.js.map +1 -0
  74. package/dist/commands/config/models/default/update.d.ts +14 -0
  75. package/dist/commands/config/models/default/update.d.ts.map +1 -0
  76. package/dist/commands/config/models/default/update.js +35 -0
  77. package/dist/commands/config/models/default/update.js.map +1 -0
  78. package/dist/commands/config/models/get.d.ts +10 -0
  79. package/dist/commands/config/models/get.d.ts.map +1 -0
  80. package/dist/commands/config/models/get.js +39 -0
  81. package/dist/commands/config/models/get.js.map +1 -0
  82. package/dist/commands/config/models/ollama/update.d.ts +13 -0
  83. package/dist/commands/config/models/ollama/update.d.ts.map +1 -0
  84. package/dist/commands/config/models/ollama/update.js +27 -0
  85. package/dist/commands/config/models/ollama/update.js.map +1 -0
  86. package/dist/commands/config/path.d.ts +12 -0
  87. package/dist/commands/config/path.d.ts.map +1 -0
  88. package/dist/commands/config/path.js +32 -0
  89. package/dist/commands/config/path.js.map +1 -0
  90. package/dist/commands/config/plugins/add.d.ts +16 -0
  91. package/dist/commands/config/plugins/add.d.ts.map +1 -0
  92. package/dist/commands/config/plugins/add.js +28 -0
  93. package/dist/commands/config/plugins/add.js.map +1 -0
  94. package/dist/commands/config/plugins/allow/add.d.ts +13 -0
  95. package/dist/commands/config/plugins/allow/add.d.ts.map +1 -0
  96. package/dist/commands/config/plugins/allow/add.js +25 -0
  97. package/dist/commands/config/plugins/allow/add.js.map +1 -0
  98. package/dist/commands/config/plugins/allow/remove.d.ts +13 -0
  99. package/dist/commands/config/plugins/allow/remove.d.ts.map +1 -0
  100. package/dist/commands/config/plugins/allow/remove.js +26 -0
  101. package/dist/commands/config/plugins/allow/remove.js.map +1 -0
  102. package/dist/commands/config/plugins/default/add.d.ts +13 -0
  103. package/dist/commands/config/plugins/default/add.d.ts.map +1 -0
  104. package/dist/commands/config/plugins/default/add.js +28 -0
  105. package/dist/commands/config/plugins/default/add.js.map +1 -0
  106. package/dist/commands/config/plugins/default/remove.d.ts +13 -0
  107. package/dist/commands/config/plugins/default/remove.d.ts.map +1 -0
  108. package/dist/commands/config/plugins/default/remove.js +25 -0
  109. package/dist/commands/config/plugins/default/remove.js.map +1 -0
  110. package/dist/commands/config/plugins/get.d.ts +10 -0
  111. package/dist/commands/config/plugins/get.d.ts.map +1 -0
  112. package/dist/commands/config/plugins/get.js +30 -0
  113. package/dist/commands/config/plugins/get.js.map +1 -0
  114. package/dist/commands/config/plugins/installs/add.d.ts +20 -0
  115. package/dist/commands/config/plugins/installs/add.d.ts.map +1 -0
  116. package/dist/commands/config/plugins/installs/add.js +51 -0
  117. package/dist/commands/config/plugins/installs/add.js.map +1 -0
  118. package/dist/commands/config/plugins/installs/list.d.ts +10 -0
  119. package/dist/commands/config/plugins/installs/list.d.ts.map +1 -0
  120. package/dist/commands/config/plugins/installs/list.js +29 -0
  121. package/dist/commands/config/plugins/installs/list.js.map +1 -0
  122. package/dist/commands/config/plugins/installs/remove.d.ts +13 -0
  123. package/dist/commands/config/plugins/installs/remove.d.ts.map +1 -0
  124. package/dist/commands/config/plugins/installs/remove.js +27 -0
  125. package/dist/commands/config/plugins/installs/remove.js.map +1 -0
  126. package/dist/commands/config/plugins/security/update.d.ts +5 -0
  127. package/dist/commands/config/plugins/security/update.d.ts.map +1 -0
  128. package/dist/commands/config/plugins/security/update.js +5 -0
  129. package/dist/commands/config/plugins/security/update.js.map +1 -0
  130. package/dist/commands/config/secrets/add.d.ts +14 -0
  131. package/dist/commands/config/secrets/add.d.ts.map +1 -0
  132. package/dist/commands/config/secrets/add.js +84 -0
  133. package/dist/commands/config/secrets/add.js.map +1 -0
  134. package/dist/commands/config/secrets/get.d.ts +13 -0
  135. package/dist/commands/config/secrets/get.d.ts.map +1 -0
  136. package/dist/commands/config/secrets/get.js +64 -0
  137. package/dist/commands/config/secrets/get.js.map +1 -0
  138. package/dist/commands/config/secrets/list.d.ts +11 -0
  139. package/dist/commands/config/secrets/list.d.ts.map +1 -0
  140. package/dist/commands/config/secrets/list.js +52 -0
  141. package/dist/commands/config/secrets/list.js.map +1 -0
  142. package/dist/commands/config/secrets/providers/doctor.d.ts +10 -0
  143. package/dist/commands/config/secrets/providers/doctor.d.ts.map +1 -0
  144. package/dist/commands/config/secrets/providers/doctor.js +40 -0
  145. package/dist/commands/config/secrets/providers/doctor.js.map +1 -0
  146. package/dist/commands/config/secrets/providers/list.d.ts +10 -0
  147. package/dist/commands/config/secrets/providers/list.d.ts.map +1 -0
  148. package/dist/commands/config/secrets/providers/list.js +31 -0
  149. package/dist/commands/config/secrets/providers/list.js.map +1 -0
  150. package/dist/commands/config/secrets/providers.d.ts +6 -0
  151. package/dist/commands/config/secrets/providers.d.ts.map +1 -0
  152. package/dist/commands/config/secrets/providers.js +9 -0
  153. package/dist/commands/config/secrets/providers.js.map +1 -0
  154. package/dist/commands/config/secrets/remove.d.ts +12 -0
  155. package/dist/commands/config/secrets/remove.d.ts.map +1 -0
  156. package/dist/commands/config/secrets/remove.js +51 -0
  157. package/dist/commands/config/secrets/remove.js.map +1 -0
  158. package/dist/commands/config/secrets/yaml/get.d.ts +11 -0
  159. package/dist/commands/config/secrets/yaml/get.d.ts.map +1 -0
  160. package/dist/commands/config/secrets/yaml/get.js +35 -0
  161. package/dist/commands/config/secrets/yaml/get.js.map +1 -0
  162. package/dist/commands/config/secrets/yaml/set-default-provider.d.ts +13 -0
  163. package/dist/commands/config/secrets/yaml/set-default-provider.d.ts.map +1 -0
  164. package/dist/commands/config/secrets/yaml/set-default-provider.js +24 -0
  165. package/dist/commands/config/secrets/yaml/set-default-provider.js.map +1 -0
  166. package/dist/commands/config/secrets/yaml/set-policy.d.ts +13 -0
  167. package/dist/commands/config/secrets/yaml/set-policy.d.ts.map +1 -0
  168. package/dist/commands/config/secrets/yaml/set-policy.js +29 -0
  169. package/dist/commands/config/secrets/yaml/set-policy.js.map +1 -0
  170. package/dist/commands/config/secrets.d.ts +8 -0
  171. package/dist/commands/config/secrets.d.ts.map +1 -0
  172. package/dist/commands/config/secrets.js +35 -0
  173. package/dist/commands/config/secrets.js.map +1 -0
  174. package/dist/commands/config/security/get.d.ts +11 -0
  175. package/dist/commands/config/security/get.d.ts.map +1 -0
  176. package/dist/commands/config/security/get.js +33 -0
  177. package/dist/commands/config/security/get.js.map +1 -0
  178. package/dist/commands/config/security/plugins/update.d.ts +13 -0
  179. package/dist/commands/config/security/plugins/update.d.ts.map +1 -0
  180. package/dist/commands/config/security/plugins/update.js +49 -0
  181. package/dist/commands/config/security/plugins/update.js.map +1 -0
  182. package/dist/commands/config/tools/add.d.ts +16 -0
  183. package/dist/commands/config/tools/add.d.ts.map +1 -0
  184. package/dist/commands/config/tools/add.js +60 -0
  185. package/dist/commands/config/tools/add.js.map +1 -0
  186. package/dist/commands/config/tools/get.d.ts +10 -0
  187. package/dist/commands/config/tools/get.d.ts.map +1 -0
  188. package/dist/commands/config/tools/get.js +29 -0
  189. package/dist/commands/config/tools/get.js.map +1 -0
  190. package/dist/commands/config/tools/remove.d.ts +13 -0
  191. package/dist/commands/config/tools/remove.d.ts.map +1 -0
  192. package/dist/commands/config/tools/remove.js +25 -0
  193. package/dist/commands/config/tools/remove.js.map +1 -0
  194. package/dist/commands/config/tools/update.d.ts +16 -0
  195. package/dist/commands/config/tools/update.d.ts.map +1 -0
  196. package/dist/commands/config/tools/update.js +59 -0
  197. package/dist/commands/config/tools/update.js.map +1 -0
  198. package/dist/commands/config.d.ts +8 -0
  199. package/dist/commands/config.d.ts.map +1 -0
  200. package/dist/commands/config.js +43 -0
  201. package/dist/commands/config.js.map +1 -0
  202. package/dist/commands/graph.d.ts +14 -0
  203. package/dist/commands/graph.d.ts.map +1 -0
  204. package/dist/commands/graph.js +39 -0
  205. package/dist/commands/graph.js.map +1 -0
  206. package/dist/commands/run.d.ts +23 -0
  207. package/dist/commands/run.d.ts.map +1 -0
  208. package/dist/commands/run.js +363 -0
  209. package/dist/commands/run.js.map +1 -0
  210. package/dist/commands/trace/list.d.ts +10 -0
  211. package/dist/commands/trace/list.d.ts.map +1 -0
  212. package/dist/commands/trace/list.js +32 -0
  213. package/dist/commands/trace/list.js.map +1 -0
  214. package/dist/commands/trace.d.ts +14 -0
  215. package/dist/commands/trace.d.ts.map +1 -0
  216. package/dist/commands/trace.js +43 -0
  217. package/dist/commands/trace.js.map +1 -0
  218. package/dist/commands/validate.d.ts +14 -0
  219. package/dist/commands/validate.d.ts.map +1 -0
  220. package/dist/commands/validate.js +93 -0
  221. package/dist/commands/validate.js.map +1 -0
  222. package/dist/lib/command-helpers.d.ts +16 -0
  223. package/dist/lib/command-helpers.d.ts.map +1 -0
  224. package/dist/lib/command-helpers.js +27 -0
  225. package/dist/lib/command-helpers.js.map +1 -0
  226. package/dist/lib/config-flags.d.ts +6 -0
  227. package/dist/lib/config-flags.d.ts.map +1 -0
  228. package/dist/lib/config-flags.js +14 -0
  229. package/dist/lib/config-flags.js.map +1 -0
  230. package/dist/lib/default-ecp-config.d.ts +5 -0
  231. package/dist/lib/default-ecp-config.d.ts.map +1 -0
  232. package/dist/lib/default-ecp-config.js +47 -0
  233. package/dist/lib/default-ecp-config.js.map +1 -0
  234. package/dist/lib/ecp-environment-command.d.ts +20 -0
  235. package/dist/lib/ecp-environment-command.d.ts.map +1 -0
  236. package/dist/lib/ecp-environment-command.js +33 -0
  237. package/dist/lib/ecp-environment-command.js.map +1 -0
  238. package/dist/lib/ecp-home.d.ts +3 -0
  239. package/dist/lib/ecp-home.d.ts.map +1 -0
  240. package/dist/lib/ecp-home.js +9 -0
  241. package/dist/lib/ecp-home.js.map +1 -0
  242. package/dist/lib/inputs.d.ts +3 -0
  243. package/dist/lib/inputs.d.ts.map +1 -0
  244. package/dist/lib/inputs.js +7 -0
  245. package/dist/lib/inputs.js.map +1 -0
  246. package/dist/lib/parsing.d.ts +12 -0
  247. package/dist/lib/parsing.d.ts.map +1 -0
  248. package/dist/lib/parsing.js +57 -0
  249. package/dist/lib/parsing.js.map +1 -0
  250. package/dist/lib/progress.d.ts +4 -0
  251. package/dist/lib/progress.d.ts.map +1 -0
  252. package/dist/lib/progress.js +111 -0
  253. package/dist/lib/progress.js.map +1 -0
  254. package/dist/lib/secret-provider-ids.d.ts +3 -0
  255. package/dist/lib/secret-provider-ids.d.ts.map +1 -0
  256. package/dist/lib/secret-provider-ids.js +3 -0
  257. package/dist/lib/secret-provider-ids.js.map +1 -0
  258. package/dist/lib/secrets-config.d.ts +15 -0
  259. package/dist/lib/secrets-config.d.ts.map +1 -0
  260. package/dist/lib/secrets-config.js +12 -0
  261. package/dist/lib/secrets-config.js.map +1 -0
  262. package/dist/lib/system-config-cli.d.ts +50 -0
  263. package/dist/lib/system-config-cli.d.ts.map +1 -0
  264. package/dist/lib/system-config-cli.js +108 -0
  265. package/dist/lib/system-config-cli.js.map +1 -0
  266. package/dist/lib/trace-files.d.ts +2 -0
  267. package/dist/lib/trace-files.d.ts.map +1 -0
  268. package/dist/lib/trace-files.js +14 -0
  269. package/dist/lib/trace-files.js.map +1 -0
  270. package/dist/lib/trace-view.d.ts +4 -0
  271. package/dist/lib/trace-view.d.ts.map +1 -0
  272. package/dist/lib/trace-view.js +8 -0
  273. package/dist/lib/trace-view.js.map +1 -0
  274. package/package.json +38 -7
  275. package/bin/ecp.cjs +0 -21
  276. package/dist/index.d.ts +0 -13
  277. package/dist/index.d.ts.map +0 -1
  278. package/dist/index.js +0 -471
  279. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/commands/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,qBAAqB;IACtD,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC;IAE3C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,qBAAqB,CAAC,KAAK;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,kEAAkE;YAC/E,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAU;YACnC,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,kBAAkB,EAAE;SAC9B,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B,CAAC;QAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CACR,wBAAwB,QAAQ,UAAU;gBACxC,qFAAqF,EACvF,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAmB,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { EcpEnvironmentCommand } from "../lib/ecp-environment-command.js";
2
+ export default class Validate extends EcpEnvironmentCommand {
3
+ static summary: string;
4
+ static flags: {
5
+ input: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ "skip-inputs": import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ static args: {
10
+ contextPath: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AA8B1E,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,qBAAqB;IACzD,MAAM,CAAC,OAAO,SAAiC;IAE/C,MAAM,CAAC,KAAK;;;;MAaV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
@@ -0,0 +1,93 @@
1
+ import { Flags, Args } from "@oclif/core";
2
+ import { resolve } from "node:path";
3
+ import { loadContext, resolveInputs } from "@executioncontrolprotocol/runtime";
4
+ import { commandErrorMessage } from "../lib/command-helpers.js";
5
+ import { parseKeyValueInputs } from "../lib/parsing.js";
6
+ import { getRequiredInputNames } from "../lib/inputs.js";
7
+ import { EcpEnvironmentCommand } from "../lib/ecp-environment-command.js";
8
+ function collectExecutionObjectNames(context) {
9
+ const names = new Set();
10
+ const addName = (name) => {
11
+ names.add(name);
12
+ };
13
+ const visitOrchestrator = (orchestrator) => {
14
+ addName(orchestrator.name);
15
+ for (const executor of orchestrator.executors ?? []) {
16
+ addName(executor.name);
17
+ }
18
+ for (const child of orchestrator.orchestrators ?? []) {
19
+ visitOrchestrator(child);
20
+ }
21
+ };
22
+ if (context.orchestrator) {
23
+ visitOrchestrator(context.orchestrator);
24
+ }
25
+ for (const executor of context.executors ?? []) {
26
+ addName(executor.name);
27
+ }
28
+ return [...names];
29
+ }
30
+ export default class Validate extends EcpEnvironmentCommand {
31
+ static summary = "Validate a Context manifest";
32
+ static flags = {
33
+ ...EcpEnvironmentCommand.flags,
34
+ input: Flags.string({
35
+ char: "i",
36
+ multiple: true,
37
+ description: "Set an input value (repeatable, key=value)",
38
+ summary: "Input value (key=value)",
39
+ }),
40
+ "skip-inputs": Flags.boolean({
41
+ description: "Validate the Context manifest itself but skip runtime input resolution (prints required inputs instead).",
42
+ default: false,
43
+ }),
44
+ };
45
+ static args = {
46
+ contextPath: Args.string({
47
+ required: true,
48
+ description: "Path to context.yaml (or context.json)",
49
+ }),
50
+ };
51
+ async run() {
52
+ const { args, flags } = await this.parse(Validate);
53
+ this.applyEnvironmentFlag(flags);
54
+ const contextPath = resolve(args.contextPath);
55
+ console.log(`\nValidating: ${contextPath}\n`);
56
+ let context;
57
+ try {
58
+ const inputs = parseKeyValueInputs(flags.input, "--input");
59
+ context = loadContext(contextPath);
60
+ if (!flags["skip-inputs"]) {
61
+ resolveInputs(context, inputs);
62
+ }
63
+ const strategy = context.orchestration?.strategy ?? context.orchestrator?.strategy;
64
+ const executionObjectNames = collectExecutionObjectNames(context);
65
+ console.log(` Context: ${context.metadata.name} v${context.metadata.version}`);
66
+ console.log(` Strategy: ${strategy ?? "unknown"}`);
67
+ console.log(` Execution objects: ${executionObjectNames.join(", ")}`);
68
+ console.log(` Schemas: ${Object.keys(context.schemas ?? {}).join(", ")}`);
69
+ if (flags["skip-inputs"]) {
70
+ const requiredInputs = getRequiredInputNames(context);
71
+ if (requiredInputs.length > 0) {
72
+ console.log(`\n Required inputs (from Context): ${requiredInputs.join(", ")}`);
73
+ }
74
+ else {
75
+ console.log(`\n No required inputs declared in Context.`);
76
+ }
77
+ }
78
+ console.log(`\n Validation passed.\n`);
79
+ }
80
+ catch (err) {
81
+ const msg = commandErrorMessage(err);
82
+ const missing = msg.match(/^Missing required input: "([^"]+)"$/);
83
+ if (missing && context) {
84
+ const inputName = missing[1];
85
+ this.error(`\n Missing required input "${inputName}" is defined in the Context.\n` +
86
+ ` Provide it via --input ${inputName}=<value> (e.g. -i ${inputName}="...").\n`, { exit: 1 });
87
+ return;
88
+ }
89
+ this.error(`\n Validation failed: ${msg}\n`, { exit: 1 });
90
+ }
91
+ }
92
+ }
93
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Command } from "@oclif/core";
2
+ /** Suffix when the resolved config path has no file yet (most `ecp config * get` commands). */
3
+ export declare const CONFIG_FILE_HEADER_WHEN_MISSING = " (no file \u2014 empty)";
4
+ /** Suffix for `ecp config get` when dumping full resolved config. */
5
+ export declare const CONFIG_DUMP_HEADER_WHEN_MISSING = " (empty \u2014 no file yet)";
6
+ export declare function commandErrorMessage(err: unknown): string;
7
+ /**
8
+ * Runs `fn` and maps any thrown value to `cmd.error` with exit code 1.
9
+ * Use after `parse()` so flag validation errors are not swallowed.
10
+ */
11
+ export declare function runWithCommandError(cmd: Command, fn: () => void | Promise<void>): Promise<void>;
12
+ /**
13
+ * First line for commands that show config loaded via {@link loadConfigForDisplay}.
14
+ */
15
+ export declare function formatConfigFileHeaderLine(path: string, exists: boolean, whenMissing?: string): string;
16
+ //# sourceMappingURL=command-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/command-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,+FAA+F;AAC/F,eAAO,MAAM,+BAA+B,4BAAuB,CAAC;AAEpE,qEAAqE;AACrE,eAAO,MAAM,+BAA+B,gCAA2B,CAAC;AAExE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,WAAW,GAAE,MAAwC,GACpD,MAAM,CAGR"}
@@ -0,0 +1,27 @@
1
+ /** Suffix when the resolved config path has no file yet (most `ecp config * get` commands). */
2
+ export const CONFIG_FILE_HEADER_WHEN_MISSING = " (no file — empty)";
3
+ /** Suffix for `ecp config get` when dumping full resolved config. */
4
+ export const CONFIG_DUMP_HEADER_WHEN_MISSING = " (empty — no file yet)";
5
+ export function commandErrorMessage(err) {
6
+ return err instanceof Error ? err.message : String(err);
7
+ }
8
+ /**
9
+ * Runs `fn` and maps any thrown value to `cmd.error` with exit code 1.
10
+ * Use after `parse()` so flag validation errors are not swallowed.
11
+ */
12
+ export async function runWithCommandError(cmd, fn) {
13
+ try {
14
+ await fn();
15
+ }
16
+ catch (err) {
17
+ cmd.error(commandErrorMessage(err), { exit: 1 });
18
+ }
19
+ }
20
+ /**
21
+ * First line for commands that show config loaded via {@link loadConfigForDisplay}.
22
+ */
23
+ export function formatConfigFileHeaderLine(path, exists, whenMissing = CONFIG_FILE_HEADER_WHEN_MISSING) {
24
+ const suffix = exists ? "" : whenMissing;
25
+ return `# ${path}${suffix}\n`;
26
+ }
27
+ //# sourceMappingURL=command-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-helpers.js","sourceRoot":"","sources":["../../src/lib/command-helpers.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AAEpE,qEAAqE;AACrE,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAExE,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAY,EACZ,EAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,MAAe,EACf,cAAsB,+BAA+B;IAErD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACzC,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;AAChC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Shared flags for commands that read or write system config. */
2
+ export declare const configScopeFlags: {
3
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
4
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
5
+ };
6
+ //# sourceMappingURL=config-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-flags.d.ts","sourceRoot":"","sources":["../../src/lib/config-flags.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,eAAO,MAAM,gBAAgB;;;CAU5B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Flags } from "@oclif/core";
2
+ /** Shared flags for commands that read or write system config. */
3
+ export const configScopeFlags = {
4
+ global: Flags.boolean({
5
+ char: "g",
6
+ description: "Use global config under ~/.ecp/ (instead of project ./ecp.config.*)",
7
+ default: false,
8
+ }),
9
+ config: Flags.string({
10
+ char: "c",
11
+ description: "Explicit path to config file (overrides default search and --global)",
12
+ }),
13
+ };
14
+ //# sourceMappingURL=config-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-flags.js","sourceRoot":"","sources":["../../src/lib/config-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sEAAsE;KACpF,CAAC;CACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Best-practices default for `ecp config init` (aligned with `config/ecp.config.example.yaml` v0.5).
3
+ */
4
+ export declare const DEFAULT_ECP_SYSTEM_CONFIG_YAML = "# ECP system config \u2014 best-practices default (schema v0.5)\n# Edit with: ecp config \u2026 or your editor (YAML or JSON).\n\nversion: \"0.5\"\n\nsecurity:\n models:\n allowProviders: [openai, ollama]\n defaultProviders: [openai]\n loggers:\n allowEnable: []\n defaultEnable: []\n secrets:\n allowProviders: []\n plugins:\n allowKinds: [provider, executor, logger, memory, tool]\n allowSourceTypes: [builtin]\n allowIds: [openai, ollama]\n\nmodels:\n providers:\n openai:\n defaultModel: gpt-4o-mini\n allowedModels: [gpt-4o-mini, gpt-4o]\n config: {}\n ollama:\n defaultModel: gemma3:1b\n allowedModels: [gemma3:1b, llama3.2:3b]\n config:\n baseURL: http://localhost:11434\n\ntools:\n servers: {}\n\n# loggers:\n# config: {}\n\n# agents:\n# endpoints:\n# specialist_name:\n# url: https://example.com/a2a\n# config: {}\n";
5
+ //# sourceMappingURL=default-ecp-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-ecp-config.d.ts","sourceRoot":"","sources":["../../src/lib/default-ecp-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,8BAA8B,05BA0C1C,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Best-practices default for `ecp config init` (aligned with `config/ecp.config.example.yaml` v0.5).
3
+ */
4
+ export const DEFAULT_ECP_SYSTEM_CONFIG_YAML = `# ECP system config — best-practices default (schema v0.5)
5
+ # Edit with: ecp config … or your editor (YAML or JSON).
6
+
7
+ version: "0.5"
8
+
9
+ security:
10
+ models:
11
+ allowProviders: [openai, ollama]
12
+ defaultProviders: [openai]
13
+ loggers:
14
+ allowEnable: []
15
+ defaultEnable: []
16
+ secrets:
17
+ allowProviders: []
18
+ plugins:
19
+ allowKinds: [provider, executor, logger, memory, tool]
20
+ allowSourceTypes: [builtin]
21
+ allowIds: [openai, ollama]
22
+
23
+ models:
24
+ providers:
25
+ openai:
26
+ defaultModel: gpt-4o-mini
27
+ allowedModels: [gpt-4o-mini, gpt-4o]
28
+ config: {}
29
+ ollama:
30
+ defaultModel: gemma3:1b
31
+ allowedModels: [gemma3:1b, llama3.2:3b]
32
+ config:
33
+ baseURL: http://localhost:11434
34
+
35
+ tools:
36
+ servers: {}
37
+
38
+ # loggers:
39
+ # config: {}
40
+
41
+ # agents:
42
+ # endpoints:
43
+ # specialist_name:
44
+ # url: https://example.com/a2a
45
+ # config: {}
46
+ `;
47
+ //# sourceMappingURL=default-ecp-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-ecp-config.js","sourceRoot":"","sources":["../../src/lib/default-ecp-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C7C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Command } from "@oclif/core";
2
+ /**
3
+ * Base for commands that support `--environment` (dot.env file path override for the secret broker).
4
+ * Config commands do not extend this class.
5
+ */
6
+ export declare abstract class EcpEnvironmentCommand extends Command {
7
+ static flags: {
8
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ };
10
+ /** Absolute path when `--environment` is set; otherwise undefined. */
11
+ protected effectiveDotenvPath?: string;
12
+ /**
13
+ * Call from `run()` immediately after `this.parse(...)`. Oclif does not populate instance flags
14
+ * before parse, so this cannot run in `init()`.
15
+ */
16
+ protected applyEnvironmentFlag(flags: {
17
+ environment?: string;
18
+ }): void;
19
+ }
20
+ //# sourceMappingURL=ecp-environment-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecp-environment-command.d.ts","sourceRoot":"","sources":["../../src/lib/ecp-environment-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C;;;GAGG;AACH,8BAAsB,qBAAsB,SAAQ,OAAO;IACzD,MAAM,CAAC,KAAK;;MAMV;IAEF,sEAAsE;IACtE,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEvC;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAWtE"}
@@ -0,0 +1,33 @@
1
+ import { Command, Flags } from "@oclif/core";
2
+ import { existsSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ /**
5
+ * Base for commands that support `--environment` (dot.env file path override for the secret broker).
6
+ * Config commands do not extend this class.
7
+ */
8
+ export class EcpEnvironmentCommand extends Command {
9
+ static flags = {
10
+ ...Command.baseFlags,
11
+ environment: Flags.string({
12
+ description: "Path to a .env file for the dot.env secret provider (overrides secrets.providers.dot.env in config; does not merge into process.env)",
13
+ }),
14
+ };
15
+ /** Absolute path when `--environment` is set; otherwise undefined. */
16
+ effectiveDotenvPath;
17
+ /**
18
+ * Call from `run()` immediately after `this.parse(...)`. Oclif does not populate instance flags
19
+ * before parse, so this cannot run in `init()`.
20
+ */
21
+ applyEnvironmentFlag(flags) {
22
+ this.effectiveDotenvPath = undefined;
23
+ const raw = flags.environment;
24
+ if (raw) {
25
+ const abs = resolve(process.cwd(), raw);
26
+ if (!existsSync(abs)) {
27
+ this.error(`Environment file not found: ${abs}`, { exit: 1 });
28
+ }
29
+ this.effectiveDotenvPath = abs;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=ecp-environment-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecp-environment-command.js","sourceRoot":"","sources":["../../src/lib/ecp-environment-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,OAAO;IACzD,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,OAAO,CAAC,SAAS;QACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EACT,sIAAsI;SACzI,CAAC;KACH,CAAC;IAEF,sEAAsE;IAC5D,mBAAmB,CAAU;IAEvC;;;OAGG;IACO,oBAAoB,CAAC,KAA+B;QAC5D,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC;IACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function getEcpHomeDir(): string;
2
+ export declare function getDefaultTraceDir(): string;
3
+ //# sourceMappingURL=ecp-home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecp-home.d.ts","sourceRoot":"","sources":["../../src/lib/ecp-home.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
@@ -0,0 +1,9 @@
1
+ import { homedir } from "node:os";
2
+ import { resolve } from "node:path";
3
+ export function getEcpHomeDir() {
4
+ return resolve(homedir(), ".ecp");
5
+ }
6
+ export function getDefaultTraceDir() {
7
+ return resolve(getEcpHomeDir(), "traces");
8
+ }
9
+ //# sourceMappingURL=ecp-home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecp-home.js","sourceRoot":"","sources":["../../src/lib/ecp-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ECPContext } from "@executioncontrolprotocol/spec";
2
+ export declare function getRequiredInputNames(context: ECPContext): string[];
3
+ //# sourceMappingURL=inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAKnE"}
@@ -0,0 +1,7 @@
1
+ export function getRequiredInputNames(context) {
2
+ const defs = context.inputs ?? {};
3
+ return Object.entries(defs)
4
+ .filter(([_name, def]) => def.required === true)
5
+ .map(([name]) => name);
6
+ }
7
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/lib/inputs.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,OAAmB;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAE,GAA8B,CAAC,QAAQ,KAAK,IAAI,CAAC;SAC3E,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type InputValue = string | number | boolean;
2
+ /**
3
+ * Parse `--input key=value` occurrences.
4
+ * - `true`/`false` become booleans
5
+ * - numeric-looking values become numbers
6
+ * - everything else stays a string
7
+ */
8
+ export declare function parseKeyValueInputs(raw: string[] | undefined, flagName?: string): Record<string, InputValue>;
9
+ export declare function splitCommaSeparated(raw: string[] | undefined): string[];
10
+ export declare function parseJsonObject<T = unknown>(raw: string | undefined, flagName: string): T | undefined;
11
+ export declare function resolveAndValidatePath(pathRaw: string, flagName: string): string;
12
+ //# sourceMappingURL=parsing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../src/lib/parsing.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EACzB,QAAQ,SAAY,GACnB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAoB5B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAMvE;AAED,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAOrG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhF"}
@@ -0,0 +1,57 @@
1
+ import { existsSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { commandErrorMessage } from "./command-helpers.js";
4
+ /**
5
+ * Parse `--input key=value` occurrences.
6
+ * - `true`/`false` become booleans
7
+ * - numeric-looking values become numbers
8
+ * - everything else stays a string
9
+ */
10
+ export function parseKeyValueInputs(raw, flagName = "--input") {
11
+ const inputs = {};
12
+ for (const kv of raw ?? []) {
13
+ const eqIdx = kv.indexOf("=");
14
+ if (eqIdx === -1) {
15
+ throw new Error(`Invalid ${flagName} value "${kv}" (expected key=value).`);
16
+ }
17
+ const key = kv.slice(0, eqIdx).trim();
18
+ const valueRaw = kv.slice(eqIdx + 1);
19
+ if (!key) {
20
+ throw new Error(`Invalid ${flagName} value "${kv}" (missing key).`);
21
+ }
22
+ if (valueRaw === "true")
23
+ inputs[key] = true;
24
+ else if (valueRaw === "false")
25
+ inputs[key] = false;
26
+ else if (!isNaN(Number(valueRaw)) && valueRaw !== "")
27
+ inputs[key] = Number(valueRaw);
28
+ else
29
+ inputs[key] = valueRaw;
30
+ }
31
+ return inputs;
32
+ }
33
+ export function splitCommaSeparated(raw) {
34
+ const out = [];
35
+ for (const v of raw ?? []) {
36
+ out.push(...v.split(",").map((s) => s.trim()).filter(Boolean));
37
+ }
38
+ return out;
39
+ }
40
+ export function parseJsonObject(raw, flagName) {
41
+ if (!raw)
42
+ return undefined;
43
+ try {
44
+ return JSON.parse(raw);
45
+ }
46
+ catch (err) {
47
+ throw new Error(`Invalid ${flagName}: ${commandErrorMessage(err)}`);
48
+ }
49
+ }
50
+ export function resolveAndValidatePath(pathRaw, flagName) {
51
+ const p = resolve(pathRaw);
52
+ if (!existsSync(p)) {
53
+ throw new Error(`Invalid ${flagName}: file not found at ${p}`);
54
+ }
55
+ return p;
56
+ }
57
+ //# sourceMappingURL=parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../src/lib/parsing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAyB,EACzB,QAAQ,GAAG,SAAS;IAEpB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,WAAW,EAAE,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACvC,IAAI,QAAQ,KAAK,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;;YAChF,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAyB;IAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAc,GAAuB,EAAE,QAAgB;IACpF,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,KAAK,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,4 @@
1
+ import ora from "ora";
2
+ import type { ProgressCallback } from "@executioncontrolprotocol/plugins";
3
+ export declare function createProgressHandler(spinner: ReturnType<typeof ora>, contextPath: string, contextName: string): ProgressCallback;
4
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAA0B,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAkBlG,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,EAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,gBAAgB,CA4GlB"}
@@ -0,0 +1,111 @@
1
+ function phaseToLabel(status) {
2
+ const labels = {
3
+ loading: "Loading context...",
4
+ "hydrating-seed": "Hydrating seed mounts...",
5
+ "running-orchestrator": "Running orchestrator...",
6
+ delegating: "Delegating tasks...",
7
+ "hydrating-focus": "Hydrating focus mounts...",
8
+ "hydrating-deep": "Hydrating deep mounts...",
9
+ "running-specialist": "Running specialist...",
10
+ merging: "Merging outputs...",
11
+ completed: "Completed.",
12
+ failed: "Failed.",
13
+ };
14
+ return labels[status] ?? status;
15
+ }
16
+ export function createProgressHandler(spinner, contextPath, contextName) {
17
+ let currentText = "Starting...";
18
+ const completedSteps = [];
19
+ function redraw() {
20
+ const isTTY = process.stderr.isTTY;
21
+ if (isTTY) {
22
+ process.stderr.write("\x1b[2J\x1b[H");
23
+ }
24
+ process.stderr.write(`\n Running: ${contextPath}\n`);
25
+ process.stderr.write(` Context: ${contextName}\n\n`);
26
+ for (const s of completedSteps) {
27
+ process.stderr.write(` Step ${s.step}: ${s.description} (${s.durationMs}ms)\n`);
28
+ if (s.model) {
29
+ process.stderr.write(` Model: ${s.model}\n`);
30
+ }
31
+ if (s.tokens && s.tokens.total > 0) {
32
+ process.stderr.write(` Tokens: ${s.tokens.prompt} prompt + ${s.tokens.completion} completion = ${s.tokens.total} total\n`);
33
+ }
34
+ if (s.output !== undefined) {
35
+ process.stderr.write(` Output:\n`);
36
+ const json = JSON.stringify(s.output, null, 2);
37
+ for (const line of json.split(/\r?\n/)) {
38
+ process.stderr.write(` ${line}\n`);
39
+ }
40
+ }
41
+ process.stderr.write("\n");
42
+ }
43
+ spinner.start(currentText);
44
+ }
45
+ function appendLastStep() {
46
+ const s = completedSteps[completedSteps.length - 1];
47
+ if (!s)
48
+ return;
49
+ spinner.stopAndPersist({
50
+ text: `Step ${s.step}: ${s.description} (${s.durationMs}ms)`,
51
+ });
52
+ process.stderr.write(` Model: ${s.model ?? "n/a"}\n`);
53
+ if (s.tokens && s.tokens.total > 0) {
54
+ process.stderr.write(` Tokens: ${s.tokens.prompt} prompt + ${s.tokens.completion} completion = ${s.tokens.total} total\n`);
55
+ }
56
+ if (s.output !== undefined) {
57
+ process.stderr.write(` Output:\n`);
58
+ const json = JSON.stringify(s.output, null, 2);
59
+ for (const line of json.split(/\r?\n/)) {
60
+ process.stderr.write(` ${line}\n`);
61
+ }
62
+ }
63
+ process.stderr.write("\n");
64
+ spinner.start(currentText);
65
+ }
66
+ return async (event) => {
67
+ switch (event.type) {
68
+ case "phase":
69
+ currentText = phaseToLabel(event.status);
70
+ spinner.text = currentText;
71
+ break;
72
+ case "step_start":
73
+ currentText = event.description;
74
+ spinner.text = currentText;
75
+ break;
76
+ case "step_complete":
77
+ if (event.kind === "executor") {
78
+ completedSteps.push({
79
+ step: event.step,
80
+ executorName: event.executorName ?? "",
81
+ description: event.description,
82
+ durationMs: event.durationMs,
83
+ tokens: event.tokens,
84
+ model: event.model,
85
+ output: event.output,
86
+ });
87
+ spinner.stop();
88
+ if (process.stderr.isTTY) {
89
+ redraw();
90
+ }
91
+ else {
92
+ appendLastStep();
93
+ }
94
+ }
95
+ break;
96
+ case "executor_reasoning":
97
+ spinner.stop();
98
+ {
99
+ const lines = event.reasoning.split(/\r?\n/);
100
+ process.stderr.write(`\n [${event.executorName}] Chain of thought:\n`);
101
+ for (const line of lines) {
102
+ process.stderr.write(` ${line}\n`);
103
+ }
104
+ process.stderr.write("\n");
105
+ }
106
+ spinner.start(currentText);
107
+ break;
108
+ }
109
+ };
110
+ }
111
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DOT_PROVIDER_ID, ENV_PROVIDER_ID, OS_PROVIDER_ID, SESSION_PROVIDER_ID } from "@executioncontrolprotocol/runtime";
2
+ export { DOT_PROVIDER_ID, ENV_PROVIDER_ID, OS_PROVIDER_ID, SESSION_PROVIDER_ID };
3
+ //# sourceMappingURL=secret-provider-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-provider-ids.d.ts","sourceRoot":"","sources":["../../src/lib/secret-provider-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DOT_PROVIDER_ID, ENV_PROVIDER_ID, OS_PROVIDER_ID, SESSION_PROVIDER_ID, } from "@executioncontrolprotocol/runtime";
2
+ export { DOT_PROVIDER_ID, ENV_PROVIDER_ID, OS_PROVIDER_ID, SESSION_PROVIDER_ID };
3
+ //# sourceMappingURL=secret-provider-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-provider-ids.js","sourceRoot":"","sources":["../../src/lib/secret-provider-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SecretPolicyMode } from "@executioncontrolprotocol/plugins";
2
+ interface SecretsConfigLike {
3
+ secrets?: {
4
+ policy?: SecretPolicyMode;
5
+ providers?: Record<string, {
6
+ path?: string;
7
+ }>;
8
+ };
9
+ }
10
+ export declare const DEFAULT_SECRET_POLICY: SecretPolicyMode;
11
+ export declare const DEFAULT_DOTENV_BASENAME = ".env";
12
+ export declare function resolveDotenvPathFromConfig(cwd: string, config?: SecretsConfigLike): string;
13
+ export declare function resolveSecretPolicyFromConfig(config?: SecretsConfigLike): SecretPolicyMode;
14
+ export {};
15
+ //# sourceMappingURL=secrets-config.d.ts.map