@inf-monkeys-tech/monkeys 1.0.68 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/contracts/declarative-control-http.d.ts +1681 -369
  2. package/lib/contracts/declarative-control-http.d.ts.map +1 -1
  3. package/lib/contracts/declarative-control.d.ts +740 -23
  4. package/lib/contracts/declarative-control.d.ts.map +1 -1
  5. package/lib/contracts/declarative-control.js +22 -3
  6. package/lib/contracts/declarative-control.js.map +1 -1
  7. package/lib/contracts/index.d.ts +1 -0
  8. package/lib/contracts/index.d.ts.map +1 -1
  9. package/lib/contracts/index.js +1 -0
  10. package/lib/contracts/index.js.map +1 -1
  11. package/lib/contracts/workflow-column.d.ts +130 -0
  12. package/lib/contracts/workflow-column.d.ts.map +1 -0
  13. package/lib/contracts/workflow-column.js +72 -0
  14. package/lib/contracts/workflow-column.js.map +1 -0
  15. package/lib/esm/contracts/index.mjs +103 -25
  16. package/lib/esm/contracts/index.mjs.map +1 -1
  17. package/lib/esm/index.mjs +225 -25
  18. package/lib/esm/index.mjs.map +1 -1
  19. package/lib/esm/runtime/index.mjs +207 -15
  20. package/lib/esm/runtime/index.mjs.map +1 -1
  21. package/lib/esm/schemas/index.mjs +81 -3
  22. package/lib/esm/schemas/index.mjs.map +1 -1
  23. package/lib/json-schema/index.json +1 -0
  24. package/lib/json-schema/navigation-release.schema.json +582 -0
  25. package/lib/json-schema/navigation-runtime-bundle.schema.json +579 -0
  26. package/lib/json-schema/workflow-column-binding.schema.json +386 -0
  27. package/lib/runtime/declarative-control-compiler.d.ts.map +1 -1
  28. package/lib/runtime/declarative-control-compiler.js +26 -0
  29. package/lib/runtime/declarative-control-compiler.js.map +1 -1
  30. package/lib/runtime/index.d.ts +2 -0
  31. package/lib/runtime/index.d.ts.map +1 -1
  32. package/lib/runtime/index.js +2 -0
  33. package/lib/runtime/index.js.map +1 -1
  34. package/lib/runtime/menu-compiler.d.ts +19 -1
  35. package/lib/runtime/menu-compiler.d.ts.map +1 -1
  36. package/lib/runtime/menu-compiler.js +34 -0
  37. package/lib/runtime/menu-compiler.js.map +1 -1
  38. package/lib/runtime/navigation-availability.d.ts +6 -0
  39. package/lib/runtime/navigation-availability.d.ts.map +1 -0
  40. package/lib/runtime/navigation-availability.js +17 -0
  41. package/lib/runtime/navigation-availability.js.map +1 -0
  42. package/lib/runtime/workflow-column.d.ts +8 -0
  43. package/lib/runtime/workflow-column.d.ts.map +1 -0
  44. package/lib/runtime/workflow-column.js +57 -0
  45. package/lib/runtime/workflow-column.js.map +1 -0
  46. package/lib/schemas/index.d.ts +310 -1
  47. package/lib/schemas/index.d.ts.map +1 -1
  48. package/lib/schemas/index.js +13 -4
  49. package/lib/schemas/index.js.map +1 -1
  50. package/package.json +1 -1
  51. package/test/fixtures/navigation-three-roots-topology.json +275 -0
