@osdk/client 2.1.0-beta.1 → 2.1.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 (192) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/build/browser/Client.d.ts +8 -21
  3. package/build/browser/Client.d.ts.map +1 -1
  4. package/build/browser/Client.js +2 -1
  5. package/build/browser/Client.js.map +1 -1
  6. package/build/browser/MinimalClientContext.d.ts +1 -1
  7. package/build/browser/MinimalClientContext.d.ts.map +1 -1
  8. package/build/browser/__unstable/ConjureSupport.js +4 -4
  9. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  10. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  11. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  12. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +1 -1
  13. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  14. package/build/browser/actions/applyAction.js +1 -1
  15. package/build/browser/actions/applyAction.js.map +1 -1
  16. package/build/browser/createClient.d.ts +1 -1
  17. package/build/browser/createClient.d.ts.map +1 -1
  18. package/build/browser/createClient.js +43 -19
  19. package/build/browser/createClient.js.map +1 -1
  20. package/build/browser/createGeotimeSeriesProperty.d.ts +1 -1
  21. package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
  22. package/build/browser/createGeotimeSeriesProperty.js +4 -1
  23. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  24. package/build/browser/createMinimalClient.js +3 -3
  25. package/build/browser/createMinimalClient.js.map +1 -1
  26. package/build/browser/createPlatformClient.d.ts +1 -1
  27. package/build/browser/createPlatformClient.d.ts.map +1 -1
  28. package/build/browser/index.d.ts +2 -2
  29. package/build/browser/index.d.ts.map +1 -1
  30. package/build/browser/index.js +1 -1
  31. package/build/browser/index.js.map +1 -1
  32. package/build/browser/intellisense.test.js +1 -1
  33. package/build/browser/intellisense.test.js.map +1 -1
  34. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  35. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  36. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +3 -3
  37. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  38. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +88 -7
  39. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  40. package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
  41. package/build/browser/object/AttachmentUpload.js +6 -0
  42. package/build/browser/object/AttachmentUpload.js.map +1 -1
  43. package/build/browser/object/aggregate.js +4 -5
  44. package/build/browser/object/aggregate.js.map +1 -1
  45. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  46. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  47. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  48. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  49. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +6 -0
  50. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  51. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +56 -1
  52. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  53. package/build/browser/object/convertWireToOsdkObjects.js +42 -6
  54. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  55. package/build/browser/object/convertWireToOsdkObjects.test.js +197 -15
  56. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  57. package/build/browser/object/fetchPage.d.ts.map +1 -1
  58. package/build/browser/object/fetchPage.js +35 -25
  59. package/build/browser/object/fetchPage.js.map +1 -1
  60. package/build/browser/object/fetchPage.test.js +75 -1
  61. package/build/browser/object/fetchPage.test.js.map +1 -1
  62. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  63. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  64. package/build/browser/objectSet/InterfaceObjectSet.test.js +61 -0
  65. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  66. package/build/browser/objectSet/ObjectSet.test.js +64 -48
  67. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  68. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +65 -57
  69. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  70. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +116 -26
  71. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  72. package/build/browser/objectSet/createObjectSet.js +10 -8
  73. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  74. package/build/browser/ontology/makeConjureContext.d.ts +1 -1
  75. package/build/browser/ontology/makeConjureContext.d.ts.map +1 -1
  76. package/build/browser/queries/applyQuery.js +1 -1
  77. package/build/browser/queries/applyQuery.js.map +1 -1
  78. package/build/browser/queries/queries.test.js +30 -2
  79. package/build/browser/queries/queries.test.js.map +1 -1
  80. package/build/browser/tsserver.js +1 -1
  81. package/build/browser/tsserver.js.map +1 -1
  82. package/build/browser/util/UserAgent.js +1 -1
  83. package/build/browser/util/UserAgent.js.map +1 -1
  84. package/build/browser/util/datetimeConverters.d.ts +22 -0
  85. package/build/browser/util/datetimeConverters.d.ts.map +1 -0
  86. package/build/browser/util/datetimeConverters.js +55 -0
  87. package/build/browser/util/datetimeConverters.js.map +1 -0
  88. package/build/browser/util/datetimeConverters.test.d.ts +2 -0
  89. package/build/browser/util/datetimeConverters.test.d.ts.map +1 -0
  90. package/build/browser/util/datetimeConverters.test.js +75 -0
  91. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  92. package/build/browser/util/objectSetUtils.d.ts +4 -0
  93. package/build/browser/util/objectSetUtils.d.ts.map +1 -0
  94. package/build/browser/util/objectSetUtils.js +25 -0
  95. package/build/browser/util/objectSetUtils.js.map +1 -0
  96. package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
  97. package/build/esm/Client.d.ts +8 -21
  98. package/build/esm/Client.d.ts.map +1 -1
  99. package/build/esm/Client.js +2 -1
  100. package/build/esm/Client.js.map +1 -1
  101. package/build/esm/MinimalClientContext.d.ts +1 -1
  102. package/build/esm/MinimalClientContext.d.ts.map +1 -1
  103. package/build/esm/__unstable/ConjureSupport.js +4 -4
  104. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  105. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  106. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  107. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +1 -1
  108. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  109. package/build/esm/actions/applyAction.js +1 -1
  110. package/build/esm/actions/applyAction.js.map +1 -1
  111. package/build/esm/createClient.d.ts +1 -1
  112. package/build/esm/createClient.d.ts.map +1 -1
  113. package/build/esm/createClient.js +43 -19
  114. package/build/esm/createClient.js.map +1 -1
  115. package/build/esm/createGeotimeSeriesProperty.d.ts +1 -1
  116. package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
  117. package/build/esm/createGeotimeSeriesProperty.js +4 -1
  118. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  119. package/build/esm/createMinimalClient.js +3 -3
  120. package/build/esm/createMinimalClient.js.map +1 -1
  121. package/build/esm/createPlatformClient.d.ts +1 -1
  122. package/build/esm/createPlatformClient.d.ts.map +1 -1
  123. package/build/esm/index.d.ts +2 -2
  124. package/build/esm/index.d.ts.map +1 -1
  125. package/build/esm/index.js +1 -1
  126. package/build/esm/index.js.map +1 -1
  127. package/build/esm/intellisense.test.js +1 -1
  128. package/build/esm/intellisense.test.js.map +1 -1
  129. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  130. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  131. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +3 -3
  132. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  133. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +88 -7
  134. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  135. package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
  136. package/build/esm/object/AttachmentUpload.js +6 -0
  137. package/build/esm/object/AttachmentUpload.js.map +1 -1
  138. package/build/esm/object/aggregate.js +4 -5
  139. package/build/esm/object/aggregate.js.map +1 -1
  140. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  141. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  142. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  143. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  144. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +6 -0
  145. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  146. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +56 -1
  147. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  148. package/build/esm/object/convertWireToOsdkObjects.js +42 -6
  149. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  150. package/build/esm/object/convertWireToOsdkObjects.test.js +197 -15
  151. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  152. package/build/esm/object/fetchPage.d.ts.map +1 -1
  153. package/build/esm/object/fetchPage.js +35 -25
  154. package/build/esm/object/fetchPage.js.map +1 -1
  155. package/build/esm/object/fetchPage.test.js +75 -1
  156. package/build/esm/object/fetchPage.test.js.map +1 -1
  157. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  158. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  159. package/build/esm/objectSet/InterfaceObjectSet.test.js +61 -0
  160. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  161. package/build/esm/objectSet/ObjectSet.test.js +64 -48
  162. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  163. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +65 -57
  164. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  165. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +116 -26
  166. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  167. package/build/esm/objectSet/createObjectSet.js +10 -8
  168. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  169. package/build/esm/ontology/makeConjureContext.d.ts +1 -1
  170. package/build/esm/ontology/makeConjureContext.d.ts.map +1 -1
  171. package/build/esm/queries/applyQuery.js +1 -1
  172. package/build/esm/queries/applyQuery.js.map +1 -1
  173. package/build/esm/queries/queries.test.js +30 -2
  174. package/build/esm/queries/queries.test.js.map +1 -1
  175. package/build/esm/tsserver.js +1 -1
  176. package/build/esm/tsserver.js.map +1 -1
  177. package/build/esm/util/UserAgent.js +1 -1
  178. package/build/esm/util/UserAgent.js.map +1 -1
  179. package/build/esm/util/datetimeConverters.d.ts +22 -0
  180. package/build/esm/util/datetimeConverters.d.ts.map +1 -0
  181. package/build/esm/util/datetimeConverters.js +55 -0
  182. package/build/esm/util/datetimeConverters.js.map +1 -0
  183. package/build/esm/util/datetimeConverters.test.d.ts +2 -0
  184. package/build/esm/util/datetimeConverters.test.d.ts.map +1 -0
  185. package/build/esm/util/datetimeConverters.test.js +75 -0
  186. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  187. package/build/esm/util/objectSetUtils.d.ts +4 -0
  188. package/build/esm/util/objectSetUtils.d.ts.map +1 -0
  189. package/build/esm/util/objectSetUtils.js +25 -0
  190. package/build/esm/util/objectSetUtils.js.map +1 -0
  191. package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
  192. package/package.json +21 -17
