@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
package/README.md CHANGED
@@ -44,3 +44,22 @@ are used when public metadata does not provide them. Open string one-of values
44
44
  are preserved as suggestions. Object-query and struct-field prefills are omitted
45
45
  until the expression model supports them, and failures from the private endpoint
46
46
  do not prevent public action metadata from loading.
47
+
48
+ ## Refreshing objects
49
+
50
+ Foundry object collections expose an awaitable full-source refresh:
51
+
52
+ ```ts
53
+ await ontology.objects.Employee.utils.refresh?.();
54
+ ```
55
+
56
+ `refresh` is an optional adapter utility on the generic ontology collection API.
57
+ Foundry fetches a fresh snapshot and replaces cached rows in one sync transaction,
58
+ while keeping live subscriptions active and applying updates received during the
59
+ fetch. The promise waits for the commit and rejects on failure. Ontology
60
+ collections start their sync before refreshing; when using
61
+ `objectCollectionOptions` directly, preload the collection first.
62
+
63
+ When edit history is unavailable, reconnection and action acknowledgement also
64
+ request a fresh snapshot. Acknowledgement waits for that snapshot's commit; it
65
+ cannot confirm a specific edit-history operation ID in this mode.
@@ -1,6 +1,8 @@
1
1
  import { SearchJsonQueryV2, SearchOrderByV2 } from "@osdk/foundry.ontologies";
2
2
  import { LoadSubsetOptions } from "@tanstack/db";
3
+ //#region src/adapter/convertLoadSubsetOptions.d.ts
3
4
  export declare function isAlwaysFalseFilter(filter: SearchJsonQueryV2 | undefined): boolean;
4
5
  export declare function convertLoadSubsetFilter(filter: LoadSubsetOptions["where"]): SearchJsonQueryV2 | undefined;
5
6
  export declare function convertLoadSubsetOrderBy(orderBy: LoadSubsetOptions["orderBy"]): SearchOrderByV2 | undefined;
7
+ //#endregion
6
8
  //# sourceMappingURL=convertLoadSubsetOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertLoadSubsetOptions.d.ts","sourceRoot":"","sources":["../../src/adapter/convertLoadSubsetOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,iBAAiB,EACjB,eAAe,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAa,iBAAiB,EAAgD,MAAM,cAAc,CAAC;AAyJ1G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAElF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB,GAAG,SAAS,CA0FzG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS,CAS3G"}
1
+ {"version":3,"file":"convertLoadSubsetOptions.d.ts","names":[],"sources":["../../src/adapter/convertLoadSubsetOptions.ts"],"mappings":";;;wBA8JgB,oBAAoB,QAAQ;wBAI5B,wBAAwB,QAAQ,6BAA6B;wBA4F7D,yBAAyB,SAAS,+BAA+B"}
@@ -1,211 +1,178 @@
1
1
  import { parseOrderByExpression, parseWhereExpression } from "@tanstack/db";
2
2
  import { Temporal } from "temporal-polyfill";
3
- const ALWAYS_FALSE_FILTER = { type: "or", value: [] };
4
- const ALWAYS_TRUE_FILTER = { type: "and", value: [] };
3
+ //#region src/adapter/convertLoadSubsetOptions.ts
4
+ const ALWAYS_FALSE_FILTER = {
5
+ type: "or",
6
+ value: []
7
+ };
8
+ const ALWAYS_TRUE_FILTER = {
9
+ type: "and",
10
+ value: []
11
+ };
5
12
  function pushdown(query, safeToNegate = true) {
6
- return { query, safeToNegate };
13
+ return {
14
+ query,
15
+ safeToNegate
16
+ };
7
17
  }