@@ -0,0 +1,386 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "contract": {
6
+ "type": "string",
7
+ "const": "WorkflowColumnBinding"
8
+ },
9
+ "version": {
10
+ "type": "number",
11
+ "const": 1
12
+ },
13
+ "enabled": {
14
+ "type": "boolean"
15
+ },
16
+ "paused": {
17
+ "default": false,
18
+ "type": "boolean"
19
+ },
20
+ "workflow": {
21
+ "type": "object",
22
+ "properties": {
23
+ "id": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "maxLength": 256
27
+ },
28
+ "version": {
29
+ "type": "integer",
30
+ "exclusiveMinimum": 0,
31
+ "maximum": 9007199254740991
32
+ },
33
+ "inputSchemaHash": {
34
+ "type": "string",
35
+ "pattern": "^[a-f0-9]{64}$"
36
+ }
37
+ },
38
+ "required": [
39
+ "id",
40
+ "version",
41
+ "inputSchemaHash"
42
+ ],
43
+ "additionalProperties": false
44
+ },
45
+ "inputs": {
46
+ "type": "object",
47
+ "propertyNames": {
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 128
51
+ },
52
+ "additionalProperties": {
53
+ "anyOf": [
54
+ {
55
+ "type": "object",
56
+ "properties": {
57
+ "kind": {
58
+ "type": "string",
59
+ "const": "default"
60
+ }
61
+ },
62
+ "required": [
63
+ "kind"
64
+ ],
65
+ "additionalProperties": false
66
+ },
67
+ {
68
+ "type": "object",
69
+ "properties": {
70
+ "kind": {
71
+ "type": "string",
72
+ "const": "constant"
73
+ },
74
+ "value": {
75
+ "$ref": "#/$defs/__schema0"
76
+ }
77
+ },
78
+ "required": [
79
+ "kind",
80
+ "value"
81
+ ],
82
+ "additionalProperties": false
83
+ },
84
+ {
85
+ "type": "object",
86
+ "properties": {
87
+ "kind": {
88
+ "type": "string",
89
+ "const": "field"
90
+ },
91
+ "field": {
92
+ "type": "object",
93
+ "properties": {
94
+ "ontologyId": {
95
+ "type": "string",
96
+ "minLength": 1,
97
+ "maxLength": 256
98
+ },
99
+ "fieldKey": {
100
+ "type": "string",
101
+ "minLength": 1,
102
+ "maxLength": 256
103
+ }
104
+ },
105
+ "required": [
106
+ "ontologyId",
107
+ "fieldKey"
108
+ ],
109
+ "additionalProperties": false
110
+ }
111
+ },
112
+ "required": [
113
+ "kind",
114
+ "field"
115
+ ],
116
+ "additionalProperties": false
117
+ },
118
+ {
119
+ "type": "object",
120
+ "properties": {
121
+ "kind": {
122
+ "type": "string",
123
+ "const": "context"
124
+ },
125
+ "field": {
126
+ "type": "string",
127
+ "enum": [
128
+ "assetId",
129
+ "teamId",
130
+ "ontologyId",
131
+ "columnId"
132
+ ]
133
+ }
134
+ },
135
+ "required": [
136
+ "kind",
137
+ "field"
138
+ ],
139
+ "additionalProperties": false
140
+ }
141
+ ]
142
+ }
143
+ },
144
+ "dependencies": {
145
+ "default": [],
146
+ "maxItems": 100,
147
+ "type": "array",
148
+ "items": {
149
+ "anyOf": [
150
+ {
151
+ "type": "object",
152
+ "properties": {
153
+ "kind": {
154
+ "type": "string",
155
+ "const": "field"
156
+ },
157
+ "field": {
158
+ "type": "object",
159
+ "properties": {
160
+ "ontologyId": {
161
+ "type": "string",
162
+ "minLength": 1,
163
+ "maxLength": 256
164
+ },
165
+ "fieldKey": {
166
+ "type": "string",
167
+ "minLength": 1,
168
+ "maxLength": 256
169
+ }
170
+ },
171
+ "required": [
172
+ "ontologyId",
173
+ "fieldKey"
174
+ ],
175
+ "additionalProperties": false
176
+ }
177
+ },
178
+ "required": [
179
+ "kind",
180
+ "field"
181
+ ],
182
+ "additionalProperties": false
183
+ },
184
+ {
185
+ "type": "object",
186
+ "properties": {
187
+ "kind": {
188
+ "type": "string",
189
+ "const": "relation"
190
+ },
191
+ "relation": {
192
+ "type": "object",
193
+ "properties": {
194
+ "ontologyId": {
195
+ "type": "string",
196
+ "minLength": 1,
197
+ "maxLength": 256
198
+ },
199
+ "fieldKey": {
200
+ "type": "string",
201
+ "minLength": 1,
202
+ "maxLength": 256
203
+ }
204
+ },
205
+ "required": [
206
+ "ontologyId",
207
+ "fieldKey"
208
+ ],
209
+ "additionalProperties": false
210
+ },
211
+ "direction": {
212
+ "type": "string",
213
+ "enum": [
214
+ "incoming",
215
+ "outgoing"
216
+ ]
217
+ },
218
+ "fields": {
219
+ "maxItems": 100,
220
+ "type": "array",
221
+ "items": {
222
+ "type": "object",
223
+ "properties": {
224
+ "ontologyId": {
225
+ "type": "string",
226
+ "minLength": 1,
227
+ "maxLength": 256
228
+ },
229
+ "fieldKey": {
230
+ "type": "string",
231
+ "minLength": 1,
232
+ "maxLength": 256
233
+ }
234
+ },
235
+ "required": [
236
+ "ontologyId",
237
+ "fieldKey"
238
+ ],
239
+ "additionalProperties": false
240
+ }
241
+ }
242
+ },
243
+ "required": [
244
+ "kind",
245
+ "relation",
246
+ "direction",
247
+ "fields"
248
+ ],
249
+ "additionalProperties": false
250
+ }
251
+ ]
252
+ }
253
+ },
254
+ "output": {
255
+ "type": "object",
256
+ "properties": {
257
+ "type": {
258
+ "type": "string",
259
+ "enum": [
260
+ "number",
261
+ "text",
262
+ "json"
263
+ ]
264
+ },
265
+ "path": {
266
+ "maxItems": 20,
267
+ "type": "array",
268
+ "items": {
269
+ "type": "string",
270
+ "minLength": 1,
271
+ "maxLength": 256
272
+ }
273
+ },
274
+ "nullable": {
275
+ "default": false,
276
+ "type": "boolean"
277
+ }
278
+ },
279
+ "required": [
280
+ "type",
281
+ "path",
282
+ "nullable"
283
+ ],
284
+ "additionalProperties": false
285
+ },
286
+ "policy": {
287
+ "default": {
288
+ "debounceMs": 5000,
289
+ "maxDelayMs": 30000,
290
+ "concurrency": 2
291
+ },
292
+ "type": "object",
293
+ "properties": {
294
+ "debounceMs": {
295
+ "default": 5000,
296
+ "type": "integer",
297
+ "minimum": 0,
298
+ "maximum": 30000
299
+ },
300
+ "maxDelayMs": {
301
+ "default": 30000,
302
+ "type": "integer",
303
+ "minimum": 0,
304
+ "maximum": 30000
305
+ },
306
+ "concurrency": {
307
+ "default": 2,
308
+ "type": "integer",
309
+ "minimum": 1,
310
+ "maximum": 32
311
+ }
312
+ },
313
+ "required": [
314
+ "debounceMs",
315
+ "maxDelayMs",
316
+ "concurrency"
317
+ ],
318
+ "additionalProperties": false
319
+ },
320
+ "expiry": {
321
+ "type": "object",
322
+ "properties": {
323
+ "path": {
324
+ "maxItems": 20,
325
+ "type": "array",
326
+ "items": {
327
+ "type": "string",
328
+ "minLength": 1,
329
+ "maxLength": 256
330
+ }
331
+ }
332
+ },
333
+ "required": [
334
+ "path"
335
+ ],
336
+ "additionalProperties": false
337
+ }
338
+ },
339
+ "required": [
340
+ "contract",
341
+ "version",
342
+ "enabled",
343
+ "paused",
344
+ "workflow",
345
+ "inputs",
346
+ "dependencies",
347
+ "output",
348
+ "policy"
349
+ ],
350
+ "additionalProperties": false,
351
+ "$defs": {
352
+ "__schema0": {
353
+ "anyOf": [
354
+ {
355
+ "type": "string"
356
+ },
357
+ {
358
+ "type": "number"
359
+ },
360
+ {
361
+ "type": "boolean"
362
+ },
363
+ {
364
+ "type": "null"
365
+ },
366
+ {
367
+ "type": "array",
368
+ "items": {
369
+ "$ref": "#/$defs/__schema0"
370
+ }
371
+ },
372
+ {
373
+ "type": "object",
374
+ "propertyNames": {
375
+ "type": "string"
376
+ },
377
+ "additionalProperties": {
378
+ "$ref": "#/$defs/__schema0"
379
+ }
380
+ }
381
+ ]
382
+ }
383
+ },
384
+ "$id": "https://schemas.infmonkeys.com/contracts/workflow-column-binding.schema.json",
385
+ "title": "workflow-column-binding"
386
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"declarative-control-compiler.d.ts","sourceRoot":"","sources":["../../src/runtime/declarative-control-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declarative-control-compiler.d.ts","sourceRoot":"","sources":["../../src/runtime/declarative-control-compiler.ts"],"names":[],"mappings":"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"}
@@ -709,7 +709,14 @@ const compileNavigationRuntimeBundle = (input) => {
709
709
  assertUniqueRegistryKeys(targetRegistry.map((registration) => (0, exports.stableRefKey)(registration.stableTargetRef)), 'targetRegistry');
710
710
  const targetsByStableRef = new Map(targetRegistry.map((registration) => [(0, exports.stableRefKey)(registration.stableTargetRef), registration]));
711
711
  const releasedByNodeId = new Map(release.resolvedTargets.map((target) => [target.nodeId, target]));
712
+ const unavailableByNodeId = new Map((release.unavailableTargets ?? []).map((target) => [target.nodeId, target]));
712
713
  const nodesById = new Map(navigation.nodes.map((node) => [node.nodeId, node]));
714
+ for (const target of release.unavailableTargets ?? []) {
715
+ const node = nodesById.get(target.nodeId);
716
+ if (node?.kind !== 'target' || !(0, exports.sameStableRef)(node.targetRef, target.stableTargetRef)) {
717
+ throw new DeclarativeControlCompilationError('NAV_TARGET_UNRELEASED', 'release.unavailableTargets', 'An unavailable target must identify its source Page node exactly.');
718
+ }
719
+ }
713
720
  const nodes = orderedNavigationNodes(navigation).map((node, index) => {
714
721
  const ancestors = [];
715
722
  let parentId = node.parentNodeId;
@@ -726,6 +733,25 @@ const compileNavigationRuntimeBundle = (input) => {
726
733
  }
727
734
  const registration = targetsByStableRef.get((0, exports.stableRefKey)(node.targetRef));
728
735
  const released = releasedByNodeId.get(node.nodeId);
736
+ const unavailable = unavailableByNodeId.get(node.nodeId);
737
+ if (!registration && unavailable && node.targetRef.kind === 'page' && (0, exports.sameStableRef)(unavailable.stableTargetRef, node.targetRef)) {
738
+ assertTenantCompatible(node.targetRef, scope, `nodes[${index}].targetRef`);
739
+ if (unavailable.accessPolicy && !(0, exports.accessPolicyChainImplies)([...ancestors, node.audience], unavailable.accessPolicy)) {
740
+ throw new DeclarativeControlCompilationError('AUDIENCE_WIDER_THAN_TARGET', `nodes[${index}].audience`, 'Effective Navigation audience is wider than the last verified target audience.');
741
+ }
742
+ return {
743
+ ...node,
744
+ disabled: true,
745
+ parameterMapping: {},
746
+ ancestorAccessPolicies: ancestors,
747
+ resolvedTarget: {
748
+ kind: 'unavailable',
749
+ nodeId: node.nodeId,
750
+ stableTargetRef: node.targetRef,
751
+ accessPolicy: unavailable.accessPolicy,
752
+ },
753
+ };
754
+ }
729
755
  if (!registration || !released
730
756
  || !(0, exports.sameStableRef)(registration.stableTargetRef, stableFromRevision(registration.targetRevisionRef))
731
757
  || !(0, exports.sameStableRef)(registration.stableTargetRef, released.stableTargetRef)