@osstack/protocol 0.13.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.
- package/dist/generate.d.ts +1 -0
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +43 -1
- package/dist/generate.js.map +1 -1
- package/dist/graph-checkpoint.d.ts +409 -0
- package/dist/graph-checkpoint.d.ts.map +1 -0
- package/dist/graph-checkpoint.js +91 -0
- package/dist/graph-checkpoint.js.map +1 -0
- package/dist/graph-worker.d.ts +1663 -0
- package/dist/graph-worker.d.ts.map +1 -0
- package/dist/graph-worker.js +152 -0
- package/dist/graph-worker.js.map +1 -0
- package/dist/graph.d.ts +12875 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +423 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +2 -2
- package/dist/session-continuation-grant.d.ts +414 -0
- package/dist/session-continuation-grant.d.ts.map +1 -0
- package/dist/session-continuation-grant.js +59 -0
- package/dist/session-continuation-grant.js.map +1 -0
- package/dist/session-continuation.d.ts +129 -0
- package/dist/session-continuation.d.ts.map +1 -0
- package/dist/session-continuation.js +30 -0
- package/dist/session-continuation.js.map +1 -0
- package/dist/task.d.ts +2 -2
- package/package.json +2 -2
- package/schemas/continuation-grant-body.schema.json +189 -0
- package/schemas/continuation-output-check.schema.json +65 -0
- package/schemas/graph-checkpoint-request.schema.json +222 -0
- package/schemas/graph-checkpoint-response.schema.json +258 -0
- package/schemas/graph-worker.schema.json +546 -0
- package/schemas/graph.schema.json +1768 -0
- package/schemas/session-continuation-request.schema.json +62 -0
- package/schemas/session-decision.schema.json +107 -0
- package/schemas/signed-continuation-grant.schema.json +209 -0
- package/dist/autonomy.test.d.ts +0 -2
- package/dist/autonomy.test.d.ts.map +0 -1
- package/dist/autonomy.test.js +0 -201
- package/dist/autonomy.test.js.map +0 -1
- package/dist/protocol.test.d.ts +0 -2
- package/dist/protocol.test.d.ts.map +0 -1
- package/dist/protocol.test.js +0 -251
- package/dist/protocol.test.js.map +0 -1
- package/dist/schemas.test.d.ts +0 -2
- package/dist/schemas.test.d.ts.map +0 -1
- package/dist/schemas.test.js +0 -39
- package/dist/schemas.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-worker.d.ts","sourceRoot":"","sources":["../src/graph-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { GraphScope, StartGraphRequest, GraphJsonValue } from './graph.js';
|
|
3
|
+
export const GRAPH_WORKER_MAX_FRAME_BYTES = 8 * 1024 * 1024;
|
|
4
|
+
const id = z.string().min(1).max(256);
|
|
5
|
+
const digest = z.string().regex(/^[a-f0-9]{64}$/);
|
|
6
|
+
export const GraphWorkerIdentity = z.object({
|
|
7
|
+
executionModel: z.literal('langgraph-functional-v1'), durability: z.literal('sync'),
|
|
8
|
+
engineVersion: id, checkpointVersion: id, templateVersion: id, registryVersion: id,
|
|
9
|
+
compilerVersion: id, schemaVersion: id, compiledProgramDigest: digest, specHash: digest, inputDigest: digest,
|
|
10
|
+
}).strict();
|
|
11
|
+
export const GraphWorkerBinding = z.object({ scope: GraphScope, graphRunId: id,
|
|
12
|
+
generation: z.number().int().positive().max(Number.MAX_SAFE_INTEGER), owner: id, identity: GraphWorkerIdentity }).strict();
|
|
13
|
+
export const GraphWorkerResume = z.discriminatedUnion('kind', [
|
|
14
|
+
z.object({ kind: z.literal('continue') }).strict(),
|
|
15
|
+
z.object({ kind: z.literal('interrupt'), value: GraphJsonValue }).strict(),
|
|
16
|
+
]);
|
|
17
|
+
const bound = { binding: GraphWorkerBinding };
|
|
18
|
+
export const GraphWorkerMessage = z.discriminatedUnion('kind', [
|
|
19
|
+
z.object({ kind: z.literal('init'), ...bound, programId: id, source: z.string().min(1).max(131072),
|
|
20
|
+
input: StartGraphRequest, resume: GraphWorkerResume.optional(),
|
|
21
|
+
heartbeatMs: z.number().int().min(10).max(60000), maxInFlight: z.number().int().min(1).max(64),
|
|
22
|
+
requestTimeoutMs: z.number().int().min(10).max(300000) }).strict(),
|
|
23
|
+
z.object({ kind: z.literal('ready'), ...bound }).strict(),
|
|
24
|
+
z.object({ kind: z.literal('heartbeat'), ...bound }).strict(),
|
|
25
|
+
z.object({ kind: z.literal('cancel'), ...bound, reason: z.string().max(4096) }).strict(),
|
|
26
|
+
z.object({ kind: z.literal('request'), ...bound, id, method: z.enum(['action', 'checkpoint']), payload: z.unknown() }).strict(),
|
|
27
|
+
z.object({ kind: z.literal('response'), ...bound, id, ok: z.boolean(), payload: z.unknown().optional(), error: z.string().max(4096).optional() }).strict(),
|
|
28
|
+
z.object({ kind: z.literal('done'), ...bound, ok: z.boolean(), value: GraphJsonValue.optional(), error: z.string().max(4096).optional() }).strict(),
|
|
29
|
+
]);
|
|
30
|
+
export function workerCanonical(value) {
|
|
31
|
+
if (value === null || typeof value !== 'object')
|
|
32
|
+
return JSON.stringify(value);
|
|
33
|
+
if (Array.isArray(value))
|
|
34
|
+
return `[${value.map(workerCanonical).join(',')}]`;
|
|
35
|
+
return `{${Object.keys(value).sort().map(k => `${JSON.stringify(k)}:${workerCanonical(value[k])}`).join(',')}}`;
|
|
36
|
+
}
|
|
37
|
+
export function freezeWorkerData(value) {
|
|
38
|
+
if (value !== null && typeof value === 'object') {
|
|
39
|
+
Object.values(value).forEach(freezeWorkerData);
|
|
40
|
+
Object.freeze(value);
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
export function encodeWorkerFrame(value, maxBytes = GRAPH_WORKER_MAX_FRAME_BYTES) {
|
|
45
|
+
const json = JSON.stringify(value);
|
|
46
|
+
const size = Buffer.byteLength(json);
|
|
47
|
+
if (size === 0 || size > maxBytes)
|
|
48
|
+
throw new Error('WORKER_FRAME_LIMIT');
|
|
49
|
+
const frame = Buffer.allocUnsafe(size + 4);
|
|
50
|
+
frame.writeUInt32BE(size);
|
|
51
|
+
frame.write(json, 4);
|
|
52
|
+
return frame;
|
|
53
|
+
}
|
|
54
|
+
/** Never concatenates arbitrary incoming chunks. Only a checked length allocates a body. */
|
|
55
|
+
export class WorkerFrameDecoder {
|
|
56
|
+
receive;
|
|
57
|
+
maxBytes;
|
|
58
|
+
header = Buffer.alloc(4);
|
|
59
|
+
headerUsed = 0;
|
|
60
|
+
body;
|
|
61
|
+
used = 0;
|
|
62
|
+
failed = false;
|
|
63
|
+
constructor(receive, maxBytes = GRAPH_WORKER_MAX_FRAME_BYTES) {
|
|
64
|
+
this.receive = receive;
|
|
65
|
+
this.maxBytes = maxBytes;
|
|
66
|
+
}
|
|
67
|
+
get bufferedBytes() { return this.headerUsed + this.used; }
|
|
68
|
+
push(chunk) {
|
|
69
|
+
if (this.failed)
|
|
70
|
+
throw new Error('WORKER_TRANSPORT_CLOSED');
|
|
71
|
+
try {
|
|
72
|
+
let offset = 0;
|
|
73
|
+
while (offset < chunk.length) {
|
|
74
|
+
if (!this.body) {
|
|
75
|
+
const count = Math.min(4 - this.headerUsed, chunk.length - offset);
|
|
76
|
+
chunk.copy(this.header, this.headerUsed, offset, offset + count);
|
|
77
|
+
this.headerUsed += count;
|
|
78
|
+
offset += count;
|
|
79
|
+
if (this.headerUsed < 4)
|
|
80
|
+
continue;
|
|
81
|
+
const size = this.header.readUInt32BE();
|
|
82
|
+
this.headerUsed = 0;
|
|
83
|
+
if (!size || size > this.maxBytes)
|
|
84
|
+
throw new Error('WORKER_FRAME_LIMIT');
|
|
85
|
+
this.body = Buffer.allocUnsafe(size);
|
|
86
|
+
this.used = 0;
|
|
87
|
+
}
|
|
88
|
+
const count = Math.min(this.body.length - this.used, chunk.length - offset);
|
|
89
|
+
chunk.copy(this.body, this.used, offset, offset + count);
|
|
90
|
+
this.used += count;
|
|
91
|
+
offset += count;
|
|
92
|
+
if (this.used === this.body.length) {
|
|
93
|
+
const body = this.body;
|
|
94
|
+
this.body = undefined;
|
|
95
|
+
this.used = 0;
|
|
96
|
+
this.receive(JSON.parse(body.toString('utf8')));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
this.failed = true;
|
|
102
|
+
this.body = undefined;
|
|
103
|
+
this.used = 0;
|
|
104
|
+
this.headerUsed = 0;
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Fail closed on a stalled peer; no additional userland send queue. */
|
|
110
|
+
export class WorkerFramedTransport {
|
|
111
|
+
readable;
|
|
112
|
+
writable;
|
|
113
|
+
failure;
|
|
114
|
+
closed = false;
|
|
115
|
+
maxFrameBytes;
|
|
116
|
+
maxBufferedBytes;
|
|
117
|
+
constructor(readable, writable, receive, failure, limits = {}) {
|
|
118
|
+
this.readable = readable;
|
|
119
|
+
this.writable = writable;
|
|
120
|
+
this.failure = failure;
|
|
121
|
+
this.maxFrameBytes = limits.maxFrameBytes ?? GRAPH_WORKER_MAX_FRAME_BYTES;
|
|
122
|
+
this.maxBufferedBytes = limits.maxBufferedBytes ?? this.maxFrameBytes * 2 + 8;
|
|
123
|
+
const decoder = new WorkerFrameDecoder(value => { if (!this.closed)
|
|
124
|
+
receive(value); }, this.maxFrameBytes);
|
|
125
|
+
readable.on('data', (chunk) => { try {
|
|
126
|
+
decoder.push(chunk);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
this.fail(error);
|
|
130
|
+
} });
|
|
131
|
+
readable.on('end', () => this.fail(new Error('WORKER_TRANSPORT_EOF')));
|
|
132
|
+
readable.on('error', error => this.fail(error));
|
|
133
|
+
writable.on('error', error => this.fail(error));
|
|
134
|
+
}
|
|
135
|
+
send(value) {
|
|
136
|
+
if (this.closed)
|
|
137
|
+
throw new Error('WORKER_TRANSPORT_CLOSED');
|
|
138
|
+
const frame = encodeWorkerFrame(value, this.maxFrameBytes);
|
|
139
|
+
if (this.writable.writableLength + frame.length > this.maxBufferedBytes)
|
|
140
|
+
throw new Error('WORKER_BACKPRESSURE');
|
|
141
|
+
this.writable.write(frame, error => { if (error)
|
|
142
|
+
this.fail(error); });
|
|
143
|
+
}
|
|
144
|
+
fail(error) {
|
|
145
|
+
if (this.closed)
|
|
146
|
+
return;
|
|
147
|
+
this.close();
|
|
148
|
+
this.failure(error instanceof Error ? error : new Error(String(error)));
|
|
149
|
+
}
|
|
150
|
+
close() { this.closed = true; this.readable.destroy(); this.writable.destroy(); }
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=graph-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-worker.js","sourceRoot":"","sources":["../src/graph-worker.ts"],"names":[],"mappings":"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"}
|