@osdk/maker-experimental 0.6.0-beta.2 → 0.6.0-beta.4
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 +27 -0
- package/bin/maker-experimental.mjs +6 -0
- package/build/browser/api/defineOntologyV2.js +35 -0
- package/build/browser/api/defineOntologyV2.js.map +1 -0
- package/build/browser/cli/main.js +120 -0
- package/build/browser/cli/main.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/BlockGeneratorResult.js +2 -0
- package/build/browser/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/CodeBlockSetSpec.js +2 -0
- package/build/browser/cli/marketplaceSerialization/CodeBlockSetSpec.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/CodeBlockSpec.js +53 -0
- package/build/browser/cli/marketplaceSerialization/CodeBlockSpec.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/StoreManifestEntry.js +2 -0
- package/build/browser/cli/marketplaceSerialization/StoreManifestEntry.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/index.js +2 -0
- package/build/browser/cli/marketplaceSerialization/index.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/specGenerators.js +70 -0
- package/build/browser/cli/marketplaceSerialization/specGenerators.js.map +1 -0
- package/build/browser/cli/marketplaceSerialization/supportingTypes.js +2 -0
- package/build/browser/cli/marketplaceSerialization/supportingTypes.js.map +1 -0
- package/build/browser/conversion/toConjure/distributeTypeHelper.js +23 -0
- package/build/browser/conversion/toConjure/distributeTypeHelper.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionHelpers.js +469 -0
- package/build/browser/conversion/toMarketplace/convertActionHelpers.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js +96 -0
- package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionParameters.js +81 -0
- package/build/browser/conversion/toMarketplace/convertActionParameters.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionSections.js +45 -0
- package/build/browser/conversion/toMarketplace/convertActionSections.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionValidation.js +160 -0
- package/build/browser/conversion/toMarketplace/convertActionValidation.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertActionVisibility.js +41 -0
- package/build/browser/conversion/toMarketplace/convertActionVisibility.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertCardinality.js +23 -0
- package/build/browser/conversion/toMarketplace/convertCardinality.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertConditionDefinition.js +88 -0
- package/build/browser/conversion/toMarketplace/convertConditionDefinition.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertDataConstraintToDataConstraints.js +26 -0
- package/build/browser/conversion/toMarketplace/convertDataConstraintToDataConstraints.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +352 -0
- package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertInterface.js +75 -0
- package/build/browser/conversion/toMarketplace/convertInterface.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertInterfacePropertyType.js +62 -0
- package/build/browser/conversion/toMarketplace/convertInterfacePropertyType.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertLink.js +247 -0
- package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertMappingValue.js +76 -0
- package/build/browser/conversion/toMarketplace/convertMappingValue.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertNullabilityToDataConstraint.js +42 -0
- package/build/browser/conversion/toMarketplace/convertNullabilityToDataConstraint.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertObject.js +262 -0
- package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js +59 -0
- package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertOntologyDefinition.js +29 -0
- package/build/browser/conversion/toMarketplace/convertOntologyDefinition.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +236 -0
- package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertOntologyToValueTypeIr.js +24 -0
- package/build/browser/conversion/toMarketplace/convertOntologyToValueTypeIr.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js +35 -0
- package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertSpt.js +65 -0
- package/build/browser/conversion/toMarketplace/convertSpt.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertValueType.js +20 -0
- package/build/browser/conversion/toMarketplace/convertValueType.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertValueTypeDataConstraints.js +30 -0
- package/build/browser/conversion/toMarketplace/convertValueTypeDataConstraints.js.map +1 -0
- package/build/browser/conversion/toMarketplace/convertValueTypesToIr.js +34 -0
- package/build/browser/conversion/toMarketplace/convertValueTypesToIr.js.map +1 -0
- package/build/browser/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js +83 -0
- package/build/browser/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js.map +1 -0
- package/build/browser/conversion/toMarketplace/getFormContentOrdering.js +39 -0
- package/build/browser/conversion/toMarketplace/getFormContentOrdering.js.map +1 -0
- package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js +146 -0
- package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js.map +1 -0
- package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +156 -0
- package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js +442 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +562 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js +513 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +274 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js +425 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js.map +1 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +677 -0
- package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +1 -0
- package/build/browser/conversion/toMarketplace/typeVisitors.js +615 -0
- package/build/browser/conversion/toMarketplace/typeVisitors.js.map +1 -0
- package/build/browser/index.js +2 -0
- package/build/browser/index.js.map +1 -1
- package/build/browser/util/generateRid.js +476 -0
- package/build/browser/util/generateRid.js.map +1 -0
- package/build/cjs/ActionTypeShapeExtractor-5IVLHAPH.cjs +395 -0
- package/build/cjs/ActionTypeShapeExtractor-5IVLHAPH.cjs.map +1 -0
- package/build/cjs/chunk-AWYOBJ25.cjs +440 -0
- package/build/cjs/chunk-AWYOBJ25.cjs.map +1 -0
- package/build/cjs/index.cjs +3965 -2663
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +103 -1
- package/build/esm/api/defineOntologyV2.js +35 -0
- package/build/esm/api/defineOntologyV2.js.map +1 -0
- package/build/esm/cli/main.js +120 -0
- package/build/esm/cli/main.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/BlockGeneratorResult.js +2 -0
- package/build/esm/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/CodeBlockSetSpec.js +2 -0
- package/build/esm/cli/marketplaceSerialization/CodeBlockSetSpec.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/CodeBlockSpec.js +53 -0
- package/build/esm/cli/marketplaceSerialization/CodeBlockSpec.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/StoreManifestEntry.js +2 -0
- package/build/esm/cli/marketplaceSerialization/StoreManifestEntry.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/index.js +2 -0
- package/build/esm/cli/marketplaceSerialization/index.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/specGenerators.js +70 -0
- package/build/esm/cli/marketplaceSerialization/specGenerators.js.map +1 -0
- package/build/esm/cli/marketplaceSerialization/supportingTypes.js +2 -0
- package/build/esm/cli/marketplaceSerialization/supportingTypes.js.map +1 -0
- package/build/esm/conversion/toConjure/distributeTypeHelper.js +23 -0
- package/build/esm/conversion/toConjure/distributeTypeHelper.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionHelpers.js +469 -0
- package/build/esm/conversion/toMarketplace/convertActionHelpers.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js +96 -0
- package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionParameters.js +81 -0
- package/build/esm/conversion/toMarketplace/convertActionParameters.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionSections.js +45 -0
- package/build/esm/conversion/toMarketplace/convertActionSections.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionValidation.js +160 -0
- package/build/esm/conversion/toMarketplace/convertActionValidation.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertActionVisibility.js +41 -0
- package/build/esm/conversion/toMarketplace/convertActionVisibility.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertCardinality.js +23 -0
- package/build/esm/conversion/toMarketplace/convertCardinality.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertConditionDefinition.js +88 -0
- package/build/esm/conversion/toMarketplace/convertConditionDefinition.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertDataConstraintToDataConstraints.js +26 -0
- package/build/esm/conversion/toMarketplace/convertDataConstraintToDataConstraints.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +352 -0
- package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertInterface.js +75 -0
- package/build/esm/conversion/toMarketplace/convertInterface.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertInterfacePropertyType.js +62 -0
- package/build/esm/conversion/toMarketplace/convertInterfacePropertyType.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertLink.js +247 -0
- package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertMappingValue.js +76 -0
- package/build/esm/conversion/toMarketplace/convertMappingValue.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertNullabilityToDataConstraint.js +42 -0
- package/build/esm/conversion/toMarketplace/convertNullabilityToDataConstraint.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertObject.js +262 -0
- package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js +59 -0
- package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertOntologyDefinition.js +29 -0
- package/build/esm/conversion/toMarketplace/convertOntologyDefinition.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +236 -0
- package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertOntologyToValueTypeIr.js +24 -0
- package/build/esm/conversion/toMarketplace/convertOntologyToValueTypeIr.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js +35 -0
- package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertSpt.js +65 -0
- package/build/esm/conversion/toMarketplace/convertSpt.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertValueType.js +20 -0
- package/build/esm/conversion/toMarketplace/convertValueType.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertValueTypeDataConstraints.js +30 -0
- package/build/esm/conversion/toMarketplace/convertValueTypeDataConstraints.js.map +1 -0
- package/build/esm/conversion/toMarketplace/convertValueTypesToIr.js +34 -0
- package/build/esm/conversion/toMarketplace/convertValueTypesToIr.js.map +1 -0
- package/build/esm/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js +83 -0
- package/build/esm/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js.map +1 -0
- package/build/esm/conversion/toMarketplace/getFormContentOrdering.js +39 -0
- package/build/esm/conversion/toMarketplace/getFormContentOrdering.js.map +1 -0
- package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js +146 -0
- package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js.map +1 -0
- package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +156 -0
- package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js +442 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +562 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js +513 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +274 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js +425 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js.map +1 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +677 -0
- package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +1 -0
- package/build/esm/conversion/toMarketplace/typeVisitors.js +615 -0
- package/build/esm/conversion/toMarketplace/typeVisitors.js.map +1 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/util/generateRid.js +476 -0
- package/build/esm/util/generateRid.js.map +1 -0
- package/build/types/api/defineOntologyV2.d.ts +3 -0
- package/build/types/api/defineOntologyV2.d.ts.map +1 -0
- package/build/types/cli/main.d.ts +1 -0
- package/build/types/cli/main.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts +69 -0
- package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/CodeBlockSetSpec.d.ts +60 -0
- package/build/types/cli/marketplaceSerialization/CodeBlockSetSpec.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/CodeBlockSpec.d.ts +48 -0
- package/build/types/cli/marketplaceSerialization/CodeBlockSpec.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/StoreManifestEntry.d.ts +13 -0
- package/build/types/cli/marketplaceSerialization/StoreManifestEntry.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/index.d.ts +11 -0
- package/build/types/cli/marketplaceSerialization/index.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/specGenerators.d.ts +10 -0
- package/build/types/cli/marketplaceSerialization/specGenerators.d.ts.map +1 -0
- package/build/types/cli/marketplaceSerialization/supportingTypes.d.ts +31 -0
- package/build/types/cli/marketplaceSerialization/supportingTypes.d.ts.map +1 -0
- package/build/types/conversion/toConjure/distributeTypeHelper.d.ts +3 -0
- package/build/types/conversion/toConjure/distributeTypeHelper.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionHelpers.d.ts +7 -0
- package/build/types/conversion/toMarketplace/convertActionHelpers.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionParameters.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertActionParameters.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionSections.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertActionSections.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionValidation.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertActionValidation.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertActionVisibility.d.ts +2 -0
- package/build/types/conversion/toMarketplace/convertActionVisibility.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertCardinality.d.ts +3 -0
- package/build/types/conversion/toMarketplace/convertCardinality.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts +3 -0
- package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertDataConstraintToDataConstraints.d.ts +2 -0
- package/build/types/conversion/toMarketplace/convertDataConstraintToDataConstraints.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertDatasourceDefinition.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertDatasourceDefinition.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertInterface.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertInterface.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertInterfacePropertyType.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertInterfacePropertyType.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertLink.d.ts +9 -0
- package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertMappingValue.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertMappingValue.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertNullabilityToDataConstraint.d.ts +6 -0
- package/build/types/conversion/toMarketplace/convertNullabilityToDataConstraint.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertObject.d.ts +10 -0
- package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertOntologyDefinition.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertOntologyDefinition.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertOntologyToValueTypeIr.d.ts +3 -0
- package/build/types/conversion/toMarketplace/convertOntologyToValueTypeIr.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts +3 -0
- package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertSpt.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertSpt.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertValueType.d.ts +4 -0
- package/build/types/conversion/toMarketplace/convertValueType.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertValueTypeDataConstraints.d.ts +2 -0
- package/build/types/conversion/toMarketplace/convertValueTypeDataConstraints.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/convertValueTypesToIr.d.ts +3 -0
- package/build/types/conversion/toMarketplace/convertValueTypesToIr.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.d.ts +2 -0
- package/build/types/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/getFormContentOrdering.d.ts +3 -0
- package/build/types/conversion/toMarketplace/getFormContentOrdering.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.d.ts +4 -0
- package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts +4 -0
- package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.d.ts +13 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.d.ts +11 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.d.ts +43 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.d.ts +28 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts +1 -0
- package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts.map +1 -0
- package/build/types/conversion/toMarketplace/typeVisitors.d.ts +17 -0
- package/build/types/conversion/toMarketplace/typeVisitors.d.ts.map +1 -0
- package/build/types/index.d.ts +3 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/util/generateRid.d.ts +216 -0
- package/build/types/util/generateRid.d.ts.map +1 -0
- package/package.json +10 -4
- package/build/cjs/chunk-ZPP374PZ.cjs +0 -17
- package/build/cjs/chunk-ZPP374PZ.cjs.map +0 -1
- package/build/cjs/prompt-VSXFWPU4.cjs +0 -955
- package/build/cjs/prompt-VSXFWPU4.cjs.map +0 -1
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import invariant from "tiny-invariant";
|
|
18
|
+
import { ReadableIdGenerator } from "../../util/generateRid.js";
|
|
19
|
+
export function convertDatasourceDefinition(objectType, properties, ridGenerator) {
|
|
20
|
+
const baseDatasource = objectType.datasources?.find(ds => ["dataset", "stream", "restrictedView"].includes(ds.type));
|
|
21
|
+
|
|
22
|
+
// Helper to get column names from properties
|
|
23
|
+
const getColumnNames = props => {
|
|
24
|
+
return new Set(props.map(p => p.apiName));
|
|
25
|
+
};
|
|
26
|
+
switch (baseDatasource?.type) {
|
|
27
|
+
case "stream":
|
|
28
|
+
const window = baseDatasource.retentionPeriod ? convertToJavaDurationFormat(baseDatasource.retentionPeriod) : undefined;
|
|
29
|
+
const retentionPolicy = window ? {
|
|
30
|
+
type: "time",
|
|
31
|
+
time: {
|
|
32
|
+
window
|
|
33
|
+
}
|
|
34
|
+
} : {
|
|
35
|
+
type: "none",
|
|
36
|
+
none: {}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Use generateStreamLocator instead of generateRid
|
|
40
|
+
const streamLocator = ridGenerator.generateStreamLocator(objectType.apiName, getColumnNames(properties));
|
|
41
|
+
const propertyMapping = Object.fromEntries(properties.map(prop => [ridGenerator.generatePropertyRid(prop.apiName, objectType.apiName), prop.apiName]));
|
|
42
|
+
return {
|
|
43
|
+
type: "streamV2",
|
|
44
|
+
streamV2: {
|
|
45
|
+
streamLocator: {
|
|
46
|
+
branchId: streamLocator.branchId,
|
|
47
|
+
streamLocatorRid: streamLocator.streamLocatorRid
|
|
48
|
+
},
|
|
49
|
+
propertyMapping,
|
|
50
|
+
retentionPolicy,
|
|
51
|
+
propertySecurityGroups: undefined
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
case "restrictedView":
|
|
55
|
+
// Use generateRestrictedViewLocator instead of generateRid
|
|
56
|
+
const restrictedViewLocator = ridGenerator.generateRestrictedViewLocator(objectType.apiName, getColumnNames(properties));
|
|
57
|
+
return {
|
|
58
|
+
type: "restrictedViewV2",
|
|
59
|
+
restrictedViewV2: {
|
|
60
|
+
restrictedViewRid: restrictedViewLocator.rid,
|
|
61
|
+
propertyMapping: buildPropertyMapping(properties, objectType.apiName, ridGenerator)
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
case "derived":
|
|
65
|
+
// Use generateLocator for dataset datasources
|
|
66
|
+
const derivedDatasetLocator = ridGenerator.generateLocator(objectType.apiName, getColumnNames(properties));
|
|
67
|
+
return {
|
|
68
|
+
type: "datasetV2",
|
|
69
|
+
datasetV2: {
|
|
70
|
+
branchId: derivedDatasetLocator.branchId,
|
|
71
|
+
datasetRid: derivedDatasetLocator.rid,
|
|
72
|
+
propertyMapping: buildPropertyMapping(properties, objectType.apiName, ridGenerator)
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
case "dataset":
|
|
76
|
+
default:
|
|
77
|
+
// Use generateLocator for dataset datasources
|
|
78
|
+
const datasetLocator = ridGenerator.generateLocator(objectType.apiName, getColumnNames(properties));
|
|
79
|
+
if (objectType.properties?.some(prop => typeof prop.type === "object" && prop.type.type === "marking") || baseDatasource?.objectSecurityPolicy || baseDatasource?.propertySecurityGroups) {
|
|
80
|
+
return {
|
|
81
|
+
type: "datasetV3",
|
|
82
|
+
datasetV3: {
|
|
83
|
+
datasetRid: datasetLocator.rid,
|
|
84
|
+
propertyMapping: buildPropertyMapping(properties, objectType.apiName, ridGenerator),
|
|
85
|
+
branchId: datasetLocator.branchId,
|
|
86
|
+
propertySecurityGroups: convertPropertySecurityGroups(baseDatasource, properties, objectType.primaryKeyPropertyApiName, objectType.apiName, ridGenerator)
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
type: "datasetV2",
|
|
92
|
+
datasetV2: {
|
|
93
|
+
datasetRid: datasetLocator.rid,
|
|
94
|
+
branchId: datasetLocator.branchId,
|
|
95
|
+
propertyMapping: buildPropertyMapping(properties, objectType.apiName, ridGenerator)
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function convertPropertySecurityGroups(ds, properties, primaryKeyPropertyApiName, objectTypeApiName, ridGenerator) {
|
|
101
|
+
if (!ds || !("objectSecurityPolicy" in ds) && !("propertySecurityGroups" in ds)) {
|
|
102
|
+
// Default security group - use property RIDs
|
|
103
|
+
const propertyRids = properties.map(prop => ridGenerator.generatePropertyRid(prop.apiName, objectTypeApiName));
|
|
104
|
+
return {
|
|
105
|
+
groups: [{
|
|
106
|
+
properties: propertyRids,
|
|
107
|
+
rid: ridGenerator.generateRid("defaultObjectSecurityPolicy"),
|
|
108
|
+
security: {
|
|
109
|
+
type: "granular",
|
|
110
|
+
granular: {
|
|
111
|
+
viewPolicy: {
|
|
112
|
+
granularPolicyCondition: {
|
|
113
|
+
type: "and",
|
|
114
|
+
and: {
|
|
115
|
+
conditions: []
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
additionalMandatory: {
|
|
119
|
+
markings: [],
|
|
120
|
+
assumedMarkings: []
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
type: {
|
|
126
|
+
type: "primaryKey",
|
|
127
|
+
primaryKey: {}
|
|
128
|
+
}
|
|
129
|
+
}]
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
const validPropertyNames = new Set(properties.map(prop => prop.apiName));
|
|
133
|
+
const usedPropertyApiNames = new Set();
|
|
134
|
+
|
|
135
|
+
// Collect and register group IDs (matching Java's collectSecurityGroupIds)
|
|
136
|
+
const collectGroupIds = granularPolicy => {
|
|
137
|
+
if (!granularPolicy) return;
|
|
138
|
+
const collectFromCondition = condition => {
|
|
139
|
+
switch (condition.type) {
|
|
140
|
+
case "group":
|
|
141
|
+
// Register group ID with the ridGenerator
|
|
142
|
+
const groupId = condition.name;
|
|
143
|
+
ridGenerator.getGroupIds().put(ReadableIdGenerator.getForGroup(groupId), groupId);
|
|
144
|
+
break;
|
|
145
|
+
case "and":
|
|
146
|
+
case "or":
|
|
147
|
+
if ("conditions" in condition) {
|
|
148
|
+
condition.conditions.forEach(collectFromCondition);
|
|
149
|
+
}
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
collectFromCondition(granularPolicy);
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// Collect group IDs from object security policy
|
|
157
|
+
if (ds.objectSecurityPolicy?.granularPolicy) {
|
|
158
|
+
collectGroupIds(ds.objectSecurityPolicy.granularPolicy);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Validate and collect property security groups
|
|
162
|
+
ds.propertySecurityGroups?.forEach(psg => {
|
|
163
|
+
// Collect group IDs from property security groups
|
|
164
|
+
if (psg.granularPolicy) {
|
|
165
|
+
collectGroupIds(psg.granularPolicy);
|
|
166
|
+
}
|
|
167
|
+
psg.properties.forEach(propertyName => {
|
|
168
|
+
!validPropertyNames.has(propertyName) ? process.env.NODE_ENV !== "production" ? invariant(false, `Property "${propertyName}" in property security group ${psg.name} does not exist in the properties list`) : invariant(false) : void 0;
|
|
169
|
+
!!usedPropertyApiNames.has(propertyName) ? process.env.NODE_ENV !== "production" ? invariant(false, `Property "${propertyName}" is used in multiple property security groups`) : invariant(false) : void 0;
|
|
170
|
+
!(propertyName !== primaryKeyPropertyApiName) ? process.env.NODE_ENV !== "production" ? invariant(false, `Property "${propertyName}" in property security group ${psg.name} cannot be the primary key`) : invariant(false) : void 0;
|
|
171
|
+
usedPropertyApiNames.add(propertyName);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
// Build property RID mapping
|
|
176
|
+
const propertyApiNameToRid = new Map();
|
|
177
|
+
properties.forEach(prop => {
|
|
178
|
+
propertyApiNameToRid.set(prop.apiName, ridGenerator.generatePropertyRid(prop.apiName, objectTypeApiName));
|
|
179
|
+
});
|
|
180
|
+
const objectSecurityPolicyGroup = {
|
|
181
|
+
rid: ridGenerator.generatePropertySecurityGroupRid(ds.objectSecurityPolicy?.name || "defaultObjectSecurityPolicy"),
|
|
182
|
+
security: {
|
|
183
|
+
type: "granular",
|
|
184
|
+
granular: convertGranularPolicy(ds.objectSecurityPolicy?.granularPolicy, ds.objectSecurityPolicy?.appliedMarkings, ds.objectSecurityPolicy?.assumedMarkings, ridGenerator, objectTypeApiName)
|
|
185
|
+
},
|
|
186
|
+
type: {
|
|
187
|
+
type: "primaryKey",
|
|
188
|
+
primaryKey: {}
|
|
189
|
+
},
|
|
190
|
+
properties: properties.filter(prop => !usedPropertyApiNames.has(prop.apiName)).map(prop => propertyApiNameToRid.get(prop.apiName))
|
|
191
|
+
};
|
|
192
|
+
return {
|
|
193
|
+
groups: [...(ds.propertySecurityGroups?.map(psg => ({
|
|
194
|
+
rid: ridGenerator.generatePropertySecurityGroupRid(psg.name),
|
|
195
|
+
security: {
|
|
196
|
+
type: "granular",
|
|
197
|
+
granular: convertGranularPolicy(psg.granularPolicy, psg.appliedMarkings, psg.assumedMarkings, ridGenerator, objectTypeApiName)
|
|
198
|
+
},
|
|
199
|
+
type: {
|
|
200
|
+
type: "property",
|
|
201
|
+
property: {
|
|
202
|
+
name: psg.name
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
properties: psg.properties.map(apiName => propertyApiNameToRid.get(apiName))
|
|
206
|
+
})) ?? []), objectSecurityPolicyGroup]
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function convertGranularPolicy(granularPolicy, appliedMarkings, assumedMarkings, ridGenerator, objectTypeApiName) {
|
|
210
|
+
return {
|
|
211
|
+
viewPolicy: {
|
|
212
|
+
granularPolicyCondition: granularPolicy ? convertSecurityCondition(granularPolicy, ridGenerator, objectTypeApiName) : {
|
|
213
|
+
type: "and",
|
|
214
|
+
and: {
|
|
215
|
+
conditions: []
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
additionalMandatory: {
|
|
219
|
+
markings: Object.keys(appliedMarkings ?? {}),
|
|
220
|
+
assumedMarkings: Object.keys(assumedMarkings ?? {})
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function convertSecurityCondition(condition, ridGenerator, objectTypeApiName) {
|
|
226
|
+
switch (condition.type) {
|
|
227
|
+
case "and":
|
|
228
|
+
if ("conditions" in condition) {
|
|
229
|
+
return {
|
|
230
|
+
type: "and",
|
|
231
|
+
and: {
|
|
232
|
+
conditions: condition.conditions.map(c => convertSecurityCondition(c, ridGenerator, objectTypeApiName))
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
} else {
|
|
236
|
+
return condition;
|
|
237
|
+
}
|
|
238
|
+
case "or":
|
|
239
|
+
if ("conditions" in condition) {
|
|
240
|
+
return {
|
|
241
|
+
type: "or",
|
|
242
|
+
or: {
|
|
243
|
+
conditions: condition.conditions.map(c => convertSecurityCondition(c, ridGenerator, objectTypeApiName))
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
} else {
|
|
247
|
+
return condition;
|
|
248
|
+
}
|
|
249
|
+
case "markingProperty":
|
|
250
|
+
return {
|
|
251
|
+
type: "markings",
|
|
252
|
+
markings: {
|
|
253
|
+
property: ridGenerator && objectTypeApiName ? ridGenerator.generatePropertyRid(condition.property, objectTypeApiName) : condition.property
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
case "groupProperty":
|
|
257
|
+
return {
|
|
258
|
+
type: "comparison",
|
|
259
|
+
comparison: {
|
|
260
|
+
operator: "INTERSECTS",
|
|
261
|
+
left: {
|
|
262
|
+
type: "userProperty",
|
|
263
|
+
userProperty: {
|
|
264
|
+
type: "groupIds",
|
|
265
|
+
groupIds: {}
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
right: {
|
|
269
|
+
type: "property",
|
|
270
|
+
property: ridGenerator && objectTypeApiName ? ridGenerator.generatePropertyRid(condition.property, objectTypeApiName) : condition.property
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
case "group":
|
|
275
|
+
return {
|
|
276
|
+
type: "comparison",
|
|
277
|
+
comparison: {
|
|
278
|
+
operator: "INTERSECTS",
|
|
279
|
+
left: {
|
|
280
|
+
type: "userProperty",
|
|
281
|
+
userProperty: {
|
|
282
|
+
type: "groupIds",
|
|
283
|
+
groupIds: {}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
right: {
|
|
287
|
+
type: "constant",
|
|
288
|
+
constant: {
|
|
289
|
+
type: "strings",
|
|
290
|
+
strings: [condition.name]
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
default:
|
|
296
|
+
return condition;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Converts ISO 8601 duration to Java Duration format (hours/minutes/seconds only).
|
|
302
|
+
* Java's Duration class doesn't support days/weeks/months/years natively,
|
|
303
|
+
* so P90D becomes PT2160H, P1W becomes PT168H, etc.
|
|
304
|
+
*/
|
|
305
|
+
function convertToJavaDurationFormat(iso8601) {
|
|
306
|
+
const match = iso8601.match(/^P(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/);
|
|
307
|
+
if (!match) return iso8601;
|
|
308
|
+
const weeks = parseInt(match[1] || "0", 10);
|
|
309
|
+
const days = parseInt(match[2] || "0", 10);
|
|
310
|
+
const hours = parseInt(match[3] || "0", 10);
|
|
311
|
+
const minutes = parseInt(match[4] || "0", 10);
|
|
312
|
+
const seconds = parseInt(match[5] || "0", 10);
|
|
313
|
+
const totalHours = (weeks * 7 + days) * 24 + hours;
|
|
314
|
+
const parts = [];
|
|
315
|
+
if (totalHours > 0) parts.push(`${totalHours}H`);
|
|
316
|
+
if (minutes > 0) parts.push(`${minutes}M`);
|
|
317
|
+
if (seconds > 0) parts.push(`${seconds}S`);
|
|
318
|
+
return parts.length > 0 ? `PT${parts.join("")}` : "PT0S";
|
|
319
|
+
}
|
|
320
|
+
function buildPropertyMapping(properties, objectTypeApiName, ridGenerator) {
|
|
321
|
+
// TODO: Convert property mappings to use RIDs as keys
|
|
322
|
+
return Object.fromEntries(properties.map(prop => {
|
|
323
|
+
const propertyRid = ridGenerator.generatePropertyRid(prop.apiName, objectTypeApiName);
|
|
324
|
+
// editOnly
|
|
325
|
+
if (prop.editOnly) {
|
|
326
|
+
return [propertyRid, {
|
|
327
|
+
type: "editOnly",
|
|
328
|
+
editOnly: {}
|
|
329
|
+
}];
|
|
330
|
+
}
|
|
331
|
+
// structs
|
|
332
|
+
if (typeof prop.type === "object" && prop.type?.type === "struct") {
|
|
333
|
+
const structMapping = {
|
|
334
|
+
type: "struct",
|
|
335
|
+
struct: {
|
|
336
|
+
column: prop.apiName,
|
|
337
|
+
mapping: Object.fromEntries(Object.keys(prop.type.structDefinition).map(fieldName => [fieldName, {
|
|
338
|
+
apiName: fieldName,
|
|
339
|
+
mappings: {}
|
|
340
|
+
}]))
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
return [propertyRid, structMapping];
|
|
344
|
+
}
|
|
345
|
+
// default: column mapping
|
|
346
|
+
return [propertyRid, {
|
|
347
|
+
type: "column",
|
|
348
|
+
column: prop.apiName
|
|
349
|
+
}];
|
|
350
|
+
}));
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=convertDatasourceDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertDatasourceDefinition.js","names":["invariant","ReadableIdGenerator","convertDatasourceDefinition","objectType","properties","ridGenerator","baseDatasource","datasources","find","ds","includes","type","getColumnNames","props","Set","map","p","apiName","window","retentionPeriod","convertToJavaDurationFormat","undefined","retentionPolicy","time","none","streamLocator","generateStreamLocator","propertyMapping","Object","fromEntries","prop","generatePropertyRid","streamV2","branchId","streamLocatorRid","propertySecurityGroups","restrictedViewLocator","generateRestrictedViewLocator","restrictedViewV2","restrictedViewRid","rid","buildPropertyMapping","derivedDatasetLocator","generateLocator","datasetV2","datasetRid","datasetLocator","some","objectSecurityPolicy","datasetV3","convertPropertySecurityGroups","primaryKeyPropertyApiName","objectTypeApiName","propertyRids","groups","generateRid","security","granular","viewPolicy","granularPolicyCondition","and","conditions","additionalMandatory","markings","assumedMarkings","primaryKey","validPropertyNames","usedPropertyApiNames","collectGroupIds","granularPolicy","collectFromCondition","condition","groupId","name","getGroupIds","put","getForGroup","forEach","psg","propertyName","has","process","env","NODE_ENV","add","propertyApiNameToRid","Map","set","objectSecurityPolicyGroup","generatePropertySecurityGroupRid","convertGranularPolicy","appliedMarkings","filter","get","property","convertSecurityCondition","keys","c","or","comparison","operator","left","userProperty","groupIds","right","constant","strings","iso8601","match","weeks","parseInt","days","hours","minutes","seconds","totalHours","parts","push","length","join","propertyRid","editOnly","structMapping","struct","column","mapping","structDefinition","fieldName","mappings"],"sources":["convertDatasourceDefinition.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 MarkingType,\n ObjectTypeDatasourceDefinition,\n PropertySecurityGroup,\n PropertySecurityGroups,\n PropertyTypeMappingInfo,\n RetentionPolicy,\n SecurityGroupGranularCondition,\n SecurityGroupGranularSecurityDefinition,\n} from \"@osdk/client.unstable\";\nimport type {\n ObjectPropertyType,\n ObjectType,\n ObjectTypeDatasourceDefinition_dataset,\n ObjectTypeDatasourceDefinition_direct,\n SecurityConditionDefinition,\n} from \"@osdk/maker\";\nimport invariant from \"tiny-invariant\";\nimport {\n type OntologyRidGenerator,\n ReadableIdGenerator,\n} from \"../../util/generateRid.js\";\n\nexport function convertDatasourceDefinition(\n objectType: ObjectType,\n properties: ObjectPropertyType[],\n ridGenerator: OntologyRidGenerator,\n): ObjectTypeDatasourceDefinition {\n const baseDatasource = objectType.datasources?.find(ds =>\n [\"dataset\", \"stream\", \"restrictedView\"].includes(ds.type)\n );\n\n // Helper to get column names from properties\n const getColumnNames = (props: ObjectPropertyType[]): Set<string> => {\n return new Set(props.map(p => p.apiName));\n };\n\n switch (baseDatasource?.type) {\n case \"stream\":\n const window = baseDatasource.retentionPeriod\n ? convertToJavaDurationFormat(baseDatasource.retentionPeriod)\n : undefined;\n const retentionPolicy: RetentionPolicy = window\n ? { type: \"time\", time: { window } }\n : { type: \"none\", none: {} };\n\n // Use generateStreamLocator instead of generateRid\n const streamLocator = ridGenerator.generateStreamLocator(\n objectType.apiName,\n getColumnNames(properties),\n );\n\n const propertyMapping = Object.fromEntries(\n properties.map((\n prop,\n ) => [\n ridGenerator.generatePropertyRid(\n prop.apiName,\n objectType.apiName,\n ),\n prop.apiName,\n ]),\n );\n\n return {\n type: \"streamV2\",\n streamV2: {\n streamLocator: {\n branchId: streamLocator.branchId,\n streamLocatorRid: streamLocator.streamLocatorRid,\n },\n propertyMapping,\n retentionPolicy,\n propertySecurityGroups: undefined,\n },\n };\n\n case \"restrictedView\":\n // Use generateRestrictedViewLocator instead of generateRid\n const restrictedViewLocator = ridGenerator.generateRestrictedViewLocator(\n objectType.apiName,\n getColumnNames(properties),\n );\n\n return {\n type: \"restrictedViewV2\",\n restrictedViewV2: {\n restrictedViewRid: restrictedViewLocator.rid,\n propertyMapping: buildPropertyMapping(\n properties,\n objectType.apiName,\n ridGenerator,\n ),\n },\n };\n\n case \"derived\":\n // Use generateLocator for dataset datasources\n const derivedDatasetLocator = ridGenerator.generateLocator(\n objectType.apiName,\n getColumnNames(properties),\n );\n\n return {\n type: \"datasetV2\",\n datasetV2: {\n branchId: derivedDatasetLocator.branchId,\n datasetRid: derivedDatasetLocator.rid,\n propertyMapping: buildPropertyMapping(\n properties,\n objectType.apiName,\n ridGenerator,\n ),\n },\n };\n\n case \"dataset\":\n default:\n // Use generateLocator for dataset datasources\n const datasetLocator = ridGenerator.generateLocator(\n objectType.apiName,\n getColumnNames(properties),\n );\n\n if (\n objectType.properties?.some(prop =>\n typeof prop.type === \"object\" && prop.type.type === \"marking\"\n )\n || baseDatasource?.objectSecurityPolicy\n || baseDatasource?.propertySecurityGroups\n ) {\n return {\n type: \"datasetV3\",\n datasetV3: {\n datasetRid: datasetLocator.rid,\n propertyMapping: buildPropertyMapping(\n properties,\n objectType.apiName,\n ridGenerator,\n ),\n branchId: datasetLocator.branchId,\n propertySecurityGroups: convertPropertySecurityGroups(\n baseDatasource,\n properties,\n objectType.primaryKeyPropertyApiName,\n objectType.apiName,\n ridGenerator,\n ),\n },\n };\n }\n return {\n type: \"datasetV2\",\n datasetV2: {\n datasetRid: datasetLocator.rid,\n branchId: datasetLocator.branchId,\n propertyMapping: buildPropertyMapping(\n properties,\n objectType.apiName,\n ridGenerator,\n ),\n },\n };\n }\n}\n\nfunction convertPropertySecurityGroups(\n ds:\n | ObjectTypeDatasourceDefinition_dataset\n | ObjectTypeDatasourceDefinition_direct\n | undefined,\n properties: ObjectPropertyType[],\n primaryKeyPropertyApiName: string,\n objectTypeApiName: string,\n ridGenerator: OntologyRidGenerator,\n): PropertySecurityGroups {\n if (\n !ds\n || (!(\"objectSecurityPolicy\" in ds) && !(\"propertySecurityGroups\" in ds))\n ) {\n // Default security group - use property RIDs\n const propertyRids = properties.map(prop =>\n ridGenerator.generatePropertyRid(prop.apiName, objectTypeApiName)\n );\n\n return {\n groups: [\n {\n properties: propertyRids,\n rid: ridGenerator.generateRid(\"defaultObjectSecurityPolicy\"),\n security: {\n type: \"granular\",\n granular: {\n viewPolicy: {\n granularPolicyCondition: {\n type: \"and\",\n and: {\n conditions: [],\n },\n },\n additionalMandatory: {\n markings: [],\n assumedMarkings: [],\n },\n },\n },\n },\n type: {\n type: \"primaryKey\",\n primaryKey: {},\n },\n },\n ],\n };\n }\n\n const validPropertyNames = new Set(properties.map(prop => prop.apiName));\n const usedPropertyApiNames = new Set<string>();\n\n // Collect and register group IDs (matching Java's collectSecurityGroupIds)\n const collectGroupIds = (granularPolicy?: SecurityConditionDefinition) => {\n if (!granularPolicy) return;\n\n const collectFromCondition = (condition: SecurityConditionDefinition) => {\n switch (condition.type) {\n case \"group\":\n // Register group ID with the ridGenerator\n const groupId = condition.name;\n ridGenerator.getGroupIds().put(\n ReadableIdGenerator.getForGroup(groupId),\n groupId,\n );\n break;\n case \"and\":\n case \"or\":\n if (\"conditions\" in condition) {\n condition.conditions.forEach(collectFromCondition);\n }\n break;\n }\n };\n\n collectFromCondition(granularPolicy);\n };\n\n // Collect group IDs from object security policy\n if (ds.objectSecurityPolicy?.granularPolicy) {\n collectGroupIds(ds.objectSecurityPolicy.granularPolicy);\n }\n\n // Validate and collect property security groups\n ds.propertySecurityGroups?.forEach(psg => {\n // Collect group IDs from property security groups\n if (psg.granularPolicy) {\n collectGroupIds(psg.granularPolicy);\n }\n\n psg.properties.forEach(propertyName => {\n invariant(\n validPropertyNames.has(propertyName),\n `Property \"${propertyName}\" in property security group ${psg.name} does not exist in the properties list`,\n );\n invariant(\n !usedPropertyApiNames.has(propertyName),\n `Property \"${propertyName}\" is used in multiple property security groups`,\n );\n invariant(\n propertyName !== primaryKeyPropertyApiName,\n `Property \"${propertyName}\" in property security group ${psg.name} cannot be the primary key`,\n );\n usedPropertyApiNames.add(propertyName);\n });\n });\n\n // Build property RID mapping\n const propertyApiNameToRid = new Map<string, string>();\n properties.forEach(prop => {\n propertyApiNameToRid.set(\n prop.apiName,\n ridGenerator.generatePropertyRid(prop.apiName, objectTypeApiName),\n );\n });\n\n const objectSecurityPolicyGroup: PropertySecurityGroup = {\n rid: ridGenerator.generatePropertySecurityGroupRid(\n ds.objectSecurityPolicy?.name || \"defaultObjectSecurityPolicy\",\n ),\n security: {\n type: \"granular\",\n granular: convertGranularPolicy(\n ds.objectSecurityPolicy?.granularPolicy,\n ds.objectSecurityPolicy?.appliedMarkings,\n ds.objectSecurityPolicy?.assumedMarkings,\n ridGenerator,\n objectTypeApiName,\n ),\n },\n type: {\n type: \"primaryKey\",\n primaryKey: {},\n },\n properties: properties\n .filter(prop => !usedPropertyApiNames.has(prop.apiName))\n .map(prop => propertyApiNameToRid.get(prop.apiName)!),\n };\n\n return {\n groups: [\n ...(ds.propertySecurityGroups?.map(psg => ({\n rid: ridGenerator.generatePropertySecurityGroupRid(psg.name),\n security: {\n type: \"granular\" as const,\n granular: convertGranularPolicy(\n psg.granularPolicy,\n psg.appliedMarkings,\n psg.assumedMarkings,\n ridGenerator,\n objectTypeApiName,\n ),\n },\n type: {\n type: \"property\" as const,\n property: {\n name: psg.name,\n },\n },\n properties: psg.properties.map(apiName =>\n propertyApiNameToRid.get(apiName)!\n ),\n })) ?? []),\n objectSecurityPolicyGroup,\n ],\n };\n}\n\nfunction convertGranularPolicy(\n granularPolicy?: SecurityConditionDefinition,\n appliedMarkings?: Record<string, MarkingType>,\n assumedMarkings?: Record<string, MarkingType>,\n ridGenerator?: OntologyRidGenerator,\n objectTypeApiName?: string,\n): SecurityGroupGranularSecurityDefinition {\n return {\n viewPolicy: {\n granularPolicyCondition: granularPolicy\n ? convertSecurityCondition(\n granularPolicy,\n ridGenerator,\n objectTypeApiName,\n )\n : {\n type: \"and\",\n and: {\n conditions: [],\n },\n },\n additionalMandatory: {\n markings: Object.keys(appliedMarkings ?? {}),\n assumedMarkings: Object.keys(assumedMarkings ?? {}),\n },\n },\n };\n}\n\nfunction convertSecurityCondition(\n condition: SecurityConditionDefinition,\n ridGenerator?: OntologyRidGenerator,\n objectTypeApiName?: string,\n): SecurityGroupGranularCondition {\n switch (condition.type) {\n case \"and\":\n if (\"conditions\" in condition) {\n return {\n type: \"and\",\n and: {\n conditions: condition.conditions.map(c =>\n convertSecurityCondition(c, ridGenerator, objectTypeApiName)\n ),\n },\n };\n } else {\n return condition;\n }\n case \"or\":\n if (\"conditions\" in condition) {\n return {\n type: \"or\",\n or: {\n conditions: condition.conditions.map(c =>\n convertSecurityCondition(c, ridGenerator, objectTypeApiName)\n ),\n },\n };\n } else {\n return condition;\n }\n case \"markingProperty\":\n return {\n type: \"markings\",\n markings: {\n property: ridGenerator && objectTypeApiName\n ? ridGenerator.generatePropertyRid(\n condition.property,\n objectTypeApiName,\n )\n : condition.property,\n },\n };\n case \"groupProperty\":\n return {\n type: \"comparison\",\n comparison: {\n operator: \"INTERSECTS\",\n left: {\n type: \"userProperty\",\n userProperty: {\n type: \"groupIds\",\n groupIds: {},\n },\n },\n right: {\n type: \"property\",\n property: ridGenerator && objectTypeApiName\n ? ridGenerator.generatePropertyRid(\n condition.property,\n objectTypeApiName,\n )\n : condition.property,\n },\n },\n };\n case \"group\":\n return {\n type: \"comparison\",\n comparison: {\n operator: \"INTERSECTS\",\n left: {\n type: \"userProperty\",\n userProperty: {\n type: \"groupIds\",\n groupIds: {},\n },\n },\n right: {\n type: \"constant\",\n constant: {\n type: \"strings\",\n strings: [\n condition.name,\n ],\n },\n },\n },\n };\n\n default:\n return condition;\n }\n}\n\n/**\n * Converts ISO 8601 duration to Java Duration format (hours/minutes/seconds only).\n * Java's Duration class doesn't support days/weeks/months/years natively,\n * so P90D becomes PT2160H, P1W becomes PT168H, etc.\n */\nfunction convertToJavaDurationFormat(iso8601: string): string {\n const match = iso8601.match(\n /^P(?:(\\d+)W)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)S)?)?$/,\n );\n if (!match) return iso8601;\n\n const weeks = parseInt(match[1] || \"0\", 10);\n const days = parseInt(match[2] || \"0\", 10);\n const hours = parseInt(match[3] || \"0\", 10);\n const minutes = parseInt(match[4] || \"0\", 10);\n const seconds = parseInt(match[5] || \"0\", 10);\n\n const totalHours = (weeks * 7 + days) * 24 + hours;\n\n const parts: string[] = [];\n if (totalHours > 0) parts.push(`${totalHours}H`);\n if (minutes > 0) parts.push(`${minutes}M`);\n if (seconds > 0) parts.push(`${seconds}S`);\n\n return parts.length > 0 ? `PT${parts.join(\"\")}` : \"PT0S\";\n}\n\nfunction buildPropertyMapping(\n properties: ObjectPropertyType[],\n objectTypeApiName: string,\n ridGenerator: OntologyRidGenerator,\n): Record<string, PropertyTypeMappingInfo> {\n // TODO: Convert property mappings to use RIDs as keys\n return Object.fromEntries(\n properties.map((prop) => {\n const propertyRid = ridGenerator.generatePropertyRid(\n prop.apiName,\n objectTypeApiName,\n );\n // editOnly\n if (prop.editOnly) {\n return [propertyRid, { type: \"editOnly\", editOnly: {} }];\n }\n // structs\n if (typeof prop.type === \"object\" && prop.type?.type === \"struct\") {\n const structMapping = {\n type: \"struct\",\n struct: {\n column: prop.apiName,\n mapping: Object.fromEntries(\n Object.keys(prop.type.structDefinition).map((fieldName) => [\n fieldName,\n { apiName: fieldName, mappings: {} },\n ]),\n ),\n },\n };\n return [propertyRid, structMapping];\n }\n // default: column mapping\n return [propertyRid, { type: \"column\", column: prop.apiName }];\n }),\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { convertInterfaceProperty } from "./convertInterfacePropertyType.js";
|
|
18
|
+
import { convertSpt } from "./convertSpt.js";
|
|
19
|
+
export function convertInterface(interfaceType, ridGenerator) {
|
|
20
|
+
const {
|
|
21
|
+
__type,
|
|
22
|
+
status,
|
|
23
|
+
...other
|
|
24
|
+
} = interfaceType;
|
|
25
|
+
// Normalize deprecated deadline format to match Java (strip .000 milliseconds)
|
|
26
|
+
const normalizedStatus = status?.type === "deprecated" ? {
|
|
27
|
+
...status,
|
|
28
|
+
deprecated: {
|
|
29
|
+
...status.deprecated,
|
|
30
|
+
deadline: status.deprecated.deadline?.replace(/\.000Z$/, "Z")
|
|
31
|
+
}
|
|
32
|
+
} : status;
|
|
33
|
+
return {
|
|
34
|
+
...other,
|
|
35
|
+
status: normalizedStatus,
|
|
36
|
+
// TODO: Generate proper RID based on apiName
|
|
37
|
+
rid: ridGenerator.generateRidForInterface(interfaceType.apiName),
|
|
38
|
+
propertiesV2: Object.fromEntries(Object.values(interfaceType.propertiesV2).map(spt => {
|
|
39
|
+
const convertedSpt = convertSpt(spt.sharedPropertyType, ridGenerator);
|
|
40
|
+
return [convertedSpt.rid, {
|
|
41
|
+
required: spt.required,
|
|
42
|
+
sharedPropertyType: convertedSpt
|
|
43
|
+
}];
|
|
44
|
+
})),
|
|
45
|
+
displayMetadata: {
|
|
46
|
+
displayName: interfaceType.displayMetadata.displayName,
|
|
47
|
+
description: interfaceType.displayMetadata.description,
|
|
48
|
+
icon: interfaceType.displayMetadata.icon ?? {
|
|
49
|
+
type: "blueprint",
|
|
50
|
+
blueprint: {
|
|
51
|
+
color: "#4C90F0",
|
|
52
|
+
locator: "layout-hierarchy"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
// TODO: Convert extendsInterfaces from API names to RIDs
|
|
57
|
+
extendsInterfaces: interfaceType.extendsInterfaces.map(i => ridGenerator.generateRidForInterface(i.apiName)),
|
|
58
|
+
// TODO: Convert links to add RIDs
|
|
59
|
+
links: interfaceType.links.map(link => ({
|
|
60
|
+
...link,
|
|
61
|
+
linkedEntityTypeId: link.linkedEntityTypeId.type === "interfaceType" ? {
|
|
62
|
+
type: "interfaceType",
|
|
63
|
+
interfaceType: ridGenerator.generateRidForInterface(link.linkedEntityTypeId.interfaceType)
|
|
64
|
+
} : {
|
|
65
|
+
type: "objectType",
|
|
66
|
+
objectType: ridGenerator.generateObjectTypeId(link.linkedEntityTypeId.objectType)
|
|
67
|
+
},
|
|
68
|
+
rid: ridGenerator.generateRidForInterfaceLinkType(link.metadata.apiName, interfaceType.apiName)
|
|
69
|
+
})),
|
|
70
|
+
// these are omitted from our internal types but we need to re-add them for the final json
|
|
71
|
+
properties: [],
|
|
72
|
+
propertiesV3: Object.fromEntries(Object.entries(interfaceType.propertiesV3).map(([apiName, prop]) => convertInterfaceProperty(prop, apiName, interfaceType.apiName, ridGenerator)))
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=convertInterface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertInterface.js","names":["convertInterfaceProperty","convertSpt","convertInterface","interfaceType","ridGenerator","__type","status","other","normalizedStatus","type","deprecated","deadline","replace","rid","generateRidForInterface","apiName","propertiesV2","Object","fromEntries","values","map","spt","convertedSpt","sharedPropertyType","required","displayMetadata","displayName","description","icon","blueprint","color","locator","extendsInterfaces","i","links","link","linkedEntityTypeId","objectType","generateObjectTypeId","generateRidForInterfaceLinkType","metadata","properties","propertiesV3","entries","prop"],"sources":["convertInterface.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 { MarketplaceInterfaceType } from \"@osdk/client.unstable\";\nimport type { InterfaceType } from \"@osdk/maker\";\nimport type { OntologyRidGenerator } from \"../../util/generateRid.js\";\nimport { convertInterfaceProperty } from \"./convertInterfacePropertyType.js\";\nimport { convertSpt } from \"./convertSpt.js\";\n\nexport function convertInterface(\n interfaceType: InterfaceType,\n ridGenerator: OntologyRidGenerator,\n): MarketplaceInterfaceType {\n const { __type, status, ...other } = interfaceType;\n // Normalize deprecated deadline format to match Java (strip .000 milliseconds)\n const normalizedStatus = status?.type === \"deprecated\"\n ? {\n ...status,\n deprecated: {\n ...status.deprecated,\n deadline: status.deprecated.deadline?.replace(/\\.000Z$/, \"Z\"),\n },\n }\n : status;\n return {\n ...other,\n status: normalizedStatus,\n // TODO: Generate proper RID based on apiName\n rid: ridGenerator.generateRidForInterface(interfaceType.apiName),\n propertiesV2: Object.fromEntries(\n Object.values(interfaceType.propertiesV2)\n .map((\n spt,\n ) => {\n const convertedSpt = convertSpt(spt.sharedPropertyType, ridGenerator);\n return [convertedSpt.rid, {\n required: spt.required,\n sharedPropertyType: convertedSpt,\n }];\n }),\n ),\n displayMetadata: {\n displayName: interfaceType.displayMetadata.displayName,\n description: interfaceType.displayMetadata.description,\n icon: interfaceType.displayMetadata.icon ?? {\n type: \"blueprint\",\n blueprint: { color: \"#4C90F0\", locator: \"layout-hierarchy\" },\n },\n },\n // TODO: Convert extendsInterfaces from API names to RIDs\n extendsInterfaces: interfaceType.extendsInterfaces.map(i =>\n ridGenerator.generateRidForInterface(i.apiName)\n ),\n // TODO: Convert links to add RIDs\n links: interfaceType.links.map(link => ({\n ...link,\n linkedEntityTypeId: link.linkedEntityTypeId.type === \"interfaceType\"\n ? {\n type: \"interfaceType\",\n interfaceType: ridGenerator.generateRidForInterface(\n link.linkedEntityTypeId.interfaceType,\n ),\n }\n : {\n type: \"objectType\",\n objectType: ridGenerator.generateObjectTypeId(\n link.linkedEntityTypeId.objectType,\n ),\n },\n rid: ridGenerator.generateRidForInterfaceLinkType(\n link.metadata.apiName,\n interfaceType.apiName,\n ),\n })),\n // these are omitted from our internal types but we need to re-add them for the final json\n properties: [],\n propertiesV3: Object.fromEntries(\n Object.entries(interfaceType.propertiesV3).map(([apiName, prop]) =>\n convertInterfaceProperty(\n prop,\n apiName,\n interfaceType.apiName,\n ridGenerator,\n )\n ),\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { isInterfaceSharedPropertyType } from "@osdk/maker";
|
|
18
|
+
import { convertNullabilityToDataConstraint } from "./convertNullabilityToDataConstraint.js";
|
|
19
|
+
import { convertSpt } from "./convertSpt.js";
|
|
20
|
+
import { propertyTypeTypeToOntologyIrInterfaceType } from "./propertyTypeTypeToOntologyIrInterfaceType.js";
|
|
21
|
+
export function convertInterfaceProperty(prop, apiName, interfaceApiName, ridGenerator) {
|
|
22
|
+
if (isInterfaceSharedPropertyType(prop)) {
|
|
23
|
+
return [prop.sharedPropertyType.apiName, {
|
|
24
|
+
type: "sharedPropertyBasedPropertyType",
|
|
25
|
+
sharedPropertyBasedPropertyType: {
|
|
26
|
+
requireImplementation: prop.required,
|
|
27
|
+
sharedPropertyType: convertSpt(prop.sharedPropertyType, ridGenerator)
|
|
28
|
+
}
|
|
29
|
+
}];
|
|
30
|
+
} else {
|
|
31
|
+
return [ridGenerator.generateInterfacePropertyTypeRid(apiName, interfaceApiName), {
|
|
32
|
+
type: "interfaceDefinedPropertyType",
|
|
33
|
+
interfaceDefinedPropertyType: {
|
|
34
|
+
apiName: apiName,
|
|
35
|
+
displayMetadata: {
|
|
36
|
+
displayName: prop.displayName ?? apiName,
|
|
37
|
+
visibility: prop.visibility ?? "NORMAL",
|
|
38
|
+
description: prop.description
|
|
39
|
+
},
|
|
40
|
+
type: prop.array ? {
|
|
41
|
+
type: "array",
|
|
42
|
+
array: {
|
|
43
|
+
subtype: propertyTypeTypeToOntologyIrInterfaceType(prop.type, apiName, ridGenerator)
|
|
44
|
+
}
|
|
45
|
+
} : propertyTypeTypeToOntologyIrInterfaceType(prop.type, apiName, ridGenerator),
|
|
46
|
+
constraints: {
|
|
47
|
+
primaryKeyConstraint: prop.primaryKeyConstraint ?? "NO_RESTRICTION",
|
|
48
|
+
requireImplementation: prop.required ?? true,
|
|
49
|
+
indexedForSearch: true,
|
|
50
|
+
typeClasses: prop.typeClasses ?? [],
|
|
51
|
+
dataConstraints: convertNullabilityToDataConstraint({
|
|
52
|
+
type: prop.type,
|
|
53
|
+
nullability: prop.nullability
|
|
54
|
+
}),
|
|
55
|
+
valueType: prop.valueType ? ridGenerator.generateRidForValueType(prop.valueType.apiName, prop.valueType.version) : undefined
|
|
56
|
+
},
|
|
57
|
+
rid: ridGenerator.generateInterfacePropertyTypeRid(apiName, interfaceApiName)
|
|
58
|
+
}
|
|
59
|
+
}];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=convertInterfacePropertyType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertInterfacePropertyType.js","names":["isInterfaceSharedPropertyType","convertNullabilityToDataConstraint","convertSpt","propertyTypeTypeToOntologyIrInterfaceType","convertInterfaceProperty","prop","apiName","interfaceApiName","ridGenerator","sharedPropertyType","type","sharedPropertyBasedPropertyType","requireImplementation","required","generateInterfacePropertyTypeRid","interfaceDefinedPropertyType","displayMetadata","displayName","visibility","description","array","subtype","constraints","primaryKeyConstraint","indexedForSearch","typeClasses","dataConstraints","nullability","valueType","generateRidForValueType","version","undefined","rid"],"sources":["convertInterfacePropertyType.ts"],"sourcesContent":["/*\n * Copyright 2026 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 { MarketplaceInterfacePropertyType } from \"@osdk/client.unstable\";\nimport type { InterfacePropertyType } from \"@osdk/maker\";\nimport { isInterfaceSharedPropertyType } from \"@osdk/maker\";\nimport type { OntologyRidGenerator } from \"../../util/generateRid.js\";\nimport { convertNullabilityToDataConstraint } from \"./convertNullabilityToDataConstraint.js\";\nimport { convertSpt } from \"./convertSpt.js\";\nimport { propertyTypeTypeToOntologyIrInterfaceType } from \"./propertyTypeTypeToOntologyIrInterfaceType.js\";\n\nexport function convertInterfaceProperty(\n prop: InterfacePropertyType,\n apiName: string,\n interfaceApiName: string,\n ridGenerator: OntologyRidGenerator,\n): [string, MarketplaceInterfacePropertyType] {\n if (isInterfaceSharedPropertyType(prop)) {\n return [prop.sharedPropertyType.apiName, {\n type: \"sharedPropertyBasedPropertyType\",\n sharedPropertyBasedPropertyType: {\n requireImplementation: prop.required,\n sharedPropertyType: convertSpt(prop.sharedPropertyType, ridGenerator),\n },\n }];\n } else {\n return [\n ridGenerator.generateInterfacePropertyTypeRid(apiName, interfaceApiName),\n {\n type: \"interfaceDefinedPropertyType\",\n interfaceDefinedPropertyType: {\n apiName: apiName,\n displayMetadata: {\n displayName: prop.displayName ?? apiName,\n visibility: prop.visibility ?? \"NORMAL\",\n description: prop.description,\n },\n type: prop.array\n ? {\n type: \"array\" as const,\n array: {\n subtype: propertyTypeTypeToOntologyIrInterfaceType(\n prop.type,\n apiName,\n ridGenerator,\n ),\n },\n }\n : propertyTypeTypeToOntologyIrInterfaceType(\n prop.type,\n apiName,\n ridGenerator,\n ),\n constraints: {\n primaryKeyConstraint: prop.primaryKeyConstraint ?? \"NO_RESTRICTION\",\n requireImplementation: prop.required ?? true,\n indexedForSearch: true,\n typeClasses: prop.typeClasses ?? [],\n dataConstraints: convertNullabilityToDataConstraint({\n type: prop.type,\n nullability: prop.nullability,\n }),\n valueType: prop.valueType\n ? ridGenerator.generateRidForValueType(\n prop.valueType.apiName,\n prop.valueType.version,\n )\n : undefined,\n },\n rid: ridGenerator.generateInterfacePropertyTypeRid(\n apiName,\n interfaceApiName,\n ),\n },\n },\n ];\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,6BAA6B,QAAQ,aAAa;AAE3D,SAASC,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,yCAAyC,QAAQ,gDAAgD;AAE1G,OAAO,SAASC,wBAAwBA,CACtCC,IAA2B,EAC3BC,OAAe,EACfC,gBAAwB,EACxBC,YAAkC,EACU;EAC5C,IAAIR,6BAA6B,CAACK,IAAI,CAAC,EAAE;IACvC,OAAO,CAACA,IAAI,CAACI,kBAAkB,CAACH,OAAO,EAAE;MACvCI,IAAI,EAAE,iCAAiC;MACvCC,+BAA+B,EAAE;QAC/BC,qBAAqB,EAAEP,IAAI,CAACQ,QAAQ;QACpCJ,kBAAkB,EAAEP,UAAU,CAACG,IAAI,CAACI,kBAAkB,EAAED,YAAY;MACtE;IACF,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAO,CACLA,YAAY,CAACM,gCAAgC,CAACR,OAAO,EAAEC,gBAAgB,CAAC,EACxE;MACEG,IAAI,EAAE,8BAA8B;MACpCK,4BAA4B,EAAE;QAC5BT,OAAO,EAAEA,OAAO;QAChBU,eAAe,EAAE;UACfC,WAAW,EAAEZ,IAAI,CAACY,WAAW,IAAIX,OAAO;UACxCY,UAAU,EAAEb,IAAI,CAACa,UAAU,IAAI,QAAQ;UACvCC,WAAW,EAAEd,IAAI,CAACc;QACpB,CAAC;QACDT,IAAI,EAAEL,IAAI,CAACe,KAAK,GACZ;UACAV,IAAI,EAAE,OAAgB;UACtBU,KAAK,EAAE;YACLC,OAAO,EAAElB,yCAAyC,CAChDE,IAAI,CAACK,IAAI,EACTJ,OAAO,EACPE,YACF;UACF;QACF,CAAC,GACCL,yCAAyC,CACzCE,IAAI,CAACK,IAAI,EACTJ,OAAO,EACPE,YACF,CAAC;QACHc,WAAW,EAAE;UACXC,oBAAoB,EAAElB,IAAI,CAACkB,oBAAoB,IAAI,gBAAgB;UACnEX,qBAAqB,EAAEP,IAAI,CAACQ,QAAQ,IAAI,IAAI;UAC5CW,gBAAgB,EAAE,IAAI;UACtBC,WAAW,EAAEpB,IAAI,CAACoB,WAAW,IAAI,EAAE;UACnCC,eAAe,EAAEzB,kCAAkC,CAAC;YAClDS,IAAI,EAAEL,IAAI,CAACK,IAAI;YACfiB,WAAW,EAAEtB,IAAI,CAACsB;UACpB,CAAC,CAAC;UACFC,SAAS,EAAEvB,IAAI,CAACuB,SAAS,GACrBpB,YAAY,CAACqB,uBAAuB,CACpCxB,IAAI,CAACuB,SAAS,CAACtB,OAAO,EACtBD,IAAI,CAACuB,SAAS,CAACE,OACjB,CAAC,GACCC;QACN,CAAC;QACDC,GAAG,EAAExB,YAAY,CAACM,gCAAgC,CAChDR,OAAO,EACPC,gBACF;MACF;IACF,CAAC,CACF;EACH;AACF","ignoreList":[]}
|