@rocicorp/zero 0.20.2025050400 → 0.20.2025050600

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 (140) hide show
  1. package/out/analyze-query/src/bin-analyze.js +10 -3
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/{chunk-KOXC55U7.js → chunk-EBZYAQDK.js} +14 -5
  4. package/out/chunk-EBZYAQDK.js.map +7 -0
  5. package/out/{chunk-54ZZCBOP.js → chunk-N44AEZOH.js} +2 -2
  6. package/out/{chunk-IFAC3PDK.js → chunk-VA2YVVTK.js} +58 -9
  7. package/out/{chunk-IFAC3PDK.js.map → chunk-VA2YVVTK.js.map} +2 -2
  8. package/out/{inspector-Z55GQ5JV.js → inspector-GCX7QH7K.js} +3 -3
  9. package/out/react.js +1 -1
  10. package/out/solid.js +3 -3
  11. package/out/z2s/src/compiler.d.ts.map +1 -1
  12. package/out/z2s/src/compiler.js +5 -1
  13. package/out/z2s/src/compiler.js.map +1 -1
  14. package/out/zero-cache/src/config/network.d.ts +5 -0
  15. package/out/zero-cache/src/config/network.d.ts.map +1 -0
  16. package/out/zero-cache/src/config/network.js +47 -0
  17. package/out/zero-cache/src/config/network.js.map +1 -0
  18. package/out/zero-cache/src/config/normalize.d.ts +29 -0
  19. package/out/zero-cache/src/config/normalize.d.ts.map +1 -0
  20. package/out/zero-cache/src/config/normalize.js +73 -0
  21. package/out/zero-cache/src/config/normalize.js.map +1 -0
  22. package/out/zero-cache/src/config/zero-config.d.ts +262 -99
  23. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  24. package/out/zero-cache/src/config/zero-config.js +64 -32
  25. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  26. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  27. package/out/zero-cache/src/server/change-streamer.js +19 -4
  28. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  29. package/out/zero-cache/src/server/main.d.ts +1 -1
  30. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  31. package/out/zero-cache/src/server/main.js +14 -26
  32. package/out/zero-cache/src/server/main.js.map +1 -1
  33. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  34. package/out/zero-cache/src/server/replicator.js +15 -4
  35. package/out/zero-cache/src/server/replicator.js.map +1 -1
  36. package/out/zero-cache/src/server/runner/run-worker.d.ts +7 -0
  37. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  38. package/out/zero-cache/src/server/runner/run-worker.js +34 -73
  39. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  40. package/out/zero-cache/src/server/runner/runtime.d.ts.map +1 -1
  41. package/out/zero-cache/src/server/runner/runtime.js +12 -1
  42. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  43. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts +2 -9
  44. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  45. package/out/zero-cache/src/server/runner/zero-dispatcher.js +9 -46
  46. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  47. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  48. package/out/zero-cache/src/server/syncer.js +4 -2
  49. package/out/zero-cache/src/server/syncer.js.map +1 -1
  50. package/out/zero-cache/src/server/worker-dispatcher.d.ts +16 -0
  51. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +1 -0
  52. package/out/zero-cache/src/server/worker-dispatcher.js +99 -0
  53. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -0
  54. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/change-source/pg/change-source.js +12 -6
  56. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  57. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +6 -3
  58. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +31 -16
  60. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  61. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  62. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -15
  64. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  65. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/change-streamer/schema/init.js +8 -0
  67. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  68. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +2 -1
  69. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -13
  71. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  72. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  73. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  74. package/out/zero-cache/src/services/change-streamer/storer.js +6 -2
  75. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  76. package/out/zero-cache/src/services/http-service.d.ts +5 -2
  77. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  78. package/out/zero-cache/src/services/http-service.js +27 -11
  79. package/out/zero-cache/src/services/http-service.js.map +1 -1
  80. package/out/zero-cache/src/services/statz.d.ts +1 -1
  81. package/out/zero-cache/src/services/statz.d.ts.map +1 -1
  82. package/out/zero-cache/src/services/statz.js +6 -7
  83. package/out/zero-cache/src/services/statz.js.map +1 -1
  84. package/out/zero-cache/src/types/error-for-client.d.ts +1 -1
  85. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  86. package/out/zero-cache/src/types/pg.js +23 -21
  87. package/out/zero-cache/src/types/pg.js.map +1 -1
  88. package/out/zero-cache/src/{services/dispatcher → types}/websocket-handoff.d.ts +18 -2
  89. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -0
  90. package/out/zero-cache/src/{services/dispatcher → types}/websocket-handoff.js +14 -6
  91. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -0
  92. package/out/zero-cache/src/{services/dispatcher → workers}/connect-params.d.ts +1 -1
  93. package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -0
  94. package/out/zero-cache/src/{services/dispatcher → workers}/connect-params.js +3 -3
  95. package/out/zero-cache/src/workers/connect-params.js.map +1 -0
  96. package/out/zero-cache/src/workers/connection.d.ts +1 -1
  97. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  98. package/out/zero-cache/src/workers/connection.js +8 -3
  99. package/out/zero-cache/src/workers/connection.js.map +1 -1
  100. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +1 -1
  101. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  102. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  103. package/out/zero-cache/src/workers/syncer.js +1 -1
  104. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  105. package/out/zero-protocol/src/ast.d.ts +2 -2
  106. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  107. package/out/zero-protocol/src/ast.js +3 -1
  108. package/out/zero-protocol/src/ast.js.map +1 -1
  109. package/out/zero.js +3 -3
  110. package/out/zql/src/ivm/constraint.d.ts +24 -0
  111. package/out/zql/src/ivm/constraint.d.ts.map +1 -1
  112. package/out/zql/src/ivm/constraint.js +65 -0
  113. package/out/zql/src/ivm/constraint.js.map +1 -1
  114. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  115. package/out/zql/src/ivm/memory-source.js +10 -5
  116. package/out/zql/src/ivm/memory-source.js.map +1 -1
  117. package/out/zql/src/query/query-impl.d.ts +1 -1
  118. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  119. package/out/zql/src/query/query-impl.js +5 -3
  120. package/out/zql/src/query/query-impl.js.map +1 -1
  121. package/package.json +1 -1
  122. package/out/chunk-KOXC55U7.js.map +0 -7
  123. package/out/zero-cache/src/server/runner/config.d.ts +0 -368
  124. package/out/zero-cache/src/server/runner/config.d.ts.map +0 -1
  125. package/out/zero-cache/src/server/runner/config.js +0 -103
  126. package/out/zero-cache/src/server/runner/config.js.map +0 -1
  127. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +0 -1
  128. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +0 -1
  129. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +0 -15
  130. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +0 -1
  131. package/out/zero-cache/src/services/dispatcher/dispatcher.js +0 -64
  132. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +0 -1
  133. package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +0 -1
  134. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +0 -1
  135. package/out/zero-cache/src/types/timeout.d.ts +0 -11
  136. package/out/zero-cache/src/types/timeout.d.ts.map +0 -1
  137. package/out/zero-cache/src/types/timeout.js +0 -23
  138. package/out/zero-cache/src/types/timeout.js.map +0 -1
  139. /package/out/{chunk-54ZZCBOP.js.map → chunk-N44AEZOH.js.map} +0 -0
  140. /package/out/{inspector-Z55GQ5JV.js.map → inspector-GCX7QH7K.js.map} +0 -0
