@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.
- package/README.md +57 -2
- package/dist/commands/config/endpoints/add.d.ts +14 -0
- package/dist/commands/config/endpoints/add.d.ts.map +1 -0
- package/dist/commands/config/endpoints/add.js +29 -0
- package/dist/commands/config/endpoints/add.js.map +1 -0
- package/dist/commands/config/endpoints/get.d.ts +10 -0
- package/dist/commands/config/endpoints/get.d.ts.map +1 -0
- package/dist/commands/config/endpoints/get.js +35 -0
- package/dist/commands/config/endpoints/get.js.map +1 -0
- package/dist/commands/config/endpoints/remove.d.ts +13 -0
- package/dist/commands/config/endpoints/remove.d.ts.map +1 -0
- package/dist/commands/config/endpoints/remove.js +25 -0
- package/dist/commands/config/endpoints/remove.js.map +1 -0
- package/dist/commands/config/endpoints/update.d.ts +15 -0
- package/dist/commands/config/endpoints/update.d.ts.map +1 -0
- package/dist/commands/config/endpoints/update.js +36 -0
- package/dist/commands/config/endpoints/update.js.map +1 -0
- package/dist/commands/config/get.d.ts +11 -0
- package/dist/commands/config/get.d.ts.map +1 -0
- package/dist/commands/config/get.js +31 -0
- package/dist/commands/config/get.js.map +1 -0
- package/dist/commands/config/init.d.ts +13 -0
- package/dist/commands/config/init.d.ts.map +1 -0
- package/dist/commands/config/init.js +49 -0
- package/dist/commands/config/init.js.map +1 -0
- package/dist/commands/config/loggers/allow/add.d.ts +13 -0
- package/dist/commands/config/loggers/allow/add.d.ts.map +1 -0
- package/dist/commands/config/loggers/allow/add.js +25 -0
- package/dist/commands/config/loggers/allow/add.js.map +1 -0
- package/dist/commands/config/loggers/allow/remove.d.ts +13 -0
- package/dist/commands/config/loggers/allow/remove.d.ts.map +1 -0
- package/dist/commands/config/loggers/allow/remove.js +26 -0
- package/dist/commands/config/loggers/allow/remove.js.map +1 -0
- package/dist/commands/config/loggers/default/add.d.ts +13 -0
- package/dist/commands/config/loggers/default/add.d.ts.map +1 -0
- package/dist/commands/config/loggers/default/add.js +28 -0
- package/dist/commands/config/loggers/default/add.js.map +1 -0
- package/dist/commands/config/loggers/default/remove.d.ts +13 -0
- package/dist/commands/config/loggers/default/remove.d.ts.map +1 -0
- package/dist/commands/config/loggers/default/remove.js +25 -0
- package/dist/commands/config/loggers/default/remove.js.map +1 -0
- package/dist/commands/config/loggers/get.d.ts +10 -0
- package/dist/commands/config/loggers/get.d.ts.map +1 -0
- package/dist/commands/config/loggers/get.js +35 -0
- package/dist/commands/config/loggers/get.js.map +1 -0
- package/dist/commands/config/loggers/logger/add.d.ts +15 -0
- package/dist/commands/config/loggers/logger/add.d.ts.map +1 -0
- package/dist/commands/config/loggers/logger/add.js +55 -0
- package/dist/commands/config/loggers/logger/add.js.map +1 -0
- package/dist/commands/config/loggers/logger/get.d.ts +13 -0
- package/dist/commands/config/loggers/logger/get.d.ts.map +1 -0
- package/dist/commands/config/loggers/logger/get.js +30 -0
- package/dist/commands/config/loggers/logger/get.js.map +1 -0
- package/dist/commands/config/loggers/logger/remove.d.ts +13 -0
- package/dist/commands/config/loggers/logger/remove.d.ts.map +1 -0
- package/dist/commands/config/loggers/logger/remove.js +27 -0
- package/dist/commands/config/loggers/logger/remove.js.map +1 -0
- package/dist/commands/config/loggers/logger/update.d.ts +15 -0
- package/dist/commands/config/loggers/logger/update.d.ts.map +1 -0
- package/dist/commands/config/loggers/logger/update.js +55 -0
- package/dist/commands/config/loggers/logger/update.js.map +1 -0
- package/dist/commands/config/models/allow/add.d.ts +14 -0
- package/dist/commands/config/models/allow/add.d.ts.map +1 -0
- package/dist/commands/config/models/allow/add.js +36 -0
- package/dist/commands/config/models/allow/add.js.map +1 -0
- package/dist/commands/config/models/allow/remove.d.ts +14 -0
- package/dist/commands/config/models/allow/remove.d.ts.map +1 -0
- package/dist/commands/config/models/allow/remove.js +36 -0
- package/dist/commands/config/models/allow/remove.js.map +1 -0
- package/dist/commands/config/models/default/update.d.ts +14 -0
- package/dist/commands/config/models/default/update.d.ts.map +1 -0
- package/dist/commands/config/models/default/update.js +35 -0
- package/dist/commands/config/models/default/update.js.map +1 -0
- package/dist/commands/config/models/get.d.ts +10 -0
- package/dist/commands/config/models/get.d.ts.map +1 -0
- package/dist/commands/config/models/get.js +39 -0
- package/dist/commands/config/models/get.js.map +1 -0
- package/dist/commands/config/models/ollama/update.d.ts +13 -0
- package/dist/commands/config/models/ollama/update.d.ts.map +1 -0
- package/dist/commands/config/models/ollama/update.js +27 -0
- package/dist/commands/config/models/ollama/update.js.map +1 -0
- package/dist/commands/config/path.d.ts +12 -0
- package/dist/commands/config/path.d.ts.map +1 -0
- package/dist/commands/config/path.js +32 -0
- package/dist/commands/config/path.js.map +1 -0
- package/dist/commands/config/plugins/add.d.ts +16 -0
- package/dist/commands/config/plugins/add.d.ts.map +1 -0
- package/dist/commands/config/plugins/add.js +28 -0
- package/dist/commands/config/plugins/add.js.map +1 -0
- package/dist/commands/config/plugins/allow/add.d.ts +13 -0
- package/dist/commands/config/plugins/allow/add.d.ts.map +1 -0
- package/dist/commands/config/plugins/allow/add.js +25 -0
- package/dist/commands/config/plugins/allow/add.js.map +1 -0
- package/dist/commands/config/plugins/allow/remove.d.ts +13 -0
- package/dist/commands/config/plugins/allow/remove.d.ts.map +1 -0
- package/dist/commands/config/plugins/allow/remove.js +26 -0
- package/dist/commands/config/plugins/allow/remove.js.map +1 -0
- package/dist/commands/config/plugins/default/add.d.ts +13 -0
- package/dist/commands/config/plugins/default/add.d.ts.map +1 -0
- package/dist/commands/config/plugins/default/add.js +28 -0
- package/dist/commands/config/plugins/default/add.js.map +1 -0
- package/dist/commands/config/plugins/default/remove.d.ts +13 -0
- package/dist/commands/config/plugins/default/remove.d.ts.map +1 -0
- package/dist/commands/config/plugins/default/remove.js +25 -0
- package/dist/commands/config/plugins/default/remove.js.map +1 -0
- package/dist/commands/config/plugins/get.d.ts +10 -0
- package/dist/commands/config/plugins/get.d.ts.map +1 -0
- package/dist/commands/config/plugins/get.js +30 -0
- package/dist/commands/config/plugins/get.js.map +1 -0
- package/dist/commands/config/plugins/installs/add.d.ts +20 -0
- package/dist/commands/config/plugins/installs/add.d.ts.map +1 -0
- package/dist/commands/config/plugins/installs/add.js +51 -0
- package/dist/commands/config/plugins/installs/add.js.map +1 -0
- package/dist/commands/config/plugins/installs/list.d.ts +10 -0
- package/dist/commands/config/plugins/installs/list.d.ts.map +1 -0
- package/dist/commands/config/plugins/installs/list.js +29 -0
- package/dist/commands/config/plugins/installs/list.js.map +1 -0
- package/dist/commands/config/plugins/installs/remove.d.ts +13 -0
- package/dist/commands/config/plugins/installs/remove.d.ts.map +1 -0
- package/dist/commands/config/plugins/installs/remove.js +27 -0
- package/dist/commands/config/plugins/installs/remove.js.map +1 -0
- package/dist/commands/config/plugins/security/update.d.ts +5 -0
- package/dist/commands/config/plugins/security/update.d.ts.map +1 -0
- package/dist/commands/config/plugins/security/update.js +5 -0
- package/dist/commands/config/plugins/security/update.js.map +1 -0
- package/dist/commands/config/secrets/add.d.ts +14 -0
- package/dist/commands/config/secrets/add.d.ts.map +1 -0
- package/dist/commands/config/secrets/add.js +84 -0
- package/dist/commands/config/secrets/add.js.map +1 -0
- package/dist/commands/config/secrets/get.d.ts +13 -0
- package/dist/commands/config/secrets/get.d.ts.map +1 -0
- package/dist/commands/config/secrets/get.js +64 -0
- package/dist/commands/config/secrets/get.js.map +1 -0
- package/dist/commands/config/secrets/list.d.ts +11 -0
- package/dist/commands/config/secrets/list.d.ts.map +1 -0
- package/dist/commands/config/secrets/list.js +52 -0
- package/dist/commands/config/secrets/list.js.map +1 -0
- package/dist/commands/config/secrets/providers/doctor.d.ts +10 -0
- package/dist/commands/config/secrets/providers/doctor.d.ts.map +1 -0
- package/dist/commands/config/secrets/providers/doctor.js +40 -0
- package/dist/commands/config/secrets/providers/doctor.js.map +1 -0
- package/dist/commands/config/secrets/providers/list.d.ts +10 -0
- package/dist/commands/config/secrets/providers/list.d.ts.map +1 -0
- package/dist/commands/config/secrets/providers/list.js +31 -0
- package/dist/commands/config/secrets/providers/list.js.map +1 -0
- package/dist/commands/config/secrets/providers.d.ts +6 -0
- package/dist/commands/config/secrets/providers.d.ts.map +1 -0
- package/dist/commands/config/secrets/providers.js +9 -0
- package/dist/commands/config/secrets/providers.js.map +1 -0
- package/dist/commands/config/secrets/remove.d.ts +12 -0
- package/dist/commands/config/secrets/remove.d.ts.map +1 -0
- package/dist/commands/config/secrets/remove.js +51 -0
- package/dist/commands/config/secrets/remove.js.map +1 -0
- package/dist/commands/config/secrets/yaml/get.d.ts +11 -0
- package/dist/commands/config/secrets/yaml/get.d.ts.map +1 -0
- package/dist/commands/config/secrets/yaml/get.js +35 -0
- package/dist/commands/config/secrets/yaml/get.js.map +1 -0
- package/dist/commands/config/secrets/yaml/set-default-provider.d.ts +13 -0
- package/dist/commands/config/secrets/yaml/set-default-provider.d.ts.map +1 -0
- package/dist/commands/config/secrets/yaml/set-default-provider.js +24 -0
- package/dist/commands/config/secrets/yaml/set-default-provider.js.map +1 -0
- package/dist/commands/config/secrets/yaml/set-policy.d.ts +13 -0
- package/dist/commands/config/secrets/yaml/set-policy.d.ts.map +1 -0
- package/dist/commands/config/secrets/yaml/set-policy.js +29 -0
- package/dist/commands/config/secrets/yaml/set-policy.js.map +1 -0
- package/dist/commands/config/secrets.d.ts +8 -0
- package/dist/commands/config/secrets.d.ts.map +1 -0
- package/dist/commands/config/secrets.js +35 -0
- package/dist/commands/config/secrets.js.map +1 -0
- package/dist/commands/config/security/get.d.ts +11 -0
- package/dist/commands/config/security/get.d.ts.map +1 -0
- package/dist/commands/config/security/get.js +33 -0
- package/dist/commands/config/security/get.js.map +1 -0
- package/dist/commands/config/security/plugins/update.d.ts +13 -0
- package/dist/commands/config/security/plugins/update.d.ts.map +1 -0
- package/dist/commands/config/security/plugins/update.js +49 -0
- package/dist/commands/config/security/plugins/update.js.map +1 -0
- package/dist/commands/config/tools/add.d.ts +16 -0
- package/dist/commands/config/tools/add.d.ts.map +1 -0
- package/dist/commands/config/tools/add.js +60 -0
- package/dist/commands/config/tools/add.js.map +1 -0
- package/dist/commands/config/tools/get.d.ts +10 -0
- package/dist/commands/config/tools/get.d.ts.map +1 -0
- package/dist/commands/config/tools/get.js +29 -0
- package/dist/commands/config/tools/get.js.map +1 -0
- package/dist/commands/config/tools/remove.d.ts +13 -0
- package/dist/commands/config/tools/remove.d.ts.map +1 -0
- package/dist/commands/config/tools/remove.js +25 -0
- package/dist/commands/config/tools/remove.js.map +1 -0
- package/dist/commands/config/tools/update.d.ts +16 -0
- package/dist/commands/config/tools/update.d.ts.map +1 -0
- package/dist/commands/config/tools/update.js +59 -0
- package/dist/commands/config/tools/update.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +43 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/graph.d.ts +3 -2
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +5 -2
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/run.d.ts +6 -7
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +114 -100
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/trace/list.d.ts +3 -2
- package/dist/commands/trace/list.d.ts.map +1 -1
- package/dist/commands/trace/list.js +8 -8
- package/dist/commands/trace/list.js.map +1 -1
- package/dist/commands/trace.d.ts +3 -2
- package/dist/commands/trace.d.ts.map +1 -1
- package/dist/commands/trace.js +5 -2
- package/dist/commands/trace.js.map +1 -1
- package/dist/commands/validate.d.ts +3 -2
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +7 -3
- package/dist/commands/validate.js.map +1 -1
- package/dist/lib/command-helpers.d.ts +16 -0
- package/dist/lib/command-helpers.d.ts.map +1 -0
- package/dist/lib/command-helpers.js +27 -0
- package/dist/lib/command-helpers.js.map +1 -0
- package/dist/lib/config-flags.d.ts +6 -0
- package/dist/lib/config-flags.d.ts.map +1 -0
- package/dist/lib/config-flags.js +14 -0
- package/dist/lib/config-flags.js.map +1 -0
- package/dist/lib/default-ecp-config.d.ts +5 -0
- package/dist/lib/default-ecp-config.d.ts.map +1 -0
- package/dist/lib/default-ecp-config.js +47 -0
- package/dist/lib/default-ecp-config.js.map +1 -0
- package/dist/lib/ecp-environment-command.d.ts +20 -0
- package/dist/lib/ecp-environment-command.d.ts.map +1 -0
- package/dist/lib/ecp-environment-command.js +33 -0
- package/dist/lib/ecp-environment-command.js.map +1 -0
- package/dist/lib/parsing.d.ts.map +1 -1
- package/dist/lib/parsing.js +2 -2
- package/dist/lib/parsing.js.map +1 -1
- package/dist/lib/progress.d.ts +1 -1
- package/dist/lib/secret-provider-ids.d.ts +3 -0
- package/dist/lib/secret-provider-ids.d.ts.map +1 -0
- package/dist/lib/secret-provider-ids.js +3 -0
- package/dist/lib/secret-provider-ids.js.map +1 -0
- package/dist/lib/secrets-config.d.ts +15 -0
- package/dist/lib/secrets-config.d.ts.map +1 -0
- package/dist/lib/secrets-config.js +12 -0
- package/dist/lib/secrets-config.js.map +1 -0
- package/dist/lib/system-config-cli.d.ts +50 -0
- package/dist/lib/system-config-cli.d.ts.map +1 -0
- package/dist/lib/system-config-cli.js +108 -0
- package/dist/lib/system-config-cli.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/commands/graph.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class Graph extends
|
|
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":"
|
|
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"}
|