@etohq/workflows-input-schema-builder 0.0.1-next-20260318155517

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 (51) hide show
  1. package/README.md +71 -0
  2. package/dist/__tests__/guardrails-date-and-array.spec.d.ts +2 -0
  3. package/dist/__tests__/guardrails-date-and-array.spec.d.ts.map +1 -0
  4. package/dist/__tests__/guardrails-date-and-array.spec.js +84 -0
  5. package/dist/__tests__/guardrails-date-and-array.spec.js.map +1 -0
  6. package/dist/__tests__/guardrails-equals-one-of-elements.spec.d.ts +2 -0
  7. package/dist/__tests__/guardrails-equals-one-of-elements.spec.d.ts.map +1 -0
  8. package/dist/__tests__/guardrails-equals-one-of-elements.spec.js +112 -0
  9. package/dist/__tests__/guardrails-equals-one-of-elements.spec.js.map +1 -0
  10. package/dist/__tests__/guardrails-operator-rhs.spec.d.ts +2 -0
  11. package/dist/__tests__/guardrails-operator-rhs.spec.d.ts.map +1 -0
  12. package/dist/__tests__/guardrails-operator-rhs.spec.js +91 -0
  13. package/dist/__tests__/guardrails-operator-rhs.spec.js.map +1 -0
  14. package/dist/__tests__/guardrails-operator-type-matrix.spec.d.ts +2 -0
  15. package/dist/__tests__/guardrails-operator-type-matrix.spec.d.ts.map +1 -0
  16. package/dist/__tests__/guardrails-operator-type-matrix.spec.js +102 -0
  17. package/dist/__tests__/guardrails-operator-type-matrix.spec.js.map +1 -0
  18. package/dist/__tests__/guardrails-operators.spec.d.ts +2 -0
  19. package/dist/__tests__/guardrails-operators.spec.d.ts.map +1 -0
  20. package/dist/__tests__/guardrails-operators.spec.js +117 -0
  21. package/dist/__tests__/guardrails-operators.spec.js.map +1 -0
  22. package/dist/__tests__/scope-field-compilation.spec.d.ts +2 -0
  23. package/dist/__tests__/scope-field-compilation.spec.d.ts.map +1 -0
  24. package/dist/__tests__/scope-field-compilation.spec.js +71 -0
  25. package/dist/__tests__/scope-field-compilation.spec.js.map +1 -0
  26. package/dist/compile.d.ts +14 -0
  27. package/dist/compile.d.ts.map +1 -0
  28. package/dist/compile.js +232 -0
  29. package/dist/compile.js.map +1 -0
  30. package/dist/guardrails.d.ts +4 -0
  31. package/dist/guardrails.d.ts.map +1 -0
  32. package/dist/guardrails.js +483 -0
  33. package/dist/guardrails.js.map +1 -0
  34. package/dist/helpers-actions.d.ts +16 -0
  35. package/dist/helpers-actions.d.ts.map +1 -0
  36. package/dist/helpers-actions.js +40 -0
  37. package/dist/helpers-actions.js.map +1 -0
  38. package/dist/helpers.d.ts +37 -0
  39. package/dist/helpers.d.ts.map +1 -0
  40. package/dist/helpers.js +49 -0
  41. package/dist/helpers.js.map +1 -0
  42. package/dist/index.d.ts +6 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +22 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/model.d.ts +69 -0
  47. package/dist/model.d.ts.map +1 -0
  48. package/dist/model.js +3 -0
  49. package/dist/model.js.map +1 -0
  50. package/dist/tsconfig.tsbuildinfo +1 -0
  51. package/package.json +30 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.refField = refField;