8
18
  function parseLikePattern(pattern) {
9
- const parts = [];
10
- let literal = "";
11
- const flushLiteral = () => {
12
- if (literal) {
13
- parts.push({ type: "literal", value: literal });
14
- literal = "";
15
- }
16
- };
17
- for (let index = 0; index < pattern.length; index++) {
18
- const character = pattern[index];
19
- if (character === "\\") {
20
- const escaped = pattern[index + 1];
21
- if (escaped === "%" || escaped === "_" || escaped === "\\") {
22
- literal += escaped;
23
- index++;
24
- }
25
- else {
26
- literal += character;
27
- }
28
- }
29
- else if (character === "%") {
30
- flushLiteral();
31
- parts.push({ type: "many" });
32
- }
33
- else if (character === "_") {
34
- flushLiteral();
35
- parts.push({ type: "single" });
36
- }
37
- else {
38
- literal += character;
39
- }
40
- }
41
- flushLiteral();
42
- return parts;
19
+ const parts = [];
20
+ let literal = "";
21
+ const flushLiteral = () => {
22
+ if (literal) {
23
+ parts.push({
24
+ type: "literal",
25
+ value: literal
26
+ });
27
+ literal = "";
28
+ }
29
+ };
30
+ for (let index = 0; index < pattern.length; index++) {
31
+ const character = pattern[index];
32
+ if (character === "\\") {
33
+ const escaped = pattern[index + 1];
34
+ if (escaped === "%" || escaped === "_" || escaped === "\\") {
35
+ literal += escaped;
36
+ index++;
37
+ } else literal += character;
38
+ } else if (character === "%") {
39
+ flushLiteral();
40
+ parts.push({ type: "many" });
41
+ } else if (character === "_") {
42
+ flushLiteral();
43
+ parts.push({ type: "single" });
44
+ } else literal += character;
45
+ }
46
+ flushLiteral();
47
+ return parts;
43
48
  }
44
49
  function escapeFoundryWildcardLiteral(value) {
45
- return value.replace(/[\\*?]/g, "\\$&");
50
+ return value.replace(/[\\*?]/g, "\\$&");
46
51
  }
47
52
  function convertLikeFilter(field, value) {
48
- const parts = parseLikePattern(value.toLowerCase());
49
- const hasLeadingWildcard = parts[0]?.type === "many";
50
- const hasTrailingWildcard = parts.at(-1)?.type === "many";
51
- const propertyIdentifier = fieldPathToPropertyIdentifier(field);
52
- if (hasLeadingWildcard && hasTrailingWildcard) {
53
- const terms = parts.flatMap((part) => (part.type === "literal" && part.value ? [part.value] : []));
54
- const queries = terms.map((term) => ({
55
- // This is Foundry's substring/phrase query. It can over-fetch because
56
- // wildcard-delimited terms are not required to be adjacent or ordered.
57
- type: "containsAllTermsInOrder",
58
- propertyIdentifier,
59
- value: term,
60
- }));
61
- const query = queries.length === 0
62
- ? ALWAYS_TRUE_FILTER
63
- : queries.length === 1
64
- ? queries[0]
65
- : { type: "and", value: queries };
66
- // Contains is an approximation of SQL LIKE. Negating this superset
67
- // would produce a subset and could hide exact matches.
68
- return pushdown(query, false);
69
- }
70
- const wildcard = parts
71
- .map((part) => {
72
- if (part.type === "many")
73
- return "*";
74
- if (part.type === "single")
75
- return "?";
76
- return escapeFoundryWildcardLiteral(part.value);
77
- })
78
- .join("");
79
- return pushdown({
80
- type: "wildcard",
81
- propertyIdentifier,
82
- value: wildcard,
83
- });
53
+ const parts = parseLikePattern(value.toLowerCase());
54
+ const hasLeadingWildcard = parts[0]?.type === "many";
55
+ const hasTrailingWildcard = parts.at(-1)?.type === "many";
56
+ const propertyIdentifier = fieldPathToPropertyIdentifier(field);
57
+ if (hasLeadingWildcard && hasTrailingWildcard) {
58
+ const queries = parts.flatMap((part) => part.type === "literal" && part.value ? [part.value] : []).map((term) => ({
59
+ type: "containsAllTermsInOrder",
60
+ propertyIdentifier,
61
+ value: term
62
+ }));
63
+ return pushdown(queries.length === 0 ? ALWAYS_TRUE_FILTER : queries.length === 1 ? queries[0] : {
64
+ type: "and",
65
+ value: queries
66
+ }, false);
67
+ }
68
+ return pushdown({
69
+ type: "wildcard",
70
+ propertyIdentifier,
71
+ value: parts.map((part) => {
72
+ if (part.type === "many") return "*";
73
+ if (part.type === "single") return "?";
74
+ return escapeFoundryWildcardLiteral(part.value);
75
+ }).join("")
76
+ });
84
77
  }
