@executioncontrolprotocol/cli 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +57 -2
  2. package/dist/commands/config/endpoints/add.d.ts +14 -0
  3. package/dist/commands/config/endpoints/add.d.ts.map +1 -0
  4. package/dist/commands/config/endpoints/add.js +29 -0
  5. package/dist/commands/config/endpoints/add.js.map +1 -0
  6. package/dist/commands/config/endpoints/get.d.ts +10 -0
  7. package/dist/commands/config/endpoints/get.d.ts.map +1 -0
  8. package/dist/commands/config/endpoints/get.js +35 -0
  9. package/dist/commands/config/endpoints/get.js.map +1 -0
  10. package/dist/commands/config/endpoints/remove.d.ts +13 -0
  11. package/dist/commands/config/endpoints/remove.d.ts.map +1 -0
  12. package/dist/commands/config/endpoints/remove.js +25 -0
  13. package/dist/commands/config/endpoints/remove.js.map +1 -0
  14. package/dist/commands/config/endpoints/update.d.ts +15 -0
  15. package/dist/commands/config/endpoints/update.d.ts.map +1 -0
  16. package/dist/commands/config/endpoints/update.js +36 -0
  17. package/dist/commands/config/endpoints/update.js.map +1 -0
  18. package/dist/commands/config/get.d.ts +11 -0
  19. package/dist/commands/config/get.d.ts.map +1 -0
  20. package/dist/commands/config/get.js +31 -0
  21. package/dist/commands/config/get.js.map +1 -0
  22. package/dist/commands/config/init.d.ts +13 -0
  23. package/dist/commands/config/init.d.ts.map +1 -0
  24. package/dist/commands/config/init.js +49 -0
  25. package/dist/commands/config/init.js.map +1 -0
  26. package/dist/commands/config/loggers/allow/add.d.ts +13 -0
  27. package/dist/commands/config/loggers/allow/add.d.ts.map +1 -0
  28. package/dist/commands/config/loggers/allow/add.js +25 -0
  29. package/dist/commands/config/loggers/allow/add.js.map +1 -0
  30. package/dist/commands/config/loggers/allow/remove.d.ts +13 -0
  31. package/dist/commands/config/loggers/allow/remove.d.ts.map +1 -0
  32. package/dist/commands/config/loggers/allow/remove.js +26 -0
  33. package/dist/commands/config/loggers/allow/remove.js.map +1 -0
  34. package/dist/commands/config/loggers/default/add.d.ts +13 -0
  35. package/dist/commands/config/loggers/default/add.d.ts.map +1 -0
  36. package/dist/commands/config/loggers/default/add.js +28 -0
  37. package/dist/commands/config/loggers/default/add.js.map +1 -0
  38. package/dist/commands/config/loggers/default/remove.d.ts +13 -0
  39. package/dist/commands/config/loggers/default/remove.d.ts.map +1 -0
  40. package/dist/commands/config/loggers/default/remove.js +25 -0
  41. package/dist/commands/config/loggers/default/remove.js.map +1 -0
  42. package/dist/commands/config/loggers/get.d.ts +10 -0
  43. package/dist/commands/config/loggers/get.d.ts.map +1 -0
  44. package/dist/commands/config/loggers/get.js +35 -0
  45. package/dist/commands/config/loggers/get.js.map +1 -0
  46. package/dist/commands/config/loggers/logger/add.d.ts +15 -0
  47. package/dist/commands/config/loggers/logger/add.d.ts.map +1 -0
  48. package/dist/commands/config/loggers/logger/add.js +55 -0
  49. package/dist/commands/config/loggers/logger/add.js.map +1 -0
  50. package/dist/commands/config/loggers/logger/get.d.ts +13 -0
  51. package/dist/commands/config/loggers/logger/get.d.ts.map +1 -0
  52. package/dist/commands/config/loggers/logger/get.js +30 -0
  53. package/dist/commands/config/loggers/logger/get.js.map +1 -0
  54. package/dist/commands/config/loggers/logger/remove.d.ts +13 -0
  55. package/dist/commands/config/loggers/logger/remove.d.ts.map +1 -0
  56. package/dist/commands/config/loggers/logger/remove.js +27 -0
  57. package/dist/commands/config/loggers/logger/remove.js.map +1 -0
  58. package/dist/commands/config/loggers/logger/update.d.ts +15 -0
  59. package/dist/commands/config/loggers/logger/update.d.ts.map +1 -0
  60. package/dist/commands/config/loggers/logger/update.js +55 -0
  61. package/dist/commands/config/loggers/logger/update.js.map +1 -0
  62. package/dist/commands/config/models/allow/add.d.ts +14 -0
  63. package/dist/commands/config/models/allow/add.d.ts.map +1 -0
  64. package/dist/commands/config/models/allow/add.js +36 -0
  65. package/dist/commands/config/models/allow/add.js.map +1 -0
  66. package/dist/commands/config/models/allow/remove.d.ts +14 -0
  67. package/dist/commands/config/models/allow/remove.d.ts.map +1 -0
  68. package/dist/commands/config/models/allow/remove.js +36 -0
  69. package/dist/commands/config/models/allow/remove.js.map +1 -0
  70. package/dist/commands/config/models/default/update.d.ts +14 -0
  71. package/dist/commands/config/models/default/update.d.ts.map +1 -0
  72. package/dist/commands/config/models/default/update.js +35 -0
  73. package/dist/commands/config/models/default/update.js.map +1 -0
  74. package/dist/commands/config/models/get.d.ts +10 -0
  75. package/dist/commands/config/models/get.d.ts.map +1 -0
  76. package/dist/commands/config/models/get.js +39 -0
  77. package/dist/commands/config/models/get.js.map +1 -0
  78. package/dist/commands/config/models/ollama/update.d.ts +13 -0
  79. package/dist/commands/config/models/ollama/update.d.ts.map +1 -0
  80. package/dist/commands/config/models/ollama/update.js +27 -0
  81. package/dist/commands/config/models/ollama/update.js.map +1 -0
  82. package/dist/commands/config/path.d.ts +12 -0
  83. package/dist/commands/config/path.d.ts.map +1 -0
  84. package/dist/commands/config/path.js +32 -0
  85. package/dist/commands/config/path.js.map +1 -0
  86. package/dist/commands/config/plugins/add.d.ts +16 -0
  87. package/dist/commands/config/plugins/add.d.ts.map +1 -0
  88. package/dist/commands/config/plugins/add.js +28 -0
  89. package/dist/commands/config/plugins/add.js.map +1 -0
  90. package/dist/commands/config/plugins/allow/add.d.ts +13 -0
  91. package/dist/commands/config/plugins/allow/add.d.ts.map +1 -0
  92. package/dist/commands/config/plugins/allow/add.js +25 -0
  93. package/dist/commands/config/plugins/allow/add.js.map +1 -0
  94. package/dist/commands/config/plugins/allow/remove.d.ts +13 -0
  95. package/dist/commands/config/plugins/allow/remove.d.ts.map +1 -0
  96. package/dist/commands/config/plugins/allow/remove.js +26 -0
  97. package/dist/commands/config/plugins/allow/remove.js.map +1 -0
  98. package/dist/commands/config/plugins/default/add.d.ts +13 -0
  99. package/dist/commands/config/plugins/default/add.d.ts.map +1 -0
  100. package/dist/commands/config/plugins/default/add.js +28 -0
  101. package/dist/commands/config/plugins/default/add.js.map +1 -0
  102. package/dist/commands/config/plugins/default/remove.d.ts +13 -0
  103. package/dist/commands/config/plugins/default/remove.d.ts.map +1 -0
  104. package/dist/commands/config/plugins/default/remove.js +25 -0
  105. package/dist/commands/config/plugins/default/remove.js.map +1 -0
  106. package/dist/commands/config/plugins/get.d.ts +10 -0
  107. package/dist/commands/config/plugins/get.d.ts.map +1 -0
  108. package/dist/commands/config/plugins/get.js +30 -0
  109. package/dist/commands/config/plugins/get.js.map +1 -0
  110. package/dist/commands/config/plugins/installs/add.d.ts +20 -0
  111. package/dist/commands/config/plugins/installs/add.d.ts.map +1 -0
  112. package/dist/commands/config/plugins/installs/add.js +51 -0
  113. package/dist/commands/config/plugins/installs/add.js.map +1 -0
  114. package/dist/commands/config/plugins/installs/list.d.ts +10 -0
  115. package/dist/commands/config/plugins/installs/list.d.ts.map +1 -0
  116. package/dist/commands/config/plugins/installs/list.js +29 -0
  117. package/dist/commands/config/plugins/installs/list.js.map +1 -0
  118. package/dist/commands/config/plugins/installs/remove.d.ts +13 -0
  119. package/dist/commands/config/plugins/installs/remove.d.ts.map +1 -0
  120. package/dist/commands/config/plugins/installs/remove.js +27 -0
  121. package/dist/commands/config/plugins/installs/remove.js.map +1 -0
  122. package/dist/commands/config/plugins/security/update.d.ts +5 -0
  123. package/dist/commands/config/plugins/security/update.d.ts.map +1 -0
  124. package/dist/commands/config/plugins/security/update.js +5 -0
  125. package/dist/commands/config/plugins/security/update.js.map +1 -0
  126. package/dist/commands/config/secrets/add.d.ts +14 -0
  127. package/dist/commands/config/secrets/add.d.ts.map +1 -0
  128. package/dist/commands/config/secrets/add.js +84 -0
  129. package/dist/commands/config/secrets/add.js.map +1 -0
  130. package/dist/commands/config/secrets/get.d.ts +13 -0
  131. package/dist/commands/config/secrets/get.d.ts.map +1 -0
  132. package/dist/commands/config/secrets/get.js +64 -0
  133. package/dist/commands/config/secrets/get.js.map +1 -0
  134. package/dist/commands/config/secrets/list.d.ts +11 -0
  135. package/dist/commands/config/secrets/list.d.ts.map +1 -0
  136. package/dist/commands/config/secrets/list.js +52 -0
  137. package/dist/commands/config/secrets/list.js.map +1 -0
  138. package/dist/commands/config/secrets/providers/doctor.d.ts +10 -0
  139. package/dist/commands/config/secrets/providers/doctor.d.ts.map +1 -0
  140. package/dist/commands/config/secrets/providers/doctor.js +40 -0
  141. package/dist/commands/config/secrets/providers/doctor.js.map +1 -0
  142. package/dist/commands/config/secrets/providers/list.d.ts +10 -0
  143. package/dist/commands/config/secrets/providers/list.d.ts.map +1 -0
  144. package/dist/commands/config/secrets/providers/list.js +31 -0
  145. package/dist/commands/config/secrets/providers/list.js.map +1 -0
  146. package/dist/commands/config/secrets/providers.d.ts +6 -0
  147. package/dist/commands/config/secrets/providers.d.ts.map +1 -0
  148. package/dist/commands/config/secrets/providers.js +9 -0
  149. package/dist/commands/config/secrets/providers.js.map +1 -0
  150. package/dist/commands/config/secrets/remove.d.ts +12 -0
  151. package/dist/commands/config/secrets/remove.d.ts.map +1 -0
  152. package/dist/commands/config/secrets/remove.js +51 -0
  153. package/dist/commands/config/secrets/remove.js.map +1 -0
  154. package/dist/commands/config/secrets/yaml/get.d.ts +11 -0
  155. package/dist/commands/config/secrets/yaml/get.d.ts.map +1 -0
  156. package/dist/commands/config/secrets/yaml/get.js +35 -0
  157. package/dist/commands/config/secrets/yaml/get.js.map +1 -0
  158. package/dist/commands/config/secrets/yaml/set-default-provider.d.ts +13 -0
  159. package/dist/commands/config/secrets/yaml/set-default-provider.d.ts.map +1 -0
  160. package/dist/commands/config/secrets/yaml/set-default-provider.js +24 -0
  161. package/dist/commands/config/secrets/yaml/set-default-provider.js.map +1 -0
  162. package/dist/commands/config/secrets/yaml/set-policy.d.ts +13 -0
  163. package/dist/commands/config/secrets/yaml/set-policy.d.ts.map +1 -0
  164. package/dist/commands/config/secrets/yaml/set-policy.js +29 -0
  165. package/dist/commands/config/secrets/yaml/set-policy.js.map +1 -0
  166. package/dist/commands/config/secrets.d.ts +8 -0
  167. package/dist/commands/config/secrets.d.ts.map +1 -0
  168. package/dist/commands/config/secrets.js +35 -0
  169. package/dist/commands/config/secrets.js.map +1 -0
  170. package/dist/commands/config/security/get.d.ts +11 -0
  171. package/dist/commands/config/security/get.d.ts.map +1 -0
  172. package/dist/commands/config/security/get.js +33 -0
  173. package/dist/commands/config/security/get.js.map +1 -0
  174. package/dist/commands/config/security/plugins/update.d.ts +13 -0
  175. package/dist/commands/config/security/plugins/update.d.ts.map +1 -0
  176. package/dist/commands/config/security/plugins/update.js +49 -0
  177. package/dist/commands/config/security/plugins/update.js.map +1 -0
  178. package/dist/commands/config/tools/add.d.ts +16 -0
  179. package/dist/commands/config/tools/add.d.ts.map +1 -0
  180. package/dist/commands/config/tools/add.js +60 -0
  181. package/dist/commands/config/tools/add.js.map +1 -0
  182. package/dist/commands/config/tools/get.d.ts +10 -0
  183. package/dist/commands/config/tools/get.d.ts.map +1 -0
  184. package/dist/commands/config/tools/get.js +29 -0
  185. package/dist/commands/config/tools/get.js.map +1 -0
  186. package/dist/commands/config/tools/remove.d.ts +13 -0
  187. package/dist/commands/config/tools/remove.d.ts.map +1 -0
  188. package/dist/commands/config/tools/remove.js +25 -0
  189. package/dist/commands/config/tools/remove.js.map +1 -0
  190. package/dist/commands/config/tools/update.d.ts +16 -0
  191. package/dist/commands/config/tools/update.d.ts.map +1 -0
  192. package/dist/commands/config/tools/update.js +59 -0
  193. package/dist/commands/config/tools/update.js.map +1 -0
  194. package/dist/commands/config.d.ts +8 -0
  195. package/dist/commands/config.d.ts.map +1 -0
  196. package/dist/commands/config.js +43 -0
  197. package/dist/commands/config.js.map +1 -0
  198. package/dist/commands/graph.d.ts +3 -2
  199. package/dist/commands/graph.d.ts.map +1 -1
  200. package/dist/commands/graph.js +5 -2
  201. package/dist/commands/graph.js.map +1 -1
  202. package/dist/commands/run.d.ts +6 -7
  203. package/dist/commands/run.d.ts.map +1 -1
  204. package/dist/commands/run.js +114 -100
  205. package/dist/commands/run.js.map +1 -1
  206. package/dist/commands/trace/list.d.ts +3 -2
  207. package/dist/commands/trace/list.d.ts.map +1 -1
  208. package/dist/commands/trace/list.js +8 -8
  209. package/dist/commands/trace/list.js.map +1 -1
  210. package/dist/commands/trace.d.ts +3 -2
  211. package/dist/commands/trace.d.ts.map +1 -1
  212. package/dist/commands/trace.js +5 -2
  213. package/dist/commands/trace.js.map +1 -1
  214. package/dist/commands/validate.d.ts +3 -2
  215. package/dist/commands/validate.d.ts.map +1 -1
  216. package/dist/commands/validate.js +7 -3
  217. package/dist/commands/validate.js.map +1 -1
  218. package/dist/lib/command-helpers.d.ts +16 -0
  219. package/dist/lib/command-helpers.d.ts.map +1 -0
  220. package/dist/lib/command-helpers.js +27 -0
  221. package/dist/lib/command-helpers.js.map +1 -0
  222. package/dist/lib/config-flags.d.ts +6 -0
  223. package/dist/lib/config-flags.d.ts.map +1 -0
  224. package/dist/lib/config-flags.js +14 -0
  225. package/dist/lib/config-flags.js.map +1 -0
  226. package/dist/lib/default-ecp-config.d.ts +5 -0
  227. package/dist/lib/default-ecp-config.d.ts.map +1 -0
  228. package/dist/lib/default-ecp-config.js +47 -0
  229. package/dist/lib/default-ecp-config.js.map +1 -0
  230. package/dist/lib/ecp-environment-command.d.ts +20 -0
  231. package/dist/lib/ecp-environment-command.d.ts.map +1 -0
  232. package/dist/lib/ecp-environment-command.js +33 -0
  233. package/dist/lib/ecp-environment-command.js.map +1 -0
  234. package/dist/lib/parsing.d.ts.map +1 -1
  235. package/dist/lib/parsing.js +2 -2
  236. package/dist/lib/parsing.js.map +1 -1
  237. package/dist/lib/progress.d.ts +1 -1
  238. package/dist/lib/secret-provider-ids.d.ts +3 -0
  239. package/dist/lib/secret-provider-ids.d.ts.map +1 -0
  240. package/dist/lib/secret-provider-ids.js +3 -0
  241. package/dist/lib/secret-provider-ids.js.map +1 -0
  242. package/dist/lib/secrets-config.d.ts +15 -0
  243. package/dist/lib/secrets-config.d.ts.map +1 -0
  244. package/dist/lib/secrets-config.js +12 -0
  245. package/dist/lib/secrets-config.js.map +1 -0
  246. package/dist/lib/system-config-cli.d.ts +50 -0
  247. package/dist/lib/system-config-cli.d.ts.map +1 -0
  248. package/dist/lib/system-config-cli.js +108 -0
  249. package/dist/lib/system-config-cli.js.map +1 -0
  250. package/package.json +4 -3
