@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.
Files changed (302) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/bin/maker-experimental.mjs +6 -0
  3. package/build/browser/api/defineOntologyV2.js +35 -0
  4. package/build/browser/api/defineOntologyV2.js.map +1 -0
  5. package/build/browser/cli/main.js +120 -0
  6. package/build/browser/cli/main.js.map +1 -0
  7. package/build/browser/cli/marketplaceSerialization/BlockGeneratorResult.js +2 -0
  8. package/build/browser/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -0
  9. package/build/browser/cli/marketplaceSerialization/CodeBlockSetSpec.js +2 -0
  10. package/build/browser/cli/marketplaceSerialization/CodeBlockSetSpec.js.map +1 -0
  11. package/build/browser/cli/marketplaceSerialization/CodeBlockSpec.js +53 -0
  12. package/build/browser/cli/marketplaceSerialization/CodeBlockSpec.js.map +1 -0
  13. package/build/browser/cli/marketplaceSerialization/StoreManifestEntry.js +2 -0
  14. package/build/browser/cli/marketplaceSerialization/StoreManifestEntry.js.map +1 -0
  15. package/build/browser/cli/marketplaceSerialization/index.js +2 -0
  16. package/build/browser/cli/marketplaceSerialization/index.js.map +1 -0
  17. package/build/browser/cli/marketplaceSerialization/specGenerators.js +70 -0
  18. package/build/browser/cli/marketplaceSerialization/specGenerators.js.map +1 -0
  19. package/build/browser/cli/marketplaceSerialization/supportingTypes.js +2 -0
  20. package/build/browser/cli/marketplaceSerialization/supportingTypes.js.map +1 -0
  21. package/build/browser/conversion/toConjure/distributeTypeHelper.js +23 -0
  22. package/build/browser/conversion/toConjure/distributeTypeHelper.js.map +1 -0
  23. package/build/browser/conversion/toMarketplace/convertActionHelpers.js +469 -0
  24. package/build/browser/conversion/toMarketplace/convertActionHelpers.js.map +1 -0
  25. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js +96 -0
  26. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -0
  27. package/build/browser/conversion/toMarketplace/convertActionParameters.js +81 -0
  28. package/build/browser/conversion/toMarketplace/convertActionParameters.js.map +1 -0
  29. package/build/browser/conversion/toMarketplace/convertActionSections.js +45 -0
  30. package/build/browser/conversion/toMarketplace/convertActionSections.js.map +1 -0
  31. package/build/browser/conversion/toMarketplace/convertActionValidation.js +160 -0
  32. package/build/browser/conversion/toMarketplace/convertActionValidation.js.map +1 -0
  33. package/build/browser/conversion/toMarketplace/convertActionVisibility.js +41 -0
  34. package/build/browser/conversion/toMarketplace/convertActionVisibility.js.map +1 -0
  35. package/build/browser/conversion/toMarketplace/convertCardinality.js +23 -0
  36. package/build/browser/conversion/toMarketplace/convertCardinality.js.map +1 -0
  37. package/build/browser/conversion/toMarketplace/convertConditionDefinition.js +88 -0
  38. package/build/browser/conversion/toMarketplace/convertConditionDefinition.js.map +1 -0
  39. package/build/browser/conversion/toMarketplace/convertDataConstraintToDataConstraints.js +26 -0
  40. package/build/browser/conversion/toMarketplace/convertDataConstraintToDataConstraints.js.map +1 -0
  41. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +352 -0
  42. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -0
  43. package/build/browser/conversion/toMarketplace/convertInterface.js +75 -0
  44. package/build/browser/conversion/toMarketplace/convertInterface.js.map +1 -0
  45. package/build/browser/conversion/toMarketplace/convertInterfacePropertyType.js +62 -0
  46. package/build/browser/conversion/toMarketplace/convertInterfacePropertyType.js.map +1 -0
  47. package/build/browser/conversion/toMarketplace/convertLink.js +247 -0
  48. package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -0
  49. package/build/browser/conversion/toMarketplace/convertMappingValue.js +76 -0
  50. package/build/browser/conversion/toMarketplace/convertMappingValue.js.map +1 -0
  51. package/build/browser/conversion/toMarketplace/convertNullabilityToDataConstraint.js +42 -0
  52. package/build/browser/conversion/toMarketplace/convertNullabilityToDataConstraint.js.map +1 -0
  53. package/build/browser/conversion/toMarketplace/convertObject.js +262 -0
  54. package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -0
  55. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js +59 -0
  56. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -0
  57. package/build/browser/conversion/toMarketplace/convertOntologyDefinition.js +29 -0
  58. package/build/browser/conversion/toMarketplace/convertOntologyDefinition.js.map +1 -0
  59. package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +236 -0
  60. package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -0
  61. package/build/browser/conversion/toMarketplace/convertOntologyToValueTypeIr.js +24 -0
  62. package/build/browser/conversion/toMarketplace/convertOntologyToValueTypeIr.js.map +1 -0
  63. package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js +35 -0
  64. package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -0
  65. package/build/browser/conversion/toMarketplace/convertSpt.js +65 -0
  66. package/build/browser/conversion/toMarketplace/convertSpt.js.map +1 -0
  67. package/build/browser/conversion/toMarketplace/convertValueType.js +20 -0
  68. package/build/browser/conversion/toMarketplace/convertValueType.js.map +1 -0
  69. package/build/browser/conversion/toMarketplace/convertValueTypeDataConstraints.js +30 -0
  70. package/build/browser/conversion/toMarketplace/convertValueTypeDataConstraints.js.map +1 -0
  71. package/build/browser/conversion/toMarketplace/convertValueTypesToIr.js +34 -0
  72. package/build/browser/conversion/toMarketplace/convertValueTypesToIr.js.map +1 -0
  73. package/build/browser/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js +83 -0
  74. package/build/browser/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js.map +1 -0
  75. package/build/browser/conversion/toMarketplace/getFormContentOrdering.js +39 -0
  76. package/build/browser/conversion/toMarketplace/getFormContentOrdering.js.map +1 -0
  77. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js +146 -0
  78. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js.map +1 -0
  79. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +156 -0
  80. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -0
  81. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js +442 -0
  82. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js.map +1 -0
  83. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +562 -0
  84. package/build/browser/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +1 -0
  85. package/build/browser/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js +513 -0
  86. package/build/browser/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js.map +1 -0
  87. package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +274 -0
  88. package/build/browser/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -0
  89. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js +425 -0
  90. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js.map +1 -0
  91. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +677 -0
  92. package/build/browser/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +1 -0
  93. package/build/browser/conversion/toMarketplace/typeVisitors.js +615 -0
  94. package/build/browser/conversion/toMarketplace/typeVisitors.js.map +1 -0
  95. package/build/browser/index.js +2 -0
  96. package/build/browser/index.js.map +1 -1
  97. package/build/browser/util/generateRid.js +476 -0
  98. package/build/browser/util/generateRid.js.map +1 -0
  99. package/build/cjs/ActionTypeShapeExtractor-5IVLHAPH.cjs +395 -0
  100. package/build/cjs/ActionTypeShapeExtractor-5IVLHAPH.cjs.map +1 -0
  101. package/build/cjs/chunk-AWYOBJ25.cjs +440 -0
  102. package/build/cjs/chunk-AWYOBJ25.cjs.map +1 -0
  103. package/build/cjs/index.cjs +3965 -2663
  104. package/build/cjs/index.cjs.map +1 -1
  105. package/build/cjs/index.d.cts +103 -1
  106. package/build/esm/api/defineOntologyV2.js +35 -0
  107. package/build/esm/api/defineOntologyV2.js.map +1 -0
  108. package/build/esm/cli/main.js +120 -0
  109. package/build/esm/cli/main.js.map +1 -0
  110. package/build/esm/cli/marketplaceSerialization/BlockGeneratorResult.js +2 -0
  111. package/build/esm/cli/marketplaceSerialization/BlockGeneratorResult.js.map +1 -0
  112. package/build/esm/cli/marketplaceSerialization/CodeBlockSetSpec.js +2 -0
  113. package/build/esm/cli/marketplaceSerialization/CodeBlockSetSpec.js.map +1 -0
  114. package/build/esm/cli/marketplaceSerialization/CodeBlockSpec.js +53 -0
  115. package/build/esm/cli/marketplaceSerialization/CodeBlockSpec.js.map +1 -0
  116. package/build/esm/cli/marketplaceSerialization/StoreManifestEntry.js +2 -0
  117. package/build/esm/cli/marketplaceSerialization/StoreManifestEntry.js.map +1 -0
  118. package/build/esm/cli/marketplaceSerialization/index.js +2 -0
  119. package/build/esm/cli/marketplaceSerialization/index.js.map +1 -0
  120. package/build/esm/cli/marketplaceSerialization/specGenerators.js +70 -0
  121. package/build/esm/cli/marketplaceSerialization/specGenerators.js.map +1 -0
  122. package/build/esm/cli/marketplaceSerialization/supportingTypes.js +2 -0
  123. package/build/esm/cli/marketplaceSerialization/supportingTypes.js.map +1 -0
  124. package/build/esm/conversion/toConjure/distributeTypeHelper.js +23 -0
  125. package/build/esm/conversion/toConjure/distributeTypeHelper.js.map +1 -0
  126. package/build/esm/conversion/toMarketplace/convertActionHelpers.js +469 -0
  127. package/build/esm/conversion/toMarketplace/convertActionHelpers.js.map +1 -0
  128. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js +96 -0
  129. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -0
  130. package/build/esm/conversion/toMarketplace/convertActionParameters.js +81 -0
  131. package/build/esm/conversion/toMarketplace/convertActionParameters.js.map +1 -0
  132. package/build/esm/conversion/toMarketplace/convertActionSections.js +45 -0
  133. package/build/esm/conversion/toMarketplace/convertActionSections.js.map +1 -0
  134. package/build/esm/conversion/toMarketplace/convertActionValidation.js +160 -0
  135. package/build/esm/conversion/toMarketplace/convertActionValidation.js.map +1 -0
  136. package/build/esm/conversion/toMarketplace/convertActionVisibility.js +41 -0
  137. package/build/esm/conversion/toMarketplace/convertActionVisibility.js.map +1 -0
  138. package/build/esm/conversion/toMarketplace/convertCardinality.js +23 -0
  139. package/build/esm/conversion/toMarketplace/convertCardinality.js.map +1 -0
  140. package/build/esm/conversion/toMarketplace/convertConditionDefinition.js +88 -0
  141. package/build/esm/conversion/toMarketplace/convertConditionDefinition.js.map +1 -0
  142. package/build/esm/conversion/toMarketplace/convertDataConstraintToDataConstraints.js +26 -0
  143. package/build/esm/conversion/toMarketplace/convertDataConstraintToDataConstraints.js.map +1 -0
  144. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +352 -0
  145. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -0
  146. package/build/esm/conversion/toMarketplace/convertInterface.js +75 -0
  147. package/build/esm/conversion/toMarketplace/convertInterface.js.map +1 -0
  148. package/build/esm/conversion/toMarketplace/convertInterfacePropertyType.js +62 -0
  149. package/build/esm/conversion/toMarketplace/convertInterfacePropertyType.js.map +1 -0
  150. package/build/esm/conversion/toMarketplace/convertLink.js +247 -0
  151. package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -0
  152. package/build/esm/conversion/toMarketplace/convertMappingValue.js +76 -0
  153. package/build/esm/conversion/toMarketplace/convertMappingValue.js.map +1 -0
  154. package/build/esm/conversion/toMarketplace/convertNullabilityToDataConstraint.js +42 -0
  155. package/build/esm/conversion/toMarketplace/convertNullabilityToDataConstraint.js.map +1 -0
  156. package/build/esm/conversion/toMarketplace/convertObject.js +262 -0
  157. package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -0
  158. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js +59 -0
  159. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -0
  160. package/build/esm/conversion/toMarketplace/convertOntologyDefinition.js +29 -0
  161. package/build/esm/conversion/toMarketplace/convertOntologyDefinition.js.map +1 -0
  162. package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +236 -0
  163. package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -0
  164. package/build/esm/conversion/toMarketplace/convertOntologyToValueTypeIr.js +24 -0
  165. package/build/esm/conversion/toMarketplace/convertOntologyToValueTypeIr.js.map +1 -0
  166. package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js +35 -0
  167. package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -0
  168. package/build/esm/conversion/toMarketplace/convertSpt.js +65 -0
  169. package/build/esm/conversion/toMarketplace/convertSpt.js.map +1 -0
  170. package/build/esm/conversion/toMarketplace/convertValueType.js +20 -0
  171. package/build/esm/conversion/toMarketplace/convertValueType.js.map +1 -0
  172. package/build/esm/conversion/toMarketplace/convertValueTypeDataConstraints.js +30 -0
  173. package/build/esm/conversion/toMarketplace/convertValueTypeDataConstraints.js.map +1 -0
  174. package/build/esm/conversion/toMarketplace/convertValueTypesToIr.js +34 -0
  175. package/build/esm/conversion/toMarketplace/convertValueTypesToIr.js.map +1 -0
  176. package/build/esm/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js +83 -0
  177. package/build/esm/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.js.map +1 -0
  178. package/build/esm/conversion/toMarketplace/getFormContentOrdering.js +39 -0
  179. package/build/esm/conversion/toMarketplace/getFormContentOrdering.js.map +1 -0
  180. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js +146 -0
  181. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.js.map +1 -0
  182. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +156 -0
  183. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -0
  184. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js +442 -0
  185. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.js.map +1 -0
  186. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js +562 -0
  187. package/build/esm/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.js.map +1 -0
  188. package/build/esm/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js +513 -0
  189. package/build/esm/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.js.map +1 -0
  190. package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js +274 -0
  191. package/build/esm/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.js.map +1 -0
  192. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js +425 -0
  193. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.js.map +1 -0
  194. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js +677 -0
  195. package/build/esm/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.js.map +1 -0
  196. package/build/esm/conversion/toMarketplace/typeVisitors.js +615 -0
  197. package/build/esm/conversion/toMarketplace/typeVisitors.js.map +1 -0
  198. package/build/esm/index.js +2 -0
  199. package/build/esm/index.js.map +1 -1
  200. package/build/esm/util/generateRid.js +476 -0
  201. package/build/esm/util/generateRid.js.map +1 -0
  202. package/build/types/api/defineOntologyV2.d.ts +3 -0
  203. package/build/types/api/defineOntologyV2.d.ts.map +1 -0
  204. package/build/types/cli/main.d.ts +1 -0
  205. package/build/types/cli/main.d.ts.map +1 -0
  206. package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts +69 -0
  207. package/build/types/cli/marketplaceSerialization/BlockGeneratorResult.d.ts.map +1 -0
  208. package/build/types/cli/marketplaceSerialization/CodeBlockSetSpec.d.ts +60 -0
  209. package/build/types/cli/marketplaceSerialization/CodeBlockSetSpec.d.ts.map +1 -0
  210. package/build/types/cli/marketplaceSerialization/CodeBlockSpec.d.ts +48 -0
  211. package/build/types/cli/marketplaceSerialization/CodeBlockSpec.d.ts.map +1 -0
  212. package/build/types/cli/marketplaceSerialization/StoreManifestEntry.d.ts +13 -0
  213. package/build/types/cli/marketplaceSerialization/StoreManifestEntry.d.ts.map +1 -0
  214. package/build/types/cli/marketplaceSerialization/index.d.ts +11 -0
  215. package/build/types/cli/marketplaceSerialization/index.d.ts.map +1 -0
  216. package/build/types/cli/marketplaceSerialization/specGenerators.d.ts +10 -0
  217. package/build/types/cli/marketplaceSerialization/specGenerators.d.ts.map +1 -0
  218. package/build/types/cli/marketplaceSerialization/supportingTypes.d.ts +31 -0
  219. package/build/types/cli/marketplaceSerialization/supportingTypes.d.ts.map +1 -0
  220. package/build/types/conversion/toConjure/distributeTypeHelper.d.ts +3 -0
  221. package/build/types/conversion/toConjure/distributeTypeHelper.d.ts.map +1 -0
  222. package/build/types/conversion/toMarketplace/convertActionHelpers.d.ts +7 -0
  223. package/build/types/conversion/toMarketplace/convertActionHelpers.d.ts.map +1 -0
  224. package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts +4 -0
  225. package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts.map +1 -0
  226. package/build/types/conversion/toMarketplace/convertActionParameters.d.ts +4 -0
  227. package/build/types/conversion/toMarketplace/convertActionParameters.d.ts.map +1 -0
  228. package/build/types/conversion/toMarketplace/convertActionSections.d.ts +4 -0
  229. package/build/types/conversion/toMarketplace/convertActionSections.d.ts.map +1 -0
  230. package/build/types/conversion/toMarketplace/convertActionValidation.d.ts +4 -0
  231. package/build/types/conversion/toMarketplace/convertActionValidation.d.ts.map +1 -0
  232. package/build/types/conversion/toMarketplace/convertActionVisibility.d.ts +2 -0
  233. package/build/types/conversion/toMarketplace/convertActionVisibility.d.ts.map +1 -0
  234. package/build/types/conversion/toMarketplace/convertCardinality.d.ts +3 -0
  235. package/build/types/conversion/toMarketplace/convertCardinality.d.ts.map +1 -0
  236. package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts +3 -0
  237. package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts.map +1 -0
  238. package/build/types/conversion/toMarketplace/convertDataConstraintToDataConstraints.d.ts +2 -0
  239. package/build/types/conversion/toMarketplace/convertDataConstraintToDataConstraints.d.ts.map +1 -0
  240. package/build/types/conversion/toMarketplace/convertDatasourceDefinition.d.ts +4 -0
  241. package/build/types/conversion/toMarketplace/convertDatasourceDefinition.d.ts.map +1 -0
  242. package/build/types/conversion/toMarketplace/convertInterface.d.ts +4 -0
  243. package/build/types/conversion/toMarketplace/convertInterface.d.ts.map +1 -0
  244. package/build/types/conversion/toMarketplace/convertInterfacePropertyType.d.ts +4 -0
  245. package/build/types/conversion/toMarketplace/convertInterfacePropertyType.d.ts.map +1 -0
  246. package/build/types/conversion/toMarketplace/convertLink.d.ts +9 -0
  247. package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -0
  248. package/build/types/conversion/toMarketplace/convertMappingValue.d.ts +4 -0
  249. package/build/types/conversion/toMarketplace/convertMappingValue.d.ts.map +1 -0
  250. package/build/types/conversion/toMarketplace/convertNullabilityToDataConstraint.d.ts +6 -0
  251. package/build/types/conversion/toMarketplace/convertNullabilityToDataConstraint.d.ts.map +1 -0
  252. package/build/types/conversion/toMarketplace/convertObject.d.ts +10 -0
  253. package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -0
  254. package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts +4 -0
  255. package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts.map +1 -0
  256. package/build/types/conversion/toMarketplace/convertOntologyDefinition.d.ts +4 -0
  257. package/build/types/conversion/toMarketplace/convertOntologyDefinition.d.ts.map +1 -0
  258. package/build/types/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.d.ts +4 -0
  259. package/build/types/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.d.ts.map +1 -0
  260. package/build/types/conversion/toMarketplace/convertOntologyToValueTypeIr.d.ts +3 -0
  261. package/build/types/conversion/toMarketplace/convertOntologyToValueTypeIr.d.ts.map +1 -0
  262. package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts +3 -0
  263. package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts.map +1 -0
  264. package/build/types/conversion/toMarketplace/convertSpt.d.ts +4 -0
  265. package/build/types/conversion/toMarketplace/convertSpt.d.ts.map +1 -0
  266. package/build/types/conversion/toMarketplace/convertValueType.d.ts +4 -0
  267. package/build/types/conversion/toMarketplace/convertValueType.d.ts.map +1 -0
  268. package/build/types/conversion/toMarketplace/convertValueTypeDataConstraints.d.ts +2 -0
  269. package/build/types/conversion/toMarketplace/convertValueTypeDataConstraints.d.ts.map +1 -0
  270. package/build/types/conversion/toMarketplace/convertValueTypesToIr.d.ts +3 -0
  271. package/build/types/conversion/toMarketplace/convertValueTypesToIr.d.ts.map +1 -0
  272. package/build/types/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.d.ts +2 -0
  273. package/build/types/conversion/toMarketplace/dataConstraintToPropertyTypeDataConstraint.d.ts.map +1 -0
  274. package/build/types/conversion/toMarketplace/getFormContentOrdering.d.ts +3 -0
  275. package/build/types/conversion/toMarketplace/getFormContentOrdering.d.ts.map +1 -0
  276. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.d.ts +4 -0
  277. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrInterfaceType.d.ts.map +1 -0
  278. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts +4 -0
  279. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts.map +1 -0
  280. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.d.ts +13 -0
  281. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.d.ts.map +1 -0
  282. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts +1 -0
  283. package/build/types/conversion/toMarketplace/shapeExtractors/ActionTypeShapeExtractor.test.d.ts.map +1 -0
  284. package/build/types/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.d.ts +11 -0
  285. package/build/types/conversion/toMarketplace/shapeExtractors/IrShapeExtractor.d.ts.map +1 -0
  286. package/build/types/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.d.ts +43 -0
  287. package/build/types/conversion/toMarketplace/shapeExtractors/LinkTypeShapeExtractor.d.ts.map +1 -0
  288. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.d.ts +28 -0
  289. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.d.ts.map +1 -0
  290. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts +1 -0
  291. package/build/types/conversion/toMarketplace/shapeExtractors/ObjectTypeShapeExtractor.test.d.ts.map +1 -0
  292. package/build/types/conversion/toMarketplace/typeVisitors.d.ts +17 -0
  293. package/build/types/conversion/toMarketplace/typeVisitors.d.ts.map +1 -0
  294. package/build/types/index.d.ts +3 -0
  295. package/build/types/index.d.ts.map +1 -1
  296. package/build/types/util/generateRid.d.ts +216 -0
  297. package/build/types/util/generateRid.d.ts.map +1 -0
  298. package/package.json +10 -4
  299. package/build/cjs/chunk-ZPP374PZ.cjs +0 -17
  300. package/build/cjs/chunk-ZPP374PZ.cjs.map +0 -1
  301. package/build/cjs/prompt-VSXFWPU4.cjs +0 -955
  302. 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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,SAASA,wBAAwB,QAAQ,mCAAmC;AAC5E,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,OAAO,SAASC,gBAAgBA,CAC9BC,aAA4B,EAC5BC,YAAkC,EACR;EAC1B,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAE,GAAGC;EAAM,CAAC,GAAGJ,aAAa;EAClD;EACA,MAAMK,gBAAgB,GAAGF,MAAM,EAAEG,IAAI,KAAK,YAAY,GAClD;IACA,GAAGH,MAAM;IACTI,UAAU,EAAE;MACV,GAAGJ,MAAM,CAACI,UAAU;MACpBC,QAAQ,EAAEL,MAAM,CAACI,UAAU,CAACC,QAAQ,EAAEC,OAAO,CAAC,SAAS,EAAE,GAAG;IAC9D;EACF,CAAC,GACCN,MAAM;EACV,OAAO;IACL,GAAGC,KAAK;IACRD,MAAM,EAAEE,gBAAgB;IACxB;IACAK,GAAG,EAAET,YAAY,CAACU,uBAAuB,CAACX,aAAa,CAACY,OAAO,CAAC;IAChEC,YAAY,EAAEC,MAAM,CAACC,WAAW,CAC9BD,MAAM,CAACE,MAAM,CAAChB,aAAa,CAACa,YAAY,CAAC,CACtCI,GAAG,CACFC,GAAG,IACA;MACH,MAAMC,YAAY,GAAGrB,UAAU,CAACoB,GAAG,CAACE,kBAAkB,EAAEnB,YAAY,CAAC;MACrE,OAAO,CAACkB,YAAY,CAACT,GAAG,EAAE;QACxBW,QAAQ,EAAEH,GAAG,CAACG,QAAQ;QACtBD,kBAAkB,EAAED;MACtB,CAAC,CAAC;IACJ,CAAC,CACL,CAAC;IACDG,eAAe,EAAE;MACfC,WAAW,EAAEvB,aAAa,CAACsB,eAAe,CAACC,WAAW;MACtDC,WAAW,EAAExB,aAAa,CAACsB,eAAe,CAACE,WAAW;MACtDC,IAAI,EAAEzB,aAAa,CAACsB,eAAe,CAACG,IAAI,IAAI;QAC1CnB,IAAI,EAAE,WAAW;QACjBoB,SAAS,EAAE;UAAEC,KAAK,EAAE,SAAS;UAAEC,OAAO,EAAE;QAAmB;MAC7D;IACF,CAAC;IACD;IACAC,iBAAiB,EAAE7B,aAAa,CAAC6B,iBAAiB,CAACZ,GAAG,CAACa,CAAC,IACtD7B,YAAY,CAACU,uBAAuB,CAACmB,CAAC,CAAClB,OAAO,CAChD,CAAC;IACD;IACAmB,KAAK,EAAE/B,aAAa,CAAC+B,KAAK,CAACd,GAAG,CAACe,IAAI,KAAK;MACtC,GAAGA,IAAI;MACPC,kBAAkB,EAAED,IAAI,CAACC,kBAAkB,CAAC3B,IAAI,KAAK,eAAe,GAChE;QACAA,IAAI,EAAE,eAAe;QACrBN,aAAa,EAAEC,YAAY,CAACU,uBAAuB,CACjDqB,IAAI,CAACC,kBAAkB,CAACjC,aAC1B;MACF,CAAC,GACC;QACAM,IAAI,EAAE,YAAY;QAClB4B,UAAU,EAAEjC,YAAY,CAACkC,oBAAoB,CAC3CH,IAAI,CAACC,kBAAkB,CAACC,UAC1B;MACF,CAAC;MACHxB,GAAG,EAAET,YAAY,CAACmC,+BAA+B,CAC/CJ,IAAI,CAACK,QAAQ,CAACzB,OAAO,EACrBZ,aAAa,CAACY,OAChB;IACF,CAAC,CAAC,CAAC;IACH;IACA0B,UAAU,EAAE,EAAE;IACdC,YAAY,EAAEzB,MAAM,CAACC,WAAW,CAC9BD,MAAM,CAAC0B,OAAO,CAACxC,aAAa,CAACuC,YAAY,CAAC,CAACtB,GAAG,CAAC,CAAC,CAACL,OAAO,EAAE6B,IAAI,CAAC,KAC7D5C,wBAAwB,CACtB4C,IAAI,EACJ7B,OAAO,EACPZ,aAAa,CAACY,OAAO,EACrBX,YACF,CACF,CACF;EACF,CAAC;AACH","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":[]}