@osdk/client 2.6.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/createClient.js +5 -4
  6. package/build/browser/createClient.js.map +1 -1
  7. package/build/browser/createClient.test.js +1 -1
  8. package/build/browser/createClient.test.js.map +1 -1
  9. package/build/browser/createMinimalClient.js.map +1 -1
  10. package/build/browser/fetchMetadata.test.js +1 -1
  11. package/build/browser/fetchMetadata.test.js.map +1 -1
  12. package/build/browser/object/aggregate.js +3 -0
  13. package/build/browser/object/aggregate.js.map +1 -1
  14. package/build/browser/object/convertWireToOsdkObjects.test.js +1 -1
  15. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  16. package/build/browser/object/fetchPage.js +14 -0
  17. package/build/browser/object/fetchPage.js.map +1 -1
  18. package/build/browser/queries/applyQuery.js +5 -1
  19. package/build/browser/queries/applyQuery.js.map +1 -1
  20. package/build/browser/util/UserAgent.js +2 -2
  21. package/build/cjs/{chunk-X236OD7E.cjs → chunk-BRUBBJUT.cjs} +75 -70
  22. package/build/cjs/chunk-BRUBBJUT.cjs.map +1 -0
  23. package/build/cjs/{chunk-S3HJUSQ7.cjs → chunk-EHMN4DL4.cjs} +46 -24
  24. package/build/cjs/chunk-EHMN4DL4.cjs.map +1 -0
  25. package/build/cjs/{createClient-MAHmo-Nv.d.cts → createClient-DvwysJMX.d.cts} +1 -1
  26. package/build/cjs/index.cjs +8 -8
  27. package/build/cjs/index.d.cts +1 -1
  28. package/build/cjs/public/internal.cjs +8 -8
  29. package/build/cjs/public/unstable-do-not-use.cjs +33 -33
  30. package/build/cjs/public/unstable-do-not-use.d.cts +1 -1
  31. package/build/esm/Client.js +1 -1
  32. package/build/esm/Client.js.map +1 -1
  33. package/build/esm/MinimalClientContext.js.map +1 -1
  34. package/build/esm/createClient.js +5 -4
  35. package/build/esm/createClient.js.map +1 -1
  36. package/build/esm/createClient.test.js +1 -1
  37. package/build/esm/createClient.test.js.map +1 -1
  38. package/build/esm/createMinimalClient.js.map +1 -1
  39. package/build/esm/fetchMetadata.test.js +1 -1
  40. package/build/esm/fetchMetadata.test.js.map +1 -1
  41. package/build/esm/object/aggregate.js +3 -0
  42. package/build/esm/object/aggregate.js.map +1 -1
  43. package/build/esm/object/convertWireToOsdkObjects.test.js +1 -1
  44. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  45. package/build/esm/object/fetchPage.js +14 -0
  46. package/build/esm/object/fetchPage.js.map +1 -1
  47. package/build/esm/queries/applyQuery.js +5 -1
  48. package/build/esm/queries/applyQuery.js.map +1 -1
  49. package/build/esm/util/UserAgent.js +2 -2
  50. package/build/types/Client.d.ts +1 -1
  51. package/build/types/MinimalClientContext.d.ts +1 -1
  52. package/build/types/MinimalClientContext.d.ts.map +1 -1
  53. package/build/types/createClient.d.ts +1 -1
  54. package/build/types/createClient.d.ts.map +1 -1
  55. package/build/types/queries/applyQuery.d.ts.map +1 -1
  56. package/package.json +9 -9
  57. package/build/cjs/chunk-S3HJUSQ7.cjs.map +0 -1
  58. package/build/cjs/chunk-X236OD7E.cjs.map +0 -1
@@ -4,6 +4,6 @@ import { C as Client } from './Client-DaUJl7jZ.cjs';
4
4
  declare const createClient: (baseUrl: string, ontologyRid: string | Promise<string>, tokenProvider: () => Promise<string>, options?: {
5
5
  logger?: Logger;
6
6
  } | undefined, fetchFn?: typeof fetch | undefined) => Client;
7
- declare const createClientWithTransaction: (transactionRid: string, ...args: Parameters<typeof createClient>) => Client;
7
+ declare const createClientWithTransaction: (transactionId: string, flushEdits: () => Promise<void>, ...args: Parameters<typeof createClient>) => Client;
8
8
 
9
9
  export { createClientWithTransaction as a, createClient as c };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkX236OD7E_cjs = require('./chunk-X236OD7E.cjs');
4
- require('./chunk-S3HJUSQ7.cjs');
3
+ var chunkBRUBBJUT_cjs = require('./chunk-BRUBBJUT.cjs');
4
+ require('./chunk-EHMN4DL4.cjs');
5
5
  var chunk6SCDLAU2_cjs = require('./chunk-6SCDLAU2.cjs');
6
6
  var api = require('@osdk/api');
7
7
  var shared_net_errors = require('@osdk/shared.net.errors');
@@ -18,7 +18,7 @@ chunk6SCDLAU2_cjs.init_cjs_shims();
18
18
  // src/createPlatformClient.ts
19
19
  chunk6SCDLAU2_cjs.init_cjs_shims();
20
20
  function createPlatformClient(baseUrl, tokenProvider, options = void 0, fetchFn = fetch) {
21
- return shared_client_impl.createSharedClientContext(baseUrl, tokenProvider, chunkX236OD7E_cjs.USER_AGENT, fetchFn);
21
+ return shared_client_impl.createSharedClientContext(baseUrl, tokenProvider, chunkBRUBBJUT_cjs.USER_AGENT, fetchFn);
22
22
  }
23
23
 
24
24
  // src/util/datetimeConverters.ts
