@dev.fast/review-share-protocol 0.1.2 → 0.2.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 dev.fast
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.d.ts CHANGED
@@ -1,63 +1,82 @@
1
1
  import { z } from "zod";
2
- export declare const SHARE_FORMAT = "review-share/1";
3
- export declare const MAX_SHARE_MANIFEST_BYTES: number;
4
- export declare const MAX_SHARE_OBJECT_BYTES: number;
2
+ export declare const SHARE_FORMAT = "review-share/2";
3
+ /** The gzipped bundle, as uploaded. */
5
4
  export declare const MAX_SHARE_BYTES: number;
6
- export declare const MAX_SHARE_OBJECTS = 2048;
5
+ /** The bundle once inflated. */
6
+ export declare const MAX_SHARE_JSON_BYTES: number;
7
7
  export declare const objectIdSchema: z.ZodString;
8
8
  export declare const shareIdSchema: z.ZodUUID;
9
9
  export declare const capabilitySchema: z.ZodString;
10
- export declare const shareObjectSchema: z.ZodObject<{
11
- id: z.ZodString;
12
- size: z.ZodNumber;
13
- sha256: z.ZodString;
14
- }, z.core.$strict>;
15
10
  export declare const sharePathSchema: z.ZodString;
16
11
  /** The published identity is independent of the author's credential transport. */
17
12
  export declare function normalizeGitHubRemote(remote: string): string;
18
13
  export declare const gitHubRepositoryUrlSchema: z.ZodString;
19
- export declare const shareManifestSchema: z.ZodObject<{
20
- format: z.ZodLiteral<"review-share/1">;
14
+ /** Code a share carries. An excerpt is the lines a board references; later
15
+ * kinds can carry whole files or name objects read from the repository. */
16
+ export declare const shareSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ kind: z.ZodLiteral<"excerpt">;
18
+ file: z.ZodString;
19
+ commit: z.ZodString;
20
+ fromLine: z.ZodNumber;
21
+ lines: z.ZodArray<z.ZodString>;
22
+ }, z.core.$strict>], "kind">;
23
+ /** One self-contained, gzipped JSON document. */
24
+ export declare const shareBundleSchema: z.ZodObject<{
25
+ format: z.ZodLiteral<"review-share/2">;
21
26
  reviewId: z.ZodString;
22
27
  version: z.ZodNumber;
23
28
  title: z.ZodString;
24
- snapshot: z.ZodString;
25
- presentation: z.ZodString;
26
- objects: z.ZodArray<z.ZodObject<{
27
- id: z.ZodString;
28
- size: z.ZodNumber;
29
- sha256: z.ZodString;
29
+ snapshot: z.ZodRecord<z.ZodString, z.ZodUnknown>;
30
+ images: z.ZodRecord<z.ZodString, z.ZodObject<{
31
+ png: z.ZodBase64;
30
32
  }, z.core.$strict>>;
31
- resources: z.ZodArray<z.ZodObject<{
32
- id: z.ZodString;
33
- kind: z.ZodEnum<{
34
- image: "image";
35
- map: "map";
36
- trace: "trace";
37
- }>;
38
- mimeType: z.ZodEnum<{
39
- "application/json": "application/json";
40
- "image/png": "image/png";
33
+ traces: z.ZodRecord<z.ZodString, z.ZodUnknown>;
34
+ maps: z.ZodRecord<z.ZodString, z.ZodUnknown>;
35
+ commits: z.ZodArray<z.ZodUnknown>;
36
+ selections: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
37
+ side: z.ZodEnum<{
38
+ base: "base";
39
+ head: "head";
41
40
  }>;
42
- object: z.ZodString;
43
- }, z.core.$strict>>;
41
+ file: z.ZodString;
42
+ fromLine: z.ZodNumber;
43
+ toLine: z.ZodNumber;
44
+ pins: z.ZodOptional<z.ZodObject<{
45
+ repositoryId: z.ZodString;
46
+ head: z.ZodString;
47
+ base: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strict>>;
49
+ }, z.core.$strict>>>;
50
+ sources: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
51
+ kind: z.ZodLiteral<"excerpt">;
52
+ file: z.ZodString;
53
+ commit: z.ZodString;
54
+ fromLine: z.ZodNumber;
55
+ lines: z.ZodArray<z.ZodString>;
56
+ }, z.core.$strict>], "kind">>;
44
57
  repository: z.ZodOptional<z.ZodObject<{
45
58
  cloneUrl: z.ZodString;
46
59
  }, z.core.$strict>>;
47
60
  }, z.core.$strict>;