@@ -0,0 +1,13 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigSecretsYamlSetPolicy extends Command {
3
+ static summary: string;
4
+ static args: {
5
+ mode: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=set-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-policy.d.ts","sourceRoot":"","sources":["../../../../../src/commands/config/secrets/yaml/set-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,OAAO;IAC7D,MAAM,CAAC,OAAO,SAAqD;IAEnE,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;MAA2B;IAEjC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAe3B"}
@@ -0,0 +1,29 @@
1
+ import { Args, Command } from "@oclif/core";
2
+ import { configScopeFlags } from "../../../../lib/config-flags.js";
3
+ import { persistConfig, readForMutation } from "../../../../lib/system-config-cli.js";
4
+ const MODES = ["permissive", "warn", "strict"];
5
+ export default class ConfigSecretsYamlSetPolicy extends Command {
6
+ static summary = "Set secrets.policy (permissive | warn | strict)";
7
+ static args = {
8
+ mode: Args.string({
9
+ required: true,
10
+ description: "Policy mode",
11
+ options: MODES,
12
+ }),
13
+ };
14
+ static flags = { ...configScopeFlags };
15
+ async run() {
16
+ const { args, flags } = await this.parse(ConfigSecretsYamlSetPolicy);
17
+ const cwd = process.cwd();
18
+ const { path, config } = readForMutation({
19
+ global: flags.global,
20
+ cwd,
21
+ explicit: flags.config,
22
+ });
23
+ config.secrets ??= {};
24
+ config.secrets.policy = args.mode;
25
+ persistConfig(path, config);
26
+ this.log(`Set secrets.policy = ${args.mode} (${path})`);
27
+ }
28
+ }
29
+ //# sourceMappingURL=set-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-policy.js","sourceRoot":"","sources":["../../../../../src/commands/config/secrets/yaml/set-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEtF,MAAM,KAAK,GAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,OAAO;IAC7D,MAAM,CAAC,OAAO,GAAG,iDAAiD,CAAC;IAEnE,MAAM,CAAC,IAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;YACvC,MAAM,EAAE,KAAK,CAAC,MAAiB;YAC/B,GAAG;YACH,QAAQ,EAAE,KAAK,CAAC,MAA4B;SAC7C,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAwB,CAAC;QAEtD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;IAC1D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigSecrets extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ run(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/config/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,MAAM,CAAC,OAAO,SAA0D;IAExE,MAAM,CAAC,WAAW,SAMkD;IAEpE,MAAM,CAAC,QAAQ,WAIb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
@@ -0,0 +1,35 @@
1
+ import { Command } from "@oclif/core";
2
+ import { OS_PROVIDER_ID } from "../../lib/secret-provider-ids.js";
3
+ export default class ConfigSecrets extends Command {
4
+ static summary = "Manage secrets (process.env, dot.env, os.secrets, …)";
5
+ static description = `Store and inspect secret values outside config files. Prefer os.secrets on Mac/Windows.
6
+
7
+ Subcommands:
8
+ add|get|remove|list CRUD-style commands for a provider key
9
+ providers list|doctor Availability and health
10
+ yaml get Print secrets.* + security.secrets from the YAML file
11
+ yaml set-default-provider|set-policy Edit non-secret YAML fields`;
12
+ static examples = [
13
+ `ecp config secrets add --provider ${OS_PROVIDER_ID} --key server/fetch.token --prompt`,
14
+ `ecp config secrets get --provider ${OS_PROVIDER_ID} --key ecp.server.fetch.token`,
15
+ "ecp config secrets providers doctor",
16
+ ];
17
+ async run() {
18
+ await this.parse(ConfigSecrets);
19
+ this.log([
20
+ "Usage: ecp config secrets <subcommand>",
21
+ "",
22
+ ` add Add or replace a secret (${OS_PROVIDER_ID}, …)`,
23
+ " get Read a secret (default: redacted preview)",
24
+ " remove Remove a stored secret",
25
+ " list List keys (when supported by provider)",
26
+ " providers list|doctor",
27
+ " yaml get Print secrets + security.secrets blocks",
28
+ " yaml set-default-provider <id>",
29
+ " yaml set-policy <permissive|warn|strict>",
30
+ "",
31
+ "Run ecp config secrets <cmd> --help for flags.",
32
+ ].join("\n"));
33
+ }
34
+ }
35
+ //# sourceMappingURL=secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/config/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,MAAM,CAAC,OAAO,GAAG,sDAAsD,CAAC;IAExE,MAAM,CAAC,WAAW,GAAG;;;;;;qEAM8C,CAAC;IAEpE,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC,cAAc,oCAAoC;QACvF,qCAAqC,cAAc,+BAA+B;QAClF,qCAAqC;KACtC,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CACN;YACE,wCAAwC;YACxC,EAAE;YACF,wCAAwC,cAAc,MAAM;YAC5D,uDAAuD;YACvD,oCAAoC;YACpC,oDAAoD;YACpD,yBAAyB;YACzB,qDAAqD;YACrD,kCAAkC;YAClC,4CAA4C;YAC5C,EAAE;YACF,gDAAgD;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigSecurityGet extends Command {
3
+ static summary: string;
4
+ static flags: {
5
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/security/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAO7C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACpD,MAAM,CAAC,OAAO,SAAoD;IAElE,MAAM,CAAC,KAAK;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB3B"}
@@ -0,0 +1,33 @@
1
+ import { Command, Flags } from "@oclif/core";
2
+ import { formatConfigFileHeaderLine, runWithCommandError } from "../../../lib/command-helpers.js";
3
+ import { configScopeFlags } from "../../../lib/config-flags.js";
4
+ import { loadConfigForDisplay } from "../../../lib/system-config-cli.js";
5
+ import { getSecurityConfig, stringifySystemConfig } from "@executioncontrolprotocol/runtime";
6
+ export default class ConfigSecurityGet extends Command {
7
+ static summary = "Print the security policy block (YAML or JSON)";
8
+ static flags = {
9
+ ...configScopeFlags,
10
+ format: Flags.string({
11
+ description: "Serialization format",
12
+ options: ["yaml", "json"],
13
+ default: "yaml",
14
+ }),
15
+ };
16
+ async run() {
17
+ const { flags } = await this.parse(ConfigSecurityGet);
18
+ const cwd = process.cwd();
19
+ await runWithCommandError(this, async () => {
20
+ const { path, exists, config } = loadConfigForDisplay({
21
+ global: flags.global,
22
+ cwd,
23
+ explicit: flags.config,
24
+ });
25
+ this.log(formatConfigFileHeaderLine(path, exists));
26
+ const sec = getSecurityConfig(config) ?? {};
27
+ const fmt = flags.format;
28
+ const slice = { security: sec };
29
+ this.log(stringifySystemConfig(slice, fmt).trim());
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/config/security/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAwB,MAAM,mCAAmC,CAAC;AAEnH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACpD,MAAM,CAAC,OAAO,GAAG,gDAAgD,CAAC;IAElE,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,gBAAgB;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAU;YAClC,OAAO,EAAE,MAAM;SAChB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;gBACpD,MAAM,EAAE,KAAK,CAAC,MAAiB;gBAC/B,GAAG;gBACH,QAAQ,EAAE,KAAK,CAAC,MAA4B;aAC7C,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAyB,CAAC;YAC5C,MAAM,KAAK,GAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigSecurityPluginsUpdate extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static flags: {
6
+ json: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/commands/config/security/plugins/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAS7C,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,OAAO;IAC9D,MAAM,CAAC,OAAO,SAA0D;IAExE,MAAM,CAAC,WAAW,SACgG;IAElH,MAAM,CAAC,KAAK;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
@@ -0,0 +1,49 @@
1
+ import { Command, Flags } from "@oclif/core";
2
+ import { readFileSync } from "node:fs";
3
+ import { commandErrorMessage } from "../../../../lib/command-helpers.js";
4
+ import { configScopeFlags } from "../../../../lib/config-flags.js";
5
+ import { persistConfig, readForMutation, touchSecurity } from "../../../../lib/system-config-cli.js";
6
+ export default class ConfigSecurityPluginsUpdate extends Command {
7
+ static summary = "Replace security.plugins (PluginSecurityPolicy JSON)";
8
+ static description = "Sets allowKinds, allowSourceTypes, allowIds, denyIds, strict, etc. Replaces the whole security.plugins block.";
9
+ static flags = {
10
+ ...configScopeFlags,
11
+ json: Flags.string({
12
+ description: "JSON object (PluginSecurityPolicy)",
13
+ }),
14
+ file: Flags.string({
15
+ description: "Path to a JSON file",
16
+ }),
17
+ };
18
+ async run() {
19
+ const { flags } = await this.parse(ConfigSecurityPluginsUpdate);
20
+ if (!flags.json && !flags.file) {
21
+ this.error("Provide --json or --file.", { exit: 1 });
22
+ }
23
+ if (flags.json && flags.file) {
24
+ this.error("Use only one of --json or --file.", { exit: 1 });
25
+ }
26
+ const raw = flags.file ? readFileSync(flags.file, "utf-8") : String(flags.json);
27
+ let parsed;
28
+ try {
29
+ parsed = JSON.parse(raw);
30
+ }
31
+ catch (e) {
32
+ this.error(`Invalid JSON: ${commandErrorMessage(e)}`, { exit: 1 });
33
+ }
34
+ if (!parsed || typeof parsed !== "object") {
35
+ this.error("Security policy must be a JSON object.", { exit: 1 });
36
+ }
37
+ const cwd = process.cwd();
38
+ const { path, config } = readForMutation({
39
+ global: flags.global,
40
+ cwd,
41
+ explicit: flags.config,
42
+ });
43
+ const sec = touchSecurity(config);
44
+ sec.plugins = parsed;
45
+ persistConfig(path, config);
46
+ this.log(`Updated security.plugins (${path})`);
47
+ }
48
+ }
49
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/config/security/plugins/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErG,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,OAAO;IAC9D,MAAM,CAAC,OAAO,GAAG,sDAAsD,CAAC;IAExE,MAAM,CAAC,WAAW,GAChB,+GAA+G,CAAC;IAElH,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,gBAAgB;QACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,oCAAoC;SAClD,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,qBAAqB;SACnC,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,iBAAiB,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;YACvC,MAAM,EAAE,KAAK,CAAC,MAAiB;YAC/B,GAAG;YACH,QAAQ,EAAE,KAAK,CAAC,MAA4B;SAC7C,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,OAAO,GAAG,MAA8B,CAAC;QAE7C,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IACjD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigToolsAdd extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static args: {
6
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/tools/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAC,OAAO,SAAyD;IAEvE,MAAM,CAAC,WAAW,SAE6H;IAE/I,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0C3B"}
@@ -0,0 +1,60 @@
1
+ import { Args, Command, Flags } from "@oclif/core";
2
+ import { readFileSync } from "node:fs";
3
+ import { commandErrorMessage } from "../../../lib/command-helpers.js";
4
+ import { configScopeFlags } from "../../../lib/config-flags.js";
5
+ import { persistConfig, readForMutation } from "../../../lib/system-config-cli.js";
6
+ export default class ConfigToolsAdd extends Command {
7
+ static summary = "Add an MCP tool server entry (tools.servers.<name>)";
8
+ static description = "Registers a logical server name for Context mounts. Pass the server block as JSON " +
9
+ '(must include a "transport" object). Example: \'{"transport":{"type":"stdio","command":"docker","args":["run","-i","--rm","mcp/fetch"]}}\'';
10
+ static args = {
11
+ name: Args.string({
12
+ required: true,
13
+ description: "Logical server name (matches Context mount server:)",
14
+ }),
15
+ };
16
+ static flags = {
17
+ ...configScopeFlags,
18
+ json: Flags.string({
19
+ description: "JSON object for the tool server entry (e.g. {\"transport\":{...}})",
20
+ }),
21
+ file: Flags.string({
22
+ description: "Path to a JSON file containing the tool server entry",
23
+ }),
24
+ };
25
+ async run() {
26
+ const { args, flags } = await this.parse(ConfigToolsAdd);
27
+ if (!flags.json && !flags.file) {
28
+ this.error("Provide --json or --file with the tool server definition.", { exit: 1 });
29
+ }
30
+ if (flags.json && flags.file) {
31
+ this.error("Use only one of --json or --file.", { exit: 1 });
32
+ }
33
+ const raw = flags.file ? readFileSync(flags.file, "utf-8") : String(flags.json);
34
+ let parsed;
35
+ try {
36
+ parsed = JSON.parse(raw);
37
+ }
38
+ catch (e) {
39
+ this.error(`Invalid JSON: ${commandErrorMessage(e)}`, { exit: 1 });
40
+ }
41
+ if (!parsed || typeof parsed !== "object" || !("transport" in parsed)) {
42
+ this.error('Tool server entry must be a JSON object with a "transport" field.', { exit: 1 });
43
+ }
44
+ const cwd = process.cwd();
45
+ const { path, config } = readForMutation({
46
+ global: flags.global,
47
+ cwd,
48
+ explicit: flags.config,
49
+ });
50
+ config.tools ??= {};
51
+ config.tools.servers ??= {};
52
+ if (config.tools.servers[args.name]) {
53
+ this.error(`Tool server "${args.name}" already exists. Use "ecp config tools update" to replace it.`, { exit: 1 });
54
+ }
55
+ config.tools.servers[args.name] = parsed;
56
+ persistConfig(path, config);
57
+ this.log(`Added tool server "${args.name}" (${path})`);
58
+ }
59
+ }
60
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/config/tools/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigToolsGet extends Command {
3
+ static summary: string;
4
+ static flags: {
5
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/tools/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAC,OAAO,SAA+C;IAE7D,MAAM,CAAC,KAAK;;;MAA2B;IAEjC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
@@ -0,0 +1,29 @@
1
+ import { Command } from "@oclif/core";
2
+ import { formatConfigFileHeaderLine, runWithCommandError } from "../../../lib/command-helpers.js";
3
+ import { configScopeFlags } from "../../../lib/config-flags.js";
4
+ import { loadConfigForDisplay } from "../../../lib/system-config-cli.js";
5
+ export default class ConfigToolsGet extends Command {
6
+ static summary = "Get MCP tool server names (tools.servers)";
7
+ static flags = { ...configScopeFlags };
8
+ async run() {
9
+ const { flags } = await this.parse(ConfigToolsGet);
10
+ const cwd = process.cwd();
11
+ await runWithCommandError(this, async () => {
12
+ const { path, exists, config } = loadConfigForDisplay({
13
+ global: flags.global,
14
+ cwd,
15
+ explicit: flags.config,
16
+ });
17
+ this.log(formatConfigFileHeaderLine(path, exists));
18
+ const names = config.tools?.servers ? Object.keys(config.tools.servers) : [];
19
+ if (names.length === 0) {
20
+ this.log("(no tool servers configured)");
21
+ return;
22
+ }
23
+ for (const n of names.sort()) {
24
+ this.log(`- ${n}`);
25
+ }
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/config/tools/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAC,OAAO,GAAG,2CAA2C,CAAC;IAE7D,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;gBACpD,MAAM,EAAE,KAAK,CAAC,MAAiB;gBAC/B,GAAG;gBACH,QAAQ,EAAE,KAAK,CAAC,MAA4B;aAC7C,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigToolsRemove extends Command {
3
+ static summary: string;
4
+ static args: {
5
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACpD,MAAM,CAAC,OAAO,SAA2D;IAEzE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAA2B;IAEjC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB3B"}
@@ -0,0 +1,25 @@
1
+ import { Args, Command } from "@oclif/core";
2
+ import { configScopeFlags } from "../../../lib/config-flags.js";
3
+ import { persistConfig, readForMutation } from "../../../lib/system-config-cli.js";
4
+ export default class ConfigToolsRemove extends Command {
5
+ static summary = "Remove an MCP tool server entry (disable tool wiring)";
6
+ static args = {
7
+ name: Args.string({ required: true, description: "Logical server name" }),
8
+ };
9
+ static flags = { ...configScopeFlags };
10
+ async run() {
11
+ const { args, flags } = await this.parse(ConfigToolsRemove);
12
+ const cwd = process.cwd();
13
+ const { path, config } = readForMutation({
14
+ global: flags.global,
15
+ cwd,
16
+ explicit: flags.config,
17
+ });
18
+ if (config.tools?.servers && args.name in config.tools.servers) {
19
+ delete config.tools.servers[args.name];
20
+ }
21
+ persistConfig(path, config);
22
+ this.log(`Removed tool server "${args.name}" (${path})`);
23
+ }
24
+ }
25
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/config/tools/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEnF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACpD,MAAM,CAAC,OAAO,GAAG,uDAAuD,CAAC;IAEzE,MAAM,CAAC,IAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;YACvC,MAAM,EAAE,KAAK,CAAC,MAAiB;YAC/B,GAAG;YACH,QAAQ,EAAE,KAAK,CAAC,MAA4B;SAC7C,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;IAC3D,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class ConfigToolsUpdate extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static args: {
6
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/tools/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,OAAO;IACpD,MAAM,CAAC,OAAO,SAA4D;IAE1E,MAAM,CAAC,WAAW,SACwF;IAE1G,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuC3B"}
@@ -0,0 +1,59 @@
1
+ import { Args, Command, Flags } from "@oclif/core";
2
+ import { readFileSync } from "node:fs";
3
+ import { commandErrorMessage } from "../../../lib/command-helpers.js";
4
+ import { configScopeFlags } from "../../../lib/config-flags.js";
5
+ import { persistConfig, readForMutation } from "../../../lib/system-config-cli.js";
6
+ export default class ConfigToolsUpdate extends Command {
7
+ static summary = "Update an MCP tool server entry (tools.servers.<name>)";
8
+ static description = "Replaces the server block for an existing name. Same shape as add (JSON with a \"transport\" object).";
9
+ static args = {
10
+ name: Args.string({
11
+ required: true,
12
+ description: "Logical server name (matches Context mount server:)",
13
+ }),
14
+ };
15
+ static flags = {
16
+ ...configScopeFlags,
17
+ json: Flags.string({
18
+ description: "JSON object for the tool server entry (e.g. {\"transport\":{...}})",
19
+ }),
20
+ file: Flags.string({
21
+ description: "Path to a JSON file containing the tool server entry",
22
+ }),
23
+ };
24
+ async run() {
25
+ const { args, flags } = await this.parse(ConfigToolsUpdate);
26
+ if (!flags.json && !flags.file) {
27
+ this.error("Provide --json or --file with the tool server definition.", { exit: 1 });
28
+ }
29
+ if (flags.json && flags.file) {
30
+ this.error("Use only one of --json or --file.", { exit: 1 });
31
+ }
32
+ const raw = flags.file ? readFileSync(flags.file, "utf-8") : String(flags.json);
33
+ let parsed;
34
+ try {
35
+ parsed = JSON.parse(raw);
36
+ }
37
+ catch (e) {
38
+ this.error(`Invalid JSON: ${commandErrorMessage(e)}`, { exit: 1 });
39
+ }
40
+ if (!parsed || typeof parsed !== "object" || !("transport" in parsed)) {
41
+ this.error('Tool server entry must be a JSON object with a "transport" field.', { exit: 1 });
42
+ }
43
+ const cwd = process.cwd();
44
+ const { path, config } = readForMutation({
45
+ global: flags.global,
46
+ cwd,
47
+ explicit: flags.config,
48
+ });
49
+ config.tools ??= {};
50
+ config.tools.servers ??= {};
51
+ if (!config.tools.servers[args.name]) {
52
+ this.error(`No tool server named "${args.name}". Use "ecp config tools add" first.`, { exit: 1 });
53
+ }
54
+ config.tools.servers[args.name] = parsed;
55
+ persistConfig(path, config);
56
+ this.log(`Updated tool server "${args.name}" (${path})`);
57
+ }
58
+ }
59
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/config/tools/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class Config extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ run(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,OAAO,SAAqC;IAEnD,MAAM,CAAC,WAAW,SAKgE;IAElF,MAAM,CAAC,QAAQ,WAUb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
@@ -0,0 +1,43 @@
1
+ import { Command } from "@oclif/core";
2
+ import { OS_PROVIDER_ID } from "../lib/secret-provider-ids.js";
3
+ export default class Config extends Command {
4
+ static summary = "Manage ECP system configuration";
5
+ static description = `Inspect and edit system config (project ecp.config.* or global ~/.ecp/).
6
+
7
+ v0.5 layout: policy under top-level security (mirrors models, tools, loggers, …); wiring under models.providers, tools.servers, loggers.config, agents.endpoints, plugins.installs, secrets.
8
+
9
+ Subcommands: security, plugins (installs + deprecated allow paths), models, tools, loggers, secrets (store ops + yaml *), endpoints (agents.endpoints).
10
+ You can also edit the file directly — use "ecp config path" for the resolved path.`;
11
+ static examples = [
12
+ "ecp config init",
13
+ "ecp config init --global",
14
+ "ecp config get",
15
+ "ecp config path --global",
16
+ "ecp config plugins get",
17
+ "ecp config models allow add ollama llama3.2:3b",
18
+ "ecp config tools add fetch --json '{\"transport\":{\"type\":\"stdio\",\"command\":\"docker\",\"args\":[\"run\",\"-i\",\"--rm\",\"mcp/fetch\"]}}'",
19
+ `ecp config secrets add --provider ${OS_PROVIDER_ID} --key server/fetch.token --prompt`,
20
+ "ecp config secrets providers doctor",
21
+ ];
22
+ async run() {
23
+ await this.parse(Config);
24
+ this.log([
25
+ "Usage: ecp config <subcommand>",
26
+ "",
27
+ " init Write best-practices default if missing",
28
+ " path Print config file path",
29
+ " get Print merged config (YAML or JSON)",
30
+ " security Dump security.* (policy mirror)",
31
+ " plugins installs list/add/remove; legacy allow → security.models",
32
+ " models CRUD for models.providers",
33
+ " tools CRUD for tools.servers",
34
+ " loggers security.loggers + loggers.config",
35
+ ` secrets Store ops + yaml get/set-default-provider/set-policy`,
36
+ " endpoints CRUD for agents.endpoints (A2A URLs)",
37
+ "",
38
+ "Resource commands use verbs: add, get, remove, update (see ecp config <topic> --help).",
39
+ "Run ecp config --help for flags and full help.",
40
+ ].join("\n"));
41
+ }
42
+ }
43
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,OAAO,GAAG,iCAAiC,CAAC;IAEnD,MAAM,CAAC,WAAW,GAAG;;;;;mFAK4D,CAAC;IAElF,MAAM,CAAC,QAAQ,GAAG;QAChB,iBAAiB;QACjB,0BAA0B;QAC1B,gBAAgB;QAChB,0BAA0B;QAC1B,wBAAwB;QACxB,gDAAgD;QAChD,kJAAkJ;QAClJ,qCAAqC,cAAc,oCAAoC;QACvF,qCAAqC;KACtC,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CACN;YACE,gCAAgC;YAChC,EAAE;YACF,6DAA6D;YAC7D,4CAA4C;YAC5C,wDAAwD;YACxD,qDAAqD;YACrD,8EAA8E;YAC9E,+CAA+C;YAC/C,4CAA4C;YAC5C,uDAAuD;YACvD,0EAA0E;YAC1E,0DAA0D;YAC1D,EAAE;YACF,wFAAwF;YACxF,gDAAgD;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC"}
@@ -1,9 +1,10 @@
1
- import { Command } from "@oclif/core";
2
- export default class Graph extends Command {
1
+ import { EcpEnvironmentCommand } from "../lib/ecp-environment-command.js";
2
+ export default class Graph extends EcpEnvironmentCommand {
3
3
  static summary: string;
4
4
  static hidden: boolean;
5
5
  static flags: {
6
6
  "trace-dir": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
8
  };
8
9
  static args: {
9
10
  runId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,OAAO,SAA6B;IAE3C,MAAM,CAAC,MAAM,UAAQ;IAErB,MAAM,CAAC,KAAK;;MAKV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,qBAAqB;IACtD,MAAM,CAAC,OAAO,SAA6B;IAE3C,MAAM,CAAC,MAAM,UAAQ;IAErB,MAAM,CAAC,KAAK;;;MAMV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}