@powerhousedao/reactor 6.0.0-dev.69 → 6.0.0-dev.77

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 (240) hide show
  1. package/dist/src/index.d.ts +1 -1
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +19998 -62
  4. package/dist/src/sync/index.d.ts +1 -1
  5. package/dist/src/sync/index.d.ts.map +1 -1
  6. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  7. package/dist/src/sync/types.d.ts +11 -0
  8. package/dist/src/sync/types.d.ts.map +1 -1
  9. package/package.json +17 -10
  10. package/dist/src/actions/index.js +0 -76
  11. package/dist/src/actions/index.js.map +0 -1
  12. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  13. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  14. package/dist/src/cache/collection-membership-cache.js +0 -33
  15. package/dist/src/cache/collection-membership-cache.js.map +0 -1
  16. package/dist/src/cache/document-meta-cache-types.js +0 -2
  17. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  18. package/dist/src/cache/document-meta-cache.js +0 -129
  19. package/dist/src/cache/document-meta-cache.js.map +0 -1
  20. package/dist/src/cache/index.js +0 -2
  21. package/dist/src/cache/index.js.map +0 -1
  22. package/dist/src/cache/kysely-operation-index.js +0 -345
  23. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  24. package/dist/src/cache/kysely-write-cache.js +0 -411
  25. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  26. package/dist/src/cache/lru/lru-tracker.js +0 -96
  27. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  28. package/dist/src/cache/operation-index-types.js +0 -4
  29. package/dist/src/cache/operation-index-types.js.map +0 -1
  30. package/dist/src/cache/write/interfaces.js +0 -2
  31. package/dist/src/cache/write/interfaces.js.map +0 -1
  32. package/dist/src/cache/write-cache-types.js +0 -2
  33. package/dist/src/cache/write-cache-types.js.map +0 -1
  34. package/dist/src/client/reactor-client.js +0 -497
  35. package/dist/src/client/reactor-client.js.map +0 -1
  36. package/dist/src/client/types.js +0 -14
  37. package/dist/src/client/types.js.map +0 -1
  38. package/dist/src/core/reactor-builder.js +0 -306
  39. package/dist/src/core/reactor-builder.js.map +0 -1
  40. package/dist/src/core/reactor-client-builder.js +0 -132
  41. package/dist/src/core/reactor-client-builder.js.map +0 -1
  42. package/dist/src/core/reactor.js +0 -640
  43. package/dist/src/core/reactor.js.map +0 -1
  44. package/dist/src/core/types.js +0 -2
  45. package/dist/src/core/types.js.map +0 -1
  46. package/dist/src/core/utils.js +0 -225
  47. package/dist/src/core/utils.js.map +0 -1
  48. package/dist/src/events/event-bus.js +0 -53
  49. package/dist/src/events/event-bus.js.map +0 -1
  50. package/dist/src/events/interfaces.js +0 -2
  51. package/dist/src/events/interfaces.js.map +0 -1
  52. package/dist/src/events/types.js +0 -30
  53. package/dist/src/events/types.js.map +0 -1
  54. package/dist/src/executor/document-action-handler.js +0 -356
  55. package/dist/src/executor/document-action-handler.js.map +0 -1
  56. package/dist/src/executor/interfaces.js +0 -2
  57. package/dist/src/executor/interfaces.js.map +0 -1
  58. package/dist/src/executor/signature-verifier.js +0 -70
  59. package/dist/src/executor/signature-verifier.js.map +0 -1
  60. package/dist/src/executor/simple-job-executor-manager.js +0 -345
  61. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  62. package/dist/src/executor/simple-job-executor.js +0 -423
  63. package/dist/src/executor/simple-job-executor.js.map +0 -1
  64. package/dist/src/executor/types.js +0 -11
  65. package/dist/src/executor/types.js.map +0 -1
  66. package/dist/src/executor/util.js +0 -230
  67. package/dist/src/executor/util.js.map +0 -1
  68. package/dist/src/index.js.map +0 -1
  69. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -114
  70. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  71. package/dist/src/job-tracker/index.js +0 -2
  72. package/dist/src/job-tracker/index.js.map +0 -1
  73. package/dist/src/job-tracker/interfaces.js +0 -2
  74. package/dist/src/job-tracker/interfaces.js.map +0 -1
  75. package/dist/src/logging/console.js +0 -2
  76. package/dist/src/logging/console.js.map +0 -1
  77. package/dist/src/logging/types.js +0 -2
  78. package/dist/src/logging/types.js.map +0 -1
  79. package/dist/src/processors/index.js +0 -2
  80. package/dist/src/processors/index.js.map +0 -1
  81. package/dist/src/processors/processor-manager.js +0 -165
  82. package/dist/src/processors/processor-manager.js.map +0 -1
  83. package/dist/src/processors/relational/types.js +0 -2
  84. package/dist/src/processors/relational/types.js.map +0 -1
  85. package/dist/src/processors/relational/utils.js +0 -2
  86. package/dist/src/processors/relational/utils.js.map +0 -1
  87. package/dist/src/processors/utils.js +0 -59
  88. package/dist/src/processors/utils.js.map +0 -1
  89. package/dist/src/queue/interfaces.js +0 -2
  90. package/dist/src/queue/interfaces.js.map +0 -1
  91. package/dist/src/queue/job-execution-handle.js +0 -71
  92. package/dist/src/queue/job-execution-handle.js.map +0 -1
  93. package/dist/src/queue/queue.js +0 -493
  94. package/dist/src/queue/queue.js.map +0 -1
  95. package/dist/src/queue/types.js +0 -19
  96. package/dist/src/queue/types.js.map +0 -1
  97. package/dist/src/read-models/base-read-model.js +0 -143
  98. package/dist/src/read-models/base-read-model.js.map +0 -1
  99. package/dist/src/read-models/coordinator.js +0 -72
  100. package/dist/src/read-models/coordinator.js.map +0 -1
  101. package/dist/src/read-models/document-view.js +0 -457
  102. package/dist/src/read-models/document-view.js.map +0 -1
  103. package/dist/src/read-models/interfaces.js +0 -2
  104. package/dist/src/read-models/interfaces.js.map +0 -1
  105. package/dist/src/read-models/types.js +0 -2
  106. package/dist/src/read-models/types.js.map +0 -1
  107. package/dist/src/registry/document-model-resolver.js +0 -81
  108. package/dist/src/registry/document-model-resolver.js.map +0 -1
  109. package/dist/src/registry/implementation.js +0 -226
  110. package/dist/src/registry/implementation.js.map +0 -1
  111. package/dist/src/registry/index.js +0 -3
  112. package/dist/src/registry/index.js.map +0 -1
  113. package/dist/src/registry/interfaces.js +0 -2
  114. package/dist/src/registry/interfaces.js.map +0 -1
  115. package/dist/src/shared/awaiter.js +0 -123
  116. package/dist/src/shared/awaiter.js.map +0 -1
  117. package/dist/src/shared/collect-all-pages.js +0 -17
  118. package/dist/src/shared/collect-all-pages.js.map +0 -1
  119. package/dist/src/shared/consistency-tracker.js +0 -123
  120. package/dist/src/shared/consistency-tracker.js.map +0 -1
  121. package/dist/src/shared/drive-url.js +0 -17
  122. package/dist/src/shared/drive-url.js.map +0 -1
  123. package/dist/src/shared/errors.js +0 -93
  124. package/dist/src/shared/errors.js.map +0 -1
  125. package/dist/src/shared/factories.js +0 -41
  126. package/dist/src/shared/factories.js.map +0 -1
  127. package/dist/src/shared/types.js +0 -38
  128. package/dist/src/shared/types.js.map +0 -1
  129. package/dist/src/shared/utils.js +0 -8
  130. package/dist/src/shared/utils.js.map +0 -1
  131. package/dist/src/signer/passthrough-signer.js +0 -17
  132. package/dist/src/signer/passthrough-signer.js.map +0 -1
  133. package/dist/src/signer/types.js +0 -2
  134. package/dist/src/signer/types.js.map +0 -1
  135. package/dist/src/storage/index.js +0 -3
  136. package/dist/src/storage/index.js.map +0 -1
  137. package/dist/src/storage/interfaces.js +0 -29
  138. package/dist/src/storage/interfaces.js.map +0 -1
  139. package/dist/src/storage/kysely/document-indexer.js +0 -421
  140. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  141. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  142. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  143. package/dist/src/storage/kysely/store.js +0 -264
  144. package/dist/src/storage/kysely/store.js.map +0 -1
  145. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -97
  146. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  147. package/dist/src/storage/kysely/sync-dead-letter-storage.js +0 -110
  148. package/dist/src/storage/kysely/sync-dead-letter-storage.js.map +0 -1
  149. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  150. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  151. package/dist/src/storage/kysely/types.js +0 -2
  152. package/dist/src/storage/kysely/types.js.map +0 -1
  153. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  154. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  155. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  156. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  157. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  158. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  159. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  160. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  161. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  162. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  163. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  164. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  165. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  166. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  167. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  168. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  169. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  170. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  171. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  172. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  173. package/dist/src/storage/migrations/011_add_cursor_type_column.js +0 -29
  174. package/dist/src/storage/migrations/011_add_cursor_type_column.js.map +0 -1
  175. package/dist/src/storage/migrations/012_add_source_remote_column.js +0 -7
  176. package/dist/src/storage/migrations/012_add_source_remote_column.js.map +0 -1
  177. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.js +0 -24
  178. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.js.map +0 -1
  179. package/dist/src/storage/migrations/index.js +0 -3
  180. package/dist/src/storage/migrations/index.js.map +0 -1
  181. package/dist/src/storage/migrations/migrator.js +0 -84
  182. package/dist/src/storage/migrations/migrator.js.map +0 -1
  183. package/dist/src/storage/migrations/run-migrations.js +0 -58
  184. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  185. package/dist/src/storage/migrations/types.js +0 -2
  186. package/dist/src/storage/migrations/types.js.map +0 -1
  187. package/dist/src/storage/txn.js +0 -42
  188. package/dist/src/storage/txn.js.map +0 -1
  189. package/dist/src/subs/default-error-handler.js +0 -27
  190. package/dist/src/subs/default-error-handler.js.map +0 -1
  191. package/dist/src/subs/react-subscription-manager.js +0 -185
  192. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  193. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  194. package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
  195. package/dist/src/subs/types.js +0 -2
  196. package/dist/src/subs/types.js.map +0 -1
  197. package/dist/src/sync/batch-aggregator.js +0 -94
  198. package/dist/src/sync/batch-aggregator.js.map +0 -1
  199. package/dist/src/sync/buffered-mailbox.js +0 -164
  200. package/dist/src/sync/buffered-mailbox.js.map +0 -1
  201. package/dist/src/sync/channels/gql-req-channel.js +0 -548
  202. package/dist/src/sync/channels/gql-req-channel.js.map +0 -1
  203. package/dist/src/sync/channels/gql-request-channel-factory.js +0 -105
  204. package/dist/src/sync/channels/gql-request-channel-factory.js.map +0 -1
  205. package/dist/src/sync/channels/gql-res-channel.js +0 -79
  206. package/dist/src/sync/channels/gql-res-channel.js.map +0 -1
  207. package/dist/src/sync/channels/gql-response-channel-factory.js +0 -14
  208. package/dist/src/sync/channels/gql-response-channel-factory.js.map +0 -1
  209. package/dist/src/sync/channels/index.js +0 -8
  210. package/dist/src/sync/channels/index.js.map +0 -1
  211. package/dist/src/sync/channels/interval-poll-timer.js +0 -123
  212. package/dist/src/sync/channels/interval-poll-timer.js.map +0 -1
  213. package/dist/src/sync/channels/poll-timer.js +0 -2
  214. package/dist/src/sync/channels/poll-timer.js.map +0 -1
  215. package/dist/src/sync/channels/utils.js +0 -161
  216. package/dist/src/sync/channels/utils.js.map +0 -1
  217. package/dist/src/sync/errors.js +0 -17
  218. package/dist/src/sync/errors.js.map +0 -1
  219. package/dist/src/sync/index.js +0 -11
  220. package/dist/src/sync/index.js.map +0 -1
  221. package/dist/src/sync/interfaces.js +0 -2
  222. package/dist/src/sync/interfaces.js.map +0 -1
  223. package/dist/src/sync/mailbox.js +0 -142
  224. package/dist/src/sync/mailbox.js.map +0 -1
  225. package/dist/src/sync/sync-awaiter.js +0 -124
  226. package/dist/src/sync/sync-awaiter.js.map +0 -1
  227. package/dist/src/sync/sync-builder.js +0 -52
  228. package/dist/src/sync/sync-builder.js.map +0 -1
  229. package/dist/src/sync/sync-manager.js +0 -447
  230. package/dist/src/sync/sync-manager.js.map +0 -1
  231. package/dist/src/sync/sync-operation.js +0 -70
  232. package/dist/src/sync/sync-operation.js.map +0 -1
  233. package/dist/src/sync/sync-status-tracker.js +0 -137
  234. package/dist/src/sync/sync-status-tracker.js.map +0 -1
  235. package/dist/src/sync/types.js +0 -31
  236. package/dist/src/sync/types.js.map +0 -1
  237. package/dist/src/sync/utils.js +0 -283
  238. package/dist/src/sync/utils.js.map +0 -1
  239. package/dist/src/utils/reshuffle.js +0 -91
  240. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -1,423 +0,0 @@
