@osdk/maker 0.15.0 → 0.16.0-beta.10

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 (240) hide show
  1. package/CHANGELOG.md +89 -126
  2. package/README.md +18 -1
  3. package/build/browser/api/cloneDefinition.js +36 -0
  4. package/build/browser/api/cloneDefinition.js.map +1 -0
  5. package/build/browser/api/code-snippets/createCodeSnippets.js +1 -1
  6. package/build/browser/api/code-snippets/createCodeSnippets.js.map +1 -1
  7. package/build/browser/api/defineAction.js +9 -1
  8. package/build/browser/api/defineAction.js.map +1 -1
  9. package/build/browser/api/defineCreateInterfaceObjectAction.js +3 -1
  10. package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -1
  11. package/build/browser/api/defineCreateObjectAction.js +3 -1
  12. package/build/browser/api/defineCreateObjectAction.js.map +1 -1
  13. package/build/browser/api/defineCreateOrModifyObjectAction.js +3 -1
  14. package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -1
  15. package/build/browser/api/defineDeleteInterfaceObjectAction.js +3 -1
  16. package/build/browser/api/defineDeleteInterfaceObjectAction.js.map +1 -1
  17. package/build/browser/api/defineDeleteObjectAction.js +3 -1
  18. package/build/browser/api/defineDeleteObjectAction.js.map +1 -1
  19. package/build/browser/api/defineFunction.js +61 -0
  20. package/build/browser/api/defineFunction.js.map +1 -0
  21. package/build/browser/api/defineInterface.js +3 -1
  22. package/build/browser/api/defineInterface.js.map +1 -1
  23. package/build/browser/api/defineInterfaceLinkConstraint.js +6 -2
  24. package/build/browser/api/defineInterfaceLinkConstraint.js.map +1 -1
  25. package/build/browser/api/defineLink.js +3 -1
  26. package/build/browser/api/defineLink.js.map +1 -1
  27. package/build/browser/api/defineModifyInterfaceObjectAction.js +3 -1
  28. package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -1
  29. package/build/browser/api/defineModifyObjectAction.js +3 -1
  30. package/build/browser/api/defineModifyObjectAction.js.map +1 -1
  31. package/build/browser/api/defineObject.js +29 -10
  32. package/build/browser/api/defineObject.js.map +1 -1
  33. package/build/browser/api/defineOntology.js +29 -0
  34. package/build/browser/api/defineOntology.js.map +1 -1
  35. package/build/browser/api/defineSpt.js +3 -1
  36. package/build/browser/api/defineSpt.js.map +1 -1
  37. package/build/browser/api/defineValueType.js +3 -1
  38. package/build/browser/api/defineValueType.js.map +1 -1
  39. package/build/browser/api/interface/InterfaceType.js.map +1 -1
  40. package/build/browser/api/object/ObjectPropertyType.js.map +1 -1
  41. package/build/browser/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  42. package/build/browser/api/properties/PropertyTypeType.js.map +1 -1
  43. package/build/browser/api/properties/ReducerType.js +2 -0
  44. package/build/browser/api/properties/ReducerType.js.map +1 -0
  45. package/build/browser/api/properties/SharedPropertyType.js.map +1 -1
  46. package/build/browser/cli/main.js +1 -1
  47. package/build/browser/cli/main.js.map +1 -1
  48. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +17 -6
  49. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  50. package/build/browser/conversion/toMarketplace/convertInterface.js +2 -1
  51. package/build/browser/conversion/toMarketplace/convertInterface.js.map +1 -1
  52. package/build/browser/conversion/toMarketplace/convertMainValue.js +36 -0
  53. package/build/browser/conversion/toMarketplace/convertMainValue.js.map +1 -0
  54. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js +4 -3
  55. package/build/browser/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -1
  56. package/build/browser/conversion/toMarketplace/convertReducers.js +53 -0
  57. package/build/browser/conversion/toMarketplace/convertReducers.js.map +1 -0
  58. package/build/browser/conversion/toMarketplace/convertSpt.js +5 -3
  59. package/build/browser/conversion/toMarketplace/convertSpt.js.map +1 -1
  60. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +4 -2
  61. package/build/browser/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -1
  62. package/build/browser/index.js +5 -2
  63. package/build/browser/index.js.map +1 -1
  64. package/build/cjs/index.cjs +267 -105
  65. package/build/cjs/index.cjs.map +1 -1
  66. package/build/cjs/index.d.cts +214 -164
  67. package/build/esm/api/cloneDefinition.js +36 -0
  68. package/build/esm/api/cloneDefinition.js.map +1 -0
  69. package/build/esm/api/code-snippets/createCodeSnippets.js +1 -1
  70. package/build/esm/api/code-snippets/createCodeSnippets.js.map +1 -1
  71. package/build/esm/api/defineAction.js +9 -1
  72. package/build/esm/api/defineAction.js.map +1 -1
  73. package/build/esm/api/defineCreateInterfaceObjectAction.js +3 -1
  74. package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -1
  75. package/build/esm/api/defineCreateObjectAction.js +3 -1
  76. package/build/esm/api/defineCreateObjectAction.js.map +1 -1
  77. package/build/esm/api/defineCreateOrModifyObjectAction.js +3 -1
  78. package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -1
  79. package/build/esm/api/defineDeleteInterfaceObjectAction.js +3 -1
  80. package/build/esm/api/defineDeleteInterfaceObjectAction.js.map +1 -1
  81. package/build/esm/api/defineDeleteObjectAction.js +3 -1
  82. package/build/esm/api/defineDeleteObjectAction.js.map +1 -1
  83. package/build/esm/api/defineFunction.js +61 -0
  84. package/build/esm/api/defineFunction.js.map +1 -0
  85. package/build/esm/api/defineInterface.js +3 -1
  86. package/build/esm/api/defineInterface.js.map +1 -1
  87. package/build/esm/api/defineInterfaceLinkConstraint.js +6 -2
  88. package/build/esm/api/defineInterfaceLinkConstraint.js.map +1 -1
  89. package/build/esm/api/defineLink.js +3 -1
  90. package/build/esm/api/defineLink.js.map +1 -1
  91. package/build/esm/api/defineModifyInterfaceObjectAction.js +3 -1
  92. package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -1
  93. package/build/esm/api/defineModifyObjectAction.js +3 -1
  94. package/build/esm/api/defineModifyObjectAction.js.map +1 -1
  95. package/build/esm/api/defineObject.js +29 -10
  96. package/build/esm/api/defineObject.js.map +1 -1
  97. package/build/esm/api/defineOntology.js +29 -0
  98. package/build/esm/api/defineOntology.js.map +1 -1
  99. package/build/esm/api/defineSpt.js +3 -1
  100. package/build/esm/api/defineSpt.js.map +1 -1
  101. package/build/esm/api/defineValueType.js +3 -1
  102. package/build/esm/api/defineValueType.js.map +1 -1
  103. package/build/esm/api/interface/InterfaceType.js.map +1 -1
  104. package/build/esm/api/object/ObjectPropertyType.js.map +1 -1
  105. package/build/esm/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  106. package/build/esm/api/properties/PropertyTypeType.js.map +1 -1
  107. package/build/esm/api/properties/ReducerType.js +2 -0
  108. package/build/esm/api/properties/ReducerType.js.map +1 -0
  109. package/build/esm/api/properties/SharedPropertyType.js.map +1 -1
  110. package/build/esm/cli/main.js +1 -1
  111. package/build/esm/cli/main.js.map +1 -1
  112. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +17 -6
  113. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  114. package/build/esm/conversion/toMarketplace/convertInterface.js +2 -1
  115. package/build/esm/conversion/toMarketplace/convertInterface.js.map +1 -1
  116. package/build/esm/conversion/toMarketplace/convertMainValue.js +36 -0
  117. package/build/esm/conversion/toMarketplace/convertMainValue.js.map +1 -0
  118. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js +4 -3
  119. package/build/esm/conversion/toMarketplace/convertObjectPropertyType.js.map +1 -1
  120. package/build/esm/conversion/toMarketplace/convertReducers.js +53 -0
  121. package/build/esm/conversion/toMarketplace/convertReducers.js.map +1 -0
  122. package/build/esm/conversion/toMarketplace/convertSpt.js +5 -3
  123. package/build/esm/conversion/toMarketplace/convertSpt.js.map +1 -1
  124. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js +4 -2
  125. package/build/esm/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.js.map +1 -1
  126. package/build/esm/index.js +5 -2
  127. package/build/esm/index.js.map +1 -1
  128. package/build/types/api/cloneDefinition.d.ts +9 -0
  129. package/build/types/api/cloneDefinition.d.ts.map +1 -0
  130. package/build/types/api/defineAction.d.ts +1 -1
  131. package/build/types/api/defineAction.d.ts.map +1 -1
  132. package/build/types/api/defineCreateInterfaceObjectAction.d.ts +1 -1
  133. package/build/types/api/defineCreateInterfaceObjectAction.d.ts.map +1 -1
  134. package/build/types/api/defineCreateObjectAction.d.ts +1 -1
  135. package/build/types/api/defineCreateObjectAction.d.ts.map +1 -1
  136. package/build/types/api/defineCreateOrModifyObjectAction.d.ts +1 -1
  137. package/build/types/api/defineCreateOrModifyObjectAction.d.ts.map +1 -1
  138. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts +1 -1
  139. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts.map +1 -1
  140. package/build/types/api/defineDeleteObjectAction.d.ts +1 -1
  141. package/build/types/api/defineDeleteObjectAction.d.ts.map +1 -1
  142. package/build/types/api/defineFunction.d.ts +19 -0
  143. package/build/types/api/defineFunction.d.ts.map +1 -0
  144. package/build/types/api/defineInterface.d.ts +1 -1
  145. package/build/types/api/defineInterface.d.ts.map +1 -1
  146. package/build/types/api/defineInterfaceLinkConstraint.d.ts +1 -1
  147. package/build/types/api/defineInterfaceLinkConstraint.d.ts.map +1 -1
  148. package/build/types/api/defineLink.d.ts +1 -1
  149. package/build/types/api/defineLink.d.ts.map +1 -1
  150. package/build/types/api/defineModifyInterfaceObjectAction.d.ts +1 -1
  151. package/build/types/api/defineModifyInterfaceObjectAction.d.ts.map +1 -1
  152. package/build/types/api/defineModifyObjectAction.d.ts +1 -1
  153. package/build/types/api/defineModifyObjectAction.d.ts.map +1 -1
  154. package/build/types/api/defineObject.d.ts +1 -1
  155. package/build/types/api/defineObject.d.ts.map +1 -1
  156. package/build/types/api/defineOntology.d.ts +5 -0
  157. package/build/types/api/defineOntology.d.ts.map +1 -1
  158. package/build/types/api/defineSpt.d.ts +3 -1
  159. package/build/types/api/defineSpt.d.ts.map +1 -1
  160. package/build/types/api/defineValueType.d.ts +1 -1
  161. package/build/types/api/defineValueType.d.ts.map +1 -1
  162. package/build/types/api/interface/InterfaceType.d.ts +1 -1
  163. package/build/types/api/interface/InterfaceType.d.ts.map +1 -1
  164. package/build/types/api/object/ObjectPropertyType.d.ts +2 -0
  165. package/build/types/api/object/ObjectPropertyType.d.ts.map +1 -1
  166. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts +10 -3
  167. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts.map +1 -1
  168. package/build/types/api/properties/PropertyTypeType.d.ts +4 -0
  169. package/build/types/api/properties/PropertyTypeType.d.ts.map +1 -1
  170. package/build/types/api/properties/ReducerType.d.ts +4 -0
  171. package/build/types/api/properties/ReducerType.d.ts.map +1 -0
  172. package/build/types/api/properties/SharedPropertyType.d.ts +2 -0
  173. package/build/types/api/properties/SharedPropertyType.d.ts.map +1 -1
  174. package/build/types/conversion/toMarketplace/convertDatasourceDefinition.d.ts.map +1 -1
  175. package/build/types/conversion/toMarketplace/convertMainValue.d.ts +4 -0
  176. package/build/types/conversion/toMarketplace/convertMainValue.d.ts.map +1 -0
  177. package/build/types/conversion/toMarketplace/convertObjectPropertyType.d.ts.map +1 -1
  178. package/build/types/conversion/toMarketplace/convertReducers.d.ts +6 -0
  179. package/build/types/conversion/toMarketplace/convertReducers.d.ts.map +1 -0
  180. package/build/types/conversion/toMarketplace/convertSpt.d.ts +1 -1
  181. package/build/types/conversion/toMarketplace/convertSpt.d.ts.map +1 -1
  182. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts +2 -1
  183. package/build/types/conversion/toMarketplace/propertyTypeTypeToOntologyIrType.d.ts.map +1 -1
  184. package/build/types/index.d.ts +14 -6
  185. package/build/types/index.d.ts.map +1 -1
  186. package/package.json +6 -5
  187. package/build/browser/api/test/actions.test.js +0 -14397
  188. package/build/browser/api/test/actions.test.js.map +0 -1
  189. package/build/browser/api/test/interfaces.test.js +0 -1189
  190. package/build/browser/api/test/interfaces.test.js.map +0 -1
  191. package/build/browser/api/test/links.test.js +0 -2019
  192. package/build/browser/api/test/links.test.js.map +0 -1
  193. package/build/browser/api/test/markingconstraint.test.js +0 -134
  194. package/build/browser/api/test/markingconstraint.test.js.map +0 -1
  195. package/build/browser/api/test/misc.test.js +0 -1315
  196. package/build/browser/api/test/misc.test.js.map +0 -1
  197. package/build/browser/api/test/objectStatus.test.js +0 -160
  198. package/build/browser/api/test/objectStatus.test.js.map +0 -1
  199. package/build/browser/api/test/objects.test.js +0 -3856
  200. package/build/browser/api/test/objects.test.js.map +0 -1
  201. package/build/browser/api/test/spt.test.js +0 -722
  202. package/build/browser/api/test/spt.test.js.map +0 -1
  203. package/build/browser/api/test/valueTypes.test.js +0 -307
  204. package/build/browser/api/test/valueTypes.test.js.map +0 -1
  205. package/build/esm/api/test/actions.test.js +0 -14397
  206. package/build/esm/api/test/actions.test.js.map +0 -1
  207. package/build/esm/api/test/interfaces.test.js +0 -1189
  208. package/build/esm/api/test/interfaces.test.js.map +0 -1
  209. package/build/esm/api/test/links.test.js +0 -2019
  210. package/build/esm/api/test/links.test.js.map +0 -1
  211. package/build/esm/api/test/markingconstraint.test.js +0 -134
  212. package/build/esm/api/test/markingconstraint.test.js.map +0 -1
  213. package/build/esm/api/test/misc.test.js +0 -1315
  214. package/build/esm/api/test/misc.test.js.map +0 -1
  215. package/build/esm/api/test/objectStatus.test.js +0 -160
  216. package/build/esm/api/test/objectStatus.test.js.map +0 -1
  217. package/build/esm/api/test/objects.test.js +0 -3856
  218. package/build/esm/api/test/objects.test.js.map +0 -1
  219. package/build/esm/api/test/spt.test.js +0 -722
  220. package/build/esm/api/test/spt.test.js.map +0 -1
  221. package/build/esm/api/test/valueTypes.test.js +0 -307
  222. package/build/esm/api/test/valueTypes.test.js.map +0 -1
  223. package/build/types/api/test/actions.test.d.ts +0 -1
  224. package/build/types/api/test/actions.test.d.ts.map +0 -1
  225. package/build/types/api/test/interfaces.test.d.ts +0 -1
  226. package/build/types/api/test/interfaces.test.d.ts.map +0 -1
  227. package/build/types/api/test/links.test.d.ts +0 -1
  228. package/build/types/api/test/links.test.d.ts.map +0 -1
  229. package/build/types/api/test/markingconstraint.test.d.ts +0 -1
  230. package/build/types/api/test/markingconstraint.test.d.ts.map +0 -1
  231. package/build/types/api/test/misc.test.d.ts +0 -1
  232. package/build/types/api/test/misc.test.d.ts.map +0 -1
  233. package/build/types/api/test/objectStatus.test.d.ts +0 -1
  234. package/build/types/api/test/objectStatus.test.d.ts.map +0 -1
  235. package/build/types/api/test/objects.test.d.ts +0 -1
  236. package/build/types/api/test/objects.test.d.ts.map +0 -1
  237. package/build/types/api/test/spt.test.d.ts +0 -1
  238. package/build/types/api/test/spt.test.d.ts.map +0 -1
  239. package/build/types/api/test/valueTypes.test.d.ts +0 -1
  240. package/build/types/api/test/valueTypes.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"links.test.js","names":["beforeEach","describe","expect","it","defineInterface","defineInterfaceLinkConstraint","defineLink","defineObject","defineOntology","dumpOntologyFullMetadata","object","titlePropertyApiName","displayName","pluralDisplayName","apiName","primaryKeyPropertyApiName","properties","type","otherObject","one","metadata","toMany","manyForeignKeyProperty","ontology","toMatchInlineSnapshot","many","bar","fizz","intermediaryObject","barToBuzz","fizzToBuzz","linkToIntermediary","intermediaryObjectType","a","b","not","toBeUndefined","from","toOne"],"sources":["links.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { defineInterface } from \"../defineInterface.js\";\nimport { defineInterfaceLinkConstraint } from \"../defineInterfaceLinkConstraint.js\";\nimport { defineLink } from \"../defineLink.js\";\nimport { defineObject } from \"../defineObject.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\nimport { type InterfaceType } from \"../interface/InterfaceType.js\";\n\ndescribe(\"Link Types\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n describe(\"Object Links\", () => {\n it(\"One To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: { \"bar\": { type: \"string\" } },\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeyPropertyApiName: \"fizz\",\n properties: { \"fizz\": { type: \"string\" }, \"bar\": { type: \"string\" } },\n });\n\n defineLink({\n apiName: \"fizzToFoo\",\n one: {\n object: object,\n metadata: {\n apiName: \"fizzes\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foos\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizzes\",\n apiName: \"foos\",\n },\n },\n manyForeignKeyProperty: \"bar\",\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizz-to-foo\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_MANY\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.fizz\",\n \"objectTypeRidOneSide\": \"com.palantir.foo\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"fizz-to-foo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.fizz\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Many To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: { \"bar\": { type: \"string\" } },\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeyPropertyApiName: \"fizz\",\n properties: { \"fizz\": { type: \"string\" }, \"bar\": { type: \"string\" } },\n });\n\n defineLink({\n apiName: \"fizzToFoo\",\n many: {\n object: object,\n metadata: {\n displayName: \"Foo\",\n pluralDisplayName: \"Foos\",\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizzes\",\n apiName: \"foos\",\n },\n },\n });\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizz-to-foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"dataset\": {\n \"datasetRid\": \"link-fizzToFoo\",\n \"objectTypeAPrimaryKeyMapping\": [\n {\n \"column\": \"bar\",\n \"property\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeBPrimaryKeyMapping\": [\n {\n \"column\": \"fizz\",\n \"property\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"writebackDatasetRid\": undefined,\n },\n \"type\": \"dataset\",\n },\n \"datasourceName\": \"fizzToFoo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": undefined,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"manyToMany\": {\n \"objectTypeAPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeAToBLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeBPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n \"to\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"objectTypeBToALinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidA\": \"com.palantir.foo\",\n \"objectTypeRidB\": \"com.palantir.fizz\",\n \"peeringMetadata\": undefined,\n },\n \"type\": \"manyToMany\",\n },\n \"id\": \"fizz-to-foo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.fizz\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Intermediary link types are properly defined\", () => {\n const bar = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Bar\",\n pluralDisplayName: \"Bar\",\n apiName: \"barObject\",\n primaryKeyPropertyApiName: \"bar\",\n properties: { \"bar\": { type: \"string\" } },\n });\n\n const fizz = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizzObject\",\n primaryKeyPropertyApiName: \"fizz\",\n properties: { \"fizz\": { type: \"string\" } },\n });\n\n const intermediaryObject = defineObject({\n titlePropertyApiName: \"buzz\",\n displayName: \"Buzz\",\n pluralDisplayName: \"Buzz\",\n apiName: \"buzzObject\",\n primaryKeyPropertyApiName: \"buzz\",\n properties: {\n \"buzz\": { type: \"string\" },\n \"barBuzz\": { type: \"string\" },\n \"fizzBuzz\": { type: \"string\" },\n },\n });\n\n const barToBuzz = defineLink({\n apiName: \"barToBuzz\",\n manyForeignKeyProperty: \"barBuzz\",\n one: {\n object: bar,\n metadata: {\n displayName: \"Buzz\",\n pluralDisplayName: \"Buzz\",\n apiName: \"buzz1\",\n },\n },\n toMany: {\n object: intermediaryObject,\n metadata: {\n displayName: \"Bar\",\n pluralDisplayName: \"Bars\",\n apiName: \"bars\",\n },\n },\n });\n\n const fizzToBuzz = defineLink({\n apiName: \"fizzToBuzz\",\n manyForeignKeyProperty: \"fizzBuzz\",\n one: {\n object: fizz,\n metadata: {\n displayName: \"Buzz\",\n pluralDisplayName: \"Buzz\",\n apiName: \"buzz2\",\n },\n },\n toMany: {\n object: intermediaryObject,\n metadata: {\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizzes\",\n apiName: \"fizzes\",\n },\n },\n });\n\n defineLink({\n apiName: \"fizzToBar\",\n many: {\n object: bar,\n metadata: {\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizzes\",\n apiName: \"fizzes1\",\n },\n linkToIntermediary: barToBuzz,\n },\n toMany: {\n object: fizz,\n metadata: {\n displayName: \"Bar\",\n pluralDisplayName: \"Bars\",\n apiName: \"bars1\",\n },\n linkToIntermediary: fizzToBuzz,\n },\n intermediaryObjectType: intermediaryObject,\n });\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"bar-to-buzz\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_MANY\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"bars\",\n \"displayMetadata\": {\n \"displayName\": \"Bar\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Bars\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.buzzObject\",\n \"objectTypeRidOneSide\": \"com.palantir.barObject\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.barObject\",\n },\n \"to\": {\n \"apiName\": \"barBuzz\",\n \"object\": \"com.palantir.buzzObject\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"buzz1\",\n \"displayMetadata\": {\n \"displayName\": \"Buzz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"bar-to-buzz\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"fizz-to-bar\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"intermediary\": {\n \"aToIntermediaryLinkTypeRid\": \"bar-to-buzz\",\n \"intermediaryObjectTypeRid\": \"com.palantir.buzzObject\",\n \"intermediaryToBLinkTypeRid\": \"fizz-to-buzz\",\n \"objectTypeAToBLinkMetadata\": {\n \"apiName\": \"fizzes1\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeBToALinkMetadata\": {\n \"apiName\": \"bars1\",\n \"displayMetadata\": {\n \"displayName\": \"Bar\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Bars\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidA\": \"com.palantir.barObject\",\n \"objectTypeRidB\": \"com.palantir.fizzObject\",\n },\n \"type\": \"intermediary\",\n },\n \"id\": \"fizz-to-bar\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"fizz-to-buzz\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_MANY\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.buzzObject\",\n \"objectTypeRidOneSide\": \"com.palantir.fizzObject\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizzObject\",\n },\n \"to\": {\n \"apiName\": \"fizzBuzz\",\n \"object\": \"com.palantir.buzzObject\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"buzz2\",\n \"displayMetadata\": {\n \"displayName\": \"Buzz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"fizz-to-buzz\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.barObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.barObject\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.barObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.barObject\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n \"com.palantir.buzzObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.buzzObject\",\n \"propertyMapping\": {\n \"barBuzz\": {\n \"column\": \"barBuzz\",\n \"type\": \"column\",\n },\n \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizzBuzz\": {\n \"column\": \"fizzBuzz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.buzzObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.buzzObject\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"buzz\",\n ],\n \"propertyTypes\": {\n \"barBuzz\": {\n \"apiName\": \"barBuzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"BarBuzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizzBuzz\": {\n \"apiName\": \"fizzBuzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"FizzBuzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"buzz\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n \"com.palantir.fizzObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizzObject\",\n \"propertyMapping\": {\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.fizzObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizzObject\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Minimal link definitions are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: { \"bar\": { type: \"string\" } },\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeyPropertyApiName: \"fizz\",\n properties: { \"fizz\": { type: \"string\" }, \"bar\": { type: \"string\" } },\n });\n\n defineLink({\n apiName: \"fizzToFoo\",\n one: {\n object: object,\n metadata: {\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n apiName: \"foos\",\n },\n },\n manyForeignKeyProperty: \"bar\",\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizz-to-foo\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_MANY\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Foos\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.fizz\",\n \"objectTypeRidOneSide\": \"com.palantir.foo\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Fizzes\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"fizz-to-foo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.fizz\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"aliases\": [],\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n \"propertySecurityGroupPackagingVersion\": {\n \"type\": \"v2\",\n \"v2\": {},\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n });\n\n describe(\"ILTs\", () => {\n let a: InterfaceType;\n let b: InterfaceType;\n\n beforeEach(() => {\n a = defineInterface({ apiName: \"A\" });\n b = defineInterface({ apiName: \"B\" });\n });\n\n it(\"single link works\", () => {\n expect(a).not.toBeUndefined();\n defineInterfaceLinkConstraint({\n from: a,\n toOne: b,\n apiName: \"singleLink\",\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"SINGLE\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.singleLink\",\n \"description\": \"singleLink\",\n \"displayName\": \"singleLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"many link works\", () => {\n defineInterfaceLinkConstraint({\n from: a,\n toMany: b,\n apiName: \"manyLink\",\n });\n\n expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`\n {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"MANY\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.manyLink\",\n \"description\": \"manyLink\",\n \"displayName\": \"manyLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACzD,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,6BAA6B,QAAQ,qCAAqC;AACnF,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,cAAc,EAAEC,wBAAwB,QAAQ,sBAAsB;AAG/ER,QAAQ,CAAC,YAAY,EAAE,MAAM;EAC3BD,UAAU,CAAC,YAAY;IACrB,MAAMQ,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;EAC1D,CAAC,CAAC;EACFP,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC7BE,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMO,MAAM,GAAGH,YAAY,CAAC;QAC1BI,oBAAoB,EAAE,KAAK;QAC3BC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,KAAK;QACxBC,OAAO,EAAE,KAAK;QACdC,yBAAyB,EAAE,KAAK;QAChCC,UAAU,EAAE;UAAE,KAAK,EAAE;YAAEC,IAAI,EAAE;UAAS;QAAE;MAC1C,CAAC,CAAC;MAEF,MAAMC,WAAW,GAAGX,YAAY,CAAC;QAC/BI,oBAAoB,EAAE,MAAM;QAC5BC,WAAW,EAAE,MAAM;QACnBC,iBAAiB,EAAE,MAAM;QACzBC,OAAO,EAAE,MAAM;QACfC,yBAAyB,EAAE,MAAM;QACjCC,UAAU,EAAE;UAAE,MAAM,EAAE;YAAEC,IAAI,EAAE;UAAS,CAAC;UAAE,KAAK,EAAE;YAAEA,IAAI,EAAE;UAAS;QAAE;MACtE,CAAC,CAAC;MAEFX,UAAU,CAAC;QACTQ,OAAO,EAAE,WAAW;QACpBK,GAAG,EAAE;UACHT,MAAM,EAAEA,MAAM;UACdU,QAAQ,EAAE;YACRN,OAAO,EAAE,QAAQ;YACjBF,WAAW,EAAE,KAAK;YAClBC,iBAAiB,EAAE;UACrB;QACF,CAAC;QACDQ,MAAM,EAAE;UACNX,MAAM,EAAEQ,WAAW;UACnBE,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,QAAQ;YAC3BC,OAAO,EAAE;UACX;QACF,CAAC;QACDQ,sBAAsB,EAAE;MAC1B,CAAC,CAAC;MAEFpB,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFrB,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMO,MAAM,GAAGH,YAAY,CAAC;QAC1BI,oBAAoB,EAAE,KAAK;QAC3BC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,KAAK;QACxBC,OAAO,EAAE,KAAK;QACdC,yBAAyB,EAAE,KAAK;QAChCC,UAAU,EAAE;UAAE,KAAK,EAAE;YAAEC,IAAI,EAAE;UAAS;QAAE;MAC1C,CAAC,CAAC;MAEF,MAAMC,WAAW,GAAGX,YAAY,CAAC;QAC/BI,oBAAoB,EAAE,MAAM;QAC5BC,WAAW,EAAE,MAAM;QACnBC,iBAAiB,EAAE,MAAM;QACzBC,OAAO,EAAE,MAAM;QACfC,yBAAyB,EAAE,MAAM;QACjCC,UAAU,EAAE;UAAE,MAAM,EAAE;YAAEC,IAAI,EAAE;UAAS,CAAC;UAAE,KAAK,EAAE;YAAEA,IAAI,EAAE;UAAS;QAAE;MACtE,CAAC,CAAC;MAEFX,UAAU,CAAC;QACTQ,OAAO,EAAE,WAAW;QACpBW,IAAI,EAAE;UACJf,MAAM,EAAEA,MAAM;UACdU,QAAQ,EAAE;YACRR,WAAW,EAAE,KAAK;YAClBC,iBAAiB,EAAE,MAAM;YACzBC,OAAO,EAAE;UACX;QACF,CAAC;QACDO,MAAM,EAAE;UACNX,MAAM,EAAEQ,WAAW;UACnBE,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,QAAQ;YAC3BC,OAAO,EAAE;UACX;QACF;MACF,CAAC,CAAC;MACFZ,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFrB,EAAE,CAAC,8CAA8C,EAAE,MAAM;MACvD,MAAMuB,GAAG,GAAGnB,YAAY,CAAC;QACvBI,oBAAoB,EAAE,KAAK;QAC3BC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,KAAK;QACxBC,OAAO,EAAE,WAAW;QACpBC,yBAAyB,EAAE,KAAK;QAChCC,UAAU,EAAE;UAAE,KAAK,EAAE;YAAEC,IAAI,EAAE;UAAS;QAAE;MAC1C,CAAC,CAAC;MAEF,MAAMU,IAAI,GAAGpB,YAAY,CAAC;QACxBI,oBAAoB,EAAE,MAAM;QAC5BC,WAAW,EAAE,MAAM;QACnBC,iBAAiB,EAAE,MAAM;QACzBC,OAAO,EAAE,YAAY;QACrBC,yBAAyB,EAAE,MAAM;QACjCC,UAAU,EAAE;UAAE,MAAM,EAAE;YAAEC,IAAI,EAAE;UAAS;QAAE;MAC3C,CAAC,CAAC;MAEF,MAAMW,kBAAkB,GAAGrB,YAAY,CAAC;QACtCI,oBAAoB,EAAE,MAAM;QAC5BC,WAAW,EAAE,MAAM;QACnBC,iBAAiB,EAAE,MAAM;QACzBC,OAAO,EAAE,YAAY;QACrBC,yBAAyB,EAAE,MAAM;QACjCC,UAAU,EAAE;UACV,MAAM,EAAE;YAAEC,IAAI,EAAE;UAAS,CAAC;UAC1B,SAAS,EAAE;YAAEA,IAAI,EAAE;UAAS,CAAC;UAC7B,UAAU,EAAE;YAAEA,IAAI,EAAE;UAAS;QAC/B;MACF,CAAC,CAAC;MAEF,MAAMY,SAAS,GAAGvB,UAAU,CAAC;QAC3BQ,OAAO,EAAE,WAAW;QACpBQ,sBAAsB,EAAE,SAAS;QACjCH,GAAG,EAAE;UACHT,MAAM,EAAEgB,GAAG;UACXN,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,MAAM;YACzBC,OAAO,EAAE;UACX;QACF,CAAC;QACDO,MAAM,EAAE;UACNX,MAAM,EAAEkB,kBAAkB;UAC1BR,QAAQ,EAAE;YACRR,WAAW,EAAE,KAAK;YAClBC,iBAAiB,EAAE,MAAM;YACzBC,OAAO,EAAE;UACX;QACF;MACF,CAAC,CAAC;MAEF,MAAMgB,UAAU,GAAGxB,UAAU,CAAC;QAC5BQ,OAAO,EAAE,YAAY;QACrBQ,sBAAsB,EAAE,UAAU;QAClCH,GAAG,EAAE;UACHT,MAAM,EAAEiB,IAAI;UACZP,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,MAAM;YACzBC,OAAO,EAAE;UACX;QACF,CAAC;QACDO,MAAM,EAAE;UACNX,MAAM,EAAEkB,kBAAkB;UAC1BR,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,QAAQ;YAC3BC,OAAO,EAAE;UACX;QACF;MACF,CAAC,CAAC;MAEFR,UAAU,CAAC;QACTQ,OAAO,EAAE,WAAW;QACpBW,IAAI,EAAE;UACJf,MAAM,EAAEgB,GAAG;UACXN,QAAQ,EAAE;YACRR,WAAW,EAAE,MAAM;YACnBC,iBAAiB,EAAE,QAAQ;YAC3BC,OAAO,EAAE;UACX,CAAC;UACDiB,kBAAkB,EAAEF;QACtB,CAAC;QACDR,MAAM,EAAE;UACNX,MAAM,EAAEiB,IAAI;UACZP,QAAQ,EAAE;YACRR,WAAW,EAAE,KAAK;YAClBC,iBAAiB,EAAE,MAAM;YACzBC,OAAO,EAAE;UACX,CAAC;UACDiB,kBAAkB,EAAED;QACtB,CAAC;QACDE,sBAAsB,EAAEJ;MAC1B,CAAC,CAAC;MACF1B,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFrB,EAAE,CAAC,+CAA+C,EAAE,MAAM;MACxD,MAAMO,MAAM,GAAGH,YAAY,CAAC;QAC1BI,oBAAoB,EAAE,KAAK;QAC3BC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,KAAK;QACxBC,OAAO,EAAE,KAAK;QACdC,yBAAyB,EAAE,KAAK;QAChCC,UAAU,EAAE;UAAE,KAAK,EAAE;YAAEC,IAAI,EAAE;UAAS;QAAE;MAC1C,CAAC,CAAC;MAEF,MAAMC,WAAW,GAAGX,YAAY,CAAC;QAC/BI,oBAAoB,EAAE,MAAM;QAC5BC,WAAW,EAAE,MAAM;QACnBC,iBAAiB,EAAE,MAAM;QACzBC,OAAO,EAAE,MAAM;QACfC,yBAAyB,EAAE,MAAM;QACjCC,UAAU,EAAE;UAAE,MAAM,EAAE;YAAEC,IAAI,EAAE;UAAS,CAAC;UAAE,KAAK,EAAE;YAAEA,IAAI,EAAE;UAAS;QAAE;MACtE,CAAC,CAAC;MAEFX,UAAU,CAAC;QACTQ,OAAO,EAAE,WAAW;QACpBK,GAAG,EAAE;UACHT,MAAM,EAAEA,MAAM;UACdU,QAAQ,EAAE;YACRN,OAAO,EAAE;UACX;QACF,CAAC;QACDO,MAAM,EAAE;UACNX,MAAM,EAAEQ,WAAW;UACnBE,QAAQ,EAAE;YACRN,OAAO,EAAE;UACX;QACF,CAAC;QACDQ,sBAAsB,EAAE;MAC1B,CAAC,CAAC;MAEFpB,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFvB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACrB,IAAIgC,CAAgB;IACpB,IAAIC,CAAgB;IAEpBlC,UAAU,CAAC,MAAM;MACfiC,CAAC,GAAG7B,eAAe,CAAC;QAAEU,OAAO,EAAE;MAAI,CAAC,CAAC;MACrCoB,CAAC,GAAG9B,eAAe,CAAC;QAAEU,OAAO,EAAE;MAAI,CAAC,CAAC;IACvC,CAAC,CAAC;IAEFX,EAAE,CAAC,mBAAmB,EAAE,MAAM;MAC5BD,MAAM,CAAC+B,CAAC,CAAC,CAACE,GAAG,CAACC,aAAa,CAAC,CAAC;MAC7B/B,6BAA6B,CAAC;QAC5BgC,IAAI,EAAEJ,CAAC;QACPK,KAAK,EAAEJ,CAAC;QACRpB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,CAAC;IACR,CAAC,CAAC;IAEFrB,EAAE,CAAC,iBAAiB,EAAE,MAAM;MAC1BE,6BAA6B,CAAC;QAC5BgC,IAAI,EAAEJ,CAAC;QACPZ,MAAM,EAAEa,CAAC;QACTpB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACO,wBAAwB,CAAC,CAAC,CAACc,QAAQ,CAAC,CAACC,qBAAqB,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,CAAC;IACR,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,134 +0,0 @@
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 { beforeEach, describe, expect, it } from "vitest";
18
- import { defineObject } from "../defineObject.js";
19
- import { defineOntology, dumpOntologyFullMetadata } from "../defineOntology.js";
20
- describe("Marking Constraints", () => {
21
- beforeEach(async () => {
22
- await defineOntology("com.palantir.", () => {}, "/tmp/");
23
- });
24
- it("supports marking constraints with CBAC type and markingInputGroupName", () => {
25
- defineObject({
26
- titlePropertyApiName: "title",
27
- displayName: "Document",
28
- pluralDisplayName: "Documents",
29
- apiName: "document",
30
- primaryKeyPropertyApiName: "title",
31
- properties: {
32
- "title": {
33
- type: "string",
34
- displayName: "Title"
35
- },
36
- "classification": {
37
- type: {
38
- type: "marking",
39
- markingType: "CBAC",
40
- markingInputGroupName: "classificationGroup"
41
- },
42
- displayName: "Classification"
43
- }
44
- }
45
- });
46
- const ontology = dumpOntologyFullMetadata();
47
- const classificationConstraint = ontology.ontology.objectTypes["com.palantir.document"].datasources[0].dataSecurity?.classificationConstraint;
48
- expect(classificationConstraint.markingGroupName).toEqual("classificationGroup");
49
- });
50
- it("supports marking constraints with multiple markings", () => {
51
- defineObject({
52
- titlePropertyApiName: "title",
53
- displayName: "Document",
54
- pluralDisplayName: "Documents",
55
- apiName: "document",
56
- primaryKeyPropertyApiName: "title",
57
- properties: {
58
- "title": {
59
- type: "string",
60
- displayName: "Title"
61
- },
62
- "classification": {
63
- type: {
64
- type: "marking",
65
- markingType: "CBAC",
66
- markingInputGroupName: "classificationGroup"
67
- },
68
- displayName: "Classification"
69
- },
70
- "mandatory": {
71
- type: {
72
- type: "marking",
73
- markingType: "MANDATORY",
74
- markingInputGroupName: "mandatoryMarkingGroup"
75
- },
76
- displayName: "Classification"
77
- }
78
- }
79
- });
80
- const ontology = dumpOntologyFullMetadata();
81
- const dataSecurity = ontology.ontology.objectTypes["com.palantir.document"].datasources[0].dataSecurity;
82
- expect(dataSecurity.markingConstraint.markingGroupName).toEqual("mandatoryMarkingGroup");
83
- expect(dataSecurity.classificationConstraint.markingGroupName).toEqual("classificationGroup");
84
- });
85
- it("does not set security on objects if no marking props", () => {
86
- defineObject({
87
- titlePropertyApiName: "title",
88
- displayName: "Document",
89
- pluralDisplayName: "Documents",
90
- apiName: "document",
91
- primaryKeyPropertyApiName: "title",
92
- properties: {
93
- "title": {
94
- type: "string",
95
- displayName: "Title"
96
- },
97
- "string": {
98
- type: "string",
99
- displayName: "string"
100
- }
101
- }
102
- });
103
- const ontology = dumpOntologyFullMetadata();
104
- const datasource = ontology.ontology.objectTypes["com.palantir.document"].datasources[0];
105
- expect(datasource).not.toHaveProperty("dataSecurity");
106
- });
107
- it("supports marking constraints with CBAC type and markingInputGroupName", () => {
108
- defineObject({
109
- titlePropertyApiName: "title",
110
- displayName: "Document",
111
- pluralDisplayName: "Documents",
112
- apiName: "document",
113
- primaryKeyPropertyApiName: "title",
114
- properties: {
115
- "title": {
116
- type: "string",
117
- displayName: "Title"
118
- },
119
- "classification": {
120
- type: {
121
- type: "marking",
122
- markingType: "CBAC",
123
- markingInputGroupName: "classificationGroup"
124
- },
125
- displayName: "Classification"
126
- }
127
- }
128
- });
129
- const ontology = dumpOntologyFullMetadata();
130
- const classificationConstraint = ontology.ontology.objectTypes["com.palantir.document"].datasources[0].dataSecurity?.classificationConstraint;
131
- expect(classificationConstraint.markingGroupName).toEqual("classificationGroup");
132
- });
133
- });
134
- //# sourceMappingURL=markingconstraint.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markingconstraint.test.js","names":["beforeEach","describe","expect","it","defineObject","defineOntology","dumpOntologyFullMetadata","titlePropertyApiName","displayName","pluralDisplayName","apiName","primaryKeyPropertyApiName","properties","type","markingType","markingInputGroupName","ontology","classificationConstraint","objectTypes","datasources","dataSecurity","markingGroupName","toEqual","markingConstraint","datasource","not","toHaveProperty"],"sources":["markingconstraint.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { defineObject } from \"../defineObject.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\n\ndescribe(\"Marking Constraints\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n it(\"supports marking constraints with CBAC type and markingInputGroupName\", () => {\n const obj = defineObject({\n titlePropertyApiName: \"title\",\n displayName: \"Document\",\n pluralDisplayName: \"Documents\",\n apiName: \"document\",\n primaryKeyPropertyApiName: \"title\",\n properties: {\n \"title\": {\n type: \"string\",\n displayName: \"Title\",\n },\n \"classification\": {\n type: {\n type: \"marking\",\n markingType: \"CBAC\",\n markingInputGroupName: \"classificationGroup\",\n },\n displayName: \"Classification\",\n },\n },\n });\n\n const ontology = dumpOntologyFullMetadata();\n const classificationConstraint = ontology.ontology\n .objectTypes[\"com.palantir.document\"].datasources[0].dataSecurity\n ?.classificationConstraint!;\n expect(classificationConstraint.markingGroupName).toEqual(\n \"classificationGroup\",\n );\n });\n\n it(\"supports marking constraints with multiple markings\", () => {\n const obj = defineObject({\n titlePropertyApiName: \"title\",\n displayName: \"Document\",\n pluralDisplayName: \"Documents\",\n apiName: \"document\",\n primaryKeyPropertyApiName: \"title\",\n properties: {\n \"title\": {\n type: \"string\",\n displayName: \"Title\",\n },\n \"classification\": {\n type: {\n type: \"marking\",\n markingType: \"CBAC\",\n markingInputGroupName: \"classificationGroup\",\n },\n displayName: \"Classification\",\n },\n \"mandatory\": {\n type: {\n type: \"marking\",\n markingType: \"MANDATORY\",\n markingInputGroupName: \"mandatoryMarkingGroup\",\n },\n displayName: \"Classification\",\n },\n },\n });\n\n const ontology = dumpOntologyFullMetadata();\n const dataSecurity = ontology.ontology.objectTypes[\"com.palantir.document\"]\n .datasources[0].dataSecurity!;\n expect(dataSecurity.markingConstraint!.markingGroupName).toEqual(\n \"mandatoryMarkingGroup\",\n );\n expect(dataSecurity.classificationConstraint!.markingGroupName).toEqual(\n \"classificationGroup\",\n );\n });\n\n it(\"does not set security on objects if no marking props\", () => {\n const obj = defineObject({\n titlePropertyApiName: \"title\",\n displayName: \"Document\",\n pluralDisplayName: \"Documents\",\n apiName: \"document\",\n primaryKeyPropertyApiName: \"title\",\n properties: {\n \"title\": {\n type: \"string\",\n displayName: \"Title\",\n },\n \"string\": {\n type: \"string\",\n displayName: \"string\",\n },\n },\n });\n\n const ontology = dumpOntologyFullMetadata();\n const datasource =\n ontology.ontology.objectTypes[\"com.palantir.document\"].datasources[0];\n expect(datasource).not.toHaveProperty(\"dataSecurity\");\n });\n\n it(\"supports marking constraints with CBAC type and markingInputGroupName\", () => {\n const obj = defineObject({\n titlePropertyApiName: \"title\",\n displayName: \"Document\",\n pluralDisplayName: \"Documents\",\n apiName: \"document\",\n primaryKeyPropertyApiName: \"title\",\n properties: {\n \"title\": {\n type: \"string\",\n displayName: \"Title\",\n },\n \"classification\": {\n type: {\n type: \"marking\",\n markingType: \"CBAC\",\n markingInputGroupName: \"classificationGroup\",\n },\n displayName: \"Classification\",\n },\n },\n });\n\n const ontology = dumpOntologyFullMetadata();\n const classificationConstraint = ontology.ontology\n .objectTypes[\"com.palantir.document\"].datasources[0].dataSecurity\n ?.classificationConstraint!;\n expect(classificationConstraint.markingGroupName).toEqual(\n \"classificationGroup\",\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACzD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,cAAc,EAAEC,wBAAwB,QAAQ,sBAAsB;AAE/EL,QAAQ,CAAC,qBAAqB,EAAE,MAAM;EACpCD,UAAU,CAAC,YAAY;IACrB,MAAMK,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;EAC1D,CAAC,CAAC;EACFF,EAAE,CAAC,uEAAuE,EAAE,MAAM;IACpEC,YAAY,CAAC;MACvBG,oBAAoB,EAAE,OAAO;MAC7BC,WAAW,EAAE,UAAU;MACvBC,iBAAiB,EAAE,WAAW;MAC9BC,OAAO,EAAE,UAAU;MACnBC,yBAAyB,EAAE,OAAO;MAClCC,UAAU,EAAE;QACV,OAAO,EAAE;UACPC,IAAI,EAAE,QAAQ;UACdL,WAAW,EAAE;QACf,CAAC;QACD,gBAAgB,EAAE;UAChBK,IAAI,EAAE;YACJA,IAAI,EAAE,SAAS;YACfC,WAAW,EAAE,MAAM;YACnBC,qBAAqB,EAAE;UACzB,CAAC;UACDP,WAAW,EAAE;QACf;MACF;IACF,CAAC,CAAC;IAEF,MAAMQ,QAAQ,GAAGV,wBAAwB,CAAC,CAAC;IAC3C,MAAMW,wBAAwB,GAAGD,QAAQ,CAACA,QAAQ,CAC/CE,WAAW,CAAC,uBAAuB,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACC,YAAY,EAC/DH,wBAAyB;IAC7Bf,MAAM,CAACe,wBAAwB,CAACI,gBAAgB,CAAC,CAACC,OAAO,CACvD,qBACF,CAAC;EACH,CAAC,CAAC;EAEFnB,EAAE,CAAC,qDAAqD,EAAE,MAAM;IAClDC,YAAY,CAAC;MACvBG,oBAAoB,EAAE,OAAO;MAC7BC,WAAW,EAAE,UAAU;MACvBC,iBAAiB,EAAE,WAAW;MAC9BC,OAAO,EAAE,UAAU;MACnBC,yBAAyB,EAAE,OAAO;MAClCC,UAAU,EAAE;QACV,OAAO,EAAE;UACPC,IAAI,EAAE,QAAQ;UACdL,WAAW,EAAE;QACf,CAAC;QACD,gBAAgB,EAAE;UAChBK,IAAI,EAAE;YACJA,IAAI,EAAE,SAAS;YACfC,WAAW,EAAE,MAAM;YACnBC,qBAAqB,EAAE;UACzB,CAAC;UACDP,WAAW,EAAE;QACf,CAAC;QACD,WAAW,EAAE;UACXK,IAAI,EAAE;YACJA,IAAI,EAAE,SAAS;YACfC,WAAW,EAAE,WAAW;YACxBC,qBAAqB,EAAE;UACzB,CAAC;UACDP,WAAW,EAAE;QACf;MACF;IACF,CAAC,CAAC;IAEF,MAAMQ,QAAQ,GAAGV,wBAAwB,CAAC,CAAC;IAC3C,MAAMc,YAAY,GAAGJ,QAAQ,CAACA,QAAQ,CAACE,WAAW,CAAC,uBAAuB,CAAC,CACxEC,WAAW,CAAC,CAAC,CAAC,CAACC,YAAa;IAC/BlB,MAAM,CAACkB,YAAY,CAACG,iBAAiB,CAAEF,gBAAgB,CAAC,CAACC,OAAO,CAC9D,uBACF,CAAC;IACDpB,MAAM,CAACkB,YAAY,CAACH,wBAAwB,CAAEI,gBAAgB,CAAC,CAACC,OAAO,CACrE,qBACF,CAAC;EACH,CAAC,CAAC;EAEFnB,EAAE,CAAC,sDAAsD,EAAE,MAAM;IACnDC,YAAY,CAAC;MACvBG,oBAAoB,EAAE,OAAO;MAC7BC,WAAW,EAAE,UAAU;MACvBC,iBAAiB,EAAE,WAAW;MAC9BC,OAAO,EAAE,UAAU;MACnBC,yBAAyB,EAAE,OAAO;MAClCC,UAAU,EAAE;QACV,OAAO,EAAE;UACPC,IAAI,EAAE,QAAQ;UACdL,WAAW,EAAE;QACf,CAAC;QACD,QAAQ,EAAE;UACRK,IAAI,EAAE,QAAQ;UACdL,WAAW,EAAE;QACf;MACF;IACF,CAAC,CAAC;IAEF,MAAMQ,QAAQ,GAAGV,wBAAwB,CAAC,CAAC;IAC3C,MAAMkB,UAAU,GACdR,QAAQ,CAACA,QAAQ,CAACE,WAAW,CAAC,uBAAuB,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;IACvEjB,MAAM,CAACsB,UAAU,CAAC,CAACC,GAAG,CAACC,cAAc,CAAC,cAAc,CAAC;EACvD,CAAC,CAAC;EAEFvB,EAAE,CAAC,uEAAuE,EAAE,MAAM;IACpEC,YAAY,CAAC;MACvBG,oBAAoB,EAAE,OAAO;MAC7BC,WAAW,EAAE,UAAU;MACvBC,iBAAiB,EAAE,WAAW;MAC9BC,OAAO,EAAE,UAAU;MACnBC,yBAAyB,EAAE,OAAO;MAClCC,UAAU,EAAE;QACV,OAAO,EAAE;UACPC,IAAI,EAAE,QAAQ;UACdL,WAAW,EAAE;QACf,CAAC;QACD,gBAAgB,EAAE;UAChBK,IAAI,EAAE;YACJA,IAAI,EAAE,SAAS;YACfC,WAAW,EAAE,MAAM;YACnBC,qBAAqB,EAAE;UACzB,CAAC;UACDP,WAAW,EAAE;QACf;MACF;IACF,CAAC,CAAC;IAEF,MAAMQ,QAAQ,GAAGV,wBAAwB,CAAC,CAAC;IAC3C,MAAMW,wBAAwB,GAAGD,QAAQ,CAACA,QAAQ,CAC/CE,WAAW,CAAC,uBAAuB,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACC,YAAY,EAC/DH,wBAAyB;IAC7Bf,MAAM,CAACe,wBAAwB,CAACI,gBAAgB,CAAC,CAACC,OAAO,CACvD,qBACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}