@osdk/client 2.59.0 → 2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730

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 (55) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/object/fetchPage.js +1 -0
  5. package/build/browser/object/fetchPage.js.map +1 -1
  6. package/build/browser/queries/applyStreamingQuery.js +32 -3
  7. package/build/browser/queries/applyStreamingQuery.js.map +1 -1
  8. package/build/browser/util/UserAgent.js +2 -2
  9. package/build/browser/util/UserAgent.js.map +1 -1
  10. package/build/cjs/applyStreamingQuery-G2AY5GH3.cjs +47 -0
  11. package/build/cjs/applyStreamingQuery-G2AY5GH3.cjs.map +1 -0
  12. package/build/cjs/{chunk-B3G4DXXU.cjs → chunk-2DZZZMCE.cjs} +80 -79
  13. package/build/cjs/chunk-2DZZZMCE.cjs.map +1 -0
  14. package/build/cjs/chunk-GLZSIGE3.cjs +467 -0
  15. package/build/cjs/chunk-GLZSIGE3.cjs.map +1 -0
  16. package/build/cjs/chunk-IBY4PG26.cjs +73 -0
  17. package/build/cjs/chunk-IBY4PG26.cjs.map +1 -0
  18. package/build/cjs/chunk-Q7QYW5NE.cjs +424 -0
  19. package/build/cjs/chunk-Q7QYW5NE.cjs.map +1 -0
  20. package/build/cjs/{chunk-2TKPZIW3.cjs → chunk-UJA4GNLH.cjs} +8 -8
  21. package/build/cjs/{chunk-2TKPZIW3.cjs.map → chunk-UJA4GNLH.cjs.map} +1 -1
  22. package/build/cjs/{chunk-UNIBPL7K.cjs → chunk-UXJGUZWJ.cjs} +85 -529
  23. package/build/cjs/chunk-UXJGUZWJ.cjs.map +1 -0
  24. package/build/cjs/{chunk-UVDNMTHI.cjs → chunk-X4TYOW3Y.cjs} +38 -105
  25. package/build/cjs/chunk-X4TYOW3Y.cjs.map +1 -0
  26. package/build/cjs/index.cjs +15 -13
  27. package/build/cjs/index.cjs.map +1 -1
  28. package/build/cjs/public/experimental.cjs +11 -9
  29. package/build/cjs/public/experimental.cjs.map +1 -1
  30. package/build/cjs/public/internal.cjs +11 -10
  31. package/build/cjs/public/internal.cjs.map +1 -1
  32. package/build/cjs/public/observable.cjs +7 -5
  33. package/build/cjs/public/unstable-do-not-use.cjs +18 -16
  34. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  35. package/build/cjs/{transformAndWaitInternal-F5N6DEDH.cjs → transformAndWaitInternal-MBBGBCV4.cjs} +6 -6
  36. package/build/cjs/{transformAndWaitInternal-F5N6DEDH.cjs.map → transformAndWaitInternal-MBBGBCV4.cjs.map} +1 -1
  37. package/build/esm/Client.js +1 -1
  38. package/build/esm/Client.js.map +1 -1
  39. package/build/esm/object/fetchPage.js +1 -0
  40. package/build/esm/object/fetchPage.js.map +1 -1
  41. package/build/esm/queries/applyStreamingQuery.js +32 -3
  42. package/build/esm/queries/applyStreamingQuery.js.map +1 -1
  43. package/build/esm/util/UserAgent.js +2 -2
  44. package/build/esm/util/UserAgent.js.map +1 -1
  45. package/build/types/Client.d.ts +1 -1
  46. package/build/types/queries/applyStreamingQuery.d.ts +1 -1
  47. package/build/types/queries/applyStreamingQuery.d.ts.map +1 -1
  48. package/package.json +13 -13
  49. package/build/cjs/applyStreamingQuery-GMHLFTJL.cjs +0 -12
  50. package/build/cjs/applyStreamingQuery-GMHLFTJL.cjs.map +0 -1
  51. package/build/cjs/chunk-B3G4DXXU.cjs.map +0 -1
  52. package/build/cjs/chunk-E2U5O543.cjs +0 -181
  53. package/build/cjs/chunk-E2U5O543.cjs.map +0 -1
  54. package/build/cjs/chunk-UNIBPL7K.cjs.map +0 -1
  55. package/build/cjs/chunk-UVDNMTHI.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @osdk/client
2
2
 