@@ -1 +1 @@
1
- {"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"/ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"/ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,5 @@
1
1
  import type { OsdkBase } from "@osdk/api";
2
+ import type { EXPERIMENTAL_BulkLinkResult as BulkLinkResult } from "@osdk/api/unstable";
2
3
  import type { MinimalClient } from "../MinimalClientContext.js";
3
- export interface BulkLinkResult {
4
- object: OsdkBase<any>;
5
- linkApiName: string;
6
- otherObjectApiName: string | undefined;
7
- otherObjectPk: unknown;
8
- }
9
4
  export declare function createBulkLinksAsyncIterFactory(ctx: MinimalClient): (objs: Array<OsdkBase<any>>, linkTypes: string[]) => AsyncGenerator<BulkLinkResult, void, unknown>;
10
5
  //# sourceMappingURL=createBulkLinksAsyncIterFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAS1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAUhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,UAExD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aACf,MAAM,EAAE,KAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CA8GjD"}
1
+ {"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,2BAA2B,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAUhE,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,UAExD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aACf,MAAM,EAAE,KAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CA8GjD"}
@@ -26,7 +26,7 @@ export function createBulkLinksAsyncIterFactory(ctx) {
26
26
  }
27
27
  ctx.logger?.debug("Preparing to fetch bulk links");
28
28
  // require all objects to be the same type for now
29
- !objs.every(a => a.$objectType === objs[0].$objectType) ? invariant(false) : void 0;
29
+ !objs.every(a => a.$objectType === objs[0].$objectType) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
30
30
  const mcc = await metadataCacheClient(ctx);
31
31
  const helper = await mcc.forObjectByApiName(objs[0].$objectType);
32
32
  const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([helper.getRid(), helper.getPropertyMapping(), helper.getLinkMapping()]);
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"/object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","process","env","NODE_ENV","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"/object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,gBAAgB,QAAQ,kCAAkC;AACnE,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,cAAc,EAAEC,UAAU,EAAEC,sBAAsB,QAAS,8BAA8B;AAClG,SAASC,mBAAmB,QAAQ,qBAAqB;AACzD,OAAO,SAASC,+BAA+BA,CAACC,GAAG,EAAE;EACjD,OAAO,iBAAiBC,IAAI,EAAEC,SAAS,EAAE;IACrC,IAAID,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;MACnB;IACJ;IACAH,GAAG,CAACI,MAAM,EAAEC,KAAK,CAAC,+BAA+B,CAAC;IAClD;IACA,CAAUJ,IAAI,CAACK,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,KAAKP,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAhEnB,SAAS,UAATA,SAAS;IACT,MAAMoB,GAAG,GAAG,MAAMd,mBAAmB,CAACE,GAAG,CAAC;IAC1C,MAAMa,MAAM,GAAG,MAAMD,GAAG,CAACE,kBAAkB,CAACb,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC;IAChE,MAAM,CAACO,aAAa,EAAEC,eAAe,EAAEC,eAAe,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACxEN,MAAM,CAACO,MAAM,CAAC,CAAC,EACfP,MAAM,CAACQ,kBAAkB,CAAC,CAAC,EAC3BR,MAAM,CAACS,cAAc,CAAC,CAAC,CAC1B,CAAC;IACF,MAAMC,WAAW,GAAGC,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACT,eAAe,CAAC,CACjEU,MAAM,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK1B,SAAS,CAAC2B,QAAQ,CAACD,OAAO,CAAC,CAAC,CAAC;IACxD;IACA,KAAK,MAAME,QAAQ,IAAI5B,SAAS,EAAE;MAC9B,IAAIqB,WAAW,CAACO,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC/B,MAAM,4BAA4B,GAAGA,QAAQ;MACjD;IACJ;IACA,MAAMC,GAAG,GAAG;MACRC,gBAAgB,EAAE;QACdC,OAAO,EAAEC,SAAS;QAClBC,sBAAsB,EAAE;UAAEC,kBAAkB,EAAE,CAAC;QAAE,CAAC;QAClDC,iBAAiB,EAAEH,SAAS;QAC5BI,SAAS,EAAEJ,SAAS;QACpBK,WAAW,EAAEL,SAAS;QACtBM,YAAY,EAAEN;MAClB,CAAC;MACDO,eAAe,EAAE;QACbC,wBAAwB,EAAE,IAAI;QAC9BC,gBAAgB,EAAE;MACtB,CAAC;MACDC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAEX,SAAS;MACpBY,aAAa,EAAE,CAAC;QACRC,iBAAiB,EAAEvB,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CACxC0B,GAAG,CAAC,CAAC;UAAEC;QAAoB,CAAC,KAAKA,mBAAmB,CAAC;QAC1DC,OAAO,EAAE1D,gBAAgB,CAAC,SAAS,EAAEQ,IAAI,CAACgD,GAAG,CAACG,CAAC,IAAI3D,gBAAgB,CAAC,iBAAiB,EAAE;UACnFsB,aAAa;UACbsC,gBAAgB,EAAE;YACd,CAACrC,eAAe,CAACsC,EAAE,CAACC,GAAG,GAAG9D,gBAAgB,CAACuB,eAAe,CAACsC,EAAE,CAACE,IAAI,CAACA,IAAI,EAAEJ,CAAC,CAACK,WAAW;UAC1F;QACJ,CAAC,CAAC,CAAC;MACP,CAAC;IACT,CAAC;IACD,MAAMC,aAAa,GAAG7D,sBAAsB,CAACN,gBAAgB,CAACoE,IAAI,CAACzB,SAAS,EAAExC,kBAAkB,CAACM,GAAG,EAAE,yBAAyB,CAAC,CAAC,EAAEJ,UAAU,EAAED,cAAc,EAAEoC,GAAG,CAAC;IACnK,WAAW,MAAM6B,IAAI,IAAIF,aAAa,EAAE;MACpC,MAAM;QAAEG;MAAiB,CAAC,GAAGD,IAAI;MACjC,MAAME,GAAG,GAAGC,UAAU,CAACF,gBAAgB,EAAE5D,IAAI,CAAC;MAC9C,KAAK,MAAM+D,IAAI,IAAIJ,IAAI,CAACK,KAAK,EAAE;QAC3B,MAAMC,GAAG,GAAGF,IAAI,CAACA,IAAI,CAACA,IAAI,CAACG,QAAQ,KAAK,QAAQ,GAC1C,aAAa,GACb,aAAa,CAAC;QACpB,MAAMb,EAAE,GAAGc,oBAAoB,CAACF,GAAG,CAAC;QACpC,MAAMG,kBAAkB,GAAG,MAAM,CAAC,MAAMzD,GAAG,CAAC0D,cAAc,CAAChB,EAAE,CAACvC,aAAa,CAAC,EACvEwD,UAAU,CAAC,CAAC;QACjB,MAAMC,UAAU,GAAGhD,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CAACkD,IAAI,CAAClE,CAAC,IAAIA,CAAC,CAAC2C,mBAAmB,CAACwB,WAAW,KAAKV,IAAI,CAACA,IAAI,CAACU,WAAW,IAC5GnE,CAAC,CAAC2C,mBAAmB,CAACiB,QAAQ,KAAKH,IAAI,CAACG,QAAQ,CAAC;QACxD,IAAI,CAACK,UAAU,EACX,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjD,MAAM;UACFC,MAAM,EAAEd,GAAG;UACXe,WAAW,EAAEL,UAAU,CAAC5C,OAAO;UAC/ByC,kBAAkB,EAAEA,kBAAkB;UACtCS,aAAa,EAAExB,EAAE,CAACyB;QACtB,CAAC;MACL;IACJ;EACJ,CAAC;AACL;AACA,SAAShB,UAAUA,CAACF,gBAAgB,EAAE5D,IAAI,EAAE;EACxC,MAAM;IAAE8E;EAAQ,CAAC,GAAGX,oBAAoB,CAACP,gBAAgB,CAAC;EAC1D,MAAMC,GAAG,GAAG7D,IAAI,CAACwE,IAAI,CAACrB,CAAC,IAAIA,CAAC,CAACK,WAAW,KAAKsB,OAAO,CAAC;EACrD,IAAIjB,GAAG,IAAI,IAAI,EAAE;IACb,MAAM,IAAIa,KAAK,CAAC,iCAAiCI,OAAO,iBAAiB,CAAC;EAC9E;EACA,OAAOjB,GAAG;AACd;AACA,SAASM,oBAAoBA,CAACF,GAAG,EAAE;EAC/B,IAAI,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAACV,IAAI,KAAK,iBAAiB,EAAE;IACjD,MAAM,IAAImB,KAAK,CAAC,4CAA4C,CAAC;EACjE;EACA,MAAMK,GAAG,GAAGxD,MAAM,CAACE,OAAO,CAACwC,GAAG,CAACe,eAAe,CAAC5B,gBAAgB,CAAC;EAChE,IAAI2B,GAAG,CAAC7E,MAAM,KAAK,CAAC,EAAE;IAClB,MAAM,IAAIwE,KAAK,CAAC,oDAAoD,CAAC;EACzE;EACA,OAAO;IACH5D,aAAa,EAAEmD,GAAG,CAACe,eAAe,CAAClE,aAAa;IAChDgE,OAAO,EAAEC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACxB,IAAI;EACrC,CAAC;AACL","ignoreList":[]}
@@ -104,7 +104,7 @@ export function remapActionResponse(response) {
104
104
  });
