@osstack/protocol 0.15.0 → 0.20.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.
Files changed (40) hide show
  1. package/dist/generate.d.ts +1 -0
  2. package/dist/generate.d.ts.map +1 -1
  3. package/dist/generate.js +43 -1
  4. package/dist/generate.js.map +1 -1
  5. package/dist/graph-checkpoint.d.ts +409 -0
  6. package/dist/graph-checkpoint.d.ts.map +1 -0
  7. package/dist/graph-checkpoint.js +91 -0
  8. package/dist/graph-checkpoint.js.map +1 -0
  9. package/dist/graph-worker.d.ts +1663 -0
  10. package/dist/graph-worker.d.ts.map +1 -0
  11. package/dist/graph-worker.js +152 -0
  12. package/dist/graph-worker.js.map +1 -0
  13. package/dist/graph.d.ts +12875 -0
  14. package/dist/graph.d.ts.map +1 -0
  15. package/dist/graph.js +423 -0
  16. package/dist/graph.js.map +1 -0
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/run.d.ts +2 -2
  22. package/dist/session-continuation-grant.d.ts +414 -0
  23. package/dist/session-continuation-grant.d.ts.map +1 -0
  24. package/dist/session-continuation-grant.js +59 -0
  25. package/dist/session-continuation-grant.js.map +1 -0
  26. package/dist/session-continuation.d.ts +129 -0
  27. package/dist/session-continuation.d.ts.map +1 -0
  28. package/dist/session-continuation.js +30 -0
  29. package/dist/session-continuation.js.map +1 -0
  30. package/dist/task.d.ts +2 -2
  31. package/package.json +2 -2
  32. package/schemas/continuation-grant-body.schema.json +189 -0
  33. package/schemas/continuation-output-check.schema.json +65 -0
  34. package/schemas/graph-checkpoint-request.schema.json +222 -0
  35. package/schemas/graph-checkpoint-response.schema.json +258 -0
  36. package/schemas/graph-worker.schema.json +546 -0
  37. package/schemas/graph.schema.json +1768 -0
  38. package/schemas/session-continuation-request.schema.json +62 -0
  39. package/schemas/session-decision.schema.json +107 -0
  40. package/schemas/signed-continuation-grant.schema.json +209 -0
@@ -7,6 +7,7 @@ interface SchemaEntry {
7
7
  /** Optional top-level $comment embedded in the generated JSON Schema. */
8
8
  comment?: string;
9
9
  schema: ZodTypeAny;
10
+ references?: "root";
10
11
  }
11
12
  /** Public protocol contracts emitted as JSON Schema. Order is stable. */
12
13
  export declare const SCHEMA_MANIFEST: readonly SchemaEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAoBtC,UAAU,WAAW;IACnB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,yEAAyE;AACzE,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EA+CjD,CAAC;AAkBF,2DAA2D;AAC3D,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpD"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAuBtC,UAAU,WAAW;IACnB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yEAAyE;AACzE,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EAoFjD,CAAC;AAkBF,2DAA2D;AAC3D,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpD"}
package/dist/generate.js CHANGED
@@ -9,6 +9,9 @@
9
9
  // cannot represent. The generated agent-command-result schema therefore
10
10
  // documents the object SHAPE only; the conditional rules live in the superRefine
11
11
  // and the tests. This is a known, documented limitation, not a gap.
12
+ import { GraphWorkerMessage } from "./graph-worker.js";
13
+ import { GraphCheckpointRequest, GraphCheckpointResponse } from "./graph-checkpoint.js";
14
+ import { GraphProtocol } from "./graph.js";
12
15
  import { zodToJsonSchema } from "zod-to-json-schema";
13
16
  import { AgentCommand, AgentCommandResultObject, } from "./envelope.js";
14
17
  import { ApprovalDecision, ApprovalRequest } from "./approval.js";
@@ -18,14 +21,53 @@ import { EventEnvelope } from "./event.js";
18
21
  import { PolicyDecision } from "./policy.js";
19
22
  import { RunSummary } from "./run.js";
20
23
  import { Task } from "./task.js";
24
+ import { SessionContinuationRequest, SessionDecision } from "./session-continuation.js";
25
+ import { ContinuationGrantBody, OutputCheck, SignedContinuationGrant } from "./session-continuation-grant.js";
21
26
  /** Public protocol contracts emitted as JSON Schema. Order is stable. */
