@osdk/functions 1.3.0-beta.2 → 1.3.0-beta.4

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 (38) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/build/browser/UserGroup.js +2 -0
  3. package/build/browser/{Principal.js.map → UserGroup.js.map} +1 -1
  4. package/build/browser/errors/UserFacingError.js +22 -0
  5. package/build/browser/errors/UserFacingError.js.map +1 -0
  6. package/build/browser/index.js +1 -0
  7. package/build/browser/index.js.map +1 -1
  8. package/build/browser/transactions/EditRequestManager.js +2 -0
  9. package/build/browser/transactions/EditRequestManager.js.map +1 -1
  10. package/build/browser/transactions/createWriteableClient.js +1 -1
  11. package/build/browser/transactions/createWriteableClient.js.map +1 -1
  12. package/build/cjs/index.cjs +8 -0
  13. package/build/cjs/index.cjs.map +1 -1
  14. package/build/cjs/index.d.cts +12 -1
  15. package/build/cjs/public/unstable-do-not-use.cjs +5 -3
  16. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  17. package/build/esm/UserGroup.js +2 -0
  18. package/build/esm/{Principal.js.map → UserGroup.js.map} +1 -1
  19. package/build/esm/errors/UserFacingError.js +22 -0
  20. package/build/esm/errors/UserFacingError.js.map +1 -0
  21. package/build/esm/index.js +1 -0
  22. package/build/esm/index.js.map +1 -1
  23. package/build/esm/transactions/EditRequestManager.js +2 -0
  24. package/build/esm/transactions/EditRequestManager.js.map +1 -1
  25. package/build/esm/transactions/createWriteableClient.js +1 -1
  26. package/build/esm/transactions/createWriteableClient.js.map +1 -1
  27. package/build/types/UserGroup.d.ts +14 -0
  28. package/build/types/UserGroup.d.ts.map +1 -0
  29. package/build/types/errors/UserFacingError.d.ts +3 -0
  30. package/build/types/errors/UserFacingError.d.ts.map +1 -0
  31. package/build/types/index.d.ts +2 -1
  32. package/build/types/index.d.ts.map +1 -1
  33. package/build/types/transactions/EditRequestManager.d.ts.map +1 -1
  34. package/package.json +9 -6
  35. package/build/browser/Principal.js +0 -2
  36. package/build/esm/Principal.js +0 -2
  37. package/build/types/Principal.d.ts +0 -7
  38. package/build/types/Principal.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @osdk/functions
2
2
 
3
+ ## 1.3.0-beta.4
4
+
5
+ ### Minor Changes
6
+
7
+ - a00d2ed: Update Platform SDK dependencies
8
+ - a96d89e: Update Platform SDK dependencies
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies [a00d2ed]
13
+ - Updated dependencies [a96d89e]
14
+ - @osdk/client@2.5.0-beta.4
15
+
16
+ ## 1.3.0-beta.3
17
+
18
+ ### Minor Changes
19
+
20
+ - 4b1b399: Update dependencies with @osdk/foundry.core
21
+ - 0a0e560: Reexport user and group id types with branding
22
+ - 3ae01bb: Add UserFacingError to functions package
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [7bdac45]
27
+ - Updated dependencies [20962bc]
28
+ - @osdk/client@2.5.0-beta.3
29
+
3
30
  ## 1.3.0-beta.2
4
31
 
5
32
  ### Minor Changes
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=UserGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Principal.js","names":[],"sources":["Principal.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type Principal = {\n type: \"user\";\n id: string;\n} | {\n type: \"group\";\n id: string;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"UserGroup.js","names":[],"sources":["UserGroup.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n GroupId as PlatformGroupId,\n UserId as PlatformUserId,\n} from \"@osdk/foundry.core\";\n\nexport type GroupId = PlatformGroupId & {\n __groupIdBrand?: void;\n};\n\nexport type UserId = PlatformUserId & {\n __userIdBrand?: void;\n};\n\nexport type Principal = {\n type: \"user\";\n id: string;\n} | {\n type: \"group\";\n id: string;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export class UserFacingError extends Error {
18
+ constructor(message) {
19
+ super(message);
20
+ }
21
+ }
22
+ //# sourceMappingURL=UserFacingError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserFacingError.js","names":["UserFacingError","Error","constructor","message"],"sources":["UserFacingError.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class UserFacingError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;EAChB;AACF","ignoreList":[]}
@@ -15,4 +15,5 @@
15
15
  */
16
16
 
17
17
  export { createEditBatch } from "./edits/createEditBatch.js";
18
+ export { UserFacingError } from "./errors/UserFacingError.js";
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createEditBatch"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n DateISOString,\n Double,\n Float,\n Integer,\n Long,\n TimestampISOString,\n} from \"./PrimitiveTypes.js\";\n\nexport type {\n Attachment,\n Range,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/client\";\n\nexport { createEditBatch } from \"./edits/createEditBatch.js\";\nexport type { EditBatch } from \"./edits/EditBatch.js\";\nexport type { Edits } from \"./edits/types.js\";\n\nexport type {\n EmailNotification,\n Notification,\n NotificationLink,\n NotificationLinkTarget,\n ObjectLinkTarget,\n PlatformNotification,\n RidLinkTarget,\n UrlLinkTarget,\n} from \"./Notification.js\";\n\nexport type { Principal } from \"./Principal.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA,SAASA,eAAe,QAAQ,4BAA4B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createEditBatch","UserFacingError"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n DateISOString,\n Double,\n Float,\n Integer,\n Long,\n TimestampISOString,\n} from \"./PrimitiveTypes.js\";\n\nexport type {\n Attachment,\n Range,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/client\";\n\nexport { createEditBatch } from \"./edits/createEditBatch.js\";\nexport type { EditBatch } from \"./edits/EditBatch.js\";\nexport type { Edits } from \"./edits/types.js\";\nexport { UserFacingError } from \"./errors/UserFacingError.js\";\n\nexport type {\n EmailNotification,\n Notification,\n NotificationLink,\n NotificationLinkTarget,\n ObjectLinkTarget,\n PlatformNotification,\n RidLinkTarget,\n UrlLinkTarget,\n} from \"./Notification.js\";\n\nexport type { GroupId, Principal, UserId } from \"./UserGroup.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA,SAASA,eAAe,QAAQ,4BAA4B;AAG5D,SAASC,eAAe,QAAQ,6BAA6B","ignoreList":[]}
@@ -69,6 +69,8 @@ export class EditRequestManager {
69
69
  this.pendingEdits = [];
70
70
  await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {
71
71
  edits: copiedEdits
72
+ }, {
73
+ preview: true
72
74
  });
73
75
  }