48
- export type ShareManifest = z.infer<typeof shareManifestSchema>;
49
- export type ShareObject = z.infer<typeof shareObjectSchema>;
61
+ export type ShareBundle = z.infer<typeof shareBundleSchema>;
62
+ export type ShareSource = z.infer<typeof shareSourceSchema>;
50
63
  export declare const createShareSchema: z.ZodObject<{
51
64
  requestId: z.ZodUUID;
52
- manifest: z.ZodObject<{
65
+ reviewId: z.ZodString;
66
+ version: z.ZodNumber;
67
+ title: z.ZodString;
68
+ bundle: z.ZodObject<{
53
69
  sha256: z.ZodString;
54
70
  size: z.ZodNumber;
55
71
  }, z.core.$strict>;
56
72
  }, z.core.$strict>;
57
- export declare function shareLink(origin: string, id: string, capability: string): string;
73
+ export declare function packShare(bundle: ShareBundle): Promise<Uint8Array>;
74
+ /** Inflates within MAX_SHARE_JSON_BYTES, then validates the envelope. */
75
+ export declare function unpackShare(bytes: Uint8Array): Promise<ShareBundle>;
76
+ /** The capability is the link's last path segment; the server stores only its digest. */
77
+ export declare function shareLink(origin: string, capability: string): string;
58
78
  export declare function parseShareLink(value: string): {
59
79
  origin: string;
60
- shareId: string;
61
80
  capability: string;
62
81
  };
63
82
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAE7C,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAExD,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD,eAAO,MAAM,eAAe,QAAoB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,cAAc,aAAqC,CAAC;AAEjE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,eAAO,MAAM,gBAAgB,aAA0C,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;kBAS3B,CAAC;AAEJ,eAAO,MAAM,eAAe,aAazB,CAAC;AAEJ,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA8B5D;AAED,eAAO,MAAM,yBAAyB,aAMgC,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqD5B,CAAC;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;kBAM5B,CAAC;AAEH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM;IAQxC,MAAM;IACN,OAAO;IACP,UAAU;EAEb"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAE7C,uCAAuC;AACvC,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAEtD,eAAO,MAAM,cAAc,aAAqC,CAAC;AAEjE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,eAAO,MAAM,gBAAgB,aAA0C,CAAC;AAExE,eAAO,MAAM,eAAe,aAazB,CAAC;AAEJ,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA8B5D;AAED,eAAO,MAAM,yBAAyB,aAMgC,CAAC;AAMvE;2EAC2E;AAC3E,eAAO,MAAM,iBAAiB;;;;;;4BAQ5B,CAAC;AAgBH,iDAAiD;AACjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;kBAS5B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAQxE;AAED,yEAAyE;AACzE,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBzE;AAED,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM;IAaxC,MAAM;IACN,UAAU;EAIb"}
package/dist/index.js CHANGED
@@ -1,19 +1,12 @@
1
1
  import { z } from "zod";
2
- export const SHARE_FORMAT = "review-share/1";
3
- export const MAX_SHARE_MANIFEST_BYTES = 2 * 1024 * 1024;
4
- export const MAX_SHARE_OBJECT_BYTES = 32 * 1024 * 1024;
5
- export const MAX_SHARE_BYTES = 128 * 1024 * 1024;
6
- export const MAX_SHARE_OBJECTS = 2048;
2
+ export const SHARE_FORMAT = "review-share/2";
3
+ /** The gzipped bundle, as uploaded. */
4
+ export const MAX_SHARE_BYTES = 32 * 1024 * 1024;
5
+ /** The bundle once inflated. */
6
+ export const MAX_SHARE_JSON_BYTES = 128 * 1024 * 1024;
7
7
  export const objectIdSchema = z.string().regex(/^[a-f0-9]{64}$/);
8
8
  export const shareIdSchema = z.uuid();
9
9
  export const capabilitySchema = z.string().regex(/^[A-Za-z0-9_-]{43}$/);
10
- export const shareObjectSchema = z
11
- .strictObject({
12
- id: objectIdSchema,
13
- size: z.number().int().min(0).max(MAX_SHARE_OBJECT_BYTES),
14
- sha256: objectIdSchema,
15
- })
16
- .refine((object) => object.id === object.sha256, "Object ID must match its digest.");
17
10
  export const sharePathSchema = z
