@kong-ui-public/entities-plugins 9.271.4 → 9.272.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 (76) hide show
  1. package/dist/entities-plugins.es.js +10444 -10014
  2. package/dist/entities-plugins.umd.js +141 -141
  3. package/dist/filler/cypress/index.js +146 -127
  4. package/dist/filler/{field-walker-DX9YG0uo.js → field-walker-SzWGNejv.js} +4472 -4434
  5. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/cypress/create-filler.d.ts.map +1 -1
  6. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/cypress/handlers/expression.d.ts +9 -0
  7. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/cypress/handlers/expression.d.ts.map +1 -0
  8. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/cypress/handlers/index.d.ts +3 -0
  9. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/cypress/handlers/index.d.ts.map +1 -1
  10. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/playwright/create-filler.d.ts.map +1 -1
  11. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/playwright/handlers/expression.d.ts +9 -0
  12. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/playwright/handlers/expression.d.ts.map +1 -0
  13. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/playwright/handlers/index.d.ts +3 -0
  14. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/playwright/handlers/index.d.ts.map +1 -1
  15. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/shared/field-walker.d.ts +1 -1
  16. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/shared/field-walker.d.ts.map +1 -1
  17. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/shared/selectors.d.ts +3 -0
  18. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/filler/shared/selectors.d.ts.map +1 -1
  19. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/expression-paths.d.ts +55 -0
  20. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/expression-paths.d.ts.map +1 -0
  21. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/expression.d.ts +28 -0
  22. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/expression.d.ts.map +1 -0
  23. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/form-context.d.ts.map +1 -1
  24. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/index.d.ts +2 -0
  25. package/dist/filler/packages/entities/entities-plugins/src/components/free-form/shared/composables/index.d.ts.map +1 -1
  26. package/dist/filler/packages/entities/entities-plugins/src/types/plugins/form-schema.d.ts +35 -1
  27. package/dist/filler/packages/entities/entities-plugins/src/types/plugins/form-schema.d.ts.map +1 -1
  28. package/dist/filler/packages/entities/entities-plugins/src/types/plugins/free-form.d.ts +5 -0
  29. package/dist/filler/packages/entities/entities-plugins/src/types/plugins/free-form.d.ts.map +1 -1
  30. package/dist/filler/playwright/index.js +146 -131
  31. package/dist/freeform/index.js +1336 -1094
  32. package/dist/freeform/style.css +1 -1
  33. package/dist/style.css +1 -1
  34. package/dist/types/components/PluginForm.vue.d.ts.map +1 -1
  35. package/dist/types/components/free-form/plugins/_shared/use-expression-mode.d.ts +18 -0
  36. package/dist/types/components/free-form/plugins/_shared/use-expression-mode.d.ts.map +1 -0
  37. package/dist/types/components/free-form/plugins/rate-limiting/ConfigForm.vue.d.ts +4 -0
  38. package/dist/types/components/free-form/plugins/rate-limiting/ConfigForm.vue.d.ts.map +1 -0
  39. package/dist/types/components/free-form/plugins/rate-limiting/RateLimitingForm.vue.d.ts +16 -0
  40. package/dist/types/components/free-form/plugins/rate-limiting/RateLimitingForm.vue.d.ts.map +1 -0
  41. package/dist/types/components/free-form/plugins/rate-limiting/index.d.ts +3 -0
  42. package/dist/types/components/free-form/plugins/rate-limiting/index.d.ts.map +1 -0
  43. package/dist/types/components/free-form/plugins/rate-limiting-advanced/ConfigForm.vue.d.ts.map +1 -1
  44. package/dist/types/components/free-form/plugins/rate-limiting-advanced/CustomKeyField.vue.d.ts +5 -0
  45. package/dist/types/components/free-form/plugins/rate-limiting-advanced/CustomKeyField.vue.d.ts.map +1 -0
  46. package/dist/types/components/free-form/plugins/rate-limiting-advanced/RateLimitingAdvancedForm.vue.d.ts.map +1 -1
  47. package/dist/types/components/free-form/plugins/rate-limiting-advanced/RequestLimitsForm.vue.d.ts.map +1 -1
  48. package/dist/types/components/free-form/shared/ExpressionEditor.vue.d.ts +34 -0
  49. package/dist/types/components/free-form/shared/ExpressionEditor.vue.d.ts.map +1 -0
  50. package/dist/types/components/free-form/shared/ExpressionField.vue.d.ts +19 -0
  51. package/dist/types/components/free-form/shared/ExpressionField.vue.d.ts.map +1 -0
  52. package/dist/types/components/free-form/shared/Field.vue.d.ts.map +1 -1
  53. package/dist/types/components/free-form/shared/Form.vue.d.ts.map +1 -1
  54. package/dist/types/components/free-form/shared/RadioField.vue.d.ts +10 -1
  55. package/dist/types/components/free-form/shared/RadioField.vue.d.ts.map +1 -1
  56. package/dist/types/components/free-form/shared/composables/expression-paths.d.ts +55 -0
  57. package/dist/types/components/free-form/shared/composables/expression-paths.d.ts.map +1 -0
  58. package/dist/types/components/free-form/shared/composables/expression.d.ts +28 -0
  59. package/dist/types/components/free-form/shared/composables/expression.d.ts.map +1 -0
  60. package/dist/types/components/free-form/shared/composables/form-context.d.ts.map +1 -1
  61. package/dist/types/components/free-form/shared/composables/index.d.ts +2 -0
  62. package/dist/types/components/free-form/shared/composables/index.d.ts.map +1 -1
  63. package/dist/types/components/free-form/shared/field-dispatch.d.ts +14 -0
  64. package/dist/types/components/free-form/shared/field-dispatch.d.ts.map +1 -0
  65. package/dist/types/components/free-form/shared/layout/StandardLayout.vue.d.ts.map +1 -1
  66. package/dist/types/composables/useFreeformI18n.d.ts +68 -0
  67. package/dist/types/composables/useFreeformI18n.d.ts.map +1 -1
  68. package/dist/types/freeform.d.ts +3 -1
  69. package/dist/types/freeform.d.ts.map +1 -1
  70. package/dist/types/types/plugins/form-schema.d.ts +35 -1
  71. package/dist/types/types/plugins/form-schema.d.ts.map +1 -1
  72. package/dist/types/types/plugins/free-form.d.ts +5 -0
  73. package/dist/types/types/plugins/free-form.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/types/components/free-form/plugins/rate-limiting.d.ts +0 -3
  76. package/dist/types/components/free-form/plugins/rate-limiting.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-filler.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/cypress/create-filler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAQjB,MAAM,uCAAuC,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACjC,cAAc,CAsHhB"}