85
78
  function convertQueryValue(value) {
86
- if (value instanceof Date) {
87
- return value.toISOString();
88
- }
89
- if (value instanceof Temporal.Instant ||
90
- value instanceof Temporal.PlainDate ||
91
- value instanceof Temporal.PlainDateTime) {
92
- return value.toString();
93
- }
94
- return value;
79
+ if (value instanceof Date) return value.toISOString();
80
+ if (value instanceof Temporal.Instant || value instanceof Temporal.PlainDate || value instanceof Temporal.PlainDateTime) return value.toString();
81
+ return value;
95
82
  }
96
83
  function fieldPathToPropertyIdentifier(fieldPath) {
97
- if (fieldPath.length === 1) {
98
- return {
99
- type: "property",
100
- apiName: fieldPath[0],
101
- };
102
- }
103
- else if (fieldPath.length === 2) {
104
- return {
105
- type: "structField",
106
- propertyApiName: fieldPath[0],
107
- structFieldApiName: fieldPath[1],
108
- };
109
- }
110
- throw new Error(`Invalid field path: ${fieldPath.join(".")}`);
84
+ if (fieldPath.length === 1) return {
85
+ type: "property",
86
+ apiName: fieldPath[0]
87
+ };
88
+ else if (fieldPath.length === 2) return {
89
+ type: "structField",
90
+ propertyApiName: fieldPath[0],
91
+ structFieldApiName: fieldPath[1]
92
+ };
93
+ throw new Error(`Invalid field path: ${fieldPath.join(".")}`);
111
94
  }
112
95
  function convertInFilter(fieldOrValue, valuesOrField) {
113
- if (!Array.isArray(valuesOrField)) {
114
- throw new Error("Expected the second inArray argument to be an array or field path");
115
- }
116
- if (!Array.isArray(fieldOrValue)) {
117
- return pushdown({
118
- type: "contains",
119
- propertyIdentifier: fieldPathToPropertyIdentifier(valuesOrField),
120
- value: convertQueryValue(fieldOrValue),
121
- });
122
- }
123
- const field = fieldOrValue;
124
- const values = valuesOrField;
125
- return pushdown({
126
- type: "in",
127
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
128
- value: values
129
- .filter((entry) => entry !== null && entry !== undefined)
130
- .map(convertQueryValue),
131
- });
96
+ if (!Array.isArray(valuesOrField)) throw new Error("Expected the second inArray argument to be an array or field path");
97
+ if (!Array.isArray(fieldOrValue)) return pushdown({
98
+ type: "contains",
99
+ propertyIdentifier: fieldPathToPropertyIdentifier(valuesOrField),
100
+ value: convertQueryValue(fieldOrValue)
101
+ });
102
+ const field = fieldOrValue;
103
+ const values = valuesOrField;
104
+ return pushdown({
105
+ type: "in",
106
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
107
+ value: values.filter((entry) => entry !== null && entry !== void 0).map(convertQueryValue)
108
+ });
132
109
  }
