@party-stack/foundry-ontology 0.18.0 → 0.19.0

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 (254) hide show
  1. package/README.md +19 -0
  2. package/lib/adapter/convertLoadSubsetOptions.d.ts +2 -0
  3. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
  4. package/lib/adapter/convertLoadSubsetOptions.js +158 -191
  5. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
  6. package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts +17 -15
  7. package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts.map +1 -1
  8. package/lib/adapter/createFoundryOntologyBackendAdapter.js +288 -400
  9. package/lib/adapter/createFoundryOntologyBackendAdapter.js.map +1 -1
  10. package/lib/adapter/foundryActionValidation.d.ts +17 -15
  11. package/lib/adapter/foundryActionValidation.d.ts.map +1 -1
  12. package/lib/adapter/foundryActionValidation.js +206 -305
  13. package/lib/adapter/foundryActionValidation.js.map +1 -1
  14. package/lib/adapter/foundryCodec.d.ts +10 -8
  15. package/lib/adapter/foundryCodec.d.ts.map +1 -1
  16. package/lib/adapter/foundryCodec.js +180 -287
  17. package/lib/adapter/foundryCodec.js.map +1 -1
  18. package/lib/adapter/foundryMediaId.d.ts +6 -4
  19. package/lib/adapter/foundryMediaId.d.ts.map +1 -1
  20. package/lib/adapter/foundryMediaId.js +31 -32
  21. package/lib/adapter/foundryMediaId.js.map +1 -1
  22. package/lib/adapter/index.d.ts +4 -4
  23. package/lib/adapter/index.js +4 -4
  24. package/lib/adapter/objectCollectionOptions.d.ts +18 -17
  25. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
  26. package/lib/adapter/objectCollectionOptions.js +451 -538
  27. package/lib/adapter/objectCollectionOptions.js.map +1 -1
  28. package/lib/config/applyAttachmentConstraintOverrides.d.ts +6 -4
  29. package/lib/config/applyAttachmentConstraintOverrides.d.ts.map +1 -1
  30. package/lib/config/applyAttachmentConstraintOverrides.js +45 -49
  31. package/lib/config/applyAttachmentConstraintOverrides.js.map +1 -1
  32. package/lib/config/index.d.ts +17 -15
  33. package/lib/config/index.d.ts.map +1 -1
  34. package/lib/config/index.js +56 -81
  35. package/lib/config/index.js.map +1 -1
  36. package/lib/connection.d.ts +28 -26
  37. package/lib/connection.d.ts.map +1 -1
  38. package/lib/connection.js +183 -215
  39. package/lib/connection.js.map +1 -1
  40. package/lib/index.d.ts +9 -5
  41. package/lib/index.js +9 -5
  42. package/lib/installation/createFoundryBackendInstallation.d.ts +21 -20
  43. package/lib/installation/createFoundryBackendInstallation.d.ts.map +1 -1
  44. package/lib/installation/createFoundryBackendInstallation.js +52 -62
  45. package/lib/installation/createFoundryBackendInstallation.js.map +1 -1
  46. package/lib/installation/index.d.ts +2 -2
  47. package/lib/installation/index.js +1 -2
  48. package/lib/meta/actionTypeCollectionOptions.d.ts +8 -6
  49. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
  50. package/lib/meta/actionTypeCollectionOptions.js +49 -49
  51. package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
  52. package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts +3 -1
  53. package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts.map +1 -1
  54. package/lib/meta/convertActionTypeLoadSubsetOptions.js +69 -75
  55. package/lib/meta/convertActionTypeLoadSubsetOptions.js.map +1 -1
  56. package/lib/meta/convertMetaActionType.d.ts +7 -5
  57. package/lib/meta/convertMetaActionType.d.ts.map +1 -1
  58. package/lib/meta/convertMetaActionType.js +458 -581
  59. package/lib/meta/convertMetaActionType.js.map +1 -1
  60. package/lib/meta/convertMetaLinkType.d.ts +4 -2
  61. package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
  62. package/lib/meta/convertMetaLinkType.js +37 -43
  63. package/lib/meta/convertMetaLinkType.js.map +1 -1
  64. package/lib/meta/convertMetaObjectType.d.ts +4 -2
  65. package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
  66. package/lib/meta/convertMetaObjectType.js +34 -35
  67. package/lib/meta/convertMetaObjectType.js.map +1 -1
  68. package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
  69. package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
  70. package/lib/meta/convertMetaQueryFunctionType.js +113 -94
  71. package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
  72. package/lib/meta/convertMetaTypeDef.d.ts +4 -2
  73. package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
  74. package/lib/meta/convertMetaTypeDef.js +178 -176
  75. package/lib/meta/convertMetaTypeDef.js.map +1 -1
  76. package/lib/meta/convertMetaValueType.d.ts +4 -2
  77. package/lib/meta/convertMetaValueType.d.ts.map +1 -1
  78. package/lib/meta/convertMetaValueType.js +11 -7
  79. package/lib/meta/convertMetaValueType.js.map +1 -1
  80. package/lib/meta/convertOmsActionParameterMetadata.d.ts +4 -2
  81. package/lib/meta/convertOmsActionParameterMetadata.d.ts.map +1 -1
  82. package/lib/meta/convertOmsActionParameterMetadata.js +107 -163
  83. package/lib/meta/convertOmsActionParameterMetadata.js.map +1 -1
  84. package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts +7 -5
  85. package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts.map +1 -1
  86. package/lib/meta/createFoundryMetaOntologyBackendAdapter.js +39 -41
  87. package/lib/meta/createFoundryMetaOntologyBackendAdapter.js.map +1 -1
  88. package/lib/meta/entityCollectionOptions.d.ts +12 -10
  89. package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
  90. package/lib/meta/entityCollectionOptions.js +59 -62
  91. package/lib/meta/entityCollectionOptions.js.map +1 -1
  92. package/lib/meta/foundryAttachmentMetadata.d.ts +2 -0
  93. package/lib/meta/foundryAttachmentMetadata.d.ts.map +1 -1
  94. package/lib/meta/foundryAttachmentMetadata.js +13 -14
  95. package/lib/meta/foundryAttachmentMetadata.js.map +1 -1
  96. package/lib/meta/index.d.ts +5 -5
  97. package/lib/meta/index.js +5 -5
  98. package/lib/meta/loadActionTypeOmsMetadata.d.ts +5 -3
  99. package/lib/meta/loadActionTypeOmsMetadata.d.ts.map +1 -1
  100. package/lib/meta/loadActionTypeOmsMetadata.js +102 -139
  101. package/lib/meta/loadActionTypeOmsMetadata.js.map +1 -1
  102. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
  103. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
  104. package/lib/meta/queryFunctionTypeCollectionOptions.js +47 -49
  105. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
  106. package/lib/stagedWrites.d.ts +26 -24
  107. package/lib/stagedWrites.d.ts.map +1 -1
  108. package/lib/stagedWrites.js +55 -66
  109. package/lib/stagedWrites.js.map +1 -1
  110. package/lib/users/createFoundryAdminOntologyRoute.d.ts +47 -17366
  111. package/lib/users/createFoundryAdminOntologyRoute.d.ts.map +1 -1
  112. package/lib/users/createFoundryAdminOntologyRoute.js +29 -37
  113. package/lib/users/createFoundryAdminOntologyRoute.js.map +1 -1
  114. package/lib/users/createFoundryUsersIntegration.d.ts +6 -4
  115. package/lib/users/createFoundryUsersIntegration.d.ts.map +1 -1
  116. package/lib/users/createFoundryUsersIntegration.js +28 -30
  117. package/lib/users/createFoundryUsersIntegration.js.map +1 -1
  118. package/lib/users/foundryUser.d.ts +4 -2
  119. package/lib/users/foundryUser.d.ts.map +1 -1
  120. package/lib/users/foundryUser.js +69 -74
  121. package/lib/users/foundryUser.js.map +1 -1
  122. package/lib/users/index.d.ts +5 -5
  123. package/lib/users/index.js +5 -5
  124. package/lib/users/userCollectionOptions.d.ts +13 -11
  125. package/lib/users/userCollectionOptions.d.ts.map +1 -1
  126. package/lib/users/userCollectionOptions.js +82 -100
  127. package/lib/users/userCollectionOptions.js.map +1 -1
  128. package/lib/utils/AsyncIterable.d.ts +2 -0
  129. package/lib/utils/AsyncIterable.d.ts.map +1 -1
  130. package/lib/utils/AsyncIterable.js +26 -34
  131. package/lib/utils/AsyncIterable.js.map +1 -1
  132. package/lib/utils/actionTypeName.d.ts +2 -0
  133. package/lib/utils/actionTypeName.d.ts.map +1 -1
  134. package/lib/utils/actionTypeName.js +9 -7
  135. package/lib/utils/actionTypeName.js.map +1 -1
  136. package/lib/utils/chunk.d.ts +2 -0
  137. package/lib/utils/chunk.d.ts.map +1 -1
  138. package/lib/utils/chunk.js +8 -6
  139. package/lib/utils/chunk.js.map +1 -1
  140. package/package.json +21 -27
  141. package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
  142. package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
  143. package/lib/adapter/convertLoadSubsetOptions.test.js +0 -213
  144. package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
  145. package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts +0 -2
  146. package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts.map +0 -1
  147. package/lib/adapter/createFoundryOntologyBackendAdapter.test.js +0 -628
  148. package/lib/adapter/createFoundryOntologyBackendAdapter.test.js.map +0 -1
  149. package/lib/adapter/foundryActionValidation.test.d.ts +0 -2
  150. package/lib/adapter/foundryActionValidation.test.d.ts.map +0 -1
  151. package/lib/adapter/foundryActionValidation.test.js +0 -243
  152. package/lib/adapter/foundryActionValidation.test.js.map +0 -1
  153. package/lib/adapter/foundryCodec.test.d.ts +0 -2
  154. package/lib/adapter/foundryCodec.test.d.ts.map +0 -1
  155. package/lib/adapter/foundryCodec.test.js +0 -137
  156. package/lib/adapter/foundryCodec.test.js.map +0 -1
  157. package/lib/adapter/foundryMediaId.test.d.ts +0 -2
  158. package/lib/adapter/foundryMediaId.test.d.ts.map +0 -1
  159. package/lib/adapter/foundryMediaId.test.js +0 -23
  160. package/lib/adapter/foundryMediaId.test.js.map +0 -1
  161. package/lib/adapter/index.d.ts.map +0 -1
  162. package/lib/adapter/index.js.map +0 -1
  163. package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
  164. package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
  165. package/lib/adapter/objectCollectionOptions.test.js +0 -1290
  166. package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
  167. package/lib/config/connectionPull.test.d.ts +0 -2
  168. package/lib/config/connectionPull.test.d.ts.map +0 -1
  169. package/lib/config/connectionPull.test.js +0 -151
  170. package/lib/config/connectionPull.test.js.map +0 -1
  171. package/lib/config/index.test.d.ts +0 -2
  172. package/lib/config/index.test.d.ts.map +0 -1
  173. package/lib/config/index.test.js +0 -182
  174. package/lib/config/index.test.js.map +0 -1
  175. package/lib/connection.test.d.ts +0 -2
  176. package/lib/connection.test.d.ts.map +0 -1
  177. package/lib/connection.test.js +0 -162
  178. package/lib/connection.test.js.map +0 -1
  179. package/lib/index.d.ts.map +0 -1
  180. package/lib/index.js.map +0 -1
  181. package/lib/installation/createFoundryBackendInstallation.test.d.ts +0 -2
  182. package/lib/installation/createFoundryBackendInstallation.test.d.ts.map +0 -1
  183. package/lib/installation/createFoundryBackendInstallation.test.js +0 -83
  184. package/lib/installation/createFoundryBackendInstallation.test.js.map +0 -1
  185. package/lib/installation/index.d.ts.map +0 -1
  186. package/lib/installation/index.js.map +0 -1
  187. package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
  188. package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
  189. package/lib/meta/actionTypeCollectionOptions.test.js +0 -24
  190. package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
  191. package/lib/meta/actionTypeIdQuery.test.d.ts +0 -2
  192. package/lib/meta/actionTypeIdQuery.test.d.ts.map +0 -1
  193. package/lib/meta/actionTypeIdQuery.test.js +0 -131
  194. package/lib/meta/actionTypeIdQuery.test.js.map +0 -1
  195. package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts +0 -2
  196. package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts.map +0 -1
  197. package/lib/meta/convertActionTypeLoadSubsetOptions.test.js +0 -138
  198. package/lib/meta/convertActionTypeLoadSubsetOptions.test.js.map +0 -1
  199. package/lib/meta/convertMetaActionType.test.d.ts +0 -2
  200. package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
  201. package/lib/meta/convertMetaActionType.test.js +0 -1565
  202. package/lib/meta/convertMetaActionType.test.js.map +0 -1
  203. package/lib/meta/convertMetaLinkType.test.d.ts +0 -2
  204. package/lib/meta/convertMetaLinkType.test.d.ts.map +0 -1
  205. package/lib/meta/convertMetaLinkType.test.js +0 -110
  206. package/lib/meta/convertMetaLinkType.test.js.map +0 -1
  207. package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
  208. package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
  209. package/lib/meta/convertMetaObjectType.test.js +0 -250
  210. package/lib/meta/convertMetaObjectType.test.js.map +0 -1
  211. package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
  212. package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
  213. package/lib/meta/convertMetaQueryFunctionType.test.js +0 -134
  214. package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
  215. package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts +0 -2
  216. package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts.map +0 -1
  217. package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js +0 -49
  218. package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js.map +0 -1
  219. package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
  220. package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
  221. package/lib/meta/entityCollectionOptions.test.js +0 -98
  222. package/lib/meta/entityCollectionOptions.test.js.map +0 -1
  223. package/lib/meta/index.d.ts.map +0 -1
  224. package/lib/meta/index.js.map +0 -1
  225. package/lib/meta/loadActionTypeOmsMetadata.test.d.ts +0 -2
  226. package/lib/meta/loadActionTypeOmsMetadata.test.d.ts.map +0 -1
  227. package/lib/meta/loadActionTypeOmsMetadata.test.js +0 -218
  228. package/lib/meta/loadActionTypeOmsMetadata.test.js.map +0 -1
  229. package/lib/stagedWrites.test.d.ts +0 -2
  230. package/lib/stagedWrites.test.d.ts.map +0 -1
  231. package/lib/stagedWrites.test.js +0 -71
  232. package/lib/stagedWrites.test.js.map +0 -1
  233. package/lib/users/createFoundryUsersIntegration.test.d.ts +0 -2
  234. package/lib/users/createFoundryUsersIntegration.test.d.ts.map +0 -1
  235. package/lib/users/createFoundryUsersIntegration.test.js +0 -32
  236. package/lib/users/createFoundryUsersIntegration.test.js.map +0 -1
  237. package/lib/users/foundryUser.test.d.ts +0 -2
  238. package/lib/users/foundryUser.test.d.ts.map +0 -1
  239. package/lib/users/foundryUser.test.js +0 -45
  240. package/lib/users/foundryUser.test.js.map +0 -1
  241. package/lib/users/index.d.ts.map +0 -1
  242. package/lib/users/index.js.map +0 -1
  243. package/lib/users/userCollectionOptions.test.d.ts +0 -2
  244. package/lib/users/userCollectionOptions.test.d.ts.map +0 -1
  245. package/lib/users/userCollectionOptions.test.js +0 -18
  246. package/lib/users/userCollectionOptions.test.js.map +0 -1
  247. package/lib/utils/AsyncIterable.test.d.ts +0 -2
  248. package/lib/utils/AsyncIterable.test.d.ts.map +0 -1
  249. package/lib/utils/AsyncIterable.test.js +0 -17
  250. package/lib/utils/AsyncIterable.test.js.map +0 -1
  251. package/lib/utils/actionTypeName.test.d.ts +0 -2
  252. package/lib/utils/actionTypeName.test.d.ts.map +0 -1
  253. package/lib/utils/actionTypeName.test.js +0 -30
  254. package/lib/utils/actionTypeName.test.js.map +0 -1
