@nocobase/plugin-flow-engine 2.1.0-alpha.17 → 2.1.0-alpha.19

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 (56) hide show
  1. package/dist/externalVersion.js +11 -11
  2. package/dist/node_modules/ses/package.json +1 -1
  3. package/dist/node_modules/zod/package.json +1 -1
  4. package/dist/server/flow-surfaces/action-scope.js +3 -1
  5. package/dist/server/flow-surfaces/apply/compiler.js +84 -5
  6. package/dist/server/flow-surfaces/approval/blueprint-service.d.ts +84 -0
  7. package/dist/server/flow-surfaces/approval/blueprint-service.js +589 -0
  8. package/dist/server/flow-surfaces/approval/blueprint.d.ts +21 -0
  9. package/dist/server/flow-surfaces/approval/blueprint.js +190 -0
  10. package/dist/server/flow-surfaces/approval/builder.d.ts +225 -0
  11. package/dist/server/flow-surfaces/approval/builder.js +384 -0
  12. package/dist/server/flow-surfaces/approval/catalog-specs.d.ts +33 -0
  13. package/dist/server/flow-surfaces/approval/catalog-specs.js +156 -0
  14. package/dist/server/flow-surfaces/approval/index.d.ts +14 -0
  15. package/dist/server/flow-surfaces/approval/index.js +40 -0
  16. package/dist/server/flow-surfaces/approval/runtime-config.d.ts +44 -0
  17. package/dist/server/flow-surfaces/approval/runtime-config.js +299 -0
  18. package/dist/server/flow-surfaces/approval/semantic-use.d.ts +23 -0
  19. package/dist/server/flow-surfaces/approval/semantic-use.js +155 -0
  20. package/dist/server/flow-surfaces/blueprint/compile-blocks.js +36 -2
  21. package/dist/server/flow-surfaces/blueprint/public-types.d.ts +7 -0
  22. package/dist/server/flow-surfaces/builder.d.ts +2 -0
  23. package/dist/server/flow-surfaces/builder.js +83 -10
  24. package/dist/server/flow-surfaces/catalog.d.ts +10 -0
  25. package/dist/server/flow-surfaces/catalog.js +368 -9
  26. package/dist/server/flow-surfaces/chart-config.d.ts +1 -1
  27. package/dist/server/flow-surfaces/compose-compiler.d.ts +1 -0
  28. package/dist/server/flow-surfaces/compose-compiler.js +2 -1
  29. package/dist/server/flow-surfaces/configure-options.js +61 -3
  30. package/dist/server/flow-surfaces/constants.d.ts +342 -5
  31. package/dist/server/flow-surfaces/constants.js +59 -125
  32. package/dist/server/flow-surfaces/default-action-popup.d.ts +1 -0
  33. package/dist/server/flow-surfaces/default-action-popup.js +6 -2
  34. package/dist/server/flow-surfaces/field-semantics.js +2 -1
  35. package/dist/server/flow-surfaces/index.js +21 -273
  36. package/dist/server/flow-surfaces/locator.js +8 -6
  37. package/dist/server/flow-surfaces/node-use-sets.js +15 -3
  38. package/dist/server/flow-surfaces/placement.js +11 -7
  39. package/dist/server/flow-surfaces/planning/action-specs.d.ts +1 -1
  40. package/dist/server/flow-surfaces/planning/compiler.d.ts +1 -1
  41. package/dist/server/flow-surfaces/planning/key-kind.js +7 -5
  42. package/dist/server/flow-surfaces/reaction/registry.d.ts +13 -0
  43. package/dist/server/flow-surfaces/reaction/registry.js +13 -0
  44. package/dist/server/flow-surfaces/service-utils.d.ts +10 -14
  45. package/dist/server/flow-surfaces/service-utils.js +4 -2
  46. package/dist/server/flow-surfaces/service.d.ts +63 -1
  47. package/dist/server/flow-surfaces/service.js +1058 -109
  48. package/dist/server/flow-surfaces/surface-context.d.ts +1 -0
  49. package/dist/server/flow-surfaces/surface-context.js +99 -19
  50. package/dist/server/flow-surfaces/types.d.ts +4 -1
  51. package/dist/swagger/flow-surfaces.d.ts +406 -2
  52. package/dist/swagger/flow-surfaces.examples.d.ts +164 -0
  53. package/dist/swagger/flow-surfaces.examples.js +184 -0
  54. package/dist/swagger/flow-surfaces.js +390 -76
  55. package/dist/swagger/index.d.ts +406 -2
  56. package/package.json +2 -2
