@osdk/maker 0.14.0-beta.5 → 0.14.0-beta.7
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 +18 -0
- package/README.md +86 -22
- package/build/browser/api/action/DefaultFormat.js +2 -0
- package/build/browser/api/action/DefaultFormat.js.map +1 -0
- package/build/browser/api/action/TableConfiguration.js +2 -0
- package/build/browser/api/action/TableConfiguration.js.map +1 -0
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/defineCreateInterfaceObjectAction.js +9 -1
- package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -1
- package/build/browser/api/defineCreateObjectAction.js +7 -3
- package/build/browser/api/defineCreateObjectAction.js.map +1 -1
- package/build/browser/api/defineCreateOrModifyObjectAction.js +6 -3
- package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -1
- package/build/browser/api/defineDeleteInterfaceObjectAction.js +53 -0
- package/build/browser/api/defineDeleteInterfaceObjectAction.js.map +1 -0
- package/build/browser/api/defineLink.js +5 -13
- package/build/browser/api/defineLink.js.map +1 -1
- package/build/browser/api/defineModifyInterfaceObjectAction.js +8 -0
- package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -1
- package/build/browser/api/defineModifyObjectAction.js +4 -2
- package/build/browser/api/defineModifyObjectAction.js.map +1 -1
- package/build/browser/api/defineObject.js +94 -3
- package/build/browser/api/defineObject.js.map +1 -1
- package/build/browser/api/links/LinkType.js.map +1 -1
- package/build/browser/api/object/ObjectType.js.map +1 -1
- package/build/browser/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
- package/build/browser/api/object/ObjectTypeDefinition.js.map +1 -1
- package/build/browser/api/test/actions.test.js +3216 -2363
- package/build/browser/api/test/actions.test.js.map +1 -1
- package/build/browser/api/test/objects.test.js +1109 -12
- package/build/browser/api/test/objects.test.js.map +1 -1
- package/build/browser/cli/main.js +1 -1
- package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
- package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
- package/build/browser/conversion/toMarketplace/convertLink.js +109 -24
- package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -1
- package/build/browser/conversion/toMarketplace/convertObject.js +81 -4
- package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -1
- package/build/browser/index.js +1 -0
- package/build/browser/index.js.map +1 -1
- package/build/cjs/index.cjs +471 -201
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +154 -102
- package/build/esm/api/action/DefaultFormat.js +2 -0
- package/build/esm/api/action/DefaultFormat.js.map +1 -0
- package/build/esm/api/action/TableConfiguration.js +2 -0
- package/build/esm/api/action/TableConfiguration.js.map +1 -0
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/defineCreateInterfaceObjectAction.js +9 -1
- package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -1
- package/build/esm/api/defineCreateObjectAction.js +7 -3
- package/build/esm/api/defineCreateObjectAction.js.map +1 -1
- package/build/esm/api/defineCreateOrModifyObjectAction.js +6 -3
- package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -1
- package/build/esm/api/defineDeleteInterfaceObjectAction.js +53 -0
- package/build/esm/api/defineDeleteInterfaceObjectAction.js.map +1 -0
- package/build/esm/api/defineLink.js +5 -13
- package/build/esm/api/defineLink.js.map +1 -1
- package/build/esm/api/defineModifyInterfaceObjectAction.js +8 -0
- package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -1
- package/build/esm/api/defineModifyObjectAction.js +4 -2
- package/build/esm/api/defineModifyObjectAction.js.map +1 -1
- package/build/esm/api/defineObject.js +94 -3
- package/build/esm/api/defineObject.js.map +1 -1
- package/build/esm/api/links/LinkType.js.map +1 -1
- package/build/esm/api/object/ObjectType.js.map +1 -1
- package/build/esm/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
- package/build/esm/api/object/ObjectTypeDefinition.js.map +1 -1
- package/build/esm/api/test/actions.test.js +3216 -2363
- package/build/esm/api/test/actions.test.js.map +1 -1
- package/build/esm/api/test/objects.test.js +1109 -12
- package/build/esm/api/test/objects.test.js.map +1 -1
- package/build/esm/cli/main.js +1 -1
- package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
- package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
- package/build/esm/conversion/toMarketplace/convertLink.js +109 -24
- package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -1
- package/build/esm/conversion/toMarketplace/convertObject.js +81 -4
- package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/types/api/action/DefaultFormat.d.ts +1 -0
- package/build/types/api/action/DefaultFormat.d.ts.map +1 -0
- package/build/types/api/action/TableConfiguration.d.ts +8 -0
- package/build/types/api/action/TableConfiguration.d.ts.map +1 -0
- package/build/types/api/defineAction.d.ts +8 -4
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/defineCreateObjectAction.d.ts.map +1 -1
- package/build/types/api/defineDeleteInterfaceObjectAction.d.ts +3 -0
- package/build/types/api/defineDeleteInterfaceObjectAction.d.ts.map +1 -0
- package/build/types/api/defineLink.d.ts.map +1 -1
- package/build/types/api/defineObject.d.ts.map +1 -1
- package/build/types/api/links/LinkType.d.ts +7 -7
- package/build/types/api/object/ObjectType.d.ts +1 -1
- package/build/types/api/object/ObjectType.d.ts.map +1 -1
- package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts +41 -1
- package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts.map +1 -1
- package/build/types/api/object/ObjectTypeDefinition.d.ts +1 -1
- package/build/types/api/object/ObjectTypeDefinition.d.ts.map +1 -1
- package/build/types/conversion/toMarketplace/convertLink.d.ts +6 -0
- package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -1
- package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @osdk/maker
|
|
2
2
|
|
|
3
|
+
## 0.14.0-beta.7
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7fd788b: Support derived properties
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [e7bf02a]
|
|
12
|
+
- @osdk/api@2.6.0-beta.4
|
|
13
|
+
|
|
14
|
+
## 0.14.0-beta.6
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- 04bfbfc: Add default format and table config options to OAC interface actions
|
|
19
|
+
- 6ddabf4: Fix bug with action level validation on interface actions
|
|
20
|
+
|
|
3
21
|
## 0.14.0-beta.5
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@ The Maker package provides a type-safe, programmatic way to define ontologies, w
|
|
|
15
15
|
- [Interface Link Constraints](#interface-link-constraints)
|
|
16
16
|
- [Defining Actions](#defining-actions)
|
|
17
17
|
- [Importing Ontology Entities](#importing-ontology-entities)
|
|
18
|
+
- [Advanced](#advanced)
|
|
18
19
|
|
|
19
20
|
## Getting Started
|
|
20
21
|
|
|
@@ -441,7 +442,7 @@ const customerObject = defineObject({
|
|
|
441
442
|
});
|
|
442
443
|
```
|
|
443
444
|
|
|
444
|
-
### Object with
|
|
445
|
+
### Object with Custom Datasources
|
|
445
446
|
|
|
446
447
|
```typescript
|
|
447
448
|
// Stream-backed object with retention period
|
|
@@ -456,27 +457,10 @@ const eventObject = defineObject({
|
|
|
456
457
|
"eventName": { type: "string", displayName: "Event Name" },
|
|
457
458
|
"timestamp": { type: "timestamp" },
|
|
458
459
|
},
|
|
459
|
-
|
|
460
|
+
datasources: [{
|
|
460
461
|
type: "stream",
|
|
461
462
|
retentionPeriod: "P90D", // 90 days retention (ISO 8601 duration format)
|
|
462
|
-
},
|
|
463
|
-
});
|
|
464
|
-
|
|
465
|
-
// Dataset-backed object
|
|
466
|
-
const productObject = defineObject({
|
|
467
|
-
apiName: "product",
|
|
468
|
-
displayName: "Product",
|
|
469
|
-
pluralDisplayName: "Products",
|
|
470
|
-
titlePropertyApiName: "name",
|
|
471
|
-
primaryKeyPropertyApiName: "id",
|
|
472
|
-
properties: {
|
|
473
|
-
"id": { type: "string", displayName: "ID" },
|
|
474
|
-
"name": { type: "string" },
|
|
475
|
-
"price": { type: "decimal" },
|
|
476
|
-
},
|
|
477
|
-
datasource: {
|
|
478
|
-
type: "dataset",
|
|
479
|
-
},
|
|
463
|
+
}],
|
|
480
464
|
});
|
|
481
465
|
```
|
|
482
466
|
|
|
@@ -663,10 +647,12 @@ const modifyPersonAction = defineModifyInterfaceObjectAction({
|
|
|
663
647
|
});
|
|
664
648
|
```
|
|
665
649
|
|
|
666
|
-
|
|
650
|
+
## Advanced
|
|
651
|
+
|
|
652
|
+
### Custom Actions
|
|
667
653
|
|
|
668
654
|
More customization such as security/submission criteria, constraints on parameter values, parameter overrides, etc.
|
|
669
|
-
can
|
|
655
|
+
can be added to actions.
|
|
670
656
|
|
|
671
657
|
```typescript
|
|
672
658
|
import {
|
|
@@ -741,3 +727,81 @@ const modifyObjectActionType = defineModifyObjectAction(
|
|
|
741
727
|
},
|
|
742
728
|
);
|
|
743
729
|
```
|
|
730
|
+
|
|
731
|
+
### Derived Properties
|
|
732
|
+
|
|
733
|
+
Objects can have derived properties, which are computed at runtime from other linked objects. Properties can be mapped directly, or an aggregation function (e.g. `collectList`, `avg`, `max`, etc.) can be used.
|
|
734
|
+
|
|
735
|
+
```typescript
|
|
736
|
+
const passenger = defineObject({
|
|
737
|
+
displayName: "Passenger",
|
|
738
|
+
pluralDisplayName: "Passengers",
|
|
739
|
+
apiName: "passenger",
|
|
740
|
+
primaryKeyPropertyApiName: "name",
|
|
741
|
+
titlePropertyApiName: "name",
|
|
742
|
+
properties: {
|
|
743
|
+
name: {
|
|
744
|
+
type: "string",
|
|
745
|
+
displayName: "Name",
|
|
746
|
+
},
|
|
747
|
+
flight_id: {
|
|
748
|
+
type: "string",
|
|
749
|
+
displayName: "Flight ID",
|
|
750
|
+
},
|
|
751
|
+
},
|
|
752
|
+
});
|
|
753
|
+
const flightToPassengers = defineLink({
|
|
754
|
+
apiName: "flightToPassengersLink",
|
|
755
|
+
one: {
|
|
756
|
+
// because the object has not been created yet,
|
|
757
|
+
// reference it by its fully qualified API name manually
|
|
758
|
+
object: "com.palantir.flight",
|
|
759
|
+
metadata: {
|
|
760
|
+
apiName: "flightFromPassengers",
|
|
761
|
+
},
|
|
762
|
+
},
|
|
763
|
+
toMany: {
|
|
764
|
+
object: passenger.apiName,
|
|
765
|
+
metadata: {
|
|
766
|
+
apiName: "passengersFromFlight",
|
|
767
|
+
},
|
|
768
|
+
},
|
|
769
|
+
manyForeignKeyProperty: "flight_id",
|
|
770
|
+
});
|
|
771
|
+
const flight = defineObject({
|
|
772
|
+
displayName: "Flight",
|
|
773
|
+
pluralDisplayName: "Flights",
|
|
774
|
+
apiName: "flight",
|
|
775
|
+
primaryKeyPropertyApiName: "id",
|
|
776
|
+
titlePropertyApiName: "id",
|
|
777
|
+
properties: {
|
|
778
|
+
id: {
|
|
779
|
+
type: "string",
|
|
780
|
+
displayName: "ID",
|
|
781
|
+
},
|
|
782
|
+
passengersList: {
|
|
783
|
+
type: "string",
|
|
784
|
+
array: true,
|
|
785
|
+
displayName: "Passengers",
|
|
786
|
+
},
|
|
787
|
+
},
|
|
788
|
+
datasources: [
|
|
789
|
+
// the dataset will back all of the properties not specified in other datasources
|
|
790
|
+
{ type: "dataset" },
|
|
791
|
+
{
|
|
792
|
+
type: "derived",
|
|
793
|
+
// multi-hop link traversals are also supported, just extend this list!
|
|
794
|
+
linkDefinition: [{
|
|
795
|
+
linkType: flightToPassengers,
|
|
796
|
+
}],
|
|
797
|
+
propertyMapping: {
|
|
798
|
+
passengersList: {
|
|
799
|
+
type: "collectList",
|
|
800
|
+
property: "name",
|
|
801
|
+
limit: 100,
|
|
802
|
+
},
|
|
803
|
+
},
|
|
804
|
+
},
|
|
805
|
+
],
|
|
806
|
+
});
|
|
807
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultFormat.js","names":[],"sources":["DefaultFormat.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type DefaultFormat = \"FORM\" | \"TABLE\";\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableConfiguration.js","names":[],"sources":["TableConfiguration.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ParameterRid } from \"@osdk/client.unstable\";\nexport type TableConfiguration = {\n columnWidthByParameterRid: Record<ParameterRid, number>;\n enableFileImport: boolean;\n fitHorizontally: boolean;\n frozenColumnCount: number;\n rowHeightInLines: number;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineAction.js","names":["invariant","convertConditionDefinition","isActionParameterTypePrimitive","OntologyEntityTypeEnum","uppercaseFirstLetter","addNamespaceIfNone","importedTypes","namespace","ontologyDefinition","updateOntology","getFlattenedInterfaceProperties","isStruct","MODIFY_OBJECT_PARAMETER","CREATE_OR_MODIFY_OBJECT_PARAMETER","CREATE_INTERFACE_OBJECT_PARAMETER","MODIFY_INTERFACE_OBJECT_PARAMETER","defineAction","actionDef","apiName","parameterIds","parameters","map","p","id","ACTION_TYPE","undefined","Error","test","process","env","NODE_ENV","parameterIdsSet","Set","size","length","parameterIdsNotFound","Array","from","referencedParameterIds","filter","has","JSON","stringify","definedSectionIds","Object","keys","sections","undefinedSectionsInOrdering","formContentOrdering","flatMap","s","type","sectionId","sId","rules","forEach","rule","some","modifyObjectRule","objectToModify","deleteObjectRule","objectToDelete","interfaceParam","find","modifyInterfaceRule","interfaceObjectToModifyParameter","interfaceReference","interfaceTypeRid","interfaceReferenceList","INTERFACE_TYPE","interfaceType","sharedPropertyValues","spt","includes","addInterfaceRule","interfaceApiName","fullAction","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","__type","validateActionConfiguration","isPropertyParameter","def","name","nonParameterMappings","excludedProperties","createParameters","propertyMap","parameterSet","requiredMap","targetParams","getTargetParameters","displayName","parameterConfiguration","customParameterType","extractActionParameterType","validation","allowedValues","extractAllowedValuesFromActionParameterType","extractAllowedValuesFromPropertyType","required","nullability","noNulls","array","listLength","noEmptyCollections","min","defaultValue","description","push","objectReference","objectTypeId","objectType","delete","maybeCreateObjectOption","autoGenerated","primaryKeyOption","userInput","objectTypeReference","interfaceTypeRids","interfaceTypes","oneOf","label","value","values","pId","add","item","parameterId","sanitize","objectTypeParameter","entries","k","v","addObjectRule","propertyValues","addOrModifyObjectRuleV2","staticValue","integer","max","markingType","pt","typeType","maybeAddList","kebab","replace","toLowerCase","convertValidationRule","actionValidation","actionParameters","condition","displayMetadata","failureMessage","typeClasses","action","seenParameterIds","parameterMap","reduce","acc","param","orderedParameters","parameterOrdering","conditionalOverrides","override","validateParameterCondition","validateParameterPrefill","currentParameterId","overrideParamId","conditions","c","objectParameterPropertyValue","validateActionParameters","properties","isTargetParameter","createDefaultParameterOrdering","priorityId","validateParameterOrdering","actionApiName","orderingSet","missingParameters","extraneousParameters","addNamespaceToActionDefinition","fromEntries","config","getInterfaceParameterName","section","parameter","propertiesV2"],"sources":["defineAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DisplayMetadataConfigurationDefaultLayout,\n DisplayMetadataConfigurationDisplayAndFormat,\n OntologyIrParameterPrefill,\n ParameterId,\n} from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { convertConditionDefinition } from \"../conversion/toMarketplace/convertConditionDefinition.js\";\nimport type { ActionLevelValidationDefinition } from \"./action/ActionLevelValidationDefinition.js\";\nimport { type ActionParameter } from \"./action/ActionParameter.js\";\nimport type { ActionParameterAllowedValues } from \"./action/ActionParameterAllowedValues.js\";\nimport type { ActionParameterConfiguration } from \"./action/ActionParameterConfiguration.js\";\nimport {\n type ActionParameterType,\n type ActionParameterTypePrimitive,\n isActionParameterTypePrimitive,\n} from \"./action/ActionParameterType.js\";\nimport type { ActionSection } from \"./action/ActionSection.js\";\nimport type { ActionStatus } from \"./action/ActionStatus.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { ActionValidationRule } from \"./action/ActionValidationRule.js\";\nimport type { ConditionDefinition } from \"./action/ConditionDefinition.js\";\nimport type { MappingValue } from \"./action/MappingValue.js\";\nimport type { SubmissionMetadata } from \"./action/SubmissionMetadata.js\";\nimport { OntologyEntityTypeEnum } from \"./common/OntologyEntityTypeEnum.js\";\nimport { uppercaseFirstLetter } from \"./defineObject.js\";\nimport {\n addNamespaceIfNone,\n importedTypes,\n namespace,\n ontologyDefinition,\n updateOntology,\n} from \"./defineOntology.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\nimport type { InterfaceType } from \"./interface/InterfaceType.js\";\nimport type { ObjectPropertyType } from \"./object/ObjectPropertyType.js\";\nimport type { ObjectPropertyTypeUserDefinition } from \"./object/ObjectPropertyTypeUserDefinition.js\";\nimport type { ObjectTypeDefinition } from \"./object/ObjectTypeDefinition.js\";\nimport {\n isStruct,\n type PropertyTypeType,\n} from \"./properties/PropertyTypeType.js\";\nimport type { SharedPropertyType } from \"./properties/SharedPropertyType.js\";\n\nexport const MODIFY_OBJECT_PARAMETER: string = \"objectToModifyParameter\";\n\nexport const CREATE_OR_MODIFY_OBJECT_PARAMETER: string =\n \"objectToCreateOrModifyParameter\";\n\nexport const CREATE_INTERFACE_OBJECT_PARAMETER: string = \"objectTypeParameter\";\n\nexport const MODIFY_INTERFACE_OBJECT_PARAMETER: string =\n \"interfaceObjectToModifyParameter\";\n\nexport type ActionTypeDefinition = Omit<ActionType, \"__type\">;\n\nexport type ActionTypeUserDefinition = {\n objectType: ObjectTypeDefinition;\n apiName?: string;\n displayName?: string;\n status?: ActionStatus;\n parameterConfiguration?: Record<string, ActionParameterConfiguration>;\n nonParameterMappings?: Record<string, MappingValue>;\n actionLevelValidation?: ActionLevelValidationDefinition;\n excludedProperties?: Array<ParameterId>;\n sections?: Array<ActionSection>;\n // FIXME: Should not use conjure types\n defaultFormat?: DisplayMetadataConfigurationDefaultLayout;\n enableLayoutSwitch?: boolean;\n // FIXME: Should not use conjure types\n displayAndFormat?: DisplayMetadataConfigurationDisplayAndFormat;\n parameterOrdering?: Array<string>;\n submissionMetadata?: SubmissionMetadata;\n // Used for Create or Modify actions\n primaryKeyOption?: \"autoGenerated\" | \"userInput\";\n};\n\nexport type InterfaceActionTypeUserDefinition = {\n interfaceType: InterfaceType;\n objectType?: ObjectTypeDefinition;\n apiName?: string;\n displayName?: string;\n status?: ActionStatus;\n parameterConfiguration?: Record<string, ActionParameterConfiguration>;\n nonParameterMappings?: Record<string, MappingValue>;\n actionLevelValidation?: ActionLevelValidationDefinition;\n excludedProperties?: Array<string>;\n sections?: Array<ActionSection>;\n enableLayoutSwitch?: boolean;\n submissionMetadata?: SubmissionMetadata;\n parameterOrdering?: Array<string>;\n};\n\nexport function defineAction(actionDef: ActionTypeDefinition): ActionType {\n const apiName = namespace + actionDef.apiName;\n const parameterIds = (actionDef.parameters ?? []).map(p => p.id);\n\n if (\n ontologyDefinition[OntologyEntityTypeEnum.ACTION_TYPE][apiName]\n !== undefined\n ) {\n throw new Error(\n `Action type with apiName ${actionDef.apiName} is already defined`,\n );\n }\n invariant(\n /^[a-z0-9]+(-[a-z0-9]+)*$/.test(actionDef.apiName),\n `Action type apiName \"${actionDef.apiName}\" must be alphanumeric, lowercase, and kebab-case`,\n );\n\n const parameterIdsSet = new Set(parameterIds);\n invariant(\n parameterIdsSet.size === parameterIds.length,\n `Parameter ids must be unique`,\n );\n\n const parameterIdsNotFound = Array.from(referencedParameterIds(actionDef))\n .filter(p => !parameterIdsSet.has(p));\n invariant(\n parameterIdsNotFound.length === 0,\n `Parameters ${\n JSON.stringify(parameterIdsNotFound)\n } were referenced but not defined`,\n );\n\n const definedSectionIds = new Set(Object.keys(actionDef.sections ?? []));\n const undefinedSectionsInOrdering = (actionDef.formContentOrdering ?? [])\n .flatMap(\n s => s.type === \"parameterId\" ? [] : [s.sectionId],\n ).filter(sId => !definedSectionIds.has(sId));\n invariant(\n undefinedSectionsInOrdering.length === 0,\n `Sections [${undefinedSectionsInOrdering}] were referenced in content ordering but not defined`,\n );\n\n invariant(\n actionDef.rules.length > 0,\n `Action type ${actionDef.apiName} must have at least one logic rule`,\n );\n actionDef.rules.forEach(rule => {\n if (rule.type === \"modifyObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.modifyObjectRule.objectToModify),\n `Object to modify parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"deleteObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.deleteObjectRule.objectToDelete),\n `Object to delete parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"modifyInterfaceRule\") {\n // The there must be a parameter for the interface, and the interface there must exist\n const interfaceParam = actionDef.parameters!.find(p =>\n p.id === rule.modifyInterfaceRule.interfaceObjectToModifyParameter\n );\n invariant(\n interfaceParam !== undefined && typeof interfaceParam.type === \"object\"\n && (interfaceParam.type.type === \"interfaceReference\"\n || interfaceParam.type.type === \"interfaceReferenceList\"),\n `Interface object to modify parameter must be an interface reference`,\n );\n const interfaceReference =\n interfaceParam.type.type === \"interfaceReference\"\n ? interfaceParam.type.interfaceReference.interfaceTypeRid\n : interfaceParam.type.interfaceReferenceList.interfaceTypeRid;\n invariant(\n ontologyDefinition.INTERFACE_TYPE[interfaceReference] !== undefined\n || importedTypes.INTERFACE_TYPE[interfaceReference] !== undefined,\n `Interface type ${interfaceReference} does not exist`,\n );\n\n // All referenced SPTs must exist on the interface\n const interfaceType =\n ontologyDefinition.INTERFACE_TYPE[interfaceReference];\n Object.keys(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n spt => {\n invariant(\n Object.keys(getFlattenedInterfaceProperties(interfaceType))\n .includes(spt),\n `Shared property type ${spt} does not exist in interface type ${interfaceReference}`,\n );\n },\n );\n }\n if (rule.type === \"addInterfaceRule\") {\n // The referenced interface must exist globally\n const interfaceType = ontologyDefinition\n .INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName]\n ?? importedTypes.INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName];\n invariant(\n interfaceType !== undefined,\n `Interface type ${rule.addInterfaceRule.interfaceApiName} does not exist`,\n );\n\n // All referenced SPTs must exist on the interface\n Object.keys(rule.addInterfaceRule.sharedPropertyValues).forEach(spt => {\n invariant(\n Object.keys(getFlattenedInterfaceProperties(interfaceType)).includes(\n spt,\n ),\n `Shared property type ${spt} does not exist in interface type ${interfaceType.apiName}`,\n );\n });\n }\n });\n\n const fullAction = {\n ...actionDef,\n apiName: apiName,\n entities: actionDef.entities ?? {\n affectedInterfaceTypes: [],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n __type: OntologyEntityTypeEnum.ACTION_TYPE,\n } as ActionType;\n validateActionConfiguration(fullAction);\n updateOntology(fullAction);\n return fullAction;\n}\n\nexport function isPropertyParameter(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n name: string,\n type: PropertyTypeType,\n): boolean {\n return (\n !Object.keys(def.nonParameterMappings ?? {}).includes(name)\n && !isStruct(type)\n && !def.excludedProperties?.includes(name)\n );\n}\n\nexport function createParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n propertyMap:\n | Record<string, ObjectPropertyTypeUserDefinition>\n | Record<string, SharedPropertyType>,\n parameterSet: Set<string>,\n requiredMap?: Record<string, boolean>,\n): Array<ActionParameter> {\n const targetParams = getTargetParameters(def, parameterSet);\n return [\n ...targetParams,\n ...Array.from(parameterSet).map(\n id => (\n {\n id,\n displayName: def.parameterConfiguration?.[id]?.displayName\n ?? propertyMap[id]?.displayName\n ?? uppercaseFirstLetter(id),\n type: def.parameterConfiguration?.[id]?.customParameterType\n ?? extractActionParameterType(propertyMap[id]!),\n validation: (def.parameterConfiguration?.[id] !== undefined)\n ? {\n ...def.parameterConfiguration?.[id],\n allowedValues: def.parameterConfiguration?.[id].allowedValues\n ?? (def.parameterConfiguration?.[id].customParameterType\n ? extractAllowedValuesFromActionParameterType(\n def.parameterConfiguration?.[id].customParameterType,\n )\n : extractAllowedValuesFromPropertyType(\n propertyMap[id]?.type!,\n )),\n required: def.parameterConfiguration?.[id].required\n ?? (propertyMap[id]?.nullability?.noNulls\n ?? false),\n }\n : {\n required: (propertyMap[id]?.array ?? false)\n ? {\n listLength: propertyMap[id]?.nullability\n ?.noEmptyCollections\n ? { min: 1 }\n : {},\n }\n : requiredMap?.[id]\n ?? propertyMap[id]?.nullability?.noNulls\n ?? false,\n allowedValues: extractAllowedValuesFromPropertyType(\n propertyMap[id]?.type!,\n ),\n },\n defaultValue: def.parameterConfiguration?.[id]?.defaultValue,\n description: def.parameterConfiguration?.[id]?.description,\n }\n ),\n ),\n ];\n}\n\nfunction getTargetParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n parameterSet: Set<string>,\n): Array<ActionParameter> {\n const targetParams: Array<ActionParameter> = [];\n parameterSet.forEach(name => {\n if (name === MODIFY_OBJECT_PARAMETER) {\n targetParams.push({\n id: MODIFY_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Modify object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: def.objectType!.apiName },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n allowedValues: { type: \"objectQuery\" },\n required: def.parameterConfiguration?.[name]?.required ?? true,\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(MODIFY_OBJECT_PARAMETER);\n }\n if (name === CREATE_OR_MODIFY_OBJECT_PARAMETER) {\n targetParams.push({\n id: CREATE_OR_MODIFY_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Create or modify object\",\n type: {\n type: \"objectReference\",\n objectReference: {\n objectTypeId: def.objectType!.apiName,\n maybeCreateObjectOption: !(\"primaryKeyOption\" in def)\n ? {\n type: \"autoGenerated\",\n autoGenerated: {},\n }\n : (def.primaryKeyOption === \"autoGenerated\")\n ? {\n type: \"autoGenerated\",\n autoGenerated: {},\n }\n : {\n type: \"userInput\",\n userInput: {},\n },\n },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n allowedValues: { type: \"objectQuery\" },\n required: def.parameterConfiguration?.[name]?.required ?? true,\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(CREATE_OR_MODIFY_OBJECT_PARAMETER);\n }\n if (name === CREATE_INTERFACE_OBJECT_PARAMETER && \"interfaceType\" in def) {\n targetParams.push({\n id: CREATE_INTERFACE_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Object type to create\",\n type: {\n type: \"objectTypeReference\",\n objectTypeReference: {\n interfaceTypeRids: [def.interfaceType.apiName],\n },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n required: true,\n allowedValues: def.objectType === undefined\n ? {\n type: \"objectTypeReference\",\n interfaceTypes: [def.interfaceType.apiName],\n }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: def.objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: def.objectType.apiName },\n },\n }],\n },\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(CREATE_INTERFACE_OBJECT_PARAMETER);\n }\n if (name === MODIFY_INTERFACE_OBJECT_PARAMETER && \"interfaceType\" in def) {\n targetParams.push({\n id: MODIFY_INTERFACE_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Object type to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: { interfaceTypeRid: def.interfaceType.apiName },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n required: true,\n allowedValues: def.objectType === undefined\n ? { type: \"interfaceObjectQuery\" }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: def.objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: def.objectType.apiName },\n },\n }],\n },\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(MODIFY_INTERFACE_OBJECT_PARAMETER);\n }\n });\n return targetParams;\n}\n\nfunction referencedParameterIds(\n actionDef: ActionTypeDefinition,\n): Set<ParameterId> {\n const parameterIds: Set<ParameterId> = new Set();\n\n // section definitions\n Object.values(actionDef.sections ?? {})\n .flatMap(p => p.parameters).forEach(pId => parameterIds.add(pId));\n\n // form content ordering\n (actionDef.formContentOrdering ?? []).forEach(item => {\n if (item.type === \"parameterId\") {\n parameterIds.add(item.parameterId);\n }\n });\n\n // logic rules\n actionDef.rules.forEach(rule => {\n // when visiting each rule, we also do drive-by namespace prefixing\n switch (rule.type) {\n case \"addInterfaceRule\":\n rule.addInterfaceRule.interfaceApiName = sanitize(\n rule.addInterfaceRule.interfaceApiName,\n );\n parameterIds.add(rule.addInterfaceRule.objectTypeParameter);\n Object.entries(rule.addInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n delete rule.addInterfaceRule.sharedPropertyValues[k];\n rule.addInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n },\n );\n break;\n case \"modifyInterfaceRule\":\n parameterIds.add(\n rule.modifyInterfaceRule.interfaceObjectToModifyParameter,\n );\n Object.entries(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n delete rule.modifyInterfaceRule.sharedPropertyValues[k];\n rule.modifyInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n },\n );\n break;\n case \"addObjectRule\":\n Object.entries(rule.addObjectRule.propertyValues).forEach(([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n });\n break;\n case \"modifyObjectRule\":\n Object.entries(rule.modifyObjectRule.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n case \"addOrModifyObjectRuleV2\":\n Object.entries(rule.addOrModifyObjectRuleV2.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n }\n });\n return parameterIds;\n}\n\nfunction extractAllowedValuesFromActionParameterType(\n type: ActionParameterType,\n): ActionParameterAllowedValues {\n if (typeof type === \"object\") {\n switch (type.type) {\n case \"objectReference\":\n case \"objectReferenceList\":\n return { type: \"objectQuery\" };\n case \"struct\":\n case \"structList\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\n `Inferred allowed values for ${type.type} not yet supported. Please explicitly provide allowed values.`,\n );\n }\n }\n switch (type) {\n case \"boolean\":\n case \"booleanList\":\n return { type: \"boolean\" };\n case \"integer\":\n case \"integerList\":\n case \"decimal\":\n case \"decimalList\":\n case \"double\":\n case \"doubleList\":\n case \"long\":\n case \"longList\":\n return { type: \"range\" };\n case \"timestamp\":\n case \"timestampList\":\n case \"date\":\n case \"dateList\":\n return { type: \"datetime\" };\n case \"string\":\n case \"stringList\":\n return { type: \"text\" };\n case \"geohash\":\n case \"geohashList\":\n return { type: \"geohash\" };\n case \"geoshape\":\n case \"geoshapeList\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n case \"mediaReferenceList\":\n return { type: \"mediaReference\" };\n case \"geotimeSeriesReference\":\n case \"geotimeSeriesReferenceList\":\n return { type: \"geotimeSeriesReference\" };\n case \"attachment\":\n case \"attachmentList\":\n return { type: \"attachment\" };\n default:\n throw new Error(\n `Inferred allowed values for ${type} not yet supported. Please explicitly provide allowed values.`,\n );\n }\n}\n\nfunction extractAllowedValuesFromPropertyType(\n type: PropertyTypeType,\n): ActionParameterAllowedValues {\n switch (type) {\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 255 },\n },\n };\n case \"timestamp\":\n case \"date\":\n return { type: \"datetime\" };\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n return { type: \"range\" };\n case \"short\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 65535 },\n },\n };\n case \"string\":\n return { type: \"text\" };\n case \"geopoint\":\n return { type: \"geohash\" };\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n return { type: \"mediaReference\" };\n case \"geotimeSeries\":\n return { type: \"geotimeSeriesReference\" };\n default:\n switch (type.type) {\n case \"marking\":\n return type.markingType === \"CBAC\"\n ? { type: \"cbacMarking\" }\n : { type: \"mandatoryMarking\" };\n case \"string\":\n return { type: \"text\" };\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\"Unknown type\");\n }\n break;\n }\n}\n\nfunction extractActionParameterType(\n pt:\n | SharedPropertyType\n | ObjectPropertyType\n | ObjectPropertyTypeUserDefinition,\n): ActionParameterType {\n const typeType = pt.type;\n if (typeof typeType === \"object\") {\n switch (typeType.type) {\n case \"marking\":\n return maybeAddList(\"marking\", pt);\n case \"string\":\n return maybeAddList(\"string\", pt);\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type`);\n }\n }\n if (\n typeof typeType === \"string\" && isActionParameterTypePrimitive(typeType)\n ) {\n return maybeAddList(typeType, pt);\n }\n switch (typeType) {\n case \"byte\":\n case \"short\":\n return maybeAddList(\"integer\", pt);\n case \"geopoint\":\n return maybeAddList(\"geohash\", pt);\n case \"float\":\n return maybeAddList(\"double\", pt);\n case \"geotimeSeries\":\n return maybeAddList(\"geotimeSeriesReference\", pt);\n default:\n throw new Error(\"Unknown type\");\n }\n}\n\nfunction maybeAddList(\n type: ActionParameterTypePrimitive,\n pt:\n | SharedPropertyType\n | ObjectPropertyType\n | ObjectPropertyTypeUserDefinition,\n): ActionParameterType {\n return ((pt.array ?? false) ? type + \"List\" : type) as ActionParameterType;\n}\n\nexport function kebab(s: string): string {\n return s\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .replace(/\\./g, \"-\")\n .toLowerCase();\n}\n\nfunction sanitize(s: string): string {\n return s.includes(\".\") ? s : namespace + s;\n}\n\nexport function convertValidationRule(\n actionValidation: ActionLevelValidationDefinition,\n actionParameters?: ActionParameter[],\n): Array<ActionValidationRule> {\n return actionValidation.map(rule => {\n return {\n condition: convertConditionDefinition(rule.condition, actionParameters),\n displayMetadata: rule.displayMetadata ?? {\n failureMessage: \"Did not satisfy validation\",\n typeClasses: [],\n },\n };\n });\n}\n\nfunction validateActionConfiguration(action: ActionType): void {\n const seenParameterIds = new Set<ParameterId>();\n const parameterMap: Record<string, ActionParameter> =\n action.parameters?.reduce((acc, param) => {\n acc[param.id] = param;\n return acc;\n }, {} as Record<string, ActionParameter>) ?? {};\n const orderedParameters =\n action.parameterOrdering?.map(id => parameterMap[id]) ?? action.parameters;\n orderedParameters?.forEach(param => {\n param.validation.conditionalOverrides?.forEach(override => {\n validateParameterCondition(\n override.condition,\n param.id,\n seenParameterIds,\n action.parameters,\n );\n });\n validateParameterPrefill(\n param.id,\n seenParameterIds,\n action.parameters,\n param.defaultValue,\n );\n seenParameterIds.add(param.id);\n });\n}\n\nfunction validateParameterCondition(\n condition: ConditionDefinition,\n currentParameterId: ParameterId,\n seenParameterIds: Set<ParameterId>,\n parameters?: ActionParameter[],\n): void {\n switch (condition.type) {\n case \"parameter\":\n const overrideParamId = condition.parameterId;\n invariant(\n parameters?.some(p => p.id === overrideParamId),\n `Parameter condition on ${currentParameterId} is referencing unknown parameter ${overrideParamId}`,\n );\n invariant(\n overrideParamId !== currentParameterId,\n `Parameter condition on ${currentParameterId} is referencing itself`,\n );\n invariant(\n seenParameterIds.has(overrideParamId),\n `Parameter condition on ${currentParameterId} is referencing later parameter ${overrideParamId}`,\n );\n break;\n case \"and\":\n // this will not catch the niche edge case where users use the full syntax for unions\n if (\"conditions\" in condition) {\n condition.conditions.forEach(c =>\n validateParameterCondition(\n c,\n currentParameterId,\n seenParameterIds,\n parameters,\n )\n );\n }\n break;\n case \"or\":\n if (\"conditions\" in condition) {\n condition.conditions.forEach(c =>\n validateParameterCondition(\n c,\n currentParameterId,\n seenParameterIds,\n parameters,\n )\n );\n }\n break;\n case \"comparison\":\n case \"group\":\n case \"not\":\n case \"markings\":\n case \"regex\":\n case \"redacted\":\n case \"true\":\n break;\n default:\n throw new Error(\n `Unknown condition type on parameter ${currentParameterId}`,\n );\n }\n}\n\nfunction validateParameterPrefill(\n currentParameterId: ParameterId,\n seenParameterIds: Set<ParameterId>,\n parameters?: ActionParameter[],\n defaultValue?: OntologyIrParameterPrefill,\n): void {\n if (!defaultValue) return;\n switch (defaultValue.type) {\n case \"objectParameterPropertyValue\":\n invariant(\n parameters?.some(p =>\n p.id === defaultValue.objectParameterPropertyValue.parameterId\n ),\n `Default value for parameter ${currentParameterId} is referencing unknown parameter ${defaultValue.objectParameterPropertyValue.parameterId}`,\n );\n invariant(\n seenParameterIds.has(\n defaultValue.objectParameterPropertyValue.parameterId,\n ),\n `Default value for parameter ${currentParameterId} is referencing later parameter ${defaultValue.objectParameterPropertyValue.parameterId}`,\n );\n break;\n case \"staticValue\":\n invariant(\n defaultValue.staticValue.type\n === parameters?.find(p => p.id === currentParameterId)?.type,\n `Default static value for parameter ${currentParameterId} does not match type`,\n );\n break;\n case \"staticObject\":\n case \"interfaceParameterPropertyValue\":\n case \"objectQueryPrefill\":\n case \"objectQueryPropertyValue\":\n case \"objectSetRidPrefill\":\n case \"redacted\":\n break;\n default:\n throw new Error(\n `Unknown default value type for parameter ${currentParameterId}`,\n );\n }\n}\n\nexport function validateActionParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n properties: Array<string>,\n name: string,\n): void {\n // validates that parameters either exist as object properties or have a type defined\n [\n ...Object.keys(def.parameterConfiguration ?? {}),\n ].forEach(id => {\n invariant(\n properties.includes(id)\n || properties.includes(addNamespaceIfNone(id))\n || (def.parameterConfiguration?.[id].customParameterType !== undefined)\n || isTargetParameter(id),\n `Parameter ${id} does not exist as a property on ${name} and its type is not explicitly defined`,\n );\n });\n [\n ...Object.keys(def.nonParameterMappings ?? {}),\n ...def.excludedProperties ?? [],\n ].forEach(id => {\n invariant(\n properties.includes(id)\n || properties.includes(addNamespaceIfNone(id)),\n `Property ${id} does not exist as a property on ${name}`,\n );\n });\n}\n\n// Parameters with configurations will be ordered first in the order they were defined\n// followed by the rest of the parameters in the order they were defined on the object type.\nexport function createDefaultParameterOrdering(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n properties: Array<string>,\n parameters: ActionParameter[],\n priorityId?: string,\n): string[] {\n return [\n ...priorityId ? [priorityId] : [],\n ...Object.keys(def.parameterConfiguration ?? {}).filter(id =>\n id !== priorityId\n ),\n ...properties.filter(id =>\n !def.parameterConfiguration?.[id] && parameters.some(p => p.id === id)\n ),\n ];\n}\n\nexport function validateParameterOrdering(\n parameterOrdering: string[],\n parameterSet: Set<string>,\n actionApiName: string,\n): void {\n const orderingSet = new Set(parameterOrdering);\n const missingParameters = [...parameterSet].filter(\n param => !orderingSet.has(param),\n );\n const extraneousParameters = parameterOrdering.filter(param =>\n !parameterSet.has(param)\n );\n invariant(\n extraneousParameters.length === 0\n && missingParameters.length === 0,\n `Action parameter ordering for ${actionApiName} does not match expected parameters. Extraneous parameters in ordering: {${extraneousParameters}}, Missing parameters in ordering: {${missingParameters}}`,\n );\n}\n\nexport function isTargetParameter(parameterId: string): boolean {\n return parameterId === MODIFY_OBJECT_PARAMETER\n || parameterId === CREATE_OR_MODIFY_OBJECT_PARAMETER\n || parameterId === CREATE_INTERFACE_OBJECT_PARAMETER\n || parameterId === MODIFY_INTERFACE_OBJECT_PARAMETER;\n}\n\nexport function addNamespaceToActionDefinition(\n def: InterfaceActionTypeUserDefinition,\n): void {\n def.parameterConfiguration = Object.fromEntries(\n Object.entries(def.parameterConfiguration ?? {})\n .map((\n [id, config],\n ) => [getInterfaceParameterName(def, id), config]),\n );\n def.nonParameterMappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {})\n .map(([id, value]) => [addNamespaceIfNone(id), value]),\n );\n def.excludedProperties = (def.excludedProperties\n ?? []).map(id => addNamespaceIfNone(id));\n def.sections = def.sections?.map(section => ({\n ...section,\n parameters: section.parameters.map(p => getInterfaceParameterName(def, p)),\n }));\n}\n\n// Adds a namespace to an interface parameter name if it is supposed to be namespaced\nexport function getInterfaceParameterName(\n def: InterfaceActionTypeUserDefinition,\n parameter: string,\n): string {\n return (isTargetParameter(parameter)\n || !Object.keys(def.interfaceType.propertiesV2).includes(\n addNamespaceIfNone(parameter),\n ))\n ? parameter\n : addNamespaceIfNone(parameter);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"defineAction.js","names":["invariant","convertConditionDefinition","isActionParameterTypePrimitive","OntologyEntityTypeEnum","uppercaseFirstLetter","addNamespaceIfNone","importedTypes","namespace","ontologyDefinition","updateOntology","getFlattenedInterfaceProperties","isStruct","MODIFY_OBJECT_PARAMETER","CREATE_OR_MODIFY_OBJECT_PARAMETER","CREATE_INTERFACE_OBJECT_PARAMETER","MODIFY_INTERFACE_OBJECT_PARAMETER","defineAction","actionDef","apiName","parameterIds","parameters","map","p","id","ACTION_TYPE","undefined","Error","test","process","env","NODE_ENV","parameterIdsSet","Set","size","length","parameterIdsNotFound","Array","from","referencedParameterIds","filter","has","JSON","stringify","definedSectionIds","Object","keys","sections","undefinedSectionsInOrdering","formContentOrdering","flatMap","s","type","sectionId","sId","rules","forEach","rule","some","modifyObjectRule","objectToModify","deleteObjectRule","objectToDelete","interfaceParam","find","modifyInterfaceRule","interfaceObjectToModifyParameter","interfaceReference","interfaceTypeRid","interfaceReferenceList","INTERFACE_TYPE","interfaceType","sharedPropertyValues","spt","includes","addInterfaceRule","interfaceApiName","fullAction","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","__type","validateActionConfiguration","isPropertyParameter","def","name","nonParameterMappings","excludedProperties","createParameters","propertyMap","parameterSet","requiredMap","targetParams","getTargetParameters","displayName","parameterConfiguration","customParameterType","extractActionParameterType","validation","allowedValues","extractAllowedValuesFromActionParameterType","extractAllowedValuesFromPropertyType","required","nullability","noNulls","array","listLength","noEmptyCollections","min","defaultValue","description","push","objectReference","objectTypeId","objectType","delete","maybeCreateObjectOption","autoGenerated","primaryKeyOption","userInput","objectTypeReference","interfaceTypeRids","interfaceTypes","oneOf","label","value","values","pId","add","item","parameterId","sanitize","objectTypeParameter","entries","k","v","addObjectRule","propertyValues","addOrModifyObjectRuleV2","staticValue","integer","max","markingType","pt","typeType","maybeAddList","kebab","replace","toLowerCase","convertValidationRule","actionValidation","actionParameters","condition","displayMetadata","failureMessage","typeClasses","action","seenParameterIds","parameterMap","reduce","acc","param","orderedParameters","parameterOrdering","conditionalOverrides","override","validateParameterCondition","validateParameterPrefill","currentParameterId","overrideParamId","conditions","c","objectParameterPropertyValue","validateActionParameters","properties","isTargetParameter","createDefaultParameterOrdering","priorityId","validateParameterOrdering","actionApiName","orderingSet","missingParameters","extraneousParameters","addNamespaceToActionDefinition","fromEntries","config","getInterfaceParameterName","section","parameter","propertiesV2"],"sources":["defineAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n OntologyIrParameterPrefill,\n ParameterId,\n} from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { convertConditionDefinition } from \"../conversion/toMarketplace/convertConditionDefinition.js\";\nimport type { ActionLevelValidationDefinition } from \"./action/ActionLevelValidationDefinition.js\";\nimport { type ActionParameter } from \"./action/ActionParameter.js\";\nimport type { ActionParameterAllowedValues } from \"./action/ActionParameterAllowedValues.js\";\nimport type { ActionParameterConfiguration } from \"./action/ActionParameterConfiguration.js\";\nimport {\n type ActionParameterType,\n type ActionParameterTypePrimitive,\n isActionParameterTypePrimitive,\n} from \"./action/ActionParameterType.js\";\nimport type { ActionSection } from \"./action/ActionSection.js\";\nimport type { ActionStatus } from \"./action/ActionStatus.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { ActionValidationRule } from \"./action/ActionValidationRule.js\";\nimport type { ConditionDefinition } from \"./action/ConditionDefinition.js\";\nimport type { DefaultFormat } from \"./action/DefaultFormat.js\";\nimport type { MappingValue } from \"./action/MappingValue.js\";\nimport type { SubmissionMetadata } from \"./action/SubmissionMetadata.js\";\nimport type { TableConfiguration } from \"./action/TableConfiguration.js\";\nimport { OntologyEntityTypeEnum } from \"./common/OntologyEntityTypeEnum.js\";\nimport { uppercaseFirstLetter } from \"./defineObject.js\";\nimport {\n addNamespaceIfNone,\n importedTypes,\n namespace,\n ontologyDefinition,\n updateOntology,\n} from \"./defineOntology.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\nimport type { InterfaceType } from \"./interface/InterfaceType.js\";\nimport type { ObjectPropertyType } from \"./object/ObjectPropertyType.js\";\nimport type { ObjectPropertyTypeUserDefinition } from \"./object/ObjectPropertyTypeUserDefinition.js\";\nimport type { ObjectTypeDefinition } from \"./object/ObjectTypeDefinition.js\";\nimport {\n isStruct,\n type PropertyTypeType,\n} from \"./properties/PropertyTypeType.js\";\nimport type { SharedPropertyType } from \"./properties/SharedPropertyType.js\";\n\nexport const MODIFY_OBJECT_PARAMETER: string = \"objectToModifyParameter\";\n\nexport const CREATE_OR_MODIFY_OBJECT_PARAMETER: string =\n \"objectToCreateOrModifyParameter\";\n\nexport const CREATE_INTERFACE_OBJECT_PARAMETER: string = \"objectTypeParameter\";\n\nexport const MODIFY_INTERFACE_OBJECT_PARAMETER: string =\n \"interfaceObjectToModifyParameter\";\n\nexport type ActionTypeDefinition = Omit<ActionType, \"__type\">;\n\nexport type ActionTypeUserDefinition = {\n objectType: ObjectTypeDefinition;\n apiName?: string;\n displayName?: string;\n status?: ActionStatus;\n parameterConfiguration?: Record<string, ActionParameterConfiguration>;\n nonParameterMappings?: Record<string, MappingValue>;\n actionLevelValidation?: ActionLevelValidationDefinition;\n excludedProperties?: Array<ParameterId>;\n sections?: Array<ActionSection>;\n defaultFormat?: DefaultFormat;\n enableLayoutSwitch?: boolean;\n tableConfiguration?: TableConfiguration;\n parameterOrdering?: Array<string>;\n submissionMetadata?: SubmissionMetadata;\n // Used for Create or Modify actions\n primaryKeyOption?: \"autoGenerated\" | \"userInput\";\n};\n\nexport type InterfaceActionTypeUserDefinition = {\n interfaceType: InterfaceType;\n objectType?: ObjectTypeDefinition;\n apiName?: string;\n displayName?: string;\n status?: ActionStatus;\n parameterConfiguration?: Record<string, ActionParameterConfiguration>;\n nonParameterMappings?: Record<string, MappingValue>;\n actionLevelValidation?: ActionLevelValidationDefinition;\n excludedProperties?: Array<string>;\n sections?: Array<ActionSection>;\n defaultFormat?: DefaultFormat;\n enableLayoutSwitch?: boolean;\n tableConfiguration?: TableConfiguration;\n parameterOrdering?: Array<string>;\n submissionMetadata?: SubmissionMetadata;\n};\n\nexport function defineAction(actionDef: ActionTypeDefinition): ActionType {\n const apiName = namespace + actionDef.apiName;\n const parameterIds = (actionDef.parameters ?? []).map(p => p.id);\n\n if (\n ontologyDefinition[OntologyEntityTypeEnum.ACTION_TYPE][apiName]\n !== undefined\n ) {\n throw new Error(\n `Action type with apiName ${actionDef.apiName} is already defined`,\n );\n }\n invariant(\n /^[a-z0-9]+(-[a-z0-9]+)*$/.test(actionDef.apiName),\n `Action type apiName \"${actionDef.apiName}\" must be alphanumeric, lowercase, and kebab-case`,\n );\n\n const parameterIdsSet = new Set(parameterIds);\n invariant(\n parameterIdsSet.size === parameterIds.length,\n `Parameter ids must be unique`,\n );\n\n const parameterIdsNotFound = Array.from(referencedParameterIds(actionDef))\n .filter(p => !parameterIdsSet.has(p));\n invariant(\n parameterIdsNotFound.length === 0,\n `Parameters ${\n JSON.stringify(parameterIdsNotFound)\n } were referenced but not defined`,\n );\n\n const definedSectionIds = new Set(Object.keys(actionDef.sections ?? []));\n const undefinedSectionsInOrdering = (actionDef.formContentOrdering ?? [])\n .flatMap(\n s => s.type === \"parameterId\" ? [] : [s.sectionId],\n ).filter(sId => !definedSectionIds.has(sId));\n invariant(\n undefinedSectionsInOrdering.length === 0,\n `Sections [${undefinedSectionsInOrdering}] were referenced in content ordering but not defined`,\n );\n\n invariant(\n actionDef.rules.length > 0,\n `Action type ${actionDef.apiName} must have at least one logic rule`,\n );\n actionDef.rules.forEach(rule => {\n if (rule.type === \"modifyObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.modifyObjectRule.objectToModify),\n `Object to modify parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"deleteObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.deleteObjectRule.objectToDelete),\n `Object to delete parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"modifyInterfaceRule\") {\n // The there must be a parameter for the interface, and the interface there must exist\n const interfaceParam = actionDef.parameters!.find(p =>\n p.id === rule.modifyInterfaceRule.interfaceObjectToModifyParameter\n );\n invariant(\n interfaceParam !== undefined && typeof interfaceParam.type === \"object\"\n && (interfaceParam.type.type === \"interfaceReference\"\n || interfaceParam.type.type === \"interfaceReferenceList\"),\n `Interface object to modify parameter must be an interface reference`,\n );\n const interfaceReference =\n interfaceParam.type.type === \"interfaceReference\"\n ? interfaceParam.type.interfaceReference.interfaceTypeRid\n : interfaceParam.type.interfaceReferenceList.interfaceTypeRid;\n invariant(\n ontologyDefinition.INTERFACE_TYPE[interfaceReference] !== undefined\n || importedTypes.INTERFACE_TYPE[interfaceReference] !== undefined,\n `Interface type ${interfaceReference} does not exist`,\n );\n\n // All referenced SPTs must exist on the interface\n const interfaceType =\n ontologyDefinition.INTERFACE_TYPE[interfaceReference];\n Object.keys(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n spt => {\n invariant(\n Object.keys(getFlattenedInterfaceProperties(interfaceType))\n .includes(spt),\n `Shared property type ${spt} does not exist in interface type ${interfaceReference}`,\n );\n },\n );\n }\n if (rule.type === \"addInterfaceRule\") {\n // The referenced interface must exist globally\n const interfaceType = ontologyDefinition\n .INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName]\n ?? importedTypes.INTERFACE_TYPE[rule.addInterfaceRule.interfaceApiName];\n invariant(\n interfaceType !== undefined,\n `Interface type ${rule.addInterfaceRule.interfaceApiName} does not exist`,\n );\n\n // All referenced SPTs must exist on the interface\n Object.keys(rule.addInterfaceRule.sharedPropertyValues).forEach(spt => {\n invariant(\n Object.keys(getFlattenedInterfaceProperties(interfaceType)).includes(\n spt,\n ),\n `Shared property type ${spt} does not exist in interface type ${interfaceType.apiName}`,\n );\n });\n }\n });\n\n const fullAction = {\n ...actionDef,\n apiName: apiName,\n entities: actionDef.entities ?? {\n affectedInterfaceTypes: [],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n __type: OntologyEntityTypeEnum.ACTION_TYPE,\n } as ActionType;\n validateActionConfiguration(fullAction);\n updateOntology(fullAction);\n return fullAction;\n}\n\nexport function isPropertyParameter(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n name: string,\n type: PropertyTypeType,\n): boolean {\n return (\n !Object.keys(def.nonParameterMappings ?? {}).includes(name)\n && !isStruct(type)\n && !def.excludedProperties?.includes(name)\n );\n}\n\nexport function createParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n propertyMap:\n | Record<string, ObjectPropertyTypeUserDefinition>\n | Record<string, SharedPropertyType>,\n parameterSet: Set<string>,\n requiredMap?: Record<string, boolean>,\n): Array<ActionParameter> {\n const targetParams = getTargetParameters(def, parameterSet);\n return [\n ...targetParams,\n ...Array.from(parameterSet).map(\n id => (\n {\n id,\n displayName: def.parameterConfiguration?.[id]?.displayName\n ?? propertyMap[id]?.displayName\n ?? uppercaseFirstLetter(id),\n type: def.parameterConfiguration?.[id]?.customParameterType\n ?? extractActionParameterType(propertyMap[id]!),\n validation: (def.parameterConfiguration?.[id] !== undefined)\n ? {\n ...def.parameterConfiguration?.[id],\n allowedValues: def.parameterConfiguration?.[id].allowedValues\n ?? (def.parameterConfiguration?.[id].customParameterType\n ? extractAllowedValuesFromActionParameterType(\n def.parameterConfiguration?.[id].customParameterType,\n )\n : extractAllowedValuesFromPropertyType(\n propertyMap[id]?.type!,\n )),\n required: def.parameterConfiguration?.[id].required\n ?? (propertyMap[id]?.nullability?.noNulls\n ?? false),\n }\n : {\n required: (propertyMap[id]?.array ?? false)\n ? {\n listLength: propertyMap[id]?.nullability\n ?.noEmptyCollections\n ? { min: 1 }\n : {},\n }\n : requiredMap?.[id]\n ?? propertyMap[id]?.nullability?.noNulls\n ?? false,\n allowedValues: extractAllowedValuesFromPropertyType(\n propertyMap[id]?.type!,\n ),\n },\n defaultValue: def.parameterConfiguration?.[id]?.defaultValue,\n description: def.parameterConfiguration?.[id]?.description,\n }\n ),\n ),\n ];\n}\n\nfunction getTargetParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n parameterSet: Set<string>,\n): Array<ActionParameter> {\n const targetParams: Array<ActionParameter> = [];\n parameterSet.forEach(name => {\n if (name === MODIFY_OBJECT_PARAMETER) {\n targetParams.push({\n id: MODIFY_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Modify object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: def.objectType!.apiName },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n allowedValues: { type: \"objectQuery\" },\n required: def.parameterConfiguration?.[name]?.required ?? true,\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(MODIFY_OBJECT_PARAMETER);\n }\n if (name === CREATE_OR_MODIFY_OBJECT_PARAMETER) {\n targetParams.push({\n id: CREATE_OR_MODIFY_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Create or modify object\",\n type: {\n type: \"objectReference\",\n objectReference: {\n objectTypeId: def.objectType!.apiName,\n maybeCreateObjectOption: !(\"primaryKeyOption\" in def)\n ? {\n type: \"autoGenerated\",\n autoGenerated: {},\n }\n : (def.primaryKeyOption === \"autoGenerated\")\n ? {\n type: \"autoGenerated\",\n autoGenerated: {},\n }\n : {\n type: \"userInput\",\n userInput: {},\n },\n },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n allowedValues: { type: \"objectQuery\" },\n required: def.parameterConfiguration?.[name]?.required ?? true,\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(CREATE_OR_MODIFY_OBJECT_PARAMETER);\n }\n if (name === CREATE_INTERFACE_OBJECT_PARAMETER && \"interfaceType\" in def) {\n targetParams.push({\n id: CREATE_INTERFACE_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Object type to create\",\n type: {\n type: \"objectTypeReference\",\n objectTypeReference: {\n interfaceTypeRids: [def.interfaceType.apiName],\n },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n required: true,\n allowedValues: def.objectType === undefined\n ? {\n type: \"objectTypeReference\",\n interfaceTypes: [def.interfaceType.apiName],\n }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: def.objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: def.objectType.apiName },\n },\n }],\n },\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(CREATE_INTERFACE_OBJECT_PARAMETER);\n }\n if (name === MODIFY_INTERFACE_OBJECT_PARAMETER && \"interfaceType\" in def) {\n targetParams.push({\n id: MODIFY_INTERFACE_OBJECT_PARAMETER,\n displayName: def.parameterConfiguration?.[name]?.displayName\n ?? \"Object type to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: { interfaceTypeRid: def.interfaceType.apiName },\n },\n validation: {\n ...def.parameterConfiguration?.[name],\n required: true,\n allowedValues: def.objectType === undefined\n ? { type: \"interfaceObjectQuery\" }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: def.objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: def.objectType.apiName },\n },\n }],\n },\n },\n defaultValue: def.parameterConfiguration?.[name]?.defaultValue,\n description: def.parameterConfiguration?.[name]?.description,\n });\n parameterSet.delete(MODIFY_INTERFACE_OBJECT_PARAMETER);\n }\n });\n return targetParams;\n}\n\nfunction referencedParameterIds(\n actionDef: ActionTypeDefinition,\n): Set<ParameterId> {\n const parameterIds: Set<ParameterId> = new Set();\n\n // section definitions\n Object.values(actionDef.sections ?? {})\n .flatMap(p => p.parameters).forEach(pId => parameterIds.add(pId));\n\n // form content ordering\n (actionDef.formContentOrdering ?? []).forEach(item => {\n if (item.type === \"parameterId\") {\n parameterIds.add(item.parameterId);\n }\n });\n\n // logic rules\n actionDef.rules.forEach(rule => {\n // when visiting each rule, we also do drive-by namespace prefixing\n switch (rule.type) {\n case \"addInterfaceRule\":\n rule.addInterfaceRule.interfaceApiName = sanitize(\n rule.addInterfaceRule.interfaceApiName,\n );\n parameterIds.add(rule.addInterfaceRule.objectTypeParameter);\n Object.entries(rule.addInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n delete rule.addInterfaceRule.sharedPropertyValues[k];\n rule.addInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n },\n );\n break;\n case \"modifyInterfaceRule\":\n parameterIds.add(\n rule.modifyInterfaceRule.interfaceObjectToModifyParameter,\n );\n Object.entries(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n delete rule.modifyInterfaceRule.sharedPropertyValues[k];\n rule.modifyInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n },\n );\n break;\n case \"addObjectRule\":\n Object.entries(rule.addObjectRule.propertyValues).forEach(([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n });\n break;\n case \"modifyObjectRule\":\n Object.entries(rule.modifyObjectRule.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n case \"addOrModifyObjectRuleV2\":\n Object.entries(rule.addOrModifyObjectRuleV2.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n }\n });\n return parameterIds;\n}\n\nfunction extractAllowedValuesFromActionParameterType(\n type: ActionParameterType,\n): ActionParameterAllowedValues {\n if (typeof type === \"object\") {\n switch (type.type) {\n case \"objectReference\":\n case \"objectReferenceList\":\n return { type: \"objectQuery\" };\n case \"struct\":\n case \"structList\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\n `Inferred allowed values for ${type.type} not yet supported. Please explicitly provide allowed values.`,\n );\n }\n }\n switch (type) {\n case \"boolean\":\n case \"booleanList\":\n return { type: \"boolean\" };\n case \"integer\":\n case \"integerList\":\n case \"decimal\":\n case \"decimalList\":\n case \"double\":\n case \"doubleList\":\n case \"long\":\n case \"longList\":\n return { type: \"range\" };\n case \"timestamp\":\n case \"timestampList\":\n case \"date\":\n case \"dateList\":\n return { type: \"datetime\" };\n case \"string\":\n case \"stringList\":\n return { type: \"text\" };\n case \"geohash\":\n case \"geohashList\":\n return { type: \"geohash\" };\n case \"geoshape\":\n case \"geoshapeList\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n case \"mediaReferenceList\":\n return { type: \"mediaReference\" };\n case \"geotimeSeriesReference\":\n case \"geotimeSeriesReferenceList\":\n return { type: \"geotimeSeriesReference\" };\n case \"attachment\":\n case \"attachmentList\":\n return { type: \"attachment\" };\n default:\n throw new Error(\n `Inferred allowed values for ${type} not yet supported. Please explicitly provide allowed values.`,\n );\n }\n}\n\nfunction extractAllowedValuesFromPropertyType(\n type: PropertyTypeType,\n): ActionParameterAllowedValues {\n switch (type) {\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 255 },\n },\n };\n case \"timestamp\":\n case \"date\":\n return { type: \"datetime\" };\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n return { type: \"range\" };\n case \"short\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 65535 },\n },\n };\n case \"string\":\n return { type: \"text\" };\n case \"geopoint\":\n return { type: \"geohash\" };\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n return { type: \"mediaReference\" };\n case \"geotimeSeries\":\n return { type: \"geotimeSeriesReference\" };\n default:\n switch (type.type) {\n case \"marking\":\n return type.markingType === \"CBAC\"\n ? { type: \"cbacMarking\" }\n : { type: \"mandatoryMarking\" };\n case \"string\":\n return { type: \"text\" };\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\"Unknown type\");\n }\n break;\n }\n}\n\nfunction extractActionParameterType(\n pt:\n | SharedPropertyType\n | ObjectPropertyType\n | ObjectPropertyTypeUserDefinition,\n): ActionParameterType {\n const typeType = pt.type;\n if (typeof typeType === \"object\") {\n switch (typeType.type) {\n case \"marking\":\n return maybeAddList(\"marking\", pt);\n case \"string\":\n return maybeAddList(\"string\", pt);\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type`);\n }\n }\n if (\n typeof typeType === \"string\" && isActionParameterTypePrimitive(typeType)\n ) {\n return maybeAddList(typeType, pt);\n }\n switch (typeType) {\n case \"byte\":\n case \"short\":\n return maybeAddList(\"integer\", pt);\n case \"geopoint\":\n return maybeAddList(\"geohash\", pt);\n case \"float\":\n return maybeAddList(\"double\", pt);\n case \"geotimeSeries\":\n return maybeAddList(\"geotimeSeriesReference\", pt);\n default:\n throw new Error(\"Unknown type\");\n }\n}\n\nfunction maybeAddList(\n type: ActionParameterTypePrimitive,\n pt:\n | SharedPropertyType\n | ObjectPropertyType\n | ObjectPropertyTypeUserDefinition,\n): ActionParameterType {\n return ((pt.array ?? false) ? type + \"List\" : type) as ActionParameterType;\n}\n\nexport function kebab(s: string): string {\n return s\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .replace(/\\./g, \"-\")\n .toLowerCase();\n}\n\nfunction sanitize(s: string): string {\n return s.includes(\".\") ? s : namespace + s;\n}\n\nexport function convertValidationRule(\n actionValidation: ActionLevelValidationDefinition,\n actionParameters?: ActionParameter[],\n): Array<ActionValidationRule> {\n return actionValidation.map(rule => {\n return {\n condition: convertConditionDefinition(rule.condition, actionParameters),\n displayMetadata: rule.displayMetadata ?? {\n failureMessage: \"Did not satisfy validation\",\n typeClasses: [],\n },\n };\n });\n}\n\nfunction validateActionConfiguration(action: ActionType): void {\n const seenParameterIds = new Set<ParameterId>();\n const parameterMap: Record<string, ActionParameter> =\n action.parameters?.reduce((acc, param) => {\n acc[param.id] = param;\n return acc;\n }, {} as Record<string, ActionParameter>) ?? {};\n const orderedParameters =\n action.parameterOrdering?.map(id => parameterMap[id]) ?? action.parameters;\n orderedParameters?.forEach(param => {\n param.validation.conditionalOverrides?.forEach(override => {\n validateParameterCondition(\n override.condition,\n param.id,\n seenParameterIds,\n action.parameters,\n );\n });\n validateParameterPrefill(\n param.id,\n seenParameterIds,\n action.parameters,\n param.defaultValue,\n );\n seenParameterIds.add(param.id);\n });\n}\n\nfunction validateParameterCondition(\n condition: ConditionDefinition,\n currentParameterId: ParameterId,\n seenParameterIds: Set<ParameterId>,\n parameters?: ActionParameter[],\n): void {\n switch (condition.type) {\n case \"parameter\":\n const overrideParamId = condition.parameterId;\n invariant(\n parameters?.some(p => p.id === overrideParamId),\n `Parameter condition on ${currentParameterId} is referencing unknown parameter ${overrideParamId}`,\n );\n invariant(\n overrideParamId !== currentParameterId,\n `Parameter condition on ${currentParameterId} is referencing itself`,\n );\n invariant(\n seenParameterIds.has(overrideParamId),\n `Parameter condition on ${currentParameterId} is referencing later parameter ${overrideParamId}`,\n );\n break;\n case \"and\":\n // this will not catch the niche edge case where users use the full syntax for unions\n if (\"conditions\" in condition) {\n condition.conditions.forEach(c =>\n validateParameterCondition(\n c,\n currentParameterId,\n seenParameterIds,\n parameters,\n )\n );\n }\n break;\n case \"or\":\n if (\"conditions\" in condition) {\n condition.conditions.forEach(c =>\n validateParameterCondition(\n c,\n currentParameterId,\n seenParameterIds,\n parameters,\n )\n );\n }\n break;\n case \"comparison\":\n case \"group\":\n case \"not\":\n case \"markings\":\n case \"regex\":\n case \"redacted\":\n case \"true\":\n break;\n default:\n throw new Error(\n `Unknown condition type on parameter ${currentParameterId}`,\n );\n }\n}\n\nfunction validateParameterPrefill(\n currentParameterId: ParameterId,\n seenParameterIds: Set<ParameterId>,\n parameters?: ActionParameter[],\n defaultValue?: OntologyIrParameterPrefill,\n): void {\n if (!defaultValue) return;\n switch (defaultValue.type) {\n case \"objectParameterPropertyValue\":\n invariant(\n parameters?.some(p =>\n p.id === defaultValue.objectParameterPropertyValue.parameterId\n ),\n `Default value for parameter ${currentParameterId} is referencing unknown parameter ${defaultValue.objectParameterPropertyValue.parameterId}`,\n );\n invariant(\n seenParameterIds.has(\n defaultValue.objectParameterPropertyValue.parameterId,\n ),\n `Default value for parameter ${currentParameterId} is referencing later parameter ${defaultValue.objectParameterPropertyValue.parameterId}`,\n );\n break;\n case \"staticValue\":\n invariant(\n defaultValue.staticValue.type\n === parameters?.find(p => p.id === currentParameterId)?.type,\n `Default static value for parameter ${currentParameterId} does not match type`,\n );\n break;\n case \"staticObject\":\n case \"interfaceParameterPropertyValue\":\n case \"objectQueryPrefill\":\n case \"objectQueryPropertyValue\":\n case \"objectSetRidPrefill\":\n case \"redacted\":\n break;\n default:\n throw new Error(\n `Unknown default value type for parameter ${currentParameterId}`,\n );\n }\n}\n\nexport function validateActionParameters(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n properties: Array<string>,\n name: string,\n): void {\n // validates that parameters either exist as object properties or have a type defined\n [\n ...Object.keys(def.parameterConfiguration ?? {}),\n ].forEach(id => {\n invariant(\n properties.includes(id)\n || properties.includes(addNamespaceIfNone(id))\n || (def.parameterConfiguration?.[id].customParameterType !== undefined)\n || isTargetParameter(id),\n `Parameter ${id} does not exist as a property on ${name} and its type is not explicitly defined`,\n );\n });\n [\n ...Object.keys(def.nonParameterMappings ?? {}),\n ...def.excludedProperties ?? [],\n ].forEach(id => {\n invariant(\n properties.includes(id)\n || properties.includes(addNamespaceIfNone(id)),\n `Property ${id} does not exist as a property on ${name}`,\n );\n });\n}\n\n// Parameters with configurations will be ordered first in the order they were defined\n// followed by the rest of the parameters in the order they were defined on the object type.\nexport function createDefaultParameterOrdering(\n def: ActionTypeUserDefinition | InterfaceActionTypeUserDefinition,\n properties: Array<string>,\n parameters: ActionParameter[],\n priorityId?: string,\n): string[] {\n return [\n ...priorityId ? [priorityId] : [],\n ...Object.keys(def.parameterConfiguration ?? {}).filter(id =>\n id !== priorityId\n ),\n ...properties.filter(id =>\n !def.parameterConfiguration?.[id] && parameters.some(p => p.id === id)\n ),\n ];\n}\n\nexport function validateParameterOrdering(\n parameterOrdering: string[],\n parameterSet: Set<string>,\n actionApiName: string,\n): void {\n const orderingSet = new Set(parameterOrdering);\n const missingParameters = [...parameterSet].filter(\n param => !orderingSet.has(param),\n );\n const extraneousParameters = parameterOrdering.filter(param =>\n !parameterSet.has(param)\n );\n invariant(\n extraneousParameters.length === 0\n && missingParameters.length === 0,\n `Action parameter ordering for ${actionApiName} does not match expected parameters. Extraneous parameters in ordering: {${extraneousParameters}}, Missing parameters in ordering: {${missingParameters}}`,\n );\n}\n\nexport function isTargetParameter(parameterId: string): boolean {\n return parameterId === MODIFY_OBJECT_PARAMETER\n || parameterId === CREATE_OR_MODIFY_OBJECT_PARAMETER\n || parameterId === CREATE_INTERFACE_OBJECT_PARAMETER\n || parameterId === MODIFY_INTERFACE_OBJECT_PARAMETER;\n}\n\nexport function addNamespaceToActionDefinition(\n def: InterfaceActionTypeUserDefinition,\n): void {\n def.parameterConfiguration = Object.fromEntries(\n Object.entries(def.parameterConfiguration ?? {})\n .map((\n [id, config],\n ) => [getInterfaceParameterName(def, id), config]),\n );\n def.nonParameterMappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {})\n .map(([id, value]) => [addNamespaceIfNone(id), value]),\n );\n def.excludedProperties = (def.excludedProperties\n ?? []).map(id => addNamespaceIfNone(id));\n def.sections = def.sections?.map(section => ({\n ...section,\n parameters: section.parameters.map(p => getInterfaceParameterName(def, p)),\n }));\n}\n\n// Adds a namespace to an interface parameter name if it is supposed to be namespaced\nexport function getInterfaceParameterName(\n def: InterfaceActionTypeUserDefinition,\n parameter: string,\n): string {\n return (isTargetParameter(parameter)\n || !Object.keys(def.interfaceType.propertiesV2).includes(\n addNamespaceIfNone(parameter),\n ))\n ? parameter\n : addNamespaceIfNone(parameter);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,11 +61,19 @@ export function defineCreateInterfaceObjectAction(def) {
|
|
|
61
61
|
}],
|
|
62
62
|
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, Object.keys(allProperties), parameters, CREATE_INTERFACE_OBJECT_PARAMETER),
|
|
63
63
|
...(def.actionLevelValidation ? {
|
|
64
|
-
|
|
64
|
+
validation: convertValidationRule(def.actionLevelValidation, parameters)
|
|
65
65
|
} : {}),
|
|
66
|
+
...(def.defaultFormat && {
|
|
67
|
+
defaultFormat: def.defaultFormat
|
|
68
|
+
}),
|
|
66
69
|
...(def.enableLayoutSwitch && {
|
|
67
70
|
enableLayoutSwitch: def.enableLayoutSwitch
|
|
68
71
|
}),
|
|
72
|
+
...(def.tableConfiguration && {
|
|
73
|
+
displayAndFormat: {
|
|
74
|
+
table: def.tableConfiguration
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
69
77
|
...(def.sections && {
|
|
70
78
|
sections: Object.fromEntries(def.sections.map(section => [section.id, section]))
|
|
71
79
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineCreateInterfaceObjectAction.js","names":["convertMappingValue","addNamespaceToActionDefinition","convertValidationRule","CREATE_INTERFACE_OBJECT_PARAMETER","createDefaultParameterOrdering","createParameters","defineAction","getInterfaceParameterName","isPropertyParameter","kebab","validateActionParameters","validateParameterOrdering","getFlattenedInterfaceProperties","defineCreateInterfaceObjectAction","def","allProperties","interfaceType","Object","keys","apiName","propertyParameters","filter","sharedPropertyType","type","parameterNames","Set","parameterConfiguration","forEach","param","add","actionApiName","split","pop","objectType","undefined","parameterOrdering","includes","unshift","parameters","fromEntries","entries","map","id","prop","required","mappings","nonParameterMappings","value","displayName","displayMetadata","status","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","rules","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","parameterId","actionLevelValidation","enableLayoutSwitch","sections","section","submissionMetadata"],"sources":["defineCreateInterfaceObjectAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { convertMappingValue } from \"../conversion/toMarketplace/convertMappingValue.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { InterfaceActionTypeUserDefinition } from \"./defineAction.js\";\nimport {\n addNamespaceToActionDefinition,\n convertValidationRule,\n CREATE_INTERFACE_OBJECT_PARAMETER,\n createDefaultParameterOrdering,\n createParameters,\n defineAction,\n getInterfaceParameterName,\n isPropertyParameter,\n kebab,\n validateActionParameters,\n validateParameterOrdering,\n} from \"./defineAction.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\n\nexport function defineCreateInterfaceObjectAction(\n def: InterfaceActionTypeUserDefinition,\n): ActionType {\n addNamespaceToActionDefinition(def);\n const allProperties = getFlattenedInterfaceProperties(def.interfaceType);\n validateActionParameters(\n def,\n Object.keys(allProperties),\n def.interfaceType.apiName,\n );\n const propertyParameters = Object.keys(allProperties).filter(apiName =>\n isPropertyParameter(\n def,\n apiName,\n allProperties[apiName].sharedPropertyType.type,\n )\n );\n const parameterNames = new Set(propertyParameters);\n Object.keys(def.parameterConfiguration ?? {}).forEach(param =>\n parameterNames.add(getInterfaceParameterName(def, param))\n );\n parameterNames.add(CREATE_INTERFACE_OBJECT_PARAMETER);\n const actionApiName = def.apiName ?? `create-${\n kebab(\n def.interfaceType.apiName.split(\".\").pop() ?? def.interfaceType.apiName,\n )\n }${\n def.objectType === undefined\n ? \"\"\n : `-${\n kebab(\n def.objectType.apiName.split(\".\").pop() ?? def.objectType.apiName,\n )\n }`\n }`;\n if (def.parameterOrdering) {\n if (!def.parameterOrdering.includes(CREATE_INTERFACE_OBJECT_PARAMETER)) {\n def.parameterOrdering.unshift(CREATE_INTERFACE_OBJECT_PARAMETER);\n }\n validateParameterOrdering(\n def.parameterOrdering,\n parameterNames,\n actionApiName,\n );\n }\n const parameters = createParameters(\n def,\n Object.fromEntries(\n Object.entries(allProperties).map((\n [id, prop],\n ) => [id, prop.sharedPropertyType]),\n ),\n parameterNames,\n Object.fromEntries(\n Object.entries(allProperties).map(([id, prop]) => [id, prop.required]),\n ),\n );\n const mappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {}).map((\n [id, value],\n ) => [id, convertMappingValue(value)]),\n );\n\n return defineAction({\n apiName: actionApiName,\n displayName: def.displayName\n ?? `Create ${def.interfaceType.displayMetadata.displayName}`,\n parameters: parameters,\n status: def.status ?? (def.interfaceType.status.type !== \"deprecated\"\n ? def.interfaceType.status.type\n : def.interfaceType.status),\n entities: {\n affectedInterfaceTypes: [def.interfaceType.apiName],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n rules: [\n {\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: def.interfaceType.apiName,\n objectTypeParameter: CREATE_INTERFACE_OBJECT_PARAMETER,\n sharedPropertyValues: {\n ...Object.fromEntries(\n propertyParameters.map(\n id => [id, { type: \"parameterId\", parameterId: id }],\n ),\n ),\n ...mappings,\n },\n },\n },\n ],\n parameterOrdering: def.parameterOrdering\n ?? createDefaultParameterOrdering(\n def,\n Object.keys(allProperties),\n parameters,\n CREATE_INTERFACE_OBJECT_PARAMETER,\n ),\n ...(def.actionLevelValidation\n ? {\n actionLevelValidation: convertValidationRule(\n def.actionLevelValidation,\n parameters,\n ),\n }\n : {}),\n ...(def.enableLayoutSwitch\n && { enableLayoutSwitch: def.enableLayoutSwitch }),\n ...(def.sections\n && {\n sections: Object.fromEntries(\n def.sections.map(section => [section.id, section]),\n ),\n }),\n ...(def.submissionMetadata\n && { submissionMetadata: def.submissionMetadata }),\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"defineCreateInterfaceObjectAction.js","names":["convertMappingValue","addNamespaceToActionDefinition","convertValidationRule","CREATE_INTERFACE_OBJECT_PARAMETER","createDefaultParameterOrdering","createParameters","defineAction","getInterfaceParameterName","isPropertyParameter","kebab","validateActionParameters","validateParameterOrdering","getFlattenedInterfaceProperties","defineCreateInterfaceObjectAction","def","allProperties","interfaceType","Object","keys","apiName","propertyParameters","filter","sharedPropertyType","type","parameterNames","Set","parameterConfiguration","forEach","param","add","actionApiName","split","pop","objectType","undefined","parameterOrdering","includes","unshift","parameters","fromEntries","entries","map","id","prop","required","mappings","nonParameterMappings","value","displayName","displayMetadata","status","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","rules","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","parameterId","actionLevelValidation","validation","defaultFormat","enableLayoutSwitch","tableConfiguration","displayAndFormat","table","sections","section","submissionMetadata"],"sources":["defineCreateInterfaceObjectAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { convertMappingValue } from \"../conversion/toMarketplace/convertMappingValue.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { InterfaceActionTypeUserDefinition } from \"./defineAction.js\";\nimport {\n addNamespaceToActionDefinition,\n convertValidationRule,\n CREATE_INTERFACE_OBJECT_PARAMETER,\n createDefaultParameterOrdering,\n createParameters,\n defineAction,\n getInterfaceParameterName,\n isPropertyParameter,\n kebab,\n validateActionParameters,\n validateParameterOrdering,\n} from \"./defineAction.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\n\nexport function defineCreateInterfaceObjectAction(\n def: InterfaceActionTypeUserDefinition,\n): ActionType {\n addNamespaceToActionDefinition(def);\n const allProperties = getFlattenedInterfaceProperties(def.interfaceType);\n validateActionParameters(\n def,\n Object.keys(allProperties),\n def.interfaceType.apiName,\n );\n const propertyParameters = Object.keys(allProperties).filter(apiName =>\n isPropertyParameter(\n def,\n apiName,\n allProperties[apiName].sharedPropertyType.type,\n )\n );\n const parameterNames = new Set(propertyParameters);\n Object.keys(def.parameterConfiguration ?? {}).forEach(param =>\n parameterNames.add(getInterfaceParameterName(def, param))\n );\n parameterNames.add(CREATE_INTERFACE_OBJECT_PARAMETER);\n const actionApiName = def.apiName ?? `create-${\n kebab(\n def.interfaceType.apiName.split(\".\").pop() ?? def.interfaceType.apiName,\n )\n }${\n def.objectType === undefined\n ? \"\"\n : `-${\n kebab(\n def.objectType.apiName.split(\".\").pop() ?? def.objectType.apiName,\n )\n }`\n }`;\n if (def.parameterOrdering) {\n if (!def.parameterOrdering.includes(CREATE_INTERFACE_OBJECT_PARAMETER)) {\n def.parameterOrdering.unshift(CREATE_INTERFACE_OBJECT_PARAMETER);\n }\n validateParameterOrdering(\n def.parameterOrdering,\n parameterNames,\n actionApiName,\n );\n }\n const parameters = createParameters(\n def,\n Object.fromEntries(\n Object.entries(allProperties).map((\n [id, prop],\n ) => [id, prop.sharedPropertyType]),\n ),\n parameterNames,\n Object.fromEntries(\n Object.entries(allProperties).map(([id, prop]) => [id, prop.required]),\n ),\n );\n const mappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {}).map((\n [id, value],\n ) => [id, convertMappingValue(value)]),\n );\n\n return defineAction({\n apiName: actionApiName,\n displayName: def.displayName\n ?? `Create ${def.interfaceType.displayMetadata.displayName}`,\n parameters: parameters,\n status: def.status ?? (def.interfaceType.status.type !== \"deprecated\"\n ? def.interfaceType.status.type\n : def.interfaceType.status),\n entities: {\n affectedInterfaceTypes: [def.interfaceType.apiName],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n rules: [\n {\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: def.interfaceType.apiName,\n objectTypeParameter: CREATE_INTERFACE_OBJECT_PARAMETER,\n sharedPropertyValues: {\n ...Object.fromEntries(\n propertyParameters.map(\n id => [id, { type: \"parameterId\", parameterId: id }],\n ),\n ),\n ...mappings,\n },\n },\n },\n ],\n parameterOrdering: def.parameterOrdering\n ?? createDefaultParameterOrdering(\n def,\n Object.keys(allProperties),\n parameters,\n CREATE_INTERFACE_OBJECT_PARAMETER,\n ),\n ...(def.actionLevelValidation\n ? {\n validation: convertValidationRule(\n def.actionLevelValidation,\n parameters,\n ),\n }\n : {}),\n ...(def.defaultFormat && { defaultFormat: def.defaultFormat }),\n ...(def.enableLayoutSwitch\n && { enableLayoutSwitch: def.enableLayoutSwitch }),\n ...(def.tableConfiguration && {\n displayAndFormat: {\n table: def.tableConfiguration,\n },\n }),\n ...(def.sections\n && {\n sections: Object.fromEntries(\n def.sections.map(section => [section.id, section]),\n ),\n }),\n ...(def.submissionMetadata\n && { submissionMetadata: def.submissionMetadata }),\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,9 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import { convertMappingValue } from "../conversion/toMarketplace/convertMappingValue.js";
|
|
18
18
|
import { convertValidationRule, createDefaultParameterOrdering, createParameters, defineAction, isPropertyParameter, kebab, validateActionParameters, validateParameterOrdering } from "./defineAction.js";
|
|
19
|
+
import { isStruct } from "./properties/PropertyTypeType.js";
|
|
19
20
|
export function defineCreateObjectAction(def) {
|
|
20
21
|
validateActionParameters(def, Object.keys(def.objectType.properties ?? {}), def.objectType.apiName);
|
|
21
|
-
const
|
|
22
|
+
const propertiesWithDerivedDatasources = (def.objectType.datasources ?? []).filter(ds => ds.type === "derived").flatMap(ds => Object.keys(ds.propertyMapping));
|
|
23
|
+
const propertyParameters = Object.keys(def.objectType.properties ?? {}).filter(id => isPropertyParameter(def, id, def.objectType.properties?.[id].type) && !isStruct(def.objectType.properties?.[id].type) && !propertiesWithDerivedDatasources.includes(id));
|
|
22
24
|
const parameterNames = new Set(propertyParameters);
|
|
23
25
|
Object.keys(def.parameterConfiguration ?? {}).forEach(param => parameterNames.add(param));
|
|
24
26
|
const actionApiName = def.apiName ?? `create-object-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`;
|
|
@@ -62,8 +64,10 @@ export function defineCreateObjectAction(def) {
|
|
|
62
64
|
...(def.enableLayoutSwitch && {
|
|
63
65
|
enableLayoutSwitch: def.enableLayoutSwitch
|
|
64
66
|
}),
|
|
65
|
-
...(def.
|
|
66
|
-
displayAndFormat:
|
|
67
|
+
...(def.tableConfiguration && {
|
|
68
|
+
displayAndFormat: {
|
|
69
|
+
table: def.tableConfiguration
|
|
70
|
+
}
|
|
67
71
|
}),
|
|
68
72
|
...(def.sections && {
|
|
69
73
|
sections: Object.fromEntries(def.sections.map(section => [section.id, section]))
|