@osdk/client 2.73.0 → 2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629
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 +13 -0
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/object/aggregate.js +3 -1
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/fetchPage.js +7 -1
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/objectSet/fetchLinksPage.js +4 -1
- package/build/browser/objectSet/fetchLinksPage.js.map +1 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +2 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/normalizeInterfaceLinkSearchArounds.js +143 -0
- package/build/browser/util/normalizeInterfaceLinkSearchArounds.js.map +1 -0
- package/build/browser/util/toDataValue.js +3 -2
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +3 -2
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/cjs/{applyStreamingQuery-FKYWPEUU.cjs → applyStreamingQuery-SGFL6POE.cjs} +8 -8
- package/build/cjs/{applyStreamingQuery-FKYWPEUU.cjs.map → applyStreamingQuery-SGFL6POE.cjs.map} +1 -1
- package/build/cjs/{chunk-IGVLXS2Y.cjs → chunk-4YNMNNQZ.cjs} +83 -83
- package/build/cjs/{chunk-IGVLXS2Y.cjs.map → chunk-4YNMNNQZ.cjs.map} +1 -1
- package/build/cjs/{chunk-PTLM24GW.cjs → chunk-JRAR3LNT.cjs} +149 -35
- package/build/cjs/chunk-JRAR3LNT.cjs.map +1 -0
- package/build/cjs/{chunk-DPEZMSW2.cjs → chunk-R7ELYIBR.cjs} +14 -14
- package/build/cjs/chunk-R7ELYIBR.cjs.map +1 -0
- package/build/cjs/{chunk-RYZGPQTZ.cjs → chunk-UQ4BNOZZ.cjs} +8 -8
- package/build/cjs/{chunk-RYZGPQTZ.cjs.map → chunk-UQ4BNOZZ.cjs.map} +1 -1
- package/build/cjs/{chunk-FLPBVSKK.cjs → chunk-XX7CXW3B.cjs} +47 -47
- package/build/cjs/chunk-XX7CXW3B.cjs.map +1 -0
- package/build/cjs/index.cjs +11 -11
- package/build/cjs/public/experimental.cjs +9 -9
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/internal.cjs.map +1 -1
- package/build/cjs/public/observable.cjs +5 -5
- package/build/cjs/public/unstable-do-not-use.cjs +16 -16
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/object/aggregate.js +3 -1
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/fetchPage.js +7 -1
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/objectSet/fetchLinksPage.js +4 -1
- package/build/esm/objectSet/fetchLinksPage.js.map +1 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +2 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/normalizeInterfaceLinkSearchArounds.js +143 -0
- package/build/esm/util/normalizeInterfaceLinkSearchArounds.js.map +1 -0
- package/build/esm/util/toDataValue.js +3 -2
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +3 -2
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/build/types/Client.d.ts +1 -1
- package/build/types/object/fetchPage.d.ts.map +1 -1
- package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
- package/build/types/util/normalizeInterfaceLinkSearchArounds.d.ts +1 -0
- package/build/types/util/normalizeInterfaceLinkSearchArounds.d.ts.map +1 -0
- package/package.json +6 -6
- package/build/cjs/chunk-DPEZMSW2.cjs.map +0 -1
- package/build/cjs/chunk-FLPBVSKK.cjs.map +0 -1
- package/build/cjs/chunk-PTLM24GW.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @osdk/client
|
|
2
2
|
|
|
3
|
+
## 2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6ca7442: Fix `pivotTo` emitting an object set the backend rejects with `Api:UnsupportedObjectSet`. On an object set rooted at an interface, every subsequent `pivotTo` emitted an `interfaceLinkSearchAround` node — even once the chain had already followed a link onto a concrete object type, at which point the traversal is an ordinary link and must be a `searchAround`. An interface link cannot be resolved against an object-typed object set, so the request failed.
|
|
8
|
+
|
|
9
|
+
Whether a link's target is an object type or an interface type is only known from ontology metadata, which `pivotTo` cannot read synchronously. The wire object set is therefore normalized just before it is sent: any `interfaceLinkSearchAround` whose source resolves to an object type is rewritten to `searchAround`. Chains that stay on interface types the whole way are unaffected, and object sets containing no interface-link traversal are passed through untouched.
|
|
10
|
+
|
|
11
|
+
This applies to every path that sends an object set: `fetchPage` (object and interface), `aggregate`, link loading, temporary object set creation, and object sets supplied as action or query parameters. The observable layer inherits the fix because it reads through `fetchPage`.
|
|
12
|
+
- @osdk/api@2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629
|
|
13
|
+
- @osdk/client.unstable@2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629
|
|
14
|
+
- @osdk/generator-converters@2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629
|
|
15
|
+
|
|
3
16
|
## 2.73.0
|
|
4
17
|
|
|
5
18
|
### Patch 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.73.
|
|
24
|
+
const MaxOsdkVersion = "2.73.1";
|
|
25
25
|
// END: THIS IS GENERATED CODE. DO NOT EDIT.
|
|
26
26
|
|
|
27
27
|
const ErrorMessage = Symbol("ErrorMessage");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\n\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> =\n Q extends VersionBound<infer V>\n ? SatisfiesSemver<V, MaxOsdkVersion> extends true\n ? Q\n : Q & {\n [ErrorMessage]: `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n /**\n * Returns the operation surface for the given ontology definition. The shape of the\n * returned value is dispatched on what kind of definition is passed:\n * - object type → the object set type for that ontology object (typically a generated extension of {@link ObjectSet})\n * - interface → a {@link MinimalObjectSet} for the interface\n * - action → a callable with `applyAction` / `batchApplyAction`\n * - query → a callable with `executeFunction`\n * - experiment → the unstable feature surface for that experiment\n *\n * @param o - The object type definition to wrap.\n * @example\n * ```ts\n * const employees = await client(Employee).fetchPage({ $pageSize: 30 });\n * const employee = await client(Employee).fetchOne(12345);\n * ```\n * @returns an object set scoped to all objects of this type.\n */\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The interface definition to wrap.\n * @example\n * ```ts\n * const page = await client(MyInterface).fetchPage({ $pageSize: 30 });\n * ```\n * @returns a minimal object set over all objects implementing the interface.\n */\n <Q extends InterfaceDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The action definition to invoke.\n * @example\n * ```ts\n * const result = await client(createEmployee).applyAction(\n * { name: \"Jane\", department: \"Engineering\" },\n * { $returnEdits: true },\n * );\n * ```\n * @returns a callable for applying (or batch-applying) the action.\n */\n <Q extends ActionDefinition<any>>(o: Q): ActionSignatureFromDef<Q>;\n\n /**\n * @param o - The query definition to invoke.\n * @example\n * ```ts\n * const result = await client(getEmployeeCount).executeFunction({ department: \"Engineering\" });\n * ```\n * @returns a callable for executing the query function.\n */\n <Q extends QueryDefinition<any>>(o: Q): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid)\n * .fetchOneByRid(Employee, \"ri.phonograph2-objects.main.object.1234\");\n * ```\n * @returns the experiment-specific function surface.\n */\n <\n Q extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.59.0\">\n | Experiment<\"2.2.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n /**\n * Fetches runtime metadata for the given ontology definition. The returned shape\n * is dispatched on the kind of definition passed: {@link ObjectMetadata},\n * {@link InterfaceMetadata}, {@link ActionMetadata}, or {@link QueryMetadata}.\n * @param o - The object type, interface, action, or query definition to look up.\n * @example\n * ```ts\n * const meta = await client.fetchMetadata(Employee);\n * console.log(meta.displayName, meta.description);\n * ```\n * @returns a promise resolving to the metadata for the given definition.\n */\n fetchMetadata<\n Q extends\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>,\n >(\n o: Q,\n ): Promise<\n Q extends ObjectTypeDefinition\n ? ObjectMetadata\n : Q extends InterfaceDefinition\n ? InterfaceMetadata\n : Q extends ActionDefinition<any>\n ? ActionMetadata\n : Q extends QueryDefinition<any>\n ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.73.
|
|
1
|
+
{"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\n\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> =\n Q extends VersionBound<infer V>\n ? SatisfiesSemver<V, MaxOsdkVersion> extends true\n ? Q\n : Q & {\n [ErrorMessage]: `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n /**\n * Returns the operation surface for the given ontology definition. The shape of the\n * returned value is dispatched on what kind of definition is passed:\n * - object type → the object set type for that ontology object (typically a generated extension of {@link ObjectSet})\n * - interface → a {@link MinimalObjectSet} for the interface\n * - action → a callable with `applyAction` / `batchApplyAction`\n * - query → a callable with `executeFunction`\n * - experiment → the unstable feature surface for that experiment\n *\n * @param o - The object type definition to wrap.\n * @example\n * ```ts\n * const employees = await client(Employee).fetchPage({ $pageSize: 30 });\n * const employee = await client(Employee).fetchOne(12345);\n * ```\n * @returns an object set scoped to all objects of this type.\n */\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The interface definition to wrap.\n * @example\n * ```ts\n * const page = await client(MyInterface).fetchPage({ $pageSize: 30 });\n * ```\n * @returns a minimal object set over all objects implementing the interface.\n */\n <Q extends InterfaceDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n /**\n * @param o - The action definition to invoke.\n * @example\n * ```ts\n * const result = await client(createEmployee).applyAction(\n * { name: \"Jane\", department: \"Engineering\" },\n * { $returnEdits: true },\n * );\n * ```\n * @returns a callable for applying (or batch-applying) the action.\n */\n <Q extends ActionDefinition<any>>(o: Q): ActionSignatureFromDef<Q>;\n\n /**\n * @param o - The query definition to invoke.\n * @example\n * ```ts\n * const result = await client(getEmployeeCount).executeFunction({ department: \"Engineering\" });\n * ```\n * @returns a callable for executing the query function.\n */\n <Q extends QueryDefinition<any>>(o: Q): QuerySignatureFromDef<Q>;\n\n /**\n * @param experiment - The experiment marker that gates an unstable feature.\n * @example\n * ```ts\n * const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid)\n * .fetchOneByRid(Employee, \"ri.phonograph2-objects.main.object.1234\");\n * ```\n * @returns the experiment-specific function surface.\n */\n <\n Q extends\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">\n | Experiment<\"2.59.0\">\n | Experiment<\"2.2.0\">\n | Experiment<\"2.8.0\">\n | Experiment<\"2.19.0\">,\n >(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n /**\n * Fetches runtime metadata for the given ontology definition. The returned shape\n * is dispatched on the kind of definition passed: {@link ObjectMetadata},\n * {@link InterfaceMetadata}, {@link ActionMetadata}, or {@link QueryMetadata}.\n * @param o - The object type, interface, action, or query definition to look up.\n * @example\n * ```ts\n * const meta = await client.fetchMetadata(Employee);\n * console.log(meta.displayName, meta.description);\n * ```\n * @returns a promise resolving to the metadata for the given definition.\n */\n fetchMetadata<\n Q extends\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>,\n >(\n o: Q,\n ): Promise<\n Q extends ObjectTypeDefinition\n ? ObjectMetadata\n : Q extends InterfaceDefinition\n ? InterfaceMetadata\n : Q extends ActionDefinition<any>\n ? ActionMetadata\n : Q extends QueryDefinition<any>\n ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.73.1\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;;AAkIA;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":[]}
|
|
@@ -20,6 +20,7 @@ import { legacyToModernSingleAggregationResult } from "../internal/conversions/l
|
|
|
20
20
|
import { modernToLegacyAggregationClause } from "../internal/conversions/modernToLegacyAggregationClause.js";
|
|
21
21
|
import { modernToLegacyGroupByClause } from "../internal/conversions/modernToLegacyGroupByClause.js";
|
|
22
22
|
import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
|
|
23
|
+
import { normalizeInterfaceLinkSearchArounds } from "../util/normalizeInterfaceLinkSearchArounds.js";
|
|
23
24
|
import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
|
|
24
25
|
|
|
25
26
|
/** @internal */
|
|
@@ -36,8 +37,9 @@ export async function aggregate(clientCtx, objectType, objectSet, req) {
|
|
|
36
37
|
if (clientCtx.flushEdits != null) {
|
|
37
38
|
await clientCtx.flushEdits();
|
|
38
39
|
}
|
|
40
|
+
const normalizedObjectSet = await normalizeInterfaceLinkSearchArounds(clientCtx, objectSet);
|
|
39
41
|
const result = await OntologyObjectSets.aggregate(addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
|
|
40
|
-
objectSet,
|
|
42
|
+
objectSet: normalizedObjectSet,
|
|
41
43
|
groupBy: body.groupBy,
|
|
42
44
|
aggregation: body.aggregation
|
|
43
45
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","names":["OntologyObjectSets","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","flushEdits","result","ontologyRid","branch","transactionId","scenarioRid","data","Array","isArray","Error","JSON","stringify","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.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 AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(req.$select),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n if (clientCtx.flushEdits != null) {\n await clientCtx.flushEdits();\n }\n\n const result = await OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n {\n branch: clientCtx.branch,\n transactionId: clientCtx.transactionId,\n scenarioRid: clientCtx.scenarioRid,\n },\n );\n\n if (!result.data || !Array.isArray(result.data)) {\n throw new Error(`Aggregation request failed: ${JSON.stringify(result)}`);\n }\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(result.data[0], req.$select),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> =\n result.data.map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry, req.$select),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAChF,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AAEpG,SAASC,oCAAoC,QAAQ,iDAAiD;AAEtG,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA,OAAO,eAAeC,SAASA,CAI7BC,SAAwB,EACxBC,UAAa,EACbC,SAAoB,EACpBC,GAA0E,EACrC;EACXL,wBAAwB,CAACG,UAAU,CAAC;EAC9D,MAAMG,IAA+B,GAAG;IACtCC,WAAW,
|
|
1
|
+
{"version":3,"file":"aggregate.js","names":["OntologyObjectSets","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","normalizeInterfaceLinkSearchArounds","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","flushEdits","normalizedObjectSet","result","ontologyRid","branch","transactionId","scenarioRid","data","Array","isArray","Error","JSON","stringify","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.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 AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { normalizeInterfaceLinkSearchArounds } from \"../util/normalizeInterfaceLinkSearchArounds.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(req.$select),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n if (clientCtx.flushEdits != null) {\n await clientCtx.flushEdits();\n }\n\n const normalizedObjectSet = await normalizeInterfaceLinkSearchArounds(\n clientCtx,\n objectSet,\n );\n\n const result = await OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet: normalizedObjectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n {\n branch: clientCtx.branch,\n transactionId: clientCtx.transactionId,\n scenarioRid: clientCtx.scenarioRid,\n },\n );\n\n if (!result.data || !Array.isArray(result.data)) {\n throw new Error(`Aggregation request failed: ${JSON.stringify(result)}`);\n }\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(result.data[0], req.$select),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> =\n result.data.map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry, req.$select),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAChF,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AAEpG,SAASC,oCAAoC,QAAQ,iDAAiD;AAEtG,SAASC,mCAAmC,QAAQ,gDAAgD;AACpG,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA,OAAO,eAAeC,SAASA,CAI7BC,SAAwB,EACxBC,UAAa,EACbC,SAAoB,EACpBC,GAA0E,EACrC;EACXL,wBAAwB,CAACG,UAAU,CAAC;EAC9D,MAAMG,IAA+B,GAAG;IACtCC,WAAW,EAAEX,+BAA+B,CAAgBS,GAAG,CAACG,OAAO,CAAC;IACxEC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAEC;EACT,CAAC;EAED,IAAIN,GAAG,CAACO,QAAQ,EAAE;IAChBN,IAAI,CAACG,OAAO,GAAGZ,2BAA2B,CAACQ,GAAG,CAACO,QAAQ,CAAC;EAC1D;EAEA,IAAIV,SAAS,CAACW,UAAU,IAAI,IAAI,EAAE;IAChC,MAAMX,SAAS,CAACW,UAAU,CAAC,CAAC;EAC9B;EAEA,MAAMC,mBAAmB,GAAG,MAAMf,mCAAmC,CACnEG,SAAS,EACTE,SACF,CAAC;EAED,MAAMW,MAAM,GAAG,MAAMtB,kBAAkB,CAACQ,SAAS,CAC/CH,oCAAoC,CAACI,SAAS,EAAEC,UAAU,CAAC,EAC3D,MAAMD,SAAS,CAACc,WAAW,EAC3B;IACEZ,SAAS,EAAEU,mBAAmB;IAC9BL,OAAO,EAAEH,IAAI,CAACG,OAAO;IACrBF,WAAW,EAAED,IAAI,CAACC;EACpB,CAAC,EACD;IACEU,MAAM,EAAEf,SAAS,CAACe,MAAM;IACxBC,aAAa,EAAEhB,SAAS,CAACgB,aAAa;IACtCC,WAAW,EAAEjB,SAAS,CAACiB;EACzB,CACF,CAAC;EAED,IAAI,CAACJ,MAAM,CAACK,IAAI,IAAI,CAACC,KAAK,CAACC,OAAO,CAACP,MAAM,CAACK,IAAI,CAAC,EAAE;IAC/C,MAAM,IAAIG,KAAK,CAAC,+BAA+BC,IAAI,CAACC,SAAS,CAACV,MAAM,CAAC,EAAE,CAAC;EAC1E;EAEA,IAAI,CAACV,GAAG,CAACO,QAAQ,EAAE;IACjB,EACEG,MAAM,CAACK,IAAI,CAACM,MAAM,KAAK,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD1BnC,SAAS,QAEP,qDAAqD,IAFvDA,SAAS;IAKT,OAAO;MACL,GAAGoC,wBAAwB,CAACf,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3C,GAAGzB,qCAAqC,CAACoB,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC,EAAEf,GAAG,CAACG,OAAO;IACtE,CAAC;EACH;EAEA,MAAMuB,GAAwD,GAC5DhB,MAAM,CAACK,IAAI,CAACY,GAAG,CAAEC,KAAK,IAAK;IACzB,OAAO;MACLC,MAAM,EAAED,KAAK,CAACE,KAAY;MAC1B,GAAGL,wBAAwB,CAACG,KAAK,CAAC;MAClC,GAAGtC,qCAAqC,CAACsC,KAAK,EAAE5B,GAAG,CAACG,OAAO;IAC7D,CAAC;EACH,CAAC,CAAQ,CAAC,CAAC;;EAEb,OAAOuB,GAAG,CAAQ,CAAC;AACrB;AAEA,SAASD,wBAAwBA,CAC/BG,KAAuD,EACvB;EAChC,KAAK,MAAMG,eAAe,IAAIH,KAAK,CAACI,OAAO,EAAE;IAC3C,IAAID,eAAe,CAACE,IAAI,KAAK,OAAO,EAAE;MACpC,OAAO;QAAEC,MAAM,EAAEH,eAAe,CAACI;MAAM,CAAC;IAC1C;EACF;AACF","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ import { extractNamespace } from "../internal/conversions/extractNamespace.js";
|
|
|
20
20
|
import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
|
|
21
21
|
import { extractObjectOrInterfaceType } from "../util/extractObjectOrInterfaceType.js";
|
|
22
22
|
import { extractRdpDefinition } from "../util/extractRdpDefinition.js";
|
|
23
|
+
import { normalizeInterfaceLinkSearchArounds } from "../util/normalizeInterfaceLinkSearchArounds.js";
|
|
23
24
|
import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -264,7 +265,12 @@ export async function fetchPageWithErrors(client, objectType, args, objectSet =
|
|
|
264
265
|
return fetchPageWithErrorsInternal(client, objectType, objectSet, args);
|
|
265
266
|
}
|
|
266
267
|
async function buildAndRemapRequestBody(args, baseBody, client, objectType) {
|
|
267
|
-
const
|
|
268
|
+
const withArgs = await applyFetchArgs(args, baseBody, client, objectType);
|
|
269
|
+
const objectSet = await normalizeInterfaceLinkSearchArounds(client, withArgs.objectSet);
|
|
270
|
+
const requestBody = objectSet === withArgs.objectSet ? withArgs : {
|
|
271
|
+
...withArgs,
|
|
272
|
+
objectSet
|
|
273
|
+
};
|
|
268
274
|
if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {
|
|
269
275
|
const remapped = remapSelectV2(objectType, requestBody.selectV2);
|
|
270
276
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","buildDefaultLoadLevel","defaultLoadLevel","modifierToLoadLevel","undefined","modifier","type","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","selectV2","excludeRid","$includeRid","snapshot","$snapshot","loadPropertySecurities","$EXPERIMENTAL_defaultLoadLevel","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","branch","transactionId","scenarioRid","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","then","def","allSettled","implementedBy","map","getObjectDefinition","catch","buildAndRemapRequestBody","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","remapped","remapSelectV2","objectOrInterface","objApiNamespace","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","$UNSTABLE_loadOntologyDefinedDerivedProperties","loadOntologyDefinedDerivedProperties","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","r","load"],"sources":["fetchPage.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n PropertyLoadLevel,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Builds the wire `defaultLoadLevel` for a request from the experimental\n * `$EXPERIMENTAL_defaultLoadLevel` arg, or `undefined` when it is not set. Applied to every\n * property server-side (best-effort) without listing property IDs.\n */\nfunction buildDefaultLoadLevel(\n defaultLoadLevel: PropertyModifierValue | undefined,\n): PropertyLoadLevel | undefined {\n return defaultLoadLevel != null\n ? modifierToLoadLevel(defaultLoadLevel)\n : undefined;\n}\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel.\n */\nfunction modifierToLoadLevel(\n modifier: PropertyModifierValue,\n): PropertyLoadLevel {\n switch (modifier) {\n case \"applyMainValue\":\n return { type: \"extractMainValue\" };\n case \"applyReducers\":\n return { type: \"applyReducers\" };\n case \"applyReducersAndExtractMainValue\":\n return { type: \"applyReducersAndExtractMainValue\" };\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: PropertyLoadLevel;\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(type: Q, ...properties: T[]): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\" &&\n objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null\n ? objectSet.where\n : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [\n objectSet,\n {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n },\n ],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: (args?.$select as string[] | undefined) ?? [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n loadPropertySecurities: shouldLoadPropertySecurities,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n } satisfies LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName =\n (await extractObjectOrInterfaceType(client, objectSet))?.apiName ??\n interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n } else {\n // We have empty catches here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getInterfaceDefinition(interfaceType.apiName)\n .then((def) =>\n Promise.allSettled(\n def.implementedBy?.map((implementedBy) =>\n client.ontologyProvider.getObjectDefinition(implementedBy),\n ) ?? [],\n ),\n )\n .catch(() => {});\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return (await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n } else {\n return (await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(args, baseBody, client, objectType);\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map((name) => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return fieldApiNamespace == null && objApiNamespace != null\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n loadOntologyDefinedDerivedProperties?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n if (args?.$UNSTABLE_loadOntologyDefinedDerivedProperties != null) {\n body.loadOntologyDefinedDerivedProperties =\n args.$UNSTABLE_loadOntologyDefinedDerivedProperties;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(objectType, fieldNames);\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n }\n\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n {\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA6BA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAChF,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,6CAA6C;AAE9E,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG,SAASC,4BAA4B,QAAQ,yCAAyC;AACtF,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAC5BC,gBAAmD,EACpB;EAC/B,OAAOA,gBAAgB,IAAI,IAAI,GAC3BC,mBAAmB,CAACD,gBAAgB,CAAC,GACrCE,SAAS;AACf;;AAEA;AACA;AACA;AACA,SAASD,mBAAmBA,CAC1BE,QAA+B,EACZ;EACnB,QAAQA,QAAQ;IACd,KAAK,gBAAgB;MACnB,OAAO;QAAEC,IAAI,EAAE;MAAmB,CAAC;IACrC,KAAK,eAAe;MAClB,OAAO;QAAEA,IAAI,EAAE;MAAgB,CAAC;IAClC,KAAK,kCAAkC;MACrC,OAAO;QAAEA,IAAI,EAAE;MAAmC,CAAC;IACrD;MAAS;QAEP,MAAM,IAAIC,KAAK,CAAC,qBADgBF,QAAQ,EACe,CAAC;MAC1D;EACF;AACF;AAeA,OAAO,SAASG,aAAaA,CAC3BC,MAAqC,EACrCC,SAA4D,EAC5DC,aAA4C,EAC3B;EACjB,MAAMC,YAAY,GAAGF,SAAS,IAAI,CAAC,CAAC;EACpC,MAAMG,aAAa,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,IAAI,CAACJ,YAAY,CAAC,CAAC;EACxD,MAAMK,YAAY,GAAGJ,aAAa,CAACK,IAAI,GAAG,CAAC;EAE3C,MAAMC,OAAwB,GAAG,EAAE;EAEnC,IAAIV,MAAM,IAAIA,MAAM,CAACW,MAAM,GAAG,CAAC,EAAE;IAC/B,KAAK,MAAM,CAACC,IAAI,EAAEC,CAAC,CAAC,IAAIP,MAAM,CAACI,OAAO,CAACP,YAAY,CAAC,EAAE;MACpD,CACEH,MAAM,CAACc,QAAQ,CAACF,IAAI,CAAC,GAAAG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBADvB/B,SAAS,QAEP,qFAAqF,IAFvFA,SAAS;IAIX;IACA,KAAK,MAAM0B,IAAI,IAAIZ,MAAM,EAAE;MACzB,IAAII,aAAa,CAACc,GAAG,CAACN,IAAI,CAAC,EAAE;QAC3BF,OAAO,CAACS,IAAI,CAAC;UACXtB,IAAI,EAAE,uBAAuB;UAC7BuB,kBAAkB,EAAE;YAAEvB,IAAI,EAAE,UAAU;YAAEwB,OAAO,EAAET;UAAK,CAAC;UACvDU,SAAS,EAAE5B,mBAAmB,CAACS,YAAY,CAACS,IAAI,CAAC;QACnD,CAAC,CAAC;MACJ,CAAC,MAAM;QACLF,OAAO,CAACS,IAAI,CAAC;UAAEtB,IAAI,EAAE,UAAU;UAAEwB,OAAO,EAAET;QAAK,CAAC,CAAC;MACnD;IACF;EACF,CAAC,MAAM,IAAIJ,YAAY,IAAIN,aAAa,IAAIA,aAAa,CAACS,MAAM,GAAG,CAAC,EAAE;IACpE,KAAK,MAAMC,IAAI,IAAIV,aAAa,EAAE;MAChC,IAAIE,aAAa,CAACc,GAAG,CAACN,IAAI,CAAC,EAAE;QAC3BF,OAAO,CAACS,IAAI,CAAC;UACXtB,IAAI,EAAE,uBAAuB;UAC7BuB,kBAAkB,EAAE;YAAEvB,IAAI,EAAE,UAAU;YAAEwB,OAAO,EAAET;UAAK,CAAC;UACvDU,SAAS,EAAE5B,mBAAmB,CAACS,YAAY,CAACS,IAAI,CAAC;QACnD,CAAC,CAAC;MACJ,CAAC,MAAM;QACLF,OAAO,CAACS,IAAI,CAAC;UAAEtB,IAAI,EAAE,UAAU;UAAEwB,OAAO,EAAET;QAAK,CAAC,CAAC;MACnD;IACF;EACF;EAEA,OAAOF,OAAO;AAChB;AAEA,OAAO,SAASa,OAAOA,CAGrB1B,IAAO,EAAE,GAAG2B,UAAe,EAAiB;EAC5C,OAAO;IAAE,CAAC3B,IAAI,CAACwB,OAAO,GAAGG;EAAW,CAAC;AACvC;;AAEA;AACA,OAAO,SAASC,uBAAuBA,CACrCC,SAAoB,EACpBC,eAAuB,EACvBC,aAA4C,GAAGjC,SAAS,EACzB;EAC/B,IAAI+B,SAAS,CAAC7B,IAAI,KAAK,MAAM,IAAI6B,SAAS,CAAC7B,IAAI,KAAK,eAAe,EAAE;IACnE,IAAI6B,SAAS,CAAC7B,IAAI,KAAK,MAAM,IAAI6B,SAAS,CAACG,UAAU,KAAKF,eAAe,EAAE;MACzE,MAAM,IAAI7B,KAAK,CACb,uCAAuC6B,eAAe,aAAaD,SAAS,CAACG,UAAU,EACzF,CAAC;IACH;IACA,IACEH,SAAS,CAAC7B,IAAI,KAAK,eAAe,IAClC6B,SAAS,CAACI,aAAa,KAAKH,eAAe,EAC3C;MACA,MAAM,IAAI7B,KAAK,CACb,uCAAuC6B,eAAe,aAAaD,SAAS,CAACI,aAAa,EAC5F,CAAC;IACH;IAEA,OAAOF,aAAa;EACtB;EAEA,IAAIF,SAAS,CAAC7B,IAAI,KAAK,QAAQ,EAAE;IAC/B,OAAO4B,uBAAuB,CAC5BC,SAAS,CAACA,SAAS,EACnBC,eAAe,EACfC,aAAa,IAAI,IAAI,GACjBF,SAAS,CAACK,KAAK,GACf;MACElC,IAAI,EAAE,KAAK;MACXmC,KAAK,EAAE,CAACJ,aAAa,EAAEF,SAAS,CAACK,KAAK;IACxC,CACN,CAAC;EACH;EAEA,MAAM,IAAIjC,KAAK,CAAC,+BAA+B4B,SAAS,CAAC7B,IAAI,EAAE,CAAC;AAClE;;AAEA;AACA,OAAO,SAASoC,yBAAyBA,CACvCP,SAAoB,EACpBQ,oBAA4B,EAC5BC,IAAiD,EACtC;EACX,OAAOA,IAAI,EAAEC,+BAA+B,GACxC;IACEvC,IAAI,EAAE,WAAW;IACjBwC,UAAU,EAAE,CACVX,SAAS,EACT;MACE7B,IAAI,EAAE,eAAe;MACrBiC,aAAa,EAAEI,oBAAoB;MACnCI,8BAA8B,EAAE;IAClC,CAAC;EAEL,CAAC,GACDZ,SAAS;AACf;;AAEA;AACA,OAAO,eAAea,kBAAkBA,CAMtCC,MAAqB,EACrBC,IAAuB,EACvBN,IAUC,EAWD;EACA,MAAMO,4BAA4B,GAChCP,IAAI,CAACQ,6BAA6B,IAAI,KAAK;EAC7C,MAAMC,WAAW,GAAG,MAAMC,cAAc,CACtCV,IAAI,EACJ;IACET,SAAS,EAAE;MACT7B,IAAI,EAAE,QAAQ;MACdiD,OAAO,EAAEL;IACX,CAAC;IACDzC,MAAM,EAAGmC,IAAI,EAAEY,OAAO,IAA6B,EAAE;IACrDC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,CAACd,IAAI,EAAEe,WAAW;IAC9BC,QAAQ,EAAEhB,IAAI,CAACiB,SAAS,IAAI,KAAK;IACjCC,sBAAsB,EAAEX,4BAA4B;IACpDjD,gBAAgB,EAAED,qBAAqB,CACrC2C,IAAI,CAACmB,8BACP;EACF,CAAC,EACDd,MAAM,EACN;IAAE3C,IAAI,EAAE,QAAQ;IAAEwB,OAAO,EAAE;EAAG,CAChC,CAAC;EAED,IAAImB,MAAM,CAACe,UAAU,IAAI,IAAI,EAAE;IAC7B,MAAMf,MAAM,CAACe,UAAU,CAAC,CAAC;EAC3B;EAEA,MAAMC,MAAM,GAAG,MAAMvE,kBAAkB,CAACwE,uBAAuB,CAC7DrE,oCAAoC,CAACoD,MAAM,EAAE;IAAEkB,YAAY,EAAE/D;EAAU,CAAC,CAAC,EACzE,MAAM6C,MAAM,CAACmB,WAAW,EACxBf,WAAW,EACX;IACEgB,OAAO,EAAE,IAAI;IACbC,MAAM,EAAErB,MAAM,CAACqB,MAAM;IACrBC,aAAa,EAAEtB,MAAM,CAACsB,aAAa;IACnCC,WAAW,EAAEvB,MAAM,CAACuB;EACtB,CACF,CAAC;EAED,OAAOC,OAAO,CAACC,OAAO,CAAC;IACrBC,IAAI,EAAE,MAAM1B,MAAM,CAAC2B,aAAa,CAC9B3B,MAAM,EACNgB,MAAM,CAACU,IAAI,EACXvE,SAAS,EACT,CAAC,CAAC,EACF+C,4BAA4B,GAAGc,MAAM,CAACY,kBAAkB,GAAGzE,SAAS,EACpE,CAACwC,IAAI,CAACe,WAAW,EACjBf,IAAI,CAACY,OAAO,EACZ,KAAK,EACLS,MAAM,CAACa,6BAA6B,EACpCb,MAAM,CAACc,+BACT,CAAC;IACDC,aAAa,EAAEf,MAAM,CAACe,aAAa;IACnCC,UAAU,EAAEhB,MAAM,CAACgB;EACrB,CAAC,CAAC;AAWJ;AAEA,eAAeC,kBAAkBA,CAO/BjC,MAAqB,EACrBV,aAAgB,EAChBK,IAAuC,EACvCT,SAAoB,EACqB;EACzC,MAAMgD,6BAA6B,GACjC,CAAC,MAAMrF,4BAA4B,CAACmD,MAAM,EAAEd,SAAS,CAAC,GAAGL,OAAO,IAChES,aAAa,CAACT,OAAO;EACvB,MAAMsD,0BAA0B,GAAG1C,yBAAyB,CAC1DP,SAAS,EACTgD,6BAA6B,EAC7BvC,IACF,CAAC;EACD,MAAMO,4BAA4B,GAChCP,IAAI,CAACQ,6BAA6B,IAAI,KAAK;EAE7C,MAAM1C,SAAS,GACbkC,IAAI,CACJyC,eAAe;EACjB,MAAMpE,YAAY,GAAGP,SAAS,IAAIK,MAAM,CAACC,IAAI,CAACN,SAAS,CAAC,CAACU,MAAM,GAAG,CAAC;EACnE,MAAMkE,SAAS,GAAG1C,IAAI,EAAEY,OAAO,IAAIZ,IAAI,CAACY,OAAO,CAACpC,MAAM,GAAG,CAAC;EAE1D,IAAIT,aAAmC;EACvC,IAAI,CAAC2E,SAAS,IAAIrE,YAAY,EAAE;IAC9B,MAAMsE,QAAQ,GAAG,MAAMtC,MAAM,CAACuC,gBAAgB,CAACC,sBAAsB,CACnElD,aAAa,CAACT,OAChB,CAAC;IACDnB,aAAa,GAAG4E,QAAQ,GAAGxE,MAAM,CAACC,IAAI,CAACuE,QAAQ,CAACtD,UAAU,CAAC,GAAG7B,SAAS;EACzE,CAAC,MAAM;IACL;IACA;IACA,KAAK6C,MAAM,CAACuC,gBAAgB,CACzBC,sBAAsB,CAAClD,aAAa,CAACT,OAAO,CAAC,CAC7C4D,IAAI,CAAEC,GAAG,IACRlB,OAAO,CAACmB,UAAU,CAChBD,GAAG,CAACE,aAAa,EAAEC,GAAG,CAAED,aAAa,IACnC5C,MAAM,CAACuC,gBAAgB,CAACO,mBAAmB,CAACF,aAAa,CAC3D,CAAC,IAAI,EACP,CACF,CAAC,CACAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB;EAEA,MAAMvC,QAAQ,GAAGjD,aAAa,CAC5BoC,IAAI,EAAEY,OAAO,GAAG,CAAC,GAAGZ,IAAI,CAACY,OAAO,CAAC,GAAGpD,SAAS,EAC7CM,SAAS,EACTC,aACF,CAAC;EAED,MAAM0C,WAAW,GAAG,MAAM4C,wBAAwB,CAChDrD,IAAI,EACJ;IACET,SAAS,EAAEiD,0BAA0B;IACrC3E,MAAM,EAAE,EAAE;IACVgD,QAAQ;IACRK,sBAAsB,EAAEX,4BAA4B;IACpDO,UAAU,EAAE,CAACd,IAAI,EAAEe,WAAW;IAC9BC,QAAQ,EAAEhB,IAAI,CAACiB,SAAS,IAAI;EAC9B,CAAC,EACDZ,MAAM,EACNV,aACF,CAAC;EAED,IAAIU,MAAM,CAACe,UAAU,IAAI,IAAI,EAAE;IAC7B,MAAMf,MAAM,CAACe,UAAU,CAAC,CAAC;EAC3B;EAEA,MAAMC,MAAM,GAAG,MAAMvE,kBAAkB,CAACwE,uBAAuB,CAC7DrE,oCAAoC,CAACoD,MAAM,EAAEV,aAAa,CAAC,EAC3D,MAAMU,MAAM,CAACmB,WAAW,EACxBf,WAAW,EACX;IACEgB,OAAO,EAAE,IAAI;IACbC,MAAM,EAAErB,MAAM,CAACqB,MAAM;IACrBC,aAAa,EAAEtB,MAAM,CAACsB,aAAa;IACnCC,WAAW,EAAEvB,MAAM,CAACuB;EACtB,CACF,CAAC;EAED,OAAOC,OAAO,CAACC,OAAO,CAAC;IACrBC,IAAI,EAAE,MAAM1B,MAAM,CAAC2B,aAAa,CAC9B3B,MAAM,EACNgB,MAAM,CAACU,IAAI,EACXQ,6BAA6B,EAC7B,CAAC,CAAC,EACFhC,4BAA4B,GAAGc,MAAM,CAACY,kBAAkB,GAAGzE,SAAS,EACpE,CAACwC,IAAI,CAACe,WAAW,EACjBf,IAAI,CAACY,OAAO,EACZ,KAAK,EACLS,MAAM,CAACa,6BAA6B,EACpCb,MAAM,CAACc,+BACT,CAAC;IACDC,aAAa,EAAEf,MAAM,CAACe,aAAa;IACnCC,UAAU,EAAEhB,MAAM,CAACgB;EACrB,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,eAAeiB,iBAAiBA,CAUrCjD,MAAqB,EACrBX,UAAa,EACbH,SAAoB,EACpBS,IAUC,GAAG,CAAC,CAAC,EAGN;EACA,IAAIN,UAAU,CAAChC,IAAI,KAAK,WAAW,EAAE;IACnC,OAAQ,MAAM4E,kBAAkB,CAC9BjC,MAAM,EACNX,UAAU,EACVM,IAAI,EAUJT,SACF,CAAC,CAAS,CAAC;EACb,CAAC,MAAM;IACL,OAAQ,MAAMgE,eAAe,CAC3BlD,MAAM,EACNX,UAAU,EACVM,IAAI,EAUJT,SACF,CAAC,CAAS,CAAC;EACb;AACF;;AAEA;AACA,OAAO,eAAeiE,2BAA2BA,CAQ/CnD,MAAqB,EACrBX,UAAa,EACbH,SAAoB,EACpBS,IAAqC,GAAG,CAAC,CAAC,EACO;EACjD,IAAI;IACF,MAAMqB,MAAM,GAAG,MAAMiC,iBAAiB,CAACjD,MAAM,EAAEX,UAAU,EAAEH,SAAS,EAAES,IAAI,CAAC;IAC3E,OAAO;MAAEH,KAAK,EAAEwB;IAAO,CAAC;EAC1B,CAAC,CAAC,OAAOoC,CAAC,EAAE;IACV,IAAIA,CAAC,YAAY9F,KAAK,EAAE;MACtB,OAAO;QAAE+F,KAAK,EAAED;MAAE,CAAC;IACrB;IACA,OAAO;MAAEC,KAAK,EAAED;IAAW,CAAC;EAC9B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,SAASA,CAQ7BtD,MAAqB,EACrBX,UAAa,EACbM,IAAuE,EACvET,SAAoB,GAAGnC,wBAAwB,CAACsC,UAAU,CAAC,EACO;EAClE,OAAO4D,iBAAiB,CAACjD,MAAM,EAAEX,UAAU,EAAEH,SAAS,EAAES,IAAI,CAAC;AAC/D;;AAEA;AACA;AACA;AACA,OAAO,eAAe4D,mBAAmBA,CAOvCvD,MAAqB,EACrBX,UAAa,EACbM,IAAuC,EACvCT,SAAoB,GAAGnC,wBAAwB,CAACsC,UAAU,CAAC,EACV;EACjD,OAAO8D,2BAA2B,CAACnD,MAAM,EAAEX,UAAU,EAAEH,SAAS,EAAES,IAAI,CAAC;AACzE;AAEA,eAAeqD,wBAAwBA,CAgBrCrD,IAAqC,EACrC6D,QAAqB,EACrBxD,MAAqB,EACrBX,UAAa,EACS;EACtB,MAAMe,WAAW,GAAG,MAAMC,cAAc,CAACV,IAAI,EAAE6D,QAAQ,EAAExD,MAAM,EAAEX,UAAU,CAAC;EAE5E,IAAIe,WAAW,CAACI,QAAQ,IAAI,IAAI,IAAIJ,WAAW,CAACI,QAAQ,CAACrC,MAAM,GAAG,CAAC,EAAE;IACnE,MAAMsF,QAAQ,GAAGC,aAAa,CAACrE,UAAU,EAAEe,WAAW,CAACI,QAAQ,CAAC;IAChE,OAAO;MAAE,GAAGJ,WAAW;MAAEI,QAAQ,EAAEiD;IAAS,CAAC;EAC/C;EAEA,OAAOrD,WAAW;AACpB;AAEA,SAASsD,aAAaA,CACpBC,iBAA0D,EAC1DnD,QAAyB,EACR;EACjB,IAAImD,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOnD,QAAQ;EACjB;EAEA,IAAImD,iBAAiB,CAACtG,IAAI,KAAK,WAAW,EAAE;IAC1C,OAAOmD,QAAQ;EACjB;EAEA,MAAM,CAACoD,eAAe,CAAC,GAAGjH,gBAAgB,CAACgH,iBAAiB,CAAC9E,OAAO,CAAC;EACrE,IAAI+E,eAAe,IAAI,IAAI,EAAE;IAC3B,OAAOpD,QAAQ;EACjB;EAEA,OAAOA,QAAQ,CAACqC,GAAG,CAAEgB,KAAK,IAAoB;IAC5C,IAAIA,KAAK,CAACxG,IAAI,KAAK,UAAU,EAAE;MAC7B,MAAM,CAACyG,iBAAiB,EAAEC,cAAc,CAAC,GAAGpH,gBAAgB,CAC1DkH,KAAK,CAAChF,OACR,CAAC;MACD,IAAIiF,iBAAiB,IAAI,IAAI,EAAE;QAC7B,OAAO;UACLzG,IAAI,EAAE,UAAU;UAChBwB,OAAO,EAAE,GAAG+E,eAAe,IAAIG,cAAc;QAC/C,CAAC;MACH;MACA,OAAOF,KAAK;IACd,CAAC,MAAM;MACL,MAAM,CAACC,iBAAiB,EAAEC,cAAc,CAAC,GAAGpH,gBAAgB,CAC1DkH,KAAK,CAACjF,kBAAkB,CAACC,OAC3B,CAAC;MACD,IAAIiF,iBAAiB,IAAI,IAAI,EAAE;QAC7B,OAAO;UACL,GAAGD,KAAK;UACRjF,kBAAkB,EAAE;YAClBvB,IAAI,EAAE,UAAU;YAChBwB,OAAO,EAAE,GAAG+E,eAAe,IAAIG,cAAc;UAC/C;QACF,CAAC;MACH;MACA,OAAOF,KAAK;IACd;EACF,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASG,kBAAkBA,CAChCL,iBAA0D,EAC1DM,aAAgC,EACb;EACnB,IAAIN,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOM,aAAa;EACtB;EAEA,IAAIN,iBAAiB,CAACtG,IAAI,KAAK,WAAW,EAAE;IAC1C,MAAM,CAACuG,eAAe,CAAC,GAAGjH,gBAAgB,CAACgH,iBAAiB,CAAC9E,OAAO,CAAC;IACrE,OAAOoF,aAAa,CAACpB,GAAG,CAAEqB,IAAI,IAAK;MACjC,MAAM,CAACJ,iBAAiB,EAAEC,cAAc,CAAC,GAAGpH,gBAAgB,CAACuH,IAAI,CAAC;MAClE,OAAOJ,iBAAiB,IAAI,IAAI,IAAIF,eAAe,IAAI,IAAI,GACvD,GAAGA,eAAe,IAAIG,cAAc,EAAE,GACtCG,IAAI;IACV,CAAC,CAAC;EACJ;EAEA,OAAOD,aAAa;AACtB;;AAEA;AACA,eAAe5D,cAAcA,CAe3BV,IAUC,EACDwE,IAAO,EACPC,OAAsB,EACtB/E,UAAa,EACD;EACZ,IAAIM,IAAI,EAAE0E,cAAc,EAAE;IACxBF,IAAI,CAACG,SAAS,GAAG3E,IAAI,CAAC0E,cAAc;EACtC;EAEA,IAAI1E,IAAI,EAAE4E,SAAS,IAAI,IAAI,EAAE;IAC3BJ,IAAI,CAACK,QAAQ,GAAG7E,IAAI,CAAC4E,SAAS;EAChC;EAEA,IAAI5E,IAAI,EAAEQ,6BAA6B,EAAE;IACvCgE,IAAI,CAACtD,sBAAsB,GAAG,IAAI;EACpC;EAEA,IAAIlB,IAAI,EAAE8E,8CAA8C,IAAI,IAAI,EAAE;IAChEN,IAAI,CAACO,oCAAoC,GACvC/E,IAAI,CAAC8E,8CAA8C;EACvD;EAEA,MAAME,OAAO,GAAGhF,IAAI,EAAEiF,QAAQ;EAC9B,IAAID,OAAO,EAAE;IACX,IAAIA,OAAO,KAAK,WAAW,EAAE;MAC3BR,IAAI,CAACQ,OAAO,GAAG;QAAEE,SAAS,EAAE,WAAW;QAAEC,MAAM,EAAE;MAAG,CAAC;IACvD,CAAC,MAAM;MACL,MAAMC,cAAc,GAAGjH,MAAM,CAACI,OAAO,CAACyG,OAAO,CAAC;MAC9C,MAAMK,UAAU,GAAGD,cAAc,CAAClC,GAAG,CAAC,CAAC,CAACoC,KAAK,CAAC,KAAKA,KAAK,CAAC;MACzD,MAAMC,cAAc,GAAGlB,kBAAkB,CAAC3E,UAAU,EAAE2F,UAAU,CAAC;MAEjEb,IAAI,CAACQ,OAAO,GAAG;QACbG,MAAM,EAAEC,cAAc,CAAClC,GAAG,CAAC,CAAC,GAAGsC,SAAS,CAAC,EAAEC,KAAK,MAAM;UACpDH,KAAK,EAAEC,cAAc,CAACE,KAAK,CAAC;UAC5BD;QACF,CAAC,CAAC;MACJ,CAAC;IACH;EACF;EAEA,OAAOhB,IAAI;AACb;;AAEA;AACA,OAAO,eAAejB,eAAeA,CAQnClD,MAAqB,EACrBX,UAAa,EACbM,IAAqE,EACrET,SAAoB,EACuC;EAC3D;EACA;EACA;EACA,MAAMzB,SAAS,GACbkC,IAAI,CACJyC,eAAe;EACjB,MAAMpE,YAAY,GAAGP,SAAS,IAAIK,MAAM,CAACC,IAAI,CAACN,SAAS,CAAC,CAACU,MAAM,GAAG,CAAC;EACnE,MAAMkE,SAAS,GAAG1C,IAAI,EAAEY,OAAO,IAAIZ,IAAI,CAACY,OAAO,CAACpC,MAAM,GAAG,CAAC;EAE1D,IAAIT,aAAmC;EACvC,IAAI,CAAC2E,SAAS,IAAIrE,YAAY,EAAE;IAC9B,MAAMqH,MAAM,GAAG,MAAMrF,MAAM,CAACuC,gBAAgB,CAACO,mBAAmB,CAC9DzD,UAAU,CAACR,OACb,CAAC;IACDnB,aAAa,GAAG2H,MAAM,GAAGvH,MAAM,CAACC,IAAI,CAACsH,MAAM,CAACrG,UAAU,CAAC,GAAG7B,SAAS;EACrE,CAAC,MAAM;IACL;IACA;IACA,KAAK6C,MAAM,CAACuC,gBAAgB,CACzBO,mBAAmB,CAACzD,UAAU,CAACR,OAAO,CAAC,CACvCkE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB;EAEA,MAAM7C,4BAA4B,GAChCP,IAAI,CAACQ,6BAA6B,IAAI,KAAK;EAE7C,MAAMK,QAAQ,GAAGjD,aAAa,CAC5BoC,IAAI,EAAEY,OAAO,GAAG,CAAC,GAAGZ,IAAI,CAACY,OAAO,CAAC,GAAGpD,SAAS,EAC7CM,SAAS,EACTC,aACF,CAAC;EAED,MAAM0C,WAAW,GAAG,MAAM4C,wBAAwB,CAChDrD,IAAI,EACJ;IACET,SAAS;IACT1B,MAAM,EAAE,EAAE;IACVgD,QAAQ;IACRK,sBAAsB,EAAEX,4BAA4B;IACpDO,UAAU,EAAE,CAACd,IAAI,EAAEe,WAAW;IAC9BC,QAAQ,EAAEhB,IAAI,CAACiB,SAAS,IAAI,KAAK;IACjC3D,gBAAgB,EAAED,qBAAqB,CACrC2C,IAAI,CAACmB,8BACP;EACF,CAAC,EACDd,MAAM,EACNX,UACF,CAAC;EAED,IAAIW,MAAM,CAACe,UAAU,IAAI,IAAI,EAAE;IAC7B,MAAMf,MAAM,CAACe,UAAU,CAAC,CAAC;EAC3B;EAEA,MAAMuE,CAAC,GAAG,MAAM7I,kBAAkB,CAAC8I,IAAI,CACrC3I,oCAAoC,CAACoD,MAAM,EAAEX,UAAU,CAAC,EACxD,MAAMW,MAAM,CAACmB,WAAW,EACxBf,WAAW,EACX;IACEiB,MAAM,EAAErB,MAAM,CAACqB,MAAM;IACrBC,aAAa,EAAEtB,MAAM,CAACsB,aAAa;IACnCC,WAAW,EAAEvB,MAAM,CAACuB;EACtB,CACF,CAAC;EAED,OAAOC,OAAO,CAACC,OAAO,CAAC;IACrBC,IAAI,EAAE,MAAM1B,MAAM,CAAC2B,aAAa,CAC9B3B,MAAM,EACNsF,CAAC,CAAC5D,IAAI,EACNvE,SAAS,EACT,MAAML,oBAAoB,CAACkD,MAAM,EAAEd,SAAS,CAAC,EAC7CgB,4BAA4B,GAAGoF,CAAC,CAAC1D,kBAAkB,GAAGzE,SAAS,EAC/D,CAACwC,IAAI,CAACe,WAAW,EACjBf,IAAI,CAACY,OAAO,EACZ,KACF,CAAC;IACDwB,aAAa,EAAEuD,CAAC,CAACvD,aAAa;IAC9BC,UAAU,EAAEsD,CAAC,CAACtD;EAChB,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","normalizeInterfaceLinkSearchArounds","resolveBaseObjectSetType","buildDefaultLoadLevel","defaultLoadLevel","modifierToLoadLevel","undefined","modifier","type","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","selectV2","excludeRid","$includeRid","snapshot","$snapshot","loadPropertySecurities","$EXPERIMENTAL_defaultLoadLevel","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","branch","transactionId","scenarioRid","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","then","def","allSettled","implementedBy","map","getObjectDefinition","catch","buildAndRemapRequestBody","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","withArgs","remapped","remapSelectV2","objectOrInterface","objApiNamespace","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","$UNSTABLE_loadOntologyDefinedDerivedProperties","loadOntologyDefinedDerivedProperties","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","r","load"],"sources":["fetchPage.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n PropertyLoadLevel,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\n\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { normalizeInterfaceLinkSearchArounds } from \"../util/normalizeInterfaceLinkSearchArounds.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Builds the wire `defaultLoadLevel` for a request from the experimental\n * `$EXPERIMENTAL_defaultLoadLevel` arg, or `undefined` when it is not set. Applied to every\n * property server-side (best-effort) without listing property IDs.\n */\nfunction buildDefaultLoadLevel(\n defaultLoadLevel: PropertyModifierValue | undefined,\n): PropertyLoadLevel | undefined {\n return defaultLoadLevel != null\n ? modifierToLoadLevel(defaultLoadLevel)\n : undefined;\n}\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel.\n */\nfunction modifierToLoadLevel(\n modifier: PropertyModifierValue,\n): PropertyLoadLevel {\n switch (modifier) {\n case \"applyMainValue\":\n return { type: \"extractMainValue\" };\n case \"applyReducers\":\n return { type: \"applyReducers\" };\n case \"applyReducersAndExtractMainValue\":\n return { type: \"applyReducersAndExtractMainValue\" };\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: PropertyLoadLevel;\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: modifierToLoadLevel(modifiersMap[prop]),\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(type: Q, ...properties: T[]): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\" &&\n objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null\n ? objectSet.where\n : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [\n objectSet,\n {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n },\n ],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: (args?.$select as string[] | undefined) ?? [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n loadPropertySecurities: shouldLoadPropertySecurities,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n } satisfies LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName =\n (await extractObjectOrInterfaceType(client, objectSet))?.apiName ??\n interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n } else {\n // We have empty catches here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getInterfaceDefinition(interfaceType.apiName)\n .then((def) =>\n Promise.allSettled(\n def.implementedBy?.map((implementedBy) =>\n client.ontologyProvider.getObjectDefinition(implementedBy),\n ) ?? [],\n ),\n )\n .catch(() => {});\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return (await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n } else {\n return (await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n )) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\n// TODO(oxc type-aware): the type-aware typescript/require-await rule does not flag this (it returns a Promise); remove this disable once type-aware linting is enabled.\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n objectSet: ObjectSet;\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const withArgs = await applyFetchArgs(args, baseBody, client, objectType);\n\n const objectSet = await normalizeInterfaceLinkSearchArounds(\n client,\n withArgs.objectSet,\n );\n const requestBody =\n objectSet === withArgs.objectSet ? withArgs : { ...withArgs, objectSet };\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map((name) => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return fieldApiNamespace == null && objApiNamespace != null\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\n// oxlint-disable-next-line require-await -- intentionally async: returns a Promise to satisfy its declared/contract type; no await needed\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n loadOntologyDefinedDerivedProperties?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n if (args?.$UNSTABLE_loadOntologyDefinedDerivedProperties != null) {\n body.loadOntologyDefinedDerivedProperties =\n args.$UNSTABLE_loadOntologyDefinedDerivedProperties;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(objectType, fieldNames);\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers = (\n args as { $applyModifiers?: Record<string, PropertyModifierValue> }\n ).$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n }\n\n const shouldLoadPropertySecurities =\n args.$loadPropertySecurityMetadata ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: args.$snapshot ?? false,\n defaultLoadLevel: buildDefaultLoadLevel(\n args.$EXPERIMENTAL_defaultLoadLevel,\n ),\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n {\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,14 +15,17 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import * as OntologyObjectSets from "@osdk/foundry.ontologies/OntologyObjectSet";
|
|
18
|
+
import { normalizeInterfaceLinkSearchArounds } from "../util/normalizeInterfaceLinkSearchArounds.js";
|
|
19
|
+
|
|
18
20
|
/** @internal */
|
|
19
21
|
export const fetchLinksPage = async (client, objectType, objectSet, links, pageToken) => {
|
|
20
22
|
if (objectType.type === "interface") {
|
|
21
23
|
throw new Error("Interface object sets are not supported yet.");
|
|
22
24
|
}
|
|
23
25
|
void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(() => {});
|
|
26
|
+
const normalizedObjectSet = await normalizeInterfaceLinkSearchArounds(client, objectSet);
|
|
24
27
|
const result = await OntologyObjectSets.loadLinks(client, await client.ontologyRid, {
|
|
25
|
-
objectSet,
|
|
28
|
+
objectSet: normalizedObjectSet,
|
|
26
29
|
links,
|
|
27
30
|
pageToken
|
|
28
31
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchLinksPage.js","names":["OntologyObjectSets","fetchLinksPage","client","objectType","objectSet","links","pageToken","type","Error","ontologyProvider","getObjectDefinition","apiName","catch","result","loadLinks","ontologyRid","branch","preview","remapLinksPage","wireLinksPage","data","flatMap","sourceObject","linkedObjects","map","targetObject","linkType","source","remapObjectLocator","target","wireObjectLocator","$apiName","__apiName","$primaryKey","__primaryKey"],"sources":["fetchLinksPage.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n FetchLinksPageResult,\n LinkTypeApiNamesFor,\n ObjectIdentifiers,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n LoadObjectSetLinksResponseV2,\n ObjectSet,\n OntologyObjectV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\n\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\n/** @internal */\nexport const fetchLinksPage = async <\n Q extends ObjectOrInterfaceDefinition,\n LINK_TYPES extends LinkTypeApiNamesFor<Q>,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n links: LINK_TYPES[],\n pageToken: string | undefined,\n): Promise<FetchLinksPageResult<Q, LINK_TYPES>> => {\n if (objectType.type === \"interface\") {\n throw new Error(\"Interface object sets are not supported yet.\");\n }\n\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n\n const result = await OntologyObjectSets.loadLinks(\n client,\n await client.ontologyRid,\n {\n objectSet,\n links,\n pageToken,\n },\n { branch: client.branch, preview: true },\n );\n\n return remapLinksPage(result);\n};\n\n/** @internal */\nexport const remapLinksPage = <\n Q extends ObjectOrInterfaceDefinition,\n LINK_TYPES extends LinkTypeApiNamesFor<Q>,\n>(\n wireLinksPage: LoadObjectSetLinksResponseV2,\n): FetchLinksPageResult<Q, LINK_TYPES> => {\n return {\n ...wireLinksPage,\n data: wireLinksPage.data.flatMap(({ sourceObject, linkedObjects }) =>\n linkedObjects.map(({ targetObject, linkType }) => ({\n source: remapObjectLocator(sourceObject!),\n target: remapObjectLocator(targetObject!),\n linkType: linkType! as LINK_TYPES,\n })),\n ),\n };\n};\n\n/** @internal */\nexport const remapObjectLocator = <Q extends ObjectOrInterfaceDefinition>(\n wireObjectLocator: OntologyObjectV2,\n): ObjectIdentifiers<Q> => ({\n $apiName: wireObjectLocator.__apiName,\n $primaryKey: wireObjectLocator.__primaryKey,\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;
|
|
1
|
+
{"version":3,"file":"fetchLinksPage.js","names":["OntologyObjectSets","normalizeInterfaceLinkSearchArounds","fetchLinksPage","client","objectType","objectSet","links","pageToken","type","Error","ontologyProvider","getObjectDefinition","apiName","catch","normalizedObjectSet","result","loadLinks","ontologyRid","branch","preview","remapLinksPage","wireLinksPage","data","flatMap","sourceObject","linkedObjects","map","targetObject","linkType","source","remapObjectLocator","target","wireObjectLocator","$apiName","__apiName","$primaryKey","__primaryKey"],"sources":["fetchLinksPage.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n FetchLinksPageResult,\n LinkTypeApiNamesFor,\n ObjectIdentifiers,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n LoadObjectSetLinksResponseV2,\n ObjectSet,\n OntologyObjectV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\n\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { normalizeInterfaceLinkSearchArounds } from \"../util/normalizeInterfaceLinkSearchArounds.js\";\n\n/** @internal */\nexport const fetchLinksPage = async <\n Q extends ObjectOrInterfaceDefinition,\n LINK_TYPES extends LinkTypeApiNamesFor<Q>,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n links: LINK_TYPES[],\n pageToken: string | undefined,\n): Promise<FetchLinksPageResult<Q, LINK_TYPES>> => {\n if (objectType.type === \"interface\") {\n throw new Error(\"Interface object sets are not supported yet.\");\n }\n\n void client.ontologyProvider\n .getObjectDefinition(objectType.apiName)\n .catch(() => {});\n\n const normalizedObjectSet = await normalizeInterfaceLinkSearchArounds(\n client,\n objectSet,\n );\n\n const result = await OntologyObjectSets.loadLinks(\n client,\n await client.ontologyRid,\n {\n objectSet: normalizedObjectSet,\n links,\n pageToken,\n },\n { branch: client.branch, preview: true },\n );\n\n return remapLinksPage(result);\n};\n\n/** @internal */\nexport const remapLinksPage = <\n Q extends ObjectOrInterfaceDefinition,\n LINK_TYPES extends LinkTypeApiNamesFor<Q>,\n>(\n wireLinksPage: LoadObjectSetLinksResponseV2,\n): FetchLinksPageResult<Q, LINK_TYPES> => {\n return {\n ...wireLinksPage,\n data: wireLinksPage.data.flatMap(({ sourceObject, linkedObjects }) =>\n linkedObjects.map(({ targetObject, linkType }) => ({\n source: remapObjectLocator(sourceObject!),\n target: remapObjectLocator(targetObject!),\n linkType: linkType! as LINK_TYPES,\n })),\n ),\n };\n};\n\n/** @internal */\nexport const remapObjectLocator = <Q extends ObjectOrInterfaceDefinition>(\n wireObjectLocator: OntologyObjectV2,\n): ObjectIdentifiers<Q> => ({\n $apiName: wireObjectLocator.__apiName,\n $primaryKey: wireObjectLocator.__primaryKey,\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAGhF,SAASC,mCAAmC,QAAQ,gDAAgD;;AAEpG;AACA,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAI5BC,MAAqB,EACrBC,UAAa,EACbC,SAAoB,EACpBC,KAAmB,EACnBC,SAA6B,KACoB;EACjD,IAAIH,UAAU,CAACI,IAAI,KAAK,WAAW,EAAE;IACnC,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,KAAKN,MAAM,CAACO,gBAAgB,CACzBC,mBAAmB,CAACP,UAAU,CAACQ,OAAO,CAAC,CACvCC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EAElB,MAAMC,mBAAmB,GAAG,MAAMb,mCAAmC,CACnEE,MAAM,EACNE,SACF,CAAC;EAED,MAAMU,MAAM,GAAG,MAAMf,kBAAkB,CAACgB,SAAS,CAC/Cb,MAAM,EACN,MAAMA,MAAM,CAACc,WAAW,EACxB;IACEZ,SAAS,EAAES,mBAAmB;IAC9BR,KAAK;IACLC;EACF,CAAC,EACD;IAAEW,MAAM,EAAEf,MAAM,CAACe,MAAM;IAAEC,OAAO,EAAE;EAAK,CACzC,CAAC;EAED,OAAOC,cAAc,CAACL,MAAM,CAAC;AAC/B,CAAC;;AAED;AACA,OAAO,MAAMK,cAAc,GAIzBC,aAA2C,IACH;EACxC,OAAO;IACL,GAAGA,aAAa;IAChBC,IAAI,EAAED,aAAa,CAACC,IAAI,CAACC,OAAO,CAAC,CAAC;MAAEC,YAAY;MAAEC;IAAc,CAAC,KAC/DA,aAAa,CAACC,GAAG,CAAC,CAAC;MAAEC,YAAY;MAAEC;IAAS,CAAC,MAAM;MACjDC,MAAM,EAAEC,kBAAkB,CAACN,YAAa,CAAC;MACzCO,MAAM,EAAED,kBAAkB,CAACH,YAAa,CAAC;MACzCC,QAAQ,EAAEA;IACZ,CAAC,CAAC,CACJ;EACF,CAAC;AACH,CAAC;;AAED;AACA,OAAO,MAAME,kBAAkB,GAC7BE,iBAAmC,KACT;EAC1BC,QAAQ,EAAED,iBAAiB,CAACE,SAAS;EACrCC,WAAW,EAAEH,iBAAiB,CAACI;AACjC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import * as OntologyObjectSets from "@osdk/foundry.ontologies/OntologyObjectSet";
|
|
18
18
|
import { additionalContext } from "../Client.js";
|
|
19
19
|
import { getWireObjectSet } from "../objectSet/createObjectSet.js";
|
|
20
|
+
import { normalizeInterfaceLinkSearchArounds } from "../util/normalizeInterfaceLinkSearchArounds.js";
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Fetches a temporary object set RID from the Foundry stack for the given object set.
|
|
@@ -27,7 +28,7 @@ import { getWireObjectSet } from "../objectSet/createObjectSet.js";
|
|
|
27
28
|
*/
|
|
28
29
|
export async function createAndFetchTempObjectSetRid(client, objectSet) {
|
|
29
30
|
const response = await OntologyObjectSets.createTemporary(client, await client[additionalContext].ontologyRid, {
|
|
30
|
-
objectSet: getWireObjectSet(objectSet)
|
|
31
|
+
objectSet: await normalizeInterfaceLinkSearchArounds(client[additionalContext], getWireObjectSet(objectSet))
|
|
31
32
|
}, {
|
|
32
33
|
branch: client[additionalContext].branch
|
|
33
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAndFetchTempObjectSetRid.js","names":["OntologyObjectSets","additionalContext","getWireObjectSet","createAndFetchTempObjectSetRid","client","objectSet","response","createTemporary","ontologyRid","branch","objectSetRid"],"sources":["createAndFetchTempObjectSetRid.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n CompileTimeMetadata,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n} from \"@osdk/api\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\n\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\n\n/**\n * Fetches a temporary object set RID from the Foundry stack for the given object set.\n *\n * @param client - An OSDK client.\n * @param objectSet - The object set to fetch a RID for.\n * @returns A promise that resolves to the RID of the temporary object set.\n */\nexport async function createAndFetchTempObjectSetRid<\n Q extends ObjectOrInterfaceDefinition,\n>(\n client: Client,\n objectSet: unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"],\n): Promise<string> {\n const response = await OntologyObjectSets.createTemporary(\n client,\n await client[additionalContext].ontologyRid,\n {\n objectSet: getWireObjectSet(objectSet),\n },\n { branch: client[additionalContext].branch },\n );\n return response.objectSetRid;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAEhF,SAASC,iBAAiB,QAAqB,cAAc;AAC7D,SAASC,gBAAgB,QAAQ,iCAAiC;;
|
|
1
|
+
{"version":3,"file":"createAndFetchTempObjectSetRid.js","names":["OntologyObjectSets","additionalContext","getWireObjectSet","normalizeInterfaceLinkSearchArounds","createAndFetchTempObjectSetRid","client","objectSet","response","createTemporary","ontologyRid","branch","objectSetRid"],"sources":["createAndFetchTempObjectSetRid.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n CompileTimeMetadata,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n} from \"@osdk/api\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\n\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { normalizeInterfaceLinkSearchArounds } from \"../util/normalizeInterfaceLinkSearchArounds.js\";\n\n/**\n * Fetches a temporary object set RID from the Foundry stack for the given object set.\n *\n * @param client - An OSDK client.\n * @param objectSet - The object set to fetch a RID for.\n * @returns A promise that resolves to the RID of the temporary object set.\n */\nexport async function createAndFetchTempObjectSetRid<\n Q extends ObjectOrInterfaceDefinition,\n>(\n client: Client,\n objectSet: unknown extends CompileTimeMetadata<Q>[\"objectSet\"]\n ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"],\n): Promise<string> {\n const response = await OntologyObjectSets.createTemporary(\n client,\n await client[additionalContext].ontologyRid,\n {\n objectSet: await normalizeInterfaceLinkSearchArounds(\n client[additionalContext],\n getWireObjectSet(objectSet),\n ),\n },\n { branch: client[additionalContext].branch },\n );\n return response.objectSetRid;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,OAAO,KAAKA,kBAAkB,MAAM,4CAA4C;AAEhF,SAASC,iBAAiB,QAAqB,cAAc;AAC7D,SAASC,gBAAgB,QAAQ,iCAAiC;AAClE,SAASC,mCAAmC,QAAQ,gDAAgD;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,8BAA8BA,CAGlDC,MAAc,EACdC,SAEuC,EACtB;EACjB,MAAMC,QAAQ,GAAG,MAAMP,kBAAkB,CAACQ,eAAe,CACvDH,MAAM,EACN,MAAMA,MAAM,CAACJ,iBAAiB,CAAC,CAACQ,WAAW,EAC3C;IACEH,SAAS,EAAE,MAAMH,mCAAmC,CAClDE,MAAM,CAACJ,iBAAiB,CAAC,EACzBC,gBAAgB,CAACI,SAAS,CAC5B;EACF,CAAC,EACD;IAAEI,MAAM,EAAEL,MAAM,CAACJ,iBAAiB,CAAC,CAACS;EAAO,CAC7C,CAAC;EACD,OAAOH,QAAQ,CAACI,YAAY;AAC9B","ignoreList":[]}
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export const USER_AGENT = `osdk-client/${"2.73.
|
|
18
|
-
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.73.
|
|
17
|
+
export const USER_AGENT = `osdk-client/${"2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629"}`;
|
|
18
|
+
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.73.1-main-e2539c907eaacf880b2065dc486eaa6cd3280629"}`;
|
|
19
19
|
//# sourceMappingURL=UserAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string = `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string = `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,uEAA4C;AAC9E,OAAO,MAAMC,qBAA6B,GAAG,kFAAuD","ignoreList":[]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import invariant from "tiny-invariant";
|
|
18
|
+
import { extractObjectOrInterfaceType } from "./extractObjectOrInterfaceType.js";
|
|
19
|
+
|
|
20
|
+
/* @internal
|
|
21
|
+
* `pivotTo` cannot resolve link targets synchronously, so interface-rooted chains
|
|
22
|
+
* can emit `interfaceLinkSearchAround` after reaching an object type. Resolve the
|
|
23
|
+
* metadata at request time and rewrite those nodes to `searchAround`.
|
|
24
|
+
*
|
|
25
|
+
* Preserve unchanged nodes by identity so callers can avoid copying request bodies.
|
|
26
|
+
*/
|
|
27
|
+
export async function normalizeInterfaceLinkSearchArounds(clientCtx, objectSet) {
|
|
28
|
+
switch (objectSet.type) {
|
|
29
|
+
case "base":
|
|
30
|
+
case "interfaceBase":
|
|
31
|
+
case "static":
|
|
32
|
+
case "reference":
|
|
33
|
+
case "methodInput":
|
|
34
|
+
return objectSet;
|
|
35
|
+
case "interfaceLinkSearchAround":
|
|
36
|
+
{
|
|
37
|
+
const innerObjectSet = await normalizeInterfaceLinkSearchArounds(clientCtx, objectSet.objectSet);
|
|
38
|
+
const producedType = await extractObjectOrInterfaceType(clientCtx, innerObjectSet);
|
|
39
|
+
if (producedType?.type === "object") {
|
|
40
|
+
return {
|
|
41
|
+
type: "searchAround",
|
|
42
|
+
objectSet: innerObjectSet,
|
|
43
|
+
// Keep the link name while converting between branded string types.
|
|
44
|
+
link: objectSet.interfaceLink
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return innerObjectSet === objectSet.objectSet ? objectSet : {
|
|
48
|
+
...objectSet,
|
|
49
|
+
objectSet: innerObjectSet
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
case "searchAround":
|
|
53
|
+
case "filter":
|
|
54
|
+
case "asType":
|
|
55
|
+
case "asBaseObjectTypes":
|
|
56
|
+
case "nearestNeighbors":
|
|
57
|
+
{
|
|
58
|
+
const innerObjectSet = await normalizeInterfaceLinkSearchArounds(clientCtx, objectSet.objectSet);
|
|
59
|
+
return innerObjectSet === objectSet.objectSet ? objectSet : {
|
|
60
|
+
...objectSet,
|
|
61
|
+
objectSet: innerObjectSet
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case "withProperties":
|
|
65
|
+
{
|
|
66
|
+
const [innerObjectSet, derivedProperties] = await Promise.all([normalizeInterfaceLinkSearchArounds(clientCtx, objectSet.objectSet), normalizeDerivedProperties(clientCtx, objectSet.derivedProperties)]);
|
|
67
|
+
return innerObjectSet === objectSet.objectSet && derivedProperties === objectSet.derivedProperties ? objectSet : {
|
|
68
|
+
...objectSet,
|
|
69
|
+
objectSet: innerObjectSet,
|
|
70
|
+
derivedProperties
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
case "intersect":
|
|
74
|
+
case "union":
|
|
75
|
+
case "subtract":
|
|
76
|
+
{
|
|
77
|
+
const innerObjectSets = await Promise.all(objectSet.objectSets.map(innerObjectSet => normalizeInterfaceLinkSearchArounds(clientCtx, innerObjectSet)));
|
|
78
|
+
return innerObjectSets.every((innerObjectSet, i) => innerObjectSet === objectSet.objectSets[i]) ? objectSet : {
|
|
79
|
+
...objectSet,
|
|
80
|
+
objectSets: innerObjectSets
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
default:
|
|
84
|
+
{
|
|
85
|
+
process.env.NODE_ENV !== "production" ? invariant(false, `Unsupported object set type when normalizing search arounds: ${objectSet.type}`) : invariant(false);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function normalizeDerivedProperties(clientCtx, derivedProperties) {
|
|
90
|
+
const entries = Object.entries(derivedProperties);
|
|
91
|
+
const normalized = await Promise.all(entries.map(async ([key, definition]) => [key, await normalizeDerivedProperty(clientCtx, definition)]));
|
|
92
|
+
return normalized.every(([, def], i) => def === entries[i][1]) ? derivedProperties : Object.fromEntries(normalized);
|
|
93
|
+
}
|
|
94
|
+
async function normalizeDerivedProperty(clientCtx, definition) {
|
|
95
|
+
switch (definition.type) {
|
|
96
|
+
case "property":
|
|
97
|
+
return definition;
|
|
98
|
+
case "selection":
|
|
99
|
+
{
|
|
100
|
+
const objectSet = await normalizeInterfaceLinkSearchArounds(clientCtx, definition.objectSet);
|
|
101
|
+
return objectSet === definition.objectSet ? definition : {
|
|
102
|
+
...definition,
|
|
103
|
+
objectSet
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
case "absoluteValue":
|
|
107
|
+
case "extract":
|
|
108
|
+
case "negate":
|
|
109
|
+
{
|
|
110
|
+
const property = await normalizeDerivedProperty(clientCtx, definition.property);
|
|
111
|
+
return property === definition.property ? definition : {
|
|
112
|
+
...definition,
|
|
113
|
+
property
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
case "subtract":
|
|
117
|
+
case "divide":
|
|
118
|
+
{
|
|
119
|
+
const [left, right] = await Promise.all([normalizeDerivedProperty(clientCtx, definition.left), normalizeDerivedProperty(clientCtx, definition.right)]);
|
|
120
|
+
return left === definition.left && right === definition.right ? definition : {
|
|
121
|
+
...definition,
|
|
122
|
+
left,
|
|
123
|
+
right
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
case "add":
|
|
127
|
+
case "least":
|
|
128
|
+
case "multiply":
|
|
129
|
+
case "greatest":
|
|
130
|
+
{
|
|
131
|
+
const properties = await Promise.all(definition.properties.map(p => normalizeDerivedProperty(clientCtx, p)));
|
|
132
|
+
return properties.every((p, i) => p === definition.properties[i]) ? definition : {
|
|
133
|
+
...definition,
|
|
134
|
+
properties
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
default:
|
|
138
|
+
{
|
|
139
|
+
process.env.NODE_ENV !== "production" ? invariant(false, `Unsupported derived property type when normalizing search arounds: ${definition.type}`) : invariant(false);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=normalizeInterfaceLinkSearchArounds.js.map
|