@party-stack/ontology 0.3.0 → 0.4.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 (278) hide show
  1. package/lib/OntologyConfig.d.ts +3 -2
  2. package/lib/OntologyConfig.d.ts.map +1 -1
  3. package/lib/cli/generate.d.ts.map +1 -1
  4. package/lib/cli/generate.js +65 -47
  5. package/lib/cli/generate.js.map +1 -1
  6. package/lib/cli/index.js +7 -4
  7. package/lib/cli/index.js.map +1 -1
  8. package/lib/cli/pull.d.ts.map +1 -1
  9. package/lib/cli/pull.js +10 -4
  10. package/lib/cli/pull.js.map +1 -1
  11. package/lib/examples/blog.d.ts +214 -17
  12. package/lib/examples/blog.d.ts.map +1 -1
  13. package/lib/examples/blog.js +20 -0
  14. package/lib/examples/blog.js.map +1 -1
  15. package/lib/examples/blog.live-queries.d.ts.map +1 -1
  16. package/lib/examples/blog.live-queries.js +4 -2
  17. package/lib/examples/blog.live-queries.js.map +1 -1
  18. package/lib/examples/generated/live.d.ts +2 -2
  19. package/lib/examples/generated/live.d.ts.map +1 -1
  20. package/lib/examples/generated/live.js +2 -5
  21. package/lib/examples/generated/live.js.map +1 -1
  22. package/lib/examples/generated/types.d.ts +15 -10
  23. package/lib/examples/generated/types.d.ts.map +1 -1
  24. package/lib/generate/builders.d.ts +9 -0
  25. package/lib/generate/builders.d.ts.map +1 -0
  26. package/lib/generate/builders.js +60 -0
  27. package/lib/generate/builders.js.map +1 -0
  28. package/lib/generate/builders.test.d.ts +2 -0
  29. package/lib/generate/builders.test.d.ts.map +1 -0
  30. package/lib/generate/builders.test.js +49 -0
  31. package/lib/generate/builders.test.js.map +1 -0
  32. package/lib/generate/index.d.ts +5 -0
  33. package/lib/generate/index.d.ts.map +1 -0
  34. package/lib/generate/index.js +5 -0
  35. package/lib/generate/index.js.map +1 -0
  36. package/lib/generate/live.d.ts.map +1 -1
  37. package/lib/generate/live.js +13 -10
  38. package/lib/generate/live.js.map +1 -1
  39. package/lib/generate/ontology.d.ts.map +1 -1
  40. package/lib/generate/ontology.js +29 -8
  41. package/lib/generate/ontology.js.map +1 -1
  42. package/lib/generate/types.d.ts +11 -1
  43. package/lib/generate/types.d.ts.map +1 -1
  44. package/lib/generate/types.js +178 -118
  45. package/lib/generate/types.js.map +1 -1
  46. package/lib/generate/types.test.js +118 -8
  47. package/lib/generate/types.test.js.map +1 -1
  48. package/lib/generate/utils/buildJsDocs.d.ts +7 -0
  49. package/lib/generate/utils/buildJsDocs.d.ts.map +1 -0
  50. package/lib/generate/utils/buildJsDocs.js +12 -0
  51. package/lib/generate/utils/buildJsDocs.js.map +1 -0
  52. package/lib/index.d.ts +4 -2
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +2 -1
  55. package/lib/index.js.map +1 -1
  56. package/lib/infer.d.ts +231 -0
  57. package/lib/infer.d.ts.map +1 -0
  58. package/lib/infer.js +10 -0
  59. package/lib/infer.js.map +1 -0
  60. package/lib/infer.test.d.ts +2 -0
  61. package/lib/infer.test.d.ts.map +1 -0
  62. package/lib/infer.test.js +116 -0
  63. package/lib/infer.test.js.map +1 -0
  64. package/lib/ir/generated/builders.d.ts +180 -180
  65. package/lib/ir/generated/builders.d.ts.map +1 -1
  66. package/lib/ir/generated/builders.js +24 -75
  67. package/lib/ir/generated/builders.js.map +1 -1
  68. package/lib/ir/generated/types.d.ts +32 -5
  69. package/lib/ir/generated/types.d.ts.map +1 -1
  70. package/lib/ir/schema.d.ts +1498 -5
  71. package/lib/ir/schema.d.ts.map +1 -1
  72. package/lib/ir/schema.js +509 -97
  73. package/lib/ir/schema.js.map +1 -1
  74. package/lib/ir/validate.d.ts.map +1 -1
  75. package/lib/ir/validate.js +31 -0
  76. package/lib/ir/validate.js.map +1 -1
  77. package/lib/ir/validate.test.js +53 -3
  78. package/lib/ir/validate.test.js.map +1 -1
  79. package/lib/json/index.d.ts +14 -0
  80. package/lib/json/index.d.ts.map +1 -0
  81. package/lib/json/index.js +158 -0
  82. package/lib/json/index.js.map +1 -0
  83. package/lib/json/index.test.d.ts +2 -0
  84. package/lib/json/index.test.d.ts.map +1 -0
  85. package/lib/json/index.test.js +123 -0
  86. package/lib/json/index.test.js.map +1 -0
  87. package/lib/live/LiveOntology.d.ts +43 -18
  88. package/lib/live/LiveOntology.d.ts.map +1 -1
  89. package/lib/live/LiveOntology.js +63 -67
  90. package/lib/live/LiveOntology.js.map +1 -1
  91. package/lib/live/LiveOntology.test.d.ts +2 -0
  92. package/lib/live/LiveOntology.test.d.ts.map +1 -0
  93. package/lib/live/LiveOntology.test.js +154 -0
  94. package/lib/live/LiveOntology.test.js.map +1 -0
  95. package/lib/live/OntologyBackendAdapter.d.ts +53 -0
  96. package/lib/live/OntologyBackendAdapter.d.ts.map +1 -0
  97. package/lib/live/OntologyBackendAdapter.js +2 -0
  98. package/lib/live/OntologyBackendAdapter.js.map +1 -0
  99. package/lib/live/actions/createLiveOntologyAction.d.ts +20 -0
  100. package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -0
  101. package/lib/live/actions/createLiveOntologyAction.js +22 -0
  102. package/lib/live/actions/createLiveOntologyAction.js.map +1 -0
  103. package/lib/live/actions/createLiveOntologyActions.d.ts +23 -0
  104. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -0
  105. package/lib/live/actions/createLiveOntologyActions.js +129 -0
  106. package/lib/live/actions/createLiveOntologyActions.js.map +1 -0
  107. package/lib/live/actions/prepareActionParameters.d.ts +16 -0
  108. package/lib/live/actions/prepareActionParameters.d.ts.map +1 -0
  109. package/lib/live/actions/prepareActionParameters.js +251 -0
  110. package/lib/live/actions/prepareActionParameters.js.map +1 -0
  111. package/lib/live/actions/prepareActionParameters.test.d.ts +2 -0
  112. package/lib/live/actions/prepareActionParameters.test.d.ts.map +1 -0
  113. package/lib/live/actions/prepareActionParameters.test.js +165 -0
  114. package/lib/live/actions/prepareActionParameters.test.js.map +1 -0
  115. package/lib/live/attachments/attachmentSources.d.ts +7 -0
  116. package/lib/live/attachments/attachmentSources.d.ts.map +1 -0
  117. package/lib/live/attachments/attachmentSources.js +80 -0
  118. package/lib/live/attachments/attachmentSources.js.map +1 -0
  119. package/lib/live/attachments/createLiveOntologyAttachments.d.ts +38 -0
  120. package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -0
  121. package/lib/live/attachments/createLiveOntologyAttachments.js +59 -0
  122. package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -0
  123. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +2 -0
  124. package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +1 -0
  125. package/lib/live/attachments/createLiveOntologyAttachments.test.js +244 -0
  126. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +1 -0
  127. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -0
  128. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -0
  129. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -0
  130. package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -0
  131. package/lib/live/expression.d.ts +16 -3
  132. package/lib/live/expression.d.ts.map +1 -1
  133. package/lib/live/expression.js +54 -41
  134. package/lib/live/expression.js.map +1 -1
  135. package/lib/live/expression.test.d.ts +2 -0
  136. package/lib/live/expression.test.d.ts.map +1 -0
  137. package/lib/live/expression.test.js +76 -0
  138. package/lib/live/expression.test.js.map +1 -0
  139. package/lib/live/index.d.ts +4 -1
  140. package/lib/live/index.d.ts.map +1 -1
  141. package/lib/live/index.js +4 -1
  142. package/lib/live/index.js.map +1 -1
  143. package/lib/live/mutators/OntologyEdits.d.ts +11 -0
  144. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -0
  145. package/lib/live/mutators/OntologyEdits.js +66 -0
  146. package/lib/live/mutators/OntologyEdits.js.map +1 -0
  147. package/lib/live/mutators/createMutatorTx.d.ts +9 -0
  148. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -0
  149. package/lib/live/mutators/createMutatorTx.js +67 -0
  150. package/lib/live/mutators/createMutatorTx.js.map +1 -0
  151. package/lib/live/mutators/createMutatorTx.test.d.ts +2 -0
  152. package/lib/live/mutators/createMutatorTx.test.d.ts.map +1 -0
  153. package/lib/live/mutators/createMutatorTx.test.js +90 -0
  154. package/lib/live/mutators/createMutatorTx.test.js.map +1 -0
  155. package/lib/live/mutators/runOptimisticAction.d.ts +15 -0
  156. package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -0
  157. package/lib/live/mutators/runOptimisticAction.js +29 -0
  158. package/lib/live/mutators/runOptimisticAction.js.map +1 -0
  159. package/lib/live/mutators/types.d.ts +24 -0
  160. package/lib/live/mutators/types.d.ts.map +1 -0
  161. package/lib/live/mutators/types.js +2 -0
  162. package/lib/live/mutators/types.js.map +1 -0
  163. package/lib/live/objects/OntologyObject.d.ts +2 -0
  164. package/lib/live/objects/OntologyObject.d.ts.map +1 -0
  165. package/lib/live/objects/OntologyObject.js +2 -0
  166. package/lib/live/objects/OntologyObject.js.map +1 -0
  167. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +14 -0
  168. package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -0
  169. package/lib/live/objects/createLiveOntologyObjectCollection.js +59 -0
  170. package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -0
  171. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +2 -0
  172. package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +1 -0
  173. package/lib/live/objects/createLiveOntologyObjectCollection.test.js +176 -0
  174. package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +1 -0
  175. package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
  176. package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -0
  177. package/lib/live/objects/ontologyObjectCollectionId.js +4 -0
  178. package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -0
  179. package/lib/live/outbox/createOntologyOutbox.d.ts +19 -0
  180. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -0
  181. package/lib/live/outbox/createOntologyOutbox.js +321 -0
  182. package/lib/live/outbox/createOntologyOutbox.js.map +1 -0
  183. package/lib/live/outbox/createOntologyOutbox.test.d.ts +2 -0
  184. package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +1 -0
  185. package/lib/live/outbox/createOntologyOutbox.test.js +914 -0
  186. package/lib/live/outbox/createOntologyOutbox.test.js.map +1 -0
  187. package/lib/live/outbox/leaderExecutor.d.ts +16 -0
  188. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -0
  189. package/lib/live/outbox/leaderExecutor.js +143 -0
  190. package/lib/live/outbox/leaderExecutor.js.map +1 -0
  191. package/lib/live/outbox/outboxService.d.ts +5 -0
  192. package/lib/live/outbox/outboxService.d.ts.map +1 -0
  193. package/lib/live/outbox/outboxService.js +73 -0
  194. package/lib/live/outbox/outboxService.js.map +1 -0
  195. package/lib/live/outbox/outboxValues.d.ts +7 -0
  196. package/lib/live/outbox/outboxValues.d.ts.map +1 -0
  197. package/lib/live/outbox/outboxValues.js +76 -0
  198. package/lib/live/outbox/outboxValues.js.map +1 -0
  199. package/lib/live/outbox/projectionManager.d.ts +29 -0
  200. package/lib/live/outbox/projectionManager.d.ts.map +1 -0
  201. package/lib/live/outbox/projectionManager.js +155 -0
  202. package/lib/live/outbox/projectionManager.js.map +1 -0
  203. package/lib/live/outbox/repository.d.ts +29 -0
  204. package/lib/live/outbox/repository.d.ts.map +1 -0
  205. package/lib/live/outbox/repository.js +245 -0
  206. package/lib/live/outbox/repository.js.map +1 -0
  207. package/lib/live/outbox/service.d.ts +59 -0
  208. package/lib/live/outbox/service.d.ts.map +1 -0
  209. package/lib/live/outbox/service.js +2 -0
  210. package/lib/live/outbox/service.js.map +1 -0
  211. package/lib/live/outbox/types.d.ts +45 -0
  212. package/lib/live/outbox/types.d.ts.map +1 -0
  213. package/lib/live/outbox/types.js +7 -0
  214. package/lib/live/outbox/types.js.map +1 -0
  215. package/lib/meta/generated/live.d.ts +5 -0
  216. package/lib/meta/generated/live.d.ts.map +1 -0
  217. package/lib/{ontology → meta}/generated/live.js +2 -5
  218. package/lib/meta/generated/live.js.map +1 -0
  219. package/lib/{ontology → meta}/generated/types.d.ts +32 -11
  220. package/lib/meta/generated/types.d.ts.map +1 -0
  221. package/lib/meta/generated/types.js.map +1 -0
  222. package/lib/{ontology → meta}/ontology.d.ts +1 -0
  223. package/lib/meta/ontology.d.ts.map +1 -0
  224. package/lib/{ontology → meta}/ontology.js +7 -0
  225. package/lib/meta/ontology.js.map +1 -0
  226. package/lib/meta/pull.d.ts +2 -1
  227. package/lib/meta/pull.d.ts.map +1 -1
  228. package/lib/meta/pull.js +20 -5
  229. package/lib/meta/pull.js.map +1 -1
  230. package/lib/utils/provide.d.ts +2 -0
  231. package/lib/utils/provide.d.ts.map +1 -0
  232. package/lib/utils/provide.js +11 -0
  233. package/lib/utils/provide.js.map +1 -0
  234. package/lib/utils/targets.d.ts +35 -0
  235. package/lib/utils/targets.d.ts.map +1 -0
  236. package/lib/utils/targets.js +2 -0
  237. package/lib/utils/targets.js.map +1 -0
  238. package/lib/utils/typeNames.d.ts +26 -0
  239. package/lib/utils/typeNames.d.ts.map +1 -0
  240. package/lib/utils/typeNames.js +2 -0
  241. package/lib/utils/typeNames.js.map +1 -0
  242. package/lib/utils/types.d.ts +6 -5
  243. package/lib/utils/types.d.ts.map +1 -1
  244. package/lib/utils/types.js +22 -1
  245. package/lib/utils/types.js.map +1 -1
  246. package/lib/utils/types.test.js +23 -3
  247. package/lib/utils/types.test.js.map +1 -1
  248. package/lib/utils/values.d.ts +25 -1
  249. package/lib/utils/values.d.ts.map +1 -1
  250. package/package.json +14 -8
  251. package/lib/ir/generated/validators.d.ts +0 -49
  252. package/lib/ir/generated/validators.d.ts.map +0 -1
  253. package/lib/ir/generated/validators.js +0 -173
  254. package/lib/ir/generated/validators.js.map +0 -1
  255. package/lib/live/OntologyAdapter.d.ts +0 -25
  256. package/lib/live/OntologyAdapter.d.ts.map +0 -1
  257. package/lib/live/OntologyAdapter.js +0 -2
  258. package/lib/live/OntologyAdapter.js.map +0 -1
  259. package/lib/live/applyActionLogic.d.ts +0 -10
  260. package/lib/live/applyActionLogic.d.ts.map +0 -1
  261. package/lib/live/applyActionLogic.js +0 -59
  262. package/lib/live/applyActionLogic.js.map +0 -1
  263. package/lib/live/createLiveOntologyAttachments.d.ts +0 -20
  264. package/lib/live/createLiveOntologyAttachments.d.ts.map +0 -1
  265. package/lib/live/createLiveOntologyAttachments.js +0 -30
  266. package/lib/live/createLiveOntologyAttachments.js.map +0 -1
  267. package/lib/live/materializeActionParameters.d.ts +0 -11
  268. package/lib/live/materializeActionParameters.d.ts.map +0 -1
  269. package/lib/live/materializeActionParameters.js +0 -86
  270. package/lib/live/materializeActionParameters.js.map +0 -1
  271. package/lib/ontology/generated/live.d.ts +0 -5
  272. package/lib/ontology/generated/live.d.ts.map +0 -1
  273. package/lib/ontology/generated/live.js.map +0 -1
  274. package/lib/ontology/generated/types.d.ts.map +0 -1
  275. package/lib/ontology/generated/types.js.map +0 -1
  276. package/lib/ontology/ontology.d.ts.map +0 -1
  277. package/lib/ontology/ontology.js.map +0 -1
  278. /package/lib/{ontology → meta}/generated/types.js +0 -0
