@executioncontrolprotocol/runtime 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/engine/context-loader.d.ts +31 -0
  2. package/dist/engine/context-loader.d.ts.map +1 -0
  3. package/dist/engine/context-loader.js +90 -0
  4. package/dist/engine/context-loader.js.map +1 -0
  5. package/dist/engine/index.d.ts +6 -0
  6. package/dist/engine/index.d.ts.map +1 -0
  7. package/dist/engine/index.js +6 -0
  8. package/dist/engine/index.js.map +1 -0
  9. package/dist/engine/runner.d.ts +92 -0
  10. package/dist/engine/runner.d.ts.map +1 -0
  11. package/dist/engine/runner.js +852 -0
  12. package/dist/engine/runner.js.map +1 -0
  13. package/dist/engine/schema-validator.d.ts +32 -0
  14. package/dist/engine/schema-validator.d.ts.map +1 -0
  15. package/dist/engine/schema-validator.js +69 -0
  16. package/dist/engine/schema-validator.js.map +1 -0
  17. package/dist/engine/system-config-loader.d.ts +39 -0
  18. package/dist/engine/system-config-loader.d.ts.map +1 -0
  19. package/dist/engine/system-config-loader.js +80 -0
  20. package/dist/engine/system-config-loader.js.map +1 -0
  21. package/dist/engine/types.d.ts +324 -0
  22. package/dist/engine/types.d.ts.map +1 -0
  23. package/dist/engine/types.js +10 -0
  24. package/dist/engine/types.js.map +1 -0
  25. package/dist/evals/index.d.ts +3 -0
  26. package/dist/evals/index.d.ts.map +1 -0
  27. package/dist/evals/index.js +3 -0
  28. package/dist/evals/index.js.map +1 -0
  29. package/dist/evals/scorer.d.ts +23 -0
  30. package/dist/evals/scorer.d.ts.map +1 -0
  31. package/dist/evals/scorer.js +133 -0
  32. package/dist/evals/scorer.js.map +1 -0
  33. package/dist/evals/types.d.ts +128 -0
  34. package/dist/evals/types.d.ts.map +1 -0
  35. package/dist/evals/types.js +11 -0
  36. package/dist/evals/types.js.map +1 -0
  37. package/dist/extensions/builtin.d.ts +44 -0
  38. package/dist/extensions/builtin.d.ts.map +1 -0
  39. package/dist/extensions/builtin.js +66 -0
  40. package/dist/extensions/builtin.js.map +1 -0
  41. package/dist/extensions/index.d.ts +4 -0
  42. package/dist/extensions/index.d.ts.map +1 -0
  43. package/dist/extensions/index.js +4 -0
  44. package/dist/extensions/index.js.map +1 -0
  45. package/dist/extensions/progress-loggers/file-logger.d.ts +27 -0
  46. package/dist/extensions/progress-loggers/file-logger.d.ts.map +1 -0
  47. package/dist/extensions/progress-loggers/file-logger.js +54 -0
  48. package/dist/extensions/progress-loggers/file-logger.js.map +1 -0
  49. package/dist/extensions/registry.d.ts +74 -0
  50. package/dist/extensions/registry.d.ts.map +1 -0
  51. package/dist/extensions/registry.js +126 -0
  52. package/dist/extensions/registry.js.map +1 -0
  53. package/dist/extensions/types.d.ts +78 -0
  54. package/dist/extensions/types.d.ts.map +1 -0
  55. package/dist/extensions/types.js +7 -0
  56. package/dist/extensions/types.js.map +1 -0
  57. package/dist/index.d.ts +10 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +10 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/mounts/hydrator.d.ts +46 -0
  62. package/dist/mounts/hydrator.d.ts.map +1 -0
  63. package/dist/mounts/hydrator.js +142 -0
  64. package/dist/mounts/hydrator.js.map +1 -0
  65. package/dist/mounts/index.d.ts +4 -0
  66. package/dist/mounts/index.d.ts.map +1 -0
  67. package/dist/mounts/index.js +4 -0
  68. package/dist/mounts/index.js.map +1 -0
  69. package/dist/mounts/interpolation.d.ts +33 -0
  70. package/dist/mounts/interpolation.d.ts.map +1 -0
  71. package/dist/mounts/interpolation.js +59 -0
  72. package/dist/mounts/interpolation.js.map +1 -0
  73. package/dist/mounts/types.d.ts +80 -0
  74. package/dist/mounts/types.d.ts.map +1 -0
  75. package/dist/mounts/types.js +10 -0
  76. package/dist/mounts/types.js.map +1 -0
  77. package/dist/policies/enforcer.d.ts +23 -0
  78. package/dist/policies/enforcer.d.ts.map +1 -0
  79. package/dist/policies/enforcer.js +111 -0
  80. package/dist/policies/enforcer.js.map +1 -0
  81. package/dist/policies/index.d.ts +3 -0
  82. package/dist/policies/index.d.ts.map +1 -0
  83. package/dist/policies/index.js +3 -0
  84. package/dist/policies/index.js.map +1 -0
  85. package/dist/policies/types.d.ts +87 -0
  86. package/dist/policies/types.d.ts.map +1 -0
  87. package/dist/policies/types.js +11 -0
  88. package/dist/policies/types.js.map +1 -0
  89. package/dist/protocols/a2a/a2a-transport.d.ts +40 -0
  90. package/dist/protocols/a2a/a2a-transport.d.ts.map +1 -0
  91. package/dist/protocols/a2a/a2a-transport.js +212 -0
  92. package/dist/protocols/a2a/a2a-transport.js.map +1 -0
  93. package/dist/protocols/a2a/index.d.ts +3 -0
  94. package/dist/protocols/a2a/index.d.ts.map +1 -0
  95. package/dist/protocols/a2a/index.js +2 -0
  96. package/dist/protocols/a2a/index.js.map +1 -0
  97. package/dist/protocols/agent-transport.d.ts +101 -0
  98. package/dist/protocols/agent-transport.d.ts.map +1 -0
  99. package/dist/protocols/agent-transport.js +11 -0
  100. package/dist/protocols/agent-transport.js.map +1 -0
  101. package/dist/protocols/index.d.ts +5 -0
  102. package/dist/protocols/index.d.ts.map +1 -0
  103. package/dist/protocols/index.js +5 -0
  104. package/dist/protocols/index.js.map +1 -0
  105. package/dist/protocols/mcp/index.d.ts +2 -0
  106. package/dist/protocols/mcp/index.d.ts.map +1 -0
  107. package/dist/protocols/mcp/index.js +2 -0
  108. package/dist/protocols/mcp/index.js.map +1 -0
  109. package/dist/protocols/mcp/mcp-tool-invoker.d.ts +30 -0
  110. package/dist/protocols/mcp/mcp-tool-invoker.d.ts.map +1 -0
  111. package/dist/protocols/mcp/mcp-tool-invoker.js +121 -0
  112. package/dist/protocols/mcp/mcp-tool-invoker.js.map +1 -0
  113. package/dist/protocols/tool-invoker.d.ts +91 -0
  114. package/dist/protocols/tool-invoker.d.ts.map +1 -0
  115. package/dist/protocols/tool-invoker.js +11 -0
  116. package/dist/protocols/tool-invoker.js.map +1 -0
  117. package/dist/providers/index.d.ts +4 -0
  118. package/dist/providers/index.d.ts.map +1 -0
  119. package/dist/providers/index.js +4 -0
  120. package/dist/providers/index.js.map +1 -0
  121. package/dist/providers/model-provider.d.ts +132 -0
  122. package/dist/providers/model-provider.d.ts.map +1 -0
  123. package/dist/providers/model-provider.js +10 -0
  124. package/dist/providers/model-provider.js.map +1 -0
  125. package/dist/providers/ollama/index.d.ts +3 -0
  126. package/dist/providers/ollama/index.d.ts.map +1 -0
  127. package/dist/providers/ollama/index.js +2 -0
  128. package/dist/providers/ollama/index.js.map +1 -0
  129. package/dist/providers/ollama/ollama-provider.d.ts +41 -0
  130. package/dist/providers/ollama/ollama-provider.d.ts.map +1 -0
  131. package/dist/providers/ollama/ollama-provider.js +113 -0
  132. package/dist/providers/ollama/ollama-provider.js.map +1 -0
  133. package/dist/providers/openai/index.d.ts +3 -0
  134. package/dist/providers/openai/index.d.ts.map +1 -0
  135. package/dist/providers/openai/index.js +2 -0
  136. package/dist/providers/openai/index.js.map +1 -0
  137. package/dist/providers/openai/openai-provider.d.ts +41 -0
  138. package/dist/providers/openai/openai-provider.d.ts.map +1 -0
  139. package/dist/providers/openai/openai-provider.js +150 -0
  140. package/dist/providers/openai/openai-provider.js.map +1 -0
  141. package/dist/testing/cassette.d.ts +88 -0
  142. package/dist/testing/cassette.d.ts.map +1 -0
  143. package/dist/testing/cassette.js +123 -0
  144. package/dist/testing/cassette.js.map +1 -0
  145. package/dist/testing/index.d.ts +5 -0
  146. package/dist/testing/index.d.ts.map +1 -0
  147. package/dist/testing/index.js +5 -0
  148. package/dist/testing/index.js.map +1 -0
  149. package/dist/testing/mock-agent-transport.d.ts +49 -0
  150. package/dist/testing/mock-agent-transport.d.ts.map +1 -0
  151. package/dist/testing/mock-agent-transport.js +71 -0
  152. package/dist/testing/mock-agent-transport.js.map +1 -0
  153. package/dist/testing/mock-model-provider.d.ts +69 -0
  154. package/dist/testing/mock-model-provider.d.ts.map +1 -0
  155. package/dist/testing/mock-model-provider.js +92 -0
  156. package/dist/testing/mock-model-provider.js.map +1 -0
  157. package/dist/testing/mock-tool-invoker.d.ts +65 -0
  158. package/dist/testing/mock-tool-invoker.d.ts.map +1 -0
  159. package/dist/testing/mock-tool-invoker.js +85 -0
  160. package/dist/testing/mock-tool-invoker.js.map +1 -0
  161. package/dist/tracing/collector.d.ts +75 -0
  162. package/dist/tracing/collector.d.ts.map +1 -0
  163. package/dist/tracing/collector.js +106 -0
  164. package/dist/tracing/collector.js.map +1 -0
  165. package/dist/tracing/exporters/console.d.ts +17 -0
  166. package/dist/tracing/exporters/console.d.ts.map +1 -0
  167. package/dist/tracing/exporters/console.js +76 -0
  168. package/dist/tracing/exporters/console.js.map +1 -0
  169. package/dist/tracing/exporters/index.d.ts +4 -0
  170. package/dist/tracing/exporters/index.d.ts.map +1 -0
  171. package/dist/tracing/exporters/index.js +3 -0
  172. package/dist/tracing/exporters/index.js.map +1 -0
  173. package/dist/tracing/exporters/json-file.d.ts +30 -0
  174. package/dist/tracing/exporters/json-file.d.ts.map +1 -0
  175. package/dist/tracing/exporters/json-file.js +28 -0
  176. package/dist/tracing/exporters/json-file.js.map +1 -0
  177. package/dist/tracing/formatter.d.ts +16 -0
  178. package/dist/tracing/formatter.d.ts.map +1 -0
  179. package/dist/tracing/formatter.js +81 -0
  180. package/dist/tracing/formatter.js.map +1 -0
  181. package/dist/tracing/graph.d.ts +17 -0
  182. package/dist/tracing/graph.d.ts.map +1 -0
  183. package/dist/tracing/graph.js +116 -0
  184. package/dist/tracing/graph.js.map +1 -0
  185. package/dist/tracing/index.d.ts +6 -0
  186. package/dist/tracing/index.d.ts.map +1 -0
  187. package/dist/tracing/index.js +6 -0
  188. package/dist/tracing/index.js.map +1 -0
  189. package/dist/tracing/types.d.ts +124 -0
  190. package/dist/tracing/types.d.ts.map +1 -0
  191. package/dist/tracing/types.js +11 -0
  192. package/dist/tracing/types.js.map +1 -0
  193. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/engine/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Runtime schema validator — validates executor outputs against