1
+ {"version":3,"file":"create-filler.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/cypress/create-filler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EASjB,MAAM,uCAAuC,CAAA;AAe9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACjC,cAAc,CAsIhB"}
@@ -0,0 +1,9 @@
1
+ import type { ExpressionFieldSchema } from '../../../../../types/plugins/form-schema';
2
+ import { type HandlerOption } from './types';
3
+ /**
4
+ * Fills the expression twin of an `expressible` field. Unlike a plain string
5
+ * field, its textarea only exists once the "Add expression" trigger has been
6
+ * used, so open it first when the field is still collapsed.
7
+ */
8
+ export declare function fillExpression(option: HandlerOption<ExpressionFieldSchema>): void;
9
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/cypress/handlers/expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAAE,KAAK,aAAa,EAAyC,MAAM,SAAS,CAAA;AAGnF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAoBjF"}
@@ -9,6 +9,7 @@ export * from './record';
9
9
  export * from './map';
10
10
  export * from './json';
11
11
  export * from './foreign';
12
+ export * from './expression';
12
13
  import { fillString } from './string';
13
14
  import { fillNumber } from './number';
14
15
  import { fillBoolean } from './boolean';
@@ -19,6 +20,7 @@ import { fillRecord } from './record';
19
20
  import { fillMap } from './map';