3
+ ## 2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730
4
+
5
+ ### Minor Changes
6
+
7
+ - bbbeca8: Bump the `@osdk/foundry.*` and `@osdk/internal.foundry.*` catalog entries to `2.75.0`, which reinstates the `streamingExecute` query endpoint as a Server-Sent Events (`text/event-stream`) stream. The experimental `executeStreamingFunction` helper is reimplemented on top of it and no longer throws: it yields each result as it arrives, flattening batched results so array-returning queries emit one element at a time.
8
+
9
+ ### Patch Changes
10
+
11
+ - e879ad7: Bump platform SDKs and add loadOntologyDefinedDerivedProperties flag, which defaults to true
12
+ - Updated dependencies [e879ad7]
13
+ - Updated dependencies [bbbeca8]
14
+ - @osdk/generator-converters@2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730
15
+ - @osdk/shared.test@2.39.1-main-bbbeca8daa36d158648c037b93e496936d1f0730
16
+ - @osdk/api@2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730
17
+ - @osdk/client.unstable@2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730
18
+
3
19
  ## 2.59.0
4
20
 
5
21
  ### Minor Changes
@@ -21,7 +21,7 @@
21
21
  export const additionalContext = Symbol("additionalContext");
22
22
 
23
23
  // BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.
24
- const MaxOsdkVersion = "2.59.0";
24
+ const MaxOsdkVersion = "2.60.0";
25
25
  // END: THIS IS GENERATED CODE. DO NOT EDIT.
26
26
 
