@osdk/client 2.6.0-beta.6 → 2.6.0-beta.8

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 (79) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/build/browser/index.js.map +1 -1
  3. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +31 -23
  4. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  5. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +233 -63
  6. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  7. package/build/browser/object/mediaUpload.js +1 -1
  8. package/build/browser/object/mediaUpload.js.map +1 -1
  9. package/build/browser/observable/internal/base-list/BaseListQuery.js +133 -2
  10. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  11. package/build/browser/observable/internal/links/LinksHelper.js +3 -0
  12. package/build/browser/observable/internal/links/LinksHelper.js.map +1 -1
  13. package/build/browser/observable/internal/list/ListQuery.js +6 -58
  14. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  15. package/build/browser/observable/internal/objectset/ObjectSetHelper.js +5 -1
  16. package/build/browser/observable/internal/objectset/ObjectSetHelper.js.map +1 -1
  17. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +3 -0
  18. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  19. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -1
  20. package/build/browser/observable/internal/types/ObjectUpdate.js +2 -0
  21. package/build/browser/observable/internal/types/ObjectUpdate.js.map +1 -0
  22. package/build/browser/util/UserAgent.js +2 -2
  23. package/build/browser/util/toDataValue.js +3 -2
  24. package/build/browser/util/toDataValue.js.map +1 -1
  25. package/build/browser/util/toDataValue.test.js +1 -1
  26. package/build/browser/util/toDataValue.test.js.map +1 -1
  27. package/build/cjs/{chunk-VNLY3YOJ.cjs → chunk-HJV24UL2.cjs} +76 -78
  28. package/build/cjs/chunk-HJV24UL2.cjs.map +1 -0
  29. package/build/cjs/{chunk-3ZJESPX6.cjs → chunk-PCNVSZXT.cjs} +133 -67
  30. package/build/cjs/chunk-PCNVSZXT.cjs.map +1 -0
  31. package/build/cjs/index.cjs +8 -8
  32. package/build/cjs/index.d.cts +1 -1
  33. package/build/cjs/public/internal.cjs +8 -8
  34. package/build/cjs/public/unstable-do-not-use.cjs +179 -92
  35. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  36. package/build/cjs/public/unstable-do-not-use.d.cts +1 -0
  37. package/build/esm/index.js.map +1 -1
  38. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +31 -23
  39. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  40. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +233 -63
  41. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  42. package/build/esm/object/mediaUpload.js +1 -1
  43. package/build/esm/object/mediaUpload.js.map +1 -1
  44. package/build/esm/observable/internal/base-list/BaseListQuery.js +133 -2
  45. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  46. package/build/esm/observable/internal/links/LinksHelper.js +3 -0
  47. package/build/esm/observable/internal/links/LinksHelper.js.map +1 -1
  48. package/build/esm/observable/internal/list/ListQuery.js +6 -58
  49. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  50. package/build/esm/observable/internal/objectset/ObjectSetHelper.js +5 -1
  51. package/build/esm/observable/internal/objectset/ObjectSetHelper.js.map +1 -1
  52. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +3 -0
  53. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  54. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -1
  55. package/build/esm/observable/internal/types/ObjectUpdate.js +2 -0
  56. package/build/esm/observable/internal/types/ObjectUpdate.js.map +1 -0
  57. package/build/esm/util/UserAgent.js +2 -2
  58. package/build/esm/util/toDataValue.js +3 -2
  59. package/build/esm/util/toDataValue.js.map +1 -1
  60. package/build/esm/util/toDataValue.test.js +1 -1
  61. package/build/esm/util/toDataValue.test.js.map +1 -1
  62. package/build/types/index.d.ts +1 -1
  63. package/build/types/index.d.ts.map +1 -1
  64. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +42 -2
  65. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
  66. package/build/types/observable/internal/links/LinksHelper.d.ts +4 -0
  67. package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -1
  68. package/build/types/observable/internal/list/ListQuery.d.ts +2 -8
  69. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  70. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts.map +1 -1
  71. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +2 -1
  72. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  73. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts +1 -0
  74. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts.map +1 -1
  75. package/build/types/observable/internal/types/ObjectUpdate.d.ts +11 -0
  76. package/build/types/observable/internal/types/ObjectUpdate.d.ts.map +1 -0
  77. package/package.json +9 -8
  78. package/build/cjs/chunk-3ZJESPX6.cjs.map +0 -1
  79. package/build/cjs/chunk-VNLY3YOJ.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toDataValue.test.js","names":["NULL_VALUE","Employee","Task","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","isMediaReference","getWireObjectSet","toDataValue","client","clientCtx","mockActionMetadata","apiServer","fn","testSetup","ontologyRid","fauxFoundry","defaultOntologyRid","baseUrl","auth","apiName","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","Blob","JSON","stringify","attachmentUpload","converted","toMatch","file","Object","assign","name","type","data","path","boundary","use","MediaReferenceProperties","uploadMedia","mimeType","reference","mediaSetViewItem","mediaItemRid","mediaSetRid","mediaSetViewRid","toBe","mediaReference","toBeNull","Symbol","for"],"sources":["toDataValue.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 { NULL_VALUE } from \"@osdk/api\";\nimport type { ActionMetadata, MediaUpload } from \"@osdk/api\";\nimport { Employee, Task } from \"@osdk/client.test.ontology\";\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n let mockActionMetadata: ActionMetadata;\n let apiServer: SetupServer;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n\n apiServer = testSetup.apiServer;\n\n clientCtx = createMinimalClient(\n { ontologyRid: testSetup.fauxFoundry.defaultOntologyRid },\n testSetup.fauxFoundry.baseUrl,\n testSetup.auth,\n {},\n );\n\n // toDataValue only needs the apiName right now, update this if that changes\n const fakeActionMetadata = {\n apiName: \"createUnstructuredImageExampleObject\",\n };\n mockActionMetadata = fakeActionMetadata as ActionMetadata;\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(\n basic,\n clientCtx,\n mockActionMetadata,\n );\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue(\n {\n attachment,\n attachmentArray,\n attachmentSet,\n },\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(\n struct,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(\n employee,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(\n task,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(\n clientObjectSet,\n clientCtx,\n mockActionMetadata,\n );\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(\n definition,\n clientCtx,\n mockActionMetadata,\n );\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob = new Blob([JSON.stringify({ \"hi\": \"mom\" })]);\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(\n attachmentUpload,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const file = Object.assign(\n new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts media uploads correctly\", async () => {\n const file: MediaUpload = {\n data: new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n path: \"file.txt\",\n };\n\n // TODO: Mock MediaUpload properly in FauxFoundry\n apiServer.boundary(async () => {\n apiServer.use(\n MockOntologiesV2.MediaReferenceProperties.uploadMedia(\n \"https://stack.palantir.com\",\n () => {\n return {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n },\n ),\n );\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(isMediaReference(converted)).toBe(true);\n });\n });\n\n it(\"converts media reference correctly\", async () => {\n const mediaReference: MediaReference = {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n\n const converted = await toDataValue(\n mediaReference,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(mediaReference);\n });\n\n it(\"Converts NULL_VALUE to null\", async () => {\n const converted = await toDataValue(\n NULL_VALUE,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toBeNull();\n });\n\n it(\"Converts NULL_VALUE equivalents to null\", async () => {\n const clearData = Symbol.for(\"NULL_VALUE\") as symbol & {\n __type: \"NULL_VALUE\";\n };\n const converted = await toDataValue(\n clearData,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(null);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"toDataValue.test.js","names":["NULL_VALUE","Employee","Task","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","isMediaReference","getWireObjectSet","toDataValue","client","clientCtx","mockActionMetadata","apiServer","fn","testSetup","ontologyRid","fauxFoundry","defaultOntologyRid","baseUrl","auth","apiName","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","Blob","JSON","stringify","attachmentUpload","converted","toMatch","file","Object","assign","name","type","data","fileName","boundary","use","MediaReferenceProperties","uploadMedia","mimeType","reference","mediaSetViewItem","mediaItemRid","mediaSetRid","mediaSetViewRid","toBe","mediaReference","toBeNull","Symbol","for"],"sources":["toDataValue.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 { NULL_VALUE } from \"@osdk/api\";\nimport type { ActionMetadata, MediaUpload } from \"@osdk/api\";\nimport { Employee, Task } from \"@osdk/client.test.ontology\";\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n let mockActionMetadata: ActionMetadata;\n let apiServer: SetupServer;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n\n apiServer = testSetup.apiServer;\n\n clientCtx = createMinimalClient(\n { ontologyRid: testSetup.fauxFoundry.defaultOntologyRid },\n testSetup.fauxFoundry.baseUrl,\n testSetup.auth,\n {},\n );\n\n // toDataValue only needs the apiName right now, update this if that changes\n const fakeActionMetadata = {\n apiName: \"createUnstructuredImageExampleObject\",\n };\n mockActionMetadata = fakeActionMetadata as ActionMetadata;\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(\n basic,\n clientCtx,\n mockActionMetadata,\n );\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue(\n {\n attachment,\n attachmentArray,\n attachmentSet,\n },\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(\n struct,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(\n employee,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(\n task,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(\n clientObjectSet,\n clientCtx,\n mockActionMetadata,\n );\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(\n definition,\n clientCtx,\n mockActionMetadata,\n );\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob = new Blob([JSON.stringify({ \"hi\": \"mom\" })]);\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(\n attachmentUpload,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const file = Object.assign(\n new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts media uploads correctly\", async () => {\n const file: MediaUpload = {\n data: new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n fileName: \"file.txt\",\n };\n\n // TODO: Mock MediaUpload properly in FauxFoundry\n apiServer.boundary(async () => {\n apiServer.use(\n MockOntologiesV2.MediaReferenceProperties.uploadMedia(\n \"https://stack.palantir.com\",\n () => {\n return {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n },\n ),\n );\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(isMediaReference(converted)).toBe(true);\n });\n });\n\n it(\"converts media reference correctly\", async () => {\n const mediaReference: MediaReference = {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n\n const converted = await toDataValue(\n mediaReference,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(mediaReference);\n });\n\n it(\"Converts NULL_VALUE to null\", async () => {\n const converted = await toDataValue(\n NULL_VALUE,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toBeNull();\n });\n\n it(\"Converts NULL_VALUE equivalents to null\", async () => {\n const clearData = Symbol.for(\"NULL_VALUE\") as symbol & {\n __type: \"NULL_VALUE\";\n };\n const converted = await toDataValue(\n clearData,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(null);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -3,16 +3,16 @@
