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.
Files changed (66) hide show
  1. package/README.md +41 -0
  2. package/dist/src/client/composition.d.ts +2 -0
  3. package/dist/src/client/composition.d.ts.map +1 -1
  4. package/dist/src/client/composition.js +14 -6
  5. package/dist/src/client/composition.js.map +1 -1
  6. package/dist/src/client/content.d.ts +58 -20
  7. package/dist/src/client/content.d.ts.map +1 -1
  8. package/dist/src/client/content.js +358 -105
  9. package/dist/src/client/content.js.map +1 -1
  10. package/dist/src/client/hooks.d.ts +4 -0
  11. package/dist/src/client/hooks.d.ts.map +1 -1
  12. package/dist/src/client/hooks.js +162 -54
  13. package/dist/src/client/hooks.js.map +1 -1
  14. package/dist/src/client/index.d.ts +1 -0
  15. package/dist/src/client/index.d.ts.map +1 -1
  16. package/dist/src/client/index.js +1 -0
  17. package/dist/src/client/index.js.map +1 -1
  18. package/dist/src/client/types.d.ts +6 -3
  19. package/dist/src/client/types.d.ts.map +1 -1
  20. package/dist/src/client/types.js.map +1 -1
  21. package/dist/src/content-upload.d.ts +9 -10
  22. package/dist/src/content-upload.d.ts.map +1 -1
  23. package/dist/src/content-upload.js +8 -4
  24. package/dist/src/content-upload.js.map +1 -1
  25. package/dist/src/draft/generated.d.ts +73 -47
  26. package/dist/src/draft/generated.d.ts.map +1 -1
  27. package/dist/src/draft/generated.js +502 -251
  28. package/dist/src/draft/generated.js.map +1 -1
  29. package/dist/src/draft/index.d.ts +4 -1
  30. package/dist/src/draft/index.d.ts.map +1 -1
  31. package/dist/src/draft/index.js +2 -0
  32. package/dist/src/draft/index.js.map +1 -1
  33. package/dist/src/draft/schemas.d.ts +112 -40
  34. package/dist/src/draft/schemas.d.ts.map +1 -1
  35. package/dist/src/draft/schemas.js +158 -120
  36. package/dist/src/draft/schemas.js.map +1 -1
  37. package/dist/src/draft-runtime.d.ts +5 -5
  38. package/dist/src/draft-runtime.d.ts.map +1 -1
  39. package/dist/src/draft-runtime.js +3 -5
  40. package/dist/src/draft-runtime.js.map +1 -1
  41. package/dist/src/server/attachments.d.ts +2 -2
  42. package/dist/src/server/attachments.d.ts.map +1 -1
  43. package/dist/src/server/attachments.js +3 -3
  44. package/dist/src/server/attachments.js.map +1 -1
  45. package/dist/src/server/hooks.d.ts.map +1 -1
  46. package/dist/src/server/hooks.js +4 -2
  47. package/dist/src/server/hooks.js.map +1 -1
  48. package/dist/src/server/index.d.ts +3 -1
  49. package/dist/src/server/index.d.ts.map +1 -1
  50. package/dist/src/server/index.js +1 -0
  51. package/dist/src/server/index.js.map +1 -1
  52. package/package.json +1 -1
  53. package/src/client/composition.ts +15 -6
  54. package/src/client/content.ts +350 -113
  55. package/src/client/hooks.ts +188 -60
  56. package/src/client/index.ts +2 -0
  57. package/src/client/types.ts +6 -3
  58. package/src/content-upload.ts +14 -13
  59. package/src/draft/ahp-codegen.lock.json +14 -6
  60. package/src/draft/generated.ts +733 -427
  61. package/src/draft/index.ts +6 -1
  62. package/src/draft/schemas.ts +160 -120
  63. package/src/draft-runtime.ts +7 -9
  64. package/src/server/attachments.ts +5 -5
  65. package/src/server/hooks.ts +3 -2
  66. package/src/server/index.ts +5 -0
