@osdk/maker 0.13.0-beta.1 → 0.13.0-beta.11
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.
- package/CHANGELOG.md +110 -0
- package/build/browser/api/defineAction.js +57 -20
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/defineInterface.js +11 -6
- package/build/browser/api/defineInterface.js.map +1 -1
- package/build/browser/api/defineObject.js +2 -0
- package/build/browser/api/defineObject.js.map +1 -1
- package/build/browser/api/defineOntology.js +40 -109
- package/build/browser/api/defineOntology.js.map +1 -1
- package/build/browser/api/defineSpt.js.map +1 -1
- package/build/browser/api/defineValueType.js +2 -1
- package/build/browser/api/defineValueType.js.map +1 -1
- package/build/browser/api/markingconstraint.test.js +3 -3
- package/build/browser/api/markingconstraint.test.js.map +1 -1
- package/build/browser/api/objectStatus.test.js +4 -4
- package/build/browser/api/objectStatus.test.js.map +1 -1
- package/build/browser/api/overall.test.js +1015 -314
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/api/propertyConversionUtils.js +3 -1
- package/build/browser/api/propertyConversionUtils.js.map +1 -1
- package/build/browser/api/types.js.map +1 -1
- package/build/browser/cli/main.js +5 -5
- package/build/browser/cli/main.js.map +1 -1
- package/build/cjs/index.cjs +106 -141
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +8 -10
- package/build/esm/api/defineAction.js +57 -20
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/defineInterface.js +11 -6
- package/build/esm/api/defineInterface.js.map +1 -1
- package/build/esm/api/defineObject.js +2 -0
- package/build/esm/api/defineObject.js.map +1 -1
- package/build/esm/api/defineOntology.js +40 -109
- package/build/esm/api/defineOntology.js.map +1 -1
- package/build/esm/api/defineSpt.js.map +1 -1
- package/build/esm/api/defineValueType.js +2 -1
- package/build/esm/api/defineValueType.js.map +1 -1
- package/build/esm/api/markingconstraint.test.js +3 -3
- package/build/esm/api/markingconstraint.test.js.map +1 -1
- package/build/esm/api/objectStatus.test.js +4 -4
- package/build/esm/api/objectStatus.test.js.map +1 -1
- package/build/esm/api/overall.test.js +1015 -314
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/api/propertyConversionUtils.js +3 -1
- package/build/esm/api/propertyConversionUtils.js.map +1 -1
- package/build/esm/api/types.js.map +1 -1
- package/build/esm/cli/main.js +5 -5
- package/build/esm/cli/main.js.map +1 -1
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/defineInterface.d.ts.map +1 -1
- package/build/types/api/defineObject.d.ts.map +1 -1
- package/build/types/api/defineOntology.d.ts +1 -6
- package/build/types/api/defineOntology.d.ts.map +1 -1
- package/build/types/api/defineSpt.d.ts +2 -2
- package/build/types/api/defineSpt.d.ts.map +1 -1
- package/build/types/api/propertyConversionUtils.d.ts +2 -2
- package/build/types/api/propertyConversionUtils.d.ts.map +1 -1
- package/build/types/api/types.d.ts +6 -14
- package/build/types/api/types.d.ts.map +1 -1
- package/package.json +9 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,115 @@
|
|
|
1
1
|
# @osdk/maker
|
|
2
2
|
|
|
3
|
+
## 0.13.0-beta.11
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5fd12eb: Fix interface display metadata to include icon
|
|
8
|
+
- f2dbc3d: Fix test from semantic merge conflict
|
|
9
|
+
- 712dfbe: Improve interface action validation
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [7b97128]
|
|
14
|
+
- @osdk/api@2.5.0-beta.11
|
|
15
|
+
|
|
16
|
+
## 0.13.0-beta.10
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- 11fd3fb: Add api name validation for object types
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- @osdk/api@2.5.0-beta.10
|
|
25
|
+
|
|
26
|
+
## 0.13.0-beta.9
|
|
27
|
+
|
|
28
|
+
### Minor Changes
|
|
29
|
+
|
|
30
|
+
- 1b60527: Remove foundry.ontologies dependency
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- @osdk/api@2.5.0-beta.9
|
|
35
|
+
|
|
36
|
+
## 0.13.0-beta.8
|
|
37
|
+
|
|
38
|
+
### Minor Changes
|
|
39
|
+
|
|
40
|
+
- f9b6dc4: Write value types to ontology IR file
|
|
41
|
+
- b1c99bf: Revert .js -> .ts extension for codegen
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- Updated dependencies [ca1fabe]
|
|
46
|
+
- @osdk/api@2.5.0-beta.8
|
|
47
|
+
|
|
48
|
+
## 0.13.0-beta.7
|
|
49
|
+
|
|
50
|
+
### Minor Changes
|
|
51
|
+
|
|
52
|
+
- 6da8fd2: Write value type IR correctly
|
|
53
|
+
|
|
54
|
+
## 0.13.0-beta.6
|
|
55
|
+
|
|
56
|
+
### Minor Changes
|
|
57
|
+
|
|
58
|
+
- 07083e1: Action submission conditions can have custom metadata
|
|
59
|
+
|
|
60
|
+
### Patch Changes
|
|
61
|
+
|
|
62
|
+
- @osdk/api@2.5.0-beta.7
|
|
63
|
+
|
|
64
|
+
## 0.13.0-beta.5
|
|
65
|
+
|
|
66
|
+
### Minor Changes
|
|
67
|
+
|
|
68
|
+
- cbcf2ad: Add branching support
|
|
69
|
+
- 04fe946: Use block data type for imports
|
|
70
|
+
|
|
71
|
+
### Patch Changes
|
|
72
|
+
|
|
73
|
+
- @osdk/api@2.5.0-beta.6
|
|
74
|
+
|
|
75
|
+
## 0.13.0-beta.4
|
|
76
|
+
|
|
77
|
+
### Minor Changes
|
|
78
|
+
|
|
79
|
+
- a00d2ed: Update Platform SDK dependencies
|
|
80
|
+
- a96d89e: Update Platform SDK dependencies
|
|
81
|
+
|
|
82
|
+
### Patch Changes
|
|
83
|
+
|
|
84
|
+
- @osdk/api@2.5.0-beta.4
|
|
85
|
+
|
|
86
|
+
## 0.13.0-beta.3
|
|
87
|
+
|
|
88
|
+
### Minor Changes
|
|
89
|
+
|
|
90
|
+
- 7bdac45: Update Platform SDK dependency
|
|
91
|
+
|
|
92
|
+
### Patch Changes
|
|
93
|
+
|
|
94
|
+
- Updated dependencies [7bdac45]
|
|
95
|
+
- Updated dependencies [20962bc]
|
|
96
|
+
- Updated dependencies [e48be06]
|
|
97
|
+
- @osdk/api@2.5.0-beta.3
|
|
98
|
+
|
|
99
|
+
## 0.13.0-beta.2
|
|
100
|
+
|
|
101
|
+
### Minor Changes
|
|
102
|
+
|
|
103
|
+
- 7cdab1d: Update platform sdk dependencies
|
|
104
|
+
- 40d43c2: Make codegen TS compiler friendly
|
|
105
|
+
- 5f72188: Fix object action param optionality for non-array props
|
|
106
|
+
|
|
107
|
+
### Patch Changes
|
|
108
|
+
|
|
109
|
+
- Updated dependencies [7160276]
|
|
110
|
+
- Updated dependencies [76905f5]
|
|
111
|
+
- @osdk/api@2.5.0-beta.2
|
|
112
|
+
|
|
3
113
|
## 0.12.0-beta.21
|
|
4
114
|
|
|
5
115
|
### Minor Changes
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { consola } from "consola";
|
|
18
18
|
import invariant from "tiny-invariant";
|
|
19
19
|
import { convertToDisplayName, getAllInterfaceProperties } from "./defineObject.js";
|
|
20
|
-
import { namespace, ontologyDefinition, updateOntology } from "./defineOntology.js";
|
|
20
|
+
import { importedTypes, namespace, ontologyDefinition, updateOntology } from "./defineOntology.js";
|
|
21
21
|
import { convertConditionDefinition, convertMappingValue } from "./ontologyUtils.js";
|
|
22
22
|
import { CREATE_OR_MODIFY_OBJECT_PARAMETER, MODIFY_OBJECT_PARAMETER, OntologyEntityTypeEnum } from "./types.js";
|
|
23
23
|
export function defineCreateInterfaceObjectAction(interfaceType, objectType, validation) {
|
|
@@ -86,7 +86,7 @@ export function defineCreateInterfaceObjectAction(interfaceType, objectType, val
|
|
|
86
86
|
}
|
|
87
87
|
}],
|
|
88
88
|
...(validation ? {
|
|
89
|
-
validation:
|
|
89
|
+
validation: convertValidationRule(validation)
|
|
90
90
|
} : {})
|
|
91
91
|
});
|
|
92
92
|
}
|
|
@@ -99,7 +99,7 @@ export function defineCreateObjectAction(def) {
|
|
|
99
99
|
if (def.parameterOrdering) {
|
|
100
100
|
validateParameterOrdering(def.parameterOrdering, parameterNames, actionApiName);
|
|
101
101
|
}
|
|
102
|
-
const parameters = createParameters(def, parameterNames
|
|
102
|
+
const parameters = createParameters(def, parameterNames);
|
|
103
103
|
const mappings = Object.fromEntries(Object.entries(def.nonParameterMappings ?? {}).map(([id, value]) => [id, convertMappingValue(value)]));
|
|
104
104
|
return defineAction({
|
|
105
105
|
apiName: actionApiName,
|
|
@@ -128,7 +128,7 @@ export function defineCreateObjectAction(def) {
|
|
|
128
128
|
}],
|
|
129
129
|
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters),
|
|
130
130
|
...(def.actionLevelValidation ? {
|
|
131
|
-
validation:
|
|
131
|
+
validation: convertValidationRule(def.actionLevelValidation)
|
|
132
132
|
} : {}),
|
|
133
133
|
...(def.defaultFormat && {
|
|
134
134
|
defaultFormat: def.defaultFormat
|
|
@@ -211,7 +211,7 @@ export function defineModifyInterfaceObjectAction(interfaceType, objectType, val
|
|
|
211
211
|
}
|
|
212
212
|
}],
|
|
213
213
|
...(validation ? {
|
|
214
|
-
validation:
|
|
214
|
+
validation: convertValidationRule(validation)
|
|
215
215
|
} : {})
|
|
216
216
|
});
|
|
217
217
|
}
|
|
@@ -228,7 +228,7 @@ export function defineModifyObjectAction(def) {
|
|
|
228
228
|
}
|
|
229
229
|
validateParameterOrdering(def.parameterOrdering, parameterNames, actionApiName);
|
|
230
230
|
}
|
|
231
|
-
const parameters = createParameters(def, parameterNames
|
|
231
|
+
const parameters = createParameters(def, parameterNames);
|
|
232
232
|
parameters.forEach(p => {
|
|
233
233
|
if (p.id !== MODIFY_OBJECT_PARAMETER && p.defaultValue === undefined) {
|
|
234
234
|
p.defaultValue = {
|
|
@@ -268,7 +268,7 @@ export function defineModifyObjectAction(def) {
|
|
|
268
268
|
},
|
|
269
269
|
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters, MODIFY_OBJECT_PARAMETER),
|
|
270
270
|
...(def.actionLevelValidation ? {
|
|
271
|
-
validation:
|
|
271
|
+
validation: convertValidationRule(def.actionLevelValidation)
|
|
272
272
|
} : {}),
|
|
273
273
|
...(def.defaultFormat && {
|
|
274
274
|
defaultFormat: def.defaultFormat
|
|
@@ -321,7 +321,7 @@ export function defineDeleteObjectAction(def) {
|
|
|
321
321
|
typeGroups: []
|
|
322
322
|
},
|
|
323
323
|
...(def.actionLevelValidation ? {
|
|
324
|
-
validation:
|
|
324
|
+
validation: convertValidationRule(def.actionLevelValidation)
|
|
325
325
|
} : {})
|
|
326
326
|
});
|
|
327
327
|
}
|
|
@@ -338,7 +338,7 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
338
338
|
}
|
|
339
339
|
validateParameterOrdering(def.parameterOrdering, parameterNames, actionApiName);
|
|
340
340
|
}
|
|
341
|
-
const parameters = createParameters(def, parameterNames
|
|
341
|
+
const parameters = createParameters(def, parameterNames);
|
|
342
342
|
parameters.forEach(p => {
|
|
343
343
|
if (p.id !== CREATE_OR_MODIFY_OBJECT_PARAMETER && p.defaultValue === undefined) {
|
|
344
344
|
p.defaultValue = {
|
|
@@ -378,7 +378,7 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
378
378
|
},
|
|
379
379
|
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters, CREATE_OR_MODIFY_OBJECT_PARAMETER),
|
|
380
380
|
...(def.actionLevelValidation ? {
|
|
381
|
-
validation:
|
|
381
|
+
validation: convertValidationRule(def.actionLevelValidation)
|
|
382
382
|
} : {}),
|
|
383
383
|
...(def.defaultFormat && {
|
|
384
384
|
defaultFormat: def.defaultFormat
|
|
@@ -419,6 +419,41 @@ export function defineAction(actionDef) {
|
|
|
419
419
|
if (rule.type === "deleteObjectRule") {
|
|
420
420
|
!parameterIds.some(id => id === rule.deleteObjectRule.objectToDelete) ? process.env.NODE_ENV !== "production" ? invariant(false, `Object to delete parameter must be defined in parameters`) : invariant(false) : void 0;
|
|
421
421
|
}
|
|
422
|
+
if (rule.type === "modifyInterfaceRule") {
|
|
423
|
+
// all referenced SPTs exist globally
|
|
424
|
+
Object.keys(rule.modifyInterfaceRule.sharedPropertyValues).forEach(spt => {
|
|
425
|
+
!(ontologyDefinition.SHARED_PROPERTY_TYPE[spt] !== undefined || importedTypes.SHARED_PROPERTY_TYPE[spt] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Shared property type ${spt} does not exist.
|
|
426
|
+
If this SPT was imported, you may need to use [spt.apiName] as the key so that it is qualified with the right namespace`) : invariant(false) : void 0;
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
// The there must be a parameter for the interface, and the interface there must exist
|
|
430
|
+
const interfaceParam = actionDef.parameters.find(p => p.id === rule.modifyInterfaceRule.interfaceObjectToModifyParameter);
|
|
431
|
+
!(interfaceParam !== undefined && typeof interfaceParam.type === "object" && (interfaceParam.type.type === "interfaceReference" || interfaceParam.type.type === "interfaceReferenceList")) ? process.env.NODE_ENV !== "production" ? invariant(false, `Interface object to modify parameter must be an interface reference`) : invariant(false) : void 0;
|
|
432
|
+
const interfaceReference = interfaceParam.type.type === "interfaceReference" ? interfaceParam.type.interfaceReference.interfaceTypeRid : interfaceParam.type.interfaceReferenceList.interfaceTypeRid;
|
|
433
|
+
!(ontologyDefinition.INTERFACE_TYPE[interfaceReference] !== undefined || importedTypes.INTERFACE_TYPE[interfaceReference] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Interface type ${interfaceReference} does not exist`) : invariant(false) : void 0;
|
|
434
|
+
|
|
435
|
+
// All referenced SPTs must exist on the interface
|
|
436
|
+
const interfaceType = ontologyDefinition.INTERFACE_TYPE[interfaceReference];
|
|
437
|
+
Object.keys(rule.modifyInterfaceRule.sharedPropertyValues).forEach(spt => {
|
|
438
|
+
!(interfaceType.propertiesV2[spt] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Shared property type ${spt} does not exist in interface type ${interfaceReference}`) : invariant(false) : void 0;
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
if (rule.type === "addInterfaceRule") {
|
|
442
|
+
// All referenced SPTs must exist globally
|
|
443
|
+
Object.keys(rule.addInterfaceRule.sharedPropertyValues).forEach(spt => {
|
|
444
|
+
!(ontologyDefinition.SHARED_PROPERTY_TYPE[spt] !== undefined || importedTypes.SHARED_PROPERTY_TYPE[spt] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Shared property type ${spt} does not exist.
|
|
445
|
+
If this SPT was imported, you may need to use [spt.apiName] as the key so that it is qualified with the right namespace`) : invariant(false) : void 0;
|
|
446
|
+
});
|
|
447
|
+
|
|
448
|
+
// The referenced interface must exist globally
|
|
449
|
+
const interfaceType = ontologyDefinition.INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName] ?? importedTypes.INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName];
|
|
450
|
+
!(interfaceType !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Interface type ${rule.addInterfaceRule.interfaceApiName} does not exist`) : invariant(false) : void 0;
|
|
451
|
+
|
|
452
|
+
// All referenced SPTs must exist on the interface
|
|
453
|
+
Object.keys(rule.addInterfaceRule.sharedPropertyValues).forEach(spt => {
|
|
454
|
+
!(interfaceType.propertiesV2[spt] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Shared property type ${spt} does not exist in interface type ${interfaceType.apiName}`) : invariant(false) : void 0;
|
|
455
|
+
});
|
|
456
|
+
}
|
|
422
457
|
});
|
|
423
458
|
const fullAction = {
|
|
424
459
|
...actionDef,
|
|
@@ -435,7 +470,7 @@ export function defineAction(actionDef) {
|
|
|
435
470
|
updateOntology(fullAction);
|
|
436
471
|
return fullAction;
|
|
437
472
|
}
|
|
438
|
-
function createParameters(def, parameterSet
|
|
473
|
+
function createParameters(def, parameterSet) {
|
|
439
474
|
const targetParam = [];
|
|
440
475
|
parameterSet.forEach(name => {
|
|
441
476
|
if (name === MODIFY_OBJECT_PARAMETER) {
|
|
@@ -497,13 +532,13 @@ function createParameters(def, parameterSet, defaultRequired) {
|
|
|
497
532
|
validation: def.parameterConfiguration?.[id] !== undefined ? {
|
|
498
533
|
...def.parameterConfiguration?.[id],
|
|
499
534
|
allowedValues: def.parameterConfiguration?.[id].allowedValues ?? (def.parameterConfiguration?.[id].customParameterType ? extractAllowedValuesFromActionParameterType(def.parameterConfiguration?.[id].customParameterType) : extractAllowedValuesFromPropertyType(def.objectType.properties?.[id].type)),
|
|
500
|
-
required: def.parameterConfiguration?.[id].required ??
|
|
535
|
+
required: def.parameterConfiguration?.[id].required ?? def.objectType.properties?.[id]?.nullability?.noNulls ?? false
|
|
501
536
|
} : {
|
|
502
537
|
required: def.objectType.properties?.[id].array ?? false ? {
|
|
503
538
|
listLength: def.objectType.properties?.[id].nullability?.noEmptyCollections ? {
|
|
504
539
|
min: 1
|
|
505
540
|
} : {}
|
|
506
|
-
} : def.objectType.properties?.[id].nullability?.noNulls ??
|
|
541
|
+
} : def.objectType.properties?.[id].nullability?.noNulls ?? false,
|
|
507
542
|
allowedValues: extractAllowedValuesFromPropertyType(def.objectType.properties?.[id].type)
|
|
508
543
|
},
|
|
509
544
|
defaultValue: def.parameterConfiguration?.[id]?.defaultValue,
|
|
@@ -788,13 +823,15 @@ function sanitize(s) {
|
|
|
788
823
|
return s.includes(".") ? s : namespace + s;
|
|
789
824
|
}
|
|
790
825
|
function convertValidationRule(actionValidation) {
|
|
791
|
-
return {
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
826
|
+
return actionValidation.map(rule => {
|
|
827
|
+
return {
|
|
828
|
+
condition: convertConditionDefinition(rule.condition),
|
|
829
|
+
displayMetadata: rule.displayMetadata ?? {
|
|
830
|
+
failureMessage: "Did not satisfy validation",
|
|
831
|
+
typeClasses: []
|
|
832
|
+
}
|
|
833
|
+
};
|
|
834
|
+
});
|
|
798
835
|
}
|
|
799
836
|
function validateActionConfiguration(action) {
|
|
800
837
|
const seenParameterIds = new Set();
|