rivetkit 2.0.39 → 2.0.41

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 (103) hide show
  1. package/dist/schemas/actor-persist/v1.js +167 -0
  2. package/dist/schemas/actor-persist/v2.js +200 -0
  3. package/dist/schemas/actor-persist/v3.js +200 -0
  4. package/dist/schemas/client-protocol/v1.js +301 -0
  5. package/dist/schemas/client-protocol/v2.js +299 -0
  6. package/dist/schemas/file-system-driver/v1.js +76 -0
  7. package/dist/schemas/file-system-driver/v2.js +103 -0
  8. package/dist/schemas/file-system-driver/v3.js +122 -0
  9. package/dist/tsup/actor/errors.cjs.map +1 -1
  10. package/dist/tsup/{chunk-OJZRCEIA.js → chunk-4J5EFV3E.js} +5 -5
  11. package/dist/tsup/{chunk-7E3RWMR6.cjs → chunk-4UHJ3ADW.cjs} +173 -107
  12. package/dist/tsup/chunk-4UHJ3ADW.cjs.map +1 -0
  13. package/dist/tsup/{chunk-BQ36VTSB.js → chunk-7KIR3QLO.js} +86 -20
  14. package/dist/tsup/{chunk-BQ36VTSB.js.map → chunk-7KIR3QLO.js.map} +1 -1
  15. package/dist/tsup/{chunk-KMYFL3OL.cjs → chunk-B5UXC4QV.cjs} +75 -64
  16. package/dist/tsup/chunk-B5UXC4QV.cjs.map +1 -0
  17. package/dist/tsup/{chunk-C64FV764.cjs → chunk-DSNSFYDL.cjs} +3 -3
  18. package/dist/tsup/chunk-DSNSFYDL.cjs.map +1 -0
  19. package/dist/tsup/chunk-GBENOENJ.cjs.map +1 -1
  20. package/dist/tsup/{chunk-DY4H3ASE.cjs → chunk-GTQKDCM4.cjs} +46 -46
  21. package/dist/tsup/chunk-GTQKDCM4.cjs.map +1 -0
  22. package/dist/tsup/chunk-KDFWJKMJ.cjs.map +1 -1
  23. package/dist/tsup/{chunk-CDK6DRO2.js → chunk-LMG4QMDO.js} +2 -2
  24. package/dist/tsup/{chunk-CDK6DRO2.js.map → chunk-LMG4QMDO.js.map} +1 -1
  25. package/dist/tsup/{chunk-T7IPDBWH.js → chunk-NRP2OHSW.js} +4 -4
  26. package/dist/tsup/{chunk-PVKUXMOA.js → chunk-OXN6EZUB.js} +19 -8
  27. package/dist/tsup/chunk-OXN6EZUB.js.map +1 -0
  28. package/dist/tsup/{chunk-MZPYVTVG.cjs → chunk-QDVKDX7G.cjs} +9 -9
  29. package/dist/tsup/chunk-QDVKDX7G.cjs.map +1 -0
  30. package/dist/tsup/{chunk-X72X7I7T.cjs → chunk-S6F7EKC7.cjs} +2 -2
  31. package/dist/tsup/chunk-S6F7EKC7.cjs.map +1 -0
  32. package/dist/tsup/chunk-SNAUKDDK.cjs.map +1 -1
  33. package/dist/tsup/{chunk-XU74APB4.js → chunk-UGOCTUBG.js} +6 -5
  34. package/dist/tsup/chunk-UGOCTUBG.js.map +1 -0
  35. package/dist/tsup/{chunk-UAX5E3EU.cjs → chunk-WYZLRPQM.cjs} +250 -249
  36. package/dist/tsup/chunk-WYZLRPQM.cjs.map +1 -0
  37. package/dist/tsup/{chunk-PHCD25XO.js → chunk-Y7ZDTLD2.js} +2 -2
  38. package/dist/tsup/client/mod.cjs +5 -5
  39. package/dist/tsup/client/mod.cjs.map +1 -1
  40. package/dist/tsup/client/mod.d.cts +2 -2
  41. package/dist/tsup/client/mod.d.ts +2 -2
  42. package/dist/tsup/client/mod.js +4 -4
  43. package/dist/tsup/common/log.cjs +2 -2
  44. package/dist/tsup/common/log.cjs.map +1 -1
  45. package/dist/tsup/common/log.d.cts +2 -2
  46. package/dist/tsup/common/log.d.ts +2 -2
  47. package/dist/tsup/common/log.js +1 -1
  48. package/dist/tsup/common/websocket.cjs +3 -3
  49. package/dist/tsup/common/websocket.cjs.map +1 -1
  50. package/dist/tsup/common/websocket.js +2 -2
  51. package/dist/tsup/{config-BuBlMs6C.d.cts → config-COyis_uH.d.cts} +22 -10
  52. package/dist/tsup/{config-CBwo4ooA.d.ts → config-D43N-CFi.d.ts} +22 -10
  53. package/dist/tsup/{driver-CPXmh8f8.d.cts → driver-Bt7B-qMd.d.cts} +1 -1
  54. package/dist/tsup/{driver-DxWa6HUO.d.ts → driver-KyM2v645.d.ts} +1 -1
  55. package/dist/tsup/driver-helpers/mod.cjs +3 -3
  56. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  57. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  58. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  59. package/dist/tsup/driver-helpers/mod.js +2 -2
  60. package/dist/tsup/driver-test-suite/mod.cjs +62 -34
  61. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  62. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  63. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  64. package/dist/tsup/driver-test-suite/mod.js +35 -7
  65. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  66. package/dist/tsup/inspector/mod.cjs.map +1 -1
  67. package/dist/tsup/mod.cjs +7 -7
  68. package/dist/tsup/mod.cjs.map +1 -1
  69. package/dist/tsup/mod.d.cts +4 -4
  70. package/dist/tsup/mod.d.ts +4 -4
  71. package/dist/tsup/mod.js +6 -6
  72. package/dist/tsup/test/mod.cjs +7 -7
  73. package/dist/tsup/test/mod.cjs.map +1 -1
  74. package/dist/tsup/test/mod.d.cts +1 -1
  75. package/dist/tsup/test/mod.d.ts +1 -1
  76. package/dist/tsup/test/mod.js +6 -6
  77. package/dist/tsup/utils.cjs +2 -2
  78. package/dist/tsup/utils.cjs.map +1 -1
  79. package/dist/tsup/utils.js +1 -1
  80. package/package.json +2 -2
  81. package/src/actor/instance/schedule-manager.ts +2 -1
  82. package/src/actor/router-websocket-endpoints.test.ts +54 -0
  83. package/src/actor/router-websocket-endpoints.ts +9 -4
  84. package/src/common/router.ts +2 -0
  85. package/src/driver-test-suite/tests/raw-websocket.ts +40 -0
  86. package/src/engine-process/mod.ts +69 -7
  87. package/src/registry/config/index.ts +7 -0
  88. package/src/registry/config/serverless.ts +2 -0
  89. package/src/registry/serve.ts +9 -5
  90. package/src/remote-manager-driver/api-endpoints.ts +2 -0
  91. package/src/serverless/configure.ts +3 -0
  92. package/dist/tsup/chunk-7E3RWMR6.cjs.map +0 -1
  93. package/dist/tsup/chunk-C64FV764.cjs.map +0 -1
  94. package/dist/tsup/chunk-DY4H3ASE.cjs.map +0 -1
  95. package/dist/tsup/chunk-KMYFL3OL.cjs.map +0 -1
  96. package/dist/tsup/chunk-MZPYVTVG.cjs.map +0 -1
  97. package/dist/tsup/chunk-PVKUXMOA.js.map +0 -1
  98. package/dist/tsup/chunk-UAX5E3EU.cjs.map +0 -1
  99. package/dist/tsup/chunk-X72X7I7T.cjs.map +0 -1
  100. package/dist/tsup/chunk-XU74APB4.js.map +0 -1
  101. /package/dist/tsup/{chunk-OJZRCEIA.js.map → chunk-4J5EFV3E.js.map} +0 -0
  102. /package/dist/tsup/{chunk-T7IPDBWH.js.map → chunk-NRP2OHSW.js.map} +0 -0
  103. /package/dist/tsup/{chunk-PHCD25XO.js.map → chunk-Y7ZDTLD2.js.map} +0 -0