@@ -1,28 +1,29 @@
1
- import type { OntologyIR, OntologyMutator, OntologyMutatorObjects, OntologyMutatorTx } from "@party-stack/ontology";
2
- import type { InitialQueryBuilder } from "@tanstack/db";
1
+ import { InitialQueryBuilder } from "@tanstack/db";
2
+ import { OntologyIR, OntologyMutator, OntologyMutatorObjects, OntologyMutatorTx } from "@party-stack/ontology";
3
+ //#region src/stagedWrites.d.ts
3
4
  /**
4
5
  * Structural subset of Foundry's staged-write `WriteableClient`.
5
6
  * Generated Foundry clients can be passed directly.
6
7
  */
7
8
  export interface FoundryStagedWriteClient {
8
- create(objectType: unknown, object: Record<string, unknown>): Promise<unknown>;
9
- update(object: {
10
- $apiName: string;
11
- $primaryKey: string | number;
12
- }, changes: Record<string, unknown>): Promise<unknown>;
13
- delete(object: {
14
- $apiName: string;
15
- $primaryKey: string | number;
16
- }): Promise<unknown>;
17
- query?<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;
9
+ create(objectType: unknown, object: Record<string, unknown>): Promise<unknown>;
10
+ update(object: {
11
+ $apiName: string;
12
+ $primaryKey: string | number;
13
+ }, changes: Record<string, unknown>): Promise<unknown>;
14
+ delete(object: {
15
+ $apiName: string;
16
+ $primaryKey: string | number;
17
+ }): Promise<unknown>;
18
+ query?<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;
18
19
  }
