agenthooksprotocol 0.1.0 → 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/README.md +41 -0
- package/dist/src/client/composition.d.ts +2 -0
- package/dist/src/client/composition.d.ts.map +1 -1
- package/dist/src/client/composition.js +14 -6
- package/dist/src/client/composition.js.map +1 -1
- package/dist/src/client/content.d.ts +58 -20
- package/dist/src/client/content.d.ts.map +1 -1
- package/dist/src/client/content.js +358 -105
- package/dist/src/client/content.js.map +1 -1
- package/dist/src/client/hooks.d.ts +4 -0
- package/dist/src/client/hooks.d.ts.map +1 -1
- package/dist/src/client/hooks.js +162 -54
- package/dist/src/client/hooks.js.map +1 -1
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/client/index.js +1 -0
- package/dist/src/client/index.js.map +1 -1
- package/dist/src/client/types.d.ts +6 -3
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/client/types.js.map +1 -1
- package/dist/src/content-upload.d.ts +9 -10
- package/dist/src/content-upload.d.ts.map +1 -1
- package/dist/src/content-upload.js +8 -4
- package/dist/src/content-upload.js.map +1 -1
- package/dist/src/draft/generated.d.ts +73 -47
- package/dist/src/draft/generated.d.ts.map +1 -1
- package/dist/src/draft/generated.js +502 -251
- package/dist/src/draft/generated.js.map +1 -1
- package/dist/src/draft/index.d.ts +4 -1
- package/dist/src/draft/index.d.ts.map +1 -1
- package/dist/src/draft/index.js +2 -0
- package/dist/src/draft/index.js.map +1 -1
- package/dist/src/draft/schemas.d.ts +112 -40
- package/dist/src/draft/schemas.d.ts.map +1 -1
- package/dist/src/draft/schemas.js +158 -120
- package/dist/src/draft/schemas.js.map +1 -1
- package/dist/src/draft-runtime.d.ts +5 -5
- package/dist/src/draft-runtime.d.ts.map +1 -1
- package/dist/src/draft-runtime.js +3 -5
- package/dist/src/draft-runtime.js.map +1 -1
- package/dist/src/server/attachments.d.ts +2 -2
- package/dist/src/server/attachments.d.ts.map +1 -1
- package/dist/src/server/attachments.js +3 -3
- package/dist/src/server/attachments.js.map +1 -1
- package/dist/src/server/hooks.d.ts.map +1 -1
- package/dist/src/server/hooks.js +4 -2
- package/dist/src/server/hooks.js.map +1 -1
- package/dist/src/server/index.d.ts +3 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +1 -0
- package/dist/src/server/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client/composition.ts +15 -6
- package/src/client/content.ts +350 -113
- package/src/client/hooks.ts +188 -60
- package/src/client/index.ts +2 -0
- package/src/client/types.ts +6 -3
- package/src/content-upload.ts +14 -13
- package/src/draft/ahp-codegen.lock.json +14 -6
- package/src/draft/generated.ts +733 -427
- package/src/draft/index.ts +6 -1
- package/src/draft/schemas.ts +160 -120
- package/src/draft-runtime.ts +7 -9
- package/src/server/attachments.ts +5 -5
- package/src/server/hooks.ts +3 -2
- package/src/server/index.ts +5 -0
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* an awaited SDK operation transfers cleanup responsibility to that operation;
|
|
5
|
-
* callers must not consume or reuse the underlying stream afterward. Native
|
|
6
|
-
* streams can prefetch independently; use highWaterMark: 0 to disable that.
|
|
7
|
-
*/
|
|
1
|
+
import { parseContentUploadReceipt, } from "../draft/generated.js";
|
|
2
|
+
/** Compatibility adapter for a native lazy stream. The stream is consumed by
|
|
3
|
+
* its attachment owner, not staged in an invocation store. */
|
|
8
4
|
export class ContentSource {
|
|
9
5
|
#stream;
|
|
10
6
|
constructor(stream) {
|
|
@@ -12,9 +8,268 @@ export class ContentSource {
|
|
|
12
8
|
throw new Error("Content source requires a native ReadableStream");
|
|
13
9
|
this.#stream = stream;
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
get stream() { return this.#stream; }
|
|
12
|
+
}
|
|
13
|
+
// This is only an identity index for legacy native streams, never a byte store.
|
|
14
|
+
const streamOwners = new WeakMap();
|
|
15
|
+
const retainedOwners = new WeakSet();
|
|
16
|
+
let ownerAccess;
|
|
17
|
+
/** Sole backing owner for immutable bytes or an unread lazy source. Metadata
|
|
18
|
+
* stays on content items. A handle may be shared within, but not across, calls. */
|
|
19
|
+
export class Attachment extends ContentSource {
|
|
20
|
+
#load;
|
|
21
|
+
#snapshot;
|
|
22
|
+
#lifetime = new AbortController();
|
|
23
|
+
#invocation;
|
|
24
|
+
#budget = { used: 0, limit: 64 * 1024 * 1024 };
|
|
25
|
+
#reserved = 0;
|
|
26
|
+
#dispose;
|
|
27
|
+
#disposal;
|
|
28
|
+
#closed;
|
|
29
|
+
#primaryRelease;
|
|
30
|
+
#leases = 1;
|
|
31
|
+
constructor(load, dispose, retained = true) {
|
|
32
|
+
let owner;
|
|
33
|
+
super(new ReadableStream({
|
|
34
|
+
async pull(controller) {
|
|
35
|
+
try {
|
|
36
|
+
controller.enqueue(await owner.read());
|
|
37
|
+
controller.close();
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
controller.error(error);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
cancel() { return owner.close(); },
|
|
44
|
+
}, { highWaterMark: 0 }));
|
|
45
|
+
owner = this;
|
|
46
|
+
this.#load = load;
|
|
47
|
+
this.#dispose = dispose;
|
|
48
|
+
streamOwners.set(this.stream, this);
|
|
49
|
+
if (retained)
|
|
50
|
+
retainedOwners.add(this);
|
|
51
|
+
}
|
|
52
|
+
static {
|
|
53
|
+
ownerAccess = {
|
|
54
|
+
claim(owner, invocation, budget) {
|
|
55
|
+
if (owner.#invocation && owner.#invocation !== invocation)
|
|
56
|
+
throw new Error("Attachment already belongs to another invocation");
|
|
57
|
+
if (owner.#closed)
|
|
58
|
+
throw new Error("Attachment closed");
|
|
59
|
+
if (!owner.#invocation) {
|
|
60
|
+
if (owner.#snapshot !== undefined)
|
|
61
|
+
throw new Error("Read attachments cannot be transferred to an invocation");
|
|
62
|
+
owner.#invocation = invocation;
|
|
63
|
+
owner.#budget = budget;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
snapshot: (owner, signal) => owner.#materialize(signal),
|
|
67
|
+
peek: (owner) => owner.#snapshot,
|
|
68
|
+
adapt: (stream) => Attachment.#fromStream(stream),
|
|
69
|
+
retain(owner) {
|
|
70
|
+
owner.#lifetime.signal.throwIfAborted();
|
|
71
|
+
owner.#leases++;
|
|
72
|
+
let released;
|
|
73
|
+
return () => released ??= owner.#release();
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** One defensive input copy, retained directly by this owner. */
|
|
78
|
+
static bytes(bytes) {
|
|
79
|
+
let initial = new Uint8Array(bytes);
|
|
80
|
+
return new Attachment(async (_signal, reserve) => {
|
|
81
|
+
const bytes = initial;
|
|
82
|
+
reserve(bytes.byteLength);
|
|
83
|
+
initial = undefined;
|
|
84
|
+
return bytes;
|
|
85
|
+
}, () => { initial = undefined; });
|
|
86
|
+
}
|
|
87
|
+
/** Evaluated once, on demand. The returned mutable buffer is copied once. */
|
|
88
|
+
static lazy(open, dispose = () => { }) {
|
|
89
|
+
return new Attachment(async (signal, reserve) => {
|
|
90
|
+
const bytes = await open(signal);
|
|
91
|
+
signal.throwIfAborted();
|
|
92
|
+
if (!(bytes instanceof Uint8Array))
|
|
93
|
+
throw new TypeError("Attachment source must return Uint8Array");
|
|
94
|
+
reserve(bytes.byteLength);
|
|
95
|
+
return new Uint8Array(bytes);
|
|
96
|
+
}, dispose);
|
|
97
|
+
}
|
|
98
|
+
/** Adapt a native source without a second snapshot cache. */
|
|
99
|
+
static fromStream(stream) {
|
|
100
|
+
if (!(stream instanceof ReadableStream))
|
|
101
|
+
throw new TypeError("Attachment source requires a native ReadableStream");
|
|
102
|
+
const owner = Attachment.#fromStream(stream);
|
|
103
|
+
retainedOwners.add(owner);
|
|
104
|
+
return owner;
|
|
105
|
+
}
|
|
106
|
+
static #fromStream(stream) {
|
|
107
|
+
const existing = streamOwners.get(stream);
|
|
108
|
+
if (existing)
|
|
109
|
+
return existing;
|
|
110
|
+
let reader;
|
|
111
|
+
const owner = new Attachment(async (signal, reserve) => {
|
|
112
|
+
reader = stream.getReader();
|
|
113
|
+
const chunks = [];
|
|
114
|
+
let size = 0;
|
|
115
|
+
const cancel = () => { void reader?.cancel(signal.reason).catch(() => { }); };
|
|
116
|
+
signal.addEventListener("abort", cancel, { once: true });
|
|
117
|
+
try {
|
|
118
|
+
for (;;) {
|
|
119
|
+
const next = await abortable(reader.read(), signal);
|
|
120
|
+
signal.throwIfAborted();
|
|
121
|
+
if (next.done)
|
|
122
|
+
break;
|
|
123
|
+
if (!(next.value instanceof Uint8Array))
|
|
124
|
+
throw new Error("Content stream must yield Uint8Array chunks");
|
|
125
|
+
reserve(next.value.byteLength);
|
|
126
|
+
chunks.push(new Uint8Array(next.value));
|
|
127
|
+
size += next.value.byteLength;
|
|
128
|
+
}
|
|
129
|
+
const bytes = new Uint8Array(size);
|
|
130
|
+
let offset = 0;
|
|
131
|
+
for (const chunk of chunks) {
|
|
132
|
+
bytes.set(chunk, offset);
|
|
133
|
+
offset += chunk.length;
|
|
134
|
+
}
|
|
135
|
+
return bytes;
|
|
136
|
+
}
|
|
137
|
+
finally {
|
|
138
|
+
signal.removeEventListener("abort", cancel);
|
|
139
|
+
reader.releaseLock();
|
|
140
|
+
reader = undefined;
|
|
141
|
+
}
|
|
142
|
+
}, () => {
|
|
143
|
+
// Request cancellation without awaiting producer cleanup, which may never settle.
|
|
144
|
+
if (reader)
|
|
145
|
+
void reader.cancel().catch(() => { });
|
|
146
|
+
else if (!stream.locked)
|
|
147
|
+
void stream.cancel().catch(() => { });
|
|
148
|
+
}, false);
|
|
149
|
+
streamOwners.set(stream, owner);
|
|
150
|
+
return owner;
|
|
151
|
+
}
|
|
152
|
+
#cleanup() {
|
|
153
|
+
if (!this.#disposal) {
|
|
154
|
+
const dispose = this.#dispose;
|
|
155
|
+
this.#dispose = () => { };
|
|
156
|
+
this.#disposal = Promise.resolve().then(dispose);
|
|
157
|
+
}
|
|
158
|
+
return this.#disposal;
|
|
159
|
+
}
|
|
160
|
+
#materialize(signal) {
|
|
161
|
+
this.#lifetime.signal.throwIfAborted();
|
|
162
|
+
signal?.throwIfAborted();
|
|
163
|
+
if (!this.#snapshot) {
|
|
164
|
+
const load = this.#load;
|
|
165
|
+
this.#load = undefined;
|
|
166
|
+
const abort = () => this.#lifetime.abort(signal?.reason);
|
|
167
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
168
|
+
this.#snapshot = (async () => {
|
|
169
|
+
try {
|
|
170
|
+
const bytes = await abortable(load(this.#lifetime.signal, (size) => {
|
|
171
|
+
this.#lifetime.signal.throwIfAborted();
|
|
172
|
+
if (this.#budget.used + size > this.#budget.limit)
|
|
173
|
+
throw new Error("Content snapshot memory limit exceeded");
|
|
174
|
+
this.#budget.used += size;
|
|
175
|
+
this.#reserved += size;
|
|
176
|
+
}), this.#lifetime.signal);
|
|
177
|
+
this.#lifetime.signal.throwIfAborted();
|
|
178
|
+
// All loaders allocate ordinary ArrayBuffers before returning bytes.
|
|
179
|
+
const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
|
|
180
|
+
this.#lifetime.signal.throwIfAborted();
|
|
181
|
+
return { bytes, size: bytes.length,
|
|
182
|
+
sha256: Array.from(digest, byte => byte.toString(16).padStart(2, "0")).join("") };
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
this.#budget.used -= this.#reserved;
|
|
186
|
+
this.#reserved = 0;
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
finally {
|
|
190
|
+
signal?.removeEventListener("abort", abort);
|
|
191
|
+
await this.#cleanup();
|
|
192
|
+
}
|
|
193
|
+
})();
|
|
194
|
+
}
|
|
195
|
+
return signal ? abortable(this.#snapshot, signal) : this.#snapshot;
|
|
196
|
+
}
|
|
197
|
+
/** Defensive caller copy; uploads use the same private materialization. */
|
|
198
|
+
async read(signal, metadata = {}) {
|
|
199
|
+
const snapshot = await this.#materialize(signal);
|
|
200
|
+
validateSnapshotMetadata(snapshot, metadata);
|
|
201
|
+
return snapshot.bytes.slice();
|
|
202
|
+
}
|
|
203
|
+
close() {
|
|
204
|
+
return this.#primaryRelease ??= this.#release();
|
|
205
|
+
}
|
|
206
|
+
#release() {
|
|
207
|
+
if (--this.#leases !== 0)
|
|
208
|
+
return Promise.resolve();
|
|
209
|
+
if (this.#closed)
|
|
210
|
+
return this.#closed;
|
|
211
|
+
this.#lifetime.abort(new Error("Attachment closed"));
|
|
212
|
+
this.#load = undefined;
|
|
213
|
+
this.#snapshot = undefined;
|
|
214
|
+
this.#budget.used -= this.#reserved;
|
|
215
|
+
this.#reserved = 0;
|
|
216
|
+
return this.#closed = this.#cleanup();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** Effective slot index. Owners, not an invocation manager, outlive Hooks. */
|
|
220
|
+
export class AttachmentContent {
|
|
221
|
+
bodies = new Map();
|
|
222
|
+
owners = new Set();
|
|
223
|
+
closed;
|
|
224
|
+
constructor(event) {
|
|
225
|
+
const seen = new WeakSet();
|
|
226
|
+
const visit = (value, path) => {
|
|
227
|
+
if (!value || typeof value !== "object" || seen.has(value))
|
|
228
|
+
return;
|
|
229
|
+
const stream = sourceStream(value);
|
|
230
|
+
if (stream) {
|
|
231
|
+
const owner = ownerAccess.adapt(stream);
|
|
232
|
+
this.bodies.set(path, { owner });
|
|
233
|
+
this.owners.add(owner);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
seen.add(value);
|
|
237
|
+
const body = sourceStream(value.body);
|
|
238
|
+
if (typeof value.id === "string" && body) {
|
|
239
|
+
const owner = ownerAccess.adapt(body);
|
|
240
|
+
const previous = this.bodies.get(value.id);
|
|
241
|
+
if (previous && (previous.owner !== owner || previous.size !== value.size || previous.sha256 !== value.sha256))
|
|
242
|
+
throw new Error("Ambiguous content item id");
|
|
243
|
+
this.bodies.set(value.id, { owner, size: value.size, sha256: value.sha256 });
|
|
244
|
+
this.owners.add(owner);
|
|
245
|
+
}
|
|
246
|
+
for (const [key, child] of Object.entries(value)) {
|
|
247
|
+
if (key === "body" && body && typeof value.id === "string")
|
|
248
|
+
continue;
|
|
249
|
+
visit(child, path + "/" + key.replaceAll("~", "~0").replaceAll("/", "~1"));
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
visit(event, "");
|
|
253
|
+
}
|
|
254
|
+
get ids() { return [...this.bodies.keys()]; }
|
|
255
|
+
/** @internal Transfer cleanup responsibility without copying backing bytes. */
|
|
256
|
+
detachFrom(pending) {
|
|
257
|
+
for (const owner of this.owners)
|
|
258
|
+
pending.delete(owner);
|
|
259
|
+
}
|
|
260
|
+
async read(id, signal) {
|
|
261
|
+
const body = this.bodies.get(id);
|
|
262
|
+
if (!body)
|
|
263
|
+
throw new Error("Unknown local content item id");
|
|
264
|
+
return body.owner.read(signal, body);
|
|
265
|
+
}
|
|
266
|
+
close() {
|
|
267
|
+
if (this.closed)
|
|
268
|
+
return this.closed;
|
|
269
|
+
this.bodies.clear();
|
|
270
|
+
this.closed = Promise.all([...this.owners].map(owner => owner.close())).then(() => { });
|
|
271
|
+
this.owners.clear();
|
|
272
|
+
return this.closed;
|
|
18
273
|
}
|
|
19
274
|
}
|
|
20
275
|
function sourceStream(value) {
|
|
@@ -22,22 +277,35 @@ function sourceStream(value) {
|
|
|
22
277
|
return value.stream;
|
|
23
278
|
return value instanceof ReadableStream ? value : undefined;
|
|
24
279
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
280
|
+
function validateSnapshotMetadata(snapshot, metadata) {
|
|
281
|
+
if (metadata.size !== undefined && metadata.size !== snapshot.size)
|
|
282
|
+
throw new Error("Content size mismatch");
|
|
283
|
+
if (metadata.sha256 !== undefined && metadata.sha256 !== snapshot.sha256)
|
|
284
|
+
throw new Error("Content SHA-256 mismatch");
|
|
285
|
+
}
|
|
286
|
+
/** Per-invocation delivery and cleanup coordinator, not a content store.
|
|
287
|
+
* Byte materialization lives only in Attachment. This class retains owner
|
|
288
|
+
* identities and non-owning aggregate budget counters, never byte buffers.
|
|
289
|
+
* Selection is not authorization; project opaque host data before prepare.
|
|
28
290
|
*/
|
|
29
291
|
export class ContentManager {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
292
|
+
hasAttachments = false;
|
|
293
|
+
ownership = {};
|
|
294
|
+
/** @internal Build a slot index retaining the existing owners. */
|
|
295
|
+
resultContent(event) {
|
|
296
|
+
return this.hasAttachments ? new AttachmentContent(event) : undefined;
|
|
297
|
+
}
|
|
298
|
+
attachments = new Set();
|
|
33
299
|
lifetime = new AbortController();
|
|
34
|
-
retainedBytes = 0;
|
|
35
300
|
closePromise;
|
|
36
|
-
|
|
301
|
+
budget;
|
|
37
302
|
allowLoopback;
|
|
303
|
+
/** @internal Detach returned owners; dispose everything else in close(). */
|
|
304
|
+
transfer(content) { content.detachFrom(this.attachments); }
|
|
38
305
|
constructor(options = {}) {
|
|
39
|
-
|
|
40
|
-
|
|
306
|
+
const limit = options.maxSnapshotBytes ?? 64 * 1024 * 1024;
|
|
307
|
+
this.budget = { used: 0, limit };
|
|
308
|
+
if (!Number.isSafeInteger(limit) || limit < 0)
|
|
41
309
|
throw new Error("Invalid snapshot byte limit");
|
|
42
310
|
this.allowLoopback = options.allowLoopback ?? false;
|
|
43
311
|
}
|
|
@@ -48,25 +316,40 @@ export class ContentManager {
|
|
|
48
316
|
own(event) {
|
|
49
317
|
this.lifetime.signal.throwIfAborted();
|
|
50
318
|
const visited = new WeakSet();
|
|
319
|
+
let conflict = false;
|
|
51
320
|
const visit = (value) => {
|
|
52
321
|
if (value === null || typeof value !== "object" || visited.has(value))
|
|
53
322
|
return;
|
|
54
323
|
visited.add(value);
|
|
55
324
|
const stream = sourceStream(value);
|
|
56
325
|
if (stream) {
|
|
57
|
-
|
|
326
|
+
const existing = streamOwners.get(stream);
|
|
327
|
+
const owner = ownerAccess.adapt(stream);
|
|
328
|
+
try {
|
|
329
|
+
ownerAccess.claim(owner, this.ownership, this.budget);
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
conflict = true;
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
// Explicit Attachment sources opt into retained result ownership.
|
|
336
|
+
if (existing && retainedOwners.has(existing))
|
|
337
|
+
this.hasAttachments = true;
|
|
338
|
+
this.attachments.add(owner);
|
|
58
339
|
return;
|
|
59
340
|
}
|
|
60
341
|
for (const child of Object.values(value))
|
|
61
342
|
visit(child);
|
|
62
343
|
};
|
|
63
344
|
visit(event);
|
|
345
|
+
if (conflict)
|
|
346
|
+
throw new Error("Attachment already belongs to another invocation");
|
|
64
347
|
}
|
|
65
348
|
/** Reads local producer bytes for composition, never remote references.
|
|
66
349
|
* Reuses the same bounded snapshot as prepare; returns an independent copy.
|
|
67
350
|
* Aborting the initial read cancels the stream and leaves that snapshot failed.
|
|
68
351
|
*/
|
|
69
|
-
async readBody(body, signal) {
|
|
352
|
+
async readBody(body, signal, metadata = {}) {
|
|
70
353
|
this.lifetime.signal.throwIfAborted();
|
|
71
354
|
this.own(body);
|
|
72
355
|
signal?.throwIfAborted();
|
|
@@ -82,6 +365,7 @@ export class ContentManager {
|
|
|
82
365
|
try {
|
|
83
366
|
const snapshot = await abortable(this.snapshot(stream, controller.signal), controller.signal);
|
|
84
367
|
controller.signal.throwIfAborted();
|
|
368
|
+
validateSnapshotMetadata(snapshot, metadata);
|
|
85
369
|
return snapshot.bytes.slice();
|
|
86
370
|
}
|
|
87
371
|
finally {
|
|
@@ -155,10 +439,7 @@ export class ContentManager {
|
|
|
155
439
|
const timeout = setTimeout(() => controller.abort(new DOMException("Content upload timed out", "TimeoutError")), upload.timeoutMs);
|
|
156
440
|
try {
|
|
157
441
|
const snapshot = await abortable(this.snapshot(stream, controller.signal), controller.signal);
|
|
158
|
-
|
|
159
|
-
throw new Error("Content size mismatch");
|
|
160
|
-
if (value.sha256 !== undefined && value.sha256 !== snapshot.sha256)
|
|
161
|
-
throw new Error("Content SHA-256 mismatch");
|
|
442
|
+
validateSnapshotMetadata(snapshot, value);
|
|
162
443
|
if (snapshot.size > upload.maxBytes)
|
|
163
444
|
throw new Error("Content exceeds upload maxBytes");
|
|
164
445
|
const response = await abortable(send(upload.endpoint, {
|
|
@@ -179,17 +460,15 @@ export class ContentManager {
|
|
|
179
460
|
}
|
|
180
461
|
return response;
|
|
181
462
|
}), controller.signal);
|
|
182
|
-
const parsed =
|
|
463
|
+
const parsed = parseContentUploadReceipt(await readConfirmation(response, controller.signal));
|
|
183
464
|
if (!parsed.ok ||
|
|
184
465
|
parsed.value.size !== snapshot.size ||
|
|
185
466
|
parsed.value.sha256 !== snapshot.sha256) {
|
|
186
467
|
throw new Error("Invalid or mismatched upload reference");
|
|
187
468
|
}
|
|
188
|
-
result.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
sha256: snapshot.sha256,
|
|
192
|
-
};
|
|
469
|
+
delete result.size;
|
|
470
|
+
delete result.sha256;
|
|
471
|
+
result.body = { ref: parsed.value.ref };
|
|
193
472
|
return result;
|
|
194
473
|
}
|
|
195
474
|
finally {
|
|
@@ -208,24 +487,56 @@ export class ContentManager {
|
|
|
208
487
|
};
|
|
209
488
|
return visit(event);
|
|
210
489
|
}
|
|
211
|
-
/**
|
|
212
|
-
|
|
213
|
-
|
|
490
|
+
/** @internal A protocol correlation lease shares the same owner, never bytes. */
|
|
491
|
+
async retainBody(body, signal) {
|
|
492
|
+
const owner = ownerAccess.adapt(body);
|
|
493
|
+
const snapshot = await ownerAccess.snapshot(owner, signal);
|
|
494
|
+
return { owner, size: snapshot.size, release: ownerAccess.retain(owner) };
|
|
495
|
+
}
|
|
496
|
+
/** @internal Project compatibility results, or preserve the actual owner. */
|
|
497
|
+
async resultBody(body, synthesized) {
|
|
498
|
+
const owner = ownerAccess.adapt(body);
|
|
499
|
+
if (this.hasAttachments)
|
|
500
|
+
return owner;
|
|
501
|
+
const pending = ownerAccess.peek(owner);
|
|
502
|
+
if (!synthesized && !pending)
|
|
503
|
+
return undefined;
|
|
504
|
+
try {
|
|
505
|
+
if (synthesized)
|
|
506
|
+
await ownerAccess.snapshot(owner);
|
|
507
|
+
else
|
|
508
|
+
await pending;
|
|
509
|
+
}
|
|
510
|
+
catch {
|
|
511
|
+
return undefined;
|
|
512
|
+
}
|
|
513
|
+
// Legacy callers receive a lazy view of this same owner, not a queued copy.
|
|
514
|
+
const release = ownerAccess.retain(owner);
|
|
515
|
+
return new ReadableStream({
|
|
516
|
+
async pull(controller) {
|
|
517
|
+
try {
|
|
518
|
+
controller.enqueue(await owner.read());
|
|
519
|
+
controller.close();
|
|
520
|
+
}
|
|
521
|
+
catch (error) {
|
|
522
|
+
controller.error(error);
|
|
523
|
+
}
|
|
524
|
+
finally {
|
|
525
|
+
await release();
|
|
526
|
+
}
|
|
527
|
+
},
|
|
528
|
+
cancel() { return release(); },
|
|
529
|
+
}, { highWaterMark: 0 });
|
|
530
|
+
}
|
|
531
|
+
/** @internal Invocation-scoped borrow of an active protocol exchange. */
|
|
532
|
+
lease(owner) { return ownerAccess.retain(owner); }
|
|
533
|
+
/** Cancel and dispose remaining owners. No backing bytes live here. */
|
|
214
534
|
close() {
|
|
215
535
|
if (this.closePromise)
|
|
216
536
|
return this.closePromise;
|
|
217
|
-
this.closePromise = Promise.resolve();
|
|
218
537
|
this.lifetime.abort(new Error("Content manager closed"));
|
|
219
|
-
|
|
220
|
-
this.
|
|
221
|
-
const unread = [...this.seenStreams].filter((stream) => !stream.locked);
|
|
222
|
-
this.seenStreams.clear();
|
|
223
|
-
this.readers.clear();
|
|
224
|
-
for (const reader of readers)
|
|
225
|
-
void reader.cancel().catch(() => undefined);
|
|
226
|
-
for (const stream of unread)
|
|
227
|
-
void stream.cancel().catch(() => undefined);
|
|
228
|
-
this.retainedBytes = 0;
|
|
538
|
+
this.closePromise = Promise.all([...this.attachments].map(owner => owner.close())).then(() => { });
|
|
539
|
+
this.attachments.clear();
|
|
229
540
|
return this.closePromise;
|
|
230
541
|
}
|
|
231
542
|
validateUpload(upload) {
|
|
@@ -245,65 +556,7 @@ export class ContentManager {
|
|
|
245
556
|
throw new Error("Invalid upload budget");
|
|
246
557
|
}
|
|
247
558
|
snapshot(stream, signal) {
|
|
248
|
-
|
|
249
|
-
if (existing)
|
|
250
|
-
return existing;
|
|
251
|
-
const pending = this.readSnapshot(stream, signal);
|
|
252
|
-
this.snapshots.set(stream, pending);
|
|
253
|
-
return pending;
|
|
254
|
-
}
|
|
255
|
-
async readSnapshot(stream, signal) {
|
|
256
|
-
signal.throwIfAborted();
|
|
257
|
-
const reader = stream.getReader();
|
|
258
|
-
this.readers.add(reader);
|
|
259
|
-
const chunks = [];
|
|
260
|
-
let size = 0;
|
|
261
|
-
const cancel = () => {
|
|
262
|
-
void reader.cancel(signal.reason).catch(() => undefined);
|
|
263
|
-
};
|
|
264
|
-
signal.addEventListener("abort", cancel, { once: true });
|
|
265
|
-
try {
|
|
266
|
-
for (;;) {
|
|
267
|
-
const next = await abortable(reader.read(), signal);
|
|
268
|
-
signal.throwIfAborted();
|
|
269
|
-
if (next.done)
|
|
270
|
-
break;
|
|
271
|
-
if (!(next.value instanceof Uint8Array))
|
|
272
|
-
throw new Error("Content stream must yield Uint8Array chunks");
|
|
273
|
-
if (this.retainedBytes + next.value.byteLength > this.limit)
|
|
274
|
-
throw new Error("Content snapshot memory limit exceeded");
|
|
275
|
-
if (next.value.byteLength === 0)
|
|
276
|
-
continue;
|
|
277
|
-
chunks.push(next.value.slice());
|
|
278
|
-
size += next.value.byteLength;
|
|
279
|
-
this.retainedBytes += next.value.byteLength;
|
|
280
|
-
}
|
|
281
|
-
const bytes = new Uint8Array(size);
|
|
282
|
-
let offset = 0;
|
|
283
|
-
for (const chunk of chunks) {
|
|
284
|
-
bytes.set(chunk, offset);
|
|
285
|
-
offset += chunk.byteLength;
|
|
286
|
-
}
|
|
287
|
-
chunks.length = 0;
|
|
288
|
-
const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
|
|
289
|
-
signal.throwIfAborted();
|
|
290
|
-
return {
|
|
291
|
-
bytes,
|
|
292
|
-
size,
|
|
293
|
-
sha256: Array.from(digest, (byte) => byte.toString(16).padStart(2, "0")).join(""),
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
catch (error) {
|
|
297
|
-
if (!this.lifetime.signal.aborted)
|
|
298
|
-
this.retainedBytes -= size;
|
|
299
|
-
void reader.cancel(error).catch(() => undefined);
|
|
300
|
-
throw error;
|
|
301
|
-
}
|
|
302
|
-
finally {
|
|
303
|
-
signal.removeEventListener("abort", cancel);
|
|
304
|
-
this.readers.delete(reader);
|
|
305
|
-
reader.releaseLock();
|
|
306
|
-
}
|
|
559
|
+
return ownerAccess.snapshot(ownerAccess.adapt(stream), signal);
|
|
307
560
|
}
|
|
308
561
|
}
|
|
309
562
|
function isFileReferencePath(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/client/content.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/client/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare class Hooks {
|
|
|
13
13
|
private closed?;
|
|
14
14
|
private readonly elicitations;
|
|
15
15
|
private elicitationBytes;
|
|
16
|
+
private readonly activeElicitations;
|
|
16
17
|
constructor(config: unknown, options: HooksOptions);
|
|
17
18
|
private initialize;
|
|
18
19
|
private fetchAuthenticated;
|
|
@@ -22,6 +23,9 @@ export declare class Hooks {
|
|
|
22
23
|
private observe;
|
|
23
24
|
private rememberElicitation;
|
|
24
25
|
private elicitationFor;
|
|
26
|
+
/** End an abandoned host elicitation exchange without delivering a result. */
|
|
27
|
+
discardElicitation(requestEventId: string): void;
|
|
28
|
+
private retireSessionElicitations;
|
|
25
29
|
private forgetElicitation;
|
|
26
30
|
/** Cancel pending work and release SDK-owned resources; injected stores remain owned by the host. */
|
|
27
31
|
close(): Promise<void>;
|