3
3
  var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
4
4
  var shared_net_errors = require('@osdk/shared.net.errors');
5
5
  var shared_net_fetch = require('@osdk/shared.net.fetch');
6
- var invariant5 = require('tiny-invariant');
6
+ var invariant3 = require('tiny-invariant');
7
7
  var api = require('@osdk/api');
8
8
  var WebSocket = require('isomorphic-ws');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
 
12
- var invariant5__default = /*#__PURE__*/_interopDefault(invariant5);
12
+ var invariant3__default = /*#__PURE__*/_interopDefault(invariant3);
13
13
  var WebSocket__default = /*#__PURE__*/_interopDefault(WebSocket);
14
14
 
15
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
15
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
16
16
  var Action_exports = {};
17
17
  chunkQ7SFCCGT_cjs.__export(Action_exports, {
18
18
  apply: () => apply,
@@ -89,7 +89,7 @@ function parseUrl(baseUrl, endpointPath) {
89
89
  return new URL(`api${endpointPath}`, baseUrl);
90
90
  }
91
91
 
92
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
92
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
93
93
  var _apply = [1, "/v2/ontologies/{0}/actions/{1}/apply", 3];
94
94
  function apply($ctx, ...args) {
95
95
  return foundryPlatformFetch($ctx, _apply, ...args);
@@ -103,7 +103,7 @@ function applyBatch($ctx, ...args) {
103
103
  return foundryPlatformFetch($ctx, _applyBatch, ...args);
104
104
  }
105
105
 
106
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ActionTypeV2.js
106
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ActionTypeV2.js
107
107
  var ActionTypeV2_exports = {};
108
108
  chunkQ7SFCCGT_cjs.__export(ActionTypeV2_exports, {
109
109
  get: () => get,
@@ -123,7 +123,7 @@ function getByRid($ctx, ...args) {
123
123
  return foundryPlatformFetch($ctx, _getByRid, ...args);
124
124
  }
125
125
 
126
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Attachment.js
126
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Attachment.js
127
127
  var Attachment_exports = {};
128
128
  chunkQ7SFCCGT_cjs.__export(Attachment_exports, {
129
129
  get: () => get2,
@@ -148,13 +148,12 @@ function get2($ctx, ...args) {
148
148
  return foundryPlatformFetch($ctx, _get2, ...args);
149
149
  }
150
150
 
151
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/MediaReferenceProperty.js
151
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/MediaReferenceProperty.js
152
152
  var MediaReferenceProperty_exports = {};
153
153
  chunkQ7SFCCGT_cjs.__export(MediaReferenceProperty_exports, {
154
154
  getMediaContent: () => getMediaContent,
155
155
  getMediaMetadata: () => getMediaMetadata,
156
- upload: () => upload2,
157
- uploadMedia: () => uploadMedia
156
+ upload: () => upload2
158
157
  });
159
158
  var _getMediaContent = [0, "/v2/ontologies/{0}/objects/{1}/{2}/media/{3}/content", 2, , "*/*"];
160
159
  function getMediaContent($ctx, ...args) {
@@ -168,12 +167,8 @@ var _upload2 = [1, "/v2/ontologies/{0}/objectTypes/{1}/media/{2}/upload", 3, "*/
168
167
  function upload2($ctx, ...args) {
169
168
  return foundryPlatformFetch($ctx, _upload2, ...args);
170
169
  }
171
- var _uploadMedia = [1, "/v2/ontologies/{0}/actions/{1}/media/upload", 3, "*/*"];
172
- function uploadMedia($ctx, ...args) {
173
- return foundryPlatformFetch($ctx, _uploadMedia, ...args);
174
- }
175
170
 
176
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ObjectTypeV2.js
171
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ObjectTypeV2.js
177
172
  var ObjectTypeV2_exports = {};
178
173
  chunkQ7SFCCGT_cjs.__export(ObjectTypeV2_exports, {
179
174
  get: () => get3,
@@ -203,7 +198,7 @@ function getOutgoingLinkType($ctx, ...args) {
203
198
  return foundryPlatformFetch($ctx, _getOutgoingLinkType, ...args);
204
199
  }
205
200
 
206
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyInterface.js
201
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyInterface.js
207
202
  var OntologyInterface_exports = {};
208
203
  chunkQ7SFCCGT_cjs.__export(OntologyInterface_exports, {
209
204
  aggregate: () => aggregate,
@@ -248,7 +243,7 @@ function listInterfaceLinkedObjects($ctx, ...args) {
248
243
  return foundryPlatformFetch($ctx, _listInterfaceLinkedObjects, ...args);
249
244
  }
250
245
 
251
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectSet.js
246
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectSet.js
252
247
  var OntologyObjectSet_exports = {};
253
248
  chunkQ7SFCCGT_cjs.__export(OntologyObjectSet_exports, {
254
249
  aggregate: () => aggregate2,
@@ -283,7 +278,7 @@ function aggregate2($ctx, ...args) {
283
278
  return foundryPlatformFetch($ctx, _aggregate2, ...args);
284
279
  }
285
280
 
286
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Query.js
281
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Query.js
287
282
  var Query_exports = {};
288
283
  chunkQ7SFCCGT_cjs.__export(Query_exports, {
289
284
  execute: () => execute
@@ -293,7 +288,7 @@ function execute($ctx, ...args) {
293
288
  return foundryPlatformFetch($ctx, _execute, ...args);
294
289
  }
295
290
 
296
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/QueryType.js
291
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/QueryType.js
297
292
  var QueryType_exports = {};
298
293
  chunkQ7SFCCGT_cjs.__export(QueryType_exports, {
299
294
  get: () => get6,
@@ -308,7 +303,7 @@ function get6($ctx, ...args) {
308
303
  return foundryPlatformFetch($ctx, _get6, ...args);
309
304
  }
310
305
 
311
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesPropertyV2.js
306
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesPropertyV2.js
312
307
  var TimeSeriesPropertyV2_exports = {};
313
308
  chunkQ7SFCCGT_cjs.__export(TimeSeriesPropertyV2_exports, {
314
309
  getFirstPoint: () => getFirstPoint,
@@ -328,7 +323,7 @@ function streamPoints($ctx, ...args) {
328
323
  return foundryPlatformFetch($ctx, _streamPoints, ...args);
329
324
  }
330
325
 
331
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesValueBankProperty.js
326
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.38.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesValueBankProperty.js
332
327
  var TimeSeriesValueBankProperty_exports = {};
333
328
  chunkQ7SFCCGT_cjs.__export(TimeSeriesValueBankProperty_exports, {
334
329
  getLatestValue: () => getLatestValue,
@@ -368,7 +363,7 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
368
363
  }
369
364
  const objOrInterfaceDef2 = def2.type === "object" ? await clientCtx.ontologyProvider.getObjectDefinition(def2.apiName) : await clientCtx.ontologyProvider.getInterfaceDefinition(def2.apiName);
370
365
  const linkDef2 = objOrInterfaceDef2.links[objectSet.link];
371
- !linkDef2 ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Missing link definition for '${objectSet.link}'`) : invariant5__default.default(false) : void 0;
366
+ !linkDef2 ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Missing link definition for '${objectSet.link}'`) : invariant3__default.default(false) : void 0;
372
367
  return objOrInterfaceDef2.type === "object" ? {
373
368
  apiName: objOrInterfaceDef2.links[objectSet.link].targetType,
374
369
  type: "object"
@@ -406,7 +401,7 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
406
401
  const objectSetTypes2 = await Promise.all(objectSets2.map((os) => extractObjectOrInterfaceType(clientCtx, os)));
407
402
  const filteredObjectTypes2 = objectSetTypes2.filter(Boolean);
408
403
  const firstInterfaceType = filteredObjectTypes2.find((val) => val?.type === "interface");
409
- !firstInterfaceType ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Missing interface type in intersect objectset scope'`) : invariant5__default.default(false) : void 0;
404
+ !firstInterfaceType ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Missing interface type in intersect objectset scope'`) : invariant3__default.default(false) : void 0;
410
405
  return firstInterfaceType;
411
406
  }
412
407
  case "subtract":
@@ -417,7 +412,7 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
417
412
  const firstObjectType = filteredObjectTypes[0];
418
413
  !filteredObjectTypes.every((val) => {
419
414
  return val?.apiName === firstObjectType?.apiName && val?.type === firstObjectType?.type;
420
- }) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Can only have one object type when doing subtract, union") : invariant5__default.default(false) : void 0;
415
+ }) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Can only have one object type when doing subtract, union") : invariant3__default.default(false) : void 0;
421
416
  return filteredObjectTypes[0];
422
417
  case "static":
423
418
  case "reference":
@@ -429,7 +424,7 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
429
424
  }
430
425
  const objOrInterfaceDef = def.type === "object" ? await clientCtx.ontologyProvider.getObjectDefinition(def.apiName) : await clientCtx.ontologyProvider.getInterfaceDefinition(def.apiName);
431
426
  const linkDef = objOrInterfaceDef.links[objectSet.interfaceLink];
432
- !linkDef ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Missing link definition for '${objectSet.interfaceLink}'`) : invariant5__default.default(false) : void 0;
427
+ !linkDef ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Missing link definition for '${objectSet.interfaceLink}'`) : invariant3__default.default(false) : void 0;
433
428
  return objOrInterfaceDef.type === "object" ? {
434
429
  apiName: objOrInterfaceDef.links[objectSet.interfaceLink].targetType,
435
430
  type: "object"
@@ -439,7 +434,7 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
439
434
  };
440
435
  // 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.
441
436
  default:
442
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Unsupported object set type for deriving object or interface type,`) : invariant5__default.default(false) ;
437
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Unsupported object set type for deriving object or interface type,`) : invariant3__default.default(false) ;
443
438
  }
444
439
  }
445
440
  async function extractRdpDefinition(clientCtx, objectSet) {
@@ -459,7 +454,7 @@ async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObj
459
454
  }
460
455
  const objDef = await clientCtx.ontologyProvider.getObjectDefinition(childObjectType);
461
456
  const linkDef = objDef.links[objectSet.link];
462
- !linkDef ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Missing link definition for '${objectSet.link}'`) : invariant5__default.default(false) : void 0;
457
+ !linkDef ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Missing link definition for '${objectSet.link}'`) : invariant3__default.default(false) : void 0;
463
458
  return {
464
459
  definitions: definitions2,
465
460
  childObjectType: objDef.links[objectSet.link].targetType
@@ -545,13 +540,13 @@ async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObj
545
540
  ...acc,
546
541
  ...definitions2
547
542
  }), {});
548
- !(Object.keys(definitions).length === 0) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Object sets combined using intersect, subtract, or union must not contain any derived property definitions") : invariant5__default.default(false) : void 0;
543
+ !(Object.keys(definitions).length === 0) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Object sets combined using intersect, subtract, or union must not contain any derived property definitions") : invariant3__default.default(false) : void 0;
549
544
  const firstValidChildObjectType = objectSetTypes.find(({
550
545
  childObjectType
551
546
  }) => childObjectType != null)?.childObjectType;
552
547
  !objectSetTypes.every(({
553
548
  childObjectType
554
- }) => childObjectType === firstValidChildObjectType || childObjectType == null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "All object sets in an intersect, subtract, or union must have the same child object type") : invariant5__default.default(false) : void 0;
549
+ }) => childObjectType === firstValidChildObjectType || childObjectType == null) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "All object sets in an intersect, subtract, or union must have the same child object type") : invariant3__default.default(false) : void 0;
555
550
  return {
556
551
  definitions: {},
557
552
  childObjectType: firstValidChildObjectType
@@ -563,9 +558,9 @@ async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObj
563
558
  };
564
559
  // 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.
565
560
  case "interfaceLinkSearchAround":
566
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Unsupported object set type for Runtime Derived Properties`) : invariant5__default.default(false) ;
561
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Unsupported object set type for Runtime Derived Properties`) : invariant3__default.default(false) ;
567
562
  default:
568
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Unsupported object set type for Runtime Derived Properties`) : invariant5__default.default(false) ;
563
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Unsupported object set type for Runtime Derived Properties`) : invariant3__default.default(false) ;
569
564
  }
570
565
  }
571
566
 
@@ -1001,6 +996,20 @@ function isNotClause(whereClause) {
1001
996
  return "$not" in whereClause && whereClause.$not !== void 0;
1002
997
  }
1003
998
  function modernToLegacyWhereClause(whereClause, objectOrInterface, rdpNames) {
999
+ const parts = Object.entries(whereClause).map(([key, value]) => ({
1000
+ [key]: value
1001
+ }));
1002
+ if (parts.length === 1) {
1003
+ return modernToLegacyWhereClauseInner(whereClause, objectOrInterface, rdpNames);
1004
+ }
1005
+ return {
1006
+ type: "and",
1007
+ value: parts.map((v) => modernToLegacyWhereClauseInner(v, objectOrInterface, rdpNames))
1008
+ };
1009
+ }
1010
+ function modernToLegacyWhereClauseInner(whereClause, objectOrInterface, rdpNames) {
1011
+ const parts = Object.entries(whereClause);
1012
+ !(parts.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid where clause provided.") : invariant3__default.default(false) : void 0;
1004
1013
  if (isAndClause(whereClause)) {
1005
1014
  return {
1006
1015
  type: "and",
@@ -1017,17 +1026,10 @@ function modernToLegacyWhereClause(whereClause, objectOrInterface, rdpNames) {
1017
1026
  value: modernToLegacyWhereClause(whereClause.$not, objectOrInterface, rdpNames)
1018
1027
  };
1019
1028
  }
1020
- const parts = Object.entries(whereClause);
1021
- if (parts.length === 1) {
1022
- return handleWherePair(parts[0], objectOrInterface, void 0, rdpNames);
1023
- }
1024
- return {
1025
- type: "and",
1026
- value: parts.map((v) => handleWherePair(v, objectOrInterface, void 0, rdpNames))
1027
- };
1029
+ return handleWherePair(parts[0], objectOrInterface, void 0, rdpNames);
1028
1030
  }
1029
1031
  function handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector, rdpNames) {
1030
- !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant5__default.default(false) : void 0;
1032
+ !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant3__default.default(false) : void 0;
1031
1033
  const isRdp = !structFieldSelector && rdpNames?.has(fieldName);
1032
1034
  const propertyIdentifier = isRdp ? {
1033
1035
  type: "property",
@@ -1038,6 +1040,7 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
1038
1040
  propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)
1039
1041
  } : void 0;
1040
1042
  const field = !isRdp && structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : void 0;
1043
+ !(field == null || propertyIdentifier == null && (field != null || isRdp != null)) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Encountered error constructing where clause: field and propertyIdentifier cannot both be defined") : invariant3__default.default(false) : void 0;
1041
1044
  if (typeof filter === "string" || typeof filter === "number" || typeof filter === "boolean") {
1042
1045
  return {
1043
1046
  type: "eq",
@@ -1050,10 +1053,10 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
1050
1053
  }
1051
1054
  const keysOfFilter = Object.keys(filter);
1052
1055
  const hasDollarSign = keysOfFilter.some((key) => key.startsWith("$"));
1053
- !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant5__default.default(false) : void 0;
1056
+ !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant3__default.default(false) : void 0;
1054
1057
  if (!hasDollarSign) {
1055
1058
  const structFilter = Object.entries(filter);
1056
- !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
1059
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant3__default.default(false) : void 0;
1057
1060
  const structFieldApiName = keysOfFilter[0];
1058
1061
  return handleWherePair(Object.entries(filter)[0], objectOrInterface, {
1059
1062
  propertyApiName: fieldName,
@@ -1061,7 +1064,16 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
1061
1064
  }, rdpNames);
1062
1065
  }
1063
1066
  const firstKey = keysOfFilter[0];
1064
- !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false) : invariant5__default.default(false) : void 0;
1067
+ !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false) : invariant3__default.default(false) : void 0;
1068
+ if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
1069
+ const structFilter = Object.entries(filter[firstKey]);
1070
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant3__default.default(false) : void 0;
1071
+ const structFieldApiName = structFilter[0][0];
1072
+ return handleWherePair(structFilter[0], objectOrInterface, {
1073
+ propertyApiName: fieldName,
1074
+ structFieldApiName
1075
+ });
1076
+ }
1065
1077
  if (firstKey === "$ne") {
1066
1078
  return {
1067
1079
  type: "not",
@@ -1092,21 +1104,6 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
1092
1104
  fuzzy: typeof filter[firstKey] === "string" ? false : filter[firstKey]["fuzzySearch"] ?? false
1093
1105
  };
1094
1106
  }
1095
- if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
1096
- const structFilter = Object.entries(filter[firstKey]);
1097
- !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : void 0;
1098
- const structFieldApiName = structFilter[0][0];
1099
- !(structFilter[0][1] != null && Object.keys(structFilter[0][1]).length === 1 && "$eq" in structFilter[0][1]) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on a struct field in an array with anything other than a single $eq") : invariant5__default.default(false) : void 0;
1100
- return {
1101
- type: "contains",
1102
- propertyIdentifier: {
1103
- type: "structField",
1104
- propertyApiName: fieldName,
1105
- structFieldApiName
1106
- },
1107
- value: structFilter[0][1]["$eq"]
1108
- };
1109
- }
1110
1107
  return {
1111
1108
  type: firstKey.substring(1),
1112
1109
  ...propertyIdentifier != null && {
@@ -1182,12 +1179,12 @@ function derivedPropertyDefinitionFactory(wireDefinition, definitionMap) {
1182
1179
  var getDefinitionFromMap = (arg, definitionMap) => {
1183
1180
  if (typeof arg === "object") {
1184
1181
  const definition = definitionMap.get(arg);
1185
- !definition ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Derived Property is not defined") : invariant5__default.default(false) : void 0;
1182
+ !definition ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Derived Property is not defined") : invariant3__default.default(false) : void 0;
1186
1183
  return definition;
1187
1184
  } else if (typeof arg === "number") {
1188
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Literals for derived properties are not yet supported") : invariant5__default.default(false) ;
1185
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Literals for derived properties are not yet supported") : invariant3__default.default(false) ;
1189
1186
  }
1190
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Invalid argument type for a derived property") : invariant5__default.default(false) ;
1187
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid argument type for a derived property") : invariant3__default.default(false) ;
1191
1188
  };
1192
1189
 
1193
1190
  // src/derivedProperties/createWithPropertiesObjectSet.ts
@@ -1210,7 +1207,7 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fro
1210
1207
  },
1211
1208
  aggregate: (aggregation, opt) => {
1212
1209
  const splitAggregation = aggregation.split(":");
1213
- !(splitAggregation.length === 2 || splitAggregation[0] === "$count") ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Invalid aggregation format") : invariant5__default.default(false) : void 0;
1210
+ !(splitAggregation.length === 2 || splitAggregation[0] === "$count") ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid aggregation format") : invariant3__default.default(false) : void 0;
1214
1211
  const [aggregationPropertyName, aggregationOperation] = splitAggregation;
1215
1212
  let aggregationOperationDefinition;
1216
1213
  switch (aggregationOperation) {
@@ -1248,7 +1245,7 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fro
1248
1245
  break;
1249
1246
  }
1250
1247
  default:
1251
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Invalid aggregation operation " + aggregationOperation) : invariant5__default.default(false) ;
1248
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid aggregation operation " + aggregationOperation) : invariant3__default.default(false) ;
1252
1249
  }
1253
1250
  const wrappedObjectSet = {
1254
1251
  type: "selection",
@@ -1283,19 +1280,19 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fro
1283
1280
  },
1284
1281
  constant: {
1285
1282
  double: (value) => {
1286
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Not supported") : invariant5__default.default(false) ;
1283
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
1287
1284
  },
1288
1285
  integer: (value) => {
1289
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Not supported") : invariant5__default.default(false) ;
1286
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
1290
1287
  },
1291
1288
  long: (value) => {
1292
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Not supported") : invariant5__default.default(false) ;
1289
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
1293
1290
  },
1294
1291
  datetime: (value) => {
1295
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Not supported") : invariant5__default.default(false) ;
1292
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
1296
1293
  },
1297
1294
  timestamp: (value) => {
1298
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Not supported") : invariant5__default.default(false) ;
1295
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
1299
1296
  }
1300
1297
  }
1301
1298
  };
@@ -1306,7 +1303,7 @@ function legacyToModernSingleAggregationResult(entry) {
1306
1303
  if (parts[0] === "count") {
1307
1304
  return accumulator;
1308
1305
  }
1309
- !(parts.length === 2) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "assumed we were getting a `${key}.${type}`") : invariant5__default.default(false) : void 0;
1306
+ !(parts.length === 2) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "assumed we were getting a `${key}.${type}`") : invariant3__default.default(false) : void 0;
1310
1307
  const property = parts[0];
1311
1308
  const metricType = parts[1];
1312
1309
  if (!(property in accumulator)) {
@@ -1409,7 +1406,7 @@ async function aggregate3(clientCtx, objectType, objectSet = resolveBaseObjectSe
1409
1406
  branch: clientCtx.branch
1410
1407
  });
1411
1408
  if (!req.$groupBy) {
1412
- !(result.data.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "no group by clause should mean only one data result") : invariant5__default.default(false) : void 0;
1409
+ !(result.data.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "no group by clause should mean only one data result") : invariant3__default.default(false) : void 0;
1413
1410
  return {
1414
1411
  ...aggregationToCountResult(result.data[0]),
1415
1412
  ...legacyToModernSingleAggregationResult(result.data[0])
@@ -1558,7 +1555,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1558
1555
  this.#logger = client.logger?.child({}, {
1559
1556
  msgPrefix: "<OSW> "
1560
1557
  });
1561
- !(client.baseUrl.startsWith("https://") || client.baseUrl.startsWith("http://")) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Stack must be a URL") : invariant5__default.default(false) : void 0;
1558
+ !(client.baseUrl.startsWith("https://") || client.baseUrl.startsWith("http://")) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Stack must be a URL") : invariant3__default.default(false) : void 0;
1562
1559
  }
