@procedures/client 0.2.2 → 0.3.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 (299) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +61 -38
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  5. package/dist/adapters/http/client/transport.js +35 -3
  6. package/dist/adapters/http/client/transport.js.map +1 -1
  7. package/dist/adapters/http/client/types.d.ts +3 -2
  8. package/dist/adapters/http/client/types.d.ts.map +1 -1
  9. package/dist/adapters/http/server/transport.d.ts +2 -2
  10. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  11. package/dist/adapters/http/server/transport.js +53 -20
  12. package/dist/adapters/http/server/transport.js.map +1 -1
  13. package/dist/adapters/http/shared/headers.d.ts +1 -1
  14. package/dist/adapters/http/shared/headers.d.ts.map +1 -1
  15. package/dist/adapters/http/shared/headers.js +7 -6
  16. package/dist/adapters/http/shared/headers.js.map +1 -1
  17. package/dist/adapters/local/client/transport.d.ts +3 -0
  18. package/dist/adapters/local/client/transport.d.ts.map +1 -1
  19. package/dist/adapters/local/client/transport.js +63 -4
  20. package/dist/adapters/local/client/transport.js.map +1 -1
  21. package/dist/adapters/local/client/types.d.ts +15 -0
  22. package/dist/adapters/local/client/types.d.ts.map +1 -1
  23. package/dist/adapters/local/client/types.js.map +1 -1
  24. package/dist/adapters/mock/client/transport.d.ts +3 -2
  25. package/dist/adapters/mock/client/transport.d.ts.map +1 -1
  26. package/dist/adapters/mock/client/transport.js +8 -5
  27. package/dist/adapters/mock/client/transport.js.map +1 -1
  28. package/dist/adapters/mock/client/types.d.ts +7 -6
  29. package/dist/adapters/mock/client/types.d.ts.map +1 -1
  30. package/dist/adapters/port/transport.d.ts +62 -0
  31. package/dist/adapters/port/transport.d.ts.map +1 -0
  32. package/dist/adapters/port/transport.js +94 -0
  33. package/dist/adapters/port/transport.js.map +1 -0
  34. package/dist/adapters/websocket/client/index.d.ts +1 -1
  35. package/dist/adapters/websocket/client/index.d.ts.map +1 -1
  36. package/dist/adapters/websocket/client/index.js.map +1 -1
  37. package/dist/adapters/websocket/client/transport.d.ts +47 -7
  38. package/dist/adapters/websocket/client/transport.d.ts.map +1 -1
  39. package/dist/adapters/websocket/client/transport.js +213 -67
  40. package/dist/adapters/websocket/client/transport.js.map +1 -1
  41. package/dist/adapters/websocket/client/types.d.ts +70 -21
  42. package/dist/adapters/websocket/client/types.d.ts.map +1 -1
  43. package/dist/adapters/websocket/client/types.js.map +1 -1
  44. package/dist/adapters/websocket/server/transport.d.ts +65 -24
  45. package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
  46. package/dist/adapters/websocket/server/transport.js +192 -263
  47. package/dist/adapters/websocket/server/transport.js.map +1 -1
  48. package/dist/adapters/websocket/server/types.d.ts +20 -1
  49. package/dist/adapters/websocket/server/types.d.ts.map +1 -1
  50. package/dist/adapters/websocket/shared/rpc.d.ts +129 -0
  51. package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -0
  52. package/dist/adapters/websocket/shared/rpc.js +425 -0
  53. package/dist/adapters/websocket/shared/rpc.js.map +1 -0
  54. package/dist/browser.d.ts +29 -7
  55. package/dist/browser.d.ts.map +1 -1
  56. package/dist/browser.js +26 -3
  57. package/dist/browser.js.map +1 -1
  58. package/dist/client/call-types.d.ts +10 -10
  59. package/dist/client/call-types.d.ts.map +1 -1
  60. package/dist/client/call-types.js +1 -6
  61. package/dist/client/call-types.js.map +1 -1
  62. package/dist/client/client.d.ts +6 -1
  63. package/dist/client/client.d.ts.map +1 -1
  64. package/dist/client/client.js +23 -9
  65. package/dist/client/client.js.map +1 -1
  66. package/dist/client/deadline.d.ts +38 -0
  67. package/dist/client/deadline.d.ts.map +1 -0
  68. package/dist/client/deadline.js +60 -0
  69. package/dist/client/deadline.js.map +1 -0
  70. package/dist/client/errors/factory.d.ts.map +1 -1
  71. package/dist/client/errors/factory.js +11 -7
  72. package/dist/client/errors/factory.js.map +1 -1
  73. package/dist/client/index.d.ts +9 -2
  74. package/dist/client/index.d.ts.map +1 -1
  75. package/dist/client/index.js +8 -2
  76. package/dist/client/index.js.map +1 -1
  77. package/dist/client/middleware/cache.d.ts +19 -5
  78. package/dist/client/middleware/cache.d.ts.map +1 -1
  79. package/dist/client/middleware/cache.js +106 -18
  80. package/dist/client/middleware/cache.js.map +1 -1
  81. package/dist/client/middleware/circuit-breaker.d.ts +28 -10
  82. package/dist/client/middleware/circuit-breaker.d.ts.map +1 -1
  83. package/dist/client/middleware/circuit-breaker.js +35 -24
  84. package/dist/client/middleware/circuit-breaker.js.map +1 -1
  85. package/dist/client/middleware/contexts.d.ts +16 -10
  86. package/dist/client/middleware/contexts.d.ts.map +1 -1
  87. package/dist/client/middleware/contexts.js.map +1 -1
  88. package/dist/client/middleware/items.d.ts +31 -2
  89. package/dist/client/middleware/items.d.ts.map +1 -1
  90. package/dist/client/middleware/items.js +86 -6
  91. package/dist/client/middleware/items.js.map +1 -1
  92. package/dist/client/middleware/lru.d.ts +2 -0
  93. package/dist/client/middleware/lru.d.ts.map +1 -1
  94. package/dist/client/middleware/lru.js +11 -0
  95. package/dist/client/middleware/lru.js.map +1 -1
  96. package/dist/client/middleware/rate-limit.d.ts +7 -6
  97. package/dist/client/middleware/rate-limit.d.ts.map +1 -1
  98. package/dist/client/middleware/rate-limit.js +9 -6
  99. package/dist/client/middleware/rate-limit.js.map +1 -1
  100. package/dist/client/middleware/resilience.d.ts +61 -0
  101. package/dist/client/middleware/resilience.d.ts.map +1 -0
  102. package/dist/client/middleware/resilience.js +59 -0
  103. package/dist/client/middleware/resilience.js.map +1 -0
  104. package/dist/client/middleware/retry.d.ts +45 -11
  105. package/dist/client/middleware/retry.d.ts.map +1 -1
  106. package/dist/client/middleware/retry.js +102 -22
  107. package/dist/client/middleware/retry.js.map +1 -1
  108. package/dist/client/middleware/timeout.d.ts +15 -12
  109. package/dist/client/middleware/timeout.d.ts.map +1 -1
  110. package/dist/client/middleware/timeout.js +46 -37
  111. package/dist/client/middleware/timeout.js.map +1 -1
  112. package/dist/client/middleware/tracing.d.ts.map +1 -1
  113. package/dist/client/middleware/tracing.js +11 -3
  114. package/dist/client/middleware/tracing.js.map +1 -1
  115. package/dist/client/types.d.ts +9 -1
  116. package/dist/client/types.d.ts.map +1 -1
  117. package/dist/client/types.js.map +1 -1
  118. package/dist/clock.d.ts +19 -0
  119. package/dist/clock.d.ts.map +1 -0
  120. package/dist/clock.js +18 -0
  121. package/dist/clock.js.map +1 -0
  122. package/dist/duration.d.ts +37 -0
  123. package/dist/duration.d.ts.map +1 -0
  124. package/dist/duration.js +44 -0
  125. package/dist/duration.js.map +1 -0
  126. package/dist/machines.d.ts +90 -0
  127. package/dist/machines.d.ts.map +1 -0
  128. package/dist/machines.js +127 -0
  129. package/dist/machines.js.map +1 -0
  130. package/dist/procedures/capability.d.ts +3 -6
  131. package/dist/procedures/capability.d.ts.map +1 -1
  132. package/dist/procedures/capability.js +11 -9
  133. package/dist/procedures/capability.js.map +1 -1
  134. package/dist/procedures/collection/index.d.ts +3 -3
  135. package/dist/procedures/collection/index.d.ts.map +1 -1
  136. package/dist/procedures/collection/index.js +1 -1
  137. package/dist/procedures/collection/index.js.map +1 -1
  138. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  139. package/dist/procedures/collection/procedures.js +49 -1
  140. package/dist/procedures/collection/procedures.js.map +1 -1
  141. package/dist/procedures/collection/schemas.d.ts +33 -0
  142. package/dist/procedures/collection/schemas.d.ts.map +1 -1
  143. package/dist/procedures/collection/schemas.js +68 -0
  144. package/dist/procedures/collection/schemas.js.map +1 -1
  145. package/dist/procedures/collection/storage.d.ts +37 -0
  146. package/dist/procedures/collection/storage.d.ts.map +1 -1
  147. package/dist/procedures/core/array.d.ts.map +1 -1
  148. package/dist/procedures/core/array.js +26 -15
  149. package/dist/procedures/core/array.js.map +1 -1
  150. package/dist/procedures/core/index.d.ts.map +1 -1
  151. package/dist/procedures/core/index.js +8 -0
  152. package/dist/procedures/core/index.js.map +1 -1
  153. package/dist/procedures/core/meta.d.ts.map +1 -1
  154. package/dist/procedures/core/meta.js +2 -1
  155. package/dist/procedures/core/meta.js.map +1 -1
  156. package/dist/procedures/core/object.d.ts.map +1 -1
  157. package/dist/procedures/core/object.js +42 -13
  158. package/dist/procedures/core/object.js.map +1 -1
  159. package/dist/procedures/core/operands.d.ts.map +1 -1
  160. package/dist/procedures/core/operands.js +6 -1
  161. package/dist/procedures/core/operands.js.map +1 -1
  162. package/dist/procedures/core/string.d.ts.map +1 -1
  163. package/dist/procedures/core/string.js +4 -2
  164. package/dist/procedures/core/string.js.map +1 -1
  165. package/dist/procedures/define-procedure.d.ts +19 -7
  166. package/dist/procedures/define-procedure.d.ts.map +1 -1
  167. package/dist/procedures/define-procedure.js +66 -21
  168. package/dist/procedures/define-procedure.js.map +1 -1
  169. package/dist/procedures/effects.d.ts +16 -0
  170. package/dist/procedures/effects.d.ts.map +1 -1
  171. package/dist/procedures/effects.js +33 -0
  172. package/dist/procedures/effects.js.map +1 -1
  173. package/dist/procedures/idempotency.d.ts +73 -0
  174. package/dist/procedures/idempotency.d.ts.map +1 -0
  175. package/dist/procedures/idempotency.js +131 -0
  176. package/dist/procedures/idempotency.js.map +1 -0
  177. package/dist/procedures/index.d.ts +7 -3
  178. package/dist/procedures/index.d.ts.map +1 -1
  179. package/dist/procedures/index.js +6 -2
  180. package/dist/procedures/index.js.map +1 -1
  181. package/dist/procedures/interceptors.d.ts +17 -4
  182. package/dist/procedures/interceptors.d.ts.map +1 -1
  183. package/dist/procedures/interceptors.js +18 -7
  184. package/dist/procedures/interceptors.js.map +1 -1
  185. package/dist/procedures/invoke.d.ts +15 -3
  186. package/dist/procedures/invoke.d.ts.map +1 -1
  187. package/dist/procedures/invoke.js +8 -3
  188. package/dist/procedures/invoke.js.map +1 -1
  189. package/dist/procedures/manifest.d.ts +83 -0
  190. package/dist/procedures/manifest.d.ts.map +1 -0
  191. package/dist/procedures/manifest.js +90 -0
  192. package/dist/procedures/manifest.js.map +1 -0
  193. package/dist/procedures/runtime-programs.d.ts +19 -0
  194. package/dist/procedures/runtime-programs.d.ts.map +1 -0
  195. package/dist/procedures/runtime-programs.js +24 -0
  196. package/dist/procedures/runtime-programs.js.map +1 -0
  197. package/dist/procedures/types.d.ts +20 -1
  198. package/dist/procedures/types.d.ts.map +1 -1
  199. package/dist/procedures/types.js.map +1 -1
  200. package/dist/protocol.d.ts +40 -0
  201. package/dist/protocol.d.ts.map +1 -0
  202. package/dist/protocol.js +58 -0
  203. package/dist/protocol.js.map +1 -0
  204. package/dist/server/host-policy.d.ts +4 -3
  205. package/dist/server/host-policy.d.ts.map +1 -1
  206. package/dist/server/host-policy.js +6 -3
  207. package/dist/server/host-policy.js.map +1 -1
  208. package/dist/server/host-procedures.d.ts +31 -0
  209. package/dist/server/host-procedures.d.ts.map +1 -0
  210. package/dist/server/host-procedures.js +75 -0
  211. package/dist/server/host-procedures.js.map +1 -0
  212. package/dist/server/index.d.ts +3 -3
  213. package/dist/server/index.d.ts.map +1 -1
  214. package/dist/server/index.js +1 -1
  215. package/dist/server/index.js.map +1 -1
  216. package/dist/server/procedure-server.d.ts +110 -4
  217. package/dist/server/procedure-server.d.ts.map +1 -1
  218. package/dist/server/procedure-server.js +269 -17
  219. package/dist/server/procedure-server.js.map +1 -1
  220. package/dist/server/request-auth.d.ts +19 -0
  221. package/dist/server/request-auth.d.ts.map +1 -0
  222. package/dist/server/request-auth.js +32 -0
  223. package/dist/server/request-auth.js.map +1 -0
  224. package/dist/server/types.d.ts +32 -0
  225. package/dist/server/types.d.ts.map +1 -1
  226. package/dist/server/types.js.map +1 -1
  227. package/dist/timers.d.ts +60 -0
  228. package/dist/timers.d.ts.map +1 -0
  229. package/dist/timers.js +33 -0
  230. package/dist/timers.js.map +1 -0
  231. package/dist/tracing/traceparent.d.ts +26 -0
  232. package/dist/tracing/traceparent.d.ts.map +1 -0
  233. package/dist/tracing/traceparent.js +53 -0
  234. package/dist/tracing/traceparent.js.map +1 -0
  235. package/package.json +7 -1
  236. package/src/adapters/http/client/transport.ts +31 -3
  237. package/src/adapters/http/client/types.ts +3 -2
  238. package/src/adapters/http/server/transport.ts +60 -24
  239. package/src/adapters/http/shared/headers.ts +7 -6
  240. package/src/adapters/local/client/transport.ts +70 -5
  241. package/src/adapters/local/client/types.ts +18 -0
  242. package/src/adapters/mock/client/transport.ts +9 -6
  243. package/src/adapters/mock/client/types.ts +7 -6
  244. package/src/adapters/port/transport.ts +124 -0
  245. package/src/adapters/websocket/client/index.ts +1 -0
  246. package/src/adapters/websocket/client/transport.ts +232 -73
  247. package/src/adapters/websocket/client/types.ts +80 -21
  248. package/src/adapters/websocket/server/transport.ts +199 -301
  249. package/src/adapters/websocket/server/types.ts +20 -1
  250. package/src/adapters/websocket/shared/rpc.ts +453 -0
  251. package/src/browser.ts +51 -3
  252. package/src/client/call-types.ts +10 -14
  253. package/src/client/client.ts +28 -9
  254. package/src/client/deadline.ts +64 -0
  255. package/src/client/errors/factory.ts +12 -8
  256. package/src/client/index.ts +21 -3
  257. package/src/client/middleware/cache.ts +120 -23
  258. package/src/client/middleware/circuit-breaker.ts +65 -35
  259. package/src/client/middleware/contexts.ts +17 -10
  260. package/src/client/middleware/items.ts +101 -6
  261. package/src/client/middleware/lru.ts +12 -0
  262. package/src/client/middleware/rate-limit.ts +9 -7
  263. package/src/client/middleware/resilience.ts +81 -0
  264. package/src/client/middleware/retry.ts +146 -34
  265. package/src/client/middleware/timeout.ts +55 -46
  266. package/src/client/middleware/tracing.ts +13 -4
  267. package/src/client/types.ts +9 -1
  268. package/src/clock.ts +21 -0
  269. package/src/duration.ts +56 -0
  270. package/src/machines.ts +186 -0
  271. package/src/procedures/capability.ts +11 -9
  272. package/src/procedures/collection/index.ts +9 -1
  273. package/src/procedures/collection/procedures.ts +57 -0
  274. package/src/procedures/collection/schemas.ts +110 -0
  275. package/src/procedures/collection/storage.ts +38 -0
  276. package/src/procedures/core/array.ts +27 -16
  277. package/src/procedures/core/index.ts +8 -0
  278. package/src/procedures/core/meta.ts +2 -1
  279. package/src/procedures/core/object.ts +48 -14
  280. package/src/procedures/core/operands.ts +7 -0
  281. package/src/procedures/core/string.ts +4 -2
  282. package/src/procedures/define-procedure.ts +82 -24
  283. package/src/procedures/effects.ts +35 -0
  284. package/src/procedures/idempotency.ts +152 -0
  285. package/src/procedures/index.ts +18 -2
  286. package/src/procedures/interceptors.ts +28 -11
  287. package/src/procedures/invoke.ts +19 -5
  288. package/src/procedures/manifest.ts +158 -0
  289. package/src/procedures/runtime-programs.ts +27 -0
  290. package/src/procedures/types.ts +20 -1
  291. package/src/protocol.ts +97 -0
  292. package/src/server/host-policy.ts +8 -5
  293. package/src/server/host-procedures.ts +102 -0
  294. package/src/server/index.ts +5 -2
  295. package/src/server/procedure-server.ts +324 -10
  296. package/src/server/request-auth.ts +35 -0
  297. package/src/server/types.ts +37 -0
  298. package/src/timers.ts +82 -0
  299. package/src/tracing/traceparent.ts +61 -0
