@flusys/nestjs-entity-builder 9.0.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 (114) hide show
  1. package/README.md +111 -0
  2. package/config/entity-builder.constants.d.ts +6 -0
  3. package/config/event-actions.d.ts +8 -0
  4. package/config/index.d.ts +3 -0
  5. package/config/message-keys.d.ts +542 -0
  6. package/controllers/entity-definition.controller.d.ts +40 -0
  7. package/controllers/field-definition.controller.d.ts +22 -0
  8. package/controllers/flow-definition.controller.d.ts +51 -0
  9. package/controllers/flow-execution.controller.d.ts +21 -0
  10. package/controllers/flow-runtime.controller.d.ts +24 -0
  11. package/controllers/index.d.ts +5 -0
  12. package/docs/entity-builder-swagger.config.d.ts +3 -0
  13. package/docs/index.d.ts +1 -0
  14. package/dtos/entity-definition.dto.d.ts +58 -0
  15. package/dtos/field-definition.dto.d.ts +42 -0
  16. package/dtos/flow.dto.d.ts +76 -0
  17. package/dtos/index.d.ts +3 -0
  18. package/dtos/schema-change.dto.d.ts +53 -0
  19. package/entities/entity-definition.entity.d.ts +15 -0
  20. package/entities/field-definition.entity.d.ts +23 -0
  21. package/entities/flow-definition.entity.d.ts +14 -0
  22. package/entities/flow-execution.entity.d.ts +19 -0
  23. package/entities/flow-version.entity.d.ts +10 -0
  24. package/entities/index.d.ts +14 -0
  25. package/entities/schema-change-log.entity.d.ts +15 -0
  26. package/enums/ddl-operation.enum.d.ts +13 -0
  27. package/enums/entity-status.enum.d.ts +5 -0
  28. package/enums/field-type.enum.d.ts +15 -0
  29. package/enums/index.d.ts +3 -0
  30. package/fesm/21.js +576 -0
  31. package/fesm/362.js +1074 -0
  32. package/fesm/458.js +649 -0
  33. package/fesm/582.js +1247 -0
  34. package/fesm/677.js +7534 -0
  35. package/fesm/719.js +3597 -0
  36. package/fesm/794.js +979 -0
  37. package/fesm/913.js +1620 -0
  38. package/fesm/config/index.js +126 -0
  39. package/fesm/controllers/index.js +27 -0
  40. package/fesm/docs/index.js +82 -0
  41. package/fesm/dtos/index.js +327 -0
  42. package/fesm/entities/index.js +18 -0
  43. package/fesm/enums/index.js +97 -0
  44. package/fesm/guards/index.js +226 -0
  45. package/fesm/index.js +548 -0
  46. package/fesm/interfaces/index.js +80 -0
  47. package/fesm/modules/index.js +25 -0
  48. package/fesm/rule-engine/index.js +21 -0
  49. package/fesm/runtime.js +85 -0
  50. package/fesm/services/index.js +526 -0
  51. package/flow-engine/flow-api-key.d.ts +6 -0
  52. package/flow-engine/flow-code-sandbox.d.ts +5 -0
  53. package/flow-engine/flow-engine.d.ts +22 -0
  54. package/flow-engine/flow-graph.validator.d.ts +20 -0
  55. package/flow-engine/flow-http.client.d.ts +15 -0
  56. package/flow-engine/flow-input.validator.d.ts +7 -0
  57. package/flow-engine/flow-node-handlers.d.ts +5 -0
  58. package/flow-engine/flow-rate-limiter.d.ts +8 -0
  59. package/flow-engine/flow-reference.d.ts +7 -0
  60. package/flow-engine/flow-run.types.d.ts +131 -0
  61. package/flow-engine/flow.errors.d.ts +27 -0
  62. package/flow-engine/flow.types.d.ts +315 -0
  63. package/flow-engine/index.d.ts +4 -0
  64. package/flow-engine/redact.d.ts +3 -0
  65. package/flow-engine/ssrf-guard.d.ts +6 -0
  66. package/guards/flow-access.guard.d.ts +11 -0
  67. package/guards/index.d.ts +1 -0
  68. package/index.d.ts +11 -0
  69. package/interfaces/entity-builder-module.interface.d.ts +28 -0
  70. package/interfaces/field-definition.interface.d.ts +33 -0
  71. package/interfaces/flow-definition.interface.d.ts +24 -0
  72. package/interfaces/generic-record.interface.d.ts +15 -0
  73. package/interfaces/index.d.ts +5 -0
  74. package/interfaces/reference-provider.interface.d.ts +8 -0
  75. package/interfaces/schema-dialect-adapter.interface.d.ts +15 -0
  76. package/modules/entity-builder.module.d.ts +10 -0
  77. package/modules/index.d.ts +1 -0
  78. package/package.json +93 -0
  79. package/rule-engine/index.d.ts +3 -0
  80. package/rule-engine/rule-engine.service.d.ts +40 -0
  81. package/rule-engine/rule-evaluation-context.interface.d.ts +28 -0
  82. package/rule-engine/rule-ip.d.ts +3 -0
  83. package/rule-engine/rule-permission.d.ts +10 -0
  84. package/rule-engine/rule-regex.d.ts +4 -0
  85. package/rule-engine/rule-values.d.ts +5 -0
  86. package/rule-engine/rule.interface.d.ts +79 -0
  87. package/services/database-error.mapper.d.ts +2 -0
  88. package/services/definition-cache.service.d.ts +8 -0
  89. package/services/entity-builder-config.service.d.ts +12 -0
  90. package/services/entity-builder-datasource.provider.d.ts +24 -0
  91. package/services/entity-definition.service.d.ts +17 -0
  92. package/services/entity-flow-scaffold.d.ts +27 -0
  93. package/services/entity-permission.service.d.ts +8 -0
  94. package/services/field-definition.service.d.ts +17 -0
  95. package/services/field-type-conversion.d.ts +15 -0
  96. package/services/field-value-validator.d.ts +17 -0
  97. package/services/flow-definition.service.d.ts +62 -0
  98. package/services/flow-execution.service.d.ts +38 -0
  99. package/services/flow-executor.service.d.ts +41 -0
  100. package/services/flow-reference.provider.d.ts +13 -0
  101. package/services/flow-runtime.service.d.ts +30 -0
  102. package/services/generic-entity-service.factory.d.ts +12 -0
  103. package/services/generic-entity.service.d.ts +67 -0
  104. package/services/identifier-rules.d.ts +9 -0
  105. package/services/index.d.ts +26 -0
  106. package/services/reference-rewrite.d.ts +7 -0
  107. package/services/reference-scanner.service.d.ts +10 -0
  108. package/services/schema-change-executor.service.d.ts +39 -0
  109. package/services/schema-change.types.d.ts +59 -0
  110. package/services/schema-columns.d.ts +26 -0
  111. package/services/schema-dialect-adapter.service.d.ts +13 -0
  112. package/services/schema-evolution.service.d.ts +67 -0
  113. package/services/schema-registry.service.d.ts +13 -0
  114. package/services/schema-sync.service.d.ts +28 -0