27
27
  const ErrorMessage = Symbol("ErrorMessage");
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"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 */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\n\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> =\n Q extends VersionBound<infer V>\n ? SatisfiesSemver<V, MaxOsdkVersion> extends true\n ? Q\n : Q & {\n [ErrorMessage]: `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n /**\n * Returns the operation surface for the given ontology definition. The shape of the\n * returned value is dispatched on what kind of definition is passed:\n * - object type → the object set type for that ontology object (typically a generated extension of {@link ObjectSet})\n * - interface → a {@link MinimalObjectSet} for the interface\n * - action → a callable with `applyAction` / `batchApplyAction`\n * - query → a callable with `executeFunction`\n * - experiment → the unstable feature surface for that experiment\n *\n * @param o - The object type definition to wrap.\n * @example\n * ```ts\n * const employees = await client(Employee).fetchPage({ $pageSize: 30 });\n * const employee = await client(Employee).fetchOne(12345);\n * ```\n * @returns an object set scoped to all objects of this type.\n */\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The interface definition to wrap.\n * @example\n * ```ts\n * const page = await client(MyInterface).fetchPage({ $pageSize: 30 });\n * ```\n * @returns a minimal object set over all objects implementing the interface.\n */\n <Q extends InterfaceDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The action definition to invoke.\n * @example\n * ```ts\n * const result = await client(createEmployee).applyAction(\n * { name: \"Jane\", department: \"Engineering\" },\n * { $returnEdits: true },\n * );\n * ```\n * @returns a callable for applying (or batch-applying) the action.\n */\n <Q extends ActionDefinition<any>>(o: Q): ActionSignatureFromDef<Q>;\n\n /**\n * @param o - The query definition to invoke.\n * @example\n * ```ts\n * const result = await client(getEmployeeCount).executeFunction({ department: \"Engineering\" });\n * ```\n * @returns a callable for executing the query function.\n */\n <Q extends QueryDefinition<any>>(o: Q): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid)\n * .fetchOneByRid(Employee, \"ri.phonograph2-objects.main.object.1234\");\n * ```\n * @returns the experiment-specific function surface.\n */\n <\n Q extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.2.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n /**\n * Fetches runtime metadata for the given ontology definition. The returned shape\n * is dispatched on the kind of definition passed: {@link ObjectMetadata},\n * {@link InterfaceMetadata}, {@link ActionMetadata}, or {@link QueryMetadata}.\n * @param o - The object type, interface, action, or query definition to look up.\n * @example\n * ```ts\n * const meta = await client.fetchMetadata(Employee);\n * console.log(meta.displayName, meta.description);\n * ```\n * @returns a promise resolving to the metadata for the given definition.\n */\n fetchMetadata<\n Q extends\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>,\n >(\n o: Q,\n ): Promise<\n Q extends ObjectTypeDefinition\n ? ObjectMetadata\n : Q extends InterfaceDefinition\n ? InterfaceMetadata\n : Q extends ActionDefinition<any>\n ? ActionMetadata\n : Q extends QueryDefinition<any>\n ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.59.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;;AAiIA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,QAAQ;AAC/B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"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 */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\n\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> =\n Q extends VersionBound<infer V>\n ? SatisfiesSemver<V, MaxOsdkVersion> extends true\n ? Q\n : Q & {\n [ErrorMessage]: `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n /**\n * Returns the operation surface for the given ontology definition. The shape of the\n * returned value is dispatched on what kind of definition is passed:\n * - object type → the object set type for that ontology object (typically a generated extension of {@link ObjectSet})\n * - interface → a {@link MinimalObjectSet} for the interface\n * - action → a callable with `applyAction` / `batchApplyAction`\n * - query → a callable with `executeFunction`\n * - experiment → the unstable feature surface for that experiment\n *\n * @param o - The object type definition to wrap.\n * @example\n * ```ts\n * const employees = await client(Employee).fetchPage({ $pageSize: 30 });\n * const employee = await client(Employee).fetchOne(12345);\n * ```\n * @returns an object set scoped to all objects of this type.\n */\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The interface definition to wrap.\n * @example\n * ```ts\n * const page = await client(MyInterface).fetchPage({ $pageSize: 30 });\n * ```\n * @returns a minimal object set over all objects implementing the interface.\n */\n <Q extends InterfaceDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The action definition to invoke.\n * @example\n * ```ts\n * const result = await client(createEmployee).applyAction(\n * { name: \"Jane\", department: \"Engineering\" },\n * { $returnEdits: true },\n * );\n * ```\n * @returns a callable for applying (or batch-applying) the action.\n */\n <Q extends ActionDefinition<any>>(o: Q): ActionSignatureFromDef<Q>;\n\n /**\n * @param o - The query definition to invoke.\n * @example\n * ```ts\n * const result = await client(getEmployeeCount).executeFunction({ department: \"Engineering\" });\n * ```\n * @returns a callable for executing the query function.\n */\n <Q extends QueryDefinition<any>>(o: Q): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid)\n * .fetchOneByRid(Employee, \"ri.phonograph2-objects.main.object.1234\");\n * ```\n * @returns the experiment-specific function surface.\n */\n <\n Q extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.2.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n /**\n * Fetches runtime metadata for the given ontology definition. The returned shape\n * is dispatched on the kind of definition passed: {@link ObjectMetadata},\n * {@link InterfaceMetadata}, {@link ActionMetadata}, or {@link QueryMetadata}.\n * @param o - The object type, interface, action, or query definition to look up.\n * @example\n * ```ts\n * const meta = await client.fetchMetadata(Employee);\n * console.log(meta.displayName, meta.description);\n * ```\n * @returns a promise resolving to the metadata for the given definition.\n */\n fetchMetadata<\n Q extends\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>,\n >(\n o: Q,\n ): Promise<\n Q extends ObjectTypeDefinition\n ? ObjectMetadata\n : Q extends InterfaceDefinition\n ? InterfaceMetadata\n : Q extends ActionDefinition<any>\n ? ActionMetadata\n : Q extends QueryDefinition<any>\n ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.60.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;;AAiIA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,QAAQ;AAC/B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -332,6 +332,7 @@ async function applyFetchArgs(args, body, _client, objectType) {
332
332
  if (args?.$loadPropertySecurityMetadata) {
333
333
  body.loadPropertySecurities = true;
334
334
  }
335
+ body.loadOntologyDefinedDerivedProperties = args?.$UNSTABLE_loadOntologyDefinedDerivedProperties ?? true;
335
336
  const orderBy = args?.$orderBy;
336
337
  if (orderBy) {
337
338
  if (orderBy === "relevance") {
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","buildDefaultLoadLevel","defaultLoadLevel","modifierToLoadLevel","undefined","modifier","type","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","selectV2","excludeRid","$includeRid","snapshot","$snapshot","loadPropertySecurities","$EXPERIMENTAL_defaultLoadLevel","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","scenarioRid","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","buildAndRemapRequestBody","branch","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","remapped","remapSelectV2","objectOrInterface","objApiNamespace","map","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","getObjectDefinition","catch","r","load"],"sources":["fetchPage.ts"],"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 */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n PropertyLoadLevel,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Builds the wire `defaultLoadLevel` for a request from the experimental\n * `$EXPERIMENTAL_defaultLoadLevel` arg, or `undefined` when it is not set. Applied to every\n * property server-side (best-effort) without listing property IDs.\n */\nfunction buildDefaultLoadLevel(\n defaultLoadLevel: PropertyModifierValue | undefined,\n): PropertyLoadLevel | undefined {\n return defaultLoadLevel != null\n ? modifierToLoadLevel(defaultLoadLevel)\n : undefined;\n}\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel.\n */\nfunction modifierToLoadLevel(\n modifier: PropertyModifierValue,\n): PropertyLoadLevel {\n switch (modifier) {\n case \"applyMainValue\":\n return { type: \"extractMainValue\" };\n case \"applyReducers\":\n return { type: \"applyReducers\" };\n case \"applyReducersAndExtractMainValue\":\n return { type: \"applyReducersAndExtractMainValue\" };\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: PropertyLoadLevel;\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(type: Q, ...properties: T[]): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\" &&\n objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null\n ? objectSet.where\n : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [\n objectSet,\n {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n },\n ],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: (args?.$select as string[] | undefined) ?? [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n loadPropertySecurities: shouldLoadPropertySecurities,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n } satisfies LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName =\n (await extractObjectOrInterfaceType(client, objectSet))?.apiName ??\n interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return (await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n } else {\n return (await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(args, baseBody, client, objectType);\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map((name) => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return fieldApiNamespace == null && objApiNamespace != null\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(objectType, fieldNames);\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n }\n\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n {\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","buildDefaultLoadLevel","defaultLoadLevel","modifierToLoadLevel","undefined","modifier","type","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","selectV2","excludeRid","$includeRid","snapshot","$snapshot","loadPropertySecurities","$EXPERIMENTAL_defaultLoadLevel","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","scenarioRid","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","buildAndRemapRequestBody","branch","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","remapped","remapSelectV2","objectOrInterface","objApiNamespace","map","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","loadOntologyDefinedDerivedProperties","$UNSTABLE_loadOntologyDefinedDerivedProperties","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","getObjectDefinition","catch","r","load"],"sources":["fetchPage.ts"],"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 */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n PropertyLoadLevel,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Builds the wire `defaultLoadLevel` for a request from the experimental\n * `$EXPERIMENTAL_defaultLoadLevel` arg, or `undefined` when it is not set. Applied to every\n * property server-side (best-effort) without listing property IDs.\n */\nfunction buildDefaultLoadLevel(\n defaultLoadLevel: PropertyModifierValue | undefined,\n): PropertyLoadLevel | undefined {\n return defaultLoadLevel != null\n ? modifierToLoadLevel(defaultLoadLevel)\n : undefined;\n}\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel.\n */\nfunction modifierToLoadLevel(\n modifier: PropertyModifierValue,\n): PropertyLoadLevel {\n switch (modifier) {\n case \"applyMainValue\":\n return { type: \"extractMainValue\" };\n case \"applyReducers\":\n return { type: \"applyReducers\" };\n case \"applyReducersAndExtractMainValue\":\n return { type: \"applyReducersAndExtractMainValue\" };\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: PropertyLoadLevel;\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(type: Q, ...properties: T[]): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\" &&\n objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null\n ? objectSet.where\n : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [\n objectSet,\n {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n },\n ],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: (args?.$select as string[] | undefined) ?? [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n loadPropertySecurities: shouldLoadPropertySecurities,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n } satisfies LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName =\n (await extractObjectOrInterfaceType(client, objectSet))?.apiName ??\n interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return (await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n } else {\n return (await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(args, baseBody, client, objectType);\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map((name) => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return fieldApiNamespace == null && objApiNamespace != null\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n loadOntologyDefinedDerivedProperties?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n body.loadOntologyDefinedDerivedProperties =\n args?.$UNSTABLE_loadOntologyDefinedDerivedProperties ?? true;\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(objectType, fieldNames);\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n }\n\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n {\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,8 +14,37 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- // Streaming query execution is not currently supported in the TypeScript OSDK
18
- export function applyStreamingQuery() {
19
- throw new Error("Streaming query execution is not currently supported in the TypeScript OSDK.");
17
+ import * as Functions from "@osdk/foundry.functions/Query";
18
+ import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
19
+ import { augmentRequestContext } from "../util/augmentRequestContext.js";
20
+ import { getRequiredDefinitions, remapQueryParams, remapQueryResponse } from "./applyQuery.js";
21
+ export async function* applyStreamingQuery(client, query, params) {
22
+ const qd = await client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : undefined);
23
+ if (client.flushEdits != null) {
24
+ await client.flushEdits();
25
+ }
26
+ const response = await Functions.streamingExecute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, () => ({
27
+ finalMethodCall: "applyStreamingQuery"
28
+ })), query), query.apiName, {
29
+ ontology: await client.ontologyRid,
30
+ parameters: params ? await remapQueryParams(params, client, qd.parameters) : {},
31
+ version: query.isFixedVersion ? query.version : undefined,
32
+ branch: client.branch
33
+ }, {
34
+ transactionId: client.transactionId,
35
+ preview: true
36
+ });
37
+ const definitions = await getRequiredDefinitions(qd.output, client);
38
+ for await (const event of response) {
39
+ if (event.type !== "data") continue;
40
+ const remapped = await remapQueryResponse(client, qd.output, event.value, definitions);
41
+ if (qd.output.type === "array" && Array.isArray(remapped)) {
42
+ for (const item of remapped) {
43
+ yield item;
44
+ }
45
+ } else {
46
+ yield remapped;
47
+ }
48
+ }
20
49
  }
21
50
  //# sourceMappingURL=applyStreamingQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyStreamingQuery.js","names":["applyStreamingQuery","Error"],"sources":["applyStreamingQuery.ts"],"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 */\n\nimport type { CompileTimeMetadata, QueryDefinition } from \"@osdk/api\";\n\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\n// Streaming query execution is not currently supported in the TypeScript OSDK\nexport function applyStreamingQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n _client: MinimalClient,\n _query: QD,\n _params?: P,\n): AsyncGenerator<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>,\n void,\n unknown\n> {\n throw new Error(\n \"Streaming query execution is not currently supported in the TypeScript OSDK.\",\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA,OAAO,SAASA,mBAAmBA,CAAA,EAWjC;EACA,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"applyStreamingQuery.js","names":["Functions","addUserAgentAndRequestContextHeaders","augmentRequestContext","getRequiredDefinitions","remapQueryParams","remapQueryResponse","applyStreamingQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","flushEdits","response","streamingExecute","finalMethodCall","ontology","ontologyRid","parameters","branch","transactionId","preview","definitions","output","event","type","remapped","value","Array","isArray","item"],"sources":["applyStreamingQuery.ts"],"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 */\n\nimport type {\n CompileTimeMetadata,\n QueryDefinition,\n QueryMetadata,\n} from \"@osdk/api\";\nimport * as Functions from \"@osdk/foundry.functions/Query\";\n\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n getRequiredDefinitions,\n remapQueryParams,\n remapQueryResponse,\n} from \"./applyQuery.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\nexport async function* applyStreamingQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n client: MinimalClient,\n query: QD,\n params?: P,\n): AsyncGenerator<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>,\n void,\n unknown\n> {\n const qd: QueryMetadata = await client.ontologyProvider.getQueryDefinition(\n query.apiName,\n query.isFixedVersion ? query.version : undefined,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const response = await Functions.streamingExecute(\n addUserAgentAndRequestContextHeaders(\n augmentRequestContext(client, (_) => ({\n finalMethodCall: \"applyStreamingQuery\",\n })),\n query,\n ),\n query.apiName,\n {\n ontology: await client.ontologyRid,\n parameters: params\n ? await remapQueryParams(\n params as { [parameterId: string]: any },\n client,\n qd.parameters,\n )\n : {},\n version: query.isFixedVersion ? query.version : undefined,\n branch: client.branch,\n },\n {\n transactionId: client.transactionId,\n preview: true,\n },\n );\n\n const definitions = await getRequiredDefinitions(qd.output, client);\n\n for await (const event of response) {\n if (event.type !== \"data\") continue;\n\n const remapped = await remapQueryResponse(\n client,\n qd.output,\n event.value,\n definitions,\n );\n\n if (qd.output.type === \"array\" && Array.isArray(remapped)) {\n for (const item of remapped) {\n yield item as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n }\n } else {\n yield remapped as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,OAAO,KAAKA,SAAS,MAAM,+BAA+B;AAG1D,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SACEC,sBAAsB,EACtBC,gBAAgB,EAChBC,kBAAkB,QACb,iBAAiB;AAGxB,OAAO,gBAAgBC,mBAAmBA,CAIxCC,MAAqB,EACrBC,KAAS,EACTC,MAAU,EAKV;EACA,MAAMC,EAAiB,GAAG,MAAMH,MAAM,CAACI,gBAAgB,CAACC,kBAAkB,CACxEJ,KAAK,CAACK,OAAO,EACbL,KAAK,CAACM,cAAc,GAAGN,KAAK,CAACO,OAAO,GAAGC,SACzC,CAAC;EAED,IAAIT,MAAM,CAACU,UAAU,IAAI,IAAI,EAAE;IAC7B,MAAMV,MAAM,CAACU,UAAU,CAAC,CAAC;EAC3B;EAEA,MAAMC,QAAQ,GAAG,MAAMlB,SAAS,CAACmB,gBAAgB,CAC/ClB,oCAAoC,CAClCC,qBAAqB,CAACK,MAAM,EAAE,OAAQ;IACpCa,eAAe,EAAE;EACnB,CAAC,CAAC,CAAC,EACHZ,KACF,CAAC,EACDA,KAAK,CAACK,OAAO,EACb;IACEQ,QAAQ,EAAE,MAAMd,MAAM,CAACe,WAAW;IAClCC,UAAU,EAAEd,MAAM,GACd,MAAML,gBAAgB,CACpBK,MAAM,EACNF,MAAM,EACNG,EAAE,CAACa,UACL,CAAC,GACD,CAAC,CAAC;IACNR,OAAO,EAAEP,KAAK,CAACM,cAAc,GAAGN,KAAK,CAACO,OAAO,GAAGC,SAAS;IACzDQ,MAAM,EAAEjB,MAAM,CAACiB;EACjB,CAAC,EACD;IACEC,aAAa,EAAElB,MAAM,CAACkB,aAAa;IACnCC,OAAO,EAAE;EACX,CACF,CAAC;EAED,MAAMC,WAAW,GAAG,MAAMxB,sBAAsB,CAACO,EAAE,CAACkB,MAAM,EAAErB,MAAM,CAAC;EAEnE,WAAW,MAAMsB,KAAK,IAAIX,QAAQ,EAAE;IAClC,IAAIW,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;IAE3B,MAAMC,QAAQ,GAAG,MAAM1B,kBAAkB,CACvCE,MAAM,EACNG,EAAE,CAACkB,MAAM,EACTC,KAAK,CAACG,KAAK,EACXL,WACF,CAAC;IAED,IAAIjB,EAAE,CAACkB,MAAM,CAACE,IAAI,KAAK,OAAO,IAAIG,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;MACzD,KAAK,MAAMI,IAAI,IAAIJ,QAAQ,EAAE;QAC3B,MAAMI,IAA0D;MAClE;IACF,CAAC,MAAM;MACL,MAAMJ,QAA8D;IACtE;EACF;AACF","ignoreList":[]}
@@ -14,6 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export const USER_AGENT = `osdk-client/${"2.59.0"}`;
18
- export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.59.0"}`;
17
+ export const USER_AGENT = `osdk-client/${"2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730"}`;
18
+ export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.60.0-main-bbbeca8daa36d158648c037b93e496936d1f0730"}`;
19
19
  //# sourceMappingURL=UserAgent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"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 */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string = `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,yBAA4C;AAC9E,OAAO,MAAMC,qBAA6B,GAAG,oCAAuD","ignoreList":[]}
1
+ {"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"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 */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string = `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,uEAA4C;AAC9E,OAAO,MAAMC,qBAA6B,GAAG,kFAAuD","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var chunkGLZSIGE3_cjs = require('./chunk-GLZSIGE3.cjs');
4
+ var chunkX4TYOW3Y_cjs = require('./chunk-X4TYOW3Y.cjs');
5
+ var chunkQ7QYW5NE_cjs = require('./chunk-Q7QYW5NE.cjs');
6
+ require('./chunk-Q7SFCCGT.cjs');
7
+
8
+ // ../../node_modules/.pnpm/@osdk+foundry.functions@2.75.0/node_modules/@osdk/foundry.functions/build/esm/public/Query.js
9
+ var _streamingExecute = [1, "/v2/functions/queries/{0}/streamingExecute", 7, , "text/event-stream"];
10
+ function streamingExecute($ctx, ...args) {
11
+ return chunkQ7QYW5NE_cjs.foundryPlatformFetch($ctx, _streamingExecute, ...args);
12
+ }
13
+
14
+ // src/queries/applyStreamingQuery.ts
15
+ async function* applyStreamingQuery(client, query, params) {
16
+ const qd = await client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : void 0);
17
+ if (client.flushEdits != null) {
18
+ await client.flushEdits();
19
+ }
20
+ const response = await streamingExecute(chunkX4TYOW3Y_cjs.addUserAgentAndRequestContextHeaders(chunkX4TYOW3Y_cjs.augmentRequestContext(client, (_) => ({
21
+ finalMethodCall: "applyStreamingQuery"
22
+ })), query), query.apiName, {
23
+ ontology: await client.ontologyRid,
24
+ parameters: params ? await chunkGLZSIGE3_cjs.remapQueryParams(params, client, qd.parameters) : {},
25
+ version: query.isFixedVersion ? query.version : void 0,
26
+ branch: client.branch
27
+ }, {
28
+ transactionId: client.transactionId,
29
+ preview: true
30
+ });
31
+ const definitions = await chunkGLZSIGE3_cjs.getRequiredDefinitions(qd.output, client);
32
+ for await (const event of response) {
33
+ if (event.type !== "data") continue;
34
+ const remapped = await chunkGLZSIGE3_cjs.remapQueryResponse(client, qd.output, event.value, definitions);
35
+ if (qd.output.type === "array" && Array.isArray(remapped)) {
36
+ for (const item of remapped) {
37
+ yield item;
38
+ }
39
+ } else {
40
+ yield remapped;
41
+ }
42
+ }
43
+ }
44
+
45
+ exports.applyStreamingQuery = applyStreamingQuery;
46
+ //# sourceMappingURL=applyStreamingQuery-G2AY5GH3.cjs.map
47
+ //# sourceMappingURL=applyStreamingQuery-G2AY5GH3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/@osdk+foundry.functions@2.75.0/node_modules/@osdk/foundry.functions/build/esm/public/Query.js","../../src/queries/applyStreamingQuery.ts"],"names":["foundryPlatformFetch","addUserAgentAndRequestContextHeaders","augmentRequestContext","remapQueryParams","getRequiredDefinitions","remapQueryResponse"],"mappings":";;;;;;;;AAgFA,IAAM,oBAAoB,CAAC,CAAA,EAAG,4CAAA,EAA8C,CAAA,IAAI,mBAAmB,CAAA;AA2B5F,SAAS,gBAAA,CAAiB,SAAS,IAAA,EAAM;AAC9C,EAAA,OAAOA,sCAAA,CAAsB,IAAA,EAAM,iBAAA,EAAmB,GAAG,IAAI,CAAA;AAC/D;;;ACzFA,gBAAuB,mBAAA,CAAoB,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ;AAChE,EAAA,MAAM,EAAA,GAAK,MAAM,MAAA,CAAO,gBAAA,CAAiB,kBAAA,CAAmB,KAAA,CAAM,OAAA,EAAS,KAAA,CAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,GAAU,MAAS,CAAA;AAC3H,EAAA,IAAI,MAAA,CAAO,cAAc,IAAA,EAAM;AAC7B,IAAA,MAAM,OAAO,UAAA,EAAW;AAAA,EAC1B;AACA,EAAA,MAAM,WAAW,MAAgB,gBAAA,CAAiBC,sDAAA,CAAqCC,uCAAA,CAAsB,QAAQ,CAAA,CAAA,MAAM;AAAA,IACzH,eAAA,EAAiB;AAAA,GACnB,CAAE,CAAA,EAAG,KAAK,CAAA,EAAG,MAAM,OAAA,EAAS;AAAA,IAC1B,QAAA,EAAU,MAAM,MAAA,CAAO,WAAA;AAAA,IACvB,UAAA,EAAY,SAAS,MAAMC,kCAAA,CAAiB,QAAQ,MAAA,EAAQ,EAAA,CAAG,UAAU,CAAA,GAAI,EAAC;AAAA,IAC9E,OAAA,EAAS,KAAA,CAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,GAAU,MAAA;AAAA,IAChD,QAAQ,MAAA,CAAO;AAAA,GACjB,EAAG;AAAA,IACD,eAAe,MAAA,CAAO,aAAA;AAAA,IACtB,OAAA,EAAS;AAAA,GACV,CAAA;AACD,EAAA,MAAM,WAAA,GAAc,MAAMC,wCAAA,CAAuB,EAAA,CAAG,QAAQ,MAAM,CAAA;AAClE,EAAA,WAAA,MAAiB,SAAS,QAAA,EAAU;AAClC,IAAA,IAAI,KAAA,CAAM,SAAS,MAAA,EAAQ;AAC3B,IAAA,MAAM,QAAA,GAAW,MAAMC,oCAAA,CAAmB,MAAA,EAAQ,GAAG,MAAA,EAAQ,KAAA,CAAM,OAAO,WAAW,CAAA;AACrF,IAAA,IAAI,GAAG,MAAA,CAAO,IAAA,KAAS,WAAW,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACzD,MAAA,KAAA,MAAW,QAAQ,QAAA,EAAU;AAC3B,QAAA,MAAM,IAAA;AAAA,MACR;AAAA,IACF,CAAA,MAAO;AACL,MAAA,MAAM,QAAA;AAAA,IACR;AAAA,EACF;AACF","file":"applyStreamingQuery-G2AY5GH3.cjs","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 { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _get = [0, \"/v2/functions/queries/{0}\", 2];\n/**\n * Gets a specific query type with the given API name. By default, this returns the highest semantic\n * version of the query, excluding pre-release versions. To resolve the most recently published version\n * instead, including pre-release versions, set `latestVersionResolution` to `PUBLISH_TIME`.\n *\n * @beta\n *\n * Required Scopes: [api:functions-read]\n * URL: /v2/functions/queries/{queryApiName}\n */\nexport function get($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _get, ...args);\n}\nconst _getByRid = [0, \"/v2/functions/queries/getByRid\", 2];\n/**\n * Gets a specific query type with the given RID. By default, this gets the latest version of the query.\n *\n * @beta\n *\n * Required Scopes: [api:functions-read]\n * URL: /v2/functions/queries/getByRid\n */\nexport function getByRid($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _getByRid, ...args);\n}\nconst _getByRidBatch = [1, \"/v2/functions/queries/getByRidBatch\", 3];\n/**\n * Gets a list of query types by RID in bulk. By default, this gets the latest version of each query.\n *\n * Queries are filtered from the response if they don't exist or the requesting token lacks the required\n * permissions.\n *\n * The maximum batch size for this endpoint is 100.\n *\n * @beta\n *\n * Required Scopes: [api:functions-read]\n * URL: /v2/functions/queries/getByRidBatch\n */\nexport function getByRidBatch($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _getByRidBatch, ...args);\n}\nconst _execute = [1, \"/v2/functions/queries/{0}/execute\", 7];\n/**\n * Executes a Query and returns the result as a single JSON object. By default, this executes\n * the highest semantic version of the query, excluding pre-release versions. To resolve the\n * most recently published version instead, including pre-release versions, set\n * `latestVersionResolution` to `PUBLISH_TIME`.\n *\n * This endpoint executes global (non-ontology-scoped) query functions. For ontology-scoped\n * functions, use the equivalent endpoint under\n * `/v2/ontologies/{ontology}/queries/{queryApiName}/execute`. For streaming or incremental\n * result delivery, use `streamingExecute`.\n *\n * @beta\n *\n * Required Scopes: [api:functions-execute]\n * URL: /v2/functions/queries/{queryApiName}/execute\n */\nexport function execute($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _execute, ...args);\n}\nconst _streamingExecute = [1, \"/v2/functions/queries/{0}/streamingExecute\", 7,, \"text/event-stream\"];\n/**\n * Executes a Query and returns results as a Server-Sent Events (`text/event-stream`) stream.\n * By default, this executes the highest semantic version of the query, excluding pre-release\n * versions. To resolve the most recently published version instead, including pre-release\n * versions, set `latestVersionResolution` to `PUBLISH_TIME`.\n *\n * This endpoint supports all Query functions. Each SSE event's `data` field is a JSON-encoded\n * `StreamingExecuteQueryResponse` – either a data batch (`type: data`) carrying one or more\n * result values, or an error (`type: error`) emitted before stream termination if execution\n * fails. Non-streaming functions emit a single data event containing the entire result;\n * streaming functions emit a data event per batch as results become available.\n *\n * Per the Server-Sent Events specification, each event is terminated by a blank line:\n *\n * ```\n * data: {\"type\":\"data\",\"value\":[{\"productId\":\"SKU-001\",\"price\":29.99}]}\n *\n * data: {\"type\":\"error\",\"errorCode\":\"INVALID_ARGUMENT\",\"errorName\":\"QueryRuntimeError\",\"errorInstanceId\":\"3f8a9c7b-2e4d-4a1f-9b8c-7d6e5f4a3b2c\",\"errorDescription\":\"Division by zero\",\"parameters\":{}}\n *\n * ```\n *\n * @beta\n *\n * Required Scopes: [api:functions-execute]\n * URL: /v2/functions/queries/{queryApiName}/streamingExecute\n */\nexport function streamingExecute($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _streamingExecute, ...args);\n}\nconst _streamingExecuteEvents = [1, \"/v2/functions/queries/{0}/streamingExecuteEvents\", 7,, \"text/event-stream\"];\n/**\n * Executes a Query and returns results as a Server-Sent Events (`text/event-stream`) stream.\n * By default, this executes the highest semantic version of the query, excluding pre-release\n * versions. To resolve the most recently published version instead, including pre-release\n * versions, set `latestVersionResolution` to `PUBLISH_TIME`.\n *\n * This endpoint supports all Query functions. Each SSE event's `data` field is a JSON-encoded\n * `StreamingExecuteQueryResponse` – either a data batch (`type: data`) carrying one or more\n * result values, or an error (`type: error`) emitted before stream termination if execution\n * fails. Non-streaming functions emit a single data event containing the entire result;\n * streaming functions emit a data event per batch as results become available.\n *\n * Per the Server-Sent Events specification, each event is terminated by a blank line:\n *\n * ```\n * data: {\"type\":\"data\",\"value\":[{\"productId\":\"SKU-001\",\"price\":29.99}]}\n *\n * data: {\"type\":\"error\",\"errorCode\":\"INVALID_ARGUMENT\",\"errorName\":\"QueryRuntimeError\",\"errorInstanceId\":\"3f8a9c7b-2e4d-4a1f-9b8c-7d6e5f4a3b2c\",\"errorDescription\":\"Division by zero\",\"parameters\":{}}\n *\n * ```\n *\n * @alpha\n *\n * Required Scopes: [api:functions-execute]\n * URL: /v2/functions/queries/{queryApiName}/streamingExecuteEvents\n */\nexport function streamingExecuteEvents($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _streamingExecuteEvents, ...args);\n}\nconst _executeAsync = [1, \"/v2/functions/queries/{0}/executeAsync\", 7];\n/**\n * Submits a Query for asynchronous execution. Returns either an execution ID\n * for polling, or the complete result if execution finished immediately.\n *\n * Use the Execution resource's getResult endpoint to poll for the\n * result of a submitted execution.\n *\n * @alpha\n *\n * Required Scopes: [api:functions-execute]\n * URL: /v2/functions/queries/{queryApiName}/executeAsync\n */\nexport function executeAsync($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _executeAsync, ...args);\n}","/*\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 */\n\nimport * as Functions from \"@osdk/foundry.functions/Query\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { getRequiredDefinitions, remapQueryParams, remapQueryResponse } from \"./applyQuery.js\";\nexport async function* applyStreamingQuery(client, query, params) {\n const qd = await client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : undefined);\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n const response = await Functions.streamingExecute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({\n finalMethodCall: \"applyStreamingQuery\"\n })), query), query.apiName, {\n ontology: await client.ontologyRid,\n parameters: params ? await remapQueryParams(params, client, qd.parameters) : {},\n version: query.isFixedVersion ? query.version : undefined,\n branch: client.branch\n }, {\n transactionId: client.transactionId,\n preview: true\n });\n const definitions = await getRequiredDefinitions(qd.output, client);\n for await (const event of response) {\n if (event.type !== \"data\") continue;\n const remapped = await remapQueryResponse(client, qd.output, event.value, definitions);\n if (qd.output.type === \"array\" && Array.isArray(remapped)) {\n for (const item of remapped) {\n yield item;\n }\n } else {\n yield remapped;\n }\n }\n}"]}