@@ -0,0 +1,127 @@
1
+ /**
2
+ * The state machines of the core as data (roadmap R35): the connection of the WebSocket client
3
+ * and the circuit breaker. The documents have the format `mark1russell7.machine/1` of
4
+ * `@mark1russell7/algebra`. They are the specification, and the code implements them. Their knobs
5
+ * are the default times of the core (`TIMER_DEFAULTS`), and their timers say which knob gives each
6
+ * wait.
7
+ *
8
+ * The code reports each change of its state as a `MachineTransition` (the option `onTransition`).
9
+ * `replayTransitions()` replays the reports of a run against a document, so a test finds each
10
+ * change that the document does not allow. It uses `replay` of `@mark1russell7/algebra/replay`
11
+ * (roadmap R37). That entry imports nothing else, and it has 418 bytes of gzip.
12
+ */
13
+ import { replay } from "@mark1russell7/algebra/replay";
14
+ import { TIMER_DEFAULTS } from "./timers.js";
15
+ const SOURCE = [{ ref: "packages/client/src (the core implements this document)", rung: "implemented" }];
16
+ const ms = (knob) => ({ knob, unit: "ms" });
17
+ const client = TIMER_DEFAULTS.webSocketClient;
18
+ /** The connection of the WebSocket client (`WebSocketTransport`). */
19
+ export const WEBSOCKET_CONNECTION_MACHINE = {
20
+ format: "mark1russell7.machine/1",
21
+ id: "procedures.machine.websocket-connection",
22
+ title: "The connection of the WebSocket client",
23
+ layer: "self",
24
+ version: "0.2.3",
25
+ sources: SOURCE,
26
+ states: {
27
+ DISCONNECTED: { initial: true, note: "no socket" },
28
+ CONNECTING: { note: "the handshake, with its time limit" },
29
+ CONNECTED: { note: "the calls and the heartbeat" },
30
+ RECONNECTING: { note: "the backoff before the next try" },
31
+ DISCONNECTING: { note: "close() ends the socket and the calls" },
32
+ },
33
+ events: {
34
+ connect: { kind: "app", note: "the transport starts" },
35
+ "reconnect-due": { kind: "timer" },
36
+ open: { kind: "rx", note: "the handshake ends" },
37
+ drop: { kind: "local", note: "the socket closes, or an error ends it" },
38
+ "handshake-timeout": { kind: "timer" },
39
+ "ping-due": { kind: "timer" },
40
+ pong: { kind: "rx" },
41
+ "pong-timeout": { kind: "timer", note: "a drop after the last allowed miss" },
42
+ "give-up": { kind: "local", note: "a drop without reconnect, or without tries left" },
43
+ close: { kind: "app", note: "close() of the application" },
44
+ closed: { kind: "local" },
45
+ },
46
+ knobs: {
47
+ connection_timeout: { key: "connectionTimeout", scope: "client", unit: "ms", default: client.connectionTimeoutMs },
48
+ request_timeout: { key: "requestTimeout", scope: "client", unit: "ms", default: client.requestTimeoutMs },
49
+ heartbeat_interval: { key: "heartbeat.interval", scope: "client", unit: "ms", default: client.heartbeatIntervalMs },
50
+ heartbeat_timeout: { key: "heartbeat.timeout", scope: "client", unit: "ms", default: client.heartbeatTimeoutMs },
51
+ heartbeat_misses: { key: "heartbeat.misses", scope: "client", unit: "count", default: client.heartbeatMisses },
52
+ reconnect_initial_delay: { key: "reconnect.initialDelay", scope: "client", unit: "ms", default: client.reconnectInitialDelayMs },
53
+ reconnect_max_delay: { key: "reconnect.maxDelay", scope: "client", unit: "ms", default: client.reconnectMaxDelayMs },
54
+ },
55
+ timers: {
56
+ handshake: { duration: ms("connection_timeout"), arms: ["enter:CONNECTING"], cancels: ["open", "drop", "close"], fires: "handshake-timeout" },
57
+ reconnect: {
58
+ duration: ms("reconnect_max_delay"),
59
+ arms: ["enter:RECONNECTING"],
60
+ cancels: ["close"],
61
+ fires: "reconnect-due",
62
+ backoff: { resets: ["open"] },
63
+ note: "the longest wait: try n waits a random time up to min(maxDelay, initialDelay × 2^(n-1))",
64
+ },
65
+ ping: { duration: ms("heartbeat_interval"), arms: ["enter:CONNECTED", "ping-due"], cancels: ["drop", "close"], fires: "ping-due" },
66
+ pong: { duration: ms("heartbeat_timeout"), arms: ["ping-due"], cancels: ["pong", "drop", "close"], fires: "pong-timeout" },
67
+ },
68
+ transitions: [
69
+ { id: "connect", from: "DISCONNECTED", on: "connect", to: "CONNECTING" },
70
+ { id: "reconnect", from: "RECONNECTING", on: "reconnect-due", to: "CONNECTING", timer: "reconnect" },
71
+ { id: "open", from: "CONNECTING", on: "open", to: "CONNECTED" },
72
+ {
73
+ id: "drop",
74
+ from: ["CONNECTING", "CONNECTED", "RECONNECTING"],
75
+ on: ["drop", "handshake-timeout", "pong-timeout"],
76
+ to: "RECONNECTING",
77
+ note: "the code reports each of them as drop",
78
+ },
79
+ { id: "give-up", from: ["CONNECTING", "CONNECTED", "RECONNECTING"], on: "give-up", to: "DISCONNECTED" },
80
+ { id: "close", from: ["DISCONNECTED", "CONNECTING", "CONNECTED", "RECONNECTING"], on: "close", to: "DISCONNECTING" },
81
+ { id: "closed", from: "DISCONNECTING", on: "closed", to: "DISCONNECTED" },
82
+ ],
83
+ };
84
+ /** The circuit breaker (`createCircuitBreakerMiddleware`). */
85
+ export const CIRCUIT_BREAKER_MACHINE = {
86
+ format: "mark1russell7.machine/1",
87
+ id: "procedures.machine.circuit-breaker",
88
+ title: "The circuit breaker",
89
+ layer: "self",
90
+ version: "0.2.3",
91
+ sources: SOURCE,
92
+ states: {
93
+ CLOSED: { initial: true, note: "each call goes through. The window counts the failures of availability." },
94
+ OPEN: { note: "each call fails at once, until the reset time" },
95
+ HALF_OPEN: { note: "a limited number of probes go through" },
96
+ },
97
+ events: {
98
+ "failure-threshold": { kind: "local", note: "the window has the threshold of failures" },
99
+ "reset-timeout": { kind: "timer" },
100
+ "probe-failure": { kind: "local" },
101
+ "probe-successes": { kind: "local", note: "the threshold of successes of the probes" },
102
+ },
103
+ knobs: {
104
+ failure_threshold: { key: "failureThreshold", scope: "client", unit: "count", default: 5 },
105
+ failure_window: { key: "failureWindow", scope: "client", unit: "ms", default: TIMER_DEFAULTS.circuitBreaker.failureWindowMs },
106
+ reset_timeout: { key: "resetTimeout", scope: "client", unit: "ms", default: TIMER_DEFAULTS.circuitBreaker.resetTimeoutMs },
107
+ success_threshold: { key: "successThreshold", scope: "client", unit: "count", default: 2 },
108
+ },
109
+ timers: {
110
+ reset: { duration: ms("reset_timeout"), arms: ["failure-threshold", "probe-failure"], cancels: ["probe-successes"], fires: "reset-timeout" },
111
+ },
112
+ transitions: [
113
+ { id: "trip", from: "CLOSED", on: "failure-threshold", to: "OPEN" },
114
+ { id: "reset", from: "OPEN", on: "reset-timeout", to: "HALF_OPEN", timer: "reset" },
115
+ { id: "reopen", from: "HALF_OPEN", on: "probe-failure", to: "OPEN" },
116
+ { id: "recover", from: "HALF_OPEN", on: "probe-successes", to: "CLOSED" },
117
+ ],
118
+ };
119
+ /**
120
+ * This function replays the reported transitions of one document. Each instance starts in the
121
+ * state that its first transition leaves. Each transition must leave the state where the replay
122
+ * is, and the document must allow it. The function gives each disagreement.
123
+ */
124
+ export function replayTransitions(machine, events) {
125
+ return replay(machine, events, { machine: machine.id });
126
+ }
127
+ //# sourceMappingURL=machines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../src/machines.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,7 @@
16
16
  import type { AnyProcedure, Capability, CapabilityRequest, ClearanceOrder, Effects, ProcedurePath } from "./types.js";
