@executioncontrolprotocol/format-eql 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 (110) hide show
  1. package/README.md +67 -0
  2. package/dist/decode/ast.d.ts +138 -0
  3. package/dist/decode/ast.d.ts.map +1 -0
  4. package/dist/decode/ast.js +2 -0
  5. package/dist/decode/ast.js.map +1 -0
  6. package/dist/decode/decode-eql.d.ts +9 -0
  7. package/dist/decode/decode-eql.d.ts.map +1 -0
  8. package/dist/decode/decode-eql.js +260 -0
  9. package/dist/decode/decode-eql.js.map +1 -0
  10. package/dist/decode/diagnostics.d.ts +10 -0
  11. package/dist/decode/diagnostics.d.ts.map +1 -0
  12. package/dist/decode/diagnostics.js +18 -0
  13. package/dist/decode/diagnostics.js.map +1 -0
  14. package/dist/decode/lexer.d.ts +5 -0
  15. package/dist/decode/lexer.d.ts.map +1 -0
  16. package/dist/decode/lexer.js +76 -0
  17. package/dist/decode/lexer.js.map +1 -0
  18. package/dist/decode/normalize-describe.d.ts +4 -0
  19. package/dist/decode/normalize-describe.d.ts.map +1 -0
  20. package/dist/decode/normalize-describe.js +42 -0
  21. package/dist/decode/normalize-describe.js.map +1 -0
  22. package/dist/decode/normalize-environment.d.ts +4 -0
  23. package/dist/decode/normalize-environment.d.ts.map +1 -0
  24. package/dist/decode/normalize-environment.js +43 -0
  25. package/dist/decode/normalize-environment.js.map +1 -0
  26. package/dist/decode/normalize-intent.d.ts +4 -0
  27. package/dist/decode/normalize-intent.d.ts.map +1 -0
  28. package/dist/decode/normalize-intent.js +10 -0
  29. package/dist/decode/normalize-intent.js.map +1 -0
  30. package/dist/decode/normalize-patch.d.ts +4 -0
  31. package/dist/decode/normalize-patch.d.ts.map +1 -0
  32. package/dist/decode/normalize-patch.js +119 -0
  33. package/dist/decode/normalize-patch.js.map +1 -0
  34. package/dist/decode/normalize-reply.d.ts +4 -0
  35. package/dist/decode/normalize-reply.d.ts.map +1 -0
  36. package/dist/decode/normalize-reply.js +18 -0
  37. package/dist/decode/normalize-reply.js.map +1 -0
  38. package/dist/decode/normalize-workflow.d.ts +4 -0
  39. package/dist/decode/normalize-workflow.d.ts.map +1 -0
  40. package/dist/decode/normalize-workflow.js +31 -0
  41. package/dist/decode/normalize-workflow.js.map +1 -0
  42. package/dist/decode/parser-environment.d.ts +9 -0
  43. package/dist/decode/parser-environment.d.ts.map +1 -0
  44. package/dist/decode/parser-environment.js +355 -0
  45. package/dist/decode/parser-environment.js.map +1 -0
  46. package/dist/decode/parser-harness.d.ts +5 -0
  47. package/dist/decode/parser-harness.d.ts.map +1 -0
  48. package/dist/decode/parser-harness.js +140 -0
  49. package/dist/decode/parser-harness.js.map +1 -0
  50. package/dist/decode/parser.d.ts +11 -0
  51. package/dist/decode/parser.d.ts.map +1 -0
  52. package/dist/decode/parser.js +372 -0
  53. package/dist/decode/parser.js.map +1 -0
  54. package/dist/decode/values.d.ts +24 -0
  55. package/dist/decode/values.d.ts.map +1 -0
  56. package/dist/decode/values.js +64 -0
  57. package/dist/decode/values.js.map +1 -0
  58. package/dist/encode/encode-describe.d.ts +5 -0
  59. package/dist/encode/encode-describe.d.ts.map +1 -0
  60. package/dist/encode/encode-describe.js +61 -0
  61. package/dist/encode/encode-describe.js.map +1 -0
  62. package/dist/encode/encode-environment.d.ts +5 -0
  63. package/dist/encode/encode-environment.d.ts.map +1 -0
  64. package/dist/encode/encode-environment.js +41 -0
  65. package/dist/encode/encode-environment.js.map +1 -0
  66. package/dist/encode/encode-eql.d.ts +9 -0
  67. package/dist/encode/encode-eql.d.ts.map +1 -0
  68. package/dist/encode/encode-eql.js +199 -0
  69. package/dist/encode/encode-eql.js.map +1 -0
  70. package/dist/encode/encode-intent.d.ts +5 -0
  71. package/dist/encode/encode-intent.d.ts.map +1 -0
  72. package/dist/encode/encode-intent.js +16 -0
  73. package/dist/encode/encode-intent.js.map +1 -0
  74. package/dist/encode/encode-patch.d.ts +5 -0
  75. package/dist/encode/encode-patch.d.ts.map +1 -0
  76. package/dist/encode/encode-patch.js +146 -0
  77. package/dist/encode/encode-patch.js.map +1 -0
  78. package/dist/encode/encode-reply.d.ts +5 -0
  79. package/dist/encode/encode-reply.d.ts.map +1 -0
  80. package/dist/encode/encode-reply.js +16 -0
  81. package/dist/encode/encode-reply.js.map +1 -0
  82. package/dist/encode/encode-workflow.d.ts +5 -0
  83. package/dist/encode/encode-workflow.d.ts.map +1 -0
  84. package/dist/encode/encode-workflow.js +39 -0
  85. package/dist/encode/encode-workflow.js.map +1 -0
  86. package/dist/encode/writer.d.ts +14 -0
  87. package/dist/encode/writer.d.ts.map +1 -0
  88. package/dist/encode/writer.js +56 -0
  89. package/dist/encode/writer.js.map +1 -0
  90. package/dist/extension.d.ts +3 -0
  91. package/dist/extension.d.ts.map +1 -0
  92. package/dist/extension.js +17 -0
  93. package/dist/extension.js.map +1 -0
  94. package/dist/index.d.ts +12 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +17 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/schemas.d.ts +34 -0
  99. package/dist/schemas.d.ts.map +1 -0
  100. package/dist/schemas.js +22 -0
  101. package/dist/schemas.js.map +1 -0
  102. package/dist/validate-environment.d.ts +323 -0
  103. package/dist/validate-environment.d.ts.map +1 -0
  104. package/dist/validate-environment.js +78 -0
  105. package/dist/validate-environment.js.map +1 -0
  106. package/dist/validate-harness.d.ts +2 -0
  107. package/dist/validate-harness.d.ts.map +1 -0
  108. package/dist/validate-harness.js +2 -0
  109. package/dist/validate-harness.js.map +1 -0
  110. package/package.json +33 -0