74
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EditRequestManager.js","names":["OntologyTransactions","writeableClientContext","EditRequestManager","pendingEdits","inFlightRequest","queuedRequest","editTimeout","constructor","client","postEdit","edit","push","then","dispatchRequest","createInitialPromiseWithTimeout","Promise","resolve","setTimeout","copiedEdits","postEdits","ontologyRid","transactionRid","edits"],"sources":["EditRequestManager.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OntologyTransactions,\n type TransactionEdit,\n} from \"@osdk/foundry.ontologies\";\nimport type { WriteableClient } from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport class EditRequestManager {\n private pendingEdits: TransactionEdit[] = [];\n private inFlightRequest: Promise<void> | null = null;\n private queuedRequest: Promise<void> | null = null;\n private editTimeout: NodeJS.Timeout | null = null;\n private client: WriteableClient<any>;\n\n public constructor(client: WriteableClient<any>) {\n this.client = client;\n }\n\n public postEdit(edit: TransactionEdit): Promise<void> {\n if (this.inFlightRequest) {\n if (this.editTimeout) { // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) { // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(\n edit,\n );\n return this.inFlightRequest;\n }\n }\n\n private createInitialPromiseWithTimeout(\n edit: TransactionEdit,\n ): Promise<void> {\n return new Promise((resolve) => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) { // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n\n private async dispatchRequest(): Promise<void> {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(\n this.client,\n await this.client[writeableClientContext].ontologyRid,\n this.client[writeableClientContext].transactionRid,\n { edits: copiedEdits },\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,oBAAoB,QAEf,0BAA0B;AAEjC,SAASC,sBAAsB,QAAQ,sBAAsB;AAE7D,OAAO,MAAMC,kBAAkB,CAAC;EACtBC,YAAY,GAAsB,EAAE;EACpCC,eAAe,GAAyB,IAAI;EAC5CC,aAAa,GAAyB,IAAI;EAC1CC,WAAW,GAA0B,IAAI;EAG1CC,WAAWA,CAACC,MAA4B,EAAE;IAC/C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEOC,QAAQA,CAACC,IAAqB,EAAiB;IACpD,IAAI,IAAI,CAACN,eAAe,EAAE;MACxB,IAAI,IAAI,CAACE,WAAW,EAAE;QAAE;QACtB,IAAI,CAACH,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACN,eAAe;MAC7B;MACA,IAAI,IAAI,CAACC,aAAa,EAAE;QAAE;QACxB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACL,aAAa;MAC3B;MACA;MACA,IAAI,CAACA,aAAa,GAAG,IAAI,CAACD,eAAe,CAACQ,IAAI,CAAC,YAAY;QACzD,IAAI,CAACR,eAAe,GAAG,IAAI,CAACC,aAAa;QACzC,IAAI,CAACA,aAAa,GAAG,IAAI;QACzB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,MAAM,IAAI,CAACG,eAAe,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,OAAO,IAAI,CAACR,aAAa;IAC3B,CAAC,MAAM;MACL;MACA,IAAI,CAACD,eAAe,GAAG,IAAI,CAACU,+BAA+B,CACzDJ,IACF,CAAC;MACD,OAAO,IAAI,CAACN,eAAe;IAC7B;EACF;EAEQU,+BAA+BA,CACrCJ,IAAqB,EACN;IACf,OAAO,IAAIK,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACb,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;MAC5B,IAAI,CAACJ,WAAW,GAAGW,UAAU,CAAC,YAAY;QACxC,IAAI,CAACX,WAAW,GAAG,IAAI;QACvB,MAAM,IAAI,CAACO,eAAe,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAACR,aAAa,EAAE;UAAE;UACzB,IAAI,CAACD,eAAe,GAAG,IAAI;QAC7B;QACAY,OAAO,CAAC,CAAC;MACX,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,CAAC;EACJ;EAEA,MAAcH,eAAeA,CAAA,EAAkB;IAC7C,MAAMK,WAAW,GAAG,IAAI,CAACf,YAAY;IACrC,IAAI,CAACA,YAAY,GAAG,EAAE;IACtB,MAAMH,oBAAoB,CAACmB,SAAS,CAClC,IAAI,CAACX,MAAM,EACX,MAAM,IAAI,CAACA,MAAM,CAACP,sBAAsB,CAAC,CAACmB,WAAW,EACrD,IAAI,CAACZ,MAAM,CAACP,sBAAsB,CAAC,CAACoB,cAAc,EAClD;MAAEC,KAAK,EAAEJ;IAAY,CACvB,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"EditRequestManager.js","names":["OntologyTransactions","writeableClientContext","EditRequestManager","pendingEdits","inFlightRequest","queuedRequest","editTimeout","constructor","client","postEdit","edit","push","then","dispatchRequest","createInitialPromiseWithTimeout","Promise","resolve","setTimeout","copiedEdits","postEdits","ontologyRid","transactionRid","edits","preview"],"sources":["EditRequestManager.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OntologyTransactions,\n type TransactionEdit,\n} from \"@osdk/foundry.ontologies\";\nimport type { WriteableClient } from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport class EditRequestManager {\n private pendingEdits: TransactionEdit[] = [];\n private inFlightRequest: Promise<void> | null = null;\n private queuedRequest: Promise<void> | null = null;\n private editTimeout: NodeJS.Timeout | null = null;\n private client: WriteableClient<any>;\n\n public constructor(client: WriteableClient<any>) {\n this.client = client;\n }\n\n public postEdit(edit: TransactionEdit): Promise<void> {\n if (this.inFlightRequest) {\n if (this.editTimeout) { // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) { // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(\n edit,\n );\n return this.inFlightRequest;\n }\n }\n\n private createInitialPromiseWithTimeout(\n edit: TransactionEdit,\n ): Promise<void> {\n return new Promise((resolve) => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) { // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n\n private async dispatchRequest(): Promise<void> {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(\n this.client,\n await this.client[writeableClientContext].ontologyRid,\n this.client[writeableClientContext].transactionRid,\n { edits: copiedEdits },\n { preview: true },\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,oBAAoB,QAEf,0BAA0B;AAEjC,SAASC,sBAAsB,QAAQ,sBAAsB;AAE7D,OAAO,MAAMC,kBAAkB,CAAC;EACtBC,YAAY,GAAsB,EAAE;EACpCC,eAAe,GAAyB,IAAI;EAC5CC,aAAa,GAAyB,IAAI;EAC1CC,WAAW,GAA0B,IAAI;EAG1CC,WAAWA,CAACC,MAA4B,EAAE;IAC/C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEOC,QAAQA,CAACC,IAAqB,EAAiB;IACpD,IAAI,IAAI,CAACN,eAAe,EAAE;MACxB,IAAI,IAAI,CAACE,WAAW,EAAE;QAAE;QACtB,IAAI,CAACH,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACN,eAAe;MAC7B;MACA,IAAI,IAAI,CAACC,aAAa,EAAE;QAAE;QACxB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACL,aAAa;MAC3B;MACA;MACA,IAAI,CAACA,aAAa,GAAG,IAAI,CAACD,eAAe,CAACQ,IAAI,CAAC,YAAY;QACzD,IAAI,CAACR,eAAe,GAAG,IAAI,CAACC,aAAa;QACzC,IAAI,CAACA,aAAa,GAAG,IAAI;QACzB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,MAAM,IAAI,CAACG,eAAe,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,OAAO,IAAI,CAACR,aAAa;IAC3B,CAAC,MAAM;MACL;MACA,IAAI,CAACD,eAAe,GAAG,IAAI,CAACU,+BAA+B,CACzDJ,IACF,CAAC;MACD,OAAO,IAAI,CAACN,eAAe;IAC7B;EACF;EAEQU,+BAA+BA,CACrCJ,IAAqB,EACN;IACf,OAAO,IAAIK,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACb,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;MAC5B,IAAI,CAACJ,WAAW,GAAGW,UAAU,CAAC,YAAY;QACxC,IAAI,CAACX,WAAW,GAAG,IAAI;QACvB,MAAM,IAAI,CAACO,eAAe,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAACR,aAAa,EAAE;UAAE;UACzB,IAAI,CAACD,eAAe,GAAG,IAAI;QAC7B;QACAY,OAAO,CAAC,CAAC;MACX,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,CAAC;EACJ;EAEA,MAAcH,eAAeA,CAAA,EAAkB;IAC7C,MAAMK,WAAW,GAAG,IAAI,CAACf,YAAY;IACrC,IAAI,CAACA,YAAY,GAAG,EAAE;IACtB,MAAMH,oBAAoB,CAACmB,SAAS,CAClC,IAAI,CAACX,MAAM,EACX,MAAM,IAAI,CAACA,MAAM,CAACP,sBAAsB,CAAC,CAACmB,WAAW,EACrD,IAAI,CAACZ,MAAM,CAACP,sBAAsB,CAAC,CAACoB,cAAc,EAClD;MAAEC,KAAK,EAAEJ;IAAY,CAAC,EACtB;MAAEK,OAAO,EAAE;IAAK,CAClB,CAAC;EACH;AACF","ignoreList":[]}
@@ -83,7 +83,7 @@ export function createWriteableClient(...args) {
83
83
  }