17
17
  /** The standard resource names. An application adds its own names. */
18
18
  export declare const STANDARD_RESOURCES: readonly ["fs", "network", "process", "registry"];
19
- /**
20
- * The metadata key of the remaining time of a remote call, in milliseconds. A server uses it
21
- * only to make its deadline earlier.
22
- */
23
- export declare const TIMEOUT_METADATA_KEY = "procedure-timeout";
19
+ export { TIMEOUT_METADATA_KEY } from "../client/deadline.js";
24
20
  /** The capability without limits: the capability of a host that sets none. */
25
21
  export declare const UNLIMITED_CAPABILITY: Capability;
26
22
  /**
@@ -48,7 +44,8 @@ export interface ToolHints {
48
44
  /**
49
45
  * The MCP hints of a procedure, from its declared effects. A procedure without a declaration,
50
46
  * or a data-driven one (its operands decide what it does), gets no hints: then the MCP defaults
51
- * apply (not read-only, destructive, open world).
47
+ * apply (not read-only, destructive, open world). A procedure that `procedure.define` made gets
48
+ * the hints of the effects that the host found for its body (`inferredEffects`, roadmap R22).
52
49
  */
53
50
  export declare function toolHints(procedure: AnyProcedure): ToolHints;
54
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/procedures/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/procedures/capability.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,12 @@
15
15
  */