1563
1560
  async subscribe(objectType, objectSet, listener, properties = []) {
1564
1561
  const objOrInterfaceDef = objectType.type === "object" ? await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName) : await this.#client.ontologyProvider.getInterfaceDefinition(objectType.apiName);
@@ -1752,7 +1749,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1752
1749
  return;
1753
1750
  }
1754
1751
  default:
1755
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Unexpected message type") : invariant5__default.default(false) ;
1752
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Unexpected message type") : invariant3__default.default(false) ;
1756
1753
  }
1757
1754
  };
1758
1755
  #handleMessage_objectSetChanged = async (payload) => {
@@ -1817,7 +1814,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1817
1814
  }
1818
1815
  #handleMessage_refreshObjectSet = (payload) => {
1819
1816
  const sub = this.#subscriptions.get(payload.id);
1820
- !sub ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Expected subscription id ${payload.id}`) : invariant5__default.default(false) : void 0;
1817
+ !sub ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Expected subscription id ${payload.id}`) : invariant3__default.default(false) : void 0;
1821
1818
  try {
1822
1819
  sub.listener.onOutOfDate();
1823
1820
  } catch (error) {
@@ -1831,7 +1828,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1831
1828
  responses
1832
1829
  } = payload;
1833
1830
  const subs = this.#pendingSubscriptions.get(id);
