@osdk/maker-experimental 0.6.0-beta.8 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/build/browser/api/defineOntologyV2.js +6 -1
- package/build/browser/api/defineOntologyV2.js.map +1 -1
- package/build/browser/cli/generateBackingDataset.js +82 -36
- package/build/browser/cli/generateBackingDataset.js.map +1 -1
- package/build/browser/cli/main.js +55 -4
- package/build/browser/cli/main.js.map +1 -1
- package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +2 -2
- package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -1
- package/build/cjs/index.cjs +111 -33
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +1 -0
- package/build/esm/api/defineOntologyV2.js +6 -1
- package/build/esm/api/defineOntologyV2.js.map +1 -1
- package/build/esm/cli/generateBackingDataset.js +82 -36
- package/build/esm/cli/generateBackingDataset.js.map +1 -1
- package/build/esm/cli/main.js +55 -4
- package/build/esm/cli/main.js.map +1 -1
- package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +2 -2
- package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -1
- package/build/types/api/defineOntologyV2.d.ts +1 -0
- package/build/types/api/defineOntologyV2.d.ts.map +1 -1
- package/build/types/cli/generateBackingDataset.d.ts +5 -1
- package/build/types/cli/generateBackingDataset.d.ts.map +1 -1
- package/build/types/cli/main.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkTypeShapeExtractor.js","names":["createLocalizedAbout","fallbackTitle","fallbackDescription","localizedTitle","localizedDescription","LinkTypeShapeExtractor","extract","linkReadableId","link","ridGenerator","editsEnabled","entityMetadata","arePatchesEnabled","definition","linkType","type","extractIntermediary","intermediary","extractManyToMany","manyToMany","datasources","extractOneToMany","oneToMany","Error","linkDefinition","outputShape","about","oneToManyLinkMetadata","displayMetadata","displayName","objectTypeShapeIdOneSide","getObjectTypeShapeId","objectTypeRidOneSide","objectTypeShapeIdManySide","objectTypeRidManySide","manyToOneLinkMetadata","cardinalityHint","inputShapes","Map","outputShapes","inputShapeMetadata","dataSources","linkTypeName","objectTypeAToBLinkMetadata","objectTypeBToALinkMetadata","objectTypeShapeIdA","objectTypeRidA","objectTypeShapeIdB","objectTypeRidB","editsSupport","objectsBackendVersion","datasetShapes","datasource","datasourceDefinition","datasourceLocator","columns","datasourceType","dataset","rid","datasetRid","branch","branchId","Set","Object","values","objectTypeAPrimaryKeyMapping","map","String","objectTypeBPrimaryKeyMapping","stream","streamLocator","streamLocatorRid","datasourceReadableId","id","loc","getDatasourceLocators","entries","datasourceLocatorsMatch","columnShapes","getColumnInputShapesForManyToManyDatasets","shape","set","datasourceShape","getInputShapeForManyToManyDatasource","objectTypeAShapeId","objectTypeBShapeId","intermediaryObjectTypeShapeId","intermediaryObjectTypeRid","aToIntermediaryLinkTypeShapeId","getLinkTypeShapeId","aToIntermediaryLinkTypeRid","intermediaryToBLinkTypeShapeId","intermediaryToBLinkTypeRid","objectTypeRid","readableId","getObjectTypeRids","inverse","get","toBlockInternalId","linkTypeRid","getLinkTypeRids","columnReferences","column","getColumnShapes","name","push","schema","supportedTypes","tabularDatasource","columnShape","generic","any","typeclasses","datasourceColumn","a","b","restrictedView"],"sources":["LinkTypeShapeExtractor.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 IntermediaryLinkDefinition,\n LinkTypeBlockDataV2,\n LinkTypeRid,\n ManyToManyLinkDefinition,\n ObjectTypeRid,\n} from \"@osdk/client.unstable\";\nimport type {\n DatasourceColumnShape,\n DatasourceLocator,\n InputShape,\n LinkTypeIntermediaryShape,\n LinkTypeManyToManyOutputShape,\n LinkTypeOneToManyShape,\n LinkTypeOutputShape,\n LocalizedTitleAndDescription,\n TabularDatasourceInputShape,\n TabularDatasourceType,\n Void,\n} from \"@osdk/client.unstable/api\";\nimport type {\n BlockShapes,\n OntologyRidGenerator,\n ReadableId,\n} from \"../../../util/generateRid.js\";\n\n/**\n * Helper to create LocalizedTitleAndDescription with empty localizations\n */\nfunction createLocalizedAbout(\n fallbackTitle: string,\n fallbackDescription: string = \"\",\n): LocalizedTitleAndDescription {\n return {\n fallbackTitle,\n fallbackDescription,\n localizedTitle: {},\n localizedDescription: {},\n };\n}\n\n/**\n * TypeScript port of Java's LinkTypeShapeExtractor class\n */\nexport class LinkTypeShapeExtractor {\n /**\n * Extract shapes from a LinkType\n */\n extract(\n linkReadableId: ReadableId,\n link: LinkTypeBlockDataV2,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const editsEnabled = link.entityMetadata?.arePatchesEnabled ?? false;\n\n const definition = link.linkType.definition;\n\n switch (definition.type) {\n case \"intermediary\":\n return this.extractIntermediary(\n linkReadableId,\n definition.intermediary,\n ridGenerator,\n );\n case \"manyToMany\":\n return this.extractManyToMany(\n linkReadableId,\n definition.manyToMany,\n ridGenerator,\n link.datasources,\n editsEnabled,\n );\n case \"oneToMany\":\n return this.extractOneToMany(\n linkReadableId,\n definition.oneToMany,\n ridGenerator,\n );\n default:\n throw new Error(\n `Unknown link definition type: ${(definition as any).type}`,\n );\n }\n }\n\n /**\n * Extract one-to-many link shape\n */\n private extractOneToMany(\n linkReadableId: ReadableId,\n linkDefinition: any,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const outputShape: LinkTypeOneToManyShape = {\n about: createLocalizedAbout(\n linkDefinition.oneToManyLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeShapeIdOneSide: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidOneSide,\n ),\n objectTypeShapeIdManySide: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidManySide,\n ),\n manyToOneLinkMetadata: createLocalizedAbout(\n linkDefinition.manyToOneLinkMetadata.displayMetadata.displayName,\n ),\n oneToManyLinkMetadata: createLocalizedAbout(\n linkDefinition.oneToManyLinkMetadata.displayMetadata.displayName,\n ),\n cardinalityHint: linkDefinition.cardinalityHint === \"ONE_TO_ONE\"\n ? \"ONE_TO_ONE\"\n : \"ONE_TO_MANY\",\n };\n\n return {\n inputShapes: new Map(),\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"oneToMany\",\n oneToMany: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Extract many-to-many link shape\n */\n private extractManyToMany(\n linkReadableId: ReadableId,\n linkDefinition: ManyToManyLinkDefinition,\n ridGenerator: OntologyRidGenerator,\n dataSources: any[],\n editsEnabled: boolean,\n ): BlockShapes {\n const linkTypeName =\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName;\n\n const outputShape: LinkTypeManyToManyOutputShape = {\n about: createLocalizedAbout(linkTypeName),\n objectTypeAToBLinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeBToALinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeBToALinkMetadata.displayMetadata.displayName,\n ),\n objectTypeShapeIdA: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidA,\n ),\n objectTypeShapeIdB: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidB,\n ),\n editsSupport: editsEnabled ? \"EDITS_ENABLED\" : \"EDITS_DISABLED\",\n objectsBackendVersion: \"V2\",\n };\n\n const datasetShapes = new Map<ReadableId, InputShape>();\n\n for (const datasource of dataSources) {\n const datasourceDefinition = datasource.datasource;\n let datasourceLocator: DatasourceLocator;\n let columns: Set<string>;\n let datasourceType: TabularDatasourceType;\n\n if (datasourceDefinition.type === \"dataset\") {\n datasourceLocator = {\n type: \"dataset\",\n dataset: {\n rid: datasourceDefinition.dataset.datasetRid,\n branch: datasourceDefinition.dataset.branchId,\n },\n };\n columns = new Set([\n ...Object.values(\n datasourceDefinition.dataset.objectTypeAPrimaryKeyMapping,\n ).map(String),\n ...Object.values(\n datasourceDefinition.dataset.objectTypeBPrimaryKeyMapping,\n ).map(String),\n ]);\n datasourceType = \"DATASET\";\n } else if (datasourceDefinition.type === \"stream\") {\n datasourceLocator = {\n type: \"stream\",\n stream: {\n rid: datasourceDefinition.stream.streamLocator.streamLocatorRid,\n branch: datasourceDefinition.stream.streamLocator.branchId,\n },\n };\n columns = new Set([\n ...Object.values(\n datasourceDefinition.stream.objectTypeAPrimaryKeyMapping,\n ).map(String),\n ...Object.values(\n datasourceDefinition.stream.objectTypeBPrimaryKeyMapping,\n ).map(String),\n ]);\n datasourceType = \"STREAM\";\n } else {\n continue;\n }\n\n // Find datasource readable ID\n let datasourceReadableId: ReadableId | undefined;\n for (\n const [id, loc] of ridGenerator.getDatasourceLocators()\n .entries()\n ) {\n if (this.datasourceLocatorsMatch(loc, datasourceLocator)) {\n datasourceReadableId = id;\n break;\n }\n }\n\n if (!datasourceReadableId) continue;\n\n // Create column shapes\n const columnShapes = this.getColumnInputShapesForManyToManyDatasets(\n ridGenerator,\n columns,\n datasourceLocator,\n datasourceReadableId,\n );\n\n for (const [id, shape] of columnShapes.entries()) {\n datasetShapes.set(id, shape);\n }\n\n // Create datasource shape\n const datasourceShape = this.getInputShapeForManyToManyDatasource(\n ridGenerator,\n linkTypeName,\n columns,\n datasourceLocator,\n datasourceType,\n );\n\n datasetShapes.set(datasourceReadableId, datasourceShape);\n }\n\n return {\n inputShapes: datasetShapes,\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"manyToMany\",\n manyToMany: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Extract intermediary link shape\n */\n private extractIntermediary(\n linkReadableId: ReadableId,\n linkDefinition: IntermediaryLinkDefinition,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const outputShape: LinkTypeIntermediaryShape = {\n about: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeAToBLinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeBToALinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeBToALinkMetadata.displayMetadata.displayName,\n ),\n objectTypeAShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidA,\n ),\n objectTypeBShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidB,\n ),\n intermediaryObjectTypeShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.intermediaryObjectTypeRid,\n ),\n aToIntermediaryLinkTypeShapeId: this.getLinkTypeShapeId(\n ridGenerator,\n linkDefinition.aToIntermediaryLinkTypeRid,\n ),\n intermediaryToBLinkTypeShapeId: this.getLinkTypeShapeId(\n ridGenerator,\n linkDefinition.intermediaryToBLinkTypeRid,\n ),\n };\n\n return {\n inputShapes: new Map(),\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"intermediary\",\n intermediary: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Get object type shape ID reference\n */\n private getObjectTypeShapeId(\n ridGenerator: OntologyRidGenerator,\n objectTypeRid: ObjectTypeRid,\n ): string {\n const readableId = ridGenerator.getObjectTypeRids().inverse().get(\n objectTypeRid,\n );\n if (!readableId) {\n throw new Error(`Object type RID not found: ${objectTypeRid}`);\n }\n return ridGenerator.toBlockInternalId(readableId);\n }\n\n /**\n * Get link type shape ID reference\n */\n private getLinkTypeShapeId(\n ridGenerator: OntologyRidGenerator,\n linkTypeRid: LinkTypeRid,\n ): string {\n const readableId = ridGenerator.getLinkTypeRids().inverse().get(\n linkTypeRid,\n );\n if (!readableId) {\n throw new Error(`Object type RID not found: ${linkTypeRid}`);\n }\n return ridGenerator.toBlockInternalId(readableId);\n }\n\n /**\n * Get input shape for many-to-many datasource\n */\n private getInputShapeForManyToManyDatasource(\n ridGenerator: OntologyRidGenerator,\n linkTypeName: string,\n columns: Set<string>,\n datasourceLocator: DatasourceLocator,\n datasourceType: TabularDatasourceType,\n ): InputShape {\n const columnReferences: string[] = [];\n\n for (const column of columns) {\n for (\n const [id, shape] of ridGenerator.getColumnShapes().entries()\n ) {\n if (\n this.datasourceLocatorsMatch(shape.datasource, datasourceLocator)\n && shape.name === column\n ) {\n columnReferences.push(id);\n break;\n }\n }\n }\n\n const shape: TabularDatasourceInputShape = {\n about: createLocalizedAbout(linkTypeName),\n schema: columnReferences,\n supportedTypes: [datasourceType],\n };\n\n return {\n type: \"tabularDatasource\",\n tabularDatasource: shape,\n };\n }\n\n /**\n * Get column input shapes for many-to-many datasets\n */\n private getColumnInputShapesForManyToManyDatasets(\n ridGenerator: OntologyRidGenerator,\n columns: Set<string>,\n datasourceLocator: DatasourceLocator,\n datasourceReadableId: ReadableId,\n ): Map<ReadableId, InputShape> {\n const columnShapes = new Map<ReadableId, InputShape>();\n\n for (const column of columns) {\n for (\n const [id, shape] of ridGenerator.getColumnShapes().entries()\n ) {\n if (\n this.datasourceLocatorsMatch(shape.datasource, datasourceLocator)\n && shape.name === column\n ) {\n const columnShape: DatasourceColumnShape = {\n about: createLocalizedAbout(column),\n type: {\n type: \"generic\",\n generic: { type: \"any\", any: {} as Void },\n },\n datasource: datasourceReadableId,\n typeclasses: [],\n };\n\n columnShapes.set(id, {\n type: \"datasourceColumn\",\n datasourceColumn: columnShape,\n });\n break;\n }\n }\n }\n\n return columnShapes;\n }\n\n /**\n * Helper to compare datasource locators\n */\n private datasourceLocatorsMatch(\n a: DatasourceLocator,\n b: DatasourceLocator,\n ): boolean {\n if (a.type !== b.type) return false;\n\n if (a.type === \"dataset\" && b.type === \"dataset\") {\n return a.dataset.rid === b.dataset.rid\n && a.dataset.branch === b.dataset.branch;\n }\n\n if (a.type === \"stream\" && b.type === \"stream\") {\n return a.stream.rid === b.stream.rid\n && a.stream.branch === b.stream.branch;\n }\n\n if (a.type === \"restrictedView\" && b.type === \"restrictedView\") {\n return a.restrictedView.rid === b.restrictedView.rid;\n }\n\n return false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LinkTypeShapeExtractor.js","names":["createLocalizedAbout","fallbackTitle","fallbackDescription","localizedTitle","localizedDescription","LinkTypeShapeExtractor","extract","linkReadableId","link","ridGenerator","editsEnabled","entityMetadata","arePatchesEnabled","definition","linkType","type","extractIntermediary","intermediary","extractManyToMany","manyToMany","datasources","extractOneToMany","oneToMany","Error","linkDefinition","outputShape","about","oneToManyLinkMetadata","displayMetadata","displayName","objectTypeShapeIdOneSide","getObjectTypeShapeId","objectTypeRidOneSide","objectTypeShapeIdManySide","objectTypeRidManySide","manyToOneLinkMetadata","cardinalityHint","inputShapes","Map","outputShapes","inputShapeMetadata","dataSources","linkTypeName","objectTypeAToBLinkMetadata","objectTypeBToALinkMetadata","objectTypeShapeIdA","objectTypeRidA","objectTypeShapeIdB","objectTypeRidB","editsSupport","objectsBackendVersion","datasetShapes","datasource","datasourceDefinition","datasourceLocator","columns","datasourceType","dataset","rid","datasetRid","branch","branchId","Set","Object","values","objectTypeAPrimaryKeyMapping","map","String","objectTypeBPrimaryKeyMapping","stream","streamLocator","streamLocatorRid","datasourceReadableId","id","loc","getDatasourceLocators","entries","datasourceLocatorsMatch","columnShapes","getColumnInputShapesForManyToManyDatasets","shape","set","datasourceShape","getInputShapeForManyToManyDatasource","objectTypeAShapeId","objectTypeBShapeId","intermediaryObjectTypeShapeId","intermediaryObjectTypeRid","aToIntermediaryLinkTypeShapeId","getLinkTypeShapeId","aToIntermediaryLinkTypeRid","intermediaryToBLinkTypeShapeId","intermediaryToBLinkTypeRid","objectTypeRid","readableId","getObjectTypeRids","inverse","get","toBlockInternalId","linkTypeRid","getLinkTypeRids","columnReferences","column","getColumnShapes","name","push","schema","supportedTypes","tabularDatasource","columnShape","generic","any","typeclasses","datasourceColumn","a","b","restrictedView"],"sources":["LinkTypeShapeExtractor.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 IntermediaryLinkDefinition,\n LinkTypeBlockDataV2,\n LinkTypeRid,\n ManyToManyLinkDefinition,\n ObjectTypeRid,\n} from \"@osdk/client.unstable\";\nimport type {\n DatasourceColumnShape,\n DatasourceLocator,\n InputShape,\n LinkTypeIntermediaryShape,\n LinkTypeManyToManyOutputShape,\n LinkTypeOneToManyShape,\n LinkTypeOutputShape,\n LocalizedTitleAndDescription,\n TabularDatasourceInputShape,\n TabularDatasourceType,\n Void,\n} from \"@osdk/client.unstable/api\";\nimport type {\n BlockShapes,\n OntologyRidGenerator,\n ReadableId,\n} from \"../../../util/generateRid.js\";\n\n/**\n * Helper to create LocalizedTitleAndDescription with empty localizations\n */\nfunction createLocalizedAbout(\n fallbackTitle: string,\n fallbackDescription: string = \"\",\n): LocalizedTitleAndDescription {\n return {\n fallbackTitle,\n fallbackDescription,\n localizedTitle: {},\n localizedDescription: {},\n };\n}\n\n/**\n * TypeScript port of Java's LinkTypeShapeExtractor class\n */\nexport class LinkTypeShapeExtractor {\n /**\n * Extract shapes from a LinkType\n */\n extract(\n linkReadableId: ReadableId,\n link: LinkTypeBlockDataV2,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const editsEnabled = link.entityMetadata?.arePatchesEnabled ?? false;\n\n const definition = link.linkType.definition;\n\n switch (definition.type) {\n case \"intermediary\":\n return this.extractIntermediary(\n linkReadableId,\n definition.intermediary,\n ridGenerator,\n );\n case \"manyToMany\":\n return this.extractManyToMany(\n linkReadableId,\n definition.manyToMany,\n ridGenerator,\n link.datasources,\n editsEnabled,\n );\n case \"oneToMany\":\n return this.extractOneToMany(\n linkReadableId,\n definition.oneToMany,\n ridGenerator,\n );\n default:\n throw new Error(\n `Unknown link definition type: ${(definition as any).type}`,\n );\n }\n }\n\n /**\n * Extract one-to-many link shape\n */\n private extractOneToMany(\n linkReadableId: ReadableId,\n linkDefinition: any,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const outputShape: LinkTypeOneToManyShape = {\n about: createLocalizedAbout(\n linkDefinition.oneToManyLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeShapeIdOneSide: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidOneSide,\n ),\n objectTypeShapeIdManySide: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidManySide,\n ),\n manyToOneLinkMetadata: createLocalizedAbout(\n linkDefinition.manyToOneLinkMetadata.displayMetadata.displayName,\n ),\n oneToManyLinkMetadata: createLocalizedAbout(\n linkDefinition.oneToManyLinkMetadata.displayMetadata.displayName,\n ),\n cardinalityHint: linkDefinition.cardinalityHint === \"ONE_TO_ONE\"\n ? \"ONE_TO_ONE\"\n : \"ONE_TO_MANY\",\n };\n\n return {\n inputShapes: new Map(),\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"oneToMany\",\n oneToMany: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Extract many-to-many link shape\n */\n private extractManyToMany(\n linkReadableId: ReadableId,\n linkDefinition: ManyToManyLinkDefinition,\n ridGenerator: OntologyRidGenerator,\n dataSources: any[],\n editsEnabled: boolean,\n ): BlockShapes {\n const linkTypeName =\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName;\n\n const outputShape: LinkTypeManyToManyOutputShape = {\n about: createLocalizedAbout(linkTypeName),\n objectTypeAToBLinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeBToALinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeBToALinkMetadata.displayMetadata.displayName,\n ),\n objectTypeShapeIdA: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidA,\n ),\n objectTypeShapeIdB: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidB,\n ),\n editsSupport: editsEnabled ? \"EDITS_ENABLED\" : \"EDITS_DISABLED\",\n objectsBackendVersion: \"V2\",\n };\n\n const datasetShapes = new Map<ReadableId, InputShape>();\n\n for (const datasource of dataSources) {\n const datasourceDefinition = datasource.datasource;\n let datasourceLocator: DatasourceLocator;\n let columns: Set<string>;\n let datasourceType: TabularDatasourceType;\n\n if (datasourceDefinition.type === \"dataset\") {\n datasourceLocator = {\n type: \"dataset\",\n dataset: {\n rid: datasourceDefinition.dataset.datasetRid,\n branch: datasourceDefinition.dataset.branchId,\n },\n };\n columns = new Set([\n ...Object.values(\n datasourceDefinition.dataset.objectTypeAPrimaryKeyMapping,\n ).map(String),\n ...Object.values(\n datasourceDefinition.dataset.objectTypeBPrimaryKeyMapping,\n ).map(String),\n ]);\n datasourceType = \"DATASET\";\n } else if (datasourceDefinition.type === \"stream\") {\n datasourceLocator = {\n type: \"stream\",\n stream: {\n rid: datasourceDefinition.stream.streamLocator.streamLocatorRid,\n branch: datasourceDefinition.stream.streamLocator.branchId,\n },\n };\n columns = new Set([\n ...Object.values(\n datasourceDefinition.stream.objectTypeAPrimaryKeyMapping,\n ).map(String),\n ...Object.values(\n datasourceDefinition.stream.objectTypeBPrimaryKeyMapping,\n ).map(String),\n ]);\n datasourceType = \"STREAM\";\n } else {\n continue;\n }\n\n // Find datasource readable ID\n let datasourceReadableId: ReadableId | undefined;\n for (\n const [id, loc] of ridGenerator.getDatasourceLocators()\n .entries()\n ) {\n if (this.datasourceLocatorsMatch(loc, datasourceLocator)) {\n datasourceReadableId = id;\n break;\n }\n }\n\n if (!datasourceReadableId) continue;\n\n // Create column shapes\n const columnShapes = this.getColumnInputShapesForManyToManyDatasets(\n ridGenerator,\n columns,\n datasourceLocator,\n datasourceReadableId,\n );\n\n for (const [id, shape] of columnShapes.entries()) {\n datasetShapes.set(id, shape);\n }\n\n // Create datasource shape\n const datasourceShape = this.getInputShapeForManyToManyDatasource(\n ridGenerator,\n linkTypeName,\n columns,\n datasourceLocator,\n datasourceType,\n );\n\n datasetShapes.set(datasourceReadableId, datasourceShape);\n }\n\n return {\n inputShapes: datasetShapes,\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"manyToMany\",\n manyToMany: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Extract intermediary link shape\n */\n private extractIntermediary(\n linkReadableId: ReadableId,\n linkDefinition: IntermediaryLinkDefinition,\n ridGenerator: OntologyRidGenerator,\n ): BlockShapes {\n const outputShape: LinkTypeIntermediaryShape = {\n about: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeAToBLinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeAToBLinkMetadata.displayMetadata.displayName,\n ),\n objectTypeBToALinkMetadata: createLocalizedAbout(\n linkDefinition.objectTypeBToALinkMetadata.displayMetadata.displayName,\n ),\n objectTypeAShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidA,\n ),\n objectTypeBShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.objectTypeRidB,\n ),\n intermediaryObjectTypeShapeId: this.getObjectTypeShapeId(\n ridGenerator,\n linkDefinition.intermediaryObjectTypeRid,\n ),\n aToIntermediaryLinkTypeShapeId: this.getLinkTypeShapeId(\n ridGenerator,\n linkDefinition.aToIntermediaryLinkTypeRid,\n ),\n intermediaryToBLinkTypeShapeId: this.getLinkTypeShapeId(\n ridGenerator,\n linkDefinition.intermediaryToBLinkTypeRid,\n ),\n };\n\n return {\n inputShapes: new Map(),\n outputShapes: new Map([[linkReadableId, {\n type: \"linkType\",\n linkType: {\n type: \"intermediary\",\n intermediary: outputShape,\n } as LinkTypeOutputShape,\n }]]),\n inputShapeMetadata: new Map(),\n };\n }\n\n /**\n * Get object type shape ID reference\n */\n private getObjectTypeShapeId(\n ridGenerator: OntologyRidGenerator,\n objectTypeRid: ObjectTypeRid,\n ): string {\n const readableId = ridGenerator.getObjectTypeRids().inverse().get(\n objectTypeRid,\n );\n if (!readableId) {\n throw new Error(`Object type RID not found: ${objectTypeRid}`);\n }\n return ridGenerator.toBlockInternalId(readableId);\n }\n\n /**\n * Get link type shape ID reference\n */\n private getLinkTypeShapeId(\n ridGenerator: OntologyRidGenerator,\n linkTypeRid: LinkTypeRid,\n ): string {\n const readableId = ridGenerator.getLinkTypeRids().inverse().get(\n linkTypeRid,\n );\n if (!readableId) {\n throw new Error(`Object type RID not found: ${linkTypeRid}`);\n }\n return ridGenerator.toBlockInternalId(readableId);\n }\n\n /**\n * Get input shape for many-to-many datasource\n */\n private getInputShapeForManyToManyDatasource(\n ridGenerator: OntologyRidGenerator,\n linkTypeName: string,\n columns: Set<string>,\n datasourceLocator: DatasourceLocator,\n datasourceType: TabularDatasourceType,\n ): InputShape {\n const columnReferences: string[] = [];\n\n for (const column of columns) {\n for (\n const [id, shape] of ridGenerator.getColumnShapes().entries()\n ) {\n if (\n this.datasourceLocatorsMatch(shape.datasource, datasourceLocator)\n && shape.name === column\n ) {\n columnReferences.push(ridGenerator.toBlockInternalId(id));\n break;\n }\n }\n }\n\n const shape: TabularDatasourceInputShape = {\n about: createLocalizedAbout(linkTypeName),\n schema: columnReferences,\n supportedTypes: [datasourceType],\n };\n\n return {\n type: \"tabularDatasource\",\n tabularDatasource: shape,\n };\n }\n\n /**\n * Get column input shapes for many-to-many datasets\n */\n private getColumnInputShapesForManyToManyDatasets(\n ridGenerator: OntologyRidGenerator,\n columns: Set<string>,\n datasourceLocator: DatasourceLocator,\n datasourceReadableId: ReadableId,\n ): Map<ReadableId, InputShape> {\n const columnShapes = new Map<ReadableId, InputShape>();\n\n for (const column of columns) {\n for (\n const [id, shape] of ridGenerator.getColumnShapes().entries()\n ) {\n if (\n this.datasourceLocatorsMatch(shape.datasource, datasourceLocator)\n && shape.name === column\n ) {\n const columnShape: DatasourceColumnShape = {\n about: createLocalizedAbout(column),\n type: {\n type: \"generic\",\n generic: { type: \"any\", any: {} as Void },\n },\n datasource: ridGenerator.toBlockInternalId(datasourceReadableId),\n typeclasses: [],\n };\n\n columnShapes.set(id, {\n type: \"datasourceColumn\",\n datasourceColumn: columnShape,\n });\n break;\n }\n }\n }\n\n return columnShapes;\n }\n\n /**\n * Helper to compare datasource locators\n */\n private datasourceLocatorsMatch(\n a: DatasourceLocator,\n b: DatasourceLocator,\n ): boolean {\n if (a.type !== b.type) return false;\n\n if (a.type === \"dataset\" && b.type === \"dataset\") {\n return a.dataset.rid === b.dataset.rid\n && a.dataset.branch === b.dataset.branch;\n }\n\n if (a.type === \"stream\" && b.type === \"stream\") {\n return a.stream.rid === b.stream.rid\n && a.stream.branch === b.stream.branch;\n }\n\n if (a.type === \"restrictedView\" && b.type === \"restrictedView\") {\n return a.restrictedView.rid === b.restrictedView.rid;\n }\n\n return false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,5 +4,6 @@ export interface OntologyV2Result {
|
|
|
4
4
|
ontologyIr: OntologyIrV2;
|
|
5
5
|
shapes: BlockShapes;
|
|
6
6
|
backingDatasourceApiNames: string[];
|
|
7
|
+
backingDatasourceLinkApiNames: string[];
|
|
7
8
|
}
|
|
8
9
|
export declare function defineOntologyV2(ns: string, body: () => void | Promise<void>, randomnessKey?: string): Promise<OntologyV2Result>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,oBAAoB,uBAAwB;AAS1D,cAAc,mBAAmB,wBAAyB;AAG1D,iBAAiB,iBAAiB;CAChC,YAAY;CACZ,QAAQ;CACR;AACD;AAED,OAAO,iBAAe,iBACpBA,YACAC,mBAAmB,eACnBC,yBACC,QAAQ","names":["ns: string","body: () => void | Promise<void>","randomnessKey?: string"],"sources":["../../../src/api/defineOntologyV2.ts"],"version":3,"file":"defineOntologyV2.d.ts"}
|
|
1
|
+
{"mappings":"AAgBA,cAAc,oBAAoB,uBAAwB;AAS1D,cAAc,mBAAmB,wBAAyB;AAG1D,iBAAiB,iBAAiB;CAChC,YAAY;CACZ,QAAQ;CACR;CACA;AACD;AAED,OAAO,iBAAe,iBACpBA,YACAC,mBAAmB,eACnBC,yBACC,QAAQ","names":["ns: string","body: () => void | Promise<void>","randomnessKey?: string"],"sources":["../../../src/api/defineOntologyV2.ts"],"version":3,"file":"defineOntologyV2.d.ts"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ObjectTypeBlockDataV2, PropertyType } from "@osdk/client.unstable";
|
|
1
|
+
import type { LinkTypeBlockDataV2, ObjectTypeBlockDataV2, PropertyType } from "@osdk/client.unstable";
|
|
2
2
|
import type { BlockGeneratorResult } from "./marketplaceSerialization/BlockGeneratorResult.js";
|
|
3
3
|
/**
|
|
4
4
|
* Map from maker property type to Foundry schema field type
|
|
@@ -14,3 +14,7 @@ export declare function getNonEditOnlyProperties(objectTypeBlockData: ObjectType
|
|
|
14
14
|
* Generate a backing datasource BlockGeneratorResult for an object type.
|
|
15
15
|
*/
|
|
16
16
|
export declare function generateBackingDatasetBlockResult(objectTypeBlockData: ObjectTypeBlockDataV2, buildDir: string, randomnessKey?: string): Promise<BlockGeneratorResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Generate a backing datasource BlockGeneratorResult for a many-to-many link type.
|
|
19
|
+
*/
|
|
20
|
+
export declare function generateBackingDatasetBlockResultForLink(linkTypeBlockData: LinkTypeBlockDataV2, linkApiName: string, objectTypes: Record<string, ObjectTypeBlockDataV2>, buildDir: string, randomnessKey?: string): Promise<BlockGeneratorResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,uBACA,
|
|
1
|
+
{"mappings":"AAgBA,cACE,qBACA,uBACA,oBAGK,uBAAwB;AAS/B,cAAc,4BAA4B,oDAAqD;;;;AAM/F,OAAO,iBAAS,yBACdA,mBAAmB;CAAE;AAAc;;;;AA6DrC,OAAO,iBAAS,yBACdC,qBAAqB,wBACpB;;;;AA+PH,OAAO,iBAAe,kCACpBA,qBAAqB,uBACrBC,kBACAC,yBACC,QAAQ;;;;AAsBX,OAAO,iBAAe,yCACpBC,mBAAmB,qBACnBC,qBACAC,aAAa,eAAe,wBAC5BJ,kBACAC,yBACC,QAAQ","names":["propType: string | { type: string }","objectTypeBlockData: ObjectTypeBlockDataV2","buildDir: string","randomnessKey?: string","linkTypeBlockData: LinkTypeBlockDataV2","linkApiName: string","objectTypes: Record<string, ObjectTypeBlockDataV2>"],"sources":["../../../src/cli/generateBackingDataset.ts"],"version":3,"file":"generateBackingDataset.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"eA0Ce,SAAe,KAC5BA,kBACC","names":["args: string[]"],"sources":["../../../src/cli/main.ts"],"version":3,"file":"main.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/maker-experimental",
|
|
3
|
-
"version": "0.6.0
|
|
3
|
+
"version": "0.6.0",
|
|
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/api": "~2.8.0
|
|
35
|
-
"@osdk/
|
|
36
|
-
"@osdk/
|
|
34
|
+
"@osdk/api": "~2.8.0",
|
|
35
|
+
"@osdk/client.unstable": "~2.8.0",
|
|
36
|
+
"@osdk/maker": "~0.16.0"
|
|
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.
|
|
44
|
-
"@osdk/monorepo.
|
|
43
|
+
"@osdk/monorepo.tsconfig": "~0.7.0",
|
|
44
|
+
"@osdk/monorepo.api-extractor": "~0.7.0"
|
|
45
45
|
},
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|