3
+ * the JSON-Schema-like definitions declared in a Context.
4
+ *
5
+ * Uses AJV for runtime validation, converting the ECP SchemaDefinition
6
+ * format into standard JSON Schema.
7
+ *
8
+ * @category Engine
9
+ */
10
+ import type { SchemaDefinition } from "@executioncontrolprotocol/spec";
11
+ /**
12
+ * The result of validating data against a schema.
13
+ *
14
+ * @category Engine
15
+ */
16
+ export interface ValidationResult {
17
+ /** Whether the data conforms to the schema. */
18
+ valid: boolean;
19
+ /** Validation error messages (empty if valid). */
20
+ errors: string[];
21
+ }
22
+ /**
23
+ * Validate data against an ECP SchemaDefinition.
24
+ *
25
+ * @param data - The data to validate.
26
+ * @param schemaDef - The ECP schema definition.
27
+ * @returns Validation result.
28
+ *
29
+ * @category Engine
30
+ */
31
+ export declare function validateOutput(data: unknown, schemaDef: SchemaDefinition): ValidationResult;
32
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/engine/schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,gCAAgC,CAAC;AAKvF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IAEf,kDAAkD;IAClD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,gBAAgB,GAC1B,gBAAgB,CAelB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Runtime schema validator — validates executor outputs against
3
+ * the JSON-Schema-like definitions declared in a Context.
4
+ *
5
+ * Uses AJV for runtime validation, converting the ECP SchemaDefinition
6
+ * format into standard JSON Schema.
7
+ *
8
+ * @category Engine
9
+ */
10
+ import _Ajv from "ajv";
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ const Ajv = _Ajv.default ?? _Ajv;
13
+ /**
14
+ * Convert an ECP SchemaDefinition into a standard JSON Schema object
15
+ * that AJV can compile.
16
+ */
17
+ function toJsonSchema(def) {
18
+ const schema = {
19
+ type: def.type,
20
+ };
21
+ if (def.required?.length) {
22
+ schema.required = def.required;
23
+ }
24
+ if (def.properties) {
25
+ schema.properties = Object.fromEntries(Object.entries(def.properties).map(([key, prop]) => [
26
+ key,
27
+ propertyToJsonSchema(prop),
28
+ ]));
29
+ schema.additionalProperties = true;
30
+ }
31
+ return schema;
32
+ }
33
+ function propertyToJsonSchema(prop) {
34
+ const schema = { type: prop.type };
35
+ if (prop.items) {
36
+ schema.items = propertyToJsonSchema(prop.items);
37
+ }
38
+ if (prop.required?.length) {
39
+ schema.required = prop.required;
40
+ }
41
+ if (prop.properties) {
42
+ schema.properties = Object.fromEntries(Object.entries(prop.properties).map(([key, p]) => [
43
+ key,
44
+ propertyToJsonSchema(p),
45
+ ]));
46
+ schema.additionalProperties = true;
47
+ }
48
+ return schema;
49
+ }
50
+ /**
51
+ * Validate data against an ECP SchemaDefinition.
52
+ *
53
+ * @param data - The data to validate.
54
+ * @param schemaDef - The ECP schema definition.
55
+ * @returns Validation result.
56
+ *
57
+ * @category Engine
58
+ */
59
+ export function validateOutput(data, schemaDef) {
60
+ const ajv = new Ajv({ allErrors: true, strict: false });
61
+ const jsonSchema = toJsonSchema(schemaDef);
62
+ const validate = ajv.compile(jsonSchema);
63
+ if (validate(data)) {
64
+ return { valid: true, errors: [] };
65
+ }
66
+ const errors = (validate.errors ?? []).map((err) => `${err.instancePath || "/"}: ${err.message ?? "unknown error"}`);
67
+ return { valid: false, errors };
68
+ }
69
+ //# sourceMappingURL=schema-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/engine/schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,KAAK,CAAC;AAGvB,8DAA8D;AAC9D,MAAM,GAAG,GAAI,IAAY,CAAC,OAAO,IAAI,IAAI,CAAC;AAe1C;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAqB;IACzC,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC;IAEF,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG;YACH,oBAAoB,CAAC,IAAI,CAAC;SAC3B,CAAC,CACH,CAAC;QACF,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB;IAChD,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAChD,GAAG;YACH,oBAAoB,CAAC,CAAC,CAAC;SACxB,CAAC,CACH,CAAC;QACF,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAa,EACb,SAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CACxC,CAAC,GAAgD,EAAE,EAAE,CACnD,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,KAAK,GAAG,CAAC,OAAO,IAAI,eAAe,EAAE,CAClE,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * System config loader — reads ECP system config (ecp.config.yaml) from
3
+ * a given path or default locations.
4
+ *
5
+ * @category Engine
6
+ */
7
+ import type { ECPSystemConfig } from "./types.js";
8
+ /**
9
+ * Default paths to look for system config, in order of precedence.
10
+ * First existing file wins.
11
+ *
12
+ * @param cwd - Current working directory (e.g. process.cwd()).
13
+ * @returns List of absolute paths to try.
14
+ *
15
+ * @category Engine
16
+ */
17
+ export declare function getDefaultConfigPaths(cwd: string): string[];
18
+ /**
19
+ * Load ECP system config from a YAML or JSON file.
20
+ *
21
+ * @param filePath - Absolute or relative path to the config file.
22
+ * @returns The parsed config object.
23
+ * @throws If the file cannot be read or parsed.
24
+ *
25
+ * @category Engine
26
+ */
27
+ export declare function loadSystemConfig(filePath: string): ECPSystemConfig;
28
+ /**
29
+ * Load system config from an explicit path, or from the first default
30
+ * location that exists.
31
+ *
32
+ * @param explicitPath - If set, load from this path only.
33
+ * @param cwd - Current working directory for default path resolution.
34
+ * @returns The loaded config, or undefined if no config file was found.
35
+ *
36
+ * @category Engine
37
+ */
38
+ export declare function resolveSystemConfig(explicitPath: string | undefined, cwd: string): ECPSystemConfig | undefined;
39
+ //# sourceMappingURL=system-config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-config-loader.d.ts","sourceRoot":"","sources":["../../src/engine/system-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAkBlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GACV,eAAe,GAAG,SAAS,CAa7B"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * System config loader — reads ECP system config (ecp.config.yaml) from
3
+ * a given path or default locations.
4
+ *
5
+ * @category Engine
6
+ */
7
+ import { readFileSync, existsSync } from "node:fs";
8
+ import { resolve, extname } from "node:path";
9
+ import { homedir } from "node:os";
10
+ import yaml from "js-yaml";
11
+ const CONFIG_FILENAME = "ecp.config.yaml";
12
+ /**
13
+ * Default paths to look for system config, in order of precedence.
14
+ * First existing file wins.
15
+ *
16
+ * @param cwd - Current working directory (e.g. process.cwd()).
17
+ * @returns List of absolute paths to try.
18
+ *
19
+ * @category Engine
20
+ */
21
+ export function getDefaultConfigPaths(cwd) {
22
+ return [
23
+ resolve(cwd, CONFIG_FILENAME),
24
+ resolve(homedir(), ".ecp", "config.yaml"),
25
+ resolve(homedir(), ".ecp", CONFIG_FILENAME),
26
+ ];
27
+ }
28
+ /**
29
+ * Load ECP system config from a YAML or JSON file.
30
+ *
31
+ * @param filePath - Absolute or relative path to the config file.
32
+ * @returns The parsed config object.
33
+ * @throws If the file cannot be read or parsed.
34
+ *
35
+ * @category Engine
36
+ */
37
+ export function loadSystemConfig(filePath) {
38
+ const raw = readFileSync(filePath, "utf-8");
39
+ const ext = extname(filePath).toLowerCase();
40
+ let parsed;
41
+ if (ext === ".yaml" || ext === ".yml") {
42
+ parsed = yaml.load(raw);
43
+ }
44
+ else if (ext === ".json") {
45
+ parsed = JSON.parse(raw);
46
+ }
47
+ else {
48
+ parsed = yaml.load(raw);
49
+ }
50
+ const config = parsed;
51
+ if (!config || typeof config !== "object") {
52
+ throw new Error(`Failed to parse system config from ${filePath}: not an object`);
53
+ }
54
+ return config;
55
+ }
56
+ /**
57
+ * Load system config from an explicit path, or from the first default
58
+ * location that exists.
59
+ *
60
+ * @param explicitPath - If set, load from this path only.
61
+ * @param cwd - Current working directory for default path resolution.
62
+ * @returns The loaded config, or undefined if no config file was found.
63
+ *
64
+ * @category Engine
65
+ */
66
+ export function resolveSystemConfig(explicitPath, cwd) {
67
+ if (explicitPath) {
68
+ if (!existsSync(explicitPath)) {
69
+ throw new Error(`System config not found: ${explicitPath}`);
70
+ }
71
+ return loadSystemConfig(explicitPath);
72
+ }
73
+ for (const p of getDefaultConfigPaths(cwd)) {
74
+ if (existsSync(p)) {
75
+ return loadSystemConfig(p);
76
+ }
77
+ }
78
+ return undefined;
79
+ }
80
+ //# sourceMappingURL=system-config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-config-loader.js","sourceRoot":"","sources":["../../src/engine/system-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO;QACL,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;QAC7B,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC;QACzC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,MAAe,CAAC;IACpB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAyB,CAAC;IACzC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,iBAAiB,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAgC,EAChC,GAAW;IAEX,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,324 @@
1
+ /**
2
+ * Core types for the ECP execution engine.
3
+ *
4
+ * These define the lifecycle, run state, and result shapes that
5
+ * flow through the engine during a Context execution.
6
+ *
7
+ * @category Engine
8
+ */
9
+ import type { ECPContext, Executor, ExtensionSecurityPolicy, MountStage } from "@executioncontrolprotocol/spec";
10
+ import type { ExtensionRegistry } from "../extensions/registry.js";
11
+ /**
12
+ * Resolved input values for a Context run, keyed by input name.
13
+ *
14
+ * @category Engine
15
+ */
16
+ export type ResolvedInputs = Record<string, string | number | boolean>;
17
+ /**
18
+ * A lightweight reference object returned by a seed mount.
19
+ *
20
+ * @category Engine
21
+ */
22
+ export interface MountRef {
23
+ /** The unique identifier of the referenced object. */
24
+ id: string;
25
+ /** The source system (e.g. `"jira"`, `"shopify"`). */
26
+ source: string;
27
+ /** Short display title. */
28
+ title?: string;
29
+ /** ISO-8601 timestamp of the last update. */
30
+ updatedAt?: string;
31
+ /** Brief text snippet or summary. */
32
+ snippet?: string;
33
+ }
34
+ /**
35
+ * The result of hydrating a single mount.
36
+ *
37
+ * @category Engine
38
+ */
39
+ export interface MountOutput {
40
+ /** The mount name. */
41
+ mountName: string;
42
+ /** Which hydration stage produced this data. */
43
+ stage: MountStage;
44
+ /**
45
+ * The raw data returned by the tool call.
46
+ * For seed mounts this is typically `MountRef[]`.
47
+ * For focus/deep mounts this is full objects.
48
+ */
49
+ data: unknown;
50
+ /** Number of items returned. */
51
+ itemCount: number;
52
+ }
53
+ /**
54
+ * Lifecycle status of an execution run.
55
+ *
56
+ * @category Engine
57
+ */
58
+ export type RunStatus = "pending" | "loading" | "validating" | "hydrating-seed" | "running-orchestrator" | "delegating" | "hydrating-focus" | "hydrating-deep" | "running-specialist" | "merging" | "completed" | "failed";
59
+ /**
60
+ * A log entry recorded during execution.
61
+ *
62
+ * @category Engine
63
+ */
64
+ export interface RunLogEntry {
65
+ /** ISO-8601 timestamp. */
66
+ timestamp: string;
67
+ /** Severity level. */
68
+ level: "debug" | "info" | "warn" | "error";
69
+ /** Log message. */
70
+ message: string;
71
+ /** Optional structured data. */
72
+ data?: Record<string, unknown>;
73
+ }
74
+ /**
75
+ * Budget consumption tracked during an executor's run.
76
+ *
77
+ * @category Engine
78
+ */
79
+ export interface BudgetUsage {
80
+ /** Number of tool calls made. */
81
+ toolCalls: number;
82
+ /** Wall-clock runtime in seconds. */
83
+ runtimeSeconds: number;
84
+ }
85
+ /**
86
+ * Mutable state for a single executor during a run.
87
+ *
88
+ * @category Engine
89
+ */
90
+ export interface ExecutorState {
91
+ /** The executor definition from the Context. */
92
+ executor: Executor;
93
+ /** Current status. */
94
+ status: "pending" | "running" | "completed" | "failed";
95
+ /** Mount outputs available to this executor. */
96
+ mountOutputs: MountOutput[];
97
+ /** The structured output this executor produced (if completed). */
98
+ output?: Record<string, unknown>;
99
+ /** Budget consumed so far. */
100
+ budgetUsage: BudgetUsage;
101
+ /** Error message if the executor failed. */
102
+ error?: string;
103
+ }
104
+ /**
105
+ * The full mutable state of an execution run.
106
+ *
107
+ * @category Engine
108
+ */
109
+ export interface RunState {
110
+ /** Unique run ID. */
111
+ runId: string;
112
+ /** The loaded and validated Context. */
113
+ context: ECPContext;
114
+ /** Resolved input values. */
115
+ inputs: ResolvedInputs;
116
+ /** Current lifecycle status. */
117
+ status: RunStatus;
118
+ /** Per-executor mutable state. */
119
+ executors: Map<string, ExecutorState>;
120
+ /** Ordered log entries. */
121
+ log: RunLogEntry[];
122
+ /** Run start time (ISO-8601). */
123
+ startedAt: string;
124
+ /** Run end time (ISO-8601), set when completed or failed. */
125
+ endedAt?: string;
126
+ /** Counter for progress events (step numbers). */
127
+ progressStepCounter?: number;
128
+ /** Counter for step_complete events (completion order: 1, 2, 3...). */
129
+ progressCompleteCounter?: number;
130
+ /** Counter for executor steps only (1, 2, 3... for display). */
131
+ progressExecutorStepCounter?: number;
132
+ }
133
+ /**
134
+ * The final result of a completed Context execution.
135
+ *
136
+ * @category Engine
137
+ */
138
+ export interface ExecutionResult {
139
+ /** Whether the run completed successfully. */
140
+ success: boolean;
141
+ /** Unique run ID. */
142
+ runId: string;
143
+ /** Context metadata. */
144
+ contextName: string;
145
+ contextVersion: string;
146
+ /** The final structured output (conforms to `orchestration.produces` schema). */
147
+ output?: Record<string, unknown>;
148
+ /** Per-executor outputs, keyed by executor name. */
149
+ executorOutputs: Record<string, Record<string, unknown>>;
150
+ /** Aggregate budget usage across all executors. */
151
+ totalBudgetUsage: BudgetUsage;
152
+ /** Full execution log. */
153
+ log: RunLogEntry[];
154
+ /** Total wall-clock duration in milliseconds. */
155
+ durationMs: number;
156
+ /** Error message if the run failed. */
157
+ error?: string;
158
+ /** Execution trace (present when tracing is enabled). */
159
+ trace?: import("../tracing/types.js").ExecutionTrace;
160
+ }
161
+ /**
162
+ * Execution progress event emitted during a run for real-time UI (e.g. CLI spinner).
163
+ *
164
+ * @category Engine
165
+ */
166
+ export type ExecutionProgressEvent = {
167
+ type: "phase";
168
+ status: RunStatus;
169
+ } | {
170
+ type: "step_start";
171
+ step: number;
172
+ kind: "mount" | "executor" | "model" | "tool" | "delegation";
173
+ executorName?: string;
174
+ description: string;
175
+ } | {
176
+ type: "step_complete";
177
+ step: number;
178
+ kind: "mount" | "executor" | "model" | "tool" | "delegation";
179
+ executorName?: string;
180
+ description: string;
181
+ durationMs: number;
182
+ /** Chain-of-thought or reasoning from the model when available. */
183
+ reasoning?: string;
184
+ /** Executor output when kind is "executor" and the executor produced output. */
185
+ output?: unknown;
186
+ /** Token usage for this step (when kind is "executor", from model generation). */
187
+ tokens?: {
188
+ prompt: number;
189
+ completion: number;
190
+ total: number;
191
+ };
192
+ /** Model used (when kind is "executor"). */
193
+ model?: string;
194
+ } | {
195
+ type: "executor_reasoning";
196
+ executorName: string;
197
+ /** Increment or full reasoning text (chain of thought). */
198
+ reasoning: string;
199
+ };
200
+ /**
201
+ * Callback invoked for each progress event during execution.
202
+ * May return a Promise so the host can flush output before the next event.
203
+ *
204
+ * @category Engine
205
+ */
206
+ export type ProgressCallback = (event: ExecutionProgressEvent) => void | Promise<void>;
207
+ /**
208
+ * Configuration for tool servers the engine should connect to.
209
+ * Maps logical server names (as used in mount definitions) to
210
+ * connection details.
211
+ *
212
+ * @category Engine
213
+ */
214
+ export type ToolServerRegistry = Record<string, {
215
+ transport: Record<string, unknown>;
216
+ }>;
217
+ /**
218
+ * Configuration supplied to the engine at initialization.
219
+ *
220
+ * @category Engine
221
+ */
222
+ export interface EngineConfig {
223
+ /**
224
+ * Registry of tool servers the engine can connect to.
225
+ * Keys are logical server names matching `mount.from.server`.
226
+ */
227
+ toolServers?: ToolServerRegistry;
228
+ /**
229
+ * A2A endpoint registry for specialist executors.
230
+ * Keys are executor names, values are endpoint URLs.
231
+ */
232
+ agentEndpoints?: Record<string, string>;
233
+ /** Default model to use if an executor doesn't specify one. */
234
+ defaultModel?: string;
235
+ /** Override model for all executors (takes precedence over executor config). */
236
+ modelOverride?: string;
237
+ /** Default temperature for model generation. */
238
+ defaultTemperature?: number;
239
+ /** Whether to log debug-level entries. */
240
+ debug?: boolean;
241
+ /** Enable execution tracing. When set, the engine emits trace spans. */
242
+ trace?: boolean;
243
+ /**
244
+ * Optional callback for real-time execution progress (phase, steps, reasoning).
245
+ * May be a single callback or an array; all are invoked for each event.
246
+ */
247
+ onProgress?: ProgressCallback | ProgressCallback[];
248
+ /**
249
+ * Runtime extension registration and security configuration.
250
+ */
251
+ extensions?: ExtensionRuntimeConfig;
252
+ }
253
+ /**
254
+ * Runtime extension controls supplied by the host system.
255
+ *
256
+ * @category Engine
257
+ */
258
+ export interface ExtensionRuntimeConfig {
259
+ /**
260
+ * Extension registry used to resolve providers/executors/plugins.
261
+ */
262
+ registry?: ExtensionRegistry;
263
+ /**
264
+ * Extension IDs enabled for this run (e.g. from CLI --enable or system config).
265
+ * When set, only these extensions may be used. When unset, all providers
266
+ * declared by the context in extensions.providers are allowed.
267
+ */
268
+ enable?: string[];
269
+ /**
270
+ * Allow-list of extension IDs that may be enabled. When set, config.enable
271
+ * must be a subset of this list (typically from system config).
272
+ */
273
+ allowEnable?: string[];
274
+ /**
275
+ * System-level extension loading security policy.
276
+ */
277
+ security?: ExtensionSecurityPolicy;
278
+ }
279
+ /**
280
+ * System configuration for ECP (e.g. ecp.config.yaml).
281
+ * Used to allow-list enabled extensions and set system security policy.
282
+ * Can be loaded from --config path or default locations.
283
+ *
284
+ * @category Engine
285
+ */
286
+ export interface ECPSystemConfig {
287
+ /**
288
+ * Extension allow-list and defaults.
289
+ */
290
+ extensions?: {
291
+ /**
292
+ * Extension IDs that may be enabled at runtime. When set, only these
293
+ * may appear in the runtime enable list (CLI --enable or config.defaultEnable).
294
+ */
295
+ allowEnable?: string[];
296
+ /**
297
+ * Default extension IDs to enable when CLI does not pass --enable.
298
+ */
299
+ defaultEnable?: string[];
300
+ /**
301
+ * System-level extension security policy.
302
+ */
303
+ security?: ExtensionSecurityPolicy;
304
+ };
305
+ /**
306
+ * Progress logger extensions: which loggers to enable and their config.
307
+ * Loggers receive the same progress events as the CLI (phase, steps, reasoning).
308
+ */
309
+ progressLoggers?: {
310
+ /**
311
+ * Default progress logger IDs to enable (e.g. ["file"]).
312
+ */
313
+ defaultEnable?: string[];
314
+ /**
315
+ * Allow-list of progress logger IDs. When set, only these may be enabled.
316
+ */
317
+ allowEnable?: string[];
318
+ /**
319
+ * Per-logger configuration, keyed by logger ID.
320
+ */
321
+ config?: Record<string, Record<string, unknown>>;
322
+ };
323
+ }
324
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Core types for the ECP execution engine.
3
+ *
4
+ * These define the lifecycle, run state, and result shapes that
5
+ * flow through the engine during a Context execution.
6
+ *
7
+ * @category Engine
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}