@osdk/maker-experimental 0.6.0-beta.5 → 0.6.0-beta.6

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @osdk/maker-experimental
2
2
 
3
+ ## 0.6.0-beta.6
4
+
5
+ ### Minor Changes
6
+
7
+ - 9ee82f4: Dedupe many-to-many PK property names in datasource
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [9ee82f4]
12
+ - Updated dependencies [60b5ffb]
13
+ - Updated dependencies [61e33ab]
14
+ - @osdk/maker@0.16.0-beta.13
15
+ - @osdk/api@2.8.0-beta.26
16
+ - @osdk/client.unstable@2.8.0-beta.26
17
+
3
18
  ## 0.6.0-beta.5
4
19
 
5
20
  ### Minor Changes
@@ -28,7 +28,7 @@ const apiNamespaceRegex = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.$/;
28
28
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
29
29
  export default async function main(args = process.argv) {
30
30
  consola.log("Generating BlockGeneratorResult for ontology...");
31
- const commandLineOpts = await yargs(hideBin(args)).version("0.6.0-beta.5" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
31
+ const commandLineOpts = await yargs(hideBin(args)).version("0.6.0-beta.6" ?? "").wrap(Math.min(150, yargs().terminalWidth())).strict().help().options({
32
32
  input: {
33
33
  alias: "i",
34
34
  describe: "Input file",
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { cleanAndValidateLinkTypeId, getOntologyDefinition, OntologyEntityTypeEnum } from "@osdk/maker";
17
+ import { cleanAndValidateLinkTypeId, getImportedTypes, getOntologyDefinition, OntologyEntityTypeEnum } from "@osdk/maker";
18
18
  import invariant from "tiny-invariant";
19
19
  import { convertCardinality } from "./convertCardinality.js";
20
20
  export function convertLink(linkType, ridGenerator) {
@@ -85,6 +85,11 @@ export function convertLink(linkType, ridGenerator) {
85
85
  const manyObjectRidB = ridGenerator.generateRidForObjectType(toManyObjectApiName);
86
86
  const manyPkRidA = ridGenerator.generatePropertyRid(manyObject.primaryKeyPropertyApiName, manyObjectApiName);
87
87
  const manyPkRidB = ridGenerator.generatePropertyRid(toManyObject.primaryKeyPropertyApiName, toManyObjectApiName);
88
+ const columnA = manyObject.primaryKeyPropertyApiName;
89
+ const columnB = toManyObject.primaryKeyPropertyApiName;
90
+ const hasCollision = columnA === columnB;
91
+ const resolvedColumnA = hasCollision ? `${columnA}_from` : columnA;
92
+ const resolvedColumnB = hasCollision ? `${columnB}_to` : columnB;
88
93
  definition = {
89
94
  type: "manyToMany",
90
95
  manyToMany: {
@@ -113,10 +118,10 @@ export function convertLink(linkType, ridGenerator) {
113
118
  writebackDatasetRid: undefined,
114
119
  // TODO: Convert property mappings to use property RIDs as keys
115
120
  objectTypeAPrimaryKeyMapping: {
116
- [manyPkRidA]: manyObject.primaryKeyPropertyApiName
121
+ [manyPkRidA]: resolvedColumnA
117
122
  },
118
123
  objectTypeBPrimaryKeyMapping: {
119
- [manyPkRidB]: toManyObject.primaryKeyPropertyApiName
124
+ [manyPkRidB]: resolvedColumnB
120
125
  }
121
126
  }
122
127
  },
@@ -207,7 +212,7 @@ function validateLink(linkDefinition) {
207
212
  }
208
213
  export function getObject(object) {
209
214
  const objectApiName = typeof object === "string" ? object : object.apiName;
210
- const fullObject = getOntologyDefinition()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];
215
+ const fullObject = getOntologyDefinition()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName] ?? getImportedTypes()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];
211
216
  !(fullObject !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Object ${objectApiName} is not defined`) : invariant(false) : void 0;
212
217
  return {
213
218
  apiName: objectApiName,
@@ -1 +1 @@
1
- {"version":3,"file":"convertLink.js","names":["cleanAndValidateLinkTypeId","getOntologyDefinition","OntologyEntityTypeEnum","invariant","convertCardinality","convertLink","linkType","ridGenerator","validateLink","definition","datasource","undefined","apiName","oneObjectApiName","object","oneObject","getObject","one","toManyObjectApiName","toManyObject","toMany","oneObjectRid","generateRidForObjectType","toManyObjectRid","onePkRid","generatePropertyRid","primaryKeyPropertyApiName","manyFkRid","manyForeignKeyProperty","type","oneToMany","cardinalityHint","cardinality","manyToOneLinkMetadata","metadata","objectTypeRidManySide","objectTypeRidOneSide","oneToManyLinkMetadata","oneSidePrimaryKeyToManySidePropertyMapping","manyObjectApiName","manyObject","many","intermediaryObjectApiName","intermediaryObjectType","intermediary","objectTypeAToBLinkMetadata","objectTypeBToALinkMetadata","objectTypeRidA","objectTypeRidB","intermediaryObjectTypeRid","aToIntermediaryLinkTypeRid","generateRidForLinkType","linkToIntermediary","intermediaryToBLinkTypeRid","manyObjectRidA","manyObjectRidB","manyPkRidA","manyPkRidB","manyToMany","peeringMetadata","objectTypeAPrimaryKeyPropertyMapping","objectTypeBPrimaryKeyPropertyMapping","rid","generateRid","dataset","branchId","datasetRid","writebackDatasetRid","objectTypeAPrimaryKeyMapping","objectTypeBPrimaryKeyMapping","editsConfiguration","onlyAllowPrivilegedEdits","redacted","linkTypeId","id","status","convertLinkStatus","datasources","entityMetadata","arePatchesEnabled","editsEnabled","entityConfig","objectDbTypeConfigs","highbury","objectDbConfigs","configValue","targetStorageBackend","objectStorageV2","linkDefinition","foreignKey","properties","find","p","process","env","NODE_ENV","test","typesMatch","intermediaryObjectTypeApiName","manyIntermediaryOneObjectApiName","manyIntermediaryOneObject","manyIntermediaryToManyObjectApiName","manyIntermediaryToManyObject","toManyIntermediaryOneObjectApiName","toManyIntermediaryOneObject","toManyIntermediaryToManyObjectApiName","toManyIntermediaryToManyObject","objectApiName","fullObject","OBJECT_TYPE","deprecated","message","deadline","replacedBy","experimental","example","active"],"sources":["convertLink.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 LinkDefinition,\n LinkTypeBlockDataV2,\n LinkTypeStatus,\n ManyToManyLinkTypeDatasource,\n} from \"@osdk/client.unstable\";\nimport type {\n LinkType,\n ObjectType,\n ObjectTypeDefinition,\n UserLinkTypeStatus,\n} from \"@osdk/maker\";\nimport {\n cleanAndValidateLinkTypeId,\n getOntologyDefinition,\n OntologyEntityTypeEnum,\n} from \"@osdk/maker\";\nimport invariant from \"tiny-invariant\";\nimport type { OntologyRidGenerator } from \"../../util/generateRid.js\";\nimport { convertCardinality } from \"./convertCardinality.js\";\n\nexport function convertLink(\n linkType: LinkType,\n ridGenerator: OntologyRidGenerator,\n): LinkTypeBlockDataV2 {\n validateLink(linkType);\n let definition: LinkDefinition;\n let datasource: ManyToManyLinkTypeDatasource | undefined = undefined;\n if (\"one\" in linkType) {\n const { apiName: oneObjectApiName, object: oneObject } = getObject(\n linkType.one.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const oneObjectRid = ridGenerator.generateRidForObjectType(\n oneObjectApiName,\n );\n const toManyObjectRid = ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n );\n const onePkRid = ridGenerator.generatePropertyRid(\n oneObject.primaryKeyPropertyApiName,\n oneObjectApiName,\n );\n const manyFkRid = ridGenerator.generatePropertyRid(\n linkType.manyForeignKeyProperty,\n toManyObjectApiName,\n );\n\n definition = {\n type: \"oneToMany\",\n oneToMany: {\n cardinalityHint: convertCardinality(linkType.cardinality),\n manyToOneLinkMetadata: linkType.toMany.metadata,\n objectTypeRidManySide: toManyObjectRid,\n objectTypeRidOneSide: oneObjectRid,\n oneToManyLinkMetadata: linkType.one.metadata,\n // TODO: Convert property mappings to use RIDs as keys and values\n oneSidePrimaryKeyToManySidePropertyMapping: {\n [onePkRid]: manyFkRid,\n },\n },\n };\n } else if (\"intermediaryObjectType\" in linkType) {\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkType.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const { apiName: intermediaryObjectApiName } = getObject(\n linkType.intermediaryObjectType,\n );\n definition = {\n type: \"intermediary\",\n intermediary: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: ridGenerator.generateRidForObjectType(\n manyObjectApiName,\n ),\n objectTypeRidB: ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n ),\n intermediaryObjectTypeRid: ridGenerator.generateRidForObjectType(\n intermediaryObjectApiName,\n ),\n aToIntermediaryLinkTypeRid: ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(linkType.many.linkToIntermediary.apiName),\n ),\n intermediaryToBLinkTypeRid: ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(\n linkType.toMany.linkToIntermediary.apiName,\n ),\n ),\n },\n };\n } else {\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkType.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const manyObjectRidA = ridGenerator.generateRidForObjectType(\n manyObjectApiName,\n );\n const manyObjectRidB = ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n );\n const manyPkRidA = ridGenerator.generatePropertyRid(\n manyObject.primaryKeyPropertyApiName,\n manyObjectApiName,\n );\n const manyPkRidB = ridGenerator.generatePropertyRid(\n toManyObject.primaryKeyPropertyApiName,\n toManyObjectApiName,\n );\n\n definition = {\n type: \"manyToMany\",\n manyToMany: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: manyObjectRidA,\n objectTypeRidB: manyObjectRidB,\n peeringMetadata: undefined,\n // TODO: Convert property mappings to use RIDs as keys and values\n objectTypeAPrimaryKeyPropertyMapping: {\n [manyPkRidA]: manyPkRidA,\n },\n objectTypeBPrimaryKeyPropertyMapping: {\n [manyPkRidB]: manyPkRidB,\n },\n },\n };\n\n datasource = {\n rid: ridGenerator.generateRid(`datasource.link.${linkType.apiName}`),\n datasource: {\n type: \"dataset\",\n dataset: {\n // TODO: Add proper branchId from link configuration\n branchId: \"main\",\n datasetRid: ridGenerator.generateRid(\n `link.dataset.${linkType.apiName}`,\n ),\n writebackDatasetRid: undefined,\n // TODO: Convert property mappings to use property RIDs as keys\n objectTypeAPrimaryKeyMapping: {\n [manyPkRidA]: manyObject.primaryKeyPropertyApiName,\n },\n objectTypeBPrimaryKeyMapping: {\n [manyPkRidB]: toManyObject.primaryKeyPropertyApiName,\n },\n },\n },\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: linkType.redacted,\n };\n }\n\n const linkTypeId = cleanAndValidateLinkTypeId(linkType.apiName);\n\n return {\n linkType: {\n definition: definition,\n rid: ridGenerator.generateRidForLinkType(linkTypeId),\n id: cleanAndValidateLinkTypeId(linkType.apiName),\n status: convertLinkStatus(linkType.status, ridGenerator),\n redacted: linkType.redacted ?? false,\n },\n datasources: datasource !== undefined ? [datasource] : [],\n entityMetadata: {\n arePatchesEnabled: linkType.editsEnabled ?? false,\n entityConfig: {\n objectDbTypeConfigs: {\n highbury: {\n objectDbConfigs: {\n \"ri.highbury.main.cluster.1\": { configValue: \"{}\" },\n },\n },\n },\n },\n targetStorageBackend: { type: \"objectStorageV2\", objectStorageV2: {} },\n },\n };\n}\nfunction validateLink(linkDefinition: LinkType) {\n if (\"one\" in linkDefinition) {\n const { apiName: oneObjectApiName, object: oneObject } = getObject(\n linkDefinition.one.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkDefinition.toMany.object,\n );\n const foreignKey = toManyObject.properties?.find(p =>\n p.apiName === linkDefinition.manyForeignKeyProperty\n );\n invariant(\n foreignKey !== undefined,\n `Foreign key ${linkDefinition.manyForeignKeyProperty} on link ${linkDefinition.apiName} does not exist on object ${toManyObjectApiName}`,\n );\n\n invariant(\n /([a-z][a-z0-9\\\\-]*)/.test(linkDefinition.apiName),\n `Top level link api names are expected to match the regex pattern ([a-z][a-z0-9\\\\-]*) ${linkDefinition.apiName} does not match`,\n );\n\n const typesMatch = foreignKey.type\n === oneObject.properties?.find(p =>\n p.apiName === oneObject.primaryKeyPropertyApiName\n )?.type;\n invariant(\n typesMatch,\n `Link ${linkDefinition.apiName} has type mismatch between the one side's primary key and the foreign key on the many side`,\n );\n }\n if (\"intermediaryObjectType\" in linkDefinition) {\n const {\n apiName: intermediaryObjectTypeApiName,\n object: intermediaryObjectType,\n } = getObject(linkDefinition.intermediaryObjectType);\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkDefinition.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkDefinition.toMany.object,\n );\n\n const {\n apiName: manyIntermediaryOneObjectApiName,\n object: manyIntermediaryOneObject,\n } = getObject((linkDefinition.many.linkToIntermediary as any).one.object);\n const {\n apiName: manyIntermediaryToManyObjectApiName,\n object: manyIntermediaryToManyObject,\n } = getObject(linkDefinition.many.linkToIntermediary.toMany.object);\n invariant(\n \"one\" in linkDefinition.many.linkToIntermediary\n && manyIntermediaryOneObjectApiName\n === manyObject.apiName\n && manyIntermediaryToManyObjectApiName\n === intermediaryObjectTypeApiName,\n `LinkTypeA ${linkDefinition.many.linkToIntermediary.apiName} must be a many to one link from intermediary object ${intermediaryObjectTypeApiName} to objectA ${manyObjectApiName}`,\n );\n\n const {\n apiName: toManyIntermediaryOneObjectApiName,\n object: toManyIntermediaryOneObject,\n } = getObject((linkDefinition.toMany.linkToIntermediary as any).one.object);\n const {\n apiName: toManyIntermediaryToManyObjectApiName,\n object: toManyIntermediaryToManyObject,\n } = getObject(linkDefinition.toMany.linkToIntermediary.toMany.object);\n invariant(\n \"one\" in linkDefinition.toMany.linkToIntermediary\n && toManyIntermediaryOneObjectApiName\n === toManyObjectApiName\n && toManyIntermediaryToManyObjectApiName\n === intermediaryObjectTypeApiName,\n `LinkTypeB ${linkDefinition.toMany.linkToIntermediary.apiName} must be a many to one link from intermediary object ${intermediaryObjectTypeApiName} to objectB ${toManyObjectApiName}`,\n );\n }\n}\n\nexport function getObject(\n object: string | ObjectTypeDefinition,\n): { apiName: string; object: ObjectType } {\n const objectApiName = typeof object === \"string\" ? object : object.apiName;\n const fullObject =\n getOntologyDefinition()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];\n invariant(\n fullObject !== undefined,\n `Object ${objectApiName} is not defined`,\n );\n return { apiName: objectApiName, object: fullObject };\n}\n\nexport function convertLinkStatus(\n status: UserLinkTypeStatus | undefined,\n ridGenerator: OntologyRidGenerator,\n): LinkTypeStatus {\n if (\n typeof status === \"object\" && \"type\" in status\n && status.type === \"deprecated\"\n ) {\n return {\n type: \"deprecated\",\n deprecated: {\n message: status.message,\n deadline: status.deadline,\n replacedBy: status.replacedBy\n ? ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(status.replacedBy),\n )\n : undefined,\n },\n };\n }\n switch (status) {\n case \"experimental\":\n return { type: \"experimental\", experimental: {} };\n case \"example\":\n return { type: \"example\", example: {} };\n case \"active\":\n default:\n return { type: \"active\", active: {} };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"convertLink.js","names":["cleanAndValidateLinkTypeId","getImportedTypes","getOntologyDefinition","OntologyEntityTypeEnum","invariant","convertCardinality","convertLink","linkType","ridGenerator","validateLink","definition","datasource","undefined","apiName","oneObjectApiName","object","oneObject","getObject","one","toManyObjectApiName","toManyObject","toMany","oneObjectRid","generateRidForObjectType","toManyObjectRid","onePkRid","generatePropertyRid","primaryKeyPropertyApiName","manyFkRid","manyForeignKeyProperty","type","oneToMany","cardinalityHint","cardinality","manyToOneLinkMetadata","metadata","objectTypeRidManySide","objectTypeRidOneSide","oneToManyLinkMetadata","oneSidePrimaryKeyToManySidePropertyMapping","manyObjectApiName","manyObject","many","intermediaryObjectApiName","intermediaryObjectType","intermediary","objectTypeAToBLinkMetadata","objectTypeBToALinkMetadata","objectTypeRidA","objectTypeRidB","intermediaryObjectTypeRid","aToIntermediaryLinkTypeRid","generateRidForLinkType","linkToIntermediary","intermediaryToBLinkTypeRid","manyObjectRidA","manyObjectRidB","manyPkRidA","manyPkRidB","columnA","columnB","hasCollision","resolvedColumnA","resolvedColumnB","manyToMany","peeringMetadata","objectTypeAPrimaryKeyPropertyMapping","objectTypeBPrimaryKeyPropertyMapping","rid","generateRid","dataset","branchId","datasetRid","writebackDatasetRid","objectTypeAPrimaryKeyMapping","objectTypeBPrimaryKeyMapping","editsConfiguration","onlyAllowPrivilegedEdits","redacted","linkTypeId","id","status","convertLinkStatus","datasources","entityMetadata","arePatchesEnabled","editsEnabled","entityConfig","objectDbTypeConfigs","highbury","objectDbConfigs","configValue","targetStorageBackend","objectStorageV2","linkDefinition","foreignKey","properties","find","p","process","env","NODE_ENV","test","typesMatch","intermediaryObjectTypeApiName","manyIntermediaryOneObjectApiName","manyIntermediaryOneObject","manyIntermediaryToManyObjectApiName","manyIntermediaryToManyObject","toManyIntermediaryOneObjectApiName","toManyIntermediaryOneObject","toManyIntermediaryToManyObjectApiName","toManyIntermediaryToManyObject","objectApiName","fullObject","OBJECT_TYPE","deprecated","message","deadline","replacedBy","experimental","example","active"],"sources":["convertLink.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 LinkDefinition,\n LinkTypeBlockDataV2,\n LinkTypeStatus,\n ManyToManyLinkTypeDatasource,\n} from \"@osdk/client.unstable\";\nimport type {\n LinkType,\n ObjectType,\n ObjectTypeDefinition,\n UserLinkTypeStatus,\n} from \"@osdk/maker\";\nimport {\n cleanAndValidateLinkTypeId,\n getImportedTypes,\n getOntologyDefinition,\n OntologyEntityTypeEnum,\n} from \"@osdk/maker\";\nimport invariant from \"tiny-invariant\";\nimport type { OntologyRidGenerator } from \"../../util/generateRid.js\";\nimport { convertCardinality } from \"./convertCardinality.js\";\n\nexport function convertLink(\n linkType: LinkType,\n ridGenerator: OntologyRidGenerator,\n): LinkTypeBlockDataV2 {\n validateLink(linkType);\n let definition: LinkDefinition;\n let datasource: ManyToManyLinkTypeDatasource | undefined = undefined;\n if (\"one\" in linkType) {\n const { apiName: oneObjectApiName, object: oneObject } = getObject(\n linkType.one.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const oneObjectRid = ridGenerator.generateRidForObjectType(\n oneObjectApiName,\n );\n const toManyObjectRid = ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n );\n const onePkRid = ridGenerator.generatePropertyRid(\n oneObject.primaryKeyPropertyApiName,\n oneObjectApiName,\n );\n const manyFkRid = ridGenerator.generatePropertyRid(\n linkType.manyForeignKeyProperty,\n toManyObjectApiName,\n );\n\n definition = {\n type: \"oneToMany\",\n oneToMany: {\n cardinalityHint: convertCardinality(linkType.cardinality),\n manyToOneLinkMetadata: linkType.toMany.metadata,\n objectTypeRidManySide: toManyObjectRid,\n objectTypeRidOneSide: oneObjectRid,\n oneToManyLinkMetadata: linkType.one.metadata,\n // TODO: Convert property mappings to use RIDs as keys and values\n oneSidePrimaryKeyToManySidePropertyMapping: {\n [onePkRid]: manyFkRid,\n },\n },\n };\n } else if (\"intermediaryObjectType\" in linkType) {\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkType.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const { apiName: intermediaryObjectApiName } = getObject(\n linkType.intermediaryObjectType,\n );\n definition = {\n type: \"intermediary\",\n intermediary: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: ridGenerator.generateRidForObjectType(\n manyObjectApiName,\n ),\n objectTypeRidB: ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n ),\n intermediaryObjectTypeRid: ridGenerator.generateRidForObjectType(\n intermediaryObjectApiName,\n ),\n aToIntermediaryLinkTypeRid: ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(linkType.many.linkToIntermediary.apiName),\n ),\n intermediaryToBLinkTypeRid: ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(\n linkType.toMany.linkToIntermediary.apiName,\n ),\n ),\n },\n };\n } else {\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkType.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkType.toMany.object,\n );\n const manyObjectRidA = ridGenerator.generateRidForObjectType(\n manyObjectApiName,\n );\n const manyObjectRidB = ridGenerator.generateRidForObjectType(\n toManyObjectApiName,\n );\n const manyPkRidA = ridGenerator.generatePropertyRid(\n manyObject.primaryKeyPropertyApiName,\n manyObjectApiName,\n );\n const manyPkRidB = ridGenerator.generatePropertyRid(\n toManyObject.primaryKeyPropertyApiName,\n toManyObjectApiName,\n );\n\n const columnA = manyObject.primaryKeyPropertyApiName;\n const columnB = toManyObject.primaryKeyPropertyApiName;\n const hasCollision = columnA === columnB;\n const resolvedColumnA = hasCollision ? `${columnA}_from` : columnA;\n const resolvedColumnB = hasCollision ? `${columnB}_to` : columnB;\n\n definition = {\n type: \"manyToMany\",\n manyToMany: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: manyObjectRidA,\n objectTypeRidB: manyObjectRidB,\n peeringMetadata: undefined,\n // TODO: Convert property mappings to use RIDs as keys and values\n objectTypeAPrimaryKeyPropertyMapping: {\n [manyPkRidA]: manyPkRidA,\n },\n objectTypeBPrimaryKeyPropertyMapping: {\n [manyPkRidB]: manyPkRidB,\n },\n },\n };\n\n datasource = {\n rid: ridGenerator.generateRid(`datasource.link.${linkType.apiName}`),\n datasource: {\n type: \"dataset\",\n dataset: {\n // TODO: Add proper branchId from link configuration\n branchId: \"main\",\n datasetRid: ridGenerator.generateRid(\n `link.dataset.${linkType.apiName}`,\n ),\n writebackDatasetRid: undefined,\n // TODO: Convert property mappings to use property RIDs as keys\n objectTypeAPrimaryKeyMapping: {\n [manyPkRidA]: resolvedColumnA,\n },\n objectTypeBPrimaryKeyMapping: {\n [manyPkRidB]: resolvedColumnB,\n },\n },\n },\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: linkType.redacted,\n };\n }\n\n const linkTypeId = cleanAndValidateLinkTypeId(linkType.apiName);\n\n return {\n linkType: {\n definition: definition,\n rid: ridGenerator.generateRidForLinkType(linkTypeId),\n id: cleanAndValidateLinkTypeId(linkType.apiName),\n status: convertLinkStatus(linkType.status, ridGenerator),\n redacted: linkType.redacted ?? false,\n },\n datasources: datasource !== undefined ? [datasource] : [],\n entityMetadata: {\n arePatchesEnabled: linkType.editsEnabled ?? false,\n entityConfig: {\n objectDbTypeConfigs: {\n highbury: {\n objectDbConfigs: {\n \"ri.highbury.main.cluster.1\": { configValue: \"{}\" },\n },\n },\n },\n },\n targetStorageBackend: { type: \"objectStorageV2\", objectStorageV2: {} },\n },\n };\n}\nfunction validateLink(linkDefinition: LinkType) {\n if (\"one\" in linkDefinition) {\n const { apiName: oneObjectApiName, object: oneObject } = getObject(\n linkDefinition.one.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkDefinition.toMany.object,\n );\n const foreignKey = toManyObject.properties?.find(p =>\n p.apiName === linkDefinition.manyForeignKeyProperty\n );\n invariant(\n foreignKey !== undefined,\n `Foreign key ${linkDefinition.manyForeignKeyProperty} on link ${linkDefinition.apiName} does not exist on object ${toManyObjectApiName}`,\n );\n\n invariant(\n /([a-z][a-z0-9\\\\-]*)/.test(linkDefinition.apiName),\n `Top level link api names are expected to match the regex pattern ([a-z][a-z0-9\\\\-]*) ${linkDefinition.apiName} does not match`,\n );\n\n const typesMatch = foreignKey.type\n === oneObject.properties?.find(p =>\n p.apiName === oneObject.primaryKeyPropertyApiName\n )?.type;\n invariant(\n typesMatch,\n `Link ${linkDefinition.apiName} has type mismatch between the one side's primary key and the foreign key on the many side`,\n );\n }\n if (\"intermediaryObjectType\" in linkDefinition) {\n const {\n apiName: intermediaryObjectTypeApiName,\n object: intermediaryObjectType,\n } = getObject(linkDefinition.intermediaryObjectType);\n const { apiName: manyObjectApiName, object: manyObject } = getObject(\n linkDefinition.many.object,\n );\n const { apiName: toManyObjectApiName, object: toManyObject } = getObject(\n linkDefinition.toMany.object,\n );\n\n const {\n apiName: manyIntermediaryOneObjectApiName,\n object: manyIntermediaryOneObject,\n } = getObject((linkDefinition.many.linkToIntermediary as any).one.object);\n const {\n apiName: manyIntermediaryToManyObjectApiName,\n object: manyIntermediaryToManyObject,\n } = getObject(linkDefinition.many.linkToIntermediary.toMany.object);\n invariant(\n \"one\" in linkDefinition.many.linkToIntermediary\n && manyIntermediaryOneObjectApiName\n === manyObject.apiName\n && manyIntermediaryToManyObjectApiName\n === intermediaryObjectTypeApiName,\n `LinkTypeA ${linkDefinition.many.linkToIntermediary.apiName} must be a many to one link from intermediary object ${intermediaryObjectTypeApiName} to objectA ${manyObjectApiName}`,\n );\n\n const {\n apiName: toManyIntermediaryOneObjectApiName,\n object: toManyIntermediaryOneObject,\n } = getObject((linkDefinition.toMany.linkToIntermediary as any).one.object);\n const {\n apiName: toManyIntermediaryToManyObjectApiName,\n object: toManyIntermediaryToManyObject,\n } = getObject(linkDefinition.toMany.linkToIntermediary.toMany.object);\n invariant(\n \"one\" in linkDefinition.toMany.linkToIntermediary\n && toManyIntermediaryOneObjectApiName\n === toManyObjectApiName\n && toManyIntermediaryToManyObjectApiName\n === intermediaryObjectTypeApiName,\n `LinkTypeB ${linkDefinition.toMany.linkToIntermediary.apiName} must be a many to one link from intermediary object ${intermediaryObjectTypeApiName} to objectB ${toManyObjectApiName}`,\n );\n }\n}\n\nexport function getObject(\n object: string | ObjectTypeDefinition,\n): { apiName: string; object: ObjectType } {\n const objectApiName = typeof object === \"string\" ? object : object.apiName;\n const fullObject =\n getOntologyDefinition()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName]\n ?? getImportedTypes()[OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];\n invariant(\n fullObject !== undefined,\n `Object ${objectApiName} is not defined`,\n );\n return { apiName: objectApiName, object: fullObject };\n}\n\nexport function convertLinkStatus(\n status: UserLinkTypeStatus | undefined,\n ridGenerator: OntologyRidGenerator,\n): LinkTypeStatus {\n if (\n typeof status === \"object\" && \"type\" in status\n && status.type === \"deprecated\"\n ) {\n return {\n type: \"deprecated\",\n deprecated: {\n message: status.message,\n deadline: status.deadline,\n replacedBy: status.replacedBy\n ? ridGenerator.generateRidForLinkType(\n cleanAndValidateLinkTypeId(status.replacedBy),\n )\n : undefined,\n },\n };\n }\n switch (status) {\n case \"experimental\":\n return { type: \"experimental\", experimental: {} };\n case \"example\":\n return { type: \"example\", example: {} };\n case \"active\":\n default:\n return { type: \"active\", active: {} };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2081,6 +2081,11 @@ function convertLink(linkType, ridGenerator) {
2081
2081
  const manyObjectRidB = ridGenerator.generateRidForObjectType(toManyObjectApiName);
2082
2082
  const manyPkRidA = ridGenerator.generatePropertyRid(manyObject.primaryKeyPropertyApiName, manyObjectApiName);
2083
2083
  const manyPkRidB = ridGenerator.generatePropertyRid(toManyObject.primaryKeyPropertyApiName, toManyObjectApiName);
2084
+ const columnA = manyObject.primaryKeyPropertyApiName;
2085
+ const columnB = toManyObject.primaryKeyPropertyApiName;
2086
+ const hasCollision = columnA === columnB;
2087
+ const resolvedColumnA = hasCollision ? `${columnA}_from` : columnA;
2088
+ const resolvedColumnB = hasCollision ? `${columnB}_to` : columnB;
2084
2089
  definition = {
2085
2090
  type: "manyToMany",
2086
2091
  manyToMany: {
@@ -2109,10 +2114,10 @@ function convertLink(linkType, ridGenerator) {
2109
2114
  writebackDatasetRid: void 0,
2110
2115
  // TODO: Convert property mappings to use property RIDs as keys
2111
2116
  objectTypeAPrimaryKeyMapping: {
2112
- [manyPkRidA]: manyObject.primaryKeyPropertyApiName
2117
+ [manyPkRidA]: resolvedColumnA
2113
2118
  },
2114
2119
  objectTypeBPrimaryKeyMapping: {
2115
- [manyPkRidB]: toManyObject.primaryKeyPropertyApiName
2120
+ [manyPkRidB]: resolvedColumnB
2116
2121
  }
2117
2122
  }
2118
2123
  },
@@ -2190,7 +2195,7 @@ function validateLink(linkDefinition) {
2190
2195
  }
2191
2196
  function getObject(object) {
2192
2197
  const objectApiName = typeof object === "string" ? object : object.apiName;
2193
- const fullObject = maker.getOntologyDefinition()[maker.OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];
2198
+ const fullObject = maker.getOntologyDefinition()[maker.OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName] ?? maker.getImportedTypes()[maker.OntologyEntityTypeEnum.OBJECT_TYPE][objectApiName];
2194
2199
  !(fullObject !== void 0) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Object ${objectApiName} is not defined`) : invariant5__default.default(false) : void 0;
2195
2200
  return {
2196
2201
  apiName: objectApiName,
@@ -4245,7 +4250,7 @@ var apiNamespaceRegex = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.$/;
4245
4250
  var uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
4246
4251
  async function main(args = process.argv) {
4247
4252
  consola.consola.log("Generating BlockGeneratorResult for ontology...");
4248
- const commandLineOpts = await yargs__default.default(helpers.hideBin(args)).version("0.6.0-beta.5").wrap(Math.min(150, yargs__default.default().terminalWidth())).strict().help().options({
4253
+ const commandLineOpts = await yargs__default.default(helpers.hideBin(args)).version("0.6.0-beta.6").wrap(Math.min(150, yargs__default.default().terminalWidth())).strict().help().options({
4249
4254
  input: {
4250
4255
  alias: "i",
4251
4256
  describe: "Input file",