4
+ exports.refContext = refContext;
5
+ exports.refHiddenField = refHiddenField;
6
+ exports.refVariable = refVariable;
7
+ exports.refConst = refConst;
8
+ exports.createConditionGroup = createConditionGroup;
9
+ exports.createSingleCondition = createSingleCondition;
10
+ exports.createBuilderRule = createBuilderRule;
11
+ function refField(field_key) {
12
+ return { type: "field", field_key };
13
+ }
14
+ function refContext(key) {
15
+ return { type: "context", key };
16
+ }
17
+ function refHiddenField(key) {
18
+ return { type: "hidden_field", key };
19
+ }
20
+ function refVariable(variable_id) {
21
+ return { type: "variable", variable_id };
22
+ }
23
+ function refConst(value) {
24
+ return { type: "const", value };
25
+ }
26
+ function createConditionGroup(params) {
27
+ return {
28
+ id: params.id,
29
+ connector: params.connector,
30
+ conditions: params.conditions ?? [],
31
+ };
32
+ }
33
+ function createSingleCondition(params) {
34
+ return {
35
+ id: params.id,
36
+ left: params.left,
37
+ operator: params.operator,
38
+ right: params.right ?? null,
39
+ };
40
+ }
41
+ function createBuilderRule(params) {
42
+ return {
43
+ id: params.id,
44
+ scope: params.scope ?? null,
45
+ conditions: params.conditions,
46
+ actions: params.actions,
47
+ };
48
+ }
49
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;AAQA,4BAEC;AAED,gCAEC;AAED,wCAEC;AAED,kCAEC;AAED,4BAEC;AAED,oDAUC;AAED,sDAYC;AAED,8CAYC;AA1DD,SAAgB,QAAQ,CAAC,SAAiB;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AACrC,CAAC;AAED,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;AACjC,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAA;AACtC,CAAC;AAED,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;AAC1C,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAyD;IAChF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAIpC;IACC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACpC,CAAA;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAKrC;IACC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;KAC5B,CAAA;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAKjC;IACC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./model";
2
+ export * from "./compile";
3
+ export * from "./helpers";
4
+ export * from "./helpers-actions";
5
+ export * from "./guardrails";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./model"), exports);
18
+ __exportStar(require("./compile"), exports);
19
+ __exportStar(require("./helpers"), exports);
20
+ __exportStar(require("./helpers-actions"), exports);
21
+ __exportStar(require("./guardrails"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,4CAAyB;AACzB,4CAAyB;AACzB,oDAAiC;AACjC,+CAA4B"}
@@ -0,0 +1,69 @@
1
+ import type { EffectSpec, PredicateOperator, PredicateRef } from "@etohq/workflows-input-schema";
2
+ /**
3
+ * Canonical boolean connectors in the builder/editor graph.
4
+ *
5
+ * This compiles into `PredicateSpec` (`and` / `or` nodes).
6
+ */
7
+ export type ConditionConnector = "and" | "or";
8
+ /**
9
+ * Builder-only rule scoping.
10
+ *
11
+ * - `node`: matches canonical scope directly.
12
+ * - `field`: authoring convenience for agentic builders; compiled into `node` using layout ownership.
13
+ */
14
+ export type BuilderRuleScope = {
15
+ type: "node";
16
+ node_id: string;
17
+ } | {
18
+ type: "field";
19
+ field_key: string;
20
+ };
21
+ /**
22
+ * Builder/editor operand.
23
+ *
24
+ * `static` values are intentionally restricted to UI-friendly types. For richer values
25
+ * (date wrappers, enum wrappers, arrays), use `{ type: "ref", ref: { type: "const" } }`.
26
+ */
27
+ export type ConditionOperand = {
28
+ type: "ref";
29
+ ref: PredicateRef;
30
+ } | {
31
+ type: "static";
32
+ value: string | number | boolean | Array<string | number | boolean | null> | null;
33
+ };
34
+ /**
35
+ * Single condition row, comparable to Serene's single condition.
36
+ */
37
+ export type SingleCondition = {
38
+ id: string;
39
+ left: ConditionOperand;
40
+ operator: PredicateOperator;
41
+ right?: ConditionOperand | null;
42
+ };
43
+ /**
44
+ * Recursive condition group.
45
+ */
46
+ export type ConditionGroup = {
47
+ id: string;
48
+ connector: ConditionConnector;
49
+ conditions: Array<SingleCondition | ConditionGroup>;
50
+ };
51
+ /**
52
+ * Builder/editor rule: a condition group plus actions.
53
+ */
54
+ export type BuilderRule = {
55
+ id: string;
56
+ scope?: BuilderRuleScope | null;
57
+ conditions: ConditionGroup;
58
+ actions: EffectSpec[];
59
+ };
60
+ /**
61
+ * Optional metadata for editor tooling.
62
+ */
63
+ export type BuilderSchemaMetadata = {
64
+ editor_version?: number;
65
+ created_by?: string | null;
66
+ updated_by?: string | null;
67
+ notes?: string | null;
68
+ };
69
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACb,MAAM,+BAA+B,CAAA;AAEtC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAExC;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,YAAY,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;CAAE,CAAA;AAEzG;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,gBAAgB,CAAA;IACtB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,kBAAkB,CAAA;IAC7B,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,cAAc,CAAC,CAAA;CACpD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,cAAc,CAAA;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA"}
package/dist/model.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"root":["../src/compile.ts","../src/guardrails.ts","../src/helpers-actions.ts","../src/helpers.ts","../src/index.ts","../src/model.ts","../src/__tests__/guardrails-date-and-array.spec.ts","../src/__tests__/guardrails-equals-one-of-elements.spec.ts","../src/__tests__/guardrails-operator-rhs.spec.ts","../src/__tests__/guardrails-operator-type-matrix.spec.ts","../src/__tests__/guardrails-operators.spec.ts","../src/__tests__/scope-field-compilation.spec.ts"],"version":"5.8.3"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@etohq/workflows-input-schema-builder",
3
+ "version": "0.0.1-next-20260318155517",
4
+ "description": "Builder/editor model for input schema (condition groups, helpers, compilation)",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "dependencies": {
18
+ "@etohq/workflows-input-schema": "0.0.1-next-20260318155517"
19
+ },
20
+ "devDependencies": {
21
+ "@types/node": "22.10.5",
22
+ "rimraf": "5.0.2",
23
+ "typescript": "5.8.3"
24
+ },
25
+ "scripts": {
26
+ "build": "rimraf dist && tsc --build",
27
+ "watch": "tsc --build --watch",
28
+ "test": "jest --runInBand --bail --passWithNoTests --forceExit -- src"
29
+ }
30
+ }