19
20
  export interface CreateFoundryStagedWriteMutatorTxOptions {
20
- client: FoundryStagedWriteClient;
21
- /**
22
- * Generated OSDK object type tokens, keyed by ontology API name. Required
23
- * for creates when the client cannot accept an `$apiName` placeholder.
24
- */
25
- objectTypes?: Record<string, unknown>;
21
+ client: FoundryStagedWriteClient;
22
+ /**
23
+ * Generated OSDK object type tokens, keyed by ontology API name. Required
24
+ * for creates when the client cannot accept an `$apiName` placeholder.
25
+ */
26
+ objectTypes?: Record<string, unknown>;
26
27
  }
27
28
  export declare function createFoundryStagedWriteMutatorTx(options: CreateFoundryStagedWriteMutatorTxOptions): OntologyMutatorTx;
28
29
  /**
@@ -30,11 +31,12 @@ export declare function createFoundryStagedWriteMutatorTx(options: CreateFoundry
30
31
  * transaction. Foundry provides atomic commit/rollback and read-after-write.
31
32
  */
32
33
  export declare function runFoundryOntologyMutator(options: {
33
- ir: OntologyIR;
34
- client: FoundryStagedWriteClient;
35
- mutator: OntologyMutator;
36
- args: Record<string, unknown>;
37
- context?: Record<string, unknown>;
38
- objectTypes?: Record<string, unknown>;
34
+ ir: OntologyIR;
35
+ client: FoundryStagedWriteClient;
36
+ mutator: OntologyMutator;
37
+ args: Record<string, unknown>;
38
+ context?: Record<string, unknown>;
39
+ objectTypes?: Record<string, unknown>;
39
40
  }): Promise<void>;
