@osdk/generator-converters.ontologyir 2.3.0-beta.5 → 2.3.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 +24 -0
- package/build/browser/OntologyIrToFullMetadaConvert.test.js +22 -22
- package/build/browser/OntologyIrToFullMetadaConvert.test.js.map +1 -1
- package/build/browser/OntologyIrToFullMetadataConverter.js +43 -24
- package/build/browser/OntologyIrToFullMetadataConverter.js.map +1 -1
- package/build/cjs/index.cjs +43 -24
- package/build/cjs/index.cjs.map +1 -1
- package/build/esm/OntologyIrToFullMetadaConvert.test.js +22 -22
- package/build/esm/OntologyIrToFullMetadaConvert.test.js.map +1 -1
- package/build/esm/OntologyIrToFullMetadataConverter.js +43 -24
- package/build/esm/OntologyIrToFullMetadataConverter.js.map +1 -1
- package/build/types/OntologyIrToFullMetadataConverter.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -150,7 +150,6 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
150
150
|
const result = {};
|
|
151
151
|
for (const link of links) {
|
|
152
152
|
const linkType = link.linkType;
|
|
153
|
-
const linkApiName = linkType.id;
|
|
154
153
|
const linkStatus = this.convertLinkTypeStatus(linkType.status);
|
|
155
154
|
let mappings;
|
|
156
155
|
switch (linkType.definition.type) {
|
|
@@ -158,16 +157,17 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
158
157
|
{
|
|
159
158
|
const linkDef = linkType.definition.manyToMany;
|
|
160
159
|
const sideA = {
|
|
161
|
-
apiName:
|
|
162
|
-
displayName:
|
|
160
|
+
apiName: linkDef.objectTypeAToBLinkMetadata.apiName ?? "",
|
|
161
|
+
displayName: linkDef.objectTypeAToBLinkMetadata.displayMetadata.displayName,
|
|
163
162
|
cardinality: "MANY",
|
|
164
|
-
objectTypeApiName: linkDef.
|
|
165
|
-
linkTypeRid: `ri.${linkDef.objectTypeRidA}.${
|
|
163
|
+
objectTypeApiName: linkDef.objectTypeRidB,
|
|
164
|
+
linkTypeRid: `ri.${linkDef.objectTypeRidA}.${linkType.id}.${linkDef.objectTypeRidB}`,
|
|
166
165
|
status: linkStatus
|
|
167
166
|
};
|
|
168
167
|
const sideB = {
|
|
169
168
|
...sideA,
|
|
170
|
-
|
|
169
|
+
apiName: linkDef.objectTypeBToALinkMetadata.apiName ?? "",
|
|
170
|
+
objectTypeApiName: linkDef.objectTypeRidA
|
|
171
171
|
};
|
|
172
172
|
mappings = {
|
|
173
173
|
[linkDef.objectTypeRidA]: sideA,
|
|
@@ -178,22 +178,24 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
178
178
|
case "oneToMany":
|
|
179
179
|
{
|
|
180
180
|
const linkDef = linkType.definition.oneToMany;
|
|
181
|
-
const
|
|
182
|
-
apiName:
|
|
183
|
-
displayName:
|
|
181
|
+
const manySide = {
|
|
182
|
+
apiName: linkDef.oneToManyLinkMetadata.apiName ?? "",
|
|
183
|
+
displayName: linkDef.oneToManyLinkMetadata.displayMetadata.displayName,
|
|
184
184
|
objectTypeApiName: linkDef.objectTypeRidOneSide,
|
|
185
185
|
cardinality: "ONE",
|
|
186
|
-
linkTypeRid: `ri.${linkDef.objectTypeRidOneSide}.${
|
|
186
|
+
linkTypeRid: `ri.${linkDef.objectTypeRidOneSide}.${linkType.id}.${linkDef.objectTypeRidManySide}`,
|
|
187
187
|
status: linkStatus
|
|
188
188
|
};
|
|
189
|
-
const
|
|
190
|
-
...
|
|
189
|
+
const oneSide = {
|
|
190
|
+
...manySide,
|
|
191
191
|
cardinality: "MANY",
|
|
192
|
+
apiName: linkDef.manyToOneLinkMetadata.apiName ?? "",
|
|
193
|
+
displayName: linkDef.manyToOneLinkMetadata.displayMetadata.displayName,
|
|
192
194
|
objectTypeApiName: linkDef.objectTypeRidManySide
|
|
193
195
|
};
|
|
194
196
|
mappings = {
|
|
195
|
-
[linkDef.objectTypeRidOneSide]:
|
|
196
|
-
[linkDef.objectTypeRidManySide]:
|
|
197
|
+
[linkDef.objectTypeRidOneSide]: oneSide,
|
|
198
|
+
[linkDef.objectTypeRidManySide]: manySide
|
|
197
199
|
};
|
|
198
200
|
break;
|
|
199
201
|
}
|
|
@@ -260,19 +262,28 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
260
262
|
case "addOrModifyObjectRuleV2":
|
|
261
263
|
{
|
|
262
264
|
const r = irLogic.addOrModifyObjectRuleV2;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
265
|
+
const modifyParamType = action.actionType.metadata.parameters[r.objectToModify].type;
|
|
266
|
+
if (modifyParamType.type === "objectReference") {
|
|
267
|
+
return {
|
|
268
|
+
type: "modifyObject",
|
|
269
|
+
objectTypeApiName: modifyParamType.objectReference.objectTypeId
|
|
270
|
+
};
|
|
271
|
+
} else {
|
|
272
|
+
throw new Error("Unable to convert modifyAction because parameter does not exist");
|
|
273
|
+
}
|
|
267
274
|
}
|
|
268
275
|
case "deleteLinkRule":
|
|
269
276
|
throw new Error("Delete link rule not supported");
|
|
270
277
|
case "deleteObjectRule":
|
|
271
278
|
{
|
|
272
279
|
const r = irLogic.deleteObjectRule;
|
|
280
|
+
const ontologyIrParameter = action.actionType.metadata.parameters[r.objectToDelete];
|
|
281
|
+
if (ontologyIrParameter.type.type !== "objectReference") {
|
|
282
|
+
throw new Error("invalid parameter type");
|
|
283
|
+
}
|
|
273
284
|
return {
|
|
274
285
|
type: "deleteObject",
|
|
275
|
-
objectTypeApiName:
|
|
286
|
+
objectTypeApiName: ontologyIrParameter.type.objectReference.objectTypeId
|
|
276
287
|
};
|
|
277
288
|
}
|
|
278
289
|
case "modifyInterfaceRule":
|
|
@@ -304,10 +315,15 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
304
315
|
case "modifyObjectRule":
|
|
305
316
|
{
|
|
306
317
|
const r = irLogic.modifyObjectRule;
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
318
|
+
const modifyParamType = action.actionType.metadata.parameters[r.objectToModify].type;
|
|
319
|
+
if (modifyParamType.type === "objectReference") {
|
|
320
|
+
return {
|
|
321
|
+
type: "modifyObject",
|
|
322
|
+
objectTypeApiName: modifyParamType.objectReference.objectTypeId
|
|
323
|
+
};
|
|
324
|
+
} else {
|
|
325
|
+
throw new Error("Unable to convert modifyAction because parameter does not exist");
|
|
326
|
+
}
|
|
311
327
|
}
|
|
312
328
|
default:
|
|
313
329
|
throw new Error("Unknown logic rule type");
|
|
@@ -536,7 +552,7 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
536
552
|
result[paramKey] = {
|
|
537
553
|
displayName: irParameter.displayMetadata.displayName,
|
|
538
554
|
description: irParameter.displayMetadata.description,
|
|
539
|
-
required:
|
|
555
|
+
required: isParameterRequired(action, paramKey),
|
|
540
556
|
dataType
|
|
541
557
|
};
|
|
542
558
|
}
|
|
@@ -810,4 +826,7 @@ export class OntologyIrToFullMetadataConverter {
|
|
|
810
826
|
}
|
|
811
827
|
}
|
|
812
828
|
}
|
|
829
|
+
function isParameterRequired(action, paramKey) {
|
|
830
|
+
return action.actionType.actionTypeLogic.validation.parameterValidations[paramKey].defaultValidation.validation.required.type === "required";
|
|
831
|
+
}
|
|
813
832
|
//# sourceMappingURL=OntologyIrToFullMetadataConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OntologyIrToFullMetadataConverter.js","names":["hash","OntologyIrToFullMetadataConverter","getFullMetadataFromIr","ir","interfaceTypes","getOsdkInterfaceTypes","Object","values","sharedPropertyTypes","getOsdkSharedPropertyTypes","objectTypes","getOsdkObjectTypes","linkTypes","actionTypes","getOsdkActionTypes","queryTypes","ontology","apiName","rid","displayName","description","objects","links","linkMappings","getLinkMappings","result","fullObject","object","objectType","icon","displayMetadata","type","Error","primaryKeys","length","primaryKey","titleProperty","titlePropertyTypeRid","properties","propKey","prop","entries","propertyTypes","visibility","visibilityEnum","dataType","getOsdkPropertyType","status","undefined","objectTypeV2","pluralDisplayName","color","blueprint","name","locator","convertObjectTypeStatus","sharedPropertyTypeMappings","implementsInterfaces2","ii","interfaceApiName","interfaceTypeApiName","propertyMappings","sharedPropKey","propMapping","propertyApiName","propertyTypeRid","objectApiName","implementsInterfaces","sharedPropertyTypeMapping","link","linkType","linkApiName","id","linkStatus","convertLinkTypeStatus","mappings","definition","linkDef","manyToMany","sideA","cardinality","objectTypeApiName","objectTypeRidA","linkTypeRid","objectTypeRidB","sideB","oneToMany","sideOne","objectTypeRidOneSide","objectTypeRidManySide","sideMany","linkSide","push","actions","action","metadata","actionType","parameters","getOsdkActionParameters","operations","getOsdkActionOperations","convertActionTypeStatus","actionTypeLogic","logic","rules","map","irLogic","r","addInterfaceRule","addObjectRule","objectTypeId","addOrModifyObjectRuleV2","objectToModify","deleteObjectRule","objectToDelete","modifyInterfaceRule","parameter","interfaceObjectToModifyParameter","interfaceReference","interfaceTypeRid","interfaceReferenceList","modifyObjectRule","paramKey","irParameter","subType","t","objectReference","objectReferenceList","required","interfaces","interfaceData","interfaceType","propValue","propertiesV2","spt","sharedPropertyType","result_interfaceType","allProperties","extendsInterfaces","val","allExtendsInterfaces","implementedByObjectTypes","getOsdkInterfaceLinkTypes","allLinks","ilts","ilt","linkedEntityApiName","linkedEntityTypeId","interfaceLinkType","spts","JSON","stringify","value","array","subtype","struct","ridBase","slice","structFieldTypes","structFields","field","fieldDataType","fieldType"],"sources":["OntologyIrToFullMetadataConverter.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 OntologyIrActionTypeBlockDataV2,\n OntologyIrActionTypeStatus,\n OntologyIrInterfaceLinkType,\n OntologyIrInterfaceTypeBlockDataV2,\n OntologyIrLinkTypeBlockDataV2,\n OntologyIrLinkTypeStatus,\n OntologyIrObjectTypeBlockDataV2,\n OntologyIrObjectTypeStatus,\n OntologyIrOntologyBlockDataV2,\n OntologyIrSharedPropertyTypeBlockDataV2,\n OntologyIrType,\n} from \"@osdk/client.unstable\";\nimport type * as Ontologies from \"@osdk/foundry.ontologies\";\nimport { hash } from \"node:crypto\";\nimport type { ApiName } from \"./ApiName.js\";\n\n/**\n * TypeScript equivalent of OntologyIrToFullMetadataConverter.java\n * Converts ontology IR data to full metadata format for OSDK generation\n */\nexport class OntologyIrToFullMetadataConverter {\n /**\n * Main entry point - converts IR to full metadata\n */\n static getFullMetadataFromIr(\n ir: OntologyIrOntologyBlockDataV2,\n ): Ontologies.OntologyFullMetadata {\n const interfaceTypes = this.getOsdkInterfaceTypes(\n Object.values(ir.interfaceTypes),\n );\n const sharedPropertyTypes = this.getOsdkSharedPropertyTypes(\n Object.values(ir.sharedPropertyTypes),\n );\n const objectTypes = this.getOsdkObjectTypes(\n Object.values(ir.objectTypes),\n Object.values(ir.linkTypes),\n );\n const actionTypes = this.getOsdkActionTypes(Object.values(ir.actionTypes));\n\n return {\n interfaceTypes,\n sharedPropertyTypes,\n objectTypes,\n queryTypes: {},\n actionTypes,\n ontology: {\n apiName: \"ontology\",\n rid: `ri.00000`,\n displayName: \"ontology\",\n description: \"\",\n },\n };\n }\n\n /**\n * Convert IR object types to OSDK format\n */\n static getOsdkObjectTypes(\n objects: OntologyIrObjectTypeBlockDataV2[],\n links: OntologyIrLinkTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.ObjectTypeFullMetadata> {\n const linkMappings = this.getLinkMappings(links);\n\n const result: Record<ApiName, Ontologies.ObjectTypeFullMetadata> = {};\n\n for (const fullObject of objects) {\n const object = fullObject.objectType;\n const icon = object.displayMetadata.icon;\n\n if (icon.type !== \"blueprint\") {\n throw new Error(\"Only blueprint icons are supported\");\n }\n\n // Ensure we have exactly one primary key\n if (object.primaryKeys.length !== 1) {\n throw new Error(\"Object must have exactly 1 primary key\");\n }\n\n const primaryKey = object.primaryKeys[0];\n const titleProperty = object.titlePropertyTypeRid;\n\n const properties: Record<ApiName, Ontologies.PropertyV2> = {};\n for (const [propKey, prop] of Object.entries(object.propertyTypes)) {\n const visibility = prop.displayMetadata.visibility;\n let visibilityEnum: \"NORMAL\" | \"PROMINENT\" | \"HIDDEN\" = \"NORMAL\";\n\n if (!visibility) {\n visibilityEnum = \"NORMAL\";\n } else {\n switch (visibility) {\n case \"PROMINENT\":\n visibilityEnum = \"PROMINENT\";\n break;\n case \"NORMAL\":\n visibilityEnum = \"NORMAL\";\n break;\n case \"HIDDEN\":\n visibilityEnum = \"HIDDEN\";\n break;\n default:\n visibilityEnum = \"NORMAL\";\n }\n }\n\n const dataType = this.getOsdkPropertyType(prop.type);\n if (dataType) {\n const status = {\n type: prop.status.type,\n ...((prop.status as any)[prop.status.type] ?? {}),\n } as unknown as Ontologies.PropertyTypeStatus;\n\n properties[propKey] = {\n displayName: prop.displayMetadata.displayName,\n rid: `ri.${object.apiName}.${propKey}`,\n status,\n description: prop.displayMetadata.description ?? undefined,\n visibility: visibilityEnum,\n dataType,\n };\n }\n }\n\n const objectTypeV2: Ontologies.ObjectTypeV2 = {\n apiName: object.apiName,\n description: object.displayMetadata.description ?? undefined,\n displayName: object.displayMetadata.displayName,\n pluralDisplayName: \"\", // Not available in IR\n primaryKey,\n titleProperty,\n icon: {\n type: \"blueprint\",\n color: icon.blueprint.color,\n name: icon.blueprint.locator,\n },\n status: this.convertObjectTypeStatus(object.status),\n properties,\n rid: `ri.${object.apiName}`,\n };\n\n const sharedPropertyTypeMappings: Record<ApiName, ApiName> = {};\n const implementsInterfaces2: Record<\n ApiName,\n Ontologies.ObjectTypeInterfaceImplementation\n > = {};\n\n for (const ii of object.implementsInterfaces2) {\n const interfaceApiName = ii.interfaceTypeApiName;\n const propertyMappings: Record<ApiName, ApiName> = {};\n\n for (\n const [sharedPropKey, propMapping] of Object.entries(ii.properties)\n ) {\n const propertyApiName = propMapping.propertyTypeRid;\n propertyMappings[sharedPropKey] = propertyApiName;\n sharedPropertyTypeMappings[sharedPropKey] = propertyApiName;\n }\n\n implementsInterfaces2[interfaceApiName] = {\n properties: propertyMappings,\n };\n }\n\n const objectApiName = object.apiName;\n result[objectApiName] = {\n objectType: objectTypeV2,\n implementsInterfaces: [], // Empty for now - legacy field\n implementsInterfaces2,\n sharedPropertyTypeMapping: sharedPropertyTypeMappings,\n linkTypes: linkMappings[objectApiName] || [],\n };\n }\n\n return result;\n }\n\n /**\n * Create link mappings from IR link types\n */\n static getLinkMappings(\n links: OntologyIrLinkTypeBlockDataV2[],\n ): Record<string, Ontologies.LinkTypeSideV2[]> {\n const result: Record<string, Ontologies.LinkTypeSideV2[]> = {};\n\n for (const link of links) {\n const linkType = link.linkType;\n const linkApiName = linkType.id;\n const linkStatus = this.convertLinkTypeStatus(linkType.status);\n\n let mappings: Record<string, Ontologies.LinkTypeSideV2>;\n switch (linkType.definition.type) {\n case \"manyToMany\": {\n const linkDef = linkType.definition.manyToMany;\n const sideA: Ontologies.LinkTypeSideV2 = {\n apiName: linkApiName,\n displayName: linkApiName,\n cardinality: \"MANY\",\n objectTypeApiName: linkDef.objectTypeRidA,\n linkTypeRid:\n `ri.${linkDef.objectTypeRidA}.${linkApiName}.${linkDef.objectTypeRidB}`,\n status: linkStatus,\n };\n\n const sideB: Ontologies.LinkTypeSideV2 = {\n ...sideA,\n objectTypeApiName: linkDef.objectTypeRidB,\n };\n\n mappings = {\n [linkDef.objectTypeRidA]: sideA,\n [linkDef.objectTypeRidB]: sideB,\n };\n break;\n }\n case \"oneToMany\": {\n const linkDef = linkType.definition.oneToMany;\n const sideOne: Ontologies.LinkTypeSideV2 = {\n apiName: linkApiName,\n displayName: linkApiName,\n objectTypeApiName: linkDef.objectTypeRidOneSide,\n cardinality: \"ONE\",\n linkTypeRid:\n `ri.${linkDef.objectTypeRidOneSide}.${linkApiName}.${linkDef.objectTypeRidManySide}`,\n status: linkStatus,\n };\n\n const sideMany: Ontologies.LinkTypeSideV2 = {\n ...sideOne,\n cardinality: \"MANY\",\n objectTypeApiName: linkDef.objectTypeRidManySide,\n };\n\n mappings = {\n [linkDef.objectTypeRidOneSide]: sideOne,\n [linkDef.objectTypeRidManySide]: sideMany,\n };\n break;\n }\n default:\n throw new Error(\"Unknown link definition type\");\n }\n\n // Add mappings to result\n for (const [objectTypeApiName, linkSide] of Object.entries(mappings)) {\n if (!result[objectTypeApiName]) {\n result[objectTypeApiName] = [];\n }\n result[objectTypeApiName].push(linkSide);\n }\n }\n\n return result;\n }\n\n /**\n * Convert IR action types to OSDK format\n */\n static getOsdkActionTypes(\n actions: OntologyIrActionTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.ActionTypeV2> {\n const result: Record<ApiName, Ontologies.ActionTypeV2> = {};\n\n for (const action of actions) {\n const metadata = action.actionType.metadata;\n const actionType: Ontologies.ActionTypeV2 = {\n rid: `ri.action.${metadata.apiName}`,\n apiName: metadata.apiName,\n displayName: metadata.displayMetadata.displayName,\n description: metadata.displayMetadata.description,\n parameters: this.getOsdkActionParameters(action),\n operations: this.getOsdkActionOperations(action),\n status: this.convertActionTypeStatus(metadata.status),\n };\n\n result[actionType.apiName] = actionType;\n }\n\n return result;\n }\n\n /**\n * Convert action operations from IR\n */\n static getOsdkActionOperations(\n action: OntologyIrActionTypeBlockDataV2,\n ): Ontologies.LogicRule[] {\n return action.actionType.actionTypeLogic.logic.rules.map(irLogic => {\n switch (irLogic.type) {\n case \"addInterfaceRule\": {\n const r = irLogic.addInterfaceRule;\n return {\n type: \"createInterfaceObject\",\n interfaceTypeApiName: r.interfaceApiName,\n } satisfies Ontologies.LogicRule;\n }\n case \"addLinkRule\":\n throw new Error(\"Add link rule not supported\");\n case \"addObjectRule\": {\n const r = irLogic.addObjectRule;\n return {\n type: \"createObject\",\n objectTypeApiName: r.objectTypeId,\n } satisfies Ontologies.LogicRule;\n }\n case \"addOrModifyObjectRuleV2\": {\n const r = irLogic.addOrModifyObjectRuleV2;\n return {\n type: \"modifyObject\",\n objectTypeApiName: r.objectToModify,\n } satisfies Ontologies.LogicRule;\n }\n case \"deleteLinkRule\":\n throw new Error(\"Delete link rule not supported\");\n case \"deleteObjectRule\": {\n const r = irLogic.deleteObjectRule;\n return {\n type: \"deleteObject\",\n objectTypeApiName: r.objectToDelete,\n } satisfies Ontologies.LogicRule;\n }\n case \"modifyInterfaceRule\": {\n const r = irLogic.modifyInterfaceRule;\n const parameter = action.actionType.metadata\n .parameters[r.interfaceObjectToModifyParameter];\n if (!parameter) {\n throw new Error(\"Could not find interface type api name\");\n }\n\n let interfaceTypeApiName: string | null = null;\n switch (parameter.type.type) {\n case \"interfaceReference\":\n interfaceTypeApiName =\n parameter.type.interfaceReference.interfaceTypeRid;\n break;\n case \"interfaceReferenceList\":\n interfaceTypeApiName =\n parameter.type.interfaceReferenceList.interfaceTypeRid;\n break;\n default:\n interfaceTypeApiName = null;\n }\n\n if (!interfaceTypeApiName) {\n throw new Error(\"Could not find interface type api name\");\n }\n\n return {\n type: \"modifyInterfaceObject\",\n interfaceTypeApiName,\n } satisfies Ontologies.LogicRule;\n }\n case \"modifyObjectRule\": {\n const r = irLogic.modifyObjectRule;\n return {\n type: \"modifyObject\",\n objectTypeApiName: r.objectToModify,\n } satisfies Ontologies.LogicRule;\n }\n default:\n throw new Error(\"Unknown logic rule type\");\n }\n });\n }\n\n /**\n * Convert action parameters from IR\n */\n static getOsdkActionParameters(\n action: OntologyIrActionTypeBlockDataV2,\n ): Record<string, Ontologies.ActionParameterV2> {\n const result: Record<string, Ontologies.ActionParameterV2> = {};\n\n for (\n const [paramKey, irParameter] of Object.entries(\n action.actionType.metadata.parameters,\n )\n ) {\n let dataType: Ontologies.ActionParameterType;\n switch (irParameter.type.type) {\n case \"attachment\":\n dataType = { type: \"attachment\" };\n break;\n case \"attachmentList\":\n dataType = {\n type: \"array\",\n subType: { type: \"attachment\" },\n };\n break;\n case \"boolean\":\n dataType = { type: \"boolean\" };\n break;\n case \"booleanList\":\n dataType = {\n type: \"array\",\n subType: { type: \"boolean\" },\n };\n break;\n case \"date\":\n dataType = { type: \"date\" };\n break;\n case \"dateList\":\n dataType = {\n type: \"array\",\n subType: { type: \"date\" },\n };\n break;\n case \"decimal\":\n throw new Error(\"Decimal type not supported\");\n case \"decimalList\":\n throw new Error(\"Decimal list type not supported\");\n case \"double\":\n dataType = { type: \"double\" };\n break;\n case \"doubleList\":\n dataType = {\n type: \"array\",\n subType: { type: \"double\" },\n };\n break;\n case \"geohash\":\n dataType = { type: \"geohash\" };\n break;\n case \"geohashList\":\n dataType = {\n type: \"array\",\n subType: { type: \"geohash\" },\n };\n break;\n case \"geoshape\":\n dataType = { type: \"geoshape\" };\n break;\n case \"geoshapeList\":\n dataType = {\n type: \"array\",\n subType: { type: \"geoshape\" },\n };\n break;\n case \"geotimeSeriesReference\":\n throw new Error(\"Geotime series reference type not supported\");\n case \"geotimeSeriesReferenceList\":\n throw new Error(\"Geotime series reference list type not supported\");\n case \"integer\":\n dataType = { type: \"integer\" };\n break;\n case \"integerList\":\n dataType = {\n type: \"array\",\n subType: { type: \"integer\" },\n };\n break;\n case \"interfaceReference\":\n throw new Error(\"Interface reference type not supported\");\n case \"interfaceReferenceList\":\n throw new Error(\"Interface reference list type not supported\");\n case \"long\":\n dataType = { type: \"long\" };\n break;\n case \"longList\":\n dataType = {\n type: \"array\",\n subType: { type: \"long\" },\n };\n break;\n case \"marking\":\n dataType = { type: \"marking\" };\n break;\n case \"markingList\":\n dataType = {\n type: \"array\",\n subType: { type: \"marking\" },\n };\n break;\n case \"mediaReference\":\n dataType = { type: \"mediaReference\" };\n break;\n case \"mediaReferenceList\":\n dataType = {\n type: \"array\",\n subType: { type: \"mediaReference\" },\n };\n break;\n case \"objectReference\": {\n const t = irParameter.type.objectReference;\n dataType = {\n type: \"object\",\n objectTypeApiName: t.objectTypeId,\n objectApiName: t.objectTypeId,\n };\n break;\n }\n case \"objectReferenceList\": {\n const t = irParameter.type.objectReferenceList;\n dataType = {\n type: \"array\",\n subType: {\n type: \"object\",\n objectTypeApiName: t.objectTypeId,\n objectApiName: t.objectTypeId,\n },\n };\n break;\n }\n case \"objectSetRid\":\n dataType = { type: \"objectSet\" };\n break;\n case \"objectTypeReference\":\n dataType = { type: \"objectType\" };\n break;\n case \"string\":\n dataType = { type: \"string\" };\n break;\n case \"stringList\":\n dataType = {\n type: \"array\",\n subType: { type: \"string\" },\n };\n break;\n case \"struct\":\n throw new Error(\"Struct type not supported (lazy implementation)\");\n case \"structList\":\n throw new Error(\"Struct list type not supported\");\n case \"timeSeriesReference\":\n throw new Error(\"Time series reference type not supported\");\n case \"timestamp\":\n dataType = { type: \"timestamp\" };\n break;\n case \"timestampList\":\n dataType = {\n type: \"array\",\n subType: { type: \"timestamp\" },\n };\n break;\n default:\n throw new Error(\"Unknown parameter type\");\n }\n\n result[paramKey] = {\n displayName: irParameter.displayMetadata.displayName,\n description: irParameter.displayMetadata.description,\n required: true,\n dataType,\n };\n }\n\n return result;\n }\n\n /**\n * Convert interface types from IR\n */\n static getOsdkInterfaceTypes(\n interfaces: OntologyIrInterfaceTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.InterfaceType> {\n const result: Record<ApiName, Ontologies.InterfaceType> = {};\n\n for (const interfaceData of interfaces) {\n const interfaceType = interfaceData.interfaceType;\n\n // Convert shared properties to interface shared properties\n const properties: Record<\n ApiName,\n Ontologies.InterfaceSharedPropertyType\n > = {};\n for (\n const [propKey, propValue] of Object.entries(interfaceType.propertiesV2)\n ) {\n const spt = propValue.sharedPropertyType;\n const dataType = this.getOsdkPropertyType(spt.type);\n if (dataType) {\n properties[propKey] = {\n rid: `ri.interface.${interfaceType.apiName}.${spt.apiName}`,\n apiName: spt.apiName,\n displayName: spt.displayMetadata.displayName,\n description: spt.displayMetadata.description ?? undefined,\n dataType,\n required: false, // Default to false for now - this should come from IR if available\n };\n }\n }\n\n const result_interfaceType: Ontologies.InterfaceType = {\n apiName: interfaceType.apiName,\n rid: `ri.interface.${interfaceType.apiName}`,\n properties,\n allProperties: properties, // Same as properties for now\n extendsInterfaces: interfaceType.extendsInterfaces.map(val => val),\n allExtendsInterfaces: interfaceType.extendsInterfaces.map(val => val), // Same as extendsInterfaces for now\n implementedByObjectTypes: [], // Empty for now\n displayName: interfaceType.displayMetadata.displayName,\n description: interfaceType.displayMetadata.description ?? undefined,\n links: this.getOsdkInterfaceLinkTypes(interfaceType.links),\n allLinks: this.getOsdkInterfaceLinkTypes(interfaceType.links), // Same as links for now\n };\n\n result[result_interfaceType.apiName] = result_interfaceType;\n }\n\n return result;\n }\n\n /**\n * Convert interface link types from IR\n */\n static getOsdkInterfaceLinkTypes(\n ilts: OntologyIrInterfaceLinkType[],\n ): Record<ApiName, Ontologies.InterfaceLinkType> {\n const result: Record<ApiName, Ontologies.InterfaceLinkType> = {};\n\n for (const ilt of ilts) {\n let linkedEntityApiName: {\n type: \"interfaceTypeApiName\";\n apiName: string;\n };\n switch (ilt.linkedEntityTypeId.type) {\n case \"interfaceType\": {\n const interfaceType = ilt.linkedEntityTypeId.interfaceType;\n linkedEntityApiName = {\n type: \"interfaceTypeApiName\" as const,\n apiName: interfaceType,\n };\n break;\n }\n case \"objectType\":\n throw new Error(\n \"Interface links to object types should not be possible in ontology as code yet\",\n );\n default:\n throw new Error(\"Unknown linked entity type\");\n }\n\n let cardinality: Ontologies.InterfaceLinkTypeCardinality;\n switch (ilt.cardinality) {\n case \"SINGLE\":\n cardinality = \"ONE\";\n break;\n case \"MANY\":\n cardinality = \"MANY\";\n break;\n default:\n throw new Error(\"Unknown cardinality type\");\n }\n\n const interfaceLinkType: Ontologies.InterfaceLinkType = {\n rid:\n `ri.interfacelink.${linkedEntityApiName.apiName}.${ilt.metadata.apiName}`,\n apiName: ilt.metadata.apiName,\n displayName: ilt.metadata.displayName,\n description: ilt.metadata.description,\n linkedEntityApiName,\n cardinality,\n required: ilt.required,\n };\n\n result[interfaceLinkType.apiName] = interfaceLinkType;\n }\n\n return result;\n }\n\n /**\n * Convert shared property types from IR\n */\n static getOsdkSharedPropertyTypes(\n spts: OntologyIrSharedPropertyTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.SharedPropertyType> {\n const result: Record<ApiName, Ontologies.SharedPropertyType> = {};\n\n for (const spt of spts) {\n const dataType = this.getOsdkPropertyType(spt.sharedPropertyType.type);\n if (dataType) {\n const sharedPropertyType: Ontologies.SharedPropertyType = {\n rid: `ri.spt.${spt.sharedPropertyType.apiName}`,\n apiName: spt.sharedPropertyType.apiName,\n displayName: spt.sharedPropertyType.displayMetadata.displayName,\n description: spt.sharedPropertyType.displayMetadata.description\n ?? undefined,\n dataType,\n };\n\n result[sharedPropertyType.apiName] = sharedPropertyType;\n } else {\n throw new Error(\n `Unsupported property type '${\n JSON.stringify(spt.sharedPropertyType.type)\n }' for spt '${spt.sharedPropertyType.apiName}'`,\n );\n }\n }\n\n return result;\n }\n\n /**\n * Convert property types from IR to OSDK format\n */\n static getOsdkPropertyType(\n type: OntologyIrType,\n ): Ontologies.ObjectPropertyType | null {\n switch (type.type) {\n case \"array\": {\n const value = type.array;\n const subType = this.getOsdkPropertyType(value.subtype);\n return subType ? { type: \"array\", subType } : null;\n }\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return { type: \"byte\" };\n case \"date\":\n return { type: \"date\" };\n case \"decimal\":\n return { type: \"decimal\" };\n case \"double\":\n return { type: \"double\" };\n case \"float\":\n return { type: \"float\" };\n case \"geohash\":\n return { type: \"geopoint\" };\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"integer\":\n return { type: \"integer\" };\n case \"long\":\n return { type: \"long\" };\n case \"short\":\n return { type: \"short\" };\n case \"string\":\n return { type: \"string\" };\n case \"experimentalTimeDependentV1\":\n return null;\n case \"timestamp\":\n return { type: \"timestamp\" };\n case \"attachment\":\n return { type: \"attachment\" };\n case \"marking\":\n return { type: \"marking\" };\n case \"cipherText\":\n return null;\n case \"mediaReference\":\n return null;\n case \"vector\":\n return null;\n case \"geotimeSeriesReference\":\n return null;\n case \"struct\": {\n const value = type.struct;\n const ridBase = `ri.struct.${\n hash(\"sha256\", JSON.stringify(type)).slice(0, 10)\n }`;\n return {\n type: \"struct\",\n structFieldTypes: value.structFields.map(field => {\n const fieldDataType = this.getOsdkPropertyType(field.fieldType);\n if (!fieldDataType) {\n throw new Error(\n `Unsupported field type in struct: ${field.apiName}`,\n );\n }\n return {\n apiName: field.apiName,\n rid: `${ridBase}.${field.apiName}`,\n dataType: fieldDataType,\n };\n }),\n };\n }\n default:\n return null;\n }\n }\n\n private static convertObjectTypeStatus(\n status: OntologyIrObjectTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"endorsed\":\n throw new Error(\"Endorsed status is not supported yet\");\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown object type status: ${status}`);\n }\n }\n\n private static convertActionTypeStatus(\n status: OntologyIrActionTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown action type status: ${status}`);\n }\n }\n\n private static convertLinkTypeStatus(\n status: OntologyIrLinkTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown link type status: ${status}`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OntologyIrToFullMetadataConverter.js","names":["hash","OntologyIrToFullMetadataConverter","getFullMetadataFromIr","ir","interfaceTypes","getOsdkInterfaceTypes","Object","values","sharedPropertyTypes","getOsdkSharedPropertyTypes","objectTypes","getOsdkObjectTypes","linkTypes","actionTypes","getOsdkActionTypes","queryTypes","ontology","apiName","rid","displayName","description","objects","links","linkMappings","getLinkMappings","result","fullObject","object","objectType","icon","displayMetadata","type","Error","primaryKeys","length","primaryKey","titleProperty","titlePropertyTypeRid","properties","propKey","prop","entries","propertyTypes","visibility","visibilityEnum","dataType","getOsdkPropertyType","status","undefined","objectTypeV2","pluralDisplayName","color","blueprint","name","locator","convertObjectTypeStatus","sharedPropertyTypeMappings","implementsInterfaces2","ii","interfaceApiName","interfaceTypeApiName","propertyMappings","sharedPropKey","propMapping","propertyApiName","propertyTypeRid","objectApiName","implementsInterfaces","sharedPropertyTypeMapping","link","linkType","linkStatus","convertLinkTypeStatus","mappings","definition","linkDef","manyToMany","sideA","objectTypeAToBLinkMetadata","cardinality","objectTypeApiName","objectTypeRidB","linkTypeRid","objectTypeRidA","id","sideB","objectTypeBToALinkMetadata","oneToMany","manySide","oneToManyLinkMetadata","objectTypeRidOneSide","objectTypeRidManySide","oneSide","manyToOneLinkMetadata","linkSide","push","actions","action","metadata","actionType","parameters","getOsdkActionParameters","operations","getOsdkActionOperations","convertActionTypeStatus","actionTypeLogic","logic","rules","map","irLogic","r","addInterfaceRule","addObjectRule","objectTypeId","addOrModifyObjectRuleV2","modifyParamType","objectToModify","objectReference","deleteObjectRule","ontologyIrParameter","objectToDelete","modifyInterfaceRule","parameter","interfaceObjectToModifyParameter","interfaceReference","interfaceTypeRid","interfaceReferenceList","modifyObjectRule","paramKey","irParameter","subType","t","objectReferenceList","required","isParameterRequired","interfaces","interfaceData","interfaceType","propValue","propertiesV2","spt","sharedPropertyType","result_interfaceType","allProperties","extendsInterfaces","val","allExtendsInterfaces","implementedByObjectTypes","getOsdkInterfaceLinkTypes","allLinks","ilts","ilt","linkedEntityApiName","linkedEntityTypeId","interfaceLinkType","spts","JSON","stringify","value","array","subtype","struct","ridBase","slice","structFieldTypes","structFields","field","fieldDataType","fieldType","validation","parameterValidations","defaultValidation"],"sources":["OntologyIrToFullMetadataConverter.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 OntologyIrActionTypeBlockDataV2,\n OntologyIrActionTypeStatus,\n OntologyIrInterfaceLinkType,\n OntologyIrInterfaceTypeBlockDataV2,\n OntologyIrLinkTypeBlockDataV2,\n OntologyIrLinkTypeStatus,\n OntologyIrObjectTypeBlockDataV2,\n OntologyIrObjectTypeStatus,\n OntologyIrOntologyBlockDataV2,\n OntologyIrSharedPropertyTypeBlockDataV2,\n OntologyIrType,\n} from \"@osdk/client.unstable\";\nimport type * as Ontologies from \"@osdk/foundry.ontologies\";\nimport { hash } from \"node:crypto\";\nimport type { ApiName } from \"./ApiName.js\";\n\n/**\n * TypeScript equivalent of OntologyIrToFullMetadataConverter.java\n * Converts ontology IR data to full metadata format for OSDK generation\n */\nexport class OntologyIrToFullMetadataConverter {\n /**\n * Main entry point - converts IR to full metadata\n */\n static getFullMetadataFromIr(\n ir: OntologyIrOntologyBlockDataV2,\n ): Ontologies.OntologyFullMetadata {\n const interfaceTypes = this.getOsdkInterfaceTypes(\n Object.values(ir.interfaceTypes),\n );\n const sharedPropertyTypes = this.getOsdkSharedPropertyTypes(\n Object.values(ir.sharedPropertyTypes),\n );\n const objectTypes = this.getOsdkObjectTypes(\n Object.values(ir.objectTypes),\n Object.values(ir.linkTypes),\n );\n const actionTypes = this.getOsdkActionTypes(Object.values(ir.actionTypes));\n\n return {\n interfaceTypes,\n sharedPropertyTypes,\n objectTypes,\n queryTypes: {},\n actionTypes,\n ontology: {\n apiName: \"ontology\",\n rid: `ri.00000`,\n displayName: \"ontology\",\n description: \"\",\n },\n };\n }\n\n /**\n * Convert IR object types to OSDK format\n */\n static getOsdkObjectTypes(\n objects: OntologyIrObjectTypeBlockDataV2[],\n links: OntologyIrLinkTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.ObjectTypeFullMetadata> {\n const linkMappings = this.getLinkMappings(links);\n\n const result: Record<ApiName, Ontologies.ObjectTypeFullMetadata> = {};\n\n for (const fullObject of objects) {\n const object = fullObject.objectType;\n const icon = object.displayMetadata.icon;\n\n if (icon.type !== \"blueprint\") {\n throw new Error(\"Only blueprint icons are supported\");\n }\n\n // Ensure we have exactly one primary key\n if (object.primaryKeys.length !== 1) {\n throw new Error(\"Object must have exactly 1 primary key\");\n }\n\n const primaryKey = object.primaryKeys[0];\n const titleProperty = object.titlePropertyTypeRid;\n\n const properties: Record<ApiName, Ontologies.PropertyV2> = {};\n for (const [propKey, prop] of Object.entries(object.propertyTypes)) {\n const visibility = prop.displayMetadata.visibility;\n let visibilityEnum: \"NORMAL\" | \"PROMINENT\" | \"HIDDEN\" = \"NORMAL\";\n\n if (!visibility) {\n visibilityEnum = \"NORMAL\";\n } else {\n switch (visibility) {\n case \"PROMINENT\":\n visibilityEnum = \"PROMINENT\";\n break;\n case \"NORMAL\":\n visibilityEnum = \"NORMAL\";\n break;\n case \"HIDDEN\":\n visibilityEnum = \"HIDDEN\";\n break;\n default:\n visibilityEnum = \"NORMAL\";\n }\n }\n\n const dataType = this.getOsdkPropertyType(prop.type);\n if (dataType) {\n const status = {\n type: prop.status.type,\n ...((prop.status as any)[prop.status.type] ?? {}),\n } as unknown as Ontologies.PropertyTypeStatus;\n\n properties[propKey] = {\n displayName: prop.displayMetadata.displayName,\n rid: `ri.${object.apiName}.${propKey}`,\n status,\n description: prop.displayMetadata.description ?? undefined,\n visibility: visibilityEnum,\n dataType,\n };\n }\n }\n\n const objectTypeV2: Ontologies.ObjectTypeV2 = {\n apiName: object.apiName,\n description: object.displayMetadata.description ?? undefined,\n displayName: object.displayMetadata.displayName,\n pluralDisplayName: \"\", // Not available in IR\n primaryKey,\n titleProperty,\n icon: {\n type: \"blueprint\",\n color: icon.blueprint.color,\n name: icon.blueprint.locator,\n },\n status: this.convertObjectTypeStatus(object.status),\n properties,\n rid: `ri.${object.apiName}`,\n };\n\n const sharedPropertyTypeMappings: Record<ApiName, ApiName> = {};\n const implementsInterfaces2: Record<\n ApiName,\n Ontologies.ObjectTypeInterfaceImplementation\n > = {};\n\n for (const ii of object.implementsInterfaces2) {\n const interfaceApiName = ii.interfaceTypeApiName;\n const propertyMappings: Record<ApiName, ApiName> = {};\n\n for (\n const [sharedPropKey, propMapping] of Object.entries(ii.properties)\n ) {\n const propertyApiName = propMapping.propertyTypeRid;\n propertyMappings[sharedPropKey] = propertyApiName;\n sharedPropertyTypeMappings[sharedPropKey] = propertyApiName;\n }\n\n implementsInterfaces2[interfaceApiName] = {\n properties: propertyMappings,\n };\n }\n\n const objectApiName = object.apiName;\n result[objectApiName] = {\n objectType: objectTypeV2,\n implementsInterfaces: [], // Empty for now - legacy field\n implementsInterfaces2,\n sharedPropertyTypeMapping: sharedPropertyTypeMappings,\n linkTypes: linkMappings[objectApiName] || [],\n };\n }\n\n return result;\n }\n\n /**\n * Create link mappings from IR link types\n */\n static getLinkMappings(\n links: OntologyIrLinkTypeBlockDataV2[],\n ): Record<string, Ontologies.LinkTypeSideV2[]> {\n const result: Record<string, Ontologies.LinkTypeSideV2[]> = {};\n\n for (const link of links) {\n const linkType = link.linkType;\n const linkStatus = this.convertLinkTypeStatus(linkType.status);\n\n let mappings: Record<string, Ontologies.LinkTypeSideV2>;\n switch (linkType.definition.type) {\n case \"manyToMany\": {\n const linkDef = linkType.definition.manyToMany;\n const sideA: Ontologies.LinkTypeSideV2 = {\n apiName: linkDef.objectTypeAToBLinkMetadata.apiName ?? \"\",\n displayName: linkDef.objectTypeAToBLinkMetadata\n .displayMetadata.displayName,\n cardinality: \"MANY\",\n objectTypeApiName: linkDef.objectTypeRidB,\n linkTypeRid:\n `ri.${linkDef.objectTypeRidA}.${linkType.id}.${linkDef.objectTypeRidB}`,\n status: linkStatus,\n };\n\n const sideB: Ontologies.LinkTypeSideV2 = {\n ...sideA,\n apiName: linkDef.objectTypeBToALinkMetadata.apiName\n ?? \"\",\n objectTypeApiName: linkDef.objectTypeRidA,\n };\n\n mappings = {\n [linkDef.objectTypeRidA]: sideA,\n [linkDef.objectTypeRidB]: sideB,\n };\n break;\n }\n case \"oneToMany\": {\n const linkDef = linkType.definition.oneToMany;\n const manySide: Ontologies.LinkTypeSideV2 = {\n apiName: linkDef.oneToManyLinkMetadata.apiName ?? \"\",\n displayName:\n linkDef.oneToManyLinkMetadata.displayMetadata.displayName,\n objectTypeApiName: linkDef.objectTypeRidOneSide,\n cardinality: \"ONE\",\n linkTypeRid:\n `ri.${linkDef.objectTypeRidOneSide}.${linkType.id}.${linkDef.objectTypeRidManySide}`,\n status: linkStatus,\n };\n\n const oneSide: Ontologies.LinkTypeSideV2 = {\n ...manySide,\n cardinality: \"MANY\",\n apiName: linkDef.manyToOneLinkMetadata.apiName ?? \"\",\n displayName:\n linkDef.manyToOneLinkMetadata.displayMetadata.displayName,\n objectTypeApiName: linkDef.objectTypeRidManySide,\n };\n\n mappings = {\n [linkDef.objectTypeRidOneSide]: oneSide,\n [linkDef.objectTypeRidManySide]: manySide,\n };\n break;\n }\n default:\n throw new Error(\"Unknown link definition type\");\n }\n\n // Add mappings to result\n for (const [objectTypeApiName, linkSide] of Object.entries(mappings)) {\n if (!result[objectTypeApiName]) {\n result[objectTypeApiName] = [];\n }\n result[objectTypeApiName].push(linkSide);\n }\n }\n\n return result;\n }\n\n /**\n * Convert IR action types to OSDK format\n */\n static getOsdkActionTypes(\n actions: OntologyIrActionTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.ActionTypeV2> {\n const result: Record<ApiName, Ontologies.ActionTypeV2> = {};\n\n for (const action of actions) {\n const metadata = action.actionType.metadata;\n const actionType: Ontologies.ActionTypeV2 = {\n rid: `ri.action.${metadata.apiName}`,\n apiName: metadata.apiName,\n displayName: metadata.displayMetadata.displayName,\n description: metadata.displayMetadata.description,\n parameters: this.getOsdkActionParameters(action),\n operations: this.getOsdkActionOperations(action),\n status: this.convertActionTypeStatus(metadata.status),\n };\n\n result[actionType.apiName] = actionType;\n }\n\n return result;\n }\n\n /**\n * Convert action operations from IR\n */\n static getOsdkActionOperations(\n action: OntologyIrActionTypeBlockDataV2,\n ): Ontologies.LogicRule[] {\n return action.actionType.actionTypeLogic.logic.rules.map(irLogic => {\n switch (irLogic.type) {\n case \"addInterfaceRule\": {\n const r = irLogic.addInterfaceRule;\n return {\n type: \"createInterfaceObject\",\n interfaceTypeApiName: r.interfaceApiName,\n } satisfies Ontologies.LogicRule;\n }\n case \"addLinkRule\":\n throw new Error(\"Add link rule not supported\");\n case \"addObjectRule\": {\n const r = irLogic.addObjectRule;\n return {\n type: \"createObject\",\n objectTypeApiName: r.objectTypeId,\n } satisfies Ontologies.LogicRule;\n }\n case \"addOrModifyObjectRuleV2\": {\n const r = irLogic.addOrModifyObjectRuleV2;\n\n const modifyParamType =\n action.actionType.metadata.parameters[r.objectToModify].type;\n if (modifyParamType.type === \"objectReference\") {\n return {\n type: \"modifyObject\",\n objectTypeApiName: modifyParamType.objectReference.objectTypeId,\n } satisfies Ontologies.LogicRule;\n } else {\n throw new Error(\n \"Unable to convert modifyAction because parameter does not exist\",\n );\n }\n }\n case \"deleteLinkRule\":\n throw new Error(\"Delete link rule not supported\");\n case \"deleteObjectRule\": {\n const r = irLogic.deleteObjectRule;\n const ontologyIrParameter =\n action.actionType.metadata.parameters[r.objectToDelete];\n if (ontologyIrParameter.type.type !== \"objectReference\") {\n throw new Error(\"invalid parameter type\");\n }\n\n return {\n type: \"deleteObject\",\n objectTypeApiName:\n ontologyIrParameter.type.objectReference.objectTypeId,\n } satisfies Ontologies.LogicRule;\n }\n case \"modifyInterfaceRule\": {\n const r = irLogic.modifyInterfaceRule;\n const parameter = action.actionType.metadata\n .parameters[r.interfaceObjectToModifyParameter];\n if (!parameter) {\n throw new Error(\"Could not find interface type api name\");\n }\n\n let interfaceTypeApiName: string | null = null;\n switch (parameter.type.type) {\n case \"interfaceReference\":\n interfaceTypeApiName =\n parameter.type.interfaceReference.interfaceTypeRid;\n break;\n case \"interfaceReferenceList\":\n interfaceTypeApiName =\n parameter.type.interfaceReferenceList.interfaceTypeRid;\n break;\n default:\n interfaceTypeApiName = null;\n }\n\n if (!interfaceTypeApiName) {\n throw new Error(\"Could not find interface type api name\");\n }\n\n return {\n type: \"modifyInterfaceObject\",\n interfaceTypeApiName,\n } satisfies Ontologies.LogicRule;\n }\n case \"modifyObjectRule\": {\n const r = irLogic.modifyObjectRule;\n\n const modifyParamType =\n action.actionType.metadata.parameters[r.objectToModify].type;\n if (modifyParamType.type === \"objectReference\") {\n return {\n type: \"modifyObject\",\n objectTypeApiName: modifyParamType.objectReference.objectTypeId,\n } satisfies Ontologies.LogicRule;\n } else {\n throw new Error(\n \"Unable to convert modifyAction because parameter does not exist\",\n );\n }\n }\n default:\n throw new Error(\"Unknown logic rule type\");\n }\n });\n }\n\n /**\n * Convert action parameters from IR\n */\n static getOsdkActionParameters(\n action: OntologyIrActionTypeBlockDataV2,\n ): Record<string, Ontologies.ActionParameterV2> {\n const result: Record<string, Ontologies.ActionParameterV2> = {};\n\n for (\n const [paramKey, irParameter] of Object.entries(\n action.actionType.metadata.parameters,\n )\n ) {\n let dataType: Ontologies.ActionParameterType;\n switch (irParameter.type.type) {\n case \"attachment\":\n dataType = { type: \"attachment\" };\n break;\n case \"attachmentList\":\n dataType = {\n type: \"array\",\n subType: { type: \"attachment\" },\n };\n break;\n case \"boolean\":\n dataType = { type: \"boolean\" };\n break;\n case \"booleanList\":\n dataType = {\n type: \"array\",\n subType: { type: \"boolean\" },\n };\n break;\n case \"date\":\n dataType = { type: \"date\" };\n break;\n case \"dateList\":\n dataType = {\n type: \"array\",\n subType: { type: \"date\" },\n };\n break;\n case \"decimal\":\n throw new Error(\"Decimal type not supported\");\n case \"decimalList\":\n throw new Error(\"Decimal list type not supported\");\n case \"double\":\n dataType = { type: \"double\" };\n break;\n case \"doubleList\":\n dataType = {\n type: \"array\",\n subType: { type: \"double\" },\n };\n break;\n case \"geohash\":\n dataType = { type: \"geohash\" };\n break;\n case \"geohashList\":\n dataType = {\n type: \"array\",\n subType: { type: \"geohash\" },\n };\n break;\n case \"geoshape\":\n dataType = { type: \"geoshape\" };\n break;\n case \"geoshapeList\":\n dataType = {\n type: \"array\",\n subType: { type: \"geoshape\" },\n };\n break;\n case \"geotimeSeriesReference\":\n throw new Error(\"Geotime series reference type not supported\");\n case \"geotimeSeriesReferenceList\":\n throw new Error(\"Geotime series reference list type not supported\");\n case \"integer\":\n dataType = { type: \"integer\" };\n break;\n case \"integerList\":\n dataType = {\n type: \"array\",\n subType: { type: \"integer\" },\n };\n break;\n case \"interfaceReference\":\n throw new Error(\"Interface reference type not supported\");\n case \"interfaceReferenceList\":\n throw new Error(\"Interface reference list type not supported\");\n case \"long\":\n dataType = { type: \"long\" };\n break;\n case \"longList\":\n dataType = {\n type: \"array\",\n subType: { type: \"long\" },\n };\n break;\n case \"marking\":\n dataType = { type: \"marking\" };\n break;\n case \"markingList\":\n dataType = {\n type: \"array\",\n subType: { type: \"marking\" },\n };\n break;\n case \"mediaReference\":\n dataType = { type: \"mediaReference\" };\n break;\n case \"mediaReferenceList\":\n dataType = {\n type: \"array\",\n subType: { type: \"mediaReference\" },\n };\n break;\n case \"objectReference\": {\n const t = irParameter.type.objectReference;\n dataType = {\n type: \"object\",\n objectTypeApiName: t.objectTypeId,\n objectApiName: t.objectTypeId,\n };\n break;\n }\n case \"objectReferenceList\": {\n const t = irParameter.type.objectReferenceList;\n dataType = {\n type: \"array\",\n subType: {\n type: \"object\",\n objectTypeApiName: t.objectTypeId,\n objectApiName: t.objectTypeId,\n },\n };\n break;\n }\n case \"objectSetRid\":\n dataType = { type: \"objectSet\" };\n break;\n case \"objectTypeReference\":\n dataType = { type: \"objectType\" };\n break;\n case \"string\":\n dataType = { type: \"string\" };\n break;\n case \"stringList\":\n dataType = {\n type: \"array\",\n subType: { type: \"string\" },\n };\n break;\n case \"struct\":\n throw new Error(\"Struct type not supported (lazy implementation)\");\n case \"structList\":\n throw new Error(\"Struct list type not supported\");\n case \"timeSeriesReference\":\n throw new Error(\"Time series reference type not supported\");\n case \"timestamp\":\n dataType = { type: \"timestamp\" };\n break;\n case \"timestampList\":\n dataType = {\n type: \"array\",\n subType: { type: \"timestamp\" },\n };\n break;\n default:\n throw new Error(\"Unknown parameter type\");\n }\n\n result[paramKey] = {\n displayName: irParameter.displayMetadata.displayName,\n description: irParameter.displayMetadata.description,\n required: isParameterRequired(action, paramKey),\n dataType,\n };\n }\n\n return result;\n }\n\n /**\n * Convert interface types from IR\n */\n static getOsdkInterfaceTypes(\n interfaces: OntologyIrInterfaceTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.InterfaceType> {\n const result: Record<ApiName, Ontologies.InterfaceType> = {};\n\n for (const interfaceData of interfaces) {\n const interfaceType = interfaceData.interfaceType;\n\n // Convert shared properties to interface shared properties\n const properties: Record<\n ApiName,\n Ontologies.InterfaceSharedPropertyType\n > = {};\n for (\n const [propKey, propValue] of Object.entries(interfaceType.propertiesV2)\n ) {\n const spt = propValue.sharedPropertyType;\n const dataType = this.getOsdkPropertyType(spt.type);\n if (dataType) {\n properties[propKey] = {\n rid: `ri.interface.${interfaceType.apiName}.${spt.apiName}`,\n apiName: spt.apiName,\n displayName: spt.displayMetadata.displayName,\n description: spt.displayMetadata.description ?? undefined,\n dataType,\n required: false, // Default to false for now - this should come from IR if available\n };\n }\n }\n\n const result_interfaceType: Ontologies.InterfaceType = {\n apiName: interfaceType.apiName,\n rid: `ri.interface.${interfaceType.apiName}`,\n properties,\n allProperties: properties, // Same as properties for now\n extendsInterfaces: interfaceType.extendsInterfaces.map(val => val),\n allExtendsInterfaces: interfaceType.extendsInterfaces.map(val => val), // Same as extendsInterfaces for now\n implementedByObjectTypes: [], // Empty for now\n displayName: interfaceType.displayMetadata.displayName,\n description: interfaceType.displayMetadata.description ?? undefined,\n links: this.getOsdkInterfaceLinkTypes(interfaceType.links),\n allLinks: this.getOsdkInterfaceLinkTypes(interfaceType.links), // Same as links for now\n };\n\n result[result_interfaceType.apiName] = result_interfaceType;\n }\n\n return result;\n }\n\n /**\n * Convert interface link types from IR\n */\n static getOsdkInterfaceLinkTypes(\n ilts: OntologyIrInterfaceLinkType[],\n ): Record<ApiName, Ontologies.InterfaceLinkType> {\n const result: Record<ApiName, Ontologies.InterfaceLinkType> = {};\n\n for (const ilt of ilts) {\n let linkedEntityApiName: {\n type: \"interfaceTypeApiName\";\n apiName: string;\n };\n switch (ilt.linkedEntityTypeId.type) {\n case \"interfaceType\": {\n const interfaceType = ilt.linkedEntityTypeId.interfaceType;\n linkedEntityApiName = {\n type: \"interfaceTypeApiName\" as const,\n apiName: interfaceType,\n };\n break;\n }\n case \"objectType\":\n throw new Error(\n \"Interface links to object types should not be possible in ontology as code yet\",\n );\n default:\n throw new Error(\"Unknown linked entity type\");\n }\n\n let cardinality: Ontologies.InterfaceLinkTypeCardinality;\n switch (ilt.cardinality) {\n case \"SINGLE\":\n cardinality = \"ONE\";\n break;\n case \"MANY\":\n cardinality = \"MANY\";\n break;\n default:\n throw new Error(\"Unknown cardinality type\");\n }\n\n const interfaceLinkType: Ontologies.InterfaceLinkType = {\n rid:\n `ri.interfacelink.${linkedEntityApiName.apiName}.${ilt.metadata.apiName}`,\n apiName: ilt.metadata.apiName,\n displayName: ilt.metadata.displayName,\n description: ilt.metadata.description,\n linkedEntityApiName,\n cardinality,\n required: ilt.required,\n };\n\n result[interfaceLinkType.apiName] = interfaceLinkType;\n }\n\n return result;\n }\n\n /**\n * Convert shared property types from IR\n */\n static getOsdkSharedPropertyTypes(\n spts: OntologyIrSharedPropertyTypeBlockDataV2[],\n ): Record<ApiName, Ontologies.SharedPropertyType> {\n const result: Record<ApiName, Ontologies.SharedPropertyType> = {};\n\n for (const spt of spts) {\n const dataType = this.getOsdkPropertyType(spt.sharedPropertyType.type);\n if (dataType) {\n const sharedPropertyType: Ontologies.SharedPropertyType = {\n rid: `ri.spt.${spt.sharedPropertyType.apiName}`,\n apiName: spt.sharedPropertyType.apiName,\n displayName: spt.sharedPropertyType.displayMetadata.displayName,\n description: spt.sharedPropertyType.displayMetadata.description\n ?? undefined,\n dataType,\n };\n\n result[sharedPropertyType.apiName] = sharedPropertyType;\n } else {\n throw new Error(\n `Unsupported property type '${\n JSON.stringify(spt.sharedPropertyType.type)\n }' for spt '${spt.sharedPropertyType.apiName}'`,\n );\n }\n }\n\n return result;\n }\n\n /**\n * Convert property types from IR to OSDK format\n */\n static getOsdkPropertyType(\n type: OntologyIrType,\n ): Ontologies.ObjectPropertyType | null {\n switch (type.type) {\n case \"array\": {\n const value = type.array;\n const subType = this.getOsdkPropertyType(value.subtype);\n return subType ? { type: \"array\", subType } : null;\n }\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return { type: \"byte\" };\n case \"date\":\n return { type: \"date\" };\n case \"decimal\":\n return { type: \"decimal\" };\n case \"double\":\n return { type: \"double\" };\n case \"float\":\n return { type: \"float\" };\n case \"geohash\":\n return { type: \"geopoint\" };\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"integer\":\n return { type: \"integer\" };\n case \"long\":\n return { type: \"long\" };\n case \"short\":\n return { type: \"short\" };\n case \"string\":\n return { type: \"string\" };\n case \"experimentalTimeDependentV1\":\n return null;\n case \"timestamp\":\n return { type: \"timestamp\" };\n case \"attachment\":\n return { type: \"attachment\" };\n case \"marking\":\n return { type: \"marking\" };\n case \"cipherText\":\n return null;\n case \"mediaReference\":\n return null;\n case \"vector\":\n return null;\n case \"geotimeSeriesReference\":\n return null;\n case \"struct\": {\n const value = type.struct;\n const ridBase = `ri.struct.${\n hash(\"sha256\", JSON.stringify(type)).slice(0, 10)\n }`;\n return {\n type: \"struct\",\n structFieldTypes: value.structFields.map(field => {\n const fieldDataType = this.getOsdkPropertyType(field.fieldType);\n if (!fieldDataType) {\n throw new Error(\n `Unsupported field type in struct: ${field.apiName}`,\n );\n }\n return {\n apiName: field.apiName,\n rid: `${ridBase}.${field.apiName}`,\n dataType: fieldDataType,\n };\n }),\n };\n }\n default:\n return null;\n }\n }\n\n private static convertObjectTypeStatus(\n status: OntologyIrObjectTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"endorsed\":\n throw new Error(\"Endorsed status is not supported yet\");\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown object type status: ${status}`);\n }\n }\n\n private static convertActionTypeStatus(\n status: OntologyIrActionTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown action type status: ${status}`);\n }\n }\n\n private static convertLinkTypeStatus(\n status: OntologyIrLinkTypeStatus,\n ): \"ACTIVE\" | \"DEPRECATED\" | \"EXPERIMENTAL\" {\n switch (status.type) {\n case \"active\":\n return \"ACTIVE\";\n case \"deprecated\":\n return \"DEPRECATED\";\n case \"example\":\n throw new Error(\"Example status has no mapping\");\n case \"experimental\":\n return \"EXPERIMENTAL\";\n default:\n throw new Error(`Unknown link type status: ${status}`);\n }\n }\n}\n\nfunction isParameterRequired(\n action: OntologyIrActionTypeBlockDataV2,\n paramKey: string,\n): boolean {\n return action.actionType.actionTypeLogic.validation\n .parameterValidations[paramKey].defaultValidation.validation.required.type\n === \"required\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,iCAEA,6BACA,oCACA,+BAEA,iCAEA,+BACA,yCACA,sBACK,uBAAwB;AAC/B,iBAAiB,gBAAgB,0BAA2B;AAE5D,cAAc,eAAe,cAAe;;;;;AAM5C,OAAO,cAAM,kCAAkC;;;;CAI7C,OAAO,sBACLA,IAAI,gCACH,WAAW;;;;CA+Bd,OAAO,mBACLC,SAAS,mCACTC,OAAO,kCACN,OAAO,SAAS,WAAW;;;;CAsH9B,OAAO,gBACLA,OAAO,kCACN,eAAe,WAAW;;;;
|
|
1
|
+
{"mappings":"AAgBA,cACE,iCAEA,6BACA,oCACA,+BAEA,iCAEA,+BACA,yCACA,sBACK,uBAAwB;AAC/B,iBAAiB,gBAAgB,0BAA2B;AAE5D,cAAc,eAAe,cAAe;;;;;AAM5C,OAAO,cAAM,kCAAkC;;;;CAI7C,OAAO,sBACLA,IAAI,gCACH,WAAW;;;;CA+Bd,OAAO,mBACLC,SAAS,mCACTC,OAAO,kCACN,OAAO,SAAS,WAAW;;;;CAsH9B,OAAO,gBACLA,OAAO,kCACN,eAAe,WAAW;;;;CAkF7B,OAAO,mBACLC,SAAS,oCACR,OAAO,SAAS,WAAW;;;;CAwB9B,OAAO,wBACLC,QAAQ,kCACP,WAAW;;;;CA2Gd,OAAO,wBACLA,QAAQ,kCACP,eAAe,WAAW;;;;CAqL7B,OAAO,sBACLC,YAAY,uCACX,OAAO,SAAS,WAAW;;;;CAmD9B,OAAO,0BACLC,MAAM,gCACL,OAAO,SAAS,WAAW;;;;CAyD9B,OAAO,2BACLC,MAAM,4CACL,OAAO,SAAS,WAAW;;;;CA+B9B,OAAO,oBACLC,MAAM,iBACL,WAAW;CA0Ed,eAAe;CAmBf,eAAe;CAiBf,eAAe;AAgBhB","names":["ir: OntologyIrOntologyBlockDataV2","objects: OntologyIrObjectTypeBlockDataV2[]","links: OntologyIrLinkTypeBlockDataV2[]","actions: OntologyIrActionTypeBlockDataV2[]","action: OntologyIrActionTypeBlockDataV2","interfaces: OntologyIrInterfaceTypeBlockDataV2[]","ilts: OntologyIrInterfaceLinkType[]","spts: OntologyIrSharedPropertyTypeBlockDataV2[]","type: OntologyIrType"],"sources":["../../src/OntologyIrToFullMetadataConverter.ts"],"version":3,"file":"OntologyIrToFullMetadataConverter.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/generator-converters.ontologyir",
|
|
3
|
-
"version": "2.3.0-beta.
|
|
3
|
+
"version": "2.3.0-beta.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@osdk/foundry.ontologies": "2.
|
|
33
|
-
"@osdk/client.unstable": "~2.3.0-beta.
|
|
32
|
+
"@osdk/foundry.ontologies": "2.24.0",
|
|
33
|
+
"@osdk/client.unstable": "~2.3.0-beta.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^24.0.3",
|
|
37
37
|
"ts-expect": "^1.3.0",
|
|
38
38
|
"typescript": "~5.5.4",
|
|
39
39
|
"vitest": "^3.0.5",
|
|
40
|
-
"@osdk/monorepo.
|
|
41
|
-
"@osdk/monorepo.
|
|
40
|
+
"@osdk/monorepo.api-extractor": "~0.2.0-beta.1",
|
|
41
|
+
"@osdk/monorepo.tsconfig": "~0.2.0-beta.1"
|
|
42
42
|
},
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|