package/README.md CHANGED
@@ -27,3 +27,44 @@ workspace packages are not published.
27
27
  ## License
28
28
 
29
29
  Apache-2.0. See [LICENSE](LICENSE).
30
+
31
+ ### Structural decoding and effect-family queries
32
+
33
+ Use `draftCodecs.parseInterceptRequest(input)` (and the other generated `parse*`
34
+ functions) from `agenthooksprotocol/draft` for runtime structural decoding of JSON
35
+ text or JSON-compatible objects. A type assertion or native `JSON.parse` alone
36
+ is **not** an SDK decoding boundary. The parser checks the original composed
37
+ schema descriptor once; it does not reconstruct and revalidate each child model.
38
+ Its discriminated `ParseResult` retains diagnostics, raw JSON, extension fields,
39
+ and compatibility warnings, including unknown event variants and open enums.
40
+ This is structural compatibility validation, not complete canonical validation
41
+ or contextual admission. The draft `validate*` APIs additionally apply canonical
42
+ JSON Schema validation and have a different, narrower result shape.
43
+
44
+ ```ts
45
+ import { draftCodecs, effectNames, supports } from 'agenthooksprotocol/draft';
46
+ const parsed = draftCodecs.parseInterceptRequest(text);
47
+ if (parsed.ok && supports(parsed.value.params.capabilities, effectNames.deny)) {
48
+ // The sender advertised the deny family. This does not authorize execution.
49
+ }
50
+ ```
51
+
52
+ `effectNames` and `supports` are also exported from `/client` and `/server`.
53
+ `supports({effects: [...]}, family)` accepts schema-derived identifiers and custom
54
+ string identifiers. It tests only explicit membership: nested target/operation
55
+ grants do not imply family membership, and a positive result does not prove
56
+ mode, per-call, target, operation, or execution permission.
57
+
58
+ Missing state candidates and candidates with missing `value` are rejected.
59
+ `candidate: null` means no candidate; `{value: null}`, `{value: 0}`, and
60
+ `{value: false}` remain distinct present candidates. Integer schema positions
61
+ require JavaScript safe integers. Arbitrary JSON numbers use finite IEEE-754
62
+ JavaScript numbers: numeric token spelling and integers above the safe range
63
+ cannot be preserved exactly by JavaScript JSON parsing. Non-finite values are
64
+ rejected. Use strings for application-owned exact large numeric identifiers.
65
+
66
+ Migration: the query APIs are additive. Object-input parsing now rejects class
67
+ instances, sparse arrays, cycles, accessors, and non-JSON properties rather than
68
+ silently discarding them. Pass plain JSON data instead. Generated model aliases
69
+ remain static types; constructors/helpers do not claim runtime validation or
70
+ authorization. Native untyped decoding is outside this contract.
@@ -14,6 +14,8 @@ export interface CompositionOptions {
14
14
  state?: InterceptRequest["params"]["state"];
15
15
  /** Returns reusable, host-owned snapshot bytes; does not transfer a stream. */
16
16
  readContent: (body: ReadableStream<Uint8Array>) => Promise<Uint8Array>;
17
+ /** Register locally synthesized sources before staging can fail. */
18
+ ownContent?: (body: ReadableStream<Uint8Array>) => void;
17
19
  /** Raw request event associated by parentEventId, source, session and server. */
18
20
  elicitationRequest?: ClientEvent;
19
21
  /** Actual subscriber projection. Metadata/omit/gap views do not grant reads. */
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../src/client/composition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAuEjE;;gFAEgF;AAChF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,GACzB,iBAAiB,CAEnB;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,+EAA+E;IAC/E,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,gFAAgF;IAChF,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAoLD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;;;;sBA+Zsza,CAAC;;;;;;;;;EAjV32a;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAoU5B"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../src/client/composition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAuEjE;;gFAEgF;AAChF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,GACzB,iBAAiB,CAEnB;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,+EAA+E;IAC/E,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACxD,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,gFAAgF;IAChF,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAoLD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;;;;sBAsaijc,CAAC;;;;;;;;;EAxVtmc;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA2U5B"}
@@ -332,6 +332,19 @@ export async function composeResponseAsync(event, previous, response, capabiliti
332
332
  const { body: _body, gap: _gap, size: _size, sha256: _sha256, selection: _selection, ...rest } = oldItem;
333
333
  const text = typeof value === "string" ? value : JSON.stringify(value);
334
334
  const bytes = new TextEncoder().encode(text);
335
+ const body = new ReadableStream({
336
+ start(controller) {
337
+ controller.enqueue(bytes);
338
+ controller.close();
339
+ },
340
+ });
341
+ try {
342
+ options.ownContent?.(body);
343
+ }
344
+ catch (error) {
345
+ void body.cancel().catch(() => undefined);
346
+ throw error;
347
+ }
335
348
  return {
336
349
  ...rest,
337
350
  ...(typeof oldItem.id === "string"
@@ -342,12 +355,7 @@ export async function composeResponseAsync(event, previous, response, capabiliti
342
355
  mediaType: typeof value === "string" ? "text/plain" : "application/json",
343
356
  selection: "body",
344
357
  size: bytes.byteLength,
345
- body: new ReadableStream({
346
- start(controller) {
347
- controller.enqueue(bytes);
348
- controller.close();
349
- },
350
- }),
358
+ body,
351
359
  };
352
360
  };
353
361
  const materialize = async (current, value, operation, role, array, mayRead = true) => {
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/client/composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAY9E,MAAM,MAAM,GAAG,CAAC,CAAU,EAAoB,EAAE,CAC9C,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3D,6EAA6E;AAC7E,SAAS,UAAU,CAAI,KAAQ;IAC7B,IAAI,KAAK,YAAY,cAAc;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAM,CAAC;IAC5D,IAAI,MAAM,CAAC,KAAK,CAAC;QACf,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;IACT,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,YAAY,cAAc,EAAE,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACnC,OAAO,EAAE,GAAI,QAAQ,CAAC,IAAI,CAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AACD,MAAM,IAAI,GAAG,+CAA+C,CAAC;AAC7D,IAAI,QAA6B,CAAC;AAClC,SAAS,SAAS;IAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,OAAO,CAAC;YACrB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,SAAS,KAAK,CAAC,CAAU,EAAE,CAAU;IACnC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,YAAY,cAAc,IAAI,CAAC,YAAY,cAAc;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CACL,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,OAAO,GAA6C;IACxD,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAC3C,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IACvD,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;IACnC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;IACnC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;IAC7C,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC/C,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;IAC/C,wBAAwB,EAAE,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE;IAC5D,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;IACjD,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;IACvD,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;IAC5D,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;IACjE,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;CAClE,CAAC;AAEF;;gFAEgF;AAChF,MAAM,UAAU,eAAe,CAC7B,KAAkB,EAClB,QAAkB,EAClB,QAA2B,EAC3B,YAA0B;IAE1B,OAAO,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAgBD,SAAS,OAAO,CACd,KAAkB,EAClB,QAAkB,EAClB,QAA2B,EAC3B,YAA0B,EAC1B,QAAsB,EACtB,SAAS,GAAG,KAAK,EACjB,aAAmD;IAEnD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAC5B,GAAG,IAAI,mCAAmC,KAAK,CAAC,IAAI,EAAE,CACvD,CAAC;IACF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IACE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE;YAC1B,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAE3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,IACE,CAAC;YACC,MAAM;YACN,OAAO;YACP,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,MAAM;YACN,QAAQ;SACT,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAEvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAC1E,IACE,CAAC,QAAQ;YACT,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,KAAK,CAAC,IAAI,KAAK,yBAAyB;YAExC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;YACpD,KAAK,CAAC,IAAI,KAAK,0BAA0B,EACzC,CAAC;YACD,MAAM,IAAI,GAAI,KAAqB,CAAC,WAAW,CAAC;YAChD,IACE,CAAC,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;gBAC7C,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAC1E,MAAM,IAAI,GAAI,KAAqB,CAAC,WAA0B,CAAC;YAC/D,IACE,CAAC,GAAG,CAAC,QAAQ,CACX,GAAG,IAAI,2CAA2C,EAClD,MAAM,CAAC,KAAK,CACb;gBAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACzE,IACE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;gBACtC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAEzD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;gBACvE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,IACE,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC;gBAClD,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACnB,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI;gBAE9B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,CAAC;gBACpD,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAErB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IACE,MAAM,CAAC,SAAS,KAAK,UAAU;gBAC/B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,EACtE,CAAC;gBACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC/B,IACE,CAAC,CACC,OAAO,IAAI,CAAC,sBAAsB,KAAK,QAAQ;oBAC/C,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAChC;oBACD,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS;wBAClC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC;oBAEzD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,IACE,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC1B,MAAM,CAAC,SAAS,KAAK,QAAQ;gBAC7B,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBAChD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;gBAC5C,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEpE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC;QAClD,IAAI,SAAS,GAAG,MAAqB,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAClE,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACxE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAI,MAAM,CAAC,KAAqB,EAAE,CAAC;QACpE,CAAC;;YAAM,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,KAAK,aAAa;QAC1B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,iBAAiB,CAAC;IAC1B,IACE,CAAC,SAAS;QACV,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QACzC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,WAAW,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC3E,IAAI,aAAa;YACf,aAAa,GAAG;gBACd,GAAG,aAAa;gBAChB,SAAS,EAAE,IAAI;gBACf,UAAU,EACR,aAAa,CAAC,UAAU,KAAK,OAAO;oBAClC,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,aAAa,CAAC,UAAU;aAC/B,CAAC;IACN,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC1D,OAAO;QACL,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAC9B,OAAiB,EACjB,aAAmD;IAEnD,MAAM,MAAM,GACV,aAAa,EAAE,UAAU,KAAK,MAAM;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GACX,aAAa,EAAE,IAAI,KAAK,MAAM;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;IACnE,MAAM,KAAK,GACT,aAAa,EAAE,UAAU,KAAK,KAAK;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC5E,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAqD;QAC9D,GAAG,eAAe,CAAC,aAAa,CAAC;QACjC,SAAS,EACP,MAAM,IAAI,OAAO;YACf,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,EAAE,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC7C,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,SAAS,IAAI,IAAI,CAAC;QACzD,UAAU,EAAE,MAAM;YAChB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,aAAa,EAAE,UAAU,KAAK,OAAO;oBACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;oBACzC,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM;QACd,GAAG,CAAC,aAAa,EAAE,IAAI,KAAK,SAAS;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;YACpC,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO;oBACX,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU;wBAChC,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,CACvD;wBACH,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,IAAI,MAAM,CAAC;aACtC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,EAAE,YAAY,KAAK,SAAS;YAC7C,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,MAAM;gBACjB,CAAC,CAAC,SAAS,KAAK,UAAU;gBAC1B,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CACpC;YACC,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,GAAG,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC;oBACtC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,IAAI,KAAK,MAAM;wBACjB,CAAC,CAAC,SAAS,KAAK,UAAU;wBAC1B,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;wBAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBACjB,CAAC,CAAC,EAAE,CACP;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,EAAE,UAAU,KAAK,SAAS;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YACtC,CAAC,CAAC;gBACE,UAAU,EAAE;oBACV,GAAG,CAAC,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC;oBACpC,GAAG,OAAO;yBACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;yBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAc,CAAC;iBAC/C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAkB,EAClB,QAAkB,EAClB,QAA2B,EAC3B,YAA0B,EAC1B,OAA2B;IAE3B,2EAA2E;IAC3E,2EAA2E;IAC3E,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAgB,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,MAAM,UAAU,GAAG,CAAC,IAAc,EAAW,EAAE;QAC7C,IAAI,KAAK,GAAY,OAAO,CAAC,aAAa,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CAC/C,MAAM,CAAC,KAAK,CAAC;QACb,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;IAC1B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAa,EAAwB,EAAE;QAC7D,IACE,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,IAAI,CAAC,SAAS,KAAK,kBAAkB;YACrC,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,cAAc,CAAC;YAEtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CACrC,IAAI,CAAC,IAAkC,CACxC,CAAC;QACF,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAC/B,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CACZ,OAAgB,EAChB,KAAc,EACd,SAAiB,EACR,EAAE;QACX,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CACf,GAAY,EACZ,KAAc,EACd,IAAY,EACC,EAAE;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,EACJ,IAAI,EAAE,KAAK,EACX,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,UAAU,EACrB,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO;YACL,GAAG,IAAI;YACP,GAAG,CAAC,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC9D,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5D,SAAS,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB;YACxE,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,IAAI,EAAE,IAAI,cAAc,CAAa;gBACnC,KAAK,CAAC,UAAU;oBACd,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,EACvB,OAAgB,EAChB,KAAc,EACd,SAAiB,EACjB,IAAY,EACZ,KAAc,EACd,OAAO,GAAG,IAAI,EACI,EAAE;QACpB,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,6EAA6E;QAC7E,0EAA0E;QAC1E,IACE,SAAS,KAAK,SAAS;YACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,KAAK,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC,CAAC,CACrD,EACD,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO;gBACV,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,0EAA0E;QAC1E,2EAA2E;QAC3E,IACE,OAAO;YACP,MAAM,CAAC,GAAG,CAAC;YACX,GAAG,CAAC,IAAI,YAAY,cAAc;YAClC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAC5D,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CACxC,GAAG,CAAC,IAAkC,CACvC,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACxC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvD,CAAC;YACF,IACE,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;gBACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE5C,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/B,CAAC,CAAC;IACF,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC;QAClE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,CAAC,CACpE,CAAC;IACF,IAAI,kBAA2C,CAAC;IAChD,IAAI,iBAA0C,CAAC;IAC/C,IAAI,kBAAkB,EAAE,CAAC;QACvB,IACE,OAAO,CAAC,aAAa;YACrB,CAAC,YAAY,CACX,UAAU,CAAC;gBACT,aAAa;gBACb,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;aACjE,CAAC,CACH;YAED,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,MAAM,YAAY,GAChB,KAAK,CAAC,IAAI,KAAK,0BAA0B;YACvC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACjC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,0BAA0B;YACnE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,MAAM,WAAW,GAAI,YAA4B,CAAC,WAAW,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,IACE,KAAK,CAAC,IAAI,KAAK,yBAAyB;YACxC,CAAC,KAAK,CAAC,aAAa,KAAK,YAAY,CAAC,EAAE;gBACtC,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;gBACpC,CAAC,KAAK,CACJ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EACpD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACnE;gBACD,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;gBAClC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;YAEjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;YAC7C,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAEtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,kBAAkB,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,IACE,CAAC,GAAG,CAAC,QAAQ,CACX,GAAG,IAAI,4CAA4C,EACnD,kBAAkB,CACnB;YACD,CAAC,kBAAkB,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI;YAEjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;QACzC,yBAAyB,CACvB,kBAAkB,EAClB,MAAM,EACN,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAgD,CAAC;gBAC9D,yEAAyE;gBACzE,wEAAwE;gBACxE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;iBAAM,IACL,CAAC,GAAG,CAAC,QAAQ,CACX,GAAG,IAAI,2CAA2C,EAClD,KAAK,CACN;gBAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,iBAAiB;QAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,iBAAiB,GAAG;gBAClB,GAAG,iBAAiB;gBACpB,OAAO,EAAE,KAAK,CACZ,iBAAiB,EAAE,OAAO,EAC1B,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,CACjB;aACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC;QAClD,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnE,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,IACE,MAAM,CAAC,MAAM,KAAK,SAAS;YAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACpB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EACvC,CAAC;YACD,sEAAsE;YACtE,0EAA0E;YAC1E,MAAM,OAAO,GAAG,KAAK,CACnB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAC9C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,CACF,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;gBAAE,SAAS;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnC,IACE,MAAM,CAAC,KAAK,CAAC;oBACb,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;oBAC9D,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,0BAA0B,EAAE,KAAK,CAAC;oBAEtD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,WAAW,CAChB,QAAQ,CAAC,CAAC,CAAC,EACX,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAK,EACL,CAAC,OAAO,CAAC,aAAa;oBACpB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrE,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc;oBAChC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;wBAC3B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,WAAW,CAAC;YACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,GACX,CAAC,OAAO,CAAC,aAAa;gBACtB,CAAC,KAAK;oBACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACvB,QAAQ,CAAC,MAAM,KAAK,CAAC;wBACrB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAChC,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,IAAI,EACJ,KAAK,EACL,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,WAA0B,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;IACzC,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CACZ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,MAAqB,EACrB,KAAK,EACL,OAAO,CAAC,KAAK,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/client/composition.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,42 @@
1
1
  import { type ContentSelection, type ContentUpload } from "../draft/generated.js";
2
- /** An owned native content stream, distinct from a receiver content reference.
3
- * Construction does not read, lock, or upload the stream. Passing this source to
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
- */
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 declare class ContentSource {
9
5
  #private;
10
6
  constructor(stream: ReadableStream<Uint8Array>);
11
- /** Native stream identity is preserved for snapshot sharing and cleanup. */
12
7
  get stream(): ReadableStream<Uint8Array>;
13
8
  }
9
+ type ContentMetadata = {
10
+ size?: number | undefined;
11
+ sha256?: string | undefined;
12
+ };
13
+ /** Sole backing owner for immutable bytes or an unread lazy source. Metadata
14
+ * stays on content items. A handle may be shared within, but not across, calls. */
15
+ export declare class Attachment extends ContentSource {
16
+ #private;
17
+ private constructor();
18
+ /** One defensive input copy, retained directly by this owner. */
19
+ static bytes(bytes: Uint8Array): Attachment;
20
+ /** Evaluated once, on demand. The returned mutable buffer is copied once. */
21
+ static lazy(open: (signal: AbortSignal) => Uint8Array | Promise<Uint8Array>, dispose?: () => void | Promise<void>): Attachment;
22
+ /** Adapt a native source without a second snapshot cache. */
23
+ static fromStream(stream: ReadableStream<Uint8Array>): Attachment;
24
+ /** Defensive caller copy; uploads use the same private materialization. */
25
+ read(signal?: AbortSignal, metadata?: ContentMetadata): Promise<Uint8Array>;
26
+ close(): Promise<void>;
27
+ }
28
+ /** Effective slot index. Owners, not an invocation manager, outlive Hooks. */
29
+ export declare class AttachmentContent {
30
+ private readonly bodies;
31
+ private readonly owners;
32
+ private closed;
33
+ constructor(event: unknown);
34
+ get ids(): readonly string[];
35
+ /** @internal Transfer cleanup responsibility without copying backing bytes. */
36
+ detachFrom(pending: Set<Attachment>): void;
37
+ read(id: string, signal?: AbortSignal): Promise<Uint8Array>;
38
+ close(): Promise<void>;
39
+ }
14
40
  /** Producer content is metadata with an owned source or raw stream in `body`. */
15
41
  export interface StreamContentItem {
16
42
  id: string;
@@ -34,19 +60,23 @@ export interface ContentManagerOptions {
34
60
  maxSnapshotBytes?: number;
35
61
  allowLoopback?: boolean;
36
62
  }
37
- /** One manager per producer/session. Selection is NOT authorization: callers must
38
- * authorize/project opaque native/input/output data before prepare. References
39
- * are deliberately never cached: each prepare uploads in its receiver's scope.
63
+ /** Per-invocation delivery and cleanup coordinator, not a content store.
64
+ * Byte materialization lives only in Attachment. This class retains owner
65
+ * identities and non-owning aggregate budget counters, never byte buffers.
66
+ * Selection is not authorization; project opaque host data before prepare.
40
67
  */
41
68
  export declare class ContentManager {
42
- private snapshots;
43
- private readers;
44
- private seenStreams;
69
+ private hasAttachments;
70
+ private readonly ownership;
71
+ /** @internal Build a slot index retaining the existing owners. */
72
+ resultContent(event: unknown): AttachmentContent | undefined;
73
+ private readonly attachments;
45
74
  private lifetime;
46
- private retainedBytes;
47
75
  private closePromise;
48
- private readonly limit;
76
+ private readonly budget;
49
77
  private readonly allowLoopback;
78
+ /** @internal Detach returned owners; dispose everything else in close(). */
79
+ transfer(content: AttachmentContent): void;
50
80
  constructor(options?: ContentManagerOptions);
51
81
  /** Take cleanup ownership without selecting or reading any body. Call before
52
82
  * routing/projection so unmatched and unauthorized sources are also closed.
@@ -57,17 +87,25 @@ export declare class ContentManager {
57
87
  * Reuses the same bounded snapshot as prepare; returns an independent copy.
58
88
  * Aborting the initial read cancels the stream and leaves that snapshot failed.
59
89
  */
60
- readBody(body: ContentSource | ReadableStream<Uint8Array>, signal?: AbortSignal): Promise<Uint8Array>;
90
+ readBody(body: ContentSource | ReadableStream<Uint8Array>, signal?: AbortSignal, metadata?: ContentMetadata): Promise<Uint8Array>;
61
91
  /** Returns a fresh wire tree; never mutates the producer event or reads an
62
92
  * omitted/metadata stream. All selected uploads finish before this resolves.
63
93
  */
64
94
  prepare(event: any, selection: ContentSelection, upload: ContentUpload | undefined, send: ContentUploadRequest, signal?: AbortSignal): Promise<any>;
65
- /** Initiates cancellation and releases snapshots; repeated calls return the
66
- * same promise. Never waits for producer-controlled cancellation promises.
67
- */
95
+ /** @internal A protocol correlation lease shares the same owner, never bytes. */
96
+ retainBody(body: ReadableStream<Uint8Array>, signal: AbortSignal): Promise<{
97
+ owner: Attachment;
98
+ size: number;
99
+ release: () => Promise<void>;
100
+ }>;
101
+ /** @internal Project compatibility results, or preserve the actual owner. */
102
+ resultBody(body: ReadableStream<Uint8Array>, synthesized: boolean): Promise<Attachment | ReadableStream<Uint8Array> | undefined>;
103
+ /** @internal Invocation-scoped borrow of an active protocol exchange. */
104
+ lease(owner: Attachment): () => Promise<void>;
105
+ /** Cancel and dispose remaining owners. No backing bytes live here. */
68
106
  close(): Promise<void>;
69
107
  private validateUpload;
70
108
  private snapshot;
71
- private readSnapshot;
72
109
  }
110
+ export {};
73
111
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/client/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,qBAAa,aAAa;;gBAGZ,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAM9C,4EAA4E;IAC5E,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAEvC;CACF;AAOD,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,OAAO,CAAsD;IACrE,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,OAAO,GAAE,qBAA0B;IAO/C;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAiBzB;;;OAGG;IACG,QAAQ,CACZ,IAAI,EAAE,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,EAChD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IA4BtB;;OAEG;IACG,OAAO,CACX,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,GAAG,CAAC;IAiJf;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,QAAQ;YAWF,YAAY;CAuD3B"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/client/content.ts"],"names":[],"mappings":"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"}