1834
- !subs ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `should have a pending subscription for ${id}`) : invariant5__default.default(false) : void 0;
1831
+ !subs ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `should have a pending subscription for ${id}`) : invariant3__default.default(false) : void 0;
1835
1832
  this.#pendingSubscriptions.delete(id);
1836
1833
  for (let i = 0; i < responses.length; i++) {
1837
1834
  const sub = subs[i];
@@ -1873,7 +1870,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1873
1870
  #handleMessage_subscriptionClosed(payload) {
1874
1871
  const sub = this.#subscriptions.get(payload.id);
1875
1872
  if (sub == null && this.#endedSubscriptions.has(payload.id)) return;
1876
- !sub ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Expected subscription id ${payload.id}`) : invariant5__default.default(false) : void 0;
1873
+ !sub ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Expected subscription id ${payload.id}`) : invariant3__default.default(false) : void 0;
1877
1874
  this.#tryCatchOnError(sub, true, payload.cause);
1878
1875
  this.#unsubscribe(sub, "error");
1879
1876
  }
@@ -1902,7 +1899,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1902
1899
  if (this.#subscriptions.size > 0) {
1903
1900
  if (process.env.NODE_ENV !== "production") {
1904
1901
  for (const s of this.#subscriptions.values()) {
1905
- !(s.status !== "done" && s.status !== "error") ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "should not have done/error subscriptions still") : invariant5__default.default(false) : void 0;
1902
+ !(s.status !== "done" && s.status !== "error") ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "should not have done/error subscriptions still") : invariant3__default.default(false) : void 0;
1906
1903
  }
