@harperfast/harper 5.2.4 → 5.2.6

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 (72) hide show
  1. package/bin/restart.ts +48 -23
  2. package/bin/restartExitWatchdog.ts +99 -0
  3. package/bin/run.ts +16 -10
  4. package/components/status/crossThread.ts +69 -44
  5. package/components/status/types.ts +1 -0
  6. package/dist/bin/restart.js +39 -21
  7. package/dist/bin/restart.js.map +1 -1
  8. package/dist/bin/restartExitWatchdog.d.ts +5 -0
  9. package/dist/bin/restartExitWatchdog.js +100 -0
  10. package/dist/bin/restartExitWatchdog.js.map +1 -0
  11. package/dist/bin/run.d.ts +2 -0
  12. package/dist/bin/run.js +17 -10
  13. package/dist/bin/run.js.map +1 -1
  14. package/dist/components/status/crossThread.d.ts +1 -0
  15. package/dist/components/status/crossThread.js +57 -41
  16. package/dist/components/status/crossThread.js.map +1 -1
  17. package/dist/components/status/types.d.ts +1 -0
  18. package/dist/resources/DatabaseTransaction.d.ts +46 -1
  19. package/dist/resources/DatabaseTransaction.js +173 -9
  20. package/dist/resources/DatabaseTransaction.js.map +1 -1
  21. package/dist/resources/LMDBTransaction.d.ts +2 -0
  22. package/dist/resources/LMDBTransaction.js +7 -1
  23. package/dist/resources/LMDBTransaction.js.map +1 -1
  24. package/dist/resources/Resource.js +5 -4
  25. package/dist/resources/Resource.js.map +1 -1
  26. package/dist/resources/ResourceInterface.d.ts +20 -0
  27. package/dist/resources/ResourceInterface.js.map +1 -1
  28. package/dist/resources/Table.js +56 -9
  29. package/dist/resources/Table.js.map +1 -1
  30. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +11 -0
  31. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +153 -51
  32. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  33. package/dist/resources/transaction.js +4 -2
  34. package/dist/resources/transaction.js.map +1 -1
  35. package/dist/server/itc/serverHandlers.js +2 -1
  36. package/dist/server/itc/serverHandlers.js.map +1 -1
  37. package/dist/server/threads/manageThreads.d.ts +2 -0
  38. package/dist/server/threads/manageThreads.js +37 -5
  39. package/dist/server/threads/manageThreads.js.map +1 -1
  40. package/dist/utility/processManagement/processManagement.js +21 -3
  41. package/dist/utility/processManagement/processManagement.js.map +1 -1
  42. package/npm-shrinkwrap.json +2 -2
  43. package/package.json +1 -1
  44. package/resources/DESIGN.md +19 -18
  45. package/resources/DatabaseTransaction.ts +187 -17
  46. package/resources/LMDBTransaction.ts +7 -1
  47. package/resources/Resource.ts +6 -5
  48. package/resources/ResourceInterface.ts +20 -0
  49. package/resources/Table.ts +60 -8
  50. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +153 -54
  51. package/resources/transaction.ts +5 -3
  52. package/schema.graphql +8 -3
  53. package/server/DESIGN.md +6 -0
  54. package/server/itc/serverHandlers.js +2 -1
  55. package/server/threads/manageThreads.js +34 -5
  56. package/studio/web/assets/{Chat-BvOlYIhe.js → Chat-BNHY84-Z.js} +1 -1
  57. package/studio/web/assets/{FloatingChat-fCJiJCH2.js → FloatingChat-BbztUci0.js} +3 -3
  58. package/studio/web/assets/{apiToken-bKwPv0uN.js → apiToken-D0x_S8Wq.js} +1 -1
  59. package/studio/web/assets/{applications-BZ47njJ_.js → applications-BU83fSEG.js} +1 -1
  60. package/studio/web/assets/{index-DF1fSnXV.js → index-BQB9R8Ug.js} +4 -4
  61. package/studio/web/assets/{index.lazy-DWt8ubrr.js → index.lazy-CtErm5q7.js} +3 -3
  62. package/studio/web/assets/{notifications-B5ZBOni1.js → notifications-B8rDagJM.js} +1 -1
  63. package/studio/web/assets/{notifications-gVx0lA8H.js → notifications-CPwYKDDH.js} +1 -1
  64. package/studio/web/assets/{profile-D7g0x28A.js → profile-D0hB1xdm.js} +1 -1
  65. package/studio/web/assets/{regions-DRkhlkiD.js → regions-y_jxsBpN.js} +1 -1
  66. package/studio/web/assets/{setComponentFile-DQkkobG5.js → setComponentFile-DSHbURTI.js} +1 -1
  67. package/studio/web/assets/{setup-nf-EOheW.js → setup-J5SrM1Kp.js} +1 -1
  68. package/studio/web/assets/{status-B2tOM3RF.js → status-IoJkDzlx.js} +1 -1
  69. package/studio/web/assets/{swagger-ui-react-UktCouQ0.js → swagger-ui-react-BlgSS25O.js} +1 -1
  70. package/studio/web/assets/{useEntityRestURL-alqAn3dT.js → useEntityRestURL-qfahJnvr.js} +1 -1
  71. package/studio/web/index.html +1 -1
  72. package/utility/processManagement/processManagement.js +19 -3
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WATCHDOG_SCRIPT = exports.WATCHDOG_READY_TOKEN = void 0;
7
+ exports.armRestartExitWatchdog = armRestartExitWatchdog;
8
+ exports.waitForWatchdogReady = waitForWatchdogReady;
9
+ const node_child_process_1 = require("node:child_process");
10
+ const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
11
+ // Every way the script below can give up is a silent `exit 0` — an unreadable procfs (a sandbox that
12
+ // does not mount /proc) or a base image without `sleep`. Reporting the watchdog armed in exactly
13
+ // those environments would replace the operator's one signal that teardown is unbounded with a claim
14
+ // that it is not, so arming waits for the script to prove both facilities before it says so.
15
+ exports.WATCHDOG_READY_TOKEN = 'harper-restart-exit-watchdog-ready';
16
+ const WATCHDOG_READY_TIMEOUT_MS = 5000;
17
+ exports.WATCHDOG_SCRIPT = `
18
+ parent_pid=$1
19
+ delay_seconds=$2
20
+ [ "$parent_pid" -gt 1 ] || exit 0
21
+ command -v sleep > /dev/null 2>&1 || exit 0
22
+ # Shell PPID variables are snapshots; procfs reflects reparenting after Harper exits.
23
+ read -r _ _ _ current_parent _ < "/proc/$$/stat" || exit 0
24
+ [ "$current_parent" = "$parent_pid" ] || exit 0
25
+ echo "${exports.WATCHDOG_READY_TOKEN}"
26
+ sleep "$delay_seconds" || exit 0
27
+ read -r _ _ _ current_parent _ < "/proc/$$/stat" || exit 0
28
+ [ "$current_parent" = "$parent_pid" ] || exit 0
29
+ echo "harper: restart exit watchdog force-killing pid $parent_pid after $delay_seconds seconds" >&2
30
+ kill -KILL "$parent_pid"
31
+ `;
32
+ async function armRestartExitWatchdog(timeoutMs) {
33
+ if (process.platform !== 'linux') {
34
+ harper_logger_ts_1.default.warn('Restart exit watchdog is only available on Linux');
35
+ return false;
36
+ }
37
+ if (process.pid <= 1) {
38
+ harper_logger_ts_1.default.warn('Restart exit watchdog requires Harper to run below a container init process');
39
+ return false;
40
+ }
41
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
42
+ harper_logger_ts_1.default.warn('Restart exit watchdog requires a positive finite timeout');
43
+ return false;
44
+ }
45
+ try {
46
+ const timeoutSeconds = Math.max(1, Math.ceil(timeoutMs / 1000));
47
+ const watchdogPath = ['/usr/bin', '/bin', process.env.PATH].filter(Boolean).join(':');
48
+ const watchdog = (0, node_child_process_1.spawn)('/bin/sh', ['-c', exports.WATCHDOG_SCRIPT, 'harper-restart-exit-watchdog', String(process.pid), String(timeoutSeconds)], {
49
+ env: { PATH: watchdogPath },
50
+ stdio: ['ignore', 'pipe', 'inherit'],
51
+ windowsHide: true,
52
+ });
53
+ // Before the pid check: a spawn failure (EMFILE on the very wedged process this bounds) emits
54
+ // 'error' asynchronously, and an unhandled one becomes an uncaughtException mid-teardown.
55
+ watchdog.once('error', (error) => harper_logger_ts_1.default.warn('Restart exit watchdog failed', error));
56
+ if (watchdog.pid === undefined) {
57
+ harper_logger_ts_1.default.warn('Restart exit watchdog failed to start');
58
+ return false;
59
+ }
60
+ watchdog.unref();
61
+ const ready = await waitForWatchdogReady(watchdog);
62
+ // The token is the last thing the script writes to stdout; the force-kill diagnostic goes to the
63
+ // inherited stderr so it survives a wedged Harper event loop.
64
+ watchdog.stdout.destroy();
65
+ if (!ready) {
66
+ watchdog.kill('SIGKILL');
67
+ harper_logger_ts_1.default.warn('Restart exit watchdog could not confirm it was armed');
68
+ return false;
69
+ }
70
+ harper_logger_ts_1.default.info(`Restart exit watchdog armed for ${timeoutSeconds} seconds`);
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ harper_logger_ts_1.default.warn('Restart exit watchdog failed to start', error);
75
+ return false;
76
+ }
77
+ }
78
+ function waitForWatchdogReady(watchdog, timeoutMs = WATCHDOG_READY_TIMEOUT_MS) {
79
+ return new Promise((resolve) => {
80
+ let settled = false;
81
+ const settle = (value) => {
82
+ if (settled)
83
+ return;
84
+ settled = true;
85
+ clearTimeout(readyTimer);
86
+ resolve(value);
87
+ };
88
+ const readyTimer = setTimeout(() => settle(false), timeoutMs);
89
+ readyTimer.unref();
90
+ let output = '';
91
+ watchdog.stdout?.on('data', (chunk) => {
92
+ output += chunk;
93
+ if (output.includes(exports.WATCHDOG_READY_TOKEN))
94
+ settle(true);
95
+ });
96
+ watchdog.once('error', () => settle(false));
97
+ watchdog.once('exit', () => settle(false));
98
+ });
99
+ }
100
+ //# sourceMappingURL=restartExitWatchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restartExitWatchdog.js","sourceRoot":"","sources":["../../bin/restartExitWatchdog.ts"],"names":[],"mappings":"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"}
package/dist/bin/run.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import './restart.ts';
2
+ declare function addExitListeners(): void;
2
3
  /**
3
4
  * Starts Harper DB threads
4
5
  * If the hdbBootProps file is not found, it is assumed an install needs to be performed.
@@ -14,6 +15,7 @@ declare function main(calledByInstall?: boolean): Promise<void>;
14
15
  * @returns {Promise<void>} // ha ha, it doesn't!
15
16
  */
