@executioncontrolprotocol/cli 0.3.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +8 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +8 -0
- 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 +14 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +39 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/run.d.ts +23 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +363 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/trace/list.d.ts +10 -0
- package/dist/commands/trace/list.d.ts.map +1 -0
- package/dist/commands/trace/list.js +32 -0
- package/dist/commands/trace/list.js.map +1 -0
- package/dist/commands/trace.d.ts +14 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +43 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/validate.d.ts +14 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +93 -0
- package/dist/commands/validate.js.map +1 -0
- 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/ecp-home.d.ts +3 -0
- package/dist/lib/ecp-home.d.ts.map +1 -0
- package/dist/lib/ecp-home.js +9 -0
- package/dist/lib/ecp-home.js.map +1 -0
- package/dist/lib/inputs.d.ts +3 -0
- package/dist/lib/inputs.d.ts.map +1 -0
- package/dist/lib/inputs.js +7 -0
- package/dist/lib/inputs.js.map +1 -0
- package/dist/lib/parsing.d.ts +12 -0
- package/dist/lib/parsing.d.ts.map +1 -0
- package/dist/lib/parsing.js +57 -0
- package/dist/lib/parsing.js.map +1 -0
- package/dist/lib/progress.d.ts +4 -0
- package/dist/lib/progress.d.ts.map +1 -0
- package/dist/lib/progress.js +111 -0
- package/dist/lib/progress.js.map +1 -0
- 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/dist/lib/trace-files.d.ts +2 -0
- package/dist/lib/trace-files.d.ts.map +1 -0
- package/dist/lib/trace-files.js +14 -0
- package/dist/lib/trace-files.js.map +1 -0
- package/dist/lib/trace-view.d.ts +4 -0
- package/dist/lib/trace-view.d.ts.map +1 -0
- package/dist/lib/trace-view.js +8 -0
- package/dist/lib/trace-view.js.map +1 -0
- package/package.json +38 -7
- package/bin/ecp.cjs +0 -21
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -471
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/commands/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,qBAAqB;IACtD,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC;IAE3C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,qBAAqB,CAAC,KAAK;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,kEAAkE;YAC/E,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAU;YACnC,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,kBAAkB,EAAE;SAC9B,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B,CAAC;QAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CACR,wBAAwB,QAAQ,UAAU;gBACxC,qFAAqF,EACvF,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAmB,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EcpEnvironmentCommand } from "../lib/ecp-environment-command.js";
|
|
2
|
+
export default class Validate extends EcpEnvironmentCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
input: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
"skip-inputs": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
static args: {
|
|
10
|
+
contextPath: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AA8B1E,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,qBAAqB;IACzD,MAAM,CAAC,OAAO,SAAiC;IAE/C,MAAM,CAAC,KAAK;;;;MAaV;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Flags, Args } from "@oclif/core";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { loadContext, resolveInputs } from "@executioncontrolprotocol/runtime";
|
|
4
|
+
import { commandErrorMessage } from "../lib/command-helpers.js";
|
|
5
|
+
import { parseKeyValueInputs } from "../lib/parsing.js";
|
|
6
|
+
import { getRequiredInputNames } from "../lib/inputs.js";
|
|
7
|
+
import { EcpEnvironmentCommand } from "../lib/ecp-environment-command.js";
|
|
8
|
+
function collectExecutionObjectNames(context) {
|
|
9
|
+
const names = new Set();
|
|
10
|
+
const addName = (name) => {
|
|
11
|
+
names.add(name);
|
|
12
|
+
};
|
|
13
|
+
const visitOrchestrator = (orchestrator) => {
|
|
14
|
+
addName(orchestrator.name);
|
|
15
|
+
for (const executor of orchestrator.executors ?? []) {
|
|
16
|
+
addName(executor.name);
|
|
17
|
+
}
|
|
18
|
+
for (const child of orchestrator.orchestrators ?? []) {
|
|
19
|
+
visitOrchestrator(child);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
if (context.orchestrator) {
|
|
23
|
+
visitOrchestrator(context.orchestrator);
|
|
24
|
+
}
|
|
25
|
+
for (const executor of context.executors ?? []) {
|
|
26
|
+
addName(executor.name);
|
|
27
|
+
}
|
|
28
|
+
return [...names];
|
|
29
|
+
}
|
|
30
|
+
export default class Validate extends EcpEnvironmentCommand {
|
|
31
|
+
static summary = "Validate a Context manifest";
|
|
32
|
+
static flags = {
|
|
33
|
+
...EcpEnvironmentCommand.flags,
|
|
34
|
+
input: Flags.string({
|
|
35
|
+
char: "i",
|
|
36
|
+
multiple: true,
|
|
37
|
+
description: "Set an input value (repeatable, key=value)",
|
|
38
|
+
summary: "Input value (key=value)",
|
|
39
|
+
}),
|
|
40
|
+
"skip-inputs": Flags.boolean({
|
|
41
|
+
description: "Validate the Context manifest itself but skip runtime input resolution (prints required inputs instead).",
|
|
42
|
+
default: false,
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
static args = {
|
|
46
|
+
contextPath: Args.string({
|
|
47
|
+
required: true,
|
|
48
|
+
description: "Path to context.yaml (or context.json)",
|
|
49
|
+
}),
|
|
50
|
+
};
|
|
51
|
+
async run() {
|
|
52
|
+
const { args, flags } = await this.parse(Validate);
|
|
53
|
+
this.applyEnvironmentFlag(flags);
|
|
54
|
+
const contextPath = resolve(args.contextPath);
|
|
55
|
+
console.log(`\nValidating: ${contextPath}\n`);
|
|
56
|
+
let context;
|
|
57
|
+
try {
|
|
58
|
+
const inputs = parseKeyValueInputs(flags.input, "--input");
|
|
59
|
+
context = loadContext(contextPath);
|
|
60
|
+
if (!flags["skip-inputs"]) {
|
|
61
|
+
resolveInputs(context, inputs);
|
|
62
|
+
}
|
|
63
|
+
const strategy = context.orchestration?.strategy ?? context.orchestrator?.strategy;
|
|
64
|
+
const executionObjectNames = collectExecutionObjectNames(context);
|
|
65
|
+
console.log(` Context: ${context.metadata.name} v${context.metadata.version}`);
|
|
66
|
+
console.log(` Strategy: ${strategy ?? "unknown"}`);
|
|
67
|
+
console.log(` Execution objects: ${executionObjectNames.join(", ")}`);
|
|
68
|
+
console.log(` Schemas: ${Object.keys(context.schemas ?? {}).join(", ")}`);
|
|
69
|
+
if (flags["skip-inputs"]) {
|
|
70
|
+
const requiredInputs = getRequiredInputNames(context);
|
|
71
|
+
if (requiredInputs.length > 0) {
|
|
72
|
+
console.log(`\n Required inputs (from Context): ${requiredInputs.join(", ")}`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.log(`\n No required inputs declared in Context.`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
console.log(`\n Validation passed.\n`);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
const msg = commandErrorMessage(err);
|
|
82
|
+
const missing = msg.match(/^Missing required input: "([^"]+)"$/);
|
|
83
|
+
if (missing && context) {
|
|
84
|
+
const inputName = missing[1];
|
|
85
|
+
this.error(`\n Missing required input "${inputName}" is defined in the Context.\n` +
|
|
86
|
+
` Provide it via --input ${inputName}=<value> (e.g. -i ${inputName}="...").\n`, { exit: 1 });
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
this.error(`\n Validation failed: ${msg}\n`, { exit: 1 });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,SAAS,2BAA2B,CAAC,OAAmB;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAQ,EAAE;QACrC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,YAA0B,EAAQ,EAAE;QAC7D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACrD,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,qBAAqB;IACzD,MAAM,CAAC,OAAO,GAAG,6BAA6B,CAAC;IAE/C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,qBAAqB,CAAC,KAAK;QAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,yBAAyB;SACnC,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YAC3B,WAAW,EACT,0GAA0G;YAC5G,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,wCAAwC;SACtD,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,IAAI,CAAC,CAAC;QAE9C,IAAI,OAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAA6B,EAAE,SAAS,CAAC,CAAC;YACnF,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;YACnF,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAElE,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,wBAAwB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE3E,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACjE,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,CACR,+BAA+B,SAAS,gCAAgC;oBACtE,4BAA4B,SAAS,qBAAqB,SAAS,YAAY,EACjF,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Command } from "@oclif/core";
|
|
2
|
+
/** Suffix when the resolved config path has no file yet (most `ecp config * get` commands). */
|
|
3
|
+
export declare const CONFIG_FILE_HEADER_WHEN_MISSING = " (no file \u2014 empty)";
|
|
4
|
+
/** Suffix for `ecp config get` when dumping full resolved config. */
|
|
5
|
+
export declare const CONFIG_DUMP_HEADER_WHEN_MISSING = " (empty \u2014 no file yet)";
|
|
6
|
+
export declare function commandErrorMessage(err: unknown): string;
|
|
7
|
+
/**
|
|
8
|
+
* Runs `fn` and maps any thrown value to `cmd.error` with exit code 1.
|
|
9
|
+
* Use after `parse()` so flag validation errors are not swallowed.
|
|
10
|
+
*/
|
|
11
|
+
export declare function runWithCommandError(cmd: Command, fn: () => void | Promise<void>): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* First line for commands that show config loaded via {@link loadConfigForDisplay}.
|
|
14
|
+
*/
|
|
15
|
+
export declare function formatConfigFileHeaderLine(path: string, exists: boolean, whenMissing?: string): string;
|
|
16
|
+
//# sourceMappingURL=command-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/command-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,+FAA+F;AAC/F,eAAO,MAAM,+BAA+B,4BAAuB,CAAC;AAEpE,qEAAqE;AACrE,eAAO,MAAM,+BAA+B,gCAA2B,CAAC;AAExE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,WAAW,GAAE,MAAwC,GACpD,MAAM,CAGR"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Suffix when the resolved config path has no file yet (most `ecp config * get` commands). */
|
|
2
|
+
export const CONFIG_FILE_HEADER_WHEN_MISSING = " (no file — empty)";
|
|
3
|
+
/** Suffix for `ecp config get` when dumping full resolved config. */
|
|
4
|
+
export const CONFIG_DUMP_HEADER_WHEN_MISSING = " (empty — no file yet)";
|
|
5
|
+
export function commandErrorMessage(err) {
|
|
6
|
+
return err instanceof Error ? err.message : String(err);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Runs `fn` and maps any thrown value to `cmd.error` with exit code 1.
|
|
10
|
+
* Use after `parse()` so flag validation errors are not swallowed.
|
|
11
|
+
*/
|
|
12
|
+
export async function runWithCommandError(cmd, fn) {
|
|
13
|
+
try {
|
|
14
|
+
await fn();
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
cmd.error(commandErrorMessage(err), { exit: 1 });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* First line for commands that show config loaded via {@link loadConfigForDisplay}.
|
|
22
|
+
*/
|
|
23
|
+
export function formatConfigFileHeaderLine(path, exists, whenMissing = CONFIG_FILE_HEADER_WHEN_MISSING) {
|
|
24
|
+
const suffix = exists ? "" : whenMissing;
|
|
25
|
+
return `# ${path}${suffix}\n`;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=command-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-helpers.js","sourceRoot":"","sources":["../../src/lib/command-helpers.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AAEpE,qEAAqE;AACrE,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAExE,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAY,EACZ,EAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,MAAe,EACf,cAAsB,+BAA+B;IAErD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACzC,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Shared flags for commands that read or write system config. */
|
|
2
|
+
export declare const configScopeFlags: {
|
|
3
|
+
global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
4
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=config-flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-flags.d.ts","sourceRoot":"","sources":["../../src/lib/config-flags.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,eAAO,MAAM,gBAAgB;;;CAU5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
/** Shared flags for commands that read or write system config. */
|
|
3
|
+
export const configScopeFlags = {
|
|
4
|
+
global: Flags.boolean({
|
|
5
|
+
char: "g",
|
|
6
|
+
description: "Use global config under ~/.ecp/ (instead of project ./ecp.config.*)",
|
|
7
|
+
default: false,
|
|
8
|
+
}),
|
|
9
|
+
config: Flags.string({
|
|
10
|
+
char: "c",
|
|
11
|
+
description: "Explicit path to config file (overrides default search and --global)",
|
|
12
|
+
}),
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=config-flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-flags.js","sourceRoot":"","sources":["../../src/lib/config-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sEAAsE;KACpF,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Best-practices default for `ecp config init` (aligned with `config/ecp.config.example.yaml` v0.5).
|
|
3
|
+
*/
|
|
4
|
+
export declare const DEFAULT_ECP_SYSTEM_CONFIG_YAML = "# ECP system config \u2014 best-practices default (schema v0.5)\n# Edit with: ecp config \u2026 or your editor (YAML or JSON).\n\nversion: \"0.5\"\n\nsecurity:\n models:\n allowProviders: [openai, ollama]\n defaultProviders: [openai]\n loggers:\n allowEnable: []\n defaultEnable: []\n secrets:\n allowProviders: []\n plugins:\n allowKinds: [provider, executor, logger, memory, tool]\n allowSourceTypes: [builtin]\n allowIds: [openai, ollama]\n\nmodels:\n providers:\n openai:\n defaultModel: gpt-4o-mini\n allowedModels: [gpt-4o-mini, gpt-4o]\n config: {}\n ollama:\n defaultModel: gemma3:1b\n allowedModels: [gemma3:1b, llama3.2:3b]\n config:\n baseURL: http://localhost:11434\n\ntools:\n servers: {}\n\n# loggers:\n# config: {}\n\n# agents:\n# endpoints:\n# specialist_name:\n# url: https://example.com/a2a\n# config: {}\n";
|
|
5
|
+
//# sourceMappingURL=default-ecp-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-ecp-config.d.ts","sourceRoot":"","sources":["../../src/lib/default-ecp-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,8BAA8B,05BA0C1C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Best-practices default for `ecp config init` (aligned with `config/ecp.config.example.yaml` v0.5).
|
|
3
|
+
*/
|
|
4
|
+
export const DEFAULT_ECP_SYSTEM_CONFIG_YAML = `# ECP system config — best-practices default (schema v0.5)
|
|
5
|
+
# Edit with: ecp config … or your editor (YAML or JSON).
|
|
6
|
+
|
|
7
|
+
version: "0.5"
|
|
8
|
+
|
|
9
|
+
security:
|
|
10
|
+
models:
|
|
11
|
+
allowProviders: [openai, ollama]
|
|
12
|
+
defaultProviders: [openai]
|
|
13
|
+
loggers:
|
|
14
|
+
allowEnable: []
|
|
15
|
+
defaultEnable: []
|
|
16
|
+
secrets:
|
|
17
|
+
allowProviders: []
|
|
18
|
+
plugins:
|
|
19
|
+
allowKinds: [provider, executor, logger, memory, tool]
|
|
20
|
+
allowSourceTypes: [builtin]
|
|
21
|
+
allowIds: [openai, ollama]
|
|
22
|
+
|
|
23
|
+
models:
|
|
24
|
+
providers:
|
|
25
|
+
openai:
|
|
26
|
+
defaultModel: gpt-4o-mini
|
|
27
|
+
allowedModels: [gpt-4o-mini, gpt-4o]
|
|
28
|
+
config: {}
|
|
29
|
+
ollama:
|
|
30
|
+
defaultModel: gemma3:1b
|
|
31
|
+
allowedModels: [gemma3:1b, llama3.2:3b]
|
|
32
|
+
config:
|
|
33
|
+
baseURL: http://localhost:11434
|
|
34
|
+
|
|
35
|
+
tools:
|
|
36
|
+
servers: {}
|
|
37
|
+
|
|
38
|
+
# loggers:
|
|
39
|
+
# config: {}
|
|
40
|
+
|
|
41
|
+
# agents:
|
|
42
|
+
# endpoints:
|
|
43
|
+
# specialist_name:
|
|
44
|
+
# url: https://example.com/a2a
|
|
45
|
+
# config: {}
|
|
46
|
+
`;
|
|
47
|
+
//# sourceMappingURL=default-ecp-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-ecp-config.js","sourceRoot":"","sources":["../../src/lib/default-ecp-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C7C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
/**
|
|
3
|
+
* Base for commands that support `--environment` (dot.env file path override for the secret broker).
|
|
4
|
+
* Config commands do not extend this class.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class EcpEnvironmentCommand extends Command {
|
|
7
|
+
static flags: {
|
|
8
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
/** Absolute path when `--environment` is set; otherwise undefined. */
|
|
11
|
+
protected effectiveDotenvPath?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Call from `run()` immediately after `this.parse(...)`. Oclif does not populate instance flags
|
|
14
|
+
* before parse, so this cannot run in `init()`.
|
|
15
|
+
*/
|
|
16
|
+
protected applyEnvironmentFlag(flags: {
|
|
17
|
+
environment?: string;
|
|
18
|
+
}): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ecp-environment-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecp-environment-command.d.ts","sourceRoot":"","sources":["../../src/lib/ecp-environment-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C;;;GAGG;AACH,8BAAsB,qBAAsB,SAAQ,OAAO;IACzD,MAAM,CAAC,KAAK;;MAMV;IAEF,sEAAsE;IACtE,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEvC;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAWtE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Command, Flags } from "@oclif/core";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
/**
|
|
5
|
+
* Base for commands that support `--environment` (dot.env file path override for the secret broker).
|
|
6
|
+
* Config commands do not extend this class.
|
|
7
|
+
*/
|
|
8
|
+
export class EcpEnvironmentCommand extends Command {
|
|
9
|
+
static flags = {
|
|
10
|
+
...Command.baseFlags,
|
|
11
|
+
environment: Flags.string({
|
|
12
|
+
description: "Path to a .env file for the dot.env secret provider (overrides secrets.providers.dot.env in config; does not merge into process.env)",
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
/** Absolute path when `--environment` is set; otherwise undefined. */
|
|
16
|
+
effectiveDotenvPath;
|
|
17
|
+
/**
|
|
18
|
+
* Call from `run()` immediately after `this.parse(...)`. Oclif does not populate instance flags
|
|
19
|
+
* before parse, so this cannot run in `init()`.
|
|
20
|
+
*/
|
|
21
|
+
applyEnvironmentFlag(flags) {
|
|
22
|
+
this.effectiveDotenvPath = undefined;
|
|
23
|
+
const raw = flags.environment;
|
|
24
|
+
if (raw) {
|
|
25
|
+
const abs = resolve(process.cwd(), raw);
|
|
26
|
+
if (!existsSync(abs)) {
|
|
27
|
+
this.error(`Environment file not found: ${abs}`, { exit: 1 });
|
|
28
|
+
}
|
|
29
|
+
this.effectiveDotenvPath = abs;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ecp-environment-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecp-environment-command.js","sourceRoot":"","sources":["../../src/lib/ecp-environment-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,OAAO;IACzD,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,OAAO,CAAC,SAAS;QACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EACT,sIAAsI;SACzI,CAAC;KACH,CAAC;IAEF,sEAAsE;IAC5D,mBAAmB,CAAU;IAEvC;;;OAGG;IACO,oBAAoB,CAAC,KAA+B;QAC5D,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecp-home.d.ts","sourceRoot":"","sources":["../../src/lib/ecp-home.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
export function getEcpHomeDir() {
|
|
4
|
+
return resolve(homedir(), ".ecp");
|
|
5
|
+
}
|
|
6
|
+
export function getDefaultTraceDir() {
|
|
7
|
+
return resolve(getEcpHomeDir(), "traces");
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ecp-home.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecp-home.js","sourceRoot":"","sources":["../../src/lib/ecp-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAKnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/lib/inputs.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,OAAmB;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAE,GAA8B,CAAC,QAAQ,KAAK,IAAI,CAAC;SAC3E,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type InputValue = string | number | boolean;
|
|
2
|
+
/**
|
|
3
|
+
* Parse `--input key=value` occurrences.
|
|
4
|
+
* - `true`/`false` become booleans
|
|
5
|
+
* - numeric-looking values become numbers
|
|
6
|
+
* - everything else stays a string
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseKeyValueInputs(raw: string[] | undefined, flagName?: string): Record<string, InputValue>;
|
|
9
|
+
export declare function splitCommaSeparated(raw: string[] | undefined): string[];
|
|
10
|
+
export declare function parseJsonObject<T = unknown>(raw: string | undefined, flagName: string): T | undefined;
|
|
11
|
+
export declare function resolveAndValidatePath(pathRaw: string, flagName: string): string;
|
|
12
|
+
//# sourceMappingURL=parsing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../src/lib/parsing.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EACzB,QAAQ,SAAY,GACnB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAoB5B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAMvE;AAED,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAOrG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { commandErrorMessage } from "./command-helpers.js";
|
|
4
|
+
/**
|
|
5
|
+
* Parse `--input key=value` occurrences.
|
|
6
|
+
* - `true`/`false` become booleans
|
|
7
|
+
* - numeric-looking values become numbers
|
|
8
|
+
* - everything else stays a string
|
|
9
|
+
*/
|
|
10
|
+
export function parseKeyValueInputs(raw, flagName = "--input") {
|
|
11
|
+
const inputs = {};
|
|
12
|
+
for (const kv of raw ?? []) {
|
|
13
|
+
const eqIdx = kv.indexOf("=");
|
|
14
|
+
if (eqIdx === -1) {
|
|
15
|
+
throw new Error(`Invalid ${flagName} value "${kv}" (expected key=value).`);
|
|
16
|
+
}
|
|
17
|
+
const key = kv.slice(0, eqIdx).trim();
|
|
18
|
+
const valueRaw = kv.slice(eqIdx + 1);
|
|
19
|
+
if (!key) {
|
|
20
|
+
throw new Error(`Invalid ${flagName} value "${kv}" (missing key).`);
|
|
21
|
+
}
|
|
22
|
+
if (valueRaw === "true")
|
|
23
|
+
inputs[key] = true;
|
|
24
|
+
else if (valueRaw === "false")
|
|
25
|
+
inputs[key] = false;
|
|
26
|
+
else if (!isNaN(Number(valueRaw)) && valueRaw !== "")
|
|
27
|
+
inputs[key] = Number(valueRaw);
|
|
28
|
+
else
|
|
29
|
+
inputs[key] = valueRaw;
|
|
30
|
+
}
|
|
31
|
+
return inputs;
|
|
32
|
+
}
|
|
33
|
+
export function splitCommaSeparated(raw) {
|
|
34
|
+
const out = [];
|
|
35
|
+
for (const v of raw ?? []) {
|
|
36
|
+
out.push(...v.split(",").map((s) => s.trim()).filter(Boolean));
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
export function parseJsonObject(raw, flagName) {
|
|
41
|
+
if (!raw)
|
|
42
|
+
return undefined;
|
|
43
|
+
try {
|
|
44
|
+
return JSON.parse(raw);
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
throw new Error(`Invalid ${flagName}: ${commandErrorMessage(err)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function resolveAndValidatePath(pathRaw, flagName) {
|
|
51
|
+
const p = resolve(pathRaw);
|
|
52
|
+
if (!existsSync(p)) {
|
|
53
|
+
throw new Error(`Invalid ${flagName}: file not found at ${p}`);
|
|
54
|
+
}
|
|
55
|
+
return p;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=parsing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../src/lib/parsing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAyB,EACzB,QAAQ,GAAG,SAAS;IAEpB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,WAAW,EAAE,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACvC,IAAI,QAAQ,KAAK,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;;YAChF,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAyB;IAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAc,GAAuB,EAAE,QAAgB;IACpF,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,KAAK,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import ora from "ora";
|
|
2
|
+
import type { ProgressCallback } from "@executioncontrolprotocol/plugins";
|
|
3
|
+
export declare function createProgressHandler(spinner: ReturnType<typeof ora>, contextPath: string, contextName: string): ProgressCallback;
|
|
4
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAA0B,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAkBlG,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,EAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,gBAAgB,CA4GlB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
function phaseToLabel(status) {
|
|
2
|
+
const labels = {
|
|
3
|
+
loading: "Loading context...",
|
|
4
|
+
"hydrating-seed": "Hydrating seed mounts...",
|
|
5
|
+
"running-orchestrator": "Running orchestrator...",
|
|
6
|
+
delegating: "Delegating tasks...",
|
|
7
|
+
"hydrating-focus": "Hydrating focus mounts...",
|
|
8
|
+
"hydrating-deep": "Hydrating deep mounts...",
|
|
9
|
+
"running-specialist": "Running specialist...",
|
|
10
|
+
merging: "Merging outputs...",
|
|
11
|
+
completed: "Completed.",
|
|
12
|
+
failed: "Failed.",
|
|
13
|
+
};
|
|
14
|
+
return labels[status] ?? status;
|
|
15
|
+
}
|
|
16
|
+
export function createProgressHandler(spinner, contextPath, contextName) {
|
|
17
|
+
let currentText = "Starting...";
|
|
18
|
+
const completedSteps = [];
|
|
19
|
+
function redraw() {
|
|
20
|
+
const isTTY = process.stderr.isTTY;
|
|
21
|
+
if (isTTY) {
|
|
22
|
+
process.stderr.write("\x1b[2J\x1b[H");
|
|
23
|
+
}
|
|
24
|
+
process.stderr.write(`\n Running: ${contextPath}\n`);
|
|
25
|
+
process.stderr.write(` Context: ${contextName}\n\n`);
|
|
26
|
+
for (const s of completedSteps) {
|
|
27
|
+
process.stderr.write(` Step ${s.step}: ${s.description} (${s.durationMs}ms)\n`);
|
|
28
|
+
if (s.model) {
|
|
29
|
+
process.stderr.write(` Model: ${s.model}\n`);
|
|
30
|
+
}
|
|
31
|
+
if (s.tokens && s.tokens.total > 0) {
|
|
32
|
+
process.stderr.write(` Tokens: ${s.tokens.prompt} prompt + ${s.tokens.completion} completion = ${s.tokens.total} total\n`);
|
|
33
|
+
}
|
|
34
|
+
if (s.output !== undefined) {
|
|
35
|
+
process.stderr.write(` Output:\n`);
|
|
36
|
+
const json = JSON.stringify(s.output, null, 2);
|
|
37
|
+
for (const line of json.split(/\r?\n/)) {
|
|
38
|
+
process.stderr.write(` ${line}\n`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
process.stderr.write("\n");
|
|
42
|
+
}
|
|
43
|
+
spinner.start(currentText);
|
|
44
|
+
}
|
|
45
|
+
function appendLastStep() {
|
|
46
|
+
const s = completedSteps[completedSteps.length - 1];
|
|
47
|
+
if (!s)
|
|
48
|
+
return;
|
|
49
|
+
spinner.stopAndPersist({
|
|
50
|
+
text: `Step ${s.step}: ${s.description} (${s.durationMs}ms)`,
|
|
51
|
+
});
|
|
52
|
+
process.stderr.write(` Model: ${s.model ?? "n/a"}\n`);
|
|
53
|
+
if (s.tokens && s.tokens.total > 0) {
|
|
54
|
+
process.stderr.write(` Tokens: ${s.tokens.prompt} prompt + ${s.tokens.completion} completion = ${s.tokens.total} total\n`);
|
|
55
|
+
}
|
|
56
|
+
if (s.output !== undefined) {
|
|
57
|
+
process.stderr.write(` Output:\n`);
|
|
58
|
+
const json = JSON.stringify(s.output, null, 2);
|
|
59
|
+
for (const line of json.split(/\r?\n/)) {
|
|
60
|
+
process.stderr.write(` ${line}\n`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
process.stderr.write("\n");
|
|
64
|
+
spinner.start(currentText);
|
|
65
|
+
}
|
|
66
|
+
return async (event) => {
|
|
67
|
+
switch (event.type) {
|
|
68
|
+
case "phase":
|
|
69
|
+
currentText = phaseToLabel(event.status);
|
|
70
|
+
spinner.text = currentText;
|
|
71
|
+
break;
|
|
72
|
+
case "step_start":
|
|
73
|
+
currentText = event.description;
|
|
74
|
+
spinner.text = currentText;
|
|
75
|
+
break;
|
|
76
|
+
case "step_complete":
|
|
77
|
+
if (event.kind === "executor") {
|
|
78
|
+
completedSteps.push({
|
|
79
|
+
step: event.step,
|
|
80
|
+
executorName: event.executorName ?? "",
|
|
81
|
+
description: event.description,
|
|
82
|
+
durationMs: event.durationMs,
|
|
83
|
+
tokens: event.tokens,
|
|
84
|
+
model: event.model,
|
|
85
|
+
output: event.output,
|
|
86
|
+
});
|
|
87
|
+
spinner.stop();
|
|
88
|
+
if (process.stderr.isTTY) {
|
|
89
|
+
redraw();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
appendLastStep();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case "executor_reasoning":
|
|
97
|
+
spinner.stop();
|
|
98
|
+
{
|
|
99
|
+
const lines = event.reasoning.split(/\r?\n/);
|
|
100
|
+
process.stderr.write(`\n [${event.executorName}] Chain of thought:\n`);
|
|
101
|
+
for (const line of lines) {
|
|
102
|
+
process.stderr.write(` ${line}\n`);
|
|
103
|
+
}
|
|
104
|
+
process.stderr.write("\n");
|
|
105
|
+
}
|
|
106
|
+
spinner.start(currentText);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lib/progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-provider-ids.d.ts","sourceRoot":"","sources":["../../src/lib/secret-provider-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-provider-ids.js","sourceRoot":"","sources":["../../src/lib/secret-provider-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SecretPolicyMode } from "@executioncontrolprotocol/plugins";
|
|
2
|
+
interface SecretsConfigLike {
|
|
3
|
+
secrets?: {
|
|
4
|
+
policy?: SecretPolicyMode;
|
|
5
|
+
providers?: Record<string, {
|
|
6
|
+
path?: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare const DEFAULT_SECRET_POLICY: SecretPolicyMode;
|
|
11
|
+
export declare const DEFAULT_DOTENV_BASENAME = ".env";
|
|
12
|
+
export declare function resolveDotenvPathFromConfig(cwd: string, config?: SecretsConfigLike): string;
|
|
13
|
+
export declare function resolveSecretPolicyFromConfig(config?: SecretsConfigLike): SecretPolicyMode;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=secrets-config.d.ts.map
|