@osdk/maker-experimental 0.6.0-beta.5 → 0.6.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.
@@ -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.7" ?? "").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: {
@@ -103,20 +108,20 @@ export function convertLink(linkType, ridGenerator) {
103
108
  }
104
109
  };
105
110
  datasource = {
106
- rid: ridGenerator.generateRid(`datasource.link.${linkType.apiName}`),
111
+ rid: ridGenerator.generateDatasourceRid(linkType.apiName),
107
112
  datasource: {
108
113
  type: "dataset",
109
114
  dataset: {
110
115
  // TODO: Add proper branchId from link configuration
111
116
  branchId: "main",
112
- datasetRid: ridGenerator.generateRid(`link.dataset.${linkType.apiName}`),
117
+ datasetRid: ridGenerator.generateDatasourceRid(linkType.apiName),
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","generateDatasourceRid","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.generateDatasourceRid(linkType.apiName),\n datasource: {\n type: \"dataset\",\n dataset: {\n // TODO: Add proper branchId from link configuration\n branchId: \"main\",\n datasetRid: ridGenerator.generateDatasourceRid(\n 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":[]}
@@ -175,7 +175,7 @@ export class OntologyRidGeneratorImpl {
175
175
 
176
176
  // Generic RID generation for types without specific generators
177
177
  generateRid(key) {
178
- return `ri.ontology-metadata.temp.${this.hashString(key)}`;
178
+ return `ri.ontology-metadata.temp.unknown.${this.hashString(key)}`;
179
179
  }
180
180
 
181
181
  // Datasource RID matching Java's RidUtils.getDatasourceRidFromName format
@@ -1 +1 @@
1
- {"version":3,"file":"generateRid.js","names":["createHash","toBlockShapeId","ReadableIdGenerator","get","arg1","arg2","undefined","getForInterface","interfaceTypeApiName","getForObjectType","objectTypeApiName","getForStream","streamName","getForStreamColumn","columnName","getForTimeSeriesSync","timeSeriesSyncName","getForDataset","dataSetName","getForDatasetOutput","getForDatasetColumn","getForDatasetColumnOutput","getForMediaSetView","mediaSetViewName","getForRestrictedView","restrictedViewName","getForRestrictedViewColumn","getForLinkType","linkTypeId","getForGeotimeSeriesIntegration","name","getForActionType","actionTypeApiName","getForParameter","actionName","parameterId","getForGroup","groupId","getForProducedValueType","valueTypeApiName","version","getForConsumedValueType","getForSpt","fieldApiName","getForObjectProperty","getForInterfaceProperty","interfacePropertyTypeApiName","getForInterfaceLinkType","interfaceApiName","interfaceLinkTypeApiName","getForMarking","markingId","supportedMarkingsType","BiMapImpl","create","Map","constructor","forward","backward","asMap","key","put","value","set","inverse","entries","OntologyRidGeneratorImpl","randomnessUuid","geotimeSeriesIntegrationRids","interfaceLinkTypeRids","interfacePropertyTypeRids","interfaceRids","actionTypeRids","parameterRids","sharedPropertyTypeRids","consumedValueTypeReferences","producedValueTypeReferences","objectTypeRids","datasourceLocators","filesDatasourceLocators","columnShapes","propertyTypeRids","timeSeriesSyncs","linkTypeRids","groupIds","objectTypeIds","hashString","input","stringToHash","update","digest","generateRid","generateDatasourceRid","datasourceName","generateValidationRuleRid","index","generateSectionRid","sectionId","generatePropertySecurityGroupRid","groupName","getActionTypeRids","getParameterRidAndIds","getInterfaceRids","getSharedPropertyTypeRids","getInterfaceLinkTypeRids","getInterfacePropertyTypeRids","getPropertyTypeRids","getDatasourceLocators","getFilesDatasourceLocators","getGeotimeSeriesIntegrationRids","getTimeSeriesSyncs","getColumnShapes","getObjectTypeRids","getLinkTypeRids","getGroupIds","getConsumedValueTypeReferences","getProducedValueTypeReferences","valueTypeMappingForReference","valueTypeReference","output","Error","generateRidForInterface","apiName","rid","generateRidForInterfaceLinkType","readableId","generateRidForObjectType","generateRidForValueType","versionHash","versionAsUuid","slice","versionId","generateRidForTimeSeriesSync","generateRidForLinkType","generateRidForGeotimeSeriesIntegration","generateRidForActionType","generateRidForParameter","innerMap","id","generateSptRid","generatePropertyRid","generateInterfacePropertyTypeRid","generateStructFieldRid","propertyApiName","generateLocator","columnNames","datasetRid","branchId","forEach","datasource","type","dataset","branch","generateStreamLocator","streamLocatorRid","marketplaceLocator","stream","generateRestrictedViewLocator","restrictedViewRid","restrictedView","generateMediaSetViewLocator","mediaSetRid","mediaSetBranchRid","mediaSetViewRid","mediaSet","toBlockInternalId","getObjectTypeIds","generateObjectTypeId","maybeLastId","objectTypeId","replace","toLowerCase"],"sources":["generateRid.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 { ValueTypeReference } from \"@osdk/client.unstable\";\nimport type {\n ActionTypeRid,\n DatasourceLocator,\n FilesDatasourceLocator,\n GeotimeSeriesIntegrationRid,\n GroupId,\n InputShape,\n InputShapeMetadata,\n InterfaceLinkTypeRid,\n InterfacePropertyTypeRid,\n InterfaceTypeRid,\n LinkTypeRid,\n ObjectTypeRid,\n OutputShape,\n PropertyTypeRid,\n ResolvedDatasourceColumnShape,\n SharedPropertyTypeRid,\n StructFieldRid,\n TimeSeriesSyncRid,\n} from \"@osdk/client.unstable/api\";\n// ParameterRid is defined in ontology-metadata but may not be re-exported through the main API\ntype ParameterRid = string;\nimport { createHash } from \"crypto\";\nimport { toBlockShapeId } from \"../cli/marketplaceSerialization/CodeBlockSpec.js\";\n\n// Given a unique key generates a rid deterministically (from a lock file eventually)\nexport type ReadableId = string & { __brand: \"ReadableId\" };\n\n/**\n * Placeholder interface for OntologyRidGenerator\n * This should be filled in with actual implementation\n */\n// Types for datasource locators\nexport interface DatasetDatasourceLocator {\n rid: string;\n branchId: string;\n}\n\nexport interface StreamLocator {\n streamLocatorRid: string;\n branchId: string;\n}\n\nexport interface RestrictedViewLocator {\n rid: string;\n}\n\nexport interface MediaSetViewLocator {\n mediaSetRid: string;\n mediaSetViewRid: string;\n mediaSetBranchRid: string;\n}\n\nexport interface OntologyRidGenerator {\n getActionTypeRids(): BiMap<ReadableId, ActionTypeRid>;\n getParameterRidAndIds(): Map<string, BiMap<ReadableId, ParameterRidAndId>>;\n getInterfaceRids(): BiMap<ReadableId, InterfaceTypeRid>;\n getSharedPropertyTypeRids(): BiMap<ReadableId, SharedPropertyTypeRid>;\n getInterfaceLinkTypeRids(): BiMap<ReadableId, InterfaceLinkTypeRid>;\n getInterfacePropertyTypeRids(): BiMap<ReadableId, InterfacePropertyTypeRid>;\n getPropertyTypeRids(): BiMap<ReadableId, PropertyTypeRid>;\n getDatasourceLocators(): BiMap<ReadableId, DatasourceLocator>;\n getFilesDatasourceLocators(): BiMap<ReadableId, FilesDatasourceLocator>;\n getGeotimeSeriesIntegrationRids(): BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n >;\n getTimeSeriesSyncs(): BiMap<ReadableId, TimeSeriesSyncRid>;\n getColumnShapes(): BiMap<ReadableId, ResolvedDatasourceColumnShape>;\n getObjectTypeRids(): BiMap<ReadableId, ObjectTypeRid>;\n getLinkTypeRids(): BiMap<ReadableId, LinkTypeRid>;\n getGroupIds(): BiMap<ReadableId, GroupId>;\n getConsumedValueTypeReferences(): BiMap<ReadableId, ValueTypeReference>;\n getProducedValueTypeReferences(): Map<ValueTypeReference, ReadableId>;\n valueTypeMappingForReference(valueTypeReference: ValueTypeReference): {\n input: ReadableId;\n output: ReadableId;\n };\n hashString(input: string): string;\n // Generic RID generation for types without specific generators (datasources, sections, etc.)\n generateRid(key: string): string;\n generateDatasourceRid(datasourceName: string): string;\n generateValidationRuleRid(actionTypeApiName: string, index: number): string;\n generateSectionRid(sectionId: string): string;\n generatePropertySecurityGroupRid(groupName: string): string;\n generateRidForInterface(apiName: string): InterfaceTypeRid;\n generateRidForInterfaceLinkType(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfaceLinkTypeRid;\n generateRidForObjectType(apiName: string): ObjectTypeRid;\n generateRidForValueType(apiName: string, version: string): ValueTypeReference;\n generateRidForTimeSeriesSync(name: string): TimeSeriesSyncRid;\n generateRidForLinkType(linkTypeId: string): LinkTypeRid;\n generateRidForGeotimeSeriesIntegration(\n name: string,\n ): GeotimeSeriesIntegrationRid;\n generateRidForActionType(apiName: string): ActionTypeRid;\n generateRidForParameter(\n actionTypeApiName: string,\n parameterId: string,\n ): ParameterRid;\n generateSptRid(apiName: string): SharedPropertyTypeRid;\n generatePropertyRid(\n apiName: string,\n objectTypeApiName: string,\n ): PropertyTypeRid;\n generateInterfacePropertyTypeRid(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfacePropertyTypeRid;\n generateStructFieldRid(\n propertyApiName: string,\n apiName: string,\n ): StructFieldRid;\n // Datasource locator methods\n generateLocator(\n dataSetName: string,\n columnNames: Set<string>,\n ): DatasetDatasourceLocator;\n generateStreamLocator(\n streamName: string,\n columnNames: Set<string>,\n ): StreamLocator;\n generateRestrictedViewLocator(\n restrictedViewName: string,\n columnNames: Set<string>,\n ): RestrictedViewLocator;\n generateMediaSetViewLocator(mediaSetViewName: string): MediaSetViewLocator;\n toBlockInternalId(readableId: ReadableId): string;\n generateObjectTypeId(objectTypeApiName: string): string;\n getObjectTypeIds(): BiMap<ReadableId, string>;\n}\n\nexport interface ParameterRidAndId {\n rid: ParameterRid;\n id: string;\n}\n\n/**\n * Simple BiMap interface (placeholder)\n */\nexport interface BiMap<K, V> {\n get(key: K): V | undefined;\n put(key: K, value: V): void;\n asMap(): Map<K, V>;\n inverse(): BiMap<V, K>;\n entries(): IterableIterator<[K, V]>;\n}\n\n/**\n * BlockShapes container for input and output shapes\n */\nexport interface BlockShapes {\n inputShapes: Map<ReadableId, InputShape>;\n outputShapes: Map<ReadableId, OutputShape>;\n inputShapeMetadata: Map<ReadableId, InputShapeMetadata>;\n}\n\n/**\n * ReadableId generator functions matching Java's ReadableIdGenerator\n */\nexport class ReadableIdGenerator {\n static get(interfaceTypeApiName: string): ReadableId;\n static get(\n interfaceApiName: string,\n interfaceLinkTypeApiName: string,\n ): ReadableId;\n static get(arg1: string, arg2?: string): ReadableId {\n if (arg2 !== undefined) {\n // Interface link type\n return `interface-link-type-${arg1}-${arg2}` as ReadableId;\n }\n // Single argument - check context to determine type\n // This will be called from specific methods\n return arg1 as ReadableId;\n }\n\n static getForInterface(interfaceTypeApiName: string): ReadableId {\n return `interface-${interfaceTypeApiName}` as ReadableId;\n }\n\n static getForObjectType(objectTypeApiName: string): ReadableId {\n return `object-type-${objectTypeApiName}` as ReadableId;\n }\n\n static getForStream(streamName: string): ReadableId {\n return `stream-datasource-${streamName}` as ReadableId;\n }\n\n static getForStreamColumn(\n streamName: string,\n columnName: string,\n ): ReadableId {\n return `stream-datasource-column-${streamName}-${columnName}` as ReadableId;\n }\n\n static getForTimeSeriesSync(timeSeriesSyncName: string): ReadableId {\n return `time-series-sync-${timeSeriesSyncName}` as ReadableId;\n }\n\n static getForDataset(dataSetName: string): ReadableId {\n return `dataset-datasource-${dataSetName}` as ReadableId;\n }\n\n static getForDatasetOutput(dataSetName: string): ReadableId {\n return `dataset-datasource-output-${dataSetName}` as ReadableId;\n }\n\n static getForDatasetColumn(\n dataSetName: string,\n columnName: string,\n ): ReadableId {\n return `dataset-datasource-column-${dataSetName}-${columnName}` as ReadableId;\n }\n\n static getForDatasetColumnOutput(\n dataSetName: string,\n columnName: string,\n ): ReadableId {\n return `dataset-datasource-column-output-${dataSetName}-${columnName}` as ReadableId;\n }\n\n static getForMediaSetView(mediaSetViewName: string): ReadableId {\n return `media-set-view-${mediaSetViewName}` as ReadableId;\n }\n\n static getForRestrictedView(restrictedViewName: string): ReadableId {\n return `restricted-view-datasource-${restrictedViewName}` as ReadableId;\n }\n\n static getForRestrictedViewColumn(\n restrictedViewName: string,\n columnName: string,\n ): ReadableId {\n return `restricted-view-datasource-column-${restrictedViewName}-${columnName}` as ReadableId;\n }\n\n static getForLinkType(linkTypeId: string): ReadableId {\n return `link-type-${linkTypeId}` as ReadableId;\n }\n\n static getForGeotimeSeriesIntegration(name: string): ReadableId {\n return `geotime-series-integration-${name}` as ReadableId;\n }\n\n static getForActionType(actionTypeApiName: string): ReadableId {\n return `action-type-${actionTypeApiName}` as ReadableId;\n }\n\n static getForParameter(actionName: string, parameterId: string): ReadableId {\n return `action-${actionName}-parameter-${parameterId}` as ReadableId;\n }\n\n static getForGroup(groupId: string): ReadableId {\n return `group-${groupId}` as ReadableId;\n }\n\n static getForProducedValueType(\n valueTypeApiName: string,\n version: string,\n ): ReadableId {\n return `produced-value-type-${valueTypeApiName}-${version}` as ReadableId;\n }\n\n static getForConsumedValueType(\n valueTypeApiName: string,\n version: string,\n ): ReadableId {\n return `consumed-value-type-${valueTypeApiName}-${version}` as ReadableId;\n }\n\n static getForSpt(fieldApiName: string): ReadableId {\n return `shared-property-type-${fieldApiName}` as ReadableId;\n }\n\n static getForObjectProperty(\n objectTypeApiName: string,\n fieldApiName: string,\n ): ReadableId {\n return `${objectTypeApiName}-property-type-${fieldApiName}` as ReadableId;\n }\n\n static getForInterfaceProperty(\n interfaceTypeApiName: string,\n interfacePropertyTypeApiName: string,\n ): ReadableId {\n return `interface-property-type-${interfaceTypeApiName}-${interfacePropertyTypeApiName}` as ReadableId;\n }\n\n static getForInterfaceLinkType(\n interfaceApiName: string,\n interfaceLinkTypeApiName: string,\n ): ReadableId {\n return `interface-link-type-${interfaceApiName}-${interfaceLinkTypeApiName}` as ReadableId;\n }\n\n static getForMarking(\n markingId: string,\n supportedMarkingsType: \"CBAC\" | \"MANDATORY\",\n ): ReadableId {\n return `marking-${markingId}-${supportedMarkingsType}` as ReadableId;\n }\n}\n\nexport class BiMapImpl<K, V> implements BiMap<K, V> {\n forward: Map<K, V>;\n backward: Map<V, K>;\n public static create<K, V>(): BiMap<K, V> {\n return new BiMapImpl(new Map<K, V>(), new Map<V, K>());\n }\n\n private constructor(forward: Map<K, V>, backward: Map<V, K>) {\n this.forward = forward;\n this.backward = backward;\n }\n asMap(): Map<K, V> {\n return this.forward;\n }\n\n get(key: K): V | undefined {\n return this.forward.get(key);\n }\n\n put(key: K, value: V): void {\n this.forward.set(key, value);\n this.backward.set(value, key);\n }\n\n inverse(): BiMap<V, K> {\n return new BiMapImpl(this.backward, this.forward);\n }\n entries(): IterableIterator<[K, V]> {\n return this.forward.entries();\n }\n}\n\nexport class OntologyRidGeneratorImpl implements OntologyRidGenerator {\n private readonly actionTypeRids: BiMap<ReadableId, ActionTypeRid>;\n private readonly parameterRids: Map<\n string,\n BiMap<ReadableId, ParameterRidAndId>\n >;\n private readonly interfaceRids: BiMap<ReadableId, InterfaceTypeRid>;\n private readonly sharedPropertyTypeRids: BiMap<\n ReadableId,\n SharedPropertyTypeRid\n >;\n private readonly interfaceLinkTypeRids: BiMap<\n ReadableId,\n InterfaceLinkTypeRid\n >;\n private readonly interfacePropertyTypeRids: BiMap<\n ReadableId,\n InterfacePropertyTypeRid\n >;\n private readonly geotimeSeriesIntegrationRids: BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n >;\n private readonly objectTypeRids: BiMap<ReadableId, ObjectTypeRid>;\n private readonly propertyTypeRids: BiMap<ReadableId, PropertyTypeRid>;\n private readonly consumedValueTypeReferences: BiMap<\n ReadableId,\n ValueTypeReference\n >;\n private readonly producedValueTypeReferences: Map<\n ValueTypeReference,\n ReadableId\n >;\n private readonly datasourceLocators: BiMap<ReadableId, DatasourceLocator>;\n private readonly filesDatasourceLocators: BiMap<\n ReadableId,\n FilesDatasourceLocator\n >;\n private readonly timeSeriesSyncs: BiMap<ReadableId, TimeSeriesSyncRid>;\n private readonly columnShapes: BiMap<\n ReadableId,\n ResolvedDatasourceColumnShape\n >;\n private readonly linkTypeRids: BiMap<ReadableId, LinkTypeRid>;\n private readonly groupIds: BiMap<ReadableId, GroupId>;\n private readonly objectTypeIds: BiMap<ReadableId, string>;\n private readonly randomnessUuid?: string;\n\n constructor(randomnessUuid?: string) {\n this.randomnessUuid = randomnessUuid;\n this.geotimeSeriesIntegrationRids = BiMapImpl.create();\n this.interfaceLinkTypeRids = BiMapImpl.create();\n this.interfacePropertyTypeRids = BiMapImpl.create();\n this.interfaceRids = BiMapImpl.create();\n this.actionTypeRids = BiMapImpl.create();\n this.parameterRids = new Map();\n this.sharedPropertyTypeRids = BiMapImpl.create();\n this.consumedValueTypeReferences = BiMapImpl.create();\n this.producedValueTypeReferences = new Map();\n this.objectTypeRids = BiMapImpl.create();\n this.datasourceLocators = BiMapImpl.create();\n this.filesDatasourceLocators = BiMapImpl.create();\n this.columnShapes = BiMapImpl.create();\n this.propertyTypeRids = BiMapImpl.create();\n this.timeSeriesSyncs = BiMapImpl.create();\n this.linkTypeRids = BiMapImpl.create();\n this.groupIds = BiMapImpl.create();\n this.objectTypeIds = BiMapImpl.create();\n }\n\n hashString(input: string): string {\n const stringToHash = this.randomnessUuid\n ? `${input}-${this.randomnessUuid}`\n : input;\n return createHash(\"sha256\").update(stringToHash, \"utf8\").digest(\"hex\");\n }\n\n // Generic RID generation for types without specific generators\n generateRid(key: string): string {\n return `ri.ontology-metadata.temp.${this.hashString(key)}`;\n }\n\n // Datasource RID matching Java's RidUtils.getDatasourceRidFromName format\n generateDatasourceRid(datasourceName: string): string {\n return `ri.ontology.main.datasource.${\n toBlockShapeId(datasourceName, this.randomnessUuid)\n }`;\n }\n\n // Validation rule RID matching Java's format\n generateValidationRuleRid(actionTypeApiName: string, index: number): string {\n return `ri.ontology-metadata.temp.validation-rule.${\n this.hashString(`${actionTypeApiName}.${index}`)\n }`;\n }\n\n // Section RID matching Java's format: ri.ontology-metadata.temp.section.{hash(sectionId)}\n generateSectionRid(sectionId: string): string {\n return `ri.ontology-metadata.temp.section.${this.hashString(sectionId)}`;\n }\n\n // Property security group RID matching Java's format\n generatePropertySecurityGroupRid(groupName: string): string {\n return `ri.ontology-metadata.temp.property-security-group.${\n this.hashString(groupName)\n }`;\n }\n\n getActionTypeRids(): BiMap<ReadableId, ActionTypeRid> {\n return this.actionTypeRids;\n }\n\n getParameterRidAndIds(): Map<string, BiMap<ReadableId, ParameterRidAndId>> {\n return this.parameterRids;\n }\n\n getInterfaceRids(): BiMap<ReadableId, InterfaceTypeRid> {\n return this.interfaceRids;\n }\n\n getSharedPropertyTypeRids(): BiMap<ReadableId, SharedPropertyTypeRid> {\n return this.sharedPropertyTypeRids;\n }\n\n getInterfaceLinkTypeRids(): BiMap<ReadableId, InterfaceLinkTypeRid> {\n return this.interfaceLinkTypeRids;\n }\n\n getInterfacePropertyTypeRids(): BiMap<ReadableId, InterfacePropertyTypeRid> {\n return this.interfacePropertyTypeRids;\n }\n\n getPropertyTypeRids(): BiMap<ReadableId, PropertyTypeRid> {\n return this.propertyTypeRids;\n }\n\n getDatasourceLocators(): BiMap<ReadableId, DatasourceLocator> {\n return this.datasourceLocators;\n }\n\n getFilesDatasourceLocators(): BiMap<ReadableId, FilesDatasourceLocator> {\n return this.filesDatasourceLocators;\n }\n\n getGeotimeSeriesIntegrationRids(): BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n > {\n return this.geotimeSeriesIntegrationRids;\n }\n\n getTimeSeriesSyncs(): BiMap<ReadableId, TimeSeriesSyncRid> {\n return this.timeSeriesSyncs;\n }\n\n getColumnShapes(): BiMap<ReadableId, ResolvedDatasourceColumnShape> {\n return this.columnShapes;\n }\n\n getObjectTypeRids(): BiMap<ReadableId, ObjectTypeRid> {\n return this.objectTypeRids;\n }\n\n getLinkTypeRids(): BiMap<ReadableId, LinkTypeRid> {\n return this.linkTypeRids;\n }\n\n getGroupIds(): BiMap<ReadableId, GroupId> {\n return this.groupIds;\n }\n\n getConsumedValueTypeReferences(): BiMap<ReadableId, ValueTypeReference> {\n return this.consumedValueTypeReferences;\n }\n\n getProducedValueTypeReferences(): Map<ValueTypeReference, ReadableId> {\n return this.producedValueTypeReferences;\n }\n\n valueTypeMappingForReference(valueTypeReference: ValueTypeReference): {\n input: ReadableId;\n output: ReadableId;\n } {\n const input = this.consumedValueTypeReferences.inverse().get(\n valueTypeReference,\n );\n const output = this.producedValueTypeReferences.get(valueTypeReference);\n\n if (!input || !output) {\n throw new Error(`Missing readable ID for value type reference`);\n }\n\n return { input, output };\n }\n\n // Interface types\n generateRidForInterface(apiName: string): InterfaceTypeRid {\n const rid = `ri.ontology-metadata.temp.interface-type.${\n this.hashString(apiName)\n }` as InterfaceTypeRid;\n this.interfaceRids.put(ReadableIdGenerator.getForInterface(apiName), rid);\n return rid;\n }\n\n // Interface Link Types\n generateRidForInterfaceLinkType(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfaceLinkTypeRid {\n const readableId = ReadableIdGenerator.getForInterfaceLinkType(\n interfaceTypeApiName,\n apiName,\n );\n const rid = `ri.ontology-metadata.temp.interface-link-type.${\n this.hashString(readableId)\n }` as InterfaceLinkTypeRid;\n this.interfaceLinkTypeRids.put(readableId, rid);\n return rid;\n }\n\n // Object Types\n generateRidForObjectType(apiName: string): ObjectTypeRid {\n const rid = `ri.ontology-metadata.temp.object-type.${\n this.hashString(apiName)\n }` as ObjectTypeRid;\n this.objectTypeRids.put(ReadableIdGenerator.getForObjectType(apiName), rid);\n return rid;\n }\n\n // Value Types\n generateRidForValueType(\n apiName: string,\n version: string,\n ): ValueTypeReference {\n const rid = `ri.ontology-metadata.temp.value-type.${\n this.hashString(apiName)\n }`;\n // Generate UUID from version string (matching Java's UUID.nameUUIDFromBytes)\n const versionHash = createHash(\"md5\").update(version, \"utf8\").digest(\"hex\");\n const versionAsUuid = `${versionHash.slice(0, 8)}-${\n versionHash.slice(8, 12)\n }-${versionHash.slice(12, 16)}-${versionHash.slice(16, 20)}-${\n versionHash.slice(20, 32)\n }`;\n\n const valueTypeReference: ValueTypeReference = {\n rid,\n versionId: versionAsUuid,\n } as ValueTypeReference;\n\n this.consumedValueTypeReferences.put(\n ReadableIdGenerator.getForConsumedValueType(apiName, version),\n valueTypeReference,\n );\n this.producedValueTypeReferences.set(\n valueTypeReference,\n ReadableIdGenerator.getForProducedValueType(apiName, version),\n );\n return valueTypeReference;\n }\n\n generateRidForTimeSeriesSync(name: string): TimeSeriesSyncRid {\n const rid = `ri.ontology-metadata.temp.time-series-sync.${\n this.hashString(name)\n }` as TimeSeriesSyncRid;\n this.timeSeriesSyncs.put(\n ReadableIdGenerator.getForTimeSeriesSync(name),\n rid,\n );\n return rid;\n }\n\n generateRidForLinkType(linkTypeId: string): LinkTypeRid {\n const rid = `ri.ontology-metadata.temp.link-type.${\n this.hashString(linkTypeId)\n }` as LinkTypeRid;\n this.linkTypeRids.put(ReadableIdGenerator.getForLinkType(linkTypeId), rid);\n return rid;\n }\n\n generateRidForGeotimeSeriesIntegration(\n name: string,\n ): GeotimeSeriesIntegrationRid {\n const rid = `ri.ontology-metadata.temp.geotime-series-integration.${\n this.hashString(name)\n }` as GeotimeSeriesIntegrationRid;\n this.geotimeSeriesIntegrationRids.put(\n ReadableIdGenerator.getForGeotimeSeriesIntegration(name),\n rid,\n );\n return rid;\n }\n\n generateRidForActionType(apiName: string): ActionTypeRid {\n const rid = `ri.ontology-metadata.temp.action-type.${\n this.hashString(apiName)\n }` as ActionTypeRid;\n this.actionTypeRids.put(ReadableIdGenerator.getForActionType(apiName), rid);\n return rid;\n }\n\n generateRidForParameter(\n actionTypeApiName: string,\n parameterId: string,\n ): ParameterRid {\n const rid = `ri.ontology-metadata.temp.parameter.${\n this.hashString(actionTypeApiName + \".\" + parameterId)\n }` as ParameterRid;\n\n let innerMap = this.parameterRids.get(actionTypeApiName);\n if (!innerMap) {\n innerMap = BiMapImpl.create();\n this.parameterRids.set(actionTypeApiName, innerMap);\n }\n\n innerMap.put(\n ReadableIdGenerator.getForParameter(actionTypeApiName, parameterId),\n { rid, id: parameterId },\n );\n return rid;\n }\n\n // Shared Property Types\n generateSptRid(apiName: string): SharedPropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.shared-property-type.${\n this.hashString(apiName)\n }` as SharedPropertyTypeRid;\n this.sharedPropertyTypeRids.put(\n ReadableIdGenerator.getForSpt(apiName),\n rid,\n );\n return rid;\n }\n\n generatePropertyRid(\n apiName: string,\n objectTypeApiName: string,\n ): PropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.property-type.${\n this.hashString(objectTypeApiName + \".\" + apiName)\n }` as PropertyTypeRid;\n this.propertyTypeRids.put(\n ReadableIdGenerator.getForObjectProperty(objectTypeApiName, apiName),\n rid,\n );\n return rid;\n }\n\n // Interface Property Types\n generateInterfacePropertyTypeRid(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfacePropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.interface-property-type.${\n this.hashString(interfaceTypeApiName + \".\" + apiName)\n }` as InterfacePropertyTypeRid;\n this.interfacePropertyTypeRids.put(\n ReadableIdGenerator.getForInterfaceProperty(\n interfaceTypeApiName,\n apiName,\n ),\n rid,\n );\n return rid;\n }\n\n // Struct Field RIDs\n generateStructFieldRid(\n propertyApiName: string,\n apiName: string,\n ): StructFieldRid {\n const rid = `ri.ontology-metadata.temp.struct-field.${\n this.hashString(propertyApiName + \".\" + apiName)\n }` as StructFieldRid;\n return rid;\n }\n\n // Datasource locator methods\n generateLocator(\n dataSetName: string,\n columnNames: Set<string>,\n ): DatasetDatasourceLocator {\n const datasetRid = `ri.ontology-metadata.temp.dataset.${\n this.hashString(dataSetName)\n }`;\n const branchId = \"main\";\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForDatasetColumn(dataSetName, name),\n {\n datasource: {\n type: \"dataset\",\n dataset: { rid: datasetRid, branch: branchId },\n } as DatasourceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForDataset(dataSetName),\n {\n type: \"dataset\",\n dataset: { rid: datasetRid, branch: branchId },\n } as DatasourceLocator,\n );\n\n return { rid: datasetRid, branchId };\n }\n\n generateStreamLocator(\n streamName: string,\n columnNames: Set<string>,\n ): StreamLocator {\n const streamLocatorRid = `ri.ontology-metadata.temp.stream-datasource.${\n this.hashString(streamName)\n }`;\n const branchId = \"main\";\n\n const locator: StreamLocator = {\n streamLocatorRid,\n branchId,\n };\n\n const marketplaceLocator: DatasourceLocator = {\n type: \"stream\",\n stream: {\n rid: streamLocatorRid,\n branch: branchId,\n },\n } as DatasourceLocator;\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForStreamColumn(streamName, name),\n {\n datasource: marketplaceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForStream(streamName),\n marketplaceLocator,\n );\n\n return locator;\n }\n\n generateRestrictedViewLocator(\n restrictedViewName: string,\n columnNames: Set<string>,\n ): RestrictedViewLocator {\n const restrictedViewRid = `ri.ontology-metadata.temp.restricted-view.${\n this.hashString(restrictedViewName)\n }`;\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForRestrictedViewColumn(\n restrictedViewName,\n name,\n ),\n {\n datasource: {\n type: \"restrictedView\",\n restrictedView: { rid: restrictedViewRid },\n } as DatasourceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForRestrictedView(restrictedViewName),\n {\n type: \"restrictedView\",\n restrictedView: { rid: restrictedViewRid },\n } as DatasourceLocator,\n );\n\n return { rid: restrictedViewRid };\n }\n\n generateMediaSetViewLocator(mediaSetViewName: string): MediaSetViewLocator {\n const mediaSetRid = `ri.ontology-metadata.temp.media-set.${\n this.hashString(mediaSetViewName)\n }`;\n const mediaSetBranchRid = `ri.ontology-metadata.temp.media-set-branch.${\n this.hashString(mediaSetViewName)\n }`;\n const mediaSetViewRid = `ri.ontology-metadata.temp.media-set-view.${\n this.hashString(mediaSetViewName)\n }`;\n\n // Register files datasource locator\n this.filesDatasourceLocators.put(\n ReadableIdGenerator.getForMediaSetView(mediaSetViewName),\n {\n type: \"mediaSet\",\n mediaSet: {\n rid: mediaSetRid,\n branch: \"master\", // matches OntologyMetadataConstants.ONTOLOGY_DATASET_BRANCH_ID\n },\n } as FilesDatasourceLocator,\n );\n\n return {\n mediaSetRid,\n mediaSetViewRid,\n mediaSetBranchRid,\n };\n }\n\n toBlockInternalId(readableId: ReadableId): string {\n const id = toBlockShapeId(readableId, this.randomnessUuid);\n return id;\n }\n\n getObjectTypeIds(): BiMap<ReadableId, string> {\n return this.objectTypeIds;\n }\n\n generateObjectTypeId(objectTypeApiName: string): string {\n const readableId = ReadableIdGenerator.getForObjectType(objectTypeApiName);\n const maybeLastId = this.objectTypeIds.get(readableId);\n if (maybeLastId) {\n return maybeLastId;\n }\n\n // Match Java: apiName.replace(\".\", \"-\").toLowerCase()\n const objectTypeId = objectTypeApiName.replace(/\\./g, \"-\").toLowerCase();\n this.objectTypeIds.put(readableId, objectTypeId);\n return objectTypeId;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generateRid.js","names":["createHash","toBlockShapeId","ReadableIdGenerator","get","arg1","arg2","undefined","getForInterface","interfaceTypeApiName","getForObjectType","objectTypeApiName","getForStream","streamName","getForStreamColumn","columnName","getForTimeSeriesSync","timeSeriesSyncName","getForDataset","dataSetName","getForDatasetOutput","getForDatasetColumn","getForDatasetColumnOutput","getForMediaSetView","mediaSetViewName","getForRestrictedView","restrictedViewName","getForRestrictedViewColumn","getForLinkType","linkTypeId","getForGeotimeSeriesIntegration","name","getForActionType","actionTypeApiName","getForParameter","actionName","parameterId","getForGroup","groupId","getForProducedValueType","valueTypeApiName","version","getForConsumedValueType","getForSpt","fieldApiName","getForObjectProperty","getForInterfaceProperty","interfacePropertyTypeApiName","getForInterfaceLinkType","interfaceApiName","interfaceLinkTypeApiName","getForMarking","markingId","supportedMarkingsType","BiMapImpl","create","Map","constructor","forward","backward","asMap","key","put","value","set","inverse","entries","OntologyRidGeneratorImpl","randomnessUuid","geotimeSeriesIntegrationRids","interfaceLinkTypeRids","interfacePropertyTypeRids","interfaceRids","actionTypeRids","parameterRids","sharedPropertyTypeRids","consumedValueTypeReferences","producedValueTypeReferences","objectTypeRids","datasourceLocators","filesDatasourceLocators","columnShapes","propertyTypeRids","timeSeriesSyncs","linkTypeRids","groupIds","objectTypeIds","hashString","input","stringToHash","update","digest","generateRid","generateDatasourceRid","datasourceName","generateValidationRuleRid","index","generateSectionRid","sectionId","generatePropertySecurityGroupRid","groupName","getActionTypeRids","getParameterRidAndIds","getInterfaceRids","getSharedPropertyTypeRids","getInterfaceLinkTypeRids","getInterfacePropertyTypeRids","getPropertyTypeRids","getDatasourceLocators","getFilesDatasourceLocators","getGeotimeSeriesIntegrationRids","getTimeSeriesSyncs","getColumnShapes","getObjectTypeRids","getLinkTypeRids","getGroupIds","getConsumedValueTypeReferences","getProducedValueTypeReferences","valueTypeMappingForReference","valueTypeReference","output","Error","generateRidForInterface","apiName","rid","generateRidForInterfaceLinkType","readableId","generateRidForObjectType","generateRidForValueType","versionHash","versionAsUuid","slice","versionId","generateRidForTimeSeriesSync","generateRidForLinkType","generateRidForGeotimeSeriesIntegration","generateRidForActionType","generateRidForParameter","innerMap","id","generateSptRid","generatePropertyRid","generateInterfacePropertyTypeRid","generateStructFieldRid","propertyApiName","generateLocator","columnNames","datasetRid","branchId","forEach","datasource","type","dataset","branch","generateStreamLocator","streamLocatorRid","marketplaceLocator","stream","generateRestrictedViewLocator","restrictedViewRid","restrictedView","generateMediaSetViewLocator","mediaSetRid","mediaSetBranchRid","mediaSetViewRid","mediaSet","toBlockInternalId","getObjectTypeIds","generateObjectTypeId","maybeLastId","objectTypeId","replace","toLowerCase"],"sources":["generateRid.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 { ValueTypeReference } from \"@osdk/client.unstable\";\nimport type {\n ActionTypeRid,\n DatasourceLocator,\n FilesDatasourceLocator,\n GeotimeSeriesIntegrationRid,\n GroupId,\n InputShape,\n InputShapeMetadata,\n InterfaceLinkTypeRid,\n InterfacePropertyTypeRid,\n InterfaceTypeRid,\n LinkTypeRid,\n ObjectTypeRid,\n OutputShape,\n PropertyTypeRid,\n ResolvedDatasourceColumnShape,\n SharedPropertyTypeRid,\n StructFieldRid,\n TimeSeriesSyncRid,\n} from \"@osdk/client.unstable/api\";\n// ParameterRid is defined in ontology-metadata but may not be re-exported through the main API\ntype ParameterRid = string;\nimport { createHash } from \"crypto\";\nimport { toBlockShapeId } from \"../cli/marketplaceSerialization/CodeBlockSpec.js\";\n\n// Given a unique key generates a rid deterministically (from a lock file eventually)\nexport type ReadableId = string & { __brand: \"ReadableId\" };\n\n/**\n * Placeholder interface for OntologyRidGenerator\n * This should be filled in with actual implementation\n */\n// Types for datasource locators\nexport interface DatasetDatasourceLocator {\n rid: string;\n branchId: string;\n}\n\nexport interface StreamLocator {\n streamLocatorRid: string;\n branchId: string;\n}\n\nexport interface RestrictedViewLocator {\n rid: string;\n}\n\nexport interface MediaSetViewLocator {\n mediaSetRid: string;\n mediaSetViewRid: string;\n mediaSetBranchRid: string;\n}\n\nexport interface OntologyRidGenerator {\n getActionTypeRids(): BiMap<ReadableId, ActionTypeRid>;\n getParameterRidAndIds(): Map<string, BiMap<ReadableId, ParameterRidAndId>>;\n getInterfaceRids(): BiMap<ReadableId, InterfaceTypeRid>;\n getSharedPropertyTypeRids(): BiMap<ReadableId, SharedPropertyTypeRid>;\n getInterfaceLinkTypeRids(): BiMap<ReadableId, InterfaceLinkTypeRid>;\n getInterfacePropertyTypeRids(): BiMap<ReadableId, InterfacePropertyTypeRid>;\n getPropertyTypeRids(): BiMap<ReadableId, PropertyTypeRid>;\n getDatasourceLocators(): BiMap<ReadableId, DatasourceLocator>;\n getFilesDatasourceLocators(): BiMap<ReadableId, FilesDatasourceLocator>;\n getGeotimeSeriesIntegrationRids(): BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n >;\n getTimeSeriesSyncs(): BiMap<ReadableId, TimeSeriesSyncRid>;\n getColumnShapes(): BiMap<ReadableId, ResolvedDatasourceColumnShape>;\n getObjectTypeRids(): BiMap<ReadableId, ObjectTypeRid>;\n getLinkTypeRids(): BiMap<ReadableId, LinkTypeRid>;\n getGroupIds(): BiMap<ReadableId, GroupId>;\n getConsumedValueTypeReferences(): BiMap<ReadableId, ValueTypeReference>;\n getProducedValueTypeReferences(): Map<ValueTypeReference, ReadableId>;\n valueTypeMappingForReference(valueTypeReference: ValueTypeReference): {\n input: ReadableId;\n output: ReadableId;\n };\n hashString(input: string): string;\n // Generic RID generation for types without specific generators (datasources, sections, etc.)\n generateRid(key: string): string;\n generateDatasourceRid(datasourceName: string): string;\n generateValidationRuleRid(actionTypeApiName: string, index: number): string;\n generateSectionRid(sectionId: string): string;\n generatePropertySecurityGroupRid(groupName: string): string;\n generateRidForInterface(apiName: string): InterfaceTypeRid;\n generateRidForInterfaceLinkType(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfaceLinkTypeRid;\n generateRidForObjectType(apiName: string): ObjectTypeRid;\n generateRidForValueType(apiName: string, version: string): ValueTypeReference;\n generateRidForTimeSeriesSync(name: string): TimeSeriesSyncRid;\n generateRidForLinkType(linkTypeId: string): LinkTypeRid;\n generateRidForGeotimeSeriesIntegration(\n name: string,\n ): GeotimeSeriesIntegrationRid;\n generateRidForActionType(apiName: string): ActionTypeRid;\n generateRidForParameter(\n actionTypeApiName: string,\n parameterId: string,\n ): ParameterRid;\n generateSptRid(apiName: string): SharedPropertyTypeRid;\n generatePropertyRid(\n apiName: string,\n objectTypeApiName: string,\n ): PropertyTypeRid;\n generateInterfacePropertyTypeRid(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfacePropertyTypeRid;\n generateStructFieldRid(\n propertyApiName: string,\n apiName: string,\n ): StructFieldRid;\n // Datasource locator methods\n generateLocator(\n dataSetName: string,\n columnNames: Set<string>,\n ): DatasetDatasourceLocator;\n generateStreamLocator(\n streamName: string,\n columnNames: Set<string>,\n ): StreamLocator;\n generateRestrictedViewLocator(\n restrictedViewName: string,\n columnNames: Set<string>,\n ): RestrictedViewLocator;\n generateMediaSetViewLocator(mediaSetViewName: string): MediaSetViewLocator;\n toBlockInternalId(readableId: ReadableId): string;\n generateObjectTypeId(objectTypeApiName: string): string;\n getObjectTypeIds(): BiMap<ReadableId, string>;\n}\n\nexport interface ParameterRidAndId {\n rid: ParameterRid;\n id: string;\n}\n\n/**\n * Simple BiMap interface (placeholder)\n */\nexport interface BiMap<K, V> {\n get(key: K): V | undefined;\n put(key: K, value: V): void;\n asMap(): Map<K, V>;\n inverse(): BiMap<V, K>;\n entries(): IterableIterator<[K, V]>;\n}\n\n/**\n * BlockShapes container for input and output shapes\n */\nexport interface BlockShapes {\n inputShapes: Map<ReadableId, InputShape>;\n outputShapes: Map<ReadableId, OutputShape>;\n inputShapeMetadata: Map<ReadableId, InputShapeMetadata>;\n}\n\n/**\n * ReadableId generator functions matching Java's ReadableIdGenerator\n */\nexport class ReadableIdGenerator {\n static get(interfaceTypeApiName: string): ReadableId;\n static get(\n interfaceApiName: string,\n interfaceLinkTypeApiName: string,\n ): ReadableId;\n static get(arg1: string, arg2?: string): ReadableId {\n if (arg2 !== undefined) {\n // Interface link type\n return `interface-link-type-${arg1}-${arg2}` as ReadableId;\n }\n // Single argument - check context to determine type\n // This will be called from specific methods\n return arg1 as ReadableId;\n }\n\n static getForInterface(interfaceTypeApiName: string): ReadableId {\n return `interface-${interfaceTypeApiName}` as ReadableId;\n }\n\n static getForObjectType(objectTypeApiName: string): ReadableId {\n return `object-type-${objectTypeApiName}` as ReadableId;\n }\n\n static getForStream(streamName: string): ReadableId {\n return `stream-datasource-${streamName}` as ReadableId;\n }\n\n static getForStreamColumn(\n streamName: string,\n columnName: string,\n ): ReadableId {\n return `stream-datasource-column-${streamName}-${columnName}` as ReadableId;\n }\n\n static getForTimeSeriesSync(timeSeriesSyncName: string): ReadableId {\n return `time-series-sync-${timeSeriesSyncName}` as ReadableId;\n }\n\n static getForDataset(dataSetName: string): ReadableId {\n return `dataset-datasource-${dataSetName}` as ReadableId;\n }\n\n static getForDatasetOutput(dataSetName: string): ReadableId {\n return `dataset-datasource-output-${dataSetName}` as ReadableId;\n }\n\n static getForDatasetColumn(\n dataSetName: string,\n columnName: string,\n ): ReadableId {\n return `dataset-datasource-column-${dataSetName}-${columnName}` as ReadableId;\n }\n\n static getForDatasetColumnOutput(\n dataSetName: string,\n columnName: string,\n ): ReadableId {\n return `dataset-datasource-column-output-${dataSetName}-${columnName}` as ReadableId;\n }\n\n static getForMediaSetView(mediaSetViewName: string): ReadableId {\n return `media-set-view-${mediaSetViewName}` as ReadableId;\n }\n\n static getForRestrictedView(restrictedViewName: string): ReadableId {\n return `restricted-view-datasource-${restrictedViewName}` as ReadableId;\n }\n\n static getForRestrictedViewColumn(\n restrictedViewName: string,\n columnName: string,\n ): ReadableId {\n return `restricted-view-datasource-column-${restrictedViewName}-${columnName}` as ReadableId;\n }\n\n static getForLinkType(linkTypeId: string): ReadableId {\n return `link-type-${linkTypeId}` as ReadableId;\n }\n\n static getForGeotimeSeriesIntegration(name: string): ReadableId {\n return `geotime-series-integration-${name}` as ReadableId;\n }\n\n static getForActionType(actionTypeApiName: string): ReadableId {\n return `action-type-${actionTypeApiName}` as ReadableId;\n }\n\n static getForParameter(actionName: string, parameterId: string): ReadableId {\n return `action-${actionName}-parameter-${parameterId}` as ReadableId;\n }\n\n static getForGroup(groupId: string): ReadableId {\n return `group-${groupId}` as ReadableId;\n }\n\n static getForProducedValueType(\n valueTypeApiName: string,\n version: string,\n ): ReadableId {\n return `produced-value-type-${valueTypeApiName}-${version}` as ReadableId;\n }\n\n static getForConsumedValueType(\n valueTypeApiName: string,\n version: string,\n ): ReadableId {\n return `consumed-value-type-${valueTypeApiName}-${version}` as ReadableId;\n }\n\n static getForSpt(fieldApiName: string): ReadableId {\n return `shared-property-type-${fieldApiName}` as ReadableId;\n }\n\n static getForObjectProperty(\n objectTypeApiName: string,\n fieldApiName: string,\n ): ReadableId {\n return `${objectTypeApiName}-property-type-${fieldApiName}` as ReadableId;\n }\n\n static getForInterfaceProperty(\n interfaceTypeApiName: string,\n interfacePropertyTypeApiName: string,\n ): ReadableId {\n return `interface-property-type-${interfaceTypeApiName}-${interfacePropertyTypeApiName}` as ReadableId;\n }\n\n static getForInterfaceLinkType(\n interfaceApiName: string,\n interfaceLinkTypeApiName: string,\n ): ReadableId {\n return `interface-link-type-${interfaceApiName}-${interfaceLinkTypeApiName}` as ReadableId;\n }\n\n static getForMarking(\n markingId: string,\n supportedMarkingsType: \"CBAC\" | \"MANDATORY\",\n ): ReadableId {\n return `marking-${markingId}-${supportedMarkingsType}` as ReadableId;\n }\n}\n\nexport class BiMapImpl<K, V> implements BiMap<K, V> {\n forward: Map<K, V>;\n backward: Map<V, K>;\n public static create<K, V>(): BiMap<K, V> {\n return new BiMapImpl(new Map<K, V>(), new Map<V, K>());\n }\n\n private constructor(forward: Map<K, V>, backward: Map<V, K>) {\n this.forward = forward;\n this.backward = backward;\n }\n asMap(): Map<K, V> {\n return this.forward;\n }\n\n get(key: K): V | undefined {\n return this.forward.get(key);\n }\n\n put(key: K, value: V): void {\n this.forward.set(key, value);\n this.backward.set(value, key);\n }\n\n inverse(): BiMap<V, K> {\n return new BiMapImpl(this.backward, this.forward);\n }\n entries(): IterableIterator<[K, V]> {\n return this.forward.entries();\n }\n}\n\nexport class OntologyRidGeneratorImpl implements OntologyRidGenerator {\n private readonly actionTypeRids: BiMap<ReadableId, ActionTypeRid>;\n private readonly parameterRids: Map<\n string,\n BiMap<ReadableId, ParameterRidAndId>\n >;\n private readonly interfaceRids: BiMap<ReadableId, InterfaceTypeRid>;\n private readonly sharedPropertyTypeRids: BiMap<\n ReadableId,\n SharedPropertyTypeRid\n >;\n private readonly interfaceLinkTypeRids: BiMap<\n ReadableId,\n InterfaceLinkTypeRid\n >;\n private readonly interfacePropertyTypeRids: BiMap<\n ReadableId,\n InterfacePropertyTypeRid\n >;\n private readonly geotimeSeriesIntegrationRids: BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n >;\n private readonly objectTypeRids: BiMap<ReadableId, ObjectTypeRid>;\n private readonly propertyTypeRids: BiMap<ReadableId, PropertyTypeRid>;\n private readonly consumedValueTypeReferences: BiMap<\n ReadableId,\n ValueTypeReference\n >;\n private readonly producedValueTypeReferences: Map<\n ValueTypeReference,\n ReadableId\n >;\n private readonly datasourceLocators: BiMap<ReadableId, DatasourceLocator>;\n private readonly filesDatasourceLocators: BiMap<\n ReadableId,\n FilesDatasourceLocator\n >;\n private readonly timeSeriesSyncs: BiMap<ReadableId, TimeSeriesSyncRid>;\n private readonly columnShapes: BiMap<\n ReadableId,\n ResolvedDatasourceColumnShape\n >;\n private readonly linkTypeRids: BiMap<ReadableId, LinkTypeRid>;\n private readonly groupIds: BiMap<ReadableId, GroupId>;\n private readonly objectTypeIds: BiMap<ReadableId, string>;\n private readonly randomnessUuid?: string;\n\n constructor(randomnessUuid?: string) {\n this.randomnessUuid = randomnessUuid;\n this.geotimeSeriesIntegrationRids = BiMapImpl.create();\n this.interfaceLinkTypeRids = BiMapImpl.create();\n this.interfacePropertyTypeRids = BiMapImpl.create();\n this.interfaceRids = BiMapImpl.create();\n this.actionTypeRids = BiMapImpl.create();\n this.parameterRids = new Map();\n this.sharedPropertyTypeRids = BiMapImpl.create();\n this.consumedValueTypeReferences = BiMapImpl.create();\n this.producedValueTypeReferences = new Map();\n this.objectTypeRids = BiMapImpl.create();\n this.datasourceLocators = BiMapImpl.create();\n this.filesDatasourceLocators = BiMapImpl.create();\n this.columnShapes = BiMapImpl.create();\n this.propertyTypeRids = BiMapImpl.create();\n this.timeSeriesSyncs = BiMapImpl.create();\n this.linkTypeRids = BiMapImpl.create();\n this.groupIds = BiMapImpl.create();\n this.objectTypeIds = BiMapImpl.create();\n }\n\n hashString(input: string): string {\n const stringToHash = this.randomnessUuid\n ? `${input}-${this.randomnessUuid}`\n : input;\n return createHash(\"sha256\").update(stringToHash, \"utf8\").digest(\"hex\");\n }\n\n // Generic RID generation for types without specific generators\n generateRid(key: string): string {\n return `ri.ontology-metadata.temp.unknown.${this.hashString(key)}`;\n }\n\n // Datasource RID matching Java's RidUtils.getDatasourceRidFromName format\n generateDatasourceRid(datasourceName: string): string {\n return `ri.ontology.main.datasource.${\n toBlockShapeId(datasourceName, this.randomnessUuid)\n }`;\n }\n\n // Validation rule RID matching Java's format\n generateValidationRuleRid(actionTypeApiName: string, index: number): string {\n return `ri.ontology-metadata.temp.validation-rule.${\n this.hashString(`${actionTypeApiName}.${index}`)\n }`;\n }\n\n // Section RID matching Java's format: ri.ontology-metadata.temp.section.{hash(sectionId)}\n generateSectionRid(sectionId: string): string {\n return `ri.ontology-metadata.temp.section.${this.hashString(sectionId)}`;\n }\n\n // Property security group RID matching Java's format\n generatePropertySecurityGroupRid(groupName: string): string {\n return `ri.ontology-metadata.temp.property-security-group.${\n this.hashString(groupName)\n }`;\n }\n\n getActionTypeRids(): BiMap<ReadableId, ActionTypeRid> {\n return this.actionTypeRids;\n }\n\n getParameterRidAndIds(): Map<string, BiMap<ReadableId, ParameterRidAndId>> {\n return this.parameterRids;\n }\n\n getInterfaceRids(): BiMap<ReadableId, InterfaceTypeRid> {\n return this.interfaceRids;\n }\n\n getSharedPropertyTypeRids(): BiMap<ReadableId, SharedPropertyTypeRid> {\n return this.sharedPropertyTypeRids;\n }\n\n getInterfaceLinkTypeRids(): BiMap<ReadableId, InterfaceLinkTypeRid> {\n return this.interfaceLinkTypeRids;\n }\n\n getInterfacePropertyTypeRids(): BiMap<ReadableId, InterfacePropertyTypeRid> {\n return this.interfacePropertyTypeRids;\n }\n\n getPropertyTypeRids(): BiMap<ReadableId, PropertyTypeRid> {\n return this.propertyTypeRids;\n }\n\n getDatasourceLocators(): BiMap<ReadableId, DatasourceLocator> {\n return this.datasourceLocators;\n }\n\n getFilesDatasourceLocators(): BiMap<ReadableId, FilesDatasourceLocator> {\n return this.filesDatasourceLocators;\n }\n\n getGeotimeSeriesIntegrationRids(): BiMap<\n ReadableId,\n GeotimeSeriesIntegrationRid\n > {\n return this.geotimeSeriesIntegrationRids;\n }\n\n getTimeSeriesSyncs(): BiMap<ReadableId, TimeSeriesSyncRid> {\n return this.timeSeriesSyncs;\n }\n\n getColumnShapes(): BiMap<ReadableId, ResolvedDatasourceColumnShape> {\n return this.columnShapes;\n }\n\n getObjectTypeRids(): BiMap<ReadableId, ObjectTypeRid> {\n return this.objectTypeRids;\n }\n\n getLinkTypeRids(): BiMap<ReadableId, LinkTypeRid> {\n return this.linkTypeRids;\n }\n\n getGroupIds(): BiMap<ReadableId, GroupId> {\n return this.groupIds;\n }\n\n getConsumedValueTypeReferences(): BiMap<ReadableId, ValueTypeReference> {\n return this.consumedValueTypeReferences;\n }\n\n getProducedValueTypeReferences(): Map<ValueTypeReference, ReadableId> {\n return this.producedValueTypeReferences;\n }\n\n valueTypeMappingForReference(valueTypeReference: ValueTypeReference): {\n input: ReadableId;\n output: ReadableId;\n } {\n const input = this.consumedValueTypeReferences.inverse().get(\n valueTypeReference,\n );\n const output = this.producedValueTypeReferences.get(valueTypeReference);\n\n if (!input || !output) {\n throw new Error(`Missing readable ID for value type reference`);\n }\n\n return { input, output };\n }\n\n // Interface types\n generateRidForInterface(apiName: string): InterfaceTypeRid {\n const rid = `ri.ontology-metadata.temp.interface-type.${\n this.hashString(apiName)\n }` as InterfaceTypeRid;\n this.interfaceRids.put(ReadableIdGenerator.getForInterface(apiName), rid);\n return rid;\n }\n\n // Interface Link Types\n generateRidForInterfaceLinkType(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfaceLinkTypeRid {\n const readableId = ReadableIdGenerator.getForInterfaceLinkType(\n interfaceTypeApiName,\n apiName,\n );\n const rid = `ri.ontology-metadata.temp.interface-link-type.${\n this.hashString(readableId)\n }` as InterfaceLinkTypeRid;\n this.interfaceLinkTypeRids.put(readableId, rid);\n return rid;\n }\n\n // Object Types\n generateRidForObjectType(apiName: string): ObjectTypeRid {\n const rid = `ri.ontology-metadata.temp.object-type.${\n this.hashString(apiName)\n }` as ObjectTypeRid;\n this.objectTypeRids.put(ReadableIdGenerator.getForObjectType(apiName), rid);\n return rid;\n }\n\n // Value Types\n generateRidForValueType(\n apiName: string,\n version: string,\n ): ValueTypeReference {\n const rid = `ri.ontology-metadata.temp.value-type.${\n this.hashString(apiName)\n }`;\n // Generate UUID from version string (matching Java's UUID.nameUUIDFromBytes)\n const versionHash = createHash(\"md5\").update(version, \"utf8\").digest(\"hex\");\n const versionAsUuid = `${versionHash.slice(0, 8)}-${\n versionHash.slice(8, 12)\n }-${versionHash.slice(12, 16)}-${versionHash.slice(16, 20)}-${\n versionHash.slice(20, 32)\n }`;\n\n const valueTypeReference: ValueTypeReference = {\n rid,\n versionId: versionAsUuid,\n } as ValueTypeReference;\n\n this.consumedValueTypeReferences.put(\n ReadableIdGenerator.getForConsumedValueType(apiName, version),\n valueTypeReference,\n );\n this.producedValueTypeReferences.set(\n valueTypeReference,\n ReadableIdGenerator.getForProducedValueType(apiName, version),\n );\n return valueTypeReference;\n }\n\n generateRidForTimeSeriesSync(name: string): TimeSeriesSyncRid {\n const rid = `ri.ontology-metadata.temp.time-series-sync.${\n this.hashString(name)\n }` as TimeSeriesSyncRid;\n this.timeSeriesSyncs.put(\n ReadableIdGenerator.getForTimeSeriesSync(name),\n rid,\n );\n return rid;\n }\n\n generateRidForLinkType(linkTypeId: string): LinkTypeRid {\n const rid = `ri.ontology-metadata.temp.link-type.${\n this.hashString(linkTypeId)\n }` as LinkTypeRid;\n this.linkTypeRids.put(ReadableIdGenerator.getForLinkType(linkTypeId), rid);\n return rid;\n }\n\n generateRidForGeotimeSeriesIntegration(\n name: string,\n ): GeotimeSeriesIntegrationRid {\n const rid = `ri.ontology-metadata.temp.geotime-series-integration.${\n this.hashString(name)\n }` as GeotimeSeriesIntegrationRid;\n this.geotimeSeriesIntegrationRids.put(\n ReadableIdGenerator.getForGeotimeSeriesIntegration(name),\n rid,\n );\n return rid;\n }\n\n generateRidForActionType(apiName: string): ActionTypeRid {\n const rid = `ri.ontology-metadata.temp.action-type.${\n this.hashString(apiName)\n }` as ActionTypeRid;\n this.actionTypeRids.put(ReadableIdGenerator.getForActionType(apiName), rid);\n return rid;\n }\n\n generateRidForParameter(\n actionTypeApiName: string,\n parameterId: string,\n ): ParameterRid {\n const rid = `ri.ontology-metadata.temp.parameter.${\n this.hashString(actionTypeApiName + \".\" + parameterId)\n }` as ParameterRid;\n\n let innerMap = this.parameterRids.get(actionTypeApiName);\n if (!innerMap) {\n innerMap = BiMapImpl.create();\n this.parameterRids.set(actionTypeApiName, innerMap);\n }\n\n innerMap.put(\n ReadableIdGenerator.getForParameter(actionTypeApiName, parameterId),\n { rid, id: parameterId },\n );\n return rid;\n }\n\n // Shared Property Types\n generateSptRid(apiName: string): SharedPropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.shared-property-type.${\n this.hashString(apiName)\n }` as SharedPropertyTypeRid;\n this.sharedPropertyTypeRids.put(\n ReadableIdGenerator.getForSpt(apiName),\n rid,\n );\n return rid;\n }\n\n generatePropertyRid(\n apiName: string,\n objectTypeApiName: string,\n ): PropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.property-type.${\n this.hashString(objectTypeApiName + \".\" + apiName)\n }` as PropertyTypeRid;\n this.propertyTypeRids.put(\n ReadableIdGenerator.getForObjectProperty(objectTypeApiName, apiName),\n rid,\n );\n return rid;\n }\n\n // Interface Property Types\n generateInterfacePropertyTypeRid(\n apiName: string,\n interfaceTypeApiName: string,\n ): InterfacePropertyTypeRid {\n const rid = `ri.ontology-metadata.temp.interface-property-type.${\n this.hashString(interfaceTypeApiName + \".\" + apiName)\n }` as InterfacePropertyTypeRid;\n this.interfacePropertyTypeRids.put(\n ReadableIdGenerator.getForInterfaceProperty(\n interfaceTypeApiName,\n apiName,\n ),\n rid,\n );\n return rid;\n }\n\n // Struct Field RIDs\n generateStructFieldRid(\n propertyApiName: string,\n apiName: string,\n ): StructFieldRid {\n const rid = `ri.ontology-metadata.temp.struct-field.${\n this.hashString(propertyApiName + \".\" + apiName)\n }` as StructFieldRid;\n return rid;\n }\n\n // Datasource locator methods\n generateLocator(\n dataSetName: string,\n columnNames: Set<string>,\n ): DatasetDatasourceLocator {\n const datasetRid = `ri.ontology-metadata.temp.dataset.${\n this.hashString(dataSetName)\n }`;\n const branchId = \"main\";\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForDatasetColumn(dataSetName, name),\n {\n datasource: {\n type: \"dataset\",\n dataset: { rid: datasetRid, branch: branchId },\n } as DatasourceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForDataset(dataSetName),\n {\n type: \"dataset\",\n dataset: { rid: datasetRid, branch: branchId },\n } as DatasourceLocator,\n );\n\n return { rid: datasetRid, branchId };\n }\n\n generateStreamLocator(\n streamName: string,\n columnNames: Set<string>,\n ): StreamLocator {\n const streamLocatorRid = `ri.ontology-metadata.temp.stream-datasource.${\n this.hashString(streamName)\n }`;\n const branchId = \"main\";\n\n const locator: StreamLocator = {\n streamLocatorRid,\n branchId,\n };\n\n const marketplaceLocator: DatasourceLocator = {\n type: \"stream\",\n stream: {\n rid: streamLocatorRid,\n branch: branchId,\n },\n } as DatasourceLocator;\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForStreamColumn(streamName, name),\n {\n datasource: marketplaceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForStream(streamName),\n marketplaceLocator,\n );\n\n return locator;\n }\n\n generateRestrictedViewLocator(\n restrictedViewName: string,\n columnNames: Set<string>,\n ): RestrictedViewLocator {\n const restrictedViewRid = `ri.ontology-metadata.temp.restricted-view.${\n this.hashString(restrictedViewName)\n }`;\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(\n ReadableIdGenerator.getForRestrictedViewColumn(\n restrictedViewName,\n name,\n ),\n {\n datasource: {\n type: \"restrictedView\",\n restrictedView: { rid: restrictedViewRid },\n } as DatasourceLocator,\n name: name,\n } as ResolvedDatasourceColumnShape,\n );\n });\n\n // Register datasource locator\n this.datasourceLocators.put(\n ReadableIdGenerator.getForRestrictedView(restrictedViewName),\n {\n type: \"restrictedView\",\n restrictedView: { rid: restrictedViewRid },\n } as DatasourceLocator,\n );\n\n return { rid: restrictedViewRid };\n }\n\n generateMediaSetViewLocator(mediaSetViewName: string): MediaSetViewLocator {\n const mediaSetRid = `ri.ontology-metadata.temp.media-set.${\n this.hashString(mediaSetViewName)\n }`;\n const mediaSetBranchRid = `ri.ontology-metadata.temp.media-set-branch.${\n this.hashString(mediaSetViewName)\n }`;\n const mediaSetViewRid = `ri.ontology-metadata.temp.media-set-view.${\n this.hashString(mediaSetViewName)\n }`;\n\n // Register files datasource locator\n this.filesDatasourceLocators.put(\n ReadableIdGenerator.getForMediaSetView(mediaSetViewName),\n {\n type: \"mediaSet\",\n mediaSet: {\n rid: mediaSetRid,\n branch: \"master\", // matches OntologyMetadataConstants.ONTOLOGY_DATASET_BRANCH_ID\n },\n } as FilesDatasourceLocator,\n );\n\n return {\n mediaSetRid,\n mediaSetViewRid,\n mediaSetBranchRid,\n };\n }\n\n toBlockInternalId(readableId: ReadableId): string {\n const id = toBlockShapeId(readableId, this.randomnessUuid);\n return id;\n }\n\n getObjectTypeIds(): BiMap<ReadableId, string> {\n return this.objectTypeIds;\n }\n\n generateObjectTypeId(objectTypeApiName: string): string {\n const readableId = ReadableIdGenerator.getForObjectType(objectTypeApiName);\n const maybeLastId = this.objectTypeIds.get(readableId);\n if (maybeLastId) {\n return maybeLastId;\n }\n\n // Match Java: apiName.replace(\".\", \"-\").toLowerCase()\n const objectTypeId = objectTypeApiName.replace(/\\./g, \"-\").toLowerCase();\n this.objectTypeIds.put(readableId, objectTypeId);\n return objectTypeId;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAEE,qBACA,sBAEK,uBAAwB;AAC/B,cACE,UACA,YACA,sBACA,0BACK,aAAc;AAOrB,cAAc,4BAA4B,2BAA4B;AAGtE,OAAO,iBAAS,YACdA,UAAU,UACVC,cAAc,uBACb;AAqPH,OAAO,iBAAS,UACdC,iBAAiB,uBAChB;CAAE;CAAiB,QAAQ;AAAY;AAW1C,OAAO,iBAAS,kBACdC,QAAQ,gCACRF,cAAc,uBACb","names":["linkType: LinkType","ridGenerator: OntologyRidGenerator","object: string | ObjectTypeDefinition","status: UserLinkTypeStatus | undefined"],"sources":["../../../../src/conversion/toMarketplace/convertLink.ts"],"version":3,"file":"convertLink.d.ts"}
1
+ {"mappings":"AAgBA,cAEE,qBACA,sBAEK,uBAAwB;AAC/B,cACE,UACA,YACA,sBACA,0BACK,aAAc;AAQrB,cAAc,4BAA4B,2BAA4B;AAGtE,OAAO,iBAAS,YACdA,UAAU,UACVC,cAAc,uBACb;AA2PH,OAAO,iBAAS,UACdC,iBAAiB,uBAChB;CAAE;CAAiB,QAAQ;AAAY;AAY1C,OAAO,iBAAS,kBACdC,QAAQ,gCACRF,cAAc,uBACb","names":["linkType: LinkType","ridGenerator: OntologyRidGenerator","object: string | ObjectTypeDefinition","status: UserLinkTypeStatus | undefined"],"sources":["../../../../src/conversion/toMarketplace/convertLink.ts"],"version":3,"file":"convertLink.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/maker-experimental",
3
- "version": "0.6.0-beta.5",
3
+ "version": "0.6.0-beta.7",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,17 +31,17 @@
31
31
  "jiti": "^2.5.1",
32
32
  "tiny-invariant": "^1.3.3",
33
33
  "yargs": "^17.7.2",
34
- "@osdk/client.unstable": "~2.8.0-beta.23",
35
- "@osdk/maker": "~0.16.0-beta.11",
36
- "@osdk/api": "~2.8.0-beta.23"
34
+ "@osdk/api": "~2.8.0-beta.28",
35
+ "@osdk/maker": "~0.16.0-beta.14",
36
+ "@osdk/client.unstable": "~2.8.0-beta.28"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^20.19.13",
40
40
  "@types/yargs": "^17.0.33",
41
41
  "typescript": "~5.5.4",
42
42
  "vitest": "^3.2.4",
43
- "@osdk/monorepo.tsconfig": "~0.7.0-beta.1",
44
- "@osdk/monorepo.api-extractor": "~0.7.0-beta.1"
43
+ "@osdk/monorepo.api-extractor": "~0.7.0-beta.1",
44
+ "@osdk/monorepo.tsconfig": "~0.7.0-beta.1"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"