@@ -7,8 +7,345 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  export { FLOW_SURFACE_PLAN_STEP_ACTIONS } from './planning/action-specs';
10
- export declare const FLOW_SURFACES_ACTION_NAMES: readonly ["catalog", "context", "get", "describeSurface", "getReactionMeta", "setFieldValueRules", "setBlockLinkageRules", "setFieldLinkageRules", "setActionLinkageRules", "applyBlueprint", "listTemplates", "getTemplate", "saveTemplate", "updateTemplate", "destroyTemplate", "convertTemplateToCopy", "compose", "configure", "createMenu", "updateMenu", "createPage", "destroyPage", "addTab", "updateTab", "moveTab", "removeTab", "addPopupTab", "updatePopupTab", "movePopupTab", "removePopupTab", "addBlock", "addBlocks", "addField", "addFields", "addAction", "addActions", "addRecordAction", "addRecordActions", "updateSettings", "setEventFlows", "setLayout", "moveNode", "removeNode", "mutate", "apply"];
11
- export type FlowSurfacesActionName = (typeof FLOW_SURFACES_ACTION_NAMES)[number];
12
- export declare const FLOW_SURFACES_READ_ACTION_NAMES: readonly ["catalog", "context", "get", "describeSurface", "getReactionMeta", "listTemplates", "getTemplate"];
13
- export declare const FLOW_SURFACE_MUTATE_OP_TYPES: readonly ["createMenu", "updateMenu", "createPage", "destroyPage", "addTab", "updateTab", "moveTab", "removeTab", "addPopupTab", "updatePopupTab", "movePopupTab", "removePopupTab", "addBlock", "addField", "addAction", "addRecordAction", "updateSettings", "setEventFlows", "setLayout", "moveNode", "removeNode"];
14
- export declare const FLOW_SURFACES_ACTION_METHODS: Record<FlowSurfacesActionName, 'get' | 'post'>;
10
+ type FlowSurfaceActionMethod = 'get' | 'post';
11
+ type FlowSurfaceActionValueSource = 'default' | 'read';
12
+ export type FlowSurfaceActionDefinition = {
13
+ method: FlowSurfaceActionMethod;
14
+ read: boolean;
15
+ transaction: boolean;
16
+ mutate: boolean;
17
+ valueSource: FlowSurfaceActionValueSource;
18
+ };
19
+ export declare const FLOW_SURFACE_ACTION_DEFINITIONS: {
20
+ readonly catalog: {
21
+ readonly method: "post";
22
+ readonly read: true;
23
+ readonly transaction: false;
24
+ readonly mutate: false;
25
+ readonly valueSource: "default";
26
+ };
27
+ readonly context: {
28
+ readonly method: "post";
29
+ readonly read: true;
30
+ readonly transaction: false;
31
+ readonly mutate: false;
32
+ readonly valueSource: "default";
33
+ };
34
+ readonly get: {
35
+ readonly method: "get";
36
+ readonly read: true;
37
+ readonly transaction: false;
38
+ readonly mutate: false;
39
+ readonly valueSource: "read";
40
+ };
41
+ readonly describeSurface: {
42
+ readonly method: "post";
43
+ readonly read: true;
44
+ readonly transaction: false;
45
+ readonly mutate: false;
46
+ readonly valueSource: "default";
47
+ };
48
+ readonly getReactionMeta: {
49
+ readonly method: "post";
50
+ readonly read: true;
51
+ readonly transaction: false;
52
+ readonly mutate: false;
53
+ readonly valueSource: "default";
54
+ };
55
+ readonly setFieldValueRules: {
56
+ readonly method: "post";
57
+ readonly read: false;
58
+ readonly transaction: true;
59
+ readonly mutate: false;
60
+ readonly valueSource: "default";
61
+ };
62
+ readonly setBlockLinkageRules: {
63
+ readonly method: "post";
64
+ readonly read: false;
65
+ readonly transaction: true;
66
+ readonly mutate: false;
67
+ readonly valueSource: "default";
68
+ };
69
+ readonly setFieldLinkageRules: {
70
+ readonly method: "post";
71
+ readonly read: false;
72
+ readonly transaction: true;
73
+ readonly mutate: false;
74
+ readonly valueSource: "default";
75
+ };
76
+ readonly setActionLinkageRules: {
77
+ readonly method: "post";
78
+ readonly read: false;
79
+ readonly transaction: true;
80
+ readonly mutate: false;
81
+ readonly valueSource: "default";
82
+ };
83
+ readonly applyBlueprint: {
84
+ readonly method: "post";
85
+ readonly read: false;
86
+ readonly transaction: true;
87
+ readonly mutate: false;
88
+ readonly valueSource: "default";
89
+ };
90
+ readonly applyApprovalBlueprint: {
91
+ readonly method: "post";
92
+ readonly read: false;
93
+ readonly transaction: true;
94
+ readonly mutate: false;
95
+ readonly valueSource: "default";
96
+ };
97
+ readonly listTemplates: {
98
+ readonly method: "post";
99
+ readonly read: true;
100
+ readonly transaction: false;
101
+ readonly mutate: false;
102
+ readonly valueSource: "default";
103
+ };
104
+ readonly getTemplate: {
105
+ readonly method: "post";
106
+ readonly read: true;
107
+ readonly transaction: false;
108
+ readonly mutate: false;
109
+ readonly valueSource: "default";
110
+ };
111
+ readonly saveTemplate: {
112
+ readonly method: "post";
113
+ readonly read: false;
114
+ readonly transaction: true;
115
+ readonly mutate: false;
116
+ readonly valueSource: "default";
117
+ };
118
+ readonly updateTemplate: {
119
+ readonly method: "post";
120
+ readonly read: false;
121
+ readonly transaction: true;
122
+ readonly mutate: false;
123
+ readonly valueSource: "default";
124
+ };
125
+ readonly destroyTemplate: {
126
+ readonly method: "post";
127
+ readonly read: false;
128
+ readonly transaction: true;
129
+ readonly mutate: false;
130
+ readonly valueSource: "default";
131
+ };
132
+ readonly convertTemplateToCopy: {
133
+ readonly method: "post";
134
+ readonly read: false;
135
+ readonly transaction: true;
136
+ readonly mutate: false;
137
+ readonly valueSource: "default";
138
+ };
139
+ readonly compose: {
140
+ readonly method: "post";
141
+ readonly read: false;
142
+ readonly transaction: true;
143
+ readonly mutate: false;
144
+ readonly valueSource: "default";
145
+ };
146
+ readonly configure: {
147
+ readonly method: "post";
148
+ readonly read: false;
149
+ readonly transaction: true;
150
+ readonly mutate: false;
151
+ readonly valueSource: "default";
152
+ };
153
+ readonly createMenu: {
154
+ readonly method: "post";
155
+ readonly read: false;
156
+ readonly transaction: true;
157
+ readonly mutate: true;
158
+ readonly valueSource: "default";
159
+ };
160
+ readonly updateMenu: {
161
+ readonly method: "post";
162
+ readonly read: false;
163
+ readonly transaction: true;
164
+ readonly mutate: true;
165
+ readonly valueSource: "default";
166
+ };
167
+ readonly createPage: {
168
+ readonly method: "post";
169
+ readonly read: false;
170
+ readonly transaction: true;
171
+ readonly mutate: true;
172
+ readonly valueSource: "default";
173
+ };
174
+ readonly destroyPage: {
175
+ readonly method: "post";
176
+ readonly read: false;
177
+ readonly transaction: true;
178
+ readonly mutate: true;
179
+ readonly valueSource: "default";
180
+ };
181
+ readonly addTab: {
182
+ readonly method: "post";
183
+ readonly read: false;
184
+ readonly transaction: true;
185
+ readonly mutate: true;
186
+ readonly valueSource: "default";
187
+ };
188
+ readonly updateTab: {
189
+ readonly method: "post";
190
+ readonly read: false;
191
+ readonly transaction: true;
192
+ readonly mutate: true;
193
+ readonly valueSource: "default";
194
+ };
195
+ readonly moveTab: {
196
+ readonly method: "post";
197
+ readonly read: false;
198
+ readonly transaction: true;
199
+ readonly mutate: true;
200
+ readonly valueSource: "default";
201
+ };
202
+ readonly removeTab: {
203
+ readonly method: "post";
204
+ readonly read: false;
205
+ readonly transaction: true;
206
+ readonly mutate: true;
207
+ readonly valueSource: "default";
208
+ };
209
+ readonly addPopupTab: {
210
+ readonly method: "post";
211
+ readonly read: false;
212
+ readonly transaction: true;
213
+ readonly mutate: true;
214
+ readonly valueSource: "default";
215
+ };
216
+ readonly updatePopupTab: {
217
+ readonly method: "post";
218
+ readonly read: false;
219
+ readonly transaction: true;
220
+ readonly mutate: true;
221
+ readonly valueSource: "default";
222
+ };
223
+ readonly movePopupTab: {
224
+ readonly method: "post";
225
+ readonly read: false;
226
+ readonly transaction: true;
227
+ readonly mutate: true;
228
+ readonly valueSource: "default";
229
+ };
230
+ readonly removePopupTab: {
231
+ readonly method: "post";
232
+ readonly read: false;
233
+ readonly transaction: true;
234
+ readonly mutate: true;
235
+ readonly valueSource: "default";
236
+ };
237
+ readonly addBlock: {
238
+ readonly method: "post";
239
+ readonly read: false;
240
+ readonly transaction: true;
241
+ readonly mutate: true;
242
+ readonly valueSource: "default";
243
+ };
244
+ readonly addBlocks: {
245
+ readonly method: "post";
246
+ readonly read: false;
247
+ readonly transaction: false;
248
+ readonly mutate: false;
249
+ readonly valueSource: "default";
250
+ };
251
+ readonly addField: {
252
+ readonly method: "post";
253
+ readonly read: false;
254
+ readonly transaction: true;
255
+ readonly mutate: true;
256
+ readonly valueSource: "default";
257
+ };
258
+ readonly addFields: {
259
+ readonly method: "post";
260
+ readonly read: false;
261
+ readonly transaction: false;
262
+ readonly mutate: false;
263
+ readonly valueSource: "default";
264
+ };
265
+ readonly addAction: {
266
+ readonly method: "post";
267
+ readonly read: false;
268
+ readonly transaction: true;
269
+ readonly mutate: true;
270
+ readonly valueSource: "default";
271
+ };
272
+ readonly addActions: {
273
+ readonly method: "post";
274
+ readonly read: false;
275
+ readonly transaction: false;
276
+ readonly mutate: false;
277
+ readonly valueSource: "default";
278
+ };
279
+ readonly addRecordAction: {
280
+ readonly method: "post";
281
+ readonly read: false;
282
+ readonly transaction: true;
283
+ readonly mutate: true;
284
+ readonly valueSource: "default";
285
+ };
286
+ readonly addRecordActions: {
287
+ readonly method: "post";
288
+ readonly read: false;
289
+ readonly transaction: false;
290
+ readonly mutate: false;
291
+ readonly valueSource: "default";
292
+ };
293
+ readonly updateSettings: {
294
+ readonly method: "post";
295
+ readonly read: false;
296
+ readonly transaction: true;
297
+ readonly mutate: true;
298
+ readonly valueSource: "default";
299
+ };
300
+ readonly setEventFlows: {
301
+ readonly method: "post";
302
+ readonly read: false;
303
+ readonly transaction: true;
304
+ readonly mutate: true;
305
+ readonly valueSource: "default";
306
+ };
307
+ readonly setLayout: {
308
+ readonly method: "post";
309
+ readonly read: false;
310
+ readonly transaction: true;
311
+ readonly mutate: true;
312
+ readonly valueSource: "default";
313
+ };
314
+ readonly moveNode: {
315
+ readonly method: "post";
316
+ readonly read: false;
317
+ readonly transaction: true;
318
+ readonly mutate: true;
319
+ readonly valueSource: "default";
320
+ };
321
+ readonly removeNode: {
322
+ readonly method: "post";
323
+ readonly read: false;
324
+ readonly transaction: true;
325
+ readonly mutate: true;
326
+ readonly valueSource: "default";
327
+ };
328
+ readonly mutate: {
329
+ readonly method: "post";
330
+ readonly read: false;
331
+ readonly transaction: true;
332
+ readonly mutate: false;
333
+ readonly valueSource: "default";
334
+ };
335
+ readonly apply: {
336
+ readonly method: "post";
337
+ readonly read: false;
338
+ readonly transaction: true;
339
+ readonly mutate: false;
340
+ readonly valueSource: "default";
341
+ };
342
+ };
343
+ export type FlowSurfacesActionName = keyof typeof FLOW_SURFACE_ACTION_DEFINITIONS;
344
+ type SelectFlowSurfaceActionNames<TFlag extends keyof FlowSurfaceActionDefinition> = {
345
+ [K in FlowSurfacesActionName]: (typeof FLOW_SURFACE_ACTION_DEFINITIONS)[K][TFlag] extends true ? K : never;
346
+ }[FlowSurfacesActionName];
347
+ type FlowSurfaceMutateActionName = SelectFlowSurfaceActionNames<'mutate'>;
348
+ export declare const FLOW_SURFACES_ACTION_NAMES: ("createMenu" | "catalog" | "get" | "context" | "describeSurface" | "getReactionMeta" | "setFieldValueRules" | "setBlockLinkageRules" | "setFieldLinkageRules" | "setActionLinkageRules" | "applyBlueprint" | "applyApprovalBlueprint" | "listTemplates" | "getTemplate" | "saveTemplate" | "updateTemplate" | "destroyTemplate" | "convertTemplateToCopy" | "compose" | "configure" | "updateMenu" | "createPage" | "destroyPage" | "addTab" | "updateTab" | "moveTab" | "removeTab" | "addPopupTab" | "updatePopupTab" | "movePopupTab" | "removePopupTab" | "addBlock" | "addBlocks" | "addField" | "addFields" | "addAction" | "addActions" | "addRecordAction" | "addRecordActions" | "updateSettings" | "setEventFlows" | "setLayout" | "moveNode" | "removeNode" | "mutate" | "apply")[];
349
+ export declare const FLOW_SURFACES_READ_ACTION_NAMES: SelectFlowSurfaceActionNames<"read">[];
350
+ export declare const FLOW_SURFACE_MUTATE_OP_TYPES: FlowSurfaceMutateActionName[];
351
+ export declare const FLOW_SURFACES_ACTION_METHODS: Record<"createMenu" | "catalog" | "get" | "context" | "describeSurface" | "getReactionMeta" | "setFieldValueRules" | "setBlockLinkageRules" | "setFieldLinkageRules" | "setActionLinkageRules" | "applyBlueprint" | "applyApprovalBlueprint" | "listTemplates" | "getTemplate" | "saveTemplate" | "updateTemplate" | "destroyTemplate" | "convertTemplateToCopy" | "compose" | "configure" | "updateMenu" | "createPage" | "destroyPage" | "addTab" | "updateTab" | "moveTab" | "removeTab" | "addPopupTab" | "updatePopupTab" | "movePopupTab" | "removePopupTab" | "addBlock" | "addBlocks" | "addField" | "addFields" | "addAction" | "addActions" | "addRecordAction" | "addRecordActions" | "updateSettings" | "setEventFlows" | "setLayout" | "moveNode" | "removeNode" | "mutate" | "apply", FlowSurfaceActionMethod>;
@@ -29,142 +29,76 @@ __export(constants_exports, {
29
29
  FLOW_SURFACES_ACTION_METHODS: () => FLOW_SURFACES_ACTION_METHODS,
30
30
  FLOW_SURFACES_ACTION_NAMES: () => FLOW_SURFACES_ACTION_NAMES,
31
31
  FLOW_SURFACES_READ_ACTION_NAMES: () => FLOW_SURFACES_READ_ACTION_NAMES,
32
+ FLOW_SURFACE_ACTION_DEFINITIONS: () => FLOW_SURFACE_ACTION_DEFINITIONS,
32
33
  FLOW_SURFACE_MUTATE_OP_TYPES: () => FLOW_SURFACE_MUTATE_OP_TYPES,
33
34
  FLOW_SURFACE_PLAN_STEP_ACTIONS: () => import_action_specs.FLOW_SURFACE_PLAN_STEP_ACTIONS
34
35
  });