1907
1904
  }
1908
1905
  for (const s of this.#subscriptions.values()) {
@@ -2058,7 +2055,7 @@ function createObjectSet(objectType, clientCtx, objectSet = resolveBaseObjectSet
2058
2055
  },
2059
2056
  asType: (objectTypeDef) => {
2060
2057
  const existingMapping = clientCtx.asTypeInterfaceOrObjectMapping[objectTypeDef.apiName];
2061
- !(!existingMapping || existingMapping === objectTypeDef.type) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`) : invariant5__default.default(false) : void 0;
2058
+ !(!existingMapping || existingMapping === objectTypeDef.type) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`) : invariant3__default.default(false) : void 0;
2062
2059
  clientCtx.asTypeInterfaceOrObjectMapping[objectTypeDef.apiName] = objectTypeDef.type;
2063
2060
  return clientCtx.objectSetFactory(objectTypeDef, clientCtx, {
2064
2061
  type: "asType",
@@ -2127,11 +2124,12 @@ exports.fetchPage = fetchPage;
2127
2124
  exports.fetchSingle = fetchSingle;
2128
2125
  exports.fetchSingleWithErrors = fetchSingleWithErrors;
2129
2126
  exports.fetchStaticRidPage = fetchStaticRidPage;
2127
+ exports.foundryPlatformFetch = foundryPlatformFetch;
2130
2128
  exports.getWireObjectSet = getWireObjectSet;
2131
2129
  exports.hydrateAttachmentFromRid = hydrateAttachmentFromRid;
2132
2130
  exports.hydrateAttachmentFromRidInternal = hydrateAttachmentFromRidInternal;
2133
2131
  exports.isObjectSet = isObjectSet;
2134
2132
  exports.isWireObjectSet = isWireObjectSet;
2135
2133
  exports.symbolClientContext = symbolClientContext;
2136
- //# sourceMappingURL=chunk-VNLY3YOJ.cjs.map
2137
- //# sourceMappingURL=chunk-VNLY3YOJ.cjs.map
2134
+ //# sourceMappingURL=chunk-HJV24UL2.cjs.map
2135
+ //# sourceMappingURL=chunk-HJV24UL2.cjs.map