@@ -45,23 +45,23 @@ var extractDateFromIsoString = (dateTime) => {
45
45
 
46
46
  Object.defineProperty(exports, "ActionValidationError", {
47
47
  enumerable: true,
48
- get: function () { return chunkX236OD7E_cjs.ActionValidationError; }
48
+ get: function () { return chunkBRUBBJUT_cjs.ActionValidationError; }
49
49
  });
50
50
  Object.defineProperty(exports, "createAttachmentUpload", {
51
51
  enumerable: true,
52
- get: function () { return chunkX236OD7E_cjs.createAttachmentUpload; }
52
+ get: function () { return chunkBRUBBJUT_cjs.createAttachmentUpload; }
53
53
  });
54
54
  Object.defineProperty(exports, "createClient", {
55
55
  enumerable: true,
56
- get: function () { return chunkX236OD7E_cjs.createClient; }
56
+ get: function () { return chunkBRUBBJUT_cjs.createClient; }
57
57
  });
58
58
  Object.defineProperty(exports, "createObjectSpecifierFromPrimaryKey", {
59
59
  enumerable: true,
60
- get: function () { return chunkX236OD7E_cjs.createObjectSpecifierFromPrimaryKey; }
60
+ get: function () { return chunkBRUBBJUT_cjs.createObjectSpecifierFromPrimaryKey; }
61
61
  });
62
62
  Object.defineProperty(exports, "extractPrimaryKeyFromObjectSpecifier", {
63
63
  enumerable: true,
64
- get: function () { return chunkX236OD7E_cjs.extractPrimaryKeyFromObjectSpecifier; }
64
+ get: function () { return chunkBRUBBJUT_cjs.extractPrimaryKeyFromObjectSpecifier; }
65
65
  });
66
66
  Object.defineProperty(exports, "isOk", {
67
67
  enumerable: true,
@@ -3,7 +3,7 @@ export { ActionDefinition, ActionEditResponse, ActionMetadata, ActionParam, Acti
3
3
  export { PalantirApiError } from '@osdk/shared.net.errors';
4
4
  import { ValidateActionResponseV2 } from '@osdk/foundry.ontologies';
5
5
  export { C as Client } from './Client-DaUJl7jZ.cjs';
6
- export { c as createClient } from './createClient-MAHmo-Nv.cjs';
6
+ export { c as createClient } from './createClient-DvwysJMX.cjs';
7
7
  import { SharedClientContext } from '@osdk/shared.client2';
8
8
  import '@osdk/shared.client';
9
9
  import '@osdk/api/unstable';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkS3HJUSQ7_cjs = require('../chunk-S3HJUSQ7.cjs');
3
+ var chunkEHMN4DL4_cjs = require('../chunk-EHMN4DL4.cjs');
4
4
  var chunk6SCDLAU2_cjs = require('../chunk-6SCDLAU2.cjs');
5
5
 
6
6
  // src/public/internal.ts
@@ -9,8 +9,8 @@ chunk6SCDLAU2_cjs.init_cjs_shims();
9
9
  // src/public-utils/createAndFetchTempObjectSetRid.ts
10
10
  chunk6SCDLAU2_cjs.init_cjs_shims();
11
11
  async function createAndFetchTempObjectSetRid(client, objectSet) {
12
- const response = await chunkS3HJUSQ7_cjs.OntologyObjectSet_exports.createTemporary(client, await client[chunkS3HJUSQ7_cjs.additionalContext].ontologyRid, {
13
- objectSet: chunkS3HJUSQ7_cjs.getWireObjectSet(objectSet)
12
+ const response = await chunkEHMN4DL4_cjs.OntologyObjectSet_exports.createTemporary(client, await client[chunkEHMN4DL4_cjs.additionalContext].ontologyRid, {
13
+ objectSet: chunkEHMN4DL4_cjs.getWireObjectSet(objectSet)
14
14
  });
15
15
  return response.objectSetRid;
16
16
  }
@@ -18,7 +18,7 @@ async function createAndFetchTempObjectSetRid(client, objectSet) {
18
18
  // src/public-utils/hydrateObjectSetFromObjectRids.ts
19
19
  chunk6SCDLAU2_cjs.init_cjs_shims();
20
20
  function hydrateObjectSetFromObjectRids(client, definition, rids) {
21
- return chunkS3HJUSQ7_cjs.createObjectSet(definition, client[chunkS3HJUSQ7_cjs.additionalContext], {
21
+ return chunkEHMN4DL4_cjs.createObjectSet(definition, client[chunkEHMN4DL4_cjs.additionalContext], {
22
22
  type: "intersect",
23
23
  objectSets: [definition.type === "interface" ? {
24
24
  type: "interfaceBase",
@@ -39,7 +39,7 @@ function asMutableArray(array) {
39
39
  // src/public-utils/hydrateObjectSetFromRid.ts
40
40
  chunk6SCDLAU2_cjs.init_cjs_shims();
41
41
  function hydrateObjectSetFromRid(client, definition, rid) {
42
- return chunkS3HJUSQ7_cjs.createObjectSet(definition, client[chunkS3HJUSQ7_cjs.additionalContext], {
42
+ return chunkEHMN4DL4_cjs.createObjectSet(definition, client[chunkEHMN4DL4_cjs.additionalContext], {
43
43
  type: "intersect",
44
44
  objectSets: [definition.type === "interface" ? {
45
45
  type: "interfaceBase",
@@ -81,7 +81,7 @@ var levelStyles = {
81
81
  color: "orange"
82
82
  })
83
83
  };
84
- var BrowserLogger = class _BrowserLogger extends chunkS3HJUSQ7_cjs.BaseLogger {
84
+ var BrowserLogger = class _BrowserLogger extends chunkEHMN4DL4_cjs.BaseLogger {
85
85
  constructor(bindings = {}, options = {}) {
86
86
  super(bindings, {
87
87
  ...options,
@@ -107,11 +107,11 @@ var BrowserLogger = class _BrowserLogger extends chunkS3HJUSQ7_cjs.BaseLogger {
107
107
 
108
108
  Object.defineProperty(exports, "MinimalLogger", {
109
109
  enumerable: true,
110
- get: function () { return chunkS3HJUSQ7_cjs.MinimalLogger; }
110
+ get: function () { return chunkEHMN4DL4_cjs.MinimalLogger; }
111
111
  });
112
112
  Object.defineProperty(exports, "hydrateAttachmentFromRid", {
113
113
  enumerable: true,
114
- get: function () { return chunkS3HJUSQ7_cjs.hydrateAttachmentFromRid; }
114
+ get: function () { return chunkEHMN4DL4_cjs.hydrateAttachmentFromRid; }
115
115
  });
116
116
  exports.BrowserLogger = BrowserLogger;
117
117
  exports.createAndFetchTempObjectSetRid = createAndFetchTempObjectSetRid;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkX236OD7E_cjs = require('../chunk-X236OD7E.cjs');
4
- var chunkS3HJUSQ7_cjs = require('../chunk-S3HJUSQ7.cjs');
3
+ var chunkBRUBBJUT_cjs = require('../chunk-BRUBBJUT.cjs');
4
+ var chunkEHMN4DL4_cjs = require('../chunk-EHMN4DL4.cjs');
5
5
  var chunk6SCDLAU2_cjs = require('../chunk-6SCDLAU2.cjs');
6
6
  var trie = require('@wry/trie');
7
7
  var deepEqual = require('fast-deep-equal');
@@ -153,7 +153,7 @@ var WhereClauseCanonicalizer = class {
153
153
  var whereCanonicalizer = new WhereClauseCanonicalizer();
154
154
  var orderByCanonicalizer = new OrderByCanonicalizer();
155
155
  function computeObjectSetCacheKey(objectSet, options) {
156
- const keyParts = ["objectSet", chunkS3HJUSQ7_cjs.getWireObjectSet(objectSet)];
156
+ const keyParts = ["objectSet", chunkEHMN4DL4_cjs.getWireObjectSet(objectSet)];
157
157
  if (!options) {
158
158
  return JSON.stringify(keyParts);
159
159
  }
@@ -165,13 +165,13 @@ function computeObjectSetCacheKey(objectSet, options) {
165
165
  keyParts.push("props", propKeys);
166
166
  }
167
167
  if (options.union && options.union.length > 0) {
168
- keyParts.push("union", options.union.map((os) => chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
168
+ keyParts.push("union", options.union.map((os) => chunkEHMN4DL4_cjs.getWireObjectSet(os)));
169
169
  }
170
170
  if (options.intersect && options.intersect.length > 0) {
171
- keyParts.push("intersect", options.intersect.map((os) => chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
171
+ keyParts.push("intersect", options.intersect.map((os) => chunkEHMN4DL4_cjs.getWireObjectSet(os)));
172
172
  }
173
173
  if (options.subtract && options.subtract.length > 0) {
174
- keyParts.push("subtract", options.subtract.map((os) => chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
174
+ keyParts.push("subtract", options.subtract.map((os) => chunkEHMN4DL4_cjs.getWireObjectSet(os)));
175
175
  }
176
176
  if (options.pivotTo) {
177
177
  keyParts.push("pivotTo", options.pivotTo);
@@ -351,7 +351,7 @@ var OptimisticJob = class {
351
351
  return this;
352
352
  },
353
353
  createObject(type, pk, properties) {
354
- const create = store.client[chunkS3HJUSQ7_cjs.additionalContext].objectFactory2(store.client[chunkS3HJUSQ7_cjs.additionalContext], [{
354
+ const create = store.client[chunkEHMN4DL4_cjs.additionalContext].objectFactory2(store.client[chunkEHMN4DL4_cjs.additionalContext], [{
355
355
  $primaryKey: pk,
356
356
  $apiName: type.apiName,
357
357
  $objectType: type.apiName,
@@ -569,7 +569,7 @@ var Query = class {
569
569
  this.store = store;
570
570
  this.cacheKeys = store.cacheKeys;
571
571
  this.#subject = observable;
572
- this.logger = logger ?? (process.env.NODE_ENV === "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger : store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
572
+ this.logger = logger ?? (process.env.NODE_ENV === "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger : store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
573
573
  msgPrefix: process.env.NODE_ENV !== "production" ? `Query<${cacheKey.type}, ${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>` : "Query"
574
574
  }));
575
575
  }
@@ -727,7 +727,7 @@ var Query = class {
727
727
  // src/observable/internal/aggregation/AggregationQuery.ts
728
728
  var AggregationQuery = class extends Query {
729
729
  constructor(store, subject, cacheKey, opts) {
730
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
730
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
731
731
  msgPrefix: `AggregationQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
732
732
  }) : void 0);
733
733
  this.apiName = cacheKey.otherKeys[API_NAME_IDX];
@@ -1978,7 +1978,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
1978
1978
  batch.changes.modified.add(this.cacheKey);
1979
1979
  }
1980
1980
  constructor(store, subject, cacheKey, opts) {
1981
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
1981
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
1982
1982
  msgPrefix: `SpecificLinkQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
1983
1983
  }) : void 0);
1984
1984
  [this.#sourceApiName, this.#sourcePk, this.#linkName, this.#whereClause, this.#orderBy] = cacheKey.otherKeys;
@@ -1995,7 +1995,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
1995
1995
  type: "object",
1996
1996
  apiName: this.#sourceApiName
1997
1997
  };
1998
- const sourceMetadata = await client[chunkS3HJUSQ7_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
1998
+ const sourceMetadata = await client[chunkEHMN4DL4_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
1999
1999
  const sourceQuery = client(sourceObjectDef).where({
2000
2000
  [sourceMetadata.primaryKeyApiName]: this.#sourcePk
2001
2001
  });
@@ -2059,7 +2059,7 @@ var SpecificLinkQuery = class extends BaseListQuery {
2059
2059
  return this.revalidate(true);
2060
2060
  } else {
2061
2061
  return (async () => {
2062
- const sourceMetadata = await this.store.client[chunkS3HJUSQ7_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2062
+ const sourceMetadata = await this.store.client[chunkEHMN4DL4_cjs.additionalContext].ontologyProvider.getObjectDefinition(this.#sourceApiName);
2063
2063
  const linkDef = sourceMetadata.links?.[this.#linkName];
2064
2064
  if (!linkDef || linkDef.targetType !== objectType) return;
2065
2065
  const promise = this.revalidate(true);
@@ -2211,7 +2211,7 @@ var ListQuery = class extends BaseListQuery {
2211
2211
  batch.changes.registerList(this.cacheKey);
2212
2212
  }
2213
2213
  constructor(store, subject, apiName, cacheKey, opts) {
2214
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
2214
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
2215
2215
  msgPrefix: `ListQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
2216
2216
  }) : void 0);
2217
2217
  this.apiName = apiName;
@@ -2491,7 +2491,7 @@ var InterfaceListQuery = class extends ListQuery {
2491
2491
  }
2492
2492
  extractRelevantObjects(changes) {
2493
2493
  const matchesApiName = ([, object]) => {
2494
- return this.apiName in object[chunkX236OD7E_cjs.ObjectDefRef].interfaceMap;
2494
+ return this.apiName in object[chunkBRUBBJUT_cjs.ObjectDefRef].interfaceMap;
2495
2495
  };
2496
2496
  const added = Array.from(changes.addedObjects).filter(matchesApiName).map(([, object]) => object.$as(this.apiName));
2497
2497
  const modified = Array.from(changes.modifiedObjects).filter(matchesApiName).map(([, object]) => object.$as(this.apiName));
@@ -2512,7 +2512,7 @@ var InterfaceListQuery = class extends ListQuery {
2512
2512
  async function reloadDataAsFullObjects(client, data) {
2513
2513
  const groups = groupBy__default.default(data, (x) => x.$objectType);
2514
2514
  const objectTypeToPrimaryKeyToObject = Object.fromEntries(await Promise.all(Object.entries(groups).map(async ([apiName, objects]) => {
2515
- const objectDef = objects[0][chunkX236OD7E_cjs.UnderlyingOsdkObject][chunkX236OD7E_cjs.ObjectDefRef];
2515
+ const objectDef = objects[0][chunkBRUBBJUT_cjs.UnderlyingOsdkObject][chunkBRUBBJUT_cjs.ObjectDefRef];
2516
2516
  const where = {
2517
2517
  [objectDef.primaryKeyApiName]: {
2518
2518
  $in: objects.map((x) => x.$primaryKey)
@@ -2865,7 +2865,7 @@ var BulkObjectLoader = class {
2865
2865
  #maxEntries;
2866
2866
  constructor(client, maxWait = 25, maxEntries = 100) {
2867
2867
  this.#client = client;
2868
- this.#logger = client[chunkS3HJUSQ7_cjs.additionalContext].logger;
2868
+ this.#logger = client[chunkEHMN4DL4_cjs.additionalContext].logger;
2869
2869
  this.#maxWait = maxWait;
2870
2870
  this.#maxEntries = maxEntries;
2871
2871
  }
@@ -2933,7 +2933,7 @@ var ObjectQuery = class extends Query {
2933
2933
  #apiName;
2934
2934
  #pk;
2935
2935
  constructor(store, subject, type, pk, cacheKey, opts) {
2936
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
2936
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
2937
2937
  msgPrefix: `ObjectQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
2938
2938
  }) : void 0);
2939
2939
  this.#apiName = type;
@@ -3081,7 +3081,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3081
3081
  #composedObjectSet;
3082
3082
  #objectTypes;
3083
3083
  constructor(store, subject, baseObjectSetWire, operations, cacheKey, opts) {
3084
- super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
3084
+ super(store, subject, opts, cacheKey, process.env.NODE_ENV !== "production" ? store.client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
3085
3085
  msgPrefix: `ObjectSetQuery<${cacheKey.otherKeys.map((x) => JSON.stringify(x)).join(", ")}>`
3086
3086
  }) : void 0);
3087
3087
  this.#baseObjectSetWire = baseObjectSetWire;
@@ -3130,7 +3130,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3130
3130
  }
3131
3131
  if (opts.union) {
3132
3132
  for (const os of opts.union) {
3133
- const wire = chunkS3HJUSQ7_cjs.getWireObjectSet(os);
3133
+ const wire = chunkEHMN4DL4_cjs.getWireObjectSet(os);
3134
3134
  if (wire.type) {
3135
3135
  types.add(wire.type);
3136
3136
  }
@@ -3138,7 +3138,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3138
3138
  }
3139
3139
  if (opts.intersect) {
3140
3140
  for (const os of opts.intersect) {
3141
- const wire = chunkS3HJUSQ7_cjs.getWireObjectSet(os);
3141
+ const wire = chunkEHMN4DL4_cjs.getWireObjectSet(os);
3142
3142
  if (wire.type) {
3143
3143
  types.add(wire.type);
3144
3144
  }
@@ -3146,7 +3146,7 @@ var ObjectSetQuery = class extends BaseListQuery {
3146
3146
  }
3147
3147
  if (opts.subtract) {
3148
3148
  for (const os of opts.subtract) {
3149
- const wire = chunkS3HJUSQ7_cjs.getWireObjectSet(os);
3149
+ const wire = chunkEHMN4DL4_cjs.getWireObjectSet(os);
3150
3150
  if (wire.type) {
3151
3151
  types.add(wire.type);
3152
3152
  }
@@ -3227,7 +3227,7 @@ var ObjectSetHelper = class extends AbstractHelper {
3227
3227
  const {
3228
3228
  baseObjectSet
3229
3229
  } = options;
3230
- const baseObjectSetWire = JSON.stringify(chunkS3HJUSQ7_cjs.getWireObjectSet(baseObjectSet));
3230
+ const baseObjectSetWire = JSON.stringify(chunkEHMN4DL4_cjs.getWireObjectSet(baseObjectSet));
3231
3231
  const operations = this.buildCanonicalizedOperations(options);
3232
3232
  const objectSetCacheKey = this.cacheKeys.get("objectSet", baseObjectSetWire, operations);
3233
3233
  return this.store.queries.get(objectSetCacheKey, () => {
@@ -3243,13 +3243,13 @@ var ObjectSetHelper = class extends AbstractHelper {
3243
3243
  operations.withProperties = Object.keys(options.withProperties).sort();
3244
3244
  }
3245
3245
  if (options.union && options.union.length > 0) {
3246
- operations.union = options.union.map((os) => JSON.stringify(chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
3246
+ operations.union = options.union.map((os) => JSON.stringify(chunkEHMN4DL4_cjs.getWireObjectSet(os)));
3247
3247
  }
3248
3248
  if (options.intersect && options.intersect.length > 0) {
3249
- operations.intersect = options.intersect.map((os) => JSON.stringify(chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
3249
+ operations.intersect = options.intersect.map((os) => JSON.stringify(chunkEHMN4DL4_cjs.getWireObjectSet(os)));
3250
3250
  }
3251
3251
  if (options.subtract && options.subtract.length > 0) {
3252
- operations.subtract = options.subtract.map((os) => JSON.stringify(chunkS3HJUSQ7_cjs.getWireObjectSet(os)));
3252
+ operations.subtract = options.subtract.map((os) => JSON.stringify(chunkEHMN4DL4_cjs.getWireObjectSet(os)));
3253
3253
  }
3254
3254
  if (options.pivotTo) {
3255
3255
  operations.pivotTo = options.pivotTo;
@@ -3321,7 +3321,7 @@ var RdpCanonicalizer = class extends CachingCanonicalizer {
3321
3321
  apiName: "__rdp_canonicalizer_holder__"
3322
3322
  };
3323
3323
  for (const [key, rdpFunction] of Object.entries(rdp)) {
3324
- const builder = chunkS3HJUSQ7_cjs.createWithPropertiesObjectSet(
3324
+ const builder = chunkEHMN4DL4_cjs.createWithPropertiesObjectSet(
3325
3325
  objectTypeHolder,
3326
3326
  {
3327
3327
  type: "methodInput"
@@ -3372,7 +3372,7 @@ var Store = class {
3372
3372
  subjects = this.layers.subjects;
3373
3373
  // these are hopefully temporary
3374
3374
  constructor(client) {
3375
- this.logger = client[chunkS3HJUSQ7_cjs.additionalContext].logger?.child({}, {
3375
+ this.logger = client[chunkEHMN4DL4_cjs.additionalContext].logger?.child({}, {
3376
3376
  msgPrefix: "Store"
3377
3377
  });
3378
3378
  this.client = client;
@@ -3638,10 +3638,10 @@ var Store = class {
3638
3638
 
3639
3639
  // src/observable/ObservableClient.ts
3640
3640
  function createObservableClient(client) {
3641
- const tweakedClient = chunkX236OD7E_cjs.createClientFromContext({
3642
- ...client[chunkS3HJUSQ7_cjs.additionalContext],
3643
- fetch: shared_net_fetch.createFetchHeaderMutator(client[chunkS3HJUSQ7_cjs.additionalContext].fetch, (headers) => {
3644
- headers.set("Fetch-User-Agent", [headers.get("Fetch-User-Agent"), chunkX236OD7E_cjs.OBSERVABLE_USER_AGENT].filter((x) => x && x?.length > 0).join(" "));
3641
+ const tweakedClient = chunkBRUBBJUT_cjs.createClientFromContext({
3642
+ ...client[chunkEHMN4DL4_cjs.additionalContext],
3643
+ fetch: shared_net_fetch.createFetchHeaderMutator(client[chunkEHMN4DL4_cjs.additionalContext].fetch, (headers) => {
3644
+ headers.set("Fetch-User-Agent", [headers.get("Fetch-User-Agent"), chunkBRUBBJUT_cjs.OBSERVABLE_USER_AGENT].filter((x) => x && x?.length > 0).join(" "));
3645
3645
  return headers;
3646
3646
  })
3647
3647
  });
@@ -3685,11 +3685,11 @@ function getOsdkConfig(ontologyRid) {
3685
3685
 
3686
3686
  Object.defineProperty(exports, "createClientWithTransaction", {
3687
3687
  enumerable: true,
3688
- get: function () { return chunkX236OD7E_cjs.createClientWithTransaction; }
3688
+ get: function () { return chunkBRUBBJUT_cjs.createClientWithTransaction; }
3689
3689
  });
3690
3690
  Object.defineProperty(exports, "augment", {
3691
3691
  enumerable: true,
3692
- get: function () { return chunkS3HJUSQ7_cjs.augment; }
3692
+ get: function () { return chunkEHMN4DL4_cjs.augment; }
3693
3693
  });
3694
3694
  exports.computeObjectSetCacheKey = computeObjectSetCacheKey;
3695
3695
  exports.createObservableClient = createObservableClient;
@@ -1,6 +1,6 @@
1
1
  import { ObjectOrInterfaceDefinition, PropertyKeys, Augment, ObjectTypeDefinition, InterfaceDefinition, WirePropertyTypes, WhereClause, DerivedProperty, ObjectSet, LinkNames, BaseObjectSet, CompileTimeMetadata, PrimaryKeyType, Osdk, SimplePropertyDef, AggregateOpts, AggregationsResults, ActionDefinition, ActionValidationResponse } from '@osdk/api';
2
2
  import { C as Client, A as ActionSignatureFromDef } from '../Client-DaUJl7jZ.cjs';
3
- export { a as createClientWithTransaction } from '../createClient-MAHmo-Nv.cjs';
3
+ export { a as createClientWithTransaction } from '../createClient-DvwysJMX.cjs';
4
4
  import '@osdk/shared.client';
5
5
  import '@osdk/api/unstable';
6
6
  import '@osdk/shared.client2';
@@ -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.6.0";
24
+ const MaxOsdkVersion = "2.6.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\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n )\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends (InterfaceDefinition)>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends ActionDefinition<any>>(\n o: Q,\n ): ActionSignatureFromDef<Q>;\n\n <Q extends QueryDefinition<any>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n <Q extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\"> | Experiment<\"2.2.0\">>(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n fetchMetadata<\n Q extends (\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n ),\n >(o: Q): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.6.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\nexport type MaxOsdkVersion = typeof MaxOsdkVersion;\nconst ErrorMessage: unique symbol = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0BA;;AAsDA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionMetadata,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n ObjectMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n VersionBound,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport type { SharedClient } from \"@osdk/shared.client2\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\nimport type { SatisfiesSemver } from \"./SatisfiesSemver.js\";\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\ntype OldSharedClient = import(\"@osdk/shared.client\").SharedClient;\n\nexport type CheckVersionBound<Q> = Q extends VersionBound<infer V> ? (\n SatisfiesSemver<V, MaxOsdkVersion> extends true ? Q\n : Q & {\n [ErrorMessage]:\n `Your SDK requires a semver compatible version with ${V}. You have ${MaxOsdkVersion}. Update your package.json`;\n }\n )\n : Q;\n\nexport interface Client extends SharedClient, OldSharedClient {\n <Q extends ObjectTypeDefinition>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? ObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends (InterfaceDefinition)>(\n o: Q,\n ): unknown extends CompileTimeMetadata<Q>[\"objectSet\"] ? MinimalObjectSet<Q>\n : CompileTimeMetadata<Q>[\"objectSet\"];\n\n <Q extends ActionDefinition<any>>(\n o: Q,\n ): ActionSignatureFromDef<Q>;\n\n <Q extends QueryDefinition<any>>(\n o: Q,\n ): QuerySignatureFromDef<Q>;\n\n <Q extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\"> | Experiment<\"2.2.0\">>(\n experiment: Q,\n ): ExperimentFns<Q>;\n\n fetchMetadata<\n Q extends (\n | ObjectTypeDefinition\n | InterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n ),\n >(o: Q): Promise<\n Q extends ObjectTypeDefinition ? ObjectMetadata\n : Q extends InterfaceDefinition ? InterfaceMetadata\n : Q extends ActionDefinition<any> ? ActionMetadata\n : Q extends QueryDefinition<any> ? QueryMetadata\n : never\n >;\n\n /** @internal */\n [additionalContext]: MinimalClient;\n}\n\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext: unique symbol = Symbol(\"additionalContext\");\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.6.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;;AA0BA;;AAsDA;AACA;AACA,OAAO,MAAMA,iBAAgC,GAAGC,MAAM,CAAC,mBAAmB,CAAC;;AAE3E;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B;;AAEA,MAAMC,YAA2B,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.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 { Logger } from \"@osdk/api\";\nimport type { SharedClientContext } from \"@osdk/shared.client2\";\nimport type {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\n\ndeclare const tag: unique symbol;\n\nexport type ClientCacheKey = {} & { readonly [tag]: void };\n\nexport type RequestContext = {\n finalMethodCall?: string;\n};\n\nexport interface MinimalClient extends SharedClientContext {\n ontologyRid: string | Promise<string>;\n ontologyProvider: OntologyProvider;\n logger?: Logger;\n transactionId?: string;\n /** @internal */\n objectSetFactory: ObjectSetFactory<any, any>;\n /** @internal */\n objectFactory: typeof convertWireToOsdkObjects;\n /** @internal */\n objectFactory2: typeof convertWireToOsdkObjects2;\n\n clientCacheKey: ClientCacheKey;\n requestContext: RequestContext;\n narrowTypeInterfaceOrObjectMapping: Record<string, \"object\" | \"interface\">;\n}\n\nexport type MinimalClientParams = {\n metadata: MinimalClientMetadata;\n provider: OntologyProvider;\n};\n\nexport interface MinimalClientMetadata {\n ontologyRid: string | Promise<string>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.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 { Logger } from \"@osdk/api\";\nimport type { SharedClientContext } from \"@osdk/shared.client2\";\nimport type {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\n\ndeclare const tag: unique symbol;\n\nexport type ClientCacheKey = {} & { readonly [tag]: void };\n\nexport type RequestContext = {\n finalMethodCall?: string;\n};\n\nexport interface MinimalClient extends SharedClientContext {\n ontologyRid: string | Promise<string>;\n ontologyProvider: OntologyProvider;\n logger?: Logger;\n /** @internal */\n objectSetFactory: ObjectSetFactory<any, any>;\n /** @internal */\n objectFactory: typeof convertWireToOsdkObjects;\n /** @internal */\n objectFactory2: typeof convertWireToOsdkObjects2;\n /** @internal */\n\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n\n clientCacheKey: ClientCacheKey;\n requestContext: RequestContext;\n narrowTypeInterfaceOrObjectMapping: Record<string, \"object\" | \"interface\">;\n}\n\nexport type MinimalClientParams = {\n metadata: MinimalClientMetadata;\n provider: OntologyProvider;\n};\n\nexport interface MinimalClientMetadata {\n ontologyRid: string | Promise<string>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -51,7 +51,7 @@ class QueryInvoker {
51
51
  }
52
52
 
53
53
  /** @internal */
54
- export function createClientInternal(objectSetFactory, transactionRid, baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
54
+ export function createClientInternal(objectSetFactory, transactionRid, flushEdits, baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
55
55
  if (typeof ontologyRid === "string") {
56
56
  if (!ontologyRid.startsWith("ri.")) {
57
57
  throw new Error("Invalid ontology RID");
@@ -70,7 +70,8 @@ export function createClientInternal(objectSetFactory, transactionRid, baseUrl,
70
70
  }, baseUrl, tokenProvider, {
71
71
  ...options,
72
72
  logger: options?.logger ?? new MinimalLogger(),
73
- transactionId: transactionRid
73
+ transactionId: transactionRid,
74
+ flushEdits
74
75
  }, fetchFn, objectSetFactory);
75
76
  return createClientFromContext(clientCtx);
76
77
  }
@@ -144,8 +145,8 @@ export function createClientFromContext(clientCtx) {
144
145
  });
145
146
  return client;
146
147
  }
147
- export const createClient = createClientInternal.bind(undefined, createObjectSet, undefined);
148
- export const createClientWithTransaction = (transactionRid, ...args) => createClientInternal(createObjectSet, transactionRid, ...args);
148
+ export const createClient = createClientInternal.bind(undefined, createObjectSet, undefined, undefined);
149
+ export const createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(createObjectSet, transactionRid, flushEdits, ...args);
149
150
  function createWithRid(rids) {
150
151
  return {
151
152
  type: "static",
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionRid: string,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","OntologiesV2","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","MinimalLogger","fetchPage","fetchStaticRidPage","fetchSingle","createObjectSet","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","transactionRid","flushEdits","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","logger","transactionId","createClientFromContext","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","fetchOneByRid","objectType","rid","createWithRid","createMediaReference","args","data","fileName","propertyType","MediaReferenceProperties","upload","apiName","mediaItemPath","preview","fetchPageByRid","objectOrInterfaceType","rids","fetchPageByRidNoType","value","createClient","createClientWithTransaction"],"sources":["createClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SelectArg,\n} from \"@osdk/api\";\nimport type {\n Experiment,\n ExperimentFns,\n MinimalObjectSet,\n} from \"@osdk/api/unstable\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,\n} from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport type { ActionSignatureFromDef } from \"./actions/applyAction.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext, type Client } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nimport type { QuerySignatureFromDef } from \"./queries/types.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\ntype newSymbolClientContext =\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports\n typeof import(\"@osdk/shared.client2\").symbolClientContext;\n\nclass ActionInvoker<Q extends ActionDefinition<any>>\n implements ActionSignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n actionDef: ActionDefinition<any>,\n ) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n\n applyAction: (...args: any[]) => any;\n batchApplyAction: (...args: any[]) => any;\n}\n\nclass QueryInvoker<Q extends QueryDefinition<any>>\n implements QuerySignatureFromDef<Q>\n{\n constructor(\n clientCtx: MinimalClient,\n queryDef: QueryDefinition<any>,\n ) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n\n executeFunction: (...args: any[]) => any;\n}\n\n/** @internal */\nexport function createClientInternal(\n objectSetFactory: ObjectSetFactory<any, any>,\n transactionRid: string | undefined,\n flushEdits: (() => Promise<void>) | undefined,\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options: { logger?: Logger } | undefined = undefined,\n fetchFn: typeof globalThis.fetch = fetch,\n): Client {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n\n const clientCtx: MinimalClient = createMinimalClient(\n { ontologyRid },\n baseUrl,\n tokenProvider,\n {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits,\n },\n fetchFn,\n objectSetFactory,\n );\n\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx: MinimalClient) {\n function clientFn<\n T extends\n | ObjectOrInterfaceDefinition\n | ActionDefinition<any>\n | QueryDefinition<any>\n | Experiment<\"2.0.8\">\n | Experiment<\"2.1.0\">,\n >(o: T): T extends ObjectTypeDefinition ? ObjectSet<T>\n : T extends InterfaceDefinition ? MinimalObjectSet<T>\n : T extends ActionDefinition<any> ? ActionSignatureFromDef<T>\n : T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : T extends Experiment<\"2.0.8\"> | Experiment<\"2.1.0\">\n ? { invoke: ExperimentFns<T> }\n : never\n {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx) as any;\n } else if (o.type === \"action\") {\n return new ActionInvoker(\n clientCtx,\n o,\n ) as (T extends ActionDefinition<any>\n // first `as` to the action definition for our \"real\" typecheck\n ? ActionSignatureFromDef<T>\n : never) as any; // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(\n clientCtx,\n o,\n ) as (T extends QueryDefinition<any> ? QuerySignatureFromDef<T>\n : never) as any;\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(\n clientCtx,\n ),\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectType: Q,\n rid: string,\n options: SelectArg<Q, L, R, S>,\n ) => {\n return await fetchSingle(\n clientCtx,\n objectType,\n options,\n createWithRid(\n [rid],\n ),\n ) as Osdk<Q>;\n },\n } as any;\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async <\n Q extends ObjectTypeDefinition,\n const L extends PropertyKeys.Filtered<Q, \"mediaReference\">,\n >(args: {\n data: Blob;\n fileName: string;\n objectType: Q;\n propertyType: L;\n }) => {\n const { data, fileName, objectType, propertyType } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(\n clientCtx,\n await clientCtx.ontologyRid,\n objectType.apiName,\n propertyType as string,\n data,\n {\n mediaItemPath: fileName,\n preview: true,\n },\n );\n },\n } as any;\n\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async <\n Q extends ObjectOrInterfaceDefinition,\n const L extends PropertyKeys<Q>,\n const R extends boolean,\n const S extends false | \"throw\" = NullabilityAdherence.Default,\n >(\n objectOrInterfaceType: Q,\n rids: string[],\n options: FetchPageArgs<Q, L, R, any, S> = {},\n ) => {\n return await fetchPage(\n clientCtx,\n objectOrInterfaceType,\n options,\n createWithRid(rids),\n );\n },\n fetchPageByRidNoType: async <\n const R extends boolean,\n const S extends NullabilityAdherence,\n const T extends boolean,\n >(\n rids: readonly string[],\n options?: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n any,\n R,\n any,\n S,\n T\n >,\n ) => {\n return await fetchStaticRidPage(\n clientCtx,\n rids,\n options ?? {},\n );\n },\n } as any;\n }\n\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n\n const fetchMetadata = fetchMetadataInternal.bind(\n undefined,\n clientCtx,\n );\n\n const symbolClientContext: newSymbolClientContext = \"__osdkClientContext\";\n\n const client: Client = Object.defineProperties<Client>(\n clientFn as Client,\n {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n } satisfies Record<keyof Client, PropertyDescriptor>,\n );\n\n return client;\n}\n\nexport const createClient: (\n baseUrl: string,\n ontologyRid: string | Promise<string>,\n tokenProvider: () => Promise<string>,\n options?: {\n logger?: Logger;\n } | undefined,\n fetchFn?: typeof fetch | undefined,\n) => Client = createClientInternal.bind(\n undefined,\n createObjectSet,\n undefined,\n undefined,\n);\n\nexport const createClientWithTransaction: (\n transactionId: string,\n flushEdits: () => Promise<void>,\n ...args: Parameters<typeof createClient>\n) => Client = (transactionRid, flushEdits, ...args) =>\n createClientInternal(\n createObjectSet,\n transactionRid,\n flushEdits,\n ...args,\n ) as Client;\n\nfunction createWithRid(\n rids: string[],\n) {\n const withRid: WireObjectSet = {\n type: \"static\",\n \"objects\": rids,\n };\n\n return withRid;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBA,SACEA,uDAAuD,EACvDC,gDAAgD,EAChDC,iDAAiD,EACjDC,+CAA+C,QAC1C,oBAAoB;AAE3B,OAAO,KAAKC,YAAY,MAAM,0BAA0B;AACxD,SAASC,mBAAmB,IAAIC,sBAAsB,QAAQ,qBAAqB;AACnF,SAASC,+BAA+B,QAAQ,iDAAiD;AAEjG,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,iBAAiB,QAAqB,aAAa;AAC5D,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,qBAAqB,QAAQ,oBAAoB;AAC1D,SAASC,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,uBAAuB;AACrE,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,QAAQ,gCAAgC;AAEhE,SAASC,UAAU,QAAQ,yBAAyB;;AAGpD;AACA;AACA;AACA;AACA;;AAKA,MAAMC,aAAa,CAEnB;EACEC,WAAWA,CACTC,SAAwB,EACxBC,SAAgC,EAChC;IACA;IACA;IACA;IACA;IACA,IAAI,CAACb,WAAW,GAAGA,WAAW,CAACc,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;IACpE,IAAI,CAACG,gBAAgB,GAAGhB,WAAW,CAACc,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;EAC3E;AAIF;AAEA,MAAMI,YAAY,CAElB;EACEN,WAAWA,CACTC,SAAwB,EACxBM,QAA8B,EAC9B;IACA,IAAI,CAACC,eAAe,GAAGV,UAAU,CAACK,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEM,QAAQ,CAAC;EACxE;AAGF;;AAEA;AACA,OAAO,SAASE,oBAAoBA,CAClCC,gBAA4C,EAC5CC,cAAkC,EAClCC,UAA6C,EAC7CC,OAAe,EACfC,WAAqC,EACrCC,aAAoC,EACpCC,OAAwC,GAAGZ,SAAS,EACpDa,OAAgC,GAAGC,KAAK,EAChC;EACR,IAAI,OAAOJ,WAAW,KAAK,QAAQ,EAAE;IACnC,IAAI,CAACA,WAAW,CAACK,UAAU,CAAC,KAAK,CAAC,EAAE;MAClC,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IACzC;EACF,CAAC,MAAM;IACL;IACAN,WAAW,CAACO,IAAI,CAAEP,WAAW,IAAK;MAChC,IAAI,CAACA,WAAW,CAACK,UAAU,CAAC,KAAK,CAAC,EAAE;QAClC;QACA,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;MACzC;IACF,CAAC,CAAC;EACJ;EAEA,MAAMnB,SAAwB,GAAGV,mBAAmB,CAClD;IAAEuB;EAAY,CAAC,EACfD,OAAO,EACPE,aAAa,EACb;IACE,GAAGC,OAAO;IACVM,MAAM,EAAEN,OAAO,EAAEM,MAAM,IAAI,IAAI7B,aAAa,CAAC,CAAC;IAC9C8B,aAAa,EAAEZ,cAAc;IAC7BC;EACF,CAAC,EACDK,OAAO,EACPP,gBACF,CAAC;EAED,OAAOc,uBAAuB,CAACvB,SAAS,CAAC;AAC3C;;AAEA;AACA;AACA;AACA,OAAO,SAASuB,uBAAuBA,CAACvB,SAAwB,EAAE;EAyIhE,MAAMwB,aAAa,GAAGjC,qBAAqB,CAACW,IAAI,CAC9CC,SAAS,EACTH,SACF,CAAC;EAID,MAAMyB,MAAc,GAAGC,MAAM,CAACC,gBAAgB,CA/I9C,UAOEC,CAAI,EAON;IACE,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,IAAID,CAAC,CAACC,IAAI,KAAK,WAAW,EAAE;MACjD,OAAO7B,SAAS,CAACS,gBAAgB,CAACmB,CAAC,EAAE5B,SAAS,CAAC;IACjD,CAAC,MAAM,IAAI4B,CAAC,CAACC,IAAI,KAAK,QAAQ,EAAE;MAC9B,OAAO,IAAI/B,aAAa,CACtBE,SAAS,EACT4B,CACF,CAAC,CAGiB,CAAC;IACrB,CAAC,MAAM,IAAIA,CAAC,CAACC,IAAI,KAAK,OAAO,EAAE;MAC7B,OAAO,IAAIxB,YAAY,CACrBL,SAAS,EACT4B,CACF,CAAC;IAEH,CAAC,MAAM,IAAIA,CAAC,CAACC,IAAI,KAAK,YAAY,EAAE;MAClC,QAAQD,CAAC,CAACE,IAAI;QACZ,KAAK/C,+CAA+C,CAAC+C,IAAI;UACvD,OAAO;YACLC,YAAY,EAAE5C,+BAA+B,CAC3Ca,SACF;UACF,CAAC;QACH,KAAKnB,gDAAgD,CAACiD,IAAI;UACxD,OAAO;YACLE,aAAa,EAAE,MAAAA,CAMbC,UAAa,EACbC,GAAW,EACXnB,OAA8B,KAC3B;cACH,OAAO,MAAMpB,WAAW,CACtBK,SAAS,EACTiC,UAAU,EACVlB,OAAO,EACPoB,aAAa,CACX,CAACD,GAAG,CACN,CACF,CAAC;YACH;UACF,CAAC;QACH,KAAKtD,uDAAuD,CAACkD,IAAI;UAC/D,OAAO;YACLM,oBAAoB,EAAE,MAGpBC,IAKD,IAAK;cACJ,MAAM;gBAAEC,IAAI;gBAAEC,QAAQ;gBAAEN,UAAU;gBAAEO;cAAa,CAAC,GAAGH,IAAI;cACzD,OAAO,MAAMrD,YAAY,CAACyD,wBAAwB,CAACC,MAAM,CACvD1C,SAAS,EACT,MAAMA,SAAS,CAACa,WAAW,EAC3BoB,UAAU,CAACU,OAAO,EAClBH,YAAY,EACZF,IAAI,EACJ;gBACEM,aAAa,EAAEL,QAAQ;gBACvBM,OAAO,EAAE;cACX,CACF,CAAC;YACH;UACF,CAAC;QAEH,KAAK/D,iDAAiD,CAACgD,IAAI;UACzD,OAAO;YACLgB,cAAc,EAAE,MAAAA,CAMdC,qBAAwB,EACxBC,IAAc,EACdjC,OAAuC,GAAG,CAAC,CAAC,KACzC;cACH,OAAO,MAAMtB,SAAS,CACpBO,SAAS,EACT+C,qBAAqB,EACrBhC,OAAO,EACPoB,aAAa,CAACa,IAAI,CACpB,CAAC;YACH,CAAC;YACDC,oBAAoB,EAAE,MAAAA,CAKpBD,IAAuB,EACvBjC,OAOC,KACE;cACH,OAAO,MAAMrB,kBAAkB,CAC7BM,SAAS,EACTgD,IAAI,EACJjC,OAAO,IAAI,CAAC,CACd,CAAC;YACH;UACF,CAAC;MACL;MAEA,MAAM,IAAII,KAAK,CAAC,iBAAiB,CAAC;IACpC,CAAC,MAAM;MACL,MAAM,IAAIA,KAAK,CAAC,iBAAiB,CAAC;IACpC;EACF,CAAC,EAWC;IACE,CAACjC,sBAAsB,GAAG;MACxBgE,KAAK,EAAElD;IACT,CAAC;IACD,CARgD,qBAAqB,GAQ9C;MACrBkD,KAAK,EAAElD;IACT,CAAC;IACD,CAACX,iBAAiB,GAAG;MACnB6D,KAAK,EAAElD;IACT,CAAC;IACDwB,aAAa,EAAE;MACb0B,KAAK,EAAE1B;IACT;EACF,CACF,CAAC;EAED,OAAOC,MAAM;AACf;AAEA,OAAO,MAAM0B,YAQF,GAAG3C,oBAAoB,CAACN,IAAI,CACrCC,SAAS,EACTP,eAAe,EACfO,SAAS,EACTA,SACF,CAAC;AAED,OAAO,MAAMiD,2BAIF,GAAGA,CAAC1C,cAAc,EAAEC,UAAU,EAAE,GAAG0B,IAAI,KAChD7B,oBAAoB,CAClBZ,eAAe,EACfc,cAAc,EACdC,UAAU,EACV,GAAG0B,IACL,CAAW;AAEb,SAASF,aAAaA,CACpBa,IAAc,EACd;EAMA,OAL+B;IAC7BnB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAEmB;EACb,CAAC;AAGH","ignoreList":[]}
@@ -77,7 +77,7 @@ describe(createClient, () => {
77
77
  describe("client created with transactionId forwards to requests", () => {
78
78
  it("forwards transactionId in fetchPage", async () => {
79
79
  const transactionId = "test-transaction-id";
80
- const clientWithTransaction = createClientWithTransaction(transactionId, "https://mock.com", ontologyRid, async () => "Token", {}, fetchFunction);
80
+ const clientWithTransaction = createClientWithTransaction(transactionId, async () => {}, "https://mock.com", ontologyRid, async () => "Token", {}, fetchFunction);
81
81
  mockFetchResponse(fetchFunction, {
82
82
  data: []
83
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.test.js","names":["BarInterface","SharedClientContext","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","createClientWithTransaction","MakeConjureContext","USER_AGENT","mockFetchResponse","fetch","response","mockResolvedValueOnce","json","Promise","resolve","blob","status","ok","fetchFunction","client","ontologyRid","fn","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value","transactionId","clientWithTransaction","url","toBeDefined","parsedUrl","URL","someParam","searchParams"],"sources":["createClient.test.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 { BarInterface } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport type { Client } from \"./Client.js\";\nimport { createClient, createClientWithTransaction } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\nexport function mockFetchResponse(\n fetch: MockedFunction<typeof globalThis.fetch>,\n response: any,\n): void {\n fetch.mockResolvedValueOnce({\n json: () => Promise.resolve(response),\n blob: () => Promise.resolve(response),\n status: 200,\n ok: true,\n } as any);\n}\n\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\" as const;\n const validCurrentVersion = \"0.14.0\" as const;\n const invalidFutureVersion = \"100.100.100\" as const;\n\n let fetchFunction: MockedFunction<typeof globalThis.fetch>;\n let client: Client;\n\n const ontologyRid = \"ri.not.important\";\n\n beforeEach(() => {\n fetchFunction = vi.fn();\n\n client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n });\n\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers as Headers)\n .get(\n \"Fetch-User-Agent\",\n );\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n\n it(\"works for objects\", async () => {\n await client(BarInterface).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...BarInterface.osdkMetadata!\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n\n createClient(\n \"https://mock1.com/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n\n createClient(\n \"https://mock2.com/stuff/first/foo\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n\n createClient(\n \"https://mock3.com/stuff/first/foo/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n\n const conjureContextSpy = vi.spyOn(\n MakeConjureContext,\n \"makeConjureContext\",\n );\n\n void metadataCacheClient(\n {\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n } as any,\n );\n\n expect(\n conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"],\n ).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n\n describe(\"client created with transactionId forwards to requests\", () => {\n it(\"forwards transactionId in fetchPage\", async () => {\n const transactionId = \"test-transaction-id\";\n const clientWithTransaction = createClientWithTransaction(\n transactionId,\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n {},\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n\n await clientWithTransaction(BarInterface).fetchPage();\n\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const url = fetchFunction.mock.calls[0][0];\n expect(url).toBeDefined();\n\n const parsedUrl = new URL(url as string, \"https://mock.com\");\n const someParam = parsedUrl.searchParams.get(\"transactionId\");\n\n // Example: Assert a param\n expect(someParam).toBe(transactionId);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createClient.test.js","names":["BarInterface","SharedClientContext","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","createClientWithTransaction","MakeConjureContext","USER_AGENT","mockFetchResponse","fetch","response","mockResolvedValueOnce","json","Promise","resolve","blob","status","ok","fetchFunction","client","ontologyRid","fn","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value","transactionId","clientWithTransaction","url","toBeDefined","parsedUrl","URL","someParam","searchParams"],"sources":["createClient.test.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 { BarInterface } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport type { Client } from \"./Client.js\";\nimport { createClient, createClientWithTransaction } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\nexport function mockFetchResponse(\n fetch: MockedFunction<typeof globalThis.fetch>,\n response: any,\n): void {\n fetch.mockResolvedValueOnce({\n json: () => Promise.resolve(response),\n blob: () => Promise.resolve(response),\n status: 200,\n ok: true,\n } as any);\n}\n\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\" as const;\n const validCurrentVersion = \"0.14.0\" as const;\n const invalidFutureVersion = \"100.100.100\" as const;\n\n let fetchFunction: MockedFunction<typeof globalThis.fetch>;\n let client: Client;\n\n const ontologyRid = \"ri.not.important\";\n\n beforeEach(() => {\n fetchFunction = vi.fn();\n\n client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n });\n\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers as Headers)\n .get(\n \"Fetch-User-Agent\",\n );\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n\n it(\"works for objects\", async () => {\n await client(BarInterface).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...BarInterface.osdkMetadata!\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n\n createClient(\n \"https://mock1.com/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n\n createClient(\n \"https://mock2.com/stuff/first/foo\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n\n createClient(\n \"https://mock3.com/stuff/first/foo/\",\n ontologyRid,\n async () => \"Token\",\n undefined,\n fetchFunction,\n );\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n\n const conjureContextSpy = vi.spyOn(\n MakeConjureContext,\n \"makeConjureContext\",\n );\n\n void metadataCacheClient(\n {\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n } as any,\n );\n\n expect(\n conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"],\n ).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n\n describe(\"client created with transactionId forwards to requests\", () => {\n it(\"forwards transactionId in fetchPage\", async () => {\n const transactionId = \"test-transaction-id\";\n const clientWithTransaction = createClientWithTransaction(\n transactionId,\n async () => {},\n \"https://mock.com\",\n ontologyRid,\n async () => \"Token\",\n {},\n fetchFunction,\n );\n\n mockFetchResponse(fetchFunction, { data: [] });\n\n await clientWithTransaction(BarInterface).fetchPage();\n\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const url = fetchFunction.mock.calls[0][0];\n expect(url).toBeDefined();\n\n const parsedUrl = new URL(url as string, \"https://mock.com\");\n const someParam = parsedUrl.searchParams.get(\"transactionId\");\n\n // Example: Assert a param\n expect(someParam).toBe(transactionId);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}