22
27
  export const SCHEMA_MANIFEST = [
28
+ { key: "graph-worker", title: "Graph Worker IPC", schema: GraphWorkerMessage, references: "root", comment: "Dedicated length-prefixed fd3 transport; cap raw bytes before allocation and JSON.parse. Host registration supplies authority. done is not process exit evidence." },
29
+ { key: "graph-checkpoint-request", title: "Graph Checkpoint Request", schema: GraphCheckpointRequest, comment: "Opaque bounded codec data; transport caps raw frames at 8 MiB. Host binds authenticated run and fences transaction before reads, writes and replay. No JSON field confers authority." },
30
+ { key: "graph-checkpoint-response", title: "Graph Checkpoint Response", schema: GraphCheckpointResponse },
31
+ {
32
+ key: "graph", title: "Osstack Graph v1 Contract Registry", schema: GraphProtocol, references: "root",
33
+ comment: "Registry of strict versioned JSON graph contracts. Zod additionally enforces finite JSON values, 65536-byte/16-depth/4096-value envelope bounds, plain data properties, response outcome/error consistency and effect/error location. Transport must cap raw bytes before JSON.parse. Authentication, current scope/run/generation/spec/epoch checks, request/response pairing, canonical digests, idempotency and scoped revision decisions require the protocol helpers. Trusted daemon integration must verify identity, authority, artifacts and leases and enforce durable atomic CAS/dedup. No checkpoint or graph data grants authority.",
34
+ },
23
35
  { key: "task", title: "Osstack Protocol Task", schema: Task },
24
36
  { key: "run-summary", title: "Osstack Protocol Run Summary", schema: RunSummary },
25
37
  { key: "event-envelope", title: "Osstack Protocol Event Envelope", schema: EventEnvelope },
26
38
  { key: "evidence-ref", title: "Osstack Protocol Evidence Ref", schema: EvidenceRef },
27
39
  { key: "approval-request", title: "Osstack Protocol Approval Request", schema: ApprovalRequest },
28
40
  { key: "approval-decision", title: "Osstack Protocol Approval Decision", schema: ApprovalDecision },
41
+ {
42
+ key: "session-continuation-request",
43
+ title: "Osstack Session Continuation Request",
44
+ comment: "Agent-reported request only. Evidence references must be independently verified and this object never authorizes an action.",
45
+ schema: SessionContinuationRequest,
46
+ },
47
+ {
48
+ key: "session-decision",
49
+ title: "Osstack Session Decision Request",
50
+ comment: "Choice ID uniqueness is additionally enforced by Zod. The optional continuation is an untrusted request, not an approval.",
51
+ schema: SessionDecision,
52
+ },
53
+ {
54
+ key: "continuation-output-check",
55
+ title: "Osstack Continuation Persisted Output Check",
56
+ comment: "Checks only a declared equality contract against persisted assistant_text. JSON paths use literal own-property keys; an empty path selects the root primitive. This is not proof of open-ended quality or permission to execute scripts.",
57
+ schema: OutputCheck,
58
+ },
59
+ {
60
+ key: "continuation-grant-body",
61
+ title: "Osstack Session Continuation Grant Body",
62
+ comment: "Frozen finite instructions bound to a session and runtime policy. Zod additionally rejects NUL in repo_path and whitespace-only instructions without trimming their contents. Each step checks persisted output before sending its instruction. Completion means the delegated instructions finished, not that the user's whole task succeeded. Runtime verification enforces issued_at <= now < expires_at and a positive validity interval of at most 24 hours; durable consumption belongs to the session control plane.",
63
+ schema: ContinuationGrantBody,
64
+ },
65
+ {
66
+ key: "signed-continuation-grant",
67
+ title: "Osstack Signed Session Continuation Grant",
68
+ comment: "Ed25519 signs UTF-8 canonical JSON of the strictly parsed body (defaults included, object keys sorted, array order preserved). Zod additionally rejects NUL in repo_path and whitespace-only instructions without rewriting their contents. Signature and trusted-key verification are required at runtime. This grant carries no R3 or GitHub approval authority.",
69
+ schema: SignedContinuationGrant,
70
+ },
29
71
  {
30
72
  key: "autonomy-risk-level",
31
73
  title: "Osstack Guarded Autonomy Risk Level",
@@ -67,7 +109,7 @@ export const SCHEMA_MANIFEST = [
67
109
  function renderSchema(entry) {
68
110
  const json = zodToJsonSchema(entry.schema, {
69
111
  target: "jsonSchema7",
70
- $refStrategy: "none",
112
+ $refStrategy: entry.references ?? "none",
71
113
  });
72
114
  // Stable, self-describing header fields, independent of Zod internals.
73
115
  const withMeta = {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,409 @@
1
+ import { z } from 'zod';
2
+ export declare const GRAPH_CHECKPOINT_MAX_FRAME_BYTES: number;
3
+ export declare const GRAPH_CHECKPOINT_MAX_TUPLE_BYTES: number;
4
+ export declare const GRAPH_CHECKPOINT_MAX_PAGE_SIZE = 16;
5
+ export declare const GraphCheckpointTupleWire: z.ZodObject<{
6
+ parentCheckpointId: z.ZodOptional<z.ZodString>;
7
+ checkpoint: z.ZodEffects<z.ZodString, string, string>;
8
+ metadata: z.ZodEffects<z.ZodString, string, string>;
9
+ newVersions: z.ZodEffects<z.ZodString, string, string>;
10
+ pendingWrites: z.ZodArray<z.ZodObject<{
11
+ channel: z.ZodString;
12
+ index: z.ZodNumber;
13
+ value: z.ZodEffects<z.ZodString, string, string>;
14
+ } & {
15
+ taskId: z.ZodString;
16
+ }, "strict", z.ZodTypeAny, {
17
+ value: string;
18
+ channel: string;
19
+ index: number;
20
+ taskId: string;
21
+ }, {
22
+ value: string;
23
+ channel: string;
24
+ index: number;
25
+ taskId: string;
26
+ }>, "many">;
27
+ threadId: z.ZodString;
28
+ namespace: z.ZodString;
29
+ checkpointId: z.ZodString;
30
+ }, "strict", z.ZodTypeAny, {
31
+ metadata: string;
32
+ checkpoint: string;
33
+ namespace: string;
34
+ checkpointId: string;
35
+ newVersions: string;
36
+ pendingWrites: {
37
+ value: string;
38
+ channel: string;
39
+ index: number;
40
+ taskId: string;
41
+ }[];
42
+ threadId: string;
43
+ parentCheckpointId?: string | undefined;
44
+ }, {
45
+ metadata: string;
46
+ checkpoint: string;
47
+ namespace: string;
48
+ checkpointId: string;
49
+ newVersions: string;
50
+ pendingWrites: {
51
+ value: string;
52
+ channel: string;
53
+ index: number;
54
+ taskId: string;
55
+ }[];
56
+ threadId: string;
57
+ parentCheckpointId?: string | undefined;
58
+ }>;
59
+ export type GraphCheckpointTupleWire = z.infer<typeof GraphCheckpointTupleWire>;
60
+ export declare const GraphCheckpointRequest: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
61
+ checkpointId: z.ZodOptional<z.ZodString>;
62
+ threadId: z.ZodString;
63
+ namespace: z.ZodString;
64
+ kind: z.ZodLiteral<"get">;
65
+ }, "strict", z.ZodTypeAny, {
66
+ kind: "get";
67
+ namespace: string;
68
+ threadId: string;
69
+ checkpointId?: string | undefined;
70
+ }, {
71
+ kind: "get";
72
+ namespace: string;
73
+ threadId: string;
74
+ checkpointId?: string | undefined;
75
+ }>, z.ZodObject<{
76
+ kind: z.ZodLiteral<"list">;
77
+ threadId: z.ZodString;
78
+ namespace: z.ZodOptional<z.ZodString>;
79
+ checkpointId: z.ZodOptional<z.ZodString>;
80
+ before: z.ZodOptional<z.ZodString>;
81
+ cursor: z.ZodOptional<z.ZodObject<{
82
+ namespace: z.ZodString;
83
+ checkpointId: z.ZodString;
84
+ }, "strict", z.ZodTypeAny, {
85
+ namespace: string;
86
+ checkpointId: string;
87
+ }, {
88
+ namespace: string;
89
+ checkpointId: string;
90
+ }>>;
91
+ pageSize: z.ZodNumber;
92
+ }, "strict", z.ZodTypeAny, {
93
+ kind: "list";
94
+ threadId: string;
95
+ pageSize: number;
96
+ namespace?: string | undefined;
97
+ checkpointId?: string | undefined;
98
+ before?: string | undefined;
99
+ cursor?: {
100
+ namespace: string;
101
+ checkpointId: string;
102
+ } | undefined;
103
+ }, {
104
+ kind: "list";
105
+ threadId: string;
106
+ pageSize: number;
107
+ namespace?: string | undefined;
108
+ checkpointId?: string | undefined;
109
+ before?: string | undefined;
110
+ cursor?: {
111
+ namespace: string;
112
+ checkpointId: string;
113
+ } | undefined;
114
+ }>, z.ZodObject<{
115
+ parentCheckpointId: z.ZodOptional<z.ZodString>;
116
+ checkpoint: z.ZodEffects<z.ZodString, string, string>;
117
+ metadata: z.ZodEffects<z.ZodString, string, string>;
118
+ newVersions: z.ZodEffects<z.ZodString, string, string>;
119
+ threadId: z.ZodString;
120
+ namespace: z.ZodString;
121
+ checkpointId: z.ZodString;
122
+ kind: z.ZodLiteral<"put">;
123
+ requestId: z.ZodString;
124
+ }, "strict", z.ZodTypeAny, {
125
+ kind: "put";
126
+ requestId: string;
127
+ metadata: string;
128
+ checkpoint: string;
129
+ namespace: string;
130
+ checkpointId: string;
131
+ newVersions: string;
132
+ threadId: string;
133
+ parentCheckpointId?: string | undefined;
134
+ }, {
135
+ kind: "put";
136
+ requestId: string;
137
+ metadata: string;
138
+ checkpoint: string;
139
+ namespace: string;
140
+ checkpointId: string;
141
+ newVersions: string;
142
+ threadId: string;
143
+ parentCheckpointId?: string | undefined;
144
+ }>, z.ZodObject<{
145
+ taskId: z.ZodString;
146
+ writes: z.ZodArray<z.ZodObject<{
147
+ channel: z.ZodString;
148
+ index: z.ZodNumber;
149
+ value: z.ZodEffects<z.ZodString, string, string>;
150
+ }, "strict", z.ZodTypeAny, {
151
+ value: string;
152
+ channel: string;
153
+ index: number;
154
+ }, {
155
+ value: string;
156
+ channel: string;
157
+ index: number;
158
+ }>, "many">;
159
+ threadId: z.ZodString;
160
+ namespace: z.ZodString;
161
+ checkpointId: z.ZodString;
162
+ kind: z.ZodLiteral<"writes">;
163
+ requestId: z.ZodString;
164
+ }, "strict", z.ZodTypeAny, {
165
+ kind: "writes";
166
+ requestId: string;
167
+ namespace: string;
168
+ checkpointId: string;
169
+ taskId: string;
170
+ threadId: string;
171
+ writes: {
172
+ value: string;
173
+ channel: string;
174
+ index: number;
175
+ }[];
176
+ }, {
177
+ kind: "writes";
178
+ requestId: string;
179
+ namespace: string;
180
+ checkpointId: string;
181
+ taskId: string;
182
+ threadId: string;
183
+ writes: {
184
+ value: string;
185
+ channel: string;
186
+ index: number;
187
+ }[];
188
+ }>]>;
189
+ export type GraphCheckpointRequest = z.infer<typeof GraphCheckpointRequest>;
190
+ export declare const GraphCheckpointResponse: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
191
+ kind: z.ZodLiteral<"get">;
192
+ tuple: z.ZodNullable<z.ZodObject<{
193
+ parentCheckpointId: z.ZodOptional<z.ZodString>;
194
+ checkpoint: z.ZodEffects<z.ZodString, string, string>;
195
+ metadata: z.ZodEffects<z.ZodString, string, string>;
196
+ newVersions: z.ZodEffects<z.ZodString, string, string>;
197
+ pendingWrites: z.ZodArray<z.ZodObject<{
198
+ channel: z.ZodString;
199
+ index: z.ZodNumber;
200
+ value: z.ZodEffects<z.ZodString, string, string>;
201
+ } & {
202
+ taskId: z.ZodString;
203
+ }, "strict", z.ZodTypeAny, {
204
+ value: string;
205
+ channel: string;
206
+ index: number;
207
+ taskId: string;
208
+ }, {
209
+ value: string;
210
+ channel: string;
211
+ index: number;
212
+ taskId: string;
213
+ }>, "many">;
214
+ threadId: z.ZodString;
215
+ namespace: z.ZodString;
216
+ checkpointId: z.ZodString;
217
+ }, "strict", z.ZodTypeAny, {
218
+ metadata: string;
219
+ checkpoint: string;
220
+ namespace: string;
221
+ checkpointId: string;
222
+ newVersions: string;
223
+ pendingWrites: {
224
+ value: string;
225
+ channel: string;
226
+ index: number;
227
+ taskId: string;
228
+ }[];
229
+ threadId: string;
230
+ parentCheckpointId?: string | undefined;
231
+ }, {
232
+ metadata: string;
233
+ checkpoint: string;
234
+ namespace: string;
235
+ checkpointId: string;
236
+ newVersions: string;
237
+ pendingWrites: {
238
+ value: string;
239
+ channel: string;
240
+ index: number;
241
+ taskId: string;
242
+ }[];
243
+ threadId: string;
244
+ parentCheckpointId?: string | undefined;
245
+ }>>;
246
+ }, "strict", z.ZodTypeAny, {
247
+ kind: "get";
248
+ tuple: {
249
+ metadata: string;
250
+ checkpoint: string;
251
+ namespace: string;
252
+ checkpointId: string;
253
+ newVersions: string;
254
+ pendingWrites: {
255
+ value: string;
256
+ channel: string;
257
+ index: number;
258
+ taskId: string;
259
+ }[];
260
+ threadId: string;
261
+ parentCheckpointId?: string | undefined;
262
+ } | null;
263
+ }, {
264
+ kind: "get";
265
+ tuple: {
266
+ metadata: string;
267
+ checkpoint: string;
268
+ namespace: string;
269
+ checkpointId: string;
270
+ newVersions: string;
271
+ pendingWrites: {
272
+ value: string;
273
+ channel: string;
274
+ index: number;
275
+ taskId: string;
276
+ }[];
277
+ threadId: string;
278
+ parentCheckpointId?: string | undefined;
279
+ } | null;
280
+ }>, z.ZodObject<{
281
+ kind: z.ZodLiteral<"list">;
282
+ tuples: z.ZodArray<z.ZodObject<{
283
+ parentCheckpointId: z.ZodOptional<z.ZodString>;
284
+ checkpoint: z.ZodEffects<z.ZodString, string, string>;
285
+ metadata: z.ZodEffects<z.ZodString, string, string>;
286
+ newVersions: z.ZodEffects<z.ZodString, string, string>;
287
+ pendingWrites: z.ZodArray<z.ZodObject<{
288
+ channel: z.ZodString;
289
+ index: z.ZodNumber;
290
+ value: z.ZodEffects<z.ZodString, string, string>;
291
+ } & {
292
+ taskId: z.ZodString;
293
+ }, "strict", z.ZodTypeAny, {
294
+ value: string;
295
+ channel: string;
296
+ index: number;
297
+ taskId: string;
298
+ }, {
299
+ value: string;
300
+ channel: string;
301
+ index: number;
302
+ taskId: string;
303
+ }>, "many">;
304
+ threadId: z.ZodString;
305
+ namespace: z.ZodString;
306
+ checkpointId: z.ZodString;
307
+ }, "strict", z.ZodTypeAny, {
308
+ metadata: string;
309
+ checkpoint: string;
310
+ namespace: string;
311
+ checkpointId: string;
312
+ newVersions: string;
313
+ pendingWrites: {
314
+ value: string;
315
+ channel: string;
316
+ index: number;
317
+ taskId: string;
318
+ }[];
319
+ threadId: string;
320
+ parentCheckpointId?: string | undefined;
321
+ }, {
322
+ metadata: string;
323
+ checkpoint: string;
324
+ namespace: string;
325
+ checkpointId: string;
326
+ newVersions: string;
327
+ pendingWrites: {
328
+ value: string;
329
+ channel: string;
330
+ index: number;
331
+ taskId: string;
332
+ }[];
333
+ threadId: string;
334
+ parentCheckpointId?: string | undefined;
335
+ }>, "many">;
336
+ cursor: z.ZodOptional<z.ZodObject<{
337
+ namespace: z.ZodString;
338
+ checkpointId: z.ZodString;
339
+ }, "strict", z.ZodTypeAny, {
340
+ namespace: string;
341
+ checkpointId: string;
342
+ }, {
343
+ namespace: string;
344
+ checkpointId: string;
345
+ }>>;
346
+ }, "strict", z.ZodTypeAny, {
347
+ kind: "list";
348
+ tuples: {
349
+ metadata: string;
350
+ checkpoint: string;
351
+ namespace: string;
352
+ checkpointId: string;
353
+ newVersions: string;
354
+ pendingWrites: {
355
+ value: string;
356
+ channel: string;
357
+ index: number;
358
+ taskId: string;
359
+ }[];
360
+ threadId: string;
361
+ parentCheckpointId?: string | undefined;
362
+ }[];
363
+ cursor?: {
364
+ namespace: string;
365
+ checkpointId: string;
366
+ } | undefined;
367
+ }, {
368
+ kind: "list";
369
+ tuples: {
370
+ metadata: string;
371
+ checkpoint: string;
372
+ namespace: string;
373
+ checkpointId: string;
374
+ newVersions: string;
375
+ pendingWrites: {
376
+ value: string;
377
+ channel: string;
378
+ index: number;
379
+ taskId: string;
380
+ }[];
381
+ threadId: string;
382
+ parentCheckpointId?: string | undefined;
383
+ }[];
384
+ cursor?: {
385
+ namespace: string;
386
+ checkpointId: string;
387
+ } | undefined;
388
+ }>, z.ZodObject<{
389
+ kind: z.ZodLiteral<"put">;
390
+ checkpointId: z.ZodString;
391
+ }, "strict", z.ZodTypeAny, {
392
+ kind: "put";
393
+ checkpointId: string;
394
+ }, {
395
+ kind: "put";
396
+ checkpointId: string;
397
+ }>, z.ZodObject<{
398
+ kind: z.ZodLiteral<"writes">;
399
+ }, "strict", z.ZodTypeAny, {
400
+ kind: "writes";
401
+ }, {
402
+ kind: "writes";
403
+ }>]>;
404
+ export type GraphCheckpointResponse = z.infer<typeof GraphCheckpointResponse>;
405
+ /** Supplied by trusted host binding. JSON fields never confer authenticated scope. */
406
+ export type GraphCheckpointTransport = (request: GraphCheckpointRequest) => Promise<GraphCheckpointResponse>;
407
+ export declare function parseGraphCheckpointRequest(value: unknown): GraphCheckpointRequest;
408
+ export declare function parseGraphCheckpointResponse(value: unknown): GraphCheckpointResponse;
409
+ //# sourceMappingURL=graph-checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-checkpoint.d.ts","sourceRoot":"","sources":["../src/graph-checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAChE,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAChE,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAOjD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAChF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAuC7G,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAElF;AACD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAEpF"}
@@ -0,0 +1,91 @@
1
+ import { types } from 'node:util';
2
+ import { z } from 'zod';
3
+ export const GRAPH_CHECKPOINT_MAX_FRAME_BYTES = 8 * 1024 * 1024;
4
+ export const GRAPH_CHECKPOINT_MAX_TUPLE_BYTES = 4 * 1024 * 1024;
5
+ export const GRAPH_CHECKPOINT_MAX_PAGE_SIZE = 16;
6
+ const id = z.string().min(1).max(256);
7
+ const namespace = z.string().max(1024);
8
+ const wire = z.string().max(1_048_576).refine((s) => Buffer.byteLength(s, 'utf8') <= 1_048_576);
9
+ const cursor = z.object({ namespace, checkpointId: id }).strict();
10
+ const write = z.object({ channel: id, index: z.number().int().min(-4).max(4095), value: wire }).strict();
11
+ const address = { threadId: id, namespace, checkpointId: id };
12
+ export const GraphCheckpointTupleWire = z.object({
13
+ ...address, parentCheckpointId: id.optional(), checkpoint: wire, metadata: wire, newVersions: wire,
14
+ pendingWrites: z.array(write.extend({ taskId: id })).max(4096),
15
+ }).strict();
16
+ export const GraphCheckpointRequest = z.discriminatedUnion('kind', [
17
+ z.object({ kind: z.literal('get'), ...address, checkpointId: id.optional() }).strict(),
18
+ z.object({ kind: z.literal('list'), threadId: id, namespace: namespace.optional(), checkpointId: id.optional(),
19
+ before: id.optional(), cursor: cursor.optional(), pageSize: z.number().int().min(1).max(GRAPH_CHECKPOINT_MAX_PAGE_SIZE) }).strict(),
20
+ z.object({ kind: z.literal('put'), requestId: id, ...address, parentCheckpointId: id.optional(),
21
+ checkpoint: wire, metadata: wire, newVersions: wire }).strict(),
22
+ z.object({ kind: z.literal('writes'), requestId: id, ...address, taskId: id, writes: z.array(write).max(4096) }).strict(),
23
+ ]);
24
+ export const GraphCheckpointResponse = z.discriminatedUnion('kind', [
25
+ z.object({ kind: z.literal('get'), tuple: GraphCheckpointTupleWire.nullable() }).strict(),
26
+ z.object({ kind: z.literal('list'), tuples: z.array(GraphCheckpointTupleWire).max(GRAPH_CHECKPOINT_MAX_PAGE_SIZE), cursor: cursor.optional() }).strict(),
27
+ z.object({ kind: z.literal('put'), checkpointId: id }).strict(),
28
+ z.object({ kind: z.literal('writes') }).strict(),
29
+ ]);
30
+ // Iterative preflight rejects accessors/proxies through descriptors and bounds traversal
31
+ // before Zod or JSON.stringify sees untrusted trees. Transport still caps raw frames.
32
+ function bounded(value) {
33
+ const stack = [{ value, depth: 0 }];
34
+ let nodes = 0;
35
+ let bytes = 0;
36
+ while (stack.length) {
37
+ const item = stack.pop();
38
+ if (++nodes > 100_000 || item.depth > 16)
39
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
40
+ bytes += 8;
41
+ if (bytes > GRAPH_CHECKPOINT_MAX_FRAME_BYTES)
42
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
43
+ if (item.value === null || typeof item.value === 'boolean')
44
+ continue;
45
+ if (typeof item.value === 'number' && Number.isFinite(item.value))
46
+ continue;
47
+ if (typeof item.value === 'string') {
48
+ if (item.value.length > 1_048_576)
49
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
50
+ bytes += Buffer.byteLength(JSON.stringify(item.value), 'utf8');
51
+ if (bytes > GRAPH_CHECKPOINT_MAX_FRAME_BYTES)
52
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
53
+ continue;
54
+ }
55
+ if (typeof item.value !== 'object' || types.isProxy(item.value))
56
+ throw new Error('CHECKPOINT_FRAME_INVALID');
57
+ const proto = Object.getPrototypeOf(item.value);
58
+ if (proto !== Object.prototype && proto !== Array.prototype && proto !== null)
59
+ throw new Error('CHECKPOINT_FRAME_INVALID');
60
+ if (Array.isArray(item.value) && item.value.length > 100_000)
61
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
62
+ const descriptors = Object.getOwnPropertyDescriptors(item.value);
63
+ if (Array.isArray(item.value) && Object.keys(descriptors).length !== item.value.length + 1)
64
+ throw new Error('CHECKPOINT_FRAME_INVALID');
65
+ if (Reflect.ownKeys(descriptors).some((key) => typeof key !== 'string'))
66
+ throw new Error('CHECKPOINT_FRAME_INVALID');
67
+ for (const [key, descriptor] of Object.entries(descriptors)) {
68
+ if (key.length > 1024)
69
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
70
+ bytes += Buffer.byteLength(JSON.stringify(key), 'utf8') + 2;
71
+ if (bytes > GRAPH_CHECKPOINT_MAX_FRAME_BYTES || stack.length > 100_000)
72
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
73
+ if (Array.isArray(item.value) && key === 'length')
74
+ continue;
75
+ if (!('value' in descriptor) || !descriptor.enumerable || ['__proto__', 'constructor', 'prototype'].includes(key))
76
+ throw new Error('CHECKPOINT_FRAME_INVALID');
77
+ stack.push({ value: descriptor.value, depth: item.depth + 1 });
78
+ }
79
+ }
80
+ if (Buffer.byteLength(JSON.stringify(value), 'utf8') > GRAPH_CHECKPOINT_MAX_FRAME_BYTES)
81
+ throw new Error('CHECKPOINT_FRAME_LIMIT');
82
+ }
83
+ export function parseGraphCheckpointRequest(value) {
84
+ bounded(value);
85
+ return GraphCheckpointRequest.parse(value);
86
+ }
87
+ export function parseGraphCheckpointResponse(value) {
88
+ bounded(value);
89
+ return GraphCheckpointResponse.parse(value);
90
+ }
91
+ //# sourceMappingURL=graph-checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-checkpoint.js","sourceRoot":"","sources":["../src/graph-checkpoint.ts"],"names":[],"mappings":"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"}