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

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/browser/api/defineOntologyV2.js +9 -3
  3. package/build/browser/api/defineOntologyV2.js.map +1 -1
  4. package/build/browser/cli/generateBackingDataset.js +250 -0
  5. package/build/browser/cli/generateBackingDataset.js.map +1 -0
  6. package/build/browser/cli/main.js +60 -7
  7. package/build/browser/cli/main.js.map +1 -1
  8. package/build/browser/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -1
  9. package/build/browser/util/generateRid.js +10 -4
  10. package/build/browser/util/generateRid.js.map +1 -1
  11. package/build/cjs/{ActionTypeShapeExtractor-5IVLHAPH.cjs → ActionTypeShapeExtractor-UWC4CVHX.cjs} +4 -4
  12. package/build/cjs/{ActionTypeShapeExtractor-5IVLHAPH.cjs.map → ActionTypeShapeExtractor-UWC4CVHX.cjs.map} +1 -1
  13. package/build/cjs/{chunk-AWYOBJ25.cjs → chunk-JC573VYW.cjs} +13 -6
  14. package/build/cjs/chunk-JC573VYW.cjs.map +1 -0
  15. package/build/cjs/index.cjs +270 -38
  16. package/build/cjs/index.cjs.map +1 -1
  17. package/build/cjs/index.d.cts +6 -1
  18. package/build/esm/api/defineOntologyV2.js +9 -3
  19. package/build/esm/api/defineOntologyV2.js.map +1 -1
  20. package/build/esm/cli/generateBackingDataset.js +250 -0
  21. package/build/esm/cli/generateBackingDataset.js.map +1 -0
  22. package/build/esm/cli/main.js +60 -7
  23. package/build/esm/cli/main.js.map +1 -1
  24. package/build/esm/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -1
  25. package/build/esm/util/generateRid.js +10 -4
  26. package/build/esm/util/generateRid.js.map +1 -1
  27. package/build/types/api/defineOntologyV2.d.ts +6 -1
  28. package/build/types/api/defineOntologyV2.d.ts.map +1 -1
  29. package/build/types/cli/generateBackingDataset.d.ts +16 -0
  30. package/build/types/cli/generateBackingDataset.d.ts.map +1 -0
  31. package/build/types/cli/main.d.ts.map +1 -1
  32. package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts +2 -2
  33. package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts.map +1 -1
  34. package/build/types/util/generateRid.d.ts +4 -2
  35. package/build/types/util/generateRid.d.ts.map +1 -1
  36. package/package.json +6 -6
  37. package/build/browser/api/overall.test.js +0 -713
  38. package/build/browser/api/overall.test.js.map +0 -1
  39. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +0 -562
  40. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +0 -1
  41. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +0 -677
  42. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +0 -1
  43. package/build/cjs/chunk-AWYOBJ25.cjs.map +0 -1
  44. package/build/esm/api/overall.test.js +0 -713
  45. package/build/esm/api/overall.test.js.map +0 -1
  46. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +0 -562
  47. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +0 -1
  48. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +0 -677
  49. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +0 -1
  50. package/build/types/api/overall.test.d.ts +0 -1
  51. package/build/types/api/overall.test.d.ts.map +0 -1
  52. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts +0 -1
  53. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts.map +0 -1
  54. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts +0 -1
  55. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectTypeShapeExtractor.test.js","names":["describe","expect","it","ObjectTypeShapeExtractor","MockBiMap","constructor","entries","forward","Map","backward","map","k","v","asMap","get","key","put","value","set","inverse","Array","from","createMockRidGenerator","overrides","getActionTypeRids","getParameterRidAndIds","getInterfaceRids","getSharedPropertyTypeRids","getInterfaceLinkTypeRids","getInterfacePropertyTypeRids","getPropertyTypeRids","getDatasourceLocators","getFilesDatasourceLocators","getGeotimeSeriesIntegrationRids","getTimeSeriesSyncs","getColumnShapes","getObjectTypeRids","getLinkTypeRids","getGroupIds","getConsumedValueTypeReferences","getProducedValueTypeReferences","valueTypeMappingForReference","input","output","hashString","generateRid","generateRidForInterface","apiName","generateRidForInterfaceLinkType","interfaceTypeApiName","generateRidForObjectType","generateRidForValueType","version","rid","versionId","generateRidForTimeSeriesSync","name","generateRidForLinkType","linkTypeId","generateRidForGeotimeSeriesIntegration","generateRidForActionType","generateRidForParameter","actionTypeApiName","parameterId","generateSptRid","generatePropertyRid","objectTypeApiName","generateInterfacePropertyTypeRid","generateStructFieldRid","propertyApiName","generateLocator","dataSetName","branchId","generateStreamLocator","streamName","streamLocatorRid","generateRestrictedViewLocator","restrictedViewName","generateMediaSetViewLocator","mediaSetViewName","mediaSetRid","mediaSetViewRid","mediaSetBranchRid","toBlockInternalId","readableId","getObjectTypeIds","generateObjectTypeId","replace","toLowerCase","generateDatasourceRid","datasourceName","generateValidationRuleRid","index","generateSectionRid","sectionId","generatePropertySecurityGroupRid","groupName","extractor","toBeDefined","ridGenerator","result","extract","objectType","id","displayMetadata","displayName","description","pluralDisplayName","visibility","icon","type","blueprint","locator","color","primaryKeys","propertyTypes","string","isLongText","supportsExactMatching","indexedForSearch","status","active","typeClasses","titlePropertyTypeRid","redacted","implementsInterfaces","implementsInterfaces2","allImplementsInterfaces","traits","workflowObjectTypeTraits","typeGroups","datasources","entityMetadata","aliases","arePatchesEnabled","diffEdits","entityConfig","objectDbTypeConfigs","targetStorageBackend","objectStorageV2","writebackDatasets","outputShapes","has","toBe","size","toBeGreaterThanOrEqual","objectTypeShape","about","fallbackTitle","fallbackDescription","editsSupport","objectsBackendVersion","datasetLocator","dataset","branch","datasource","datasetV2","datasetRid","propertyMapping","column","inputShapes","toBeGreaterThan","datasetShape","tabularDatasource","supportedTypes","toEqual","streamLocator","stream","streamV2","retentionPolicy","none","streamShape","taskShape","propertyShape","propertyRefs","length","toContain"],"sources":["ObjectTypeShapeExtractor.test.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 ObjectTypeBlockDataV2,\n PropertyTypeRid,\n} from \"@osdk/client.unstable\";\nimport type {\n DatasourceLocator,\n ResolvedDatasourceColumnShape,\n} from \"@osdk/client.unstable/api\";\nimport { describe, expect, it } from \"vitest\";\nimport type {\n BiMap,\n BlockShapes,\n OntologyRidGenerator,\n ReadableId,\n} from \"../../../util/generateRid.js\";\nimport { ObjectTypeShapeExtractor } from \"./ObjectTypeShapeExtractor.js\";\n\n// Mock BiMap implementation for testing\nclass MockBiMap<K, V> implements BiMap<K, V> {\n private forward: Map<K, V>;\n private backward: Map<V, K>;\n\n constructor(entries: Array<[K, V]>) {\n this.forward = new Map(entries);\n this.backward = new Map(entries.map(([k, v]) => [v, k]));\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 MockBiMap(Array.from(this.backward.entries()));\n }\n\n entries(): IterableIterator<[K, V]> {\n return this.forward.entries();\n }\n}\n\n// Helper to create a mock OntologyRidGenerator with overrides\nfunction createMockRidGenerator(\n overrides: Partial<OntologyRidGenerator> = {},\n): OntologyRidGenerator {\n return {\n getActionTypeRids: () => new MockBiMap([]) as any,\n getParameterRidAndIds: () => new Map() as any,\n getInterfaceRids: () => new MockBiMap([]) as any,\n getSharedPropertyTypeRids: () => new MockBiMap([]) as any,\n getInterfaceLinkTypeRids: () => new MockBiMap([]) as any,\n getInterfacePropertyTypeRids: () => new MockBiMap([]) as any,\n getPropertyTypeRids: () => new MockBiMap([]) as any,\n getDatasourceLocators: () => new MockBiMap([]) as any,\n getFilesDatasourceLocators: () => new MockBiMap([]) as any,\n getGeotimeSeriesIntegrationRids: () => new MockBiMap([]) as any,\n getTimeSeriesSyncs: () => new MockBiMap([]) as any,\n getColumnShapes: () => new MockBiMap([]) as any,\n getObjectTypeRids: () => new MockBiMap([]) as any,\n getLinkTypeRids: () => new MockBiMap([]) as any,\n getGroupIds: () => new MockBiMap([]) as any,\n getConsumedValueTypeReferences: () => new MockBiMap([]) as any,\n getProducedValueTypeReferences: () => new Map() as any,\n valueTypeMappingForReference: () => ({\n input: \"\" as ReadableId,\n output: \"\" as ReadableId,\n }),\n hashString: (input: string) => input,\n generateRid: (key: string) => key,\n generateRidForInterface: (apiName: string) => `interface.${apiName}` as any,\n generateRidForInterfaceLinkType: (\n apiName: string,\n interfaceTypeApiName: string,\n ) => `interface-link.${interfaceTypeApiName}.${apiName}` as any,\n generateRidForObjectType: (apiName: string) => `object.${apiName}` as any,\n generateRidForValueType: (apiName: string, version: string) =>\n ({\n rid: `vt.${apiName}.${version}`,\n versionId: version,\n }) as any,\n generateRidForTimeSeriesSync: (name: string) => `ts.${name}` as any,\n generateRidForLinkType: (linkTypeId: string) => `link.${linkTypeId}` as any,\n generateRidForGeotimeSeriesIntegration: (name: string) =>\n `geotime.${name}` as any,\n generateRidForActionType: (apiName: string) => `action.${apiName}` as any,\n generateRidForParameter: (actionTypeApiName: string, parameterId: string) =>\n `param.${actionTypeApiName}.${parameterId}` as any,\n generateSptRid: (apiName: string) => `spt.${apiName}` as any,\n generatePropertyRid: (apiName: string, objectTypeApiName: string) =>\n `prop.${objectTypeApiName}.${apiName}` as any,\n generateInterfacePropertyTypeRid: (\n apiName: string,\n interfaceTypeApiName: string,\n ) => `interface-prop.${interfaceTypeApiName}.${apiName}` as any,\n generateStructFieldRid: (propertyApiName: string, apiName: string) =>\n `struct-field.${propertyApiName}.${apiName}` as any,\n generateLocator: (dataSetName: string, _columnNames: Set<string>) => ({\n rid: `dataset.${dataSetName}`,\n branchId: \"main\",\n }),\n generateStreamLocator: (streamName: string, _columnNames: Set<string>) => ({\n streamLocatorRid: `stream.${streamName}`,\n branchId: \"main\",\n }),\n generateRestrictedViewLocator: (\n restrictedViewName: string,\n _columnNames: Set<string>,\n ) => ({\n rid: `restricted-view.${restrictedViewName}`,\n }),\n generateMediaSetViewLocator: (mediaSetViewName: string) => ({\n mediaSetRid: `media-set.${mediaSetViewName}`,\n mediaSetViewRid: `media-set-view.${mediaSetViewName}`,\n mediaSetBranchRid: `media-set-branch.${mediaSetViewName}`,\n }),\n toBlockInternalId: (readableId: ReadableId) => {\n return readableId;\n },\n getObjectTypeIds: () => new MockBiMap([]) as any,\n generateObjectTypeId: (objectTypeApiName: string) =>\n objectTypeApiName.replace(/\\./g, \"-\").toLowerCase(),\n generateDatasourceRid: (datasourceName: string) =>\n `ri.ontology.main.datasource.${datasourceName}`,\n generateValidationRuleRid: (actionTypeApiName: string, index: number) =>\n `validation-rule.${actionTypeApiName}.${index}`,\n generateSectionRid: (sectionId: string) =>\n `ri.ontology-metadata.temp.section.${sectionId}`,\n generatePropertySecurityGroupRid: (groupName: string) =>\n `ri.ontology-metadata.temp.property-security-group.${groupName}`,\n ...overrides,\n };\n}\n\ndescribe(\"ObjectTypeShapeExtractor\", () => {\n describe(\"constructor\", () => {\n it(\"should create extractor without randomness key\", () => {\n const extractor = new ObjectTypeShapeExtractor();\n expect(extractor).toBeDefined();\n });\n\n it(\"should create extractor with randomness key\", () => {\n const extractor = new ObjectTypeShapeExtractor(\"test-key\");\n expect(extractor).toBeDefined();\n });\n });\n\n describe(\"extract\", () => {\n it(\"should extract basic object type with properties\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"Employee\",\n rid: \"ri.ontology.main.object-type.employee\",\n id: \"employee-id\",\n displayMetadata: {\n displayName: \"Employee\",\n description: \"An employee in the organization\",\n pluralDisplayName: \"Employees\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"person\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.employee.id\" as PropertyTypeRid,\n ],\n propertyTypes: {\n \"ri.ontology.main.property-type.employee.id\": {\n rid:\n \"ri.ontology.main.property-type.employee.id\" as PropertyTypeRid,\n apiName: \"id\",\n displayMetadata: {\n displayName: \"ID\",\n description: \"Employee ID\",\n visibility: \"NORMAL\",\n },\n type: {\n type: \"string\",\n string: { isLongText: false, supportsExactMatching: true },\n },\n id: \"employee-id-pt-id\",\n indexedForSearch: true,\n status: { type: \"active\", active: {} },\n typeClasses: [],\n },\n \"ri.ontology.main.property-type.employee.name\": {\n rid:\n \"ri.ontology.main.property-type.employee.name\" as PropertyTypeRid,\n apiName: \"name\",\n displayMetadata: {\n displayName: \"Name\",\n description: \"Employee name\",\n visibility: \"NORMAL\",\n },\n type: {\n type: \"string\",\n string: { isLongText: false, supportsExactMatching: true },\n },\n id: \"employee-name-pt-id\",\n indexedForSearch: true,\n status: { type: \"active\", active: {} },\n typeClasses: [],\n },\n },\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.employee.name\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: true,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const ridGenerator = createMockRidGenerator({\n getPropertyTypeRids: () =>\n new MockBiMap<ReadableId, PropertyTypeRid>([\n [\n \"employee.id\" as ReadableId,\n \"ri.ontology.main.property-type.employee.id\" as PropertyTypeRid,\n ],\n [\n \"employee.name\" as ReadableId,\n \"ri.ontology.main.property-type.employee.name\" as PropertyTypeRid,\n ],\n ]),\n });\n\n const extractor = new ObjectTypeShapeExtractor();\n const result: BlockShapes = extractor.extract(\n \"employee\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n // Should have output shapes for object type\n expect(result.outputShapes.has(\"employee\" as ReadableId)).toBe(true);\n\n // Output shapes will include object type + any properties that have readable IDs\n expect(result.outputShapes.size).toBeGreaterThanOrEqual(1);\n\n const objectTypeShape = result.outputShapes.get(\n \"employee\" as ReadableId,\n );\n expect(objectTypeShape).toBeDefined();\n expect(objectTypeShape?.type).toBe(\"objectType\");\n if (objectTypeShape?.type === \"objectType\") {\n expect(objectTypeShape.objectType.about.fallbackTitle).toBe(\"Employee\");\n expect(objectTypeShape.objectType.about.fallbackDescription).toBe(\n \"An employee in the organization\",\n );\n expect(objectTypeShape.objectType.editsSupport).toBe(\"EDITS_ENABLED\");\n expect(objectTypeShape.objectType.objectsBackendVersion).toBe(\"V2\");\n }\n });\n\n it(\"should handle object type with dataset datasource\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"Person\",\n rid: \"ri.ontology.main.object-type.person\",\n id: \"person-id\",\n displayMetadata: {\n displayName: \"Person\",\n pluralDisplayName: \"People\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"person\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.person.id\" as PropertyTypeRid,\n ],\n propertyTypes: {\n \"ri.ontology.main.property-type.person.id\": {\n rid:\n \"ri.ontology.main.property-type.person.id\" as PropertyTypeRid,\n apiName: \"id\",\n displayMetadata: {\n displayName: \"ID\",\n visibility: \"NORMAL\",\n },\n type: {\n type: \"string\",\n string: { isLongText: false, supportsExactMatching: true },\n },\n id: \"person-id-pt-id\",\n indexedForSearch: true,\n status: { type: \"active\", active: {} },\n typeClasses: [],\n },\n },\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.person.id\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [\n {\n rid: \"ri.foundry.main.datasource.person-dataset\" as any,\n datasource: {\n type: \"datasetV2\",\n datasetV2: {\n datasetRid: \"ri.foundry.main.dataset.person\",\n branchId: \"main\",\n propertyMapping: {\n \"ri.ontology.main.property-type.person.id\": {\n type: \"column\",\n column: \"person_id\",\n },\n },\n },\n },\n },\n ],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: false,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const datasetLocator: DatasourceLocator = {\n type: \"dataset\",\n dataset: {\n rid: \"ri.foundry.main.dataset.person\",\n branch: \"main\",\n },\n };\n\n const ridGenerator = createMockRidGenerator({\n getPropertyTypeRids: () =>\n new MockBiMap<ReadableId, PropertyTypeRid>([\n [\n \"person.id\" as ReadableId,\n \"ri.ontology.main.property-type.person.id\" as PropertyTypeRid,\n ],\n ]) as any,\n getDatasourceLocators: () =>\n new MockBiMap<ReadableId, DatasourceLocator>([[\n \"person-dataset\" as ReadableId,\n datasetLocator,\n ]]) as any,\n getColumnShapes: () =>\n new MockBiMap<ReadableId, ResolvedDatasourceColumnShape>([\n [\"person-dataset.person_id\" as ReadableId, {\n datasource: datasetLocator,\n name: \"person_id\",\n }],\n ]) as any,\n });\n\n const extractor = new ObjectTypeShapeExtractor();\n const result: BlockShapes = extractor.extract(\n \"person\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n // Should have input shapes for dataset\n expect(result.inputShapes.size).toBeGreaterThan(0);\n expect(result.inputShapes.has(\"person-dataset\" as ReadableId)).toBe(\n true,\n );\n\n const datasetShape = result.inputShapes.get(\n \"person-dataset\" as ReadableId,\n );\n expect(datasetShape).toBeDefined();\n expect(datasetShape?.type).toBe(\"tabularDatasource\");\n if (datasetShape?.type === \"tabularDatasource\") {\n expect(datasetShape.tabularDatasource.supportedTypes).toEqual([\n \"DATASET\",\n \"RESTRICTED_VIEW\",\n ]);\n expect(datasetShape.tabularDatasource.about.fallbackTitle).toBe(\n \"person-dataset\",\n );\n }\n });\n\n it(\"should handle object type with stream datasource\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"Event\",\n rid: \"ri.ontology.main.object-type.event\",\n id: \"event-id\",\n displayMetadata: {\n displayName: \"Event\",\n pluralDisplayName: \"Events\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"flash\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.event.id\" as PropertyTypeRid,\n ],\n propertyTypes: {\n \"ri.ontology.main.property-type.event.id\": {\n rid: \"ri.ontology.main.property-type.event.id\" as PropertyTypeRid,\n apiName: \"id\",\n displayMetadata: {\n displayName: \"ID\",\n visibility: \"NORMAL\",\n },\n type: {\n type: \"string\",\n string: { isLongText: false, supportsExactMatching: true },\n },\n id: \"event-id-pt-id\",\n indexedForSearch: true,\n status: { type: \"active\", active: {} },\n typeClasses: [],\n },\n },\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.event.id\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [\n {\n rid: \"ri.foundry.main.datasource.event-stream\" as any,\n datasource: {\n type: \"streamV2\",\n streamV2: {\n streamLocator: {\n streamLocatorRid: \"ri.foundry.main.stream.event\",\n branchId: \"main\",\n },\n propertyMapping: {\n \"ri.ontology.main.property-type.event.id\": \"event_id\",\n },\n retentionPolicy: { type: \"none\", none: {} },\n },\n },\n },\n ],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: false,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const streamLocator: DatasourceLocator = {\n type: \"stream\",\n stream: {\n rid: \"ri.foundry.main.stream.event\",\n branch: \"main\",\n },\n };\n\n const ridGenerator = createMockRidGenerator({\n getPropertyTypeRids: () =>\n new MockBiMap<ReadableId, PropertyTypeRid>([\n [\n \"event.id\" as ReadableId,\n \"ri.ontology.main.property-type.event.id\" as PropertyTypeRid,\n ],\n ]) as any,\n getDatasourceLocators: () =>\n new MockBiMap<ReadableId, DatasourceLocator>([[\n \"event-stream\" as ReadableId,\n streamLocator,\n ]]) as any,\n getColumnShapes: () =>\n new MockBiMap<ReadableId, ResolvedDatasourceColumnShape>([\n [\"event-stream.event_id\" as ReadableId, {\n datasource: streamLocator,\n name: \"event_id\",\n }],\n ]) as any,\n });\n\n const extractor = new ObjectTypeShapeExtractor();\n const result: BlockShapes = extractor.extract(\n \"event\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n // Should have input shapes for stream\n expect(result.inputShapes.has(\"event-stream\" as ReadableId)).toBe(true);\n\n const streamShape = result.inputShapes.get(\n \"event-stream\" as ReadableId,\n );\n expect(streamShape).toBeDefined();\n expect(streamShape?.type).toBe(\"tabularDatasource\");\n if (streamShape?.type === \"tabularDatasource\") {\n expect(streamShape.tabularDatasource.supportedTypes).toEqual([\n \"STREAM\",\n ]);\n }\n });\n\n it(\"should apply randomness key to block shape IDs\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"Task\",\n rid: \"ri.ontology.main.object-type.task\",\n id: \"task-id\",\n displayMetadata: {\n displayName: \"Task\",\n pluralDisplayName: \"Tasks\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"document\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.task.id\" as PropertyTypeRid,\n ],\n propertyTypes: {\n \"ri.ontology.main.property-type.task.id\": {\n rid: \"ri.ontology.main.property-type.task.id\" as PropertyTypeRid,\n apiName: \"id\",\n displayMetadata: {\n displayName: \"ID\",\n visibility: \"NORMAL\",\n },\n type: {\n type: \"string\",\n string: { isLongText: false, supportsExactMatching: true },\n },\n id: \"task-id-pt-id\",\n indexedForSearch: true,\n status: { type: \"active\", active: {} },\n typeClasses: [],\n },\n },\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.task.id\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: false,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const ridGenerator = createMockRidGenerator({\n getPropertyTypeRids: () =>\n new MockBiMap<ReadableId, PropertyTypeRid>([\n [\n \"task.id\" as ReadableId,\n \"ri.ontology.main.property-type.task.id\" as PropertyTypeRid,\n ],\n ]) as any,\n });\n\n const extractor = new ObjectTypeShapeExtractor(\"random123\");\n const result: BlockShapes = extractor.extract(\n \"task\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n const taskShape = result.outputShapes.get(\"task\" as ReadableId);\n expect(taskShape).toBeDefined();\n if (taskShape?.type === \"objectType\") {\n // Property type references should include randomness key if there are properties\n const propertyShape = result.outputShapes.get(\n \"task.id\" as ReadableId,\n );\n if (propertyShape && propertyShape.type === \"property\") {\n // Check that the property reference in object type includes randomness key\n const propertyRefs = taskShape.objectType.propertyTypes;\n if (propertyRefs.length > 0) {\n expect(propertyRefs[0]).toContain(\"task.id\");\n }\n }\n }\n });\n\n it(\"should handle empty datasources\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"Simple\",\n rid: \"ri.ontology.main.object-type.simple\",\n id: \"simple-id\",\n displayMetadata: {\n displayName: \"Simple\",\n pluralDisplayName: \"Simples\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"cube\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.simple.id\" as PropertyTypeRid,\n ],\n propertyTypes: {},\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.simple.id\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: false,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const ridGenerator = createMockRidGenerator();\n\n const extractor = new ObjectTypeShapeExtractor();\n const result: BlockShapes = extractor.extract(\n \"simple\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n expect(result.outputShapes.size).toBe(1); // Just the object type\n expect(result.inputShapes.size).toBe(0); // No datasources\n });\n\n it(\"should handle edits disabled correctly\", () => {\n const objectType: ObjectTypeBlockDataV2 = {\n objectType: {\n apiName: \"ReadOnly\",\n rid: \"ri.ontology.main.object-type.readonly\",\n id: \"readonly-id\",\n displayMetadata: {\n displayName: \"Read Only\",\n pluralDisplayName: \"Read Only\",\n visibility: \"NORMAL\",\n icon: {\n type: \"blueprint\",\n blueprint: { locator: \"lock\", color: \"#2D72D2\" },\n },\n },\n primaryKeys: [\n \"ri.ontology.main.property-type.readonly.id\" as PropertyTypeRid,\n ],\n propertyTypes: {},\n titlePropertyTypeRid:\n \"ri.ontology.main.property-type.readonly.id\" as PropertyTypeRid,\n status: { type: \"active\", active: {} },\n redacted: false,\n implementsInterfaces: [],\n implementsInterfaces2: [],\n allImplementsInterfaces: {},\n traits: { workflowObjectTypeTraits: {} },\n typeGroups: [],\n },\n datasources: [],\n entityMetadata: {\n aliases: [],\n arePatchesEnabled: false,\n diffEdits: false,\n entityConfig: { objectDbTypeConfigs: {} },\n targetStorageBackend: {\n type: \"objectStorageV2\",\n objectStorageV2: {},\n },\n },\n writebackDatasets: [],\n };\n\n const ridGenerator = createMockRidGenerator();\n\n const extractor = new ObjectTypeShapeExtractor();\n const result: BlockShapes = extractor.extract(\n \"readonly\" as ReadableId,\n objectType,\n ridGenerator,\n );\n\n const objectTypeShape = result.outputShapes.get(\n \"readonly\" as ReadableId,\n );\n expect(objectTypeShape).toBeDefined();\n if (objectTypeShape?.type === \"objectType\") {\n expect(objectTypeShape.objectType.editsSupport).toBe(\"EDITS_DISABLED\");\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cli/marketplaceSerialization/CodeBlockSpec.ts","../../src/util/generateRid.ts"],"names":["crypto","createHash"],"mappings":"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","file":"chunk-AWYOBJ25.cjs","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 crypto, { createHash } from \"crypto\";\n\n/**\n * The spec for a code block. This is transported as a marketplace product artifact.\n *\n * This TypeScript interface mirrors the Java CodeBlockSpec class and is designed\n * to be JSON serialization-compatible.\n */\n\nexport function getBlockVersionId(blockSpec, blockSetVersion, randomnessKey) {\n let mergedString = `${blockSpec.blockMavenCoordinate}_${blockSetVersion}`;\n if (randomnessKey) {\n mergedString = `${blockSpec.blockMavenCoordinate}_${blockSetVersion}_${randomnessKey}`;\n }\n return generateUUIDFromStr(mergedString);\n}\nfunction generateUUIDFromStr(input) {\n const md5Bytes = crypto.createHash(\"md5\").update(input).digest();\n md5Bytes[6] &= 0x0f; /* clear version */\n md5Bytes[6] |= 0x30; /* set to version 3 */\n md5Bytes[8] &= 0x3f; /* clear variant */\n md5Bytes[8] |= 0x80; /* set to IETF variant */\n const hex = md5Bytes.toString(\"hex\");\n const uuid = hex.replace(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/, \"$1-$2-$3-$4-$5\");\n return uuid;\n}\nexport function toBlockShapeId(readableId, salt) {\n let toHash = readableId;\n if (salt) {\n toHash = readableId + salt;\n }\n const digest = createHash(\"sha256\");\n digest.update(toHash, \"utf8\");\n const encodedHash = digest.digest();\n return generateUUIDFromStr(encodedHash);\n}","/*\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\n// ParameterRid is defined in ontology-metadata but may not be re-exported through the main API\n\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)\n\n/**\n * Placeholder interface for OntologyRidGenerator\n * This should be filled in with actual implementation\n */\n// Types for datasource locators\n\n/**\n * Simple BiMap interface (placeholder)\n */\n\n/**\n * BlockShapes container for input and output shapes\n */\n\n/**\n * ReadableId generator functions matching Java's ReadableIdGenerator\n */\nexport class ReadableIdGenerator {\n static get(arg1, arg2) {\n if (arg2 !== undefined) {\n // Interface link type\n return `interface-link-type-${arg1}-${arg2}`;\n }\n // Single argument - check context to determine type\n // This will be called from specific methods\n return arg1;\n }\n static getForInterface(interfaceTypeApiName) {\n return `interface-${interfaceTypeApiName}`;\n }\n static getForObjectType(objectTypeApiName) {\n return `object-type-${objectTypeApiName}`;\n }\n static getForStream(streamName) {\n return `stream-datasource-${streamName}`;\n }\n static getForStreamColumn(streamName, columnName) {\n return `stream-datasource-column-${streamName}-${columnName}`;\n }\n static getForTimeSeriesSync(timeSeriesSyncName) {\n return `time-series-sync-${timeSeriesSyncName}`;\n }\n static getForDataSet(dataSetName) {\n return `dataset-datasource-${dataSetName}`;\n }\n static getForDataSetColumn(dataSetName, columnName) {\n return `dataset-datasource-column-${dataSetName}-${columnName}`;\n }\n static getForMediaSetView(mediaSetViewName) {\n return `media-set-view-${mediaSetViewName}`;\n }\n static getForRestrictedView(restrictedViewName) {\n return `restricted-view-datasource-${restrictedViewName}`;\n }\n static getForRestrictedViewColumn(restrictedViewName, columnName) {\n return `restricted-view-datasource-column-${restrictedViewName}-${columnName}`;\n }\n static getForLinkType(linkTypeId) {\n return `link-type-${linkTypeId}`;\n }\n static getForGeotimeSeriesIntegration(name) {\n return `geotime-series-integration-${name}`;\n }\n static getForActionType(actionTypeApiName) {\n return `action-type-${actionTypeApiName}`;\n }\n static getForParameter(actionName, parameterId) {\n return `action-${actionName}-parameter-${parameterId}`;\n }\n static getForGroup(groupId) {\n return `group-${groupId}`;\n }\n static getForProducedValueType(valueTypeApiName, version) {\n return `produced-value-type-${valueTypeApiName}-${version}`;\n }\n static getForConsumedValueType(valueTypeApiName, version) {\n return `consumed-value-type-${valueTypeApiName}-${version}`;\n }\n static getForSpt(fieldApiName) {\n return `shared-property-type-${fieldApiName}`;\n }\n static getForObjectProperty(objectTypeApiName, fieldApiName) {\n return `${objectTypeApiName}-property-type-${fieldApiName}`;\n }\n static getForInterfaceProperty(interfaceTypeApiName, interfacePropertyTypeApiName) {\n return `interface-property-type-${interfaceTypeApiName}-${interfacePropertyTypeApiName}`;\n }\n static getForInterfaceLinkType(interfaceApiName, interfaceLinkTypeApiName) {\n return `interface-link-type-${interfaceApiName}-${interfaceLinkTypeApiName}`;\n }\n static getForMarking(markingId, supportedMarkingsType) {\n return `marking-${markingId}-${supportedMarkingsType}`;\n }\n}\nexport class BiMapImpl {\n static create() {\n return new BiMapImpl(new Map(), new Map());\n }\n constructor(forward, backward) {\n this.forward = forward;\n this.backward = backward;\n }\n asMap() {\n return this.forward;\n }\n get(key) {\n return this.forward.get(key);\n }\n put(key, value) {\n this.forward.set(key, value);\n this.backward.set(value, key);\n }\n inverse() {\n return new BiMapImpl(this.backward, this.forward);\n }\n entries() {\n return this.forward.entries();\n }\n}\nexport class OntologyRidGeneratorImpl {\n constructor(randomnessUuid) {\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 hashString(input) {\n const stringToHash = this.randomnessUuid ? `${input}-${this.randomnessUuid}` : input;\n return createHash(\"sha256\").update(stringToHash, \"utf8\").digest(\"hex\");\n }\n\n // Generic RID generation for types without specific generators\n generateRid(key) {\n return `ri.ontology-metadata.temp.${this.hashString(key)}`;\n }\n\n // Datasource RID matching Java's RidUtils.getDatasourceRidFromName format\n generateDatasourceRid(datasourceName) {\n return `ri.ontology.main.datasource.${toBlockShapeId(datasourceName, this.randomnessUuid)}`;\n }\n\n // Validation rule RID matching Java's format\n generateValidationRuleRid(actionTypeApiName, index) {\n return `ri.ontology-metadata.temp.validation-rule.${this.hashString(`${actionTypeApiName}.${index}`)}`;\n }\n\n // Section RID matching Java's format: ri.ontology-metadata.temp.section.{hash(sectionId)}\n generateSectionRid(sectionId) {\n return `ri.ontology-metadata.temp.section.${this.hashString(sectionId)}`;\n }\n\n // Property security group RID matching Java's format\n generatePropertySecurityGroupRid(groupName) {\n return `ri.ontology-metadata.temp.property-security-group.${this.hashString(groupName)}`;\n }\n getActionTypeRids() {\n return this.actionTypeRids;\n }\n getParameterRidAndIds() {\n return this.parameterRids;\n }\n getInterfaceRids() {\n return this.interfaceRids;\n }\n getSharedPropertyTypeRids() {\n return this.sharedPropertyTypeRids;\n }\n getInterfaceLinkTypeRids() {\n return this.interfaceLinkTypeRids;\n }\n getInterfacePropertyTypeRids() {\n return this.interfacePropertyTypeRids;\n }\n getPropertyTypeRids() {\n return this.propertyTypeRids;\n }\n getDatasourceLocators() {\n return this.datasourceLocators;\n }\n getFilesDatasourceLocators() {\n return this.filesDatasourceLocators;\n }\n getGeotimeSeriesIntegrationRids() {\n return this.geotimeSeriesIntegrationRids;\n }\n getTimeSeriesSyncs() {\n return this.timeSeriesSyncs;\n }\n getColumnShapes() {\n return this.columnShapes;\n }\n getObjectTypeRids() {\n return this.objectTypeRids;\n }\n getLinkTypeRids() {\n return this.linkTypeRids;\n }\n getGroupIds() {\n return this.groupIds;\n }\n getConsumedValueTypeReferences() {\n return this.consumedValueTypeReferences;\n }\n getProducedValueTypeReferences() {\n return this.producedValueTypeReferences;\n }\n valueTypeMappingForReference(valueTypeReference) {\n const input = this.consumedValueTypeReferences.inverse().get(valueTypeReference);\n const output = this.producedValueTypeReferences.get(valueTypeReference);\n if (!input || !output) {\n throw new Error(`Missing readable ID for value type reference`);\n }\n return {\n input,\n output\n };\n }\n\n // Interface types\n generateRidForInterface(apiName) {\n const rid = `ri.ontology-metadata.temp.interface-type.${this.hashString(apiName)}`;\n this.interfaceRids.put(ReadableIdGenerator.getForInterface(apiName), rid);\n return rid;\n }\n\n // Interface Link Types\n generateRidForInterfaceLinkType(apiName, interfaceTypeApiName) {\n const readableId = ReadableIdGenerator.getForInterfaceLinkType(interfaceTypeApiName, apiName);\n const rid = `ri.ontology-metadata.temp.interface-link-type.${this.hashString(readableId)}`;\n this.interfaceLinkTypeRids.put(readableId, rid);\n return rid;\n }\n\n // Object Types\n generateRidForObjectType(apiName) {\n const rid = `ri.ontology-metadata.temp.object-type.${this.hashString(apiName)}`;\n this.objectTypeRids.put(ReadableIdGenerator.getForObjectType(apiName), rid);\n return rid;\n }\n\n // Value Types\n generateRidForValueType(apiName, version) {\n const rid = `ri.ontology-metadata.temp.value-type.${this.hashString(apiName)}`;\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)}-${versionHash.slice(8, 12)}-${versionHash.slice(12, 16)}-${versionHash.slice(16, 20)}-${versionHash.slice(20, 32)}`;\n const valueTypeReference = {\n rid,\n versionId: versionAsUuid\n };\n this.consumedValueTypeReferences.put(ReadableIdGenerator.getForConsumedValueType(apiName, version), valueTypeReference);\n this.producedValueTypeReferences.set(valueTypeReference, ReadableIdGenerator.getForProducedValueType(apiName, version));\n return valueTypeReference;\n }\n generateRidForTimeSeriesSync(name) {\n const rid = `ri.ontology-metadata.temp.time-series-sync.${this.hashString(name)}`;\n this.timeSeriesSyncs.put(ReadableIdGenerator.getForTimeSeriesSync(name), rid);\n return rid;\n }\n generateRidForLinkType(linkTypeId) {\n const rid = `ri.ontology-metadata.temp.link-type.${this.hashString(linkTypeId)}`;\n this.linkTypeRids.put(ReadableIdGenerator.getForLinkType(linkTypeId), rid);\n return rid;\n }\n generateRidForGeotimeSeriesIntegration(name) {\n const rid = `ri.ontology-metadata.temp.geotime-series-integration.${this.hashString(name)}`;\n this.geotimeSeriesIntegrationRids.put(ReadableIdGenerator.getForGeotimeSeriesIntegration(name), rid);\n return rid;\n }\n generateRidForActionType(apiName) {\n const rid = `ri.ontology-metadata.temp.action-type.${this.hashString(apiName)}`;\n this.actionTypeRids.put(ReadableIdGenerator.getForActionType(apiName), rid);\n return rid;\n }\n generateRidForParameter(actionTypeApiName, parameterId) {\n const rid = `ri.ontology-metadata.temp.parameter.${this.hashString(actionTypeApiName + \".\" + parameterId)}`;\n let innerMap = this.parameterRids.get(actionTypeApiName);\n if (!innerMap) {\n innerMap = BiMapImpl.create();\n this.parameterRids.set(actionTypeApiName, innerMap);\n }\n innerMap.put(ReadableIdGenerator.getForParameter(actionTypeApiName, parameterId), {\n rid,\n id: parameterId\n });\n return rid;\n }\n\n // Shared Property Types\n generateSptRid(apiName) {\n const rid = `ri.ontology-metadata.temp.shared-property-type.${this.hashString(apiName)}`;\n this.sharedPropertyTypeRids.put(ReadableIdGenerator.getForSpt(apiName), rid);\n return rid;\n }\n generatePropertyRid(apiName, objectTypeApiName) {\n const rid = `ri.ontology-metadata.temp.property-type.${this.hashString(objectTypeApiName + \".\" + apiName)}`;\n this.propertyTypeRids.put(ReadableIdGenerator.getForObjectProperty(objectTypeApiName, apiName), rid);\n return rid;\n }\n\n // Interface Property Types\n generateInterfacePropertyTypeRid(apiName, interfaceTypeApiName) {\n const rid = `ri.ontology-metadata.temp.interface-property-type.${this.hashString(interfaceTypeApiName + \".\" + apiName)}`;\n this.interfacePropertyTypeRids.put(ReadableIdGenerator.getForInterfaceProperty(interfaceTypeApiName, apiName), rid);\n return rid;\n }\n\n // Struct Field RIDs\n generateStructFieldRid(propertyApiName, apiName) {\n const rid = `ri.ontology-metadata.temp.struct-field.${this.hashString(propertyApiName + \".\" + apiName)}`;\n return rid;\n }\n\n // Datasource locator methods\n generateLocator(dataSetName, columnNames) {\n const datasetRid = `ri.ontology-metadata.temp.dataset.${this.hashString(dataSetName)}`;\n const branchId = \"main\";\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(ReadableIdGenerator.getForDataSetColumn(dataSetName, name), {\n datasource: {\n type: \"dataset\",\n dataset: {\n rid: datasetRid,\n branch: branchId\n }\n },\n name: name\n });\n });\n\n // Register datasource locator\n this.datasourceLocators.put(ReadableIdGenerator.getForDataSet(dataSetName), {\n type: \"dataset\",\n dataset: {\n rid: datasetRid,\n branch: branchId\n }\n });\n return {\n rid: datasetRid,\n branchId\n };\n }\n generateStreamLocator(streamName, columnNames) {\n const streamLocatorRid = `ri.ontology-metadata.temp.stream-datasource.${this.hashString(streamName)}`;\n const branchId = \"main\";\n const locator = {\n streamLocatorRid,\n branchId\n };\n const marketplaceLocator = {\n type: \"stream\",\n stream: {\n rid: streamLocatorRid,\n branch: branchId\n }\n };\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(ReadableIdGenerator.getForStreamColumn(streamName, name), {\n datasource: marketplaceLocator,\n name: name\n });\n });\n\n // Register datasource locator\n this.datasourceLocators.put(ReadableIdGenerator.getForStream(streamName), marketplaceLocator);\n return locator;\n }\n generateRestrictedViewLocator(restrictedViewName, columnNames) {\n const restrictedViewRid = `ri.ontology-metadata.temp.restricted-view.${this.hashString(restrictedViewName)}`;\n\n // Register column shapes\n columnNames.forEach(name => {\n this.columnShapes.put(ReadableIdGenerator.getForRestrictedViewColumn(restrictedViewName, name), {\n datasource: {\n type: \"restrictedView\",\n restrictedView: {\n rid: restrictedViewRid\n }\n },\n name: name\n });\n });\n\n // Register datasource locator\n this.datasourceLocators.put(ReadableIdGenerator.getForRestrictedView(restrictedViewName), {\n type: \"restrictedView\",\n restrictedView: {\n rid: restrictedViewRid\n }\n });\n return {\n rid: restrictedViewRid\n };\n }\n generateMediaSetViewLocator(mediaSetViewName) {\n const mediaSetRid = `ri.ontology-metadata.temp.media-set.${this.hashString(mediaSetViewName)}`;\n const mediaSetBranchRid = `ri.ontology-metadata.temp.media-set-branch.${this.hashString(mediaSetViewName)}`;\n const mediaSetViewRid = `ri.ontology-metadata.temp.media-set-view.${this.hashString(mediaSetViewName)}`;\n\n // Register files datasource locator\n this.filesDatasourceLocators.put(ReadableIdGenerator.getForMediaSetView(mediaSetViewName), {\n type: \"mediaSet\",\n mediaSet: {\n rid: mediaSetRid,\n branch: \"master\" // matches OntologyMetadataConstants.ONTOLOGY_DATASET_BRANCH_ID\n }\n });\n return {\n mediaSetRid,\n mediaSetViewRid,\n mediaSetBranchRid\n };\n }\n toBlockInternalId(readableId) {\n const id = toBlockShapeId(readableId, this.randomnessUuid);\n return id;\n }\n getObjectTypeIds() {\n return this.objectTypeIds;\n }\n generateObjectTypeId(objectTypeApiName) {\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}"]}