84
84
  return editRequestManager.postEdit({
85
85
  type: "addObject",
86
- objectType: obj.$apiName,
86
+ objectType: obj.apiName,
87
87
  primaryKey: obj.$primaryKey,
88
88
  properties: propertyMap
89
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createWriteableClient.js","names":["createClientWithTransaction","EditRequestManager","toPropertyDataValue","writeableClientContext","createWriteableClient","args","transactionRid","ontologyRid","client","editRequestManager","writeableClient","Object","defineProperties","link","value","source","apiName","target","Array","isArray","postEdit","type","objectType","$apiName","primaryKey","$primaryKey","linkType","linkedObjectPrimaryKey","promises","elem","push","Promise","all","then","undefined","unlink","create","obj","properties","propertyMap","key","entries","update","locator","delete"],"sources":["createWriteableClient.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\n\nimport type { Client } from \"@osdk/client\";\nimport type {\n AddLinkApiNames,\n AddLinkSources,\n AddLinkTargets,\n CreatableObjectOrInterfaceTypeProperties,\n CreatableObjectOrInterfaceTypes,\n DeletableObjectOrInterfaceLocators,\n RemoveLinkApiNames,\n RemoveLinkSources,\n RemoveLinkTargets,\n UpdatableObjectOrInterfaceLocatorProperties,\n UpdatableObjectOrInterfaceLocators,\n} from \"../edits/EditBatch.js\";\nimport type { AnyEdit } from \"../edits/types.js\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport type {\n WriteableClient,\n WriteableClientContext,\n WriteMethods,\n} from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport function createWriteableClient<\n X extends AnyEdit = never,\n>(\n ...args: Parameters<typeof createClientWithTransaction>\n): WriteableClient<X> {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n\n const client = createClientWithTransaction(...args);\n\n const editRequestManager = new EditRequestManager(\n client as WriteableClient<any>, // This cast is safe because we create the writeable client properties below.\n );\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties<Client>(\n client,\n {\n link: {\n value: function<\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n\n for (const elem of target) {\n promises.push(\n editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }),\n );\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n unlink: {\n value: function<\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }));\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n create: {\n value: async function<OTD extends CreatableObjectOrInterfaceTypes<X>>(\n obj: OTD,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OTD>,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n update: {\n value: function<\n SOL extends UpdatableObjectOrInterfaceLocators<X>,\n OTD extends UpdatableObjectOrInterfaceLocatorProperties<X, SOL>,\n >(\n locator: SOL,\n properties: OTD,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n delete: {\n value: function<OL extends DeletableObjectOrInterfaceLocators<X>>(\n obj: OL,\n ): Promise<void> {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n });\n },\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid,\n } satisfies WriteableClientContext,\n },\n } satisfies Record<\n keyof WriteMethods<any> | typeof writeableClientContext,\n PropertyDescriptor\n >,\n ) as WriteableClient<X>;\n\n return writeableClient;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createWriteableClient.js","names":["createClientWithTransaction","EditRequestManager","toPropertyDataValue","writeableClientContext","createWriteableClient","args","transactionRid","ontologyRid","client","editRequestManager","writeableClient","Object","defineProperties","link","value","source","apiName","target","Array","isArray","postEdit","type","objectType","$apiName","primaryKey","$primaryKey","linkType","linkedObjectPrimaryKey","promises","elem","push","Promise","all","then","undefined","unlink","create","obj","properties","propertyMap","key","entries","update","locator","delete"],"sources":["createWriteableClient.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\n\nimport type { Client } from \"@osdk/client\";\nimport type {\n AddLinkApiNames,\n AddLinkSources,\n AddLinkTargets,\n CreatableObjectOrInterfaceTypeProperties,\n CreatableObjectOrInterfaceTypes,\n DeletableObjectOrInterfaceLocators,\n RemoveLinkApiNames,\n RemoveLinkSources,\n RemoveLinkTargets,\n UpdatableObjectOrInterfaceLocatorProperties,\n UpdatableObjectOrInterfaceLocators,\n} from \"../edits/EditBatch.js\";\nimport type { AnyEdit } from \"../edits/types.js\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport type {\n WriteableClient,\n WriteableClientContext,\n WriteMethods,\n} from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport function createWriteableClient<\n X extends AnyEdit = never,\n>(\n ...args: Parameters<typeof createClientWithTransaction>\n): WriteableClient<X> {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n\n const client = createClientWithTransaction(...args);\n\n const editRequestManager = new EditRequestManager(\n client as WriteableClient<any>, // This cast is safe because we create the writeable client properties below.\n );\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties<Client>(\n client,\n {\n link: {\n value: function<\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n\n for (const elem of target) {\n promises.push(\n editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }),\n );\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n unlink: {\n value: function<\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }));\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n create: {\n value: async function<OTD extends CreatableObjectOrInterfaceTypes<X>>(\n obj: OTD,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OTD>,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n update: {\n value: function<\n SOL extends UpdatableObjectOrInterfaceLocators<X>,\n OTD extends UpdatableObjectOrInterfaceLocatorProperties<X, SOL>,\n >(\n locator: SOL,\n properties: OTD,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n delete: {\n value: function<OL extends DeletableObjectOrInterfaceLocators<X>>(\n obj: OL,\n ): Promise<void> {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n });\n },\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid,\n } satisfies WriteableClientContext,\n },\n } satisfies Record<\n keyof WriteMethods<any> | typeof writeableClientContext,\n PropertyDescriptor\n >,\n ) as WriteableClient<X>;\n\n return writeableClient;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -99,6 +99,14 @@ function createEditBatch(_client) {
99
99
  return new InMemoryEditBatch();
100
100
  }
101
101
 
102
+ // src/errors/UserFacingError.ts
103
+ var UserFacingError = class extends Error {
104
+ constructor(message) {
105
+ super(message);
106
+ }
107
+ };
108
+
109
+ exports.UserFacingError = UserFacingError;
102
110
  exports.createEditBatch = createEditBatch;
103
111
  //# sourceMappingURL=index.cjs.map
104
112
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/edits/types.ts","../../src/edits/createEditBatch.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport let Edits;\n// Check if locator is for an interface by comparing $apiName and $objectType.\n// Both object types and interfaces store the object type API name in $objectType,\n// but interfaces store the interface API name in $apiName.\nexport function isInterfaceLocator(obj) {\n return obj != null && typeof obj === \"object\" && typeof obj.$objectType === \"string\" && typeof obj.$apiName === \"string\" && obj.$apiName !== obj.$objectType;\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isInterfaceLocator } from \"./types.js\";\nclass InMemoryEditBatch {\n edits = [];\n link(source, apiName, target) {\n if (!Array.isArray(target)) {\n this.edits.push({\n type: \"addLink\",\n source,\n apiName,\n target\n });\n return;\n }\n for (const elem of target) {\n this.edits.push({\n type: \"addLink\",\n source,\n apiName,\n target: elem\n });\n }\n }\n unlink(source, apiName, target) {\n if (!Array.isArray(target)) {\n this.edits.push({\n type: \"removeLink\",\n source,\n apiName,\n target\n });\n return;\n }\n for (const elem of target) {\n this.edits.push({\n type: \"removeLink\",\n source,\n apiName,\n target: elem\n });\n }\n }\n create(objectOrInterfaceType, properties) {\n if (objectOrInterfaceType.type === \"interface\") {\n this.edits.push({\n type: \"createObjectForInterface\",\n int: objectOrInterfaceType,\n properties\n });\n return;\n }\n this.edits.push({\n type: \"createObject\",\n obj: objectOrInterfaceType,\n properties\n });\n }\n delete(obj) {\n if (isInterfaceLocator(obj)) {\n this.edits.push({\n type: \"deleteObjectForInterface\",\n obj\n });\n return;\n }\n this.edits.push({\n type: \"deleteObject\",\n obj\n });\n }\n update(obj, properties) {\n if (isInterfaceLocator(obj)) {\n this.edits.push({\n type: \"updateObjectForInterface\",\n obj,\n properties\n });\n return;\n }\n this.edits.push({\n type: \"updateObject\",\n obj,\n properties\n });\n }\n getEdits() {\n return [...this.edits];\n }\n}\nexport function createEditBatch(_client) {\n return new InMemoryEditBatch();\n}"]}
1
+ {"version":3,"sources":["../../src/edits/types.ts","../../src/edits/createEditBatch.ts","../../src/errors/UserFacingError.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport let Edits;\n// Check if locator is for an interface by comparing $apiName and $objectType.\n// Both object types and interfaces store the object type API name in $objectType,\n// but interfaces store the interface API name in $apiName.\nexport function isInterfaceLocator(obj) {\n return obj != null && typeof obj === \"object\" && typeof obj.$objectType === \"string\" && typeof obj.$apiName === \"string\" && obj.$apiName !== obj.$objectType;\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isInterfaceLocator } from \"./types.js\";\nclass InMemoryEditBatch {\n edits = [];\n link(source, apiName, target) {\n if (!Array.isArray(target)) {\n this.edits.push({\n type: \"addLink\",\n source,\n apiName,\n target\n });\n return;\n }\n for (const elem of target) {\n this.edits.push({\n type: \"addLink\",\n source,\n apiName,\n target: elem\n });\n }\n }\n unlink(source, apiName, target) {\n if (!Array.isArray(target)) {\n this.edits.push({\n type: \"removeLink\",\n source,\n apiName,\n target\n });\n return;\n }\n for (const elem of target) {\n this.edits.push({\n type: \"removeLink\",\n source,\n apiName,\n target: elem\n });\n }\n }\n create(objectOrInterfaceType, properties) {\n if (objectOrInterfaceType.type === \"interface\") {\n this.edits.push({\n type: \"createObjectForInterface\",\n int: objectOrInterfaceType,\n properties\n });\n return;\n }\n this.edits.push({\n type: \"createObject\",\n obj: objectOrInterfaceType,\n properties\n });\n }\n delete(obj) {\n if (isInterfaceLocator(obj)) {\n this.edits.push({\n type: \"deleteObjectForInterface\",\n obj\n });\n return;\n }\n this.edits.push({\n type: \"deleteObject\",\n obj\n });\n }\n update(obj, properties) {\n if (isInterfaceLocator(obj)) {\n this.edits.push({\n type: \"updateObjectForInterface\",\n obj,\n properties\n });\n return;\n }\n this.edits.push({\n type: \"updateObject\",\n obj,\n properties\n });\n }\n getEdits() {\n return [...this.edits];\n }\n}\nexport function createEditBatch(_client) {\n return new InMemoryEditBatch();\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class UserFacingError extends Error {\n constructor(message) {\n super(message);\n }\n}"]}
@@ -3,6 +3,7 @@ export { Attachment, Range, ThreeDimensionalAggregation, TwoDimensionalAggregati
3
3
  import { E as EditBatch } from './EditBatch-DRBn1Fqo.cjs';
4
4
  import { A as AnyEdit } from './internal-C20KRlC4.cjs';
5
5
  export { E as Edits } from './internal-C20KRlC4.cjs';
6
+ import { GroupId as GroupId$1, UserId as UserId$1 } from '@osdk/foundry.core';
6
7
 
7
8
  type Integer<T extends number = number> = T & {
8
9
  __integerBrand?: void;
@@ -25,6 +26,10 @@ type TimestampISOString<T extends string = string> = T & {
25
26
 
26
27
  declare function createEditBatch<T extends AnyEdit = never>(_client: Client): EditBatch<T>;
27
28
 
29
+ declare class UserFacingError extends Error {
30
+ constructor(message: string);
31
+ }
32
+
28
33
  interface Notification {
29
34
  platformNotification: PlatformNotification;
30
35
  emailNotification: EmailNotification;
@@ -57,6 +62,12 @@ interface UrlLinkTarget {
57
62
  }
58
63
  type NotificationLinkTarget = RidLinkTarget | ObjectLinkTarget | UrlLinkTarget;
59
64
 
65
+ type GroupId = GroupId$1 & {
66
+ __groupIdBrand?: void;
67
+ };
68
+ type UserId = UserId$1 & {
69
+ __userIdBrand?: void;
70
+ };
60
71
  type Principal = {
61
72
  type: "user";
62
73
  id: string;
@@ -65,4 +76,4 @@ type Principal = {
65
76
  id: string;
66
77
  };
67
78
 
68
- export { type DateISOString, type Double, EditBatch, type EmailNotification, type Float, type Integer, type Long, type Notification, type NotificationLink, type NotificationLinkTarget, type ObjectLinkTarget, type PlatformNotification, type Principal, type RidLinkTarget, type TimestampISOString, type UrlLinkTarget, createEditBatch };
79
+ export { type DateISOString, type Double, EditBatch, type EmailNotification, type Float, type GroupId, type Integer, type Long, type Notification, type NotificationLink, type NotificationLinkTarget, type ObjectLinkTarget, type PlatformNotification, type Principal, type RidLinkTarget, type TimestampISOString, type UrlLinkTarget, UserFacingError, type UserId, createEditBatch };
@@ -102,12 +102,12 @@ function parseUrl(baseUrl, endpointPath) {
102
102
  return new URL(`api${endpointPath}`, baseUrl);
103
103
  }
104
104
 
105
- // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.26.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js
105
+ // ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.30.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js
106
106
  var OntologyTransaction_exports = {};
107
107
  chunkQ7SFCCGT_cjs.__export(OntologyTransaction_exports, {
108
108
  postEdits: () => postEdits
109
109
  });
110
- var _postEdits = [1, "/v2/ontologies/{0}/transactions/{1}/edits", 1];
110
+ var _postEdits = [1, "/v2/ontologies/{0}/transactions/{1}/edits", 3];
111
111
  function postEdits($ctx, ...args) {
112
112
  return foundryPlatformFetch($ctx, _postEdits, ...args);
113
113
  }
@@ -164,6 +164,8 @@ var EditRequestManager = class {
164
164
  this.pendingEdits = [];
165
165
  await OntologyTransaction_exports.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {
166
166
  edits: copiedEdits
167
+ }, {
168
+ preview: true
167
169
  });
168
170
  }
169
171
  };
@@ -255,7 +257,7 @@ function createWriteableClient(...args) {
255
257
  }
256
258
  return editRequestManager.postEdit({
257
259
  type: "addObject",
258
- objectType: obj.$apiName,
260
+ objectType: obj.apiName,
259
261
  primaryKey: obj.$primaryKey,
260
262
  properties: propertyMap
261
263
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js","../../../../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.4.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js","../../../../../node_modules/.pnpm/@osdk+foundry.ontologies@2.26.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js","../../../src/transactions/WriteableClient.ts","../../../src/transactions/EditRequestManager.ts","../../../src/transactions/toPropertyDataValue.ts","../../../src/transactions/createWriteableClient.ts"],"names":["symbolClientContext","__export","createClientWithTransaction"],"mappings":"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","file":"unstable-do-not-use.cjs","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\nexport const symbolClientContext = Symbol(\"ClientContext\");","/*\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\nexport const symbolClientContext = \"__osdkClientContext\";","/*\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 */\nexport class PalantirApiError extends Error {\n message;\n errorName;\n errorCode;\n statusCode;\n errorInstanceId;\n parameters;\n constructor(message, errorName, errorCode, statusCode, errorInstanceId, parameters) {\n super(message);\n this.message = message;\n this.errorName = errorName;\n this.errorCode = errorCode;\n this.statusCode = statusCode;\n this.errorInstanceId = errorInstanceId;\n this.parameters = parameters;\n }\n}","/*\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 */\nimport { PalantirApiError } from \"./PalantirApiError.js\";\nexport class UnknownError extends PalantirApiError {\n originalError;\n constructor(message, errorType, originalError) {\n super(message, errorType);\n this.originalError = originalError;\n }\n}","/*\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 */\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { PalantirApiError, UnknownError } from \"@osdk/shared.net.errors\";\nexport async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {\n const path = origPath.replace(/\\{([^}]+)\\}/g, () => encodeURIComponent(args.shift()));\n const body = flags & 1 ? args.shift() : undefined;\n const queryArgs = flags & 2 ? args.shift() : undefined;\n const headerArgs = flags & 4 ? args.shift() : undefined;\n const method = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\"][httpMethodNum];\n return await apiFetch(client[symbolClientContext] ?? client[oldSymbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);\n}\nasync function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {\n const url = parseUrl(clientCtx.baseUrl, endpointPath);\n for (const [key, value] of Object.entries(queryArguments || {})) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n url.searchParams.append(key, item);\n }\n } else {\n url.searchParams.append(key, value);\n }\n }\n const headersInit = new Headers();\n headersInit.set(\"Content-Type\", requestMediaType ?? \"application/json\");\n headersInit.set(\"Accept\", responseMediaType ?? \"application/json\");\n Object.entries(headers || {}).forEach(([key, value]) => {\n if (key === \"Content-Type\" && typeof value === \"string\") {\n headersInit.set(\"Content-Type\", value);\n } else if (key === \"Accept\" && typeof value === \"string\") {\n headersInit.set(\"Accept\", value);\n } else if (value != null) {\n headersInit.append(key, value.toString());\n }\n });\n const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);\n // Because this uses the client's fetch, there is a 99.99% chance that it is already going\n // to handle the error case and throw a PalantirApiError since its wrapped in a\n // createFetchOrThrow.\n const response = await clientCtx.fetch(url.toString(), {\n body,\n method: method,\n headers: headersInit\n });\n // However, if we ended up using a \"regular\" fetch, the\n // error status codes are not thrown by fetch automatically,\n // we have to look at the ok property and behave accordingly\n if (!response.ok) {\n try {\n const convertedError = await response.json();\n return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);\n } catch (e) {\n if (e instanceof Error) {\n return new UnknownError(e.message, \"UNKNOWN\");\n }\n return new UnknownError(\"Unable to parse error response\", \"UNKNOWN\");\n }\n }\n // Do not return anything if its a 204. Do not parse either!\n if (response.status === 204) {\n return;\n }\n if (responseMediaType == null || responseMediaType === \"application/json\") {\n return await response.json();\n }\n return response;\n}\nexport function parseUrl(baseUrl, endpointPath) {\n baseUrl += baseUrl.endsWith(\"/\") ? \"\" : \"/\";\n return new URL(`api${endpointPath}`, baseUrl);\n}","/*\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 */\nimport { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _postEdits = [1, \"/v2/ontologies/{0}/transactions/{1}/edits\", 1];\n/**\n * Applies a set of edits to a transaction in order.\n *\n * @alpha\n *\n * Required Scopes: [api:ontologies-read]\n * URL: /v2/ontologies/{ontology}/transactions/{transactionRid}/edits\n */\nexport function postEdits($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _postEdits, ...args);\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @internal */\nexport const writeableClientContext = Symbol(\"writeableClientContext\");","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OntologyTransactions } from \"@osdk/foundry.ontologies\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport class EditRequestManager {\n pendingEdits = [];\n inFlightRequest = null;\n queuedRequest = null;\n editTimeout = null;\n constructor(client) {\n this.client = client;\n }\n postEdit(edit) {\n if (this.inFlightRequest) {\n if (this.editTimeout) {\n // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) {\n // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(edit);\n return this.inFlightRequest;\n }\n }\n createInitialPromiseWithTimeout(edit) {\n return new Promise(resolve => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) {\n // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n async dispatchRequest() {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {\n edits: copiedEdits\n });\n }\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function toPropertyDataValue(value) {\n if (value == null) {\n return null; // This differs from how actions handles null, which expects a specific enum value.\n }\n if (Array.isArray(value)) {\n return value.map(item => toPropertyDataValue(item));\n }\n if (isPoint(value)) {\n return toPropertyDataValue(`${value.coordinates[1]},${value.coordinates[0]}`);\n }\n if (typeof value === \"object\") {\n const result = {};\n for (const key in value) {\n result[key] = toPropertyDataValue(value[key]);\n }\n return result;\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\nfunction isPoint(o) {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\" && \"coordinates\" in o && o.coordinates.length === 2;\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport function createWriteableClient(...args) {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n const client = createClientWithTransaction(...args);\n const editRequestManager = new EditRequestManager(client) // This cast is safe because we create the writeable client properties below.\n ;\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties(client, {\n link: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n unlink: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n create: {\n value: async function (obj, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap\n });\n }\n },\n update: {\n value: function (locator, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap\n });\n }\n },\n delete: {\n value: function (obj) {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey\n });\n }\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid\n }\n }\n });\n return writeableClient;\n}"]}
1
+ {"version":3,"sources":["../../../../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js","../../../../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.4.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js","../../../../../node_modules/.pnpm/@osdk+foundry.ontologies@2.30.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js","../../../src/transactions/WriteableClient.ts","../../../src/transactions/EditRequestManager.ts","../../../src/transactions/toPropertyDataValue.ts","../../../src/transactions/createWriteableClient.ts"],"names":["symbolClientContext","__export","createClientWithTransaction"],"mappings":"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","file":"unstable-do-not-use.cjs","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\nexport const symbolClientContext = Symbol(\"ClientContext\");","/*\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\nexport const symbolClientContext = \"__osdkClientContext\";","/*\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 */\nexport class PalantirApiError extends Error {\n message;\n errorName;\n errorCode;\n statusCode;\n errorInstanceId;\n parameters;\n constructor(message, errorName, errorCode, statusCode, errorInstanceId, parameters) {\n super(message);\n this.message = message;\n this.errorName = errorName;\n this.errorCode = errorCode;\n this.statusCode = statusCode;\n this.errorInstanceId = errorInstanceId;\n this.parameters = parameters;\n }\n}","/*\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 */\nimport { PalantirApiError } from \"./PalantirApiError.js\";\nexport class UnknownError extends PalantirApiError {\n originalError;\n constructor(message, errorType, originalError) {\n super(message, errorType);\n this.originalError = originalError;\n }\n}","/*\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 */\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { PalantirApiError, UnknownError } from \"@osdk/shared.net.errors\";\nexport async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {\n const path = origPath.replace(/\\{([^}]+)\\}/g, () => encodeURIComponent(args.shift()));\n const body = flags & 1 ? args.shift() : undefined;\n const queryArgs = flags & 2 ? args.shift() : undefined;\n const headerArgs = flags & 4 ? args.shift() : undefined;\n const method = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\"][httpMethodNum];\n return await apiFetch(client[symbolClientContext] ?? client[oldSymbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);\n}\nasync function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {\n const url = parseUrl(clientCtx.baseUrl, endpointPath);\n for (const [key, value] of Object.entries(queryArguments || {})) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n url.searchParams.append(key, item);\n }\n } else {\n url.searchParams.append(key, value);\n }\n }\n const headersInit = new Headers();\n headersInit.set(\"Content-Type\", requestMediaType ?? \"application/json\");\n headersInit.set(\"Accept\", responseMediaType ?? \"application/json\");\n Object.entries(headers || {}).forEach(([key, value]) => {\n if (key === \"Content-Type\" && typeof value === \"string\") {\n headersInit.set(\"Content-Type\", value);\n } else if (key === \"Accept\" && typeof value === \"string\") {\n headersInit.set(\"Accept\", value);\n } else if (value != null) {\n headersInit.append(key, value.toString());\n }\n });\n const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);\n // Because this uses the client's fetch, there is a 99.99% chance that it is already going\n // to handle the error case and throw a PalantirApiError since its wrapped in a\n // createFetchOrThrow.\n const response = await clientCtx.fetch(url.toString(), {\n body,\n method: method,\n headers: headersInit\n });\n // However, if we ended up using a \"regular\" fetch, the\n // error status codes are not thrown by fetch automatically,\n // we have to look at the ok property and behave accordingly\n if (!response.ok) {\n try {\n const convertedError = await response.json();\n return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);\n } catch (e) {\n if (e instanceof Error) {\n return new UnknownError(e.message, \"UNKNOWN\");\n }\n return new UnknownError(\"Unable to parse error response\", \"UNKNOWN\");\n }\n }\n // Do not return anything if its a 204. Do not parse either!\n if (response.status === 204) {\n return;\n }\n if (responseMediaType == null || responseMediaType === \"application/json\") {\n return await response.json();\n }\n return response;\n}\nexport function parseUrl(baseUrl, endpointPath) {\n baseUrl += baseUrl.endsWith(\"/\") ? \"\" : \"/\";\n return new URL(`api${endpointPath}`, baseUrl);\n}","/*\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 */\nimport { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _postEdits = [1, \"/v2/ontologies/{0}/transactions/{1}/edits\", 3];\n/**\n * Applies a set of edits to a transaction in order.\n *\n * @alpha\n *\n * Required Scopes: [api:ontologies-read]\n * URL: /v2/ontologies/{ontology}/transactions/{transactionRid}/edits\n */\nexport function postEdits($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _postEdits, ...args);\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @internal */\nexport const writeableClientContext = Symbol(\"writeableClientContext\");","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OntologyTransactions } from \"@osdk/foundry.ontologies\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport class EditRequestManager {\n pendingEdits = [];\n inFlightRequest = null;\n queuedRequest = null;\n editTimeout = null;\n constructor(client) {\n this.client = client;\n }\n postEdit(edit) {\n if (this.inFlightRequest) {\n if (this.editTimeout) {\n // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) {\n // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(edit);\n return this.inFlightRequest;\n }\n }\n createInitialPromiseWithTimeout(edit) {\n return new Promise(resolve => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) {\n // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n async dispatchRequest() {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {\n edits: copiedEdits\n }, {\n preview: true\n });\n }\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function toPropertyDataValue(value) {\n if (value == null) {\n return null; // This differs from how actions handles null, which expects a specific enum value.\n }\n if (Array.isArray(value)) {\n return value.map(item => toPropertyDataValue(item));\n }\n if (isPoint(value)) {\n return toPropertyDataValue(`${value.coordinates[1]},${value.coordinates[0]}`);\n }\n if (typeof value === \"object\") {\n const result = {};\n for (const key in value) {\n result[key] = toPropertyDataValue(value[key]);\n }\n return result;\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\nfunction isPoint(o) {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\" && \"coordinates\" in o && o.coordinates.length === 2;\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport function createWriteableClient(...args) {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n const client = createClientWithTransaction(...args);\n const editRequestManager = new EditRequestManager(client) // This cast is safe because we create the writeable client properties below.\n ;\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties(client, {\n link: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n unlink: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n create: {\n value: async function (obj, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap\n });\n }\n },\n update: {\n value: function (locator, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap\n });\n }\n },\n delete: {\n value: function (obj) {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey\n });\n }\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid\n }\n }\n });\n return writeableClient;\n}"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=UserGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Principal.js","names":[],"sources":["Principal.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type Principal = {\n type: \"user\";\n id: string;\n} | {\n type: \"group\";\n id: string;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"UserGroup.js","names":[],"sources":["UserGroup.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n GroupId as PlatformGroupId,\n UserId as PlatformUserId,\n} from \"@osdk/foundry.core\";\n\nexport type GroupId = PlatformGroupId & {\n __groupIdBrand?: void;\n};\n\nexport type UserId = PlatformUserId & {\n __userIdBrand?: void;\n};\n\nexport type Principal = {\n type: \"user\";\n id: string;\n} | {\n type: \"group\";\n id: string;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export class UserFacingError extends Error {
18
+ constructor(message) {
19
+ super(message);
20
+ }
21
+ }
22
+ //# sourceMappingURL=UserFacingError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserFacingError.js","names":["UserFacingError","Error","constructor","message"],"sources":["UserFacingError.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class UserFacingError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;EAChB;AACF","ignoreList":[]}
@@ -15,4 +15,5 @@
15
15
  */
16
16
 
17
17
  export { createEditBatch } from "./edits/createEditBatch.js";
18
+ export { UserFacingError } from "./errors/UserFacingError.js";
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createEditBatch"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n DateISOString,\n Double,\n Float,\n Integer,\n Long,\n TimestampISOString,\n} from \"./PrimitiveTypes.js\";\n\nexport type {\n Attachment,\n Range,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/client\";\n\nexport { createEditBatch } from \"./edits/createEditBatch.js\";\nexport type { EditBatch } from \"./edits/EditBatch.js\";\nexport type { Edits } from \"./edits/types.js\";\n\nexport type {\n EmailNotification,\n Notification,\n NotificationLink,\n NotificationLinkTarget,\n ObjectLinkTarget,\n PlatformNotification,\n RidLinkTarget,\n UrlLinkTarget,\n} from \"./Notification.js\";\n\nexport type { Principal } from \"./Principal.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA,SAASA,eAAe,QAAQ,4BAA4B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createEditBatch","UserFacingError"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n DateISOString,\n Double,\n Float,\n Integer,\n Long,\n TimestampISOString,\n} from \"./PrimitiveTypes.js\";\n\nexport type {\n Attachment,\n Range,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/client\";\n\nexport { createEditBatch } from \"./edits/createEditBatch.js\";\nexport type { EditBatch } from \"./edits/EditBatch.js\";\nexport type { Edits } from \"./edits/types.js\";\nexport { UserFacingError } from \"./errors/UserFacingError.js\";\n\nexport type {\n EmailNotification,\n Notification,\n NotificationLink,\n NotificationLinkTarget,\n ObjectLinkTarget,\n PlatformNotification,\n RidLinkTarget,\n UrlLinkTarget,\n} from \"./Notification.js\";\n\nexport type { GroupId, Principal, UserId } from \"./UserGroup.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA,SAASA,eAAe,QAAQ,4BAA4B;AAG5D,SAASC,eAAe,QAAQ,6BAA6B","ignoreList":[]}
@@ -69,6 +69,8 @@ export class EditRequestManager {
69
69
  this.pendingEdits = [];
70
70
  await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {
71
71
  edits: copiedEdits
72
+ }, {
73
+ preview: true
72
74
  });
73
75
  }
74
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EditRequestManager.js","names":["OntologyTransactions","writeableClientContext","EditRequestManager","pendingEdits","inFlightRequest","queuedRequest","editTimeout","constructor","client","postEdit","edit","push","then","dispatchRequest","createInitialPromiseWithTimeout","Promise","resolve","setTimeout","copiedEdits","postEdits","ontologyRid","transactionRid","edits"],"sources":["EditRequestManager.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OntologyTransactions,\n type TransactionEdit,\n} from \"@osdk/foundry.ontologies\";\nimport type { WriteableClient } from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport class EditRequestManager {\n private pendingEdits: TransactionEdit[] = [];\n private inFlightRequest: Promise<void> | null = null;\n private queuedRequest: Promise<void> | null = null;\n private editTimeout: NodeJS.Timeout | null = null;\n private client: WriteableClient<any>;\n\n public constructor(client: WriteableClient<any>) {\n this.client = client;\n }\n\n public postEdit(edit: TransactionEdit): Promise<void> {\n if (this.inFlightRequest) {\n if (this.editTimeout) { // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) { // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(\n edit,\n );\n return this.inFlightRequest;\n }\n }\n\n private createInitialPromiseWithTimeout(\n edit: TransactionEdit,\n ): Promise<void> {\n return new Promise((resolve) => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) { // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n\n private async dispatchRequest(): Promise<void> {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(\n this.client,\n await this.client[writeableClientContext].ontologyRid,\n this.client[writeableClientContext].transactionRid,\n { edits: copiedEdits },\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,oBAAoB,QAEf,0BAA0B;AAEjC,SAASC,sBAAsB,QAAQ,sBAAsB;AAE7D,OAAO,MAAMC,kBAAkB,CAAC;EACtBC,YAAY,GAAsB,EAAE;EACpCC,eAAe,GAAyB,IAAI;EAC5CC,aAAa,GAAyB,IAAI;EAC1CC,WAAW,GAA0B,IAAI;EAG1CC,WAAWA,CAACC,MAA4B,EAAE;IAC/C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEOC,QAAQA,CAACC,IAAqB,EAAiB;IACpD,IAAI,IAAI,CAACN,eAAe,EAAE;MACxB,IAAI,IAAI,CAACE,WAAW,EAAE;QAAE;QACtB,IAAI,CAACH,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACN,eAAe;MAC7B;MACA,IAAI,IAAI,CAACC,aAAa,EAAE;QAAE;QACxB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACL,aAAa;MAC3B;MACA;MACA,IAAI,CAACA,aAAa,GAAG,IAAI,CAACD,eAAe,CAACQ,IAAI,CAAC,YAAY;QACzD,IAAI,CAACR,eAAe,GAAG,IAAI,CAACC,aAAa;QACzC,IAAI,CAACA,aAAa,GAAG,IAAI;QACzB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,MAAM,IAAI,CAACG,eAAe,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,OAAO,IAAI,CAACR,aAAa;IAC3B,CAAC,MAAM;MACL;MACA,IAAI,CAACD,eAAe,GAAG,IAAI,CAACU,+BAA+B,CACzDJ,IACF,CAAC;MACD,OAAO,IAAI,CAACN,eAAe;IAC7B;EACF;EAEQU,+BAA+BA,CACrCJ,IAAqB,EACN;IACf,OAAO,IAAIK,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACb,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;MAC5B,IAAI,CAACJ,WAAW,GAAGW,UAAU,CAAC,YAAY;QACxC,IAAI,CAACX,WAAW,GAAG,IAAI;QACvB,MAAM,IAAI,CAACO,eAAe,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAACR,aAAa,EAAE;UAAE;UACzB,IAAI,CAACD,eAAe,GAAG,IAAI;QAC7B;QACAY,OAAO,CAAC,CAAC;MACX,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,CAAC;EACJ;EAEA,MAAcH,eAAeA,CAAA,EAAkB;IAC7C,MAAMK,WAAW,GAAG,IAAI,CAACf,YAAY;IACrC,IAAI,CAACA,YAAY,GAAG,EAAE;IACtB,MAAMH,oBAAoB,CAACmB,SAAS,CAClC,IAAI,CAACX,MAAM,EACX,MAAM,IAAI,CAACA,MAAM,CAACP,sBAAsB,CAAC,CAACmB,WAAW,EACrD,IAAI,CAACZ,MAAM,CAACP,sBAAsB,CAAC,CAACoB,cAAc,EAClD;MAAEC,KAAK,EAAEJ;IAAY,CACvB,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"EditRequestManager.js","names":["OntologyTransactions","writeableClientContext","EditRequestManager","pendingEdits","inFlightRequest","queuedRequest","editTimeout","constructor","client","postEdit","edit","push","then","dispatchRequest","createInitialPromiseWithTimeout","Promise","resolve","setTimeout","copiedEdits","postEdits","ontologyRid","transactionRid","edits","preview"],"sources":["EditRequestManager.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OntologyTransactions,\n type TransactionEdit,\n} from \"@osdk/foundry.ontologies\";\nimport type { WriteableClient } from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport class EditRequestManager {\n private pendingEdits: TransactionEdit[] = [];\n private inFlightRequest: Promise<void> | null = null;\n private queuedRequest: Promise<void> | null = null;\n private editTimeout: NodeJS.Timeout | null = null;\n private client: WriteableClient<any>;\n\n public constructor(client: WriteableClient<any>) {\n this.client = client;\n }\n\n public postEdit(edit: TransactionEdit): Promise<void> {\n if (this.inFlightRequest) {\n if (this.editTimeout) { // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) { // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(\n edit,\n );\n return this.inFlightRequest;\n }\n }\n\n private createInitialPromiseWithTimeout(\n edit: TransactionEdit,\n ): Promise<void> {\n return new Promise((resolve) => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) { // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n\n private async dispatchRequest(): Promise<void> {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(\n this.client,\n await this.client[writeableClientContext].ontologyRid,\n this.client[writeableClientContext].transactionRid,\n { edits: copiedEdits },\n { preview: true },\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,oBAAoB,QAEf,0BAA0B;AAEjC,SAASC,sBAAsB,QAAQ,sBAAsB;AAE7D,OAAO,MAAMC,kBAAkB,CAAC;EACtBC,YAAY,GAAsB,EAAE;EACpCC,eAAe,GAAyB,IAAI;EAC5CC,aAAa,GAAyB,IAAI;EAC1CC,WAAW,GAA0B,IAAI;EAG1CC,WAAWA,CAACC,MAA4B,EAAE;IAC/C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEOC,QAAQA,CAACC,IAAqB,EAAiB;IACpD,IAAI,IAAI,CAACN,eAAe,EAAE;MACxB,IAAI,IAAI,CAACE,WAAW,EAAE;QAAE;QACtB,IAAI,CAACH,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACN,eAAe;MAC7B;MACA,IAAI,IAAI,CAACC,aAAa,EAAE;QAAE;QACxB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,OAAO,IAAI,CAACL,aAAa;MAC3B;MACA;MACA,IAAI,CAACA,aAAa,GAAG,IAAI,CAACD,eAAe,CAACQ,IAAI,CAAC,YAAY;QACzD,IAAI,CAACR,eAAe,GAAG,IAAI,CAACC,aAAa;QACzC,IAAI,CAACA,aAAa,GAAG,IAAI;QACzB,IAAI,CAACF,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC5B,MAAM,IAAI,CAACG,eAAe,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,OAAO,IAAI,CAACR,aAAa;IAC3B,CAAC,MAAM;MACL;MACA,IAAI,CAACD,eAAe,GAAG,IAAI,CAACU,+BAA+B,CACzDJ,IACF,CAAC;MACD,OAAO,IAAI,CAACN,eAAe;IAC7B;EACF;EAEQU,+BAA+BA,CACrCJ,IAAqB,EACN;IACf,OAAO,IAAIK,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACb,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;MAC5B,IAAI,CAACJ,WAAW,GAAGW,UAAU,CAAC,YAAY;QACxC,IAAI,CAACX,WAAW,GAAG,IAAI;QACvB,MAAM,IAAI,CAACO,eAAe,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAACR,aAAa,EAAE;UAAE;UACzB,IAAI,CAACD,eAAe,GAAG,IAAI;QAC7B;QACAY,OAAO,CAAC,CAAC;MACX,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,CAAC;EACJ;EAEA,MAAcH,eAAeA,CAAA,EAAkB;IAC7C,MAAMK,WAAW,GAAG,IAAI,CAACf,YAAY;IACrC,IAAI,CAACA,YAAY,GAAG,EAAE;IACtB,MAAMH,oBAAoB,CAACmB,SAAS,CAClC,IAAI,CAACX,MAAM,EACX,MAAM,IAAI,CAACA,MAAM,CAACP,sBAAsB,CAAC,CAACmB,WAAW,EACrD,IAAI,CAACZ,MAAM,CAACP,sBAAsB,CAAC,CAACoB,cAAc,EAClD;MAAEC,KAAK,EAAEJ;IAAY,CAAC,EACtB;MAAEK,OAAO,EAAE;IAAK,CAClB,CAAC;EACH;AACF","ignoreList":[]}
@@ -83,7 +83,7 @@ export function createWriteableClient(...args) {
83
83
  }