16
17
  declare function launch(exit?: boolean): Promise<void>;
18
+ export { addExitListeners };
17
19
  export { launch };
18
20
  export { main };
19
21
  export { startupLog };
package/dist/bin/run.js CHANGED
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.addExitListeners = addExitListeners;
39
40
  exports.launch = launch;
40
41
  exports.main = main;
41
42
  exports.startupLog = startupLog;
@@ -61,6 +62,7 @@ const copyDb_ts_1 = require("./copyDb.js");
61
62
  const minimist_1 = __importDefault(require("minimist"));
62
63
  const keys = __importStar(require("../security/keys.js"));
63
64
  const socketRouter_ts_1 = require("../server/threads/socketRouter.js");
65
+ const manageThreads_js_1 = require("../server/threads/manageThreads.js");
64
66
  const hdbInfoController = __importStar(require("../dataLayer/hdbInfoController.js"));
65
67
  const databases_ts_1 = require("../resources/databases.js");
66
68
  const nodeName_ts_1 = require("../server/nodeName.js");
@@ -84,21 +86,26 @@ function addUnhandleRejectionListener() {
84
86
  function addExitListeners() {
85
87
  if (!skipExitListeners) {
86
88
  const removeHdbPid = () => {
87
- fs.removeSync(path.join(env.get(terms.CONFIG_PARAMS.ROOTPATH), terms.HDB_PID_FILE));
88
- process.exit(0);
89
+ try {
90
+ fs.removeSync(path.join(env.get(terms.CONFIG_PARAMS.ROOTPATH), terms.HDB_PID_FILE));
91
+ }
92
+ catch (error) {
93
+ harper_logger_ts_1.default.error('Unable to remove the Harper pid file during shutdown', error);
94
+ }
89
95
  };
96
+ // Forward defence, not load-bearing today: nothing below can reach a worker start.
90
97
  process.on('exit', () => {
98
+ (0, manageThreads_js_1.beginProcessShutdown)();
91
99
  removeHdbPid();
92
100
  });
93
- process.on('SIGINT', () => {
94
- removeHdbPid();
95
- });
96
- process.on('SIGQUIT', () => {
101
+ const exit = () => {
102
+ (0, manageThreads_js_1.beginProcessShutdown)();
97
103
  removeHdbPid();
98
- });
99
- process.on('SIGTERM', () => {
100
- removeHdbPid();
101
- });
104
+ process.exit(0);
105
+ };
106
+ process.on('SIGINT', exit);
107
+ process.on('SIGQUIT', exit);
108
+ process.on('SIGTERM', exit);
102
109
  }
103
110
  }
104
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../bin/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../bin/run.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare class CrossThreadStatusCollector {
36
36
  * Returns a Map with component names namespaced by worker index
37
37
  */
38
38
  collect(registry: ComponentStatusRegistry): Promise<Map<string, ComponentStatusSummary>>;
39
+ private setThreadStatus;
39
40
  /**
40
41
  * Get status from local thread only (fallback when cross-thread collection fails)
41
42
  */
@@ -14,6 +14,19 @@ const logger_ts_1 = require("../../utility/logging/logger.js");
14
14
  const types_ts_1 = require("./types.js");
15
15
  const errors_ts_1 = require("./errors.js");
16
16
  const logger = (0, logger_ts_1.loggerWithTag)('componentStatus.crossThread');
17
+ const THREAD_IDENTITY_SEPARATOR = '#thread-';
18
+ const STATUS_PRIORITY = [
19
+ types_ts_1.COMPONENT_STATUS_LEVELS.ERROR,
20
+ types_ts_1.COMPONENT_STATUS_LEVELS.WARNING,
21
+ types_ts_1.COMPONENT_STATUS_LEVELS.LOADING,
22
+ types_ts_1.COMPONENT_STATUS_LEVELS.UNKNOWN,
23
+ types_ts_1.COMPONENT_STATUS_LEVELS.HEALTHY,
24
+ ];
25
+ function stripThreadIdentity(statusKey) {
26
+ const threadLabelStart = statusKey.lastIndexOf('@') + 1;
27
+ const identityIndex = statusKey.indexOf(THREAD_IDENTITY_SEPARATOR, threadLabelStart);
28
+ return identityIndex === -1 ? statusKey : statusKey.substring(0, identityIndex);
29
+ }
17
30
  /**
18
31
  * CrossThreadStatusCollector Class
19
32
  * Handles collection of component status from all worker threads
@@ -41,8 +54,9 @@ class CrossThreadStatusCollector {
41
54
  logger.trace?.('Received component status response from %s, with requestId: %d', workerLabel, message.requestId);
42
55
  // Find the pending request by requestId
43
56
  const pendingResponses = this.awaitingResponses.get(message.requestId);
44
- if (pendingResponses) {
45
- pendingResponses.push({
57
+ if (pendingResponses && typeof message.threadId === 'number') {
58
+ pendingResponses.set(message.threadId, {
59
+ threadId: message.threadId,
46
60
  workerIndex: message.workerIndex,
47
61
  isMainThread: message.isMainThread || false,
48
62
  statuses: message.statuses || [],
@@ -94,37 +108,36 @@ class CrossThreadStatusCollector {
94
108
  this.scheduleCleanup();
95
109
  // Generate unique request ID and set up response collection
96
110
  const requestId = this.nextRequestId++;
97
- const responses = [];
111
+ const responses = new Map();
98
112
  this.awaitingResponses.set(requestId, responses);
99
- // Calculate expected number of responses
100
- // Total threads = main thread (1) + worker threads (workerCount)
101
- const workerCount = (0, manageThreads_js_1.getWorkerCount)() || 1;
102
- const totalThreads = workerCount + 1;
103
- // We expect responses from all threads except ourselves
104
- const expectedResponses = totalThreads - 1;
113
+ const expectedThreadIds = (0, manageThreads_js_1.getEligibleBroadcastRecipientThreadIds)();
105
114
  // Set up response collection with timeout
106
115
  const responsePromise = new Promise((resolve, reject) => {
107
116
  let resolved = false;
108
117
  // Check if we've received all expected responses
109
118
  const checkComplete = () => {
110
119
  const collectedResponses = this.awaitingResponses.get(requestId);
111
- if (collectedResponses && collectedResponses.length >= expectedResponses && !resolved) {
112
- resolved = true;
113
- cleanup();
114
- logger.trace?.(`Collected all ${collectedResponses.length} expected responses for request ${requestId}`);
115
- resolve(collectedResponses);
120
+ if (!collectedResponses || resolved)
121
+ return;
122
+ for (const threadId of expectedThreadIds) {
123
+ if (!collectedResponses.has(threadId))
124
+ return;
116
125
  }
126
+ resolved = true;
127
+ cleanup();
128
+ logger.trace?.(`Collected all ${collectedResponses.size} expected responses for request ${requestId}`);
129
+ resolve([...collectedResponses.values()]);
117
130
  };
118
131
  // Set up timeout as fallback
119
132
  const timeoutHandle = setTimeout(() => {
120
133
  if (!resolved) {
121
134
  resolved = true;
122
- const collectedResponses = this.awaitingResponses.get(requestId) || [];
135
+ const collectedResponses = this.awaitingResponses.get(requestId) || new Map();
123
136
  this.awaitingResponses.delete(requestId);
124
137
  // Log timeout with diagnostic info
125
- logger.debug?.(`Collection timeout for request ${requestId}: collected ${collectedResponses.length}/${expectedResponses} responses`);
138
+ logger.debug?.(`Collection timeout for request ${requestId}: collected ${collectedResponses.size}/${expectedThreadIds.size} responses`);
126
139
  // Resolve with whatever we've collected so far
127
- resolve(collectedResponses);
140
+ resolve([...collectedResponses.values()]);
128
141
  }
129
142
  }, this.timeout);
130
143
  // Ensure cleanup happens no matter what
@@ -161,19 +174,13 @@ class CrossThreadStatusCollector {
161
174
  const localWorkerIndex = (0, manageThreads_js_1.getWorkerIndex)();
162
175
  const localThreadLabel = localWorkerIndex === undefined ? 'main' : `worker-${localWorkerIndex}`;
163
176
  for (const [name, status] of localStatuses) {
164
- aggregatedStatuses.set(`${name}@${localThreadLabel}`, {
165
- ...status,
166
- workerIndex: localWorkerIndex,
167
- });
177
+ this.setThreadStatus(aggregatedStatuses, name, localThreadLabel, status, localWorkerIndex);
168
178
  }
169
179
  // Add responses from other threads
170
180
  for (const response of collectedResponses) {
181
+ const threadLabel = response.isMainThread ? 'main' : `worker-${response.workerIndex}`;
171
182
  for (const [name, status] of response.statuses) {
172
- const threadLabel = response.isMainThread ? 'main' : `worker-${response.workerIndex}`;
173
- aggregatedStatuses.set(`${name}@${threadLabel}`, {
174
- ...status,
175
- workerIndex: response.workerIndex,
176
- });
183
+ this.setThreadStatus(aggregatedStatuses, name, threadLabel, status, response.workerIndex, response.threadId);
177
184
  }
178
185
  }
179
186
  logger.debug?.(`Collected component status from ${collectedResponses.length + 1} threads (including local)`);
@@ -192,6 +199,19 @@ class CrossThreadStatusCollector {
192
199
  return this.getLocalStatusOnly(registry);
193
200
  }
194
201
  }
202
+ setThreadStatus(statuses, name, threadLabel, status, workerIndex, threadId) {
203
+ const baseKey = `${name}@${threadLabel}`;
204
+ let key = baseKey;
205
+ if (statuses.has(baseKey)) {
206
+ if (threadId === undefined)
207
+ throw new Error(`Physical thread identity is required for duplicate ${baseKey}`);
208
+ key += `${THREAD_IDENTITY_SEPARATOR}${threadId}`;
209
+ }
210
+ statuses.set(key, {
211
+ ...status,
212
+ workerIndex,
213
+ });
214
+ }
195
215
  /**
196
216
  * Get status from local thread only (fallback when cross-thread collection fails)
197
217
  */
@@ -201,10 +221,7 @@ class CrossThreadStatusCollector {
201
221
  const localWorkerIndex = (0, manageThreads_js_1.getWorkerIndex)();
202
222
  const localThreadLabel = localWorkerIndex === undefined ? 'main' : `worker-${localWorkerIndex}`;
203
223
  for (const [name, status] of localStatuses) {
204
- fallbackStatuses.set(`${name}@${localThreadLabel}`, {
205
- ...status,
206
- workerIndex: localWorkerIndex,
207
- });
224
+ this.setThreadStatus(fallbackStatuses, name, localThreadLabel, status, localWorkerIndex);
208
225
  }
209
226
  return fallbackStatuses;
210
227
  }
@@ -266,7 +283,8 @@ class StatusAggregator {
266
283
  // Analyze all instances of this component
267
284
  for (const [nameWithThread, status] of statusEntries) {
268
285
  const atIndex = nameWithThread.lastIndexOf('@');
269
- const threadLabel = atIndex !== -1 ? nameWithThread.substring(atIndex + 1) : '';
286
+ const threadLabelWithIdentity = atIndex !== -1 ? nameWithThread.substring(atIndex + 1) : '';
287
+ const threadLabel = stripThreadIdentity(threadLabelWithIdentity);
270
288
  // Convert lastChecked to ms since epoch
271
289
  const checkTime = status.lastChecked instanceof Date ? status.lastChecked.getTime() : new Date(status.lastChecked).getTime();
272
290
  // Store the last checked time based on thread label
@@ -276,7 +294,7 @@ class StatusAggregator {
276
294
  else if (threadLabel && threadLabel.startsWith('worker-')) {
277
295
  const workerIndex = parseInt(threadLabel.substring(7)); // 'worker-'.length = 7
278
296
  if (!isNaN(workerIndex)) {
279
- lastCheckedTimes.workers[workerIndex] = checkTime;
297
+ lastCheckedTimes.workers[workerIndex] = Math.max(lastCheckedTimes.workers[workerIndex] ?? 0, checkTime);
280
298
  }
281
299
  }
282
300
  // Track status counts
@@ -301,7 +319,12 @@ class StatusAggregator {
301
319
  // There are inconsistencies - populate abnormalities
302
320
  for (const [nameWithThread, status] of statusEntries) {
303
321
  if (status.status !== determinedStatus) {
304
- abnormalities.set(nameWithThread, {
322
+ const publicNameWithThread = stripThreadIdentity(nameWithThread);
323
+ const existing = abnormalities.get(publicNameWithThread);
324
+ if (existing && STATUS_PRIORITY.indexOf(existing.status) <= STATUS_PRIORITY.indexOf(status.status)) {
325
+ continue;
326
+ }
327
+ abnormalities.set(publicNameWithThread, {
305
328
  workerIndex: status.workerIndex !== undefined ? status.workerIndex : -1,
306
329
  status: status.status,
307
330
  message: status.message,
@@ -328,14 +351,7 @@ class StatusAggregator {
328
351
  * Determine overall status based on priority
329
352
  */
330
353
  static determineOverallStatus(statusCounts) {
331
- const statusPriority = [
332
- types_ts_1.COMPONENT_STATUS_LEVELS.ERROR,
333
- types_ts_1.COMPONENT_STATUS_LEVELS.WARNING,
334
- types_ts_1.COMPONENT_STATUS_LEVELS.LOADING,
335
- types_ts_1.COMPONENT_STATUS_LEVELS.UNKNOWN,
336
- types_ts_1.COMPONENT_STATUS_LEVELS.HEALTHY,
337
- ];
338
- for (const priorityStatus of statusPriority) {
354
+ for (const priorityStatus of STATUS_PRIORITY) {
339
355
  if (statusCounts.has(priorityStatus) && statusCounts.get(priorityStatus) > 0) {
340
356
  return priorityStatus;
341
357
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crossThread.js","sourceRoot":"","sources":["../../../components/status/crossThread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossThread.js","sourceRoot":"","sources":["../../../components/status/crossThread.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ export interface AggregatedComponentStatus {
69
69
  * Component status information from a worker thread
70
70
  */
71
71
  export interface WorkerComponentStatuses {
72
+ threadId?: number;
72
73
  workerIndex: number | undefined;
73
74
  isMainThread: boolean;
74
75
  statuses: Array<[string, ComponentStatusSummary]>;
@@ -68,7 +68,7 @@ export type TransactionWrite = {
68
68
  before?: () => void | Promise<void>;
69
69
  beforeIntermediate?: () => void | Promise<void>;
70
70
  commit?: (txnTime: number, existingEntry: Partial<Entry>, retry: boolean, transaction: any) => MaybePromise<void>;
71
- validate?: (txnTime: number) => void;
71
+ validate?: (txnTime: number, committedBy: DatabaseTransaction) => void;
72
72
  fullUpdate?: boolean;
73
73
  saved?: boolean;
74
74
  deferSave?: boolean;
@@ -80,6 +80,7 @@ export type TransactionWrite = {
80
80
  savedBlobs?: Blob[];
81
81
  skipped?: boolean;
82
82
  appendedAuditEntry?: boolean;
83
+ stagedIn?: DatabaseTransaction;
83
84
  priorWrite?: TransactionWrite;
84
85
  chainsStagedState?: boolean;
85
86
  pendingPriorWrite?: TransactionWrite | null;
@@ -113,6 +114,9 @@ type RocksTransactionWithRetry = RocksTransaction & {
113
114
  };
114
115
  export declare class DatabaseTransaction implements Transaction {
115
116
  #private;
117
+ constructor(options?: {
118
+ scopeOwned?: boolean;
119
+ });
116
120
  writes: TransactionWrite[];
117
121
  writesByKey?: Map<any, Map<unknown, TransactionWrite>>;
118
122
  completions: Promise<void>[];
@@ -125,6 +129,7 @@ export declare class DatabaseTransaction implements Transaction {
125
129
  writeTimeout: number;
126
130
  timeoutBudget: number;
127
131
  saveCommits: boolean;
132
+ stagesWriteOnSave: boolean;
128
133
  validated: number;
129
134
  timestamp: number;
130
135
  retries: number;
@@ -146,6 +151,7 @@ export declare class DatabaseTransaction implements Transaction {
146
151
  isReplay?: boolean;
147
152
  timedOut?: boolean;
148
153
  writesAbandoned?: boolean;
154
+ snapshotFree: boolean;
149
155
  getReadTxn(disableSnapshot?: boolean): ReadTransaction;
150
156
  private attachOwnedTransaction;
151
157
  /**
@@ -186,6 +192,11 @@ export declare class DatabaseTransaction implements Transaction {
186
192
  * (see priorStagedWrite). Called by both engines' addWrite.
187
193
  */
188
194
  linkWrite(operation: TransactionWrite): void;
195
+ /**
196
+ * Drop a staged write from this transaction, and from its per-key chain, so the transaction taking it
197
+ * over becomes its only owner (Table.ts's #saveOperation).
198
+ */
199
+ detachWrite(operation: TransactionWrite): void;
189
200
  /**
190
201
  * Discard the staged write set (committed or aborted); the per-key chain must go with it so a
191
202
  * reused transaction never bases a write on a previous batch's staged state.
@@ -245,6 +256,30 @@ export declare class DatabaseTransaction implements Transaction {
245
256
  * Resolves with information on the timestamp and success of the commit
246
257
  */
247
258
  commit(options?: CommitOptions): MaybePromise<CommitResolution>;
259
+ /**
260
+ * A successful commit that is NOT the scope's final one leaves the scope still running and still
261
+ * responsible for a commit. Rotate to a fresh OPEN generation so the rest of the scope's writes
262
+ * stage into it and are committed — or rolled back — as one unit, instead of each committing itself
263
+ * the moment it is made. Every dispatch path keeps its plain `open === OPEN` check; CLOSED never
264
+ * gains a second meaning.
265
+ *
266
+ * Deliberately not rotated when: the scope is finished (`doneWriting`), nothing owns this instance,
267
+ * a timeout poisoned it, or a commit failed — a failed or uncertain commit must never be followed by
268
+ * a resumed segment that can commit on its own. Nor when read iterators still hold the native
269
+ * handle: that handle belongs to them until they drain, so there is nothing to rotate into and those
270
+ * writes keep today's immediate-commit path.
271
+ */
272
+ /**
273
+ * Finish a commit: the chain goes with it, then the scope may rotate. A link left attached and CLOSED
274
+ * would be reused by txnForContext for the next write to that database and commit itself, surviving a
275
+ * rollback of the rotated head — the cross-store leftover this rotation exists to prevent. Every
276
+ * commit path must run this, and none may do one half without the other.
277
+ */
278
+ /** Both scope flags leave together, so no exit can clear one and keep the other. */
279
+ private endScopeOwnership;
280
+ private completeMidScopeCommit;
281
+ /** See completeMidScopeCommit, which is the only caller and carries the reasoning. */
282
+ private rotateAfterMidScopeCommit;
248
283
  abort(): void;
249
284
  /**
250
285
  * Give up on a chain of linked transactions after exhausting conflict retries: poison every link
@@ -304,6 +339,16 @@ export declare const RELEASED_TRANSACTION: DatabaseTransaction;
304
339
  * on the one instance every released context shares.
305
340
  */
306
341
  export declare function isReleasedTransaction(value: unknown): boolean;
342
+ /**
343
+ * Whether this transaction can be joined as the atomic scope resources/transaction.ts promises. OPEN is
344
+ * not sufficient: an ImmediateTransaction commits every write as it is made, so a caller that joined one
345
+ * would get per-write autocommit with no final commit or abort to roll back to. txnForContext installs
346
+ * one in a context slot that is empty or holds the released placeholder, where it reports OPEN with
347
+ * nothing owning a commit for it (#2292). Ownership itself is deliberately not the test — a context
348
+ * pre-seeded with an externally driven DatabaseTransaction (replayLogs.ts) still owns the writes it is
349
+ * given, and its own commit/abort still governs them.
350
+ */
351
+ export declare function isJoinableScope(transaction: DatabaseTransaction | null | undefined): boolean;
307
352
  /**
308
353
  * Test seam: re-arms the once-per-process replay warning. The whole unit suite shares one process,
309
354
  * so whichever test first drives a commit under open iterators consumes the warning for every test