41
+ //#endregion
40
42
  //# sourceMappingURL=stagedWrites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stagedWrites.d.ts","sourceRoot":"","sources":["../src/stagedWrites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,MAAM,CACF,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,CACF,MAAM,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;KAChC,EACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,CAAC,MAAM,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,EACJ,KAAK,EAAE,CACH,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,sBAAsB,KAC9B,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,MAAM,WAAW,wCAAwC;IACrD,MAAM,EAAE,wBAAwB,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAmCD,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,wCAAwC,GAClD,iBAAiB,CAyDnB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACrD,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB"}
1
+ {"version":3,"file":"stagedWrites.d.ts","names":[],"sources":["../src/stagedWrites.ts"],"mappings":";;;;;;;iBAaiB;EACb,OAAO,qBAAqB,QAAQ,0BAA0B;EAC9D,OACI;IACI;IACA;KAEJ,SAAS,0BACV;EACH,OAAO;IAAU;IAAkB;MAAiC;EACpE,OAAO,GAAG,QAAQ,OAAO,qBAAqB,SAAS,qCAAqC,QAAQ;;iBAGvF;EACb,QAAQ;;;;;EAKR,cAAc;;wBA0BF,kCACZ,SAAS,2CACV;;;;;wBAuDmB,0BAA0B;EAC5C,IAAI;EACJ,QAAQ;EACR,SAAS;EACT,MAAM;EACN,UAAU;EACV,cAAc;IACd"}
@@ -1,74 +1,63 @@
1
+ //#region src/stagedWrites.ts
1
2
  function setPath(object, path, value) {
2
- let target = object;
3
- for (const segment of path.slice(0, -1)) {
4
- const existing = target[segment];
5
- if (typeof existing !== "object" ||
6
- existing === null ||
7
- Array.isArray(existing)) {
8
- target[segment] = {};
9
- }
10
- target = target[segment];
11
- }
12
- target[path.at(-1)] = value;
3
+ let target = object;
4
+ for (const segment of path.slice(0, -1)) {
5
+ const existing = target[segment];
6
+ if (typeof existing !== "object" || existing === null || Array.isArray(existing)) target[segment] = {};
7
+ target = target[segment];
8
+ }
9
+ target[path.at(-1)] = value;
13
10
  }