35
36
  module.exports = __toCommonJS(constants_exports);
36
37
  var import_action_specs = require("./planning/action-specs");
37
- const FLOW_SURFACES_ACTION_NAMES = [
38
- "catalog",
39
- "context",
40
- "get",
41
- "describeSurface",
42
- "getReactionMeta",
43
- "setFieldValueRules",
44
- "setBlockLinkageRules",
45
- "setFieldLinkageRules",
46
- "setActionLinkageRules",
47
- "applyBlueprint",
48
- "listTemplates",
49
- "getTemplate",
50
- "saveTemplate",
51
- "updateTemplate",
52
- "destroyTemplate",
53
- "convertTemplateToCopy",
54
- "compose",
55
- "configure",
56
- "createMenu",
57
- "updateMenu",
58
- "createPage",
59
- "destroyPage",
60
- "addTab",
61
- "updateTab",
62
- "moveTab",
63
- "removeTab",
64
- "addPopupTab",
65
- "updatePopupTab",
66
- "movePopupTab",
67
- "removePopupTab",
68
- "addBlock",
69
- "addBlocks",
70
- "addField",
71
- "addFields",
72
- "addAction",
73
- "addActions",
74
- "addRecordAction",
75
- "addRecordActions",
76
- "updateSettings",
77
- "setEventFlows",
78
- "setLayout",
79
- "moveNode",
80
- "removeNode",
81
- "mutate",
82
- "apply"
83
- ];
84
- const FLOW_SURFACES_READ_ACTION_NAMES = [
85
- "catalog",
86
- "context",
87
- "get",
88
- "describeSurface",
89
- "getReactionMeta",
90
- "listTemplates",
91
- "getTemplate"
92
- ];
93
- const FLOW_SURFACE_MUTATE_OP_TYPES = [
94
- "createMenu",
95
- "updateMenu",
96
- "createPage",
97
- "destroyPage",
98
- "addTab",
99
- "updateTab",
100
- "moveTab",
101
- "removeTab",
102
- "addPopupTab",
103
- "updatePopupTab",
104
- "movePopupTab",
105
- "removePopupTab",
106
- "addBlock",
107
- "addField",
108
- "addAction",
109
- "addRecordAction",
110
- "updateSettings",
111
- "setEventFlows",
112
- "setLayout",
113
- "moveNode",
114
- "removeNode"
115
- ];
116
- const FLOW_SURFACES_ACTION_METHODS = {
117
- catalog: "post",
118
- context: "post",
119
- get: "get",
120
- describeSurface: "post",
121
- getReactionMeta: "post",
122
- setFieldValueRules: "post",
123
- setBlockLinkageRules: "post",
124
- setFieldLinkageRules: "post",
125
- setActionLinkageRules: "post",
126
- applyBlueprint: "post",
127
- listTemplates: "post",
128
- getTemplate: "post",
129
- saveTemplate: "post",
130
- updateTemplate: "post",
131
- destroyTemplate: "post",
132
- convertTemplateToCopy: "post",
133
- compose: "post",
134
- configure: "post",
135
- createMenu: "post",
136
- updateMenu: "post",
137
- createPage: "post",
138
- destroyPage: "post",
139
- addTab: "post",
140
- updateTab: "post",
141
- moveTab: "post",
142
- removeTab: "post",
143
- addPopupTab: "post",
144
- updatePopupTab: "post",
145
- movePopupTab: "post",
146
- removePopupTab: "post",
147
- addBlock: "post",
148
- addBlocks: "post",
149
- addField: "post",
150
- addFields: "post",
151
- addAction: "post",
152
- addActions: "post",
153
- addRecordAction: "post",
154
- addRecordActions: "post",
155
- updateSettings: "post",
156
- setEventFlows: "post",
157
- setLayout: "post",
158
- moveNode: "post",
159
- removeNode: "post",
160
- mutate: "post",
161
- apply: "post"
38
+ const FLOW_SURFACE_ACTION_DEFINITIONS = {
39
+ catalog: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
40
+ context: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
41
+ get: { method: "get", read: true, transaction: false, mutate: false, valueSource: "read" },
42
+ describeSurface: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
43
+ getReactionMeta: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
44
+ setFieldValueRules: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
45
+ setBlockLinkageRules: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
46
+ setFieldLinkageRules: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
47
+ setActionLinkageRules: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
48
+ applyBlueprint: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
49
+ applyApprovalBlueprint: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
50
+ listTemplates: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
51
+ getTemplate: { method: "post", read: true, transaction: false, mutate: false, valueSource: "default" },
52
+ saveTemplate: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
53
+ updateTemplate: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
54
+ destroyTemplate: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
55
+ convertTemplateToCopy: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
56
+ compose: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
57
+ configure: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
58
+ createMenu: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
59
+ updateMenu: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
60
+ createPage: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
61
+ destroyPage: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
62
+ addTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
63
+ updateTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
64
+ moveTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
65
+ removeTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
66
+ addPopupTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
67
+ updatePopupTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
68
+ movePopupTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
69
+ removePopupTab: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
70
+ addBlock: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
71
+ addBlocks: { method: "post", read: false, transaction: false, mutate: false, valueSource: "default" },
72
+ addField: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
73
+ addFields: { method: "post", read: false, transaction: false, mutate: false, valueSource: "default" },
74
+ addAction: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
75
+ addActions: { method: "post", read: false, transaction: false, mutate: false, valueSource: "default" },
76
+ addRecordAction: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
77
+ addRecordActions: { method: "post", read: false, transaction: false, mutate: false, valueSource: "default" },
78
+ updateSettings: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
79
+ setEventFlows: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
80
+ setLayout: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
81
+ moveNode: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
82
+ removeNode: { method: "post", read: false, transaction: true, mutate: true, valueSource: "default" },
83
+ mutate: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" },
84
+ apply: { method: "post", read: false, transaction: true, mutate: false, valueSource: "default" }
162
85
  };
86
+ const FLOW_SURFACES_ACTION_NAMES = Object.keys(FLOW_SURFACE_ACTION_DEFINITIONS);
87
+ const FLOW_SURFACES_READ_ACTION_NAMES = FLOW_SURFACES_ACTION_NAMES.filter(
88
+ (actionName) => FLOW_SURFACE_ACTION_DEFINITIONS[actionName].read === true
89
+ );
90
+ const FLOW_SURFACE_MUTATE_OP_TYPES = FLOW_SURFACES_ACTION_NAMES.filter(
91
+ (actionName) => FLOW_SURFACE_ACTION_DEFINITIONS[actionName].mutate === true
92
+ );
93
+ const FLOW_SURFACES_ACTION_METHODS = Object.fromEntries(
94
+ FLOW_SURFACES_ACTION_NAMES.map((actionName) => [actionName, FLOW_SURFACE_ACTION_DEFINITIONS[actionName].method])
95
+ );
163
96
  // Annotate the CommonJS export names for ESM import in node:
164
97
  0 && (module.exports = {
165
98
  FLOW_SURFACES_ACTION_METHODS,
166
99
  FLOW_SURFACES_ACTION_NAMES,
167
100
  FLOW_SURFACES_READ_ACTION_NAMES,
101
+ FLOW_SURFACE_ACTION_DEFINITIONS,
168
102
  FLOW_SURFACE_MUTATE_OP_TYPES,
169
103
  FLOW_SURFACE_PLAN_STEP_ACTIONS
170
104
  });
@@ -36,6 +36,7 @@ export type FlowSurfaceDefaultActionPopupFieldCandidate = {
36
36
  };
37
37
  type FlowSurfaceDefaultActionPopupFieldFilterOptions = {
38
38
  excludeAuditTimestampFields?: boolean;
39
+ excludeAssociationFields?: boolean;
39
40
  };
40
41
  export declare const FLOW_SURFACE_DEFAULT_ACTION_POPUP_TYPES: Set<FlowSurfaceDefaultActionPopupType>;
41
42
  export declare const FLOW_SURFACE_DEFAULT_ACTION_POPUP_USES: Set<FlowSurfaceDefaultActionPopupUse>;
@@ -193,6 +193,10 @@ function isFlowSurfaceDefaultActionPopupMultiValueAssociationField(field) {
193
193
  const fieldInterface = String((0, import_service_helpers.getFieldInterface)(field) || "").trim();
194
194
  return import_field_semantics.MULTI_VALUE_ASSOCIATION_INTERFACES.has(fieldInterface);
195
195
  }
196
+ function isFlowSurfaceDefaultActionPopupAssociationField(field) {
197
+ const fieldType = String((0, import_service_helpers.getFieldType)(field) || "").trim();
198
+ return fieldType === "belongsTo" || fieldType === "hasOne" || fieldType === "hasMany" || fieldType === "belongsToMany";
199
+ }
196
200
  function collectFlowSurfaceDefaultActionPopupAssociationForeignKeys(candidates) {
197
201
  return new Set(
198
202
  candidates.map((candidate) => candidate == null ? void 0 : candidate.field).filter((field) => (0, import_service_helpers.getFieldType)(field) === "belongsTo").map((field) => {
@@ -208,10 +212,10 @@ function isFlowSurfaceDefaultActionPopupAssociationForeignKeyField(field, associ
208
212
  function pickFlowSurfaceDefaultActionPopupFieldPaths(candidates, options = {}) {
209
213
  const associationForeignKeys = collectFlowSurfaceDefaultActionPopupAssociationForeignKeys(candidates);
210
214
  const preferredCandidates = candidates.filter(
211
- (candidate) => !isFlowSurfaceDefaultActionPopupSystemField(candidate.field) && (!options.excludeAuditTimestampFields || !isFlowSurfaceDefaultActionPopupAuditTimestampField(candidate.field)) && !isFlowSurfaceDefaultActionPopupMultiValueAssociationField(candidate.field) && !isFlowSurfaceDefaultActionPopupAssociationForeignKeyField(candidate.field, associationForeignKeys)
215
+ (candidate) => !isFlowSurfaceDefaultActionPopupSystemField(candidate.field) && (!options.excludeAuditTimestampFields || !isFlowSurfaceDefaultActionPopupAuditTimestampField(candidate.field)) && (!options.excludeAssociationFields || !isFlowSurfaceDefaultActionPopupAssociationField(candidate.field)) && !isFlowSurfaceDefaultActionPopupMultiValueAssociationField(candidate.field) && !isFlowSurfaceDefaultActionPopupAssociationForeignKeyField(candidate.field, associationForeignKeys)
212
216
  );
213
217
  const fallbackCandidates = candidates.filter(
214
- (candidate) => !isFlowSurfaceDefaultActionPopupTechnicalIdField(candidate.field) && (!options.excludeAuditTimestampFields || !isFlowSurfaceDefaultActionPopupAuditTimestampField(candidate.field)) && !isFlowSurfaceDefaultActionPopupMultiValueAssociationField(candidate.field) && !isFlowSurfaceDefaultActionPopupAssociationForeignKeyField(candidate.field, associationForeignKeys)
218
+ (candidate) => !isFlowSurfaceDefaultActionPopupTechnicalIdField(candidate.field) && (!options.excludeAuditTimestampFields || !isFlowSurfaceDefaultActionPopupAuditTimestampField(candidate.field)) && (!options.excludeAssociationFields || !isFlowSurfaceDefaultActionPopupAssociationField(candidate.field)) && !isFlowSurfaceDefaultActionPopupMultiValueAssociationField(candidate.field) && !isFlowSurfaceDefaultActionPopupAssociationForeignKeyField(candidate.field, associationForeignKeys)
215
219
  );
216
220
  const baseCandidates = preferredCandidates.length ? preferredCandidates : fallbackCandidates;
217
221
  return baseCandidates.map((candidate) => String((candidate == null ? void 0 : candidate.fieldPath) || "").trim()).filter(Boolean);
@@ -31,6 +31,7 @@ __export(field_semantics_exports, {
31
31
  shouldUseAssociationTitleTextDisplay: () => shouldUseAssociationTitleTextDisplay
32
32
  });
33
33
  module.exports = __toCommonJS(field_semantics_exports);
34
+ var import_approval = require("./approval");
34
35
  const FORM_FIELD_CONTAINER_USES = /* @__PURE__ */ new Set([
35
36
  "FormBlockModel",
36
37
  "CreateFormModel",
@@ -53,7 +54,7 @@ const FILTER_FIELD_CONTAINER_USES = /* @__PURE__ */ new Set(["FilterFormBlockMod
53
54
  const TABLE_FIELD_CONTAINER_USES = /* @__PURE__ */ new Set(["TableBlockModel", "TableColumnModel"]);
54
55
  const MULTI_VALUE_ASSOCIATION_INTERFACES = /* @__PURE__ */ new Set(["m2m", "o2m", "mbm"]);
55
56
  function normalizeFieldContainerKind(containerUse) {
56
- const normalized = String(containerUse || "").trim();
57
+ const normalized = (0, import_approval.normalizeApprovalSemanticUse)(containerUse);
57
58
  if (FORM_FIELD_CONTAINER_USES.has(normalized)) {
58
59
  return "form";
59
60
  }