@@ -0,0 +1,167 @@
1
+ // @generated - post-processed by compile-bare.ts
2
+ import * as bare from "@rivetkit/bare-ts";
3
+ const config = /* @__PURE__ */ bare.Config({});
4
+ export function readPersistedSubscription(bc) {
5
+ return {
6
+ eventName: bare.readString(bc),
7
+ };
8
+ }
9
+ export function writePersistedSubscription(bc, x) {
10
+ bare.writeString(bc, x.eventName);
11
+ }
12
+ function read0(bc) {
13
+ const len = bare.readUintSafe(bc);
14
+ if (len === 0) {
15
+ return [];
16
+ }
17
+ const result = [readPersistedSubscription(bc)];
18
+ for (let i = 1; i < len; i++) {
19
+ result[i] = readPersistedSubscription(bc);
20
+ }
21
+ return result;
22
+ }
23
+ function write0(bc, x) {
24
+ bare.writeUintSafe(bc, x.length);
25
+ for (let i = 0; i < x.length; i++) {
26
+ writePersistedSubscription(bc, x[i]);
27
+ }
28
+ }
29
+ export function readPersistedConnection(bc) {
30
+ return {
31
+ id: bare.readString(bc),
32
+ token: bare.readString(bc),
33
+ parameters: bare.readData(bc),
34
+ state: bare.readData(bc),
35
+ subscriptions: read0(bc),
36
+ lastSeen: bare.readU64(bc),
37
+ };
38
+ }
39
+ export function writePersistedConnection(bc, x) {
40
+ bare.writeString(bc, x.id);
41
+ bare.writeString(bc, x.token);
42
+ bare.writeData(bc, x.parameters);
43
+ bare.writeData(bc, x.state);
44
+ write0(bc, x.subscriptions);
45
+ bare.writeU64(bc, x.lastSeen);
46
+ }
47
+ function read1(bc) {
48
+ return bare.readBool(bc)
49
+ ? bare.readData(bc)
50
+ : null;
51
+ }
52
+ function write1(bc, x) {
53
+ bare.writeBool(bc, x !== null);
54
+ if (x !== null) {
55
+ bare.writeData(bc, x);
56
+ }
57
+ }
58
+ export function readGenericPersistedScheduleEvent(bc) {
59
+ return {
60
+ action: bare.readString(bc),
61
+ args: read1(bc),
62
+ };
63
+ }
64
+ export function writeGenericPersistedScheduleEvent(bc, x) {
65
+ bare.writeString(bc, x.action);
66
+ write1(bc, x.args);
67
+ }
68
+ export function readPersistedScheduleEventKind(bc) {
69
+ const offset = bc.offset;
70
+ const tag = bare.readU8(bc);
71
+ switch (tag) {
72
+ case 0:
73
+ return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
74
+ default: {
75
+ bc.offset = offset;
76
+ throw new bare.BareError(offset, "invalid tag");
77
+ }
78
+ }
79
+ }
80
+ export function writePersistedScheduleEventKind(bc, x) {
81
+ switch (x.tag) {
82
+ case "GenericPersistedScheduleEvent": {
83
+ bare.writeU8(bc, 0);
84
+ writeGenericPersistedScheduleEvent(bc, x.val);
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ export function readPersistedScheduleEvent(bc) {
90
+ return {
91
+ eventId: bare.readString(bc),
92
+ timestamp: bare.readU64(bc),
93
+ kind: readPersistedScheduleEventKind(bc),
94
+ };
95
+ }
96
+ export function writePersistedScheduleEvent(bc, x) {
97
+ bare.writeString(bc, x.eventId);
98
+ bare.writeU64(bc, x.timestamp);
99
+ writePersistedScheduleEventKind(bc, x.kind);
100
+ }
101
+ function read2(bc) {
102
+ const len = bare.readUintSafe(bc);
103
+ if (len === 0) {
104
+ return [];
105
+ }
106
+ const result = [readPersistedConnection(bc)];
107
+ for (let i = 1; i < len; i++) {
108
+ result[i] = readPersistedConnection(bc);
109
+ }
110
+ return result;
111
+ }
112
+ function write2(bc, x) {
113
+ bare.writeUintSafe(bc, x.length);
114
+ for (let i = 0; i < x.length; i++) {
115
+ writePersistedConnection(bc, x[i]);
116
+ }
117
+ }
118
+ function read3(bc) {
119
+ const len = bare.readUintSafe(bc);
120
+ if (len === 0) {
121
+ return [];
122
+ }
123
+ const result = [readPersistedScheduleEvent(bc)];
124
+ for (let i = 1; i < len; i++) {
125
+ result[i] = readPersistedScheduleEvent(bc);
126
+ }
127
+ return result;
128
+ }
129
+ function write3(bc, x) {
130
+ bare.writeUintSafe(bc, x.length);
131
+ for (let i = 0; i < x.length; i++) {
132
+ writePersistedScheduleEvent(bc, x[i]);
133
+ }
134
+ }
135
+ export function readPersistedActor(bc) {
136
+ return {
137
+ input: read1(bc),
138
+ hasInitialized: bare.readBool(bc),
139
+ state: bare.readData(bc),
140
+ connections: read2(bc),
141
+ scheduledEvents: read3(bc),
142
+ };
143
+ }
144
+ export function writePersistedActor(bc, x) {
145
+ write1(bc, x.input);
146
+ bare.writeBool(bc, x.hasInitialized);
147
+ bare.writeData(bc, x.state);
148
+ write2(bc, x.connections);
149
+ write3(bc, x.scheduledEvents);
150
+ }
151
+ export function encodePersistedActor(x) {
152
+ const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
153
+ writePersistedActor(bc, x);
154
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
155
+ }
156
+ export function decodePersistedActor(bytes) {
157
+ const bc = new bare.ByteCursor(bytes, config);
158
+ const result = readPersistedActor(bc);
159
+ if (bc.offset < bc.view.byteLength) {
160
+ throw new bare.BareError(bc.offset, "remaining bytes");
161
+ }
162
+ return result;
163
+ }
164
+ function assert(condition, message) {
165
+ if (!condition)
166
+ throw new Error(message ?? "Assertion failed");
167
+ }
@@ -0,0 +1,200 @@
1
+ // @generated - post-processed by compile-bare.ts
2
+ import * as bare from "@rivetkit/bare-ts";
3
+ const config = /* @__PURE__ */ bare.Config({});
4
+ export function readPersistedSubscription(bc) {
5
+ return {
6
+ eventName: bare.readString(bc),
7
+ };
8
+ }
9
+ export function writePersistedSubscription(bc, x) {
10
+ bare.writeString(bc, x.eventName);
11
+ }
12
+ function read0(bc) {
13
+ const len = bare.readUintSafe(bc);
14
+ if (len === 0) {
15
+ return [];
16
+ }
17
+ const result = [readPersistedSubscription(bc)];
18
+ for (let i = 1; i < len; i++) {
19
+ result[i] = readPersistedSubscription(bc);
20
+ }
21
+ return result;
22
+ }
23
+ function write0(bc, x) {
24
+ bare.writeUintSafe(bc, x.length);
25
+ for (let i = 0; i < x.length; i++) {
26
+ writePersistedSubscription(bc, x[i]);
27
+ }
28
+ }
29
+ function read1(bc) {
30
+ return bare.readBool(bc)
31
+ ? bare.readData(bc)
32
+ : null;
33
+ }
34
+ function write1(bc, x) {
35
+ bare.writeBool(bc, x !== null);
36
+ if (x !== null) {
37
+ bare.writeData(bc, x);
38
+ }
39
+ }
40
+ export function readPersistedConnection(bc) {
41
+ return {
42
+ id: bare.readString(bc),
43
+ token: bare.readString(bc),
44
+ parameters: bare.readData(bc),
45
+ state: bare.readData(bc),
46
+ subscriptions: read0(bc),
47
+ lastSeen: bare.readI64(bc),
48
+ hibernatableRequestId: read1(bc),
49
+ };
50
+ }
51
+ export function writePersistedConnection(bc, x) {
52
+ bare.writeString(bc, x.id);
53
+ bare.writeString(bc, x.token);
54
+ bare.writeData(bc, x.parameters);
55
+ bare.writeData(bc, x.state);
56
+ write0(bc, x.subscriptions);
57
+ bare.writeI64(bc, x.lastSeen);
58
+ write1(bc, x.hibernatableRequestId);
59
+ }
60
+ export function readGenericPersistedScheduleEvent(bc) {
61
+ return {
62
+ action: bare.readString(bc),
63
+ args: read1(bc),
64
+ };
65
+ }
66
+ export function writeGenericPersistedScheduleEvent(bc, x) {
67
+ bare.writeString(bc, x.action);
68
+ write1(bc, x.args);
69
+ }
70
+ export function readPersistedScheduleEventKind(bc) {
71
+ const offset = bc.offset;
72
+ const tag = bare.readU8(bc);
73
+ switch (tag) {
74
+ case 0:
75
+ return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
76
+ default: {
77
+ bc.offset = offset;
78
+ throw new bare.BareError(offset, "invalid tag");
79
+ }
80
+ }
81
+ }
82
+ export function writePersistedScheduleEventKind(bc, x) {
83
+ switch (x.tag) {
84
+ case "GenericPersistedScheduleEvent": {
85
+ bare.writeU8(bc, 0);
86
+ writeGenericPersistedScheduleEvent(bc, x.val);
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ export function readPersistedScheduleEvent(bc) {
92
+ return {
93
+ eventId: bare.readString(bc),
94
+ timestamp: bare.readI64(bc),
95
+ kind: readPersistedScheduleEventKind(bc),
96
+ };
97
+ }
98
+ export function writePersistedScheduleEvent(bc, x) {
99
+ bare.writeString(bc, x.eventId);
100
+ bare.writeI64(bc, x.timestamp);
101
+ writePersistedScheduleEventKind(bc, x.kind);
102
+ }
103
+ export function readPersistedHibernatableWebSocket(bc) {
104
+ return {
105
+ requestId: bare.readData(bc),
106
+ lastSeenTimestamp: bare.readI64(bc),
107
+ msgIndex: bare.readI64(bc),
108
+ };
109
+ }
110
+ export function writePersistedHibernatableWebSocket(bc, x) {
111
+ bare.writeData(bc, x.requestId);
112
+ bare.writeI64(bc, x.lastSeenTimestamp);
113
+ bare.writeI64(bc, x.msgIndex);
114
+ }
115
+ function read2(bc) {
116
+ const len = bare.readUintSafe(bc);
117
+ if (len === 0) {
118
+ return [];
119
+ }
120
+ const result = [readPersistedConnection(bc)];
121
+ for (let i = 1; i < len; i++) {
122
+ result[i] = readPersistedConnection(bc);
123
+ }
124
+ return result;
125
+ }
126
+ function write2(bc, x) {
127
+ bare.writeUintSafe(bc, x.length);
128
+ for (let i = 0; i < x.length; i++) {
129
+ writePersistedConnection(bc, x[i]);
130
+ }
131
+ }
132
+ function read3(bc) {
133
+ const len = bare.readUintSafe(bc);
134
+ if (len === 0) {
135
+ return [];
136
+ }
137
+ const result = [readPersistedScheduleEvent(bc)];
138
+ for (let i = 1; i < len; i++) {
139
+ result[i] = readPersistedScheduleEvent(bc);
140
+ }
141
+ return result;
142
+ }
143
+ function write3(bc, x) {
144
+ bare.writeUintSafe(bc, x.length);
145
+ for (let i = 0; i < x.length; i++) {
146
+ writePersistedScheduleEvent(bc, x[i]);
147
+ }
148
+ }
149
+ function read4(bc) {
150
+ const len = bare.readUintSafe(bc);
151
+ if (len === 0) {
152
+ return [];
153
+ }
154
+ const result = [readPersistedHibernatableWebSocket(bc)];
155
+ for (let i = 1; i < len; i++) {
156
+ result[i] = readPersistedHibernatableWebSocket(bc);
157
+ }
158
+ return result;
159
+ }
160
+ function write4(bc, x) {
161
+ bare.writeUintSafe(bc, x.length);
162
+ for (let i = 0; i < x.length; i++) {
163
+ writePersistedHibernatableWebSocket(bc, x[i]);
164
+ }
165
+ }
166
+ export function readPersistedActor(bc) {
167
+ return {
168
+ input: read1(bc),
169
+ hasInitialized: bare.readBool(bc),
170
+ state: bare.readData(bc),
171
+ connections: read2(bc),
172
+ scheduledEvents: read3(bc),
173
+ hibernatableWebSockets: read4(bc),
174
+ };
175
+ }
176
+ export function writePersistedActor(bc, x) {
177
+ write1(bc, x.input);
178
+ bare.writeBool(bc, x.hasInitialized);
179
+ bare.writeData(bc, x.state);
180
+ write2(bc, x.connections);
181
+ write3(bc, x.scheduledEvents);
182
+ write4(bc, x.hibernatableWebSockets);
183
+ }
184
+ export function encodePersistedActor(x) {
185
+ const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
186
+ writePersistedActor(bc, x);
187
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
188
+ }
189
+ export function decodePersistedActor(bytes) {
190
+ const bc = new bare.ByteCursor(bytes, config);
191
+ const result = readPersistedActor(bc);
192
+ if (bc.offset < bc.view.byteLength) {
193
+ throw new bare.BareError(bc.offset, "remaining bytes");
194
+ }
195
+ return result;
196
+ }
197
+ function assert(condition, message) {
198
+ if (!condition)
199
+ throw new Error(message ?? "Assertion failed");
200
+ }
@@ -0,0 +1,200 @@
1
+ // @generated - post-processed by compile-bare.ts
2
+ import * as bare from "@rivetkit/bare-ts";
3
+ const config = /* @__PURE__ */ bare.Config({});
4
+ export function readGatewayId(bc) {
5
+ return bare.readFixedData(bc, 4);
6
+ }
7
+ export function writeGatewayId(bc, x) {
8
+ assert(x.byteLength === 4);
9
+ bare.writeFixedData(bc, x);
10
+ }
11
+ export function readRequestId(bc) {
12
+ return bare.readFixedData(bc, 4);
13
+ }
14
+ export function writeRequestId(bc, x) {
15
+ assert(x.byteLength === 4);
16
+ bare.writeFixedData(bc, x);
17
+ }
18
+ export function readMessageIndex(bc) {
19
+ return bare.readU16(bc);
20
+ }
21
+ export function writeMessageIndex(bc, x) {
22
+ bare.writeU16(bc, x);
23
+ }
24
+ export function encodeMessageIndex(x) {
25
+ const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
26
+ writeMessageIndex(bc, x);
27
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
28
+ }
29
+ export function decodeMessageIndex(bytes) {
30
+ const bc = new bare.ByteCursor(bytes, config);
31
+ const result = readMessageIndex(bc);
32
+ if (bc.offset < bc.view.byteLength) {
33
+ throw new bare.BareError(bc.offset, "remaining bytes");
34
+ }
35
+ return result;
36
+ }
37
+ export function readCbor(bc) {
38
+ return bare.readData(bc);
39
+ }
40
+ export function writeCbor(bc, x) {
41
+ bare.writeData(bc, x);
42
+ }
43
+ export function readSubscription(bc) {
44
+ return {
45
+ eventName: bare.readString(bc),
46
+ };
47
+ }
48
+ export function writeSubscription(bc, x) {
49
+ bare.writeString(bc, x.eventName);
50
+ }
51
+ function read0(bc) {
52
+ const len = bare.readUintSafe(bc);
53
+ if (len === 0) {
54
+ return [];
55
+ }
56
+ const result = [readSubscription(bc)];
57
+ for (let i = 1; i < len; i++) {
58
+ result[i] = readSubscription(bc);
59
+ }
60
+ return result;
61
+ }
62
+ function write0(bc, x) {
63
+ bare.writeUintSafe(bc, x.length);
64
+ for (let i = 0; i < x.length; i++) {
65
+ writeSubscription(bc, x[i]);
66
+ }
67
+ }
68
+ function read1(bc) {
69
+ const len = bare.readUintSafe(bc);
70
+ const result = new Map();
71
+ for (let i = 0; i < len; i++) {
72
+ const offset = bc.offset;
73
+ const key = bare.readString(bc);
74
+ if (result.has(key)) {
75
+ bc.offset = offset;
76
+ throw new bare.BareError(offset, "duplicated key");
77
+ }
78
+ result.set(key, bare.readString(bc));
79
+ }
80
+ return result;
81
+ }
82
+ function write1(bc, x) {
83
+ bare.writeUintSafe(bc, x.size);
84
+ for (const kv of x) {
85
+ bare.writeString(bc, kv[0]);
86
+ bare.writeString(bc, kv[1]);
87
+ }
88
+ }
89
+ export function readConn(bc) {
90
+ return {
91
+ id: bare.readString(bc),
92
+ parameters: readCbor(bc),
93
+ state: readCbor(bc),
94
+ subscriptions: read0(bc),
95
+ gatewayId: readGatewayId(bc),
96
+ requestId: readRequestId(bc),
97
+ serverMessageIndex: bare.readU16(bc),
98
+ clientMessageIndex: bare.readU16(bc),
99
+ requestPath: bare.readString(bc),
100
+ requestHeaders: read1(bc),
101
+ };
102
+ }
103
+ export function writeConn(bc, x) {
104
+ bare.writeString(bc, x.id);
105
+ writeCbor(bc, x.parameters);
106
+ writeCbor(bc, x.state);
107
+ write0(bc, x.subscriptions);
108
+ writeGatewayId(bc, x.gatewayId);
109
+ writeRequestId(bc, x.requestId);
110
+ bare.writeU16(bc, x.serverMessageIndex);
111
+ bare.writeU16(bc, x.clientMessageIndex);
112
+ bare.writeString(bc, x.requestPath);
113
+ write1(bc, x.requestHeaders);
114
+ }
115
+ export function encodeConn(x) {
116
+ const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
117
+ writeConn(bc, x);
118
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
119
+ }
120
+ export function decodeConn(bytes) {
121
+ const bc = new bare.ByteCursor(bytes, config);
122
+ const result = readConn(bc);
123
+ if (bc.offset < bc.view.byteLength) {
124
+ throw new bare.BareError(bc.offset, "remaining bytes");
125
+ }
126
+ return result;
127
+ }
128
+ function read2(bc) {
129
+ return bare.readBool(bc)
130
+ ? readCbor(bc)
131
+ : null;
132
+ }
133
+ function write2(bc, x) {
134
+ bare.writeBool(bc, x !== null);
135
+ if (x !== null) {
136
+ writeCbor(bc, x);
137
+ }
138
+ }
139
+ export function readScheduleEvent(bc) {
140
+ return {
141
+ eventId: bare.readString(bc),
142
+ timestamp: bare.readI64(bc),
143
+ action: bare.readString(bc),
144
+ args: read2(bc),
145
+ };
146
+ }
147
+ export function writeScheduleEvent(bc, x) {
148
+ bare.writeString(bc, x.eventId);
149
+ bare.writeI64(bc, x.timestamp);
150
+ bare.writeString(bc, x.action);
151
+ write2(bc, x.args);
152
+ }
153
+ function read3(bc) {
154
+ const len = bare.readUintSafe(bc);
155
+ if (len === 0) {
156
+ return [];
157
+ }
158
+ const result = [readScheduleEvent(bc)];
159
+ for (let i = 1; i < len; i++) {
160
+ result[i] = readScheduleEvent(bc);
161
+ }
162
+ return result;
163
+ }
164
+ function write3(bc, x) {
165
+ bare.writeUintSafe(bc, x.length);
166
+ for (let i = 0; i < x.length; i++) {
167
+ writeScheduleEvent(bc, x[i]);
168
+ }
169
+ }
170
+ export function readActor(bc) {
171
+ return {
172
+ input: read2(bc),
173
+ hasInitialized: bare.readBool(bc),
174
+ state: readCbor(bc),
175
+ scheduledEvents: read3(bc),
176
+ };
177
+ }
178
+ export function writeActor(bc, x) {
179
+ write2(bc, x.input);
180
+ bare.writeBool(bc, x.hasInitialized);
181
+ writeCbor(bc, x.state);
182
+ write3(bc, x.scheduledEvents);
183
+ }
184
+ export function encodeActor(x) {
185
+ const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
186
+ writeActor(bc, x);
187
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
188
+ }
189
+ export function decodeActor(bytes) {
190
+ const bc = new bare.ByteCursor(bytes, config);
191
+ const result = readActor(bc);
192
+ if (bc.offset < bc.view.byteLength) {
193
+ throw new bare.BareError(bc.offset, "remaining bytes");
194
+ }
195
+ return result;
196
+ }
197
+ function assert(condition, message) {
198
+ if (!condition)
199
+ throw new Error(message ?? "Assertion failed");
200
+ }