14
11
  function changesToRecord(changes) {
15
- if (!Array.isArray(changes))
16
- return changes;
17
- const record = {};
18
- for (const change of changes) {
19
- setPath(record, change.path, change.value);
20
- }
21
- return record;
12
+ if (!Array.isArray(changes)) return changes;
13
+ const record = {};
14
+ for (const change of changes) setPath(record, change.path, change.value);
15
+ return record;
22
16
  }
23
- export function createFoundryStagedWriteMutatorTx(options) {
24
- return {
25
- query: async (build) => {
26
- if (!options.client.query) {
27
- throw new Error("Foundry staged-write mutator queries require a query adapter backed by the ambient staged-write client.");
28
- }
29
- return options.client.query(build);
30
- },
31
- mutate: new Proxy({}, {
32
- get: (_target, objectType) => {
33
- if (typeof objectType !== "string") {
34
- return undefined;
35
- }
36
- return {
37
- create: async (object) => {
38
- await options.client.create(options.objectTypes?.[objectType] ?? {
39
- $apiName: objectType,
40
- }, object);
41
- },
42
- update: async (key, changes) => {
43
- await options.client.update({
44
- $apiName: objectType,
45
- $primaryKey: key,
46
- }, changesToRecord(changes));
47
- },
48
- delete: async (key) => {
49
- await options.client.delete({
50
- $apiName: objectType,
51
- $primaryKey: key,
52
- });
53
- },
54
- };
55
- },
56
- }),
57
- };
17
+ function createFoundryStagedWriteMutatorTx(options) {
18
+ return {
19
+ query: async (build) => {
20
+ if (!options.client.query) throw new Error("Foundry staged-write mutator queries require a query adapter backed by the ambient staged-write client.");
21
+ return options.client.query(build);
22
+ },
23
+ mutate: new Proxy({}, { get: (_target, objectType) => {
24
+ if (typeof objectType !== "string") return;
25
+ return {
26
+ create: async (object) => {
27
+ await options.client.create(options.objectTypes?.[objectType] ?? { $apiName: objectType }, object);
28
+ },
29
+ update: async (key, changes) => {
30
+ await options.client.update({
31
+ $apiName: objectType,
32
+ $primaryKey: key
33
+ }, changesToRecord(changes));
34
+ },
35
+ delete: async (key) => {
36
+ await options.client.delete({
37
+ $apiName: objectType,
38
+ $primaryKey: key
39
+ });
40
+ }
41
+ };
42
+ } })
43
+ };
58
44
  }
59
45
  /**
60
- * Run a Party Stack ontology mutator inside Foundry's ambient staged-write
61
- * transaction. Foundry provides atomic commit/rollback and read-after-write.
62
- */
63
- export async function runFoundryOntologyMutator(options) {
64
- const tx = createFoundryStagedWriteMutatorTx({
65
- client: options.client,
66
- objectTypes: options.objectTypes,
67
- });
68
- await options.mutator({
69
- tx,
70
- args: options.args,
71
- context: options.context ?? {},
72
- });
46
+ * Run a Party Stack ontology mutator inside Foundry's ambient staged-write
47
+ * transaction. Foundry provides atomic commit/rollback and read-after-write.
48
+ */
49
+ async function runFoundryOntologyMutator(options) {
50
+ const tx = createFoundryStagedWriteMutatorTx({
51
+ client: options.client,
52
+ objectTypes: options.objectTypes
53
+ });
54
+ await options.mutator({
55
+ tx,
56
+ args: options.args,
57
+ context: options.context ?? {}
58
+ });
73
59
  }
60
+ //#endregion
61
+ export { createFoundryStagedWriteMutatorTx, runFoundryOntologyMutator };
62
+
74
63
  //# sourceMappingURL=stagedWrites.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stagedWrites.js","sourceRoot":"","sources":["../src/stagedWrites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stagedWrites.js","names":[],"sources":["../src/stagedWrites.ts"],"sourcesContent":["import type {\n OntologyIR,\n OntologyMutator,\n OntologyMutatorObjects,\n OntologyMutatorTx,\n OntologyPropertyChange,\n} from \"@party-stack/ontology\";\nimport type { InitialQueryBuilder } from \"@tanstack/db\";\n\n/**\n * Structural subset of Foundry's staged-write `WriteableClient`.\n * Generated Foundry clients can be passed directly.\n */\nexport interface FoundryStagedWriteClient {\n create(objectType: unknown, object: Record<string, unknown>): Promise<unknown>;\n update(\n object: {\n $apiName: string;\n $primaryKey: string | number;\n },\n changes: Record<string, unknown>\n ): Promise<unknown>;\n delete(object: { $apiName: string; $primaryKey: string | number }): Promise<unknown>;\n query?<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;\n}\n\nexport interface CreateFoundryStagedWriteMutatorTxOptions {\n client: FoundryStagedWriteClient;\n /**\n * Generated OSDK object type tokens, keyed by ontology API name. Required\n * for creates when the client cannot accept an `$apiName` placeholder.\n */\n objectTypes?: Record<string, unknown>;\n}\n\nfunction setPath(object: Record<string, unknown>, path: string[], value: unknown): void {\n let target = object;\n for (const segment of path.slice(0, -1)) {\n const existing = target[segment];\n if (typeof existing !== \"object\" || existing === null || Array.isArray(existing)) {\n target[segment] = {};\n }\n target = target[segment] as Record<string, unknown>;\n }\n target[path.at(-1)!] = value;\n}\n\nfunction changesToRecord(\n changes: Record<string, unknown> | OntologyPropertyChange[]\n): Record<string, unknown> {\n if (!Array.isArray(changes)) return changes;\n const record: Record<string, unknown> = {};\n for (const change of changes) {\n setPath(record, change.path, change.value);\n }\n return record;\n}\n\nexport function createFoundryStagedWriteMutatorTx(\n options: CreateFoundryStagedWriteMutatorTxOptions\n): OntologyMutatorTx {\n return {\n query: async (build) => {\n if (!options.client.query) {\n throw new Error(\n \"Foundry staged-write mutator queries require a query adapter backed by the ambient staged-write client.\"\n );\n }\n return options.client.query(build);\n },\n mutate: new Proxy(\n {},\n {\n get: (_target, objectType) => {\n if (typeof objectType !== \"string\") {\n return undefined;\n }\n return {\n create: async (object: Record<string, unknown>) => {\n await options.client.create(\n options.objectTypes?.[objectType] ?? {\n $apiName: objectType,\n },\n object\n );\n },\n update: async (\n key: string | number,\n changes: Record<string, unknown> | OntologyPropertyChange[]\n ) => {\n await options.client.update(\n {\n $apiName: objectType,\n $primaryKey: key,\n },\n changesToRecord(changes)\n );\n },\n delete: async (key: string | number) => {\n await options.client.delete({\n $apiName: objectType,\n $primaryKey: key,\n });\n },\n };\n },\n }\n ),\n };\n}\n\n/**\n * Run a Party Stack ontology mutator inside Foundry's ambient staged-write\n * transaction. Foundry provides atomic commit/rollback and read-after-write.\n */\nexport async function runFoundryOntologyMutator(options: {\n ir: OntologyIR;\n client: FoundryStagedWriteClient;\n mutator: OntologyMutator;\n args: Record<string, unknown>;\n context?: Record<string, unknown>;\n objectTypes?: Record<string, unknown>;\n}): Promise<void> {\n const tx = createFoundryStagedWriteMutatorTx({\n client: options.client,\n objectTypes: options.objectTypes,\n });\n await options.mutator({\n tx,\n args: options.args,\n context: options.context ?? {},\n });\n}\n"],"mappings":";AAmCA,SAAS,QAAQ,QAAiC,MAAgB,OAAsB;CACpF,IAAI,SAAS;CACb,KAAK,MAAM,WAAW,KAAK,MAAM,GAAG,EAAE,GAAG;EACrC,MAAM,WAAW,OAAO;EACxB,IAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,MAAM,QAAQ,QAAQ,GAC3E,OAAO,WAAW,CAAC;EAEvB,SAAS,OAAO;CACpB;CACA,OAAO,KAAK,GAAG,EAAE,KAAM;AAC3B;AAEA,SAAS,gBACL,SACuB;CACvB,IAAI,CAAC,MAAM,QAAQ,OAAO,GAAG,OAAO;CACpC,MAAM,SAAkC,CAAC;CACzC,KAAK,MAAM,UAAU,SACjB,QAAQ,QAAQ,OAAO,MAAM,OAAO,KAAK;CAE7C,OAAO;AACX;AAEA,SAAgB,kCACZ,SACiB;CACjB,OAAO;EACH,OAAO,OAAO,UAAU;GACpB,IAAI,CAAC,QAAQ,OAAO,OAChB,MAAM,IAAI,MACN,yGACJ;GAEJ,OAAO,QAAQ,OAAO,MAAM,KAAK;EACrC;EACA,QAAQ,IAAI,MACR,CAAC,GACD,EACI,MAAM,SAAS,eAAe;GAC1B,IAAI,OAAO,eAAe,UACtB;GAEJ,OAAO;IACH,QAAQ,OAAO,WAAoC;KAC/C,MAAM,QAAQ,OAAO,OACjB,QAAQ,cAAc,eAAe,EACjC,UAAU,WACd,GACA,MACJ;IACJ;IACA,QAAQ,OACJ,KACA,YACC;KACD,MAAM,QAAQ,OAAO,OACjB;MACI,UAAU;MACV,aAAa;KACjB,GACA,gBAAgB,OAAO,CAC3B;IACJ;IACA,QAAQ,OAAO,QAAyB;KACpC,MAAM,QAAQ,OAAO,OAAO;MACxB,UAAU;MACV,aAAa;KACjB,CAAC;IACL;GACJ;EACJ,EACJ,CACJ;CACJ;AACJ;;;;;AAMA,eAAsB,0BAA0B,SAO9B;CACd,MAAM,KAAK,kCAAkC;EACzC,QAAQ,QAAQ;EAChB,aAAa,QAAQ;CACzB,CAAC;CACD,MAAM,QAAQ,QAAQ;EAClB;EACA,MAAM,QAAQ;EACd,SAAS,QAAQ,WAAW,CAAC;CACjC,CAAC;AACL"}