18
11
  .string()
19
12
  .min(1)
@@ -51,68 +44,102 @@ export const gitHubRepositoryUrlSchema = z.string().refine((value) => {
51
44
  return false;
52
45
  }
53
46
  }, "Use a canonical GitHub HTTPS repository URL without credentials.");
54
- export const shareManifestSchema = z
55
- .strictObject({
47
+ const commitSchema = z.string().regex(/^[a-f0-9]{40}([a-f0-9]{24})?$/);
48
+ const sideSchema = z.enum(["base", "head"]);
49
+ /** Code a share carries. An excerpt is the lines a board references; later
50
+ * kinds can carry whole files or name objects read from the repository. */
51
+ export const shareSourceSchema = z.discriminatedUnion("kind", [
52
+ z.strictObject({
53
+ kind: z.literal("excerpt"),
54
+ file: sharePathSchema,
55
+ commit: commitSchema,
56
+ fromLine: z.number().int().positive(),
57
+ lines: z.array(z.string()).min(1),
58
+ }),
59
+ ]);
60
+ const lineRangeSchema = z.strictObject({
61
+ side: sideSchema,
62
+ file: sharePathSchema,
63
+ fromLine: z.number().int().positive(),
64
+ toLine: z.number().int().positive(),
65
+ pins: z
66
+ .strictObject({
67
+ repositoryId: z.string(),
68
+ head: z.string(),
69
+ base: z.string().optional(),
70
+ })
71
+ .optional(),
72
+ });
73
+ /** One self-contained, gzipped JSON document. */
74
+ export const shareBundleSchema = z.strictObject({
56
75
  format: z.literal(SHARE_FORMAT),
57
76
  reviewId: z.string().min(1).max(256),
58
77
  version: z.number().int().nonnegative(),
59
78
  title: z.string().min(1).max(4096),
60
- snapshot: objectIdSchema,
61
- presentation: objectIdSchema,
62
- objects: z.array(shareObjectSchema).min(2).max(MAX_SHARE_OBJECTS),
63
- resources: z
64
- .array(z.strictObject({
65
- id: z.string().min(1).max(256),
66
- kind: z.enum(["image", "trace", "map"]),
67
- mimeType: z.enum(["image/png", "application/json"]),
68
- object: objectIdSchema,
69
- }))
70
- .max(MAX_SHARE_OBJECTS),
79
+ /** Validated against the document schema by the reader. */
80
+ snapshot: z.record(z.string(), z.unknown()),
81
+ images: z.record(z.string(), z.strictObject({ png: z.base64() })),
82
+ traces: z.record(z.string(), z.unknown()),
83
+ maps: z.record(z.string(), z.unknown()),
84
+ commits: z.array(z.unknown()),
85
+ /** Each reference's lines, resolved where the board was shared. */
86
+ selections: z.record(z.string(), z.array(lineRangeSchema)),
87
+ sources: z.array(shareSourceSchema),
71
88
  repository: z
72
89
  .strictObject({ cloneUrl: gitHubRepositoryUrlSchema })
73
90
  .optional(),
74
- })
75
- .superRefine((manifest, context) => {
76
- const ids = new Set(manifest.objects.map((object) => object.id));
77
- const fail = (message) => context.addIssue({ code: "custom", message });
78
- if (ids.size !== manifest.objects.length)
79
- fail("Duplicate object ID.");
80
- if (manifest.objects.reduce((size, object) => size + object.size, 0) >
81
- MAX_SHARE_BYTES)
82
- fail("Share exceeds the total byte limit.");
83
- for (const id of [
84
- manifest.snapshot,
85
- manifest.presentation,
86
- ...manifest.resources.map((resource) => resource.object),
87
- ])
88
- if (!ids.has(id))
89
- fail("Reference to an undeclared object.");
90
- if (new Set(manifest.resources.map((resource) => resource.id)).size !==
91
- manifest.resources.length)
92
- fail("Duplicate resource ID.");
93
- for (const resource of manifest.resources)
94
- if ((resource.kind === "image") !== (resource.mimeType === "image/png"))
95
- fail("Resource MIME type does not match its kind.");
96
91
  });
97
92
  export const createShareSchema = z.strictObject({
98
93
  requestId: z.uuid(),
99
- manifest: z.strictObject({
94
+ reviewId: z.string().min(1).max(256),
95
+ version: z.number().int().nonnegative(),
96
+ title: z.string().min(1).max(4096),
97
+ bundle: z.strictObject({
100
98
  sha256: objectIdSchema,
101
- size: z.number().int().positive().max(MAX_SHARE_MANIFEST_BYTES),
99
+ size: z.number().int().positive().max(MAX_SHARE_BYTES),
102
100
  }),
103
101
  });
104
- export function shareLink(origin, id, capability) {
105
- return new URL(`/s/${shareIdSchema.parse(id)}#${capabilitySchema.parse(capability)}`, origin).href;
102
+ export async function packShare(bundle) {
103
+ const json = new Blob([JSON.stringify(shareBundleSchema.parse(bundle))]);
104
+ return new Uint8Array(await new Response(json.stream().pipeThrough(new CompressionStream("gzip"))).arrayBuffer());
105
+ }
106
+ /** Inflates within MAX_SHARE_JSON_BYTES, then validates the envelope. */
107
+ export async function unpackShare(bytes) {
108
+ const reader = new Blob([Uint8Array.from(bytes)])
109
+ .stream()
110
+ .pipeThrough(new DecompressionStream("gzip"))
111
+ .getReader();
112
+ const decoder = new TextDecoder();
113
+ let json = "";
114
+ let size = 0;
115
+ for (;;) {
116
+ const { done, value } = await reader.read();
117
+ if (done)
118
+ break;
119
+ size += value.byteLength;
120
+ if (size > MAX_SHARE_JSON_BYTES) {
121
+ await reader.cancel();
122
+ throw new Error("Share exceeds its size limit.");
123
+ }
124
+ json += decoder.decode(value, { stream: true });
125
+ }
126
+ return shareBundleSchema.parse(JSON.parse(json + decoder.decode()));
127
+ }
128
+ /** The capability is the link's last path segment; the server stores only its digest. */
129
+ export function shareLink(origin, capability) {
130
+ return new URL(`/s/${capabilitySchema.parse(capability)}`, origin).href;
106
131
  }
107
132
  export function parseShareLink(value) {
108
133
  const url = new URL(value);
109
- if (url.protocol !== "https:" || url.username || url.password || url.search)
110
- throw new Error("Use an HTTPS Review share link.");
111
- const match = /^\/s\/([^/]+)$/.exec(url.pathname);
134
+ if (url.protocol !== "https:" ||
135
+ url.username ||
136
+ url.password ||
137
+ url.hash ||
138
+ [...url.searchParams.keys()].some((key) => key !== "app"))
139
+ throw new Error("Use an HTTPS Whiteboard share link.");
112
140
  return {
113
141
  origin: url.origin,
114
- shareId: shareIdSchema.parse(match?.[1]),
115
- capability: capabilitySchema.parse(url.hash.slice(1)),
142
+ capability: capabilitySchema.parse(/^\/s\/([^/]+)$/.exec(url.pathname)?.[1]),
116
143
  };
117
144
  }
118
145
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev.fast/review-share-protocol",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Portable immutable Review sharing envelope.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,19 +23,18 @@
23
23
  "access": "public",
24
24
  "registry": "https://registry.npmjs.org"
25
25
  },
26
- "scripts": {
27
- "build": "pnpm -w exec tsc -p packages/review-share-protocol/tsconfig.build.json",
28
- "test": "vitest run --config vitest.config.ts",
29
- "typecheck": "pnpm -w exec tsc -p packages/review-share-protocol/tsconfig.json --noEmit",
30
- "prepublishOnly": "pnpm run build && pnpm run test"
31
- },
32
26
  "dependencies": {
33
- "zod": "4.4.3"
27
+ "zod": "4.6.5"
34
28
  },
35
29
  "devDependencies": {
36
30
  "vitest": "4.1.11"
37
31
  },
38
32
  "engines": {
39
33
  "node": ">=22"
34
+ },
35
+ "scripts": {
36
+ "build": "pnpm -w exec tsc -p packages/review-share-protocol/tsconfig.build.json",
37
+ "test": "vitest run --config vitest.config.ts",
38
+ "typecheck": "pnpm -w exec tsc -p packages/review-share-protocol/tsconfig.json --noEmit"
40
39
  }
41
- }
40
+ }