@osdk/client 2.8.0-beta.29 → 2.8.0-beta.30

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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # @osdk/client
2
2
 
3
+ ## 2.8.0-beta.30
4
+
5
+ ### Minor Changes
6
+
7
+ - 4ef6adc: Fix interface links off of objects
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [4ef6adc]
12
+ - @osdk/api@2.8.0-beta.30
13
+ - @osdk/client.unstable@2.8.0-beta.30
14
+ - @osdk/generator-converters@2.8.0-beta.30
15
+
3
16
  ## 2.8.0-beta.29
4
17
 
5
18
  ### Minor Changes
@@ -46,9 +46,16 @@ export function get$linkForInterface(holder) {
46
46
  const objectSet = client.objectSetFactory(interfaceDef, client).intersect(client.objectSetFactory(objDef, client).where({
47
47
  [objDef.primaryKeyApiName]: rawObj.$primaryKey
48
48
  })).pivotTo(linkName);
49
+ const linkTargetDef = linkDef.targetType === "object" ? {
50
+ type: "object",
51
+ apiName: linkDef.targetTypeApiName
52
+ } : {
53
+ type: "interface",
54
+ apiName: linkDef.targetTypeApiName
55
+ };
49
56
  const value = !linkDef.multiplicity ? {
50
- fetchOne: options => fetchSingle(client, objDef, options ?? {}, getWireObjectSet(objectSet)),
51
- fetchOneWithErrors: options => fetchSingleWithErrors(client, objDef, options ?? {}, getWireObjectSet(objectSet))
57
+ fetchOne: options => fetchSingle(client, linkTargetDef, options ?? {}, getWireObjectSet(objectSet)),
58
+ fetchOneWithErrors: options => fetchSingleWithErrors(client, linkTargetDef, options ?? {}, getWireObjectSet(objectSet))
52
59
  } : objectSet;
53
60
  return [linkName, value];
54
61
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"getDollarLink.js","names":["getWireObjectSet","fetchSingle","fetchSingleWithErrors","ClientRef","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","get$link","holder","client","objDef","rawObj","Object","freeze","fromEntries","keys","links","map","linkName","linkDef","objectSet","objectSetFactory","where","primaryKeyApiName","$primaryKey","pivotTo","value","multiplicity","fetchOne","options","fetchOneWithErrors","get$linkForInterface","interfaceDef","intersect"],"sources":["getDollarLink.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectSet,\n OsdkObjectLinksObject,\n SelectArg,\n SingleLinkAccessor,\n WhereClause,\n} from \"@osdk/api\";\nimport { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n ClientRef,\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function get$link(\n holder: ObjectHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[ClientRef];\n const objDef = holder[ObjectDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(objDef.links).map(\n (linkName) => {\n const linkDef = objDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>)\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n\n/** @internal */\nexport function get$linkForInterface(\n holder: InterfaceHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[UnderlyingOsdkObject][ClientRef];\n const objDef = holder[UnderlyingOsdkObject][ObjectDefRef];\n const interfaceDef = holder[InterfaceDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(interfaceDef.links).map(\n (linkName) => {\n const linkDef =\n interfaceDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(interfaceDef, client) as ObjectSet<any>)\n .intersect(\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>),\n )\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getDollarLink.js","names":["getWireObjectSet","fetchSingle","fetchSingleWithErrors","ClientRef","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","get$link","holder","client","objDef","rawObj","Object","freeze","fromEntries","keys","links","map","linkName","linkDef","objectSet","objectSetFactory","where","primaryKeyApiName","$primaryKey","pivotTo","value","multiplicity","fetchOne","options","fetchOneWithErrors","get$linkForInterface","interfaceDef","intersect","linkTargetDef","targetType","type","apiName","targetTypeApiName"],"sources":["getDollarLink.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectSet,\n OsdkObjectLinksObject,\n SelectArg,\n SingleLinkAccessor,\n WhereClause,\n} from \"@osdk/api\";\nimport { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n ClientRef,\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function get$link(\n holder: ObjectHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[ClientRef];\n const objDef = holder[ObjectDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(objDef.links).map(\n (linkName) => {\n const linkDef = objDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>)\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n\n/** @internal */\nexport function get$linkForInterface(\n holder: InterfaceHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[UnderlyingOsdkObject][ClientRef];\n const objDef = holder[UnderlyingOsdkObject][ObjectDefRef];\n const interfaceDef = holder[InterfaceDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(interfaceDef.links).map(\n (linkName) => {\n const linkDef =\n interfaceDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(interfaceDef, client) as ObjectSet<any>)\n .intersect(\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>),\n )\n .pivotTo(linkName);\n\n const linkTargetDef = linkDef.targetType === \"object\"\n ? { type: \"object\" as const, apiName: linkDef.targetTypeApiName }\n : { type: \"interface\" as const, apiName: linkDef.targetTypeApiName };\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n linkTargetDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n linkTargetDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,26 @@ import { augmentRequestContext } from "../util/augmentRequestContext.js";
24
24
  import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
25
25
  import { isWireObjectSet } from "../util/WireObjectSet.js";
26
26
  import { fetchLinksPage } from "./fetchLinksPage.js";
27
+ const a = {
28
+ "type": "interfaceLinkSearchAround",
29
+ "interfaceLink": "lead",
30
+ "objectSet": {
31
+ "type": "asType",
32
+ "entityType": "Person",
33
+ "objectSet": {
34
+ "type": "filter",
35
+ "objectSet": {
36
+ "type": "base",
37
+ "objectType": "Employee"
38
+ },
39
+ "where": {
40
+ "type": "eq",
41
+ "field": "employeeNumber",
42
+ "value": "657495107"
43
+ }
44
+ }
45
+ }
46
+ };
27
47
  function isObjectTypeDefinition(def) {
28
48
  return def.type === "object";
29
49
  }
@@ -52,11 +72,11 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
52
72
  where: clause => {
53
73
  return clientCtx.objectSetFactory(objectType, clientCtx, {
54
74
  type: "filter",
55
- objectSet: objectSet,
75
+ objectSet,
56
76
  where: modernToLegacyWhereClause(clause, objectType)
57
77
  });
58
78
  },
59
- pivotTo: function (type) {
79
+ pivotTo(type) {
60
80
  return createSearchAround(type)();
61
81
  },
62
82
  union: (...objectSets) => {
@@ -96,8 +116,8 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
96
116
  query: nearestNeighborsQuery
97
117
  });
98
118
  },
99
- asyncIter: async function* (args) {
100
- let $nextPageToken = undefined;
119
+ async *asyncIter(args) {
120
+ let $nextPageToken;
101
121
  do {
102
122
  const result = await fetchPageInternal(augmentRequestContext(clientCtx, () => ({
103
123
  finalMethodCall: "asyncIter"
@@ -141,8 +161,8 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
141
161
  }
142
162
  return clientCtx.objectSetFactory(objectType, clientCtx, {
143
163
  type: "withProperties",
144
- derivedProperties: derivedProperties,
145
- objectSet: objectSet
164
+ derivedProperties,
165
+ objectSet
146
166
  });
147
167
  },
148
168
  narrowToType: objectTypeDef => {
@@ -151,12 +171,12 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
151
171
  clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] = objectTypeDef.type;
152
172
  return clientCtx.objectSetFactory(objectTypeDef, clientCtx, {
153
173
  type: "asType",
154
- objectSet: objectSet,
174
+ objectSet,
155
175
  entityType: objectTypeDef.apiName
156
176
  });
157
177
  },
158
- experimental_asyncIterLinks: async function* (links) {
159
- let $nextPageToken = undefined;
178
+ async *experimental_asyncIterLinks(links) {
179
+ let $nextPageToken;
160
180
  do {
161
181
  const result = await fetchLinksPage(augmentRequestContext(clientCtx, () => ({
162
182
  finalMethodCall: "asyncIterLinks"
@@ -194,7 +214,7 @@ async function createWithPk(clientCtx, objectType, objectSet, primaryKey) {
194
214
  const objDef = await clientCtx.ontologyProvider.getObjectDefinition(objectType.apiName);
195
215
  const withPk = {
196
216
  type: "filter",
197
- objectSet: objectSet,
217
+ objectSet,
198
218
  where: {
199
219
  type: "eq",
200
220
  field: objDef.primaryKeyApiName,
@@ -1 +1 @@
1
- {"version":3,"file":"createObjectSet.js","names":["invariant","createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","fetchLinksPage","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","undefined","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","then","ObjectSetListenerWebsocket","getInstance","properties","includeRid","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","narrowToType","objectTypeDef","existingMapping","narrowTypeInterfaceOrObjectMapping","process","env","NODE_ENV","entityType","experimental_asyncIterLinks","links","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.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 AsyncIterArgs,\n Augments,\n FetchPageResult,\n InterfaceDefinition,\n LinkedType,\n LinkNames,\n LinkTypeApiNamesFor,\n MinimalDirectedObjectLinkInstance,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetArgs,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { fetchLinksPage } from \"./fetchLinksPage.js\";\n\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\nexport function isObjectSet(\n o: object,\n): o is ObjectSet<ObjectOrInterfaceDefinition> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\n/** @internal exported for internal use only */\nexport const objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo: function<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n asyncIter: async function*<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L> = never,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS>,\n ): AsyncIterableIterator<\n SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>\n > {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T,\n ORDER_BY_OPTIONS\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = import(\"./ObjectSetListenerWebsocket.js\")\n .then(({ ObjectSetListenerWebsocket }) =>\n ObjectSetListenerWebsocket.getInstance(clientCtx)\n .subscribe(\n objectType,\n objectSet,\n listener as ObjectSetSubscription.Listener<Q, any>,\n opts?.properties,\n opts?.includeRid,\n )\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties: derivedProperties,\n objectSet: objectSet,\n },\n );\n },\n\n narrowToType: (\n objectTypeDef: ObjectTypeDefinition | InterfaceDefinition,\n ) => {\n const existingMapping =\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName];\n invariant(\n !existingMapping || existingMapping === objectTypeDef.type,\n `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`,\n );\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] =\n objectTypeDef.type;\n\n return clientCtx.objectSetFactory(\n objectTypeDef,\n clientCtx,\n {\n type: \"asType\",\n objectSet: objectSet,\n entityType: objectTypeDef.apiName,\n },\n );\n },\n\n experimental_asyncIterLinks: async function*<\n LINK_TYPE_API_NAME extends LinkTypeApiNamesFor<Q>,\n >(\n links: LINK_TYPE_API_NAME[],\n ): AsyncIterableIterator<\n MinimalDirectedObjectLinkInstance<Q, LINK_TYPE_API_NAME>\n > {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result = await fetchLinksPage(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIterLinks\" }),\n ),\n objectType,\n objectSet,\n links,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createObjectSet.js","names":["invariant","createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","fetchLinksPage","a","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","undefined","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","then","ObjectSetListenerWebsocket","getInstance","properties","includeRid","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","narrowToType","objectTypeDef","existingMapping","narrowTypeInterfaceOrObjectMapping","process","env","NODE_ENV","entityType","experimental_asyncIterLinks","links","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.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 AsyncIterArgs,\n Augments,\n FetchPageResult,\n InterfaceDefinition,\n LinkedType,\n LinkNames,\n LinkTypeApiNamesFor,\n MinimalDirectedObjectLinkInstance,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetArgs,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { fetchLinksPage } from \"./fetchLinksPage.js\";\n\nconst a: WireObjectSet = {\n \"type\": \"interfaceLinkSearchAround\",\n \"interfaceLink\": \"lead\",\n \"objectSet\": {\n \"type\": \"asType\",\n \"entityType\": \"Person\",\n \"objectSet\": {\n \"type\": \"filter\",\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"Employee\" },\n \"where\": {\n \"type\": \"eq\",\n \"field\": \"employeeNumber\",\n \"value\": \"657495107\",\n },\n },\n },\n};\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\nexport function isObjectSet(\n o: object,\n): o is ObjectSet<ObjectOrInterfaceDefinition> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\n/** @internal exported for internal use only */\nexport const objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n async *asyncIter<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L> = never,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS>,\n ): AsyncIterableIterator<\n SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>\n > {\n let $nextPageToken: string | undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T,\n ORDER_BY_OPTIONS\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = import(\"./ObjectSetListenerWebsocket.js\")\n .then(({ ObjectSetListenerWebsocket }) =>\n ObjectSetListenerWebsocket.getInstance(clientCtx)\n .subscribe(\n objectType,\n objectSet,\n listener as ObjectSetSubscription.Listener<Q, any>,\n opts?.properties,\n opts?.includeRid,\n )\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties,\n objectSet,\n },\n );\n },\n\n narrowToType: (\n objectTypeDef: ObjectTypeDefinition | InterfaceDefinition,\n ) => {\n const existingMapping =\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName];\n invariant(\n !existingMapping || existingMapping === objectTypeDef.type,\n `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`,\n );\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] =\n objectTypeDef.type;\n\n return clientCtx.objectSetFactory(\n objectTypeDef,\n clientCtx,\n {\n type: \"asType\",\n objectSet,\n entityType: objectTypeDef.apiName,\n },\n );\n },\n\n async *experimental_asyncIterLinks<\n LINK_TYPE_API_NAME extends LinkTypeApiNamesFor<Q>,\n >(\n links: LINK_TYPE_API_NAME[],\n ): AsyncIterableIterator<\n MinimalDirectedObjectLinkInstance<Q, LINK_TYPE_API_NAME>\n > {\n let $nextPageToken: string | undefined;\n do {\n const result = await fetchLinksPage(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIterLinks\" }),\n ),\n objectType,\n objectSet,\n links,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export const USER_AGENT = `osdk-client/${"2.8.0-beta.29"}`;
18
- export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.29"}`;
17
+ export const USER_AGENT = `osdk-client/${"2.8.0-beta.30"}`;
18
+ export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.30"}`;
19
19
  //# sourceMappingURL=UserAgent.js.map
@@ -16,8 +16,23 @@
16
16
 
17
17
  import invariant from "tiny-invariant";
18
18
  export async function extractRdpDefinition(clientCtx, objectSet) {
19
+ if (!hasWithProperties(objectSet)) {
20
+ return {};
21
+ }
19
22
  return (await extractRdpDefinitionInternal(clientCtx, objectSet, undefined)).definitions;
20
23
  }
24
+ function hasWithProperties(objectSet) {
25
+ if (objectSet.type === "withProperties") {
26
+ return true;
27
+ }
28
+ if ("objectSet" in objectSet && objectSet.objectSet != null) {
29
+ return hasWithProperties(objectSet.objectSet);
30
+ }
31
+ if ("objectSets" in objectSet && objectSet.objectSets != null) {
32
+ return objectSet.objectSets.some(hasWithProperties);
33
+ }
34
+ return false;
35
+ }
21
36
 
22
37
  /* @internal
23
38
  * Returns a tuple of the derived property definitions and the object type that the derived property is defined on.
@@ -1 +1 @@
1
- {"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","extractRdpDefinitionInternal","undefined","definitions","methodInputObjectType","type","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","selectedOrCollectedPropertyType","operation","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType","objectSets","objectSetTypes","Promise","all","map","os","reduce","acc","keys","length","firstValidChildObjectType","find","every"],"sources":["extractRdpDefinition.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 { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n): Promise<\n DerivedPropertyRuntimeMetadata\n> {\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n undefined,\n )).definitions;\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string | undefined,\n): Promise<\n {\n definitions: DerivedPropertyRuntimeMetadata;\n childObjectType?: string;\n }\n> {\n switch (objectSet.type) {\n case \"searchAround\": {\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return {\n definitions,\n childObjectType: objDef.links[objectSet.link].targetType,\n };\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const { childObjectType: operationLevelObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n if (\n operationLevelObjectType === undefined\n || operationLevelObjectType === \"\"\n ) {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n definitions[name] = {\n selectedOrCollectedPropertyType:\n objDef.properties[definition.operation.selectedPropertyApiName],\n definition,\n };\n break;\n\n default:\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n }\n }\n return { definitions, childObjectType };\n }\n case \"methodInput\":\n return { definitions: {}, childObjectType: methodInputObjectType };\n case \"base\":\n return { definitions: {}, childObjectType: objectSet.objectType };\n case \"interfaceBase\":\n return { definitions: {}, childObjectType: objectSet.interfaceType };\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"subtract\":\n case \"union\":\n const objectSets = objectSet.objectSets;\n const objectSetTypes = await Promise.all(\n objectSets.map((os) =>\n extractRdpDefinitionInternal(\n clientCtx,\n os,\n methodInputObjectType,\n )\n ),\n );\n\n const definitions = objectSetTypes.reduce(\n (acc, { definitions }) => ({ ...acc, ...definitions }),\n {},\n );\n invariant(\n Object.keys(definitions).length === 0,\n \"Object sets combined using intersect, subtract, or union must not contain any derived property definitions\",\n );\n\n const firstValidChildObjectType = objectSetTypes.find(\n ({ childObjectType }) => childObjectType != null,\n )?.childObjectType;\n invariant(\n objectSetTypes.every(\n ({ childObjectType }) =>\n childObjectType === firstValidChildObjectType\n || childObjectType == null,\n ),\n \"All object sets in an intersect, subtract, or union must have the same child object type\",\n );\n\n return {\n definitions: {},\n childObjectType: firstValidChildObjectType,\n };\n case \"static\":\n case \"reference\":\n // Static and reference object sets are always intersected with a base object set, so we can just return no child object type.\n return { definitions: {} };\n // We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.\n case \"interfaceLinkSearchAround\":\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","hasWithProperties","extractRdpDefinitionInternal","undefined","definitions","type","objectSets","some","methodInputObjectType","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","selectedOrCollectedPropertyType","operation","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType","objectSetTypes","Promise","all","map","os","reduce","acc","keys","length","firstValidChildObjectType","find","every"],"sources":["extractRdpDefinition.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 { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n): Promise<\n DerivedPropertyRuntimeMetadata\n> {\n if (!hasWithProperties(objectSet)) {\n return {};\n }\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n undefined,\n )).definitions;\n}\n\nfunction hasWithProperties(objectSet: ObjectSet): boolean {\n if (objectSet.type === \"withProperties\") {\n return true;\n }\n if (\"objectSet\" in objectSet && objectSet.objectSet != null) {\n return hasWithProperties(objectSet.objectSet);\n }\n if (\"objectSets\" in objectSet && objectSet.objectSets != null) {\n return objectSet.objectSets.some(hasWithProperties);\n }\n return false;\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string | undefined,\n): Promise<\n {\n definitions: DerivedPropertyRuntimeMetadata;\n childObjectType?: string;\n }\n> {\n switch (objectSet.type) {\n case \"searchAround\": {\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return {\n definitions,\n childObjectType: objDef.links[objectSet.link].targetType,\n };\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const { childObjectType: operationLevelObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n if (\n operationLevelObjectType === undefined\n || operationLevelObjectType === \"\"\n ) {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n definitions[name] = {\n selectedOrCollectedPropertyType:\n objDef.properties[definition.operation.selectedPropertyApiName],\n definition,\n };\n break;\n\n default:\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n }\n }\n return { definitions, childObjectType };\n }\n case \"methodInput\":\n return { definitions: {}, childObjectType: methodInputObjectType };\n case \"base\":\n return { definitions: {}, childObjectType: objectSet.objectType };\n case \"interfaceBase\":\n return { definitions: {}, childObjectType: objectSet.interfaceType };\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"subtract\":\n case \"union\":\n const objectSets = objectSet.objectSets;\n const objectSetTypes = await Promise.all(\n objectSets.map((os) =>\n extractRdpDefinitionInternal(\n clientCtx,\n os,\n methodInputObjectType,\n )\n ),\n );\n\n const definitions = objectSetTypes.reduce(\n (acc, { definitions }) => ({ ...acc, ...definitions }),\n {},\n );\n invariant(\n Object.keys(definitions).length === 0,\n \"Object sets combined using intersect, subtract, or union must not contain any derived property definitions\",\n );\n\n const firstValidChildObjectType = objectSetTypes.find(\n ({ childObjectType }) => childObjectType != null,\n )?.childObjectType;\n invariant(\n objectSetTypes.every(\n ({ childObjectType }) =>\n childObjectType === firstValidChildObjectType\n || childObjectType == null,\n ),\n \"All object sets in an intersect, subtract, or union must have the same child object type\",\n );\n\n return {\n definitions: {},\n childObjectType: firstValidChildObjectType,\n };\n case \"static\":\n case \"reference\":\n // Static and reference object sets are always intersected with a base object set, so we can just return no child object type.\n return { definitions: {} };\n // We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.\n case \"interfaceLinkSearchAround\":\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,SAAS,MAAM,gBAAgB;AAItC,OAAO,eAAeC,oBAAoBA,CACxCC,SAAwB,EACxBC,SAAoB,EAGpB;EACA,IAAI,CAACC,iBAAiB,CAACD,SAAS,CAAC,EAAE;IACjC,OAAO,CAAC,CAAC;EACX;EACA,OAAO,CAAC,MAAME,4BAA4B,CACxCH,SAAS,EACTC,SAAS,EACTG,SACF,CAAC,EAAEC,WAAW;AAChB;AAEA,SAASH,iBAAiBA,CAACD,SAAoB,EAAW;EACxD,IAAIA,SAAS,CAACK,IAAI,KAAK,gBAAgB,EAAE;IACvC,OAAO,IAAI;EACb;EACA,IAAI,WAAW,IAAIL,SAAS,IAAIA,SAAS,CAACA,SAAS,IAAI,IAAI,EAAE;IAC3D,OAAOC,iBAAiB,CAACD,SAAS,CAACA,SAAS,CAAC;EAC/C;EACA,IAAI,YAAY,IAAIA,SAAS,IAAIA,SAAS,CAACM,UAAU,IAAI,IAAI,EAAE;IAC7D,OAAON,SAAS,CAACM,UAAU,CAACC,IAAI,CAACN,iBAAiB,CAAC;EACrD;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA,eAAeC,4BAA4BA,CACzCH,SAAwB,EACxBC,SAAoB,EACpBQ,qBAAyC,EAMzC;EACA,QAAQR,SAAS,CAACK,IAAI;IACpB,KAAK,cAAc;MAAE;QACnB,MAAM;UAAED,WAAW;UAAEK;QAAgB,CAAC,GACpC,MAAMP,4BAA4B,CAChCH,SAAS,EACTC,SAAS,CAACA,SAAS,EACnBQ,qBACF,CAAC;QAEH,IAAIC,eAAe,KAAKN,SAAS,IAAIM,eAAe,KAAK,EAAE,EAAE;UAC3D,OAAO;YAAEL,WAAW,EAAE,CAAC;UAAE,CAAC;QAC5B;QACA,MAAMM,MAAM,GAAG,MAAMX,SAAS,CAACY,gBAAgB,CAACC,mBAAmB,CACjEH,eACF,CAAC;QACD,MAAMI,OAAO,GAAGH,MAAM,CAACI,KAAK,CAACd,SAAS,CAACe,IAAI,CAAC;QAC5C,CAAUF,OAAO,GAAAG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAjBrB,SAAS,QAAU,gCAAgCG,SAAS,CAACe,IAAI,GAAG,IAApElB,SAAS;QACT,OAAO;UACLO,WAAW;UACXK,eAAe,EAAEC,MAAM,CAACI,KAAK,CAACd,SAAS,CAACe,IAAI,CAAC,CAACI;QAChD,CAAC;MACH;IACA,KAAK,gBAAgB;MAAE;QACrB;QACA,MAAM;UAAEf,WAAW;UAAEK;QAAgB,CAAC,GACpC,MAAMP,4BAA4B,CAChCH,SAAS,EACTC,SAAS,CAACA,SAAS,EACnBQ,qBACF,CAAC;QACH,IAAIC,eAAe,KAAKN,SAAS,IAAIM,eAAe,KAAK,EAAE,EAAE;UAC3D,OAAO;YAAEL,WAAW,EAAE,CAAC;UAAE,CAAC;QAC5B;QAEA,KACE,MAAM,CAACgB,IAAI,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACvB,SAAS,CAACwB,iBAAiB,CAAC,EACvE;UACA,IAAIH,UAAU,CAAChB,IAAI,KAAK,WAAW,EAAE;YACnCD,WAAW,CAACgB,IAAI,CAAC,GAAG;cAClBK,+BAA+B,EAAEtB,SAAS;cAC1CkB;YACF,CAAC;YACD;UACF;UAEA,QAAQA,UAAU,CAACK,SAAS,CAACrB,IAAI;YAC/B,KAAK,aAAa;YAClB,KAAK,YAAY;YACjB,KAAK,KAAK;cACR;cACA,MAAM;gBAAEI,eAAe,EAAEkB;cAAyB,CAAC,GACjD,MAAMzB,4BAA4B,CAChCH,SAAS,EACTsB,UAAU,CAACrB,SAAS,EACpBS,eACF,CAAC;cACH,IACEkB,wBAAwB,KAAKxB,SAAS,IACnCwB,wBAAwB,KAAK,EAAE,EAClC;gBACA,OAAO;kBAAEvB,WAAW,EAAE,CAAC;gBAAE,CAAC;cAC5B;cACA,MAAMM,MAAM,GAAG,MAAMX,SAAS,CAACY,gBAAgB,CAACC,mBAAmB,CACjEe,wBACF,CAAC;cAEDvB,WAAW,CAACgB,IAAI,CAAC,GAAG;gBAClBK,+BAA+B,EAC7Bf,MAAM,CAACkB,UAAU,CAACP,UAAU,CAACK,SAAS,CAACG,uBAAuB,CAAC;gBACjER;cACF,CAAC;cACD;YAEF;cACEjB,WAAW,CAACgB,IAAI,CAAC,GAAG;gBAClBK,+BAA+B,EAAEtB,SAAS;gBAC1CkB;cACF,CAAC;UACL;QACF;QACA,OAAO;UAAEjB,WAAW;UAAEK;QAAgB,CAAC;MACzC;IACA,KAAK,aAAa;MAChB,OAAO;QAAEL,WAAW,EAAE,CAAC,CAAC;QAAEK,eAAe,EAAED;MAAsB,CAAC;IACpE,KAAK,MAAM;MACT,OAAO;QAAEJ,WAAW,EAAE,CAAC,CAAC;QAAEK,eAAe,EAAET,SAAS,CAAC8B;MAAW,CAAC;IACnE,KAAK,eAAe;MAClB,OAAO;QAAE1B,WAAW,EAAE,CAAC,CAAC;QAAEK,eAAe,EAAET,SAAS,CAAC+B;MAAc,CAAC;IACtE,KAAK,QAAQ;IACb,KAAK,mBAAmB;IACxB,KAAK,QAAQ;IACb,KAAK,kBAAkB;MACrB,OAAO7B,4BAA4B,CACjCH,SAAS,EACTC,SAAS,CAACA,SAAS,EACnBQ,qBACF,CAAC;IACH;IACA,KAAK,WAAW;IAChB,KAAK,UAAU;IACf,KAAK,OAAO;MACV,MAAMF,UAAU,GAAGN,SAAS,CAACM,UAAU;MACvC,MAAM0B,cAAc,GAAG,MAAMC,OAAO,CAACC,GAAG,CACtC5B,UAAU,CAAC6B,GAAG,CAAEC,EAAE,IAChBlC,4BAA4B,CAC1BH,SAAS,EACTqC,EAAE,EACF5B,qBACF,CACF,CACF,CAAC;MAED,MAAMJ,WAAW,GAAG4B,cAAc,CAACK,MAAM,CACvC,CAACC,GAAG,EAAE;QAAElC;MAAY,CAAC,MAAM;QAAE,GAAGkC,GAAG;QAAE,GAAGlC;MAAY,CAAC,CAAC,EACtD,CAAC,CACH,CAAC;MACD,EACEkB,MAAM,CAACiB,IAAI,CAACnC,WAAW,CAAC,CAACoC,MAAM,KAAK,CAAC,IAAAxB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBADvCrB,SAAS,QAEP,4GAA4G,IAF9GA,SAAS;MAKT,MAAM4C,yBAAyB,GAAGT,cAAc,CAACU,IAAI,CACnD,CAAC;QAAEjC;MAAgB,CAAC,KAAKA,eAAe,IAAI,IAC9C,CAAC,EAAEA,eAAe;MAClB,CACEuB,cAAc,CAACW,KAAK,CAClB,CAAC;QAAElC;MAAgB,CAAC,KAClBA,eAAe,KAAKgC,yBAAyB,IAC1ChC,eAAe,IAAI,IAC1B,CAAC,GAAAO,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBALHrB,SAAS,QAMP,0FAA0F,IAN5FA,SAAS;MAST,OAAO;QACLO,WAAW,EAAE,CAAC,CAAC;QACfK,eAAe,EAAEgC;MACnB,CAAC;IACH,KAAK,QAAQ;IACb,KAAK,WAAW;MACd;MACA,OAAO;QAAErC,WAAW,EAAE,CAAC;MAAE,CAAC;IAC5B;IACA,KAAK,2BAA2B;MAC9BY,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAArB,SAAS,QAEP,4DAA4D,IAF9DA,SAAS;IAIX;MAEEmB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAArB,SAAS,QAEP,4DAA4D,IAF9DA,SAAS;EAIb;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkKGWUPXAM_cjs = require('./chunk-KGWUPXAM.cjs');
3
+ var chunkZZ6DP3W4_cjs = require('./chunk-ZZ6DP3W4.cjs');
4
4
  var chunkGSVXEVM4_cjs = require('./chunk-GSVXEVM4.cjs');
5
5
  var chunkD26YLHTV_cjs = require('./chunk-D26YLHTV.cjs');
6
6
  var chunkYJG67XL4_cjs = require('./chunk-YJG67XL4.cjs');
@@ -200,13 +200,13 @@ async function toDataValue(value, client, actionMetadata) {
200
200
  return Promise.all(promiseArray);
201
201
  }
202
202
  if (isAttachmentUpload(value)) {
203
- const attachment = await chunkKGWUPXAM_cjs.upload(client, value.data, {
203
+ const attachment = await chunkZZ6DP3W4_cjs.upload(client, value.data, {
204
204
  filename: value.name
205
205
  });
206
206
  return await toDataValue(attachment.rid, client);
207
207
  }
208
208
  if (isAttachmentFile(value)) {
209
- const attachment = await chunkKGWUPXAM_cjs.upload(client, value, {
209
+ const attachment = await chunkZZ6DP3W4_cjs.upload(client, value, {
210
210
  filename: value.name
211
211
  });
212
212
  return await toDataValue(attachment.rid, client);
@@ -233,11 +233,11 @@ async function toDataValue(value, client, actionMetadata) {
233
233
  if (isPoint(value)) {
234
234
  return await toDataValue(`${value.coordinates[1]},${value.coordinates[0]}`, client);
235
235
  }
236
- if (chunkKGWUPXAM_cjs.isWireObjectSet(value)) {
236
+ if (chunkZZ6DP3W4_cjs.isWireObjectSet(value)) {
237
237
  return value;
238
238
  }
239
- if (chunkKGWUPXAM_cjs.isObjectSet(value)) {
240
- return chunkKGWUPXAM_cjs.getWireObjectSet(value);
239
+ if (chunkZZ6DP3W4_cjs.isObjectSet(value)) {
240
+ return chunkZZ6DP3W4_cjs.getWireObjectSet(value);
241
241
  }
242
242
  if (isInterfaceActionParam(value)) {
243
243
  return {
@@ -257,7 +257,7 @@ async function toDataValue(value, client, actionMetadata) {
257
257
 
258
258
  // src/actions/applyAction.ts
259
259
  async function applyAction(client, action, parameters, options = {}) {
260
- const clientWithHeaders = chunkKGWUPXAM_cjs.addUserAgentAndRequestContextHeaders(chunkKGWUPXAM_cjs.augmentRequestContext(client, (_) => ({
260
+ const clientWithHeaders = chunkZZ6DP3W4_cjs.addUserAgentAndRequestContextHeaders(chunkZZ6DP3W4_cjs.augmentRequestContext(client, (_) => ({
261
261
  finalMethodCall: "applyAction"
262
262
  })), action);
263
263
  if (Array.isArray(parameters)) {
@@ -988,8 +988,8 @@ function get$link(holder) {
988
988
  [objDef.primaryKeyApiName]: rawObj.$primaryKey
989
989
  }).pivotTo(linkName);
990
990
  const value = !linkDef.multiplicity ? {
991
- fetchOne: (options) => chunkKGWUPXAM_cjs.fetchSingle(client, objDef, options ?? {}, chunkKGWUPXAM_cjs.getWireObjectSet(objectSet)),
992
- fetchOneWithErrors: (options) => chunkKGWUPXAM_cjs.fetchSingleWithErrors(client, objDef, options ?? {}, chunkKGWUPXAM_cjs.getWireObjectSet(objectSet))
991
+ fetchOne: (options) => chunkZZ6DP3W4_cjs.fetchSingle(client, objDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet)),
992
+ fetchOneWithErrors: (options) => chunkZZ6DP3W4_cjs.fetchSingleWithErrors(client, objDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet))
993
993
  } : objectSet;
994
994
  return [linkName, value];
995
995
  })));
@@ -1004,9 +1004,16 @@ function get$linkForInterface(holder) {
1004
1004
  const objectSet = client.objectSetFactory(interfaceDef, client).intersect(client.objectSetFactory(objDef, client).where({
1005
1005
  [objDef.primaryKeyApiName]: rawObj.$primaryKey
1006
1006
  })).pivotTo(linkName);
1007
+ const linkTargetDef = linkDef.targetType === "object" ? {
1008
+ type: "object",
1009
+ apiName: linkDef.targetTypeApiName
1010
+ } : {
1011
+ type: "interface",
1012
+ apiName: linkDef.targetTypeApiName
1013
+ };
1007
1014
  const value = !linkDef.multiplicity ? {
1008
- fetchOne: (options) => chunkKGWUPXAM_cjs.fetchSingle(client, objDef, options ?? {}, chunkKGWUPXAM_cjs.getWireObjectSet(objectSet)),
1009
- fetchOneWithErrors: (options) => chunkKGWUPXAM_cjs.fetchSingleWithErrors(client, objDef, options ?? {}, chunkKGWUPXAM_cjs.getWireObjectSet(objectSet))
1015
+ fetchOne: (options) => chunkZZ6DP3W4_cjs.fetchSingle(client, linkTargetDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet)),
1016
+ fetchOneWithErrors: (options) => chunkZZ6DP3W4_cjs.fetchSingleWithErrors(client, linkTargetDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet))
1010
1017
  } : objectSet;
1011
1018
  return [linkName, value];
1012
1019
  })));
@@ -1014,7 +1021,7 @@ function get$linkForInterface(holder) {
1014
1021
 
1015
1022
  // src/object/convertWireToOsdkObjects/createOsdkInterface.ts
1016
1023
  function createOsdkInterface(underlying, interfaceDef) {
1017
- const [objApiNamespace] = chunkKGWUPXAM_cjs.extractNamespace(interfaceDef.apiName);
1024
+ const [objApiNamespace] = chunkZZ6DP3W4_cjs.extractNamespace(interfaceDef.apiName);
1018
1025
  return Object.freeze(Object.defineProperties({}, {
1019
1026
  // first to minimize hidden classes
1020
1027
  [UnderlyingOsdkObject]: {
@@ -1077,7 +1084,7 @@ function createOsdkInterface(underlying, interfaceDef) {
1077
1084
  },
1078
1085
  ...Object.fromEntries(Object.keys(interfaceDef.properties).map((p) => {
1079
1086
  const objDef = underlying[ObjectDefRef];
1080
- const [apiNamespace, apiName] = chunkKGWUPXAM_cjs.extractNamespace(p);
1087
+ const [apiNamespace, apiName] = chunkZZ6DP3W4_cjs.extractNamespace(p);
1081
1088
  const targetPropName = objDef.interfaceMap[interfaceDef.apiName][p];
1082
1089
  return [apiNamespace === objApiNamespace ? apiName : p, {
1083
1090
  enumerable: targetPropName in underlying,
@@ -1252,9 +1259,9 @@ function modifyRdpProperties(client, derivedPropertyTypeByName, rawValue, propKe
1252
1259
  switch (derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType?.type) {
1253
1260
  case "attachment":
1254
1261
  if (Array.isArray(rawValue)) {
1255
- return rawValue.map((a) => chunkKGWUPXAM_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
1262
+ return rawValue.map((a) => chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
1256
1263
  } else {
1257
- return chunkKGWUPXAM_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
1264
+ return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
1258
1265
  }
1259
1266
  default:
1260
1267
  process.env.NODE_ENV !== "production" ? invariant__default.default(false, "Derived property aggregations for Timeseries and Media are not supported") : invariant__default.default(false) ;
@@ -1270,9 +1277,9 @@ function createSpecialProperty(client, objectDef, rawObject, p) {
1270
1277
  }
1271
1278
  if (propDef.type === "attachment") {
1272
1279
  if (Array.isArray(rawValue)) {
1273
- return rawValue.map((a) => chunkKGWUPXAM_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
1280
+ return rawValue.map((a) => chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
1274
1281
  }
1275
- return chunkKGWUPXAM_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
1282
+ return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
1276
1283
  }
1277
1284
  if (propDef.type === "numericTimeseries" || propDef.type === "stringTimeseries" || propDef.type === "sensorTimeseries") {
1278
1285
  return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);
@@ -1605,7 +1612,7 @@ async function loadFullObjectMetadata(client, objectType) {
1605
1612
 
1606
1613
  // src/ontology/loadInterfaceMetadata.ts
1607
1614
  async function loadInterfaceMetadata(client, objectType) {
1608
- const r = await chunkKGWUPXAM_cjs.get(client, await client.ontologyRid, objectType, {
1615
+ const r = await chunkZZ6DP3W4_cjs.get(client, await client.ontologyRid, objectType, {
1609
1616
  preview: true,
1610
1617
  branch: client.branch
1611
1618
  });
@@ -1684,11 +1691,11 @@ var createStandardOntologyProviderFactory = (client) => {
1684
1691
  };
1685
1692
 
1686
1693
  // src/util/UserAgent.ts
1687
- var USER_AGENT = `osdk-client/${"2.8.0-beta.29"}`;
1688
- var OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.29"}`;
1694
+ var USER_AGENT = `osdk-client/${"2.8.0-beta.30"}`;
1695
+ var OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.30"}`;
1689
1696
 
1690
1697
  // src/createMinimalClient.ts
1691
- function createMinimalClient(metadata2, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = chunkKGWUPXAM_cjs.createObjectSet, createOntologyProviderFactory = createStandardOntologyProviderFactory) {
1698
+ function createMinimalClient(metadata2, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = chunkZZ6DP3W4_cjs.createObjectSet, createOntologyProviderFactory = createStandardOntologyProviderFactory) {
1692
1699
  if (process.env.NODE_ENV !== "production") {
1693
1700
  try {
1694
1701
  new URL(baseUrl);
@@ -1801,13 +1808,13 @@ async function toDataValueQueries(value, client, desiredType) {
1801
1808
  switch (desiredType.type) {
1802
1809
  case "attachment": {
1803
1810
  if (isAttachmentUpload(value)) {
1804
- const attachment = await chunkKGWUPXAM_cjs.upload(client, value.data, {
1811
+ const attachment = await chunkZZ6DP3W4_cjs.upload(client, value.data, {
1805
1812
  filename: value.name
1806
1813
  });
1807
1814
  return attachment.rid;
1808
1815
  }
1809
1816
  if (isAttachmentFile(value)) {
1810
- const attachment = await chunkKGWUPXAM_cjs.upload(client, value, {
1817
+ const attachment = await chunkZZ6DP3W4_cjs.upload(client, value, {
1811
1818
  filename: value.name
1812
1819
  });
1813
1820
  return attachment.rid;
@@ -1863,11 +1870,11 @@ async function toDataValueQueries(value, client, desiredType) {
1863
1870
  }
1864
1871
  case "objectSet":
1865
1872
  case "interfaceObjectSet": {
1866
- if (chunkKGWUPXAM_cjs.isWireObjectSet(value)) {
1873
+ if (chunkZZ6DP3W4_cjs.isWireObjectSet(value)) {
1867
1874
  return value;
1868
1875
  }
1869
- if (chunkKGWUPXAM_cjs.isObjectSet(value)) {
1870
- return chunkKGWUPXAM_cjs.getWireObjectSet(value);
1876
+ if (chunkZZ6DP3W4_cjs.isObjectSet(value)) {
1877
+ return chunkZZ6DP3W4_cjs.getWireObjectSet(value);
1871
1878
  }
1872
1879
  break;
1873
1880
  }
@@ -1912,7 +1919,7 @@ async function applyQuery(client, query, params) {
1912
1919
  if (client.flushEdits != null) {
1913
1920
  await client.flushEdits();
1914
1921
  }
1915
- const response = await execute(chunkKGWUPXAM_cjs.addUserAgentAndRequestContextHeaders(chunkKGWUPXAM_cjs.augmentRequestContext(client, (_) => ({
1922
+ const response = await execute(chunkZZ6DP3W4_cjs.addUserAgentAndRequestContextHeaders(chunkZZ6DP3W4_cjs.augmentRequestContext(client, (_) => ({
1916
1923
  finalMethodCall: "applyQuery"
1917
1924
  })), query), await client.ontologyRid, query.apiName, {
1918
1925
  parameters: params ? await remapQueryParams(params, client, (await qd).parameters) : {}
@@ -1957,7 +1964,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
1957
1964
  return responseValue;
1958
1965
  }
1959
1966
  case "attachment": {
1960
- return chunkKGWUPXAM_cjs.hydrateAttachmentFromRidInternal(client, responseValue);
1967
+ return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, responseValue);
1961
1968
  }
1962
1969
  case "mediaReference": {
1963
1970
  return createMediaFromReference(client, responseValue);
@@ -1982,7 +1989,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
1982
1989
  throw new Error(`Missing definition for ${responseDataType.objectSet}`);
1983
1990
  }
1984
1991
  if (typeof responseValue === "string") {
1985
- return chunkKGWUPXAM_cjs.createObjectSet(def, client, {
1992
+ return chunkZZ6DP3W4_cjs.createObjectSet(def, client, {
1986
1993
  type: "intersect",
1987
1994
  objectSets: [{
1988
1995
  type: "base",
@@ -1993,7 +2000,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
1993
2000
  }]
1994
2001
  });
1995
2002
  }
1996
- return chunkKGWUPXAM_cjs.createObjectSet(def, client, responseValue);
2003
+ return chunkZZ6DP3W4_cjs.createObjectSet(def, client, responseValue);
1997
2004
  }
1998
2005
  case "struct": {
1999
2006
  for (const [key, subtype] of Object.entries(responseDataType.struct)) {
@@ -2188,7 +2195,7 @@ function createClientInternal(objectSetFactory, transactionRid, flushEdits, base
2188
2195
  ontologyRid
2189
2196
  }, baseUrl, tokenProvider, {
2190
2197
  ...options,
2191
- logger: options?.logger ?? new chunkKGWUPXAM_cjs.MinimalLogger(),
2198
+ logger: options?.logger ?? new chunkZZ6DP3W4_cjs.MinimalLogger(),
2192
2199
  transactionId: transactionRid,
2193
2200
  flushEdits,
2194
2201
  branch: options?.UNSTABLE_DO_NOT_USE_BRANCH
@@ -2217,7 +2224,7 @@ function createClientFromContext(clientCtx) {
2217
2224
  case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:
2218
2225
  return {
2219
2226
  fetchOneByRid: async (objectType, rid, options) => {
2220
- return await chunkKGWUPXAM_cjs.fetchSingle(clientCtx, objectType, options, createWithRid([rid]));
2227
+ return await chunkZZ6DP3W4_cjs.fetchSingle(clientCtx, objectType, options, createWithRid([rid]));
2221
2228
  }
2222
2229
  };
2223
2230
  case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:
@@ -2241,10 +2248,10 @@ function createClientFromContext(clientCtx) {
2241
2248
  case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:
2242
2249
  return {
2243
2250
  fetchPageByRid: async (objectOrInterfaceType, rids, options = {}) => {
2244
- return await chunkKGWUPXAM_cjs.fetchPage(clientCtx, objectOrInterfaceType, options, createWithRid(rids));
2251
+ return await chunkZZ6DP3W4_cjs.fetchPage(clientCtx, objectOrInterfaceType, options, createWithRid(rids));
2245
2252
  },
2246
2253
  fetchPageByRidNoType: async (rids, options) => {
2247
- return await chunkKGWUPXAM_cjs.fetchStaticRidPage(clientCtx, rids, options ?? {});
2254
+ return await chunkZZ6DP3W4_cjs.fetchStaticRidPage(clientCtx, rids, options ?? {});
2248
2255
  }
2249
2256
  };
2250
2257
  }
@@ -2262,7 +2269,7 @@ function createClientFromContext(clientCtx) {
2262
2269
  [symbolClientContext2]: {
2263
2270
  value: clientCtx
2264
2271
  },
2265
- [chunkKGWUPXAM_cjs.additionalContext]: {
2272
+ [chunkZZ6DP3W4_cjs.additionalContext]: {
2266
2273
  value: clientCtx
2267
2274
  },
2268
2275
  fetchMetadata: {
@@ -2271,8 +2278,8 @@ function createClientFromContext(clientCtx) {
2271
2278
  });
2272
2279
  return client;
2273
2280
  }
2274
- var createClient = createClientInternal.bind(void 0, chunkKGWUPXAM_cjs.createObjectSet, void 0, void 0);
2275
- var createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(chunkKGWUPXAM_cjs.createObjectSet, transactionRid, flushEdits, ...args);
2281
+ var createClient = createClientInternal.bind(void 0, chunkZZ6DP3W4_cjs.createObjectSet, void 0, void 0);
2282
+ var createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(chunkZZ6DP3W4_cjs.createObjectSet, transactionRid, flushEdits, ...args);
2276
2283
  function createWithRid(rids) {
2277
2284
  const withRid = {
2278
2285
  type: "static",
@@ -2297,5 +2304,5 @@ exports.createOsdkObject = createOsdkObject;
2297
2304
  exports.extractPrimaryKeyFromObjectSpecifier = extractPrimaryKeyFromObjectSpecifier;
2298
2305
  exports.getDefType = getDefType;
2299
2306
  exports.isObjectSpecifiersObject = isObjectSpecifiersObject;
2300
- //# sourceMappingURL=chunk-XYZOCIVH.cjs.map
2301
- //# sourceMappingURL=chunk-XYZOCIVH.cjs.map
2307
+ //# sourceMappingURL=chunk-3QMUE6AG.cjs.map
2308
+ //# sourceMappingURL=chunk-3QMUE6AG.cjs.map