1
- import { isUndoRedo } from "document-model/core";
2
- import { ReactorEventTypes } from "../events/types.js";
3
- import { DocumentDeletedError } from "../shared/errors.js";
4
- import { reshuffleByTimestamp } from "../utils/reshuffle.js";
5
- import { DocumentActionHandler } from "./document-action-handler.js";
6
- import { SignatureVerifier } from "./signature-verifier.js";
7
- import { buildErrorResult } from "./util.js";
8
- const MAX_SKIP_THRESHOLD = 1000;
9
- const documentScopeActions = [
10
- "CREATE_DOCUMENT",
11
- "DELETE_DOCUMENT",
12
- "UPGRADE_DOCUMENT",
13
- "ADD_RELATIONSHIP",
14
- "REMOVE_RELATIONSHIP",
15
- ];
16
- /**
17
- * Simple job executor that processes a job by applying actions through document model reducers.
18
- */
19
- export class SimpleJobExecutor {
20
- logger;
21
- registry;
22
- operationStore;
23
- eventBus;
24
- writeCache;
25
- operationIndex;
26
- documentMetaCache;
27
- collectionMembershipCache;
28
- config;
29
- signatureVerifierModule;
30
- documentActionHandler;
31
- constructor(logger, registry, operationStore, eventBus, writeCache, operationIndex, documentMetaCache, collectionMembershipCache, config, signatureVerifier) {
32
- this.logger = logger;
33
- this.registry = registry;
34
- this.operationStore = operationStore;
35
- this.eventBus = eventBus;
36
- this.writeCache = writeCache;
37
- this.operationIndex = operationIndex;
38
- this.documentMetaCache = documentMetaCache;
39
- this.collectionMembershipCache = collectionMembershipCache;
40
- this.config = {
41
- maxSkipThreshold: config.maxSkipThreshold ?? MAX_SKIP_THRESHOLD,
42
- maxConcurrency: config.maxConcurrency ?? 1,
43
- jobTimeoutMs: config.jobTimeoutMs ?? 30000,
44
- retryBaseDelayMs: config.retryBaseDelayMs ?? 100,
45
- retryMaxDelayMs: config.retryMaxDelayMs ?? 5000,
46
- };
47
- this.signatureVerifierModule = new SignatureVerifier(signatureVerifier);
48
- this.documentActionHandler = new DocumentActionHandler(writeCache, operationStore, documentMetaCache, collectionMembershipCache, registry, logger);
49
- }
50
- /**
51
- * Execute a single job by applying all its actions through the appropriate reducers.
52
- * Actions are processed sequentially in order.
53
- */
54
- async executeJob(job) {
55
- const startTime = Date.now();
56
- const indexTxn = this.operationIndex.start();
57
- if (job.kind === "load") {
58
- const result = await this.executeLoadJob(job, startTime, indexTxn);
59
- if (result.success && result.operationsWithContext) {
60
- const ordinals = await this.operationIndex.commit(indexTxn);
61
- for (let i = 0; i < result.operationsWithContext.length; i++) {
62
- result.operationsWithContext[i].context.ordinal = ordinals[i];
63
- }
64
- const collectionMemberships = result.operationsWithContext.length > 0
65
- ? await this.getCollectionMembershipsForOperations(result.operationsWithContext)
66
- : {};
67
- const event = {
68
- jobId: job.id,
69
- operations: result.operationsWithContext,
70
- jobMeta: job.meta,
71
- collectionMemberships,
72
- };
73
- this.eventBus
74
- .emit(ReactorEventTypes.JOB_WRITE_READY, event)
75
- .catch((error) => {
76
- this.logger.error("Failed to emit JOB_WRITE_READY event: @Event : @Error", event, error);
77
- });
78
- }
79
- return result;
80
- }
81
- const result = await this.processActions(job, job.actions, startTime, indexTxn);
82
- if (!result.success) {
83
- return {
84
- job,
85
- success: false,
86
- error: result.error,
87
- duration: Date.now() - startTime,
88
- };
89
- }
90
- const ordinals = await this.operationIndex.commit(indexTxn);
91
- if (result.operationsWithContext.length > 0) {
92
- for (let i = 0; i < result.operationsWithContext.length; i++) {
93
- result.operationsWithContext[i].context.ordinal = ordinals[i];
94
- }
95
- const collectionMemberships = await this.getCollectionMembershipsForOperations(result.operationsWithContext);
96
- const event = {
97
- jobId: job.id,
98
- operations: result.operationsWithContext,
99
- jobMeta: job.meta,
100
- collectionMemberships,
101
- };
102
- this.eventBus
103
- .emit(ReactorEventTypes.JOB_WRITE_READY, event)
104
- .catch((error) => {
105
- this.logger.error("Failed to emit JOB_WRITE_READY event: @Event : @Error", event, error);
106
- });
107
- }
108
- return {
109
- job,
110
- success: true,
111
- operations: result.generatedOperations,
112
- operationsWithContext: result.operationsWithContext,
113
- duration: Date.now() - startTime,
114
- };
115
- }
116
- async getCollectionMembershipsForOperations(operations) {
117
- const documentIds = [
118
- ...new Set(operations.map((op) => op.context.documentId)),
119
- ];
120
- return this.collectionMembershipCache.getCollectionsForDocuments(documentIds);
121
- }
122
- async processActions(job, actions, startTime, indexTxn, skipValues, sourceOperations, sourceRemote = "") {
123
- const generatedOperations = [];
124
- const operationsWithContext = [];
125
- try {
126
- await this.signatureVerifierModule.verifyActions(job.documentId, job.branch, actions);
127
- }
128
- catch (error) {
129
- return {
130
- success: false,
131
- generatedOperations,
132
- operationsWithContext,
133
- error: error instanceof Error ? error : new Error(String(error)),
134
- };
135
- }
136
- for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {
137
- const action = actions[actionIndex];
138
- const skip = skipValues?.[actionIndex] ?? 0;
139
- const sourceOperation = sourceOperations?.[actionIndex];
140
- const isDocumentAction = documentScopeActions.includes(action.type);
141
- const result = isDocumentAction
142
- ? await this.documentActionHandler.execute(job, action, startTime, indexTxn, skip, sourceRemote)
143
- : await this.executeRegularAction(job, action, startTime, indexTxn, skip, sourceOperation, sourceRemote);
144
- const error = this.accumulateResultOrReturnError(result, generatedOperations, operationsWithContext);
145
- if (error !== null) {
146
- return {
147
- success: false,
148
- generatedOperations,
149
- operationsWithContext,
150
- error: error.error,
151
- };
152
- }
153
- }
154
- return {
155
- success: true,
156
- generatedOperations,
157
- operationsWithContext,
158
- };
159
- }
160
- async executeRegularAction(job, action, startTime, indexTxn, skip = 0, sourceOperation, sourceRemote = "") {
161
- let docMeta;
162
- try {
163
- docMeta = await this.documentMetaCache.getDocumentMeta(job.documentId, job.branch);
164
- }
165
- catch (error) {
166
- return buildErrorResult(job, error instanceof Error ? error : new Error(String(error)), startTime);
167
- }
168
- if (docMeta.state.isDeleted) {
169
- return buildErrorResult(job, new DocumentDeletedError(job.documentId, docMeta.state.deletedAtUtcIso), startTime);
170
- }
171
- // UNDO, REDO, PRUNE, and NOOP+skip need the full operation history to
172
- // replay state correctly. The write cache stores sliced documents (last
173
- // op per scope only), so invalidate before loading to force a cold-miss
174
- // rebuild. NOOP+skip arises in executeLoadJob when sync reshuffling
175
- // converts conflicting local ops to NOOPs.
176
- if (isUndoRedo(action) ||
177
- action.type === "PRUNE" ||
178
- (action.type === "NOOP" && skip > 0)) {
179
- this.writeCache.invalidate(job.documentId, job.scope, job.branch);
180
- }
181
- let document;
182
- try {
183
- document = await this.writeCache.getState(job.documentId, job.scope, job.branch);
184
- }
185
- catch (error) {
186
- return buildErrorResult(job, error instanceof Error ? error : new Error(String(error)), startTime);
187
- }
188
- let module;
189
- try {
190
- const moduleVersion = docMeta.state.version === 0 ? undefined : docMeta.state.version;
191
- module = this.registry.getModule(document.header.documentType, moduleVersion);
192
- }
193
- catch (error) {
194
- return buildErrorResult(job, error instanceof Error ? error : new Error(String(error)), startTime);
195
- }
196
- let updatedDocument;
197
- try {
198
- const protocolVersion = document.header.protocolVersions?.["base-reducer"] ?? 1;
199
- const reducerOptions = sourceOperation
200
- ? {
201
- skip,
202
- branch: job.branch,
203
- replayOptions: { operation: sourceOperation },
204
- protocolVersion,
205
- }
206
- : { skip, branch: job.branch, protocolVersion };
207
- updatedDocument = module.reducer(document, action, undefined, reducerOptions);
208
- }
209
- catch (error) {
210
- const contextMessage = `Failed to apply action to document:\n Action type: ${action.type}\n Document ID: ${job.documentId}\n Document type: ${document.header.documentType}\n Scope: ${job.scope}\n Original error: ${error instanceof Error ? error.message : String(error)}`;
211
- const enhancedError = new Error(contextMessage);
212
- if (error instanceof Error && error.stack) {
213
- enhancedError.stack = `${contextMessage}\n\nOriginal stack trace:\n${error.stack}`;
214
- }
215
- return buildErrorResult(job, enhancedError, startTime);
216
- }
217
- const scope = job.scope;
218
- const operations = updatedDocument.operations[scope];
219
- if (operations.length === 0) {
220
- return buildErrorResult(job, new Error("No operation generated from action"), startTime);
221
- }
222
- const newOperation = operations[operations.length - 1];
223
- if (!isUndoRedo(action)) {
224
- newOperation.skip = skip;
225
- }
226
- const resultingState = JSON.stringify({
227
- ...updatedDocument.state,
228
- header: updatedDocument.header,
229
- });
230
- try {
231
- await this.operationStore.apply(job.documentId, document.header.documentType, scope, job.branch, newOperation.index, (txn) => {
232
- txn.addOperations(newOperation);
233
- });
234
- }
235
- catch (error) {
236
- this.logger.error("Error writing @Operation to IOperationStore: @Error", newOperation, error);
237
- this.writeCache.invalidate(job.documentId, scope, job.branch);
238
- return {
239
- job,
240
- success: false,
241
- error: new Error(`Failed to write operation to IOperationStore: ${error instanceof Error ? error.message : String(error)}`),
242
- duration: Date.now() - startTime,
243
- };
244
- }
245
- updatedDocument.header.revision = {
246
- ...updatedDocument.header.revision,
247
- [scope]: newOperation.index + 1,
248
- };
249
- this.writeCache.putState(job.documentId, scope, job.branch, newOperation.index, updatedDocument);
250
- indexTxn.write([
251
- {
252
- ...newOperation,
253
- documentId: job.documentId,
254
- documentType: document.header.documentType,
255
- branch: job.branch,
256
- scope,
257
- sourceRemote,
258
- },
259
- ]);
260
- return {
261
- job,
262
- success: true,
263
- operations: [newOperation],
264
- operationsWithContext: [
265
- {
266
- operation: newOperation,
267
- context: {
268
- documentId: job.documentId,
269
- scope,
270
- branch: job.branch,
271
- documentType: document.header.documentType,
272
- resultingState,
273
- ordinal: 0,
274
- },
275
- },
276
- ],
277
- duration: Date.now() - startTime,
278
- };
279
- }
280
- async executeLoadJob(job, startTime, indexTxn) {
281
- if (job.operations.length === 0) {
282
- return buildErrorResult(job, new Error("Load job must include at least one operation"), startTime);
283
- }
284
- let docMeta;
285
- try {
286
- docMeta = await this.documentMetaCache.getDocumentMeta(job.documentId, job.branch);
287
- }
288
- catch {
289
- // Document meta not found — continue with load (may be a new document)
290
- }
291
- if (docMeta?.state.isDeleted) {
292
- return buildErrorResult(job, new DocumentDeletedError(job.documentId, docMeta.state.deletedAtUtcIso), startTime);
293
- }
294
- const scope = job.scope;
295
- let latestRevision = 0;
296
- try {
297
- const revisions = await this.operationStore.getRevisions(job.documentId, job.branch);
298
- latestRevision = revisions.revision[scope] ?? 0;
299
- }
300
- catch {
301
- latestRevision = 0;
302
- }
303
- let minIncomingIndex = Number.POSITIVE_INFINITY;
304
- let minIncomingTimestamp = job.operations[0]?.timestampUtcMs || "";
305
- for (const operation of job.operations) {
306
- minIncomingIndex = Math.min(minIncomingIndex, operation.index);
307
- const ts = operation.timestampUtcMs || "";
308
- if (ts < minIncomingTimestamp) {
309
- minIncomingTimestamp = ts;
310
- }
311
- }
312
- let conflictingOps = [];
313
- try {
314
- const conflictingResult = await this.operationStore.getConflicting(job.documentId, scope, job.branch, minIncomingTimestamp);
315
- conflictingOps = conflictingResult.results;
316
- }
317
- catch {
318
- conflictingOps = [];
319
- }
320
- let allOpsFromMinConflictingIndex = conflictingOps;
321
- if (conflictingOps.length > 0) {
322
- const minConflictingIndex = Math.min(...conflictingOps.map((op) => op.index));
323
- try {
324
- const allOpsResult = await this.operationStore.getSince(job.documentId, scope, job.branch, minConflictingIndex - 1);
325
- allOpsFromMinConflictingIndex = allOpsResult.results;
326
- }
327
- catch {
328
- allOpsFromMinConflictingIndex = conflictingOps;
329
- }
330
- }
331
- const nonSupersededOps = conflictingOps.filter((op) => {
332
- for (const laterOp of allOpsFromMinConflictingIndex) {
333
- if (laterOp.index > op.index && laterOp.skip > 0) {
334
- const logicalIndex = laterOp.index - laterOp.skip;
335
- if (logicalIndex <= op.index) {
336
- return false;
337
- }
338
- }
339
- }
340
- return true;
341
- });
342
- const existingOpsToReshuffle = nonSupersededOps;
343
- const skipCount = existingOpsToReshuffle.length;
344
- if (skipCount > this.config.maxSkipThreshold) {
345
- return {
346
- job,
347
- success: false,
348
- error: new Error(`Excessive reshuffle detected: skip count of ${skipCount} exceeds threshold of ${this.config.maxSkipThreshold}. ` +
349
- `This indicates a significant divergence between local and incoming operations.`),
350
- duration: Date.now() - startTime,
351
- };
352
- }
353
- const existingActionIds = new Set(nonSupersededOps.map((op) => op.action.id));
354
- const seenIncomingActionIds = new Set();
355
- const incomingOpsToApply = job.operations.filter((op) => {
356
- if (existingActionIds.has(op.action.id))
357
- return false;
358
- if (seenIncomingActionIds.has(op.action.id))
359
- return false;
360
- seenIncomingActionIds.add(op.action.id);
361
- return true;
362
- });
363
- if (incomingOpsToApply.length === 0) {
364
- return {
365
- job,
366
- success: true,
367
- operations: [],
368
- operationsWithContext: [],
369
- duration: Date.now() - startTime,
370
- };
371
- }
372
- const reshuffledOperations = reshuffleByTimestamp({
373
- index: latestRevision,
374
- skip: skipCount,
375
- }, existingOpsToReshuffle, incomingOpsToApply.map((operation) => ({
376
- ...operation,
377
- id: operation.id,
378
- })));
379
- for (const operation of reshuffledOperations) {
380
- if (operation.action.type === "NOOP") {
381
- operation.skip = 1;
382
- }
383
- }
384
- const actions = reshuffledOperations.map((operation) => operation.action);
385
- const skipValues = reshuffledOperations.map((operation) => operation.skip);
386
- const effectiveSourceRemote = skipCount > 0
387
- ? "" // reshuffle: send to all remotes including source
388
- : job.meta.sourceRemote || ""; // trivial append: suppress echo to source
389
- const result = await this.processActions(job, actions, startTime, indexTxn, skipValues, reshuffledOperations, effectiveSourceRemote);
390
- if (!result.success) {
391
- return {
392
- job,
393
- success: false,
394
- error: result.error,
395
- duration: Date.now() - startTime,
396
- };
397
- }
398
- this.writeCache.invalidate(job.documentId, scope, job.branch);
399
- if (scope === "document") {
400
- this.documentMetaCache.invalidate(job.documentId, job.branch);
401
- }
402
- return {
403
- job,
404
- success: true,
405
- operations: result.generatedOperations,
406
- operationsWithContext: result.operationsWithContext,
407
- duration: Date.now() - startTime,
408
- };
409
- }
410
- accumulateResultOrReturnError(result, generatedOperations, operationsWithContext) {
411
- if (!result.success) {
412
- return result;
413
- }
414
- if (result.operations && result.operations.length > 0) {
415
- generatedOperations.push(...result.operations);
416
- }
417
- if (result.operationsWithContext) {
418
- operationsWithContext.push(...result.operationsWithContext);
419
- }
420
- return null;
421
- }
422
- }
423
- //# sourceMappingURL=simple-job-executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-job-executor.js","sourceRoot":"","sources":["../../../src/executor/simple-job-executor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AASjD,OAAO,EAAE,iBAAiB,EAA2B,MAAM,oBAAoB,CAAC;AAIhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAShC,MAAM,oBAAoB,GAAG;IAC3B,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAMlB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAZF,MAAM,CAA8B;IACpC,uBAAuB,CAAoB;IAC3C,qBAAqB,CAAwB;IAErD,YACU,MAAe,EACf,QAAgC,EAChC,cAA+B,EAC/B,QAAmB,EACnB,UAAuB,EACvB,cAA+B,EAC/B,iBAAqC,EACrC,yBAAqD,EAC7D,MAAyB,EACzB,iBAAgD;QATxC,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAwB;QAChC,mBAAc,GAAd,cAAc,CAAiB;QAC/B,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAa;QACvB,mBAAc,GAAd,cAAc,CAAiB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,8BAAyB,GAAzB,yBAAyB,CAA4B;QAI7D,IAAI,CAAC,MAAM,GAAG;YACZ,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,kBAAkB;YAC/D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;YAC1C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG;YAChD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;SAChD,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CACpD,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,QAAQ,EACR,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,GAAQ;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE7C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,qBAAqB,GACzB,MAAM,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;oBACrC,CAAC,CAAC,MAAM,IAAI,CAAC,qCAAqC,CAC9C,MAAM,CAAC,qBAAqB,CAC7B;oBACH,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,KAAK,GAAuB;oBAChC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,qBAAqB;iBACtB,CAAC;gBACF,IAAI,CAAC,QAAQ;qBACV,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;qBAC9C,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,KAAK,EACL,KAAK,CACN,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,GAAG,EACH,GAAG,CAAC,OAAO,EACX,SAAS,EACT,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,qCAAqC,CAC9C,MAAM,CAAC,qBAAqB,CAC7B,CAAC;YACJ,MAAM,KAAK,GAAuB;gBAChC,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU,EAAE,MAAM,CAAC,qBAAqB;gBACxC,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,qBAAqB;aACtB,CAAC;YACF,IAAI,CAAC,QAAQ;iBACV,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;iBAC9C,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,KAAK,EACL,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACL,GAAG;YACH,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM,CAAC,mBAAmB;YACtC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qCAAqC,CACjD,UAAkC;QAElC,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1D,CAAC;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC,0BAA0B,CAC9D,WAAW,CACZ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,GAAQ,EACR,OAAiB,EACjB,SAAiB,EACjB,QAA4B,EAC5B,UAAqB,EACrB,gBAA4C,EAC5C,eAAuB,EAAE;QAEzB,MAAM,mBAAmB,GAAgB,EAAE,CAAC;QAC5C,MAAM,qBAAqB,GAA2B,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAC9C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,MAAM,EACV,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,mBAAmB;gBACnB,qBAAqB;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC;QACJ,CAAC;QAED,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;YAExD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,gBAAgB;gBAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACtC,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,YAAY,CACb;gBACH,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAC7B,GAAG,EACH,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,eAAe,EACf,YAAY,CACb,CAAC;YAEN,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAC9C,MAAM,EACN,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;YACF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,mBAAmB;oBACnB,qBAAqB;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,mBAAmB;YACnB,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAQ,EACR,MAAc,EACd,SAAiB,EACjB,QAA4B,EAC5B,OAAe,CAAC,EAChB,eAA2B,EAC3B,eAAuB,EAAE;QAczB,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpD,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,gBAAgB,CACrB,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,gBAAgB,CACrB,GAAG,EACH,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EACvE,SAAS,CACV,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,2CAA2C;QAC3C,IACE,UAAU,CAAC,MAAM,CAAC;YAClB,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,EACpC,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAoB,CAAC;QACzB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvC,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,gBAAgB,CACrB,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,aAAa,GACjB,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAClE,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC9B,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,aAAa,CACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,gBAAgB,CACrB,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,eAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,eAAe,GACnB,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,eAAe;gBACpC,CAAC,CAAC;oBACE,IAAI;oBACJ,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,aAAa,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;oBAC7C,eAAe;iBAChB;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;YAClD,eAAe,GAAG,MAAM,CAAC,OAAO,CAC9B,QAAsB,EACtB,MAAM,EACN,SAAS,EACT,cAAc,CACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,uDAAuD,MAAM,CAAC,IAAI,oBAAoB,GAAG,CAAC,UAAU,sBAAsB,QAAQ,CAAC,MAAM,CAAC,YAAY,cAAc,GAAG,CAAC,KAAK,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpR,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1C,aAAa,CAAC,KAAK,GAAG,GAAG,cAAc,8BAA8B,KAAK,CAAC,KAAK,EAAE,CAAC;YACrF,CAAC;YACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,gBAAgB,CACrB,GAAG,EACH,IAAI,KAAK,CAAC,oCAAoC,CAAC,EAC/C,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;YACpC,GAAG,eAAe,CAAC,KAAK;YACxB,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAC7B,GAAG,CAAC,UAAU,EACd,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,KAAK,EACL,GAAG,CAAC,MAAM,EACV,YAAY,CAAC,KAAK,EAClB,CAAC,GAAG,EAAE,EAAE;gBACN,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qDAAqD,EACrD,YAAY,EACZ,KAAK,CACN,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAE9D,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CACd,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1G;gBACD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,QAAQ,GAAG;YAChC,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ;YAClC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,CAAC;SAChC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CACtB,GAAG,CAAC,UAAU,EACd,KAAK,EACL,GAAG,CAAC,MAAM,EACV,YAAY,CAAC,KAAK,EAClB,eAAe,CAChB,CAAC;QAEF,QAAQ,CAAC,KAAK,CAAC;YACb;gBACE,GAAG,YAAY;gBACf,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;gBAC1C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK;gBACL,YAAY;aACb;SACF,CAAC,CAAC;QAEH,OAAO;YACL,GAAG;YACH,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,YAAY,CAAC;YAC1B,qBAAqB,EAAE;gBACrB;oBACE,SAAS,EAAE,YAAY;oBACvB,OAAO,EAAE;wBACP,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,KAAK;wBACL,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;wBAC1C,cAAc;wBACd,OAAO,EAAE,CAAC;qBACX;iBACF;aACF;YACD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,GAAQ,EACR,SAAiB,EACjB,QAA4B;QAE5B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,gBAAgB,CACrB,GAAG,EACH,IAAI,KAAK,CAAC,8CAA8C,CAAC,EACzD,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpD,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CACrB,GAAG,EACH,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EACvE,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAExB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACtD,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,MAAM,CACX,CAAC;YACF,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAChD,IAAI,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;QACnE,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACvC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAC;gBAC9B,oBAAoB,GAAG,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,cAAc,GAAgB,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAChE,GAAG,CAAC,UAAU,EACd,KAAK,EACL,GAAG,CAAC,MAAM,EACV,oBAAoB,CACrB,CAAC;YAEF,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,6BAA6B,GAAgB,cAAc,CAAC;QAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAClC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CACxC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CACrD,GAAG,CAAC,UAAU,EACd,KAAK,EACL,GAAG,CAAC,MAAM,EACV,mBAAmB,GAAG,CAAC,CACxB,CAAC;gBACF,6BAA6B,GAAG,YAAY,CAAC,OAAO,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B,GAAG,cAAc,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACpD,KAAK,MAAM,OAAO,IAAI,6BAA6B,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACjD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;oBAClD,IAAI,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;wBAC7B,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;QAEhD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAEhD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CACd,+CAA+C,SAAS,yBAAyB,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI;oBAC/G,gFAAgF,CACnF;gBACD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC3C,CAAC;QACF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAChD,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACtD,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1D,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,EAAE;gBACd,qBAAqB,EAAE,EAAE;gBACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,oBAAoB,CAC/C;YACE,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,SAAS;SAChB,EACD,sBAAsB,EACtB,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,SAAS;YACZ,EAAE,EAAE,SAAS,CAAC,EAAE;SACjB,CAAC,CAAC,CACJ,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,qBAAqB,GACzB,SAAS,GAAG,CAAC;YACX,CAAC,CAAC,EAAE,CAAC,kDAAkD;YACvD,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,YAAuB,IAAI,EAAE,CAAC,CAAC,0CAA0C;QAEzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,GAAG,EACH,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACL,GAAG;YACH,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM,CAAC,mBAAmB;YACtC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAEO,6BAA6B,CACnC,MAAiB,EACjB,mBAAgC,EAChC,qBAA6C;QAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,qBAAqB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Event types for the job executor
3
- */
4
- export const JobExecutorEventTypes = {
5
- JOB_STARTED: 20000,
6
- JOB_COMPLETED: 20001,
7
- JOB_FAILED: 20002,
8
- EXECUTOR_STARTED: 20003,
9
- EXECUTOR_STOPPED: 20004,
10
- };
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/executor/types.ts"],"names":[],"mappings":"AAwDA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,KAAK;IACvB,gBAAgB,EAAE,KAAK;CACf,CAAC"}