16
16
  import { pathToKey } from "./types.js";
17
17
  import { isDataDriven } from "./ref.js";
18
+ import { inferredEffectsOf } from "./effects.js";
18
19
  import { callMatches } from "./policy.js";
19
20
  /** The standard resource names. An application adds its own names. */
20
21
  export const STANDARD_RESOURCES = ["fs", "network", "process", "registry"];
21
- /**
22
- * The metadata key of the remaining time of a remote call, in milliseconds. A server uses it
23
- * only to make its deadline earlier.
24
- */
25
- export const TIMEOUT_METADATA_KEY = "procedure-timeout";
22
+ // The metadata key of the remaining time of a remote call, in milliseconds (client/deadline.ts)
23
+ export { TIMEOUT_METADATA_KEY } from "../client/deadline.js";
26
24
  /** The capability without limits: the capability of a host that sets none. */
27
25
  export const UNLIMITED_CAPABILITY = Object.freeze({});
28
26
  // =============================================================================
@@ -71,11 +69,12 @@ export function isOpenWorld(effects) {
71
69
  /**
72
70
  * The MCP hints of a procedure, from its declared effects. A procedure without a declaration,
73
71
  * or a data-driven one (its operands decide what it does), gets no hints: then the MCP defaults
74
- * apply (not read-only, destructive, open world).
72
+ * apply (not read-only, destructive, open world). A procedure that `procedure.define` made gets
73
+ * the hints of the effects that the host found for its body (`inferredEffects`, roadmap R22).
75
74
  */
76
75
  export function toolHints(procedure) {
77
- const effects = effectsOf(procedure);
78
- if (!effects || isDataDriven(procedure))
76
+ const effects = isDataDriven(procedure) ? inferredEffectsOf(procedure) : effectsOf(procedure);
77
+ if (!effects)
79
78
  return {};
80
79
  if (isReadOnly(effects)) {
81
80
  return { readOnlyHint: true, openWorldHint: isOpenWorld(effects) };
@@ -138,7 +137,10 @@ export function narrowCapability(current, request, order, now = Date.now()) {
138
137
  const effects = narrowEffects(base.effects, request.effects);
139
138
  if (effects !== undefined)
140
139
  result.effects = effects;
141
- const requestedDeadline = request.timeoutMs !== undefined ? now + request.timeoutMs : undefined;
140
+ // A time that is not a finite number of milliseconds (NaN, Infinity, below zero) asks for nothing:
141
+ // Math.min with NaN gives NaN, and a NaN deadline is no deadline, so it would widen
142
+ const timeoutMs = request.timeoutMs;
143
+ const requestedDeadline = typeof timeoutMs === "number" && Number.isFinite(timeoutMs) && timeoutMs >= 0 ? now + timeoutMs : undefined;
142
144
  const deadline = base.deadline === undefined ? requestedDeadline : requestedDeadline === undefined ? base.deadline : Math.min(base.deadline, requestedDeadline);
143
145
  if (deadline !== undefined)
144
146
  result.deadline = deadline;
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/procedures/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/procedures/capability.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Procedure definitions for collection CRUD operations.
5
5
  */
6
- export { idSchema, collectionNameSchema, valueSchema, getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
7
- export type { GetInput, SetInput, DeleteInput, HasInput, GetAllInput, SizeInput, ClearInput, GetBatchInput, SetBatchInput, DeleteBatchInput, } from "./schemas.js";
6
+ export { idSchema, collectionNameSchema, valueSchema, getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, entriesInputSchema, entriesOutputSchema, changesInputSchema, changesOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
7
+ export type { GetInput, SetInput, DeleteInput, HasInput, GetAllInput, EntriesInput, CollectionEntry, ChangesInput, ChangesOutput, SizeInput, ClearInput, GetBatchInput, SetBatchInput, DeleteBatchInput, } from "./schemas.js";
8
8
  export { createCollectionProcedures } from "./procedures.js";
9
- export type { CollectionStorage, StorageMetadata } from "./storage.js";
9
+ export type { CollectionStorage, StorageChanges, StorageMetadata } from "./storage.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Procedure definitions for collection CRUD operations.
5
5
  */
6
6
  // Schemas
7
- export { idSchema, collectionNameSchema, valueSchema, getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
7
+ export { idSchema, collectionNameSchema, valueSchema, getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, entriesInputSchema, entriesOutputSchema, changesInputSchema, changesOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
8
8
  // Procedures
9
9
  export { createCollectionProcedures } from "./procedures.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAetB,aAAa;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/collection/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAmBtB,aAAa;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAgElE;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,CA4KjF"}
1
+ {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAuElE;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,CA8NjF"}
@@ -5,7 +5,7 @@
5
5
  * These procedures delegate to storage backends via the repository pattern.
6
6
  */
7
7
  import { defineProcedure } from "../define.js";
8
- import { getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
8
+ import { getInputSchema, getOutputSchema, setInputSchema, setOutputSchema, deleteInputSchema, deleteOutputSchema, hasInputSchema, hasOutputSchema, getAllInputSchema, getAllOutputSchema, entriesInputSchema, entriesOutputSchema, changesInputSchema, changesOutputSchema, sizeInputSchema, sizeOutputSchema, clearInputSchema, clearOutputSchema, getBatchInputSchema, getBatchOutputSchema, setBatchInputSchema, setBatchOutputSchema, deleteBatchInputSchema, deleteBatchOutputSchema, } from "./schemas.js";
9
9
  // =============================================================================
10
10
  // Handler Factory
11
11
  // =============================================================================
@@ -124,6 +124,54 @@ export function createCollectionProcedures(collectionName) {
124
124
  return storage.getAll();
125
125
  },
126
126
  }),
127
+ // Entries: each item with its id, for a sync (roadmap R2)
128
+ defineProcedure({
129
+ path: [...basePath, "entries"],
130
+ input: entriesInputSchema,
131
+ output: entriesOutputSchema,
132
+ metadata: {
133
+ effects: { reads: [resource], writes: [] },
134
+ description: `Get all items of ${collectionName} with their ids`,
135
+ tags: ["collections", collectionName, "read"],
136
+ },
137
+ handler: async (_input, ctx) => {
138
+ const storage = getStorage(ctx);
139
+ if (!storage.getEntries) {
140
+ throw new Error(`The storage of ${collectionName} cannot give the ids of its items`);
141
+ }
142
+ return (await storage.getEntries()).map(([id, value]) => ({ id, value }));
143
+ },
144
+ }),
145
+ // Changes: the items that changed after a version, for a delta sync (roadmap R28)
146
+ defineProcedure({
147
+ path: [...basePath, "changes"],
148
+ input: changesInputSchema,
149
+ output: changesOutputSchema,
150
+ metadata: {
151
+ effects: { reads: [resource], writes: [] },
152
+ description: `Get the items of ${collectionName} that changed after a version`,
153
+ tags: ["collections", collectionName, "read"],
154
+ },
155
+ handler: async (input, ctx) => {
156
+ const storage = getStorage(ctx);
157
+ if (storage.getChangesSince) {
158
+ const changes = await storage.getChangesSince(input.since);
159
+ return {
160
+ version: changes.version,
161
+ full: changes.full,
162
+ changed: changes.changed.map(([id, value]) => ({ id, value })),
163
+ deleted: changes.deleted,
164
+ };
165
+ }
166
+ // A storage without a change log gives all its items. The empty version asks for all
167
+ // items again at the next call.
168
+ if (storage.getEntries) {
169
+ const entries = await storage.getEntries();
170
+ return { version: "", full: true, changed: entries.map(([id, value]) => ({ id, value })), deleted: [] };
171
+ }
172
+ throw new Error(`The storage of ${collectionName} cannot give its changes or the ids of its items`);
173
+ },
174
+ }),
127
175
  // Size
128
176
  defineProcedure({
129
177
  path: [...basePath, "size"],
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,39 @@ export declare const getAllInputSchema: ZodLike<GetAllInput>;
72
72
  * Output for getAll operation - array of items.
73
73
  */
74
74
  export declare const getAllOutputSchema: ZodLike<unknown[]>;
75
+ /**
76
+ * Input for entries operation - empty object.
77
+ */
78
+ export interface EntriesInput {
79
+ }
80
+ export declare const entriesInputSchema: ZodLike<EntriesInput>;
81
+ /** One item of a collection with its id. */
82
+ export interface CollectionEntry {
83
+ id: string;
84
+ value: unknown;
85
+ }
86
+ /**
87
+ * Output for entries operation - each item with its id. A sync needs the ids: `getAll` gives
88
+ * only the values (roadmap R2).
89
+ */
90
+ export declare const entriesOutputSchema: ZodLike<CollectionEntry[]>;
91
+ /** Input for changes operation: the version of an earlier call (roadmap R28). */
92
+ export interface ChangesInput {
93
+ /** The `version` of an earlier result. Without it, the result has all items. */
94
+ since?: string;
95
+ }
96
+ export declare const changesInputSchema: ZodLike<ChangesInput>;
97
+ /**
98
+ * Output for changes operation: the items that changed after the version, the deleted ids, and
99
+ * the new version. When `full` is true, `changed` has each item (roadmap R28).
100
+ */
101
+ export interface ChangesOutput {
102
+ version: string;
103
+ full: boolean;
104
+ changed: CollectionEntry[];
105
+ deleted: string[];
106
+ }
107
+ export declare const changesOutputSchema: ZodLike<ChangesOutput>;
75
108
  /**
76
109
  * Input for size operation - empty object.
77
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"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"}
@@ -258,6 +258,74 @@ export const getAllOutputSchema = createSchema((data) => {
258
258
  },
259
259
  };
260
260
  });
261
+ export const entriesInputSchema = createSchema((data) => {
262
+ if (!isObject(data)) {
263
+ return {
264
+ success: false,
265
+ error: {
266
+ message: "Input must be an object",
267
+ errors: [{ path: [], message: "Input must be an object" }],
268
+ },
269
+ };
270
+ }
271
+ return { success: true, data: {} };
272
+ });
273
+ /**
274
+ * Output for entries operation - each item with its id. A sync needs the ids: `getAll` gives
275
+ * only the values (roadmap R2).
276
+ */
277
+ export const entriesOutputSchema = createSchema((data) => {
278
+ if (isArray(data) && data.every((entry) => isObject(entry) && isString(entry["id"]) && "value" in entry)) {
279
+ return { success: true, data: data };
280
+ }
281
+ return {
282
+ success: false,
283
+ error: {
284
+ message: "Output must be an array of { id, value } objects",
285
+ errors: [{ path: [], message: "Output must be an array of { id, value } objects" }],
286
+ },
287
+ };
288
+ });
289
+ export const changesInputSchema = createSchema((data) => {
290
+ if (!isObject(data)) {
291
+ return {
292
+ success: false,
293
+ error: {
294
+ message: "Input must be an object",
295
+ errors: [{ path: [], message: "Input must be an object" }],
296
+ },
297
+ };
298
+ }
299
+ const since = data["since"];
300
+ if (since !== undefined && !isString(since)) {
301
+ return {
302
+ success: false,
303
+ error: {
304
+ message: "since must be a string",
305
+ errors: [{ path: ["since"], message: "since must be a string" }],
306
+ },
307
+ };
308
+ }
309
+ return { success: true, data: since === undefined ? {} : { since } };
310
+ });
311
+ export const changesOutputSchema = createSchema((data) => {
312
+ if (isObject(data) &&
313
+ isString(data["version"]) &&
314
+ typeof data["full"] === "boolean" &&
315
+ isArray(data["changed"]) &&
316
+ data["changed"].every((entry) => isObject(entry) && isString(entry["id"]) && "value" in entry) &&
317
+ isArray(data["deleted"]) &&
318
+ data["deleted"].every((id) => isString(id))) {
319
+ return { success: true, data: data };
320
+ }
321
+ return {
322
+ success: false,
323
+ error: {
324
+ message: "Output must be { version, full, changed: [{ id, value }], deleted: [id] }",
325
+ errors: [{ path: [], message: "Output must be { version, full, changed: [{ id, value }], deleted: [id] }" }],
326
+ },
327
+ };
328
+ });
261
329
  export const sizeInputSchema = createSchema((data) => {
262
330
  if (!isObject(data)) {
263
331
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,YAAY,CACnB,QAAiG;IAEjG,OAAO;QACL,KAAK,CAAC,IAAa;YACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,SAAS,CAAC,IAAa;YACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqB,YAAY,CAAS,CAAC,IAAI,EAAE,EAAE;IACtE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;SACrE;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB,YAAY,CAAS,CAAC,IAAI,EAAE,EAAE;IAClF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,yFAAyF,EAAE,CAAC;SACvI;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,YAAY,CAAU,CAAC,IAAI,EAAE,EAAE;IAC3E,qCAAqC;IACrC,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,iCAAiC;gBAC1C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;aAC1E;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,cAAc,GAAuB,YAAY,CAAW,CAAC,IAAI,EAAE,EAAE;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,+BAA+B;gBACxC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,YAAY,CAAU,CAAC,IAAI,EAAE,EAAE;IAC/E,uCAAuC;IACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAcH,MAAM,CAAC,MAAM,cAAc,GAAuB,YAAY,CAAW,CAAC,IAAI,EAAE,EAAE;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,+BAA+B;gBACxC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,mBAAmB;gBAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB,YAAY,CAAO,CAAC,KAAK,EAAE,EAAE;IAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,iBAAiB,GAA0B,YAAY,CAAc,CAAC,IAAI,EAAE,EAAE;IACzF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,+BAA+B;gBACxC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,YAAY,CAAU,CAAC,IAAI,EAAE,EAAE;IAClF,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,cAAc,GAAuB,YAAY,CAAW,CAAC,IAAI,EAAE,EAAE;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,+BAA+B;gBACxC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,YAAY,CAAU,CAAC,IAAI,EAAE,EAAE;IAC/E,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAA0B,YAAY,CAAc,CAAC,IAAI,EAAE,EAAE;IACzF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,YAAY,CAAY,CAAC,IAAI,EAAE,EAAE;IACtF,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;SAC3D;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,eAAe,GAAwB,YAAY,CAAY,CAAC,IAAI,EAAE,EAAE;IACnF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqB,YAAY,CAAS,CAAC,IAAI,EAAE,EAAE;IAC9E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,uCAAuC;YAChD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;SACzE;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,gBAAgB,GAAyB,YAAY,CAAa,CAAC,IAAI,EAAE,EAAE;IACtF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,YAAY,CAAO,CAAC,KAAK,EAAE,EAAE;IAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,mBAAmB,GAA4B,YAAY,CAAgB,CAAC,IAAI,EAAE,EAAE;IAC/F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,iCAAiC;gBAC1C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;aACxE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAa,EAAE,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC,YAAY,CAA0B,CAAC,IAAI,EAAE,EAAE;IACpH,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAA+B,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,mBAAmB,GAA4B,YAAY,CAAgB,CAAC,IAAI,EAAE,EAAE;IAC/F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,wBAAwB;gBACjC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;aACjE;SACF,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,OAAO,EAAE,SAAS,CAAC,mCAAmC;oBACtD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;iBACvF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACpF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmB,YAAY,CAAO,CAAC,KAAK,EAAE,EAAE;IAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,sBAAsB,GAA+B,YAAY,CAAmB,CAAC,IAAI,EAAE,EAAE;IACxG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,iCAAiC;gBAC1C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;aACxE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAa,EAAE,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,YAAY,CAAS,CAAC,IAAI,EAAE,EAAE;IACrF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,uCAAuC;YAChD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;SACzE;KACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"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"}