@@ -0,0 +1,321 @@
1
+ import { createLocalCollection, isCoordinationHost, CoordinationError, } from "@party-stack/runtime";
2
+ import { useConnectivityChanges } from "@party-stack/runtime/effection";
3
+ import { createSignal, each, resource, run, spawn, suspend, until, useAbortSignal, } from "effection";
4
+ import { runOutboxLeader } from "./leaderExecutor.js";
5
+ import { serveOntologyOutbox } from "./outboxService.js";
6
+ import { decodeOutboxEntry, decodeOutboxRequest, encodeOutboxRequest } from "./outboxValues.js";
7
+ import { OutboxProjectionManager } from "./projectionManager.js";
8
+ import { OntologyOutboxRepository } from "./repository.js";
9
+ import { OUTBOX_COORDINATION_SERVICE, } from "./service.js";
10
+ const DEFAULT_MAX_RETRIES = 3;
11
+ const DEFAULT_RETRY_DELAY_MS = 1_000;
12
+ function nonNegativeInteger(value, fallback, name) {
13
+ const resolved = value ?? fallback;
14
+ if (!Number.isSafeInteger(resolved) || resolved < 0) {
15
+ throw new RangeError(`${name} must be a non-negative safe integer.`);
16
+ }
17
+ return resolved;
18
+ }
19
+ function deferred() {
20
+ let resolvePromise;
21
+ let rejectPromise;
22
+ const value = {
23
+ promise: undefined,
24
+ settled: false,
25
+ resolve(result) {
26
+ if (value.settled)
27
+ return;
28
+ value.settled = true;
29
+ resolvePromise(result);
30
+ },
31
+ reject(error) {
32
+ if (value.settled)
33
+ return;
34
+ value.settled = true;
35
+ rejectPromise(error);
36
+ },
37
+ };
38
+ value.promise = new Promise((resolve, reject) => {
39
+ resolvePromise = resolve;
40
+ rejectPromise = reject;
41
+ });
42
+ return value;
43
+ }
44
+ function normalizeError(error) {
45
+ return error instanceof Error ? error : new Error(String(error));
46
+ }
47
+ function eventError(event) {
48
+ const error = new Error(event.error.message);
49
+ error.name = event.error.name;
50
+ return error;
51
+ }
52
+ function createOutboxCollection(options) {
53
+ return createLocalCollection({
54
+ name: "ontology-outbox",
55
+ getKey: (entry) => entry.id,
56
+ runtime: options.runtime,
57
+ schemaVersion: 1,
58
+ });
59
+ }
60
+ export function useOntologyOutbox(options, collection = createOutboxCollection(options)) {
61
+ return resource(function* (provide) {
62
+ const repository = new OntologyOutboxRepository(collection);
63
+ const failureStrategy = options.failureStrategy ?? "discard-all";
64
+ const service = options.runtime.coordination.service(OUTBOX_COORDINATION_SERVICE);
65
+ const wake = createSignal();
66
+ const projections = new OutboxProjectionManager(options.project ? async (entry) => options.project?.(decodeOutboxEntry(entry)) : undefined);
67
+ const completions = new Map();
68
+ const lifetime = {};
69
+ let disposing = false;
70
+ let reconciliationVersion = 0;
71
+ const discardProjection = (id, error) => {
72
+ void projections.discard(id, error);
73
+ };
74
+ const deliverResult = (event) => {
75
+ const completion = completions.get(event.id);
76
+ if (event.type === "completed") {
77
+ discardProjection(event.id);
78
+ if (completion) {
79
+ completions.delete(event.id);
80
+ completion.resolve(event.result);
81
+ }
82
+ return;
83
+ }
84
+ const error = eventError(event);
85
+ discardProjection(event.id, error);
86
+ if (completion) {
87
+ completions.delete(event.id);
88
+ completion.reject(error);
89
+ }
90
+ };
91
+ try {
92
+ lifetime.unsubscribeResults = service.events.subscribe("result", deliverResult);
93
+ yield* until(repository.preload());
94
+ if (isCoordinationHost(options.runtime.coordination)) {
95
+ lifetime.server = serveOntologyOutbox(options.runtime.coordination, repository);
96
+ }
97
+ const reconcileProjections = async () => {
98
+ const version = ++reconciliationVersion;
99
+ const entries = await repository.entries();
100
+ if (disposing || version !== reconciliationVersion) {
101
+ return;
102
+ }
103
+ await projections.reconcile(entries);
104
+ };
105
+ lifetime.unsubscribeCollection = collection.subscribeChanges(() => {
106
+ wake.send();
107
+ void reconcileProjections();
108
+ });
109
+ const existing = yield* until(repository.entries());
110
+ yield* until(projections.restore(existing));
111
+ const connectivityChanges = yield* useConnectivityChanges(options.runtime);
112
+ lifetime.connectivityTask = yield* spawn(function* () {
113
+ for (const isConnected of yield* each(connectivityChanges)) {
114
+ void isConnected;
115
+ wake.send();
116
+ yield* each.next();
117
+ }
118
+ });
119
+ if (isCoordinationHost(options.runtime.coordination)) {
120
+ const host = options.runtime.coordination;
121
+ const leaderOptions = {
122
+ runtime: options.runtime,
123
+ service,
124
+ wake,
125
+ failureStrategy: failureStrategy,
126
+ maxRetries: nonNegativeInteger(options.maxRetries, DEFAULT_MAX_RETRIES, "Outbox maxRetries"),
127
+ retryDelayMs: DEFAULT_RETRY_DELAY_MS,
128
+ execute: (entry) => options.execute(decodeOutboxEntry(entry)),
129
+ };
130
+ lifetime.leaderTask = yield* spawn(function* () {
131
+ const lifetimeSignal = yield* useAbortSignal();
132
+ while (!lifetimeSignal.aborted) {
133
+ try {
134
+ const leaderRun = host.runAsLeader(({ signal }) => runOutboxLeader(signal, leaderOptions), {
135
+ signal: lifetimeSignal,
136
+ });
137
+ lifetime.leaderRun = leaderRun;
138
+ yield* until(leaderRun);
139
+ return;
140
+ }
141
+ catch (error) {
142
+ if (lifetimeSignal.aborted) {
143
+ return;
144
+ }
145
+ if (!host.isLeader && !(error instanceof CoordinationError)) {
146
+ continue;
147
+ }
148
+ throw error;
149
+ }
150
+ }
151
+ });
152
+ }
153
+ const outbox = {
154
+ collection,
155
+ ready: Promise.resolve(),
156
+ async enqueue(request, enqueueOptions) {
157
+ const timestamp = Date.now();
158
+ const proposed = {
159
+ id: crypto.randomUUID(),
160
+ sequence: 0,
161
+ request: encodeOutboxRequest({
162
+ ...request,
163
+ idempotencyKey: request.idempotencyKey ?? crypto.randomUUID(),
164
+ }),
165
+ visibility: enqueueOptions?.visibility ?? "confirmed",
166
+ status: "queued",
167
+ createdAt: timestamp,
168
+ updatedAt: timestamp,
169
+ attempts: 0,
170
+ retryable: true,
171
+ nextAttemptAt: timestamp,
172
+ };
173
+ const completion = deferred();
174
+ void completion.promise.catch(() => undefined);
175
+ completions.set(proposed.id, completion);
176
+ let entry;
177
+ try {
178
+ entry = await service.methods.enqueue({
179
+ entry: proposed,
180
+ });
181
+ }
182
+ catch (error) {
183
+ completions.delete(proposed.id);
184
+ completion.reject(normalizeError(error));
185
+ throw error;
186
+ }
187
+ await projections.ensure(entry);
188
+ return {
189
+ entry: decodeOutboxEntry(entry),
190
+ completed: completion.promise,
191
+ };
192
+ },
193
+ async edit(id, update) {
194
+ const current = repository.get(id);
195
+ if (!current) {
196
+ throw new Error(`Outbox entry "${id}" was not found in this context.`);
197
+ }
198
+ const request = structuredClone(decodeOutboxRequest(current.request));
199
+ update(request);
200
+ const entry = await service.methods.edit({
201
+ id,
202
+ request: encodeOutboxRequest(request),
203
+ });
204
+ await projections.ensure(entry);
205
+ return decodeOutboxEntry(entry);
206
+ },
207
+ async remove(id) {
208
+ await service.methods.remove({ id });
209
+ },
210
+ async retry(id) {
211
+ await service.methods.retry({ id });
212
+ wake.send();
213
+ },
214
+ cleanup() {
215
+ return Promise.resolve();
216
+ },
217
+ };
218
+ yield* provide(outbox);
219
+ }
220
+ finally {
221
+ disposing = true;
222
+ reconciliationVersion += 1;
223
+ const cleanupErrors = [];
224
+ const capture = (error) => {
225
+ cleanupErrors.push(normalizeError(error));
226
+ };
227
+ lifetime.unsubscribeResults?.();
228
+ lifetime.unsubscribeCollection?.unsubscribe();
229
+ if (lifetime.server) {
230
+ try {
231
+ yield* until(lifetime.server.close());
232
+ }
233
+ catch (error) {
234
+ capture(error);
235
+ }
236
+ }
237
+ if (lifetime.leaderTask !== undefined) {
238
+ try {
239
+ yield* lifetime.leaderTask.halt();
240
+ }
241
+ catch (error) {
242
+ capture(error);
243
+ }
244
+ }
245
+ if (lifetime.leaderRun) {
246
+ yield* until(Promise.allSettled([lifetime.leaderRun]));
247
+ }
248
+ if (lifetime.connectivityTask !== undefined) {
249
+ try {
250
+ yield* lifetime.connectivityTask.halt();
251
+ }
252
+ catch (error) {
253
+ capture(error);
254
+ }
255
+ }
256
+ try {
257
+ yield* until(projections.close());
258
+ }
259
+ catch (error) {
260
+ capture(error);
261
+ }
262
+ const disposed = new Error("Outbox disposed.");
263
+ for (const completion of completions.values()) {
264
+ completion.reject(disposed);
265
+ }
266
+ completions.clear();
267
+ try {
268
+ yield* until(collection.cleanup());
269
+ }
270
+ catch (error) {
271
+ capture(error);
272
+ }
273
+ if (cleanupErrors[0]) {
274
+ yield* until(Promise.reject(cleanupErrors[0]));
275
+ }
276
+ }
277
+ });
278
+ }
279
+ export function createOntologyOutbox(options) {
280
+ const collection = createOutboxCollection(options);
281
+ let outbox;
282
+ const ready = deferred();
283
+ const task = run(function* () {
284
+ try {
285
+ const value = yield* useOntologyOutbox(options, collection);
286
+ outbox = value;
287
+ ready.resolve();
288
+ yield* suspend();
289
+ }
290
+ catch (error) {
291
+ ready.reject(normalizeError(error));
292
+ throw error;
293
+ }
294
+ });
295
+ void task.catch(() => undefined);
296
+ return {
297
+ collection,
298
+ ready: ready.promise,
299
+ task,
300
+ async enqueue(request, enqueueOptions) {
301
+ await ready.promise;
302
+ return outbox.enqueue(request, enqueueOptions);
303
+ },
304
+ async edit(id, update) {
305
+ await ready.promise;
306
+ return outbox.edit(id, update);
307
+ },
308
+ async remove(id) {
309
+ await ready.promise;
310
+ return outbox.remove(id);
311
+ },
312
+ async retry(id) {
313
+ await ready.promise;
314
+ return outbox.retry(id);
315
+ },
316
+ async cleanup() {
317
+ await task.halt();
318
+ },
319
+ };
320
+ }
321
+ //# sourceMappingURL=createOntologyOutbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOntologyOutbox.js","sourceRoot":"","sources":["../../../src/live/outbox/createOntologyOutbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createOntologyOutbox.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOntologyOutbox.test.d.ts","sourceRoot":"","sources":["../../../src/live/outbox/createOntologyOutbox.test.ts"],"names":[],"mappings":""}