@spooky-sync/core 0.0.1-canary.170 → 0.0.1-canary.171

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.
package/dist/index.js CHANGED
@@ -6729,8 +6729,8 @@ function selfAllowlistedVariant(flag, userId) {
6729
6729
 
6730
6730
  //#endregion
6731
6731
  //#region src/modules/devtools/index.ts
6732
- const CORE_VERSION = "0.0.1-canary.170";
6733
- const WASM_VERSION = "0.0.1-canary.170";
6732
+ const CORE_VERSION = "0.0.1-canary.171";
6733
+ const WASM_VERSION = "0.0.1-canary.171";
6734
6734
  const SURREAL_VERSION = "3.0.3";
6735
6735
  var DevToolsService = class DevToolsService {
6736
6736
  eventsHistory = [];
@@ -11160,7 +11160,7 @@ var Sp00kyClient = class {
11160
11160
  return new TabsCoordinator({
11161
11161
  tabId,
11162
11162
  fingerprint: computeTabsFingerprint({
11163
- coreVersion: "0.0.1-canary.170",
11163
+ coreVersion: "0.0.1-canary.171",
11164
11164
  schemaHash: hash53(this.config.schemaSurql),
11165
11165
  endpoint: this.config.database.endpoint ?? "",
11166
11166
  namespace: this.config.database.namespace,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spooky-sync/core",
3
- "version": "0.0.1-canary.170",
3
+ "version": "0.0.1-canary.171",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -60,8 +60,8 @@
60
60
  }
61
61
  },
62
62
  "dependencies": {
63
- "@spooky-sync/query-builder": "0.0.1-canary.170",
64
- "@spooky-sync/ssp-wasm": "0.0.1-canary.170",
63
+ "@spooky-sync/query-builder": "0.0.1-canary.171",
64
+ "@spooky-sync/ssp-wasm": "0.0.1-canary.171",
65
65
  "@sqlite.org/sqlite-wasm": "3.53.0-build1",
66
66
  "@surrealdb/wasm": "^3.0.3",
67
67
  "fast-json-patch": "^3.1.1",
@@ -16,6 +16,30 @@ export const UNAVAILABLE = 'unavailable';
16
16
  * backend). Carries far more than versions — status, uptime, ip, views — so the
17
17
  * DevTools can render the whole stack. Extra fields are preserved verbatim.
18
18
  */
19
+ /** One end-to-end sync-pipeline probe cycle recorded by the scheduler. */
20
+ export interface HeartbeatSample {
21
+ ts: number;
22
+ /** `null` for a failed cycle. */
23
+ ms: number | null;
24
+ ok: boolean;
25
+ }
26
+
27
+ /**
28
+ * E2E heartbeat state, reported on the scheduler entity only. The scheduler
29
+ * times a probe row's full round trip (DB event → ingest → broadcast → SSP
30
+ * circuit step); `samples` is its rolling window of recent cycles, which the
31
+ * DevTools sparkline renders.
32
+ */
33
+ export interface HeartbeatInfo {
34
+ enabled: boolean;
35
+ stale: boolean;
36
+ last_e2e_ms: number | null;
37
+ last_ok_epoch_ms: number | null;
38
+ consecutive_failures: number;
39
+ interval_secs: number;
40
+ samples?: HeartbeatSample[];
41
+ }
42
+
19
43
  export interface BackendEntity {
20
44
  entity: string;
21
45
  id?: string;
@@ -25,6 +49,8 @@ export interface BackendEntity {
25
49
  surrealdb_version?: string;
26
50
  uptime_seconds?: number;
27
51
  views?: number;
52
+ /** Scheduler entity only. */
53
+ heartbeat?: HeartbeatInfo;
28
54
  [key: string]: unknown;
29
55
  }
30
56