@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,230 +0,0 @@
1
- import { createPresignedHeader, defaultBaseState, deriveOperationId, } from "document-model/core";
2
- import { DowngradeNotSupportedError } from "../shared/errors.js";
3
- /**
4
- * Creates a PHDocument from a CREATE_DOCUMENT action input.
5
- * Reconstructs the document header and initializes the base state.
6
- *
7
- * @param action - The CREATE_DOCUMENT action containing the document parameters
8
- * @returns A newly constructed PHDocument with initialized header and base state
9
- */
10
- export function createDocumentFromAction(action) {
11
- const input = action.input;
12
- // Reconstruct the document from CreateDocumentActionInput
13
- const header = createPresignedHeader();
14
- header.id = input.documentId;
15
- header.documentType = input.model;
16
- // If signing info is present, populate the header signature fields
17
- if (input.signing) {
18
- header.createdAtUtcIso = input.signing.createdAtUtcIso;
19
- header.lastModifiedAtUtcIso = input.signing.createdAtUtcIso;
20
- header.sig = {
21
- publicKey: input.signing.publicKey,
22
- nonce: input.signing.nonce,
23
- };
24
- }
25
- // Populate optional mutable header fields
26
- if (input.slug !== undefined) {
27
- header.slug = input.slug;
28
- }
29
- // Default slug to document ID if empty (matching legacy behavior)
30
- if (!header.slug) {
31
- header.slug = input.documentId;
32
- }
33
- if (input.name !== undefined) {
34
- header.name = input.name;
35
- }
36
- if (input.branch !== undefined) {
37
- header.branch = input.branch;
38
- }
39
- if (input.meta !== undefined) {
40
- header.meta = input.meta;
41
- }
42
- if (input.protocolVersions !== undefined) {
43
- header.protocolVersions = input.protocolVersions;
44
- }
45
- // Construct the document with default base state (UPGRADE_DOCUMENT will set the full state)
46
- const baseState = defaultBaseState();
47
- const document = {
48
- header,
49
- operations: {},
50
- state: baseState,
51
- initialState: baseState,
52
- clipboard: [],
53
- };
54
- return document;
55
- }
56
- /**
57
- * Applies an UPGRADE_DOCUMENT action to a document.
58
- * Handles all upgrade scenarios including initial upgrades, no-ops, and multi-step upgrades.
59
- *
60
- * Behavior based on fromVersion/toVersion:
61
- * - fromVersion === toVersion (and fromVersion > 0): No-op - return unchanged document
62
- * - fromVersion > toVersion: Throw DowngradeNotSupportedError
63
- * - All other cases: Apply upgradePath transitions (if provided), then apply initialState, set version
64
- *
65
- * The initialState from the action is always applied (if provided) to maintain backward
66
- * compatibility with the original implementation.
67
- *
68
- * @param document - The document to upgrade
69
- * @param action - The UPGRADE_DOCUMENT action
70
- * @param upgradePath - Optional pre-computed upgrade path for multi-step upgrades
71
- * @returns The upgraded document (unchanged if no-op)
72
- * @throws DowngradeNotSupportedError if attempting to downgrade
73
- */
74
- export function applyUpgradeDocumentAction(document, action, upgradePath) {
75
- const fromVersion = action.input.fromVersion;
76
- const toVersion = action.input.toVersion;
77
- if (fromVersion === toVersion && fromVersion > 0) {
78
- return document;
79
- }
80
- if (fromVersion > toVersion) {
81
- throw new DowngradeNotSupportedError(document.header.documentType, fromVersion, toVersion);
82
- }
83
- if (upgradePath) {
84
- for (const transition of upgradePath) {
85
- document = transition.upgradeReducer(document, action);
86
- }
87
- }
88
- applyInitialState(document, action);
89
- document.state.document = {
90
- ...document.state.document,
91
- version: toVersion,
92
- };
93
- return document;
94
- }
95
- function applyInitialState(document, action) {
96
- const input = action.input;
97
- const newState = input.initialState || input.state;
98
- if (newState) {
99
- document.state = { ...document.state, ...newState };
100
- document.initialState = document.state;
101
- }
102
- }
103
- /**
104
- * Applies a DELETE_DOCUMENT action to a document.
105
- * Marks the document as deleted in the document scope state.
106
- *
107
- * @param document - The document to mark as deleted
108
- * @param action - The DELETE_DOCUMENT action
109
- * @returns The updated document (mutates in place and returns for convenience)
110
- */
111
- export function applyDeleteDocumentAction(document, action) {
112
- const deletedAt = action.timestampUtcMs || new Date().toISOString();
113
- document.state = {
114
- ...document.state,
115
- document: {
116
- ...document.state.document,
117
- isDeleted: true,
118
- deletedAtUtcIso: deletedAt,
119
- },
120
- };
121
- return document;
122
- }
123
- /**
124
- * Calculate the next operation index for a specific scope.
125
- * Each scope maintains its own independent index sequence.
126
- *
127
- * Per-scope indexing means:
128
- * - Each scope (document, global, local, etc.) has independent indexes
129
- * - Indexes start at 0 for each scope
130
- * - Different scopes can have operations with the same index value
131
- *
132
- * This function uses header.revision which is populated by the cache/storage layer
133
- * and contains the next available index for each scope. This design avoids requiring
134
- * the full operation history to be loaded, which is crucial for snapshot-based caching.
135
- *
136
- * @param document - The document whose header.revision to inspect
137
- * @param scope - The scope to calculate the next index for
138
- * @returns The next available index in the specified scope
139
- */
140
- export const getNextIndexForScope = (document, scope) => {
141
- return document.header.revision[scope] || 0;
142
- };
143
- /**
144
- * Creates an empty consistency token with no coordinates.
145
- * Used when a job is registered or fails without writing operations.
146
- *
147
- * @returns A consistency token with an empty coordinates array
148
- */
149
- export function createEmptyConsistencyToken() {
150
- return {
151
- version: 1,
152
- createdAtUtcIso: new Date().toISOString(),
153
- coordinates: [],
154
- };
155
- }
156
- /**
157
- * Creates a consistency token from operations written during job execution.
158
- * Maps each operation to a consistency coordinate tracking (documentId, scope, branch, operationIndex).
159
- * If no operations are provided, returns an empty token.
160
- *
161
- * @param operationsWithContext - Array of operations with their execution context
162
- * @returns A consistency token representing all operations written
163
- */
164
- export function createConsistencyToken(operationsWithContext) {
165
- if (operationsWithContext.length === 0) {
166
- return createEmptyConsistencyToken();
167
- }
168
- const coordinates = [];
169
- for (let i = 0; i < operationsWithContext.length; i++) {
170
- const opWithContext = operationsWithContext[i];
171
- coordinates.push({
172
- documentId: opWithContext.context.documentId,
173
- scope: opWithContext.context.scope,
174
- branch: opWithContext.context.branch,
175
- operationIndex: opWithContext.operation.index,
176
- });
177
- }
178
- return {
179
- version: 1,
180
- createdAtUtcIso: new Date().toISOString(),
181
- coordinates,
182
- };
183
- }
184
- export function createOperation(action, index, skip, context) {
185
- const id = deriveOperationId(context.documentId, context.scope, context.branch, action.id);
186
- return {
187
- id,
188
- index: index,
189
- timestampUtcMs: action.timestampUtcMs || new Date().toISOString(),
190
- hash: "",
191
- skip: skip,
192
- action: action,
193
- };
194
- }
195
- export function updateDocumentRevision(document, scope, operationIndex) {
196
- document.header.revision = {
197
- ...document.header.revision,
198
- [scope]: operationIndex + 1,
199
- };
200
- }
201
- export function buildSuccessResult(job, operation, documentId, documentType, resultingState, startTime) {
202
- return {
203
- job,
204
- success: true,
205
- operations: [operation],
206
- operationsWithContext: [
207
- {
208
- operation,
209
- context: {
210
- documentId: documentId,
211
- scope: job.scope,
212
- branch: job.branch,
213
- documentType: documentType,
214
- resultingState,
215
- ordinal: 0,
216
- },
217
- },
218
- ],
219
- duration: Date.now() - startTime,
220
- };
221
- }
222
- export function buildErrorResult(job, error, startTime) {
223
- return {
224
- job,
225
- success: false,
226
- error: error,
227
- duration: Date.now() - startTime,
228
- };
229
- }
230
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/executor/util.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- import { ReactorEventTypes, } from "../events/types.js";
2
- import { createConsistencyToken, createEmptyConsistencyToken, } from "../executor/util.js";
3
- import { JobStatus } from "../shared/types.js";
4
- /**
5
- * In-memory implementation of IJobTracker.
6
- * Maintains job status in a Map for synchronous access.
7
- * Subscribes to operation events to update job states.
8
- */
9
- export class InMemoryJobTracker {
10
- eventBus;
11
- jobs = new Map();
12
- unsubscribers = [];
13
- constructor(eventBus) {
14
- this.eventBus = eventBus;
15
- this.subscribeToEvents();
16
- }
17
- subscribeToEvents() {
18
- this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY, (_type, event) => {
19
- this.handleWriteReady(event);
20
- }));
21
- this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_READ_READY, (_type, event) => {
22
- this.handleReadReady(event);
23
- }));
24
- this.unsubscribers.push(this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED, (_type, event) => {
25
- this.handleJobFailed(event);
26
- }));
27
- }
28
- handleWriteReady(event) {
29
- const jobId = event.jobId;
30
- const job = this.jobs.get(jobId);
31
- if (job && job.status === JobStatus.RUNNING) {
32
- const consistencyToken = createConsistencyToken(event.operations);
33
- this.jobs.set(jobId, {
34
- ...job,
35
- status: JobStatus.WRITE_READY,
36
- consistencyToken,
37
- });
38
- }
39
- }
40
- handleReadReady(event) {
41
- const jobId = event.jobId;
42
- const job = this.jobs.get(jobId);
43
- if (job && job.status === JobStatus.WRITE_READY) {
44
- this.jobs.set(jobId, {
45
- ...job,
46
- status: JobStatus.READ_READY,
47
- });
48
- }
49
- }
50
- handleJobFailed(event) {
51
- this.markFailed(event.jobId, {
52
- message: event.error.message,
53
- stack: event.error.stack || "",
54
- }, event.job);
55
- }
56
- shutdown() {
57
- for (const unsubscribe of this.unsubscribers) {
58
- unsubscribe();
59
- }
60
- this.unsubscribers = [];
61
- }
62
- registerJob(jobInfo) {
63
- this.jobs.set(jobInfo.id, { ...jobInfo });
64
- }
65
- markRunning(jobId) {
66
- const job = this.jobs.get(jobId);
67
- if (!job) {
68
- // Job not found - might have been registered elsewhere
69
- // Create minimal job entry
70
- this.jobs.set(jobId, {
71
- id: jobId,
72
- status: JobStatus.RUNNING,
73
- createdAtUtcIso: new Date().toISOString(),
74
- consistencyToken: createEmptyConsistencyToken(),
75
- meta: { batchId: jobId, batchJobIds: [jobId] },
76
- });
77
- return;
78
- }
79
- // Update existing job
80
- this.jobs.set(jobId, {
81
- ...job,
82
- status: JobStatus.RUNNING,
83
- });
84
- }
85
- markFailed(jobId, error, job) {
86
- const existing = this.jobs.get(jobId);
87
- if (!existing) {
88
- this.jobs.set(jobId, {
89
- id: jobId,
90
- status: JobStatus.FAILED,
91
- createdAtUtcIso: new Date().toISOString(),
92
- completedAtUtcIso: new Date().toISOString(),
93
- error,
94
- job,
95
- consistencyToken: createEmptyConsistencyToken(),
96
- meta: { batchId: jobId, batchJobIds: [jobId] },
97
- });
98
- return;
99
- }
100
- this.jobs.set(jobId, {
101
- ...existing,
102
- status: JobStatus.FAILED,
103
- completedAtUtcIso: new Date().toISOString(),
104
- error,
105
- job,
106
- consistencyToken: createEmptyConsistencyToken(),
107
- });
108
- }
109
- getJobStatus(jobId) {
110
- const job = this.jobs.get(jobId);
111
- return job ? { ...job } : null;
112
- }
113
- }
114
- //# sourceMappingURL=in-memory-job-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-job-tracker.js","sourceRoot":"","sources":["../../../src/job-tracker/in-memory-job-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { InMemoryJobTracker } from "./in-memory-job-tracker.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/job-tracker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/job-tracker/interfaces.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export { ConsoleLogger } from "document-model/core";
2
- //# sourceMappingURL=console.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logging/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/logging/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export { ProcessorManager } from "./processor-manager.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,165 +0,0 @@
1
- import { BaseReadModel } from "../read-models/base-read-model.js";
2
- import { createMinimalDriveHeader, extractDeletedDocumentId, extractDriveHeader, isDriveCreation, isDriveDeletion, matchesFilter, } from "./utils.js";
3
- /**
4
- * Manages processor lifecycle based on operations.
5
- * Extends BaseReadModel to receive operations from ReadModelCoordinator.
6
- *
7
- * Responsibilities:
8
- * 1. Detect drive creation from CREATE_DOCUMENT operations
9
- * 2. Create processors for each drive using registered factories
10
- * 3. Route operations to matching processors based on filters
11
- * 4. Clean up processors when drives are deleted or factories are unregistered
12
- */
13
- export class ProcessorManager extends BaseReadModel {
14
- factoryRegistry = new Map();
15
- processorsByDrive = new Map();
16
- factoryToProcessors = new Map();
17
- knownDriveIds = new Set();
18
- constructor(db, operationIndex, writeCache, consistencyTracker) {
19
- super(db, operationIndex, writeCache, consistencyTracker, "processor-manager");
20
- }
21
- async indexOperations(items) {
22
- if (items.length === 0)
23
- return;
24
- await this.detectAndRegisterNewDrives(items);
25
- await this.detectAndCleanupDeletedDrives(items);
26
- await this.routeOperationsToProcessors(items);
27
- await this.db.transaction().execute(async (trx) => {
28
- await this.saveState(trx, items);
29
- });
30
- this.updateConsistencyTracker(items);
31
- }
32
- async registerFactory(identifier, factory) {
33
- if (this.factoryRegistry.has(identifier)) {
34
- await this.unregisterFactory(identifier);
35
- }
36
- this.factoryRegistry.set(identifier, factory);
37
- this.factoryToProcessors.set(identifier, new Map());
38
- for (const driveId of this.knownDriveIds) {
39
- const driveHeader = createMinimalDriveHeader(driveId);
40
- await this.createProcessorsForDrive(driveId, identifier, factory, driveHeader);
41
- }
42
- }
43
- async unregisterFactory(identifier) {
44
- const factoryProcessors = this.factoryToProcessors.get(identifier);
45
- if (!factoryProcessors)
46
- return;
47
- for (const [driveId, records] of factoryProcessors) {
48
- for (const record of records) {
49
- await this.safeDisconnect(record.processor);
50
- }
51
- const driveProcessors = this.processorsByDrive.get(driveId);
52
- if (driveProcessors) {
53
- const remaining = driveProcessors.filter((p) => !records.includes(p));
54
- if (remaining.length > 0) {
55
- this.processorsByDrive.set(driveId, remaining);
56
- }
57
- else {
58
- this.processorsByDrive.delete(driveId);
59
- }
60
- }
61
- }
62
- this.factoryToProcessors.delete(identifier);
63
- this.factoryRegistry.delete(identifier);
64
- }
65
- getFactoryIdentifiers() {
66
- return Array.from(this.factoryRegistry.keys());
67
- }
68
- getProcessorsForDrive(driveId) {
69
- return this.processorsByDrive.get(driveId) ?? [];
70
- }
71
- async detectAndRegisterNewDrives(operations) {
72
- for (const op of operations) {
73
- if (!isDriveCreation(op))
74
- continue;
75
- const driveId = op.context.documentId;
76
- if (this.knownDriveIds.has(driveId))
77
- continue;
78
- this.knownDriveIds.add(driveId);
79
- const driveHeader = extractDriveHeader(op);
80
- if (!driveHeader)
81
- continue;
82
- for (const [identifier, factory] of this.factoryRegistry) {
83
- await this.createProcessorsForDrive(driveId, identifier, factory, driveHeader);
84
- }
85
- }
86
- }
87
- async detectAndCleanupDeletedDrives(operations) {
88
- for (const op of operations) {
89
- if (!isDriveDeletion(op))
90
- continue;
91
- const driveId = extractDeletedDocumentId(op);
92
- if (!driveId || !this.knownDriveIds.has(driveId))
93
- continue;
94
- if (!this.isDeletedDocumentADrive(driveId))
95
- continue;
96
- await this.cleanupDriveProcessors(driveId);
97
- this.knownDriveIds.delete(driveId);
98
- }
99
- }
100
- isDeletedDocumentADrive(documentId) {
101
- return this.knownDriveIds.has(documentId);
102
- }
103
- async createProcessorsForDrive(driveId, identifier, factory, driveHeader) {
104
- let records = [];
105
- try {
106
- records = await factory(driveHeader);
107
- }
108
- catch (error) {
109
- console.error(`ProcessorManager: Factory '${identifier}' failed for drive '${driveId}':`, error);
110
- return;
111
- }
112
- if (records.length === 0)
113
- return;
114
- const factoryProcessors = this.factoryToProcessors.get(identifier);
115
- if (factoryProcessors) {
116
- factoryProcessors.set(driveId, records);
117
- }
118
- const existingDriveProcessors = this.processorsByDrive.get(driveId) ?? [];
119
- this.processorsByDrive.set(driveId, [
120
- ...existingDriveProcessors,
121
- ...records,
122
- ]);
123
- }
124
- async cleanupDriveProcessors(driveId) {
125
- const processors = this.processorsByDrive.get(driveId);
126
- if (!processors)
127
- return;
128
- for (const record of processors) {
129
- await this.safeDisconnect(record.processor);
130
- }
131
- this.processorsByDrive.delete(driveId);
132
- for (const factoryProcessors of this.factoryToProcessors.values()) {
133
- factoryProcessors.delete(driveId);
134
- }
135
- }
136
- async safeDisconnect(processor) {
137
- try {
138
- await processor.onDisconnect();
139
- }
140
- catch (error) {
141
- console.error("ProcessorManager: Error disconnecting processor:", error);
142
- }
143
- }
144
- async routeOperationsToProcessors(operations) {
145
- const processorOperations = new Map();
146
- for (const [, records] of this.processorsByDrive) {
147
- for (const { processor, filter } of records) {
148
- const matching = operations.filter((op) => matchesFilter(op, filter));
149
- if (matching.length === 0)
150
- continue;
151
- const existing = processorOperations.get(processor) ?? [];
152
- processorOperations.set(processor, [...existing, ...matching]);
153
- }
154
- }
155
- await Promise.all(Array.from(processorOperations.entries()).map(async ([processor, ops]) => {
156
- try {
157
- await processor.onOperations(ops);
158
- }
159
- catch (error) {
160
- console.error("ProcessorManager: Error in processor.onOperations:", error);
161
- }
162
- }));
163
- }
164
- }
165
- //# sourceMappingURL=processor-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-manager.js","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "@powerhousedao/shared/processors/relational/types";
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/processors/relational/types.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "@powerhousedao/shared/processors/relational/utils";
2
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/processors/relational/utils.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
@@ -1,59 +0,0 @@
1
- const DRIVE_DOCUMENT_TYPE = "powerhouse/document-drive";
2
- export function isDriveCreation(op) {
3
- return (op.operation.action.type === "CREATE_DOCUMENT" &&
4
- op.context.documentType === DRIVE_DOCUMENT_TYPE);
5
- }
6
- export function isDriveDeletion(op) {
7
- return op.operation.action.type === "DELETE_DOCUMENT";
8
- }
9
- export function extractDriveHeader(op) {
10
- if (!op.context.resultingState)
11
- return undefined;
12
- const state = JSON.parse(op.context.resultingState);
13
- return state.header;
14
- }
15
- export function extractDeletedDocumentId(op) {
16
- const input = op.operation.action.input;
17
- return input.documentId ?? op.context.documentId;
18
- }
19
- export function createMinimalDriveHeader(driveId) {
20
- return {
21
- id: driveId,
22
- documentType: DRIVE_DOCUMENT_TYPE,
23
- sig: {
24
- publicKey: {},
25
- nonce: "",
26
- },
27
- slug: "",
28
- name: "",
29
- branch: "main",
30
- revision: {},
31
- createdAtUtcIso: new Date().toISOString(),
32
- lastModifiedAtUtcIso: new Date().toISOString(),
33
- };
34
- }
35
- export function matchesFilter(op, filter) {
36
- if (filter.documentType && filter.documentType.length > 0) {
37
- if (!filter.documentType.includes(op.context.documentType)) {
38
- return false;
39
- }
40
- }
41
- if (filter.scope && filter.scope.length > 0) {
42
- if (!filter.scope.includes(op.context.scope)) {
43
- return false;
44
- }
45
- }
46
- if (filter.branch && filter.branch.length > 0) {
47
- if (!filter.branch.includes(op.context.branch)) {
48
- return false;
49
- }
50
- }
51
- if (filter.documentId && filter.documentId.length > 0) {
52
- const hasWildcard = filter.documentId.includes("*");
53
- if (!hasWildcard && !filter.documentId.includes(op.context.documentId)) {
54
- return false;
55
- }
56
- }
57
- return true;
58
- }
59
- //# sourceMappingURL=utils.js.map