@s2-dev/streamstore 0.16.11 → 0.17.0
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/cjs/basin.d.ts +9 -2
- package/dist/cjs/basin.d.ts.map +1 -1
- package/dist/cjs/basin.js +14 -5
- package/dist/cjs/basin.js.map +1 -1
- package/dist/cjs/batch-transform.d.ts +64 -0
- package/dist/cjs/batch-transform.d.ts.map +1 -0
- package/dist/cjs/batch-transform.js +144 -0
- package/dist/cjs/batch-transform.js.map +1 -0
- package/dist/cjs/generated/client/utils.gen.d.ts +1 -1
- package/dist/cjs/generated/client/utils.gen.d.ts.map +1 -1
- package/dist/cjs/generated/client/utils.gen.js +7 -6
- package/dist/cjs/generated/client/utils.gen.js.map +1 -1
- package/dist/cjs/generated/core/bodySerializer.gen.d.ts +12 -4
- package/dist/cjs/generated/core/bodySerializer.gen.d.ts.map +1 -1
- package/dist/cjs/generated/core/bodySerializer.gen.js.map +1 -1
- package/dist/cjs/generated/proto/s2.d.ts.map +1 -1
- package/dist/cjs/generated/proto/s2.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/stream/factory.d.ts +15 -0
- package/dist/cjs/lib/stream/factory.d.ts.map +1 -0
- package/dist/cjs/lib/stream/factory.js +36 -0
- package/dist/cjs/lib/stream/factory.js.map +1 -0
- package/dist/cjs/lib/stream/runtime.d.ts +13 -0
- package/dist/cjs/lib/stream/runtime.d.ts.map +1 -0
- package/dist/cjs/lib/stream/runtime.js +50 -0
- package/dist/cjs/lib/stream/runtime.js.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts +79 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/index.js +382 -0
- package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +7 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.js +170 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.d.ts +47 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.js +123 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.js.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts +23 -0
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/index.js +785 -0
- package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -0
- package/dist/cjs/lib/stream/types.d.ts +53 -0
- package/dist/cjs/lib/stream/types.d.ts.map +1 -0
- package/dist/cjs/lib/stream/types.js +3 -0
- package/dist/cjs/lib/stream/types.js.map +1 -0
- package/dist/cjs/s2.d.ts +1 -0
- package/dist/cjs/s2.d.ts.map +1 -1
- package/dist/cjs/s2.js +3 -0
- package/dist/cjs/s2.js.map +1 -1
- package/dist/cjs/stream.d.ts +22 -116
- package/dist/cjs/stream.d.ts.map +1 -1
- package/dist/cjs/stream.js +34 -549
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/utils.d.ts +32 -6
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +129 -34
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/basin.d.ts +9 -2
- package/dist/esm/basin.d.ts.map +1 -1
- package/dist/esm/basin.js +14 -5
- package/dist/esm/basin.js.map +1 -1
- package/dist/esm/batch-transform.d.ts +64 -0
- package/dist/esm/batch-transform.d.ts.map +1 -0
- package/dist/esm/batch-transform.js +140 -0
- package/dist/esm/batch-transform.js.map +1 -0
- package/dist/esm/generated/client/utils.gen.d.ts +1 -1
- package/dist/esm/generated/client/utils.gen.d.ts.map +1 -1
- package/dist/esm/generated/client/utils.gen.js +7 -6
- package/dist/esm/generated/client/utils.gen.js.map +1 -1
- package/dist/esm/generated/core/bodySerializer.gen.d.ts +12 -4
- package/dist/esm/generated/core/bodySerializer.gen.d.ts.map +1 -1
- package/dist/esm/generated/core/bodySerializer.gen.js.map +1 -1
- package/dist/esm/generated/proto/s2.d.ts.map +1 -1
- package/dist/esm/generated/proto/s2.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/stream/factory.d.ts +15 -0
- package/dist/esm/lib/stream/factory.d.ts.map +1 -0
- package/dist/esm/lib/stream/factory.js +33 -0
- package/dist/esm/lib/stream/factory.js.map +1 -0
- package/dist/esm/lib/stream/runtime.d.ts +13 -0
- package/dist/esm/lib/stream/runtime.d.ts.map +1 -0
- package/dist/esm/lib/stream/runtime.js +46 -0
- package/dist/esm/lib/stream/runtime.js.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts +79 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/index.js +376 -0
- package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts +7 -0
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/shared.js +166 -0
- package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/framing.d.ts +47 -0
- package/dist/esm/lib/stream/transport/s2s/framing.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/framing.js +118 -0
- package/dist/esm/lib/stream/transport/s2s/framing.js.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/index.d.ts +23 -0
- package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/index.js +781 -0
- package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -0
- package/dist/esm/lib/stream/types.d.ts +53 -0
- package/dist/esm/lib/stream/types.d.ts.map +1 -0
- package/dist/esm/lib/stream/types.js +2 -0
- package/dist/esm/lib/stream/types.js.map +1 -0
- package/dist/esm/s2.d.ts +1 -0
- package/dist/esm/s2.d.ts.map +1 -1
- package/dist/esm/s2.js +3 -0
- package/dist/esm/s2.js.map +1 -1
- package/dist/esm/stream.d.ts +22 -116
- package/dist/esm/stream.d.ts.map +1 -1
- package/dist/esm/stream.js +36 -551
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/utils.d.ts +32 -6
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +126 -34
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -4
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import type { AppendRecord as AppendRecordType } from "./stream.js";
|
|
2
|
-
type Headers = Record<string, string> | Array<[string | Uint8Array, string | Uint8Array]>;
|
|
1
|
+
import type { AppendHeaders, AppendRecord as AppendRecordType } from "./lib/stream/types.js";
|
|
3
2
|
export type AppendRecord = AppendRecordType;
|
|
3
|
+
declare function appendRecordMake(body?: string, headers?: AppendHeaders<"string">, timestamp?: number): AppendRecord;
|
|
4
|
+
declare function appendRecordMake(body?: Uint8Array, headers?: AppendHeaders<"bytes">, timestamp?: number): AppendRecord;
|
|
5
|
+
declare function appendRecordCommand(command: string, body?: string, timestamp?: number): AppendRecord;
|
|
6
|
+
declare function appendRecordCommand(command: Uint8Array, body?: Uint8Array, timestamp?: number): AppendRecord;
|
|
4
7
|
/**
|
|
5
8
|
* Helpers to construct appendable records.
|
|
6
9
|
*
|
|
@@ -11,10 +14,33 @@ export type AppendRecord = AppendRecordType;
|
|
|
11
14
|
* - `trim` is a command record that encodes a sequence number for trimming
|
|
12
15
|
*/
|
|
13
16
|
export declare const AppendRecord: {
|
|
14
|
-
readonly make:
|
|
15
|
-
readonly command:
|
|
16
|
-
readonly fence: (fencing_token: string,
|
|
17
|
-
readonly trim: (seqNum: number | bigint,
|
|
17
|
+
readonly make: typeof appendRecordMake;
|
|
18
|
+
readonly command: typeof appendRecordCommand;
|
|
19
|
+
readonly fence: (fencing_token: string, timestamp?: number) => AppendRecord;
|
|
20
|
+
readonly trim: (seqNum: number | bigint, timestamp?: number) => AppendRecord;
|
|
18
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Calculate the UTF-8 byte length of a string.
|
|
24
|
+
* Handles all Unicode characters including surrogate pairs correctly.
|
|
25
|
+
*
|
|
26
|
+
* @param str The string to measure
|
|
27
|
+
* @returns The byte length when encoded as UTF-8
|
|
28
|
+
*/
|
|
29
|
+
export declare function utf8ByteLength(str: string): number;
|
|
30
|
+
/**
|
|
31
|
+
* Calculate the metered size in bytes of an AppendRecord.
|
|
32
|
+
* This includes the body and headers, but not metadata like timestamp.
|
|
33
|
+
*
|
|
34
|
+
* This function calculates how many bytes the record will occupy
|
|
35
|
+
* after being received and deserialized as raw bytes on the S2 side.
|
|
36
|
+
* For strings, it calculates UTF-8 byte length. For Uint8Array, it uses
|
|
37
|
+
* the array length directly (same value as would be used when encoding
|
|
38
|
+
* to base64 for transmission).
|
|
39
|
+
*
|
|
40
|
+
* @param record The record to measure
|
|
41
|
+
* @returns The size in bytes
|
|
42
|
+
*/
|
|
43
|
+
export declare function meteredSizeBytes(record: AppendRecord): number;
|
|
44
|
+
export declare function computeAppendRecordFormat(record: AppendRecord): "string" | "bytes";
|
|
19
45
|
export {};
|
|
20
46
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,IAAI,gBAAgB,EAChC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,iBAAS,gBAAgB,CACxB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAChB,iBAAS,gBAAgB,CACxB,IAAI,CAAC,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAahB,iBAAS,mBAAmB,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAChB,iBAAS,mBAAmB,CAC3B,OAAO,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAgBhB;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;oCAID,MAAM,cAAc,MAAM,KAAG,YAAY;4BAGjD,MAAM,GAAG,MAAM,cAAc,MAAM,KAAG,YAAY;CAWxD,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiClD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAgC7D;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,GAClB,QAAQ,GAAG,OAAO,CAiBpB"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
function appendRecordMake(body, headers, timestamp) {
|
|
2
|
+
return {
|
|
3
|
+
body,
|
|
4
|
+
headers,
|
|
5
|
+
timestamp,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function appendRecordCommand(command, body, timestamp) {
|
|
9
|
+
const headers = (() => {
|
|
10
|
+
if (typeof command === "string") {
|
|
11
|
+
return [["", command]];
|
|
12
|
+
}
|
|
13
|
+
return [[new TextEncoder().encode(""), command]];
|
|
14
|
+
})();
|
|
15
|
+
// safety: we know the types are correct because of the overloads
|
|
16
|
+
return AppendRecord.make(body, headers, timestamp);
|
|
17
|
+
}
|
|
1
18
|
/**
|
|
2
19
|
* Helpers to construct appendable records.
|
|
3
20
|
*
|
|
@@ -8,45 +25,120 @@
|
|
|
8
25
|
* - `trim` is a command record that encodes a sequence number for trimming
|
|
9
26
|
*/
|
|
10
27
|
export const AppendRecord = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
28
|
+
// overloads for only string or only bytes
|
|
29
|
+
make: appendRecordMake,
|
|
30
|
+
command: appendRecordCommand,
|
|
31
|
+
fence: (fencing_token, timestamp) => {
|
|
32
|
+
return AppendRecord.command("fence", fencing_token, timestamp);
|
|
17
33
|
},
|
|
18
|
-
|
|
19
|
-
/** Command name (e.g. "fence" or "trim"). */
|
|
20
|
-
command, body, additionalHeaders, timestamp) => {
|
|
21
|
-
const headers = (() => {
|
|
22
|
-
if (!additionalHeaders) {
|
|
23
|
-
return [["", command]];
|
|
24
|
-
}
|
|
25
|
-
else if (Array.isArray(additionalHeaders)) {
|
|
26
|
-
return [["", command], ...additionalHeaders];
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return [
|
|
30
|
-
["", command],
|
|
31
|
-
...Object.entries(additionalHeaders).map(([key, value]) => [key, value]),
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
})();
|
|
35
|
-
return {
|
|
36
|
-
body,
|
|
37
|
-
headers,
|
|
38
|
-
timestamp,
|
|
39
|
-
};
|
|
40
|
-
},
|
|
41
|
-
fence: (fencing_token, additionalHeaders, timestamp) => {
|
|
42
|
-
return AppendRecord.command("fence", fencing_token, additionalHeaders, timestamp);
|
|
43
|
-
},
|
|
44
|
-
trim: (seqNum, additionalHeaders, timestamp) => {
|
|
34
|
+
trim: (seqNum, timestamp) => {
|
|
45
35
|
// Encode sequence number as 8 big-endian bytes
|
|
46
36
|
const buffer = new Uint8Array(8);
|
|
47
37
|
const view = new DataView(buffer.buffer);
|
|
48
38
|
view.setBigUint64(0, BigInt(seqNum), false); // false = big-endian
|
|
49
|
-
return AppendRecord.command("trim", buffer,
|
|
39
|
+
return AppendRecord.command(new TextEncoder().encode("trim"), buffer, timestamp);
|
|
50
40
|
},
|
|
51
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Calculate the UTF-8 byte length of a string.
|
|
44
|
+
* Handles all Unicode characters including surrogate pairs correctly.
|
|
45
|
+
*
|
|
46
|
+
* @param str The string to measure
|
|
47
|
+
* @returns The byte length when encoded as UTF-8
|
|
48
|
+
*/
|
|
49
|
+
export function utf8ByteLength(str) {
|
|
50
|
+
let bytes = 0;
|
|
51
|
+
for (let i = 0; i < str.length; i++) {
|
|
52
|
+
const code = str.charCodeAt(i);
|
|
53
|
+
if (code <= 0x7f) {
|
|
54
|
+
bytes += 1;
|
|
55
|
+
}
|
|
56
|
+
else if (code <= 0x7ff) {
|
|
57
|
+
bytes += 2;
|
|
58
|
+
}
|
|
59
|
+
else if (code >= 0xd800 && code <= 0xdbff) {
|
|
60
|
+
// high surrogate
|
|
61
|
+
if (i + 1 < str.length) {
|
|
62
|
+
const next = str.charCodeAt(i + 1);
|
|
63
|
+
if (next >= 0xdc00 && next <= 0xdfff) {
|
|
64
|
+
// valid surrogate pair → 4 bytes in UTF-8
|
|
65
|
+
bytes += 4;
|
|
66
|
+
i++; // skip low surrogate
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// unpaired high surrogate → treat as 3 bytes (replacement-style)
|
|
70
|
+
bytes += 3;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// unpaired high surrogate at end of string
|
|
75
|
+
bytes += 3;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else if (code >= 0xdc00 && code <= 0xdfff) {
|
|
79
|
+
// lone low surrogate — treat as 3 bytes
|
|
80
|
+
bytes += 3;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
bytes += 3;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return bytes;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Calculate the metered size in bytes of an AppendRecord.
|
|
90
|
+
* This includes the body and headers, but not metadata like timestamp.
|
|
91
|
+
*
|
|
92
|
+
* This function calculates how many bytes the record will occupy
|
|
93
|
+
* after being received and deserialized as raw bytes on the S2 side.
|
|
94
|
+
* For strings, it calculates UTF-8 byte length. For Uint8Array, it uses
|
|
95
|
+
* the array length directly (same value as would be used when encoding
|
|
96
|
+
* to base64 for transmission).
|
|
97
|
+
*
|
|
98
|
+
* @param record The record to measure
|
|
99
|
+
* @returns The size in bytes
|
|
100
|
+
*/
|
|
101
|
+
export function meteredSizeBytes(record) {
|
|
102
|
+
// Calculate header size based on actual data types
|
|
103
|
+
let numHeaders = 0;
|
|
104
|
+
let headersSize = 0;
|
|
105
|
+
if (record.headers) {
|
|
106
|
+
if (Array.isArray(record.headers)) {
|
|
107
|
+
numHeaders = record.headers.length;
|
|
108
|
+
headersSize = record.headers.reduce((sum, [k, v]) => {
|
|
109
|
+
// Infer format from key type: string = UTF-8 bytes, Uint8Array = byte length
|
|
110
|
+
const keySize = typeof k === "string" ? utf8ByteLength(k) : k.length;
|
|
111
|
+
const valueSize = typeof v === "string" ? utf8ByteLength(v) : v.length;
|
|
112
|
+
return sum + keySize + valueSize;
|
|
113
|
+
}, 0);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// Record<string, string> format (only for string format)
|
|
117
|
+
const entries = Object.entries(record.headers);
|
|
118
|
+
numHeaders = entries.length;
|
|
119
|
+
headersSize = entries.reduce((sum, [k, v]) => {
|
|
120
|
+
return sum + utf8ByteLength(k) + utf8ByteLength(v);
|
|
121
|
+
}, 0);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Calculate body size based on actual data type
|
|
125
|
+
const bodySize = record.body
|
|
126
|
+
? typeof record.body === "string"
|
|
127
|
+
? utf8ByteLength(record.body)
|
|
128
|
+
: record.body.length
|
|
129
|
+
: 0;
|
|
130
|
+
return 8 + 2 * numHeaders + headersSize + bodySize;
|
|
131
|
+
}
|
|
132
|
+
export function computeAppendRecordFormat(record) {
|
|
133
|
+
let result = "string";
|
|
134
|
+
if (record.body && typeof record.body !== "string") {
|
|
135
|
+
result = "bytes";
|
|
136
|
+
}
|
|
137
|
+
if (record.headers &&
|
|
138
|
+
Array.isArray(record.headers) &&
|
|
139
|
+
record.headers.some(([k, v]) => typeof k !== "string" || typeof v !== "string")) {
|
|
140
|
+
result = "bytes";
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
52
144
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@s2-dev/streamstore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -19,10 +19,8 @@
|
|
|
19
19
|
"format": "biome format --write",
|
|
20
20
|
"version-with-docs": "changeset version && bun run docs && git add docs",
|
|
21
21
|
"release": "changeset publish",
|
|
22
|
-
"pull:proto": "curl -o proto/s2.proto https://raw.githubusercontent.com/s2-streamstore/s2-protos/refs/heads/main/s2/v1/s2.proto",
|
|
23
|
-
"pull:openapi": "curl -o openapi/s2.json https://raw.githubusercontent.com/s2-streamstore/s2-protos/refs/heads/main/s2/v1/openapi.json",
|
|
24
22
|
"gen:openapi": "openapi-ts",
|
|
25
|
-
"gen:proto": "
|
|
23
|
+
"gen:proto": "protoc --ts_out src/generated/proto --ts_opt ts_nocheck --proto_path s2-protos s2-protos/s2/v1/s2.proto && mv src/generated/proto/s2/v1/s2.ts src/generated/proto/s2.ts",
|
|
26
24
|
"docs": "typedoc"
|
|
27
25
|
},
|
|
28
26
|
"main": "./dist/cjs/index.js",
|