105
105
  editedObjectTypesSet.add(edit.objectType);
106
106
  } else {
107
- invariant(false, "Unknown edit type");
107
+ process.env.NODE_ENV !== "production" ? invariant(false, "Unknown edit type") : invariant(false);
108
108
  }
109
109
  }
110
110
  remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];
@@ -1 +1 @@
1
- {"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey"],"sources":["applyAction.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey","process","env","NODE_ENV"],"sources":["applyAction.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Client } from "./Client.js";
1
+ import { type Client } from "./Client.js";
2
2
  import type { Logger } from "./Logger.js";
3
3
  export declare const createClient: (baseUrl: string, ontologyRid: string | Promise<string>, tokenProvider: () => Promise<string>, options?: {
4
4
  logger?: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAqJ1C,eAAO,MAAM,YAAY,gFAzGF,OAAO,CAAC,MAAM,CAAC;aAChB,MAAM;4DA2G3B,CAAC"}
1
+ {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiM1C,eAAO,MAAM,YAAY,gFAjJF,OAAO,CAAC,MAAM,CAAC;aAChB,MAAM;4DAmJ3B,CAAC"}
@@ -13,13 +13,16 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet } from "@osdk/api/unstable";
17
- import { symbolClientContext } from "@osdk/shared.client";
16
+ import { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe } from "@osdk/api/unstable";
17
+ import { symbolClientContext as oldSymbolClientContext } from "@osdk/shared.client";
18
+ import { symbolClientContext } from "@osdk/shared.client2";
18
19
  import { createBulkLinksAsyncIterFactory } from "./__unstable/createBulkLinksAsyncIterFactory.js";
19
20
  import { applyAction } from "./actions/applyAction.js";
21
+ import { additionalContext } from "./Client.js";
20
22
  import { createMinimalClient } from "./createMinimalClient.js";
21
23
  import { fetchMetadataInternal } from "./fetchMetadata.js";
22
- import { createObjectSet } from "./objectSet/createObjectSet.js";
24
+ import { createObjectSet, getWireObjectSet } from "./objectSet/createObjectSet.js";
25
+ import { ObjectSetListenerWebsocket } from "./objectSet/ObjectSetListenerWebsocket.js";
23
26
  import { applyQuery } from "./queries/applyQuery.js";
24
27
  class ActionInvoker {
25
28
  constructor(clientCtx, actionDef) {
@@ -65,29 +68,50 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
65
68
  return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value
66
69
  } else if (o.type === "query") {
67
70
  return new QueryInvoker(clientCtx, o);
71
+ } else if (o.type === "experiment") {
72
+ switch (o.name) {
73
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:
74
+ return {
75
+ getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx)
76
+ };
77
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet.name:
78
+ return {
79
+ preexistingObjectSet: (definition, rid) => {
80
+ return createObjectSet(definition, client[additionalContext], {
81
+ type: "intersect",
82
+ objectSets: [{
83
+ type: "base",
84
+ objectType: definition.apiName
85
+ }, {
86
+ type: "reference",
87
+ reference: rid
88
+ }]
89
+ });
90
+ }
91
+ };
92
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:
93
+ return {
94
+ subscribe: (objectSet, listener, opts) => {
95
+ const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);
96
+ return {
97
+ unsubscribe: async () => (await pendingSubscribe)()
98
+ };
99
+ }
100
+ };
101
+ }
102
+ throw new Error("not implemented");
68
103
  } else {
69
104
  throw new Error("not implemented");
70
105
  }
71
106
  }, {
72
- [symbolClientContext]: {
107
+ [oldSymbolClientContext]: {
73
108
  value: clientCtx
74
109
  },
75
- [__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks]: {
76
- get: () => createBulkLinksAsyncIterFactory(clientCtx)
110
+ [symbolClientContext]: {
111
+ value: clientCtx
77
112
  },
78
- [__EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet]: {
79
- get: () => (definition, rid) => {
80
- return createObjectSet(definition, client[symbolClientContext], {
81
- type: "intersect",
82
- objectSets: [{
83
- type: "base",
84
- objectType: definition.apiName
85
- }, {
86
- type: "reference",
87
- reference: rid
88
- }]
89
- });
90
- }
113
+ [additionalContext]: {
114
+ value: clientCtx
91
115
  },
92
116
  fetchMetadata: {
93
117
  value: fetchMetadata
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet","symbolClientContext","createBulkLinksAsyncIterFactory","applyAction","createMinimalClient","fetchMetadataInternal","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","fetchMetadata","client","Object","defineProperties","o","type","value","get","definition","rid","objectSets","objectType","apiName","reference","createClient"],"sources":["createClient.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet, } from \"@osdk/api/unstable\";\nimport { symbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nclass ActionInvoker {\n constructor(clientCtx, actionDef) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n applyAction;\n batchApplyAction;\n}\nclass QueryInvoker {\n constructor(clientCtx, queryDef) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n executeFunction;\n}\n/** @internal */\nexport function createClientInternal(objectSetFactory, // first so i can bind\nbaseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n }\n else {\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n const clientCtx = createMinimalClient({ ontologyRid }, baseUrl, tokenProvider, options, fetchFn, objectSetFactory);\n function clientFn(o) {\n if (o.type === \"object\" || o.type === \"interface\") {\n return objectSetFactory(o, clientCtx);\n }\n else if (o.type === \"action\") {\n return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value\n }\n else if (o.type === \"query\") {\n return new QueryInvoker(clientCtx, o);\n }\n else {\n throw new Error(\"not implemented\");\n }\n }\n const fetchMetadata = fetchMetadataInternal.bind(undefined, clientCtx);\n const client = Object.defineProperties(clientFn, {\n [symbolClientContext]: {\n value: clientCtx,\n },\n [__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks]: {\n get: () => createBulkLinksAsyncIterFactory(clientCtx),\n },\n [__EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet]: {\n get: () => (definition, rid) => {\n return createObjectSet(definition, client[symbolClientContext], {\n type: \"intersect\",\n objectSets: [\n {\n type: \"base\",\n objectType: definition.apiName,\n },\n {\n type: \"reference\",\n reference: rid,\n },\n ],\n });\n },\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n });\n return client;\n}\nexport const createClient = createClientInternal.bind(undefined, createObjectSet);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet","__EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","createObjectSet","getWireObjectSet","ObjectSetListenerWebsocket","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","preexistingObjectSet","definition","rid","objectSets","objectType","apiName","reference","subscribe","objectSet","listener","opts","pendingSubscribe","getInstance","$objectSetInternals","def","properties","unsubscribe","value","createClient"],"sources":["createClient.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe, } from \"@osdk/api/unstable\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { createObjectSet, getWireObjectSet, } from \"./objectSet/createObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./objectSet/ObjectSetListenerWebsocket.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nclass ActionInvoker {\n constructor(clientCtx, actionDef) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n applyAction;\n batchApplyAction;\n}\nclass QueryInvoker {\n constructor(clientCtx, queryDef) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n executeFunction;\n}\n/** @internal */\nexport function createClientInternal(objectSetFactory, // first so i can bind\nbaseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n }\n else {\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n const clientCtx = createMinimalClient({ ontologyRid }, baseUrl, tokenProvider, options, fetchFn, objectSetFactory);\n function clientFn(o) {\n if (o.type === \"object\" || o.type === \"interface\") {\n return objectSetFactory(o, clientCtx);\n }\n else if (o.type === \"action\") {\n return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value\n }\n else if (o.type === \"query\") {\n return new QueryInvoker(clientCtx, o);\n }\n else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx),\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet.name:\n return {\n preexistingObjectSet: (definition, rid) => {\n return createObjectSet(definition, client[additionalContext], {\n type: \"intersect\",\n objectSets: [\n {\n type: \"base\",\n objectType: definition.apiName,\n },\n {\n type: \"reference\",\n reference: rid,\n },\n ],\n });\n },\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:\n return {\n subscribe: (objectSet, listener, opts) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n };\n }\n throw new Error(\"not implemented\");\n }\n else {\n throw new Error(\"not implemented\");\n }\n }\n const fetchMetadata = fetchMetadataInternal.bind(undefined, clientCtx);\n const client = Object.defineProperties(clientFn, {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n });\n return client;\n}\nexport const createClient = createClientInternal.bind(undefined, createObjectSet);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,+CAA+C,EAAEC,uDAAuD,EAAEC,2CAA2C,QAAS,oBAAoB;AAC3L,SAASC,mBAAmB,IAAIC,sBAAsB,QAAQ,qBAAqB;AACnF,SAASD,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASE,+BAA+B,QAAQ,iDAAiD;AACjG,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,qBAAqB,QAAQ,oBAAoB;AAC1D,SAASC,eAAe,EAAEC,gBAAgB,QAAS,gCAAgC;AACnF,SAASC,0BAA0B,QAAQ,2CAA2C;AACtF,SAASC,UAAU,QAAQ,yBAAyB;AACpD,MAAMC,aAAa,CAAC;EAChBC,WAAWA,CAACC,SAAS,EAAEC,SAAS,EAAE;IAC9B;IACA;IACA;IACA;IACA,IAAI,CAACX,WAAW,GAAGA,WAAW,CAACY,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;IACpE,IAAI,CAACG,gBAAgB,GAAGd,WAAW,CAACY,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;EAC7E;EACAX,WAAW;EACXc,gBAAgB;AACpB;AACA,MAAMC,YAAY,CAAC;EACfN,WAAWA,CAACC,SAAS,EAAEM,QAAQ,EAAE;IAC7B,IAAI,CAACC,eAAe,GAAGV,UAAU,CAACK,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEM,QAAQ,CAAC;EAC1E;EACAC,eAAe;AACnB;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,gBAAgB;AAAE;AACvDC,OAAO,EAAEC,WAAW,EAAEC,aAAa,EAAEC,OAAO,GAAGV,SAAS,EAAEW,OAAO,GAAGC,KAAK,EAAE;EACvE,IAAI,OAAOJ,WAAW,KAAK,QAAQ,EAAE;IACjC,IAAI,CAACA,WAAW,CAACK,UAAU,CAAC,KAAK,CAAC,EAAE;MAChC,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;EACJ,CAAC,MACI;IACDN,WAAW,CAACO,IAAI,CAAEP,WAAW,IAAK;MAC9B,IAAI,CAACA,WAAW,CAACK,UAAU,CAAC,KAAK,CAAC,EAAE;QAChC,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;MAC3C;IACJ,CAAC,CAAC;EACN;EACA,MAAMjB,SAAS,GAAGR,mBAAmB,CAAC;IAAEmB;EAAY,CAAC,EAAED,OAAO,EAAEE,aAAa,EAAEC,OAAO,EAAEC,OAAO,EAAEL,gBAAgB,CAAC;EAiDlH,MAAMU,aAAa,GAAG1B,qBAAqB,CAACS,IAAI,CAACC,SAAS,EAAEH,SAAS,CAAC;EACtE,MAAMoB,MAAM,GAAGC,MAAM,CAACC,gBAAgB,CAjDtC,UAAkBC,CAAC,EAAE;IACjB,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,IAAID,CAAC,CAACC,IAAI,KAAK,WAAW,EAAE;MAC/C,OAAOf,gBAAgB,CAACc,CAAC,EAAEvB,SAAS,CAAC;IACzC,CAAC,MACI,IAAIuB,CAAC,CAACC,IAAI,KAAK,QAAQ,EAAE;MAC1B,OAAO,IAAI1B,aAAa,CAACE,SAAS,EAAEuB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,MACI,IAAIA,CAAC,CAACC,IAAI,KAAK,OAAO,EAAE;MACzB,OAAO,IAAInB,YAAY,CAACL,SAAS,EAAEuB,CAAC,CAAC;IACzC,CAAC,MACI,IAAIA,CAAC,CAACC,IAAI,KAAK,YAAY,EAAE;MAC9B,QAAQD,CAAC,CAACE,IAAI;QACV,KAAKzC,+CAA+C,CAACyC,IAAI;UACrD,OAAO;YACHC,YAAY,EAAErC,+BAA+B,CAACW,SAAS;UAC3D,CAAC;QACL,KAAKf,uDAAuD,CAACwC,IAAI;UAC7D,OAAO;YACHE,oBAAoB,EAAEA,CAACC,UAAU,EAAEC,GAAG,KAAK;cACvC,OAAOnC,eAAe,CAACkC,UAAU,EAAER,MAAM,CAAC7B,iBAAiB,CAAC,EAAE;gBAC1DiC,IAAI,EAAE,WAAW;gBACjBM,UAAU,EAAE,CACR;kBACIN,IAAI,EAAE,MAAM;kBACZO,UAAU,EAAEH,UAAU,CAACI;gBAC3B,CAAC,EACD;kBACIR,IAAI,EAAE,WAAW;kBACjBS,SAAS,EAAEJ;gBACf,CAAC;cAET,CAAC,CAAC;YACN;UACJ,CAAC;QACL,KAAK3C,2CAA2C,CAACuC,IAAI;UACjD,OAAO;YACHS,SAAS,EAAEA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,KAAK;cACtC,MAAMC,gBAAgB,GAAG1C,0BAA0B,CAAC2C,WAAW,CAACvC,SAAS,CAAC,CAACkC,SAAS,CAACC,SAAS,CAACK,mBAAmB,EAAEC,GAAG,EAAE9C,gBAAgB,CAACwC,SAAS,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEK,UAAU,CAAC;cACjL,OAAO;gBAAEC,WAAW,EAAE,MAAAA,CAAA,KAAY,CAAC,MAAML,gBAAgB,EAAE;cAAE,CAAC;YAClE;UACJ,CAAC;MACT;MACA,MAAM,IAAIrB,KAAK,CAAC,iBAAiB,CAAC;IACtC,CAAC,MACI;MACD,MAAM,IAAIA,KAAK,CAAC,iBAAiB,CAAC;IACtC;EACJ,CAAC,EAEgD;IAC7C,CAAC7B,sBAAsB,GAAG;MACtBwD,KAAK,EAAE5C;IACX,CAAC;IACD,CAACb,mBAAmB,GAAG;MACnByD,KAAK,EAAE5C;IACX,CAAC;IACD,CAACT,iBAAiB,GAAG;MACjBqD,KAAK,EAAE5C;IACX,CAAC;IACDmB,aAAa,EAAE;MACXyB,KAAK,EAAEzB;IACX;EACJ,CAAC,CAAC;EACF,OAAOC,MAAM;AACjB;AACA,OAAO,MAAMyB,YAAY,GAAGrC,oBAAoB,CAACN,IAAI,CAACC,SAAS,EAAET,eAAe,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@ import type { MinimalClient } from "./MinimalClientContext.js";
3
3
  export declare class GeotimeSeriesPropertyImpl<T extends GeoJSON.Point> implements GeotimeSeriesProperty<T> {
4
4
  #private;
5
5
  lastFetchedValue: TimeSeriesPoint<T> | undefined;
6
- constructor(client: MinimalClient, objectApiName: string, primaryKey: any, propertyName: string);
6
+ constructor(client: MinimalClient, objectApiName: string, primaryKey: any, propertyName: string, initialValue?: TimeSeriesPoint<T>);
7
7
  getLatestValue(): Promise<TimeSeriesPoint<T> | undefined>;
8
8
  getAllValues(query?: TimeSeriesQuery): Promise<TimeSeriesPoint<T>[]>;
9
9
  asyncIterValues(query?: TimeSeriesQuery): AsyncGenerator<{
@@ -1 +1 @@
1
- {"version":3,"file":"createGeotimeSeriesProperty.d.ts","sourceRoot":"","sources":["../../src/createGeotimeSeriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAEf,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,qBAAa,yBAAyB,CAAC,CAAC,SAAS,OAAO,CAAC,KAAK,CAC5D,YAAW,qBAAqB,CAAC,CAAC,CAAC;;IAInC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAG/C,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM;IAMT,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAWzD,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IASnC,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe;;;;CAgB1B"}
1
+ {"version":3,"file":"createGeotimeSeriesProperty.d.ts","sourceRoot":"","sources":["../../src/createGeotimeSeriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAEf,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,qBAAa,yBAAyB,CAAC,CAAC,SAAS,OAAO,CAAC,KAAK,CAC5D,YAAW,qBAAqB,CAAC,CAAC,CAAC;;IAInC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAG/C,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAStB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAWzD,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IASnC,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe;;;;CAgB1B"}
@@ -19,9 +19,12 @@ export class GeotimeSeriesPropertyImpl {
19
19
  #triplet;
20
20
  #client;
21
21
  lastFetchedValue;
22
- constructor(client, objectApiName, primaryKey, propertyName) {
22
+ constructor(client, objectApiName, primaryKey, propertyName, initialValue) {
23
23
  this.#client = client;
24
24
  this.#triplet = [objectApiName, primaryKey, propertyName];
25
+ if (initialValue != null) {
26
+ this.lastFetchedValue = initialValue;
27
+ }
25
28
  }
26
29
  async getLatestValue() {
27
30
  const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties.getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);
@@ -1 +1 @@
1
- {"version":3,"file":"createGeotimeSeriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","GeotimeSeriesPropertyImpl","triplet","client","lastFetchedValue","constructor","objectApiName","primaryKey","propertyName","getLatestValue","latestPointPromise","TimeSeriesValueBankProperties","ontologyRid","then","latestPoint","getAllValues","query","allPoints","point","asyncIterValues","push","streamPointsIterator","streamValues","range","timeseriesPoint"],"sources":["createGeotimeSeriesProperty.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class GeotimeSeriesPropertyImpl {\n #triplet;\n #client;\n lastFetchedValue;\n constructor(client, objectApiName, primaryKey, propertyName) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async getLatestValue() {\n const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties\n .getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint);\n return latestPointPromise;\n }\n async getAllValues(query) {\n const allPoints = [];\n for await (const point of this.asyncIterValues(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterValues(query) {\n const streamPointsIterator = await OntologiesV2\n .TimeSeriesValueBankProperties.streamValues(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? { range: getTimeRange(query) } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,2BAA2B;AAC/E,OAAO,MAAMC,yBAAyB,CAAC;EACnC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,gBAAgB;EAChBC,WAAWA,CAACF,MAAM,EAAEG,aAAa,EAAEC,UAAU,EAAEC,YAAY,EAAE;IACzD,IAAI,CAAC,CAACL,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC7D;EACA,MAAMC,cAAcA,CAAA,EAAG;IACnB,MAAMC,kBAAkB,GAAGZ,YAAY,CAACa,6BAA6B,CAChEF,cAAc,CAAC,IAAI,CAAC,CAACN,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,CAAC;IACnFQ,kBAAkB,CAACG,IAAI,CAACC,WAAW,IAAI,IAAI,CAACV,gBAAgB,GAAGU,WAAW,CAAC;IAC3E,OAAOJ,kBAAkB;EAC7B;EACA,MAAMK,YAAYA,CAACC,KAAK,EAAE;IACtB,MAAMC,SAAS,GAAG,EAAE;IACpB,WAAW,MAAMC,KAAK,IAAI,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC,EAAE;MACnDC,SAAS,CAACG,IAAI,CAACF,KAAK,CAAC;IACzB;IACA,OAAOD,SAAS;EACpB;EACA,OAAOE,eAAeA,CAACH,KAAK,EAAE;IAC1B,MAAMK,oBAAoB,GAAG,MAAMvB,YAAY,CAC1Ca,6BAA6B,CAACW,YAAY,CAAC,IAAI,CAAC,CAACnB,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAEc,KAAK,GAAG;MAAEO,KAAK,EAAEvB,YAAY,CAACgB,KAAK;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5J,WAAW,MAAMQ,eAAe,IAAIzB,qBAAqB,CAACsB,oBAAoB,CAAC,EAAE;MAC7E,MAAMG,eAAe;IACzB;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"createGeotimeSeriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","GeotimeSeriesPropertyImpl","triplet","client","lastFetchedValue","constructor","objectApiName","primaryKey","propertyName","initialValue","getLatestValue","latestPointPromise","TimeSeriesValueBankProperties","ontologyRid","then","latestPoint","getAllValues","query","allPoints","point","asyncIterValues","push","streamPointsIterator","streamValues","range","timeseriesPoint"],"sources":["createGeotimeSeriesProperty.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class GeotimeSeriesPropertyImpl {\n #triplet;\n #client;\n lastFetchedValue;\n constructor(client, objectApiName, primaryKey, propertyName, initialValue) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n if (initialValue != null) {\n this.lastFetchedValue = initialValue;\n }\n }\n async getLatestValue() {\n const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties\n .getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint);\n return latestPointPromise;\n }\n async getAllValues(query) {\n const allPoints = [];\n for await (const point of this.asyncIterValues(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterValues(query) {\n const streamPointsIterator = await OntologiesV2\n .TimeSeriesValueBankProperties.streamValues(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? { range: getTimeRange(query) } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,2BAA2B;AAC/E,OAAO,MAAMC,yBAAyB,CAAC;EACnC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,gBAAgB;EAChBC,WAAWA,CAACF,MAAM,EAAEG,aAAa,EAAEC,UAAU,EAAEC,YAAY,EAAEC,YAAY,EAAE;IACvE,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;IACzD,IAAIC,YAAY,IAAI,IAAI,EAAE;MACtB,IAAI,CAACL,gBAAgB,GAAGK,YAAY;IACxC;EACJ;EACA,MAAMC,cAAcA,CAAA,EAAG;IACnB,MAAMC,kBAAkB,GAAGb,YAAY,CAACc,6BAA6B,CAChEF,cAAc,CAAC,IAAI,CAAC,CAACP,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACU,WAAW,EAAE,GAAG,IAAI,CAAC,CAACX,OAAO,CAAC;IACnFS,kBAAkB,CAACG,IAAI,CAACC,WAAW,IAAI,IAAI,CAACX,gBAAgB,GAAGW,WAAW,CAAC;IAC3E,OAAOJ,kBAAkB;EAC7B;EACA,MAAMK,YAAYA,CAACC,KAAK,EAAE;IACtB,MAAMC,SAAS,GAAG,EAAE;IACpB,WAAW,MAAMC,KAAK,IAAI,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC,EAAE;MACnDC,SAAS,CAACG,IAAI,CAACF,KAAK,CAAC;IACzB;IACA,OAAOD,SAAS;EACpB;EACA,OAAOE,eAAeA,CAACH,KAAK,EAAE;IAC1B,MAAMK,oBAAoB,GAAG,MAAMxB,YAAY,CAC1Cc,6BAA6B,CAACW,YAAY,CAAC,IAAI,CAAC,CAACpB,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACU,WAAW,EAAE,GAAG,IAAI,CAAC,CAACX,OAAO,EAAEe,KAAK,GAAG;MAAEO,KAAK,EAAExB,YAAY,CAACiB,KAAK;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5J,WAAW,MAAMQ,eAAe,IAAI1B,qBAAqB,CAACuB,oBAAoB,CAAC,EAAE;MAC7E,MAAMG,eAAe;IACzB;EACJ;AACJ","ignoreList":[]}
@@ -19,7 +19,7 @@ import { createStandardOntologyProviderFactory } from "./ontology/StandardOntolo
19
19
  import { USER_AGENT } from "./util/UserAgent.js";
20
20
  /** @internal */
21
21
  export function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = createObjectSet) {
22
- if (process?.env?.NODE_ENV !== "production") {
22
+ if (process.env.NODE_ENV !== "production") {
23
23
  try {
24
24
  new URL(baseUrl);
25
25
  } catch (e) {
@@ -35,8 +35,8 @@ export function createMinimalClient(metadata, baseUrl, tokenProvider, options =
35
35
  clientCacheKey: {},
36
36
  requestContext: {}
37
37
  };
38
- return Object.assign(minimalClient, {
38
+ return Object.freeze(Object.assign(minimalClient, {
39
39
  ontologyProvider: createStandardOntologyProviderFactory(options)(minimalClient)
40
- });
40
+ }));
41
41
  }
42
42
  //# sourceMappingURL=createMinimalClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","minimalClient","ontologyRid","logger","clientCacheKey","requestContext","Object","assign","ontologyProvider"],"sources":["createMinimalClient.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport { createStandardOntologyProviderFactory, } from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n/** @internal */\nexport function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = createObjectSet) {\n if (process?.env?.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n }\n catch (e) {\n const hint = !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const minimalClient = {\n ...createSharedClientContext(baseUrl, tokenProvider, USER_AGENT, fetchFn),\n objectSetFactory,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n clientCacheKey: {},\n requestContext: {},\n };\n return Object.assign(minimalClient, {\n ontologyProvider: createStandardOntologyProviderFactory(options)(minimalClient),\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,yBAAyB,QAAQ,0BAA0B;AACpE,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,qCAAqC,QAAS,wCAAwC;AAC/F,SAASC,UAAU,QAAQ,qBAAqB;AAChD;AACA,OAAO,SAASC,mBAAmBA,CAACC,QAAQ,EAAEC,OAAO,EAAEC,aAAa,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAEC,OAAO,GAAGC,MAAM,CAACC,KAAK,EAAEC,gBAAgB,GAAGX,eAAe,EAAE;EAC5I,IAAIY,OAAO,EAAEC,GAAG,EAAEC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACA,IAAIC,GAAG,CAACV,OAAO,CAAC;IACpB,CAAC,CACD,OAAOW,CAAC,EAAE;MACN,MAAMC,IAAI,GAAG,CAACZ,OAAO,CAACa,UAAU,CAAC,SAAS,CAAC,IAAI,CAACb,OAAO,CAACa,UAAU,CAAC,UAAU,CAAC,GACxE,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBd,OAAO,GAAGY,IAAI,EAAE,CAAC;IAC3D;EACJ;EACA,MAAMG,aAAa,GAAG;IAClB,GAAGrB,yBAAyB,CAACM,OAAO,EAAEC,aAAa,EAAEJ,UAAU,EAAEM,OAAO,CAAC;IACzEG,gBAAgB;IAChBU,WAAW,EAAEjB,QAAQ,CAACiB,WAAW;IACjCC,MAAM,EAAEf,OAAO,CAACe,MAAM;IACtBC,cAAc,EAAE,CAAC,CAAC;IAClBC,cAAc,EAAE,CAAC;EACrB,CAAC;EACD,OAAOC,MAAM,CAACC,MAAM,CAACN,aAAa,EAAE;IAChCO,gBAAgB,EAAE1B,qCAAqC,CAACM,OAAO,CAAC,CAACa,aAAa;EAClF,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","minimalClient","ontologyRid","logger","clientCacheKey","requestContext","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport { createStandardOntologyProviderFactory, } from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n/** @internal */\nexport function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = createObjectSet) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n }\n catch (e) {\n const hint = !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const minimalClient = {\n ...createSharedClientContext(baseUrl, tokenProvider, USER_AGENT, fetchFn),\n objectSetFactory,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n clientCacheKey: {},\n requestContext: {},\n };\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createStandardOntologyProviderFactory(options)(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,yBAAyB,QAAQ,0BAA0B;AACpE,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,qCAAqC,QAAS,wCAAwC;AAC/F,SAASC,UAAU,QAAQ,qBAAqB;AAChD;AACA,OAAO,SAASC,mBAAmBA,CAACC,QAAQ,EAAEC,OAAO,EAAEC,aAAa,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAEC,OAAO,GAAGC,MAAM,CAACC,KAAK,EAAEC,gBAAgB,GAAGX,eAAe,EAAE;EAC5I,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACvC,IAAI;MACA,IAAIC,GAAG,CAACV,OAAO,CAAC;IACpB,CAAC,CACD,OAAOW,CAAC,EAAE;MACN,MAAMC,IAAI,GAAG,CAACZ,OAAO,CAACa,UAAU,CAAC,SAAS,CAAC,IAAI,CAACb,OAAO,CAACa,UAAU,CAAC,UAAU,CAAC,GACxE,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBd,OAAO,GAAGY,IAAI,EAAE,CAAC;IAC3D;EACJ;EACA,MAAMG,aAAa,GAAG;IAClB,GAAGrB,yBAAyB,CAACM,OAAO,EAAEC,aAAa,EAAEJ,UAAU,EAAEM,OAAO,CAAC;IACzEG,gBAAgB;IAChBU,WAAW,EAAEjB,QAAQ,CAACiB,WAAW;IACjCC,MAAM,EAAEf,OAAO,CAACe,MAAM;IACtBC,cAAc,EAAE,CAAC,CAAC;IAClBC,cAAc,EAAE,CAAC;EACrB,CAAC;EACD,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,aAAa,EAAE;IAC9CQ,gBAAgB,EAAE3B,qCAAqC,CAACM,OAAO,CAAC,CAACa,aAAa;EAClF,CAAC,CAAC,CAAC;AACP","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { SharedClientContext } from "@osdk/shared.client";
1
+ import type { SharedClientContext } from "@osdk/shared.client2";
2
2
  export interface PlatformClient extends SharedClientContext {
3
3
  }
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createPlatformClient.d.ts","sourceRoot":"","sources":["../../src/createPlatformClient.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,cAAe,SAAQ,mBAAmB;CAAG;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACpC,OAAO,GAAE,SAAqB,EAC9B,OAAO,GAAE,OAAO,UAAU,CAAC,KAAa,GACvC,cAAc,CAOhB"}
1
+ {"version":3,"file":"createPlatformClient.d.ts","sourceRoot":"","sources":["../../src/createPlatformClient.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,MAAM,WAAW,cAAe,SAAQ,mBAAmB;CAAG;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACpC,OAAO,GAAE,SAAqB,EAC9B,OAAO,GAAE,OAAO,UAAU,CAAC,KAAa,GACvC,cAAc,CAOhB"}
@@ -1,13 +1,13 @@
1
- export type { ActionEditResponse, ActionReturnTypeForOptions, ActionValidationResponse, ApplyActionOptions, ApplyBatchActionOptions, ObjectSet, Osdk, OsdkObject, PageResult, Result, WhereClause, } from "@osdk/api";
1
+ export type { ActionDefinition, ActionEditResponse, ActionMetadata, ActionParam, ActionReturnTypeForOptions, ActionValidationResponse, ApplyActionOptions, ApplyBatchActionOptions, InterfaceDefinition, ObjectMetadata, ObjectSet, ObjectTypeDefinition, Osdk, OsdkObject, PageResult, PropertyDef, PropertyKeys, PropertyValueWireToClient, QueryDefinition, QueryParam, QueryResult, Result, SingleLinkAccessor, VersionBound, WhereClause, } from "@osdk/api";
2
2
  export { isOk } from "@osdk/api";
3
3
  export { PalantirApiError } from "@osdk/shared.net.errors";
4
4
  export { ActionValidationError } from "./actions/ActionValidationError.js";
5
5
  export type { Client } from "./Client.js";
6
- export { createAttachmentFromRid } from "./createAttachmentFromRid.js";
7
6
  export { createClient } from "./createClient.js";
8
7
  export { createPlatformClient } from "./createPlatformClient.js";
9
8
  export type { PlatformClient } from "./createPlatformClient.js";
10
9
  export type { Logger } from "./Logger.js";
11
10
  export { createAttachmentUpload } from "./object/AttachmentUpload.js";
12
11
  export type { ResultOrError } from "./ResultOrError.js";
12
+ export { extractDate, extractDateInLocalTime, extractDateInUTC, } from "./util/datetimeConverters.js";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,IAAI,EACJ,UAAU,EACV,UAAU,EACV,MAAM,EACN,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC"}
@@ -16,8 +16,8 @@
16
16
  export { isOk } from "@osdk/api";
17
17
  export { PalantirApiError } from "@osdk/shared.net.errors";
18
18
  export { ActionValidationError } from "./actions/ActionValidationError.js";
19
- export { createAttachmentFromRid } from "./createAttachmentFromRid.js";
20
19
  export { createClient } from "./createClient.js";
21
20
  export { createPlatformClient } from "./createPlatformClient.js";
22
21
  export { createAttachmentUpload } from "./object/AttachmentUpload.js";
22
+ export { extractDate, extractDateInLocalTime, extractDateInUTC } from "./util/datetimeConverters.js";
23
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isOk","PalantirApiError","ActionValidationError","createAttachmentFromRid","createClient","createPlatformClient","createAttachmentUpload"],"sources":["index.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nexport { isOk } from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport { createAttachmentFromRid } from \"./createAttachmentFromRid.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,WAAW;AAChC,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,sBAAsB,QAAQ,8BAA8B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isOk","PalantirApiError","ActionValidationError","createClient","createPlatformClient","createAttachmentUpload","extractDate","extractDateInLocalTime","extractDateInUTC"],"sources":["index.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nexport { isOk } from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\nexport { extractDate, extractDateInLocalTime, extractDateInUTC, } from \"./util/datetimeConverters.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,WAAW;AAChC,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,WAAW,EAAEC,sBAAsB,EAAEC,gBAAgB,QAAS,8BAA8B","ignoreList":[]}
@@ -52,7 +52,7 @@ describe("intellisense", () => {
52
52
  const clientsPackageJson = findUpSync("package.json", {
53
53
  cwd: import.meta.url
54
54
  });
55
- !(clientsPackageJson != null) ? invariant(false) : void 0;
55
+ !(clientsPackageJson != null) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
56
56
  packagesDir = path.join(path.dirname(clientsPackageJson), "..");
57
57
  clientPackagePath = path.join(packagesDir, "client");
58
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.test.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout: 20_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(`\"(no ontology metadata)\"`);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","process","env","NODE_ENV","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.test.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout: 20_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(`\"(no ontology metadata)\"`);\n });\n});\n"],"mappings":"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","ignoreList":[]}