package/fesm/21.js ADDED
@@ -0,0 +1,576 @@
1
+ export const __rspack_esm_id = 21;
2
+ export const __rspack_esm_ids = [21];
3
+ export const __webpack_modules__ = {
4
+ 5732(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
+ // ==================== ENTITY BUILDER MODULE MESSAGE KEYS ====================
6
+ // The CRUD `*_SUCCESS` keys are the ones createApiController emits for `entityName: 'entity_builder.<resource>'`.
7
+ const ENTITY_DEFINITION_MESSAGES = {
8
+ NOT_FOUND: 'entity_builder.entity_definition.not.found',
9
+ CODE_ALREADY_EXISTS: 'entity_builder.entity_definition.code.already.exists',
10
+ DEPRECATED: 'entity_builder.entity_definition.deprecated',
11
+ ID_REQUIRED: 'entity_builder.entity_definition.id.required',
12
+ INVALID_STATUS: 'entity_builder.entity_definition.invalid.status',
13
+ CREATE_SUCCESS: 'entity_builder.entity_definition.create.success',
14
+ GET_SUCCESS: 'entity_builder.entity_definition.get.success',
15
+ GET_BY_IDS_SUCCESS: 'entity_builder.entity_definition.get.by.ids.success',
16
+ GET_BY_FILTER_SUCCESS: 'entity_builder.entity_definition.get.by.filter.success',
17
+ GET_ALL_SUCCESS: 'entity_builder.entity_definition.get.all.success',
18
+ PLAN_SUCCESS: 'entity_builder.entity_definition.plan.success',
19
+ APPLY_SUCCESS: 'entity_builder.entity_definition.apply.success',
20
+ INSPECT_SUCCESS: 'entity_builder.entity_definition.inspect.success',
21
+ HISTORY_SUCCESS: 'entity_builder.entity_definition.history.success'
22
+ };
23
+ const FIELD_DEFINITION_MESSAGES = {
24
+ NOT_FOUND: 'entity_builder.field_definition.not.found',
25
+ ID_REQUIRED: 'entity_builder.field_definition.id.required',
26
+ DEFINITION_REQUIRED: 'entity_builder.field_definition.definition.required',
27
+ DEPRECATED_LOCKED: 'entity_builder.field_definition.deprecated.locked',
28
+ RENAME_ALONE: 'entity_builder.field_definition.rename.alone',
29
+ GET_SUCCESS: 'entity_builder.field_definition.get.success',
30
+ GET_BY_IDS_SUCCESS: 'entity_builder.field_definition.get.by.ids.success',
31
+ GET_BY_FILTER_SUCCESS: 'entity_builder.field_definition.get.by.filter.success',
32
+ GET_ALL_SUCCESS: 'entity_builder.field_definition.get.all.success'
33
+ };
34
+ const FLOW_DEFINITION_MESSAGES = {
35
+ CREATE_SUCCESS: 'entity_builder.flow_definition.create.success',
36
+ UPDATE_SUCCESS: 'entity_builder.flow_definition.update.success',
37
+ DELETE_SUCCESS: 'entity_builder.flow_definition.delete.success',
38
+ RESTORE_SUCCESS: 'entity_builder.flow_definition.restore.success',
39
+ GET_SUCCESS: 'entity_builder.flow_definition.get.success',
40
+ GET_BY_IDS_SUCCESS: 'entity_builder.flow_definition.get.by.ids.success',
41
+ GET_BY_FILTER_SUCCESS: 'entity_builder.flow_definition.get.by.filter.success',
42
+ GET_ALL_SUCCESS: 'entity_builder.flow_definition.get.all.success'
43
+ };
44
+ const GENERIC_RECORD_MESSAGES = {
45
+ NOT_FOUND: 'entity_builder.generic_record.not.found',
46
+ NO_MATCH: 'entity_builder.generic_record.no.match',
47
+ ID_REQUIRED: 'entity_builder.generic_record.id.required',
48
+ UNKNOWN_FIELD: 'entity_builder.generic_record.unknown.field',
49
+ SYSTEM_COLUMN_READONLY: 'entity_builder.generic_record.system.column.readonly',
50
+ VALIDATION_FAILED: 'entity_builder.generic_record.validation.failed',
51
+ UNIQUE_VIOLATION: 'entity_builder.generic_record.unique.violation',
52
+ UNIQUE_VIOLATION_ANY: 'entity_builder.generic_record.unique.violation.any',
53
+ REQUIRED: 'entity_builder.generic_record.required',
54
+ REQUIRED_ANY: 'entity_builder.generic_record.required.any',
55
+ TOO_LONG: 'entity_builder.generic_record.too.long',
56
+ TOO_LONG_ANY: 'entity_builder.generic_record.too.long.any',
57
+ OUT_OF_RANGE: 'entity_builder.generic_record.out.of.range',
58
+ OUT_OF_RANGE_ANY: 'entity_builder.generic_record.out.of.range.any',
59
+ INVALID_FORMAT: 'entity_builder.generic_record.invalid.format',
60
+ INVALID_FORMAT_ANY: 'entity_builder.generic_record.invalid.format.any',
61
+ REFERENCE_VIOLATION: 'entity_builder.generic_record.reference.violation',
62
+ FILTER_OPERATOR_UNKNOWN: 'entity_builder.generic_record.filter.operator.unknown',
63
+ FILTER_VALUE_INVALID: 'entity_builder.generic_record.filter.value.invalid',
64
+ FILTER_TOO_MANY_VALUES: 'entity_builder.generic_record.filter.too.many.values'
65
+ };
66
+ const SCHEMA_MESSAGES = {
67
+ BUSY: 'entity_builder.schema.busy',
68
+ COLUMN_EXISTS: 'entity_builder.schema.column.exists',
69
+ TABLE_EXISTS: 'entity_builder.schema.table.exists',
70
+ DRIFT_COLUMN: 'entity_builder.schema.drift.column',
71
+ DRIFT_TABLE: 'entity_builder.schema.drift.table',
72
+ CONVERSION_FAILED: 'entity_builder.schema.conversion.failed',
73
+ DUPLICATES_EXIST: 'entity_builder.schema.duplicates.exist',
74
+ NULLS_EXIST: 'entity_builder.schema.nulls.exist',
75
+ FAILED: 'entity_builder.schema.failed',
76
+ BLOCKED: 'entity_builder.schema.blocked',
77
+ NO_LONGER_APPLICABLE: 'entity_builder.schema.no.longer.applicable',
78
+ CONFIRMATION_REQUIRED: 'entity_builder.schema.confirmation.required',
79
+ USE_DESTRUCTIVE_ENDPOINT: 'entity_builder.schema.use.destructive.endpoint',
80
+ USE_REGULAR_ENDPOINT: 'entity_builder.schema.use.regular.endpoint',
81
+ UNSUPPORTED_FIELD_TYPE: 'entity_builder.schema.unsupported.field.type',
82
+ UNSUPPORTED_DRIVER: 'entity_builder.schema.unsupported.driver',
83
+ UNKNOWN_CHANGE_PROPERTY: 'entity_builder.schema.unknown.change.property',
84
+ DUPLICATE_FIELD_CODE: 'entity_builder.schema.duplicate.field.code',
85
+ INVALID_CODE_PATTERN: 'entity_builder.schema.invalid.code.pattern',
86
+ RESERVED_WORD: 'entity_builder.schema.reserved.word',
87
+ SYSTEM_COLUMN_CODE: 'entity_builder.schema.system.column.code',
88
+ NOT_INDEXABLE: 'entity_builder.schema.not.indexable',
89
+ INVALID_CHANGE_VALUE: 'entity_builder.schema.invalid.change.value',
90
+ STALE_DEFINITION: 'entity_builder.schema.stale.definition',
91
+ FAILED_NOT_REVERTED: 'entity_builder.schema.failed.not.reverted'
92
+ };
93
+ /** Reasons a schema change cannot run right now (`plan.blockers`). */ const SCHEMA_BLOCKER_MESSAGES = {
94
+ TABLE_MISSING: 'entity_builder.schema.blocker.table.missing',
95
+ TABLE_EXISTS: 'entity_builder.schema.blocker.table.exists',
96
+ ENTITY_CODE_EXISTS: 'entity_builder.schema.blocker.entity.code.exists',
97
+ RELATION_FIELD_TARGET_MISSING: 'entity_builder.schema.blocker.relation.field.target.missing',
98
+ FLOW_SLUG_TAKEN: 'entity_builder.schema.blocker.flow.slug.taken',
99
+ RELATION_TARGET_MISSING: 'entity_builder.schema.blocker.relation.target.missing',
100
+ RELATION_TARGET_REQUIRED: 'entity_builder.schema.blocker.relation.target.required',
101
+ FIELD_EXISTS: 'entity_builder.schema.blocker.field.exists',
102
+ FIELD_EXISTS_DEPRECATED: 'entity_builder.schema.blocker.field.exists.deprecated',
103
+ DEFAULT_INVALID: 'entity_builder.schema.blocker.default.invalid',
104
+ BACKFILL_INVALID: 'entity_builder.schema.blocker.backfill.invalid',
105
+ REQUIRED_NEEDS_VALUE: 'entity_builder.schema.blocker.required.needs.value',
106
+ UNIQUE_BACKFILL_CONFLICT: 'entity_builder.schema.blocker.unique.backfill.conflict',
107
+ COLUMN_MISSING: 'entity_builder.schema.blocker.column.missing',
108
+ CONVERSION_UNSUPPORTED: 'entity_builder.schema.blocker.conversion.unsupported',
109
+ CONVERSION_BAD_ROWS: 'entity_builder.schema.blocker.conversion.bad.rows',
110
+ CURRENT_DEFAULT_INVALID: 'entity_builder.schema.blocker.current.default.invalid',
111
+ NULLS_NEED_VALUE: 'entity_builder.schema.blocker.nulls.need.value',
112
+ DUPLICATE_VALUES: 'entity_builder.schema.blocker.duplicate.values',
113
+ FIELD_CODE_TAKEN: 'entity_builder.schema.blocker.field.code.taken',
114
+ FIELD_CODE_TAKEN_DEPRECATED: 'entity_builder.schema.blocker.field.code.taken.deprecated',
115
+ RENAME_IN_USE: 'entity_builder.schema.blocker.rename.in.use',
116
+ ALREADY_DEPRECATED: 'entity_builder.schema.blocker.already.deprecated',
117
+ NOT_DEPRECATED: 'entity_builder.schema.blocker.not.deprecated',
118
+ COLUMN_GONE: 'entity_builder.schema.blocker.column.gone',
119
+ PURGE_REQUIRES_DEPRECATED: 'entity_builder.schema.blocker.purge.requires.deprecated',
120
+ PURGE_CONFIRM_CODE: 'entity_builder.schema.blocker.purge.confirm.code',
121
+ PURGE_IN_USE: 'entity_builder.schema.blocker.purge.in.use',
122
+ DROP_CONFIRM_CODE: 'entity_builder.schema.blocker.drop.confirm.code',
123
+ DROP_IN_USE: 'entity_builder.schema.blocker.drop.in.use',
124
+ DROP_RELATION_IN_USE: 'entity_builder.schema.blocker.drop.relation.in.use',
125
+ DEFINITION_CHANGED: 'entity_builder.schema.blocker.definition.changed'
126
+ };
127
+ /** Things worth knowing before a schema change is applied (`plan.warnings`). */ const SCHEMA_WARNING_MESSAGES = {
128
+ NO_SELECT_OPTIONS_YET: 'entity_builder.schema.warning.no.select.options.yet',
129
+ NO_SELECT_OPTIONS_CONVERT: 'entity_builder.schema.warning.no.select.options.convert',
130
+ STRAY_VALUES: 'entity_builder.schema.warning.stray.values',
131
+ RULES_VIOLATED: 'entity_builder.schema.warning.rules.violated',
132
+ LOSSY_ROUNDING: 'entity_builder.schema.warning.lossy.rounding',
133
+ LOSSY_TIME_DROPPED: 'entity_builder.schema.warning.lossy.time.dropped',
134
+ BACKFILL_WILL_SET: 'entity_builder.schema.warning.backfill.will.set',
135
+ REFERENCES_REWRITTEN: 'entity_builder.schema.warning.references.rewritten',
136
+ STILL_REFERENCED: 'entity_builder.schema.warning.still.referenced',
137
+ FIELD_OPTIONAL_AGAIN: 'entity_builder.schema.warning.field.optional.again',
138
+ VALUES_DELETED: 'entity_builder.schema.warning.values.deleted',
139
+ COLUMN_ALREADY_MISSING: 'entity_builder.schema.warning.column.already.missing',
140
+ SOFT_DELETE_OFF: 'entity_builder.schema.warning.soft.delete.off',
141
+ AUDIT_OFF: 'entity_builder.schema.warning.audit.off',
142
+ ENTITY_REFERENCED: 'entity_builder.schema.warning.entity.referenced',
143
+ RECORDS_DELETED: 'entity_builder.schema.warning.records.deleted',
144
+ TABLE_ALREADY_MISSING: 'entity_builder.schema.warning.table.already.missing',
145
+ TABLE_RECREATED_EMPTY: 'entity_builder.schema.warning.table.recreated.empty',
146
+ UNIQUE_NOT_RECREATED: 'entity_builder.schema.warning.unique.not.recreated',
147
+ REQUIRED_HAS_NULLS: 'entity_builder.schema.warning.required.has.nulls',
148
+ NEEDS_MANUAL_ATTENTION: 'entity_builder.schema.warning.needs.manual.attention',
149
+ NOTHING_TO_REPAIR: 'entity_builder.schema.warning.nothing.to.repair',
150
+ FOLLOW_UP_FAILED: 'entity_builder.schema.warning.follow.up.failed',
151
+ ENDPOINT_FLOW_FAILED: 'entity_builder.schema.warning.endpoint.flow.failed',
152
+ MYSQL_NO_ROLLBACK: 'entity_builder.schema.warning.mysql.no.rollback'
153
+ };
154
+ /** One line of a schema change plan (`plan.steps[].description`). */ const SCHEMA_STEP_MESSAGES = {
155
+ CREATE_TABLE: 'entity_builder.schema.step.create.table',
156
+ ADD_COLUMN: 'entity_builder.schema.step.add.column',
157
+ BACKFILL_EXISTING: 'entity_builder.schema.step.backfill.existing',
158
+ BACKFILL_RECORDS: 'entity_builder.schema.step.backfill.records',
159
+ MAKE_REQUIRED: 'entity_builder.schema.step.make.required',
160
+ MAKE_OPTIONAL: 'entity_builder.schema.step.make.optional',
161
+ ADD_UNIQUE: 'entity_builder.schema.step.add.unique',
162
+ REMOVE_UNIQUE: 'entity_builder.schema.step.remove.unique',
163
+ ADD_INDEX: 'entity_builder.schema.step.add.index',
164
+ REMOVE_INDEX: 'entity_builder.schema.step.remove.index',
165
+ CONVERT_TYPE: 'entity_builder.schema.step.convert.type',
166
+ RENAME_COLUMN: 'entity_builder.schema.step.rename.column',
167
+ RENAME_INDEX: 'entity_builder.schema.step.rename.index',
168
+ RELAX_DEPRECATED: 'entity_builder.schema.step.relax.deprecated',
169
+ DROP_COLUMN: 'entity_builder.schema.step.drop.column',
170
+ DROP_TABLE: 'entity_builder.schema.step.drop.table',
171
+ ADD_DELETED_AT: 'entity_builder.schema.step.add.deleted.at',
172
+ ADD_AUDIT_COLUMNS: 'entity_builder.schema.step.add.audit.columns',
173
+ RECREATE_TABLE: 'entity_builder.schema.step.recreate.table',
174
+ ADD_SYSTEM_COLUMN: 'entity_builder.schema.step.add.system.column',
175
+ ADD_MISSING_COLUMN: 'entity_builder.schema.step.add.missing.column',
176
+ RECREATE_INDEX: 'entity_builder.schema.step.recreate.index',
177
+ RECREATE_UNIQUE: 'entity_builder.schema.step.recreate.unique'
178
+ };
179
+ /** Drift check findings (`inspect`). */ const SCHEMA_FINDING_MESSAGES = {
180
+ MISSING_TABLE: 'entity_builder.schema.finding.missing.table',
181
+ SYSTEM_COLUMN_MISSING: 'entity_builder.schema.finding.system.column.missing',
182
+ COLUMN_MISSING: 'entity_builder.schema.finding.column.missing',
183
+ TYPE_MISMATCH: 'entity_builder.schema.finding.type.mismatch',
184
+ REQUIRED_BUT_NULLABLE: 'entity_builder.schema.finding.required.but.nullable',
185
+ OPTIONAL_BUT_NOT_NULL: 'entity_builder.schema.finding.optional.but.not.null',
186
+ INDEX_MISSING: 'entity_builder.schema.finding.index.missing',
187
+ UNIQUE_MISSING: 'entity_builder.schema.finding.unique.missing',
188
+ STALE_METADATA: 'entity_builder.schema.finding.stale.metadata',
189
+ EXTRA_COLUMN: 'entity_builder.schema.finding.extra.column'
190
+ };
191
+ /** What else mentions the entity or field being changed (`plan.impact[].detail`). */ const SCHEMA_IMPACT_MESSAGES = {
192
+ FLOW_ON_ENTITY: 'entity_builder.schema.impact.flow.on.entity',
193
+ FLOW_USES_FIELD: 'entity_builder.schema.impact.flow.uses.field'
194
+ };
195
+ /** Data that would not survive a type change, counted before anything runs. */ const SCHEMA_PRECHECK_MESSAGES = {
196
+ NOT_EMAIL: 'entity_builder.schema.precheck.not.email',
197
+ TOO_LONG: 'entity_builder.schema.precheck.too.long',
198
+ NOT_WHOLE_NUMBER: 'entity_builder.schema.precheck.not.whole.number',
199
+ NOT_NUMBER: 'entity_builder.schema.precheck.not.number',
200
+ NOT_BOOLEAN_TEXT: 'entity_builder.schema.precheck.not.boolean.text',
201
+ NOT_DATE: 'entity_builder.schema.precheck.not.date',
202
+ NOT_DATETIME: 'entity_builder.schema.precheck.not.datetime',
203
+ OUT_OF_INTEGER_RANGE: 'entity_builder.schema.precheck.out.of.integer.range',
204
+ NOT_ZERO_OR_ONE: 'entity_builder.schema.precheck.not.zero.or.one',
205
+ MULTIPLE_SELECTED: 'entity_builder.schema.precheck.multiple.selected'
206
+ };
207
+ /** Why a single record value was refused (`errors[].messageKey`). */ const FIELD_VALIDATION_MESSAGES = {
208
+ REQUIRED: 'entity_builder.validation.required',
209
+ MUST_BE_TEXT: 'entity_builder.validation.must.be.text',
210
+ MAX_LENGTH: 'entity_builder.validation.max.length',
211
+ MIN_LENGTH: 'entity_builder.validation.min.length',
212
+ INVALID_EMAIL: 'entity_builder.validation.invalid.email',
213
+ ONE_OF: 'entity_builder.validation.one.of',
214
+ WHOLE_NUMBER: 'entity_builder.validation.whole.number',
215
+ NUMBER_BETWEEN: 'entity_builder.validation.number.between',
216
+ NUMBER: 'entity_builder.validation.number',
217
+ NUMBER_TOO_LARGE: 'entity_builder.validation.number.too.large',
218
+ BOOLEAN: 'entity_builder.validation.boolean',
219
+ REAL_DATE: 'entity_builder.validation.real.date',
220
+ ISO_DATETIME: 'entity_builder.validation.iso.datetime',
221
+ TEXT_LIST: 'entity_builder.validation.text.list',
222
+ UNKNOWN_OPTIONS: 'entity_builder.validation.unknown.options',
223
+ UUID: 'entity_builder.validation.uuid',
224
+ JSON: 'entity_builder.validation.json',
225
+ MIN_VALUE: 'entity_builder.validation.min.value',
226
+ MAX_VALUE: 'entity_builder.validation.max.value',
227
+ MIN_ITEMS: 'entity_builder.validation.min.items',
228
+ MAX_ITEMS: 'entity_builder.validation.max.items',
229
+ MUST_BE_LIST: 'entity_builder.validation.must.be.list',
230
+ MUST_BE_OBJECT: 'entity_builder.validation.must.be.object',
231
+ RELATED_NOT_FOUND: 'entity_builder.validation.related.not.found'
232
+ };
233
+ const RULE_ENGINE_MESSAGES = {
234
+ TEMPLATE_TOO_LONG: 'entity_builder.rule_engine.template.too.long',
235
+ INVALID_FIELD_REFERENCE: 'entity_builder.rule_engine.invalid.field.reference',
236
+ UNKNOWN_FUNCTION: 'entity_builder.rule_engine.unknown.function',
237
+ EXPECTED_NUMBER: 'entity_builder.rule_engine.expected.number',
238
+ DIVISION_BY_ZERO: 'entity_builder.rule_engine.division.by.zero',
239
+ MAX_DEPTH_EXCEEDED: 'entity_builder.rule_engine.max.depth.exceeded',
240
+ MAX_CONDITIONS_EXCEEDED: 'entity_builder.rule_engine.max.conditions.exceeded',
241
+ CONDITION_INCOMPLETE: 'entity_builder.rule_engine.condition.incomplete',
242
+ EXPECTED_DATE: 'entity_builder.rule_engine.expected.date',
243
+ INVALID_DURATION_UNIT: 'entity_builder.rule_engine.invalid.duration.unit',
244
+ INVALID_UTC_OFFSET: 'entity_builder.rule_engine.invalid.utc.offset',
245
+ REGEX_INVALID: 'entity_builder.rule_engine.regex.invalid',
246
+ REGEX_PATTERN_TOO_LONG: 'entity_builder.rule_engine.regex.pattern.too.long',
247
+ REGEX_INPUT_TOO_LONG: 'entity_builder.rule_engine.regex.input.too.long',
248
+ LOOKUP_RESOLVER_UNAVAILABLE: 'entity_builder.rule_engine.lookup.resolver.unavailable',
249
+ LOOKUP_LIMIT_EXCEEDED: 'entity_builder.rule_engine.lookup.limit.exceeded',
250
+ TOO_MANY_PERMISSION_CODES: 'entity_builder.rule_engine.too.many.permission.codes',
251
+ INVALID_IP_RANGE: 'entity_builder.rule_engine.invalid.ip.range',
252
+ TOO_MANY_IP_RANGES: 'entity_builder.rule_engine.too.many.ip.ranges',
253
+ UNKNOWN_COMPARISON: 'entity_builder.rule_engine.unknown.comparison',
254
+ UNKNOWN_GROUP_OPERATOR: 'entity_builder.rule_engine.unknown.group.operator',
255
+ REGEX_TOO_COMPLEX: 'entity_builder.rule_engine.regex.too.complex'
256
+ };
257
+ const FLOW_MESSAGES = {
258
+ NOT_FOUND: 'entity_builder.flow.not.found',
259
+ NOTHING_TO_TEST: 'entity_builder.flow.nothing.to.test',
260
+ ENDPOINT_NOT_FOUND: 'entity_builder.flow.endpoint.not.found',
261
+ INVALID: 'entity_builder.flow.invalid',
262
+ SLUG_TAKEN: 'entity_builder.flow.slug.taken',
263
+ RATE_LIMITED: 'entity_builder.flow.rate.limited',
264
+ API_KEY_INVALID: 'entity_builder.flow.api.key.invalid',
265
+ CALLED_BY_OTHER_FLOWS: 'entity_builder.flow.called.by.other.flows',
266
+ ENDPOINT_CALLED_BY_OTHER_FLOWS: 'entity_builder.flow.endpoint.called.by.other.flows',
267
+ CALLERS_BROKEN: 'entity_builder.flow.callers.broken',
268
+ EXECUTION_NOT_FOUND: 'entity_builder.flow.execution.not.found',
269
+ EXECUTIONS_SUCCESS: 'entity_builder.flow.executions.success',
270
+ EXECUTION_SUCCESS: 'entity_builder.flow.execution.success',
271
+ REJECTED: 'entity_builder.flow.rejected',
272
+ FAILED: 'entity_builder.flow.failed',
273
+ FAILED_AT_NODE: 'entity_builder.flow.failed.at.node',
274
+ FAILED_AT_NODE_DETAIL: 'entity_builder.flow.failed.at.node.detail',
275
+ FAILED_DETAIL: 'entity_builder.flow.failed.detail',
276
+ COMPLETED: 'entity_builder.flow.completed',
277
+ VALIDATE_OK: 'entity_builder.flow.validate.ok',
278
+ VALIDATE_PROBLEMS: 'entity_builder.flow.validate.problems',
279
+ TEST_SUCCESS: 'entity_builder.flow.test.success',
280
+ INPUT_INVALID: 'entity_builder.flow.input.invalid',
281
+ INPUT_BODY_NOT_LIST: 'entity_builder.flow.input.body.not.list',
282
+ INPUT_BODY_ITEM_NOT_OBJECT: 'entity_builder.flow.input.body.item.not.object',
283
+ CHECKS_FAILED: 'entity_builder.flow.checks.failed',
284
+ PERMISSION_DENIED: 'entity_builder.flow.permission.denied',
285
+ PUBLISH_SUCCESS: 'entity_builder.flow.publish.success',
286
+ NOTHING_TO_PUBLISH: 'entity_builder.flow.nothing.to.publish',
287
+ VERSIONS_SUCCESS: 'entity_builder.flow.versions.success',
288
+ VERSION_SUCCESS: 'entity_builder.flow.version.success',
289
+ VERSION_NOT_FOUND: 'entity_builder.flow.version.not.found',
290
+ VERSION_RESTORED: 'entity_builder.flow.version.restored',
291
+ DRAFT_DISCARDED: 'entity_builder.flow.draft.discarded',
292
+ NO_DRAFT: 'entity_builder.flow.no.draft'
293
+ };
294
+ /** Why a run was stopped or a node failed (`trace[].error`, `body.messageKey`). */ const FLOW_ERROR_MESSAGES = {
295
+ NO_TRIGGER: 'entity_builder.flow.error.no.trigger',
296
+ TOO_MANY_STEPS: 'entity_builder.flow.error.too.many.steps',
297
+ OUT_OF_TIME: 'entity_builder.flow.error.out.of.time',
298
+ TOO_MANY_ITEMS: 'entity_builder.flow.error.too.many.items',
299
+ TOO_MANY_HTTP_CALLS: 'entity_builder.flow.error.too.many.http.calls',
300
+ UNKNOWN_NODE_TYPE: 'entity_builder.flow.error.unknown.node.type',
301
+ RECORD_ID_MISSING: 'entity_builder.flow.error.record.id.missing',
302
+ LIST_NOT_A_LIST: 'entity_builder.flow.error.list.not.a.list',
303
+ TOO_MANY_WRITES: 'entity_builder.flow.error.too.many.writes',
304
+ WRITE_FILTER_EMPTY: 'entity_builder.flow.error.write.filter.empty',
305
+ TOO_MANY_MATCHES: 'entity_builder.flow.error.too.many.matches',
306
+ URL_EMPTY: 'entity_builder.flow.error.url.empty',
307
+ URL_INVALID: 'entity_builder.flow.error.url.invalid',
308
+ URL_PROTOCOL: 'entity_builder.flow.error.url.protocol',
309
+ URL_CREDENTIALS: 'entity_builder.flow.error.url.credentials',
310
+ URL_PRIVATE: 'entity_builder.flow.error.url.private',
311
+ RESPONSE_TOO_LARGE: 'entity_builder.flow.error.response.too.large',
312
+ RESPONSE_INCOMPLETE: 'entity_builder.flow.error.response.incomplete',
313
+ REQUEST_TIMEOUT: 'entity_builder.flow.error.request.timeout',
314
+ NODE_FAILED: 'entity_builder.flow.error.node.failed',
315
+ CODE_THREW: 'entity_builder.flow.error.code.threw',
316
+ CODE_TIMEOUT: 'entity_builder.flow.error.code.timeout',
317
+ CODE_OUT_OF_MEMORY: 'entity_builder.flow.error.code.out.of.memory',
318
+ CODE_OUTPUT_TOO_LARGE: 'entity_builder.flow.error.code.output.too.large',
319
+ CODE_OUTPUT_INVALID: 'entity_builder.flow.error.code.output.invalid',
320
+ CODE_UNAVAILABLE: 'entity_builder.flow.error.code.unavailable',
321
+ CALLED_FLOW_NOT_FOUND: 'entity_builder.flow.error.called.flow.not.found',
322
+ CALLED_FLOW_ENDPOINT_NOT_FOUND: 'entity_builder.flow.error.called.flow.endpoint.not.found',
323
+ CALLED_FLOW_NOT_ALLOWED: 'entity_builder.flow.error.called.flow.not.allowed',
324
+ CALLED_FLOW_RECURSION: 'entity_builder.flow.error.called.flow.recursion',
325
+ CALLED_FLOW_TOO_DEEP: 'entity_builder.flow.error.called.flow.too.deep',
326
+ CALLED_FLOW_FAILED: 'entity_builder.flow.error.called.flow.failed',
327
+ CALLED_FLOW_FAILED_AT_NODE: 'entity_builder.flow.error.called.flow.failed.at.node',
328
+ RUN_AS_NOT_ALLOWED: 'entity_builder.flow.error.run.as.not.allowed',
329
+ FILTER_VALUE_MISSING: 'entity_builder.flow.error.filter.value.missing',
330
+ TOO_MANY_MESSAGES: 'entity_builder.flow.error.too.many.messages',
331
+ TOO_MANY_RECIPIENTS: 'entity_builder.flow.error.too.many.recipients',
332
+ NOTIFICATION_UNAVAILABLE: 'entity_builder.flow.error.notification.unavailable',
333
+ NOTIFICATION_RECIPIENT_INVALID: 'entity_builder.flow.error.notification.recipient.invalid',
334
+ NOTIFICATION_COMPANY_INVALID: 'entity_builder.flow.error.notification.company.invalid',
335
+ NOTIFICATION_BRANCH_INVALID: 'entity_builder.flow.error.notification.branch.invalid',
336
+ NOTIFICATION_COMPANY_UNAVAILABLE: 'entity_builder.flow.error.notification.company.unavailable',
337
+ NOTIFICATION_COMPANY_DENIED: 'entity_builder.flow.error.notification.company.denied',
338
+ NOTIFICATION_TITLE_EMPTY: 'entity_builder.flow.error.notification.title.empty',
339
+ NOTIFICATION_FAILED: 'entity_builder.flow.error.notification.failed',
340
+ EMAIL_UNAVAILABLE: 'entity_builder.flow.error.email.unavailable',
341
+ EMAIL_ADDRESS_INVALID: 'entity_builder.flow.error.email.address.invalid',
342
+ EMAIL_SUBJECT_EMPTY: 'entity_builder.flow.error.email.subject.empty',
343
+ EMAIL_BODY_EMPTY: 'entity_builder.flow.error.email.body.empty',
344
+ EMAIL_FAILED: 'entity_builder.flow.error.email.failed'
345
+ };
346
+ /** Why a node was not executed in a test run (`output.reasonKey`). */ const FLOW_SKIP_MESSAGES = {
347
+ HTTP: 'entity_builder.flow.skip.http',
348
+ EVENTS: 'entity_builder.flow.skip.events',
349
+ NOTIFICATION: 'entity_builder.flow.skip.notification',
350
+ EMAIL: 'entity_builder.flow.skip.email',
351
+ NO_RECIPIENTS: 'entity_builder.flow.skip.no.recipients',
352
+ COMMIT_DRY_RUN: 'entity_builder.flow.skip.commit.dry.run',
353
+ COMMIT_NO_TRANSACTION: 'entity_builder.flow.skip.commit.no.transaction',
354
+ COMMIT_JOINED: 'entity_builder.flow.skip.commit.joined'
355
+ };
356
+ /** Save-time findings about a flow (`validateFlow`). */ const FLOW_VALIDATION_MESSAGES = {
357
+ SLUG_INVALID: 'entity_builder.flow.validation.slug.invalid',
358
+ RUN_AS_INVALID: 'entity_builder.flow.validation.run.as.invalid',
359
+ NO_NODES: 'entity_builder.flow.validation.no.nodes',
360
+ TOO_MANY_NODES: 'entity_builder.flow.validation.too.many.nodes',
361
+ TOO_MANY_EDGES: 'entity_builder.flow.validation.too.many.edges',
362
+ NODE_ID_INVALID: 'entity_builder.flow.validation.node.id.invalid',
363
+ NODE_ID_DUPLICATE: 'entity_builder.flow.validation.node.id.duplicate',
364
+ NODE_TYPE_UNKNOWN: 'entity_builder.flow.validation.node.type.unknown',
365
+ TRIGGER_MISSING: 'entity_builder.flow.validation.trigger.missing',
366
+ TRIGGER_MAIN_DUPLICATE: 'entity_builder.flow.validation.trigger.main.duplicate',
367
+ TRIGGER_PATH_INVALID: 'entity_builder.flow.validation.trigger.path.invalid',
368
+ TRIGGER_PATH_DUPLICATE: 'entity_builder.flow.validation.trigger.path.duplicate',
369
+ EDGE_ID_DUPLICATE: 'entity_builder.flow.validation.edge.id.duplicate',
370
+ EDGE_DANGLING: 'entity_builder.flow.validation.edge.dangling',
371
+ EDGE_SELF: 'entity_builder.flow.validation.edge.self',
372
+ EDGE_INTO_TRIGGER: 'entity_builder.flow.validation.edge.into.trigger',
373
+ EDGE_NO_PORT: 'entity_builder.flow.validation.edge.no.port',
374
+ EDGE_TWICE: 'entity_builder.flow.validation.edge.twice',
375
+ CYCLE: 'entity_builder.flow.validation.cycle',
376
+ NODE_UNREACHABLE: 'entity_builder.flow.validation.node.unreachable',
377
+ TRANSACTIONAL_HTTP: 'entity_builder.flow.validation.transactional.http',
378
+ WRITES_NOT_TRANSACTIONAL: 'entity_builder.flow.validation.writes.not.transactional',
379
+ NODE_COMMIT_CONTINUE: 'entity_builder.flow.validation.node.commit.continue',
380
+ COMMIT_NOT_TRANSACTIONAL: 'entity_builder.flow.validation.commit.not.transactional',
381
+ COMMIT_IN_LOOP: 'entity_builder.flow.validation.commit.in.loop',
382
+ COMMIT_IN_CALLED_FLOW: 'entity_builder.flow.validation.commit.in.called.flow',
383
+ PUBLIC_SYSTEM_ENTITY: 'entity_builder.flow.validation.public.system.entity',
384
+ PERMISSION_WITHOUT_USER: 'entity_builder.flow.validation.permission.without.user',
385
+ KEYLESS_ENDPOINT_AS_CALLER: 'entity_builder.flow.validation.keyless.endpoint.as.caller',
386
+ TRIGGER_AUTH_INVALID: 'entity_builder.flow.validation.trigger.auth.invalid',
387
+ TRIGGER_TRANSACTION_INVALID: 'entity_builder.flow.validation.trigger.transaction.invalid',
388
+ TRIGGER_TIMEOUT_RANGE: 'entity_builder.flow.validation.trigger.timeout.range',
389
+ TRIGGER_RATE_LIMIT_RANGE: 'entity_builder.flow.validation.trigger.rate.limit.range',
390
+ TRIGGER_API_KEY_REQUIRED: 'entity_builder.flow.validation.trigger.api.key.required',
391
+ TRIGGER_API_KEY_INVALID: 'entity_builder.flow.validation.trigger.api.key.invalid',
392
+ NODE_FORWARDS_TOKEN: 'entity_builder.flow.validation.node.forwards.token',
393
+ NODE_ACCESS_TARGET_REQUIRED: 'entity_builder.flow.validation.node.access.target.required',
394
+ INPUT_TOO_MANY: 'entity_builder.flow.validation.input.too.many',
395
+ INPUT_NAME_INVALID: 'entity_builder.flow.validation.input.name.invalid',
396
+ INPUT_NAME_DUPLICATE: 'entity_builder.flow.validation.input.name.duplicate',
397
+ INPUT_TYPE_UNKNOWN: 'entity_builder.flow.validation.input.type.unknown',
398
+ INPUT_CHOICE_NO_OPTIONS: 'entity_builder.flow.validation.input.choice.no.options',
399
+ INPUT_ITEM_TYPE_UNKNOWN: 'entity_builder.flow.validation.input.item.type.unknown',
400
+ INPUT_TOO_DEEP: 'entity_builder.flow.validation.input.too.deep',
401
+ BODY_TYPE_UNKNOWN: 'entity_builder.flow.validation.body.type.unknown',
402
+ NODE_EXPRESSION_PROBLEM: 'entity_builder.flow.validation.node.expression.problem',
403
+ NODE_RULE_PROBLEM: 'entity_builder.flow.validation.node.rule.problem',
404
+ NODE_PAIRS_INVALID: 'entity_builder.flow.validation.node.pairs.invalid',
405
+ NODE_CHOOSE_ENTITY: 'entity_builder.flow.validation.node.choose.entity',
406
+ NODE_ENTITY_UNKNOWN: 'entity_builder.flow.validation.node.entity.unknown',
407
+ NODE_STATUS_4XX: 'entity_builder.flow.validation.node.status.4xx',
408
+ NODE_SETS_NOTHING: 'entity_builder.flow.validation.node.sets.nothing',
409
+ NODE_VARIABLE_INVALID: 'entity_builder.flow.validation.node.variable.invalid',
410
+ NODE_CASE_REQUIRED: 'entity_builder.flow.validation.node.case.required',
411
+ NODE_CASE_INVALID: 'entity_builder.flow.validation.node.case.invalid',
412
+ NODE_CASE_DUPLICATE: 'entity_builder.flow.validation.node.case.duplicate',
413
+ NODE_MAX_ITEMS_RANGE: 'entity_builder.flow.validation.node.max.items.range',
414
+ NODE_LIMIT_RANGE: 'entity_builder.flow.validation.node.limit.range',
415
+ NODE_SORT_INVALID: 'entity_builder.flow.validation.node.sort.invalid',
416
+ NODE_WRITE_TARGET_INVALID: 'entity_builder.flow.validation.node.write.target.invalid',
417
+ NODE_NOT_FOUND_INVALID: 'entity_builder.flow.validation.node.not.found.invalid',
418
+ NODE_FILTER_REQUIRED: 'entity_builder.flow.validation.node.filter.required',
419
+ NODE_CHILDREN_INVALID: 'entity_builder.flow.validation.node.children.invalid',
420
+ NODE_CHILDREN_TOO_MANY: 'entity_builder.flow.validation.node.children.too.many',
421
+ NODE_CHILD_NAME_INVALID: 'entity_builder.flow.validation.node.child.name.invalid',
422
+ NODE_CHILD_NAME_DUPLICATE: 'entity_builder.flow.validation.node.child.name.duplicate',
423
+ NODE_CHILD_PARENT_FIELD_REQUIRED: 'entity_builder.flow.validation.node.child.parent.field.required',
424
+ NODE_CHOOSE_FLOW: 'entity_builder.flow.validation.node.choose.flow',
425
+ NODE_FLOW_UNKNOWN: 'entity_builder.flow.validation.node.flow.unknown',
426
+ NODE_FLOW_ENDPOINT_UNKNOWN: 'entity_builder.flow.validation.node.flow.endpoint.unknown',
427
+ NODE_FLOW_ENDPOINT_REQUIRED: 'entity_builder.flow.validation.node.flow.endpoint.required',
428
+ NODE_CALLS_ITSELF: 'entity_builder.flow.validation.node.calls.itself',
429
+ NODE_FLOW_INACTIVE: 'entity_builder.flow.validation.node.flow.inactive',
430
+ NODE_FLOW_API_KEY: 'entity_builder.flow.validation.node.flow.api.key',
431
+ NODE_FLOW_INPUT_MISSING: 'entity_builder.flow.validation.node.flow.input.missing',
432
+ NODE_FLOW_INPUT_UNDECLARED: 'entity_builder.flow.validation.node.flow.input.undeclared',
433
+ NODE_FLOW_INPUT_LIST_REQUIRED: 'entity_builder.flow.validation.node.flow.input.list.required',
434
+ NODE_FLOW_INPUT_LIST_UNEXPECTED: 'entity_builder.flow.validation.node.flow.input.list.unexpected',
435
+ NODE_FLOW_LOOP: 'entity_builder.flow.validation.node.flow.loop',
436
+ NODE_FLOW_TOO_DEEP: 'entity_builder.flow.validation.node.flow.too.deep',
437
+ NODE_CHOOSE_METHOD: 'entity_builder.flow.validation.node.choose.method',
438
+ NODE_TIMEOUT_RANGE: 'entity_builder.flow.validation.node.timeout.range',
439
+ NODE_EVENT_NAME_INVALID: 'entity_builder.flow.validation.node.event.name.invalid',
440
+ NODE_NOTIFICATION_UNAVAILABLE: 'entity_builder.flow.validation.node.notification.unavailable',
441
+ NODE_NOTIFICATION_OPTION_INVALID: 'entity_builder.flow.validation.node.notification.option.invalid',
442
+ NODE_NOTIFICATION_COMPANY_UNAVAILABLE: 'entity_builder.flow.validation.node.notification.company.unavailable',
443
+ NODE_MESSAGE_TARGET_INVALID: 'entity_builder.flow.validation.node.message.target.invalid',
444
+ COMPANY_NOTIFICATION_WITHOUT_USER: 'entity_builder.flow.validation.company.notification.without.user',
445
+ NODE_EMAIL_UNAVAILABLE: 'entity_builder.flow.validation.node.email.unavailable',
446
+ NODE_EMAIL_OPTION_INVALID: 'entity_builder.flow.validation.node.email.option.invalid',
447
+ NODE_EMAIL_TEMPLATE_REQUIRED: 'entity_builder.flow.validation.node.email.template.required',
448
+ MESSAGE_AFTER_COMMIT: 'entity_builder.flow.validation.message.after.commit',
449
+ PUBLIC_MESSAGE: 'entity_builder.flow.validation.public.message',
450
+ NODE_STATUS_2XX_5XX: 'entity_builder.flow.validation.node.status.2xx.5xx',
451
+ REF_BAD_SCOPE: 'entity_builder.flow.validation.ref.bad.scope',
452
+ REF_NODE_MISSING: 'entity_builder.flow.validation.ref.node.missing',
453
+ REF_SELF: 'entity_builder.flow.validation.ref.self',
454
+ REF_INPUT_UNDECLARED: 'entity_builder.flow.validation.ref.input.undeclared',
455
+ REF_NODE_NOT_YET: 'entity_builder.flow.validation.ref.node.not.yet',
456
+ REF_LOOP_OUTSIDE: 'entity_builder.flow.validation.ref.loop.outside',
457
+ REF_LOOP_PARENT_MISSING: 'entity_builder.flow.validation.ref.loop.parent.missing',
458
+ REF_LOOP_RESULTS_EARLY: 'entity_builder.flow.validation.ref.loop.results.early',
459
+ LOOP_TOO_DEEP: 'entity_builder.flow.validation.loop.too.deep',
460
+ NODE_CHECK_REQUIRED: 'entity_builder.flow.validation.node.check.required',
461
+ NODE_TOO_MANY_CHECKS: 'entity_builder.flow.validation.node.too.many.checks',
462
+ NODE_CHECK_ID_INVALID: 'entity_builder.flow.validation.node.check.id.invalid',
463
+ NODE_CHECK_ID_DUPLICATE: 'entity_builder.flow.validation.node.check.id.duplicate',
464
+ NODE_CHECK_MESSAGE_REQUIRED: 'entity_builder.flow.validation.node.check.message.required',
465
+ NODE_CHECK_FIELD_INVALID: 'entity_builder.flow.validation.node.check.field.invalid',
466
+ NODE_MODE_INVALID: 'entity_builder.flow.validation.node.mode.invalid',
467
+ NODE_PERMISSION_REQUIRED: 'entity_builder.flow.validation.node.permission.required',
468
+ NODE_PERMISSION_OPTION_INVALID: 'entity_builder.flow.validation.node.permission.option.invalid',
469
+ NODE_CODE_REQUIRED: 'entity_builder.flow.validation.node.code.required',
470
+ NODE_CODE_TOO_LONG: 'entity_builder.flow.validation.node.code.too.long',
471
+ NODE_CODE_TIMEOUT_RANGE: 'entity_builder.flow.validation.node.code.timeout.range'
472
+ };
473
+ /** Why an expression or rule inside a flow node is malformed (`node.expression.problem` variable). */ const FLOW_SHAPE_MESSAGES = {
474
+ NOT_AN_EXPRESSION: 'entity_builder.flow.shape.not.an.expression',
475
+ TOO_DEEP: 'entity_builder.flow.shape.too.deep',
476
+ EMPTY_REFERENCE: 'entity_builder.flow.shape.empty.reference',
477
+ NO_TEMPLATE_TEXT: 'entity_builder.flow.shape.no.template.text',
478
+ TEMPLATE_TOO_LONG: 'entity_builder.flow.shape.template.too.long',
479
+ NO_OPERANDS: 'entity_builder.flow.shape.no.operands',
480
+ NO_PARTS: 'entity_builder.flow.shape.no.parts',
481
+ NO_ARGUMENTS: 'entity_builder.flow.shape.no.arguments',
482
+ UNKNOWN_EXPRESSION_TYPE: 'entity_builder.flow.shape.unknown.expression.type',
483
+ NOT_A_RULE: 'entity_builder.flow.shape.not.a.rule',
484
+ TOO_MANY_CONDITIONS: 'entity_builder.flow.shape.too.many.conditions',
485
+ UNKNOWN_OPERATOR: 'entity_builder.flow.shape.unknown.operator',
486
+ CONDITION_INCOMPLETE: 'entity_builder.flow.shape.condition.incomplete',
487
+ UNKNOWN_COMPARISON: 'entity_builder.flow.shape.unknown.comparison',
488
+ REGEX_INVALID: 'entity_builder.flow.shape.regex.invalid',
489
+ REGEX_TOO_LONG: 'entity_builder.flow.shape.regex.too.long',
490
+ REGEX_TOO_COMPLEX: 'entity_builder.flow.shape.regex.too.complex',
491
+ UNKNOWN_FUNCTION: 'entity_builder.flow.shape.unknown.function',
492
+ WRONG_ARGUMENT_COUNT: 'entity_builder.flow.shape.wrong.argument.count',
493
+ DURATION_UNIT_INVALID: 'entity_builder.flow.shape.duration.unit.invalid',
494
+ PERMISSION_CODE_REQUIRED: 'entity_builder.flow.shape.permission.code.required',
495
+ IP_RANGE_INVALID: 'entity_builder.flow.shape.ip.range.invalid',
496
+ LOOKUP_ENTITY_INVALID: 'entity_builder.flow.shape.lookup.entity.invalid',
497
+ LOOKUP_ENTITY_UNKNOWN: 'entity_builder.flow.shape.lookup.entity.unknown',
498
+ LOOKUP_MODE_INVALID: 'entity_builder.flow.shape.lookup.mode.invalid',
499
+ LOOKUP_FILTER_INVALID: 'entity_builder.flow.shape.lookup.filter.invalid',
500
+ LOOKUP_FIELD_INVALID: 'entity_builder.flow.shape.lookup.field.invalid',
501
+ FILTER_OPERATOR_UNKNOWN: 'entity_builder.flow.shape.filter.operator.unknown',
502
+ FILTER_VALUE_REQUIRED: 'entity_builder.flow.shape.filter.value.required'
503
+ };
504
+ /** What a flow node problem is about (`what` variable of the node validation messages). */ const FLOW_SUBJECT_MESSAGES = {
505
+ THE_RULE: 'entity_builder.flow.subject.the.rule',
506
+ THE_CHECK: 'entity_builder.flow.subject.the.check',
507
+ THE_VALUE: 'entity_builder.flow.subject.the.value',
508
+ THE_LIST: 'entity_builder.flow.subject.the.list',
509
+ CHILD_LIST: 'entity_builder.flow.subject.child.list',
510
+ CHILD_FIELD: 'entity_builder.flow.subject.child.field',
511
+ THE_COLLECTED_VALUE: 'entity_builder.flow.subject.the.collected.value',
512
+ THE_RECORD_ID: 'entity_builder.flow.subject.the.record.id',
513
+ THE_SEARCH_TEXT: 'entity_builder.flow.subject.the.search.text',
514
+ THE_URL: 'entity_builder.flow.subject.the.url',
515
+ THE_INPUT_LIST: 'entity_builder.flow.subject.the.input.list',
516
+ THE_RESPONSE: 'entity_builder.flow.subject.the.response',
517
+ THE_RECIPIENTS: 'entity_builder.flow.subject.the.recipients',
518
+ THE_TITLE: 'entity_builder.flow.subject.the.title',
519
+ THE_MESSAGE: 'entity_builder.flow.subject.the.message',
520
+ THE_COMPANY: 'entity_builder.flow.subject.the.company',
521
+ THE_COMPANIES: 'entity_builder.flow.subject.the.companies',
522
+ THE_BRANCHES: 'entity_builder.flow.subject.the.branches',
523
+ THE_CC: 'entity_builder.flow.subject.the.cc',
524
+ THE_BCC: 'entity_builder.flow.subject.the.bcc',
525
+ THE_REPLY_TO: 'entity_builder.flow.subject.the.reply.to',
526
+ THE_SUBJECT: 'entity_builder.flow.subject.the.subject',
527
+ THE_BODY: 'entity_builder.flow.subject.the.body',
528
+ DATA_VALUES: 'entity_builder.flow.subject.data.values',
529
+ DATA_VALUE: 'entity_builder.flow.subject.data.value',
530
+ TEMPLATE_VALUES: 'entity_builder.flow.subject.template.values',
531
+ TEMPLATE_VALUE: 'entity_builder.flow.subject.template.value',
532
+ VARIABLES: 'entity_builder.flow.subject.variables',
533
+ VARIABLE: 'entity_builder.flow.subject.variable',
534
+ FIELDS: 'entity_builder.flow.subject.fields',
535
+ FIELD: 'entity_builder.flow.subject.field',
536
+ FILTERS: 'entity_builder.flow.subject.filters',
537
+ FILTER: 'entity_builder.flow.subject.filter',
538
+ INPUTS: 'entity_builder.flow.subject.inputs',
539
+ INPUT: 'entity_builder.flow.subject.input',
540
+ HEADERS: 'entity_builder.flow.subject.headers',
541
+ HEADER: 'entity_builder.flow.subject.header',
542
+ BODY_VALUES: 'entity_builder.flow.subject.body.values',
543
+ BODY_VALUE: 'entity_builder.flow.subject.body.value',
544
+ PAYLOAD_VALUES: 'entity_builder.flow.subject.payload.values',
545
+ PAYLOAD_VALUE: 'entity_builder.flow.subject.payload.value',
546
+ RESPONSE_VALUES: 'entity_builder.flow.subject.response.values',
547
+ RESPONSE_VALUE: 'entity_builder.flow.subject.response.value'
548
+ };
549
+
550
+ __webpack_require__.d(__webpack_exports__, {
551
+ }, {
552
+ CB: FLOW_SKIP_MESSAGES,
553
+ EQ: SCHEMA_STEP_MESSAGES,
554
+ GY: FLOW_DEFINITION_MESSAGES,
555
+ Hu: SCHEMA_MESSAGES,
556
+ IP: FLOW_SHAPE_MESSAGES,
557
+ KE: FIELD_VALIDATION_MESSAGES,
558
+ M3: SCHEMA_BLOCKER_MESSAGES,
559
+ NE: SCHEMA_PRECHECK_MESSAGES,
560
+ Uu: SCHEMA_WARNING_MESSAGES,
561
+ Vu: SCHEMA_FINDING_MESSAGES,
562
+ aB: SCHEMA_IMPACT_MESSAGES,
563
+ bc: FLOW_SUBJECT_MESSAGES,
564
+ j4: GENERIC_RECORD_MESSAGES,
565
+ oc: FIELD_DEFINITION_MESSAGES,
566
+ pL: ENTITY_DEFINITION_MESSAGES,
567
+ qj: FLOW_VALIDATION_MESSAGES,
568
+ wu: FLOW_MESSAGES,
569
+ x3: RULE_ENGINE_MESSAGES,
570
+ zr: FLOW_ERROR_MESSAGES
571
+ });
572
+
573
+
574
+ },
575
+
576
+ };