133
- export function isAlwaysFalseFilter(filter) {
134
- return filter?.type === "or" && filter.value.length === 0;
110
+ function isAlwaysFalseFilter(filter) {
111
+ return filter?.type === "or" && filter.value.length === 0;
135
112
  }
136
- export function convertLoadSubsetFilter(filter) {
137
- return (parseWhereExpression(filter, {
138
- handlers: {
139
- and: (...filters) => pushdown({ type: "and", value: filters.map(({ query }) => query) }, filters.every(({ safeToNegate }) => safeToNegate)),
140
- or: (...filters) => pushdown({ type: "or", value: filters.map(({ query }) => query) }, filters.every(({ safeToNegate }) => safeToNegate)),
141
- not: (filter) => filter.safeToNegate
142
- ? pushdown({ type: "not", value: filter.query })
143
- : pushdown(ALWAYS_TRUE_FILTER, false),
144
- eq: (field, value) => pushdown(value === null
145
- ? ALWAYS_FALSE_FILTER
146
- : value === undefined
147
- ? {
148
- type: "isNull",
149
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
150
- value: true,
151
- }
152
- : {
153
- type: "eq",
154
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
155
- value: convertQueryValue(value),
156
- }),
157
- gt: (field, value) => pushdown(value == null
158
- ? ALWAYS_FALSE_FILTER
159
- : {
160
- type: "gt",
161
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
162
- value: convertQueryValue(value),
163
- }),
164
- gte: (field, value) => pushdown(value == null
165
- ? ALWAYS_FALSE_FILTER
166
- : {
167
- type: "gte",
168
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
169
- value: convertQueryValue(value),
170
- }),
171
- lt: (field, value) => pushdown(value == null
172
- ? ALWAYS_FALSE_FILTER
173
- : {
174
- type: "lt",
175
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
176
- value: convertQueryValue(value),
177
- }),
178
- lte: (field, value) => pushdown(value == null
179
- ? ALWAYS_FALSE_FILTER
180
- : {
181
- type: "lte",
182
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
183
- value: convertQueryValue(value),
184
- }),
185
- isUndefined: (field) => ({
186
- query: {
187
- type: "isNull",
188
- propertyIdentifier: fieldPathToPropertyIdentifier(field),
189
- value: true,
190
- },
191
- safeToNegate: true,
192
- }),
193
- in: convertInFilter,
194
- ilike: convertLikeFilter,
195
- // Foundry wildcard and contains searches are case-insensitive,
196
- // so LIKE can over-fetch while TanStack applies exact casing.
197
- like: convertLikeFilter,
198
- },
199
- })?.query ?? undefined);
113
+ function convertLoadSubsetFilter(filter) {
114
+ return parseWhereExpression(filter, { handlers: {
115
+ and: (...filters) => pushdown({
116
+ type: "and",
117
+ value: filters.map(({ query }) => query)
118
+ }, filters.every(({ safeToNegate }) => safeToNegate)),
119
+ or: (...filters) => pushdown({
120
+ type: "or",
121
+ value: filters.map(({ query }) => query)
122
+ }, filters.every(({ safeToNegate }) => safeToNegate)),
123
+ not: (filter) => filter.safeToNegate ? pushdown({
124
+ type: "not",
125
+ value: filter.query
126
+ }) : pushdown(ALWAYS_TRUE_FILTER, false),
127
+ eq: (field, value) => pushdown(value === null ? ALWAYS_FALSE_FILTER : value === void 0 ? {
128
+ type: "isNull",
129
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
130
+ value: true
131
+ } : {
132
+ type: "eq",
133
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
134
+ value: convertQueryValue(value)
135
+ }),
136
+ gt: (field, value) => pushdown(value == null ? ALWAYS_FALSE_FILTER : {
137
+ type: "gt",
138
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
139
+ value: convertQueryValue(value)
140
+ }),
141
+ gte: (field, value) => pushdown(value == null ? ALWAYS_FALSE_FILTER : {
142
+ type: "gte",
143
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
144
+ value: convertQueryValue(value)
145
+ }),
146
+ lt: (field, value) => pushdown(value == null ? ALWAYS_FALSE_FILTER : {
147
+ type: "lt",
148
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
149
+ value: convertQueryValue(value)
150
+ }),
151
+ lte: (field, value) => pushdown(value == null ? ALWAYS_FALSE_FILTER : {
152
+ type: "lte",
153
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
154
+ value: convertQueryValue(value)
155
+ }),
156
+ isUndefined: (field) => ({
157
+ query: {
158
+ type: "isNull",
159
+ propertyIdentifier: fieldPathToPropertyIdentifier(field),
160
+ value: true
161
+ },
162
+ safeToNegate: true
163
+ }),
164
+ in: convertInFilter,
165
+ ilike: convertLikeFilter,
166
+ like: convertLikeFilter
167
+ } })?.query ?? void 0;
200
168
  }
201
- export function convertLoadSubsetOrderBy(orderBy) {
202
- return orderBy
203
- ? {
204
- fields: parseOrderByExpression(orderBy).map((ordering) => ({
205
- field: ordering.field[0],
206
- direction: ordering.direction,
207
- })),
208
- }
209
- : undefined;
169
+ function convertLoadSubsetOrderBy(orderBy) {
170
+ return orderBy ? { fields: parseOrderByExpression(orderBy).map((ordering) => ({
171
+ field: ordering.field[0],
172
+ direction: ordering.direction
173
+ })) } : void 0;
210
174
  }
175
+ //#endregion
176
+ export { convertLoadSubsetFilter, convertLoadSubsetOrderBy, isAlwaysFalseFilter };
177
+
211
178
  //# sourceMappingURL=convertLoadSubsetOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertLoadSubsetOptions.js","sourceRoot":"","sources":["../../src/adapter/convertLoadSubsetOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convertLoadSubsetOptions.js","names":[],"sources":["../../src/adapter/convertLoadSubsetOptions.ts"],"sourcesContent":["import {\n PropertyApiName,\n PropertyIdentifier,\n SearchJsonQueryV2,\n SearchOrderByV2,\n StructFieldApiName,\n} from \"@osdk/foundry.ontologies\";\nimport { FieldPath, LoadSubsetOptions, parseOrderByExpression, parseWhereExpression } from \"@tanstack/db\";\nimport { Temporal } from \"temporal-polyfill\";\n\nconst ALWAYS_FALSE_FILTER: SearchJsonQueryV2 = { type: \"or\", value: [] };\nconst ALWAYS_TRUE_FILTER: SearchJsonQueryV2 = { type: \"and\", value: [] };\n\ntype LikePatternPart = { type: \"literal\"; value: string } | { type: \"many\" } | { type: \"single\" };\n\ninterface PushdownFilter {\n query: SearchJsonQueryV2;\n safeToNegate: boolean;\n}\n\nfunction pushdown(query: SearchJsonQueryV2, safeToNegate = true): PushdownFilter {\n return { query, safeToNegate };\n}\n\nfunction parseLikePattern(pattern: string): LikePatternPart[] {\n const parts: LikePatternPart[] = [];\n let literal = \"\";\n\n const flushLiteral = () => {\n if (literal) {\n parts.push({ type: \"literal\", value: literal });\n literal = \"\";\n }\n };\n\n for (let index = 0; index < pattern.length; index++) {\n const character = pattern[index]!;\n if (character === \"\\\\\") {\n const escaped = pattern[index + 1];\n if (escaped === \"%\" || escaped === \"_\" || escaped === \"\\\\\") {\n literal += escaped;\n index++;\n } else {\n literal += character;\n }\n } else if (character === \"%\") {\n flushLiteral();\n parts.push({ type: \"many\" });\n } else if (character === \"_\") {\n flushLiteral();\n parts.push({ type: \"single\" });\n } else {\n literal += character;\n }\n }\n flushLiteral();\n\n return parts;\n}\n\nfunction escapeFoundryWildcardLiteral(value: string): string {\n return value.replace(/[\\\\*?]/g, \"\\\\$&\");\n}\n\nfunction convertLikeFilter(field: FieldPath, value: string): PushdownFilter {\n const parts = parseLikePattern(value.toLowerCase());\n const hasLeadingWildcard = parts[0]?.type === \"many\";\n const hasTrailingWildcard = parts.at(-1)?.type === \"many\";\n const propertyIdentifier = fieldPathToPropertyIdentifier(field);\n\n if (hasLeadingWildcard && hasTrailingWildcard) {\n const terms = parts.flatMap((part) => (part.type === \"literal\" && part.value ? [part.value] : []));\n const queries = terms.map<SearchJsonQueryV2>((term) => ({\n // This is Foundry's substring/phrase query. It can over-fetch because\n // wildcard-delimited terms are not required to be adjacent or ordered.\n type: \"containsAllTermsInOrder\",\n propertyIdentifier,\n value: term,\n }));\n const query: SearchJsonQueryV2 =\n queries.length === 0\n ? ALWAYS_TRUE_FILTER\n : queries.length === 1\n ? queries[0]!\n : { type: \"and\", value: queries };\n\n // Contains is an approximation of SQL LIKE. Negating this superset\n // would produce a subset and could hide exact matches.\n return pushdown(query, false);\n }\n\n const wildcard = parts\n .map((part) => {\n if (part.type === \"many\") return \"*\";\n if (part.type === \"single\") return \"?\";\n return escapeFoundryWildcardLiteral(part.value);\n })\n .join(\"\");\n\n return pushdown({\n type: \"wildcard\",\n propertyIdentifier,\n value: wildcard,\n });\n}\n\nfunction convertQueryValue(value: unknown): unknown {\n if (value instanceof Date) {\n return value.toISOString();\n }\n if (\n value instanceof Temporal.Instant ||\n value instanceof Temporal.PlainDate ||\n value instanceof Temporal.PlainDateTime\n ) {\n return value.toString();\n }\n return value;\n}\n\nfunction fieldPathToPropertyIdentifier(fieldPath: FieldPath): PropertyIdentifier {\n if (fieldPath.length === 1) {\n return {\n type: \"property\",\n apiName: fieldPath[0]! as PropertyApiName,\n };\n } else if (fieldPath.length === 2) {\n return {\n type: \"structField\",\n propertyApiName: fieldPath[0]! as PropertyApiName,\n structFieldApiName: fieldPath[1]! as StructFieldApiName,\n };\n }\n throw new Error(`Invalid field path: ${fieldPath.join(\".\")}`);\n}\n\nfunction convertInFilter(fieldOrValue: unknown, valuesOrField: unknown): PushdownFilter {\n if (!Array.isArray(valuesOrField)) {\n throw new Error(\"Expected the second inArray argument to be an array or field path\");\n }\n\n if (!Array.isArray(fieldOrValue)) {\n return pushdown({\n type: \"contains\",\n propertyIdentifier: fieldPathToPropertyIdentifier(valuesOrField as FieldPath),\n value: convertQueryValue(fieldOrValue),\n });\n }\n\n const field = fieldOrValue as FieldPath;\n const values = valuesOrField as unknown[];\n return pushdown({\n type: \"in\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: values.filter((entry) => entry !== null && entry !== undefined).map(convertQueryValue),\n });\n}\n\nexport function isAlwaysFalseFilter(filter: SearchJsonQueryV2 | undefined): boolean {\n return filter?.type === \"or\" && filter.value.length === 0;\n}\n\nexport function convertLoadSubsetFilter(filter: LoadSubsetOptions[\"where\"]): SearchJsonQueryV2 | undefined {\n return (\n parseWhereExpression<PushdownFilter>(filter, {\n handlers: {\n and: (...filters: PushdownFilter[]) =>\n pushdown(\n { type: \"and\", value: filters.map(({ query }) => query) },\n filters.every(({ safeToNegate }) => safeToNegate)\n ),\n or: (...filters: PushdownFilter[]) =>\n pushdown(\n { type: \"or\", value: filters.map(({ query }) => query) },\n filters.every(({ safeToNegate }) => safeToNegate)\n ),\n not: (filter: PushdownFilter) =>\n filter.safeToNegate\n ? pushdown({ type: \"not\", value: filter.query })\n : pushdown(ALWAYS_TRUE_FILTER, false),\n eq: (field: FieldPath, value) =>\n pushdown(\n value === null\n ? ALWAYS_FALSE_FILTER\n : value === undefined\n ? {\n type: \"isNull\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: true,\n }\n : {\n type: \"eq\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: convertQueryValue(value),\n }\n ),\n gt: (field: FieldPath, value) =>\n pushdown(\n value == null\n ? ALWAYS_FALSE_FILTER\n : {\n type: \"gt\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: convertQueryValue(value),\n }\n ),\n gte: (field: FieldPath, value) =>\n pushdown(\n value == null\n ? ALWAYS_FALSE_FILTER\n : {\n type: \"gte\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: convertQueryValue(value),\n }\n ),\n lt: (field: FieldPath, value) =>\n pushdown(\n value == null\n ? ALWAYS_FALSE_FILTER\n : {\n type: \"lt\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: convertQueryValue(value),\n }\n ),\n lte: (field: FieldPath, value) =>\n pushdown(\n value == null\n ? ALWAYS_FALSE_FILTER\n : {\n type: \"lte\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: convertQueryValue(value),\n }\n ),\n isUndefined: (field: FieldPath) => ({\n query: {\n type: \"isNull\",\n propertyIdentifier: fieldPathToPropertyIdentifier(field),\n value: true,\n },\n safeToNegate: true,\n }),\n in: convertInFilter,\n ilike: convertLikeFilter,\n // Foundry wildcard and contains searches are case-insensitive,\n // so LIKE can over-fetch while TanStack applies exact casing.\n like: convertLikeFilter,\n },\n })?.query ?? undefined\n );\n}\n\nexport function convertLoadSubsetOrderBy(orderBy: LoadSubsetOptions[\"orderBy\"]): SearchOrderByV2 | undefined {\n return orderBy\n ? {\n fields: parseOrderByExpression(orderBy).map((ordering) => ({\n field: ordering.field[0]! as PropertyApiName,\n direction: ordering.direction,\n })),\n }\n : undefined;\n}\n"],"mappings":"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"}
@@ -1,27 +1,29 @@
1
- import { type PartialAttachmentMetadata, type OntologyBackendAdapter, type OntologyBackendAdapterProvider, type OntologyCollectionOptions, type OntologyIR } from "@party-stack/ontology";
2
- import type { OntologyClient } from "@party-stack/foundry-client";
3
- import type { attachment } from "@party-stack/ontology/values";
1
+ import { OntologyClient } from "@party-stack/foundry-client";
2
+ import { OntologyBackendAdapter, OntologyBackendAdapterProvider, OntologyCollectionOptions, OntologyIR, PartialAttachmentMetadata } from "@party-stack/ontology";
3
+ import { attachment } from "@party-stack/ontology/values";
4
+ //#region src/adapter/createFoundryOntologyBackendAdapter.d.ts
4
5
  export declare function isFoundryNotFoundError(error: unknown): boolean;
5
6
  export interface FoundryUsersIntegration {
6
- objectType: string;
7
- getCollectionOptions(client: OntologyClient): OntologyCollectionOptions;
8
- getAttachmentContent?(client: OntologyClient, attachment: attachment): Promise<Blob | undefined>;
9
- getAttachmentMetadata?(client: OntologyClient, attachment: attachment, selection: readonly (keyof PartialAttachmentMetadata)[]): Promise<PartialAttachmentMetadata | undefined>;
7
+ objectType: string;
8
+ getCollectionOptions(client: OntologyClient): OntologyCollectionOptions;
9
+ getAttachmentContent?(client: OntologyClient, attachment: attachment): Promise<Blob | undefined>;
10
+ getAttachmentMetadata?(client: OntologyClient, attachment: attachment, selection: readonly (keyof PartialAttachmentMetadata)[]): Promise<PartialAttachmentMetadata | undefined>;
10
11
  }
11
12
  export interface CreateFoundryOntologyBackendAdapterOptions {
12
- client: OntologyClient;
13
- ir: OntologyIR;
14
- users?: FoundryUsersIntegration;
15
- live?: boolean;
13
+ client: OntologyClient;
14
+ ir: OntologyIR;
15
+ users?: FoundryUsersIntegration;
16
+ live?: boolean;
16
17
  }
17
18
  export declare function createFoundryOntologyBackendAdapter(opts: CreateFoundryOntologyBackendAdapterOptions): OntologyBackendAdapter;
18
19
  export type CreateFoundryOntologyBackendOptions<Context extends Record<string, unknown> = Record<string, unknown>> = ({
19
- client: OntologyClient;
20
+ client: OntologyClient;
20
21
  } | {
21
- createClient: (ir: OntologyIR, context: Context) => OntologyClient | Promise<OntologyClient>;
22
+ createClient: (ir: OntologyIR, context: Context) => OntologyClient | Promise<OntologyClient>;
22
23
  }) & {
23
- users?: FoundryUsersIntegration;
24
- live?: boolean;
24
+ users?: FoundryUsersIntegration;
25
+ live?: boolean;
25
26
  };
26
27
  export declare function createFoundryOntologyBackend<Context extends Record<string, unknown> = Record<string, unknown>>(opts: CreateFoundryOntologyBackendOptions<Context>): OntologyBackendAdapterProvider<Context>;
28
+ //#endregion
27
29
  //# sourceMappingURL=createFoundryOntologyBackendAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createFoundryOntologyBackendAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/createFoundryOntologyBackendAdapter.ts"],"names":[],"mappings":"AASA,OAAO,EAIH,KAAK,yBAAyB,EAE9B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAE9B,KAAK,UAAU,EAElB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAiB/D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAS9D;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,yBAAyB,CAAC;IACxE,oBAAoB,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACjG,qBAAqB,CAAC,CAClB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,CAAC,MAAM,yBAAyB,CAAC,EAAE,GACxD,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;CACrD;AAsID,MAAM,WAAW,0CAA0C;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,0CAA0C,GACjD,sBAAsB,CAkYxB;AAED,MAAM,MAAM,mCAAmC,CAC3C,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACjE,CACE;IACI,MAAM,EAAE,cAAc,CAAC;CAC1B,GACD;IACI,YAAY,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAChG,CACN,GAAG;IACA,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,4BAA4B,CACxC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,IAAI,EAAE,mCAAmC,CAAC,OAAO,CAAC,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAQ7F"}
1
+ {"version":3,"file":"createFoundryOntologyBackendAdapter.d.ts","names":[],"sources":["../../src/adapter/createFoundryOntologyBackendAdapter.ts"],"mappings":";;;;wBA2CgB,uBAAuB;iBAWtB;EACb;EACA,qBAAqB,QAAQ,iBAAiB;EAC9C,sBAAsB,QAAQ,gBAAgB,YAAY,aAAa,QAAQ;EAC/E,uBACI,QAAQ,gBACR,YAAY,YACZ,2BAA2B,+BAC5B,QAAQ;;iBAoIE;EACb,QAAQ;EACR,IAAI;EACJ,QAAQ;EACR;;wBAGY,oCACZ,MAAM,6CACP;YAqXS,oCACR,gBAAgB,0BAA0B;EAGpC,QAAQ;;EAGR,eAAe,IAAI,YAAY,SAAS,YAAY,iBAAiB,QAAQ;;EAGnF,QAAQ;EACR;;wBAGY,6BACZ,gBAAgB,0BAA0B,yBAC5C,MAAM,oCAAoC,WAAW,+BAA+B"}