@executioncontrolprotocol/types 0.10.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 (105) hide show
  1. package/README.md +16 -0
  2. package/dist/capabilities.d.ts +31 -0
  3. package/dist/capabilities.d.ts.map +1 -0
  4. package/dist/capabilities.js +2 -0
  5. package/dist/capabilities.js.map +1 -0
  6. package/dist/encoding.d.ts +99 -0
  7. package/dist/encoding.d.ts.map +1 -0
  8. package/dist/encoding.js +25 -0
  9. package/dist/encoding.js.map +1 -0
  10. package/dist/environment.d.ts +132 -0
  11. package/dist/environment.d.ts.map +1 -0
  12. package/dist/environment.js +2 -0
  13. package/dist/environment.js.map +1 -0
  14. package/dist/harness-feedback.d.ts +43 -0
  15. package/dist/harness-feedback.d.ts.map +1 -0
  16. package/dist/harness-feedback.js +2 -0
  17. package/dist/harness-feedback.js.map +1 -0
  18. package/dist/harness-reply.d.ts +63 -0
  19. package/dist/harness-reply.d.ts.map +1 -0
  20. package/dist/harness-reply.js +30 -0
  21. package/dist/harness-reply.js.map +1 -0
  22. package/dist/harness-run-context.d.ts +228 -0
  23. package/dist/harness-run-context.d.ts.map +1 -0
  24. package/dist/harness-run-context.js +35 -0
  25. package/dist/harness-run-context.js.map +1 -0
  26. package/dist/harness-tasks.d.ts +403 -0
  27. package/dist/harness-tasks.d.ts.map +1 -0
  28. package/dist/harness-tasks.js +50 -0
  29. package/dist/harness-tasks.js.map +1 -0
  30. package/dist/harness.d.ts +118 -0
  31. package/dist/harness.d.ts.map +1 -0
  32. package/dist/harness.js +34 -0
  33. package/dist/harness.js.map +1 -0
  34. package/dist/image.d.ts +150 -0
  35. package/dist/image.d.ts.map +1 -0
  36. package/dist/image.js +46 -0
  37. package/dist/image.js.map +1 -0
  38. package/dist/index.d.ts +34 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +12 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/intent.d.ts +35 -0
  43. package/dist/intent.d.ts.map +1 -0
  44. package/dist/intent.js +26 -0
  45. package/dist/intent.js.map +1 -0
  46. package/dist/invoke.d.ts +44 -0
  47. package/dist/invoke.d.ts.map +1 -0
  48. package/dist/invoke.js +9 -0
  49. package/dist/invoke.js.map +1 -0
  50. package/dist/lifecycle.d.ts +27 -0
  51. package/dist/lifecycle.d.ts.map +1 -0
  52. package/dist/lifecycle.js +2 -0
  53. package/dist/lifecycle.js.map +1 -0
  54. package/dist/model.d.ts +57 -0
  55. package/dist/model.d.ts.map +1 -0
  56. package/dist/model.js +32 -0
  57. package/dist/model.js.map +1 -0
  58. package/dist/patch-errors.d.ts +11 -0
  59. package/dist/patch-errors.d.ts.map +1 -0
  60. package/dist/patch-errors.js +9 -0
  61. package/dist/patch-errors.js.map +1 -0
  62. package/dist/patch.d.ts +51 -0
  63. package/dist/patch.d.ts.map +1 -0
  64. package/dist/patch.js +2 -0
  65. package/dist/patch.js.map +1 -0
  66. package/dist/registry.d.ts +24 -0
  67. package/dist/registry.d.ts.map +1 -0
  68. package/dist/registry.js +2 -0
  69. package/dist/registry.js.map +1 -0
  70. package/dist/run.d.ts +35 -0
  71. package/dist/run.d.ts.map +1 -0
  72. package/dist/run.js +2 -0
  73. package/dist/run.js.map +1 -0
  74. package/dist/schema.d.ts +67 -0
  75. package/dist/schema.d.ts.map +1 -0
  76. package/dist/schema.js +2 -0
  77. package/dist/schema.js.map +1 -0
  78. package/dist/schemas/decode.result.json +155 -0
  79. package/dist/schemas/encode.result.json +162 -0
  80. package/dist/schemas/environment.describe.json +210 -0
  81. package/dist/schemas/environment.manifest.json +159 -0
  82. package/dist/schemas/environment.search.json +72 -0
  83. package/dist/schemas/patch.json +104 -0
  84. package/dist/schemas/patch.result.json +260 -0
  85. package/dist/schemas/run.request.json +485 -0
  86. package/dist/schemas/run.result.json +170 -0
  87. package/dist/schemas/validation.result.json +89 -0
  88. package/dist/schemas/workflow.manifest.json +451 -0
  89. package/dist/store.d.ts +30 -0
  90. package/dist/store.d.ts.map +1 -0
  91. package/dist/store.js +2 -0
  92. package/dist/store.js.map +1 -0
  93. package/dist/validation.d.ts +20 -0
  94. package/dist/validation.d.ts.map +1 -0
  95. package/dist/validation.js +2 -0
  96. package/dist/validation.js.map +1 -0
  97. package/dist/version.d.ts +5 -0
  98. package/dist/version.d.ts.map +1 -0
  99. package/dist/version.js +3 -0
  100. package/dist/version.js.map +1 -0
  101. package/dist/workflow.d.ts +55 -0
  102. package/dist/workflow.d.ts.map +1 -0
  103. package/dist/workflow.js +2 -0
  104. package/dist/workflow.js.map +1 -0
  105. package/package.json +33 -0