@@ -10,13 +10,13 @@ function schema(shard) {
10
10
  }
11
11
  export const PG_SCHEMA = 'cdc';
12
12
  function createSchema(shard) {
13
- return `CREATE SCHEMA IF NOT EXISTS ${schema(shard)};`;
13
+ return /*sql*/ `CREATE SCHEMA IF NOT EXISTS ${schema(shard)};`;
14
14
  }
15
15
  function createChangeLogTable(shard) {
16
16
  // Note: The "change" column used to be JSONB, but that was problematic in that
17
17
  // it does not handle the NULL unicode character.
18
18
  // https://vladimir.varank.in/notes/2021/01/you-dont-insert-unicode-null-character-as-postgres-jsonb/
19
- return `
19
+ return /*sql*/ `
20
20
  CREATE TABLE ${schema(shard)}."changeLog" (
21
21
  watermark TEXT,
22
22
  pos INT8,
@@ -27,16 +27,22 @@ function createChangeLogTable(shard) {
27
27
  `;
28
28
  }
29
29
  export function createReplicationStateTable(shard) {
30
- return `
30
+ return /*sql*/ `
31
31
  CREATE TABLE ${schema(shard)}."replicationState" (
32
32
  "lastWatermark" TEXT NOT NULL,
33
33
  "owner" TEXT,
34
+ "ownerAddress" TEXT,
34
35
  "lock" INTEGER PRIMARY KEY DEFAULT 1 CHECK (lock=1)
35
36
  );
36
37
  `;
37
38
  }
39
+ export async function discoverChangeStreamerAddress(shard, sql) {
40
+ const result = await sql `
41
+ SELECT "ownerAddress" FROM ${sql(cdcSchema(shard))}."replicationState"`;
42
+ return result[0].ownerAddress;
43
+ }
38
44
  function createReplicationConfigTable(shard) {
39
- return `
45
+ return /*sql*/ `
40
46
  CREATE TABLE ${schema(shard)}."replicationConfig" (
41
47
  "replicaVersion" TEXT NOT NULL,
42
48
  "publications" TEXT[] NOT NULL,
@@ -55,10 +61,10 @@ export async function setupCDCTables(lc, db, shard) {
55
61
  lc.info?.(`Setting up CDC tables`);
56
62
  await db.unsafe(createTables(shard));
57
63
  }
58
- export async function markResetRequired(db, shard) {
64
+ export async function markResetRequired(sql, shard) {
59
65
  const schema = cdcSchema(shard);
60
- await db `
61
- UPDATE ${db(schema)}."replicationConfig"
66
+ await sql `
67
+ UPDATE ${sql(schema)}."replicationConfig"
62
68
  SET "resetRequired" = true`;
63
69
  }
64
70
  export async function ensureReplicationConfig(lc, db, subscriptionState, shard, autoReset) {
@@ -68,11 +74,11 @@ export async function ensureReplicationConfig(lc, db, subscriptionState, shard,
68
74
  lastWatermark: replicaVersion,
69
75
  };
70
76
  const schema = cdcSchema(shard);
71
- await db.begin(async (tx) => {
77
+ await db.begin(async (sql) => {
72
78
  const stmts = [];
73
- const results = await tx `
79
+ const results = await sql `
74
80
  SELECT "replicaVersion", "publications", "resetRequired"
75
- FROM ${tx(schema)}."replicationConfig"`;
81
+ FROM ${sql(schema)}."replicationConfig"`;
76
82
  if (results.length) {
77
83
  const { replicaVersion, publications } = results[0];
78
84
  if (replicaVersion !== replicaConfig.replicaVersion ||
@@ -84,13 +90,13 @@ export async function ensureReplicationConfig(lc, db, subscriptionState, shard,
84
90
  }
85
91
  lc.info?.(`Data in cdc tables @${replicaVersion} is incompatible ` +
86
92
  `with replica @${replicaConfig.replicaVersion}. Clearing tables.`);
87
- stmts.push(tx `TRUNCATE TABLE ${tx(schema)}."changeLog"`, tx `TRUNCATE TABLE ${tx(schema)}."replicationConfig"`, tx `TRUNCATE TABLE ${tx(schema)}."replicationState"`);
93
+ stmts.push(sql `TRUNCATE TABLE ${sql(schema)}."changeLog"`, sql `TRUNCATE TABLE ${sql(schema)}."replicationConfig"`, sql `TRUNCATE TABLE ${sql(schema)}."replicationState"`);
88
94
  }
89
95
  }
90
96
  // Initialize (or re-initialize TRUNCATED) tables
91
97
  if (results.length === 0 || stmts.length > 0) {
92
- stmts.push(tx `INSERT INTO ${tx(schema)}."replicationConfig" ${tx(replicaConfig)}`, tx `INSERT INTO ${tx(schema)}."replicationState"
93
- ${tx(replicationState)}`);
98
+ stmts.push(sql `INSERT INTO ${sql(schema)}."replicationConfig" ${sql(replicaConfig)}`, sql `INSERT INTO ${sql(schema)}."replicationState"
99
+ ${sql(replicationState)}`);
94
100
  return Promise.all(stmts);
95
101
  }
96
102
  const { resetRequired } = results[0];
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/tables.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ import { Subscriber } from './subscriber.ts';
40
40
  export declare class Storer implements Service {
41
41
  #private;
42
42
  readonly id = "storer";
43
- constructor(lc: LogContext, shard: ShardID, taskID: string, db: PostgresDB, replicaVersion: string, onConsumed: (c: Commit | StatusMessage) => void, onFatal: (err: Error) => void);
43
+ constructor(lc: LogContext, shard: ShardID, taskID: string, discoveryAddress: string, db: PostgresDB, replicaVersion: string, onConsumed: (c: Commit | StatusMessage) => void, onFatal: (err: Error) => void);
44
44
  assumeOwnership(): Promise<void>;
45
45
  getLastWatermarkToStartStream(): Promise<string>;
46
46
  purgeRecordsBefore(watermark: string): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"storer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAU5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAoC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;gBAarB,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,IAAI,EAC/C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAgBzB,eAAe;IAMf,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC;IAahD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU5D,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS/B,MAAM,CAAC,CAAC,EAAE,aAAa;IAIvB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc;IAMpD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IA2BnC,GAAG;IA0OT,IAAI;CAIL"}
1
+ {"version":3,"file":"storer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAU5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,iDAAiD,CAAC;AAC5E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAoC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,MAAO,YAAW,OAAO;;IACpC,QAAQ,CAAC,EAAE,YAAY;gBAcrB,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,KAAK,IAAI,EAC/C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAiBzB,eAAe;IAQf,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC;IAahD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU5D,KAAK,CAAC,KAAK,EAAE,iBAAiB;IAI9B,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS/B,MAAM,CAAC,CAAC,EAAE,aAAa;IAIvB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc;IAMpD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IA2BnC,GAAG;IA0OT,IAAI;CAIL"}
@@ -63,16 +63,18 @@ export class Storer {
63
63
  #lc;
64
64
  #shard;
65
65
  #taskID;
66
+ #discoveryAddress;
66
67
  #db;
67
68
  #replicaVersion;
68
69
  #onConsumed;
69
70
  #onFatal;
70
71
  #queue = new Queue();
71
72
  #running = false;
72
- constructor(lc, shard, taskID, db, replicaVersion, onConsumed, onFatal) {
73
+ constructor(lc, shard, taskID, discoveryAddress, db, replicaVersion, onConsumed, onFatal) {
73
74
  this.#lc = lc;
74
75
  this.#shard = shard;
75
76
  this.#taskID = taskID;
77
+ this.#discoveryAddress = discoveryAddress;
76
78
  this.#db = db;
77
79
  this.#replicaVersion = replicaVersion;
78
80
  this.#onConsumed = onConsumed;
@@ -85,7 +87,9 @@ export class Storer {
85
87
  async assumeOwnership() {
86
88
  const db = this.#db;
87
89
  const owner = this.#taskID;
88
- await db `UPDATE ${this.#cdc('replicationState')} SET ${db({ owner })}`;
90
+ const ownerAddress = this.#discoveryAddress;
91
+ await db `UPDATE ${this.#cdc('replicationState')} SET ${db({ owner, ownerAddress })}`;
92
+ this.#lc.info?.(`assumed ownership at ${ownerAddress}`);
89
93
  }
90
94
  async getLastWatermarkToStartStream() {
91
95
  // Before starting or restarting a stream from the change source,
@@ -1 +1 @@
1
- {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import { type FastifyInstance } from 'fastify';
3
3
  import type { Service } from './service.ts';
4
- import { type ZeroConfig } from '../config/zero-config.ts';
5
4
  export type Options = {
6
5
  port: number;
7
6
  };
@@ -14,7 +13,11 @@ export declare class HttpService implements Service {
14
13
  #private;
15
14
  readonly id: string;
16
15
  protected readonly _lc: LogContext;
17
- constructor(id: string, config: ZeroConfig, lc: LogContext, opts: Options, init: (fastify: FastifyInstance) => void | Promise<void>);
16
+ constructor(id: string, lc: LogContext, opts: Options, init: (fastify: FastifyInstance) => void | Promise<void>);
17
+ /** Override to delay responding to health checks on "/". */
18
+ protected _respondToHealthCheck(): boolean;
19
+ /** Override to delay responding to health checks on "/keepalive". */
20
+ protected _respondToKeepalive(): boolean;
18
21
  start(): Promise<string>;
19
22
  run(): Promise<void>;
20
23
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"http-service.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/http-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAgB,EAAC,KAAK,eAAe,EAAC,MAAM,SAAS,CAAC;AAGtD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;gBASjC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
1
+ {"version":3,"file":"http-service.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/http-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAgB,EAAC,KAAK,eAAe,EAAC,MAAM,SAAS,CAAC;AAGtD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;gBAQjC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D,4DAA4D;IAC5D,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C,qEAAqE;IACrE,SAAS,CAAC,mBAAmB,IAAI,OAAO;IAQlC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
@@ -2,8 +2,6 @@ import { LogContext } from '@rocicorp/logger';
2
2
  import Fastify, {} from 'fastify';
3
3
  import { HeartbeatMonitor } from "./life-cycle.js";
4
4
  import { RunningState } from "./running-state.js";
5
- import { handleStatzRequest } from "./statz.js";
6
- import {} from "../config/zero-config.js";
7
5
  /**
8
6
  * Common functionality for all HttpServices. These include:
9
7
  * * Responding to health checks at "/"
@@ -12,30 +10,45 @@ import {} from "../config/zero-config.js";
12
10
  export class HttpService {
13
11
  id;
14
12
  _lc;
15
- #config;
16
13
  #fastify;
17
14
  #port;
18
15
  #state;
19
16
  #heartbeatMonitor;
20
17
  #init;
21
- constructor(id, config, lc, opts, init) {
18
+ constructor(id, lc, opts, init) {
22
19
  this.id = id;
23
20
  this._lc = lc.withContext('component', this.id);
24
- this.#config = config;
25
21
  this.#fastify = Fastify();
26
22
  this.#port = opts.port;
27
23
  this.#init = init;
28
24
  this.#state = new RunningState(id);
29
25
  this.#heartbeatMonitor = new HeartbeatMonitor(this._lc);
30
26
  }
31
- // start() is used in unit tests.
27
+ /** Override to delay responding to health checks on "/". */
28
+ _respondToHealthCheck() {
29
+ return true;
30
+ }
31
+ /** Override to delay responding to health checks on "/keepalive". */
32
+ _respondToKeepalive() {
33
+ return true;
34
+ }
35
+ // start() is used in unit tests, or to start the HttpService early,
36
+ // before the ServiceRunner runs all of the services.
37
+ //
32
38
  // run() is the lifecycle method called by the ServiceRunner.
33
39
  async start() {
34
- this.#fastify.get('/', (_req, res) => res.send('OK'));
35
- this.#fastify.get('/statz', (req, res) => handleStatzRequest(this.#config, req, res));
40
+ this.#fastify.get('/', (_req, res) => {
41
+ if (this._respondToHealthCheck()) {
42
+ return res.send('OK');
43
+ }
44
+ return;
45
+ });
36
46
  this.#fastify.get('/keepalive', ({ headers }, res) => {
37
- this.#heartbeatMonitor.onHeartbeat(headers);
38
- return res.send('OK');
47
+ if (this._respondToKeepalive()) {
48
+ this.#heartbeatMonitor.onHeartbeat(headers);
49
+ return res.send('OK');
50
+ }
51
+ return;
39
52
  });
40
53
  await this.#init(this.#fastify);
41
54
  const address = await this.#fastify.listen({
@@ -46,7 +59,10 @@ export class HttpService {
46
59
  return address;
47
60
  }
48
61
  async run() {
49
- await this.start();
62
+ // Check if start() was already called.
63
+ if (this.#fastify.addresses().length === 0) {
64
+ await this.start();
65
+ }
50
66
  await this.#state.stopped();
51
67
  }
52
68
  async stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"http-service.js","sourceRoot":"","sources":["../../../../../zero-cache/src/services/http-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-service.js","sourceRoot":"","sources":["../../../../../zero-cache/src/services/http-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ZeroConfig } from '../config/zero-config.ts';
2
1
  import type { FastifyReply, FastifyRequest } from 'fastify';
2
+ import type { NormalizedZeroConfig as ZeroConfig } from '../config/normalize.ts';
3
3
  export declare function handleStatzRequest(config: ZeroConfig, req: FastifyRequest, res: FastifyReply): Promise<void>;
4
4
  //# sourceMappingURL=statz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statz.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/statz.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAOzD,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAwT1D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,YAAY,iBAsBlB"}
1
+ {"version":3,"file":"statz.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/services/statz.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAO1D,OAAO,KAAK,EAAC,oBAAoB,IAAI,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAyT/E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,YAAY,iBAsBlB"}
@@ -1,13 +1,12 @@
1
+ import auth from 'basic-auth';
2
+ import fs from 'fs';
3
+ import os from 'os';
1
4
  import { astToZQL } from "../../../ast-to-zql/src/ast-to-zql.js";
2
5
  import { createSilentLogContext } from "../../../shared/src/logging-test-utils.js";
3
- import {} from "../config/zero-config.js";
4
- import { getShardID, upstreamSchema } from "../types/shards.js";
5
- import { pgClient } from "../types/pg.js";
6
- import { BigIntJSON } from "../types/bigint-json.js";
7
- import os from 'os';
8
- import fs from 'fs';
9
6
  import { Database } from "../../../zqlite/src/db.js";
10
- import auth from 'basic-auth';
7
+ import { BigIntJSON } from "../types/bigint-json.js";
8
+ import { pgClient } from "../types/pg.js";
9
+ import { getShardID, upstreamSchema } from "../types/shards.js";
11
10
  const lc = createSilentLogContext();
12
11
  async function upstreamStats(config, out) {
13
12
  const schema = upstreamSchema(getShardID(config));
@@ -1 +1 @@
1
- {"version":3,"file":"statz.js","sourceRoot":"","sources":["../../../../../zero-cache/src/services/statz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statz.js","sourceRoot":"","sources":["../../../../../zero-cache/src/services/statz.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class ErrorWithLevel extends Error {
7
7
  export declare function getLogLevel(error: unknown): LogLevel;
8
8
  export declare class ErrorForClient extends ErrorWithLevel {
9
9
  readonly errorBody: {
10
- kind: "Unauthorized" | "AuthInvalidated" | "ClientNotFound" | "InvalidConnectionRequest" | "InvalidConnectionRequestBaseCookie" | "InvalidConnectionRequestLastMutationID" | "InvalidConnectionRequestClientDeleted" | "InvalidMessage" | "InvalidPush" | "MutationFailed" | "MutationRateLimited" | "VersionNotSupported" | "SchemaVersionNotSupported" | "Internal";
10
+ kind: "AuthInvalidated" | "ClientNotFound" | "InvalidConnectionRequest" | "InvalidConnectionRequestBaseCookie" | "InvalidConnectionRequestLastMutationID" | "InvalidConnectionRequestClientDeleted" | "InvalidMessage" | "InvalidPush" | "MutationFailed" | "MutationRateLimited" | "Unauthorized" | "VersionNotSupported" | "SchemaVersionNotSupported" | "Internal";
11
11
  message: string;
12
12
  } | {
13
13
  minBackoffMs?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,EAAE,EAAc,KAAK,YAAY,EAAC,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAc5D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAyB7D;AAED,iBAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBhD;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,gBAAgB,GAAG,SAAS;;;;;;;;;;;;;;;;;;2BAuBxB,MAAM,GAAG,IAAI;;;;;;2BAUb,MAAM;uBACV,MAAM,GAAG,MAAM;;;CAG9B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC,EACF,YAAY,CAAC,EAAE,gBAAgB,GAC9B,UAAU,CAgCZ;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAIF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CzB,CAAC;AAEH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,SAAS,GAAG,SAAS,CAQvB"}
1
+ {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,EAAE,EAAc,KAAK,YAAY,EAAC,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAW5D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqC7D;AAED,iBAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBhD;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,gBAAgB,GAAG,SAAS;;;;;;;;;;;;;;;;;;2BAuBxB,MAAM,GAAG,IAAI;;;;;;2BAUb,MAAM;uBACV,MAAM,GAAG,MAAM;;;CAG9B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC,EACF,YAAY,CAAC,EAAE,gBAAgB,GAC9B,UAAU,CAgCZ;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAIF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CzB,CAAC;AAEH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,SAAS,GAAG,SAAS,CAQvB"}
@@ -5,34 +5,36 @@ import postgres, {} from 'postgres';
5
5
  import { randInt } from "../../../shared/src/rand.js";
6
6
  import { BigIntJSON } from "./bigint-json.js";
7
7
  import { DATE, JSON, JSONB, NUMERIC, TIMESTAMP, TIMESTAMPTZ, } from "./pg-types.js";
8
- const WITH_HH_MM_TIMEZONE = /[+-]\d\d:\d\d$/;
9
- const WITH_HH_TIMEZONE = /[+-]\d\d$/;
10
8
  // exported for testing.
11
9
  export function timestampToFpMillis(timestamp) {
12
10
  // Convert from PG's time string, e.g. "1999-01-08 12:05:06+00" to "Z"
13
11
  // format expected by PreciseDate.
14
- let ts = timestamp.replace(' ', 'T');
15
- if (ts.match(WITH_HH_TIMEZONE)) {
16
- if (ts.endsWith('+00')) {
17
- // Using 'Z' provides microsecond precision with PreciseDate.
18
- ts = ts.replace('+00', 'Z');
19
- }
20
- else {
21
- ts += ':00'; // PG's timezone offset "HH" needs to be converted to "HH:MM"
22
- }
23
- }
24
- else if (ts.match(WITH_HH_MM_TIMEZONE)) {
25
- // Using 'Z' provides microsecond precision with PreciseDate.
26
- ts = ts.replace('+00:00', 'Z');
27
- }
28
- else {
29
- ts += 'Z';
30
- }
12
+ timestamp = timestamp.replace(' ', 'T');
13
+ const positiveOffset = timestamp.includes('+');
14
+ const tzSplitIndex = positiveOffset
15
+ ? timestamp.lastIndexOf('+')
16
+ : timestamp.indexOf('-', timestamp.indexOf('T'));
17
+ const timezoneOffset = tzSplitIndex === -1 ? undefined : timestamp.substring(tzSplitIndex);
18
+ const tsWithoutTimezone = (tzSplitIndex === -1 ? timestamp : timestamp.substring(0, tzSplitIndex)) +
19
+ 'Z';
31
20
  try {
32
- const fullTime = new PreciseDate(ts).getFullTime();
21
+ // PreciseDate does not return microsecond precision unless the provided
22
+ // timestamp is in UTC time so we need to add the timezone offset back in.
23
+ const fullTime = new PreciseDate(tsWithoutTimezone).getFullTime();
33
24
  const millis = Number(fullTime / 1000000n);
34
25
  const nanos = Number(fullTime % 1000000n);
35
- return millis + nanos * 1e-6; // floating point milliseconds
26
+ const ret = millis + nanos * 1e-6; // floating point milliseconds
27
+ // add back in the timezone offset
28
+ if (timezoneOffset) {
29
+ const [hours, minutes] = timezoneOffset.split(':');
30
+ const offset = Math.abs(Number(hours)) * 60 + (minutes ? Number(minutes) : 0);
31
+ const offsetMillis = offset * 60 * 1_000;
32
+ // If it is a positive offset, we subtract the offset from the UTC
33
+ // because we passed in the "local time" as if it was UTC.
34
+ // The opposite is true for negative offsets.
35
+ return positiveOffset ? ret - offsetMillis : ret + offsetMillis;
36
+ }
37
+ return ret;
36
38
  }
37
39
  catch (e) {
38
40
  throw new Error(`Error parsing ${timestamp}`, { cause: e });
@@ -1 +1 @@
1
- {"version":3,"file":"pg.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/pg.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import { Server } from 'node:http';
3
+ import { Socket } from 'node:net';
3
4
  import { WebSocketServer, type WebSocket } from 'ws';
4
- import { type IncomingMessageSubset } from '../../types/http.ts';
5
- import { type Receiver, type Sender, type Worker } from '../../types/processes.ts';
5
+ import { type IncomingMessageSubset } from './http.ts';
6
+ import { MESSAGE_TYPES, type Receiver, type Sender, type Worker } from './processes.ts';
6
7
  export type HandoffSpec<P> = {
7
8
  payload: P;
8
9
  receiver: Receiver;
@@ -17,6 +18,13 @@ export type HandoffSpec<P> = {
17
18
  */
18
19
  export type WebSocketHandoff<P> = (message: IncomingMessageSubset, callback: (h: HandoffSpec<P>) => void, onerror: (reason: unknown) => void) => HandoffSpec<P> | void;
19
20
  export type WebSocketReceiver<P> = (ws: WebSocket, payload: P) => void;
21
+ export type WebSocketHandoffHandler = (message: IncomingMessageSubset, socket: Socket, head: Buffer) => void;
22
+ /**
23
+ * Installs websocket handoff logic from either an http.Server
24
+ * receiving requests, or a parent Worker process
25
+ * that is handing off requests to this process.
26
+ */
27
+ export declare function createWebSocketHandoffHandler<P>(lc: LogContext, handoff: WebSocketHandoff<P>): WebSocketHandoffHandler;
20
28
  /**
21
29
  * Installs websocket handoff logic from either an http.Server
22
30
  * receiving requests, or a parent Worker process
@@ -24,4 +32,12 @@ export type WebSocketReceiver<P> = (ws: WebSocket, payload: P) => void;
24
32
  */
25
33
  export declare function installWebSocketHandoff<P>(lc: LogContext, handoff: WebSocketHandoff<P>, source: Server | Worker): void;
26
34
  export declare function installWebSocketReceiver<P>(lc: LogContext, server: WebSocketServer, receive: WebSocketReceiver<P>, sender: Sender): void;
35
+ export type Handoff<P> = [
36
+ typeof MESSAGE_TYPES.handoff,
37
+ {
38
+ message: IncomingMessageSubset;
39
+ head: ArrayBuffer;
40
+ payload: P;
41
+ }
42
+ ];
27
43
  //# sourceMappingURL=websocket-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;AAEnD,OAAO,EAAqB,KAAK,qBAAqB,EAAC,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAChC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,uBAAuB,CAyCzB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,QAcxB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,QAoBf;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,OAAO,aAAa,CAAC,OAAO;IAC5B;QACE,OAAO,EAAE,qBAAqB,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC;KACZ;CACF,CAAC"}
@@ -1,18 +1,18 @@
1
1
  import { IncomingMessage, Server } from 'node:http';
2
2
  import { Socket } from 'node:net';
3
3
  import { WebSocketServer } from 'ws';
4
- import { assert } from "../../../../shared/src/asserts.js";
5
- import { serializableSubset, } from "../../types/http.js";
6
- import { MESSAGE_TYPES, } from "../../types/processes.js";
7
- import { closeWithError, PROTOCOL_ERROR } from "../../types/ws.js";
4
+ import { assert } from "../../../shared/src/asserts.js";
5
+ import { serializableSubset } from "./http.js";
6
+ import { MESSAGE_TYPES, } from "./processes.js";
7
+ import { closeWithError, PROTOCOL_ERROR } from "./ws.js";
8
8
  /**
9
9
  * Installs websocket handoff logic from either an http.Server
10
10
  * receiving requests, or a parent Worker process
11
11
  * that is handing off requests to this process.
12
12
  */
13
- export function installWebSocketHandoff(lc, handoff, source) {
13
+ export function createWebSocketHandoffHandler(lc, handoff) {
14
14
  const wss = new WebSocketServer({ noServer: true });
15
- const handle = (message, socket, head) => {
15
+ return (message, socket, head) => {
16
16
  let sent = false;
17
17
  function send({ payload, receiver }) {
18
18
  assert(!sent, 'Handoff callback already invoked');
@@ -45,6 +45,14 @@ export function installWebSocketHandoff(lc, handoff, source) {
45
45
  onError(error);
46
46
  }
47
47
  };
48
+ }
49
+ /**
50
+ * Installs websocket handoff logic from either an http.Server
51
+ * receiving requests, or a parent Worker process
52
+ * that is handing off requests to this process.
53
+ */
54
+ export function installWebSocketHandoff(lc, handoff, source) {
55
+ const handle = createWebSocketHandoffHandler(lc, handoff);
48
56
  if (source instanceof Server) {
49
57
  // handoff messages from an HTTP server
50
58
  source.on('upgrade', handle);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"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"}