@@ -0,0 +1,42 @@
1
+ import { LATEST_ECP_VERSION } from "@executioncontrolprotocol/types";
2
+ function inferExtension(capabilityId) {
3
+ const lastDot = capabilityId.lastIndexOf(".");
4
+ if (lastDot > 0) {
5
+ return capabilityId.slice(0, lastDot);
6
+ }
7
+ return capabilityId;
8
+ }
9
+ export function describeFromEql(doc) {
10
+ return {
11
+ schema: "@executioncontrolprotocol.environment.describe",
12
+ version: LATEST_ECP_VERSION,
13
+ environment: {
14
+ id: doc.environmentId,
15
+ ...(doc.environmentLabel ? { label: doc.environmentLabel } : {}),
16
+ },
17
+ runtime: {
18
+ id: doc.runtime?.id ?? "@executioncontrolprotocol/in-memory",
19
+ ...(doc.runtime?.label ? { label: doc.runtime.label } : {}),
20
+ features: doc.runtime?.features ?? {},
21
+ },
22
+ extensions: doc.extensions.map((e) => ({
23
+ id: e.id,
24
+ order: e.order,
25
+ ...(e.label ? { label: e.label } : {}),
26
+ capabilities: e.capabilities,
27
+ })),
28
+ capabilities: doc.capabilities.map((c) => ({
29
+ id: c.id,
30
+ ...(c.label ? { label: c.label } : {}),
31
+ extension: c.extension ?? inferExtension(c.id),
32
+ ...(Object.keys(c.inputs).length > 0 ? { inputSchema: c.inputs } : {}),
33
+ ...(Object.keys(c.outputs).length > 0 ? { outputSchema: c.outputs } : {}),
34
+ })),
35
+ policies: doc.policies.map((p) => ({
36
+ id: p.id,
37
+ ...(p.label ? { label: p.label } : {}),
38
+ ...(p.summary ? { summary: p.summary } : {}),
39
+ })),
40
+ };
41
+ }
42
+ //# sourceMappingURL=normalize-describe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-describe.js","sourceRoot":"","sources":["../../src/decode/normalize-describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,iCAAiC,CAAA;AAGhG,SAAS,cAAc,CAAC,YAAoB;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,OAAO;QACL,MAAM,EAAE,gDAAgD;QACxD,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE;YACX,EAAE,EAAE,GAAG,CAAC,aAAa;YACrB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;QACD,OAAO,EAAE;YACP,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,qCAAqC;YAC5D,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE;SACtC;QACD,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC,CAAC;QACH,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC,CAAC;KACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type EnvironmentManifest } from "@executioncontrolprotocol/types";
2
+ import type { EqlEnvironmentDoc } from "./ast.js";
3
+ export declare function environmentFromEql(doc: EqlEnvironmentDoc): EnvironmentManifest;
4
+ //# sourceMappingURL=normalize-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-environment.d.ts","sourceRoot":"","sources":["../../src/decode/normalize-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,mBAAmB,CAwC9E"}
@@ -0,0 +1,43 @@
1
+ import { LATEST_ECP_VERSION } from "@executioncontrolprotocol/types";
2
+ export function environmentFromEql(doc) {
3
+ return {
4
+ schema: "@executioncontrolprotocol.environment",
5
+ version: LATEST_ECP_VERSION,
6
+ environment: {
7
+ id: doc.environmentId,
8
+ ...(doc.environmentLabel ? { label: doc.environmentLabel } : {}),
9
+ },
10
+ ...(doc.runtime
11
+ ? {
12
+ runtime: {
13
+ id: doc.runtime.id,
14
+ ...(doc.runtime.label ? { label: doc.runtime.label } : {}),
15
+ ...(Object.keys(doc.runtime.config).length > 0
16
+ ? { config: doc.runtime.config }
17
+ : {}),
18
+ },
19
+ }
20
+ : {}),
21
+ ...(doc.extensions.length > 0
22
+ ? {
23
+ extensions: doc.extensions.map((e) => ({
24
+ id: e.id,
25
+ order: e.order,
26
+ ...(e.label ? { label: e.label } : {}),
27
+ ...(Object.keys(e.config).length > 0 ? { config: e.config } : {}),
28
+ })),
29
+ }
30
+ : {}),
31
+ ...(doc.policies.length > 0
32
+ ? {
33
+ policies: doc.policies.map((p) => ({
34
+ id: p.id,
35
+ order: p.order,
36
+ ...(p.label ? { label: p.label } : {}),
37
+ ...(Object.keys(p.config).length > 0 ? { config: p.config } : {}),
38
+ })),
39
+ }
40
+ : {}),
41
+ };
42
+ }
43
+ //# sourceMappingURL=normalize-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-environment.js","sourceRoot":"","sources":["../../src/decode/normalize-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,iCAAiC,CAAA;AAG9F,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,OAAO;QACL,MAAM,EAAE,uCAAuC;QAC/C,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE;YACX,EAAE,EAAE,GAAG,CAAC,aAAa;YACrB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;QACD,GAAG,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;oBAClB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;wBAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;wBAChC,CAAC,CAAC,EAAE,CAAC;iBACR;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC;gBACE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC;gBACE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type EcpIntent } from "@executioncontrolprotocol/types";
2
+ import type { EqlIntentDoc } from "./ast.js";
3
+ export declare function intentFromEql(doc: EqlIntentDoc): EcpIntent;
4
+ //# sourceMappingURL=normalize-intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-intent.d.ts","sourceRoot":"","sources":["../../src/decode/normalize-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,CAO1D"}
@@ -0,0 +1,10 @@
1
+ import { ECP_INTENT_SCHEMA } from "@executioncontrolprotocol/types";
2
+ export function intentFromEql(doc) {
3
+ return {
4
+ schema: ECP_INTENT_SCHEMA,
5
+ intent: doc.intent,
6
+ ...(doc.topic ? { topic: doc.topic } : {}),
7
+ ...(doc.summary ? { summary: doc.summary } : {}),
8
+ };
9
+ }
10
+ //# sourceMappingURL=normalize-intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-intent.js","sourceRoot":"","sources":["../../src/decode/normalize-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAkB,MAAM,iCAAiC,CAAA;AAGnF,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC7C,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,GAAG,CAAC,MAA6B;QACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type EcpPatchDocument } from "@executioncontrolprotocol/types";
2
+ import type { EqlPatchDoc } from "./ast.js";
3
+ export declare function patchFromEql(doc: EqlPatchDoc): EcpPatchDocument;
4
+ //# sourceMappingURL=normalize-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-patch.d.ts","sourceRoot":"","sources":["../../src/decode/normalize-patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EAGtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,UAAU,CAAA;AAgBvD,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,CAyG/D"}
@@ -0,0 +1,119 @@
1
+ import { LATEST_ECP_VERSION, } from "@executioncontrolprotocol/types";
2
+ function stepNodeFromAdd(add) {
3
+ const node = {
4
+ type: "step",
5
+ id: add.stepId,
6
+ uses: add.uses,
7
+ };
8
+ if (add.label)
9
+ node.label = add.label;
10
+ if (Object.keys(add.with).length > 0)
11
+ node.input = add.with;
12
+ if (add.as)
13
+ node.as = add.as;
14
+ if (add.mode)
15
+ node.mode = add.mode;
16
+ if (add.when)
17
+ node.when = add.when;
18
+ return node;
19
+ }
20
+ export function patchFromEql(doc) {
21
+ const patches = [];
22
+ if (doc.workflowUpdate?.label !== undefined) {
23
+ patches.push({
24
+ path: "workflow.label",
25
+ mode: "replace",
26
+ value: doc.workflowUpdate.label,
27
+ });
28
+ }
29
+ for (const update of doc.updates) {
30
+ if (update.label !== undefined) {
31
+ patches.push({
32
+ path: `steps[${update.stepId}].label`,
33
+ mode: "replace",
34
+ value: update.label,
35
+ });
36
+ }
37
+ if (update.uses !== undefined) {
38
+ patches.push({
39
+ path: `steps[${update.stepId}].uses`,
40
+ mode: "replace",
41
+ value: update.uses,
42
+ });
43
+ }
44
+ for (const [key, value] of Object.entries(update.with)) {
45
+ patches.push({
46
+ path: `steps[${update.stepId}].input.${key}`,
47
+ mode: "merge",
48
+ value,
49
+ });
50
+ }
51
+ if (update.as !== undefined) {
52
+ patches.push({
53
+ path: `steps[${update.stepId}].as`,
54
+ mode: "replace",
55
+ value: update.as,
56
+ });
57
+ }
58
+ if (update.mode !== undefined) {
59
+ patches.push({
60
+ path: `steps[${update.stepId}].mode`,
61
+ mode: "replace",
62
+ value: update.mode,
63
+ });
64
+ }
65
+ if (update.when !== undefined) {
66
+ patches.push({
67
+ path: `steps[${update.stepId}].when`,
68
+ mode: "replace",
69
+ value: update.when,
70
+ });
71
+ }
72
+ }
73
+ for (const stepId of doc.deletes) {
74
+ patches.push({
75
+ path: `steps[${stepId}]`,
76
+ mode: "replace",
77
+ value: null,
78
+ reason: "eql:delete",
79
+ });
80
+ }
81
+ for (const add of doc.adds) {
82
+ patches.push({
83
+ path: "steps",
84
+ mode: "replace",
85
+ value: {
86
+ step: stepNodeFromAdd(add),
87
+ _eqlInsertAfter: add.after,
88
+ _eqlInsertBefore: add.before,
89
+ },
90
+ reason: "eql:add-step",
91
+ });
92
+ }
93
+ for (const move of doc.moves) {
94
+ patches.push({
95
+ path: `steps[${move.stepId}]`,
96
+ mode: "merge",
97
+ value: {
98
+ _eqlMoveAfter: move.after,
99
+ _eqlMoveBefore: move.before,
100
+ },
101
+ reason: "eql:move",
102
+ });
103
+ }
104
+ const withoutWorkflowId = patches.filter((p) => p.path !== "workflow.id");
105
+ return {
106
+ schema: "@executioncontrolprotocol.patch",
107
+ version: LATEST_ECP_VERSION,
108
+ targetSchema: "@executioncontrolprotocol.workflow",
109
+ patches: [
110
+ {
111
+ path: "workflow.id",
112
+ mode: "replace",
113
+ value: doc.workflowId,
114
+ },
115
+ ...withoutWorkflowId,
116
+ ],
117
+ };
118
+ }
119
+ //# sourceMappingURL=normalize-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-patch.js","sourceRoot":"","sources":["../../src/decode/normalize-patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type HarnessReply } from "@executioncontrolprotocol/types";
2
+ import type { EqlReplyDoc } from "./ast.js";
3
+ export declare function replyFromEql(doc: EqlReplyDoc): HarnessReply;
4
+ //# sourceMappingURL=normalize-reply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-reply.d.ts","sourceRoot":"","sources":["../../src/decode/normalize-reply.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI3C,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAc3D"}
@@ -0,0 +1,18 @@
1
+ import { ECP_HARNESS_REPLY_CITATION_KINDS, ECP_HARNESS_REPLY_SCHEMA, } from "@executioncontrolprotocol/types";
2
+ const citationKinds = new Set(Object.values(ECP_HARNESS_REPLY_CITATION_KINDS));
3
+ export function replyFromEql(doc) {
4
+ return {
5
+ schema: ECP_HARNESS_REPLY_SCHEMA,
6
+ answer: doc.answer,
7
+ ...(doc.citations.length > 0
8
+ ? {
9
+ citations: doc.citations.map((c) => ({
10
+ kind: (citationKinds.has(c.kind) ? c.kind : "step"),
11
+ ...(c.id ? { id: c.id } : {}),
12
+ ...(c.detail ? { detail: c.detail } : {}),
13
+ })),
14
+ }
15
+ : {}),
16
+ };
17
+ }
18
+ //# sourceMappingURL=normalize-reply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-reply.js","sourceRoot":"","sources":["../../src/decode/normalize-reply.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GAEzB,MAAM,iCAAiC,CAAA;AAGxC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAA;AAEtF,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,OAAO;QACL,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC;gBACE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAW;oBAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type WorkflowManifest } from "@executioncontrolprotocol/types";
2
+ import type { EqlWorkflowDoc } from "./ast.js";
3
+ export declare function workflowFromEql(doc: EqlWorkflowDoc): WorkflowManifest;
4
+ //# sourceMappingURL=normalize-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-workflow.d.ts","sourceRoot":"","sources":["../../src/decode/normalize-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB,CAwBrE"}
@@ -0,0 +1,31 @@
1
+ import { LATEST_ECP_VERSION } from "@executioncontrolprotocol/types";
2
+ export function workflowFromEql(doc) {
3
+ const steps = doc.steps.map((s) => {
4
+ const node = {
5
+ type: "step",
6
+ id: s.id,
7
+ uses: s.uses,
8
+ };
9
+ if (s.label)
10
+ node.label = s.label;
11
+ if (Object.keys(s.with).length > 0)
12
+ node.input = s.with;
13
+ if (s.as)
14
+ node.as = s.as;
15
+ if (s.mode)
16
+ node.mode = s.mode;
17
+ if (s.when)
18
+ node.when = s.when;
19
+ return node;
20
+ });
21
+ return {
22
+ schema: "@executioncontrolprotocol.workflow",
23
+ version: LATEST_ECP_VERSION,
24
+ workflow: {
25
+ id: doc.workflowId,
26
+ ...(doc.workflowLabel ? { label: doc.workflowLabel } : {}),
27
+ },
28
+ steps,
29
+ };
30
+ }
31
+ //# sourceMappingURL=normalize-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-workflow.js","sourceRoot":"","sources":["../../src/decode/normalize-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwC,MAAM,iCAAiC,CAAA;AAG1G,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,MAAM,KAAK,GAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAa;YACrB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAA;QACD,IAAI,CAAC,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QACjC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAA;QACvD,IAAI,CAAC,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;QACxB,IAAI,CAAC,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAwB,CAAA;QAClD,IAAI,CAAC,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,oCAAoC;QAC5C,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE;YACR,EAAE,EAAE,GAAG,CAAC,UAAU;YAClB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,KAAK;KACN,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ValidationIssue } from "@executioncontrolprotocol/types";
2
+ import type { EqlDescribeDoc, EqlEnvironmentDoc, EqlHeader, ParsedLine } from "./ast.js";
3
+ export declare function parseEnvironmentDocument(lines: ParsedLine[], startIndex: number, header: EqlHeader | undefined, issues: ValidationIssue[]): EqlEnvironmentDoc | undefined;
4
+ export declare function parseDescribeDocument(lines: ParsedLine[], startIndex: number, header: EqlHeader | undefined, issues: ValidationIssue[]): EqlDescribeDoc | undefined;
5
+ export declare function parseEnvironmentEql(text: string): {
6
+ document?: EqlEnvironmentDoc | EqlDescribeDoc;
7
+ issues: ValidationIssue[];
8
+ };
9
+ //# sourceMappingURL=parser-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-environment.d.ts","sourceRoot":"","sources":["../../src/decode/parser-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAGV,cAAc,EAGd,iBAAiB,EACjB,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAA;AAwLjB,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,MAAM,EAAE,eAAe,EAAE,GACxB,iBAAiB,GAAG,SAAS,CAmE/B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,MAAM,EAAE,eAAe,EAAE,GACxB,cAAc,GAAG,SAAS,CAqF5B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IACjD,QAAQ,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAA;IAC7C,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B,CA2CA"}