@@ -0,0 +1,27 @@
1
+ /** Run lifecycle events. @category Lifecycle */
2
+ export type RunLifecycleEvent = "run:before" | "run:started" | "run:completed" | "run:failed" | "run:cancelled" | "run:finally";
3
+ /** Step lifecycle events. @category Lifecycle */
4
+ export type StepLifecycleEvent = "step:before" | "step:started" | "step:completed" | "step:failed" | "step:cancelled" | "step:paused" | "step:finally";
5
+ /** Policy lifecycle events. @category Lifecycle */
6
+ export type PolicyLifecycleEvent = "policy:pre" | "policy:post" | "policy:finally";
7
+ /** Environment lifecycle events. @category Lifecycle */
8
+ export type EnvironmentLifecycleEvent = "environment:created" | "environment:configuring" | "environment:ready" | "environment:beforeRun" | "environment:terminate";
9
+ /** All public lifecycle events. @category Lifecycle */
10
+ export type LifecycleEvent = EnvironmentLifecycleEvent | RunLifecycleEvent | StepLifecycleEvent | PolicyLifecycleEvent;
11
+ /** Policy hook decision. @category Policies */
12
+ export type PolicyDecision = {
13
+ type: "allow";
14
+ } | {
15
+ type: "deny";
16
+ reason: string;
17
+ code?: string;
18
+ } | {
19
+ type: "pause";
20
+ reason: string;
21
+ approval?: unknown;
22
+ } | {
23
+ type: "modify";
24
+ patch: unknown;
25
+ reason?: string;
26
+ };
27
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,YAAY,GACZ,eAAe,GACf,aAAa,CAAA;AAEjB,iDAAiD;AACjD,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,cAAc,CAAA;AAElB,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,aAAa,GACb,gBAAgB,CAAA;AAEpB,wDAAwD;AACxD,MAAM,MAAM,yBAAyB,GACjC,qBAAqB,GACrB,yBAAyB,GACzB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,CAAA;AAE3B,uDAAuD;AACvD,MAAM,MAAM,cAAc,GACtB,yBAAyB,GACzB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,CAAA;AAExB,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import type { GenerateCapabilityInput, GenerateCapabilityOutput } from "./capabilities.js";
3
+ /** Interface tag for harness-compatible model providers. @category Harness */
4
+ export declare const ECP_MODEL_GENERATE_INTERFACE: "@executioncontrolprotocol/model.generate";
5
+ /** Reserved capability name for model providers used by harnesses. @category Harness */
6
+ export declare const ECP_MODEL_CAPABILITY_NAME: "generate";
7
+ /** Response format hint for model generation. @category Harness */
8
+ export declare const ECP_MODEL_RESPONSE_FORMATS: {
9
+ readonly TEXT: "text";
10
+ readonly JSON: "json";
11
+ readonly TOON: "toon";
12
+ };
13
+ /** Model response format union. @category Harness */
14
+ export type EcpModelResponseFormat = (typeof ECP_MODEL_RESPONSE_FORMATS)[keyof typeof ECP_MODEL_RESPONSE_FORMATS];
15
+ /** Normalized model generate input. @category Harness */
16
+ export declare const modelGenerateInputSchema: z.ZodObject<{
17
+ /** User/model prompt body. */
18
+ prompt: z.ZodString;
19
+ /** System instruction. */
20
+ system: z.ZodOptional<z.ZodString>;
21
+ /** Model override. */
22
+ model: z.ZodOptional<z.ZodString>;
23
+ /** Optional provider context blob. */
24
+ context: z.ZodOptional<z.ZodUnknown>;
25
+ /** Output format hint for providers without native support. */
26
+ responseFormat: z.ZodOptional<z.ZodEnum<["text", "json", "toon", "eql"]>>;
27
+ /** Provider-specific options (e.g. temperature, top_p for Ollama). */
28
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ prompt: string;
31
+ options?: Record<string, unknown> | undefined;
32
+ model?: string | undefined;
33
+ system?: string | undefined;
34
+ context?: unknown;
35
+ responseFormat?: "json" | "toon" | "eql" | "text" | undefined;
36
+ }, {
37
+ prompt: string;
38
+ options?: Record<string, unknown> | undefined;
39
+ model?: string | undefined;
40
+ system?: string | undefined;
41
+ context?: unknown;
42
+ responseFormat?: "json" | "toon" | "eql" | "text" | undefined;
43
+ }>;
44
+ /** Normalized model generate input type. @category Harness */
45
+ export type ModelGenerateInput = GenerateCapabilityInput & z.infer<typeof modelGenerateInputSchema>;
46
+ /** Normalized model generate output. @category Harness */
47
+ export declare const modelGenerateOutputSchema: z.ZodObject<{
48
+ /** Generated text content. */
49
+ text: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ text: string;
52
+ }, {
53
+ text: string;
54
+ }>;
55
+ /** Normalized model generate output type. @category Harness */
56
+ export type ModelGenerateOutput = GenerateCapabilityOutput & z.infer<typeof modelGenerateOutputSchema>;
57
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE1F,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,EAAG,0CAAmD,CAAA;AAE/F,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,EAAG,UAAmB,CAAA;AAE5D,mEAAmE;AACnE,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAA;AAEV,qDAAqD;AACrD,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAA;AAE9E,yDAAyD;AACzD,eAAO,MAAM,wBAAwB;IACnC,8BAA8B;;IAE9B,0BAA0B;;IAE1B,sBAAsB;;IAEtB,sCAAsC;;IAEtC,+DAA+D;;IAE/D,sEAAsE;;;;;;;;;;;;;;;;EAEtE,CAAA;AAEF,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GACtD,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE1C,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB;IACpC,8BAA8B;;;;;;EAE9B,CAAA;AAEF,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GACxD,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
package/dist/model.js ADDED
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ /** Interface tag for harness-compatible model providers. @category Harness */
3
+ export const ECP_MODEL_GENERATE_INTERFACE = "@executioncontrolprotocol/model.generate";
4
+ /** Reserved capability name for model providers used by harnesses. @category Harness */
5
+ export const ECP_MODEL_CAPABILITY_NAME = "generate";
6
+ /** Response format hint for model generation. @category Harness */
7
+ export const ECP_MODEL_RESPONSE_FORMATS = {
8
+ TEXT: "text",
9
+ JSON: "json",
10
+ TOON: "toon",
11
+ };
12
+ /** Normalized model generate input. @category Harness */
13
+ export const modelGenerateInputSchema = z.object({
14
+ /** User/model prompt body. */
15
+ prompt: z.string(),
16
+ /** System instruction. */
17
+ system: z.string().optional(),
18
+ /** Model override. */
19
+ model: z.string().optional(),
20
+ /** Optional provider context blob. */
21
+ context: z.unknown().optional(),
22
+ /** Output format hint for providers without native support. */
23
+ responseFormat: z.enum(["text", "json", "toon", "eql"]).optional(),
24
+ /** Provider-specific options (e.g. temperature, top_p for Ollama). */
25
+ options: z.record(z.string(), z.unknown()).optional(),
26
+ });
27
+ /** Normalized model generate output. @category Harness */
28
+ export const modelGenerateOutputSchema = z.object({
29
+ /** Generated text content. */
30
+ text: z.string(),
31
+ });
32
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,0CAAmD,CAAA;AAE/F,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAmB,CAAA;AAE5D,mEAAmE;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAA;AAMV,yDAAyD;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,8BAA8B;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,sCAAsC;IACtC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,+DAA+D;IAC/D,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,sEAAsE;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAA;AAMF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,8BAA8B;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ /** Patch operation error codes. @category Patch */
2
+ export declare const ECP_PATCH_ERROR_CODES: {
3
+ readonly DUPLICATE_STEP_ID: "DUPLICATE_STEP_ID";
4
+ readonly PATCH_PATH_NOT_FOUND: "PATCH_PATH_NOT_FOUND";
5
+ readonly PATCH_PATH_UNSUPPORTED: "PATCH_PATH_UNSUPPORTED";
6
+ readonly PATCH_APPLY_FAILED: "PATCH_APPLY_FAILED";
7
+ readonly PATCH_INVALID_DOCUMENT: "PATCH_INVALID_DOCUMENT";
8
+ };
9
+ /** Patch error code union. @category Patch */
10
+ export type EcpPatchErrorCode = (typeof ECP_PATCH_ERROR_CODES)[keyof typeof ECP_PATCH_ERROR_CODES];
11
+ //# sourceMappingURL=patch-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-errors.d.ts","sourceRoot":"","sources":["../src/patch-errors.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,eAAO,MAAM,qBAAqB;;;;;;CAMxB,CAAA;AAEV,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /** Patch operation error codes. @category Patch */
2
+ export const ECP_PATCH_ERROR_CODES = {
3
+ DUPLICATE_STEP_ID: "DUPLICATE_STEP_ID",
4
+ PATCH_PATH_NOT_FOUND: "PATCH_PATH_NOT_FOUND",
5
+ PATCH_PATH_UNSUPPORTED: "PATCH_PATH_UNSUPPORTED",
6
+ PATCH_APPLY_FAILED: "PATCH_APPLY_FAILED",
7
+ PATCH_INVALID_DOCUMENT: "PATCH_INVALID_DOCUMENT",
8
+ };
9
+ //# sourceMappingURL=patch-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-errors.js","sourceRoot":"","sources":["../src/patch-errors.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;CACxC,CAAA"}
@@ -0,0 +1,51 @@
1
+ import type { EcpSchema } from "./schema.js";
2
+ import type { EcpVersion } from "./version.js";
3
+ import type { ValidationIssue } from "./validation.js";
4
+ import type { ValidationResult } from "./validation.js";
5
+ /** Patch merge mode. @category Patch */
6
+ export type PatchMode = "merge" | "replace";
7
+ /** Single patch entry. @category Patch */
8
+ export interface EcpPatchEntry {
9
+ /** ECP path using `steps[<stepId>]` (not labels). */
10
+ path: string;
11
+ /** Defaults to `merge`. */
12
+ mode?: PatchMode;
13
+ /** Partial or full JSON value. */
14
+ value: unknown;
15
+ /** Optional audit reason. */
16
+ reason?: string;
17
+ }
18
+ /** Canonical patch document. @category Patch */
19
+ export interface EcpPatchDocument {
20
+ schema: "@executioncontrolprotocol.patch";
21
+ version: EcpVersion;
22
+ targetSchema: EcpSchema;
23
+ patches: EcpPatchEntry[];
24
+ }
25
+ /** Shorthand or canonical patch input. @category Patch */
26
+ export type EcpPatchInput = EcpPatchDocument | EcpPatchEntry[] | Record<string, unknown>;
27
+ /** Applied patch entry record. @category Patch */
28
+ export interface AppliedPatchEntry {
29
+ path: string;
30
+ mode: PatchMode;
31
+ success: boolean;
32
+ diagnostics?: ValidationIssue[];
33
+ }
34
+ /** Result from `ecp.patch(...).process()`. @category Patch */
35
+ export interface PatchResult<T = unknown> {
36
+ schema: "@executioncontrolprotocol.patch.result";
37
+ version: EcpVersion;
38
+ success: boolean;
39
+ targetSchema: EcpSchema;
40
+ targetVersion?: EcpVersion;
41
+ result?: T;
42
+ patch?: EcpPatchDocument;
43
+ applied: AppliedPatchEntry[];
44
+ validation?: ValidationResult;
45
+ diagnostics: ValidationIssue[];
46
+ }
47
+ /** Concrete patch result for schema generation. @category Patch */
48
+ export type PatchResultDocument = PatchResult<unknown>;
49
+ /** Concrete patch document for schema generation. @category Patch */
50
+ export type EcpPatchDocumentRecord = EcpPatchDocument;
51
+ //# sourceMappingURL=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,wCAAwC;AACxC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;AAE3C,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAA;IACd,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iCAAiC,CAAA;IACzC,OAAO,EAAE,UAAU,CAAA;IACnB,YAAY,EAAE,SAAS,CAAA;IACvB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAExF,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;CAChC;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,wCAAwC,CAAA;IAChD,OAAO,EAAE,UAAU,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,SAAS,CAAA;IACvB,aAAa,CAAC,EAAE,UAAU,CAAA;IAC1B,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,WAAW,EAAE,eAAe,EAAE,CAAA;CAC/B;AAED,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEtD,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAA"}
package/dist/patch.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { NamespacedId } from "./schema.js";
2
+ /** Source of a dynamic registry registration request. @category Policies */
3
+ export type RegistryRegistrationSourceType = "browser-global" | "environment-api" | "direct-registry";
4
+ /** Registry operation evaluated by environment policies before acceptance. @category Policies */
5
+ export interface RegistryRegistrationRequest {
6
+ /** Kind of definition being registered. */
7
+ kind: "extension" | "policy" | "runtime";
8
+ /** Namespaced id of the definition. */
9
+ id: NamespacedId;
10
+ /** Definition payload when available. */
11
+ definition?: unknown;
12
+ /** Whether the host will auto-bind after registration. */
13
+ autoBindRequested?: boolean;
14
+ /** Provenance of the registration call. */
15
+ source?: {
16
+ /** How registration was initiated. */
17
+ type: RegistryRegistrationSourceType;
18
+ /** Optional page URL for browser-global registration. */
19
+ url?: string;
20
+ };
21
+ }
22
+ /** Policy evaluation scope for non-step checks. @category Policies */
23
+ export type PolicyEvaluationScope = "environment" | "run" | "step" | "invoke";
24
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,4EAA4E;AAC5E,MAAM,MAAM,8BAA8B,GACtC,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,CAAA;AAErB,iGAAiG;AACjG,MAAM,WAAW,2BAA2B;IAC1C,2CAA2C;IAC3C,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IACxC,uCAAuC;IACvC,EAAE,EAAE,YAAY,CAAA;IAChB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,EAAE;QACP,sCAAsC;QACtC,IAAI,EAAE,8BAA8B,CAAA;QACpC,yDAAyD;QACzD,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED,sEAAsE;AACtE,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":""}
package/dist/run.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ import type { RunStatus } from "./schema.js";
2
+ import type { EcpVersion } from "./version.js";
3
+ import type { MutationRecord } from "./store.js";
4
+ import type { WorkflowManifest } from "./workflow.js";
5
+ /** Run request document. @category Runtime */
6
+ export interface RunRequest {
7
+ schema: "@executioncontrolprotocol.run.request";
8
+ version: EcpVersion;
9
+ workflow: WorkflowManifest;
10
+ input?: Record<string, unknown>;
11
+ actor?: Record<string, unknown>;
12
+ dryRun?: boolean;
13
+ }
14
+ /** Per-step run history record. @category Runtime */
15
+ export interface StepRunRecord {
16
+ status: RunStatus;
17
+ output?: unknown;
18
+ committedAs?: string | null;
19
+ attempts?: number;
20
+ usage?: Record<string, unknown>;
21
+ mutations?: MutationRecord[];
22
+ }
23
+ /** Run result document. @category Runtime */
24
+ export interface RunResult {
25
+ schema: "@executioncontrolprotocol.run.result";
26
+ version: EcpVersion;
27
+ run: {
28
+ id: string;
29
+ status: RunStatus;
30
+ };
31
+ state?: Record<string, unknown>;
32
+ history?: Record<string, StepRunRecord>;
33
+ usage?: Record<string, unknown>;
34
+ }
35
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,uCAAuC,CAAA;IAC/C,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;CAC7B;AAED,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,sCAAsC,CAAA;IAC9C,OAAO,EAAE,UAAU,CAAA;IACnB,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,SAAS,CAAA;KAClB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC"}
package/dist/run.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import type { EcpVersion } from "./version.js";
2
+ /** Serialized object schema discriminator. @category Common */
3
+ export type EcpSchema = "@executioncontrolprotocol.workflow" | "@executioncontrolprotocol.environment" | "@executioncontrolprotocol.environment.describe" | "@executioncontrolprotocol.environment.search" | "@executioncontrolprotocol.run.request" | "@executioncontrolprotocol.run.result" | "@executioncontrolprotocol.run.event" | "@executioncontrolprotocol.validation.result" | "@executioncontrolprotocol.patch" | "@executioncontrolprotocol.patch.result" | "@executioncontrolprotocol.encode.result" | "@executioncontrolprotocol.decode.result" | "@executioncontrolprotocol.intent" | "@executioncontrolprotocol.harness.reply";
4
+ /** Namespaced definition id (`@namespace/name`). @category Common */
5
+ export type NamespacedId = `@${string}/${string}`;
6
+ /** Capability id (`@namespace/name.capability`). @category Common */
7
+ export type CapabilityId = `${NamespacedId}.${string}`;
8
+ /** Commit mode for step output. @category Workflow */
9
+ export type CommitMode = "create" | "replace" | "merge" | "append" | "version";
10
+ /** Run status. @category Runtime */
11
+ export type RunStatus = "created" | "started" | "completed" | "failed" | "cancelled" | "paused";
12
+ /** Workflow reference to committed state. @category Workflow */
13
+ export interface RefValue {
14
+ /** State path prefixed with `state.` in manifests. */
15
+ $ref: string;
16
+ /** When true, missing state does not fail resolution. */
17
+ optional?: boolean;
18
+ /** Fallback when optional ref is missing. */
19
+ fallback?: unknown;
20
+ }
21
+ /** Mutable state handle in step input. @category Workflow */
22
+ export interface StateValue {
23
+ /** State path for staged mutations. */
24
+ $state: string;
25
+ optional?: boolean;
26
+ fallback?: unknown;
27
+ }
28
+ /** Environment config secret reference (not portable in workflows). @category Environment */
29
+ export interface EnvValue {
30
+ $env: string;
31
+ optional?: boolean;
32
+ fallback?: unknown;
33
+ }
34
+ /** OS secrets reference (not portable in workflows). @category Environment */
35
+ export interface SecretValue {
36
+ /** Logical key in the OS secrets store. */
37
+ $secret: string;
38
+ /** When true, missing secret does not fail resolution. */
39
+ optional?: boolean;
40
+ /** Fallback when optional secret is missing. */
41
+ fallback?: unknown;
42
+ }
43
+ /** Browser encrypted secrets reference (not portable in workflows). @category Environment */
44
+ export interface BrowserValue {
45
+ /** Logical key in the browser secrets vault. */
46
+ $browser: string;
47
+ /** When true, missing secret does not fail resolution. */
48
+ optional?: boolean;
49
+ /** Fallback when optional secret is missing. */
50
+ fallback?: unknown;
51
+ }
52
+ /** Expression value in workflow conditions. @category Workflow */
53
+ export type ExprValue = {
54
+ eq: [string, unknown];
55
+ } | {
56
+ neq: [string, unknown];
57
+ } | Record<string, unknown>;
58
+ /** Input value allowed in step config. @category Workflow */
59
+ export type InputValue = string | number | boolean | null | InputValue[] | {
60
+ [key: string]: InputValue;
61
+ } | RefValue | StateValue | EnvValue | SecretValue | BrowserValue;
62
+ /** Base fields on serialized ECP objects. @category Common */
63
+ export interface EcpDocumentBase {
64
+ schema: EcpSchema;
65
+ version: EcpVersion;
66
+ }
67
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,+DAA+D;AAC/D,MAAM,MAAM,SAAS,GACjB,oCAAoC,GACpC,uCAAuC,GACvC,gDAAgD,GAChD,8CAA8C,GAC9C,uCAAuC,GACvC,sCAAsC,GACtC,qCAAqC,GACrC,6CAA6C,GAC7C,iCAAiC,GACjC,wCAAwC,GACxC,yCAAyC,GACzC,yCAAyC,GACzC,kCAAkC,GAClC,yCAAyC,CAAA;AAE7C,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,IAAI,MAAM,IAAI,MAAM,EAAE,CAAA;AAEjD,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAA;AAEtD,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE9E,oCAAoC;AACpC,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,QAAQ,CAAA;AAEZ,gEAAgE;AAChE,MAAM,WAAW,QAAQ;IACvB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,6FAA6F;AAC7F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,kEAAkE;AAClE,MAAM,MAAM,SAAS,GACjB;IAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACzB;IAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,UAAU,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GAC7B,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,CAAA;AAEhB,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;CACpB"}
package/dist/schema.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,155 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/DecodeResultDocument",
4
+ "definitions": {
5
+ "DecodeResultDocument": {
6
+ "$ref": "#/definitions/DecodeResult%3Cunknown%3E",
7
+ "description": "Concrete decode result for schema generation.",
8
+ "category": "Encoding"
9
+ },
10
+ "DecodeResult<unknown>": {
11
+ "type": "object",
12
+ "properties": {
13
+ "schema": {
14
+ "type": "string",
15
+ "const": "@executioncontrolprotocol.decode.result"
16
+ },
17
+ "version": {
18
+ "$ref": "#/definitions/EcpVersion"
19
+ },
20
+ "success": {
21
+ "type": "boolean"
22
+ },
23
+ "targetSchema": {
24
+ "$ref": "#/definitions/EcpSchema"
25
+ },
26
+ "targetVersion": {
27
+ "$ref": "#/definitions/EcpVersion"
28
+ },
29
+ "result": {},
30
+ "validation": {
31
+ "$ref": "#/definitions/ValidationResult"
32
+ },
33
+ "diagnostics": {
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/definitions/ValidationIssue"
37
+ }
38
+ }
39
+ },
40
+ "required": [
41
+ "schema",
42
+ "version",
43
+ "success",
44
+ "diagnostics"
45
+ ],
46
+ "additionalProperties": false,
47
+ "description": "Decode operation result.",
48
+ "category": "Encoding"
49
+ },
50
+ "EcpVersion": {
51
+ "type": "string",
52
+ "description": "ECP semantic version literal.",
53
+ "category": "Common"
54
+ },
55
+ "EcpSchema": {
56
+ "type": "string",
57
+ "enum": [
58
+ "@executioncontrolprotocol.workflow",
59
+ "@executioncontrolprotocol.environment",
60
+ "@executioncontrolprotocol.environment.describe",
61
+ "@executioncontrolprotocol.environment.search",
62
+ "@executioncontrolprotocol.run.request",
63
+ "@executioncontrolprotocol.run.result",
64
+ "@executioncontrolprotocol.run.event",
65
+ "@executioncontrolprotocol.validation.result",
66
+ "@executioncontrolprotocol.patch",
67
+ "@executioncontrolprotocol.patch.result",
68
+ "@executioncontrolprotocol.encode.result",
69
+ "@executioncontrolprotocol.decode.result",
70
+ "@executioncontrolprotocol.intent",
71
+ "@executioncontrolprotocol.harness.reply"
72
+ ],
73
+ "description": "Serialized object schema discriminator.",
74
+ "category": "Common"
75
+ },
76
+ "ValidationResult": {
77
+ "type": "object",
78
+ "properties": {
79
+ "schema": {
80
+ "type": "string",
81
+ "const": "@executioncontrolprotocol.validation.result"
82
+ },
83
+ "version": {
84
+ "$ref": "#/definitions/EcpVersion"
85
+ },
86
+ "valid": {
87
+ "type": "boolean"
88
+ },
89
+ "errors": {
90
+ "type": "array",
91
+ "items": {
92
+ "$ref": "#/definitions/ValidationIssue"
93
+ }
94
+ },
95
+ "warnings": {
96
+ "type": "array",
97
+ "items": {
98
+ "$ref": "#/definitions/ValidationIssue"
99
+ }
100
+ }
101
+ },
102
+ "required": [
103
+ "schema",
104
+ "version",
105
+ "valid",
106
+ "errors",
107
+ "warnings"
108
+ ],
109
+ "additionalProperties": false,
110
+ "description": "Validation result document.",
111
+ "category": "Validation"
112
+ },
113
+ "ValidationIssue": {
114
+ "type": "object",
115
+ "properties": {
116
+ "code": {
117
+ "type": "string"
118
+ },
119
+ "message": {
120
+ "type": "string"
121
+ },
122
+ "path": {
123
+ "type": "string"
124
+ },
125
+ "suggestions": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string"
129
+ }
130
+ },
131
+ "severity": {
132
+ "$ref": "#/definitions/ValidationSeverity"
133
+ }
134
+ },
135
+ "required": [
136
+ "code",
137
+ "message"
138
+ ],
139
+ "additionalProperties": false,
140
+ "description": "Single validation issue.",
141
+ "category": "Validation"
142
+ },
143
+ "ValidationSeverity": {
144
+ "type": "string",
145
+ "enum": [
146
+ "error",
147
+ "warning",
148
+ "info"
149
+ ],
150
+ "description": "Validation issue severity.",
151
+ "category": "Validation"
152
+ }
153
+ },
154
+ "$id": "https://ecp.dev/schemas/decode.result.json"
155
+ }