84
84
  return editRequestManager.postEdit({
85
85
  type: "addObject",
86
- objectType: obj.$apiName,
86
+ objectType: obj.apiName,
87
87
  primaryKey: obj.$primaryKey,
88
88
  properties: propertyMap
89
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createWriteableClient.js","names":["createClientWithTransaction","EditRequestManager","toPropertyDataValue","writeableClientContext","createWriteableClient","args","transactionRid","ontologyRid","client","editRequestManager","writeableClient","Object","defineProperties","link","value","source","apiName","target","Array","isArray","postEdit","type","objectType","$apiName","primaryKey","$primaryKey","linkType","linkedObjectPrimaryKey","promises","elem","push","Promise","all","then","undefined","unlink","create","obj","properties","propertyMap","key","entries","update","locator","delete"],"sources":["createWriteableClient.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\n\nimport type { Client } from \"@osdk/client\";\nimport type {\n AddLinkApiNames,\n AddLinkSources,\n AddLinkTargets,\n CreatableObjectOrInterfaceTypeProperties,\n CreatableObjectOrInterfaceTypes,\n DeletableObjectOrInterfaceLocators,\n RemoveLinkApiNames,\n RemoveLinkSources,\n RemoveLinkTargets,\n UpdatableObjectOrInterfaceLocatorProperties,\n UpdatableObjectOrInterfaceLocators,\n} from \"../edits/EditBatch.js\";\nimport type { AnyEdit } from \"../edits/types.js\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport type {\n WriteableClient,\n WriteableClientContext,\n WriteMethods,\n} from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport function createWriteableClient<\n X extends AnyEdit = never,\n>(\n ...args: Parameters<typeof createClientWithTransaction>\n): WriteableClient<X> {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n\n const client = createClientWithTransaction(...args);\n\n const editRequestManager = new EditRequestManager(\n client as WriteableClient<any>, // This cast is safe because we create the writeable client properties below.\n );\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties<Client>(\n client,\n {\n link: {\n value: function<\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n\n for (const elem of target) {\n promises.push(\n editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }),\n );\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n unlink: {\n value: function<\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }));\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n create: {\n value: async function<OTD extends CreatableObjectOrInterfaceTypes<X>>(\n obj: OTD,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OTD>,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n update: {\n value: function<\n SOL extends UpdatableObjectOrInterfaceLocators<X>,\n OTD extends UpdatableObjectOrInterfaceLocatorProperties<X, SOL>,\n >(\n locator: SOL,\n properties: OTD,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n delete: {\n value: function<OL extends DeletableObjectOrInterfaceLocators<X>>(\n obj: OL,\n ): Promise<void> {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n });\n },\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid,\n } satisfies WriteableClientContext,\n },\n } satisfies Record<\n keyof WriteMethods<any> | typeof writeableClientContext,\n PropertyDescriptor\n >,\n ) as WriteableClient<X>;\n\n return writeableClient;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,2BAA2B,QAAQ,kCAAkC;AAiB9E,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,mBAAmB,QAAQ,0BAA0B;AAM9D,SAASC,sBAAsB,QAAQ,sBAAsB;AAE7D,OAAO,SAASC,qBAAqBA,CAGnC,GAAGC,IAAoD,EACnC;EACpB,MAAMC,cAAc,GAAGD,IAAI,CAAC,CAAC,CAAC;EAC9B,MAAME,WAAW,GAAGF,IAAI,CAAC,CAAC,CAAC;EAE3B,MAAMG,MAAM,GAAGR,2BAA2B,CAAC,GAAGK,IAAI,CAAC;EAEnD,MAAMI,kBAAkB,GAAG,IAAIR,kBAAkB,CAC/CO,MACF,CAAC,CADiC;EACjC;;EAED;EACA,MAAME,eAAe,GAAGC,MAAM,CAACC,gBAAgB,CAC7CJ,MAAM,EACN;IACEK,IAAI,EAAE;MACJC,KAAK,EAAE,SAAAA,CAILC,MAAW,EACXC,OAAU,EACVC,MAAiC,EAClB;QACf,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;UAC1B,OAAOR,kBAAkB,CAACW,QAAQ,CAAC;YACjCC,IAAI,EAAE,SAAS;YACfC,UAAU,EAAEP,MAAM,CAACQ,QAAQ;YAC3BC,UAAU,EAAET,MAAM,CAACU,WAAW;YAC9BC,QAAQ,EAAEV,OAAO;YACjBW,sBAAsB,EAAEV,MAAM,CAACQ;UACjC,CAAC,CAAC;QACJ;QACA,MAAMG,QAAyB,GAAG,EAAE;QAEpC,KAAK,MAAMC,IAAI,IAAIZ,MAAM,EAAE;UACzBW,QAAQ,CAACE,IAAI,CACXrB,kBAAkB,CAACW,QAAQ,CAAC;YAC1BC,IAAI,EAAE,SAAS;YACfC,UAAU,EAAEP,MAAM,CAACQ,QAAQ;YAC3BC,UAAU,EAAET,MAAM,CAACU,WAAW;YAC9BC,QAAQ,EAAEV,OAAO;YACjBW,sBAAsB,EAAEE,IAAI,CAACJ;UAC/B,CAAC,CACH,CAAC;QACH;QACA,OAAOM,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC,CAACK,IAAI,CAAC,MAAMC,SAAS,CAAC;MACpD;IACF,CAAC;IACDC,MAAM,EAAE;MACNrB,KAAK,EAAE,SAAAA,CAILC,MAAW,EACXC,OAAU,EACVC,MAAoC,EACrB;QACf,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;UAC1B,OAAOR,kBAAkB,CAACW,QAAQ,CAAC;YACjCC,IAAI,EAAE,YAAY;YAClBC,UAAU,EAAEP,MAAM,CAACQ,QAAQ;YAC3BC,UAAU,EAAET,MAAM,CAACU,WAAW;YAC9BC,QAAQ,EAAEV,OAAO;YACjBW,sBAAsB,EAAEV,MAAM,CAACQ;UACjC,CAAC,CAAC;QACJ;QACA,MAAMG,QAAyB,GAAG,EAAE;QACpC,KAAK,MAAMC,IAAI,IAAIZ,MAAM,EAAE;UACzBW,QAAQ,CAACE,IAAI,CAACrB,kBAAkB,CAACW,QAAQ,CAAC;YACxCC,IAAI,EAAE,YAAY;YAClBC,UAAU,EAAEP,MAAM,CAACQ,QAAQ;YAC3BC,UAAU,EAAET,MAAM,CAACU,WAAW;YAC9BC,QAAQ,EAAEV,OAAO;YACjBW,sBAAsB,EAAEE,IAAI,CAACJ;UAC/B,CAAC,CAAC,CAAC;QACL;QACA,OAAOM,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC,CAACK,IAAI,CAAC,MAAMC,SAAS,CAAC;MACpD;IACF,CAAC;IACDE,MAAM,EAAE;MACNtB,KAAK,EAAE,eAAAA,CACLuB,GAAQ,EACRC,UAA4D,EAC7C;QACf,MAAMC,WAAgD,GAAG,CAAC,CAAC;QAC3D,KAAK,MAAM,CAACC,GAAG,EAAE1B,KAAK,CAAC,IAAIH,MAAM,CAAC8B,OAAO,CAACH,UAAU,CAAC,EAAE;UACrDC,WAAW,CAACC,GAAG,CAAC,GAAGtC,mBAAmB,CAACY,KAAK,CAAC;QAC/C;QACA,OAAOL,kBAAkB,CAACW,QAAQ,CAAC;UACjCC,IAAI,EAAE,WAAW;UACjBC,UAAU,EAAEe,GAAG,CAACd,QAAQ;UACxBC,UAAU,EAAEa,GAAG,CAACZ,WAAW;UAC3Ba,UAAU,EAAEC;QACd,CAAC,CAAC;MACJ;IACF,CAAC;IACDG,MAAM,EAAE;MACN5B,KAAK,EAAE,SAAAA,CAIL6B,OAAY,EACZL,UAAe,EACA;QACf,MAAMC,WAAgD,GAAG,CAAC,CAAC;QAC3D,KAAK,MAAM,CAACC,GAAG,EAAE1B,KAAK,CAAC,IAAIH,MAAM,CAAC8B,OAAO,CAACH,UAAU,CAAC,EAAE;UACrDC,WAAW,CAACC,GAAG,CAAC,GAAGtC,mBAAmB,CAACY,KAAK,CAAC;QAC/C;QACA,OAAOL,kBAAkB,CAACW,QAAQ,CAAC;UACjCC,IAAI,EAAE,cAAc;UACpBC,UAAU,EAAEqB,OAAO,CAACpB,QAAQ;UAC5BC,UAAU,EAAEmB,OAAO,CAAClB,WAAW;UAC/Ba,UAAU,EAAEC;QACd,CAAC,CAAC;MACJ;IACF,CAAC;IACDK,MAAM,EAAE;MACN9B,KAAK,EAAE,SAAAA,CACLuB,GAAO,EACQ;QACf,OAAO5B,kBAAkB,CAACW,QAAQ,CAAC;UACjCC,IAAI,EAAE,cAAc;UACpBC,UAAU,EAAEe,GAAG,CAACd,QAAQ;UACxBC,UAAU,EAAEa,GAAG,CAACZ;QAClB,CAAC,CAAC;MACJ;IACF,CAAC;IACD,CAACtB,sBAAsB,GAAG;MACxBW,KAAK,EAAE;QACLP,WAAW;QACXD;MACF;IACF;EACF,CAIF,CAAuB;EAEvB,OAAOI,eAAe;AACxB","ignoreList":[]}
1
+ {"version":3,"file":"createWriteableClient.js","names":["createClientWithTransaction","EditRequestManager","toPropertyDataValue","writeableClientContext","createWriteableClient","args","transactionRid","ontologyRid","client","editRequestManager","writeableClient","Object","defineProperties","link","value","source","apiName","target","Array","isArray","postEdit","type","objectType","$apiName","primaryKey","$primaryKey","linkType","linkedObjectPrimaryKey","promises","elem","push","Promise","all","then","undefined","unlink","create","obj","properties","propertyMap","key","entries","update","locator","delete"],"sources":["createWriteableClient.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\n\nimport type { Client } from \"@osdk/client\";\nimport type {\n AddLinkApiNames,\n AddLinkSources,\n AddLinkTargets,\n CreatableObjectOrInterfaceTypeProperties,\n CreatableObjectOrInterfaceTypes,\n DeletableObjectOrInterfaceLocators,\n RemoveLinkApiNames,\n RemoveLinkSources,\n RemoveLinkTargets,\n UpdatableObjectOrInterfaceLocatorProperties,\n UpdatableObjectOrInterfaceLocators,\n} from \"../edits/EditBatch.js\";\nimport type { AnyEdit } from \"../edits/types.js\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport type {\n WriteableClient,\n WriteableClientContext,\n WriteMethods,\n} from \"./WriteableClient.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\n\nexport function createWriteableClient<\n X extends AnyEdit = never,\n>(\n ...args: Parameters<typeof createClientWithTransaction>\n): WriteableClient<X> {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n\n const client = createClientWithTransaction(...args);\n\n const editRequestManager = new EditRequestManager(\n client as WriteableClient<any>, // This cast is safe because we create the writeable client properties below.\n );\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties<Client>(\n client,\n {\n link: {\n value: function<\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n\n for (const elem of target) {\n promises.push(\n editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }),\n );\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n unlink: {\n value: function<\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ): Promise<void> {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey,\n });\n }\n const promises: Promise<void>[] = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey,\n }));\n }\n return Promise.all(promises).then(() => undefined);\n },\n },\n create: {\n value: async function<OTD extends CreatableObjectOrInterfaceTypes<X>>(\n obj: OTD,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OTD>,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n update: {\n value: function<\n SOL extends UpdatableObjectOrInterfaceLocators<X>,\n OTD extends UpdatableObjectOrInterfaceLocatorProperties<X, SOL>,\n >(\n locator: SOL,\n properties: OTD,\n ): Promise<void> {\n const propertyMap: { [propertyName: string]: unknown } = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap,\n });\n },\n },\n delete: {\n value: function<OL extends DeletableObjectOrInterfaceLocators<X>>(\n obj: OL,\n ): Promise<void> {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey,\n });\n },\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid,\n } satisfies WriteableClientContext,\n },\n } satisfies Record<\n keyof WriteMethods<any> | typeof writeableClientContext,\n PropertyDescriptor\n >,\n ) as WriteableClient<X>;\n\n return writeableClient;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import type { GroupId as PlatformGroupId, UserId as PlatformUserId } from "@osdk/foundry.core";
2
+ export type GroupId = PlatformGroupId & {
3
+ __groupIdBrand?: void
4
+ };
5
+ export type UserId = PlatformUserId & {
6
+ __userIdBrand?: void
7
+ };
8
+ export type Principal = {
9
+ type: "user"
10
+ id: string
11
+ } | {
12
+ type: "group"
13
+ id: string
14
+ };
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,WAAW,iBACX,UAAU,sBACL,oBAAqB;AAE5B,YAAY,UAAU,kBAAkB;CACtC;AACD;AAED,YAAY,SAAS,iBAAiB;CACpC;AACD;AAED,YAAY,YAAY;CACtB,MAAM;CACN;AACD,IAAG;CACF,MAAM;CACN;AACD","names":[],"sources":["../../src/UserGroup.ts"],"version":3,"file":"UserGroup.d.ts"}
@@ -0,0 +1,3 @@
1
+ export declare class UserFacingError extends Error {
2
+ constructor(message: string);
3
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,OAAO,cAAM,wBAAwB,MAAM;CACzC,YAAYA;AAGb","names":["message: string"],"sources":["../../../src/errors/UserFacingError.ts"],"version":3,"file":"UserFacingError.d.ts"}
@@ -3,5 +3,6 @@ export type { Attachment, Range, ThreeDimensionalAggregation, TwoDimensionalAggr
3
3
  export { createEditBatch } from "./edits/createEditBatch.js";
4
4
  export type { EditBatch } from "./edits/EditBatch.js";
5
5
  export type { Edits } from "./edits/types.js";
6
+ export { UserFacingError } from "./errors/UserFacingError.js";
6
7
  export type { EmailNotification, Notification, NotificationLink, NotificationLinkTarget, ObjectLinkTarget, PlatformNotification, RidLinkTarget, UrlLinkTarget } from "./Notification.js";
7
- export type { Principal } from "./Principal.ts";
8
+ export type { GroupId, Principal, UserId } from "./UserGroup.js";
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,eACA,QACA,OACA,SACA,MACA,0BACK;AAEP,cACE,YACA,OACA,6BACA,iCACK;AAEP,SAAS,uBAAuB;AAChC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAE3B,cACE,mBACA,cACA,kBACA,wBACA,kBACA,sBACA,eACA,qBACK;AAEP,cAAc,iBAAiB","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
1
+ {"mappings":"AAgBA,cACE,eACA,QACA,OACA,SACA,MACA,0BACK;AAEP,cACE,YACA,OACA,6BACA,iCACK;AAEP,SAAS,uBAAuB;AAChC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,SAAS,uBAAuB;AAEhC,cACE,mBACA,cACA,kBACA,wBACA,kBACA,sBACA,eACA,qBACK;AAEP,cAAc,SAAS,WAAW,cAAc","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAEO,uBACA,0BAA2B;AAClC,cAAc,uBAAuB,sBAAuB;AAG5D,OAAO,cAAM,mBAAmB;CAC9B,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,QAAQ;CAER,AAAO,YAAYA,QAAQ;CAI3B,AAAO,SAASC,MAAM,kBAAkB;CA2BxC,QAAQ;CAgBR,QAAc;AAUf","names":["client: WriteableClient<any>","edit: TransactionEdit"],"sources":["../../../src/transactions/EditRequestManager.ts"],"version":3,"file":"EditRequestManager.d.ts"}
1
+ {"mappings":"AAgBA,cAEO,uBACA,0BAA2B;AAClC,cAAc,uBAAuB,sBAAuB;AAG5D,OAAO,cAAM,mBAAmB;CAC9B,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,QAAQ;CAER,AAAO,YAAYA,QAAQ;CAI3B,AAAO,SAASC,MAAM,kBAAkB;CA2BxC,QAAQ;CAgBR,QAAc;AAWf","names":["client: WriteableClient<any>","edit: TransactionEdit"],"sources":["../../../src/transactions/EditRequestManager.ts"],"version":3,"file":"EditRequestManager.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/functions",
3
- "version": "1.3.0-beta.2",
3
+ "version": "1.3.0-beta.4",
4
4
  "description": "",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -46,9 +46,12 @@
46
46
  "default": "./build/browser/public/*.js"
47
47
  }
48
48
  },
49
+ "dependencies": {
50
+ "@osdk/foundry.core": "^2.30.0",
51
+ "@osdk/foundry.ontologies": "^2.30.0"
52
+ },
49
53
  "peerDependencies": {
50
- "@osdk/foundry.ontologies": "^2.26.0",
51
- "@osdk/client": "^2.5.0-beta.2"
54
+ "@osdk/client": "^2.5.0-beta.4"
52
55
  },
53
56
  "devDependencies": {
54
57
  "@microsoft/api-documenter": "^7.26.5",
@@ -56,10 +59,10 @@
56
59
  "p-defer": "^4.0.1",
57
60
  "ts-expect": "^1.3.0",
58
61
  "typescript": "~5.5.4",
62
+ "@osdk/client.test.ontology": "~2.5.0-beta.4",
63
+ "@osdk/shared.test": "~2.5.0-beta.4",
59
64
  "@osdk/monorepo.api-extractor": "~0.4.0-beta.1",
60
- "@osdk/monorepo.tsconfig": "~0.4.0-beta.1",
61
- "@osdk/client.test.ontology": "~2.5.0-beta.2",
62
- "@osdk/shared.test": "~2.5.0-beta.2"
65
+ "@osdk/monorepo.tsconfig": "~0.4.0-beta.1"
63
66
  },
64
67
  "publishConfig": {
65
68
  "access": "public"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Principal.js.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Principal.js.map
@@ -1,7 +0,0 @@
1
- export type Principal = {
2
- type: "user"
3
- id: string
4
- } | {
5
- type: "group"
6
- id: string
7
- };
@@ -1 +0,0 @@
1
- {"mappings":"AAgBA,YAAY,YAAY;CACtB,MAAM;CACN;AACD,IAAG;CACF,MAAM;CACN;AACD","names":[],"sources":["../../src/Principal.ts"],"version":3,"file":"Principal.d.ts"}