@osdk/client 2.19.0 → 2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/createClient.js +10 -1
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/queries/applyQuery.js +3 -3
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/applyStreamingQuery.js +59 -0
- package/build/browser/queries/applyStreamingQuery.js.map +1 -0
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/streamutils.js +22 -0
- package/build/browser/util/streamutils.js.map +1 -1
- package/build/cjs/applyStreamingQuery-TTOMXZOH.cjs +56 -0
- package/build/cjs/applyStreamingQuery-TTOMXZOH.cjs.map +1 -0
- package/build/cjs/{chunk-WPIA6534.cjs → chunk-2PPVQKS5.cjs} +52 -561
- package/build/cjs/chunk-2PPVQKS5.cjs.map +1 -0
- package/build/cjs/{chunk-XXFWZX4V.cjs → chunk-5NVUBK7R.cjs} +23 -91
- package/build/cjs/chunk-5NVUBK7R.cjs.map +1 -0
- package/build/cjs/{chunk-G3UU3X6L.cjs → chunk-M5S7BWCY.cjs} +72 -71
- package/build/cjs/chunk-M5S7BWCY.cjs.map +1 -0
- package/build/cjs/chunk-SYXTPYNH.cjs +565 -0
- package/build/cjs/chunk-SYXTPYNH.cjs.map +1 -0
- package/build/cjs/chunk-TQUNF2DZ.cjs +73 -0
- package/build/cjs/chunk-TQUNF2DZ.cjs.map +1 -0
- package/build/cjs/index.cjs +14 -12
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/public/experimental.cjs +7 -5
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/internal.cjs +10 -9
- package/build/cjs/public/internal.cjs.map +1 -1
- package/build/cjs/public/observable.cjs +6 -4
- package/build/cjs/public/unstable-do-not-use.cjs +11 -9
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/createClient.js +10 -1
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/queries/applyQuery.js +3 -3
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/applyStreamingQuery.js +59 -0
- package/build/esm/queries/applyStreamingQuery.js.map +1 -0
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/streamutils.js +22 -0
- package/build/esm/util/streamutils.js.map +1 -1
- package/build/types/Client.d.ts +1 -1
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/queries/applyQuery.d.ts +12 -1
- package/build/types/queries/applyQuery.d.ts.map +1 -1
- package/build/types/queries/applyStreamingQuery.d.ts +7 -0
- package/build/types/queries/applyStreamingQuery.d.ts.map +1 -0
- package/build/types/util/streamutils.d.ts +1 -0
- package/build/types/util/streamutils.d.ts.map +1 -1
- package/package.json +7 -6
- package/build/cjs/chunk-G3UU3X6L.cjs.map +0 -1
- package/build/cjs/chunk-WPIA6534.cjs.map +0 -1
- package/build/cjs/chunk-XXFWZX4V.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @osdk/client
|
|
2
2
|
|
|
3
|
+
## 2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9eb67e4: Add experimental support for streaming queries via the `__EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction` marker.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [9eb67e4]
|
|
12
|
+
- @osdk/api@2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
|
|
13
|
+
- @osdk/generator-converters@2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
|
|
14
|
+
- @osdk/shared.test@2.15.1-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
|
|
15
|
+
- @osdk/client.unstable@2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16
|
|
16
|
+
|
|
3
17
|
## 2.19.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/build/browser/Client.js
CHANGED
|
@@ -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.
|
|
24
|
+
const MaxOsdkVersion = "2.20.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\";\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> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\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\"] ? 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\"] ? 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>>(\n o: Q,\n ): 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>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const ref = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference)\n * .createMediaReference({ data: blob, fileName: \"media.mp4\", objectType: Employee, propertyType: \"photo\" });\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): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? 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.
|
|
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\";\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> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\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\"] ? 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\"] ? 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>>(\n o: Q,\n ): 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>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const ref = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference)\n * .createMediaReference({ data: blob, fileName: \"media.mp4\", objectType: Employee, propertyType: \"photo\" });\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): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? 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.20.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;;AA0BA;;AA8HA;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":[]}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet, __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from "@osdk/api/unstable";
|
|
17
|
+
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference, __EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet, __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from "@osdk/api/unstable";
|
|
18
18
|
import { symbolClientContext as oldSymbolClientContext } from "@osdk/shared.client";
|
|
19
19
|
import { applyAction } from "./actions/applyAction.js";
|
|
20
20
|
import { additionalContext } from "./Client.js";
|
|
@@ -91,6 +91,15 @@ export function createClientFromContext(clientCtx) {
|
|
|
91
91
|
return new QueryInvoker(clientCtx, o);
|
|
92
92
|
} else if (o.type === "experiment") {
|
|
93
93
|
switch (o.name) {
|
|
94
|
+
case __EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction.name:
|
|
95
|
+
return {
|
|
96
|
+
async *executeStreamingFunction(query, params) {
|
|
97
|
+
const {
|
|
98
|
+
applyStreamingQuery
|
|
99
|
+
} = await import("./queries/applyStreamingQuery.js");
|
|
100
|
+
yield* applyStreamingQuery(clientCtx, query, params);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
94
103
|
case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:
|
|
95
104
|
return {
|
|
96
105
|
async *getBulkLinks(objs, linkTypes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet","__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","symbolClientContext","oldSymbolClientContext","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","makeMediaTransformation","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","ObjectSetListenerWebsocket","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","branch","UNSTABLE_DO_NOT_USE_BRANCH","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","objs","linkTypes","createBulkLinksAsyncIterFactory","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","subscribeToNoTypeObjectSet","listener","opts","unsubscribe","getInstance","subscribeWithoutType","reference","includeRid","transformAndWait","transformAndWaitInternal","mediaSetRid","mediaItemRid","token","mediaReference","mediaSetViewItem","transformation","value","createClient","createClientWithTransaction"],"sources":["createClient.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 ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n MediaReference,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MediaTransformation,\n MinimalObjectSet,\n TransformOptions,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { makeMediaTransformation } from \"./internal/conversions/makeMediaTransformation.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { ObjectSetListenerWebsocket } from \"./objectSet/ObjectSetListenerWebsocket.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\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\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options:\n | {\n logger?: Logger;\n UNSTABLE_DO_NOT_USE_BRANCH?: string;\n headers?: Record<string, string>;\n }\n | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n branch: options?.UNSTABLE_DO_NOT_USE_BRANCH,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\"> ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n async *getBulkLinks(\n objs: Array<OsdkBase<any>>,\n linkTypes: string[],\n ) {\n const { createBulkLinksAsyncIterFactory } = await import(\n \"./__unstable/createBulkLinksAsyncIterFactory.js\"\n );\n yield* createBulkLinksAsyncIterFactory(clientCtx)(\n objs,\n linkTypes,\n );\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n const { upload } = await import(\n \"@osdk/foundry.ontologies/MediaReferenceProperty\"\n );\n return await upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n const T extends boolean = false,\n const PROPERTY_SECURITIES extends boolean = false,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<\n Q,\n L,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n > = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n const PROPERTY_SECURITIES extends boolean = false,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet\n .name:\n return {\n subscribeToNoTypeObjectSet: <R extends boolean = false>(\n rid: string,\n listener: ObjectSetSubscription.Listener<\n ObjectOrInterfaceDefinition,\n never,\n R\n >,\n opts?: { includeRid?: R },\n ) => {\n const unsubscribe = ObjectSetListenerWebsocket\n .getInstance(clientCtx)\n .subscribeWithoutType(\n { type: \"reference\", reference: rid },\n listener as ObjectSetSubscription.Listener<\n ObjectOrInterfaceDefinition,\n never\n >,\n opts?.includeRid ?? false,\n );\n return { unsubscribe };\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait.name:\n return {\n transformAndWait: async (args: {\n mediaReference: MediaReference;\n transformation: MediaTransformation;\n options?: TransformOptions;\n }) => {\n const { transformAndWaitInternal } = await import(\n \"./util/transformAndWaitInternal.js\"\n );\n const { mediaSetRid, mediaItemRid, token } =\n args.mediaReference.reference.mediaSetViewItem;\n return transformAndWaitInternal(\n clientCtx,\n mediaSetRid,\n mediaItemRid,\n makeMediaTransformation(args.transformation),\n token,\n args.options,\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\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 } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\n/**\n * Creates a {@link Client} for interacting with a Foundry Ontology. This is the primary entry point for\n * the OSDK and is typically called once per application during setup. The returned client is then used\n * to load object sets, apply actions, and execute queries against the configured ontology.\n * @param baseUrl - The base URL of the Foundry stack (e.g. `\"https://example.palantirfoundry.com\"`).\n * @param ontologyRid - The ontology RID to scope the client to. May be provided directly or as a `Promise`\n * that resolves to the RID. Typically the generated `$ontologyRid` export from your generated SDK is passed here.\n * @param tokenProvider - A function returning a `Promise` that resolves to a bearer token used to authenticate\n * requests. Typically the OAuth client returned by `createPublicOauthClient` or `createConfidentialOauthClient`\n * from `@osdk/oauth`, which handles caching and refresh; you can also provide a custom function if you\n * manage tokens yourself.\n * @param options - Optional client configuration: a custom `logger`, an experimental `UNSTABLE_DO_NOT_USE_BRANCH`\n * for branch-aware requests, and additional `headers` to include on every request.\n * @param fetchFn - An optional `fetch` implementation to use for all requests. Defaults to the global `fetch`.\n * @example\n * ```ts\n * import { createClient, type Client } from \"@osdk/client\";\n * import { createPublicOauthClient } from \"@osdk/oauth\";\n * import { $ontologyRid } from \"./generatedNoCheck/index.js\";\n *\n * const auth = createPublicOauthClient(\n * \"<your-client-id>\",\n * \"https://example.palantirfoundry.com\",\n * `${window.location.origin}/auth/callback`,\n * );\n *\n * export const client: Client = createClient(\n * \"https://example.palantirfoundry.com\",\n * $ontologyRid,\n * auth,\n * );\n * ```\n * @returns a {@link Client} configured to talk to the given Foundry stack and ontology\n */\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n /** @beta This is an experimental feature subject to change */\n UNSTABLE_DO_NOT_USE_BRANCH?: string;\n headers?: Record<string, string>;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet","__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","symbolClientContext","oldSymbolClientContext","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","makeMediaTransformation","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","ObjectSetListenerWebsocket","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","branch","UNSTABLE_DO_NOT_USE_BRANCH","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","executeStreamingFunction","query","params","applyStreamingQuery","getBulkLinks","objs","linkTypes","createBulkLinksAsyncIterFactory","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","subscribeToNoTypeObjectSet","listener","opts","unsubscribe","getInstance","subscribeWithoutType","reference","includeRid","transformAndWait","transformAndWaitInternal","mediaSetRid","mediaItemRid","token","mediaReference","mediaSetViewItem","transformation","value","createClient","createClientWithTransaction"],"sources":["createClient.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 ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n MediaReference,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MediaTransformation,\n MinimalObjectSet,\n TransformOptions,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { makeMediaTransformation } from \"./internal/conversions/makeMediaTransformation.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { ObjectSetListenerWebsocket } from \"./objectSet/ObjectSetListenerWebsocket.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\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\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options:\n | {\n logger?: Logger;\n UNSTABLE_DO_NOT_USE_BRANCH?: string;\n headers?: Record<string, string>;\n }\n | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n branch: options?.UNSTABLE_DO_NOT_USE_BRANCH,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\"> ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__executeStreamingFunction.name:\n return {\n async *executeStreamingFunction(\n query: QueryDefinition<any>,\n params?: Record<string, any>,\n ) {\n const { applyStreamingQuery } = await import(\n \"./queries/applyStreamingQuery.js\"\n );\n yield* applyStreamingQuery(clientCtx, query, params);\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n async *getBulkLinks(\n objs: Array<OsdkBase<any>>,\n linkTypes: string[],\n ) {\n const { createBulkLinksAsyncIterFactory } = await import(\n \"./__unstable/createBulkLinksAsyncIterFactory.js\"\n );\n yield* createBulkLinksAsyncIterFactory(clientCtx)(\n objs,\n linkTypes,\n );\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n const { upload } = await import(\n \"@osdk/foundry.ontologies/MediaReferenceProperty\"\n );\n return await upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n const T extends boolean = false,\n const PROPERTY_SECURITIES extends boolean = false,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<\n Q,\n L,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n > = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n const PROPERTY_SECURITIES extends boolean = false,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__subscribeToNoTypeObjectSet\n .name:\n return {\n subscribeToNoTypeObjectSet: <R extends boolean = false>(\n rid: string,\n listener: ObjectSetSubscription.Listener<\n ObjectOrInterfaceDefinition,\n never,\n R\n >,\n opts?: { includeRid?: R },\n ) => {\n const unsubscribe = ObjectSetListenerWebsocket\n .getInstance(clientCtx)\n .subscribeWithoutType(\n { type: \"reference\", reference: rid },\n listener as ObjectSetSubscription.Listener<\n ObjectOrInterfaceDefinition,\n never\n >,\n opts?.includeRid ?? false,\n );\n return { unsubscribe };\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait.name:\n return {\n transformAndWait: async (args: {\n mediaReference: MediaReference;\n transformation: MediaTransformation;\n options?: TransformOptions;\n }) => {\n const { transformAndWaitInternal } = await import(\n \"./util/transformAndWaitInternal.js\"\n );\n const { mediaSetRid, mediaItemRid, token } =\n args.mediaReference.reference.mediaSetViewItem;\n return transformAndWaitInternal(\n clientCtx,\n mediaSetRid,\n mediaItemRid,\n makeMediaTransformation(args.transformation),\n token,\n args.options,\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\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 } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\n/**\n * Creates a {@link Client} for interacting with a Foundry Ontology. This is the primary entry point for\n * the OSDK and is typically called once per application during setup. The returned client is then used\n * to load object sets, apply actions, and execute queries against the configured ontology.\n * @param baseUrl - The base URL of the Foundry stack (e.g. `\"https://example.palantirfoundry.com\"`).\n * @param ontologyRid - The ontology RID to scope the client to. May be provided directly or as a `Promise`\n * that resolves to the RID. Typically the generated `$ontologyRid` export from your generated SDK is passed here.\n * @param tokenProvider - A function returning a `Promise` that resolves to a bearer token used to authenticate\n * requests. Typically the OAuth client returned by `createPublicOauthClient` or `createConfidentialOauthClient`\n * from `@osdk/oauth`, which handles caching and refresh; you can also provide a custom function if you\n * manage tokens yourself.\n * @param options - Optional client configuration: a custom `logger`, an experimental `UNSTABLE_DO_NOT_USE_BRANCH`\n * for branch-aware requests, and additional `headers` to include on every request.\n * @param fetchFn - An optional `fetch` implementation to use for all requests. Defaults to the global `fetch`.\n * @example\n * ```ts\n * import { createClient, type Client } from \"@osdk/client\";\n * import { createPublicOauthClient } from \"@osdk/oauth\";\n * import { $ontologyRid } from \"./generatedNoCheck/index.js\";\n *\n * const auth = createPublicOauthClient(\n * \"<your-client-id>\",\n * \"https://example.palantirfoundry.com\",\n * `${window.location.origin}/auth/callback`,\n * );\n *\n * export const client: Client = createClient(\n * \"https://example.palantirfoundry.com\",\n * $ontologyRid,\n * auth,\n * );\n * ```\n * @returns a {@link Client} configured to talk to the given Foundry stack and ontology\n */\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n /** @beta This is an experimental feature subject to change */\n UNSTABLE_DO_NOT_USE_BRANCH?: string;\n headers?: Record<string, string>;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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GAQ9C;MACrB0E,KAAK,EAAE1E;IACT,CAAC;IACD,CAACb,iBAAiB,GAAG;MACnBuF,KAAK,EAAE1E;IACT,CAAC;IACD0B,aAAa,EAAE;MACbgD,KAAK,EAAEhD;IACT;EACF,CACF,CAAC;EAED,OAAOC,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgD,YAWF,GAAGnE,oBAAoB,CAACN,IAAI,CACrCC,SAAS,EACTR,eAAe,EACfQ,SAAS,EACTA,SACF,CAAC;AAED,OAAO,MAAMyE,2BAIF,GAAGA,CAAClE,cAAc,EAAEC,UAAU,EAAE,GAAGmC,IAAI,KAChDtC,oBAAoB,CAClBb,eAAe,EACfe,cAAc,EACdC,UAAU,EACV,GAAGmC,IACL,CAAW;AAEb,SAASF,aAAaA,CACpBY,IAAc,EACd;EAMA,OAL+B;IAC7BzB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAEyB;EACb,CAAC;AAGH","ignoreList":[]}
|
|
@@ -42,14 +42,14 @@ export async function applyQuery(client, query, params) {
|
|
|
42
42
|
const remappedResponse = await remapQueryResponse(client, (await qd).output, response.value, objectOutputDefs);
|
|
43
43
|
return remappedResponse;
|
|
44
44
|
}
|
|
45
|
-
async function remapQueryParams(params, client, paramTypes) {
|
|
45
|
+
export async function remapQueryParams(params, client, paramTypes) {
|
|
46
46
|
const parameterMap = {};
|
|
47
47
|
for (const [key, value] of Object.entries(params)) {
|
|
48
48
|
parameterMap[key] = await toDataValueQueries(value, client, paramTypes[key]);
|
|
49
49
|
}
|
|
50
50
|
return parameterMap;
|
|
51
51
|
}
|
|
52
|
-
async function remapQueryResponse(client, responseDataType, responseValue, definitions) {
|
|
52
|
+
export async function remapQueryResponse(client, responseDataType, responseValue, definitions) {
|
|
53
53
|
// handle null responses
|
|
54
54
|
if (responseValue == null) {
|
|
55
55
|
if (responseDataType.nullable) {
|
|
@@ -185,7 +185,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
|
|
|
185
185
|
}
|
|
186
186
|
return responseValue;
|
|
187
187
|
}
|
|
188
|
-
async function getRequiredDefinitions(dataType, client) {
|
|
188
|
+
export async function getRequiredDefinitions(dataType, client) {
|
|
189
189
|
const result = new Map();
|
|
190
190
|
switch (dataType.type) {
|
|
191
191
|
case "objectSet":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyQuery.js","names":["Queries","invariant","createMediaFromReference","createObjectSet","hydrateAttachmentFromRidInternal","addUserAgentAndRequestContextHeaders","augmentRequestContext","createObjectSpecifierFromInterfaceSpecifier","createObjectSpecifierFromPrimaryKey","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","flushEdits","response","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","transactionId","branch","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","Error","type","i","length","array","set","def","get","object","createQueryObjectResponse","interface","createQueryInterfaceResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","map","Array","isArray","process","env","NODE_ENV","entry","valueType","keyType","getObjectSpecifier","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","interfaceDef","getInterfaceDefinition","types","allDefs","Promise","all","defs","structValues","values","some","primaryKey","objectTypeApiName","$apiName","$title","$objectType","$primaryKey","$objectSpecifier","interfaceSpecifier","primaryKeyValue"],"sources":["applyQuery.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 AllowedBucketKeyTypes,\n AllowedBucketTypes,\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n OsdkBase,\n PrimaryKeyType,\n QueryDataTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n QueryParameterDefinition,\n} from \"@osdk/api\";\nimport type { DataValue } from \"@osdk/foundry.ontologies\";\nimport * as Queries from \"@osdk/foundry.ontologies/Query\";\nimport invariant from \"tiny-invariant\";\nimport { createMediaFromReference } from \"../createMediaFromReference.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n createObjectSpecifierFromInterfaceSpecifier,\n createObjectSpecifierFromPrimaryKey,\n} from \"../util/objectSpecifierUtils.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\nexport async function applyQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n client: MinimalClient,\n query: QD,\n params?: P,\n): Promise<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>\n> {\n // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata\n const qd: Promise<QueryMetadata> = 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 Queries.execute(\n addUserAgentAndRequestContextHeaders(\n augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })),\n query,\n ),\n await client.ontologyRid,\n query.apiName,\n {\n parameters: params\n ? await remapQueryParams(\n params as { [parameterId: string]: any },\n client,\n (await qd).parameters,\n )\n : {},\n },\n {\n version: query.isFixedVersion ? query.version : undefined,\n transactionId: client.transactionId,\n branch: client.branch,\n },\n );\n\n const objectOutputDefs = await getRequiredDefinitions(\n (await qd).output,\n client,\n );\n const remappedResponse = await remapQueryResponse(\n client,\n (await qd).output,\n response.value,\n objectOutputDefs,\n );\n return remappedResponse as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n}\n\nasync function remapQueryParams(\n params: { [parameterId: string]: any },\n client: MinimalClient,\n paramTypes: Record<string, QueryParameterDefinition<any>>,\n): Promise<{ [parameterId: string]: any }> {\n const parameterMap: { [parameterName: string]: unknown } = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(\n value,\n client,\n paramTypes[key],\n );\n }\n return parameterMap;\n}\n\nasync function remapQueryResponse<\n Q extends ObjectTypeDefinition,\n T extends QueryDataTypeDefinition<Q | never>,\n>(\n client: MinimalClient,\n responseDataType: T,\n responseValue: DataValue,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): Promise<QueryReturnType<T>> {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined as unknown as QueryReturnType<typeof responseDataType>;\n } else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n\n case \"array\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.array,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.set,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"attachment\": {\n return hydrateAttachmentFromRidInternal(\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"mediaReference\": {\n return createMediaFromReference(\n client,\n responseValue,\n ) as unknown as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${responseDataType.object}`,\n );\n }\n return createQueryObjectResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"interface\": {\n const def = definitions.get(responseDataType.interface);\n if (!def || def.type !== \"interface\") {\n throw new Error(\n `Missing definition for ${responseDataType.interface}`,\n );\n }\n\n return createQueryInterfaceResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(\n `Missing definition for ${responseDataType.objectSet}`,\n );\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n }) as QueryReturnType<typeof responseDataType>;\n }\n\n return createObjectSet(\n def,\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype) || responseValue[key] == null) {\n responseValue[key] = await remapQueryResponse(\n client,\n subtype,\n responseValue[key],\n definitions,\n );\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"map\": {\n const map = {} as any;\n\n invariant(Array.isArray(responseValue), \"Expected array entry\");\n for (const entry of responseValue) {\n invariant(entry.key != null, \"Expected key\");\n invariant(\n responseDataType.valueType.nullable || entry.value != null,\n \"Expected value\",\n );\n const key = responseDataType.keyType.type === \"object\"\n ? getObjectSpecifier(\n entry.key,\n responseDataType.keyType.object,\n definitions,\n )\n : entry.key;\n const value = await remapQueryResponse(\n client,\n responseDataType.valueType,\n entry.value,\n definitions,\n );\n map[key] = value;\n }\n return map;\n }\n\n case \"twoDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n value: AllowedBucketTypes;\n }[] = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n\n case \"threeDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n groups: { key: AllowedBucketKeyTypes; value: AllowedBucketTypes }[];\n }[] = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult: { key: any; value: any }[] = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n}\n\nasync function getRequiredDefinitions(\n dataType: QueryDataTypeDefinition,\n client: MinimalClient,\n): Promise<Map<string, ObjectOrInterfaceDefinition>> {\n const result = new Map<string, ObjectOrInterfaceDefinition>();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"interfaceObjectSet\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, interfaceDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.object,\n );\n result.set(dataType.object, objectDef);\n break;\n }\n\n case \"interface\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.interface,\n );\n result.set(dataType.interface, interfaceDef);\n break;\n }\n\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"array\": {\n return getRequiredDefinitions(dataType.array, client);\n }\n\n case \"map\": {\n const types = [dataType.keyType, dataType.valueType];\n\n const allDefs = await Promise.all(\n types.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n\n case \"struct\": {\n const structValues = Object.values(dataType.struct);\n\n const allDefs = await Promise.all(\n structValues.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"mediaReference\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"typeReference\":\n case \"union\":\n break;\n default: {\n const _: never = dataType;\n break;\n }\n }\n\n return result;\n}\nfunction requiresConversion(dataType: QueryDataTypeDefinition) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n\n case \"union\":\n return true;\n\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n\n case \"set\":\n return requiresConversion(dataType.set);\n\n case \"attachment\":\n case \"mediaReference\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction getObjectSpecifier(\n primaryKey: any,\n objectTypeApiName: string,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): string {\n const def = definitions.get(objectTypeApiName);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${objectTypeApiName}`,\n );\n }\n return createObjectSpecifierFromPrimaryKey(\n def,\n primaryKey,\n );\n}\n\nexport function createQueryObjectResponse<\n Q extends ObjectTypeDefinition,\n>(\n primaryKey: PrimaryKeyType<Q>,\n objectDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n $objectSpecifier: createObjectSpecifierFromPrimaryKey(\n objectDef,\n primaryKey,\n ),\n };\n}\n\nexport function createQueryInterfaceResponse<\n Q extends InterfaceDefinition,\n>(\n interfaceSpecifier: {\n objectTypeApiName: string;\n primaryKeyValue: PrimaryKeyType<Q>;\n },\n interfaceDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: interfaceDef.apiName,\n $title: undefined,\n $objectType: interfaceSpecifier.objectTypeApiName,\n $primaryKey: interfaceSpecifier.primaryKeyValue,\n $objectSpecifier: createObjectSpecifierFromInterfaceSpecifier(\n interfaceDef,\n interfaceSpecifier,\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"applyQuery.js","names":["Queries","invariant","createMediaFromReference","createObjectSet","hydrateAttachmentFromRidInternal","addUserAgentAndRequestContextHeaders","augmentRequestContext","createObjectSpecifierFromInterfaceSpecifier","createObjectSpecifierFromPrimaryKey","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","flushEdits","response","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","transactionId","branch","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","Error","type","i","length","array","set","def","get","object","createQueryObjectResponse","interface","createQueryInterfaceResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","map","Array","isArray","process","env","NODE_ENV","entry","valueType","keyType","getObjectSpecifier","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","interfaceDef","getInterfaceDefinition","types","allDefs","Promise","all","defs","structValues","values","some","primaryKey","objectTypeApiName","$apiName","$title","$objectType","$primaryKey","$objectSpecifier","interfaceSpecifier","primaryKeyValue"],"sources":["applyQuery.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 AllowedBucketKeyTypes,\n AllowedBucketTypes,\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n OsdkBase,\n PrimaryKeyType,\n QueryDataTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n QueryParameterDefinition,\n} from \"@osdk/api\";\nimport type { DataValue } from \"@osdk/foundry.ontologies\";\nimport * as Queries from \"@osdk/foundry.ontologies/Query\";\nimport invariant from \"tiny-invariant\";\nimport { createMediaFromReference } from \"../createMediaFromReference.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n createObjectSpecifierFromInterfaceSpecifier,\n createObjectSpecifierFromPrimaryKey,\n} from \"../util/objectSpecifierUtils.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\nexport async function applyQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n client: MinimalClient,\n query: QD,\n params?: P,\n): Promise<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>\n> {\n // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata\n const qd: Promise<QueryMetadata> = 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 Queries.execute(\n addUserAgentAndRequestContextHeaders(\n augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })),\n query,\n ),\n await client.ontologyRid,\n query.apiName,\n {\n parameters: params\n ? await remapQueryParams(\n params as { [parameterId: string]: any },\n client,\n (await qd).parameters,\n )\n : {},\n },\n {\n version: query.isFixedVersion ? query.version : undefined,\n transactionId: client.transactionId,\n branch: client.branch,\n },\n );\n\n const objectOutputDefs = await getRequiredDefinitions(\n (await qd).output,\n client,\n );\n const remappedResponse = await remapQueryResponse(\n client,\n (await qd).output,\n response.value,\n objectOutputDefs,\n );\n return remappedResponse as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n}\n\nexport async function remapQueryParams(\n params: { [parameterId: string]: any },\n client: MinimalClient,\n paramTypes: Record<string, QueryParameterDefinition<any>>,\n): Promise<{ [parameterId: string]: any }> {\n const parameterMap: { [parameterName: string]: unknown } = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(\n value,\n client,\n paramTypes[key],\n );\n }\n return parameterMap;\n}\n\nexport async function remapQueryResponse<\n Q extends ObjectTypeDefinition,\n T extends QueryDataTypeDefinition<Q | never>,\n>(\n client: MinimalClient,\n responseDataType: T,\n responseValue: DataValue,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): Promise<QueryReturnType<T>> {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined as unknown as QueryReturnType<typeof responseDataType>;\n } else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n\n case \"array\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.array,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.set,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"attachment\": {\n return hydrateAttachmentFromRidInternal(\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"mediaReference\": {\n return createMediaFromReference(\n client,\n responseValue,\n ) as unknown as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${responseDataType.object}`,\n );\n }\n return createQueryObjectResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"interface\": {\n const def = definitions.get(responseDataType.interface);\n if (!def || def.type !== \"interface\") {\n throw new Error(\n `Missing definition for ${responseDataType.interface}`,\n );\n }\n\n return createQueryInterfaceResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(\n `Missing definition for ${responseDataType.objectSet}`,\n );\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n }) as QueryReturnType<typeof responseDataType>;\n }\n\n return createObjectSet(\n def,\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype) || responseValue[key] == null) {\n responseValue[key] = await remapQueryResponse(\n client,\n subtype,\n responseValue[key],\n definitions,\n );\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"map\": {\n const map = {} as any;\n\n invariant(Array.isArray(responseValue), \"Expected array entry\");\n for (const entry of responseValue) {\n invariant(entry.key != null, \"Expected key\");\n invariant(\n responseDataType.valueType.nullable || entry.value != null,\n \"Expected value\",\n );\n const key = responseDataType.keyType.type === \"object\"\n ? getObjectSpecifier(\n entry.key,\n responseDataType.keyType.object,\n definitions,\n )\n : entry.key;\n const value = await remapQueryResponse(\n client,\n responseDataType.valueType,\n entry.value,\n definitions,\n );\n map[key] = value;\n }\n return map;\n }\n\n case \"twoDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n value: AllowedBucketTypes;\n }[] = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n\n case \"threeDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n groups: { key: AllowedBucketKeyTypes; value: AllowedBucketTypes }[];\n }[] = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult: { key: any; value: any }[] = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n}\n\nexport async function getRequiredDefinitions(\n dataType: QueryDataTypeDefinition,\n client: MinimalClient,\n): Promise<Map<string, ObjectOrInterfaceDefinition>> {\n const result = new Map<string, ObjectOrInterfaceDefinition>();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"interfaceObjectSet\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, interfaceDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.object,\n );\n result.set(dataType.object, objectDef);\n break;\n }\n\n case \"interface\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.interface,\n );\n result.set(dataType.interface, interfaceDef);\n break;\n }\n\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"array\": {\n return getRequiredDefinitions(dataType.array, client);\n }\n\n case \"map\": {\n const types = [dataType.keyType, dataType.valueType];\n\n const allDefs = await Promise.all(\n types.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n\n case \"struct\": {\n const structValues = Object.values(dataType.struct);\n\n const allDefs = await Promise.all(\n structValues.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"mediaReference\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"typeReference\":\n case \"union\":\n break;\n default: {\n const _: never = dataType;\n break;\n }\n }\n\n return result;\n}\nfunction requiresConversion(dataType: QueryDataTypeDefinition) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n\n case \"union\":\n return true;\n\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n\n case \"set\":\n return requiresConversion(dataType.set);\n\n case \"attachment\":\n case \"mediaReference\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction getObjectSpecifier(\n primaryKey: any,\n objectTypeApiName: string,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): string {\n const def = definitions.get(objectTypeApiName);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${objectTypeApiName}`,\n );\n }\n return createObjectSpecifierFromPrimaryKey(\n def,\n primaryKey,\n );\n}\n\nexport function createQueryObjectResponse<\n Q extends ObjectTypeDefinition,\n>(\n primaryKey: PrimaryKeyType<Q>,\n objectDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n $objectSpecifier: createObjectSpecifierFromPrimaryKey(\n objectDef,\n primaryKey,\n ),\n };\n}\n\nexport function createQueryInterfaceResponse<\n Q extends InterfaceDefinition,\n>(\n interfaceSpecifier: {\n objectTypeApiName: string;\n primaryKeyValue: PrimaryKeyType<Q>;\n },\n interfaceDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: interfaceDef.apiName,\n $title: undefined,\n $objectType: interfaceSpecifier.objectTypeApiName,\n $primaryKey: interfaceSpecifier.primaryKeyValue,\n $objectSpecifier: createObjectSpecifierFromInterfaceSpecifier(\n interfaceDef,\n interfaceSpecifier,\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import * as Functions from "@osdk/foundry.functions/Query";
|
|
18
|
+
import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
|
|
19
|
+
import { augmentRequestContext } from "../util/augmentRequestContext.js";
|
|
20
|
+
import { iterateReadableStream, parseNdjsonStream } from "../util/streamutils.js";
|
|
21
|
+
import { getRequiredDefinitions, remapQueryParams, remapQueryResponse } from "./applyQuery.js";
|
|
22
|
+
export async function* applyStreamingQuery(client, query, params) {
|
|
23
|
+
const qd = await client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : undefined);
|
|
24
|
+
if (client.flushEdits != null) {
|
|
25
|
+
await client.flushEdits();
|
|
26
|
+
}
|
|
27
|
+
const response = await Functions.streamingExecute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, () => ({
|
|
28
|
+
finalMethodCall: "applyStreamingQuery"
|
|
29
|
+
})), query), query.apiName, {
|
|
30
|
+
ontology: await client.ontologyRid,
|
|
31
|
+
parameters: params ? await remapQueryParams(params, client, qd.parameters) : {},
|
|
32
|
+
version: query.isFixedVersion ? query.version : undefined,
|
|
33
|
+
branch: client.branch
|
|
34
|
+
}, {
|
|
35
|
+
transactionId: client.transactionId,
|
|
36
|
+
preview: true
|
|
37
|
+
});
|
|
38
|
+
if (response.body == null) {
|
|
39
|
+
throw new Error("streamingExecute returned no response body");
|
|
40
|
+
}
|
|
41
|
+
const definitions = await getRequiredDefinitions(qd.output, client);
|
|
42
|
+
const reader = response.body.getReader();
|
|
43
|
+
for await (const line of parseNdjsonStream(iterateReadableStream(reader))) {
|
|
44
|
+
if (line.type === "error") {
|
|
45
|
+
const err = new Error(`${line.errorName} (${line.errorCode}) [${line.errorInstanceId}]: ${line.errorDescription ?? ""}`);
|
|
46
|
+
Object.assign(err, line);
|
|
47
|
+
throw err;
|
|
48
|
+
}
|
|
49
|
+
const remapped = await remapQueryResponse(client, qd.output, line.value, definitions);
|
|
50
|
+
if (qd.output.type === "array" && Array.isArray(remapped)) {
|
|
51
|
+
for (const item of remapped) {
|
|
52
|
+
yield item;
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
yield remapped;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=applyStreamingQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyStreamingQuery.js","names":["Functions","addUserAgentAndRequestContextHeaders","augmentRequestContext","iterateReadableStream","parseNdjsonStream","getRequiredDefinitions","remapQueryParams","remapQueryResponse","applyStreamingQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","flushEdits","response","streamingExecute","finalMethodCall","ontology","ontologyRid","parameters","branch","transactionId","preview","body","Error","definitions","output","reader","getReader","line","type","err","errorName","errorCode","errorInstanceId","errorDescription","Object","assign","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\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n iterateReadableStream,\n parseNdjsonStream,\n} from \"../util/streamutils.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 if (response.body == null) {\n throw new Error(\"streamingExecute returned no response body\");\n }\n\n const definitions = await getRequiredDefinitions(qd.output, client);\n const reader = response.body.getReader();\n for await (\n const line of parseNdjsonStream(iterateReadableStream(reader))\n ) {\n if (line.type === \"error\") {\n const err = new Error(\n `${line.errorName} (${line.errorCode}) [${line.errorInstanceId}]: ${\n line.errorDescription ?? \"\"\n }`,\n );\n Object.assign(err, line);\n throw err;\n }\n const remapped = await remapQueryResponse(\n client,\n qd.output,\n line.value,\n definitions,\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;AAE1D,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SACEC,qBAAqB,EACrBC,iBAAiB,QACZ,wBAAwB;AAC/B,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,MAAMpB,SAAS,CAACqB,gBAAgB,CAC/CpB,oCAAoC,CAClCC,qBAAqB,CAACO,MAAM,EAAE,OAAM;IAClCa,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,CACtBK,MAAM,EACNF,MAAM,EACNG,EAAE,CAACa,UACL,CAAC,GACC,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,IAAIR,QAAQ,CAACS,IAAI,IAAI,IAAI,EAAE;IACzB,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EAEA,MAAMC,WAAW,GAAG,MAAM1B,sBAAsB,CAACO,EAAE,CAACoB,MAAM,EAAEvB,MAAM,CAAC;EACnE,MAAMwB,MAAM,GAAGb,QAAQ,CAACS,IAAI,CAACK,SAAS,CAAC,CAAC;EACxC,WACE,MAAMC,IAAI,IAAI/B,iBAAiB,CAACD,qBAAqB,CAAC8B,MAAM,CAAC,CAAC,EAC9D;IACA,IAAIE,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE;MACzB,MAAMC,GAAG,GAAG,IAAIP,KAAK,CACnB,GAAGK,IAAI,CAACG,SAAS,KAAKH,IAAI,CAACI,SAAS,MAAMJ,IAAI,CAACK,eAAe,MAC5DL,IAAI,CAACM,gBAAgB,IAAI,EAAE,EAE/B,CAAC;MACDC,MAAM,CAACC,MAAM,CAACN,GAAG,EAAEF,IAAI,CAAC;MACxB,MAAME,GAAG;IACX;IACA,MAAMO,QAAQ,GAAG,MAAMrC,kBAAkB,CACvCE,MAAM,EACNG,EAAE,CAACoB,MAAM,EACTG,IAAI,CAACU,KAAK,EACVd,WACF,CAAC;IACD,IAAInB,EAAE,CAACoB,MAAM,CAACI,IAAI,KAAK,OAAO,IAAIU,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.
|
|
18
|
-
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.
|
|
17
|
+
export const USER_AGENT = `osdk-client/${"2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16"}`;
|
|
18
|
+
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.20.0-main-9eb67e484674ef3b31366ff805e2a680cb21cb16"}`;
|
|
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 =\n `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,
|
|
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 =\n `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,GACxC,kFAAuD","ignoreList":[]}
|
|
@@ -99,4 +99,26 @@ export async function* iterateReadableStream(readableStream) {
|
|
|
99
99
|
res = await readableStream.read();
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
+
export async function* parseNdjsonStream(asyncIterable) {
|
|
103
|
+
const decoder = new TextDecoder("utf-8");
|
|
104
|
+
let buffer = "";
|
|
105
|
+
for await (const chunk of asyncIterable) {
|
|
106
|
+
buffer += decoder.decode(chunk, {
|
|
107
|
+
stream: true
|
|
108
|
+
});
|
|
109
|
+
let newlineIdx;
|
|
110
|
+
while ((newlineIdx = buffer.indexOf("\n")) !== -1) {
|
|
111
|
+
const line = buffer.slice(0, newlineIdx);
|
|
112
|
+
buffer = buffer.slice(newlineIdx + 1);
|
|
113
|
+
if (line.length > 0) {
|
|
114
|
+
yield JSON.parse(line);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
buffer += decoder.decode();
|
|
119
|
+
const trailing = buffer.trim();
|
|
120
|
+
if (trailing.length > 0) {
|
|
121
|
+
yield JSON.parse(trailing);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
102
124
|
//# sourceMappingURL=streamutils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamutils.js","names":["START_TOKEN","Uint8Array","OBJECT_OPEN_CHAR_CODE","OBJECT_CLOSE_CHAR_CODE","parseStreamedResponse","asyncIterable","utf8decoder","TextDecoder","parsedStart","prevChunks","openBracesCount","chunk","i","startsWith","length","j","c","combineAndParse","subarray","push","a","b","prev","curr","str","decode","stream","JSON","parse","iterateReadableStream","readableStream","res","read","done","value"],"sources":["streamutils.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\nconst START_TOKEN = new Uint8Array([123, 34, 100, 97, 116, 97, 34, 58, 91]); // `{\"data\":[`\nconst OBJECT_OPEN_CHAR_CODE = 123; // '{'\nconst OBJECT_CLOSE_CHAR_CODE = 125; // '}'\n\nexport async function* parseStreamedResponse(\n asyncIterable: AsyncIterable<Uint8Array>,\n): AsyncGenerator<any, void, unknown> {\n const utf8decoder = new TextDecoder(\"utf-8\");\n\n let parsedStart = false;\n let prevChunks: Uint8Array[] = [];\n let openBracesCount = 0;\n\n for await (const chunk of asyncIterable) {\n // on the first chunk, skip the expected START_TOKEN if we see it\n let i = 0;\n if (!parsedStart) {\n parsedStart = true;\n if (startsWith(chunk, START_TOKEN)) {\n i = START_TOKEN.length;\n }\n }\n\n for (; i < chunk.length; i++) {\n // if we aren't currently parsing an object, skip until we find the next object start\n while (\n openBracesCount === 0 && chunk[i] !== OBJECT_OPEN_CHAR_CODE\n && i < chunk.length\n ) {\n i++;\n }\n\n // iterate through the chunk looking for the end of the current top level object\n let j = i;\n for (; j < chunk.length; j++) {\n const c = chunk[j];\n if (c === OBJECT_OPEN_CHAR_CODE) {\n openBracesCount++;\n } else if (c === OBJECT_CLOSE_CHAR_CODE) {\n openBracesCount--;\n\n // found a complete top level object, emit it\n if (0 === openBracesCount) {\n yield combineAndParse(\n utf8decoder,\n prevChunks,\n chunk.subarray(i, j + 1),\n );\n\n // if there was a prevChunk, we've consumed it now\n prevChunks = [];\n\n // advance the start index to the final '}' of the current object,\n // which lets us start seeking the beginning of the next object\n i = j;\n break;\n }\n }\n }\n\n // if we reached the end of our chunk before finding the end of the object\n // store off the relevant remainder of our current chunk and go grab the next one\n if (j === chunk.length) {\n prevChunks.push(chunk.subarray(i));\n break;\n }\n }\n }\n}\n\nfunction startsWith(a: Uint8Array, b: Uint8Array) {\n if (a.length < b.length) {\n return false;\n }\n\n for (let i = 0; i < b.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction combineAndParse(\n utf8decoder: TextDecoder,\n prev: Uint8Array[],\n curr: Uint8Array,\n) {\n let str = \"\";\n for (const chunk of prev) {\n str += utf8decoder.decode(chunk, { stream: true });\n }\n str += utf8decoder.decode(curr);\n\n return JSON.parse(str);\n}\n\nexport async function* iterateReadableStream(\n readableStream: ReadableStreamDefaultReader<Uint8Array>,\n): AsyncGenerator<Uint8Array, void, unknown> {\n let res = await readableStream.read();\n while (!res.done) {\n yield res.value;\n res = await readableStream.read();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"streamutils.js","names":["START_TOKEN","Uint8Array","OBJECT_OPEN_CHAR_CODE","OBJECT_CLOSE_CHAR_CODE","parseStreamedResponse","asyncIterable","utf8decoder","TextDecoder","parsedStart","prevChunks","openBracesCount","chunk","i","startsWith","length","j","c","combineAndParse","subarray","push","a","b","prev","curr","str","decode","stream","JSON","parse","iterateReadableStream","readableStream","res","read","done","value","parseNdjsonStream","decoder","buffer","newlineIdx","indexOf","line","slice","trailing","trim"],"sources":["streamutils.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\nconst START_TOKEN = new Uint8Array([123, 34, 100, 97, 116, 97, 34, 58, 91]); // `{\"data\":[`\nconst OBJECT_OPEN_CHAR_CODE = 123; // '{'\nconst OBJECT_CLOSE_CHAR_CODE = 125; // '}'\n\nexport async function* parseStreamedResponse(\n asyncIterable: AsyncIterable<Uint8Array>,\n): AsyncGenerator<any, void, unknown> {\n const utf8decoder = new TextDecoder(\"utf-8\");\n\n let parsedStart = false;\n let prevChunks: Uint8Array[] = [];\n let openBracesCount = 0;\n\n for await (const chunk of asyncIterable) {\n // on the first chunk, skip the expected START_TOKEN if we see it\n let i = 0;\n if (!parsedStart) {\n parsedStart = true;\n if (startsWith(chunk, START_TOKEN)) {\n i = START_TOKEN.length;\n }\n }\n\n for (; i < chunk.length; i++) {\n // if we aren't currently parsing an object, skip until we find the next object start\n while (\n openBracesCount === 0 && chunk[i] !== OBJECT_OPEN_CHAR_CODE\n && i < chunk.length\n ) {\n i++;\n }\n\n // iterate through the chunk looking for the end of the current top level object\n let j = i;\n for (; j < chunk.length; j++) {\n const c = chunk[j];\n if (c === OBJECT_OPEN_CHAR_CODE) {\n openBracesCount++;\n } else if (c === OBJECT_CLOSE_CHAR_CODE) {\n openBracesCount--;\n\n // found a complete top level object, emit it\n if (0 === openBracesCount) {\n yield combineAndParse(\n utf8decoder,\n prevChunks,\n chunk.subarray(i, j + 1),\n );\n\n // if there was a prevChunk, we've consumed it now\n prevChunks = [];\n\n // advance the start index to the final '}' of the current object,\n // which lets us start seeking the beginning of the next object\n i = j;\n break;\n }\n }\n }\n\n // if we reached the end of our chunk before finding the end of the object\n // store off the relevant remainder of our current chunk and go grab the next one\n if (j === chunk.length) {\n prevChunks.push(chunk.subarray(i));\n break;\n }\n }\n }\n}\n\nfunction startsWith(a: Uint8Array, b: Uint8Array) {\n if (a.length < b.length) {\n return false;\n }\n\n for (let i = 0; i < b.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction combineAndParse(\n utf8decoder: TextDecoder,\n prev: Uint8Array[],\n curr: Uint8Array,\n) {\n let str = \"\";\n for (const chunk of prev) {\n str += utf8decoder.decode(chunk, { stream: true });\n }\n str += utf8decoder.decode(curr);\n\n return JSON.parse(str);\n}\n\nexport async function* iterateReadableStream(\n readableStream: ReadableStreamDefaultReader<Uint8Array>,\n): AsyncGenerator<Uint8Array, void, unknown> {\n let res = await readableStream.read();\n while (!res.done) {\n yield res.value;\n res = await readableStream.read();\n }\n}\n\nexport async function* parseNdjsonStream(\n asyncIterable: AsyncIterable<Uint8Array>,\n): AsyncGenerator<any, void, unknown> {\n const decoder = new TextDecoder(\"utf-8\");\n let buffer = \"\";\n for await (const chunk of asyncIterable) {\n buffer += decoder.decode(chunk, { stream: true });\n let newlineIdx: number;\n while ((newlineIdx = buffer.indexOf(\"\\n\")) !== -1) {\n const line = buffer.slice(0, newlineIdx);\n buffer = buffer.slice(newlineIdx + 1);\n if (line.length > 0) {\n yield JSON.parse(line);\n }\n }\n }\n buffer += decoder.decode();\n const trailing = buffer.trim();\n if (trailing.length > 0) {\n yield JSON.parse(trailing);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSYXTPYNH_cjs = require('./chunk-SYXTPYNH.cjs');
|
|
4
|
+
var chunk5NVUBK7R_cjs = require('./chunk-5NVUBK7R.cjs');
|
|
5
|
+
require('./chunk-ZPLXXOU6.cjs');
|
|
6
|
+
var chunkD26YLHTV_cjs = require('./chunk-D26YLHTV.cjs');
|
|
7
|
+
require('./chunk-74HV6NQQ.cjs');
|
|
8
|
+
|
|
9
|
+
// ../../node_modules/.pnpm/@osdk+foundry.functions@2.57.0/node_modules/@osdk/foundry.functions/build/esm/public/Query.js
|
|
10
|
+
var _streamingExecute = [1, "/v2/functions/queries/{0}/streamingExecute", 7, , "application/octet-stream"];
|
|
11
|
+
function streamingExecute($ctx, ...args) {
|
|
12
|
+
return chunkD26YLHTV_cjs.foundryPlatformFetch($ctx, _streamingExecute, ...args);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// src/queries/applyStreamingQuery.ts
|
|
16
|
+
async function* applyStreamingQuery(client, query, params) {
|
|
17
|
+
const qd = await client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : void 0);
|
|
18
|
+
if (client.flushEdits != null) {
|
|
19
|
+
await client.flushEdits();
|
|
20
|
+
}
|
|
21
|
+
const response = await streamingExecute(chunk5NVUBK7R_cjs.addUserAgentAndRequestContextHeaders(chunk5NVUBK7R_cjs.augmentRequestContext(client, (_) => ({
|
|
22
|
+
finalMethodCall: "applyStreamingQuery"
|
|
23
|
+
})), query), query.apiName, {
|
|
24
|
+
ontology: await client.ontologyRid,
|
|
25
|
+
parameters: params ? await chunkSYXTPYNH_cjs.remapQueryParams(params, client, qd.parameters) : {},
|
|
26
|
+
version: query.isFixedVersion ? query.version : void 0,
|
|
27
|
+
branch: client.branch
|
|
28
|
+
}, {
|
|
29
|
+
transactionId: client.transactionId,
|
|
30
|
+
preview: true
|
|
31
|
+
});
|
|
32
|
+
if (response.body == null) {
|
|
33
|
+
throw new Error("streamingExecute returned no response body");
|
|
34
|
+
}
|
|
35
|
+
const definitions = await chunkSYXTPYNH_cjs.getRequiredDefinitions(qd.output, client);
|
|
36
|
+
const reader = response.body.getReader();
|
|
37
|
+
for await (const line of chunkSYXTPYNH_cjs.parseNdjsonStream(chunkSYXTPYNH_cjs.iterateReadableStream(reader))) {
|
|
38
|
+
if (line.type === "error") {
|
|
39
|
+
const err = new Error(`${line.errorName} (${line.errorCode}) [${line.errorInstanceId}]: ${line.errorDescription ?? ""}`);
|
|
40
|
+
Object.assign(err, line);
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
const remapped = await chunkSYXTPYNH_cjs.remapQueryResponse(client, qd.output, line.value, definitions);
|
|
44
|
+
if (qd.output.type === "array" && Array.isArray(remapped)) {
|
|
45
|
+
for (const item of remapped) {
|
|
46
|
+
yield item;
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
yield remapped;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
exports.applyStreamingQuery = applyStreamingQuery;
|
|
55
|
+
//# sourceMappingURL=applyStreamingQuery-TTOMXZOH.cjs.map
|
|
56
|
+
//# sourceMappingURL=applyStreamingQuery-TTOMXZOH.cjs.map
|