20
21
  import { fillJson } from './json';
21
22
  import { fillForeign } from './foreign';
23
+ import { fillExpression } from './expression';
22
24
  export declare const handlers: {
23
25
  fillString: typeof fillString;
24
26
  fillNumber: typeof fillNumber;
@@ -30,6 +32,7 @@ export declare const handlers: {
30
32
  fillMap: typeof fillMap;
31
33
  fillJson: typeof fillJson;
32
34
  fillForeign: typeof fillForeign;
35
+ fillExpression: typeof fillExpression;
33
36
  };
34
37
  export type Handlers = typeof handlers;
35
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/cypress/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/cypress/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,QAAQ;;;;;;;;;;;;CAYpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-filler.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/playwright/create-filler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAQjB,MAAM,uCAAuC,CAAA;AAc9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACjC,cAAc,CAyHhB"}
1
+ {"version":3,"file":"create-filler.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/playwright/create-filler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EASjB,MAAM,uCAAuC,CAAA;AAe9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACjC,cAAc,CAyIhB"}
@@ -0,0 +1,9 @@
1
+ import type { ExpressionFieldSchema } from '../../../../../types/plugins/form-schema';
2
+ import type { HandlerOption } from './types';
3
+ /**
4
+ * Fills the expression twin of an `expressible` field. Unlike a plain string
5
+ * field, its textarea only exists once the "Add expression" trigger has been
6
+ * used, so open it first when the field is still collapsed.
7
+ */
8
+ export declare function fillExpression(option: HandlerOption<ExpressionFieldSchema>): Promise<void>;
9
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/playwright/handlers/expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAahG"}
@@ -9,6 +9,7 @@ export * from './record';
9
9
  export * from './map';
10
10
  export * from './json';
11
11
  export * from './foreign';
12
+ export * from './expression';
12
13
  import { fillString } from './string';
13
14
  import { fillNumber } from './number';
14
15
  import { fillBoolean } from './boolean';
@@ -19,6 +20,7 @@ import { fillRecord } from './record';
19
20
  import { fillMap } from './map';
20
21
  import { fillJson } from './json';
21
22
  import { fillForeign } from './foreign';
23
+ import { fillExpression } from './expression';
22
24
  export declare const handlers: {
23
25
  fillString: typeof fillString;
24
26
  fillNumber: typeof fillNumber;
@@ -30,6 +32,7 @@ export declare const handlers: {
30
32
  fillMap: typeof fillMap;
31
33
  fillJson: typeof fillJson;
32
34
  fillForeign: typeof fillForeign;
35
+ fillExpression: typeof fillExpression;
33
36
  };
34
37
  export type Handlers = typeof handlers;
35
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/playwright/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/free-form/filler/playwright/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,QAAQ;;;;;;;;;;;;CAYpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { FormSchema, NamedFieldSchema, UnionFieldSchema, ArrayFieldSchema, RecordFieldSchema } from '../../../../types/plugins/form-schema';
2
- export type HandlerType = 'string' | 'number' | 'boolean' | 'enum' | 'array' | 'record' | 'map' | 'tag' | 'json' | 'foreign';
2
+ export type HandlerType = 'string' | 'number' | 'boolean' | 'enum' | 'array' | 'record' | 'map' | 'tag' | 'json' | 'foreign' | 'expression' | 'expressionArray';
3
3
  export interface FieldToFill {
4
4
  handlerType: HandlerType;
5
5
  fieldKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"field-walker.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/shared/field-walker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,SAAS,CAAA;AAEb,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,gBAAgB,GAAG,WAAW,CAiBzE;AAED;;GAEG;AACH,wBAAiB,UAAU,CACzB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,GAAG,EAAE,aAAa,EAClB,MAAM,GAAE,MAAW,GAClB,SAAS,CAAC,WAAW,CAAC,CAsBxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,aAAa,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAUnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,aAAa,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,gBAAgB,CAAA;CAAE,CAUrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU,IAAI,iBAAiB,CAE/F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAI/D;AAGD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"field-walker.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/shared/field-walker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,SAAS,GACT,YAAY,GACZ,iBAAiB,CAAA;AAErB,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,gBAAgB,GAAG,WAAW,CA4BzE;AAED;;GAEG;AACH,wBAAiB,UAAU,CACzB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,GAAG,EAAE,aAAa,EAClB,MAAM,GAAE,MAAW,GAClB,SAAS,CAAC,WAAW,CAAC,CAsBxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,aAAa,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAUnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,aAAa,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,gBAAgB,CAAA;CAAE,CAUrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU,IAAI,iBAAiB,CAE/F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAI/D;AAGD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -25,5 +25,8 @@ export declare const selectors: {
25
25
  tag: (path: string) => string;
26
26
  tagInput: (path: string) => string;
27
27
  json: (path: string) => string;
28
+ expression: (path: string) => string;
29
+ expressionAddBtn: (path: string) => string;
30
+ expressionInput: (path: string) => string;
28
31
  };
29
32
  //# sourceMappingURL=selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/shared/selectors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;kBAEN,MAAM;kBACN,MAAM;0BAGE,MAAM;6BACH,MAAM;wBACX,MAAM;kBAGZ,MAAM;8BACM,MAAM;gCACJ,MAAM;sBAChB,MAAM;sBACN,MAAM,SAAS,MAAM;wBACnB,MAAM;4BACF,MAAM;2BACP,MAAM,SAAS,MAAM;mBAG7B,MAAM;4BACG,MAAM;yBACT,MAAM;0BACL,MAAM;gBAGhB,MAAM;yBACG,MAAM,SAAS,MAAM;mBAC3B,MAAM,SAAS,MAAM;0BACd,MAAM;yBACP,MAAM,SAAS,MAAM;sBACxB,MAAM;gBAGZ,MAAM;qBACD,MAAM;iBAGV,MAAM;CACpB,CAAA"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/filler/shared/selectors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;kBAEN,MAAM;kBACN,MAAM;0BAGE,MAAM;6BACH,MAAM;wBACX,MAAM;kBAGZ,MAAM;8BACM,MAAM;gCACJ,MAAM;sBAChB,MAAM;sBACN,MAAM,SAAS,MAAM;wBACnB,MAAM;4BACF,MAAM;2BACP,MAAM,SAAS,MAAM;mBAG7B,MAAM;4BACG,MAAM;yBACT,MAAM;0BACL,MAAM;gBAGhB,MAAM;yBACG,MAAM,SAAS,MAAM;mBAC3B,MAAM,SAAS,MAAM;0BACd,MAAM;yBACP,MAAM,SAAS,MAAM;sBACxB,MAAM;gBAGZ,MAAM;qBACD,MAAM;iBAGV,MAAM;uBAKA,MAAM;6BACA,MAAM;4BACP,MAAM;CAC/B,CAAA"}
@@ -0,0 +1,55 @@
1
+ import type { ExpressionFieldSchema, FormSchema, UnionFieldSchema } from '../../../../types/plugins/form-schema';
2
+ /**
3
+ * Name of the root record holding the expression twins of `expressible` fields.
4
+ */
5
+ export declare const EXPRESSIONS_FIELD = "expressions";
6
+ /**
7
+ * What a slot with no expression holds inside a twin *array*.
8
+ *
9
+ * The Gateway pairs a twin array with its source array by position — it pads a
10
+ * short one with `''` and re-orders both together when it sorts the source — so
11
+ * a slot has to keep its place. An empty string does that; the form's null
12
+ * sentinel does not, and the array's string element schema has nowhere to put
13
+ * it. Only for array elements: a scalar twin is unset with the usual sentinel.
14
+ */
15
+ export declare const EXPRESSION_ARRAY_EMPTY = "";
16
+ /**
17
+ * Maps a field path to the path of its expression twin.
18
+ *
19
+ * The `expressions` record mirrors the structure of the top-level record its
20
+ * expressible fields live in (`config`, for every plugin schema today), so the
21
+ * twin path is the field path with its first segment swapped:
22
+ *
23
+ * @example
24
+ * toExpressionPath('config.minute') // => 'expressions.minute'
25
+ * toExpressionPath('config.limit.0') // => 'expressions.limit.0'
26
+ * toExpressionPath('minute') // => undefined — a root field has no twin
27
+ */
28
+ export declare function toExpressionPath(path: string): string | undefined;
29
+ /**
30
+ * Inverse of {@link toExpressionPath}: maps a twin's path back to the field it
31
+ * overrides. Needs the source record's name, which the twin path cannot carry —
32
+ * {@link findExpressionSourceRecord} recovers it from the schema.
33
+ *
34
+ * @example
35
+ * toSourcePath('expressions.minute', 'config') // => 'config.minute'
36
+ * toSourcePath('config.minute', 'config') // => undefined — not a twin
37
+ */
38
+ export declare function toSourcePath(path: string, sourceRecord: string): string | undefined;
39
+ /**
40
+ * Name of the root record whose fields the `expressions` record mirrors — the
41
+ * one declaring `expressible` fields. `config` for every plugin schema today,
42
+ * read from the schema rather than assumed.
43
+ */
44
+ export declare function findExpressionSourceRecord(schema: FormSchema | UnionFieldSchema | undefined): string | undefined;
45
+ /**
46
+ * Whether a schema is the expression twin of an `expressible` field.
47
+ *
48
+ * `expressible_kong_type` is the marker rather than the source field's
49
+ * `expressible` flag, because the two do not always sit at the same path: for an
50
+ * expressible *array* (rate-limiting-advanced's `config.limit`) the flag is on
51
+ * the array while the twins are per element, so only the twin marks every path
52
+ * that actually takes an expression.
53
+ */
54
+ export declare function isExpressionFieldSchema(schema: UnionFieldSchema | undefined): schema is ExpressionFieldSchema;
55
+ //# sourceMappingURL=expression-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-paths.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/expression-paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAqB,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAUnI;;GAEG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,CAAA;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAA;AAExC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAChD,MAAM,GAAG,SAAS,CAiBpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,MAAM,IAAI,qBAAqB,CAEjC"}
@@ -0,0 +1,28 @@
1
+ import type { MaybeRefOrGetter } from 'vue';
2
+ import type { ExpressionFieldSchema, FieldSchemaType } from '../../../../types/plugins/form-schema';
3
+ import type { EmptyValue } from '../types';
4
+ /**
5
+ * State for the optional expression that can override a field's plain value.
6
+ *
7
+ * Reads and writes `formData` at the twin path directly rather than going
8
+ * through `useFieldPath`/`useFormData`: those provide their own field path to
9
+ * descendants, and this composable is called from `Field.vue` alongside the
10
+ * field's own `useField`, where overriding that provide would break relative
11
+ * path resolution for everything the field renders.
12
+ *
13
+ * @param configPath The **resolved** path of the expressible field, with or
14
+ * without the `$.` root prefix (e.g. `Field.vue` passes `field.path`).
15
+ */
16
+ export declare function useExpressionField(configPath: MaybeRefOrGetter<string>): {
17
+ available: import("vue").ComputedRef<boolean>;
18
+ expressionPath: import("vue").ComputedRef<string | undefined>;
19
+ schema: import("vue").ComputedRef<ExpressionFieldSchema | undefined>;
20
+ value: import("vue").WritableComputedRef<string | EmptyValue, string | EmptyValue>;
21
+ hasExpression: import("vue").ComputedRef<boolean>;
22
+ kongType: import("vue").ComputedRef<FieldSchemaType | undefined>;
23
+ hide: import("vue").ComputedRef<boolean>;
24
+ isArrayElement: import("vue").ComputedRef<boolean>;
25
+ emptyValue: import("vue").ComputedRef<string | EmptyValue>;
26
+ clear: () => void;
27
+ };
28
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/expression.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC;;;;;;;;;;;EA2ItE"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-context.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/form-context.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAEzF,eAAO,MAAO,iBAAiB;YAEnB,UAAU,GAAG,gBAAgB;;;uBAGlB,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC;kDACjC,IAAI;;;;;;;;;;;;;;;;;;;;;wBAgIJ,MAAM;wBAIN,CAAC,mBAAmB,MAAM;;;;;;;;;;IAKnD;;OAEG;;;;;;;;;aAiC2iR,CAAC;qBAA6D,CAAC;;;;GAlLllR,qBAAqB;;;;;;;;;;;;;;;;;;;;wBAsIvB,MAAM;wBAIN,CAAC,mBAAmB,MAAM;;;;;;;;;;IAKnD;;OAEG;;;;;;;;;aAiC2iR,CAAC;qBAA6D,CAAC;;;;aAflnR,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAM/D,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzD,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,CAAA;CAClB,CACF"}
1
+ {"version":3,"file":"form-context.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/form-context.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAEzF,eAAO,MAAO,iBAAiB;YAEnB,UAAU,GAAG,gBAAgB;;;uBAGlB,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC;kDACjC,IAAI;;;;;;;;;;;;;;;;;;;;;wBAmJJ,MAAM;wBAIN,CAAC,mBAAmB,MAAM;;;;;;;;;;IAKnD;;OAEG;;;;;;;;;aAiCirP,CAAC;qBAA6D,CAAC;;;;GArMxtP,qBAAqB;;;;;;;;;;;;;;;;;;;;wBAyJvB,MAAM;wBAIN,CAAC,mBAAmB,MAAM;;;;;;;;;;IAKnD;;OAEG;;;;;;;;;aAiCirP,CAAC;qBAA6D,CAAC;;;;aAfxvP,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAM/D,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzD,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,CAAA;CAClB,CACF"}
@@ -1,5 +1,7 @@
1
1
  export * from './ancestors';
2
2
  export * from './constants';
3
+ export * from './expression';
4
+ export * from './expression-paths';
3
5
  export * from './field-path';
4
6
  export * from './field';
5
7
  export * from './form-context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/free-form/shared/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
@@ -38,7 +38,19 @@ export type ConditionalAtLeastOneOfEntityCheck = {
38
38
  then_at_least_one_of: string[];
39
39
  };
40
40
  };
41
- export type EntityCheck = AtLeastOneOfEntityCheck | MutuallyRequiredEntityCheck | MutuallyExclusiveEntityCheck | ConditionalEntityCheck | ConditionalAtLeastOneOfEntityCheck;
41
+ /**
42
+ * A check the Gateway evaluates with plugin-specific logic across several field
43
+ * sources (e.g. rate-limiting-advanced validating `config` against
44
+ * `expressions`). It names no individual fields, so the form has nothing to
45
+ * render or act on and ignores it — declared here only so real schemas type-check.
46
+ */
47
+ export type CustomEntityCheck = {
48
+ custom_entity_check: {
49
+ field_sources: string[];
50
+ run_with_missing_fields?: boolean;
51
+ };
52
+ };
53
+ export type EntityCheck = AtLeastOneOfEntityCheck | MutuallyRequiredEntityCheck | MutuallyExclusiveEntityCheck | ConditionalEntityCheck | ConditionalAtLeastOneOfEntityCheck | CustomEntityCheck;
42
54
  export interface FieldSchema {
43
55
  type: FieldSchemaType;
44
56
  required?: boolean;
@@ -48,6 +60,13 @@ export interface FieldSchema {
48
60
  one_of?: any[];
49
61
  help?: string;
50
62
  entity_checks?: EntityCheck[];
63
+ /**
64
+ * The Gateway marks a field `expressible` when its value may alternatively be
65
+ * supplied as an expression evaluated on every request, which takes priority
66
+ * over the plain value. The expression itself lives in a twin field under the
67
+ * schema's top-level `expressions` record — see {@link ExpressionFieldSchema}.
68
+ */
69
+ expressible?: boolean;
51
70
  }
52
71
  export interface StringFieldSchema extends FieldSchema {
53
72
  type: 'string';
@@ -72,6 +91,21 @@ export interface StringFieldSchema extends FieldSchema {
72
91
  };
73
92
  pattern?: string;
74
93
  }
94
+ /**
95
+ * The twin of an {@link FieldSchema.expressible} field, found under the
96
+ * top-level `expressions` record at the same relative path — `config.minute`
97
+ * pairs with `expressions.minute`, and the elements of the array `config.limit`
98
+ * pair with the elements of `expressions.limit`.
99
+ *
100
+ * It always holds the expression source as a string. `expressible_kong_type` is
101
+ * the type the expression must evaluate to.
102
+ *
103
+ * Not a member of `UnionFieldSchema`: it is structurally a `string` field and is
104
+ * rendered as one. The extra keys are read through this type where needed.
105
+ */
106
+ export interface ExpressionFieldSchema extends StringFieldSchema {
107
+ expressible_kong_type: FieldSchemaType;
108
+ }
75
109
  export interface NumberLikeFieldSchema extends FieldSchema {
76
110
  type: 'number' | 'integer';
77
111
  one_of?: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"form-schema.d.ts","sourceRoot":"","sources":["../../../../../../../../src/types/plugins/form-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAClC,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,UAAU,GACV,MAAM,CAAA;AAEV,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,eAAe,CAAA;QACtB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;QAClB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;KACvB,CAAA;CACF;AAED,MAAM,MAAM,uBAAuB,GAAG;IAAE,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEnE,MAAM,MAAM,2BAA2B,GAAG;IAAE,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEzE,MAAM,MAAM,4BAA4B,GAAG;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE3E,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,cAAc,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,cAAc,CAAA;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,2BAA2B,EAAE;QAC3B,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,cAAc,CAAA;QACxB,oBAAoB,EAAE,MAAM,EAAE,CAAA;KAC/B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,WAAW,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,4BAA4B,GAC5B,sBAAsB,GACtB,kCAAkC,CAAA;AAEtC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,aAAa,CAAC,EAAE,WAAW,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,IAAI,EAAE,QAAQ,CAAA;IAEd,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;KACZ,CAAC,CAAA;IAEF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;KACZ,CAAC,CAAA;IAEF,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IAED,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IAE1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,SAAS,CAAA;IAEf,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;IAErB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,IAAI,EAAE,KAAK,CAAA;CACZ;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,KAAK,CAAA;IAEX,IAAI,EAAE,gBAAgB,CAAA;IACtB,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,GAAG,CAAA;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAC5C,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,kBAAkB,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAA;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,IAAI,EAAE,QAAQ,CAAA;IAEd,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAE1B,qBAAqB,CAAC,EAAE,gBAAgB,CAAA;IACxC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC9C"}
1
+ {"version":3,"file":"form-schema.d.ts","sourceRoot":"","sources":["../../../../../../../../src/types/plugins/form-schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  export type FreeFormPluginData<TConfig extends Record<string, any> = any, TUIData extends Record<string, any> = Record<string, any>> = {
2
2
  config?: TConfig;
3
+ /**
4
+ * Expression twins of the `expressible` fields in `config`, mirroring its
5
+ * structure. A root-level sibling of `config`, not part of it.
6
+ */
7
+ expressions?: Record<string, any> | null;
3
8
  instance_name?: string;
4
9
  condition?: string | null;
5
10
  partials?: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"free-form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/types/plugins/free-form.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvD;IACF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;IACtD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"free-form.d.ts","sourceRoot":"","sources":["../../../../../../../../src/types/plugins/free-form.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvD;IACF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;IACtD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA"}